diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000000..e69de29bb2d diff --git a/404.html b/404.html new file mode 100644 index 00000000000..f290b930b3c --- /dev/null +++ b/404.html @@ -0,0 +1,17 @@ + + + + + + +Page Not Found | Mirage Networking + + + + +
+
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+ + + + \ No newline at end of file diff --git a/assets/css/styles.7b14da78.css b/assets/css/styles.7b14da78.css new file mode 100644 index 00000000000..c6067ca149a --- /dev/null +++ b/assets/css/styles.7b14da78.css @@ -0,0 +1 @@ +.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}body,ol ol,ol ul,ul ol,ul ul{margin:0}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}.button,.dropdown__link,.searchbox,.text--truncate{white-space:nowrap}.searchbox__reset:focus,.searchbox__submit:focus,body:not(.navigation-with-keyboard) :not(input):focus{outline:0}pre,table{overflow:auto}.markdown li,body{word-wrap:break-word}.clean-list,.containsTaskList_mC6p,.details_lb9f>summary,.dropdown__menu,.menu__list{list-style:none}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:transparent;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:rgba(0,0,0,.05);--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 rgba(0,0,0,.1);--ifm-global-shadow-md:0 5px 40px rgba(0,0,0,.2);--ifm-global-shadow-tl:0 12px 28px 0 rgba(0,0,0,.2),0 2px 4px 0 rgba(0,0,0,.1);--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:transparent;--ifm-table-stripe-background:rgba(0,0,0,.03);--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#1d7ec3;--ifm-color-primary-dark:#21af90;--ifm-color-primary-darker:#1fa588;--ifm-color-primary-darkest:#1a8870;--ifm-color-primary-light:#46cbae;--ifm-color-primary-lighter:#66d4bd;--ifm-color-primary-lightest:#92e0d0;--ifm-code-font-size:95%;--doc-sidebar-width:350px!important;--docusaurus-announcement-bar-height:auto;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docusaurus-collapse-button-bg:transparent;--docusaurus-collapse-button-bg-hover:rgba(0,0,0,.1);--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:transparent}*,.algolia-autocomplete .ds-dropdown-menu *{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base)}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.list_eTzJ article:last-child,.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_NmtK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.level:first-of-type,.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid rgba(0,0,0,.1);border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_tbUL,.alert__heading,.hero__title,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:rgba(53,120,229,.15);--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:rgba(235,237,240,.15);--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:rgba(0,164,0,.15);--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:rgba(84,199,236,.15);--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:rgba(255,186,0,.15);--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:rgba(250,56,62,.15);--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{-webkit-text-decoration-color:var(--ifm-alert-border-color);text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area.breadcrumbs__link[href]:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:-webkit-any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:transparent;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor transparent;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_S0QG>:last-child,.cardContainer_fWXF :last-child,.collapsibleContent_i85q>:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_MEMb,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:"";filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.docsWrapper_BCFX,.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:-webkit-sticky;position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:hsla(0,0%,100%,.1);--ifm-navbar-search-input-placeholder-color:hsla(0,0%,100%,.5);color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:hsla(0,0%,100%,.05);--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-duration:.25s;transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:rgba(0,0,0,.6);right:0;transition-duration:.1s;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto;padding-left:0}.tabs__item{border-bottom:3px solid transparent;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:hsla(0,0%,100%,.05);--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:hsla(0,0%,100%,.1);--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:hsla(0,0%,100%,.07);--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}.docusaurus-highlight-code-line{background-color:rgba(0,0,0,.1);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.home-page{background-color:#dc9d05;background-position-x:center;background-position-y:25%;background-repeat:no-repeat;background-size:cover}.hero__subtitle,.hero__title{color:#fff}html[data-theme=dark] .docusaurus-highlight-code-line{background-color:rgba(0,0,0,.3)}html[data-theme=dark] .navbar-github-link:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}html[data-theme=dark] .navbar-github-link:after,html[data-theme=light] .navbar-github-link:after{background-position:50%;background-repeat:no-repeat;content:"";display:flex;height:24px;transition:opacity .2s;width:24px}html[data-theme=light] .navbar-github-link:after{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZD0iTTEyIDBDNS4zNzQgMCAwIDUuMzczIDAgMTJjMCA1LjMwMiAzLjQzOCA5LjggOC4yMDcgMTEuMzg3LjU5OS4xMTEuNzkzLS4yNjEuNzkzLS41Nzd2LTIuMjM0Yy0zLjMzOC43MjYtNC4wMzMtMS40MTYtNC4wMzMtMS40MTYtLjU0Ni0xLjM4Ny0xLjMzMy0xLjc1Ni0xLjMzMy0xLjc1Ni0xLjA4OS0uNzQ1LjA4My0uNzI5LjA4My0uNzI5IDEuMjA1LjA4NCAxLjgzOSAxLjIzNyAxLjgzOSAxLjIzNyAxLjA3IDEuODM0IDIuODA3IDEuMzA0IDMuNDkyLjk5Ny4xMDctLjc3NS40MTgtMS4zMDUuNzYyLTEuNjA0LTIuNjY1LS4zMDUtNS40NjctMS4zMzQtNS40NjctNS45MzEgMC0xLjMxMS40NjktMi4zODEgMS4yMzYtMy4yMjEtLjEyNC0uMzAzLS41MzUtMS41MjQuMTE3LTMuMTc2IDAgMCAxLjAwOC0uMzIyIDMuMzAxIDEuMjNBMTEuNTA5IDExLjUwOSAwIDAgMSAxMiA1LjgwM2MxLjAyLjAwNSAyLjA0Ny4xMzggMy4wMDYuNDA0IDIuMjkxLTEuNTUyIDMuMjk3LTEuMjMgMy4yOTctMS4yMy42NTMgMS42NTMuMjQyIDIuODc0LjExOCAzLjE3Ni43Ny44NCAxLjIzNSAxLjkxMSAxLjIzNSAzLjIyMSAwIDQuNjA5LTIuODA3IDUuNjI0LTUuNDc5IDUuOTIxLjQzLjM3Mi44MjMgMS4xMDIuODIzIDIuMjIydjMuMjkzYzAgLjMxOS4xOTIuNjk0LjgwMS41NzZDMjAuNTY2IDIxLjc5NyAyNCAxNy4zIDI0IDEyYzAtNi42MjctNS4zNzMtMTItMTItMTJ6Ii8+PC9zdmc+")}html[data-theme=dark] .navbar-discord-link:after{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzEiIGhlaWdodD0iNTUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNNjAuMTA1IDQuODk4QTU4LjU1IDU4LjU1IDAgMCAwIDQ1LjY1My40MTVhLjIyLjIyIDAgMCAwLS4yMzMuMTEgNDAuNzg0IDQwLjc4NCAwIDAgMC0xLjggMy42OTdjLTUuNDU2LS44MTctMTAuODg2LS44MTctMTYuMjMgMC0uNDg1LTEuMTY0LTEuMjAxLTIuNTg3LTEuODI4LTMuNjk3YS4yMjguMjI4IDAgMCAwLS4yMzMtLjExIDU4LjM4NiA1OC4zODYgMCAwIDAtMTQuNDUxIDQuNDgzLjIwNy4yMDcgMCAwIDAtLjA5NS4wODJDMS41NzggMTguNzMtLjk0NCAzMi4xNDQuMjkzIDQ1LjM5YS4yNDQuMjQ0IDAgMCAwIC4wOTMuMTY3YzYuMDczIDQuNDYgMTEuOTU1IDcuMTY3IDE3LjcyOSA4Ljk2MmEuMjMuMjMgMCAwIDAgLjI0OS0uMDgyIDQyLjA4IDQyLjA4IDAgMCAwIDMuNjI3LTUuOS4yMjUuMjI1IDAgMCAwLS4xMjMtLjMxMiAzOC43NzIgMzguNzcyIDAgMCAxLTUuNTM5LTIuNjQuMjI4LjIyOCAwIDAgMS0uMDIyLS4zNzhjLjM3Mi0uMjc5Ljc0NC0uNTY5IDEuMS0uODYyYS4yMi4yMiAwIDAgMSAuMjMtLjAzYzExLjYxOSA1LjMwNCAyNC4xOTggNS4zMDQgMzUuNjggMGEuMjE5LjIxOSAwIDAgMSAuMjMzLjAyN2MuMzU2LjI5My43MjguNTg2IDEuMTAzLjg2NWEuMjI4LjIyOCAwIDAgMS0uMDIuMzc4IDM2LjM4NCAzNi4zODQgMCAwIDEtNS41NCAyLjYzNy4yMjcuMjI3IDAgMCAwLS4xMjEuMzE1IDQ3LjI0OSA0Ny4yNDkgMCAwIDAgMy42MjQgNS44OTcuMjI1LjIyNSAwIDAgMCAuMjQ5LjA4NGM1LjgwMS0xLjc5NCAxMS42ODQtNC41MDIgMTcuNzU3LTguOTYxYS4yMjguMjI4IDAgMCAwIC4wOTItLjE2NGMxLjQ4LTE1LjMxNS0yLjQ4LTI4LjYxOC0xMC40OTctNDAuNDEyYS4xOC4xOCAwIDAgMC0uMDkzLS4wODRabS0zNi4zOCAzMi40MjdjLTMuNDk3IDAtNi4zOC0zLjIxMS02LjM4LTcuMTU2IDAtMy45NDQgMi44MjctNy4xNTYgNi4zOC03LjE1NiAzLjU4MyAwIDYuNDM4IDMuMjQgNi4zODIgNy4xNTYgMCAzLjk0NS0yLjgyNyA3LjE1Ni02LjM4MSA3LjE1NlptMjMuNTkzIDBjLTMuNDk4IDAtNi4zOC0zLjIxMS02LjM4LTcuMTU2IDAtMy45NDQgMi44MjYtNy4xNTYgNi4zOC03LjE1NiAzLjU4MiAwIDYuNDM3IDMuMjQgNi4zOCA3LjE1NiAwIDMuOTQ1LTIuNzk4IDcuMTU2LTYuMzggNy4xNTZaIiBmaWxsPSIjZmZmIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg3MXY1NUgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==")}html[data-theme=dark] .navbar-discord-link:after,html[data-theme=light] .navbar-discord-link:after{background-position:50%;background-repeat:no-repeat;background-size:contain;content:"";display:flex;height:24px;transition:opacity .2s;width:24px}html[data-theme=light] .navbar-discord-link:after{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzEiIGhlaWdodD0iNTUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj48cGF0aCBkPSJNNjAuMTA1IDQuODk4QTU4LjU1IDU4LjU1IDAgMCAwIDQ1LjY1My40MTVhLjIyLjIyIDAgMCAwLS4yMzMuMTEgNDAuNzg0IDQwLjc4NCAwIDAgMC0xLjggMy42OTdjLTUuNDU2LS44MTctMTAuODg2LS44MTctMTYuMjMgMC0uNDg1LTEuMTY0LTEuMjAxLTIuNTg3LTEuODI4LTMuNjk3YS4yMjguMjI4IDAgMCAwLS4yMzMtLjExIDU4LjM4NiA1OC4zODYgMCAwIDAtMTQuNDUxIDQuNDgzLjIwNy4yMDcgMCAwIDAtLjA5NS4wODJDMS41NzggMTguNzMtLjk0NCAzMi4xNDQuMjkzIDQ1LjM5YS4yNDQuMjQ0IDAgMCAwIC4wOTMuMTY3YzYuMDczIDQuNDYgMTEuOTU1IDcuMTY3IDE3LjcyOSA4Ljk2MmEuMjMuMjMgMCAwIDAgLjI0OS0uMDgyIDQyLjA4IDQyLjA4IDAgMCAwIDMuNjI3LTUuOS4yMjUuMjI1IDAgMCAwLS4xMjMtLjMxMiAzOC43NzIgMzguNzcyIDAgMCAxLTUuNTM5LTIuNjQuMjI4LjIyOCAwIDAgMS0uMDIyLS4zNzhjLjM3Mi0uMjc5Ljc0NC0uNTY5IDEuMS0uODYyYS4yMi4yMiAwIDAgMSAuMjMtLjAzYzExLjYxOSA1LjMwNCAyNC4xOTggNS4zMDQgMzUuNjggMGEuMjE5LjIxOSAwIDAgMSAuMjMzLjAyN2MuMzU2LjI5My43MjguNTg2IDEuMTAzLjg2NWEuMjI4LjIyOCAwIDAgMS0uMDIuMzc4IDM2LjM4NCAzNi4zODQgMCAwIDEtNS41NCAyLjYzNy4yMjcuMjI3IDAgMCAwLS4xMjEuMzE1IDQ3LjI0OSA0Ny4yNDkgMCAwIDAgMy42MjQgNS44OTcuMjI1LjIyNSAwIDAgMCAuMjQ5LjA4NGM1LjgwMS0xLjc5NCAxMS42ODQtNC41MDIgMTcuNzU3LTguOTYxYS4yMjguMjI4IDAgMCAwIC4wOTItLjE2NGMxLjQ4LTE1LjMxNS0yLjQ4LTI4LjYxOC0xMC40OTctNDAuNDEyYS4xOC4xOCAwIDAgMC0uMDkzLS4wODRabS0zNi4zOCAzMi40MjdjLTMuNDk3IDAtNi4zOC0zLjIxMS02LjM4LTcuMTU2IDAtMy45NDQgMi44MjctNy4xNTYgNi4zOC03LjE1NiAzLjU4MyAwIDYuNDM4IDMuMjQgNi4zODIgNy4xNTYgMCAzLjk0NS0yLjgyNyA3LjE1Ni02LjM4MSA3LjE1NlptMjMuNTkzIDBjLTMuNDk4IDAtNi4zOC0zLjIxMS02LjM4LTcuMTU2IDAtMy45NDQgMi44MjYtNy4xNTYgNi4zOC03LjE1NiAzLjU4MiAwIDYuNDM3IDMuMjQgNi4zOCA3LjE1NiAwIDMuOTQ1LTIuNzk4IDcuMTU2LTYuMzggNy4xNTZaIiBmaWxsPSIjMjMyNzJBIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMGg3MXY1NUgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==")}.level{margin-left:calc(var(--data-index)*1em)}.level:before{content:"↳";margin-right:5px}#docusaurus-base-url-issue-banner-container,.collapseSidebarButton_PEFL,.docSidebarContainer_b6E3,.sidebarLogo_isFc,.themedImage_ToTc,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px;line-height:0;padding:0}.announcementBarContent_xLdY{flex:1 1 auto;font-size:85%;padding:5px 0;text-align:center}.announcementBarContent_xLdY a{color:inherit;text-decoration:underline}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}[data-theme=dark] .themedImage--dark_i4oU,[data-theme=light] .themedImage--light_HNdA{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_BH7S:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.mainWrapper_z2l0{flex:1 0 auto}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.cardContainer_fWXF{--ifm-link-color:var(--ifm-color-emphasis-800);--ifm-link-hover-color:var(--ifm-color-emphasis-700);--ifm-link-hover-decoration:none;border:1px solid var(--ifm-color-emphasis-200);box-shadow:0 1.5px 3px 0 rgba(0,0,0,.15);transition:all var(--ifm-transition-fast) ease;transition-property:border,box-shadow}.cardContainer_fWXF:hover{border-color:var(--ifm-color-primary);box-shadow:0 3px 6px 0 rgba(0,0,0,.2)}.cardTitle_rnsV{font-size:1.2rem}.cardDescription_PWke{font-size:.8rem}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_sFm0{border-radius:.5rem;font-size:90%;padding:.3rem .5rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.buttons_AeoN,.features_xdhU,.tocCollapsibleButton_TO0P{align-items:center;display:flex}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_vwxv{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.tocCollapsibleContent_vkbj a{display:block}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:-webkit-sticky;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:hsla(0,0%,100%,.05);--docusaurus-collapse-button-bg-hover:hsla(0,0%,100%,.1)}.docMainContainer_gTbr,.docPage__5DB{display:flex;width:100%}.heroBanner_qdFl{overflow:hidden;padding:4rem 0;position:relative;text-align:center}.buttons_AeoN{justify-content:center}.searchbox,.searchbox__input{box-sizing:border-box;display:inline-block}.features_xdhU{padding:2rem 0;width:100%}.featureSvg__8YW{height:200px;width:200px}.algolia-docsearch-suggestion{border-bottom-color:#3a3dd1}.algolia-docsearch-suggestion--category-header{background-color:#4b54de}.algolia-docsearch-suggestion--highlight{color:#3a33d1}.algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--highlight{background-color:#4d47d5}.aa-cursor .algolia-docsearch-suggestion--content{color:#272296}.aa-cursor .algolia-docsearch-suggestion{background:#ebebfb}.searchbox{height:32px!important;position:relative;visibility:visible!important;width:200px}.searchbox .algolia-autocomplete{display:block;height:100%;width:100%}.searchbox__wrapper{height:100%;position:relative;width:100%;z-index:999}.searchbox__input{-webkit-appearance:none;appearance:none;background:#fff!important;border:0;border-radius:16px;box-shadow:inset 0 0 0 1px #ccc;font-size:12px;height:100%;padding:0 26px 0 32px;transition:box-shadow .4s,background .4s;vertical-align:middle;white-space:normal;width:100%}.searchbox__reset,.searchbox__submit{font-size:inherit;-webkit-user-select:none;position:absolute}.searchbox__input::-webkit-search-cancel-button,.searchbox__input::-webkit-search-decoration,.searchbox__input::-webkit-search-results-button,.searchbox__input::-webkit-search-results-decoration{display:none}.searchbox__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.searchbox__input:active,.searchbox__input:focus{background:#fff;box-shadow:inset 0 0 0 1px #aaa;outline:0}.searchbox__input::placeholder{color:#aaa}.searchbox__submit{background-color:rgba(69,142,225,0);border:0;border-radius:16px 0 0 16px;height:100%;left:0;margin:0;padding:0;right:inherit;text-align:center;top:0;user-select:none;vertical-align:middle;width:32px}.searchbox__submit:before{content:"";display:inline-block;height:100%;margin-right:-4px;vertical-align:middle}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion,.searchbox__submit:active,.searchbox__submit:hover{cursor:pointer}.searchbox__submit svg{fill:#6d7e96;height:14px;vertical-align:middle;width:14px}.searchbox__reset{fill:rgba(0,0,0,.5);background:none;border:0;cursor:pointer;display:block;margin:0;padding:0;right:8px;top:8px;user-select:none}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.searchbox__reset.hide{display:none}.searchbox__reset svg{display:block;height:8px;margin:4px;width:8px}.searchbox__input:valid~.searchbox__reset{animation-duration:.15s;animation-name:a;display:block}@keyframes a{0%{opacity:0;transform:translate3d(-20%,0,0)}to{opacity:1;transform:none}}.algolia-autocomplete .ds-dropdown-menu:before{background:#373940;border-radius:2px;border-right:1px solid #373940;border-top:1px solid #373940;content:"";display:block;height:14px;position:absolute;top:-7px;transform:rotate(-45deg);width:14px;z-index:1000}.algolia-autocomplete .ds-dropdown-menu{box-shadow:0 1px 0 0 rgba(0,0,0,.2),0 2px 3px 0 rgba(0,0,0,.1)}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{position:relative;z-index:1000}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{background:#fff;border-radius:4px;overflow:auto;padding:0;position:relative}.algolia-autocomplete .algolia-docsearch-suggestion{display:block;overflow:hidden;padding:0;position:relative;text-decoration:none}.algolia-autocomplete .ds-cursor .algolia-docsearch-suggestion--wrapper{background:#f1f1f1;box-shadow:inset -2px 0 0 #61dafb}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{background:#ffe564;padding:.1em .05em}.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight{background:inherit;color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{background:inherit;box-shadow:inset 0 -2px 0 0 rgba(69,142,225,.8);color:inherit;padding:0 0 1px}.algolia-autocomplete .algolia-docsearch-suggestion--content{cursor:pointer;display:block;float:right;padding:5.33333px 0 5.33333px 10.66667px;position:relative;width:70%}.algolia-autocomplete .algolia-docsearch-suggestion--content:before{background:#ececec;content:"";display:block;height:100%;left:-1px;position:absolute;top:0;width:1px}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{background-color:#373940;color:#fff;display:none;font-size:14px;font-weight:700;letter-spacing:.08em;margin:0;padding:5px 8px;position:relative;text-transform:uppercase}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{background-color:#fff;float:left;padding:8px 0 0;width:100%}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{word-wrap:break-word;color:#777;display:none;float:left;font-size:.9em;padding:5.33333px 10.66667px;position:relative;text-align:right;width:30%}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before{background:#ececec;content:"";display:block;height:100%;position:absolute;right:0;top:0;width:1px}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header,.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary{display:block}.algolia-autocomplete .algolia-docsearch-suggestion--no-results:before,.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:none}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column .algolia-docsearch-suggestion--highlight{background-color:inherit;color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--title{color:#02060c;font-size:.9em;font-weight:700;margin-bottom:4px}.algolia-autocomplete .algolia-docsearch-suggestion--text{color:#63676d;display:block;font-size:.85em;line-height:1.2em;padding-right:2px}.algolia-autocomplete .algolia-docsearch-suggestion--no-results{background-color:#373940;font-size:1.2em;margin-top:-8px;padding:8px 0;text-align:center;width:100%}.algolia-autocomplete .algolia-docsearch-suggestion--no-results .algolia-docsearch-suggestion--text{color:#fff;margin-top:4px}.algolia-autocomplete .algolia-docsearch-suggestion code{background-color:#ebebeb;border:none;border-radius:3px;color:#222;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:90%;padding:1px 5px}.algolia-autocomplete .algolia-docsearch-suggestion code .algolia-docsearch-suggestion--highlight{background:none}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header{color:#fff;display:block}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary .algolia-docsearch-suggestion--subcategory-column{display:block}.algolia-autocomplete .algolia-docsearch-footer{background-color:#fff;float:right;font-size:0;height:30px;line-height:0;width:100%;z-index:2000}.algolia-autocomplete .algolia-docsearch-footer--logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 18'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='url(%2523a)' d='M59.4.02h13.3a2.37 2.37 0 0 1 2.38 2.37V15.6a2.37 2.37 0 0 1-2.38 2.36H59.4a2.37 2.37 0 0 1-2.38-2.36V2.38A2.37 2.37 0 0 1 59.4.02z'/%3E%3Cpath fill='%2523FFF' d='M66.26 4.56c-2.82 0-5.1 2.27-5.1 5.08 0 2.8 2.28 5.07 5.1 5.07 2.8 0 5.1-2.26 5.1-5.07 0-2.8-2.28-5.07-5.1-5.07zm0 8.65c-2 0-3.6-1.6-3.6-3.56 0-1.97 1.6-3.58 3.6-3.58 1.98 0 3.6 1.6 3.6 3.58a3.58 3.58 0 0 1-3.6 3.57zm0-6.4v2.66c0 .07.08.13.15.1l2.4-1.24c.04-.02.06-.1.03-.14a2.96 2.96 0 0 0-2.46-1.5.1.1 0 0 0-.1.1zm-3.33-1.96-.3-.3a.78.78 0 0 0-1.12 0l-.36.36a.77.77 0 0 0 0 1.1l.3.3c.05.05.13.04.17 0 .2-.25.4-.5.6-.7.23-.23.46-.43.7-.6.07-.04.07-.1.03-.16zm5-.8V3.4a.78.78 0 0 0-.78-.78h-1.83a.78.78 0 0 0-.78.78v.63c0 .07.06.12.14.1a5.74 5.74 0 0 1 1.58-.22c.52 0 1.04.07 1.54.2a.1.1 0 0 0 .13-.1z'/%3E%3Cpath fill='%2523182359' d='M102.16 13.76c0 1.46-.37 2.52-1.12 3.2-.75.67-1.9 1-3.44 1-.56 0-1.74-.1-2.67-.3l.34-1.7c.78.17 1.82.2 2.36.2.86 0 1.48-.16 1.84-.5.37-.36.55-.88.55-1.57v-.35a6.37 6.37 0 0 1-.84.3 4.15 4.15 0 0 1-1.2.17 4.5 4.5 0 0 1-1.6-.28 3.38 3.38 0 0 1-1.26-.82 3.74 3.74 0 0 1-.8-1.35c-.2-.54-.3-1.5-.3-2.2 0-.67.1-1.5.3-2.06a3.92 3.92 0 0 1 .9-1.43 4.12 4.12 0 0 1 1.45-.92 5.3 5.3 0 0 1 1.94-.37c.7 0 1.35.1 1.97.2a15.86 15.86 0 0 1 1.6.33v8.46zm-5.95-4.2c0 .9.2 1.88.6 2.3.4.4.9.62 1.53.62.34 0 .66-.05.96-.15a2.75 2.75 0 0 0 .73-.33V6.7a8.53 8.53 0 0 0-1.42-.17c-.76-.02-1.36.3-1.77.8-.4.5-.62 1.4-.62 2.23zm16.13 0c0 .72-.1 1.26-.32 1.85a4.4 4.4 0 0 1-.9 1.53c-.38.42-.85.75-1.4.98-.54.24-1.4.37-1.8.37-.43 0-1.27-.13-1.8-.36a4.1 4.1 0 0 1-1.4-.97 4.5 4.5 0 0 1-.92-1.52 5.04 5.04 0 0 1-.33-1.84c0-.72.1-1.4.32-2 .22-.6.53-1.1.92-1.5.4-.43.86-.75 1.4-.98a4.55 4.55 0 0 1 1.78-.34 4.7 4.7 0 0 1 1.8.34c.54.23 1 .55 1.4.97.38.42.68.92.9 1.5.23.6.35 1.3.35 2zm-2.2 0c0-.92-.2-1.7-.6-2.22-.38-.54-.94-.8-1.64-.8-.72 0-1.27.26-1.67.8-.4.54-.58 1.3-.58 2.22 0 .93.2 1.56.6 2.1.38.54.94.8 1.64.8s1.25-.26 1.65-.8c.4-.55.6-1.17.6-2.1zm6.97 4.7c-3.5.02-3.5-2.8-3.5-3.27L113.57.92l2.15-.34v10c0 .25 0 1.87 1.37 1.88v1.8zm3.77 0h-2.15v-9.2l2.15-.33v9.54zM119.8 3.74c.7 0 1.3-.58 1.3-1.3 0-.7-.58-1.3-1.3-1.3-.73 0-1.3.6-1.3 1.3 0 .72.58 1.3 1.3 1.3zm6.43 1c.7 0 1.3.1 1.78.27.5.18.88.42 1.17.73.28.3.5.74.6 1.18.13.46.2.95.2 1.5v5.47a25.24 25.24 0 0 1-1.5.25c-.67.1-1.42.15-2.25.15a6.83 6.83 0 0 1-1.52-.16 3.2 3.2 0 0 1-1.18-.5 2.46 2.46 0 0 1-.76-.9c-.18-.37-.27-.9-.27-1.44 0-.52.1-.85.3-1.2.2-.37.48-.67.83-.9a3.6 3.6 0 0 1 1.23-.5 7.07 7.07 0 0 1 2.2-.1l.83.16V8.4c0-.25-.03-.48-.1-.7a1.5 1.5 0 0 0-.3-.58c-.15-.18-.34-.3-.58-.4a2.54 2.54 0 0 0-.92-.17c-.5 0-.94.06-1.35.13-.4.08-.75.16-1 .25l-.27-1.74c.27-.1.67-.18 1.2-.28a9.34 9.34 0 0 1 1.65-.14zm.18 7.74c.66 0 1.15-.04 1.5-.1V10.2a5.1 5.1 0 0 0-2-.1c-.23.03-.45.1-.64.2a1.17 1.17 0 0 0-.47.38c-.13.17-.18.26-.18.52 0 .5.17.8.5.98.32.2.74.3 1.3.3zM84.1 4.8c.72 0 1.3.08 1.8.26.48.17.87.42 1.15.73.3.3.5.72.6 1.17.14.45.2.94.2 1.47v5.48a25.24 25.24 0 0 1-1.5.26c-.67.1-1.42.14-2.25.14a6.83 6.83 0 0 1-1.52-.16 3.2 3.2 0 0 1-1.18-.5 2.46 2.46 0 0 1-.76-.9c-.18-.38-.27-.9-.27-1.44 0-.53.1-.86.3-1.22.2-.36.5-.65.84-.88a3.6 3.6 0 0 1 1.24-.5 7.07 7.07 0 0 1 2.2-.1c.26.03.54.08.84.15v-.35c0-.24-.03-.48-.1-.7a1.5 1.5 0 0 0-.3-.58c-.15-.17-.34-.3-.58-.4a2.54 2.54 0 0 0-.9-.15c-.5 0-.96.05-1.37.12-.4.07-.75.15-1 .24l-.26-1.75c.27-.08.67-.17 1.18-.26a8.9 8.9 0 0 1 1.66-.15zm.2 7.73c.65 0 1.14-.04 1.48-.1v-2.17a5.1 5.1 0 0 0-1.98-.1c-.24.03-.46.1-.65.18a1.17 1.17 0 0 0-.47.4c-.12.17-.17.26-.17.52 0 .5.18.8.5.98.32.2.75.3 1.3.3zm8.68 1.74c-3.5 0-3.5-2.82-3.5-3.28L89.45.92 91.6.6v10c0 .25 0 1.87 1.38 1.88v1.8z'/%3E%3Cpath fill='%25231D3657' d='M5.03 11.03c0 .7-.26 1.24-.76 1.64-.5.4-1.2.6-2.1.6-.88 0-1.6-.14-2.17-.42v-1.2c.36.16.74.3 1.14.38.4.1.78.15 1.13.15.5 0 .88-.1 1.12-.3a.94.94 0 0 0 .35-.77.98.98 0 0 0-.33-.74c-.22-.2-.68-.44-1.37-.72-.72-.3-1.22-.62-1.52-1C.23 8.27.1 7.82.1 7.3c0-.65.22-1.17.7-1.55.46-.37 1.08-.56 1.86-.56.76 0 1.5.16 2.25.48l-.4 1.05c-.7-.3-1.32-.44-1.87-.44-.4 0-.73.08-.94.26a.9.9 0 0 0-.33.72c0 .2.04.38.12.52.08.15.22.3.42.4.2.14.55.3 1.06.52.58.24 1 .47 1.27.67.27.2.47.44.6.7.12.26.18.57.18.92zM9 13.27c-.92 0-1.64-.27-2.16-.8-.52-.55-.78-1.3-.78-2.24 0-.97.24-1.73.72-2.3.5-.54 1.15-.82 2-.82.78 0 1.4.25 1.85.72.46.48.7 1.14.7 1.97v.67H7.35c0 .58.17 1.02.46 1.33.3.3.7.47 1.24.47.36 0 .68-.04.98-.1a5.1 5.1 0 0 0 .98-.33v1.02a3.87 3.87 0 0 1-.94.32 5.72 5.72 0 0 1-1.08.1zm-.22-5.2c-.4 0-.73.12-.97.38s-.37.62-.42 1.1h2.7c0-.48-.13-.85-.36-1.1-.23-.26-.54-.38-.94-.38zm7.7 5.1-.26-.84h-.05c-.28.36-.57.6-.86.74-.28.13-.65.2-1.1.2-.6 0-1.05-.16-1.38-.48-.32-.32-.5-.77-.5-1.34 0-.62.24-1.08.7-1.4.45-.3 1.14-.47 2.07-.5l1.02-.03V9.2c0-.37-.1-.65-.27-.84-.17-.2-.45-.28-.82-.28-.3 0-.6.04-.88.13a6.68 6.68 0 0 0-.8.33l-.4-.9a4.4 4.4 0 0 1 1.05-.4 4.86 4.86 0 0 1 1.08-.12c.76 0 1.33.18 1.7.5.4.33.6.85.6 1.56v4h-.9zm-1.9-.87c.47 0 .83-.13 1.1-.38.3-.26.43-.62.43-1.08v-.52l-.76.03c-.6.03-1.02.13-1.3.3s-.4.45-.4.82c0 .26.08.47.24.6.16.16.4.23.7.23zm7.57-5.2c.25 0 .46.03.62.06l-.12 1.18a2.38 2.38 0 0 0-.56-.06c-.5 0-.92.16-1.24.5-.3.32-.47.75-.47 1.27v3.1h-1.27V7.23h1l.16 1.05h.05c.2-.36.45-.64.77-.85a1.83 1.83 0 0 1 1.02-.3zm4.12 6.17c-.9 0-1.58-.27-2.05-.8-.47-.52-.7-1.27-.7-2.25 0-1 .24-1.77.73-2.3.5-.54 1.2-.8 2.12-.8.63 0 1.2.1 1.7.34l-.4 1c-.52-.2-.96-.3-1.3-.3-1.04 0-1.55.68-1.55 2.05 0 .67.13 1.17.38 1.5.26.34.64.5 1.13.5a3.23 3.23 0 0 0 1.6-.4v1.1a2.53 2.53 0 0 1-.73.28 4.36 4.36 0 0 1-.93.08zm8.28-.1h-1.27V9.5c0-.45-.1-.8-.28-1.02-.18-.23-.47-.34-.88-.34-.53 0-.9.16-1.16.48-.25.3-.38.85-.38 1.6v2.94h-1.26V4.8h1.26v2.12c0 .34-.02.7-.06 1.1h.08a1.76 1.76 0 0 1 .72-.67c.3-.16.66-.24 1.07-.24 1.43 0 2.15.74 2.15 2.2v3.86zM42.2 7.1c.74 0 1.32.28 1.73.82.4.53.62 1.3.62 2.26 0 .97-.2 1.73-.63 2.27-.42.54-1 .82-1.75.82s-1.33-.27-1.75-.8h-.08l-.23.7h-.94V4.8h1.26v2l-.02.64-.03.56h.05c.4-.6 1-.9 1.78-.9zm-.33 1.04c-.5 0-.88.15-1.1.45-.22.3-.34.8-.35 1.5v.08c0 .72.12 1.24.35 1.57.23.32.6.48 1.12.48.44 0 .78-.17 1-.53.24-.35.36-.87.36-1.53 0-1.35-.47-2.03-1.4-2.03zm3.24-.92h1.4l1.2 3.37c.18.47.3.92.36 1.34h.04l.18-.72 1.37-4H51l-2.53 6.73c-.46 1.23-1.23 1.85-2.3 1.85-.3 0-.56-.03-.83-.1v-1c.2.05.4.08.65.08.6 0 1.03-.36 1.28-1.06l.22-.56-2.4-5.94z'/%3E%3C/g%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100%;display:block;height:100%;margin-left:auto;margin-right:5px;overflow:hidden;text-indent:-9000px;width:110px}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity .2s ease-in-out}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;padding:0 var(--ifm-pre-padding);position:-webkit-sticky;position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:.15s;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:transparent transparent transparent var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.img_ev3q{height:auto}.admonition_LlT9{margin-bottom:1em}.admonitionHeading_tbUL{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.3rem}.admonitionHeading_tbUL code{text-transform:none}.admonitionIcon_kALy{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_kALy svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.breadcrumbHomeIcon_OVgt{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.title_kItE{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-leading)*1.25)}@media (min-width:601px){.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu{left:inherit!important;right:0!important}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before{right:48px}.algolia-autocomplete .ds-dropdown-menu{background:0 0;border:none;border-radius:4px;height:auto;margin:6px 0 0;max-width:600px;min-width:500px;padding:0;position:relative;text-align:left;top:-6px;z-index:999}}@media (min-width:768px){.algolia-docsearch-suggestion{border-bottom-color:#7671df}.algolia-docsearch-suggestion--subcategory-column{border-right-color:#7671df;color:#4e4726}}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_m80_{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.searchBox_ZlJk{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:-webkit-sticky;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_BlDH,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_m80_:focus,.expandButton_m80_:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;max-height:100vh;padding-top:var(--ifm-navbar-height);position:-webkit-sticky;position:sticky;top:0;transition:opacity 50ms;width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{height:0;opacity:0;overflow:hidden;visibility:hidden}.sidebarLogo_isFc{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_isFc img{height:2rem;margin-right:.5rem}.expandButton_m80_{align-items:center;display:flex;height:100%;justify-content:center;max-height:100vh;position:-webkit-sticky;position:sticky;top:0;transition:background-color var(--ifm-transition-fast) ease}[dir=rtl] .expandButtonIcon_BlDH{transform:rotate(180deg)}.docSidebarContainer_b6E3{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_b3ry{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.docMainContainer_gTbr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_Uz_u{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_czyv{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.docItemCol_VOVn,.generatedIndexPage_vN6x{max-width:75%!important}.list_eTzJ article:nth-last-child(-n+2){margin-bottom:0!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_DEke,.footer__link-separator,.navbar__item,.tableOfContents_bqdL{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.searchBox_ZlJk{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media screen and (max-width:966px){.heroBanner_qdFl{padding:2rem}}@media (max-width:600px){.algolia-autocomplete .ds-dropdown-menu{display:block;left:auto!important;max-height:calc(100% - 5rem);max-width:calc(100% - 2rem);position:fixed!important;right:1rem!important;top:50px!important;width:600px;z-index:100}.algolia-autocomplete .ds-dropdown-menu:before{right:6rem}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/images/01-vm-instances-f04cfc389ac0cd091a36c344d72052c3.jpg b/assets/images/01-vm-instances-f04cfc389ac0cd091a36c344d72052c3.jpg new file mode 100644 index 00000000000..e693137a858 Binary files /dev/null and b/assets/images/01-vm-instances-f04cfc389ac0cd091a36c344d72052c3.jpg differ diff --git a/assets/images/02-create-instance-name-region-1a9a194e495dae4228651d692916a311.jpg b/assets/images/02-create-instance-name-region-1a9a194e495dae4228651d692916a311.jpg new file mode 100644 index 00000000000..e86b20f3870 Binary files /dev/null and b/assets/images/02-create-instance-name-region-1a9a194e495dae4228651d692916a311.jpg differ diff --git a/assets/images/03-boot-disk-cdc0f9bf7c20db72e5391ddcbc4d50b3.jpg b/assets/images/03-boot-disk-cdc0f9bf7c20db72e5391ddcbc4d50b3.jpg new file mode 100644 index 00000000000..73b84bca8f9 Binary files /dev/null and b/assets/images/03-boot-disk-cdc0f9bf7c20db72e5391ddcbc4d50b3.jpg differ diff --git a/assets/images/04-expand-network-settings-114bbc9972f79742a3377cb31397ee67.jpg b/assets/images/04-expand-network-settings-114bbc9972f79742a3377cb31397ee67.jpg new file mode 100644 index 00000000000..c9f1c893bd6 Binary files /dev/null and b/assets/images/04-expand-network-settings-114bbc9972f79742a3377cb31397ee67.jpg differ diff --git a/assets/images/05-network-tag-844c59b477798ac1d38e2d9e6b0cdd07.jpg b/assets/images/05-network-tag-844c59b477798ac1d38e2d9e6b0cdd07.jpg new file mode 100644 index 00000000000..7bd8caa02fd Binary files /dev/null and b/assets/images/05-network-tag-844c59b477798ac1d38e2d9e6b0cdd07.jpg differ diff --git a/assets/images/06-ip-address-1939139b8401b013717fbe27c606447f.jpg b/assets/images/06-ip-address-1939139b8401b013717fbe27c606447f.jpg new file mode 100644 index 00000000000..b9738ea8aac Binary files /dev/null and b/assets/images/06-ip-address-1939139b8401b013717fbe27c606447f.jpg differ diff --git a/assets/images/07-create-network-rule-34857b420bc044c8b0963d99753cebc1.jpg b/assets/images/07-create-network-rule-34857b420bc044c8b0963d99753cebc1.jpg new file mode 100644 index 00000000000..bc0804b29cf Binary files /dev/null and b/assets/images/07-create-network-rule-34857b420bc044c8b0963d99753cebc1.jpg differ diff --git a/assets/images/08-connect-to-instance-45c03c498f3bc07e7161fdb0bc21c962.jpg b/assets/images/08-connect-to-instance-45c03c498f3bc07e7161fdb0bc21c962.jpg new file mode 100644 index 00000000000..61c367de2ef Binary files /dev/null and b/assets/images/08-connect-to-instance-45c03c498f3bc07e7161fdb0bc21c962.jpg differ diff --git a/assets/images/09-update-and-install-d0038402bf2cc3a9d70b805948db18dd.jpg b/assets/images/09-update-and-install-d0038402bf2cc3a9d70b805948db18dd.jpg new file mode 100644 index 00000000000..7344ffea05f Binary files /dev/null and b/assets/images/09-update-and-install-d0038402bf2cc3a9d70b805948db18dd.jpg differ diff --git a/assets/images/10-server-build-6628047e2d1d1a57cc5675b1ce8d82b7.jpg b/assets/images/10-server-build-6628047e2d1d1a57cc5675b1ce8d82b7.jpg new file mode 100644 index 00000000000..0cd5df50004 Binary files /dev/null and b/assets/images/10-server-build-6628047e2d1d1a57cc5675b1ce8d82b7.jpg differ diff --git a/assets/images/11-upload-a-file-02f9fbfadcee90707b600f6c614f409e.jpg b/assets/images/11-upload-a-file-02f9fbfadcee90707b600f6c614f409e.jpg new file mode 100644 index 00000000000..0df81132a52 Binary files /dev/null and b/assets/images/11-upload-a-file-02f9fbfadcee90707b600f6c614f409e.jpg differ diff --git a/assets/images/12-uploading-a5b39c443d08903e8ab3d19aebd422fa.jpg b/assets/images/12-uploading-a5b39c443d08903e8ab3d19aebd422fa.jpg new file mode 100644 index 00000000000..b628c77b3d3 Binary files /dev/null and b/assets/images/12-uploading-a5b39c443d08903e8ab3d19aebd422fa.jpg differ diff --git a/assets/images/AuthenticatorSettings-e73c26b75b0115fa3ac30c4b17c035a4.png b/assets/images/AuthenticatorSettings-e73c26b75b0115fa3ac30c4b17c035a4.png new file mode 100644 index 00000000000..89871d35be0 Binary files /dev/null and b/assets/images/AuthenticatorSettings-e73c26b75b0115fa3ac30c4b17c035a4.png differ diff --git a/assets/images/Basic-ea0e4948d6a02b40a29d6eb67979339d.PNG b/assets/images/Basic-ea0e4948d6a02b40a29d6eb67979339d.PNG new file mode 100644 index 00000000000..1db3e8cd3eb Binary files /dev/null and b/assets/images/Basic-ea0e4948d6a02b40a29d6eb67979339d.PNG differ diff --git a/assets/images/BasicPlayer-e7ba0328d0ea08af0d35cfb2a8a59bba.PNG b/assets/images/BasicPlayer-e7ba0328d0ea08af0d35cfb2a8a59bba.PNG new file mode 100644 index 00000000000..691bc738723 Binary files /dev/null and b/assets/images/BasicPlayer-e7ba0328d0ea08af0d35cfb2a8a59bba.PNG differ diff --git a/assets/images/ChangeScene-33256c2b6c7aa95a631f5a3955ff9d7c.png b/assets/images/ChangeScene-33256c2b6c7aa95a631f5a3955ff9d7c.png new file mode 100644 index 00000000000..2629d20a10c Binary files /dev/null and b/assets/images/ChangeScene-33256c2b6c7aa95a631f5a3955ff9d7c.png differ diff --git a/assets/images/Chat-f10d9d1cdeb9c67fede2c3845d35e938.png b/assets/images/Chat-f10d9d1cdeb9c67fede2c3845d35e938.png new file mode 100644 index 00000000000..ea081b602a9 Binary files /dev/null and b/assets/images/Chat-f10d9d1cdeb9c67fede2c3845d35e938.png differ diff --git a/assets/images/CreateSession-b1f7d3fabccd5a79ab6ff26ea9cf09f3.png b/assets/images/CreateSession-b1f7d3fabccd5a79ab6ff26ea9cf09f3.png new file mode 100644 index 00000000000..d6f013646ca Binary files /dev/null and b/assets/images/CreateSession-b1f7d3fabccd5a79ab6ff26ea9cf09f3.png differ diff --git a/assets/images/MultiSceneNetworkManager-32aa41d8dadce8ae5456ba09f642c656.PNG b/assets/images/MultiSceneNetworkManager-32aa41d8dadce8ae5456ba09f642c656.PNG new file mode 100644 index 00000000000..ed03fde941d Binary files /dev/null and b/assets/images/MultiSceneNetworkManager-32aa41d8dadce8ae5456ba09f642c656.PNG differ diff --git a/assets/images/NetworkAnimatorComponent-3e1f0ea5f561ebd637ea88fe7b1d3cd3.png b/assets/images/NetworkAnimatorComponent-3e1f0ea5f561ebd637ea88fe7b1d3cd3.png new file mode 100644 index 00000000000..55d99e8a4fc Binary files /dev/null and b/assets/images/NetworkAnimatorComponent-3e1f0ea5f561ebd637ea88fe7b1d3cd3.png differ diff --git a/assets/images/NetworkDiscovery-9d0e24988d79acc3a8c32008078b8a7e.png b/assets/images/NetworkDiscovery-9d0e24988d79acc3a8c32008078b8a7e.png new file mode 100644 index 00000000000..5adbc166bfa Binary files /dev/null and b/assets/images/NetworkDiscovery-9d0e24988d79acc3a8c32008078b8a7e.png differ diff --git a/assets/images/NetworkGame3Instances-f426cb171b82842693dcd19dc9f97e77.jpg b/assets/images/NetworkGame3Instances-f426cb171b82842693dcd19dc9f97e77.jpg new file mode 100644 index 00000000000..e5cf1fd7ef1 Binary files /dev/null and b/assets/images/NetworkGame3Instances-f426cb171b82842693dcd19dc9f97e77.jpg differ diff --git a/assets/images/NetworkIdentity-8f4ebfa1bbabf22dc5633017d5538775.PNG b/assets/images/NetworkIdentity-8f4ebfa1bbabf22dc5633017d5538775.PNG new file mode 100644 index 00000000000..eb79948b686 Binary files /dev/null and b/assets/images/NetworkIdentity-8f4ebfa1bbabf22dc5633017d5538775.PNG differ diff --git a/assets/images/NetworkIdentityPreviewRuntime-271cc83fa155e57064242394dc024396.png b/assets/images/NetworkIdentityPreviewRuntime-271cc83fa155e57064242394dc024396.png new file mode 100644 index 00000000000..84cd8448317 Binary files /dev/null and b/assets/images/NetworkIdentityPreviewRuntime-271cc83fa155e57064242394dc024396.png differ diff --git a/assets/images/NetworkLogSettings-a06e25e83861ee3096ef2d8d522ccac5.png b/assets/images/NetworkLogSettings-a06e25e83861ee3096ef2d8d522ccac5.png new file mode 100644 index 00000000000..b8317ed33be Binary files /dev/null and b/assets/images/NetworkLogSettings-a06e25e83861ee3096ef2d8d522ccac5.png differ diff --git a/assets/images/NetworkLogSettingsNoSettings-fbcdf6f1c1d77c74cdd5c68eae80566e.png b/assets/images/NetworkLogSettingsNoSettings-fbcdf6f1c1d77c74cdd5c68eae80566e.png new file mode 100644 index 00000000000..3a9356f2e8d Binary files /dev/null and b/assets/images/NetworkLogSettingsNoSettings-fbcdf6f1c1d77c74cdd5c68eae80566e.png differ diff --git a/assets/images/NetworkManagerHUDComponent-32186733665f2c69b3c5a40d99085a50.png b/assets/images/NetworkManagerHUDComponent-32186733665f2c69b3c5a40d99085a50.png new file mode 100644 index 00000000000..51721c0c049 Binary files /dev/null and b/assets/images/NetworkManagerHUDComponent-32186733665f2c69b3c5a40d99085a50.png differ diff --git a/assets/images/NetworkMatchChecker-466e2627f1cef6d1a9583c1221886fe2.png b/assets/images/NetworkMatchChecker-466e2627f1cef6d1a9583c1221886fe2.png new file mode 100644 index 00000000000..c2d67ef086f Binary files /dev/null and b/assets/images/NetworkMatchChecker-466e2627f1cef6d1a9583c1221886fe2.png differ diff --git a/assets/images/NetworkProximityCheck-247ba01112e5c8484a8e2ee888b99d45.png b/assets/images/NetworkProximityCheck-247ba01112e5c8484a8e2ee888b99d45.png new file mode 100644 index 00000000000..586e66b9a0c Binary files /dev/null and b/assets/images/NetworkProximityCheck-247ba01112e5c8484a8e2ee888b99d45.png differ diff --git a/assets/images/NetworkRoomManager-4d0e6adc620e71de5cba45bc1a9cd58e.png b/assets/images/NetworkRoomManager-4d0e6adc620e71de5cba45bc1a9cd58e.png new file mode 100644 index 00000000000..2eba94e11b1 Binary files /dev/null and b/assets/images/NetworkRoomManager-4d0e6adc620e71de5cba45bc1a9cd58e.png differ diff --git a/assets/images/NetworkRoomPlayer-2dd94481e3dae1a7b83e34f49353fe46.png b/assets/images/NetworkRoomPlayer-2dd94481e3dae1a7b83e34f49353fe46.png new file mode 100644 index 00000000000..74f709c2bbc Binary files /dev/null and b/assets/images/NetworkRoomPlayer-2dd94481e3dae1a7b83e34f49353fe46.png differ diff --git a/assets/images/NetworkSceneManager-7d9b531c9491d703c5640cd4edcaaa5e.png b/assets/images/NetworkSceneManager-7d9b531c9491d703c5640cd4edcaaa5e.png new file mode 100644 index 00000000000..260f4ba0d4d Binary files /dev/null and b/assets/images/NetworkSceneManager-7d9b531c9491d703c5640cd4edcaaa5e.png differ diff --git a/assets/images/NetworkStartPosition-faa09b848a3e4e0f9768e8bb53896491.PNG b/assets/images/NetworkStartPosition-faa09b848a3e4e0f9768e8bb53896491.PNG new file mode 100644 index 00000000000..f71deb8d872 Binary files /dev/null and b/assets/images/NetworkStartPosition-faa09b848a3e4e0f9768e8bb53896491.PNG differ diff --git a/assets/images/NetworkTransform-87bc4e6d6034c82e59059a22d4beee56.png b/assets/images/NetworkTransform-87bc4e6d6034c82e59059a22d4beee56.png new file mode 100644 index 00000000000..02cebef6019 Binary files /dev/null and b/assets/images/NetworkTransform-87bc4e6d6034c82e59059a22d4beee56.png differ diff --git a/assets/images/Pong1-2f2fbdb0fc4489632b5e7c6db8b58dbf.jpg b/assets/images/Pong1-2f2fbdb0fc4489632b5e7c6db8b58dbf.jpg new file mode 100644 index 00000000000..8527e877479 Binary files /dev/null and b/assets/images/Pong1-2f2fbdb0fc4489632b5e7c6db8b58dbf.jpg differ diff --git a/assets/images/Pong2-2cf41cf4194623bc871a3b06beb53cb3.jpg b/assets/images/Pong2-2cf41cf4194623bc871a3b06beb53cb3.jpg new file mode 100644 index 00000000000..05488bb30ee Binary files /dev/null and b/assets/images/Pong2-2cf41cf4194623bc871a3b06beb53cb3.jpg differ diff --git a/assets/images/Pong3-82762443ba232c38e54d0585025372c1.jpg b/assets/images/Pong3-82762443ba232c38e54d0585025372c1.jpg new file mode 100644 index 00000000000..0b1d04a8379 Binary files /dev/null and b/assets/images/Pong3-82762443ba232c38e54d0585025372c1.jpg differ diff --git a/assets/images/Room1-52f6387d8f1ee4619004377258b5cab1.PNG b/assets/images/Room1-52f6387d8f1ee4619004377258b5cab1.PNG new file mode 100644 index 00000000000..fdb34ea1805 Binary files /dev/null and b/assets/images/Room1-52f6387d8f1ee4619004377258b5cab1.PNG differ diff --git a/assets/images/RoomManager-28447e5c36fc857667bc3b3740e4e3e5.PNG b/assets/images/RoomManager-28447e5c36fc857667bc3b3740e4e3e5.PNG new file mode 100644 index 00000000000..2bfc0ec8033 Binary files /dev/null and b/assets/images/RoomManager-28447e5c36fc857667bc3b3740e4e3e5.PNG differ diff --git a/assets/images/RoomPlayer-bc0a4426eafc52fc3a58bdc32c446c60.PNG b/assets/images/RoomPlayer-bc0a4426eafc52fc3a58bdc32c446c60.PNG new file mode 100644 index 00000000000..f54c3050123 Binary files /dev/null and b/assets/images/RoomPlayer-bc0a4426eafc52fc3a58bdc32c446c60.PNG differ diff --git a/assets/images/SettingsReference-6e44e6e86bb3ed45f5cfcf5db3754778.png b/assets/images/SettingsReference-6e44e6e86bb3ed45f5cfcf5db3754778.png new file mode 100644 index 00000000000..b57d71f63e2 Binary files /dev/null and b/assets/images/SettingsReference-6e44e6e86bb3ed45f5cfcf5db3754778.png differ diff --git a/assets/images/UPM-samples-85e4bd29fd03e955cd0a3629138aedf8.png b/assets/images/UPM-samples-85e4bd29fd03e955cd0a3629138aedf8.png new file mode 100644 index 00000000000..07ada0e8c21 Binary files /dev/null and b/assets/images/UPM-samples-85e4bd29fd03e955cd0a3629138aedf8.png differ diff --git a/assets/images/aws-setup-9b36d01bc52cf92d655388a5514e4ea3.png b/assets/images/aws-setup-9b36d01bc52cf92d655388a5514e4ea3.png new file mode 100644 index 00000000000..ab17c3d9239 Binary files /dev/null and b/assets/images/aws-setup-9b36d01bc52cf92d655388a5514e4ea3.png differ diff --git a/assets/images/basic-auth-85bb2f2ef4e5dd290c8078e3be0463d3.png b/assets/images/basic-auth-85bb2f2ef4e5dd290c8078e3be0463d3.png new file mode 100644 index 00000000000..4f591455813 Binary files /dev/null and b/assets/images/basic-auth-85bb2f2ef4e5dd290c8078e3be0463d3.png differ diff --git a/assets/images/child-objects1-cacb0aebef9b0a5cc31911c10cacf626.png b/assets/images/child-objects1-cacb0aebef9b0a5cc31911c10cacf626.png new file mode 100644 index 00000000000..f6a01b36750 Binary files /dev/null and b/assets/images/child-objects1-cacb0aebef9b0a5cc31911c10cacf626.png differ diff --git a/assets/images/child-objects2-4aee0695e2d49dba533e3f96c106d7a0.png b/assets/images/child-objects2-4aee0695e2d49dba533e3f96c106d7a0.png new file mode 100644 index 00000000000..88c8e0f87c3 Binary files /dev/null and b/assets/images/child-objects2-4aee0695e2d49dba533e3f96c106d7a0.png differ diff --git a/assets/images/child-objects3-76306f96399ff8d8d8547738f485e505.png b/assets/images/child-objects3-76306f96399ff8d8d8547738f485e505.png new file mode 100644 index 00000000000..e6520a95075 Binary files /dev/null and b/assets/images/child-objects3-76306f96399ff8d8d8547738f485e505.png differ diff --git a/assets/images/configure-rdp-887b883bb322213ade7239de2daff72a.png b/assets/images/configure-rdp-887b883bb322213ade7239de2daff72a.png new file mode 100644 index 00000000000..5f768c0cf87 Binary files /dev/null and b/assets/images/configure-rdp-887b883bb322213ade7239de2daff72a.png differ diff --git a/assets/images/connect-instance-1-8278bf6beb0ee88bceceec3ec4a654d1.png b/assets/images/connect-instance-1-8278bf6beb0ee88bceceec3ec4a654d1.png new file mode 100644 index 00000000000..11b8bd83be4 Binary files /dev/null and b/assets/images/connect-instance-1-8278bf6beb0ee88bceceec3ec4a654d1.png differ diff --git a/assets/images/connect-instance-2-2ba744f13f9f167eec8768ee17967e5d.png b/assets/images/connect-instance-2-2ba744f13f9f167eec8768ee17967e5d.png new file mode 100644 index 00000000000..c2e8de055c5 Binary files /dev/null and b/assets/images/connect-instance-2-2ba744f13f9f167eec8768ee17967e5d.png differ diff --git a/assets/images/connect-instance-3-d0885421e233b29e437f3088df6e7f3c.png b/assets/images/connect-instance-3-d0885421e233b29e437f3088df6e7f3c.png new file mode 100644 index 00000000000..85615892223 Binary files /dev/null and b/assets/images/connect-instance-3-d0885421e233b29e437f3088df6e7f3c.png differ diff --git a/assets/images/drive-on-host-8387a61f5e7bb323417d1f14537bafa1.png b/assets/images/drive-on-host-8387a61f5e7bb323417d1f14537bafa1.png new file mode 100644 index 00000000000..b0e5aea454d Binary files /dev/null and b/assets/images/drive-on-host-8387a61f5e7bb323417d1f14537bafa1.png differ diff --git a/assets/images/firewall-exception-76dc4748c007dcef21df7145fb11ef99.png b/assets/images/firewall-exception-76dc4748c007dcef21df7145fb11ef99.png new file mode 100644 index 00000000000..84e4049e262 Binary files /dev/null and b/assets/images/firewall-exception-76dc4748c007dcef21df7145fb11ef99.png differ diff --git a/assets/images/image--008-b4529e2fac09d41dccece8e12d3193e4.jpg b/assets/images/image--008-b4529e2fac09d41dccece8e12d3193e4.jpg new file mode 100644 index 00000000000..6a896a06c08 Binary files /dev/null and b/assets/images/image--008-b4529e2fac09d41dccece8e12d3193e4.jpg differ diff --git a/assets/images/image--009-608e0e8600c9e852a0aa64dc2d9d2f4a.jpg b/assets/images/image--009-608e0e8600c9e852a0aa64dc2d9d2f4a.jpg new file mode 100644 index 00000000000..7a7ae73b66d Binary files /dev/null and b/assets/images/image--009-608e0e8600c9e852a0aa64dc2d9d2f4a.jpg differ diff --git a/assets/images/image--010-7425e4daff3c455e164260a11589e97d.jpg b/assets/images/image--010-7425e4daff3c455e164260a11589e97d.jpg new file mode 100644 index 00000000000..8a1fe2adf6d Binary files /dev/null and b/assets/images/image--010-7425e4daff3c455e164260a11589e97d.jpg differ diff --git a/assets/images/image--011-f0887207e8857a9b843eedba80f9269e.jpg b/assets/images/image--011-f0887207e8857a9b843eedba80f9269e.jpg new file mode 100644 index 00000000000..dc752178c3c Binary files /dev/null and b/assets/images/image--011-f0887207e8857a9b843eedba80f9269e.jpg differ diff --git a/assets/images/image--012-6b5e88a29745146aea6bdd5eb58a201a.jpg b/assets/images/image--012-6b5e88a29745146aea6bdd5eb58a201a.jpg new file mode 100644 index 00000000000..421fc313214 Binary files /dev/null and b/assets/images/image--012-6b5e88a29745146aea6bdd5eb58a201a.jpg differ diff --git a/assets/images/image--013-311a1ec0bbf4f47ac587d3835250a340.jpg b/assets/images/image--013-311a1ec0bbf4f47ac587d3835250a340.jpg new file mode 100644 index 00000000000..0883cb33d0c Binary files /dev/null and b/assets/images/image--013-311a1ec0bbf4f47ac587d3835250a340.jpg differ diff --git a/assets/images/image--014-9634108be80a1332d817f0cee994f68f.jpg b/assets/images/image--014-9634108be80a1332d817f0cee994f68f.jpg new file mode 100644 index 00000000000..9ce78f0ad8f Binary files /dev/null and b/assets/images/image--014-9634108be80a1332d817f0cee994f68f.jpg differ diff --git a/assets/images/image--015-d20c36755c977aea4d41fb3c6619f46b.jpg b/assets/images/image--015-d20c36755c977aea4d41fb3c6619f46b.jpg new file mode 100644 index 00000000000..a092e9caec2 Binary files /dev/null and b/assets/images/image--015-d20c36755c977aea4d41fb3c6619f46b.jpg differ diff --git a/assets/images/image--016-6efe060fd534d2a4a9625c1f5ddbefb2.jpg b/assets/images/image--016-6efe060fd534d2a4a9625c1f5ddbefb2.jpg new file mode 100644 index 00000000000..0053f42b9bf Binary files /dev/null and b/assets/images/image--016-6efe060fd534d2a4a9625c1f5ddbefb2.jpg differ diff --git a/assets/images/image--017-f99401bbcb96b03368999cad5d47fe23.jpg b/assets/images/image--017-f99401bbcb96b03368999cad5d47fe23.jpg new file mode 100644 index 00000000000..2321f506863 Binary files /dev/null and b/assets/images/image--017-f99401bbcb96b03368999cad5d47fe23.jpg differ diff --git a/assets/images/image--018-5d5dbd52c1a437fc443459d20ba8a50b.jpg b/assets/images/image--018-5d5dbd52c1a437fc443459d20ba8a50b.jpg new file mode 100644 index 00000000000..a66ecbcf8a3 Binary files /dev/null and b/assets/images/image--018-5d5dbd52c1a437fc443459d20ba8a50b.jpg differ diff --git a/assets/images/image--019-e1a866710cd99769b38282e255294575.jpg b/assets/images/image--019-e1a866710cd99769b38282e255294575.jpg new file mode 100644 index 00000000000..f9cc2b330ca Binary files /dev/null and b/assets/images/image--019-e1a866710cd99769b38282e255294575.jpg differ diff --git a/assets/images/image--020-e01607f64439d24c0e13c1364f36eff7.jpg b/assets/images/image--020-e01607f64439d24c0e13c1364f36eff7.jpg new file mode 100644 index 00000000000..9d9696afbc3 Binary files /dev/null and b/assets/images/image--020-e01607f64439d24c0e13c1364f36eff7.jpg differ diff --git a/assets/images/install-mirage-494fddba2c7b23b53afda253b7d5575e.png b/assets/images/install-mirage-494fddba2c7b23b53afda253b7d5575e.png new file mode 100644 index 00000000000..c393235ecf5 Binary files /dev/null and b/assets/images/install-mirage-494fddba2c7b23b53afda253b7d5575e.png differ diff --git a/assets/images/key-pair-a3114e0ebf34d667e8928740c2491b79.png b/assets/images/key-pair-a3114e0ebf34d667e8928740c2491b79.png new file mode 100644 index 00000000000..49561c60b6d Binary files /dev/null and b/assets/images/key-pair-a3114e0ebf34d667e8928740c2491b79.png differ diff --git a/assets/images/microsoft-server-2019-92a500bc3d044c9076b0abc83e6224b8.png b/assets/images/microsoft-server-2019-92a500bc3d044c9076b0abc83e6224b8.png new file mode 100644 index 00000000000..f8c1db610e1 Binary files /dev/null and b/assets/images/microsoft-server-2019-92a500bc3d044c9076b0abc83e6224b8.png differ diff --git a/assets/images/network-local-players-270b8a63f79eb179a5713d3344154ec3.png b/assets/images/network-local-players-270b8a63f79eb179a5713d3344154ec3.png new file mode 100644 index 00000000000..ddf28174da8 Binary files /dev/null and b/assets/images/network-local-players-270b8a63f79eb179a5713d3344154ec3.png differ diff --git a/assets/images/network-manager-609a9a521cf42486a1e71563db343a9e.jpg b/assets/images/network-manager-609a9a521cf42486a1e71563db343a9e.jpg new file mode 100644 index 00000000000..8b03a95031d Binary files /dev/null and b/assets/images/network-manager-609a9a521cf42486a1e71563db343a9e.jpg differ diff --git a/assets/images/player-components-3fc9db928ec0009e928048bfe8bc0257.jpg b/assets/images/player-components-3fc9db928ec0009e928048bfe8bc0257.jpg new file mode 100644 index 00000000000..9ad7bc06f12 Binary files /dev/null and b/assets/images/player-components-3fc9db928ec0009e928048bfe8bc0257.jpg differ diff --git a/assets/images/review-0d625f11d117703a06e8baf96020042f.png b/assets/images/review-0d625f11d117703a06e8baf96020042f.png new file mode 100644 index 00000000000..694572a493d Binary files /dev/null and b/assets/images/review-0d625f11d117703a06e8baf96020042f.png differ diff --git a/assets/images/running-instances-40b85e7a37007b9e0470331a1cb19c0f.png b/assets/images/running-instances-40b85e7a37007b9e0470331a1cb19c0f.png new file mode 100644 index 00000000000..1d6c824ada8 Binary files /dev/null and b/assets/images/running-instances-40b85e7a37007b9e0470331a1cb19c0f.png differ diff --git a/assets/images/scoped-registry-53cc767107b7b116001086c47ba33c16.png b/assets/images/scoped-registry-53cc767107b7b116001086c47ba33c16.png new file mode 100644 index 00000000000..6cda8892864 Binary files /dev/null and b/assets/images/scoped-registry-53cc767107b7b116001086c47ba33c16.png differ diff --git a/assets/images/spawn-objects-6ae976e2c154a524d14a4205dfb220d9.png b/assets/images/spawn-objects-6ae976e2c154a524d14a4205dfb220d9.png new file mode 100644 index 00000000000..b350b20a04e Binary files /dev/null and b/assets/images/spawn-objects-6ae976e2c154a524d14a4205dfb220d9.png differ diff --git a/assets/images/spawn-player-cc287d10a0839a8fd3174b561b69822e.jpg b/assets/images/spawn-player-cc287d10a0839a8fd3174b561b69822e.jpg new file mode 100644 index 00000000000..03db54192da Binary files /dev/null and b/assets/images/spawn-player-cc287d10a0839a8fd3174b561b69822e.jpg differ diff --git a/assets/images/start-server-script-946b387ee058d61d3a85e54ef1653e90.jpg b/assets/images/start-server-script-946b387ee058d61d3a85e54ef1653e90.jpg new file mode 100644 index 00000000000..5478947e773 Binary files /dev/null and b/assets/images/start-server-script-946b387ee058d61d3a85e54ef1653e90.jpg differ diff --git a/assets/images/step-2-91e61e62dc48080c3e5d2681c19592e1.png b/assets/images/step-2-91e61e62dc48080c3e5d2681c19592e1.png new file mode 100644 index 00000000000..870623b0390 Binary files /dev/null and b/assets/images/step-2-91e61e62dc48080c3e5d2681c19592e1.png differ diff --git a/assets/images/step-6-8bcb1a1a012d28d85a0c43f91320f48e.png b/assets/images/step-6-8bcb1a1a012d28d85a0c43f91320f48e.png new file mode 100644 index 00000000000..62b86b15909 Binary files /dev/null and b/assets/images/step-6-8bcb1a1a012d28d85a0c43f91320f48e.png differ diff --git a/assets/images/unet-directions-f5b45204a697a14ca5f74730d072023d.jpg b/assets/images/unet-directions-f5b45204a697a14ca5f74730d072023d.jpg new file mode 100644 index 00000000000..9f88897011e Binary files /dev/null and b/assets/images/unet-directions-f5b45204a697a14ca5f74730d072023d.jpg differ diff --git a/assets/images/windows-admin-pass-2-2164977395f8e54b25b1a37e02a43512.png b/assets/images/windows-admin-pass-2-2164977395f8e54b25b1a37e02a43512.png new file mode 100644 index 00000000000..33c99bd6734 Binary files /dev/null and b/assets/images/windows-admin-pass-2-2164977395f8e54b25b1a37e02a43512.png differ diff --git a/assets/images/windows-admin-pass-8a69d39da472478a9d9685ecae81a67b.png b/assets/images/windows-admin-pass-8a69d39da472478a9d9685ecae81a67b.png new file mode 100644 index 00000000000..11f6cd1c21c Binary files /dev/null and b/assets/images/windows-admin-pass-8a69d39da472478a9d9685ecae81a67b.png differ diff --git a/assets/js/010b5e3f.26ac74c4.js b/assets/js/010b5e3f.26ac74c4.js new file mode 100644 index 00000000000..ff6ee4b6ac7 --- /dev/null +++ b/assets/js/010b5e3f.26ac74c4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5164],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>k});var l=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,l)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var d=l.createContext({}),s=function(e){var t=l.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},c=function(e){var t=s(e.components);return l.createElement(d.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},p=l.forwardRef((function(e,t){var a=e.components,r=e.mdxType,n=e.originalType,d=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),p=s(a),k=r,m=p["".concat(d,".").concat(k)]||p[k]||u[k]||n;return a?l.createElement(m,i(i({ref:t},c),{},{components:a})):l.createElement(m,i({ref:t},c))}));function k(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var n=a.length,i=new Array(n);i[0]=p;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:r,i[1]=o;for(var s=2;s{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>n,metadata:()=>o,toc:()=>s});var l=a(87462),r=(a(67294),a(3905));const n={id:"NetworkBehaviour",title:"NetworkBehaviour"},i="Class NetworkBehaviour",o={unversionedId:"reference/Mirage/NetworkBehaviour",id:"reference/Mirage/NetworkBehaviour",title:"NetworkBehaviour",description:"Base class which should be inherited by scripts which contain networking functionality.",source:"@site/docs/reference/Mirage/NetworkBehaviour.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkBehaviour",permalink:"/Mirage/docs/reference/Mirage/NetworkBehaviour",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkBehaviour.md",tags:[],version:"current",frontMatter:{id:"NetworkBehaviour",title:"NetworkBehaviour"},sidebar:"api",previous:{title:"NetworkBehaviour.Id",permalink:"/Mirage/docs/reference/Mirage/NetworkBehaviour.Id"},next:{title:"NetworkClient",permalink:"/Mirage/docs/reference/Mirage/NetworkClient"}},d={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"_nextSyncTime",id:"_nextsynctime",level:4},{value:"Declaration",id:"declaration",level:5},{value:"SyncSettings",id:"syncsettings",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"syncObjects",id:"syncobjects",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"COMPONENT_INDEX_NOT_FOUND",id:"component_index_not_found",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Properties",id:"properties",level:3},{value:"IsServer",id:"isserver",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"IsClient",id:"isclient",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"IsLocalClient",id:"islocalclient",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"IsHost",id:"ishost",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"IsLocalPlayer",id:"islocalplayer",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"IsServerOnly",id:"isserveronly",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"IsClientOnly",id:"isclientonly",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"HasAuthority",id:"hasauthority",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"NetId",id:"netid",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Server",id:"server",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"ServerObjectManager",id:"serverobjectmanager",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Client",id:"client",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"ClientObjectManager",id:"clientobjectmanager",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Owner",id:"owner",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"World",id:"world",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"NetworkTime",id:"networktime",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"BehaviourId",id:"behaviourid",level:4},{value:"Declaration",id:"declaration-20",level:5},{value:"SyncVarDirtyBits",id:"syncvardirtybits",level:4},{value:"Declaration",id:"declaration-21",level:5},{value:"AnySyncObjectDirty",id:"anysyncobjectdirty",level:4},{value:"Declaration",id:"declaration-22",level:5},{value:"Identity",id:"identity",level:4},{value:"Declaration",id:"declaration-23",level:5},{value:"ComponentIndex",id:"componentindex",level:4},{value:"Declaration",id:"declaration-24",level:5},{value:"Methods",id:"methods",level:3},{value:"GetSyncVarHookGuard(UInt64)",id:"getsyncvarhookguarduint64",level:4},{value:"Declaration",id:"declaration-25",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"SetSyncVarHookGuard(UInt64, Boolean)",id:"setsyncvarhookguarduint64-boolean",level:4},{value:"Declaration",id:"declaration-26",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"InitSyncObject(ISyncObject)",id:"initsyncobjectisyncobject",level:4},{value:"Declaration",id:"declaration-27",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"UpdateSyncObjectShouldSync()",id:"updatesyncobjectshouldsync",level:4},{value:"Declaration",id:"declaration-28",level:5},{value:"SyncVarEqual<T>(T, T)",id:"syncvarequaltt-t",level:4},{value:"Declaration",id:"declaration-29",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-1",level:5},{value:"SetDirtyBit(UInt64)",id:"setdirtybituint64",level:4},{value:"Declaration",id:"declaration-30",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"ClearDirtyBit(UInt64)",id:"cleardirtybituint64",level:4},{value:"Declaration",id:"declaration-31",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"ClearDirtyBits()",id:"cleardirtybits",level:4},{value:"Declaration",id:"declaration-32",level:5},{value:"ClearShouldSync(Double)",id:"clearshouldsyncdouble",level:4},{value:"Declaration",id:"declaration-33",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"ShouldSync(Double)",id:"shouldsyncdouble",level:4},{value:"Declaration",id:"declaration-34",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"Returns",id:"returns-2",level:5},{value:"TimeToSync(Double)",id:"timetosyncdouble",level:4},{value:"Declaration",id:"declaration-35",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"Returns",id:"returns-3",level:5},{value:"AnyDirtyBits()",id:"anydirtybits",level:4},{value:"Declaration",id:"declaration-36",level:5},{value:"Returns",id:"returns-4",level:5},{value:"OnSerialize(NetworkWriter, Boolean)",id:"onserializenetworkwriter-boolean",level:4},{value:"Declaration",id:"declaration-37",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"Returns",id:"returns-5",level:5},{value:"OnDeserialize(NetworkReader, Boolean)",id:"ondeserializenetworkreader-boolean",level:4},{value:"Declaration",id:"declaration-38",level:5},{value:"Parameters",id:"parameters-10",level:5},{value:"SerializeSyncVars(NetworkWriter, Boolean)",id:"serializesyncvarsnetworkwriter-boolean",level:4},{value:"Declaration",id:"declaration-39",level:5},{value:"Parameters",id:"parameters-11",level:5},{value:"Returns",id:"returns-6",level:5},{value:"DeserializeSyncVars(NetworkReader, Boolean)",id:"deserializesyncvarsnetworkreader-boolean",level:4},{value:"Declaration",id:"declaration-40",level:5},{value:"Parameters",id:"parameters-12",level:5},{value:"SetDeserializeMask(UInt64, Int32)",id:"setdeserializemaskuint64-int32",level:4},{value:"Declaration",id:"declaration-41",level:5},{value:"Parameters",id:"parameters-13",level:5},{value:"SerializeObjects(NetworkWriter, Boolean)",id:"serializeobjectsnetworkwriter-boolean",level:4},{value:"Declaration",id:"declaration-42",level:5},{value:"Parameters",id:"parameters-14",level:5},{value:"Returns",id:"returns-7",level:5},{value:"SerializeObjectsAll(NetworkWriter)",id:"serializeobjectsallnetworkwriter",level:4},{value:"Declaration",id:"declaration-43",level:5},{value:"Parameters",id:"parameters-15",level:5},{value:"Returns",id:"returns-8",level:5},{value:"SerializeObjectsDelta(NetworkWriter)",id:"serializeobjectsdeltanetworkwriter",level:4},{value:"Declaration",id:"declaration-44",level:5},{value:"Parameters",id:"parameters-16",level:5},{value:"Returns",id:"returns-9",level:5},{value:"GetRpcCount()",id:"getrpccount",level:4},{value:"Declaration",id:"declaration-45",level:5},{value:"Returns",id:"returns-10",level:5},{value:"RegisterRpc(RemoteCallCollection)",id:"registerrpcremotecallcollection",level:4},{value:"Declaration",id:"declaration-46",level:5},{value:"Parameters",id:"parameters-17",level:5}],c={toc:s};function u(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,l.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-networkbehaviour"},"Class NetworkBehaviour"),(0,r.kt)("p",null,"Base class which should be inherited by scripts which contain networking functionality."),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public abstract class NetworkBehaviour : MonoBehaviour\n")),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"_nextsynctime"},"_nextSyncTime"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected double _nextSyncTime\n")),(0,r.kt)("h4",{id:"syncsettings"},"SyncSettings"),(0,r.kt)("p",null,"Sync settings for this NetworkBehaviour\nSettings will be hidden in inspector unless Behaviour has SyncVar or SyncObjects"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncSettings SyncSettings\n")),(0,r.kt)("h4",{id:"syncobjects"},"syncObjects"),(0,r.kt)("p",null,"objects that can synchronize themselves, such as synclists"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected readonly List syncObjects\n")),(0,r.kt)("h4",{id:"component_index_not_found"},"COMPONENT_INDEX_NOT_FOUND"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public const int COMPONENT_INDEX_NOT_FOUND = -1\n")),(0,r.kt)("h3",{id:"properties"},"Properties"),(0,r.kt)("h4",{id:"isserver"},"IsServer"),(0,r.kt)("p",null,"Returns true if this object is active on an active server.\nThis is only true if the object has been spawned. This is different from NetworkServer.active, which is true if the server itself is active rather than this object being active."),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsServer { get; }\n")),(0,r.kt)("h4",{id:"isclient"},"IsClient"),(0,r.kt)("p",null,"Returns true if running as a client and this object was spawned by a server."),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsClient { get; }\n")),(0,r.kt)("h4",{id:"islocalclient"},"IsLocalClient"),(0,r.kt)("p",null,"Returns true if we","'","re on host mode."),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'[Obsolete("use IsHost instead")]\npublic bool IsLocalClient { get; }\n')),(0,r.kt)("h4",{id:"ishost"},"IsHost"),(0,r.kt)("p",null,"Returns true if we","'","re on host mode."),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsHost { get; }\n")),(0,r.kt)("h4",{id:"islocalplayer"},"IsLocalPlayer"),(0,r.kt)("p",null,"This returns true if this object is the one that represents the player on the local machine.\nIn multiplayer games, there are multiple instances of the Player object. The client needs to know which one is for ",'"',"themselves",'"'," so that only that player processes input and potentially has a camera attached. The IsLocalPlayer function will return true only for the player instance that belongs to the player on the local machine, so it can be used to filter out input for non-local players."),(0,r.kt)("h5",{id:"declaration-8"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsLocalPlayer { get; }\n")),(0,r.kt)("h4",{id:"isserveronly"},"IsServerOnly"),(0,r.kt)("p",null,"True if this object only exists on the server"),(0,r.kt)("h5",{id:"declaration-9"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsServerOnly { get; }\n")),(0,r.kt)("h4",{id:"isclientonly"},"IsClientOnly"),(0,r.kt)("p",null,"True if this object exists on a client that is not also acting as a server"),(0,r.kt)("h5",{id:"declaration-10"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsClientOnly { get; }\n")),(0,r.kt)("h4",{id:"hasauthority"},"HasAuthority"),(0,r.kt)("p",null,"This returns true if this object is the authoritative version of the object in the distributed network application.\nThe value on the NetworkIdentity determines how authority is determined. For most objects, authority is held by the server. For objects with set, authority is held by the client of that player."),(0,r.kt)("h5",{id:"declaration-11"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool HasAuthority { get; }\n")),(0,r.kt)("h4",{id:"netid"},"NetId"),(0,r.kt)("p",null,"The unique network Id of this object.\nThis is assigned at runtime by the network server and will be unique for all objects for that network session."),(0,r.kt)("h5",{id:"declaration-12"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public uint NetId { get; }\n")),(0,r.kt)("h4",{id:"server"},"Server"),(0,r.kt)("p",null,"The associated to this object."),(0,r.kt)("h5",{id:"declaration-13"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkServer Server { get; }\n")),(0,r.kt)("h4",{id:"serverobjectmanager"},"ServerObjectManager"),(0,r.kt)("p",null,"Quick Reference to the NetworkIdentities ServerObjectManager. Present only for server/host instances."),(0,r.kt)("h5",{id:"declaration-14"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public ServerObjectManager ServerObjectManager { get; }\n")),(0,r.kt)("h4",{id:"client"},"Client"),(0,r.kt)("p",null,"The associated to this object."),(0,r.kt)("h5",{id:"declaration-15"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkClient Client { get; }\n")),(0,r.kt)("h4",{id:"clientobjectmanager"},"ClientObjectManager"),(0,r.kt)("p",null,"Quick Reference to the NetworkIdentities ClientObjectManager. Present only for instances instances."),(0,r.kt)("h5",{id:"declaration-16"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public ClientObjectManager ClientObjectManager { get; }\n")),(0,r.kt)("h4",{id:"owner"},"Owner"),(0,r.kt)("p",null,"The associated with this This is only valid for player objects on the server."),(0,r.kt)("h5",{id:"declaration-17"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public INetworkPlayer Owner { get; }\n")),(0,r.kt)("h4",{id:"world"},"World"),(0,r.kt)("h5",{id:"declaration-18"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkWorld World { get; }\n")),(0,r.kt)("h4",{id:"networktime"},"NetworkTime"),(0,r.kt)("p",null,"Returns the appropriate NetworkTime instance based on if this NetworkBehaviour is running as a Server or Client."),(0,r.kt)("h5",{id:"declaration-19"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkTime NetworkTime { get; }\n")),(0,r.kt)("h4",{id:"behaviourid"},"BehaviourId"),(0,r.kt)("p",null,"Get Id of this NetworkBehaviour, Its NetId and ComponentIndex"),(0,r.kt)("h5",{id:"declaration-20"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkBehaviour.Id BehaviourId { get; }\n")),(0,r.kt)("h4",{id:"syncvardirtybits"},"SyncVarDirtyBits"),(0,r.kt)("h5",{id:"declaration-21"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected ulong SyncVarDirtyBits { get; }\n")),(0,r.kt)("h4",{id:"anysyncobjectdirty"},"AnySyncObjectDirty"),(0,r.kt)("h5",{id:"declaration-22"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected bool AnySyncObjectDirty { get; }\n")),(0,r.kt)("h4",{id:"identity"},"Identity"),(0,r.kt)("p",null,"Returns the NetworkIdentity of this object"),(0,r.kt)("h5",{id:"declaration-23"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkIdentity Identity { get; }\n")),(0,r.kt)("h4",{id:"componentindex"},"ComponentIndex"),(0,r.kt)("p",null,"Returns the index of the component on this object"),(0,r.kt)("h5",{id:"declaration-24"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public int ComponentIndex { get; }\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"getsyncvarhookguarduint64"},"GetSyncVarHookGuard(UInt64)"),(0,r.kt)("h5",{id:"declaration-25"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected bool GetSyncVarHookGuard(ulong dirtyBit)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,r.kt)("td",{parentName:"tr",align:null},"dirtyBit"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"setsyncvarhookguarduint64-boolean"},"SetSyncVarHookGuard(UInt64, Boolean)"),(0,r.kt)("h5",{id:"declaration-26"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected void SetSyncVarHookGuard(ulong dirtyBit, bool value)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,r.kt)("td",{parentName:"tr",align:null},"dirtyBit"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"value"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"initsyncobjectisyncobject"},"InitSyncObject(ISyncObject)"),(0,r.kt)("h5",{id:"declaration-27"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected void InitSyncObject(ISyncObject syncObject)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Collections.ISyncObject"),(0,r.kt)("td",{parentName:"tr",align:null},"syncObject"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"updatesyncobjectshouldsync"},"UpdateSyncObjectShouldSync()"),(0,r.kt)("p",null,"Call this after updating SyncSettings to update all SyncObjects"),(0,r.kt)("p",null,"This only needs to be called manually if updating syncSettings at runtime.\nMirage will automatically call this after serializing or deserializing with initialState"),(0,r.kt)("h5",{id:"declaration-28"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void UpdateSyncObjectShouldSync()\n")),(0,r.kt)("h4",{id:"syncvarequaltt-t"},"SyncVarEqual","<","T",">","(T, T)"),(0,r.kt)("h5",{id:"declaration-29"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected bool SyncVarEqual(T value, T fieldValue)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"value"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"fieldValue"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-1"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"setdirtybituint64"},"SetDirtyBit(UInt64)"),(0,r.kt)("p",null,"Used to set the behaviour as dirty, so that a network update will be sent for the object.\nthese are masks, not bit numbers, ie. 0x004 not 2"),(0,r.kt)("h5",{id:"declaration-30"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void SetDirtyBit(ulong bitMask)\n")),(0,r.kt)("h5",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,r.kt)("td",{parentName:"tr",align:null},"bitMask"),(0,r.kt)("td",{parentName:"tr",align:null},"Bit mask to set.")))),(0,r.kt)("h4",{id:"cleardirtybituint64"},"ClearDirtyBit(UInt64)"),(0,r.kt)("p",null,"Used to clear dirty bit.\nObject may still be in dirty list, so will be checked in next update. but values in this mask will no longer be set until they are changed again"),(0,r.kt)("h5",{id:"declaration-31"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void ClearDirtyBit(ulong bitMask)\n")),(0,r.kt)("h5",{id:"parameters-5"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,r.kt)("td",{parentName:"tr",align:null},"bitMask"),(0,r.kt)("td",{parentName:"tr",align:null},"Bit mask to set.")))),(0,r.kt)("h4",{id:"cleardirtybits"},"ClearDirtyBits()"),(0,r.kt)("h5",{id:"declaration-32"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void ClearDirtyBits()\n")),(0,r.kt)("h4",{id:"clearshouldsyncdouble"},"ClearShouldSync(Double)"),(0,r.kt)("p",null,"Clears dirty bits and sets the next sync time"),(0,r.kt)("h5",{id:"declaration-33"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void ClearShouldSync(double now)\n")),(0,r.kt)("h5",{id:"parameters-6"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Double"),(0,r.kt)("td",{parentName:"tr",align:null},"now"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"shouldsyncdouble"},"ShouldSync(Double)"),(0,r.kt)("p",null,"True if this behaviour is dirty and it is time to sync"),(0,r.kt)("h5",{id:"declaration-34"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool ShouldSync(double time)\n")),(0,r.kt)("h5",{id:"parameters-7"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Double"),(0,r.kt)("td",{parentName:"tr",align:null},"time"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-2"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"timetosyncdouble"},"TimeToSync(Double)"),(0,r.kt)("p",null,"If it is time to sync based on last sync and "),(0,r.kt)("h5",{id:"declaration-35"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool TimeToSync(double time)\n")),(0,r.kt)("h5",{id:"parameters-8"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Double"),(0,r.kt)("td",{parentName:"tr",align:null},"time"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-3"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"anydirtybits"},"AnyDirtyBits()"),(0,r.kt)("p",null,"Are any SyncVar or SyncObjects dirty"),(0,r.kt)("h5",{id:"declaration-36"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool AnyDirtyBits()\n")),(0,r.kt)("h5",{id:"returns-4"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"onserializenetworkwriter-boolean"},"OnSerialize(NetworkWriter, Boolean)"),(0,r.kt)("p",null,"Virtual function to override to send custom serialization data. The corresponding function to send serialization data is OnDeserialize()."),(0,r.kt)("h5",{id:"declaration-37"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual bool OnSerialize(NetworkWriter writer, bool initialState)\n")),(0,r.kt)("h5",{id:"parameters-9"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,r.kt)("td",{parentName:"tr",align:null},"writer"),(0,r.kt)("td",{parentName:"tr",align:null},"Writer to use to write to the stream.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"initialState"),(0,r.kt)("td",{parentName:"tr",align:null},"If this is being called to send initial state.")))),(0,r.kt)("h5",{id:"returns-5"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"True if data was written.")))),(0,r.kt)("h4",{id:"ondeserializenetworkreader-boolean"},"OnDeserialize(NetworkReader, Boolean)"),(0,r.kt)("p",null,"Virtual function to override to receive custom serialization data. The corresponding function to send serialization data is OnSerialize()."),(0,r.kt)("h5",{id:"declaration-38"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual void OnDeserialize(NetworkReader reader, bool initialState)\n")),(0,r.kt)("h5",{id:"parameters-10"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,r.kt)("td",{parentName:"tr",align:null},"reader"),(0,r.kt)("td",{parentName:"tr",align:null},"Reader to read from the stream.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"initialState"),(0,r.kt)("td",{parentName:"tr",align:null},"True if being sent initial state.")))),(0,r.kt)("h4",{id:"serializesyncvarsnetworkwriter-boolean"},"SerializeSyncVars(NetworkWriter, Boolean)"),(0,r.kt)("h5",{id:"declaration-39"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual bool SerializeSyncVars(NetworkWriter writer, bool initialState)\n")),(0,r.kt)("h5",{id:"parameters-11"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,r.kt)("td",{parentName:"tr",align:null},"writer"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"initialState"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-6"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"deserializesyncvarsnetworkreader-boolean"},"DeserializeSyncVars(NetworkReader, Boolean)"),(0,r.kt)("h5",{id:"declaration-40"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual void DeserializeSyncVars(NetworkReader reader, bool initialState)\n")),(0,r.kt)("h5",{id:"parameters-12"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,r.kt)("td",{parentName:"tr",align:null},"reader"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"initialState"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"setdeserializemaskuint64-int32"},"SetDeserializeMask(UInt64, Int32)"),(0,r.kt)("h5",{id:"declaration-41"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected void SetDeserializeMask(ulong dirtyBit, int offset)\n")),(0,r.kt)("h5",{id:"parameters-13"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,r.kt)("td",{parentName:"tr",align:null},"dirtyBit"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"serializeobjectsnetworkwriter-boolean"},"SerializeObjects(NetworkWriter, Boolean)"),(0,r.kt)("h5",{id:"declaration-42"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool SerializeObjects(NetworkWriter writer, bool initialState)\n")),(0,r.kt)("h5",{id:"parameters-14"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,r.kt)("td",{parentName:"tr",align:null},"writer"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"initialState"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-7"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"serializeobjectsallnetworkwriter"},"SerializeObjectsAll(NetworkWriter)"),(0,r.kt)("h5",{id:"declaration-43"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool SerializeObjectsAll(NetworkWriter writer)\n")),(0,r.kt)("h5",{id:"parameters-15"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,r.kt)("td",{parentName:"tr",align:null},"writer"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-8"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"serializeobjectsdeltanetworkwriter"},"SerializeObjectsDelta(NetworkWriter)"),(0,r.kt)("h5",{id:"declaration-44"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool SerializeObjectsDelta(NetworkWriter writer)\n")),(0,r.kt)("h5",{id:"parameters-16"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,r.kt)("td",{parentName:"tr",align:null},"writer"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-9"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"getrpccount"},"GetRpcCount()"),(0,r.kt)("h5",{id:"declaration-45"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected virtual int GetRpcCount()\n")),(0,r.kt)("h5",{id:"returns-10"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"registerrpcremotecallcollection"},"RegisterRpc(RemoteCallCollection)"),(0,r.kt)("h5",{id:"declaration-46"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected virtual void RegisterRpc(RemoteCallCollection collection)\n")),(0,r.kt)("h5",{id:"parameters-17"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.RemoteCalls.RemoteCallCollection"),(0,r.kt)("td",{parentName:"tr",align:null},"collection"),(0,r.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/029678fa.85a67be5.js b/assets/js/029678fa.85a67be5.js new file mode 100644 index 00000000000..5d0e5dc37b2 --- /dev/null +++ b/assets/js/029678fa.85a67be5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8223],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>d});var n=r(67294);function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(s[r]=e[r]);return s}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r])}return s}var c=n.createContext({}),u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},l=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,s=e.mdxType,o=e.originalType,c=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),f=u(r),d=s,g=f["".concat(c,".").concat(d)]||f[d]||p[d]||o;return r?n.createElement(g,a(a({ref:t},l),{},{components:r})):n.createElement(g,a({ref:t},l))}));function d(e,t){var r=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var o=r.length,a=new Array(o);a[0]=f;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:s,a[1]=i;for(var u=2;u{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>i,toc:()=>u});var n=r(87462),s=(r(67294),r(3905));const o={id:"RequestSessionMessage",title:"RequestSessionMessage"},a="Struct RequestSessionMessage",i={unversionedId:"reference/Mirage.Authenticators.SessionId/RequestSessionMessage",id:"reference/Mirage.Authenticators.SessionId/RequestSessionMessage",title:"RequestSessionMessage",description:"Syntax",source:"@site/docs/reference/Mirage.Authenticators.SessionId/RequestSessionMessage.md",sourceDirName:"reference/Mirage.Authenticators.SessionId",slug:"/reference/Mirage.Authenticators.SessionId/RequestSessionMessage",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/RequestSessionMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authenticators.SessionId/RequestSessionMessage.md",tags:[],version:"current",frontMatter:{id:"RequestSessionMessage",title:"RequestSessionMessage"},sidebar:"api",previous:{title:"ISessionIdStore",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/ISessionIdStore"},next:{title:"SessionData",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionData"}},c={},u=[{value:"Syntax",id:"syntax",level:5}],l={toc:u};function p(e){let{components:t,...r}=e;return(0,s.kt)("wrapper",(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,s.kt)("h1",{id:"struct-requestsessionmessage"},"Struct RequestSessionMessage"),(0,s.kt)("h5",{id:"syntax"},"Syntax"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-cs"},"public struct RequestSessionMessage\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0299007e.c2da7bd8.js b/assets/js/0299007e.c2da7bd8.js new file mode 100644 index 00000000000..1f39c0fb703 --- /dev/null +++ b/assets/js/0299007e.c2da7bd8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6184],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>g});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),s=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},p=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),m=s(r),g=n,d=m["".concat(c,".").concat(g)]||m[g]||u[g]||l;return r?a.createElement(d,o(o({ref:t},p),{},{components:r})):a.createElement(d,o({ref:t},p))}));function g(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,o=new Array(l);o[0]=m;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:n,o[1]=i;for(var s=2;s{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>l,metadata:()=>i,toc:()=>s});var a=r(87462),n=(r(67294),r(3905));const l={id:"RequestDelegate-1",title:"RequestDelegate"},o="Delegate RequestDelegate<T>",i={unversionedId:"reference/Mirage.RemoteCalls/RequestDelegate-1",id:"reference/Mirage.RemoteCalls/RequestDelegate-1",title:"RequestDelegate",description:"Syntax",source:"@site/docs/reference/Mirage.RemoteCalls/RequestDelegate-1.md",sourceDirName:"reference/Mirage.RemoteCalls",slug:"/reference/Mirage.RemoteCalls/RequestDelegate-1",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RequestDelegate-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.RemoteCalls/RequestDelegate-1.md",tags:[],version:"current",frontMatter:{id:"RequestDelegate-1",title:"RequestDelegate"},sidebar:"api",previous:{title:"RemoteCallCollection",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RemoteCallCollection"},next:{title:"RpcDelegate",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcDelegate"}},c={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5}],p={toc:s};function u(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"delegate-requestdelegatet"},"Delegate RequestDelegate","<","T",">"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public delegate UniTask RequestDelegate(NetworkBehaviour obj, NetworkReader reader, INetworkPlayer senderPlayer, int replyId);\n")),(0,n.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/02a78bc8.0b8f7354.js b/assets/js/02a78bc8.0b8f7354.js new file mode 100644 index 00000000000..038ce21eb4c --- /dev/null +++ b/assets/js/02a78bc8.0b8f7354.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5971],{3905:(e,t,a)=>{a.d(t,{Zo:()=>l,kt:()=>d});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function o(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var u=r.createContext({}),s=function(e){var t=r.useContext(u),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},l=function(e){var t=s(e.components);return r.createElement(u.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,u=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),p=s(a),d=n,f=p["".concat(u,".").concat(d)]||p[d]||h[d]||i;return a?r.createElement(f,o(o({ref:t},l),{},{components:a})):r.createElement(f,o({ref:t},l))}));function d(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,o=new Array(i);o[0]=p;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:n,o[1]=c;for(var s=2;s{a.r(t),a.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var r=a(87462),n=(a(67294),a(3905));const i={id:"Mirage.Authentication",title:"Mirage.Authentication"},o="Mirage.Authentication",c={unversionedId:"reference/Mirage.Authentication/Mirage.Authentication",id:"reference/Mirage.Authentication/Mirage.Authentication",title:"Mirage.Authentication",description:"Classes",source:"@site/docs/reference/Mirage.Authentication/index.md",sourceDirName:"reference/Mirage.Authentication",slug:"/reference/Mirage.Authentication/",permalink:"/Mirage/docs/reference/Mirage.Authentication/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authentication/index.md",tags:[],version:"current",frontMatter:{id:"Mirage.Authentication",title:"Mirage.Authentication"},sidebar:"api",previous:{title:"Version",permalink:"/Mirage/docs/reference/Mirage/Version"},next:{title:"AuthMessage",permalink:"/Mirage/docs/reference/Mirage.Authentication/AuthMessage"}},u={},s=[{value:"Classes",id:"classes",level:2},{value:"AuthenticatorSettings",id:"authenticatorsettings",level:4},{value:"NetworkAuthenticator",id:"networkauthenticator",level:4},{value:"NetworkAuthenticator<T>",id:"networkauthenticatort",level:4},{value:"PlayerAuthentication",id:"playerauthentication",level:4},{value:"Structs",id:"structs",level:2},{value:"AuthMessage",id:"authmessage",level:4},{value:"AuthSuccessMessage",id:"authsuccessmessage",level:4},{value:"AuthenticationResult",id:"authenticationresult",level:4},{value:"Interfaces",id:"interfaces",level:2},{value:"IAuthenticationDataWrapper",id:"iauthenticationdatawrapper",level:4},{value:"INetworkAuthenticator",id:"inetworkauthenticator",level:4}],l={toc:s};function h(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},l,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"mirageauthentication"},"Mirage.Authentication"),(0,n.kt)("h2",{id:"classes"},"Classes"),(0,n.kt)("h4",{id:"authenticatorsettings"},(0,n.kt)("a",{parentName:"h4",href:"./AuthenticatorSettings"},"AuthenticatorSettings")),(0,n.kt)("h4",{id:"networkauthenticator"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkAuthenticator"},"NetworkAuthenticator")),(0,n.kt)("h4",{id:"networkauthenticatort"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkAuthenticator-1"},"NetworkAuthenticator","<","T",">")),(0,n.kt)("h4",{id:"playerauthentication"},(0,n.kt)("a",{parentName:"h4",href:"./PlayerAuthentication"},"PlayerAuthentication")),(0,n.kt)("h2",{id:"structs"},"Structs"),(0,n.kt)("h4",{id:"authmessage"},(0,n.kt)("a",{parentName:"h4",href:"./AuthMessage"},"AuthMessage")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Wrapper message around auth message sent by a ")),(0,n.kt)("p",null,"This type is used to that it can be receive before player is authenticated.\nALl AuthMessage will be handled by an Authenticator instead of the normal message handler"),(0,n.kt)("h4",{id:"authsuccessmessage"},(0,n.kt)("a",{parentName:"h4",href:"./AuthSuccessMessage"},"AuthSuccessMessage")),(0,n.kt)("h4",{id:"authenticationresult"},(0,n.kt)("a",{parentName:"h4",href:"./AuthenticationResult"},"AuthenticationResult")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Result from Authentication, Use static methods to create new instance")),(0,n.kt)("h2",{id:"interfaces"},"Interfaces"),(0,n.kt)("h4",{id:"iauthenticationdatawrapper"},(0,n.kt)("a",{parentName:"h4",href:"./IAuthenticationDataWrapper"},"IAuthenticationDataWrapper")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Auth data might be a wrapper around another Authenticator","'","s data.\nIn that case should check if data is T or if it is IDataWrapper")),(0,n.kt)("h4",{id:"inetworkauthenticator"},(0,n.kt)("a",{parentName:"h4",href:"./INetworkAuthenticator"},"INetworkAuthenticator")))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/03f0e0a6.0ebb5ace.js b/assets/js/03f0e0a6.0ebb5ace.js new file mode 100644 index 00000000000..43ccf2e9281 --- /dev/null +++ b/assets/js/03f0e0a6.0ebb5ace.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3520],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>u});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function a(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=o.createContext({}),l=function(e){var t=o.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=l(e.components);return o.createElement(s.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},k=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),k=l(r),u=n,h=k["".concat(s,".").concat(u)]||k[u]||m[u]||i;return r?o.createElement(h,a(a({ref:t},p),{},{components:r})):o.createElement(h,a({ref:t},p))}));function u(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,a=new Array(i);a[0]=k;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:n,a[1]=c;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>m,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var o=r(87462),n=(r(67294),r(3905));const i={},a="Network Proximity Checker",c={unversionedId:"components/network-proximity-checker",id:"components/network-proximity-checker",title:"Network Proximity Checker",description:"The Network Proximity Checker component controls the visibility of game objects for network clients, based on proximity to players.",source:"@site/docs/components/network-proximity-checker.md",sourceDirName:"components",slug:"/components/network-proximity-checker",permalink:"/Mirage/docs/components/network-proximity-checker",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/network-proximity-checker.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Ping Display",permalink:"/Mirage/docs/components/network-ping-display"},next:{title:"Network Room Manager",permalink:"/Mirage/docs/components/network-room-manager"}},s={},l=[],p={toc:l};function m(e){let{components:t,...i}=e;return(0,n.kt)("wrapper",(0,o.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"network-proximity-checker"},"Network Proximity Checker"),(0,n.kt)("p",null,"The Network Proximity Checker component controls the visibility of game objects for network clients, based on proximity to players."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Network Proximity Checker component",src:r(5524).Z,width:"362",height:"133"})),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Vis Range"),(0,n.kt)("br",{parentName:"li"}),"Define the range that the game object should be visible to observers."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Vis Update Interval"),(0,n.kt)("br",{parentName:"li"}),"Define how often (in seconds) the game object should check for observers entering its visible range."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Check Method"),(0,n.kt)("br",{parentName:"li"}),"Define which type of physics (2D or 3D) to use for proximity checking."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Force Hidden"),(0,n.kt)("br",{parentName:"li"}),"Tick this checkbox to hide this object from all players.")),(0,n.kt)("p",null,"With the Network Proximity Checker, a game running on a client doesn\u2019t have information about game objects that are not visible. This has two main benefits: it reduces the amount of data sent across the network, and it makes your game more secure against hacking."),(0,n.kt)("p",null,"This component relies on physics to calculate visibility, so observer game objects must also have a collider component on them."),(0,n.kt)("p",null,"A game object with a Network Proximity Checker component must also have a Network Identity component. When you create a Network Proximity Checker component on a game object, Mirage also creates a Network Identity component on that game object if it does not already have one."),(0,n.kt)("p",null,"Scene objects with a Network Proximity Checker component are disabled when they're out of range, and spawned objects are destroyed when they're out of range."))}m.isMDXComponent=!0},5524:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/NetworkProximityCheck-247ba01112e5c8484a8e2ee888b99d45.png"}}]); \ No newline at end of file diff --git a/assets/js/05d00909.a9ec8b9a.js b/assets/js/05d00909.a9ec8b9a.js new file mode 100644 index 00000000000..7da0b4f8ed2 --- /dev/null +++ b/assets/js/05d00909.a9ec8b9a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3240],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>f});var i=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function s(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);r&&(i=i.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,i)}return t}function n(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=i.createContext({}),o=function(e){var r=i.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):n(n({},r),e)),t},p=function(e){var r=o(e.components);return i.createElement(l.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return i.createElement(i.Fragment,{},r)}},y=i.forwardRef((function(e,r){var t=e.components,a=e.mdxType,s=e.originalType,l=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),y=o(t),f=a,d=y["".concat(l,".").concat(f)]||y[f]||u[f]||s;return t?i.createElement(d,n(n({ref:r},p),{},{components:t})):i.createElement(d,n({ref:r},p))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var s=t.length,n=new Array(s);n[0]=y;var c={};for(var l in r)hasOwnProperty.call(r,l)&&(c[l]=r[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,n[1]=c;for(var o=2;o{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>n,default:()=>u,frontMatter:()=>s,metadata:()=>c,toc:()=>o});var i=t(87462),a=(t(67294),t(3905));const s={id:"Mirage.DisplayMetrics",title:"Mirage.DisplayMetrics"},n="Mirage.DisplayMetrics",c={unversionedId:"reference/Mirage.DisplayMetrics/Mirage.DisplayMetrics",id:"reference/Mirage.DisplayMetrics/Mirage.DisplayMetrics",title:"Mirage.DisplayMetrics",description:"Classes",source:"@site/docs/reference/Mirage.DisplayMetrics/index.md",sourceDirName:"reference/Mirage.DisplayMetrics",slug:"/reference/Mirage.DisplayMetrics/",permalink:"/Mirage/docs/reference/Mirage.DisplayMetrics/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.DisplayMetrics/index.md",tags:[],version:"current",frontMatter:{id:"Mirage.DisplayMetrics",title:"Mirage.DisplayMetrics"},sidebar:"api",previous:{title:"SyncObjectActive",permalink:"/Mirage/docs/reference/Mirage.Components/SyncObjectActive"},next:{title:"DisplayMetricsAverageGui",permalink:"/Mirage/docs/reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui"}},l={},o=[{value:"Classes",id:"classes",level:2},{value:"DisplayMetricsAverageGui",id:"displaymetricsaveragegui",level:4},{value:"RequestServerMetrics",id:"requestservermetrics",level:4},{value:"SetDisplayMetrics",id:"setdisplaymetrics",level:4}],p={toc:o};function u(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,i.Z)({},p,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"miragedisplaymetrics"},"Mirage.DisplayMetrics"),(0,a.kt)("h2",{id:"classes"},"Classes"),(0,a.kt)("h4",{id:"displaymetricsaveragegui"},(0,a.kt)("a",{parentName:"h4",href:"./DisplayMetricsAverageGui"},"DisplayMetricsAverageGui")),(0,a.kt)("blockquote",null,(0,a.kt)("p",{parentName:"blockquote"},"This is an example of how to show metrics, It only shows some of the values inside\nIf you want to show more of the values then create a copy of this class and add values to DrawAverage")),(0,a.kt)("h4",{id:"requestservermetrics"},(0,a.kt)("a",{parentName:"h4",href:"./RequestServerMetrics"},"RequestServerMetrics")),(0,a.kt)("h4",{id:"setdisplaymetrics"},(0,a.kt)("a",{parentName:"h4",href:"./SetDisplayMetrics"},"SetDisplayMetrics")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/05d3eaad.82bfa554.js b/assets/js/05d3eaad.82bfa554.js new file mode 100644 index 00000000000..5ce127743ed --- /dev/null +++ b/assets/js/05d3eaad.82bfa554.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8601],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=l(r),m=a,g=d["".concat(s,".").concat(m)]||d[m]||p[m]||o;return r?n.createElement(g,i(i({ref:t},u),{},{components:r})):n.createElement(g,i({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=d;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const o={id:"RemoveAuthorityMessage",title:"RemoveAuthorityMessage"},i="Struct RemoveAuthorityMessage",c={unversionedId:"reference/Mirage/RemoveAuthorityMessage",id:"reference/Mirage/RemoveAuthorityMessage",title:"RemoveAuthorityMessage",description:"Syntax",source:"@site/docs/reference/Mirage/RemoveAuthorityMessage.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/RemoveAuthorityMessage",permalink:"/Mirage/docs/reference/Mirage/RemoveAuthorityMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/RemoveAuthorityMessage.md",tags:[],version:"current",frontMatter:{id:"RemoveAuthorityMessage",title:"RemoveAuthorityMessage"},sidebar:"api",previous:{title:"ReadOnlyInspectorAttribute",permalink:"/Mirage/docs/reference/Mirage/ReadOnlyInspectorAttribute"},next:{title:"RemoveCharacterMessage",permalink:"/Mirage/docs/reference/Mirage/RemoveCharacterMessage"}},s={},l=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"NetId",id:"netid",level:4},{value:"Declaration",id:"declaration",level:5}],u={toc:l};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-removeauthoritymessage"},"Struct RemoveAuthorityMessage"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct RemoveAuthorityMessage\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"netid"},"NetId"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public uint NetId\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/066f829e.c0a8b056.js b/assets/js/066f829e.c0a8b056.js new file mode 100644 index 00000000000..fc0e36808aa --- /dev/null +++ b/assets/js/066f829e.c0a8b056.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2106],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>v});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=n.createContext({}),s=function(e){var r=n.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},p=function(e){var r=s(e.components);return n.createElement(l.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},y=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),y=s(t),v=a,f=y["".concat(l,".").concat(v)]||y[v]||u[v]||o;return t?n.createElement(f,i(i({ref:r},p),{},{components:t})):n.createElement(f,i({ref:r},p))}));function v(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=y;var c={};for(var l in r)hasOwnProperty.call(r,l)&&(c[l]=r[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var s=2;s{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>s});var n=t(87462),a=(t(67294),t(3905));const o={id:"NetworkPlayerEvent",title:"NetworkPlayerEvent"},i="Class NetworkPlayerEvent",c={unversionedId:"reference/Mirage.Events/NetworkPlayerEvent",id:"reference/Mirage.Events/NetworkPlayerEvent",title:"NetworkPlayerEvent",description:"Inheritance",source:"@site/docs/reference/Mirage.Events/NetworkPlayerEvent.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/NetworkPlayerEvent",permalink:"/Mirage/docs/reference/Mirage.Events/NetworkPlayerEvent",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/NetworkPlayerEvent.md",tags:[],version:"current",frontMatter:{id:"NetworkPlayerEvent",title:"NetworkPlayerEvent"},sidebar:"api",previous:{title:"NetworkPlayerAddLateEvent",permalink:"/Mirage/docs/reference/Mirage.Events/NetworkPlayerAddLateEvent"},next:{title:"Mirage.Logging",permalink:"/Mirage/docs/reference/Mirage.Logging/"}},l={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5}],p={toc:s};function u(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-networkplayerevent"},"Class NetworkPlayerEvent"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class NetworkPlayerEvent : UnityEvent\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/06abcc68.02086eb9.js b/assets/js/06abcc68.02086eb9.js new file mode 100644 index 00000000000..fa663b44e49 --- /dev/null +++ b/assets/js/06abcc68.02086eb9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3135],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=r.createContext({}),p=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},d=function(e){var t=p(e.components);return r.createElement(o.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},s=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),s=p(a),m=n,b=s["".concat(o,".").concat(m)]||s[m]||u[m]||l;return a?r.createElement(b,i(i({ref:t},d),{},{components:a})):r.createElement(b,i({ref:t},d))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=s;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var p=2;p{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>c,toc:()=>p});var r=a(87462),n=(a(67294),a(3905));const l={id:"SyncPrefab",title:"SyncPrefab"},i="Struct SyncPrefab",c={unversionedId:"reference/Mirage/SyncPrefab",id:"reference/Mirage/SyncPrefab",title:"SyncPrefab",description:"Syntax",source:"@site/docs/reference/Mirage/SyncPrefab.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SyncPrefab",permalink:"/Mirage/docs/reference/Mirage/SyncPrefab",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SyncPrefab.md",tags:[],version:"current",frontMatter:{id:"SyncPrefab",title:"SyncPrefab"},sidebar:"api",previous:{title:"SyncHookType",permalink:"/Mirage/docs/reference/Mirage/SyncHookType"},next:{title:"SyncPrefabSerialize",permalink:"/Mirage/docs/reference/Mirage/SyncPrefabSerialize"}},o={},p=[{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"SyncPrefab(NetworkIdentity)",id:"syncprefabnetworkidentity",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"SyncPrefab(Int32)",id:"syncprefabint32",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Fields",id:"fields",level:3},{value:"Prefab",id:"prefab",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"PrefabHash",id:"prefabhash",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Methods",id:"methods",level:3},{value:"FindPrefab(ClientObjectManager)",id:"findprefabclientobjectmanager",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns",level:5},{value:"FindPrefab(IEnumerable<NetworkIdentity>)",id:"findprefabienumerablenetworkidentity",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-1",level:5}],d={toc:p};function u(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"struct-syncprefab"},"Struct SyncPrefab"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public struct SyncPrefab\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"syncprefabnetworkidentity"},"SyncPrefab(NetworkIdentity)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncPrefab(NetworkIdentity prefab)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"prefab"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"syncprefabint32"},"SyncPrefab(Int32)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncPrefab(int hash)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"hash"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"prefab"},"Prefab"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkIdentity Prefab\n")),(0,n.kt)("h4",{id:"prefabhash"},"PrefabHash"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public int PrefabHash\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"findprefabclientobjectmanager"},"FindPrefab(ClientObjectManager)"),(0,n.kt)("p",null,"Searches ClientObjectManager to find a prefab using its hash"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkIdentity FindPrefab(ClientObjectManager manager)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.ClientObjectManager"),(0,n.kt)("td",{parentName:"tr",align:null},"manager"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"findprefabienumerablenetworkidentity"},"FindPrefab(IEnumerable","<","NetworkIdentity",">",")"),(0,n.kt)("p",null,"Searches ClientObjectManager to find a prefab using its hash"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkIdentity FindPrefab(IEnumerable collection)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","Mirage.NetworkIdentity",">"),(0,n.kt)("td",{parentName:"tr",align:null},"collection"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/07828445.b4bf2d07.js b/assets/js/07828445.b4bf2d07.js new file mode 100644 index 00000000000..ca4e26c4b7a --- /dev/null +++ b/assets/js/07828445.b4bf2d07.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1199],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),p=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},d=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),u=p(r),m=a,f=u["".concat(l,".").concat(m)]||u[m]||s[m]||i;return r?n.createElement(f,o(o({ref:t},d),{},{components:r})):n.createElement(f,o({ref:t},d))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=u;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var p=2;p{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>s,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var n=r(87462),a=(r(67294),r(3905));const i={id:"SocketLib",title:"SocketLib"},o="Enum SocketLib",c={unversionedId:"reference/Mirage.Sockets.Udp/SocketLib",id:"reference/Mirage.Sockets.Udp/SocketLib",title:"SocketLib",description:"Syntax",source:"@site/docs/reference/Mirage.Sockets.Udp/SocketLib.md",sourceDirName:"reference/Mirage.Sockets.Udp",slug:"/reference/Mirage.Sockets.Udp/SocketLib",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/SocketLib",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Sockets.Udp/SocketLib.md",tags:[],version:"current",frontMatter:{id:"SocketLib",title:"SocketLib"},sidebar:"api",previous:{title:"NanoSocketException",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoSocketException"},next:{title:"UdpMTU",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpMTU"}},l={},p=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Automatic",id:"automatic",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Native",id:"native",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Managed",id:"managed",level:4},{value:"Declaration",id:"declaration-2",level:5}],d={toc:p};function s(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"enum-socketlib"},"Enum SocketLib"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public enum SocketLib\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"automatic"},"Automatic"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Automatic = 0\n")),(0,a.kt)("h4",{id:"native"},"Native"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Native = 1\n")),(0,a.kt)("h4",{id:"managed"},"Managed"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Managed = 2\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/07989add.56b1d626.js b/assets/js/07989add.56b1d626.js new file mode 100644 index 00000000000..960e7651c48 --- /dev/null +++ b/assets/js/07989add.56b1d626.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3966],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>d});var r=n(67294);function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(c[n]=e[n]);return c}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(c[n]=e[n])}return c}var s=r.createContext({}),l=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=l(e.components);return r.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},v=r.forwardRef((function(e,t){var n=e.components,c=e.mdxType,i=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),v=l(n),d=c,f=v["".concat(s,".").concat(d)]||v[d]||u[d]||i;return n?r.createElement(f,a(a({ref:t},p),{},{components:n})):r.createElement(f,a({ref:t},p))}));function d(e,t){var n=arguments,c=t&&t.mdxType;if("string"==typeof e||c){var i=n.length,a=new Array(i);a[0]=v;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:c,a[1]=o;for(var l=2;l{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var r=n(87462),c=(n(67294),n(3905));const i={id:"DisconnectEvent",title:"DisconnectEvent"},a="Class DisconnectEvent",o={unversionedId:"reference/Mirage.Events/DisconnectEvent",id:"reference/Mirage.Events/DisconnectEvent",title:"DisconnectEvent",description:"Inheritance",source:"@site/docs/reference/Mirage.Events/DisconnectEvent.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/DisconnectEvent",permalink:"/Mirage/docs/reference/Mirage.Events/DisconnectEvent",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/DisconnectEvent.md",tags:[],version:"current",frontMatter:{id:"DisconnectEvent",title:"DisconnectEvent"},sidebar:"api",previous:{title:"DisconnectAddLateEvent",permalink:"/Mirage/docs/reference/Mirage.Events/DisconnectAddLateEvent"},next:{title:"IAddLateEvent",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEvent-1"}},s={},l=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5}],p={toc:l};function u(e){let{components:t,...n}=e;return(0,c.kt)("wrapper",(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,c.kt)("h1",{id:"class-disconnectevent"},"Class DisconnectEvent"),(0,c.kt)("div",{class:"inheritance"},(0,c.kt)("h5",{id:"inheritance"},"Inheritance"),(0,c.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,c.kt)("h5",{id:"syntax"},"Syntax"),(0,c.kt)("pre",null,(0,c.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class DisconnectEvent : UnityEvent\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/085a1412.0a76ea38.js b/assets/js/085a1412.0a76ea38.js new file mode 100644 index 00000000000..e4729b684e7 --- /dev/null +++ b/assets/js/085a1412.0a76ea38.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[919],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>y});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var d=a.createContext({}),c=function(e){var t=a.useContext(d),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},s=function(e){var t=c(e.components);return a.createElement(d.Provider,{value:t},e.children)},k={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,d=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),p=c(r),y=n,u=p["".concat(d,".").concat(y)]||p[y]||k[y]||i;return r?a.createElement(u,l(l({ref:t},s),{},{components:r})):a.createElement(u,l({ref:t},s))}));function y(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,l=new Array(i);l[0]=p;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:n,l[1]=o;for(var c=2;c{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>k,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const i={id:"NetworkIdentitySerializers",title:"NetworkIdentitySerializers"},l="Class NetworkIdentitySerializers",o={unversionedId:"reference/Mirage/NetworkIdentitySerializers",id:"reference/Mirage/NetworkIdentitySerializers",title:"NetworkIdentitySerializers",description:"Inheritance",source:"@site/docs/reference/Mirage/NetworkIdentitySerializers.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkIdentitySerializers",permalink:"/Mirage/docs/reference/Mirage/NetworkIdentitySerializers",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkIdentitySerializers.md",tags:[],version:"current",frontMatter:{id:"NetworkIdentitySerializers",title:"NetworkIdentitySerializers"},sidebar:"api",previous:{title:"NetworkIdentity",permalink:"/Mirage/docs/reference/Mirage/NetworkIdentity"},next:{title:"NetworkIdentitySyncvar",permalink:"/Mirage/docs/reference/Mirage/NetworkIdentitySyncvar"}},d={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"WriteNetworkIdentitySyncVar(NetworkWriter, NetworkIdentitySyncvar)",id:"writenetworkidentitysyncvarnetworkwriter-networkidentitysyncvar",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"ReadNetworkIdentitySyncVar(NetworkReader)",id:"readnetworkidentitysyncvarnetworkreader",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5}],s={toc:c};function k(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networkidentityserializers"},"Class NetworkIdentitySerializers"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class NetworkIdentitySerializers\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"writenetworkidentitysyncvarnetworkwriter-networkidentitysyncvar"},"WriteNetworkIdentitySyncVar(NetworkWriter, NetworkIdentitySyncvar)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteNetworkIdentitySyncVar(this NetworkWriter writer, NetworkIdentitySyncvar id)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentitySyncvar"),(0,n.kt)("td",{parentName:"tr",align:null},"id"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readnetworkidentitysyncvarnetworkreader"},"ReadNetworkIdentitySyncVar(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static NetworkIdentitySyncvar ReadNetworkIdentitySyncVar(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentitySyncvar"),(0,n.kt)("td",{parentName:"tr",align:null})))))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/09c46ec7.ace2ebcd.js b/assets/js/09c46ec7.ace2ebcd.js new file mode 100644 index 00000000000..951b084e9ac --- /dev/null +++ b/assets/js/09c46ec7.ace2ebcd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6036],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>f});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),u=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},s=function(e){var t=u(e.components);return n.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),d=u(r),f=o,v=d["".concat(l,".").concat(f)]||d[f]||p[f]||i;return r?n.createElement(v,a(a({ref:t},s),{},{components:r})):n.createElement(v,a({ref:t},s))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:o,a[1]=c;for(var u=2;u{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var n=r(87462),o=(r(67294),r(3905));const i={id:"FoldoutEventAttribute",title:"FoldoutEventAttribute"},a="Class FoldoutEventAttribute",c={unversionedId:"reference/Mirage/FoldoutEventAttribute",id:"reference/Mirage/FoldoutEventAttribute",title:"FoldoutEventAttribute",description:"Draws UnityEvent as a foldout",source:"@site/docs/reference/Mirage/FoldoutEventAttribute.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/FoldoutEventAttribute",permalink:"/Mirage/docs/reference/Mirage/FoldoutEventAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/FoldoutEventAttribute.md",tags:[],version:"current",frontMatter:{id:"FoldoutEventAttribute",title:"FoldoutEventAttribute"},sidebar:"api",previous:{title:"ExponentialMovingAverage",permalink:"/Mirage/docs/reference/Mirage/ExponentialMovingAverage"},next:{title:"GameObjectExtensions",permalink:"/Mirage/docs/reference/Mirage/GameObjectExtensions"}},l={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5}],s={toc:u};function p(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"class-foldouteventattribute"},"Class FoldoutEventAttribute"),(0,o.kt)("p",null,"Draws UnityEvent as a foldout"),(0,o.kt)("div",{class:"inheritance"},(0,o.kt)("h5",{id:"inheritance"},"Inheritance"),(0,o.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,o.kt)("h5",{id:"syntax"},"Syntax"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Field)]\npublic sealed class FoldoutEventAttribute : PropertyAttribute\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0a5e7ba0.853573a4.js b/assets/js/0a5e7ba0.853573a4.js new file mode 100644 index 00000000000..c68131038e7 --- /dev/null +++ b/assets/js/0a5e7ba0.853573a4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7471],{3905:(e,r,n)=>{n.d(r,{Zo:()=>s,kt:()=>u});var t=n(67294);function a(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function l(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function c(e){for(var r=1;r=0||(a[n]=e[n]);return a}(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var i=t.createContext({}),p=function(e){var r=t.useContext(i),n=r;return e&&(n="function"==typeof e?e(r):c(c({},r),e)),n},s=function(e){var r=p(e.components);return t.createElement(i.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},g=t.forwardRef((function(e,r){var n=e.components,a=e.mdxType,l=e.originalType,i=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),g=p(n),u=a,y=g["".concat(i,".").concat(u)]||g[u]||d[u]||l;return n?t.createElement(y,c(c({ref:r},s),{},{components:n})):t.createElement(y,c({ref:r},s))}));function u(e,r){var n=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var l=n.length,c=new Array(l);c[0]=g;var o={};for(var i in r)hasOwnProperty.call(r,i)&&(o[i]=r[i]);o.originalType=e,o.mdxType="string"==typeof e?e:a,c[1]=o;for(var p=2;p{n.r(r),n.d(r,{assets:()=>i,contentTitle:()=>c,default:()=>d,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var t=n(87462),a=(n(67294),n(3905));const l={id:"SpawnHandlerAsyncDelegate",title:"SpawnHandlerAsyncDelegate"},c="Delegate SpawnHandlerAsyncDelegate",o={unversionedId:"reference/Mirage/SpawnHandlerAsyncDelegate",id:"reference/Mirage/SpawnHandlerAsyncDelegate",title:"SpawnHandlerAsyncDelegate",description:"Syntax",source:"@site/docs/reference/Mirage/SpawnHandlerAsyncDelegate.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SpawnHandlerAsyncDelegate",permalink:"/Mirage/docs/reference/Mirage/SpawnHandlerAsyncDelegate",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SpawnHandlerAsyncDelegate.md",tags:[],version:"current",frontMatter:{id:"SpawnHandlerAsyncDelegate",title:"SpawnHandlerAsyncDelegate"},sidebar:"api",previous:{title:"SpawnHandler",permalink:"/Mirage/docs/reference/Mirage/SpawnHandler"},next:{title:"SpawnHandlerDelegate",permalink:"/Mirage/docs/reference/Mirage/SpawnHandlerDelegate"}},i={},p=[{value:"Syntax",id:"syntax",level:5}],s={toc:p};function d(e){let{components:r,...n}=e;return(0,a.kt)("wrapper",(0,t.Z)({},s,n,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"delegate-spawnhandlerasyncdelegate"},"Delegate SpawnHandlerAsyncDelegate"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public delegate UniTask SpawnHandlerAsyncDelegate(SpawnMessage msg);\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0aabcf88.19f6e3cf.js b/assets/js/0aabcf88.19f6e3cf.js new file mode 100644 index 00000000000..96b4f6fbe2b --- /dev/null +++ b/assets/js/0aabcf88.19f6e3cf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4637],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>f});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=n.createContext({}),d=function(e){var r=n.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},p=function(e){var r=d(e.components);return n.createElement(l.Provider,{value:r},e.children)},s={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},u=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=d(t),f=a,m=u["".concat(l,".").concat(f)]||u[f]||s[f]||i;return t?n.createElement(m,o(o({ref:r},p),{},{components:t})):n.createElement(m,o({ref:r},p))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var i=t.length,o=new Array(i);o[0]=u;var c={};for(var l in r)hasOwnProperty.call(r,l)&&(c[l]=r[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var d=2;d{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>o,default:()=>s,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var n=t(87462),a=(t(67294),t(3905));const i={id:"SceneOperation",title:"SceneOperation"},o="Enum SceneOperation",c={unversionedId:"reference/Mirage/SceneOperation",id:"reference/Mirage/SceneOperation",title:"SceneOperation",description:"Syntax",source:"@site/docs/reference/Mirage/SceneOperation.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SceneOperation",permalink:"/Mirage/docs/reference/Mirage/SceneOperation",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SceneOperation.md",tags:[],version:"current",frontMatter:{id:"SceneOperation",title:"SceneOperation"},sidebar:"api",previous:{title:"SceneNotReadyMessage",permalink:"/Mirage/docs/reference/Mirage/SceneNotReadyMessage"},next:{title:"SceneReadyMessage",permalink:"/Mirage/docs/reference/Mirage/SceneReadyMessage"}},l={},d=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Normal",id:"normal",level:4},{value:"Declaration",id:"declaration",level:5},{value:"LoadAdditive",id:"loadadditive",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"UnloadAdditive",id:"unloadadditive",level:4},{value:"Declaration",id:"declaration-2",level:5}],p={toc:d};function s(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"enum-sceneoperation"},"Enum SceneOperation"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public enum SceneOperation : byte\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"normal"},"Normal"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Normal = 0\n")),(0,a.kt)("h4",{id:"loadadditive"},"LoadAdditive"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"LoadAdditive = 1\n")),(0,a.kt)("h4",{id:"unloadadditive"},"UnloadAdditive"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"UnloadAdditive = 2\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0ba5344b.ff456f06.js b/assets/js/0ba5344b.ff456f06.js new file mode 100644 index 00000000000..d1392e50b29 --- /dev/null +++ b/assets/js/0ba5344b.ff456f06.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9667],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>y});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),l=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,s=e.originalType,c=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),u=l(n),y=a,f=u["".concat(c,".").concat(y)]||u[y]||p[y]||s;return n?r.createElement(f,o(o({ref:t},d),{},{components:n})):r.createElement(f,o({ref:t},d))}));function y(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var s=n.length,o=new Array(s);o[0]=u;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:a,o[1]=i;for(var l=2;l{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>i,toc:()=>l});var r=n(87462),a=(n(67294),n(3905));const s={sidebar_position:6},o="Sync Sorted Set",i={unversionedId:"guides/sync/sync-objects/sync-sorted-set",id:"guides/sync/sync-objects/sync-sorted-set",title:"Sync Sorted Set",description:"SyncSortedSet is a set similar to C\\# SortedSet that synchronizes its contents from the server to the clients.",source:"@site/docs/guides/sync/sync-objects/sync-sorted-set.md",sourceDirName:"guides/sync/sync-objects",slug:"/guides/sync/sync-objects/sync-sorted-set",permalink:"/Mirage/docs/guides/sync/sync-objects/sync-sorted-set",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/sync/sync-objects/sync-sorted-set.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"docs",previous:{title:"Sync Hash Set",permalink:"/Mirage/docs/guides/sync/sync-objects/sync-hash-set"},next:{title:"Sync Settings",permalink:"/Mirage/docs/guides/sync/sync-settings"}},c={},l=[{value:"Usage",id:"usage",level:2}],d={toc:l};function p(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"sync-sorted-set"},"Sync Sorted Set"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Collections/SyncSortedSet-1"},(0,a.kt)("inlineCode",{parentName:"a"},"SyncSortedSet"))," is a set similar to C","#"," ",(0,a.kt)("a",{parentName:"p",href:"https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.sortedset-1"},"SortedSet")," that synchronizes its contents from the server to the clients."),(0,a.kt)("p",null,"Unlike SyncHashSets, all elements in a SyncSortedSet are sorted when they are inserted. Please note this has some performance implications."),(0,a.kt)("p",null,"A SyncSortedSet can contain any ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/serialization/data-types"},"supported Mirage type")," "),(0,a.kt)("h2",{id:"usage"},"Usage"),(0,a.kt)("p",null,"Create a class that derives from SyncSortedSet for your specific type. This is necessary because Mirage will add methods to that class with the weaver. Then add a SyncSortedSet field to your NetworkBehaviour class. For example:"),(0,a.kt)("admonition",{title:"IMPORTANT",type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"You need to initialize the SyncSortedSet immediately after the definition for them to work. You can mark them as ",(0,a.kt)("inlineCode",{parentName:"p"},"readonly")," to enforce proper usage.")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"class Player : NetworkBehaviour {\n\n class SyncSkillSet : SyncSortedSet {}\n\n readonly SyncSkillSet skills = new SyncSkillSet();\n\n int skillPoints = 10;\n\n [Command]\n public void CmdLearnSkill(string skillName)\n {\n if (skillPoints > 1)\n {\n skillPoints--;\n\n skills.Add(skillName);\n }\n }\n}\n")),(0,a.kt)("p",null,"You can also detect when a SyncSortedSet changes. This is useful for refreshing your character in the client or determining when you need to update your database. Subscribe to the Callback event typically during ",(0,a.kt)("inlineCode",{parentName:"p"},"Start"),", ",(0,a.kt)("inlineCode",{parentName:"p"},"OnClientStart"),", or ",(0,a.kt)("inlineCode",{parentName:"p"},"OnServerStart")," for that. "),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("p",{parentName:"admonition"},"That by the time you subscribe, the set will already be initialized, so you will not get a call for the initial data, only updates.")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class Player : NetworkBehaviour\n{\n private class SyncSetBuffs : SyncSortedSet {};\n\n private readonly SyncSetBuffs buffs = new SyncSetBuffs();\n\n // This will add the delegate on the client.\n // Use OnStartServer instead if you want it on the server\n public override void OnStartClient()\n {\n buffs.Callback += OnBuffsChanged;\n }\n\n private void OnBuffsChanged(SyncSetBuffs.Operation op, string buff)\n {\n switch (op) \n {\n case SyncSetBuffs.Operation.OP_ADD:\n // we added a buff, draw an icon on the character\n break;\n case SyncSetBuffs.Operation.OP_CLEAR:\n // clear all buffs from the character\n break;\n case SyncSetBuffs.Operation.OP_REMOVE:\n // We removed a buff from the character\n break;\n }\n }\n}\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0bcf5065.399acb4a.js b/assets/js/0bcf5065.399acb4a.js new file mode 100644 index 00000000000..da0b9dcc5bb --- /dev/null +++ b/assets/js/0bcf5065.399acb4a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8004],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>h});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),d=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=d(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},s=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),s=d(r),h=a,g=s["".concat(c,".").concat(h)]||s[h]||p[h]||o;return r?n.createElement(g,i(i({ref:t},u),{},{components:r})):n.createElement(g,i({ref:t},u))}));function h(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=s;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:a,i[1]=l;for(var d=2;d{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var n=r(87462),a=(r(67294),r(3905));const o={id:"SyncHookType",title:"SyncHookType"},i="Enum SyncHookType",l={unversionedId:"reference/Mirage/SyncHookType",id:"reference/Mirage/SyncHookType",title:"SyncHookType",description:"Syntax",source:"@site/docs/reference/Mirage/SyncHookType.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SyncHookType",permalink:"/Mirage/docs/reference/Mirage/SyncHookType",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SyncHookType.md",tags:[],version:"current",frontMatter:{id:"SyncHookType",title:"SyncHookType"},sidebar:"api",previous:{title:"SyncFrom",permalink:"/Mirage/docs/reference/Mirage/SyncFrom"},next:{title:"SyncPrefab",permalink:"/Mirage/docs/reference/Mirage/SyncPrefab"}},c={},d=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Automatic",id:"automatic",level:4},{value:"Declaration",id:"declaration",level:5},{value:"MethodWith0Arg",id:"methodwith0arg",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"MethodWith1Arg",id:"methodwith1arg",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"MethodWith2Arg",id:"methodwith2arg",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"EventWith0Arg",id:"eventwith0arg",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"EventWith1Arg",id:"eventwith1arg",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"EventWith2Arg",id:"eventwith2arg",level:4},{value:"Declaration",id:"declaration-6",level:5}],u={toc:d};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"enum-synchooktype"},"Enum SyncHookType"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public enum SyncHookType\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"automatic"},"Automatic"),(0,a.kt)("p",null,"Looks for hooks matching the signature, gives compile error if none or more than 1 is found"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Automatic = 0\n")),(0,a.kt)("h4",{id:"methodwith0arg"},"MethodWith0Arg"),(0,a.kt)("p",null,"Hook with signature void hookName()"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"MethodWith0Arg = 1\n")),(0,a.kt)("h4",{id:"methodwith1arg"},"MethodWith1Arg"),(0,a.kt)("p",null,"Hook with signature void hookName(T newValue)"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"MethodWith1Arg = 2\n")),(0,a.kt)("h4",{id:"methodwith2arg"},"MethodWith2Arg"),(0,a.kt)("p",null,"Hook with signature void hookName(T oldValue, T newValue)"),(0,a.kt)("h5",{id:"declaration-3"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"MethodWith2Arg = 3\n")),(0,a.kt)("h4",{id:"eventwith0arg"},"EventWith0Arg"),(0,a.kt)("p",null,"Hook with signature event Action hookName;"),(0,a.kt)("h5",{id:"declaration-4"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"EventWith0Arg = 4\n")),(0,a.kt)("h4",{id:"eventwith1arg"},"EventWith1Arg"),(0,a.kt)("p",null,"Hook with signature event Action{T} hookName;"),(0,a.kt)("h5",{id:"declaration-5"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"EventWith1Arg = 5\n")),(0,a.kt)("h4",{id:"eventwith2arg"},"EventWith2Arg"),(0,a.kt)("p",null,"Hook with signature event Action{T,T} hookName;"),(0,a.kt)("h5",{id:"declaration-6"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"EventWith2Arg = 6\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0c8bc2eb.8118fdbc.js b/assets/js/0c8bc2eb.8118fdbc.js new file mode 100644 index 00000000000..91817fb8f32 --- /dev/null +++ b/assets/js/0c8bc2eb.8118fdbc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4150],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>u});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,c=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),h=l(r),u=o,d=h["".concat(s,".").concat(u)]||h[u]||m[u]||c;return r?n.createElement(d,a(a({ref:t},p),{},{components:r})):n.createElement(d,a({ref:t},p))}));function u(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var c=r.length,a=new Array(c);a[0]=h;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:o,a[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>m,frontMatter:()=>c,metadata:()=>i,toc:()=>l});var n=r(87462),o=(r(67294),r(3905));const c={},a="Network Match Checker",i={unversionedId:"components/network-match-checker",id:"components/network-match-checker",title:"Network Match Checker",description:"The Network Match Checker component controls the visibility of networked objects based on match id.",source:"@site/docs/components/network-match-checker.md",sourceDirName:"components",slug:"/components/network-match-checker",permalink:"/Mirage/docs/components/network-match-checker",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/network-match-checker.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Manager",permalink:"/Mirage/docs/components/network-manager"},next:{title:"Network Ping Display",permalink:"/Mirage/docs/components/network-ping-display"}},s={},l=[],p={toc:l};function m(e){let{components:t,...c}=e;return(0,o.kt)("wrapper",(0,n.Z)({},p,c,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"network-match-checker"},"Network Match Checker"),(0,o.kt)("p",null,"The Network Match Checker component controls the visibility of networked objects based on match id."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Network Scene Checker component",src:r(25902).Z,width:"510",height:"146"})),(0,o.kt)("p",null,"Any object with this component on it will only be visible to other objects in the same match."),(0,o.kt)("p",null,"This would be used to isolate players to their respective matches within a single game server instance."),(0,o.kt)("p",null,"When you create a match, generate and store, in a List, for example, a new match id with ",(0,o.kt)("inlineCode",{parentName:"p"},"System.Guid.NewGuid();")," and assign the same match id to the Network Match Checker via ",(0,o.kt)("inlineCode",{parentName:"p"},"GetComponent().matchId"),"."),(0,o.kt)("p",null,"Mirage's built-in Observers system will isolate SyncVar's and ClientRpc's on networked objects to only send updates to clients with the same match id."))}m.isMDXComponent=!0},25902:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/NetworkMatchChecker-466e2627f1cef6d1a9583c1221886fe2.png"}}]); \ No newline at end of file diff --git a/assets/js/0cb67676.16cd56e5.js b/assets/js/0cb67676.16cd56e5.js new file mode 100644 index 00000000000..040d8b7f095 --- /dev/null +++ b/assets/js/0cb67676.16cd56e5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5614],{3905:(e,a,t)=>{t.d(a,{Zo:()=>p,kt:()=>g});var n=t(67294);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function l(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var a=1;a=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var c=n.createContext({}),s=function(e){var a=n.useContext(c),t=a;return e&&(t="function"==typeof e?e(a):i(i({},a),e)),t},p=function(e){var a=s(e.components);return n.createElement(c.Provider,{value:a},e.children)},d={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},u=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,l=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=s(t),g=r,m=u["".concat(c,".").concat(g)]||u[g]||d[g]||l;return t?n.createElement(m,i(i({ref:a},p),{},{components:t})):n.createElement(m,i({ref:a},p))}));function g(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var l=t.length,i=new Array(l);i[0]=u;var o={};for(var c in a)hasOwnProperty.call(a,c)&&(o[c]=a[c]);o.originalType=e,o.mdxType="string"==typeof e?e:r,i[1]=o;for(var s=2;s{t.r(a),t.d(a,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>l,metadata:()=>o,toc:()=>s});var n=t(87462),r=(t(67294),t(3905));const l={id:"SpawnMessage",title:"SpawnMessage"},i="Struct SpawnMessage",o={unversionedId:"reference/Mirage/SpawnMessage",id:"reference/Mirage/SpawnMessage",title:"SpawnMessage",description:"Syntax",source:"@site/docs/reference/Mirage/SpawnMessage.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SpawnMessage",permalink:"/Mirage/docs/reference/Mirage/SpawnMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SpawnMessage.md",tags:[],version:"current",frontMatter:{id:"SpawnMessage",title:"SpawnMessage"},sidebar:"api",previous:{title:"SpawnHandlerDelegate",permalink:"/Mirage/docs/reference/Mirage/SpawnHandlerDelegate"},next:{title:"SpawnObjectException",permalink:"/Mirage/docs/reference/Mirage/SpawnObjectException"}},c={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"NetId",id:"netid",level:4},{value:"Declaration",id:"declaration",level:5},{value:"IsLocalPlayer",id:"islocalplayer",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"IsOwner",id:"isowner",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"SceneId",id:"sceneid",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"PrefabHash",id:"prefabhash",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"SpawnValues",id:"spawnvalues",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Payload",id:"payload",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Methods",id:"methods",level:3},{value:"ToString()",id:"tostring",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Returns",id:"returns",level:5}],p={toc:s};function d(e){let{components:a,...t}=e;return(0,r.kt)("wrapper",(0,n.Z)({},p,t,{components:a,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"struct-spawnmessage"},"Struct SpawnMessage"),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public struct SpawnMessage\n")),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"netid"},"NetId"),(0,r.kt)("p",null,"netId of new or existing object"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public uint NetId\n")),(0,r.kt)("h4",{id:"islocalplayer"},"IsLocalPlayer"),(0,r.kt)("p",null,"Is the spawning object the local player. Sets ClientScene.localPlayer"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsLocalPlayer\n")),(0,r.kt)("h4",{id:"isowner"},"IsOwner"),(0,r.kt)("p",null,"Sets hasAuthority on the spawned object"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsOwner\n")),(0,r.kt)("h4",{id:"sceneid"},"SceneId"),(0,r.kt)("p",null,"The id of the scene object to spawn"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public ulong? SceneId\n")),(0,r.kt)("h4",{id:"prefabhash"},"PrefabHash"),(0,r.kt)("p",null,"The id of the prefab to spawn\nIf sceneId != 0 then it is used instead of prefabHash"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public int? PrefabHash\n")),(0,r.kt)("h4",{id:"spawnvalues"},"SpawnValues"),(0,r.kt)("p",null,"Spawn values to set after spawning object, values based on "),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SpawnValues SpawnValues\n")),(0,r.kt)("h4",{id:"payload"},"Payload"),(0,r.kt)("p",null,"The serialized component data\nArraySegment to avoid unnecessary allocations"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public ArraySegment Payload\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"tostring"},"ToString()"),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public override string ToString()\n")),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0d17249a.028d64d5.js b/assets/js/0d17249a.028d64d5.js new file mode 100644 index 00000000000..608c4b4f682 --- /dev/null +++ b/assets/js/0d17249a.028d64d5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1853],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=r.createContext({}),d=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},s=function(e){var t=d(e.components);return r.createElement(p.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},k=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,p=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),k=d(a),m=n,u=k["".concat(p,".").concat(m)]||k[m]||c[m]||l;return a?r.createElement(u,i(i({ref:t},s),{},{components:a})):r.createElement(u,i({ref:t},s))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=k;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var d=2;d{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var r=a(87462),n=(a(67294),a(3905));const l={id:"ServerObjectManager",title:"ServerObjectManager"},i="Class ServerObjectManager",o={unversionedId:"reference/Mirage/ServerObjectManager",id:"reference/Mirage/ServerObjectManager",title:"ServerObjectManager",description:"The ServerObjectManager.",source:"@site/docs/reference/Mirage/ServerObjectManager.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/ServerObjectManager",permalink:"/Mirage/docs/reference/Mirage/ServerObjectManager",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/ServerObjectManager.md",tags:[],version:"current",frontMatter:{id:"ServerObjectManager",title:"ServerObjectManager"},sidebar:"api",previous:{title:"ServerAttribute",permalink:"/Mirage/docs/reference/Mirage/ServerAttribute"},next:{title:"ServerObjectManagerExtensions",permalink:"/Mirage/docs/reference/Mirage/ServerObjectManagerExtensions"}},p={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"NetIdGenerator",id:"netidgenerator",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Properties",id:"properties",level:3},{value:"Server",id:"server",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"DefaultVisibility",id:"defaultvisibility",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Methods",id:"methods",level:3},{value:"ReplaceCharacter(INetworkPlayer, NetworkIdentity, Int32, Boolean)",id:"replacecharacterinetworkplayer-networkidentity-int32-boolean",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters",level:5},{value:"ReplaceCharacter(INetworkPlayer, NetworkIdentity, Boolean)",id:"replacecharacterinetworkplayer-networkidentity-boolean",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"AddCharacter(INetworkPlayer, NetworkIdentity, Int32)",id:"addcharacterinetworkplayer-networkidentity-int32",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"AddCharacter(INetworkPlayer, NetworkIdentity)",id:"addcharacterinetworkplayer-networkidentity",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"RemoveCharacter(INetworkPlayer, Boolean)",id:"removecharacterinetworkplayer-boolean",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"DestroyCharacter(INetworkPlayer, Boolean)",id:"destroycharacterinetworkplayer-boolean",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"Spawn(NetworkIdentity, Int32, INetworkPlayer)",id:"spawnnetworkidentity-int32-inetworkplayer",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"Spawn(NetworkIdentity, INetworkPlayer)",id:"spawnnetworkidentity-inetworkplayer",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"Spawn(NetworkIdentity)",id:"spawnnetworkidentity",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"Destroy(GameObject, Boolean)",id:"destroygameobject-boolean",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"Destroy(NetworkIdentity, Boolean)",id:"destroynetworkidentity-boolean",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Parameters",id:"parameters-10",level:5},{value:"SpawnSceneObjects()",id:"spawnsceneobjects",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"SpawnVisibleObjects(INetworkPlayer)",id:"spawnvisibleobjectsinetworkplayer",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Parameters",id:"parameters-11",level:5},{value:"SpawnVisibleObjects(INetworkPlayer, Boolean)",id:"spawnvisibleobjectsinetworkplayer-boolean",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Parameters",id:"parameters-12",level:5},{value:"SpawnVisibleObjects(INetworkPlayer, NetworkIdentity)",id:"spawnvisibleobjectsinetworkplayer-networkidentity",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Parameters",id:"parameters-13",level:5},{value:"SpawnVisibleObjects(INetworkPlayer, Boolean, NetworkIdentity)",id:"spawnvisibleobjectsinetworkplayer-boolean-networkidentity",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"Parameters",id:"parameters-14",level:5},{value:"SpawnVisibleObjects(INetworkPlayer, Boolean, HashSet<NetworkIdentity>)",id:"spawnvisibleobjectsinetworkplayer-boolean-hashsetnetworkidentity",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"Parameters",id:"parameters-15",level:5}],s={toc:d};function c(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-serverobjectmanager"},"Class ServerObjectManager"),(0,n.kt)("p",null,"The ServerObjectManager."),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class ServerObjectManager : MonoBehaviour\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"netidgenerator"},"NetIdGenerator"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public INetIdGenerator NetIdGenerator\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"server"},"Server"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkServer Server { get; }\n")),(0,n.kt)("h4",{id:"defaultvisibility"},"DefaultVisibility"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public INetworkVisibility DefaultVisibility { get; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"replacecharacterinetworkplayer-networkidentity-int32-boolean"},"ReplaceCharacter(INetworkPlayer, NetworkIdentity, Int32, Boolean)"),(0,n.kt)("p",null,"This replaces the player object for a connection with a different player object. The old player object is not destroyed.\nIf a connection already has a player object, this can be used to replace that object with a different player object. This does NOT change the ready state of the connection, so it can safely be used while changing scenes."),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void ReplaceCharacter(INetworkPlayer player, NetworkIdentity character, int prefabHash, bool keepAuthority = false)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"Connection which is adding the player.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"character"),(0,n.kt)("td",{parentName:"tr",align:null},"Player object spawned for the player.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"prefabHash"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"keepAuthority"),(0,n.kt)("td",{parentName:"tr",align:null},"Does the previous player remain attached to this connection?")))),(0,n.kt)("h4",{id:"replacecharacterinetworkplayer-networkidentity-boolean"},"ReplaceCharacter(INetworkPlayer, NetworkIdentity, Boolean)"),(0,n.kt)("p",null,"This replaces the player object for a connection with a different player object. The old player object is not destroyed.\nIf a connection already has a player object, this can be used to replace that object with a different player object. This does NOT change the ready state of the connection, so it can safely be used while changing scenes."),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void ReplaceCharacter(INetworkPlayer player, NetworkIdentity identity, bool keepAuthority = false)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"Connection which is adding the player.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"identity"),(0,n.kt)("td",{parentName:"tr",align:null},"Player object spawned for the player.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"keepAuthority"),(0,n.kt)("td",{parentName:"tr",align:null},"Does the previous player remain attached to this connection?")))),(0,n.kt)("h4",{id:"addcharacterinetworkplayer-networkidentity-int32"},"AddCharacter(INetworkPlayer, NetworkIdentity, Int32)"),(0,n.kt)("p",null,"When is received from a player, the server calls this to associate the character GameObject with the NetworkPlayer.\nWhen a character is added for a player the object is automatically spawned, so you do not need to call ServerObjectManager.Spawn for that object.\nThis function is used for adding a character, not replacing. If there is already a character then use instead."),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void AddCharacter(INetworkPlayer player, NetworkIdentity character, int prefabHash)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"the Player to add the character to")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"character"),(0,n.kt)("td",{parentName:"tr",align:null},"The Network Object to add to the Player. Can be spawned or unspawned. Calling this method will respawn it.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"prefabHash"),(0,n.kt)("td",{parentName:"tr",align:null},"New prefab hash to give to the player, used for dynamically creating objects at runtime.")))),(0,n.kt)("h4",{id:"addcharacterinetworkplayer-networkidentity"},"AddCharacter(INetworkPlayer, NetworkIdentity)"),(0,n.kt)("p",null,"When is received from a player, the server calls this to associate the character GameObject with the NetworkPlayer.\nWhen a character is added for a player the object is automatically spawned, so you do not need to call ServerObjectManager.Spawn for that object.\nThis function is used for adding a character, not replacing. If there is already a character then use instead."),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void AddCharacter(INetworkPlayer player, NetworkIdentity identity)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"the Player to add the character to")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"identity"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"removecharacterinetworkplayer-boolean"},"RemoveCharacter(INetworkPlayer, Boolean)"),(0,n.kt)("p",null,"Removes the character from a player, with the option to keep the player as the owner of the object"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveCharacter(INetworkPlayer player, bool keepAuthority = false)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"keepAuthority"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"destroycharacterinetworkplayer-boolean"},"DestroyCharacter(INetworkPlayer, Boolean)"),(0,n.kt)("p",null,"Removes and destroys the character from a player"),(0,n.kt)("h5",{id:"declaration-8"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void DestroyCharacter(INetworkPlayer player, bool destroyServerObject = true)\n")),(0,n.kt)("h5",{id:"parameters-5"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"destroyServerObject"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"spawnnetworkidentity-int32-inetworkplayer"},"Spawn(NetworkIdentity, Int32, INetworkPlayer)"),(0,n.kt)("p",null,"Assigns prefabHash to the identity and then spawns it with owner"),(0,n.kt)("p",null," can only be set on an identity if the current value is Empty"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre"},"This method is useful if you are creating network objects at runtime and both server and client know what to set on an object\n")),(0,n.kt)("h5",{id:"declaration-9"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Spawn(NetworkIdentity identity, int prefabHash, INetworkPlayer owner = null)\n")),(0,n.kt)("h5",{id:"parameters-6"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"identity"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"prefabHash"),(0,n.kt)("td",{parentName:"tr",align:null},"The prefabHash of the object to spawn. Used for custom spawn handlers.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"owner"),(0,n.kt)("td",{parentName:"tr",align:null},"The connection that has authority over the object")))),(0,n.kt)("h4",{id:"spawnnetworkidentity-inetworkplayer"},"Spawn(NetworkIdentity, INetworkPlayer)"),(0,n.kt)("p",null,"Spawns the identity and keeping owner as "),(0,n.kt)("h5",{id:"declaration-10"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Spawn(NetworkIdentity identity, INetworkPlayer owner)\n")),(0,n.kt)("h5",{id:"parameters-7"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"identity"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"owner"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"spawnnetworkidentity"},"Spawn(NetworkIdentity)"),(0,n.kt)("p",null,"Spawns the identity and assigns owner to be it","'","s owner"),(0,n.kt)("h5",{id:"declaration-11"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Spawn(NetworkIdentity identity)\n")),(0,n.kt)("h5",{id:"parameters-8"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"identity"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"destroygameobject-boolean"},"Destroy(GameObject, Boolean)"),(0,n.kt)("p",null,"Destroys this object and corresponding objects on all clients.\nGame object to destroy.\nSets if server object will also be destroyed"),(0,n.kt)("h5",{id:"declaration-12"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Destroy(GameObject gameObject, bool destroyServerObject = true)\n")),(0,n.kt)("h5",{id:"parameters-9"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"GameObject"),(0,n.kt)("td",{parentName:"tr",align:null},"gameObject"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"destroyServerObject"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"destroynetworkidentity-boolean"},"Destroy(NetworkIdentity, Boolean)"),(0,n.kt)("p",null,"Destroys this object and corresponding objects on all clients.\nGame object to destroy.\nSets if server object will also be destroyed"),(0,n.kt)("h5",{id:"declaration-13"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Destroy(NetworkIdentity identity, bool destroyServerObject = true)\n")),(0,n.kt)("h5",{id:"parameters-10"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"identity"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"destroyServerObject"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"spawnsceneobjects"},"SpawnSceneObjects()"),(0,n.kt)("p",null,"This causes NetworkIdentity objects in a scene to be spawned on a server."),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre"},"Calling SpawnObjects() causes all scene objects to be spawned.\nIt is like calling Spawn() for each of them.\n")),(0,n.kt)("h5",{id:"declaration-14"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SpawnSceneObjects()\n")),(0,n.kt)("h4",{id:"spawnvisibleobjectsinetworkplayer"},"SpawnVisibleObjects(INetworkPlayer)"),(0,n.kt)("p",null,"Sends spawn message for scene objects and other visible objects to the given player if it has a character"),(0,n.kt)("p",null,"If there is a then this will be called after the client finishes loading the scene and sends "),(0,n.kt)("h5",{id:"declaration-15"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SpawnVisibleObjects(INetworkPlayer player)\n")),(0,n.kt)("h5",{id:"parameters-11"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"The player to spawn objects for")))),(0,n.kt)("h4",{id:"spawnvisibleobjectsinetworkplayer-boolean"},"SpawnVisibleObjects(INetworkPlayer, Boolean)"),(0,n.kt)("p",null,"Sends spawn message for scene objects and other visible objects to the given player if it has a character"),(0,n.kt)("h5",{id:"declaration-16"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SpawnVisibleObjects(INetworkPlayer player, bool ignoreHasCharacter)\n")),(0,n.kt)("h5",{id:"parameters-12"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"The player to spawn objects for")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"ignoreHasCharacter"),(0,n.kt)("td",{parentName:"tr",align:null},"If true will spawn visibile objects even if player does not have a spawned character yet")))),(0,n.kt)("h4",{id:"spawnvisibleobjectsinetworkplayer-networkidentity"},"SpawnVisibleObjects(INetworkPlayer, NetworkIdentity)"),(0,n.kt)("p",null,"Sends spawn message for scene objects and other visible objects to the given player if it has a character"),(0,n.kt)("h5",{id:"declaration-17"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SpawnVisibleObjects(INetworkPlayer player, NetworkIdentity skip)\n")),(0,n.kt)("h5",{id:"parameters-13"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"The player to spawn objects for")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"skip"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"spawnvisibleobjectsinetworkplayer-boolean-networkidentity"},"SpawnVisibleObjects(INetworkPlayer, Boolean, NetworkIdentity)"),(0,n.kt)("p",null,"Sends spawn message for scene objects and other visible objects to the given player if it has a character"),(0,n.kt)("h5",{id:"declaration-18"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SpawnVisibleObjects(INetworkPlayer player, bool ignoreHasCharacter, NetworkIdentity skip)\n")),(0,n.kt)("h5",{id:"parameters-14"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"The player to spawn objects for")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"ignoreHasCharacter"),(0,n.kt)("td",{parentName:"tr",align:null},"If true will spawn visibile objects even if player does not have a spawned character yet")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"skip"),(0,n.kt)("td",{parentName:"tr",align:null},"NetworkIdentity to skip when spawning. Can be null")))),(0,n.kt)("h4",{id:"spawnvisibleobjectsinetworkplayer-boolean-hashsetnetworkidentity"},"SpawnVisibleObjects(INetworkPlayer, Boolean, HashSet","<","NetworkIdentity",">",")"),(0,n.kt)("p",null,"Sends spawn message for scene objects and other visible objects to the given player if it has a character"),(0,n.kt)("h5",{id:"declaration-19"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SpawnVisibleObjects(INetworkPlayer player, bool ignoreHasCharacter, HashSet skip)\n")),(0,n.kt)("h5",{id:"parameters-15"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"The player to spawn objects for")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"ignoreHasCharacter"),(0,n.kt)("td",{parentName:"tr",align:null},"If true will spawn visibile objects even if player does not have a spawned character yet")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.HashSet","<","Mirage.NetworkIdentity",">"),(0,n.kt)("td",{parentName:"tr",align:null},"skip"),(0,n.kt)("td",{parentName:"tr",align:null},"NetworkIdentity to skip when spawning. Can be null")))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0d72b43e.6d09af10.js b/assets/js/0d72b43e.6d09af10.js new file mode 100644 index 00000000000..7f92d56e999 --- /dev/null +++ b/assets/js/0d72b43e.6d09af10.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3722],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),s=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},d=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),m=s(r),u=n,y=m["".concat(c,".").concat(u)]||m[u]||p[u]||i;return r?a.createElement(y,o(o({ref:t},d),{},{components:r})):a.createElement(y,o({ref:t},d))}));function u(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:n,o[1]=l;for(var s=2;s{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>s});var a=r(87462),n=(r(67294),r(3905));const i={id:"IDataHandler",title:"IDataHandler"},o="Interface IDataHandler",l={unversionedId:"reference/Mirage.SocketLayer/IDataHandler",id:"reference/Mirage.SocketLayer/IDataHandler",title:"IDataHandler",description:"Handles data from SocketLayer",source:"@site/docs/reference/Mirage.SocketLayer/IDataHandler.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/IDataHandler",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IDataHandler",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/IDataHandler.md",tags:[],version:"current",frontMatter:{id:"IDataHandler",title:"IDataHandler"},sidebar:"api",previous:{title:"IConnection",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IConnection"},next:{title:"IEndPoint",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IEndPoint"}},c={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"ReceiveMessage(IConnection, ArraySegment<Byte>)",id:"receivemessageiconnection-arraysegmentbyte",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5}],d={toc:s};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"interface-idatahandler"},"Interface IDataHandler"),(0,n.kt)("p",null,"Handles data from SocketLayer\nA high level script should implement this interface give it to Peer when it is created"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IDataHandler\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"receivemessageiconnection-arraysegmentbyte"},"ReceiveMessage(IConnection, ArraySegment","<","Byte",">",")"),(0,n.kt)("p",null,"Receives a new Packet from low level"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void ReceiveMessage(IConnection connection, ArraySegment message)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IConnection"),(0,n.kt)("td",{parentName:"tr",align:null},"connection"),(0,n.kt)("td",{parentName:"tr",align:null},"connection that sent data")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,n.kt)("td",{parentName:"tr",align:null},"message"),(0,n.kt)("td",{parentName:"tr",align:null},"Single message received by peer")))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0d8d80bc.15b56fce.js b/assets/js/0d8d80bc.15b56fce.js new file mode 100644 index 00000000000..a951c070cb9 --- /dev/null +++ b/assets/js/0d8d80bc.15b56fce.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9899],{3905:(e,r,t)=>{t.d(r,{Zo:()=>l,kt:()=>g});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var r=1;r=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var s=a.createContext({}),d=function(e){var r=a.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},l=function(e){var r=d(e.components);return a.createElement(s.Provider,{value:r},e.children)},p={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},u=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,c=e.originalType,s=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),u=d(t),g=n,f=u["".concat(s,".").concat(g)]||u[g]||p[g]||c;return t?a.createElement(f,o(o({ref:r},l),{},{components:t})):a.createElement(f,o({ref:r},l))}));function g(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var c=t.length,o=new Array(c);o[0]=u;var i={};for(var s in r)hasOwnProperty.call(r,s)&&(i[s]=r[s]);i.originalType=e,i.mdxType="string"==typeof e?e:n,o[1]=i;for(var d=2;d{t.r(r),t.d(r,{assets:()=>s,contentTitle:()=>o,default:()=>p,frontMatter:()=>c,metadata:()=>i,toc:()=>d});var a=t(87462),n=(t(67294),t(3905));const c={id:"AddCharacterMessage",title:"AddCharacterMessage"},o="Struct AddCharacterMessage",i={unversionedId:"reference/Mirage/AddCharacterMessage",id:"reference/Mirage/AddCharacterMessage",title:"AddCharacterMessage",description:"Syntax",source:"@site/docs/reference/Mirage/AddCharacterMessage.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/AddCharacterMessage",permalink:"/Mirage/docs/reference/Mirage/AddCharacterMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/AddCharacterMessage.md",tags:[],version:"current",frontMatter:{id:"AddCharacterMessage",title:"AddCharacterMessage"},sidebar:"api",previous:{title:"Mirage",permalink:"/Mirage/docs/reference/Mirage/"},next:{title:"AuthorityChanged",permalink:"/Mirage/docs/reference/Mirage/AuthorityChanged"}},s={},d=[{value:"Syntax",id:"syntax",level:5}],l={toc:d};function p(e){let{components:r,...t}=e;return(0,n.kt)("wrapper",(0,a.Z)({},l,t,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"struct-addcharactermessage"},"Struct AddCharacterMessage"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public struct AddCharacterMessage\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0db2af96.7cc2e655.js b/assets/js/0db2af96.7cc2e655.js new file mode 100644 index 00000000000..608ba102a8d --- /dev/null +++ b/assets/js/0db2af96.7cc2e655.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6855],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>k});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var d=a.createContext({}),s=function(e){var t=a.useContext(d),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},c=function(e){var t=s(e.components);return a.createElement(d.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,i=e.mdxType,n=e.originalType,d=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),u=s(r),k=i,m=u["".concat(d,".").concat(k)]||u[k]||p[k]||n;return r?a.createElement(m,l(l({ref:t},c),{},{components:r})):a.createElement(m,l({ref:t},c))}));function k(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var n=r.length,l=new Array(n);l[0]=u;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:i,l[1]=o;for(var s=2;s{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>p,frontMatter:()=>n,metadata:()=>o,toc:()=>s});var a=r(87462),i=(r(67294),r(3905));const n={id:"PooledNetworkWriter",title:"PooledNetworkWriter"},l="Class PooledNetworkWriter",o={unversionedId:"reference/Mirage.Serialization/PooledNetworkWriter",id:"reference/Mirage.Serialization/PooledNetworkWriter",title:"PooledNetworkWriter",description:"NetworkWriter to be used with",source:"@site/docs/reference/Mirage.Serialization/PooledNetworkWriter.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/PooledNetworkWriter",permalink:"/Mirage/docs/reference/Mirage.Serialization/PooledNetworkWriter",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/PooledNetworkWriter.md",tags:[],version:"current",frontMatter:{id:"PooledNetworkWriter",title:"PooledNetworkWriter"},sidebar:"api",previous:{title:"PooledNetworkReader",permalink:"/Mirage/docs/reference/Mirage.Serialization/PooledNetworkReader"},next:{title:"QuaternionPackAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/QuaternionPackAttribute"}},d={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"CreateNew(Int32, Pool<PooledNetworkWriter>)",id:"createnewint32-poolpoolednetworkwriter",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Release()",id:"release",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"IDisposable.Dispose()",id:"idisposabledispose",level:4},{value:"Declaration",id:"declaration-2",level:5}],c={toc:s};function p(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,a.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-poolednetworkwriter"},"Class PooledNetworkWriter"),(0,i.kt)("p",null,"NetworkWriter to be used with "),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,i.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Serialization.NetworkWriter")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkWriter.ByteCapacity"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkWriter.ByteLength"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkWriter.BitPosition"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkWriter.Reset()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkWriter.ToArray()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkWriter.ToArraySegment()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkWriter.PadAndCopy","<","T",">","(T)"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkWriter.CopyFromWriter(Mirage.Serialization.NetworkWriter)")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class PooledNetworkWriter : NetworkWriter, IDisposable\n")),(0,i.kt)("h3",{id:"methods"},"Methods"),(0,i.kt)("h4",{id:"createnewint32-poolpoolednetworkwriter"},"CreateNew(Int32, Pool","<","PooledNetworkWriter",">",")"),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public static PooledNetworkWriter CreateNew(int bufferSize, Pool pool)\n")),(0,i.kt)("h5",{id:"parameters"},"Parameters"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Name"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,i.kt)("td",{parentName:"tr",align:null},"bufferSize"),(0,i.kt)("td",{parentName:"tr",align:null})),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.Pool","<","Mirage.Serialization.PooledNetworkWriter",">"),(0,i.kt)("td",{parentName:"tr",align:null},"pool"),(0,i.kt)("td",{parentName:"tr",align:null})))),(0,i.kt)("h5",{id:"returns"},"Returns"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.PooledNetworkWriter"),(0,i.kt)("td",{parentName:"tr",align:null})))),(0,i.kt)("h4",{id:"release"},"Release()"),(0,i.kt)("p",null,"Puts object back in Pool"),(0,i.kt)("h5",{id:"declaration-1"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public void Release()\n")),(0,i.kt)("h4",{id:"idisposabledispose"},"IDisposable.Dispose()"),(0,i.kt)("h5",{id:"declaration-2"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"void IDisposable.Dispose()\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0eb168b6.485bc196.js b/assets/js/0eb168b6.485bc196.js new file mode 100644 index 00000000000..b521777a301 --- /dev/null +++ b/assets/js/0eb168b6.485bc196.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2359],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var o=a.createContext({}),s=function(e){var t=a.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=s(e.components);return a.createElement(o.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},v=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,l=e.originalType,o=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),v=s(n),m=r,u=v["".concat(o,".").concat(m)]||v[m]||c[m]||l;return n?a.createElement(u,i(i({ref:t},p),{},{components:n})):a.createElement(u,i({ref:t},p))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=n.length,i=new Array(l);i[0]=v;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d.mdxType="string"==typeof e?e:r,i[1]=d;for(var s=2;s{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>d,toc:()=>s});var a=n(87462),r=(n(67294),n(3905));const l={id:"AddLateEventUnity-3",title:"AddLateEventUnity"},i="Class AddLateEventUnity<T0, T1, TEvent>",d={unversionedId:"reference/Mirage.Events/AddLateEventUnity-3",id:"reference/Mirage.Events/AddLateEventUnity-3",title:"AddLateEventUnity",description:"Version of with 2 arguments",source:"@site/docs/reference/Mirage.Events/AddLateEventUnity-3.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/AddLateEventUnity-3",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-3",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/AddLateEventUnity-3.md",tags:[],version:"current",frontMatter:{id:"AddLateEventUnity-3",title:"AddLateEventUnity"},sidebar:"api",previous:{title:"AddLateEventUnity",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-2"},next:{title:"AddLateEventUnity",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity"}},o={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"AddListener(UnityAction<T0, T1>)",id:"addlistenerunityactiont0-t1",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RemoveListener(UnityAction<T0, T1>)",id:"removelistenerunityactiont0-t1",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Invoke(T0, T1)",id:"invoket0-t1",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"RemoveAllListeners()",id:"removealllisteners",level:4},{value:"Declaration",id:"declaration-3",level:5}],p={toc:s};function c(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-addlateeventunityt0-t1-tevent"},"Class AddLateEventUnity","<","T0, T1, TEvent",">"),(0,r.kt)("p",null,"Version of with 2 arguments\nCreate a non-generic class inheriting from this to use in inspector. Same rules as "),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,r.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Events.AddLateEventBase"),(0,r.kt)("div",{class:"level",style:{"--data-index":2}},"Mirage.Events.AddLateEvent")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show"),(0,r.kt)("p",null,"Mirage.Events.AddLateEvent","<","T0, T1",">","._arg0"),(0,r.kt)("p",null,"Mirage.Events.AddLateEvent","<","T0, T1",">","._arg1"),(0,r.kt)("p",null,"Mirage.Events.AddLateEvent","<","T0, T1",">",".AddListener(System.Action","<","T0, T1",">",")"),(0,r.kt)("p",null,"Mirage.Events.AddLateEvent","<","T0, T1",">",".RemoveListener(System.Action","<","T0, T1",">",")"),(0,r.kt)("p",null,"Mirage.Events.AddLateEvent","<","T0, T1",">",".Invoke(T0, T1)"),(0,r.kt)("p",null,"Mirage.Events.AddLateEventBase.HasInvoked"),(0,r.kt)("p",null,"Mirage.Events.AddLateEventBase.MarkInvoked()"),(0,r.kt)("p",null,"Mirage.Events.AddLateEventBase.Reset()")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic abstract class AddLateEventUnity : AddLateEvent, IAddLateEventUnity, IAddLateEvent where TEvent : UnityEvent, new()\n")),(0,r.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T0"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T1"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TEvent"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"addlistenerunityactiont0-t1"},"AddListener(UnityAction","<","T0, T1",">",")"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void AddListener(UnityAction handler)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"UnityAction","<","T0, T1",">"),(0,r.kt)("td",{parentName:"tr",align:null},"handler"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"removelistenerunityactiont0-t1"},"RemoveListener(UnityAction","<","T0, T1",">",")"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveListener(UnityAction handler)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"UnityAction","<","T0, T1",">"),(0,r.kt)("td",{parentName:"tr",align:null},"handler"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"invoket0-t1"},"Invoke(T0, T1)"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public override void Invoke(T0 arg0, T1 arg1)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T0"),(0,r.kt)("td",{parentName:"tr",align:null},"arg0"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T1"),(0,r.kt)("td",{parentName:"tr",align:null},"arg1"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"removealllisteners"},"RemoveAllListeners()"),(0,r.kt)("p",null,"Remove all non-persisent (ie created from script) listeners from the event."),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveAllListeners()\n")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0f873b64.6a936e17.js b/assets/js/0f873b64.6a936e17.js new file mode 100644 index 00000000000..32a6022bd2b --- /dev/null +++ b/assets/js/0f873b64.6a936e17.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[264],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>u});var r=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var d=r.createContext({}),s=function(e){var t=r.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=s(e.components);return r.createElement(d.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},k=r.forwardRef((function(e,t){var a=e.components,l=e.mdxType,n=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),k=s(a),u=l,m=k["".concat(d,".").concat(u)]||k[u]||c[u]||n;return a?r.createElement(m,i(i({ref:t},p),{},{components:a})):r.createElement(m,i({ref:t},p))}));function u(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var n=a.length,i=new Array(n);i[0]=k;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:l,i[1]=o;for(var s=2;s{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>c,frontMatter:()=>n,metadata:()=>o,toc:()=>s});var r=a(87462),l=(a(67294),a(3905));const n={id:"PooledNetworkReader",title:"PooledNetworkReader"},i="Class PooledNetworkReader",o={unversionedId:"reference/Mirage.Serialization/PooledNetworkReader",id:"reference/Mirage.Serialization/PooledNetworkReader",title:"PooledNetworkReader",description:"NetworkReader to be used with",source:"@site/docs/reference/Mirage.Serialization/PooledNetworkReader.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/PooledNetworkReader",permalink:"/Mirage/docs/reference/Mirage.Serialization/PooledNetworkReader",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/PooledNetworkReader.md",tags:[],version:"current",frontMatter:{id:"PooledNetworkReader",title:"PooledNetworkReader"},sidebar:"api",previous:{title:"PackedExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/PackedExtensions"},next:{title:"PooledNetworkWriter",permalink:"/Mirage/docs/reference/Mirage.Serialization/PooledNetworkWriter"}},d={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"CreateNew(Pool<PooledNetworkReader>)",id:"createnewpoolpoolednetworkreader",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Release()",id:"release",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"IDisposable.Dispose()",id:"idisposabledispose",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Dispose(Boolean)",id:"disposeboolean",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-1",level:5}],p={toc:s};function c(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-poolednetworkreader"},"Class PooledNetworkReader"),(0,l.kt)("p",null,"NetworkReader to be used with "),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,l.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Serialization.NetworkReader"),(0,l.kt)("div",{class:"level",style:{"--data-index":2}},"Mirage.Serialization.MirageNetworkReader")),(0,l.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Show"),(0,l.kt)("p",null,"Mirage.Serialization.MirageNetworkReader.ObjectLocator"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.BitLength"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.BitPosition"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.BytePosition"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.Dispose()"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.CanRead()"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadBoolean()"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadBooleanAsUlong()"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadSByte()"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadByte()"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadInt16()"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadUInt16()"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadInt32()"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadUInt32()"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadInt64()"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadUInt64()"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadSingle()"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadDouble()"),(0,l.kt)("p",null,"Mirage.Serialization.NetworkReader.PadAndCopy","<","T",">","(T)")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class PooledNetworkReader : MirageNetworkReader, IDisposable\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"createnewpoolpoolednetworkreader"},"CreateNew(Pool","<","PooledNetworkReader",">",")"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static PooledNetworkReader CreateNew(Pool pool)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.Pool","<","Mirage.Serialization.PooledNetworkReader",">"),(0,l.kt)("td",{parentName:"tr",align:null},"pool"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.PooledNetworkReader"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"release"},"Release()"),(0,l.kt)("p",null,"Puts object back in Pool"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Release()\n")),(0,l.kt)("h4",{id:"idisposabledispose"},"IDisposable.Dispose()"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"void IDisposable.Dispose()\n")),(0,l.kt)("h4",{id:"disposeboolean"},"Dispose(Boolean)"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"protected override void Dispose(bool disposing)\n")),(0,l.kt)("h5",{id:"parameters-1"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"disposing"),(0,l.kt)("td",{parentName:"tr",align:null})))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0f978974.df454949.js b/assets/js/0f978974.df454949.js new file mode 100644 index 00000000000..fb22ea6a8b2 --- /dev/null +++ b/assets/js/0f978974.df454949.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4591],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>d});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),s=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=s(e.components);return n.createElement(o.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},c=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,o=e.parentName,p=g(e,["components","mdxType","originalType","parentName"]),c=s(a),d=r,u=c["".concat(o,".").concat(d)]||c[d]||m[d]||l;return a?n.createElement(u,i(i({ref:t},p),{},{components:a})):n.createElement(u,i({ref:t},p))}));function d(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=c;var g={};for(var o in t)hasOwnProperty.call(t,o)&&(g[o]=t[o]);g.originalType=e,g.mdxType="string"==typeof e?e:r,i[1]=g;for(var s=2;s{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>g,toc:()=>s});var n=a(87462),r=(a(67294),a(3905));const l={id:"LogSettingsSO.LoggerSettings",title:"LogSettingsSO.LoggerSettings"},i="Class LogSettingsSO.LoggerSettings",g={unversionedId:"reference/Mirage.Logging/LogSettingsSO.LoggerSettings",id:"reference/Mirage.Logging/LogSettingsSO.LoggerSettings",title:"LogSettingsSO.LoggerSettings",description:"Inheritance",source:"@site/docs/reference/Mirage.Logging/LogSettingsSO.LoggerSettings.md",sourceDirName:"reference/Mirage.Logging",slug:"/reference/Mirage.Logging/LogSettingsSO.LoggerSettings",permalink:"/Mirage/docs/reference/Mirage.Logging/LogSettingsSO.LoggerSettings",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Logging/LogSettingsSO.LoggerSettings.md",tags:[],version:"current",frontMatter:{id:"LogSettingsSO.LoggerSettings",title:"LogSettingsSO.LoggerSettings"},sidebar:"api",previous:{title:"LogSettingsExtensions",permalink:"/Mirage/docs/reference/Mirage.Logging/LogSettingsExtensions"},next:{title:"LogSettingsSO",permalink:"/Mirage/docs/reference/Mirage.Logging/LogSettingsSO"}},o={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"LoggerSettings(String, String, LogType)",id:"loggersettingsstring-string-logtype",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"LoggerSettings(String, LogType)",id:"loggersettingsstring-logtype",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Fields",id:"fields",level:3},{value:"Name",id:"name",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Namespace",id:"namespace",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"logLevel",id:"loglevel",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Properties",id:"properties",level:3},{value:"FullName",id:"fullname",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Methods",id:"methods",level:3},{value:"GetNameAndNameSpaceFromFullname(String)",id:"getnameandnamespacefromfullnamestring",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns",level:5}],p={toc:s};function m(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-logsettingssologgersettings"},"Class LogSettingsSO.LoggerSettings"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class LoggerSettings\n")),(0,r.kt)("h3",{id:"constructors"},"Constructors"),(0,r.kt)("h4",{id:"loggersettingsstring-string-logtype"},"LoggerSettings(String, String, LogType)"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public LoggerSettings(string name, string namespace, LogType level)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null},"name"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null},"namespace"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"LogType"),(0,r.kt)("td",{parentName:"tr",align:null},"level"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"loggersettingsstring-logtype"},"LoggerSettings(String, LogType)"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public LoggerSettings(string fullname, LogType level)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null},"fullname"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"LogType"),(0,r.kt)("td",{parentName:"tr",align:null},"level"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"name"},"Name"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public string Name\n")),(0,r.kt)("h4",{id:"namespace"},"Namespace"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public string Namespace\n")),(0,r.kt)("h4",{id:"loglevel"},"logLevel"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public LogType logLevel\n")),(0,r.kt)("h3",{id:"properties"},"Properties"),(0,r.kt)("h4",{id:"fullname"},"FullName"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public string FullName { get; }\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"getnameandnamespacefromfullnamestring"},"GetNameAndNameSpaceFromFullname(String)"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static (string name, string namespace ) GetNameAndNameSpaceFromFullname(string fullname)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null},"fullname"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.ValueTuple{System.String,System.String}"),(0,r.kt)("td",{parentName:"tr",align:null})))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0fc532d3.8a7878ff.js b/assets/js/0fc532d3.8a7878ff.js new file mode 100644 index 00000000000..350b20f609f --- /dev/null +++ b/assets/js/0fc532d3.8a7878ff.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9203],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),o=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},u=function(e){var t=o(e.components);return r.createElement(c.Provider,{value:t},e.children)},k={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),d=o(a),m=n,s=d["".concat(c,".").concat(m)]||d[m]||k[m]||l;return a?r.createElement(s,i(i({ref:t},u),{},{components:a})):r.createElement(s,i({ref:t},u))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=d;var p={};for(var c in t)hasOwnProperty.call(t,c)&&(p[c]=t[c]);p.originalType=e,p.mdxType="string"==typeof e?e:n,i[1]=p;for(var o=2;o{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>k,frontMatter:()=>l,metadata:()=>p,toc:()=>o});var r=a(87462),n=(a(67294),a(3905));const l={id:"AnglePacker",title:"AnglePacker"},i="Class AnglePacker",p={unversionedId:"reference/Mirage.Serialization/AnglePacker",id:"reference/Mirage.Serialization/AnglePacker",title:"AnglePacker",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/AnglePacker.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/AnglePacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/AnglePacker",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/AnglePacker.md",tags:[],version:"current",frontMatter:{id:"AnglePacker",title:"AnglePacker"},sidebar:"api",previous:{title:"Mirage.Serialization",permalink:"/Mirage/docs/reference/Mirage.Serialization/"},next:{title:"BitCountAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/BitCountAttribute"}},c={},o=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"AnglePacker(Single)",id:"anglepackersingle",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"Pack(Single)",id:"packsingle",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"Pack(NetworkWriter, Single)",id:"packnetworkwriter-single",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Unpack(UInt32)",id:"unpackuint32",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Unpack(NetworkReader)",id:"unpacknetworkreader",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns-2",level:5}],u={toc:o};function k(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-anglepacker"},"Class AnglePacker"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class AnglePacker\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"anglepackersingle"},"AnglePacker(Single)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public AnglePacker(float lowestPrecision)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"lowestPrecision"),(0,n.kt)("td",{parentName:"tr",align:null},"lowest precision, actual precision will be caculated from number of bits used")))),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"packsingle"},"Pack(Single)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public uint Pack(float value)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"packnetworkwriter-single"},"Pack(NetworkWriter, Single)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Pack(NetworkWriter writer, float value)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpackuint32"},"Unpack(UInt32)"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public float Unpack(uint value)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpacknetworkreader"},"Unpack(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public float Unpack(NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-2"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null})))))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1245.b5dc6f8d.js b/assets/js/1245.b5dc6f8d.js new file mode 100644 index 00000000000..09157ec9f43 --- /dev/null +++ b/assets/js/1245.b5dc6f8d.js @@ -0,0 +1 @@ +(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1245],{24130:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>v});var i=s(5485),l=s.n(i);const n=s(31336);n.tokenizer.separator=/[\s\-/]+/;const a=class{constructor(e,t){this.searchDocs=e,this.lunrIndex=n.Index.load(t)}getLunrResult(e){return this.lunrIndex.query((function(t){const s=n.tokenizer(e);t.term(s,{boost:10}),t.term(s,{wildcard:n.Query.wildcard.TRAILING})}))}getHit(e,t,s){return{hierarchy:{lvl0:e.pageTitle||e.title,lvl1:0===e.type?null:e.title},url:e.url,_snippetResult:s?{content:{value:s,matchLevel:"full"}}:null,_highlightResult:{hierarchy:{lvl0:{value:0===e.type?t||e.title:e.pageTitle},lvl1:0===e.type?null:{value:t||e.title}}}}}getTitleHit(e,t,s){const i=t[0],l=t[0]+s;let n=e.title.substring(0,i)+''+e.title.substring(i,l)+""+e.title.substring(l,e.title.length);return this.getHit(e,n)}getKeywordHit(e,t,s){const i=t[0],l=t[0]+s;let n=e.title+"
Keywords: "+e.keywords.substring(0,i)+''+e.keywords.substring(i,l)+""+e.keywords.substring(l,e.keywords.length)+"";return this.getHit(e,n)}getContentHit(e,t){const s=t[0],i=t[0]+t[1];let l=s,n=i,a=!0,r=!0;for(let c=0;c<3;c++){const t=e.content.lastIndexOf(" ",l-2),s=e.content.lastIndexOf(".",l-2);if(s>0&&s>t){l=s+1,a=!1;break}if(t<0){l=0,a=!1;break}l=t+1}for(let c=0;c<10;c++){const t=e.content.indexOf(" ",n+1),s=e.content.indexOf(".",n+1);if(s>0&&s",o+=e.content.substring(i,n),r&&(o+=" ..."),this.getHit(e,null,o)}search(e){return new Promise(((t,s)=>{const i=this.getLunrResult(e),l=[];i.length>5&&(i.length=5),this.titleHitsRes=[],this.contentHitsRes=[],i.forEach((t=>{const s=this.searchDocs[t.ref],{metadata:i}=t.matchData;for(let n in i)if(i[n].title){if(!this.titleHitsRes.includes(t.ref)){const a=i[n].title.position[0];l.push(this.getTitleHit(s,a,e.length)),this.titleHitsRes.push(t.ref)}}else if(i[n].content){const e=i[n].content.position[0];l.push(this.getContentHit(s,e))}else if(i[n].keywords){const a=i[n].keywords.position[0];l.push(this.getKeywordHit(s,a,e.length)),this.titleHitsRes.push(t.ref)}})),l.length>5&&(l.length=5),t(l)}))}};var r=s(71639),o=s.n(r);const c="algolia-docsearch",h=c+"-suggestion",u={suggestion:'\n \n
\n {{{category}}}\n
\n
\n
\n {{{subcategory}}}\n
\n {{#isTextOrSubcategoryNonEmpty}}\n
\n
{{{subcategory}}}
\n
{{{title}}}
\n {{#text}}
{{{text}}}
{{/text}}\n
\n {{/isTextOrSubcategoryNonEmpty}}\n
\n
\n ',suggestionSimple:'\n
\n
\n {{^isLvl0}}\n {{{category}}}\n {{^isLvl1}}\n {{^isLvl1EmptyOrDuplicate}}\n \n {{{subcategory}}}\n \n {{/isLvl1EmptyOrDuplicate}}\n {{/isLvl1}}\n {{/isLvl0}}\n
\n {{#isLvl2}}\n {{{title}}}\n {{/isLvl2}}\n {{#isLvl1}}\n {{{subcategory}}}\n {{/isLvl1}}\n {{#isLvl0}}\n {{{category}}}\n {{/isLvl0}}\n
\n
\n
\n {{#text}}\n
\n
{{{text}}}
\n
\n {{/text}}\n
\n
\n ',footer:'\n \n ',empty:'\n
\n
\n
\n
\n
\n No results found for query "{{query}}"\n
\n
\n
\n
\n
\n ',searchBox:'\n \n\n\n '};var g=s(7939),d=s.n(g);const p={mergeKeyWithParent(e,t){if(void 0===e[t])return e;if("object"!=typeof e[t])return e;const s=d().extend({},e,e[t]);return delete s[t],s},groupBy(e,t){const s={};return d().each(e,((e,i)=>{if(void 0===i[t])throw new Error("[groupBy]: Object has no key "+t);let l=i[t];"string"==typeof l&&(l=l.toLowerCase()),Object.prototype.hasOwnProperty.call(s,l)||(s[l]=[]),s[l].push(i)})),s},values:e=>Object.keys(e).map((t=>e[t])),flatten(e){const t=[];return e.forEach((e=>{Array.isArray(e)?e.forEach((e=>{t.push(e)})):t.push(e)})),t},flattenAndFlagFirst(e,t){const s=this.values(e).map((e=>e.map(((e,s)=>(e[t]=0===s,e)))));return this.flatten(s)},compact(e){const t=[];return e.forEach((e=>{e&&t.push(e)})),t},getHighlightedValue:(e,t)=>e._highlightResult&&e._highlightResult.hierarchy_camel&&e._highlightResult.hierarchy_camel[t]&&e._highlightResult.hierarchy_camel[t].matchLevel&&"none"!==e._highlightResult.hierarchy_camel[t].matchLevel&&e._highlightResult.hierarchy_camel[t].value?e._highlightResult.hierarchy_camel[t].value:e._highlightResult&&e._highlightResult&&e._highlightResult[t]&&e._highlightResult[t].value?e._highlightResult[t].value:e[t],getSnippetedValue(e,t){if(!e._snippetResult||!e._snippetResult[t]||!e._snippetResult[t].value)return e[t];let s=e._snippetResult[t].value;return s[0]!==s[0].toUpperCase()&&(s="\u2026"+s),-1===[".","!","?"].indexOf(s[s.length-1])&&(s+="\u2026"),s},deepClone:e=>JSON.parse(JSON.stringify(e))};class y{constructor(e){let{searchDocs:t,searchIndex:s,inputSelector:i,debug:l=!1,queryDataCallback:n=null,autocompleteOptions:r={debug:!1,hint:!1,autoselect:!0},transformData:c=!1,queryHook:h=!1,handleSelected:g=!1,enhancedSearchInput:p=!1,layout:v="collumns"}=e;this.input=y.getInputFromSelector(i),this.queryDataCallback=n||null;const m=!(!r||!r.debug)&&r.debug;r.debug=l||m,this.autocompleteOptions=r,this.autocompleteOptions.cssClasses=this.autocompleteOptions.cssClasses||{},this.autocompleteOptions.cssClasses.prefix=this.autocompleteOptions.cssClasses.prefix||"ds";const b=this.input&&"function"==typeof this.input.attr&&this.input.attr("aria-label");this.autocompleteOptions.ariaLabel=this.autocompleteOptions.ariaLabel||b||"search input",this.isSimpleLayout="simple"===v,this.client=new a(t,s),p&&(this.input=y.injectSearchBox(this.input)),this.autocomplete=o()(this.input,r,[{source:this.getAutocompleteSource(c,h),templates:{suggestion:y.getSuggestionTemplate(this.isSimpleLayout),footer:u.footer,empty:y.getEmptyTemplate()}}]);const f=g;this.handleSelected=f||this.handleSelected,f&&d()(".algolia-autocomplete").on("click",".ds-suggestions a",(e=>{e.preventDefault()})),this.autocomplete.on("autocomplete:selected",this.handleSelected.bind(null,this.autocomplete.autocomplete)),this.autocomplete.on("autocomplete:shown",this.handleShown.bind(null,this.input)),p&&y.bindSearchBoxEvent()}static injectSearchBox(e){e.before(u.searchBox);const t=e.prev().prev().find("input");return e.remove(),t}static bindSearchBoxEvent(){d()('.searchbox [type="reset"]').on("click",(function(){d()("input#docsearch").focus(),d()(this).addClass("hide"),o().autocomplete.setVal("")})),d()("input#docsearch").on("keyup",(()=>{const e=document.querySelector("input#docsearch"),t=document.querySelector('.searchbox [type="reset"]');t.className="searchbox__reset",0===e.value.length&&(t.className+=" hide")}))}static getInputFromSelector(e){const t=d()(e).filter("input");return t.length?d()(t[0]):null}getAutocompleteSource(e,t){return(s,i)=>{t&&(s=t(s)||s),this.client.search(s).then((t=>{this.queryDataCallback&&"function"==typeof this.queryDataCallback&&this.queryDataCallback(t),e&&(t=e(t)||t),i(y.formatHits(t))}))}}static formatHits(e){const t=p.deepClone(e).map((e=>(e._highlightResult&&(e._highlightResult=p.mergeKeyWithParent(e._highlightResult,"hierarchy")),p.mergeKeyWithParent(e,"hierarchy"))));let s=p.groupBy(t,"lvl0");return d().each(s,((e,t)=>{const i=p.groupBy(t,"lvl1"),l=p.flattenAndFlagFirst(i,"isSubCategoryHeader");s[e]=l})),s=p.flattenAndFlagFirst(s,"isCategoryHeader"),s.map((e=>{const t=y.formatURL(e),s=p.getHighlightedValue(e,"lvl0"),i=p.getHighlightedValue(e,"lvl1")||s,l=p.compact([p.getHighlightedValue(e,"lvl2")||i,p.getHighlightedValue(e,"lvl3"),p.getHighlightedValue(e,"lvl4"),p.getHighlightedValue(e,"lvl5"),p.getHighlightedValue(e,"lvl6")]).join(''),n=p.getSnippetedValue(e,"content"),a=i&&""!==i||l&&""!==l,r=l&&""!==l&&l!==i,o=!r&&i&&""!==i&&i!==s;return{isLvl0:!o&&!r,isLvl1:o,isLvl2:r,isLvl1EmptyOrDuplicate:!i||""===i||i===s,isCategoryHeader:e.isCategoryHeader,isSubCategoryHeader:e.isSubCategoryHeader,isTextOrSubcategoryNonEmpty:a,category:s,subcategory:i,title:l,text:n,url:t}}))}static formatURL(e){const{url:t,anchor:s}=e;if(t){return-1!==t.indexOf("#")?t:s?e.url+"#"+e.anchor:t}return s?"#"+e.anchor:(console.warn("no anchor nor url for : ",JSON.stringify(e)),null)}static getEmptyTemplate(){return e=>l().compile(u.empty).render(e)}static getSuggestionTemplate(e){const t=e?u.suggestionSimple:u.suggestion,s=l().compile(t);return e=>s.render(e)}handleSelected(e,t,s,i,l){void 0===l&&(l={}),"click"!==l.selectionMethod&&(e.setVal(""),window.location.assign(s.url))}handleShown(e){const t=e.offset().left+e.width()/2;let s=d()(document).width()/2;isNaN(s)&&(s=900);const i=t-s>=0?"algolia-autocomplete-right":"algolia-autocomplete-left",l=t-s<0?"algolia-autocomplete-right":"algolia-autocomplete-left",n=d()(".algolia-autocomplete");n.hasClass(i)||n.addClass(i),n.hasClass(l)&&n.removeClass(l)}}const v=y},15525:()=>{}}]); \ No newline at end of file diff --git a/assets/js/12f66dc8.58ae51a8.js b/assets/js/12f66dc8.58ae51a8.js new file mode 100644 index 00000000000..95607415c7c --- /dev/null +++ b/assets/js/12f66dc8.58ae51a8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1560],{3905:(e,t,a)=>{a.d(t,{Zo:()=>k,kt:()=>s});var n=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var c=n.createContext({}),m=function(e){var t=n.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},k=function(e){var t=m(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},o=n.forwardRef((function(e,t){var a=e.components,l=e.mdxType,r=e.originalType,c=e.parentName,k=d(e,["components","mdxType","originalType","parentName"]),o=m(a),s=l,u=o["".concat(c,".").concat(s)]||o[s]||p[s]||r;return a?n.createElement(u,i(i({ref:t},k),{},{components:a})):n.createElement(u,i({ref:t},k))}));function s(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=a.length,i=new Array(r);i[0]=o;var d={};for(var c in t)hasOwnProperty.call(t,c)&&(d[c]=t[c]);d.originalType=e,d.mdxType="string"==typeof e?e:l,i[1]=d;for(var m=2;m{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>d,toc:()=>m});var n=a(87462),l=(a(67294),a(3905));const r={id:"AckSystem",title:"AckSystem"},i="Class AckSystem",d={unversionedId:"reference/Mirage.SocketLayer/AckSystem",id:"reference/Mirage.SocketLayer/AckSystem",title:"AckSystem",description:"Inheritance",source:"@site/docs/reference/Mirage.SocketLayer/AckSystem.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/AckSystem",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/AckSystem.md",tags:[],version:"current",frontMatter:{id:"AckSystem",title:"AckSystem"},sidebar:"api",previous:{title:"AckSystem.ReliableReceived",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem.ReliableReceived"},next:{title:"ArrayBatch",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ArrayBatch"}},c={},m=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"AckSystem(IRawConnection, Config, Int32, ITime, Pool<ByteBuffer>, ILogger, Metrics)",id:"acksystemirawconnection-config-int32-itime-poolbytebuffer-ilogger-metrics",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"SEQUENCE_HEADER",id:"sequence_header",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"NOTIFY_HEADER_SIZE",id:"notify_header_size",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"RELIABLE_HEADER_SIZE",id:"reliable_header_size",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"ACK_HEADER_SIZE",id:"ack_header_size",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"FRAGMENT_INDEX_SIZE",id:"fragment_index_size",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"MIN_RELIABLE_HEADER_SIZE",id:"min_reliable_header_size",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"MIN_RELIABLE_FRAGMENT_HEADER_SIZE",id:"min_reliable_fragment_header_size",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"SizePerFragment",id:"sizeperfragment",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Methods",id:"methods",level:3},{value:"Dispose()",id:"dispose",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"NextReliablePacket(out AckSystem.ReliableReceived)",id:"nextreliablepacketout-acksystemreliablereceived",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"GetNextFragment()",id:"getnextfragment",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Update()",id:"update",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"SendNotify(Byte[], Int32, Int32)",id:"sendnotifybyte-int32-int32",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-2",level:5},{value:"SendNotify(Byte[], Int32, Int32, INotifyCallBack)",id:"sendnotifybyte-int32-int32-inotifycallback",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"SendReliable(Byte[], Int32, Int32)",id:"sendreliablebyte-int32-int32",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"ReceiveNotify(Byte[], Int32)",id:"receivenotifybyte-int32",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"Returns",id:"returns-3",level:5},{value:"InvalidFragment(Byte[])",id:"invalidfragmentbyte",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"Returns",id:"returns-4",level:5},{value:"ReceiveReliable(Byte[], Int32, Boolean)",id:"receivereliablebyte-int32-boolean",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"ReceiveAck(Byte[])",id:"receiveackbyte",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"Parameters",id:"parameters-8",level:5}],k={toc:m};function p(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,n.Z)({},k,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-acksystem"},"Class AckSystem"),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,l.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Show")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public class AckSystem : IDisposable\n")),(0,l.kt)("h3",{id:"constructors"},"Constructors"),(0,l.kt)("h4",{id:"acksystemirawconnection-config-int32-itime-poolbytebuffer-ilogger-metrics"},"AckSystem(IRawConnection, Config, Int32, ITime, Pool","<","ByteBuffer",">",", ILogger, Metrics)"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public AckSystem(IRawConnection connection, Config config, int maxPacketSize, ITime time, Pool bufferPool, ILogger logger = null, Metrics metrics = null)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IRawConnection"),(0,l.kt)("td",{parentName:"tr",align:null},"connection"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.Config"),(0,l.kt)("td",{parentName:"tr",align:null},"config"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"maxPacketSize"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.ITime"),(0,l.kt)("td",{parentName:"tr",align:null},"time"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.Pool","<","Mirage.SocketLayer.ByteBuffer",">"),(0,l.kt)("td",{parentName:"tr",align:null},"bufferPool"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"ILogger"),(0,l.kt)("td",{parentName:"tr",align:null},"logger"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.Metrics"),(0,l.kt)("td",{parentName:"tr",align:null},"metrics"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h3",{id:"fields"},"Fields"),(0,l.kt)("h4",{id:"sequence_header"},"SEQUENCE_HEADER"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public const int SEQUENCE_HEADER = 13\n")),(0,l.kt)("h4",{id:"notify_header_size"},"NOTIFY_HEADER_SIZE"),(0,l.kt)("p",null,"PacketType, sequence, ack sequence, mask"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public const int NOTIFY_HEADER_SIZE = 13\n")),(0,l.kt)("h4",{id:"reliable_header_size"},"RELIABLE_HEADER_SIZE"),(0,l.kt)("p",null,"PacketType, sequence, ack sequence, mask, order"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public const int RELIABLE_HEADER_SIZE = 15\n")),(0,l.kt)("h4",{id:"ack_header_size"},"ACK_HEADER_SIZE"),(0,l.kt)("p",null,"PacketType, ack sequence, mask"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public const int ACK_HEADER_SIZE = 11\n")),(0,l.kt)("h4",{id:"fragment_index_size"},"FRAGMENT_INDEX_SIZE"),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public const int FRAGMENT_INDEX_SIZE = 1\n")),(0,l.kt)("h4",{id:"min_reliable_header_size"},"MIN_RELIABLE_HEADER_SIZE"),(0,l.kt)("p",null,"Smallest size a header for reliable packet, + 2 bytes per message"),(0,l.kt)("h5",{id:"declaration-6"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public const int MIN_RELIABLE_HEADER_SIZE = 17\n")),(0,l.kt)("h4",{id:"min_reliable_fragment_header_size"},"MIN_RELIABLE_FRAGMENT_HEADER_SIZE"),(0,l.kt)("p",null,"Smallest size a header for reliable packet, + 1 byte for fragment index"),(0,l.kt)("h5",{id:"declaration-7"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public const int MIN_RELIABLE_FRAGMENT_HEADER_SIZE = 16\n")),(0,l.kt)("h4",{id:"sizeperfragment"},"SizePerFragment"),(0,l.kt)("h5",{id:"declaration-8"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly int SizePerFragment\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"dispose"},"Dispose()"),(0,l.kt)("h5",{id:"declaration-9"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Dispose()\n")),(0,l.kt)("h4",{id:"nextreliablepacketout-acksystemreliablereceived"},"NextReliablePacket(out AckSystem.ReliableReceived)"),(0,l.kt)("p",null,"Gets next Reliable packet in order, packet consists for multiple messages\n","[length, message, length, message, ...]"),(0,l.kt)("h5",{id:"declaration-10"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool NextReliablePacket(out AckSystem.ReliableReceived packet)\n")),(0,l.kt)("h5",{id:"parameters-1"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.AckSystem.ReliableReceived"),(0,l.kt)("td",{parentName:"tr",align:null},"packet"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"true if next packet is available")))),(0,l.kt)("h4",{id:"getnextfragment"},"GetNextFragment()"),(0,l.kt)("h5",{id:"declaration-11"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public AckSystem.ReliableReceived GetNextFragment()\n")),(0,l.kt)("h5",{id:"returns-1"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.AckSystem.ReliableReceived"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"update"},"Update()"),(0,l.kt)("h5",{id:"declaration-12"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Update()\n")),(0,l.kt)("h4",{id:"sendnotifybyte-int32-int32"},"SendNotify(Byte[], Int32, Int32)"),(0,l.kt)("p",null,"Use for non-alloc version"),(0,l.kt)("h5",{id:"declaration-13"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public INotifyToken SendNotify(byte[] inPacket, int inOffset, int inLength)\n")),(0,l.kt)("h5",{id:"parameters-2"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"inPacket"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"inOffset"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"inLength"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-2"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyToken"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"sendnotifybyte-int32-int32-inotifycallback"},"SendNotify(Byte[], Int32, Int32, INotifyCallBack)"),(0,l.kt)("h5",{id:"declaration-14"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendNotify(byte[] inPacket, int inOffset, int inLength, INotifyCallBack callBacks)\n")),(0,l.kt)("h5",{id:"parameters-3"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"inPacket"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"inOffset"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"inLength"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyCallBack"),(0,l.kt)("td",{parentName:"tr",align:null},"callBacks"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"sendreliablebyte-int32-int32"},"SendReliable(Byte[], Int32, Int32)"),(0,l.kt)("h5",{id:"declaration-15"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendReliable(byte[] message, int offset, int length)\n")),(0,l.kt)("h5",{id:"parameters-4"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"message"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"offset"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"length"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"receivenotifybyte-int32"},"ReceiveNotify(Byte[], Int32)"),(0,l.kt)("p",null,"Receives incoming Notify packet\nIgnores duplicate or late packets"),(0,l.kt)("h5",{id:"declaration-16"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public ArraySegment ReceiveNotify(byte[] packet, int length)\n")),(0,l.kt)("h5",{id:"parameters-5"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"packet"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"length"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-3"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,l.kt)("td",{parentName:"tr",align:null},"default or new packet to handle")))),(0,l.kt)("h4",{id:"invalidfragmentbyte"},"InvalidFragment(Byte[])"),(0,l.kt)("p",null,"Checks if fragment index is less than max fragment size"),(0,l.kt)("h5",{id:"declaration-17"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool InvalidFragment(byte[] array)\n")),(0,l.kt)("h5",{id:"parameters-6"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"array"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-4"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"receivereliablebyte-int32-boolean"},"ReceiveReliable(Byte[], Int32, Boolean)"),(0,l.kt)("h5",{id:"declaration-18"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void ReceiveReliable(byte[] packet, int length, bool isFragment)\n")),(0,l.kt)("h5",{id:"parameters-7"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"packet"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"length"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"isFragment"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"receiveackbyte"},"ReceiveAck(Byte[])"),(0,l.kt)("h5",{id:"declaration-19"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void ReceiveAck(byte[] packet)\n")),(0,l.kt)("h5",{id:"parameters-8"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"packet"),(0,l.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/13f63d09.49c33c9b.js b/assets/js/13f63d09.49c33c9b.js new file mode 100644 index 00000000000..64ef6ac276a --- /dev/null +++ b/assets/js/13f63d09.49c33c9b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3669],{3905:(e,r,a)=>{a.d(r,{Zo:()=>d,kt:()=>m});var t=a(67294);function n(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}function o(e,r){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),a.push.apply(a,t)}return a}function l(e){for(var r=1;r=0||(n[a]=e[a]);return n}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=t.createContext({}),p=function(e){var r=t.useContext(c),a=r;return e&&(a="function"==typeof e?e(r):l(l({},r),e)),a},d=function(e){var r=p(e.components);return t.createElement(c.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},s=t.forwardRef((function(e,r){var a=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),s=p(a),m=n,f=s["".concat(c,".").concat(m)]||s[m]||u[m]||o;return a?t.createElement(f,l(l({ref:r},d),{},{components:a})):t.createElement(f,l({ref:r},d))}));function m(e,r){var a=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var o=a.length,l=new Array(o);l[0]=s;var i={};for(var c in r)hasOwnProperty.call(r,c)&&(i[c]=r[c]);i.originalType=e,i.mdxType="string"==typeof e?e:n,l[1]=i;for(var p=2;p{a.r(r),a.d(r,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>p});var t=a(87462),n=(a(67294),a(3905));const o={id:"CharacterSpawner.PlayerSpawnMethod",title:"CharacterSpawner.PlayerSpawnMethod"},l="Enum CharacterSpawner.PlayerSpawnMethod",i={unversionedId:"reference/Mirage/CharacterSpawner.PlayerSpawnMethod",id:"reference/Mirage/CharacterSpawner.PlayerSpawnMethod",title:"CharacterSpawner.PlayerSpawnMethod",description:"Enumeration of methods of where to spawn player objects in multiplayer games.",source:"@site/docs/reference/Mirage/CharacterSpawner.PlayerSpawnMethod.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/CharacterSpawner.PlayerSpawnMethod",permalink:"/Mirage/docs/reference/Mirage/CharacterSpawner.PlayerSpawnMethod",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/CharacterSpawner.PlayerSpawnMethod.md",tags:[],version:"current",frontMatter:{id:"CharacterSpawner.PlayerSpawnMethod",title:"CharacterSpawner.PlayerSpawnMethod"},sidebar:"api",previous:{title:"Channel",permalink:"/Mirage/docs/reference/Mirage/Channel"},next:{title:"CharacterSpawner",permalink:"/Mirage/docs/reference/Mirage/CharacterSpawner"}},c={},p=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Random",id:"random",level:4},{value:"Declaration",id:"declaration",level:5},{value:"RoundRobin",id:"roundrobin",level:4},{value:"Declaration",id:"declaration-1",level:5}],d={toc:p};function u(e){let{components:r,...a}=e;return(0,n.kt)("wrapper",(0,t.Z)({},d,a,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"enum-characterspawnerplayerspawnmethod"},"Enum CharacterSpawner.PlayerSpawnMethod"),(0,n.kt)("p",null,"Enumeration of methods of where to spawn player objects in multiplayer games."),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public enum PlayerSpawnMethod\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"random"},"Random"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"Random = 0\n")),(0,n.kt)("h4",{id:"roundrobin"},"RoundRobin"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"RoundRobin = 1\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/141367b2.129b2ae1.js b/assets/js/141367b2.129b2ae1.js new file mode 100644 index 00000000000..febeb67b1af --- /dev/null +++ b/assets/js/141367b2.129b2ae1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2090],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>s});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),p=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},c=function(e){var t=p(e.components);return n.createElement(o.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,o=e.parentName,c=d(e,["components","mdxType","originalType","parentName"]),m=p(a),s=r,g=m["".concat(o,".").concat(s)]||m[s]||u[s]||l;return a?n.createElement(g,i(i({ref:t},c),{},{components:a})):n.createElement(g,i({ref:t},c))}));function s(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=m;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d.mdxType="string"==typeof e?e:r,i[1]=d;for(var p=2;p{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>d,toc:()=>p});var n=a(87462),r=(a(67294),a(3905));const l={id:"ZigZag",title:"ZigZag"},i="Class ZigZag",d={unversionedId:"reference/Mirage.Serialization/ZigZag",id:"reference/Mirage.Serialization/ZigZag",title:"ZigZag",description:"See zigzag encoding",source:"@site/docs/reference/Mirage.Serialization/ZigZag.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/ZigZag",permalink:"/Mirage/docs/reference/Mirage.Serialization/ZigZag",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/ZigZag.md",tags:[],version:"current",frontMatter:{id:"ZigZag",title:"ZigZag"},sidebar:"api",previous:{title:"Writer",permalink:"/Mirage/docs/reference/Mirage.Serialization/Writer-1"},next:{title:"ZigZagEncodeAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/ZigZagEncodeAttribute"}},o={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"Encode(Int32)",id:"encodeint32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Encode(Int64)",id:"encodeint64",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Decode(UInt32)",id:"decodeuint32",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-2",level:5},{value:"Decode(UInt64)",id:"decodeuint64",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-3",level:5}],c={toc:p};function u(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-zigzag"},"Class ZigZag"),(0,r.kt)("p",null,"See zigzag encoding"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static class ZigZag\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"encodeint32"},"Encode(Int32)"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static uint Encode(int v)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"v"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"encodeint64"},"Encode(Int64)"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static ulong Encode(long v)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int64"),(0,r.kt)("td",{parentName:"tr",align:null},"v"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-1"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"decodeuint32"},"Decode(UInt32)"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static int Decode(uint v)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,r.kt)("td",{parentName:"tr",align:null},"v"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-2"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"decodeuint64"},"Decode(UInt64)"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static long Decode(ulong v)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,r.kt)("td",{parentName:"tr",align:null},"v"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-3"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int64"),(0,r.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/14209d49.56fefc8b.js b/assets/js/14209d49.56fefc8b.js new file mode 100644 index 00000000000..82ca162aa75 --- /dev/null +++ b/assets/js/14209d49.56fefc8b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6176],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>y});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var o=a.createContext({}),p=function(e){var t=a.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},s=function(e){var t=p(e.components);return a.createElement(o.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),u=p(r),y=n,g=u["".concat(o,".").concat(y)]||u[y]||d[y]||l;return r?a.createElement(g,i(i({ref:t},s),{},{components:r})):a.createElement(g,i({ref:t},s))}));function y(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=u;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var p=2;p{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>d,frontMatter:()=>l,metadata:()=>c,toc:()=>p});var a=r(87462),n=(r(67294),r(3905));const l={id:"RpcWithReplyMessage",title:"RpcWithReplyMessage"},i="Struct RpcWithReplyMessage",c={unversionedId:"reference/Mirage.RemoteCalls/RpcWithReplyMessage",id:"reference/Mirage.RemoteCalls/RpcWithReplyMessage",title:"RpcWithReplyMessage",description:"Syntax",source:"@site/docs/reference/Mirage.RemoteCalls/RpcWithReplyMessage.md",sourceDirName:"reference/Mirage.RemoteCalls",slug:"/reference/Mirage.RemoteCalls/RpcWithReplyMessage",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcWithReplyMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.RemoteCalls/RpcWithReplyMessage.md",tags:[],version:"current",frontMatter:{id:"RpcWithReplyMessage",title:"RpcWithReplyMessage"},sidebar:"api",previous:{title:"RpcReply",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcReply"},next:{title:"ServerRpcSender",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/ServerRpcSender"}},o={},p=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"NetId",id:"netid",level:4},{value:"Declaration",id:"declaration",level:5},{value:"FunctionIndex",id:"functionindex",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"ReplyId",id:"replyid",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Payload",id:"payload",level:4},{value:"Declaration",id:"declaration-3",level:5}],s={toc:p};function d(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"struct-rpcwithreplymessage"},"Struct RpcWithReplyMessage"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public struct RpcWithReplyMessage\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"netid"},"NetId"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public uint NetId\n")),(0,n.kt)("h4",{id:"functionindex"},"FunctionIndex"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public int FunctionIndex\n")),(0,n.kt)("h4",{id:"replyid"},"ReplyId"),(0,n.kt)("p",null,"Id sent with rpc so that server can reply with and send the same Id"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public int ReplyId\n")),(0,n.kt)("h4",{id:"payload"},"Payload"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public ArraySegment Payload\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/14eb3368.848badd9.js b/assets/js/14eb3368.848badd9.js new file mode 100644 index 00000000000..f7d356c258a --- /dev/null +++ b/assets/js/14eb3368.848badd9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9817],{31986:(e,t,n)=>{n.d(t,{Z:()=>p});var a=n(87462),r=n(67294),i=n(86010),l=n(35281),s=n(52802),c=n(48596),o=n(39960),m=n(44996),d=n(95999);function u(e){return r.createElement("svg",(0,a.Z)({viewBox:"0 0 24 24"},e),r.createElement("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"}))}const b={breadcrumbsContainer:"breadcrumbsContainer_Z_bl",breadcrumbHomeIcon:"breadcrumbHomeIcon_OVgt"};function h(e){let{children:t,href:n,isLast:a}=e;const i="breadcrumbs__link";return a?r.createElement("span",{className:i,itemProp:"name"},t):n?r.createElement(o.Z,{className:i,href:n,itemProp:"item"},r.createElement("span",{itemProp:"name"},t)):r.createElement("span",{className:i},t)}function v(e){let{children:t,active:n,index:l,addMicrodata:s}=e;return r.createElement("li",(0,a.Z)({},s&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},{className:(0,i.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n})}),t,r.createElement("meta",{itemProp:"position",content:String(l+1)}))}function g(){const e=(0,m.Z)("/");return r.createElement("li",{className:"breadcrumbs__item"},r.createElement(o.Z,{"aria-label":(0,d.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:(0,i.Z)("breadcrumbs__link",b.breadcrumbsItemLink),href:e},r.createElement(u,{className:b.breadcrumbHomeIcon})))}function p(){const e=(0,s.s1)(),t=(0,c.Ns)();return e?r.createElement("nav",{className:(0,i.Z)(l.k.docs.docBreadcrumbs,b.breadcrumbsContainer),"aria-label":(0,d.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"})},r.createElement("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList"},t&&r.createElement(g,null),e.map(((t,n)=>{const a=n===e.length-1;return r.createElement(v,{key:n,active:a,index:n,addMicrodata:!!t.href},r.createElement(h,{href:t.href,isLast:a},t.label))})))):null}},34228:(e,t,n)=>{n.r(t),n.d(t,{default:()=>V});var a=n(67294),r=n(1944),i=n(52802),l=n(44996),s=n(86010),c=n(39960),o=n(13919),m=n(95999);const d="cardContainer_fWXF",u="cardTitle_rnsV",b="cardDescription_PWke";function h(e){let{href:t,children:n}=e;return a.createElement(c.Z,{href:t,className:(0,s.Z)("card padding--lg",d)},n)}function v(e){let{href:t,icon:n,title:r,description:i}=e;return a.createElement(h,{href:t},a.createElement("h2",{className:(0,s.Z)("text--truncate",u),title:r},n," ",r),i&&a.createElement("p",{className:(0,s.Z)("text--truncate",b),title:i},i))}function g(e){let{item:t}=e;const n=(0,i.Wl)(t);return n?a.createElement(v,{href:n,icon:"\ud83d\uddc3\ufe0f",title:t.label,description:(0,m.I)({message:"{count} items",id:"theme.docs.DocCard.categoryDescription",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t.items.length})}):null}function p(e){var t;let{item:n}=e;const r=(0,o.Z)(n.href)?"\ud83d\udcc4\ufe0f":"\ud83d\udd17",l=(0,i.xz)(null!=(t=n.docId)?t:void 0);return a.createElement(v,{href:n.href,icon:r,title:n.label,description:null==l?void 0:l.description})}function E(e){let{item:t}=e;switch(t.type){case"link":return a.createElement(p,{item:t});case"category":return a.createElement(g,{item:t});default:throw new Error("unknown item type "+JSON.stringify(t))}}function f(e){let{items:t,className:n}=e;return a.createElement("section",{className:(0,s.Z)("row",n)},function(e){return e.filter((e=>"category"!==e.type||!!(0,i.Wl)(e)))}(t).map(((e,t)=>a.createElement("article",{key:t,className:"col col--6 margin-bottom--lg"},a.createElement(E,{item:e})))))}var Z=n(4966),N=n(23120),k=n(44364),_=n(31986),L=n(92503);const T="generatedIndexPage_vN6x",y="list_eTzJ",x="title_kItE";function I(e){let{categoryGeneratedIndex:t}=e;return a.createElement(r.d,{title:t.title,description:t.description,keywords:t.keywords,image:(0,l.Z)(t.image)})}function w(e){let{categoryGeneratedIndex:t}=e;const n=(0,i.jA)();return a.createElement("div",{className:T},a.createElement(N.Z,null),a.createElement(_.Z,null),a.createElement(k.Z,null),a.createElement("header",null,a.createElement(L.Z,{as:"h1",className:x},t.title),t.description&&a.createElement("p",null,t.description)),a.createElement("article",{className:"margin-top--lg"},a.createElement(f,{items:n.items,className:y})),a.createElement("footer",{className:"margin-top--lg"},a.createElement(Z.Z,{previous:t.navigation.previous,next:t.navigation.next})))}function V(e){return a.createElement(a.Fragment,null,a.createElement(I,e),a.createElement(w,e))}},4966:(e,t,n)=>{n.d(t,{Z:()=>o});var a=n(87462),r=n(67294),i=n(95999),l=n(86010),s=n(39960);function c(e){const{permalink:t,title:n,subLabel:a,isNext:i}=e;return r.createElement(s.Z,{className:(0,l.Z)("pagination-nav__link",i?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t},a&&r.createElement("div",{className:"pagination-nav__sublabel"},a),r.createElement("div",{className:"pagination-nav__label"},n))}function o(e){const{previous:t,next:n}=e;return r.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,i.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages navigation",description:"The ARIA label for the docs pagination"})},t&&r.createElement(c,(0,a.Z)({},t,{subLabel:r.createElement(i.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc"},"Previous")})),n&&r.createElement(c,(0,a.Z)({},n,{subLabel:r.createElement(i.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc"},"Next"),isNext:!0})))}},44364:(e,t,n)=>{n.d(t,{Z:()=>c});var a=n(67294),r=n(86010),i=n(95999),l=n(35281),s=n(74477);function c(e){let{className:t}=e;const n=(0,s.E)();return n.badge?a.createElement("span",{className:(0,r.Z)(t,l.k.docs.docVersionBadge,"badge badge--secondary")},a.createElement(i.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label}},"Version: {versionLabel}")):null}},23120:(e,t,n)=>{n.d(t,{Z:()=>g});var a=n(67294),r=n(86010),i=n(52263),l=n(39960),s=n(95999),c=n(94104),o=n(35281),m=n(60373),d=n(74477);const u={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(s.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:a.createElement("b",null,n.label)}},"This is unreleased documentation for {siteTitle} {versionLabel} version.")},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(s.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:a.createElement("b",null,n.label)}},"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.")}};function b(e){const t=u[e.versionMetadata.banner];return a.createElement(t,e)}function h(e){let{versionLabel:t,to:n,onClick:r}=e;return a.createElement(s.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:a.createElement("b",null,a.createElement(l.Z,{to:n,onClick:r},a.createElement(s.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label"},"latest version")))}},"For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).")}function v(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:l}}=(0,i.Z)(),{pluginId:s}=(0,c.gA)({failfast:!0}),{savePreferredVersionName:d}=(0,m.J)(s),{latestDocSuggestion:u,latestVersionSuggestion:v}=(0,c.Jo)(s),g=null!=u?u:(p=v).docs.find((e=>e.id===p.mainDocId));var p;return a.createElement("div",{className:(0,r.Z)(t,o.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert"},a.createElement("div",null,a.createElement(b,{siteTitle:l,versionMetadata:n})),a.createElement("div",{className:"margin-top--md"},a.createElement(h,{versionLabel:v.label,to:g.path,onClick:()=>d(v.name)})))}function g(e){let{className:t}=e;const n=(0,d.E)();return n.banner?a.createElement(v,{className:t,versionMetadata:n}):null}},92503:(e,t,n)=>{n.d(t,{Z:()=>m});var a=n(87462),r=n(67294),i=n(86010),l=n(95999),s=n(86668);const c="anchorWithStickyNavbar_LWe7",o="anchorWithHideOnScrollNavbar_WYt5";function m(e){let{as:t,id:n,...m}=e;const{navbar:{hideOnScroll:d}}=(0,s.L)();return"h1"!==t&&n?r.createElement(t,(0,a.Z)({},m,{className:(0,i.Z)("anchor",d?o:c),id:n}),m.children,r.createElement("a",{className:"hash-link",href:"#"+n,title:(0,l.I)({id:"theme.common.headingLinkTitle",message:"Direct link to heading",description:"Title for link to heading"})},"\u200b")):r.createElement(t,(0,a.Z)({},m,{id:void 0}))}}}]); \ No newline at end of file diff --git a/assets/js/15b2e714.ee327ef3.js b/assets/js/15b2e714.ee327ef3.js new file mode 100644 index 00000000000..7e07d6ed192 --- /dev/null +++ b/assets/js/15b2e714.ee327ef3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4069],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>g});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=s(r),g=i,b=d["".concat(c,".").concat(g)]||d[g]||p[g]||a;return r?n.createElement(b,o(o({ref:t},u),{},{components:r})):n.createElement(b,o({ref:t},u))}));function g(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,o=new Array(a);o[0]=d;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:i,o[1]=l;for(var s=2;s{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var n=r(87462),i=(r(67294),r(3905));const a={id:"WeaverIgnoreAttribute",title:"WeaverIgnoreAttribute"},o="Class WeaverIgnoreAttribute",l={unversionedId:"reference/Mirage.Serialization/WeaverIgnoreAttribute",id:"reference/Mirage.Serialization/WeaverIgnoreAttribute",title:"WeaverIgnoreAttribute",description:"Tells Weaver to ignore an Extension method",source:"@site/docs/reference/Mirage.Serialization/WeaverIgnoreAttribute.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/WeaverIgnoreAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/WeaverIgnoreAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/WeaverIgnoreAttribute.md",tags:[],version:"current",frontMatter:{id:"WeaverIgnoreAttribute",title:"WeaverIgnoreAttribute"},sidebar:"api",previous:{title:"Vector3Packer",permalink:"/Mirage/docs/reference/Mirage.Serialization/Vector3Packer"},next:{title:"WeaverSerializeCollectionAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/WeaverSerializeCollectionAttribute"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5}],u={toc:s};function p(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-weaverignoreattribute"},"Class WeaverIgnoreAttribute"),(0,i.kt)("p",null,"Tells Weaver to ignore an Extension method"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,i.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Method)]\npublic sealed class WeaverIgnoreAttribute : Attribute, _Attribute\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/17896441.ba87714d.js b/assets/js/17896441.ba87714d.js new file mode 100644 index 00000000000..dd2aec75f23 --- /dev/null +++ b/assets/js/17896441.ba87714d.js @@ -0,0 +1 @@ +(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7918],{3905:(e,t,n)=>{"use strict";n.d(t,{Zo:()=>m,kt:()=>p});var a=n(67294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var s=a.createContext({}),i=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},m=function(e){var t=i(e.components);return a.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,l=e.mdxType,r=e.originalType,s=e.parentName,m=c(e,["components","mdxType","originalType","parentName"]),u=i(n),p=l,f=u["".concat(s,".").concat(p)]||u[p]||d[p]||r;return n?a.createElement(f,o(o({ref:t},m),{},{components:n})):a.createElement(f,o({ref:t},m))}));function p(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=n.length,o=new Array(r);o[0]=u;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:l,o[1]=c;for(var i=2;i{"use strict";n.d(t,{Z:()=>v});var a=n(87462),l=n(67294),r=n(86010),o=n(35281),c=n(52802),s=n(48596),i=n(39960),m=n(44996),d=n(95999);function u(e){return l.createElement("svg",(0,a.Z)({viewBox:"0 0 24 24"},e),l.createElement("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"}))}const p={breadcrumbsContainer:"breadcrumbsContainer_Z_bl",breadcrumbHomeIcon:"breadcrumbHomeIcon_OVgt"};function f(e){let{children:t,href:n,isLast:a}=e;const r="breadcrumbs__link";return a?l.createElement("span",{className:r,itemProp:"name"},t):n?l.createElement(i.Z,{className:r,href:n,itemProp:"item"},l.createElement("span",{itemProp:"name"},t)):l.createElement("span",{className:r},t)}function h(e){let{children:t,active:n,index:o,addMicrodata:c}=e;return l.createElement("li",(0,a.Z)({},c&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},{className:(0,r.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n})}),t,l.createElement("meta",{itemProp:"position",content:String(o+1)}))}function g(){const e=(0,m.Z)("/");return l.createElement("li",{className:"breadcrumbs__item"},l.createElement(i.Z,{"aria-label":(0,d.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:(0,r.Z)("breadcrumbs__link",p.breadcrumbsItemLink),href:e},l.createElement(u,{className:p.breadcrumbHomeIcon})))}function v(){const e=(0,c.s1)(),t=(0,s.Ns)();return e?l.createElement("nav",{className:(0,r.Z)(o.k.docs.docBreadcrumbs,p.breadcrumbsContainer),"aria-label":(0,d.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"})},l.createElement("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList"},t&&l.createElement(g,null),e.map(((t,n)=>{const a=n===e.length-1;return l.createElement(h,{key:n,active:a,index:n,addMicrodata:!!t.href},l.createElement(f,{href:t.href,isLast:a},t.label))})))):null}},37617:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>vt});var a=n(67294),l=n(1944),r=n(902);const o=a.createContext(null);function c(e){let{children:t,content:n}=e;const l=function(e){return(0,a.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return a.createElement(o.Provider,{value:l},t)}function s(){const e=(0,a.useContext)(o);if(null===e)throw new r.i6("DocProvider");return e}function i(){var e;const{metadata:t,frontMatter:n,assets:r}=s();return a.createElement(l.d,{title:t.title,description:t.description,keywords:n.keywords,image:null!=(e=r.image)?e:n.image})}var m=n(86010),d=n(87524),u=n(4966);function p(){const{metadata:e}=s();return a.createElement(u.Z,{previous:e.previous,next:e.next})}var f=n(23120),h=n(44364),g=n(35281),v=n(95999);function b(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n}=e;return a.createElement(v.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:a.createElement("b",null,a.createElement("time",{dateTime:new Date(1e3*t).toISOString()},n))}}," on {date}")}function E(e){let{lastUpdatedBy:t}=e;return a.createElement(v.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:a.createElement("b",null,t)}}," by {user}")}function y(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n,lastUpdatedBy:l}=e;return a.createElement("span",{className:g.k.common.lastUpdated},a.createElement(v.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&n?a.createElement(b,{lastUpdatedAt:t,formattedLastUpdatedAt:n}):"",byUser:l?a.createElement(E,{lastUpdatedBy:l}):""}},"Last updated{atDate}{byUser}"),!1)}var k=n(87462);const N="iconEdit_Z9Sw";function L(e){let{className:t,...n}=e;return a.createElement("svg",(0,k.Z)({fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,m.Z)(N,t),"aria-hidden":"true"},n),a.createElement("g",null,a.createElement("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})))}function C(e){let{editUrl:t}=e;return a.createElement("a",{href:t,target:"_blank",rel:"noreferrer noopener",className:g.k.common.editThisPage},a.createElement(L,null),a.createElement(v.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page"},"Edit this page"))}var Z=n(39960);const _="tag_zVej",T="tagRegular_sFm0",w="tagWithCount_h2kH";function x(e){let{permalink:t,label:n,count:l}=e;return a.createElement(Z.Z,{href:t,className:(0,m.Z)(_,l?w:T)},n,l&&a.createElement("span",null,l))}const B="tags_jXut",O="tag_QGVx";function A(e){let{tags:t}=e;return a.createElement(a.Fragment,null,a.createElement("b",null,a.createElement(v.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list"},"Tags:")),a.createElement("ul",{className:(0,m.Z)(B,"padding--none","margin-left--sm")},t.map((e=>{let{label:t,permalink:n}=e;return a.createElement("li",{key:n,className:O},a.createElement(x,{label:t,permalink:n}))}))))}const H="lastUpdated_vwxv";function j(e){return a.createElement("div",{className:(0,m.Z)(g.k.docs.docFooterTagsRow,"row margin-bottom--sm")},a.createElement("div",{className:"col"},a.createElement(A,e)))}function S(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:l,formattedLastUpdatedAt:r}=e;return a.createElement("div",{className:(0,m.Z)(g.k.docs.docFooterEditMetaRow,"row")},a.createElement("div",{className:"col"},t&&a.createElement(C,{editUrl:t})),a.createElement("div",{className:(0,m.Z)("col",H)},(n||l)&&a.createElement(y,{lastUpdatedAt:n,formattedLastUpdatedAt:r,lastUpdatedBy:l})))}function M(){const{metadata:e}=s(),{editUrl:t,lastUpdatedAt:n,formattedLastUpdatedAt:l,lastUpdatedBy:r,tags:o}=e,c=o.length>0,i=!!(t||n||r);return c||i?a.createElement("footer",{className:(0,m.Z)(g.k.docs.docFooter,"docusaurus-mt-lg")},c&&a.createElement(j,{tags:o}),i&&a.createElement(S,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:r,formattedLastUpdatedAt:l})):null}var I=n(86043),P=n(86668);function U(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t}));const a=[];return t.forEach((e=>{const{parentIndex:n,...l}=e;n>=0?t[n].children.push(l):a.push(l)})),a}function z(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return t.flatMap((e=>{const t=z({toc:e.children,minHeadingLevel:n,maxHeadingLevel:a});return function(e){return e.level>=n&&e.level<=a}(e)?[{...e,children:t}]:t}))}function V(e){const t=e.getBoundingClientRect();return t.top===t.bottom?V(e.parentNode):t}function D(e,t){var n;let{anchorTopOffset:a}=t;const l=e.find((e=>V(e).top>=a));if(l){var r;return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function W(e){const t=(0,a.useRef)(void 0),n=R();(0,a.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:l,minHeadingLevel:r,maxHeadingLevel:o}=e;function c(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),c=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const a=[];for(let l=t;l<=n;l+=1)a.push("h"+l+".anchor");return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:r,maxHeadingLevel:o}),s=D(c,{anchorTopOffset:n.current}),i=e.find((e=>s&&s.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(l),e.classList.add(l),t.current=e):e.classList.remove(l)}(e,e===i)}))}return document.addEventListener("scroll",c),document.addEventListener("resize",c),c(),()=>{document.removeEventListener("scroll",c),document.removeEventListener("resize",c)}}),[e,n])}function F(e){let{toc:t,className:n,linkClassName:l,isChild:r}=e;return t.length?a.createElement("ul",{className:r?void 0:n},t.map((e=>a.createElement("li",{key:e.id},a.createElement("a",{href:"#"+e.id,className:null!=l?l:void 0,dangerouslySetInnerHTML:{__html:e.value}}),a.createElement(F,{isChild:!0,toc:e.children,className:n,linkClassName:l}))))):null}const q=a.memo(F);function G(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:l="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:o,maxHeadingLevel:c,...s}=e;const i=(0,P.L)(),m=null!=o?o:i.tableOfContents.minHeadingLevel,d=null!=c?c:i.tableOfContents.maxHeadingLevel,u=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:l}=e;return(0,a.useMemo)((()=>z({toc:U(t),minHeadingLevel:n,maxHeadingLevel:l})),[t,n,l])}({toc:t,minHeadingLevel:m,maxHeadingLevel:d});return W((0,a.useMemo)((()=>{if(l&&r)return{linkClassName:l,linkActiveClassName:r,minHeadingLevel:m,maxHeadingLevel:d}}),[l,r,m,d])),a.createElement(q,(0,k.Z)({toc:u,className:n,linkClassName:l},s))}const $="tocCollapsibleButton_TO0P",J="tocCollapsibleButtonExpanded_MG3E";function Q(e){let{collapsed:t,...n}=e;return a.createElement("button",(0,k.Z)({type:"button"},n,{className:(0,m.Z)("clean-btn",$,!t&&J,n.className)}),a.createElement(v.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component"},"On this page"))}const X="tocCollapsible_ETCw",Y="tocCollapsibleContent_vkbj",K="tocCollapsibleExpanded_sAul";function ee(e){let{toc:t,className:n,minHeadingLevel:l,maxHeadingLevel:r}=e;const{collapsed:o,toggleCollapsed:c}=(0,I.u)({initialState:!0});return a.createElement("div",{className:(0,m.Z)(X,!o&&K,n)},a.createElement(Q,{collapsed:o,onClick:c}),a.createElement(I.z,{lazy:!0,className:Y,collapsed:o},a.createElement(G,{toc:t,minHeadingLevel:l,maxHeadingLevel:r})))}const te="tocMobile_ITEo";function ne(){const{toc:e,frontMatter:t}=s();return a.createElement(ee,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,m.Z)(g.k.docs.docTocMobile,te)})}const ae="tableOfContents_bqdL";function le(e){let{className:t,...n}=e;return a.createElement("div",{className:(0,m.Z)(ae,"thin-scrollbar",t)},a.createElement(G,(0,k.Z)({},n,{linkClassName:"table-of-contents__link toc-highlight",linkActiveClassName:"table-of-contents__link--active"})))}function re(){const{toc:e,frontMatter:t}=s();return a.createElement(le,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:g.k.docs.docTocDesktop})}var oe=n(92503),ce=n(3905),se=n(35742);var ie=n(72389),me=n(92949);function de(){const{prism:e}=(0,P.L)(),{colorMode:t}=(0,me.I)(),n=e.theme,a=e.darkTheme||n;return"dark"===t?a:n}var ue=n(87594),pe=n.n(ue);const fe=/title=(?["'])(?.*?)\1/,he=/\{(?<range>[\d,-]+)\}/,ge={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}};function ve(e,t){const n=e.map((e=>{const{start:n,end:a}=ge[e];return"(?:"+n+"\\s*("+t.flatMap((e=>{var t,n;return[e.line,null==(t=e.block)?void 0:t.start,null==(n=e.block)?void 0:n.end].filter(Boolean)})).join("|")+")\\s*"+a+")"})).join("|");return new RegExp("^\\s*(?:"+n+")\\s*$")}function be(e,t){let n=e.replace(/\n$/,"");const{language:a,magicComments:l,metastring:r}=t;if(r&&he.test(r)){const e=r.match(he).groups.range;if(0===l.length)throw new Error("A highlight range has been given in code block's metastring (``` "+r+"), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.");const t=l[0].className,a=pe()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(a),code:n}}if(void 0===a)return{lineClassNames:{},code:n};const o=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return ve(["js","jsBlock"],t);case"jsx":case"tsx":return ve(["js","jsBlock","jsx"],t);case"html":return ve(["js","jsBlock","html"],t);case"python":case"py":case"bash":return ve(["bash"],t);case"markdown":case"md":return ve(["html","jsx","bash"],t);default:return ve(Object.keys(ge),t)}}(a,l),c=n.split("\n"),s=Object.fromEntries(l.map((e=>[e.className,{start:0,range:""}]))),i=Object.fromEntries(l.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),m=Object.fromEntries(l.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),d=Object.fromEntries(l.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let p=0;p<c.length;){const e=c[p].match(o);if(!e){p+=1;continue}const t=e.slice(1).find((e=>void 0!==e));i[t]?s[i[t]].range+=p+",":m[t]?s[m[t]].start=p:d[t]&&(s[d[t]].range+=s[d[t]].start+"-"+(p-1)+","),c.splice(p,1)}n=c.join("\n");const u={};return Object.entries(s).forEach((e=>{let[t,{range:n}]=e;pe()(n).forEach((e=>{null!=u[e]||(u[e]=[]),u[e].push(t)}))})),{lineClassNames:u,code:n}}const Ee="codeBlockContainer_Ckt0";function ye(e){let{as:t,...n}=e;const l=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[a,l]=e;const r=t[a];r&&"string"==typeof l&&(n[r]=l)})),n}(de());return a.createElement(t,(0,k.Z)({},n,{style:l,className:(0,m.Z)(n.className,Ee,g.k.common.codeBlock)}))}const ke={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function Ne(e){let{children:t,className:n}=e;return a.createElement(ye,{as:"pre",tabIndex:0,className:(0,m.Z)(ke.codeBlockStandalone,"thin-scrollbar",n)},a.createElement("code",{className:ke.codeBlockLines},t))}const Le={attributes:!0,characterData:!0,childList:!0,subtree:!0};function Ce(e,t){const[n,l]=(0,a.useState)(),o=(0,a.useCallback)((()=>{var t;l(null==(t=e.current)?void 0:t.closest("[role=tabpanel][hidden]"))}),[e,l]);(0,a.useEffect)((()=>{o()}),[o]),function(e,t,n){void 0===n&&(n=Le);const l=(0,r.zX)(t),o=(0,r.Ql)(n);(0,a.useEffect)((()=>{const t=new MutationObserver(l);return e&&t.observe(e,o),()=>t.disconnect()}),[e,l,o])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),o())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}const Ze={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]};var _e={Prism:n(87410).Z,theme:Ze};function Te(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function we(){return we=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},we.apply(this,arguments)}var xe=/\r\n|\r|\n/,Be=function(e){0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},Oe=function(e,t){var n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},Ae=function(e,t){var n=e.plain,a=Object.create(null),l=e.styles.reduce((function(e,n){var a=n.languages,l=n.style;return a&&!a.includes(t)||n.types.forEach((function(t){var n=we({},e[t],l);e[t]=n})),e}),a);return l.root=n,l.plain=we({},n,{backgroundColor:null}),l};function He(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&-1===t.indexOf(a)&&(n[a]=e[a]);return n}const je=function(e){function t(){for(var t=this,n=[],a=arguments.length;a--;)n[a]=arguments[a];e.apply(this,n),Te(this,"getThemeDict",(function(e){if(void 0!==t.themeDict&&e.theme===t.prevTheme&&e.language===t.prevLanguage)return t.themeDict;t.prevTheme=e.theme,t.prevLanguage=e.language;var n=e.theme?Ae(e.theme,e.language):void 0;return t.themeDict=n})),Te(this,"getLineProps",(function(e){var n=e.key,a=e.className,l=e.style,r=we({},He(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),o=t.getThemeDict(t.props);return void 0!==o&&(r.style=o.plain),void 0!==l&&(r.style=void 0!==r.style?we({},r.style,l):l),void 0!==n&&(r.key=n),a&&(r.className+=" "+a),r})),Te(this,"getStyleForToken",(function(e){var n=e.types,a=e.empty,l=n.length,r=t.getThemeDict(t.props);if(void 0!==r){if(1===l&&"plain"===n[0])return a?{display:"inline-block"}:void 0;if(1===l&&!a)return r[n[0]];var o=a?{display:"inline-block"}:{},c=n.map((function(e){return r[e]}));return Object.assign.apply(Object,[o].concat(c))}})),Te(this,"getTokenProps",(function(e){var n=e.key,a=e.className,l=e.style,r=e.token,o=we({},He(e,["key","className","style","token"]),{className:"token "+r.types.join(" "),children:r.content,style:t.getStyleForToken(r),key:void 0});return void 0!==l&&(o.style=void 0!==o.style?we({},o.style,l):l),void 0!==n&&(o.key=n),a&&(o.className+=" "+a),o})),Te(this,"tokenize",(function(e,t,n,a){var l={code:t,grammar:n,language:a,tokens:[]};e.hooks.run("before-tokenize",l);var r=l.tokens=e.tokenize(l.code,l.grammar,l.language);return e.hooks.run("after-tokenize",l),r}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var e=this.props,t=e.Prism,n=e.language,a=e.code,l=e.children,r=this.getThemeDict(this.props),o=t.languages[n];return l({tokens:function(e){for(var t=[[]],n=[e],a=[0],l=[e.length],r=0,o=0,c=[],s=[c];o>-1;){for(;(r=a[o]++)<l[o];){var i=void 0,m=t[o],d=n[o][r];if("string"==typeof d?(m=o>0?m:["plain"],i=d):(m=Oe(m,d.type),d.alias&&(m=Oe(m,d.alias)),i=d.content),"string"==typeof i){var u=i.split(xe),p=u.length;c.push({types:m,content:u[0]});for(var f=1;f<p;f++)Be(c),s.push(c=[]),c.push({types:m,content:u[f]})}else o++,t.push(m),n.push(i),a.push(0),l.push(i.length)}o--,t.pop(),n.pop(),a.pop(),l.pop()}return Be(c),s}(void 0!==o?this.tokenize(t,a,o,n):[a]),className:"prism-code language-"+n,style:void 0!==r?r.root:{},getLineProps:this.getLineProps,getTokenProps:this.getTokenProps})},t}(a.Component),Se="codeLine_lJS_",Me="codeLineNumber_Tfdd",Ie="codeLineContent_feaV";function Pe(e){let{line:t,classNames:n,showLineNumbers:l,getLineProps:r,getTokenProps:o}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const c=r({line:t,className:(0,m.Z)(n,l&&Se)}),s=t.map(((e,t)=>a.createElement("span",(0,k.Z)({key:t},o({token:e,key:t})))));return a.createElement("span",c,l?a.createElement(a.Fragment,null,a.createElement("span",{className:Me}),a.createElement("span",{className:Ie},s)):a.createElement(a.Fragment,null,s,a.createElement("br",null)))}const Ue={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function ze(e){let{code:t,className:n}=e;const[l,r]=(0,a.useState)(!1),o=(0,a.useRef)(void 0),c=(0,a.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;const a=document.createElement("textarea"),l=document.activeElement;a.value=e,a.setAttribute("readonly",""),a.style.contain="strict",a.style.position="absolute",a.style.left="-9999px",a.style.fontSize="12pt";const r=document.getSelection();let o=!1;r.rangeCount>0&&(o=r.getRangeAt(0)),n.append(a),a.select(),a.selectionStart=0,a.selectionEnd=e.length;let c=!1;try{c=document.execCommand("copy")}catch{}a.remove(),o&&(r.removeAllRanges(),r.addRange(o)),l&&l.focus()}(t),r(!0),o.current=window.setTimeout((()=>{r(!1)}),1e3)}),[t]);return(0,a.useEffect)((()=>()=>window.clearTimeout(o.current)),[]),a.createElement("button",{type:"button","aria-label":l?(0,v.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,v.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,v.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,m.Z)("clean-btn",n,Ue.copyButton,l&&Ue.copyButtonCopied),onClick:c},a.createElement("span",{className:Ue.copyButtonIcons,"aria-hidden":"true"},a.createElement("svg",{className:Ue.copyButtonIcon,viewBox:"0 0 24 24"},a.createElement("path",{d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})),a.createElement("svg",{className:Ue.copyButtonSuccessIcon,viewBox:"0 0 24 24"},a.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))))}const Ve="wordWrapButtonIcon_Bwma",De="wordWrapButtonEnabled_EoeP";function Re(e){let{className:t,onClick:n,isEnabled:l}=e;const r=(0,v.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return a.createElement("button",{type:"button",onClick:n,className:(0,m.Z)("clean-btn",t,l&&De),"aria-label":r,title:r},a.createElement("svg",{className:Ve,viewBox:"0 0 24 24","aria-hidden":"true"},a.createElement("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})))}function We(e){var t;let{children:n,className:l="",metastring:r,title:o,showLineNumbers:c,language:s}=e;const{prism:{defaultLanguage:i,magicComments:d}}=(0,P.L)(),u=null!=(t=null!=s?s:function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return null==t?void 0:t.replace(/language-/,"")}(l))?t:i,p=de(),f=function(){const[e,t]=(0,a.useState)(!1),[n,l]=(0,a.useState)(!1),r=(0,a.useRef)(null),o=(0,a.useCallback)((()=>{const n=r.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[r,e]),c=(0,a.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=r.current,n=e>t||r.current.querySelector("code").hasAttribute("style");l(n)}),[r]);return Ce(r,c),(0,a.useEffect)((()=>{c()}),[e,c]),(0,a.useEffect)((()=>(window.addEventListener("resize",c,{passive:!0}),()=>{window.removeEventListener("resize",c)})),[c]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:n,toggle:o}}(),h=function(e){var t,n;return null!=(t=null==e||null==(n=e.match(fe))?void 0:n.groups.title)?t:""}(r)||o,{lineClassNames:g,code:v}=be(n,{metastring:r,language:u,magicComments:d}),b=null!=c?c:function(e){return Boolean(null==e?void 0:e.includes("showLineNumbers"))}(r);return a.createElement(ye,{as:"div",className:(0,m.Z)(l,u&&!l.includes("language-"+u)&&"language-"+u)},h&&a.createElement("div",{className:ke.codeBlockTitle},h),a.createElement("div",{className:ke.codeBlockContent},a.createElement(je,(0,k.Z)({},_e,{theme:p,code:v,language:null!=u?u:"text"}),(e=>{let{className:t,tokens:n,getLineProps:l,getTokenProps:r}=e;return a.createElement("pre",{tabIndex:0,ref:f.codeBlockRef,className:(0,m.Z)(t,ke.codeBlock,"thin-scrollbar")},a.createElement("code",{className:(0,m.Z)(ke.codeBlockLines,b&&ke.codeBlockLinesWithNumbering)},n.map(((e,t)=>a.createElement(Pe,{key:t,line:e,getLineProps:l,getTokenProps:r,classNames:g[t],showLineNumbers:b})))))})),a.createElement("div",{className:ke.buttonGroup},(f.isEnabled||f.isCodeScrollable)&&a.createElement(Re,{className:ke.codeButton,onClick:()=>f.toggle(),isEnabled:f.isEnabled}),a.createElement(ze,{className:ke.codeButton,code:v}))))}function Fe(e){let{children:t,...n}=e;const l=(0,ie.Z)(),r=function(e){return a.Children.toArray(e).some((e=>(0,a.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),o="string"==typeof r?We:Ne;return a.createElement(o,(0,k.Z)({key:String(l)},n),r)}const qe="details_lb9f",Ge="isBrowser_bmU9",$e="collapsibleContent_i85q";function Je(e){return!!e&&("SUMMARY"===e.tagName||Je(e.parentElement))}function Qe(e,t){return!!e&&(e===t||Qe(e.parentElement,t))}function Xe(e){let{summary:t,children:n,...l}=e;const r=(0,ie.Z)(),o=(0,a.useRef)(null),{collapsed:c,setCollapsed:s}=(0,I.u)({initialState:!l.open}),[i,d]=(0,a.useState)(l.open);return a.createElement("details",(0,k.Z)({},l,{ref:o,open:i,"data-collapsed":c,className:(0,m.Z)(qe,r&&Ge,l.className),onMouseDown:e=>{Je(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;Je(t)&&Qe(t,o.current)&&(e.preventDefault(),c?(s(!1),d(!0)):s(!0))}}),null!=t?t:a.createElement("summary",null,"Details"),a.createElement(I.z,{lazy:!1,collapsed:c,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{s(e),d(!e)}},a.createElement("div",{className:$e},n)))}const Ye="details_b_Ee";function Ke(e){let{...t}=e;return a.createElement(Xe,(0,k.Z)({},t,{className:(0,m.Z)("alert alert--info",Ye,t.className)}))}function et(e){return a.createElement(oe.Z,e)}const tt="containsTaskList_mC6p";const nt="img_ev3q";const at="admonition_LlT9",lt="admonitionHeading_tbUL",rt="admonitionIcon_kALy",ot="admonitionContent_S0QG";const ct={note:{infimaClassName:"secondary",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 14 16"},a.createElement("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"}))},label:a.createElement(v.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)"},"note")},tip:{infimaClassName:"success",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 12 16"},a.createElement("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"}))},label:a.createElement(v.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)"},"tip")},danger:{infimaClassName:"danger",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 12 16"},a.createElement("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))},label:a.createElement(v.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)"},"danger")},info:{infimaClassName:"info",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 14 16"},a.createElement("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"}))},label:a.createElement(v.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)"},"info")},caution:{infimaClassName:"warning",iconComponent:function(){return a.createElement("svg",{viewBox:"0 0 16 16"},a.createElement("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"}))},label:a.createElement(v.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)"},"caution")}},st={secondary:"note",important:"info",success:"tip",warning:"danger"};function it(e){var t;const{mdxAdmonitionTitle:n,rest:l}=function(e){const t=a.Children.toArray(e),n=t.find((e=>{var t;return a.isValidElement(e)&&"mdxAdmonitionTitle"===(null==(t=e.props)?void 0:t.mdxType)})),l=a.createElement(a.Fragment,null,t.filter((e=>e!==n)));return{mdxAdmonitionTitle:n,rest:l}}(e.children);return{...e,title:null!=(t=e.title)?t:n,children:l}}const mt={head:function(e){const t=a.Children.map(e.children,(e=>a.isValidElement(e)?function(e){var t;if(null!=(t=e.props)&&t.mdxType&&e.props.originalType){const{mdxType:t,originalType:n,...l}=e.props;return a.createElement(e.props.originalType,l)}return e}(e):e));return a.createElement(se.Z,e,t)},code:function(e){const t=["a","b","big","i","span","em","strong","sup","sub","small"];return a.Children.toArray(e.children).every((e=>{var n;return"string"==typeof e&&!e.includes("\n")||(0,a.isValidElement)(e)&&t.includes(null==(n=e.props)?void 0:n.mdxType)}))?a.createElement("code",e):a.createElement(Fe,e)},a:function(e){return a.createElement(Z.Z,e)},pre:function(e){var t;return a.createElement(Fe,(0,a.isValidElement)(e.children)&&"code"===(null==(t=e.children.props)?void 0:t.originalType)?e.children.props:{...e})},details:function(e){const t=a.Children.toArray(e.children),n=t.find((e=>{var t;return a.isValidElement(e)&&"summary"===(null==(t=e.props)?void 0:t.mdxType)})),l=a.createElement(a.Fragment,null,t.filter((e=>e!==n)));return a.createElement(Ke,(0,k.Z)({},e,{summary:n}),l)},ul:function(e){return a.createElement("ul",(0,k.Z)({},e,{className:(t=e.className,(0,m.Z)(t,(null==t?void 0:t.includes("contains-task-list"))&&tt))}));var t},img:function(e){return a.createElement("img",(0,k.Z)({loading:"lazy"},e,{className:(t=e.className,(0,m.Z)(t,nt))}));var t},h1:e=>a.createElement(et,(0,k.Z)({as:"h1"},e)),h2:e=>a.createElement(et,(0,k.Z)({as:"h2"},e)),h3:e=>a.createElement(et,(0,k.Z)({as:"h3"},e)),h4:e=>a.createElement(et,(0,k.Z)({as:"h4"},e)),h5:e=>a.createElement(et,(0,k.Z)({as:"h5"},e)),h6:e=>a.createElement(et,(0,k.Z)({as:"h6"},e)),admonition:function(e){const{children:t,type:n,title:l,icon:r}=it(e),o=function(e){var t;const n=null!=(t=st[e])?t:e;return ct[n]||(console.warn('No admonition config found for admonition type "'+n+'". Using Info as fallback.'),ct.info)}(n),c=null!=l?l:o.label,{iconComponent:s}=o,i=null!=r?r:a.createElement(s,null);return a.createElement("div",{className:(0,m.Z)(g.k.common.admonition,g.k.common.admonitionType(e.type),"alert","alert--"+o.infimaClassName,at)},a.createElement("div",{className:lt},a.createElement("span",{className:rt},i),c),a.createElement("div",{className:ot},t))}};function dt(e){let{children:t}=e;return a.createElement(ce.Zo,{components:mt},t)}function ut(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=s();return t.hide_title||void 0!==n?null:e.title}();return a.createElement("div",{className:(0,m.Z)(g.k.docs.docMarkdown,"markdown")},n&&a.createElement("header",null,a.createElement(oe.Z,{as:"h1"},n)),a.createElement(dt,null,t))}var pt=n(31986);const ft="docItemContainer_Djhp",ht="docItemCol_VOVn";function gt(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=s(),n=(0,d.i)(),l=e.hide_table_of_contents,r=!l&&t.length>0;return{hidden:l,mobile:r?a.createElement(ne,null):void 0,desktop:!r||"desktop"!==n&&"ssr"!==n?void 0:a.createElement(re,null)}}();return a.createElement("div",{className:"row"},a.createElement("div",{className:(0,m.Z)("col",!n.hidden&&ht)},a.createElement(f.Z,null),a.createElement("div",{className:ft},a.createElement("article",null,a.createElement(pt.Z,null),a.createElement(h.Z,null),n.mobile,a.createElement(ut,null,t),a.createElement(M,null)),a.createElement(p,null))),n.desktop&&a.createElement("div",{className:"col col--3"},n.desktop))}function vt(e){const t="docs-doc-id-"+e.content.metadata.unversionedId,n=e.content;return a.createElement(c,{content:e.content},a.createElement(l.FG,{className:t},a.createElement(i,null),a.createElement(gt,null,a.createElement(n,null))))}},4966:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var a=n(87462),l=n(67294),r=n(95999),o=n(86010),c=n(39960);function s(e){const{permalink:t,title:n,subLabel:a,isNext:r}=e;return l.createElement(c.Z,{className:(0,o.Z)("pagination-nav__link",r?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t},a&&l.createElement("div",{className:"pagination-nav__sublabel"},a),l.createElement("div",{className:"pagination-nav__label"},n))}function i(e){const{previous:t,next:n}=e;return l.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,r.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages navigation",description:"The ARIA label for the docs pagination"})},t&&l.createElement(s,(0,a.Z)({},t,{subLabel:l.createElement(r.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc"},"Previous")})),n&&l.createElement(s,(0,a.Z)({},n,{subLabel:l.createElement(r.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc"},"Next"),isNext:!0})))}},44364:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var a=n(67294),l=n(86010),r=n(95999),o=n(35281),c=n(74477);function s(e){let{className:t}=e;const n=(0,c.E)();return n.badge?a.createElement("span",{className:(0,l.Z)(t,o.k.docs.docVersionBadge,"badge badge--secondary")},a.createElement(r.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label}},"Version: {versionLabel}")):null}},23120:(e,t,n)=>{"use strict";n.d(t,{Z:()=>g});var a=n(67294),l=n(86010),r=n(52263),o=n(39960),c=n(95999),s=n(94104),i=n(35281),m=n(60373),d=n(74477);const u={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(c.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:a.createElement("b",null,n.label)}},"This is unreleased documentation for {siteTitle} {versionLabel} version.")},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(c.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:a.createElement("b",null,n.label)}},"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.")}};function p(e){const t=u[e.versionMetadata.banner];return a.createElement(t,e)}function f(e){let{versionLabel:t,to:n,onClick:l}=e;return a.createElement(c.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:a.createElement("b",null,a.createElement(o.Z,{to:n,onClick:l},a.createElement(c.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label"},"latest version")))}},"For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).")}function h(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:o}}=(0,r.Z)(),{pluginId:c}=(0,s.gA)({failfast:!0}),{savePreferredVersionName:d}=(0,m.J)(c),{latestDocSuggestion:u,latestVersionSuggestion:h}=(0,s.Jo)(c),g=null!=u?u:(v=h).docs.find((e=>e.id===v.mainDocId));var v;return a.createElement("div",{className:(0,l.Z)(t,i.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert"},a.createElement("div",null,a.createElement(p,{siteTitle:o,versionMetadata:n})),a.createElement("div",{className:"margin-top--md"},a.createElement(f,{versionLabel:h.label,to:g.path,onClick:()=>d(h.name)})))}function g(e){let{className:t}=e;const n=(0,d.E)();return n.banner?a.createElement(h,{className:t,versionMetadata:n}):null}},92503:(e,t,n)=>{"use strict";n.d(t,{Z:()=>m});var a=n(87462),l=n(67294),r=n(86010),o=n(95999),c=n(86668);const s="anchorWithStickyNavbar_LWe7",i="anchorWithHideOnScrollNavbar_WYt5";function m(e){let{as:t,id:n,...m}=e;const{navbar:{hideOnScroll:d}}=(0,c.L)();return"h1"!==t&&n?l.createElement(t,(0,a.Z)({},m,{className:(0,r.Z)("anchor",d?i:s),id:n}),m.children,l.createElement("a",{className:"hash-link",href:"#"+n,title:(0,o.I)({id:"theme.common.headingLinkTitle",message:"Direct link to heading",description:"Title for link to heading"})},"\u200b")):l.createElement(t,(0,a.Z)({},m,{id:void 0}))}},87594:(e,t)=>{function n(e){let t,n=[];for(let a of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(a))n.push(parseInt(a,10));else if(t=a.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,a,l,r]=t;if(a&&r){a=parseInt(a),r=parseInt(r);const e=a<r?1:-1;"-"!==l&&".."!==l&&"\u2025"!==l||(r+=e);for(let t=a;t!==r;t+=e)n.push(t)}}return n}t.default=n,e.exports=n}}]); \ No newline at end of file diff --git a/assets/js/17d429ab.ba072efe.js b/assets/js/17d429ab.ba072efe.js new file mode 100644 index 00000000000..83752e307f0 --- /dev/null +++ b/assets/js/17d429ab.ba072efe.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9390],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var i=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,i,a=function(e,t){if(null==e)return{};var n,i,a={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=i.createContext({}),d=function(e){var t=i.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=d(e.components);return i.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},c=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=d(n),m=a,y=c["".concat(s,".").concat(m)]||c[m]||u[m]||r;return n?i.createElement(y,l(l({ref:t},p),{},{components:n})):i.createElement(y,l({ref:t},p))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,l=new Array(r);l[0]=c;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:a,l[1]=o;for(var d=2;d<r;d++)l[d]=n[d];return i.createElement.apply(null,l)}return i.createElement.apply(null,n)}c.displayName="MDXCreateElement"},15387:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>u,frontMatter:()=>r,metadata:()=>o,toc:()=>d});var i=n(87462),a=(n(67294),n(3905));const r={sidebar_position:3},l="Advanced Serialization",o={unversionedId:"guides/serialization/advanced",id:"guides/serialization/advanced",title:"Advanced Serialization",description:"This page goes into depth about Serialization, for the basics see Data Types.",source:"@site/docs/guides/serialization/advanced.md",sourceDirName:"guides/serialization",slug:"/guides/serialization/advanced",permalink:"/Mirage/docs/guides/serialization/advanced",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/serialization/advanced.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"docs",previous:{title:"Data Types",permalink:"/Mirage/docs/guides/serialization/data-types"},next:{title:"Generics",permalink:"/Mirage/docs/guides/serialization/generics"}},s={},d=[{value:"Rules And Tips",id:"rules-and-tips",level:2},{value:"Unsupported Types",id:"unsupported-types",level:3},{value:"Built-in Read Write Functions",id:"built-in-read-write-functions",level:3},{value:"NetworkIdentity, GameObject, Transform",id:"networkidentity-gameobject-transform",level:4},{value:"Generated Read Write Functions",id:"generated-read-write-functions",level:3},{value:"Classes and Structs",id:"classes-and-structs",level:4},{value:"Enums",id:"enums",level:4},{value:"Collections",id:"collections",level:4},{value:"Adding Custom Read Write functions",id:"adding-custom-read-write-functions",level:2},{value:"Properties Example",id:"properties-example",level:4},{value:"Unsupported type Example",id:"unsupported-type-example",level:4},{value:"Debugging",id:"debugging",level:2}],p={toc:d};function u(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,i.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"advanced-serialization"},"Advanced Serialization"),(0,a.kt)("p",null,"This page goes into depth about Serialization, for the basics see ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/serialization/data-types"},"Data Types"),"."),(0,a.kt)("p",null,"Mirage creates ",(0,a.kt)("inlineCode",{parentName:"p"},"Serialize")," and ",(0,a.kt)("inlineCode",{parentName:"p"},"Deserialize")," functions for types using Weaver. Weaver edits the dll after unity compiles\nthem using ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/jbevain/cecil"},"Mono.Cecil"),". This allows Mirage to have a lot of complex features like\nSyncVar, ClientRpc, and Message Serialization without the user needing to manually set everything up."),(0,a.kt)("h2",{id:"rules-and-tips"},"Rules And Tips"),(0,a.kt)("p",null,"There are some rules and limits for what Weaver can do. Some features add complexity and are hard to maintain so have\nnot been implemented. These features are not impossible to implement and could be added if there is a high demand for them."),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"You should be able to write Custom Read/Write functions for any type, and Weaver will use them.",(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"This means if there is an unsupported type like ",(0,a.kt)("inlineCode",{parentName:"li"},"int[][]")," creating a custom Read/Write function will allow you to\nsync ",(0,a.kt)("inlineCode",{parentName:"li"},"int[][]")," in SyncVar/ClientRpc/etc"))),(0,a.kt)("li",{parentName:"ul"},"If you have a type that has a field that is not able to be serialized, you can mark that field with\n",(0,a.kt)("inlineCode",{parentName:"li"},"[System.NonSerialized]")," and weaver will ignore it")),(0,a.kt)("h3",{id:"unsupported-types"},"Unsupported Types"),(0,a.kt)("p",null,"Some of these types are unsupported due to the complexity they would add, as mentioned above."),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("p",{parentName:"admonition"},"Types in this list can have custom writers.")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Jagged and Multidimensional array"),(0,a.kt)("li",{parentName:"ul"},"Types that Inherit from ",(0,a.kt)("inlineCode",{parentName:"li"},"UnityEngine.Component")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"UnityEngine.Object")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"UnityEngine.ScriptableObject")),(0,a.kt)("li",{parentName:"ul"},"Generic Types, eg ",(0,a.kt)("inlineCode",{parentName:"li"},"MyData<T>"),(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"Custom Read/Write must declare T, eg ",(0,a.kt)("inlineCode",{parentName:"li"},"MyData<int>")))),(0,a.kt)("li",{parentName:"ul"},"Interfaces"),(0,a.kt)("li",{parentName:"ul"},"Types that reference themselves")),(0,a.kt)("h3",{id:"built-in-read-write-functions"},"Built-in Read Write Functions"),(0,a.kt)("p",null,"Mirage provides some built-in Read/Write Functions. They can be found in ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkReaderExtensions")," and ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkWriterExtensions"),"."),(0,a.kt)("p",null,"This is a non-compete list of types that have built-in functions, check the classes above to see the full list."),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Most ",(0,a.kt)("a",{parentName:"p",href:"https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/built-in-types"},"C# primitive types"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Common Unity structs"),(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"Vector3"),(0,a.kt)("li",{parentName:"ul"},"Quaternion"),(0,a.kt)("li",{parentName:"ul"},"Rect"),(0,a.kt)("li",{parentName:"ul"},"Ray"),(0,a.kt)("li",{parentName:"ul"},"Guid"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"NetworkIdentity, GameObject, Transform\n"))),(0,a.kt)("h4",{id:"networkidentity-gameobject-transform"},"NetworkIdentity, GameObject, Transform"),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"NetId")," of the object is sent over the network, and the object with the same ",(0,a.kt)("inlineCode",{parentName:"p"},"NetId")," is returned on the other side.\nIf the ",(0,a.kt)("inlineCode",{parentName:"p"},"NetId")," is zero or an object is not found then ",(0,a.kt)("inlineCode",{parentName:"p"},"null")," will be returned."),(0,a.kt)("h3",{id:"generated-read-write-functions"},"Generated Read Write Functions"),(0,a.kt)("p",null,"Weaver will generate read/write functions for:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Classes or Structs"),(0,a.kt)("li",{parentName:"ul"},"Enums"),(0,a.kt)("li",{parentName:"ul"},"Arrays",(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"eg ",(0,a.kt)("inlineCode",{parentName:"li"},"int[]")))),(0,a.kt)("li",{parentName:"ul"},"ArraySegments",(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"eg ",(0,a.kt)("inlineCode",{parentName:"li"},"ArraySegment<int>")))),(0,a.kt)("li",{parentName:"ul"},"Lists",(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"eg ",(0,a.kt)("inlineCode",{parentName:"li"},"List<int>"))))),(0,a.kt)("h4",{id:"classes-and-structs"},"Classes and Structs"),(0,a.kt)("p",null,"Weaver will read/write every public field in the type unless the field is marked with ",(0,a.kt)("inlineCode",{parentName:"p"},"[System.NonSerialized]"),".\nIf there is an unsupported type in the class or struct Weaver will fail to make read/write functions for it."),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"The weaver does not check properties")),(0,a.kt)("h4",{id:"enums"},"Enums"),(0,a.kt)("p",null,"Weaver will use the underlying type of an enum to read and write them. By default this is ",(0,a.kt)("inlineCode",{parentName:"p"},"int"),"."),(0,a.kt)("p",null,"For example, ",(0,a.kt)("inlineCode",{parentName:"p"},"Switch")," will use the ",(0,a.kt)("inlineCode",{parentName:"p"},"byte")," read/write functions to be serialized"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public enum Switch : byte\n{\n Left,\n Middle,\n Right,\n}\n")),(0,a.kt)("h4",{id:"collections"},"Collections"),(0,a.kt)("p",null,"Weaver will generate writes for the collections listed above. Weaver will use the element's read/write function, so it must\nbe a supported type or have a custom read/write function."),(0,a.kt)("p",null,"For example:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"float[]")," is a supported type because Mirage has a built-in read/write function for ",(0,a.kt)("inlineCode",{parentName:"li"},"float"),"."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"MyData[]")," is a supported type as Weaver is able to generate a read/write function for ",(0,a.kt)("inlineCode",{parentName:"li"},"MyData")," ")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct MyData\n{\n public int someValue;\n public float anotherValue;\n}\n")),(0,a.kt)("h2",{id:"adding-custom-read-write-functions"},"Adding Custom Read Write functions"),(0,a.kt)("p",null,"Custom read/write functions are static methods like this:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteMyType(this NetworkWriter writer, MyType value)\n{\n // write MyType data here\n}\n\npublic static MyType ReadMyType(this NetworkReader reader)\n{\n // read MyType data here\n}\n")),(0,a.kt)("p",null,"It is best practice to make read/write ",(0,a.kt)("a",{parentName:"p",href:"https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/extension-methods"},"extension methods")," so they can be called like ",(0,a.kt)("inlineCode",{parentName:"p"},"writer.WriteMyType(value)"),"."),(0,a.kt)("p",null,"It is a good idea to call them ",(0,a.kt)("inlineCode",{parentName:"p"},"ReadMyType")," and ",(0,a.kt)("inlineCode",{parentName:"p"},"WriteMyType")," so it is obvious what type they are for. However the name of the function doesn't matter, weaver should be able to find it no matter what it is called."),(0,a.kt)("h4",{id:"properties-example"},"Properties Example"),(0,a.kt)("p",null,"Weaver won't write properties, but a custom writer can be used to send them over the network."),(0,a.kt)("p",null,"This can be useful if you want to have ",(0,a.kt)("inlineCode",{parentName:"p"},"private set")," for your properties"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct MyData\n{\n public int someValue { get; private set; }\n public float anotherValue { get; private set; }\n\n public MyData(int someValue, float anotherValue)\n {\n this.someValue = someValue;\n this.anotherValue = anotherValue;\n }\n}\n\npublic static class CustomReadWriteFunctions \n{\n public static void WriteMyType(this NetworkWriter writer, MyData value)\n {\n writer.WriteInt32(value.someValue);\n writer.WriteSingle(value.anotherValue);\n }\n\n public static MyData ReadMyType(this NetworkReader reader)\n {\n return new MyData(reader.ReadInt32(), reader.ReadSingle());\n }\n}\n")),(0,a.kt)("h4",{id:"unsupported-type-example"},"Unsupported type Example"),(0,a.kt)("p",null,"Rigidbody is an unsupported type because it inherits from ",(0,a.kt)("inlineCode",{parentName:"p"},"Component"),". But a custom writer can be added so that it is\nsynced using a NetworkIdentity if one is attached."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct MyCollision\n{\n public Vector3 force;\n public Rigidbody rigidbody;\n}\n\npublic static class CustomReadWriteFunctions\n{\n public static void WriteMyCollision(this NetworkWriter writer, MyCollision value)\n {\n writer.WriteVector3(value.force);\n\n NetworkIdentity networkIdentity = value.rigidbody.GetComponent<NetworkIdentity>();\n writer.WriteNetworkIdentity(networkIdentity);\n }\n\n public static MyCollision ReadMyCollision(this NetworkReader reader)\n {\n Vector3 force = reader.ReadVector3();\n\n NetworkIdentity networkIdentity = reader.ReadNetworkIdentity();\n Rigidbody rigidBody = networkIdentity != null\n ? networkIdentity.GetComponent<Rigidbody>()\n : null;\n\n return new MyCollision\n {\n force = force,\n rigidbody = rigidBody,\n };\n }\n}\n")),(0,a.kt)("p",null,"Above are functions for ",(0,a.kt)("inlineCode",{parentName:"p"},"MyCollision"),", but instead, you could add functions for ",(0,a.kt)("inlineCode",{parentName:"p"},"Rigidbody")," and let weaver would generate a writer for ",(0,a.kt)("inlineCode",{parentName:"p"},"MyCollision"),"."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static class CustomReadWriteFunctions\n{\n public static void WriteRigidbody(this NetworkWriter writer, Rigidbody rigidbody)\n {\n NetworkIdentity networkIdentity = rigidbody.GetComponent<NetworkIdentity>();\n writer.WriteNetworkIdentity(networkIdentity);\n }\n\n public static Rigidbody ReadRigidbody(this NetworkReader reader)\n {\n NetworkIdentity networkIdentity = reader.ReadNetworkIdentity();\n Rigidbody rigidBody = networkIdentity != null\n ? networkIdentity.GetComponent<Rigidbody>()\n : null;\n\n return rigidBody;\n }\n}\n")),(0,a.kt)("h2",{id:"debugging"},"Debugging"),(0,a.kt)("p",null,"You can use tools like ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/0xd4d/dnSpy"},"dnSpy")," or ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/icsharpcode/ILSpy"},"ILSpy")," to view the complied code after Weaver has altered it. This can help with understanding and debug what Mirage and Weaver does."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/18691bba.7cb8fdd7.js b/assets/js/18691bba.7cb8fdd7.js new file mode 100644 index 00000000000..e6fd1b0a325 --- /dev/null +++ b/assets/js/18691bba.7cb8fdd7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7706],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var i=n.createContext({}),p=function(e){var t=n.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},s=function(e){var t=p(e.components);return n.createElement(i.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),g=p(r),f=a,d=g["".concat(i,".").concat(f)]||g[f]||u[f]||o;return r?n.createElement(d,l(l({ref:t},s),{},{components:r})):n.createElement(d,l({ref:t},s))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,l=new Array(o);l[0]=g;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:a,l[1]=c;for(var p=2;p<o;p++)l[p]=r[p];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}g.displayName="MDXCreateElement"},35646:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>p});var n=r(87462),a=(r(67294),r(3905));const o={id:"RpcDelegate",title:"RpcDelegate"},l="Delegate RpcDelegate",c={unversionedId:"reference/Mirage.RemoteCalls/RpcDelegate",id:"reference/Mirage.RemoteCalls/RpcDelegate",title:"RpcDelegate",description:"Delegate for ServerRpc functions.",source:"@site/docs/reference/Mirage.RemoteCalls/RpcDelegate.md",sourceDirName:"reference/Mirage.RemoteCalls",slug:"/reference/Mirage.RemoteCalls/RpcDelegate",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcDelegate",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.RemoteCalls/RpcDelegate.md",tags:[],version:"current",frontMatter:{id:"RpcDelegate",title:"RpcDelegate"},sidebar:"api",previous:{title:"RequestDelegate<T>",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RequestDelegate-1"},next:{title:"RpcInvokeType",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcInvokeType"}},i={},p=[{value:"Syntax",id:"syntax",level:5}],s={toc:p};function u(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"delegate-rpcdelegate"},"Delegate RpcDelegate"),(0,a.kt)("p",null,"Delegate for ServerRpc functions."),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public delegate void RpcDelegate(NetworkBehaviour obj, NetworkReader reader, INetworkPlayer senderPlayer, int replyId);\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/18c381f9.7153a423.js b/assets/js/18c381f9.7153a423.js new file mode 100644 index 00000000000..0c753241d3d --- /dev/null +++ b/assets/js/18c381f9.7153a423.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6812],{3905:(e,r,t)=>{t.d(r,{Zo:()=>u,kt:()=>d});var i=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);r&&(i=i.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,i)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?a(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function l(e,r){if(null==e)return{};var t,i,n=function(e,r){if(null==e)return{};var t,i,n={},a=Object.keys(e);for(i=0;i<a.length;i++)t=a[i],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)t=a[i],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var s=i.createContext({}),c=function(e){var r=i.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},u=function(e){var r=c(e.components);return i.createElement(s.Provider,{value:r},e.children)},k={inlineCode:"code",wrapper:function(e){var r=e.children;return i.createElement(i.Fragment,{},r)}},p=i.forwardRef((function(e,r){var t=e.components,n=e.mdxType,a=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),p=c(t),d=n,h=p["".concat(s,".").concat(d)]||p[d]||k[d]||a;return t?i.createElement(h,o(o({ref:r},u),{},{components:t})):i.createElement(h,o({ref:r},u))}));function d(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var a=t.length,o=new Array(a);o[0]=p;var l={};for(var s in r)hasOwnProperty.call(r,s)&&(l[s]=r[s]);l.originalType=e,l.mdxType="string"==typeof e?e:n,o[1]=l;for(var c=2;c<a;c++)o[c]=t[c];return i.createElement.apply(null,o)}return i.createElement.apply(null,t)}p.displayName="MDXCreateElement"},88529:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>s,contentTitle:()=>o,default:()=>k,frontMatter:()=>a,metadata:()=>l,toc:()=>c});var i=t(87462),n=(t(67294),t(3905));const a={id:"NetworkTransformChild",title:"NetworkTransformChild"},o="Class NetworkTransformChild",l={unversionedId:"reference/Mirage/NetworkTransformChild",id:"reference/Mirage/NetworkTransformChild",title:"NetworkTransformChild",description:"A component to synchronize the position of child transforms of networked objects.",source:"@site/docs/reference/Mirage/NetworkTransformChild.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkTransformChild",permalink:"/Mirage/docs/reference/Mirage/NetworkTransformChild",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkTransformChild.md",tags:[],version:"current",frontMatter:{id:"NetworkTransformChild",title:"NetworkTransformChild"},sidebar:"api",previous:{title:"NetworkTransformBase",permalink:"/Mirage/docs/reference/Mirage/NetworkTransformBase"},next:{title:"NetworkVisibility.VisibilityChanged",permalink:"/Mirage/docs/reference/Mirage/NetworkVisibility.VisibilityChanged"}},s={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Target",id:"target",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Properties",id:"properties",level:3},{value:"TargetComponent",id:"targetcomponent",level:4},{value:"Declaration",id:"declaration-1",level:5}],u={toc:c};function k(e){let{components:r,...t}=e;return(0,n.kt)("wrapper",(0,i.Z)({},u,t,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networktransformchild"},"Class NetworkTransformChild"),(0,n.kt)("p",null,"A component to synchronize the position of child transforms of networked objects.\nThere must be a NetworkTransform on the root object of the hierarchy. There can be multiple NetworkTransformChild components on an object. This does not use physics for synchronization, it simply synchronizes the localPosition and localRotation of the child transform and lerps towards the received values."),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.NetworkBehaviour"),(0,n.kt)("div",{class:"level",style:{"--data-index":2}},"Mirage.NetworkTransformBase")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show"),(0,n.kt)("p",null,"Mirage.NetworkTransformBase.ClientAuthority"),(0,n.kt)("p",null,"Mirage.NetworkTransformBase.LocalPositionSensitivity"),(0,n.kt)("p",null,"Mirage.NetworkTransformBase.LocalRotationSensitivity"),(0,n.kt)("p",null,"Mirage.NetworkTransformBase.LocalScaleSensitivity"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour._nextSyncTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncSettings"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsHost"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalPlayer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServerOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClientOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.HasAuthority"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Server"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ServerObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Client"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClientObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Owner"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.World"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetworkTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.BehaviourId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarDirtyBits"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnySyncObjectDirty"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.syncObjects"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Identity"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ComponentIndex"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarEqual","<","T",">","(T, T)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClearDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnyDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.GetRpcCount()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class NetworkTransformChild : NetworkTransformBase\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"target"},"Target"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Transform Target\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"targetcomponent"},"TargetComponent"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected override Transform TargetComponent { get; }\n")))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/198a2045.41142769.js b/assets/js/198a2045.41142769.js new file mode 100644 index 00000000000..1983aedf5b6 --- /dev/null +++ b/assets/js/198a2045.41142769.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7608],{3905:(e,t,a)=>{a.d(t,{Zo:()=>o,kt:()=>c});var l=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,l)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(null==e)return{};var a,l,r=function(e,t){if(null==e)return{};var a,l,r={},n=Object.keys(e);for(l=0;l<n.length;l++)a=n[l],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(l=0;l<n.length;l++)a=n[l],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var m=l.createContext({}),p=function(e){var t=l.useContext(m),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},o=function(e){var t=p(e.components);return l.createElement(m.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},k=l.forwardRef((function(e,t){var a=e.components,r=e.mdxType,n=e.originalType,m=e.parentName,o=d(e,["components","mdxType","originalType","parentName"]),k=p(a),c=r,s=k["".concat(m,".").concat(c)]||k[c]||u[c]||n;return a?l.createElement(s,i(i({ref:t},o),{},{components:a})):l.createElement(s,i({ref:t},o))}));function c(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var n=a.length,i=new Array(n);i[0]=k;var d={};for(var m in t)hasOwnProperty.call(t,m)&&(d[m]=t[m]);d.originalType=e,d.mdxType="string"==typeof e?e:r,i[1]=d;for(var p=2;p<n;p++)i[p]=a[p];return l.createElement.apply(null,i)}return l.createElement.apply(null,a)}k.displayName="MDXCreateElement"},55063:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>m,contentTitle:()=>i,default:()=>u,frontMatter:()=>n,metadata:()=>d,toc:()=>p});var l=a(87462),r=(a(67294),a(3905));const n={id:"SyncList-1",title:"SyncList<T>"},i="Class SyncList<T>",d={unversionedId:"reference/Mirage.Collections/SyncList-1",id:"reference/Mirage.Collections/SyncList-1",title:"SyncList<T>",description:"Inheritance",source:"@site/docs/reference/Mirage.Collections/SyncList-1.md",sourceDirName:"reference/Mirage.Collections",slug:"/reference/Mirage.Collections/SyncList-1",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncList-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Collections/SyncList-1.md",tags:[],version:"current",frontMatter:{id:"SyncList-1",title:"SyncList<T>"},sidebar:"api",previous:{title:"SyncList<T>.Enumerator",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncList-1.Enumerator"},next:{title:"SyncObjectUtils",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncObjectUtils"}},m={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Constructors",id:"constructors",level:3},{value:"SyncList()",id:"synclist",level:4},{value:"Declaration",id:"declaration",level:5},{value:"SyncList(IEqualityComparer<T>)",id:"synclistiequalitycomparert",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"SyncList(IList<T>, IEqualityComparer<T>)",id:"synclistilistt-iequalitycomparert",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Properties",id:"properties",level:3},{value:"Count",id:"count",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"IsReadOnly",id:"isreadonly",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"IsDirty",id:"isdirty",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"ItemInt32",id:"itemint32",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Methods",id:"methods",level:3},{value:"ISyncObject.SetShouldSyncFrom(Boolean)",id:"isyncobjectsetshouldsyncfromboolean",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"ISyncObject.SetNetworkBehaviour(NetworkBehaviour)",id:"isyncobjectsetnetworkbehaviournetworkbehaviour",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Flush()",id:"flush",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Reset()",id:"reset",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"OnSerializeAll(NetworkWriter)",id:"onserializeallnetworkwriter",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"OnSerializeDelta(NetworkWriter)",id:"onserializedeltanetworkwriter",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"OnDeserializeAll(NetworkReader)",id:"ondeserializeallnetworkreader",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"OnDeserializeDelta(NetworkReader)",id:"ondeserializedeltanetworkreader",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"Add(T)",id:"addt",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"AddRange(IEnumerable<T>)",id:"addrangeienumerablet",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"Clear()",id:"clear",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Contains(T)",id:"containst",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"Parameters",id:"parameters-10",level:5},{value:"Returns",id:"returns",level:5},{value:"CopyTo(T[], Int32)",id:"copytot-int32",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"Parameters",id:"parameters-11",level:5},{value:"IndexOf(T)",id:"indexoft",level:4},{value:"Declaration",id:"declaration-20",level:5},{value:"Parameters",id:"parameters-12",level:5},{value:"Returns",id:"returns-1",level:5},{value:"FindIndex(Predicate<T>)",id:"findindexpredicatet",level:4},{value:"Declaration",id:"declaration-21",level:5},{value:"Parameters",id:"parameters-13",level:5},{value:"Returns",id:"returns-2",level:5},{value:"Find(Predicate<T>)",id:"findpredicatet",level:4},{value:"Declaration",id:"declaration-22",level:5},{value:"Parameters",id:"parameters-14",level:5},{value:"Returns",id:"returns-3",level:5},{value:"FindAll(Predicate<T>)",id:"findallpredicatet",level:4},{value:"Declaration",id:"declaration-23",level:5},{value:"Parameters",id:"parameters-15",level:5},{value:"Returns",id:"returns-4",level:5},{value:"Insert(Int32, T)",id:"insertint32-t",level:4},{value:"Declaration",id:"declaration-24",level:5},{value:"Parameters",id:"parameters-16",level:5},{value:"InsertRange(Int32, IEnumerable<T>)",id:"insertrangeint32-ienumerablet",level:4},{value:"Declaration",id:"declaration-25",level:5},{value:"Parameters",id:"parameters-17",level:5},{value:"Remove(T)",id:"removet",level:4},{value:"Declaration",id:"declaration-26",level:5},{value:"Parameters",id:"parameters-18",level:5},{value:"Returns",id:"returns-5",level:5},{value:"RemoveAt(Int32)",id:"removeatint32",level:4},{value:"Declaration",id:"declaration-27",level:5},{value:"Parameters",id:"parameters-19",level:5},{value:"RemoveAll(Predicate<T>)",id:"removeallpredicatet",level:4},{value:"Declaration",id:"declaration-28",level:5},{value:"Parameters",id:"parameters-20",level:5},{value:"Returns",id:"returns-6",level:5},{value:"SetItemDirty(T)",id:"setitemdirtyt",level:4},{value:"Declaration",id:"declaration-29",level:5},{value:"Parameters",id:"parameters-21",level:5},{value:"SetItemDirtyAt(Int32)",id:"setitemdirtyatint32",level:4},{value:"Declaration",id:"declaration-30",level:5},{value:"Parameters",id:"parameters-22",level:5},{value:"GetEnumerator()",id:"getenumerator",level:4},{value:"Declaration",id:"declaration-31",level:5},{value:"Returns",id:"returns-7",level:5},{value:"IEnumerable<T>.GetEnumerator()",id:"ienumerabletgetenumerator",level:4},{value:"Declaration",id:"declaration-32",level:5},{value:"Returns",id:"returns-8",level:5},{value:"IEnumerable.GetEnumerator()",id:"ienumerablegetenumerator",level:4},{value:"Declaration",id:"declaration-33",level:5},{value:"Returns",id:"returns-9",level:5}],o={toc:p};function u(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,l.Z)({},o,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-synclistt"},"Class SyncList","<","T",">"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class SyncList<T> : IList<T>, ICollection<T>, IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable, ISyncObject\n")),(0,r.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"constructors"},"Constructors"),(0,r.kt)("h4",{id:"synclist"},"SyncList()"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncList()\n")),(0,r.kt)("h4",{id:"synclistiequalitycomparert"},"SyncList(IEqualityComparer","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncList(IEqualityComparer<T> comparer)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEqualityComparer","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"comparer"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"synclistilistt-iequalitycomparert"},"SyncList(IList","<","T",">",", IEqualityComparer","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncList(IList<T> objects, IEqualityComparer<T> comparer = null)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IList","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"objects"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEqualityComparer","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"comparer"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"properties"},"Properties"),(0,r.kt)("h4",{id:"count"},"Count"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public int Count { get; }\n")),(0,r.kt)("h4",{id:"isreadonly"},"IsReadOnly"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsReadOnly { get; }\n")),(0,r.kt)("h4",{id:"isdirty"},"IsDirty"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsDirty { get; }\n")),(0,r.kt)("h4",{id:"itemint32"},"Item","[Int32]"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public T this[int i] { get; set; }\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"isyncobjectsetshouldsyncfromboolean"},"ISyncObject.SetShouldSyncFrom(Boolean)"),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void ISyncObject.SetShouldSyncFrom(bool shouldSync)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"shouldSync"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"isyncobjectsetnetworkbehaviournetworkbehaviour"},"ISyncObject.SetNetworkBehaviour(NetworkBehaviour)"),(0,r.kt)("h5",{id:"declaration-8"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void ISyncObject.SetNetworkBehaviour(NetworkBehaviour networkBehaviour)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,r.kt)("td",{parentName:"tr",align:null},"networkBehaviour"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"flush"},"Flush()"),(0,r.kt)("h5",{id:"declaration-9"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Flush()\n")),(0,r.kt)("h4",{id:"reset"},"Reset()"),(0,r.kt)("h5",{id:"declaration-10"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Reset()\n")),(0,r.kt)("h4",{id:"onserializeallnetworkwriter"},"OnSerializeAll(NetworkWriter)"),(0,r.kt)("h5",{id:"declaration-11"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnSerializeAll(NetworkWriter writer)\n")),(0,r.kt)("h5",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,r.kt)("td",{parentName:"tr",align:null},"writer"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"onserializedeltanetworkwriter"},"OnSerializeDelta(NetworkWriter)"),(0,r.kt)("h5",{id:"declaration-12"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnSerializeDelta(NetworkWriter writer)\n")),(0,r.kt)("h5",{id:"parameters-5"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,r.kt)("td",{parentName:"tr",align:null},"writer"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"ondeserializeallnetworkreader"},"OnDeserializeAll(NetworkReader)"),(0,r.kt)("h5",{id:"declaration-13"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnDeserializeAll(NetworkReader reader)\n")),(0,r.kt)("h5",{id:"parameters-6"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,r.kt)("td",{parentName:"tr",align:null},"reader"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"ondeserializedeltanetworkreader"},"OnDeserializeDelta(NetworkReader)"),(0,r.kt)("h5",{id:"declaration-14"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnDeserializeDelta(NetworkReader reader)\n")),(0,r.kt)("h5",{id:"parameters-7"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,r.kt)("td",{parentName:"tr",align:null},"reader"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"addt"},"Add(T)"),(0,r.kt)("h5",{id:"declaration-15"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Add(T item)\n")),(0,r.kt)("h5",{id:"parameters-8"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"addrangeienumerablet"},"AddRange(IEnumerable","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-16"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void AddRange(IEnumerable<T> range)\n")),(0,r.kt)("h5",{id:"parameters-9"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"range"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"clear"},"Clear()"),(0,r.kt)("h5",{id:"declaration-17"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Clear()\n")),(0,r.kt)("h4",{id:"containst"},"Contains(T)"),(0,r.kt)("h5",{id:"declaration-18"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Contains(T item)\n")),(0,r.kt)("h5",{id:"parameters-10"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"copytot-int32"},"CopyTo(T[], Int32)"),(0,r.kt)("h5",{id:"declaration-19"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void CopyTo(T[] array, int arrayIndex)\n")),(0,r.kt)("h5",{id:"parameters-11"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"{T}[]"),(0,r.kt)("td",{parentName:"tr",align:null},"array"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"arrayIndex"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"indexoft"},"IndexOf(T)"),(0,r.kt)("h5",{id:"declaration-20"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public int IndexOf(T item)\n")),(0,r.kt)("h5",{id:"parameters-12"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-1"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"findindexpredicatet"},"FindIndex(Predicate","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-21"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public int FindIndex(Predicate<T> match)\n")),(0,r.kt)("h5",{id:"parameters-13"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Predicate","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"match"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-2"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"findpredicatet"},"Find(Predicate","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-22"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public T Find(Predicate<T> match)\n")),(0,r.kt)("h5",{id:"parameters-14"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Predicate","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"match"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-3"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"findallpredicatet"},"FindAll(Predicate","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-23"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public List<T> FindAll(Predicate<T> match)\n")),(0,r.kt)("h5",{id:"parameters-15"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Predicate","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"match"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-4"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.List","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"insertint32-t"},"Insert(Int32, T)"),(0,r.kt)("h5",{id:"declaration-24"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Insert(int index, T item)\n")),(0,r.kt)("h5",{id:"parameters-16"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"index"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"insertrangeint32-ienumerablet"},"InsertRange(Int32, IEnumerable","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-25"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void InsertRange(int index, IEnumerable<T> range)\n")),(0,r.kt)("h5",{id:"parameters-17"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"index"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"range"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"removet"},"Remove(T)"),(0,r.kt)("h5",{id:"declaration-26"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Remove(T item)\n")),(0,r.kt)("h5",{id:"parameters-18"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-5"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"removeatint32"},"RemoveAt(Int32)"),(0,r.kt)("h5",{id:"declaration-27"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveAt(int index)\n")),(0,r.kt)("h5",{id:"parameters-19"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"index"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"removeallpredicatet"},"RemoveAll(Predicate","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-28"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public int RemoveAll(Predicate<T> match)\n")),(0,r.kt)("h5",{id:"parameters-20"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Predicate","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"match"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-6"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"setitemdirtyt"},"SetItemDirty(T)"),(0,r.kt)("p",null,"Can be used to set item dirty manually.\nshould be used with classes to avoid having to clear field first\nWill invoke OnSet"),(0,r.kt)("h5",{id:"declaration-29"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void SetItemDirty(T item)\n")),(0,r.kt)("h5",{id:"parameters-21"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"setitemdirtyatint32"},"SetItemDirtyAt(Int32)"),(0,r.kt)("p",null,"Can be used to set item dirty manually.\nshould be used with classes to avoid having to clear field first"),(0,r.kt)("h5",{id:"declaration-30"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void SetItemDirtyAt(int index)\n")),(0,r.kt)("h5",{id:"parameters-22"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"index"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"getenumerator"},"GetEnumerator()"),(0,r.kt)("h5",{id:"declaration-31"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncList<T>.Enumerator GetEnumerator()\n")),(0,r.kt)("h5",{id:"returns-7"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Collections.SyncList.Enumerator","<",">"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"ienumerabletgetenumerator"},"IEnumerable","<","T",">",".GetEnumerator()"),(0,r.kt)("h5",{id:"declaration-32"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"IEnumerator<T> IEnumerable<T>.GetEnumerator()\n")),(0,r.kt)("h5",{id:"returns-8"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerator","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"ienumerablegetenumerator"},"IEnumerable.GetEnumerator()"),(0,r.kt)("h5",{id:"declaration-33"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"IEnumerator IEnumerable.GetEnumerator()\n")),(0,r.kt)("h5",{id:"returns-9"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.IEnumerator"),(0,r.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1a180147.1015af7c.js b/assets/js/1a180147.1015af7c.js new file mode 100644 index 00000000000..0f24db36a66 --- /dev/null +++ b/assets/js/1a180147.1015af7c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1183],{3905:(e,n,t)=>{t.d(n,{Zo:()=>c,kt:()=>w});var a=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function r(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?s(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e,n){if(null==e)return{};var t,a,o=function(e,n){if(null==e)return{};var t,a,o={},s=Object.keys(e);for(a=0;a<s.length;a++)t=s[a],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)t=s[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var l=a.createContext({}),p=function(e){var n=a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):r(r({},n),e)),t},c=function(e){var n=p(e.components);return a.createElement(l.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},u=a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,s=e.originalType,l=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),u=p(t),w=o,h=u["".concat(l,".").concat(w)]||u[w]||d[w]||s;return t?a.createElement(h,r(r({ref:n},c),{},{components:t})):a.createElement(h,r({ref:n},c))}));function w(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var s=t.length,r=new Array(s);r[0]=u;var i={};for(var l in n)hasOwnProperty.call(n,l)&&(i[l]=n[l]);i.originalType=e,i.mdxType="string"==typeof e?e:o,r[1]=i;for(var p=2;p<s;p++)r[p]=t[p];return a.createElement.apply(null,r)}return a.createElement.apply(null,t)}u.displayName="MDXCreateElement"},5625:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>s,metadata:()=>i,toc:()=>p});var a=t(87462),o=(t(67294),t(3905));const s={sidebar_position:6,title:"Spawn Object - Custom"},r="Custom Spawn Functions",i={unversionedId:"guides/game-objects/spawn-object-custom",id:"guides/game-objects/spawn-object-custom",title:"Spawn Object - Custom",description:"You can use spawn handler functions to customize the default behavior when creating spawned game objects on the client. Spawn handler functions ensure you have full control of how you spawn the game object, as well as how you destroy it.",source:"@site/docs/guides/game-objects/spawn-object-custom.md",sourceDirName:"guides/game-objects",slug:"/guides/game-objects/spawn-object-custom",permalink:"/Mirage/docs/guides/game-objects/spawn-object-custom",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/game-objects/spawn-object-custom.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6,title:"Spawn Object - Custom"},sidebar:"docs",previous:{title:"Spawn Object",permalink:"/Mirage/docs/guides/game-objects/spawn-object"},next:{title:"Spawn Object - Pooling",permalink:"/Mirage/docs/guides/game-objects/spawn-object-pooling"}},l={},p=[{value:"Setting Up a Game Object Pool with Custom Spawn Handlers",id:"setting-up-a-game-object-pool-with-custom-spawn-handlers",level:2},{value:"Dynamic spawning",id:"dynamic-spawning",level:2}],c={toc:p};function d(e){let{components:n,...t}=e;return(0,o.kt)("wrapper",(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"custom-spawn-functions"},"Custom Spawn Functions"),(0,o.kt)("p",null,"You can use spawn handler functions to customize the default behavior when creating spawned game objects on the client. Spawn handler functions ensure you have full control of how you spawn the game object, as well as how you destroy it."),(0,o.kt)("p",null,"Use ",(0,o.kt)("inlineCode",{parentName:"p"},"ClientObjectManager.RegisterSpawnHandler")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"ClientObjectManager.RegisterPrefab")," to register functions to spawn and destroy client game objects. The server creates game objects directly and then spawns them on the clients through this functionality. This function takes either the asset ID or a prefab and two function delegates: one to handle creating game objects on the client, and one to handle destroying game objects on the client. The asset ID can be a dynamic one, or just the asset ID found on the prefab game object you want to spawn."),(0,o.kt)("p",null,"The spawn/unspawn delegates will look something like this:"),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Spawn Handler")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"NetworkIdentity SpawnDelegate(SpawnMessage msg) \n{\n // do stuff here\n}\n")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"UnSpawn Handler")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"void UnSpawnDelegate(NetworkIdentity spawned) \n{\n // do stuff here\n}\n")),(0,o.kt)("p",null,"When a prefab is saved its ",(0,o.kt)("inlineCode",{parentName:"p"},"PrefabHash")," field will be automatically set. If you want to create prefabs at runtime you will have to generate a new Hash instead."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Generate prefab at runtime")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},'// Create a hash that can be generated on both server and client\n// using a string and GetStableHashCode is a good way to do this\nint coinHash = "MyCoin".GetStableHashCode();\n\n// register handlers using hash\nClientObjectManager.RegisterSpawnHandler(coinHash, SpawnCoin, UnSpawnCoin);\n')),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"The unspawn function may be left as ",(0,o.kt)("inlineCode",{parentName:"p"},"null"),", Mirage will then call ",(0,o.kt)("inlineCode",{parentName:"p"},"GameObject.Destroy")," when the destroy message is received.")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Use existing prefab")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"// register handlers using prefab\nClientObjectManager.RegisterPrefab(coin, SpawnCoin, UnSpawnCoin);\n")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Spawn on Server")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},'int coinHash = "MyCoin".GetStableHashCode();\n\n// spawn a coin - SpawnCoin is called on client\n// pass in coinHash so that it is set on the Identity before it is sent to client\nNetworkServer.Spawn(gameObject, coinHash);\n')),(0,o.kt)("p",null,"The spawn functions themselves are implemented with the delegate signature. Here is the coin spawner. The ",(0,o.kt)("inlineCode",{parentName:"p"},"SpawnCoin")," would look the same, but have different spawn logic:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkIdentity SpawnCoin(SpawnMessage msg)\n{\n return Instantiate(m_CoinPrefab, msg.position, msg.rotation);\n}\npublic void UnSpawnCoin(NetworkIdentity spawned)\n{\n Destroy(spawned);\n}\n")),(0,o.kt)("p",null,"When using custom spawn functions, it is sometimes useful to be able to unspawn game objects without destroying them. This can be done by calling ",(0,o.kt)("inlineCode",{parentName:"p"},"NetworkServer.Destroy(identity, destroyServerObject: false)"),", making sure that the 2nd argument is false. This causes the object to be ",(0,o.kt)("inlineCode",{parentName:"p"},"Reset")," on the server and sends a ",(0,o.kt)("inlineCode",{parentName:"p"},"ObjectDestroyMessage")," to clients. The ",(0,o.kt)("inlineCode",{parentName:"p"},"ObjectDestroyMessage")," will cause the custom unspawn function to be called on the clients. If there is no unspawn function the object will instead be ",(0,o.kt)("inlineCode",{parentName:"p"},"Destroy")),(0,o.kt)("p",null,"Note that on the host, game objects are not spawned for the local client, because they already exist on the server. This also means that no spawn or unspawn handler functions are called."),(0,o.kt)("h2",{id:"setting-up-a-game-object-pool-with-custom-spawn-handlers"},"Setting Up a Game Object Pool with Custom Spawn Handlers"),(0,o.kt)("p",null,"you can use custom spawn handlers in order set up object pooling so you dont need to instantiate and destroy objects each time you use them. "),(0,o.kt)("p",null,"A full guide on pooling can be found here: ",(0,o.kt)("a",{parentName:"p",href:"./spawn-object-pooling"},"Spawn Object Pooling")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"void ClientConnected() \n{\n clientObjectManager.RegisterPrefab(prefab, PoolSpawnHandler, PoolUnspawnHandler);\n}\n\n// used by clientObjectManager.RegisterPrefab\nNetworkIdentity PoolSpawnHandler(SpawnMessage msg)\n{\n return GetFromPool(msg.position, msg.rotation);\n}\n\n// used by clientObjectManager.RegisterPrefab\nvoid PoolUnspawnHandler(NetworkIdentity spawned)\n{\n PutBackInPool(spawned);\n}\n")),(0,o.kt)("h2",{id:"dynamic-spawning"},"Dynamic spawning"),(0,o.kt)("p",null,"Some times you may want to create objects at runtime and you might not know the prefab hash ahead of time. For this you can use Dynamic Spawn Handlers to return a spawn handler for a prefab hash."),(0,o.kt)("p",null,"Below is an example where client pre-spawns objects while loading, and then network spawns them when receiving a ",(0,o.kt)("inlineCode",{parentName:"p"},"SpawnMessage")," from server."),(0,o.kt)("p",null,"Dynamic Handler avoid the need to add 1 spawn handler for each prefab hash. Instead you can just add a single dynamic handler that can then be used to find and return objects."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},'public class DynamicSpawning : MonoBehaviour\n {\n public ServerObjectManager ServerObjectManager;\n public ClientObjectManager ClientObjectManager;\n\n // store handler in field so that you dont need to allocate a new one for each DynamicSpawn call\n private SpawnHandler _handler;\n private List<NetworkIdentity> _preSpawnedObjects = new List<NetworkIdentity>();\n\n // call this on server to spawn objects and send spawn message to client\n public void SpawnOnServer()\n {\n // set up local objects\n SpawnLocal();\n\n // send spawn message\n for (var i = 0; i < _preSpawnedObjects.Count; i++)\n {\n // send index as prefabHash\n ServerObjectManager.Spawn(_preSpawnedObjects[i], prefabHash: i);\n }\n }\n\n // call this on client to spawn object and set up handler to receive spawn message \n public void SpawnOnClient()\n {\n // set up local objects\n SpawnLocal();\n\n // register handler so client can find objects when server sends spawn message\n _handler = new SpawnHandler(FindPreSpawnedObject, null);\n ClientObjectManager.RegisterDynamicSpawnHandler(DynamicSpawn);\n }\n\n private void SpawnLocal()\n {\n // fill _preSpawnedObjects here with objects\n // these can be prefabs or other objects you want to find\n _preSpawnedObjects.Add(new GameObject("object 1").AddComponent<NetworkIdentity>());\n _preSpawnedObjects.Add(new GameObject("object 2").AddComponent<NetworkIdentity>());\n }\n\n private SpawnHandler DynamicSpawn(int prefabHash)\n {\n // this will run for all SpawnMessages, so we must first check if this prefabHash is one we want to handle\n if (IsPreSpawnedId(prefabHash))\n // return a handler that is using FindPreSpawnedObject\n return _handler;\n else\n return null;\n }\n\n private bool IsPreSpawnedId(int prefabHash)\n {\n // prefabHash starts with 16 bits of 0, then it an id we are using for spawning\n // this chance of this happening randomly is very low \n // you can do more validation on the hash based on use case\n return (prefabHash & 0xFFFF) == 0;\n }\n\n // finds object based on hash and returns it\n public NetworkIdentity FindPreSpawnedObject(SpawnMessage spawnMessage)\n {\n var prefabHash = spawnMessage.PrefabHash.Value;\n // we stored index in last 16 bits on hash\n var index = prefabHash >> 16;\n\n var identity = _preSpawnedObjects[index];\n return identity;\n }\n }\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1a58ca7b.5b7302fc.js b/assets/js/1a58ca7b.5b7302fc.js new file mode 100644 index 00000000000..1620aac8d8b --- /dev/null +++ b/assets/js/1a58ca7b.5b7302fc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9261],{3905:(e,r,t)=>{t.d(r,{Zo:()=>s,kt:()=>f});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function c(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=n.createContext({}),p=function(e){var r=n.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},s=function(e){var r=p(e.components);return n.createElement(l.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},m=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),m=p(t),f=a,d=m["".concat(l,".").concat(f)]||m[f]||u[f]||i;return t?n.createElement(d,o(o({ref:r},s),{},{components:t})):n.createElement(d,o({ref:r},s))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var i=t.length,o=new Array(i);o[0]=m;var c={};for(var l in r)hasOwnProperty.call(r,l)&&(c[l]=r[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var p=2;p<i;p++)o[p]=t[p];return n.createElement.apply(null,o)}return n.createElement.apply(null,t)}m.displayName="MDXCreateElement"},40039:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var n=t(87462),a=(t(67294),t(3905));const i={id:"ITime",title:"ITime"},o="Interface ITime",c={unversionedId:"reference/Mirage.SocketLayer/ITime",id:"reference/Mirage.SocketLayer/ITime",title:"ITime",description:"Syntax",source:"@site/docs/reference/Mirage.SocketLayer/ITime.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/ITime",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ITime",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/ITime.md",tags:[],version:"current",frontMatter:{id:"ITime",title:"ITime"},sidebar:"api",previous:{title:"ISocket",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ISocket"},next:{title:"Metrics.Frame",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Metrics.Frame"}},l={},p=[{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"Now",id:"now",level:4},{value:"Declaration",id:"declaration",level:5}],s={toc:p};function u(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"interface-itime"},"Interface ITime"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public interface ITime\n")),(0,a.kt)("h3",{id:"properties"},"Properties"),(0,a.kt)("h4",{id:"now"},"Now"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"double Now { get; }\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1abe0f94.2f6f188e.js b/assets/js/1abe0f94.2f6f188e.js new file mode 100644 index 00000000000..40a198f4975 --- /dev/null +++ b/assets/js/1abe0f94.2f6f188e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9001],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>d});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),c=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=c(e.components);return r.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),m=c(n),d=a,g=m["".concat(s,".").concat(d)]||m[d]||p[d]||o;return n?r.createElement(g,i(i({ref:t},u),{},{components:n})):r.createElement(g,i({ref:t},u))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:a,i[1]=l;for(var c=2;c<o;c++)i[c]=n[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},82840:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const o={sidebar_position:5},i="Clock Synchronization",l={unversionedId:"guides/clock-sync",id:"guides/clock-sync",title:"Clock Synchronization",description:"For many features, you need the clock to be synchronized between the client and the server. Mirage does that automatically for you.",source:"@site/docs/guides/clock-sync.md",sourceDirName:"guides",slug:"/guides/clock-sync",permalink:"/Mirage/docs/guides/clock-sync",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/clock-sync.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"docs",previous:{title:"Attributes",permalink:"/Mirage/docs/guides/attributes"},next:{title:"Network Visibility",permalink:"/Mirage/docs/guides/network-visibility"}},s={},c=[],u={toc:c};function p(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"clock-synchronization"},"Clock Synchronization"),(0,a.kt)("p",null,"For many features, you need the clock to be synchronized between the client and the server. Mirage does that automatically for you."),(0,a.kt)("p",null,"To get the current time use this code:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"double now = NetworkTime.Time;\n")),(0,a.kt)("p",null,"It will return the same value on the client and the server. It starts at 0 when the server starts. "),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("p",{parentName:"admonition"},"The time is a double and should never be cast to a float. Casting this down to a float means the clock will lose precision after some time:"),(0,a.kt)("ul",{parentName:"admonition"},(0,a.kt)("li",{parentName:"ul"},"after 1 day, the accuracy goes down to 8 ms"),(0,a.kt)("li",{parentName:"ul"},"after 10 days, the accuracy is 62 ms"),(0,a.kt)("li",{parentName:"ul"},"after 30 days, the accuracy is 250 ms"),(0,a.kt)("li",{parentName:"ul"},"after 60 days, the accuracy is 500 ms"))),(0,a.kt)("p",null,"Mirage will also calculate the ",(0,a.kt)("strong",{parentName:"p"},"Return Trip Time")," as seen by the application:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"double rtt = NetworkTime.Rtt;\n")),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("p",{parentName:"admonition"},"Return RTT will also be affected by the frame rate. A higher frame rate will mean less delay before the server reads the ping message and replies. ")),(0,a.kt)("p",null,"You can check the precision using:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"double timeStandardDeviation = NetworkTime.TimeSd;\n")),(0,a.kt)("p",null,"For example, if this returns 0.2, it means the time measurements swing up and down roughly 0.2 seconds."),(0,a.kt)("p",null,"Network time is smoothing out the values using ",(0,a.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average"},"Exponential moving average"),".\nYou can configure how often you want the client to send pings using:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"NetworkTime.PingInterval = 2.0f;\n")),(0,a.kt)("p",null,"You can configure how quickly results will change using:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"NetworkTime.PingWindowSize = 10;\n")),(0,a.kt)("p",null,"A higher number will result in smoother results, but a longer time to adjust to changes."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1bacd51f.cbf116e3.js b/assets/js/1bacd51f.cbf116e3.js new file mode 100644 index 00000000000..eb0b5ff5afd --- /dev/null +++ b/assets/js/1bacd51f.cbf116e3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9027],{3905:(e,r,n)=>{n.d(r,{Zo:()=>p,kt:()=>f});var t=n(67294);function a(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function l(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function i(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?l(Object(n),!0).forEach((function(r){a(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function o(e,r){if(null==e)return{};var n,t,a=function(e,r){if(null==e)return{};var n,t,a={},l=Object.keys(e);for(t=0;t<l.length;t++)n=l[t],r.indexOf(n)>=0||(a[n]=e[n]);return a}(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(t=0;t<l.length;t++)n=l[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=t.createContext({}),u=function(e){var r=t.useContext(c),n=r;return e&&(n="function"==typeof e?e(r):i(i({},r),e)),n},p=function(e){var r=u(e.components);return t.createElement(c.Provider,{value:r},e.children)},s={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},d=t.forwardRef((function(e,r){var n=e.components,a=e.mdxType,l=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),d=u(n),f=a,m=d["".concat(c,".").concat(f)]||d[f]||s[f]||l;return n?t.createElement(m,i(i({ref:r},p),{},{components:n})):t.createElement(m,i({ref:r},p))}));function f(e,r){var n=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var l=n.length,i=new Array(l);i[0]=d;var o={};for(var c in r)hasOwnProperty.call(r,c)&&(o[c]=r[c]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var u=2;u<l;u++)i[u]=n[u];return t.createElement.apply(null,i)}return t.createElement.apply(null,n)}d.displayName="MDXCreateElement"},6199:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>c,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>o,toc:()=>u});var t=n(87462),a=(n(67294),n(3905));const l={id:"Channel",title:"Channel"},i="Enum Channel",o={unversionedId:"reference/Mirage/Channel",id:"reference/Mirage/Channel",title:"Channel",description:"Syntax",source:"@site/docs/reference/Mirage/Channel.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/Channel",permalink:"/Mirage/docs/reference/Mirage/Channel",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/Channel.md",tags:[],version:"current",frontMatter:{id:"Channel",title:"Channel"},sidebar:"api",previous:{title:"AutoPool<T>",permalink:"/Mirage/docs/reference/Mirage/AutoPool-1"},next:{title:"CharacterSpawner.PlayerSpawnMethod",permalink:"/Mirage/docs/reference/Mirage/CharacterSpawner.PlayerSpawnMethod"}},c={},u=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Reliable",id:"reliable",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Unreliable",id:"unreliable",level:4},{value:"Declaration",id:"declaration-1",level:5}],p={toc:u};function s(e){let{components:r,...n}=e;return(0,a.kt)("wrapper",(0,t.Z)({},p,n,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"enum-channel"},"Enum Channel"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public enum Channel\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"reliable"},"Reliable"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Reliable = 0\n")),(0,a.kt)("h4",{id:"unreliable"},"Unreliable"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Unreliable = 1\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1be78505.6fe4481c.js b/assets/js/1be78505.6fe4481c.js new file mode 100644 index 00000000000..6ed76172f3f --- /dev/null +++ b/assets/js/1be78505.6fe4481c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9514,4972],{19963:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Ce});var a=n(67294),l=n(86010),o=n(1944),r=n(35281),c=n(52802),i=n(43320),s=n(74477),d=n(1116),m=n(4194),u=n(95999),b=n(12466),p=n(85936);const h="backToTopButton_sjWU",E="backToTopButtonShow_xfvO";function f(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,l]=(0,a.useState)(!1),o=(0,a.useRef)(!1),{startScroll:r,cancelScroll:c}=(0,b.Ct)();return(0,b.RF)(((e,n)=>{let{scrollY:a}=e;const r=null==n?void 0:n.scrollY;r&&(o.current?o.current=!1:a>=r?(c(),l(!1)):a<t?l(!1):a+window.innerHeight<document.documentElement.scrollHeight&&l(!0))})),(0,p.S)((e=>{e.location.hash&&(o.current=!0,l(!1))})),{shown:n,scrollToTop:()=>r(0)}}({threshold:300});return a.createElement("button",{"aria-label":(0,u.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,l.Z)("clean-btn",r.k.common.backToTopButton,h,e&&E),type:"button",onClick:t})}var g=n(76775),_=n(87524),v=n(86668),k=n(21327),C=n(87462);function I(e){return a.createElement("svg",(0,C.Z)({width:"20",height:"20","aria-hidden":"true"},e),a.createElement("g",{fill:"#7a7a7a"},a.createElement("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),a.createElement("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})))}const N="collapseSidebarButton_PEFL",S="collapseSidebarButtonIcon_kv0_";function Z(e){let{onClick:t}=e;return a.createElement("button",{type:"button",title:(0,u.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,u.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,l.Z)("button button--secondary button--outline",N),onClick:t},a.createElement(I,{className:S}))}var y=n(59689),T=n(902);const x=Symbol("EmptyContext"),L=a.createContext(x);function w(e){let{children:t}=e;const[n,l]=(0,a.useState)(null),o=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:l})),[n]);return a.createElement(L.Provider,{value:o},t)}var M=n(86043),F=n(48596),A=n(39960),B=n(72389);function H(e){let{categoryLabel:t,onClick:n}=e;return a.createElement("button",{"aria-label":(0,u.I)({id:"theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel",message:"Toggle the collapsible sidebar category '{label}'",description:"The ARIA label to toggle the collapsible sidebar category"},{label:t}),type:"button",className:"clean-btn menu__caret",onClick:n})}function P(e){let{item:t,onItemClick:n,activePath:o,level:i,index:s,...d}=e;const{items:m,label:u,collapsible:b,className:p,href:h}=t,{docs:{sidebar:{autoCollapseCategories:E}}}=(0,v.L)(),f=function(e){const t=(0,B.Z)();return(0,a.useMemo)((()=>e.href?e.href:!t&&e.collapsible?(0,c.Wl)(e):void 0),[e,t])}(t),g=(0,c._F)(t,o),_=(0,F.Mg)(h,o),{collapsed:k,setCollapsed:I}=(0,M.u)({initialState:()=>!!b&&(!g&&t.collapsed)}),{expandedItem:N,setExpandedItem:S}=function(){const e=(0,a.useContext)(L);if(e===x)throw new T.i6("DocSidebarItemsExpandedStateProvider");return e}(),Z=function(e){void 0===e&&(e=!k),S(e?null:s),I(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:l}=e;const o=(0,T.D9)(t);(0,a.useEffect)((()=>{t&&!o&&n&&l(!1)}),[t,o,n,l])}({isActive:g,collapsed:k,updateCollapsed:Z}),(0,a.useEffect)((()=>{b&&N&&N!==s&&E&&I(!0)}),[b,N,s,I,E]),a.createElement("li",{className:(0,l.Z)(r.k.docs.docSidebarItemCategory,r.k.docs.docSidebarItemCategoryLevel(i),"menu__list-item",{"menu__list-item--collapsed":k},p)},a.createElement("div",{className:(0,l.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":_})},a.createElement(A.Z,(0,C.Z)({className:(0,l.Z)("menu__link",{"menu__link--sublist":b,"menu__link--sublist-caret":!h&&b,"menu__link--active":g}),onClick:b?e=>{null==n||n(t),h?Z(!1):(e.preventDefault(),Z())}:()=>{null==n||n(t)},"aria-current":_?"page":void 0,"aria-expanded":b?!k:void 0,href:b?null!=f?f:"#":f},d),u),h&&b&&a.createElement(H,{categoryLabel:u,onClick:e=>{e.preventDefault(),Z()}})),a.createElement(M.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:k},a.createElement(G,{items:m,tabIndex:k?-1:0,onItemClick:n,activePath:o,level:i+1})))}var W=n(13919),D=n(39471);const R="menuExternalLink_NmtK";function z(e){let{item:t,onItemClick:n,activePath:o,level:i,index:s,...d}=e;const{href:m,label:u,className:b}=t,p=(0,c._F)(t,o),h=(0,W.Z)(m);return a.createElement("li",{className:(0,l.Z)(r.k.docs.docSidebarItemLink,r.k.docs.docSidebarItemLinkLevel(i),"menu__list-item",b),key:u},a.createElement(A.Z,(0,C.Z)({className:(0,l.Z)("menu__link",!h&&R,{"menu__link--active":p}),"aria-current":p?"page":void 0,to:m},h&&{onClick:n?()=>n(t):void 0},d),u,!h&&a.createElement(D.Z,null)))}const K="menuHtmlItem_M9Kj";function U(e){let{item:t,level:n,index:o}=e;const{value:c,defaultStyle:i,className:s}=t;return a.createElement("li",{className:(0,l.Z)(r.k.docs.docSidebarItemLink,r.k.docs.docSidebarItemLinkLevel(n),i&&[K,"menu__list-item"],s),key:o,dangerouslySetInnerHTML:{__html:c}})}function V(e){let{item:t,...n}=e;switch(t.type){case"category":return a.createElement(P,(0,C.Z)({item:t},n));case"html":return a.createElement(U,(0,C.Z)({item:t},n));default:return a.createElement(z,(0,C.Z)({item:t},n))}}function j(e){let{items:t,...n}=e;return a.createElement(w,null,t.map(((e,t)=>a.createElement(V,(0,C.Z)({key:t,item:e,index:t},n)))))}const G=(0,a.memo)(j),Y="menu_SIkG",q="menuWithAnnouncementBar_GW3s";function O(e){let{path:t,sidebar:n,className:o}=e;const c=function(){const{isActive:e}=(0,y.nT)(),[t,n]=(0,a.useState)(e);return(0,b.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return a.createElement("nav",{className:(0,l.Z)("menu thin-scrollbar",Y,c&&q,o)},a.createElement("ul",{className:(0,l.Z)(r.k.docs.docSidebarMenu,"menu__list")},a.createElement(G,{items:n,activePath:t,level:1})))}const X="sidebar_njMd",J="sidebarWithHideableNavbar_wUlq",Q="sidebarHidden_VK0M",$="sidebarLogo_isFc";function ee(e){let{path:t,sidebar:n,onCollapse:o,isHidden:r}=e;const{navbar:{hideOnScroll:c},docs:{sidebar:{hideable:i}}}=(0,v.L)();return a.createElement("div",{className:(0,l.Z)(X,c&&J,r&&Q)},c&&a.createElement(k.Z,{tabIndex:-1,className:$}),a.createElement(O,{path:t,sidebar:n}),i&&a.createElement(Z,{onClick:o}))}const te=a.memo(ee);var ne=n(13102),ae=n(72961);const le=e=>{let{sidebar:t,path:n}=e;const o=(0,ae.e)();return a.createElement("ul",{className:(0,l.Z)(r.k.docs.docSidebarMenu,"menu__list")},a.createElement(G,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&o.toggle(),"link"===e.type&&o.toggle()},level:1}))};function oe(e){return a.createElement(ne.Zo,{component:le,props:e})}const re=a.memo(oe);function ce(e){const t=(0,_.i)(),n="desktop"===t||"ssr"===t,l="mobile"===t;return a.createElement(a.Fragment,null,n&&a.createElement(te,e),l&&a.createElement(re,e))}const ie="expandButton_m80_",se="expandButtonIcon_BlDH";function de(e){let{toggleSidebar:t}=e;return a.createElement("div",{className:ie,title:(0,u.I)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,u.I)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t},a.createElement(I,{className:se}))}const me="docSidebarContainer_b6E3",ue="docSidebarContainerHidden_b3ry";function be(e){var t;let{children:n}=e;const l=(0,d.V)();return a.createElement(a.Fragment,{key:null!=(t=null==l?void 0:l.name)?t:"noSidebar"},n)}function pe(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:o}=e;const{pathname:c}=(0,g.TH)(),[i,s]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{i&&s(!1),o((e=>!e))}),[o,i]);return a.createElement("aside",{className:(0,l.Z)(r.k.docs.docSidebarContainer,me,n&&ue),onTransitionEnd:e=>{e.currentTarget.classList.contains(me)&&n&&s(!0)}},a.createElement(be,null,a.createElement(ce,{sidebar:t,path:c,onCollapse:d,isHidden:i})),i&&a.createElement(de,{toggleSidebar:d}))}const he={docMainContainer:"docMainContainer_gTbr",docMainContainerEnhanced:"docMainContainerEnhanced_Uz_u",docItemWrapperEnhanced:"docItemWrapperEnhanced_czyv"};function Ee(e){let{hiddenSidebarContainer:t,children:n}=e;const o=(0,d.V)();return a.createElement("main",{className:(0,l.Z)(he.docMainContainer,(t||!o)&&he.docMainContainerEnhanced)},a.createElement("div",{className:(0,l.Z)("container padding-top--md padding-bottom--lg",he.docItemWrapper,t&&he.docItemWrapperEnhanced)},n))}const fe="docPage__5DB",ge="docsWrapper_BCFX";function _e(e){let{children:t}=e;const n=(0,d.V)(),[l,o]=(0,a.useState)(!1);return a.createElement(m.Z,{wrapperClassName:ge},a.createElement(f,null),a.createElement("div",{className:fe},n&&a.createElement(pe,{sidebar:n.items,hiddenSidebarContainer:l,setHiddenSidebarContainer:o}),a.createElement(Ee,{hiddenSidebarContainer:l},t)))}var ve=n(4972),ke=n(90197);function Ce(e){const{versionMetadata:t}=e,n=(0,c.hI)(e);if(!n)return a.createElement(ve.default,null);const{docElement:m,sidebarName:u,sidebarItems:b}=n;return a.createElement(a.Fragment,null,a.createElement(ke.Z,{version:t.version,tag:(0,i.os)(t.pluginId,t.version)}),a.createElement(o.FG,{className:(0,l.Z)(r.k.wrapper.docsPages,r.k.page.docsDocPage,e.versionMetadata.className)},a.createElement(s.q,{version:t},a.createElement(d.b,{name:u,items:b},a.createElement(_e,null,m)))))}},4972:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});var a=n(67294),l=n(95999),o=n(1944),r=n(4194);function c(){return a.createElement(a.Fragment,null,a.createElement(o.d,{title:(0,l.I)({id:"theme.NotFound.title",message:"Page Not Found"})}),a.createElement(r.Z,null,a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col--offset-3"},a.createElement("h1",{className:"hero__title"},a.createElement(l.Z,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),a.createElement("p",null,a.createElement(l.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),a.createElement("p",null,a.createElement(l.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.")))))))}}}]); \ No newline at end of file diff --git a/assets/js/1c85ceac.0185f8ee.js b/assets/js/1c85ceac.0185f8ee.js new file mode 100644 index 00000000000..cc61b3d3c01 --- /dev/null +++ b/assets/js/1c85ceac.0185f8ee.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9987],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),c=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},s=function(e){var t=c(e.components);return n.createElement(o.Provider,{value:t},e.children)},v={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,o=e.parentName,s=d(e,["components","mdxType","originalType","parentName"]),p=c(a),u=r,m=p["".concat(o,".").concat(u)]||p[u]||v[u]||l;return a?n.createElement(m,i(i({ref:t},s),{},{components:a})):n.createElement(m,i({ref:t},s))}));function u(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=p;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d.mdxType="string"==typeof e?e:r,i[1]=d;for(var c=2;c<l;c++)i[c]=a[c];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}p.displayName="MDXCreateElement"},29575:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>v,frontMatter:()=>l,metadata:()=>d,toc:()=>c});var n=a(87462),r=(a(67294),a(3905));const l={id:"AddLateEvent",title:"AddLateEvent"},i="Class AddLateEvent",d={unversionedId:"reference/Mirage.Events/AddLateEvent",id:"reference/Mirage.Events/AddLateEvent",title:"AddLateEvent",description:"An event that will invoke handlers immediately if they are added after has been called",source:"@site/docs/reference/Mirage.Events/AddLateEvent.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/AddLateEvent",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEvent",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/AddLateEvent.md",tags:[],version:"current",frontMatter:{id:"AddLateEvent",title:"AddLateEvent"},sidebar:"api",previous:{title:"AddLateEvent<T0, T1>",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEvent-2"},next:{title:"AddLateEventBase",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEventBase"}},o={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"AddListener(Action)",id:"addlisteneraction",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RemoveListener(Action)",id:"removelisteneraction",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Invoke()",id:"invoke",level:4},{value:"Declaration",id:"declaration-2",level:5}],s={toc:c};function v(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-addlateevent"},"Class AddLateEvent"),(0,r.kt)("p",null,"An event that will invoke handlers immediately if they are added after has been called"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,r.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Events.AddLateEventBase")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show"),(0,r.kt)("p",null,"Mirage.Events.AddLateEventBase.HasInvoked"),(0,r.kt)("p",null,"Mirage.Events.AddLateEventBase.MarkInvoked()"),(0,r.kt)("p",null,"Mirage.Events.AddLateEventBase.Reset()")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class AddLateEvent : AddLateEventBase, IAddLateEvent\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"addlisteneraction"},"AddListener(Action)"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void AddListener(Action handler)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Action"),(0,r.kt)("td",{parentName:"tr",align:null},"handler"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"removelisteneraction"},"RemoveListener(Action)"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveListener(Action handler)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Action"),(0,r.kt)("td",{parentName:"tr",align:null},"handler"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"invoke"},"Invoke()"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual void Invoke()\n")))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1ca04d15.d6151682.js b/assets/js/1ca04d15.d6151682.js new file mode 100644 index 00000000000..aaac9b18ae0 --- /dev/null +++ b/assets/js/1ca04d15.d6151682.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5783],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>k});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var d=n.createContext({}),s=function(e){var t=n.useContext(d),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},c=function(e){var t=s(e.components);return n.createElement(d.Provider,{value:t},e.children)},v={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,d=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),y=s(r),k=a,u=y["".concat(d,".").concat(k)]||y[k]||v[k]||i;return r?n.createElement(u,l(l({ref:t},c),{},{components:r})):n.createElement(u,l({ref:t},c))}));function k(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,l=new Array(i);l[0]=y;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:a,l[1]=o;for(var s=2;s<i;s++)l[s]=r[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}y.displayName="MDXCreateElement"},17906:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>v,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));const i={id:"NetworkPlayerAddLateEvent",title:"NetworkPlayerAddLateEvent"},l="Class NetworkPlayerAddLateEvent",o={unversionedId:"reference/Mirage.Events/NetworkPlayerAddLateEvent",id:"reference/Mirage.Events/NetworkPlayerAddLateEvent",title:"NetworkPlayerAddLateEvent",description:"Event fires from a or during a new connection, a new authentication, or a disconnection.",source:"@site/docs/reference/Mirage.Events/NetworkPlayerAddLateEvent.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/NetworkPlayerAddLateEvent",permalink:"/Mirage/docs/reference/Mirage.Events/NetworkPlayerAddLateEvent",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/NetworkPlayerAddLateEvent.md",tags:[],version:"current",frontMatter:{id:"NetworkPlayerAddLateEvent",title:"NetworkPlayerAddLateEvent"},sidebar:"api",previous:{title:"IAddLateEventUnity",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity"},next:{title:"NetworkPlayerEvent",permalink:"/Mirage/docs/reference/Mirage.Events/NetworkPlayerEvent"}},d={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5}],c={toc:s};function v(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-networkplayeraddlateevent"},"Class NetworkPlayerAddLateEvent"),(0,a.kt)("p",null,"Event fires from a or during a new connection, a new authentication, or a disconnection."),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,a.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Events.AddLateEventBase"),(0,a.kt)("div",{class:"level",style:{"--data-index":2}},"Mirage.Events.AddLateEvent<Mirage.INetworkPlayer>"),(0,a.kt)("div",{class:"level",style:{"--data-index":3}},"Mirage.Events.AddLateEventUnity<Mirage.INetworkPlayer, Mirage.Events.NetworkPlayerEvent>")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventUnity","<","Mirage.INetworkPlayer, Mirage.Events.NetworkPlayerEvent",">",".AddListener(UnityAction","<","Mirage.INetworkPlayer",">",")"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventUnity","<","Mirage.INetworkPlayer, Mirage.Events.NetworkPlayerEvent",">",".RemoveListener(UnityAction","<","Mirage.INetworkPlayer",">",")"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventUnity","<","Mirage.INetworkPlayer, Mirage.Events.NetworkPlayerEvent",">",".Invoke(Mirage.INetworkPlayer)"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventUnity","<","Mirage.INetworkPlayer, Mirage.Events.NetworkPlayerEvent",">",".RemoveAllListeners()"),(0,a.kt)("p",null,"Mirage.Events.AddLateEvent","<","Mirage.INetworkPlayer",">","._arg0"),(0,a.kt)("p",null,"Mirage.Events.AddLateEvent","<","Mirage.INetworkPlayer",">",".AddListener(System.Action","<","Mirage.INetworkPlayer",">",")"),(0,a.kt)("p",null,"Mirage.Events.AddLateEvent","<","Mirage.INetworkPlayer",">",".RemoveListener(System.Action","<","Mirage.INetworkPlayer",">",")"),(0,a.kt)("p",null,"Mirage.Events.AddLateEvent","<","Mirage.INetworkPlayer",">",".Invoke(Mirage.INetworkPlayer)"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventBase.HasInvoked"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventBase.MarkInvoked()"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventBase.Reset()")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class NetworkPlayerAddLateEvent : AddLateEventUnity<INetworkPlayer, NetworkPlayerEvent>, IAddLateEventUnity<INetworkPlayer>, IAddLateEvent<INetworkPlayer>\n")))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1cf2e72f.df76257a.js b/assets/js/1cf2e72f.df76257a.js new file mode 100644 index 00000000000..c7eff40120b --- /dev/null +++ b/assets/js/1cf2e72f.df76257a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9189],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function c(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var d=r.createContext({}),o=function(e){var t=r.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},s=function(e){var t=o(e.components);return r.createElement(d.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,d=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),u=o(a),m=n,h=u["".concat(d,".").concat(m)]||u[m]||p[m]||l;return a?r.createElement(h,i(i({ref:t},s),{},{components:a})):r.createElement(h,i({ref:t},s))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=u;var c={};for(var d in t)hasOwnProperty.call(t,d)&&(c[d]=t[d]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var o=2;o<l;o++)i[o]=a[o];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}u.displayName="MDXCreateElement"},40578:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>c,toc:()=>o});var r=a(87462),n=(a(67294),a(3905));const l={id:"Batch",title:"Batch"},i="Class Batch",c={unversionedId:"reference/Mirage.SocketLayer/Batch",id:"reference/Mirage.SocketLayer/Batch",title:"Batch",description:"Inheritance",source:"@site/docs/reference/Mirage.SocketLayer/Batch.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/Batch",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Batch",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/Batch.md",tags:[],version:"current",frontMatter:{id:"Batch",title:"Batch"},sidebar:"api",previous:{title:"AutoCompleteToken",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/AutoCompleteToken"},next:{title:"ByteBuffer",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ByteBuffer"}},d={},o=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"Batch(Int32)",id:"batchint32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"MESSAGE_LENGTH_SIZE",id:"message_length_size",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Properties",id:"properties",level:3},{value:"Created",id:"created",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Methods",id:"methods",level:3},{value:"GetBatch()",id:"getbatch",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Returns",id:"returns",level:5},{value:"GetBatchLength()",id:"getbatchlength",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Returns",id:"returns-1",level:5},{value:"CreateNewBatch()",id:"createnewbatch",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"SendAndReset()",id:"sendandreset",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"AddMessage(Byte[], Int32, Int32)",id:"addmessagebyte-int32-int32",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Flush()",id:"flush",level:4},{value:"Declaration",id:"declaration-8",level:5}],s={toc:o};function p(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-batch"},"Class Batch"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public abstract class Batch\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"batchint32"},"Batch(Int32)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Batch(int maxPacketSize)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"maxPacketSize"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"message_length_size"},"MESSAGE_LENGTH_SIZE"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const int MESSAGE_LENGTH_SIZE = 2\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"created"},"Created"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected abstract bool Created { get; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"getbatch"},"GetBatch()"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected abstract byte[] GetBatch()\n")),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"getbatchlength"},"GetBatchLength()"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected abstract int GetBatchLength()\n")),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"createnewbatch"},"CreateNewBatch()"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected abstract void CreateNewBatch()\n")),(0,n.kt)("h4",{id:"sendandreset"},"SendAndReset()"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected abstract void SendAndReset()\n")),(0,n.kt)("h4",{id:"addmessagebyte-int32-int32"},"AddMessage(Byte[], Int32, Int32)"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void AddMessage(byte[] message, int offset, int length)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null},"message"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"offset"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"length"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"flush"},"Flush()"),(0,n.kt)("h5",{id:"declaration-8"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Flush()\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1d0defc3.302b60f5.js b/assets/js/1d0defc3.302b60f5.js new file mode 100644 index 00000000000..701d673cd15 --- /dev/null +++ b/assets/js/1d0defc3.302b60f5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3379],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>m});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var d=n.createContext({}),p=function(e){var t=n.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},c=function(e){var t=p(e.components);return n.createElement(d.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},k=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,d=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),k=p(a),m=r,s=k["".concat(d,".").concat(m)]||k[m]||u[m]||l;return a?n.createElement(s,i(i({ref:t},c),{},{components:a})):n.createElement(s,i({ref:t},c))}));function m(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=k;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:r,i[1]=o;for(var p=2;p<l;p++)i[p]=a[p];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}k.displayName="MDXCreateElement"},78338:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var n=a(87462),r=(a(67294),a(3905));const l={id:"UdpSocket",title:"UdpSocket"},i="Class UdpSocket",o={unversionedId:"reference/Mirage.Sockets.Udp/UdpSocket",id:"reference/Mirage.Sockets.Udp/UdpSocket",title:"UdpSocket",description:"Inheritance",source:"@site/docs/reference/Mirage.Sockets.Udp/UdpSocket.md",sourceDirName:"reference/Mirage.Sockets.Udp",slug:"/reference/Mirage.Sockets.Udp/UdpSocket",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpSocket",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Sockets.Udp/UdpSocket.md",tags:[],version:"current",frontMatter:{id:"UdpSocket",title:"UdpSocket"},sidebar:"api",previous:{title:"UdpMTU",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpMTU"},next:{title:"UdpSocketFactory",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpSocketFactory"}},d={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"Bind(IEndPoint)",id:"bindiendpoint",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Connect(IEndPoint)",id:"connectiendpoint",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Close()",id:"close",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Poll()",id:"poll",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Returns",id:"returns",level:5},{value:"Receive(Byte[], out IEndPoint)",id:"receivebyte-out-iendpoint",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Send(IEndPoint, Byte[], Int32)",id:"sendiendpoint-byte-int32",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-3",level:5}],c={toc:p};function u(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-udpsocket"},"Class UdpSocket"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class UdpSocket : ISocket\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"bindiendpoint"},"Bind(IEndPoint)"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Bind(IEndPoint endPoint)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,r.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"connectiendpoint"},"Connect(IEndPoint)"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Connect(IEndPoint endPoint)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,r.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"close"},"Close()"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Close()\n")),(0,r.kt)("h4",{id:"poll"},"Poll()"),(0,r.kt)("p",null,"Is message avaliable"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Poll()\n")),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"true if data to read")))),(0,r.kt)("h4",{id:"receivebyte-out-iendpoint"},"Receive(Byte[], out IEndPoint)"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public int Receive(byte[] buffer, out IEndPoint endPoint)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,r.kt)("td",{parentName:"tr",align:null},"buffer"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,r.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-1"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"sendiendpoint-byte-int32"},"Send(IEndPoint, Byte[], Int32)"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Send(IEndPoint endPoint, byte[] packet, int length)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,r.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,r.kt)("td",{parentName:"tr",align:null},"packet"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1d99eae8.bc650cea.js b/assets/js/1d99eae8.bc650cea.js new file mode 100644 index 00000000000..cfca45a0b8d --- /dev/null +++ b/assets/js/1d99eae8.bc650cea.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9895],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>f});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),d=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},s=function(e){var t=d(e.components);return r.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,c=e.originalType,l=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),u=d(n),f=a,m=u["".concat(l,".").concat(f)]||u[f]||p[f]||c;return n?r.createElement(m,o(o({ref:t},s),{},{components:n})):r.createElement(m,o({ref:t},s))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var c=n.length,o=new Array(c);o[0]=u;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,o[1]=i;for(var d=2;d<c;d++)o[d]=n[d];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}u.displayName="MDXCreateElement"},63174:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>c,metadata:()=>i,toc:()=>d});var r=n(87462),a=(n(67294),n(3905));const c={id:"ConnectState",title:"ConnectState"},o="Enum ConnectState",i={unversionedId:"reference/Mirage/ConnectState",id:"reference/Mirage/ConnectState",title:"ConnectState",description:"Syntax",source:"@site/docs/reference/Mirage/ConnectState.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/ConnectState",permalink:"/Mirage/docs/reference/Mirage/ConnectState",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/ConnectState.md",tags:[],version:"current",frontMatter:{id:"ConnectState",title:"ConnectState"},sidebar:"api",previous:{title:"ClientStoppedReason",permalink:"/Mirage/docs/reference/Mirage/ClientStoppedReason"},next:{title:"DeserializeFailedException",permalink:"/Mirage/docs/reference/Mirage/DeserializeFailedException"}},l={},d=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Disconnected",id:"disconnected",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Connecting",id:"connecting",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Connected",id:"connected",level:4},{value:"Declaration",id:"declaration-2",level:5}],s={toc:d};function p(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"enum-connectstate"},"Enum ConnectState"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public enum ConnectState\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"disconnected"},"Disconnected"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Disconnected = 0\n")),(0,a.kt)("h4",{id:"connecting"},"Connecting"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Connecting = 1\n")),(0,a.kt)("h4",{id:"connected"},"Connected"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Connected = 2\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1e25fb88.a764c02c.js b/assets/js/1e25fb88.a764c02c.js new file mode 100644 index 00000000000..bacff872adf --- /dev/null +++ b/assets/js/1e25fb88.a764c02c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[742],{3905:(e,r,t)=>{t.d(r,{Zo:()=>s,kt:()=>y});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function l(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function c(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?l(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function i(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)t=l[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)t=l[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var o=n.createContext({}),p=function(e){var r=n.useContext(o),t=r;return e&&(t="function"==typeof e?e(r):c(c({},r),e)),t},s=function(e){var r=p(e.components);return n.createElement(o.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},d=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,l=e.originalType,o=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),d=p(t),y=a,f=d["".concat(o,".").concat(y)]||d[y]||u[y]||l;return t?n.createElement(f,c(c({ref:r},s),{},{components:t})):n.createElement(f,c({ref:r},s))}));function y(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var l=t.length,c=new Array(l);c[0]=d;var i={};for(var o in r)hasOwnProperty.call(r,o)&&(i[o]=r[o]);i.originalType=e,i.mdxType="string"==typeof e?e:a,c[1]=i;for(var p=2;p<l;p++)c[p]=t[p];return n.createElement.apply(null,c)}return n.createElement.apply(null,t)}d.displayName="MDXCreateElement"},98154:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>o,contentTitle:()=>c,default:()=>u,frontMatter:()=>l,metadata:()=>i,toc:()=>p});var n=t(87462),a=(t(67294),t(3905));const l={id:"RpcReply",title:"RpcReply"},c="Struct RpcReply",i={unversionedId:"reference/Mirage.RemoteCalls/RpcReply",id:"reference/Mirage.RemoteCalls/RpcReply",title:"RpcReply",description:"Syntax",source:"@site/docs/reference/Mirage.RemoteCalls/RpcReply.md",sourceDirName:"reference/Mirage.RemoteCalls",slug:"/reference/Mirage.RemoteCalls/RpcReply",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcReply",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.RemoteCalls/RpcReply.md",tags:[],version:"current",frontMatter:{id:"RpcReply",title:"RpcReply"},sidebar:"api",previous:{title:"RpcMessage",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcMessage"},next:{title:"RpcWithReplyMessage",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcWithReplyMessage"}},o={},p=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"ReplyId",id:"replyid",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Payload",id:"payload",level:4},{value:"Declaration",id:"declaration-1",level:5}],s={toc:p};function u(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-rpcreply"},"Struct RpcReply"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct RpcReply\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"replyid"},"ReplyId"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public int ReplyId\n")),(0,a.kt)("h4",{id:"payload"},"Payload"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public ArraySegment<byte> Payload\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1e95c04c.c9e101b9.js b/assets/js/1e95c04c.c9e101b9.js new file mode 100644 index 00000000000..bfa22918ad5 --- /dev/null +++ b/assets/js/1e95c04c.c9e101b9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6004],{3905:(e,n,t)=>{t.d(n,{Zo:()=>d,kt:()=>f});var r=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function c(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var o=r.createContext({}),s=function(e){var n=r.useContext(o),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},d=function(e){var n=s(e.components);return r.createElement(o.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},p=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),p=s(t),f=a,g=p["".concat(o,".").concat(f)]||p[f]||u[f]||i;return t?r.createElement(g,l(l({ref:n},d),{},{components:t})):r.createElement(g,l({ref:n},d))}));function f(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var i=t.length,l=new Array(i);l[0]=p;var c={};for(var o in n)hasOwnProperty.call(n,o)&&(c[o]=n[o]);c.originalType=e,c.mdxType="string"==typeof e?e:a,l[1]=c;for(var s=2;s<i;s++)l[s]=t[s];return r.createElement.apply(null,l)}return r.createElement.apply(null,t)}p.displayName="MDXCreateElement"},15583:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var r=t(87462),a=(t(67294),t(3905));const i={id:"SyncTiming",title:"SyncTiming"},l="Enum SyncTiming",c={unversionedId:"reference/Mirage/SyncTiming",id:"reference/Mirage/SyncTiming",title:"SyncTiming",description:"Syntax",source:"@site/docs/reference/Mirage/SyncTiming.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SyncTiming",permalink:"/Mirage/docs/reference/Mirage/SyncTiming",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SyncTiming.md",tags:[],version:"current",frontMatter:{id:"SyncTiming",title:"SyncTiming"},sidebar:"api",previous:{title:"SyncSettings",permalink:"/Mirage/docs/reference/Mirage/SyncSettings"},next:{title:"SyncTo",permalink:"/Mirage/docs/reference/Mirage/SyncTo"}},o={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Variable",id:"variable",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Fixed",id:"fixed",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"NoInterval",id:"nointerval",level:4},{value:"Declaration",id:"declaration-2",level:5}],d={toc:s};function u(e){let{components:n,...t}=e;return(0,a.kt)("wrapper",(0,r.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"enum-synctiming"},"Enum SyncTiming"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public enum SyncTiming : byte\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"variable"},"Variable"),(0,a.kt)("p",null,"Will wait for atleast after last sync before sending again."),(0,a.kt)("p",null,"Best used when values dont change often, or for non-time-critical data."),(0,a.kt)("p",null,"Will send less often than for the same ."),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Variable = 0\n")),(0,a.kt)("h4",{id:"fixed"},"Fixed"),(0,a.kt)("p",null,"Will ensure data is sent every if changed."),(0,a.kt)("p",null,"Best used for data that changes often and you want (1/) updates per second"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Fixed = 1\n")),(0,a.kt)("h4",{id:"nointerval"},"NoInterval"),(0,a.kt)("p",null,"Ignores Interval and will send changes in next update"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"NoInterval = 2\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1f36a51e.0e73442f.js b/assets/js/1f36a51e.0e73442f.js new file mode 100644 index 00000000000..6557d8a2d04 --- /dev/null +++ b/assets/js/1f36a51e.0e73442f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5849],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>k});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=a.createContext({}),c=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),d=c(r),k=n,m=d["".concat(s,".").concat(k)]||d[k]||u[k]||l;return r?a.createElement(m,i(i({ref:t},p),{},{components:r})):a.createElement(m,i({ref:t},p))}));function k(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=d;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var c=2;c<l;c++)i[c]=r[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}d.displayName="MDXCreateElement"},35532:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const l={id:"INetworkVisibility",title:"INetworkVisibility"},i="Interface INetworkVisibility",o={unversionedId:"reference/Mirage/INetworkVisibility",id:"reference/Mirage/INetworkVisibility",title:"INetworkVisibility",description:"Syntax",source:"@site/docs/reference/Mirage/INetworkVisibility.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/INetworkVisibility",permalink:"/Mirage/docs/reference/Mirage/INetworkVisibility",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/INetworkVisibility.md",tags:[],version:"current",frontMatter:{id:"INetworkVisibility",title:"INetworkVisibility"},sidebar:"api",previous:{title:"INetworkPlayer",permalink:"/Mirage/docs/reference/Mirage/INetworkPlayer"},next:{title:"IObjectLocator",permalink:"/Mirage/docs/reference/Mirage/IObjectLocator"}},s={},c=[{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"OnCheckObserver(INetworkPlayer)",id:"oncheckobserverinetworkplayer",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"OnRebuildObservers(HashSet<INetworkPlayer>, Boolean)",id:"onrebuildobservershashsetinetworkplayer-boolean",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],p={toc:c};function u(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"interface-inetworkvisibility"},"Interface INetworkVisibility"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public interface INetworkVisibility\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"oncheckobserverinetworkplayer"},"OnCheckObserver(INetworkPlayer)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"bool OnCheckObserver(INetworkPlayer player)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"onrebuildobservershashsetinetworkplayer-boolean"},"OnRebuildObservers(HashSet","<","INetworkPlayer",">",", Boolean)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void OnRebuildObservers(HashSet<INetworkPlayer> observers, bool initialize)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.HashSet","<","Mirage.INetworkPlayer",">"),(0,n.kt)("td",{parentName:"tr",align:null},"observers"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"initialize"),(0,n.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1fa3a74b.4e0ac8ac.js b/assets/js/1fa3a74b.4e0ac8ac.js new file mode 100644 index 00000000000..95aa8a450a8 --- /dev/null +++ b/assets/js/1fa3a74b.4e0ac8ac.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6377],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>y});var n=r(67294);function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,s=function(e,t){if(null==e)return{};var r,n,s={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(s[r]=e[r]);return s}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r])}return s}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,s=e.mdxType,i=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),d=l(r),y=s,g=d["".concat(c,".").concat(y)]||d[y]||p[y]||i;return r?n.createElement(g,a(a({ref:t},u),{},{components:r})):n.createElement(g,a({ref:t},u))}));function y(e,t){var r=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var i=r.length,a=new Array(i);a[0]=d;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:s,a[1]=o;for(var l=2;l<i;l++)a[l]=r[l];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},15050:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var n=r(87462),s=(r(67294),r(3905));const i={id:"SessionKeyMessage",title:"SessionKeyMessage"},a="Struct SessionKeyMessage",o={unversionedId:"reference/Mirage.Authenticators.SessionId/SessionKeyMessage",id:"reference/Mirage.Authenticators.SessionId/SessionKeyMessage",title:"SessionKeyMessage",description:"Syntax",source:"@site/docs/reference/Mirage.Authenticators.SessionId/SessionKeyMessage.md",sourceDirName:"reference/Mirage.Authenticators.SessionId",slug:"/reference/Mirage.Authenticators.SessionId/SessionKeyMessage",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionKeyMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authenticators.SessionId/SessionKeyMessage.md",tags:[],version:"current",frontMatter:{id:"SessionKeyMessage",title:"SessionKeyMessage"},sidebar:"api",previous:{title:"SessionIdAuthenticator",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator"},next:{title:"Mirage.Collections",permalink:"/Mirage/docs/reference/Mirage.Collections/"}},c={},l=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"SessionKey",id:"sessionkey",level:4},{value:"Declaration",id:"declaration",level:5}],u={toc:l};function p(e){let{components:t,...r}=e;return(0,s.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,s.kt)("h1",{id:"struct-sessionkeymessage"},"Struct SessionKeyMessage"),(0,s.kt)("h5",{id:"syntax"},"Syntax"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-cs"},"public struct SessionKeyMessage\n")),(0,s.kt)("h3",{id:"fields"},"Fields"),(0,s.kt)("h4",{id:"sessionkey"},"SessionKey"),(0,s.kt)("h5",{id:"declaration"},"Declaration"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-cs"},"public ArraySegment<byte> SessionKey\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1fab70f8.cd002bac.js b/assets/js/1fab70f8.cd002bac.js new file mode 100644 index 00000000000..297419aa800 --- /dev/null +++ b/assets/js/1fab70f8.cd002bac.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7581],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>k});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var d=r.createContext({}),u=function(e){var t=r.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=u(e.components);return r.createElement(d.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),m=u(a),k=n,s=m["".concat(d,".").concat(k)]||m[k]||c[k]||l;return a?r.createElement(s,i(i({ref:t},p),{},{components:a})):r.createElement(s,i({ref:t},p))}));function k(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=m;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var u=2;u<l;u++)i[u]=a[u];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},37887:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>o,toc:()=>u});var r=a(87462),n=(a(67294),a(3905));const l={id:"NetworkBehaviour.Id",title:"NetworkBehaviour.Id"},i="Struct NetworkBehaviour.Id",o={unversionedId:"reference/Mirage/NetworkBehaviour.Id",id:"reference/Mirage/NetworkBehaviour.Id",title:"NetworkBehaviour.Id",description:"Syntax",source:"@site/docs/reference/Mirage/NetworkBehaviour.Id.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkBehaviour.Id",permalink:"/Mirage/docs/reference/Mirage/NetworkBehaviour.Id",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkBehaviour.Id.md",tags:[],version:"current",frontMatter:{id:"NetworkBehaviour.Id",title:"NetworkBehaviour.Id"},sidebar:"api",previous:{title:"NetworkBehaviorSyncvar",permalink:"/Mirage/docs/reference/Mirage/NetworkBehaviorSyncvar"},next:{title:"NetworkBehaviour",permalink:"/Mirage/docs/reference/Mirage/NetworkBehaviour"}},d={},u=[{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"Id(UInt32, Int32)",id:"iduint32-int32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Id(NetworkBehaviour)",id:"idnetworkbehaviour",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Fields",id:"fields",level:3},{value:"NetId",id:"netid",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"ComponentIndex",id:"componentindex",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Methods",id:"methods",level:3},{value:"GetHashCode()",id:"gethashcode",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Returns",id:"returns",level:5},{value:"Equals(NetworkBehaviour.Id)",id:"equalsnetworkbehaviourid",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Equals(Object)",id:"equalsobject",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-2",level:5}],p={toc:u};function c(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"struct-networkbehaviourid"},"Struct NetworkBehaviour.Id"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public struct Id : IEquatable<NetworkBehaviour.Id>\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"iduint32-int32"},"Id(UInt32, Int32)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Id(uint netId, int componentIndex)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,n.kt)("td",{parentName:"tr",align:null},"netId"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"componentIndex"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"idnetworkbehaviour"},"Id(NetworkBehaviour)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Id(NetworkBehaviour behaviour)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,n.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"netid"},"NetId"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly uint NetId\n")),(0,n.kt)("h4",{id:"componentindex"},"ComponentIndex"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly int ComponentIndex\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"gethashcode"},"GetHashCode()"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override int GetHashCode()\n")),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"equalsnetworkbehaviourid"},"Equals(NetworkBehaviour.Id)"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Equals(NetworkBehaviour.Id other)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour.Id"),(0,n.kt)("td",{parentName:"tr",align:null},"other"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"equalsobject"},"Equals(Object)"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override bool Equals(object obj)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Object"),(0,n.kt)("td",{parentName:"tr",align:null},"obj"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-2"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null})))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/216e5825.682d4fd3.js b/assets/js/216e5825.682d4fd3.js new file mode 100644 index 00000000000..7061ba61e99 --- /dev/null +++ b/assets/js/216e5825.682d4fd3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1747],{3905:(e,t,a)=>{a.d(t,{Zo:()=>o,kt:()=>g});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var s=n.createContext({}),c=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},o=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,s=e.parentName,o=d(e,["components","mdxType","originalType","parentName"]),m=c(a),g=r,u=m["".concat(s,".").concat(g)]||m[g]||p[g]||l;return a?n.createElement(u,i(i({ref:t},o),{},{components:a})):n.createElement(u,i({ref:t},o))}));function g(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=m;var d={};for(var s in t)hasOwnProperty.call(t,s)&&(d[s]=t[s]);d.originalType=e,d.mdxType="string"==typeof e?e:r,i[1]=d;for(var c=2;c<l;c++)i[c]=a[c];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}m.displayName="MDXCreateElement"},4721:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>d,toc:()=>c});var n=a(87462),r=(a(67294),a(3905));const l={id:"IMessageSender",title:"IMessageSender"},i="Interface IMessageSender",d={unversionedId:"reference/Mirage/IMessageSender",id:"reference/Mirage/IMessageSender",title:"IMessageSender",description:"An object that can send messages",source:"@site/docs/reference/Mirage/IMessageSender.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/IMessageSender",permalink:"/Mirage/docs/reference/Mirage/IMessageSender",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/IMessageSender.md",tags:[],version:"current",frontMatter:{id:"IMessageSender",title:"IMessageSender"},sidebar:"api",previous:{title:"IMessageReceiver",permalink:"/Mirage/docs/reference/Mirage/IMessageReceiver"},next:{title:"INetIdGenerator",permalink:"/Mirage/docs/reference/Mirage/INetIdGenerator"}},s={},c=[{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"Send<T>(T, Channel)",id:"sendtt-channel",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Send(ArraySegment<Byte>, Channel)",id:"sendarraysegmentbyte-channel",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Send<T>(T, INotifyCallBack)",id:"sendtt-inotifycallback",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5}],o={toc:c};function p(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},o,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"interface-imessagesender"},"Interface IMessageSender"),(0,r.kt)("p",null,"An object that can send messages"),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IMessageSender\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"sendtt-channel"},"Send","<","T",">","(T, Channel)"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void Send<T>(T message, Channel channelId = Channel.Reliable)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"message"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,r.kt)("td",{parentName:"tr",align:null},"channelId"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"sendarraysegmentbyte-channel"},"Send(ArraySegment","<","Byte",">",", Channel)"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void Send(ArraySegment<byte> segment, Channel channelId = Channel.Reliable)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,r.kt)("td",{parentName:"tr",align:null},"segment"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,r.kt)("td",{parentName:"tr",align:null},"channelId"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"sendtt-inotifycallback"},"Send","<","T",">","(T, INotifyCallBack)"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void Send<T>(T message, INotifyCallBack notifyCallBack)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"message"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyCallBack"),(0,r.kt)("td",{parentName:"tr",align:null},"notifyCallBack"),(0,r.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/22a4596f.f64b1ad3.js b/assets/js/22a4596f.f64b1ad3.js new file mode 100644 index 00000000000..5fe88aba3f2 --- /dev/null +++ b/assets/js/22a4596f.f64b1ad3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7402],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>m});var i=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,i,r=function(e,t){if(null==e)return{};var n,i,r={},o=Object.keys(e);for(i=0;i<o.length;i++)n=o[i],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)n=o[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=i.createContext({}),u=function(e){var t=i.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},l=function(e){var t=u(e.components);return i.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},p=i.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=u(n),m=r,f=p["".concat(c,".").concat(m)]||p[m]||d[m]||o;return n?i.createElement(f,a(a({ref:t},l),{},{components:n})):i.createElement(f,a({ref:t},l))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,a=new Array(o);a[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:r,a[1]=s;for(var u=2;u<o;u++)a[u]=n[u];return i.createElement.apply(null,a)}return i.createElement.apply(null,n)}p.displayName="MDXCreateElement"},50781:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>u});var i=n(87462),r=(n(67294),n(3905));const o={sidebar_position:5},a="Session Id Authenticator",s={unversionedId:"guides/authentication/session-id",id:"guides/authentication/session-id",title:"Session Id Authenticator",description:"Session Id Authenticator is a built in Authenticator that will allow clients to reconnect to a server without requiring them to fully authenticate again.",source:"@site/docs/guides/authentication/session-id.md",sourceDirName:"guides/authentication",slug:"/guides/authentication/session-id",permalink:"/Mirage/docs/guides/authentication/session-id",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/authentication/session-id.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"docs",previous:{title:"Basic Authenticator",permalink:"/Mirage/docs/guides/authentication/basic-authenticator"},next:{title:"Community Guides",permalink:"/Mirage/docs/guides/community-guides/"}},c={},u=[{value:"CreateSession component",id:"createsession-component",level:2}],l={toc:u};function d(e){let{components:t,...o}=e;return(0,r.kt)("wrapper",(0,i.Z)({},l,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"session-id-authenticator"},"Session Id Authenticator"),(0,r.kt)("p",null,"Session Id Authenticator is a built in Authenticator that will allow clients to reconnect to a server without requiring them to fully authenticate again."),(0,r.kt)("p",null,"When using this you have 2 options, either use ",(0,r.kt)("inlineCode",{parentName:"p"},"CreateSession")," component to automatically create and send session id. Or manually control it using ",(0,r.kt)("inlineCode",{parentName:"p"},"ClientIdStore")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"CreateOrRefreshSession()"),"."),(0,r.kt)("p",null,"Session id is only valid for a set amount of time, this can be set in the inspector and defaults to 1 day (1440 minutes)."),(0,r.kt)("h2",{id:"createsession-component"},"CreateSession component"),(0,r.kt)("p",null,"CreateSession will automatically send a message to the server if the client has valid session id when they connect. "),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"create session inspector",src:n(70528).Z,width:"626",height:"471"})))}d.isMDXComponent=!0},70528:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/CreateSession-b1f7d3fabccd5a79ab6ff26ea9cf09f3.png"}}]); \ No newline at end of file diff --git a/assets/js/23431363.9104a3b8.js b/assets/js/23431363.9104a3b8.js new file mode 100644 index 00000000000..bfe1b1b14bf --- /dev/null +++ b/assets/js/23431363.9104a3b8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5712],{3905:(e,t,A)=>{A.d(t,{Zo:()=>s,kt:()=>m});var n=A(67294);function r(e,t,A){return t in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A,e}function a(e,t){var A=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),A.push.apply(A,n)}return A}function o(e){for(var t=1;t<arguments.length;t++){var A=null!=arguments[t]?arguments[t]:{};t%2?a(Object(A),!0).forEach((function(t){r(e,t,A[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(A)):a(Object(A)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(A,t))}))}return e}function i(e,t){if(null==e)return{};var A,n,r=function(e,t){if(null==e)return{};var A,n,r={},a=Object.keys(e);for(n=0;n<a.length;n++)A=a[n],t.indexOf(A)>=0||(r[A]=e[A]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)A=a[n],t.indexOf(A)>=0||Object.prototype.propertyIsEnumerable.call(e,A)&&(r[A]=e[A])}return r}var l=n.createContext({}),p=function(e){var t=n.useContext(l),A=t;return e&&(A="function"==typeof e?e(t):o(o({},t),e)),A},s=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var A=e.components,r=e.mdxType,a=e.originalType,l=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),f=p(A),m=r,h=f["".concat(l,".").concat(m)]||f[m]||c[m]||a;return A?n.createElement(h,o(o({ref:t},s),{},{components:A})):n.createElement(h,o({ref:t},s))}));function m(e,t){var A=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=A.length,o=new Array(a);o[0]=f;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:r,o[1]=i;for(var p=2;p<a;p++)o[p]=A[p];return n.createElement.apply(null,o)}return n.createElement.apply(null,A)}f.displayName="MDXCreateElement"},63214:(e,t,A)=>{A.r(t),A.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>p});var n=A(87462),r=(A(67294),A(3905));const a={},o="Pong",i={unversionedId:"examples/pong",id:"examples/pong",title:"Pong",description:'A simple example of "How to build a multiplayer game with Mirage" is Pong,',source:"@site/docs/examples/pong.md",sourceDirName:"examples",slug:"/examples/pong",permalink:"/Mirage/docs/examples/pong",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/examples/pong.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Multiple Additive Scenes Example",permalink:"/Mirage/docs/examples/multiple-additive-scenes"},next:{title:"Room",permalink:"/Mirage/docs/examples/room"}},l={},p=[{value:"Setting the number of players",id:"setting-the-number-of-players",level:2},{value:"Creating the player",id:"creating-the-player",level:2},{value:"Player start position",id:"player-start-position",level:2},{value:"Setting up the network",id:"setting-up-the-network",level:2},{value:"The ball of Pong",id:"the-ball-of-pong",level:2}],s={toc:p};function c(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"pong"},"Pong"),(0,r.kt)("p",null,'A simple example of "How to build a multiplayer game with Mirage" is Pong,\nwhich is included in the AssetStore package of Mirage. It illustrates the usage\nof NetworkManager, NetworkManagerHUD, NetworkBehaviour, NetworkIdentity,\nNetworkTransform, NetworkStartPosition, and NetworkingAttributes.'),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Pong",src:A(20447).Z,width:"710",height:"373"})),(0,r.kt)("h2",{id:"setting-the-number-of-players"},"Setting the number of players"),(0,r.kt)("p",null,"First of all, let's have a look at the NetworkManager object in the main scene.\nWhen adding the NetworkManager component to a game object, a few default settings\nare already set (",(0,r.kt)("strong",{parentName:"p"},"Don't destroy on Load"),", ",(0,r.kt)("strong",{parentName:"p"},"Run in Background"),", ...) For\nplaying Pong the maximum number of players is 2, so the setting ",(0,r.kt)("strong",{parentName:"p"},"Network\nInfo/Max connections")," will also be 2. As there are no other scenes (room,\nonline or offline scene) in this sample the properties for ",(0,r.kt)("strong",{parentName:"p"},"Offline Scene")," and\n",(0,r.kt)("strong",{parentName:"p"},"Online Scene")," will stay empty."),(0,r.kt)("h2",{id:"creating-the-player"},"Creating the player"),(0,r.kt)("p",null,"Furthermore, every player needs a racket to play with. Each player who joins the\ngame will have his own controllable object, which represents him within the\ngame. This game object is called ",(0,r.kt)("em",{parentName:"p"},"PlayerObject"),". For spawning the ",(0,r.kt)("em",{parentName:"p"},"PlayerObject"),"\na prefab has to be created, containing at least a NetworkIdentity component with\n",(0,r.kt)("strong",{parentName:"p"},"Local Player Authority")," checked. The ",(0,r.kt)("strong",{parentName:"p"},"Local Player Authority")," allows the\nplayer to control and modify the game objects properties (e.g. for movement). The\nNetworkManager needs a reference to this prefab, which is located in ",(0,r.kt)("strong",{parentName:"p"},"Spawn\nInfo/Player Prefab"),". To have the player movement synchronized over the network,\nthe player prefab also contains a NetworkTransform."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"NetworkManagerSettings",src:A(55233).Z,width:"710",height:"795"})),(0,r.kt)("h2",{id:"player-start-position"},"Player start position"),(0,r.kt)("p",null,"The main scene contains 2 game objects with only a NetworkStartPosition component\n(game objects RacketSpawnLeft, RacketSpawnRight in the scene). These transforms\nwill be automatically registered by the NetworkManager as spawning positions."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"NetworkStartPositions",src:A(41691).Z,width:"710",height:"576"})),(0,r.kt)("h2",{id:"setting-up-the-network"},"Setting up the network"),(0,r.kt)("p",null,"A very convenient component for establishing/testing connections is the\nNetworkManagerHUD. It provides basic functionality for starting a game as\na Client, Server, or Host (Client and Server at the same time). It\nrequires the NetworkManager component."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"NetworkManagerHUD",src:A(64779).Z,width:"451",height:"174"})),(0,r.kt)("h2",{id:"the-ball-of-pong"},"The ball of Pong"),(0,r.kt)("p",null,"The ball is the main focus of Pong, as this is the object needed to score\npoints. Its NetworkIdentity component has neither ",(0,r.kt)("strong",{parentName:"p"},"Server Only")," nor ",(0,r.kt)("strong",{parentName:"p"},"Local\nPlayer Authority")," checked, as it's moved by the server physics engine and can\nbe influenced by the players. As with the ",(0,r.kt)("em",{parentName:"p"},"PlayerObject")," the position is\nsynchronized via NetworkTransform. When having multiple scenes, the ball can be\nspawned by the NetworkManager, but to keep this sample simple, it's placed\ndirectly within the main scene."))}c.isMDXComponent=!0},20447:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/Pong1-2f2fbdb0fc4489632b5e7c6db8b58dbf.jpg"},55233:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/Pong2-2cf41cf4194623bc871a3b06beb53cb3.jpg"},41691:(e,t,A)=>{A.d(t,{Z:()=>n});const n=A.p+"assets/images/Pong3-82762443ba232c38e54d0585025372c1.jpg"},64779:(e,t,A)=>{A.d(t,{Z:()=>n});const n="data:image/jpeg;base64,/9j/2wBDAAcFBQYFBAcGCwYIBwcICxIMCwoKCxcQEQ0SGhccGxoXGhkeISskHiApIBkaJTMlKSwtLzAvHCM0ODQuNysuLy7/2wBDAQcICAsKCxYMDBYuHxofLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi7/wAARCACuAcMDASIAAhEBAxEB/8QAHAABAAMAAwEBAAAAAAAAAAAAAAQFBgEDBwII/8QAUBAAAAQDAwcGDAMFBAkFAAAAAAECAwQFEQYSExQVITFRU5IHFiJBUpMlMlRVYWaRlKHR0uIjcYEzQrPB4SRGcoM0NkNFYoKytPAXN3N0wv/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwD82gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCTwTcXEHf/ZoFeO+GcW3eurUn/CA2iUy1KS/sMJ3SRz4N83wfdJGSyl/fOcYZS/vnOMBrfBvm+D7pIeDfN8H3SRkspf3znGGUv75zjAa3wb5vg+6SHg3zfB90kZLKX985xhlL++c4wGt8G+b4Pukh4N83wfdJGSyl/fOcYZS/vnOMBrfBvm+D7pIeDfN8H3SRkspf3znGGUv75zjAa3wb5vg+6SHg3zfB90kZLKX985xhlL++c4wGt8G+b4Pukh4N83wfdJGSyl/fOcYZS/vnOMBrfBvm+D7pIeDfN8H3SRkspf3znGGUv75zjAa3wb5vg+6SHg3zfB90kZLKX985xhlL++c4wGt8G+b4Pukh4N83wfdJGSyl/fOcZjbWQkcPN7A2qmjrz+US3JMG6oqfiOqSqtSM9RdRkAjeDfN8H3SQ8G+b4PukjJZS/vnOMxqOT2RLtTa2Gg3X3m4LpYzpLoSPw1mmpmRkVTTTSA7fBvm+D7pIeDfN8H3SR3cosiYksfDzCCfiFSiYXsmU4sjM8O4lelJEnxjPVX0i65I7IS22MrtC5Gxz0MUFk2G7ipQlN9S61NSTp4pF1AM/4N83wfdJDwb5vg+6SKKeS2aWemzsuiTeafapeI7xa0krrIj1GQ0vKhJGLMWmODhnn8Iu2oq+Ig+oi61GAj+DfN8H3SQ8G+b4Pukj45M5W3aXlElkpiHnsmiMW/cUVei0tRayMtaS6hQTU3IWZuspeduJpSq/+EjAaLwb5vg+6SHg3zfB90kSplIoeG5JpJPUvP5ZF4+JVRXei8SC6q6vSM3DSO0kZDk+1K5q+yepxphxSddNZFTWQC68G+b4Pukh4N83wfdJGXQUe5EFDpKJU8eptN41Horq16tImxkltFL2Defls0hWi1uOsuISWmmsy2mXtAXfg3zfB90kPBvm+D7pI7LJ2Lj7R2XnM1pMFHA4GAlolUevrUlVCunepd6jKgyDjsU0u4pbyF9lQDV+DfN8H3SQ8G+b4PukjJZS/vnOMMpf3znGA1vg3zfB90kPBvm+D7pIyWUv75zjDKX985xgNb4N83wfdJDwb5vg+6SMllL++c4wyl/fOcYDW+DfN8H3SQ8G+b4PukjJZS/vnOMMpf3znGA1vg3zfB90kPBvm+D7pIyWUv75zjDKX985xgNb4N83wfdJDwb5vg+6SMllL++c4wyl/fOcYDW+DfN8H3SQ8G+b4PukjJZS/vnOMMpf3znGA1vg3zfB90kPBvm+D7pIyWUv75zjMMpf3znGYDW+DfN8H3SQ8G+b4PukjJZS/vnOMwyl/fOcZgJ89gIdLZxDSSRTxkpoRdWoUIlvvurZUk3VqI/+IzEQAAAABIhEX74jidLSI8T9P5gPvBDBEy6WwLpbAEPBDBEy6WwLpbAEPBDBEy6WwLpbAEPBDBEy6WwLpbAEPBDBEy6WwLpbAEPBDBEy6WwLpbAEPBDBEy6WwLpbAEPBDBEy6WwLpbAEPBDBEy6WwLpbAEPB9A9M5P26clVui25B/GUPP7pbBurBWqs/I5DPZTMWJi4xNMnpkKGzUnDUpWm/QuyA85wfQPX7A2bXBcmkymCY6Bl0dNsLI3Y53CIsJ1SXKKpXUdNFdemgqH3eSs2VYbVq8TqvphqfARLY2ug5vBS2XQCIqFl8vxcNDhEg+ndUdbtS8aoDWxtkHY7khVLlTOWTSPlNMmKCfN5RYr15dejXxS6iLVpqKDk7vscl9vFJWptfg+iknQy/FWK2wNsCstaRqKiSeiZequO0npmvoKu9E1ER0Uoj0jvlFqJNKLN2olSGYwym2S5OZoR0cJZqXfoZU16KEfpoAtZrDo5TrGFNm0JO0Mv/ANJbbLpxGI4SUUIry13UI6zKnVoEPlubvW1Vo2fw2xnrJWlibKTxuPb6SE1xGjqaHOioivJIyrS9UhacpNqpdbC0y5hCsRDLCqUS8hKVeIhOpJmWtJgOORVu7yvyU6b/APgOC0mtobFImbqVyN5SypUyhWj/AHS9Iz9gJ/CWVtxL5y+285Dw2JfSykjWd5tSCoRmRa1F1immT7cZMHH0pUSV0oSi09RfyAeuTaHlVo+Tyy7LDKoSBeyq6hSEoNNHSPUVSLSR+0Zi3tr5nKLbRUDBEmXQMNcuQzF5pB3m0mdUJURazMy9J1EN22UMnk/k8laREtx0vx7zpkRIO+7fKhkqurRqIWkyn9g7UTA5vHQ04h49z9s3AtspaOhElN0lGZ6klWp66gL2LKz0o5QZVPH5cwwxH419ptltLbVxq4XROhFUzI9Z1MR4mV2kZl0WpmcSa18M9cpDnEuRziKH1JIqFU6n+SfQKR/lDgY+2KY6JlMO/KkVuQ6odKjRVuh3Umq6VVERmJcptZZGx5uRctVPnYpVMNqNNpTPWR3iQZHqUoy9NAHVybTOOheTW2BIiXUZNkeFdcUVy86u9Sh6K+geXu33nMRXSWN5YO0snksDN5ZHtRioKaYN9UIlBrThmpRUvGRazLqPRUZOMRCZUvAxcn0XMWl7VprTRrqArMEMETLpbAulsAQ8EMETLpbAulsAQ8EMETLpbAulsAQ8EMETLpbAulsAQ8EMETLpbAugIeCGCJl0LoCHghgiZdC6Ah4PoDB9AmXS2BdLYAh4PoDB9AmXS2BdLYAr4hu6wo/yEIW0aRFBr/QVIAAAACRBvky4ddR6xHABdFEMmVcVBfmohzlDO9RxEKQAF3lDO9RxEGUM71HEQpAAXeUM71HEQZQzvUcRCkABd5QzvUcRBlDO9RxEKQAF3lDO9RxEGUM71HEQpAAXeUM71HEQZQzvUcRCkABd5QzvUcRBlDO9RxEKQAF3lDO9RxEGUM71HEQpAAXeUM71HEQZQzvUcRCkABd5QzvUcRBlDO9RxEKQAF3lDO9RxEGUM71HEQpAAXeUM71HEQZQzvUcRCkABd5QzvUcRBlDO9RxEKQAF3lDO9RxEGUM71HEQpAAXeUM71HEQZQzvUcRCkABd5QzvUcRBlDO9RxEKQAF3lDO9RxEGUM71HEQpAAXeUM71HEQZQzvUcRCkABd5QzvUcRBlDO9RxEKQAF3lDO9RxEGUM71HEQpAAXeUM71HEQZQzvUcRCkABd5QzvUcRBlDO9RxCkABd5QzvUcQZQzvUcQpAAXeUM71HEGUM71HEKQAF3lDO9RxEGUM71HEQpAAXeUM71HEQZQzvUcRCkABOjYpDjdwjrXWIIAAAAAAlS+BXHxGGRkkutR9Wv5CKJkvi3ITEuknpUrX9QGiTZmVXSq/FXuui0fIc82ZRv4vjR8hU54idiPj8wzxE7EfH5gLbmzKN/F8aPkHNmUb+L40fIVOeInYj4/MM8ROxHx+YC25syjfxfGj5BzZlG/i+NHyFTniJ2I+PzHKZvEqURdD4/MBa82ZRv4vjR8g5syjfxfGj5CZbeVx1jLTPyhx1l1bN2qkKUoj6CVazIu1sGdzxE7EfH5gLbmzKN/F8aA5syjfxfGgaGAsXOY+wfOJLkORufsYe8vEd/FNCqJu6aa9AxJTiJM9SPiAtebMo38XxoDmzKN/F8aBoOUGxc8sG6ybmFEQ716jrV9RJ8XxqpSRVv0FXZyVx9oZPN49LrKEy3BvXlKI1YijSVNdQEPmzKN/F8aA5syjfxfGgVOeInYj4jU2Ws7NrSMORiomClsvapeio5xbLZ+NSi9JeMmn6gKzmzKN/F8aA5syjfxfGga9NiUzVtSJdaCVRcWmlIc4y+45/hShJmdCIzPZQZ6Dk8ziLHzqeKuMlKcDEacvJWeK5cLR8dYCDzZlG/i+NAc2ZRv4vjQPqakcvkUqjkTGBiXY7GxWGnr7jFxRUvp/dvVqVdYp88ROxHxAW3NmUb+L40BzZlG/i+NAqc8ROxHxDPETsR8QFtzZlG/i+NAc2ZRv4vjQOZTBzecyqYzBrBJiXYWNfv1/EUaU0pUvaKjPETsR8QFtzZlG/i+NAc2ZRv4vjR8hU54idiPiGeInYj4/MBbc2ZRv4vjR8g5syjfxfGj5CpzxE7EfH5hniJ2I+PzAWqrMyq6dH4q91VWj5DNzCBXARGGZkoupRder5ifniJ2I+PzEKYRbkXh3iT0a0p+gDphIV2NikQ7aDW4ut1JEZ1oVer8hcnMIGTOGy1BwscZeMuKaS4naV0yMtun8iHbyetpdt3LkGVSPFqX+UsdNj7Mu2vtGzK0OobW9e6S1GRFRCla6H2dgD752EX+4JJ7p/Uc87iL+70i9z+4Z0AGj54+rsg9y+4c88vVyz/uX3DNgA0nPL1bs/7l9w555+rdnvcfuGaF9Y6zDtrrRMSpDqGlu3qKWoyIqIUrWRH2dgCRz09WrPe4/cHPX1as77j9wjy6zDswsdOZ8TqEtyvAvINRkasRw0FQqadW0hQgNPz19WbO+4/cHPX1Zs77j9wzAANPz19WbO+4/cHPX1Zs77j9wzAsJFJYq0U6YlbF3KH71y/WnRSaj1VPUR9QC356+rNnfcfuDnr6s2d9x+4ZyIYVDPqaMyNSaVpqHWA03PX1as77j9wc9PVqz3uP3DMgA0vPP1bs97j9w455erdn/cvuGbABpOeXq5Z/3L7hxzx9XZB7l9wzgANFzuI/7vSL3P7hxzsI/wDcEk90/qM8AC/KYQM5cJl2DhYEz8VcK0ltO07xmZ7NH5mKACOh1AAAAAB3wyb179B0CbLkkrE/T+YDnCMMIxNwiDCIBCwjDCMTcIgwiAQsIx9tNHiEJWEQ+220k4XUA3XLwi9ypR5//H/CaHn8ulURNZg3BtINbzlbqSIzrrM9RGeoh7byi2UldsbXxM2ZtnZdpl27RLszSlRfhoTqIj60n1irsjZ2TWLtKmcRNo5DMChK3GoWNQ7fvIUk9BkVaXiPX1ANFE50kfKbLpS1JJg/Z+W4viwqlNLxGr3VRB0Wewh4zbOy7tlbWRUqUSqM3LqjI6K6CVaDoXa2C1d5QLTuum5neMIz2RDv1DQW+jpdaqzEnnxRsLnRWPljJupxT6aUI6OlXiprpP8AIBvLZzaAm3KJN7HTBaUQUXg4D7hpLJ7jSXVUUszJF4yItBaRibHSGNs9Z+20uiGlNvt5DeI0qL99SusiPUZdQg8r8xhZhykRsbCxzMS0dy49DOktJ/hNkdFJP0GQ2UDbOTT3k3mj0REwsLPXMHGvuIQp/wDFomlVGtV1BFr1VAeA4Rj1G3N+Uck1kYCHM0MReWY5oOmLdeSpN6lCVQzOldQ87wiHpMljpRa6w8NZqMjWoGMl17JImJdQ23+I4bi7y1VPUkiKhFr0gPN5PMY6SzNqNhnnGYhut1TalJPrI/FMj1GY9Akzz0ZyL25ec/aOZBXXvzLr/ITJHYmRWYmCZpMrQyOZwzNaQ0BGIeWvWnxFpIjoaknr6h1szyXRvJtbNN6CgXozIsGDbNLZquO9K4itT0FU6bQFZaGysO7Ymw6odhtuMmOXYrhIIjXhuFdqZFU6FXXUaicSM7KzRUmhLBPTiEZpfjImUZQtfRJRXXEkRHQ1GR6Or0Con08hIaxdhVMxUO/EwOX4rSHCUpq+4V28kjqVSqZVpUaG0DkfaWdLmsv5RGZZAxFKQ0VOVMraupJOlCKkmppM9emoCHK+TiVwvLJAy9UM4uVxmJhtRTaTWVxg1HeTdu+NpIQ7Jx9lrRWqYszmCETAv3sOKKDaKI6KFOHVektZU1C0s1OZPB8ssA6dooqKg4fErFzONQtBXmDLQutNegYXk0iIWX8oksinohqGYbxbzrqyQlP4SyKpnoLSZEA2FgotuS2EtfCnLoKIyHI7xuskrGvuqMr+q9SujVQeOxJ48Qpwm0NkqnRQmhF+g9csm/Lo1q1koVNIGDVM8kwnol9LbR4d5Sul+lNBHrHmMXAlCRS2MZl+7T8RpV5J9egwFZhGGEYm4RBhEAhYRhhGJuEQYRAIWEY6IlN26LTCIQZikk4YC65Of9f5d/m/wli75Ev/AHLgP8z+E4KTk5/1/l3+b/CWLPkgmEFLOUKCiYiLYhGE4l5190m0l+E4WkzOmsyL9QH1ZKTyuBsnH2ojGcqKHw8nYNCVoXeWptV5Ki00qRlQ+oT4BqU8oMmjm0yuElk1h8PBKCYQy0u8o717xlHRKNFOszESyMdL5xY2Y2YiI1iAddwsmfiHUtNJ/EU4u8o600ERFQtZ6RYSZiX8nknj412cy2ZR72HgNQESl670jJV4jumWhdSpsMB0LZlVhLJyuLclkLM5pMcW+iMYQ803hroVCO6oqpX6dJEM/aiKs9NGYCNhWFQcQ7iZUyhDbbaKUJFxKamVSIzOvWegaKKRA29shKWym8ulsxl2NipjohLKXMRzo3C6SjolGmtKVIVk1g7NSBUpg8oZmUQ1jZa9DLbeZXWht3FaDOhHQ73WR0AaBTiISMwICwKphK06omOlGK4eivjo6PjVL8iIheyKz0HZ3l+YhodKkQ53riFERU/sxmegiItZmIFp8qjJ87EQluJTLZMqmHDwc0NlRUSRH0U9HxiM/wBT6xaFaKRr5bIKalOIIoJWJV1yJRRH4F3pKrQqnoLSAy/J67Ascltr3IptbkGnI8RKEpMz/FVTQrRroOuGOT22sZOXczwctjZdgYSoOGQySsRyh3j0mdCTopTWYq7PTCCZ5IbYQa4thuKiMjwmVukS3brxmq6mtToWk6aiCwMwgoOzNpGnYthhx7JsJDrpJNyi1VoRnppXTQBYPsSmwVmZa+5LYaZzSOxcREYyh5pu4uhUI7qiqlfp0kQ6pxJJLPrNwlomGyl5dPLGkJQ02jpkhu6REdK0Mzqes9AkRrcBb+ysruziXy2ZQOLjIjolLKXL6+jcLpKOiUaa01kPicRcls9Y+Fszl7cxW9fyt6AdQ6gqOE4i6rRtodS1kdAGhm0uZk83yRqxsPNZEnVGwstJ54+iR/tCIkeOd38iMtYoeSmKgYXldhoZiENTD9/CXFtpN5qjKzOhloKp11ayoLmDYi5fOCdhbfy12SH4sPHTczUno6byU9HxzMy/TrFHKrRSNjl4anTSWoKUprdKiG0o/s5oPUd0qq9PXtAY+1cxRMp466mDhoQtHQYauJ8VPVX0fEUovrXyhEonjjaZnL5ihVKOQT+KnxU9dC2/AxQgAAAAAAAAAAAAAAAAAAAAAly9wkOKIzLpf1EQCOgC+I6jkUZPul/tV8RjnKHt6viMBdgKTKHt6viMMoe3q+IwF2ApMoe3q+Iwyh7er4jAXYCkyh7er4jDKHt6viMBdgKTKHt6viMMoe3q+IwF2ApMoe3q+Iwyh7er4jAXYCkyh7er4jDKHt6viMBeKWpWtRn+ZjgUmUPb1fEYZQ9vV8RgLsckpSSMiUZEeuhijyh7er4jDKHt6viMBdgKTKHt6viMMoe3q+IwF2RmR1rQwFJlD29XxGGUPb1fEYC7AUmUPb1fEYZQ9vV8QC7AUmUPb1fEGUPb1fEAujOgrJg4S3EkRl0RHN90/wDar4h8GdQFvZWZNyi00JHLrcav1p/gUW0tohR0A9AxBtqSZl1LIjuq1aj69Yii1g7QPwqbq4WFjqasrbNyn5af/KEAqqHsHKlKUdTMzP0mL8rWn5hkfun9R9Fa+n935F7n9wDPEo0nUjMj2kOBo+ePq7IPcvuHPPL1cs/7l9wDOXlGkiqdC1FUcDSc8vVuz/uX3Dnnn6t2e9x+4BmgGm56erVnvcfuDnr6tWd9x+4BmkqNJ1IzI9pGODOo0/PX1Zs77j9wc9fVmzvuP3AMzfUSbt47p9VdA4Gn56+rNnfcfuDnr6s2d9x+4BmDMzOtagNPz19WbO+4/cHPX1Zs77j9wDMANNz19WrO+4/cHPT1as97j9wDMgNLzz9W7Pe4/cOOeXq3Z/3L7gGbAaTnl6uWf9y+4cc8fV2Qe5fcAzgUPYNEdr6/3fkXuf3D5O1p+YZH7p/UBUwMA9HRBNpSZF1rMjup16z6tQii1jLQPxSbqIWFga68kbNuv56f/KiqAAAAAdjDDkS6TaEmpR/mY6xYyiMbg3HFmk72i78QE1NkY1SSPKYTvFfSOeZ8b5VB94r6RIz+jY4Gf0bHAEfmfG+VQfeK+kOZ8b5VB94r6RIz+jY4Gf0bHAEfmfG+VQfeK+kOZ8b5VB94r6RIz+jY4Gf0bHAEfmfG+VQfeK+kOZ8b5VB94r6RIz+jY4Gf0bHAEfmfG+VQfeK+kOZ8b5VB94r6RIz+jY4Gf0bHAEfmfG+VQfeK+kOZ8b5VB94r6RIz+jY4Gf0bHAEfmfG+VQfeK+kOZ8b5VB94r6RIz+jY4Gf0bHPYAj8z43yqD7xX0hzPjfKoPvFfSLeJcjISTwkzXDPohIy/hOYZkS7irqqV0HT0CBn9Gxz2AI/M+N8qg+8V9Icz43yqD7xX0i8kbUytG841CQUVEqbpfw2lLu66Vu1p4pisXPMNRpU26lRa7yaGAjcz43yqD7xX0hzPjfKoPvFfSL1xmZt2eanhwMXm52t18mlXPHueNq8bRrEWVxkROJk1AMMPPRDtbiEINRnrM9BVPURgKzmfG+VQfeK+kOZ8b5VB94r6RMiJwcM+plaHUrTSpGVPTtEiWPx06iihoWBjIt0/3GWlOH1nqTXqI/YAq+Z8b5VB94r6Q5nxvlUH3ivpGyirLWihoc3Sl0VFXdaGGXFqLq1UGVOfJI6XXCP0kAj8z43yqD7xX0hzPjfKoPvFfSJGf0bHPYGf0bHPYAj8z43yqD7xX0hzPjfKoPvFfSJGf0bHPYGf0bHPYAj8z43yqD7xX0hzPjfKoPvFfSJGf0bHPZ/UM/o2Oez+oCPzPjfKoPvFfSHM+N8qg+8V9IkZ/Rsc9n9Qz+jY57P6gI/M+N8qg+8V9Icz43yqD7xX0jSSaWTqes4zMtjDh9+pleH1l4xEZayMgnEsnUkYyh2XRhw2/QyvDLUXjGRFrOgDN8z43yqD7xX0hzPjfKoPvFfSJGf0bHPZ/UM/o2Oez+oCPzPjfKoPvFfSHM+N8qg+8V9Ito16Ll8ugo52Hfbh46/grUgyJdzQqhnoOhn1VEHP6Njns/qAj8z43yqD7xX0hzPjfKoPvFfSJGf0bHPYGf0bHPYAj8z43yqD7xX0hzPjfKoPvFfSJGf0bHPYGf0bHPYAj8z43yqD7xX0hzPjfKoPvFfSJGf0bHPYGf0bHAEfmfG+VQfeK+kOZ8b5VB94r6RIz+jY4Gf0bHAEfmfG+VQfeK+kOZ8b5VB94r6RIz+jY4Gf0bHAEfmfG+VQfeK+kOZ8b5VB94r6RIz+jY4Gf0bHAEfmfG+VQfeK+kOZ8b5VB94r6RIz+jY4Gf0bHAFHHS2Il7l1ZEZdSkkdD1dZl6REF3M5m3GQakXVXtF3UKQAAAAB3Q5Gd79B0iZAIv4nop/MAuGFwxMwQwQEO4YXDEzBDBAQ7hhcMTMEMEBDuGFwxMwQwQEO4YXDEzBDBAQ7hhcMTMEMEBDuGFwxMwQwQHoNq0n/AOhdiS/+9/3CR5lcMeyzSz00nnIpY9uFl8TGqayy/gNKcu/jlSt2tOsYtjk4tM5GNsrksfDk5Wi3YVxCfikBqLOx6+Tnk2RNSLDj55XD0UWjBdNJ08UyqlYz3KvZ9mVWuci4ZJZsjaZMpJFToNov6qJ8auobe3NuZbK50ciakUpmMDLv2C4mES7+0SlaqUURewdc8imuUfkzcjG4OHZjpHSjMO0Sf2zpakleP9yoC2s5NJVDcjdkJPHttnLZnlmM6pKat4b5qTQ1ndKqqFpIxjbEWYjbKcukslzyam3i3XSJV1f9nUrQZkVaXiIdlpUGXIhYotRll3/cENpyYTGDtpGy16IcSmeSfFuuLURKicW+WkzM1LuoSWynpAeGWlQfOKJ/5P8AoIbjkji4RqDnsDl8NLJrF5PkUY+6TJM3L5udPxk1To6OuukZO0bNbQRP/L/0ENBZCx8vtJIZkbUcuHnzGFkzS3UpQ7eUq/QiSazohNdGrrAWsFA8o9lps3MSfmE9h26322VvxDLnRuleLQR0NWj/AA+gZGXSGKtxbXI4eHagso6lINttq62Z6aVpW6f51G1snB8pEBOmkLTOWYRNb5R5RCYfxVUrXRrMXNnJpI4Plvj8mVBMwMRh4C1mhLKbsOd7SWgtJnqAZKFsXY6dR+Z4KaRqZmrxHYp9oodX7x0NKTUfRIy1CPZLk3YnEqnEXGRS5fmzAv33CaIsRSiKt5J7C2axtJRF2qK0DbCbAWZlak1/tzsodZab6Bnpc6q+L6aiCiKfjOTO30StcMbrmb6qhTPD/a00H+RaQGYnNiZC7ZuZTiVxkXFNy/CxUPOtrV+IskloQn/FrMtQqJbZJl6wsztBEOuNYGFkqEqJONedNC9B+NTRqPR1i+5LYtkp65I31EmAmlMa8ZEn8JK1prXR41NZH+gk8orZWfksqsghScSX42Umg/2mIpDqL2qtK6KkXoAVUtsVKJfZuGnU4iYplmNv4DEG4hL53FmhVUuJprNJ6DMR7QWIh4OEgprBRKomVRmJdNThLdauUT07qbqaqM6adI9Kj5xFRdhZHEQFmpNaFLeUYrURAnEusfikRdFJ9G9pPTru+gU9o46eHZWCYipXIJMy/fuwUKwuHiEXVkeltWqp0V+vpAVFseT2zFjzjIV2aRLswbuYTTb7R08U1XyNJH4qqlQedS+BXHxzcMWhS60r+p/yHoHLWlS+V6c6akWBQtn4LYxUG45BRaIhFL6K0r7P5gPQeVS0EXZy0jtlZc+7LIGX3f8ARVmybuIhDnSuGRHQzVTQVKjp5LbSxk2tQzZ2YvuzSWx16+iKWb2HcQtZXSWZpKqiKug9QsuUWzbls5uu1UsQqYIjqYkNDliutXEobKqUEdK3VHrOtB18nNlHrMT1q0s0bVLIaBrRqKSbLjt9K2+ilZER0NSTPSVKgKiScmULHwc9efj8lTKsn6a3SQj8WpaTNHoLZr6x8xlh7OzSycwm8pjI5xcvw8VqNdbNR4i7qaJbT6FGdTIXMsjXZjyS28jD6Ljub60qX+2Mv5CHycN0shawtuSfxFgO21MNCxVg+TxmIcU1DKzjfWhRJMvxUmWk9Gugx9pbFxkkts/Z9CVvOIu4aqGq/wDhks6USVaV2DV29bryZWFLZl/8VI2spOBm0DJrfPm2t2Bx8vS4aTrfqy3UjrsLxlF6AHjVtpBB2btTEyqHiFxLcPc/FUslkq8hKtHEZDP3DFnGPPR8WuJdWbjq6XlKMzMdGCAh3DC4YmYIYICHcMLhiZghggIdwwuGJmCGCAh3DC4YmYIYICHcMLhiZghggIdwwuGJmCGCAgOpMmjEYWUW1dhVn+QrQAAAAE2WqotZbafzEIfSFqbVeIzqAvQFWUxeIqUR8Qzk92UfEBaAKvOT3ZR8Qzk92UALQBV5ye7KAzk92UALQBV5ye7KAzk92UALQBV5ye7KAzk92UALQBV5ye7KAzk92UALQBV5ye7KAzk92UewwGqg7V2il0IiFYn0zhYdutxpmLcQhO2iS0F1mOxy2dqHTI1Wkm67uq9Gun/+hkc5PdlHsMM5PdlHsMBbvPuxDynXHFuuK1rWo1H8R3wk0j4Bp1pmOiYZt+mKhp1SCc2Xqa6adYoc5PdlHsMM5PdlHsMBeOzGNegWYNcZEOQsPewmVuqNDd7Sq6mtCqek6axzAzKOlcQURDRsRBvFqcYdU2otZayMj1GZfqKLOT3ZR7D+YZye7KPYfzAWzjrjzhrWtTiz1qUdTP8AUdsJHRcvfJ5iKehXS1ONOGhRdWsvQZikzk92Uew/mGcnuyj2H8wGyftxaiIZwlWhmikdZHGOnXr09IUiHnGnScS4tDhalJUZGX6iozk92Uew/mGcnuyj2GA1zlsbSPMm0qfTNST8a9FuHe69PSFa3MI1mCfg0Rb7cLEXcVlLqiQ7d0pvJ1HQ9JV1Cjzk92Uewwzk92UewwFuy87Duk624tpxOpaFGky/Uh2RsdFzGLXFPxT0XELpfdecNa1dRVM9J6CIv0FJnJ7so9hhnJ7so9hgNJLrQTeUpNEPM4yFbV4yGn1oSrXrIjLaftHxHzmZzR9L0RMIqKcT4q3nlLNOojoZmewvYM9nJ7so9h/MM5PdlHsP5gLuNjouZRi4uIinouJcpfdecNa1dRVUek9BEX6DoFXnJ7so9h/MM5PdlHsP5gNLLbQTiT6IaaRsGk9aWX1tkevqSZbT9o5mVo51N03ImaxsWjsPRC1pLV1GZ7C9gzOcnuyj2H8wzk92Uew/mAvGphGswL8GiLfbhYi7isodUSHbulN5NaHQ9JV1BDTCNg2XWmot9ht6mKhp1SSc6yvER6aV0VFHnJ7so9h/MM5PdlHsP5gNAcbFRyIaEejX3IaHvYTbjpmlq9pVdI9CamRVprG1tFNZbIbGFZuCj1RhxX+lOIdS4jouE4i6aTLadal1aB5VnJ7so9h/MM5PdlHsP5gLQBV5ye7KPYYZye7KPYYC0AVecnuyj2GGcnuyj2GAtAFXnJ7so9hhnJ7soAWgCrzk92UBnJ7soAWgCrzk92UBnJ7soAWgCrzk92UfEM5PdlHxAWgCrzk92UfEM5PdlHxASo9VIVRbRVDsdfW9rMdYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//Z"}}]); \ No newline at end of file diff --git a/assets/js/23d11a1d.58692ad8.js b/assets/js/23d11a1d.58692ad8.js new file mode 100644 index 00000000000..6d6b5b808d1 --- /dev/null +++ b/assets/js/23d11a1d.58692ad8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2543],{3905:(t,e,a)=>{a.d(e,{Zo:()=>p,kt:()=>d});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function i(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?l(Object(a),!0).forEach((function(e){r(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}function o(t,e){if(null==t)return{};var a,n,r=function(t,e){if(null==t)return{};var a,n,r={},l=Object.keys(t);for(n=0;n<l.length;n++)a=l[n],e.indexOf(a)>=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(n=0;n<l.length;n++)a=l[n],e.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var c=n.createContext({}),u=function(t){var e=n.useContext(c),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},p=function(t){var e=u(t.components);return n.createElement(c.Provider,{value:e},t.children)},m={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},g=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,l=t.originalType,c=t.parentName,p=o(t,["components","mdxType","originalType","parentName"]),g=u(a),d=r,k=g["".concat(c,".").concat(d)]||g[d]||m[d]||l;return a?n.createElement(k,i(i({ref:e},p),{},{components:a})):n.createElement(k,i({ref:e},p))}));function d(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var l=a.length,i=new Array(l);i[0]=g;var o={};for(var c in e)hasOwnProperty.call(e,c)&&(o[c]=e[c]);o.originalType=t,o.mdxType="string"==typeof t?t:r,i[1]=o;for(var u=2;u<l;u++)i[u]=a[u];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}g.displayName="MDXCreateElement"},83515:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>o,toc:()=>u});var n=a(87462),r=(a(67294),a(3905));const l={id:"Vector3PackAttribute",title:"Vector3PackAttribute"},i="Class Vector3PackAttribute",o={unversionedId:"reference/Mirage.Serialization/Vector3PackAttribute",id:"reference/Mirage.Serialization/Vector3PackAttribute",title:"Vector3PackAttribute",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/Vector3PackAttribute.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/Vector3PackAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/Vector3PackAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/Vector3PackAttribute.md",tags:[],version:"current",frontMatter:{id:"Vector3PackAttribute",title:"Vector3PackAttribute"},sidebar:"api",previous:{title:"Vector2Packer",permalink:"/Mirage/docs/reference/Mirage.Serialization/Vector2Packer"},next:{title:"Vector3Packer",permalink:"/Mirage/docs/reference/Mirage.Serialization/Vector3Packer"}},c={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"Vector3PackAttribute(Single, Single, Single, Single, Single, Single)",id:"vector3packattributesingle-single-single-single-single-single",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Vector3PackAttribute(Single, Single, Single, Single)",id:"vector3packattributesingle-single-single-single",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Vector3PackAttribute(Single, Single, Single, Int32, Int32, Int32)",id:"vector3packattributesingle-single-single-int32-int32-int32",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Vector3PackAttribute(Single, Single, Single, Int32)",id:"vector3packattributesingle-single-single-int32",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5}],p={toc:u};function m(t){let{components:e,...a}=t;return(0,r.kt)("wrapper",(0,n.Z)({},p,a,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-vector3packattribute"},"Class Vector3PackAttribute"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,r.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class Vector3PackAttribute : Attribute, _Attribute\n")),(0,r.kt)("h3",{id:"constructors"},"Constructors"),(0,r.kt)("h4",{id:"vector3packattributesingle-single-single-single-single-single"},"Vector3PackAttribute(Single, Single, Single, Single, Single, Single)"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector3PackAttribute(float xMax, float yMax, float zMax, float xPrecision, float yPrecision, float zPrecision)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"xMax"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"yMax"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"zMax"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"xPrecision"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"yPrecision"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"zPrecision"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"vector3packattributesingle-single-single-single"},"Vector3PackAttribute(Single, Single, Single, Single)"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector3PackAttribute(float xMax, float yMax, float zMax, float precision)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"xMax"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"yMax"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"zMax"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"precision"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"vector3packattributesingle-single-single-int32-int32-int32"},"Vector3PackAttribute(Single, Single, Single, Int32, Int32, Int32)"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector3PackAttribute(float xMax, float yMax, float zMax, int xBitCount, int yBitCount, int zBitCount)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"xMax"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"yMax"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"zMax"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"xBitCount"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"yBitCount"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"zBitCount"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"vector3packattributesingle-single-single-int32"},"Vector3PackAttribute(Single, Single, Single, Int32)"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector3PackAttribute(float xMax, float yMax, float zMax, int bitCount)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"xMax"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"yMax"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"zMax"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"bitCount"),(0,r.kt)("td",{parentName:"tr",align:null})))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2429903c.30552a33.js b/assets/js/2429903c.30552a33.js new file mode 100644 index 00000000000..3da489becd1 --- /dev/null +++ b/assets/js/2429903c.30552a33.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3617],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>s});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),d=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=d(e.components);return a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},k=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,l=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),k=d(n),s=r,u=k["".concat(c,".").concat(s)]||k[s]||m[s]||l;return n?a.createElement(u,i(i({ref:t},p),{},{components:n})):a.createElement(u,i({ref:t},p))}));function s(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=n.length,i=new Array(l);i[0]=k;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:r,i[1]=o;for(var d=2;d<l;d++)i[d]=n[d];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}k.displayName="MDXCreateElement"},23465:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var a=n(87462),r=(n(67294),n(3905));const l={id:"ConnectionExtensions",title:"ConnectionExtensions"},i="Class ConnectionExtensions",o={unversionedId:"reference/Mirage.SocketLayer/ConnectionExtensions",id:"reference/Mirage.SocketLayer/ConnectionExtensions",title:"ConnectionExtensions",description:"Inheritance",source:"@site/docs/reference/Mirage.SocketLayer/ConnectionExtensions.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/ConnectionExtensions",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ConnectionExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/ConnectionExtensions.md",tags:[],version:"current",frontMatter:{id:"ConnectionExtensions",title:"ConnectionExtensions"},sidebar:"api",previous:{title:"Config",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Config"},next:{title:"ConnectionState",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ConnectionState"}},c={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"SendUnreliable(IConnection, Byte[])",id:"sendunreliableiconnection-byte",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"SendUnreliable(IConnection, ArraySegment<Byte>)",id:"sendunreliableiconnection-arraysegmentbyte",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"SendNotify(IConnection, Byte[])",id:"sendnotifyiconnection-byte",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns",level:5},{value:"SendNotify(IConnection, ArraySegment<Byte>)",id:"sendnotifyiconnection-arraysegmentbyte",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-1",level:5},{value:"SendNotify(IConnection, Byte[], INotifyCallBack)",id:"sendnotifyiconnection-byte-inotifycallback",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"SendNotify(IConnection, ArraySegment<Byte>, INotifyCallBack)",id:"sendnotifyiconnection-arraysegmentbyte-inotifycallback",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"SendReliable(IConnection, Byte[])",id:"sendreliableiconnection-byte",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"SendReliable(IConnection, ArraySegment<Byte>)",id:"sendreliableiconnection-arraysegmentbyte",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-7",level:5}],p={toc:d};function m(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-connectionextensions"},"Class ConnectionExtensions"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static class ConnectionExtensions\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"sendunreliableiconnection-byte"},"SendUnreliable(IConnection, Byte[])"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static void SendUnreliable(this IConnection conn, byte[] packet)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IConnection"),(0,r.kt)("td",{parentName:"tr",align:null},"conn"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,r.kt)("td",{parentName:"tr",align:null},"packet"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"sendunreliableiconnection-arraysegmentbyte"},"SendUnreliable(IConnection, ArraySegment","<","Byte",">",")"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static void SendUnreliable(this IConnection conn, ArraySegment<byte> packet)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IConnection"),(0,r.kt)("td",{parentName:"tr",align:null},"conn"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,r.kt)("td",{parentName:"tr",align:null},"packet"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"sendnotifyiconnection-byte"},"SendNotify(IConnection, Byte[])"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static INotifyToken SendNotify(this IConnection conn, byte[] packet)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IConnection"),(0,r.kt)("td",{parentName:"tr",align:null},"conn"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,r.kt)("td",{parentName:"tr",align:null},"packet"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyToken"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"sendnotifyiconnection-arraysegmentbyte"},"SendNotify(IConnection, ArraySegment","<","Byte",">",")"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static INotifyToken SendNotify(this IConnection conn, ArraySegment<byte> packet)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IConnection"),(0,r.kt)("td",{parentName:"tr",align:null},"conn"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,r.kt)("td",{parentName:"tr",align:null},"packet"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-1"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyToken"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"sendnotifyiconnection-byte-inotifycallback"},"SendNotify(IConnection, Byte[], INotifyCallBack)"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static void SendNotify(this IConnection conn, byte[] packet, INotifyCallBack callBacks)\n")),(0,r.kt)("h5",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IConnection"),(0,r.kt)("td",{parentName:"tr",align:null},"conn"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,r.kt)("td",{parentName:"tr",align:null},"packet"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyCallBack"),(0,r.kt)("td",{parentName:"tr",align:null},"callBacks"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"sendnotifyiconnection-arraysegmentbyte-inotifycallback"},"SendNotify(IConnection, ArraySegment","<","Byte",">",", INotifyCallBack)"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static void SendNotify(this IConnection conn, ArraySegment<byte> packet, INotifyCallBack callBacks)\n")),(0,r.kt)("h5",{id:"parameters-5"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IConnection"),(0,r.kt)("td",{parentName:"tr",align:null},"conn"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,r.kt)("td",{parentName:"tr",align:null},"packet"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyCallBack"),(0,r.kt)("td",{parentName:"tr",align:null},"callBacks"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"sendreliableiconnection-byte"},"SendReliable(IConnection, Byte[])"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static void SendReliable(this IConnection conn, byte[] packet)\n")),(0,r.kt)("h5",{id:"parameters-6"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IConnection"),(0,r.kt)("td",{parentName:"tr",align:null},"conn"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,r.kt)("td",{parentName:"tr",align:null},"packet"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"sendreliableiconnection-arraysegmentbyte"},"SendReliable(IConnection, ArraySegment","<","Byte",">",")"),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static void SendReliable(this IConnection conn, ArraySegment<byte> packet)\n")),(0,r.kt)("h5",{id:"parameters-7"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IConnection"),(0,r.kt)("td",{parentName:"tr",align:null},"conn"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,r.kt)("td",{parentName:"tr",align:null},"packet"),(0,r.kt)("td",{parentName:"tr",align:null})))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/25762df2.9088e861.js b/assets/js/25762df2.9088e861.js new file mode 100644 index 00000000000..5a226003346 --- /dev/null +++ b/assets/js/25762df2.9088e861.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4777],{3905:(e,n,t)=>{t.d(n,{Zo:()=>d,kt:()=>y});var r=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var c=r.createContext({}),l=function(e){var n=r.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},d=function(e){var n=l(e.components);return r.createElement(c.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},p=r.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=l(t),y=i,h=p["".concat(c,".").concat(y)]||p[y]||u[y]||a;return t?r.createElement(h,o(o({ref:n},d),{},{components:t})):r.createElement(h,o({ref:n},d))}));function y(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,o=new Array(a);o[0]=p;var s={};for(var c in n)hasOwnProperty.call(n,c)&&(s[c]=n[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,o[1]=s;for(var l=2;l<a;l++)o[l]=t[l];return r.createElement.apply(null,o)}return r.createElement.apply(null,t)}p.displayName="MDXCreateElement"},14833:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>l});var r=t(87462),i=(t(67294),t(3905));const a={sidebar_position:7},o="Code Generation",s={unversionedId:"guides/sync/code-generation",id:"guides/sync/code-generation",title:"Code Generation",description:"So for this script:",source:"@site/docs/guides/sync/code-generation.md",sourceDirName:"guides/sync",slug:"/guides/sync/code-generation",permalink:"/Mirage/docs/guides/sync/code-generation",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/sync/code-generation.md",tags:[],version:"current",sidebarPosition:7,frontMatter:{sidebar_position:7},sidebar:"docs",previous:{title:"serialization-flow",permalink:"/Mirage/docs/guides/sync/serialization-flow"},next:{title:"Advanced Synchronization",permalink:"/Mirage/docs/guides/sync/custom-serialization"}},c={},l=[],d={toc:l};function u(e){let{components:n,...t}=e;return(0,i.kt)("wrapper",(0,r.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"code-generation"},"Code Generation"),(0,i.kt)("p",null,"So for this script:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},'using Mirage;\n\npublic class Data : NetworkBehaviour\n{\n [SyncVar(hook = nameof(OnInt1Changed))]\n public int int1 = 66;\n\n [SyncVar]\n public int int2 = 23487;\n\n [SyncVar]\n public string MyString = "Example string";\n\n void OnInt1Changed(int oldValue, int newValue)\n {\n // do something here\n }\n}\n')),(0,i.kt)("p",null,"The following sample shows the code that is generated by Mirage for the ",(0,i.kt)("inlineCode",{parentName:"p"},"SerializeSyncVars")," function which is called inside ",(0,i.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour"),(0,i.kt)("inlineCode",{parentName:"p"},".OnSerialize"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public override bool SerializeSyncVars(NetworkWriter writer, bool initialState)\n{\n // Write any SyncVars in base class\n bool written = base.SerializeSyncVars(writer, forceAll);\n\n if (initialState)\n {\n // The first time a game object is sent to a client, send all the data (and no dirty bits)\n writer.WritePackedUInt32((uint)this.int1);\n writer.WritePackedUInt32((uint)this.int2);\n writer.Write(this.MyString);\n return true;\n }\n else \n {\n // Writes which SyncVars have changed\n writer.WritePackedUInt64(base.syncVarDirtyBits);\n\n if ((base.get_syncVarDirtyBits() & 1u) != 0u)\n {\n writer.WritePackedUInt32((uint)this.int1);\n written = true;\n }\n\n if ((base.get_syncVarDirtyBits() & 2u) != 0u)\n {\n writer.WritePackedUInt32((uint)this.int2);\n written = true; \n }\n\n if ((base.get_syncVarDirtyBits() & 4u) != 0u)\n {\n writer.Write(this.MyString);\n written = true; \n }\n\n return written;\n }\n}\n")),(0,i.kt)("p",null,"The following sample shows the code that is generated by Mirage for the ",(0,i.kt)("inlineCode",{parentName:"p"},"DeserializeSyncVars")," function which is called inside ",(0,i.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour"),(0,i.kt)("inlineCode",{parentName:"p"},".OnDeserialize"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public override void DeserializeSyncVars(NetworkReader reader, bool initialState)\n{\n // Read any SyncVars in base class\n base.DeserializeSyncVars(reader, initialState);\n\n if (initialState)\n {\n // The first time a game object is sent to a client, read all the data (and no dirty bits)\n int oldInt1 = this.int1;\n this.int1 = (int)reader.ReadPackedUInt32();\n // if old and new values are not equal, call hook\n if (!base.SyncVarEqual<int>(num, ref this.int1))\n {\n this.OnInt1Changed(num, this.int1);\n }\n\n this.int2 = (int)reader.ReadPackedUInt32();\n this.MyString = reader.ReadString();\n return;\n }\n\n int dirtySyncVars = (int)reader.ReadPackedUInt32();\n // is 1st SyncVar dirty\n if ((dirtySyncVars & 1) != 0)\n {\n int oldInt1 = this.int1;\n this.int1 = (int)reader.ReadPackedUInt32();\n // if old and new values are not equal, call hook\n if (!base.SyncVarEqual<int>(num, ref this.int1))\n {\n this.OnInt1Changed(num, this.int1);\n }\n }\n\n // is 2nd SyncVar dirty\n if ((dirtySyncVars & 2) != 0)\n {\n this.int2 = (int)reader.ReadPackedUInt32();\n }\n\n // is 3rd SyncVar dirty\n if ((dirtySyncVars & 4) != 0)\n {\n this.MyString = reader.ReadString();\n }\n}\n")),(0,i.kt)("p",null,"If a ",(0,i.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," has a base class that also has serialization functions, the base class functions should also be called."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/27e7b85b.98bf30e1.js b/assets/js/27e7b85b.98bf30e1.js new file mode 100644 index 00000000000..5dd63ba3cda --- /dev/null +++ b/assets/js/27e7b85b.98bf30e1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9307],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},c=Object.keys(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=n.createContext({}),o=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},l=function(e){var t=o(e.components);return n.createElement(u.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,c=e.originalType,u=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),g=o(r),f=a,d=g["".concat(u,".").concat(f)]||g[f]||p[f]||c;return r?n.createElement(d,i(i({ref:t},l),{},{components:r})):n.createElement(d,i({ref:t},l))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var c=r.length,i=new Array(c);i[0]=g;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s.mdxType="string"==typeof e?e:a,i[1]=s;for(var o=2;o<c;o++)i[o]=r[o];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}g.displayName="MDXCreateElement"},32973:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>p,frontMatter:()=>c,metadata:()=>s,toc:()=>o});var n=r(87462),a=(r(67294),r(3905));const c={id:"AuthSuccessMessage",title:"AuthSuccessMessage"},i="Struct AuthSuccessMessage",s={unversionedId:"reference/Mirage.Authentication/AuthSuccessMessage",id:"reference/Mirage.Authentication/AuthSuccessMessage",title:"AuthSuccessMessage",description:"Syntax",source:"@site/docs/reference/Mirage.Authentication/AuthSuccessMessage.md",sourceDirName:"reference/Mirage.Authentication",slug:"/reference/Mirage.Authentication/AuthSuccessMessage",permalink:"/Mirage/docs/reference/Mirage.Authentication/AuthSuccessMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authentication/AuthSuccessMessage.md",tags:[],version:"current",frontMatter:{id:"AuthSuccessMessage",title:"AuthSuccessMessage"},sidebar:"api",previous:{title:"AuthMessage",permalink:"/Mirage/docs/reference/Mirage.Authentication/AuthMessage"},next:{title:"AuthenticationResult",permalink:"/Mirage/docs/reference/Mirage.Authentication/AuthenticationResult"}},u={},o=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"AuthenticatorName",id:"authenticatorname",level:4},{value:"Declaration",id:"declaration",level:5}],l={toc:o};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-authsuccessmessage"},"Struct AuthSuccessMessage"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct AuthSuccessMessage\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"authenticatorname"},"AuthenticatorName"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public string AuthenticatorName\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2853af5a.6dbde21c.js b/assets/js/2853af5a.6dbde21c.js new file mode 100644 index 00000000000..bedcf27de6c --- /dev/null +++ b/assets/js/2853af5a.6dbde21c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1444],{3905:(e,r,t)=>{t.d(r,{Zo:()=>u,kt:()=>f});var n=t(67294);function i(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?a(Object(t),!0).forEach((function(r){i(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function l(e,r){if(null==e)return{};var t,n,i=function(e,r){if(null==e)return{};var t,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var c=n.createContext({}),s=function(e){var r=n.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},u=function(e){var r=s(e.components);return n.createElement(c.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},p=n.forwardRef((function(e,r){var t=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),p=s(t),f=i,v=p["".concat(c,".").concat(f)]||p[f]||d[f]||a;return t?n.createElement(v,o(o({ref:r},u),{},{components:t})):n.createElement(v,o({ref:r},u))}));function f(e,r){var t=arguments,i=r&&r.mdxType;if("string"==typeof e||i){var a=t.length,o=new Array(a);o[0]=p;var l={};for(var c in r)hasOwnProperty.call(r,c)&&(l[c]=r[c]);l.originalType=e,l.mdxType="string"==typeof e?e:i,o[1]=l;for(var s=2;s<a;s++)o[s]=t[s];return n.createElement.apply(null,o)}return n.createElement.apply(null,t)}p.displayName="MDXCreateElement"},7058:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var n=t(87462),i=(t(67294),t(3905));const a={id:"ServerAttribute",title:"ServerAttribute"},o="Class ServerAttribute",l={unversionedId:"reference/Mirage/ServerAttribute",id:"reference/Mirage/ServerAttribute",title:"ServerAttribute",description:"Prevents a method from running if server is not active.",source:"@site/docs/reference/Mirage/ServerAttribute.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/ServerAttribute",permalink:"/Mirage/docs/reference/Mirage/ServerAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/ServerAttribute.md",tags:[],version:"current",frontMatter:{id:"ServerAttribute",title:"ServerAttribute"},sidebar:"api",previous:{title:"SceneVisibilityChecker",permalink:"/Mirage/docs/reference/Mirage/SceneVisibilityChecker"},next:{title:"ServerObjectManager",permalink:"/Mirage/docs/reference/Mirage/ServerObjectManager"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"error",id:"error",level:4},{value:"Declaration",id:"declaration",level:5}],u={toc:s};function d(e){let{components:r,...t}=e;return(0,i.kt)("wrapper",(0,n.Z)({},u,t,{components:r,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-serverattribute"},"Class ServerAttribute"),(0,i.kt)("p",null,"Prevents a method from running if server is not active.\nCan only be used inside a NetworkBehaviour"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,i.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Method)]\npublic class ServerAttribute : Attribute, _Attribute\n")),(0,i.kt)("h3",{id:"fields"},"Fields"),(0,i.kt)("h4",{id:"error"},"error"),(0,i.kt)("p",null,"If true, when the method is called from a client, it throws an error\nIf false, no error is thrown, but the method won","'","t execute\nuseful for unity built in methods such as Await, Update, Start, etc."),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public bool error\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/287acd0d.ce562b0c.js b/assets/js/287acd0d.ce562b0c.js new file mode 100644 index 00000000000..14b2b5a1fea --- /dev/null +++ b/assets/js/287acd0d.ce562b0c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6084],{3905:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>f});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),l=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},m=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},k=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,m=p(e,["components","mdxType","originalType","parentName"]),k=l(n),f=o,y=k["".concat(c,".").concat(f)]||k[f]||s[f]||i;return n?r.createElement(y,a(a({ref:t},m),{},{components:n})):r.createElement(y,a({ref:t},m))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=k;var p={};for(var c in t)hasOwnProperty.call(t,c)&&(p[c]=t[c]);p.originalType=e,p.mdxType="string"==typeof e?e:o,a[1]=p;for(var l=2;l<i;l++)a[l]=n[l];return r.createElement.apply(null,a)}return r.createElement.apply(null,n)}k.displayName="MDXCreateElement"},88633:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>s,frontMatter:()=>i,metadata:()=>p,toc:()=>l});var r=n(87462),o=(n(67294),n(3905));const i={},a="Network Ping Display",p={unversionedId:"components/network-ping-display",id:"components/network-ping-display",title:"Network Ping Display",description:"Network Ping Display shows the ping time for clients using OnGUI.",source:"@site/docs/components/network-ping-display.md",sourceDirName:"components",slug:"/components/network-ping-display",permalink:"/Mirage/docs/components/network-ping-display",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/network-ping-display.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Match Checker",permalink:"/Mirage/docs/components/network-match-checker"},next:{title:"Network Proximity Checker",permalink:"/Mirage/docs/components/network-proximity-checker"}},c={},l=[],m={toc:l};function s(e){let{components:t,...i}=e;return(0,o.kt)("wrapper",(0,r.Z)({},m,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"network-ping-display"},"Network Ping Display"),(0,o.kt)("p",null,"Network Ping Display shows the ping time for clients using OnGUI. "),(0,o.kt)("p",null,"The ping time is the moving average of the (RTT) Round-trip delay time. RTT is calculated by the PingMessage/PongMessage between the client and server."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Inspector",src:n(63690).Z,width:"409",height:"116"})),(0,o.kt)("p",null,"See ",(0,o.kt)("a",{parentName:"p",href:"/docs/guides/clock-sync"},"Clock Synchronization")," for more info."))}s.isMDXComponent=!0},63690:(e,t,n)=>{n.d(t,{Z:()=>r});const r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZkAAAB0CAYAAABXCE8mAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAACOBSURBVHhe7Z0JfBTV/cB/5JZLUEAu5VJRbKki+veilYq2WqFIWxUVW5CCFOqBAh4giqIgCHjyAQ9aEbEIXtQ2VaC1WEC02JYqtYKiUEBuEo7NQfKf78u8ZFhmZzfJbpJNfl98zsyb2c3M7Mz7He+936/emjVrivfv3y+KoiiKEm9S3KWiKIqixJ16M2bMKN68ebO7qSiKoijxQ91liqIoSsJQd5miKIqSMNSSURRFqaGMHj1WUlucLv/7aqs0bNRAUlPTJC01Q1LSRNLTUiQrI8NZpklmeqqc0qqp/Ljv99xP1hziJmTq168vDRo0cLf82Z+7Xw6FDrlbR7Jjxw755z//KYcO+e+3pKenS35+vvTp08etURRFqX3cM+4xKW7UUnpcdL6M+tW1clyjTHePPz+5aazc9osfuFvlY+vWrTJt2jTJcITWxIkT3dpgioqK5KWXXjLrN9xwg6Sk+DvG4iJkEDBnnXWW+SNFxW5lGCn1RA7mHJR3l70rxx1/nFtbxpIlS6TzOb2kaatOZrvY+VfP+ccS7Pqk0YNl+bJsGThwoCmKoii1ke//6BpZ9v4aeXbuImna5FihnW7e/Hhp17qZtDuxpbRt01yObZgprZo2kDSnfb3shrtk/LDe7qfLx+rVq+Wxxx4z67/73e/M0o/i4mL5+uuv5b333pP+/fvLr371K1P/zDPPyPz58+V73/uenHTSSVKvnnNCLnHpk2ncuLERME+/uldS791WWhrcWlbGvrxL6jeuL5n1/aUxFkz9Zu0llF9oSn5+UemSkldwWLJff8UIGKyZnj17up9Mbr773e+aovhTFfcHBYe/ceedd7o1NZeRI0eac126dKlbo9RWDufnS1pWhoSctvEix5rpcOrp0rBpC9m6J0/+vPo/8vRv3pJ7J78gYybNkT179hjLIoh33nnHt3z44YfGgokFhMyf//xnWb58eamAAdapYx/HeDlKyCDR3n777YiF/ZEY8XHIXRN56qwsuaBViiy6qmT52KoCd4+YG+JHKM8RKgWOUHFKXkHJOkvK+s/WyaypY81xl156qbRv396sW2699Vbf7y1PA1UVDVplsedI+cEPfiAjRoyQjRs3unsTfw32+9FYfvzjH8uoUaPkX//6l7u3hESfQzw5cOCATJ8+XbKysuSee+5xa0Vyc3ONZveTn/zEPG+33Xab/OY3v3H3Vozy3he/4znHzMxMc84HDx50a5XaSGp6puTkHpKCQqftdARIu9bHy5C+3WXEtT3kjM4dpX2HznLat86WnXvzzfFltoM/zz//vG954YUXzPMfKz/96U/dNZHrrrvOFIt3n+UoIdOlS5cjTB0v1LM/Fp7/Il/uOC/DES4ly1jId6yVvHxbHAHjLnNynIbgvuGSnxeSCy+9Ss444wz3E2V8/PHHMnjwYFm3bp1bU7vBXL3rrrtMA+/1of71r381JdH85S9/kSeffFJ27dplGmCvoKmqc4gHixcvNgLl8ssvl+OOK3PjPvjgg/Lmm2/K8OHDjXI1aNAgWbFihbu3YsTjvjRr1kx++MMfOu9EjjkvpfZSLzVVdu87IKFQSPYddKyZrm1lwdJ18rsln8oPz+tkLBe6EVA6jMIRZkGEM27cON8yevTomBQW/t6LL74ot99+u9mmH4ZuEgrrwD6O8VpVRwmZhg0byoknnuhuHQn17I+Fj/cVlQoYlrGAQMFFlv3ai7Jzx3aznueUOTPGyZav10urEzvJtcPGu0cfDS47NHsaDj/4sZ566imjnV522WWmAdmwYYPZ59UYrQZp3Sj33nuvqb/55pvl6quvNutolOyzbgte+oceekh69+5tysMPP2waL4v9zjfeeENuvPFGX3cfgvLKK6+UqVOnujWRQeBfcMEFZn3Tpk1mCfbvWOz2nDlzpF+/fsb6wKS1ICSwRrgfQ4cOlYsvvviIz0eCv4/v9de//rUUFjq/kfP9lvBzQPDzu/A3KPhyLfbY8ePHm8bz5z//uXz55ZfuXn/4/Xr16mXKL37xC1m1apWpX7Nmjfku9vOQY7ajWVHHoBI//va3v5ml93zhH//4h1niCsY927VrV5k9e7apA15Kfifu5yWXXOJ7TeG/ta232G2/a/c7ztKjRw+zfP/9981SqZ2kpaTLvtwDUpB/SEJ5BTI3e63s2R+SFsc1kIOhQik2feAlz/m+ffuidn5861vf8i0dOnSQVq1amff55JNPdo8+Gt4pr/DgvWCwF4V1S/hxvqfVuXNnSUtLc7dKYJv6QBg/4CnLNhXJ2GX50q99hjj3pJRUR0L7gUBZ+uY8mT9zgkwZM0B279wp72UvlJVL35D0jCwZOGqac8aRrSI06+bNm8uUKVPk0UcflYKCMhcdzJw5UxYsWCD33XefPP7447J27Vp55JFHzD6vhmk1zrPPPts0pp9//rn5If/3v/8Zlxz9Rwgn9nEMPPHEE8a/iV8fv3l2drY5n3AYwYF76/Dhw25NCa+99pr5HD80rr9o8CNiTcCZZ55plkHQEKKdc/4IWsuMGTPkgw8+MFYg5+Z9OGLh9NNPN8sgCxJtCUuH+889ooMwHAQ4GhWNLPcyiEWLFsm7775r7u8XX3xhfmvo1q2bnHrqqWakIgKH33f79u3G8v3Od75jjgnHNurh7leECvCbMJJx8uTJRiBbuIdvvfWWUTo4F79rivRbh+N37X7Po4VGAaIJYyW5yWrYSA4eypeQo9AUHC50LJsUaZCVJt898yTZ/M0+KSwolIK8Qke5Tpe9e/eaoVLlged3yJAhZomQmTRpkmkjgvjZz35mlGlAseQdo1glk30c48VXyNAJFC7R2I61c8jLx7uKZMTysr6aIPIKiqTLub3khLadZNumDTLt7gGyYFbJBfUbfI8c17KjEUSRaNmypWl42rZtK7///e+N9uzFNspo32jtYC0ZP5o2bSodO3aUbdu2yWeffSbt2rUz94EGlTrWmzRpYo612vT//d//yfnnn2/WV65caZZeXn31VXMe3kYDaOwRZAhAr1YQCSwOhCla7ZgxY9zayCC8rECgEbbQGMOPfvSjqEPQ/bDDFhG4kbDHjB071mj/3j4kCw/5RRddZNaDBNY333xjHuQBAwaUmu07HWXEcu2115rlH//4x1Irk2MjQZ8MYLF4mTBhgnGRnXLKKcYixTXF+VusBdS3b9/S6wsn0m8dTqzXbrHPnM5vq92kpKXL/kN5khcKScjR0gsca2bHrlxZ+c+N8tZ7a53nMkdynWcgdPBAxH7uIHC5YwHRYQ8o/5GeZWAffTe0rRYUR4qFfbSNw4YNk1/+8pemRPxGtCWGJgNLqz0lEgRIelZjGXT3bGnRpqPs2PKlYyqG5KwevaXrBb3NfvppgsCSQdAgEMJfWDvqAW3aaode15Ef3bt3N0saLTRi+qRovPiuc8891+zzwg8RyVKDE044IeIPiRWBiy4WOHeOpT8GYRgLfn/XWi6xCDY//vOf/5jlt7/9bbP0Aw0JNxnzm9Ca0Nr9sJZnUCckgoXfD/cUVmk4uKZQNuxIF5QEK/T9sIIVd6cXnnlccXSM/va3vzV1XoXEPktBL2XQbx1OLNduMa4Rh1hd10pywqTLTV9tdITIftm9e7fs3r5TivL3S/cubaQ4/5BjWe9wBI1j0RTmlVjZwV0y5r2xBaFEXw7w7rNt90XCtm0XXnihnHPOOUYRs7BOHS58lHyUbWAZ8Q3gC617jGUsL8vUcyK/IE/1iP7yIEAYUZZRv4ncOHq2NG/dUZq17iCXXz+mdNQZJRrHH3+8cTvQwHixfm1uJA0e7i86rS22scY9ZuHGAYIFIUNBAwArgMBrvVhfeVDjFg59OJw3nWZoAlWFtW44b+5HrNDIElgVgc5DetNNN7l7jobfASvAurX8XHJ5eXlGkEPQfbPCABchE8jC4SXAXKf/DRcCHZJBVpZVnsKtK9wIf//7303fi93n/b3PO+88s0RoltfFGE6ka/d7HuGrr74yy6pQ/JTqI8MRApud3zp06KCZm7J1y2ZZv/5LGT9jvny+foPs3rFDdn6zVXL27C1VPILwjijD1XrMMceYepZs233RwLXMiDIUMdpHCuvU8UzyvjEiE1gGSo7WrVubD7EMggvE7zy8f5YcmtakrDxRVm76WZZ5GXP25PgKLC60OHezhBxBQ0nNaiTX3P6M9B06WQ7XSzfDmxkIUJSzqfTmBMELiqBhqK0F99n1118vL7/8slxxxRXG7YIf38JAgBYtWhgTj9FGgC+fRpTGjU4yLBnW0QKs3x5wwaGt48Ji6CvDi6mLFdwluMzQZOkvqiro/znttNOMRWT7A2J112ESMyKL/omg/jqsDjrpcVEi1O6//353TxncKzrW0ZL43khwvvy2/I4MvfTDami4ob7//e+b9UjYwRPhLi2eGwQ+/TEMF2ZABqP5LJwHLkaeJa7NDgipCJGu3e95BHuuHK/UYuo1lAN79kteqFD27dknBw7kOu1gSL7ZsUcKnfaWATd5eQWSu293TKPDvCPKeF+tuxWXMdt2XxAIELpNECoU3m2K3WYfhVGQWDEs4xZWZt/efZKaGdlNBLl7cqVR40ZmPdzUjzWsDAKGhh+3mBI/UADoV6IhRfAi8KoCa12GN/IVhetAo9qyZYvccccdZvRXELxgCAjcVa+88soRw5gTTUWuHbcJ/U68yMzMrkg/mpIcbPrya/nbijWyfO1myXOe6/RUGvJMSU0/RtLS0iWzQSNnPU12bt0oXU4olJNOam1GKcYKQ/TpQ2E0bEXCdPGuWSsew8FrPPA+IQQZMBb3AJnhvm0v9iTUl1yz4CGjcxsrCncgjXM06zVexFvIMNKLETJYO3S80xhHg74tfMpoXliiVUVFrp3Ri0yIZoAIFpRSN8jdlyM5e3Nkr1P+vna9bNy2V3JyQ5LrWDl7t38hA6/pZdxYeCVqAlb4gEZhVhRFURJG9N58RVEURakgasko1QLRDRRFqXkQJiaeqJBRqgUmUNJpHUufiaIoiYdpHQyEYURYPFEho1QLCBlGCFZ0EqiiKPGFEWGM8o23kKlRfTLeIItK3cAOfWQSJQKHEW62ZFIyKZmlIxPt8clQmNjmVx+tVPRz5S2V/TtVdZ5aqqYkikpbMphXDKlk9jXD1ojUTFiBTp1KMlwmAoTRQM2KmdRYS8ZOnETINGrUSFLT0ksC/RXzn/mfFBcXmdn7zHzOyipLevfss8+azzDPxb4k1DF5MRqxHlcZgv4G+4B5BNwHJuPamGTxwH4/k+eYW9amTRszv8xGEYgHVXEPlaqDyBOxWjJEICAiBu8lzy2BgomP6EelxdeyZctMrChCeTBJjCi4QUEnFcUPhExqWoYs/+9hef6jPJn3cUgWfrRfXl+TKys/P2TmVuXl55fGDLPQQNv4ackGDTRhb1DMbKiieML3o4wRrYCGgIl3TOZUlMqAgFm/fr2JpsHzxZJt6v2otJBh8iVaEq4OtDJCeRBexYKfj4i1hEJnhikzsQFrBMuHfTYAodddxjoWEmE7Xn/99dKXwx7D0nu8ktygcSM//r27UPaHioXQrCc1FDnRKd/sL5J6jqVS7JngZUGDIveLXzh94pcxOZOMlkzMJOw/WC2fpV1/6aWXzLNK5yfHE6aDbftsAlb7H/7wB/PcsfSG8uB7eJ6ZWOkX/4nRdB999JG7VQbvDaGKvFF07TkB62vWrDHvwdy5c01qAwvX96c//cmcD7lrnnvuOXdPGQjvY4891sR6I6CrN7Ot9++gGPI3uF5vameOIRIEf5t76E13EA7vONfO99DoWEjNYOPx4fEgrYWSvGDB8N7xXAFLtqn3o9JChhAkBPdDEyOvQPiMfx5qToLkUcxQ9mqdBP7j5EjW5AdaKhYS1hE5T8C6yViqy6x2gXuMmEwFhYdl04FCOVDg1DiC57AjW1geacOUgIZOdAK/EPkE/ST2HonDiPNlA5daFw9Lu044GRptGkfcS//973+NkMEdZ0EhwmrH+iDCcnimTD5DsMDwYKGffvqpcUV4A2xaqEdI8r2RoH+KRGxECLApJYB1UhRwPsSSC7fywuFeRAq+yr0h3h5xqAjU6oX38JprrjGzyf3SV1j4LNdOUETveZIuwea+Ibgn77OSvOAiswLGKvpsU+9HpYUMAQ8JS4IFg6aH+8yrxfBQcQwaG0NWMa0sBGXjBYoELwWf46EM0qCU2oFjy0hmQUiOKTgoaXmHZOOew7L7YLEUHKa4B/mAokJSNGIleSFKNOH+0a7JBxPkKqJhpcFHCSJoJtlG2fbGBkMLJ0gqzySpDaxVbqERDg/eyrtADhwbtdkLVgJaP1aMDTHjB5YOfVe41XjHLJwjSh7nE0t/DtYixQ8aiQ8//NBEnA5PsU7/KkPNuT5v7h4vKJdYQMR/wy3njUFI3iUbORqXSiL7a5XEw7Nmoz5bRZ/tSM9gpYUMEH0TQcCLRIA2rxYDkR7sWMENgdmv1G54SupJkfNQFjqlSA47mvnm/UUmq2qQko61QQP873//260pAc0eLd9aLGT/jARCBqGEoOK7sGxocL2WTEUgfQINM1ZSOJwTLynuZd6haISPAMJFWJ73guuJZDHRb4MwQAggkP0Ieg9xHxIxmsjU4Z4Jrg0hhgBnGUsUdaXmYl1jVtCwtC40PyotZHggeZHQ+nAv4Nv1jk5gpBluMV4ItLDyBANEO+KlJzoz/T4WtMtIGpWSnCAQaMQ6NU4tGQSQWja08uQmqc5+cpm7B/vALOVPPvnE3SqBZ4Y6nk36T7zPHs+QN0MoQgYhZbV4kt7xWa+QwVrHJcxzzpLtaJAygJFj/G2uL57YQQ+cT3g+HAt/k+CnvEO4nP0S7QH7GR3EfeR4L/Y9pF8JAewHfVncDzwTfueCy4y/H5QSQkkOeE5QSPBa4S5jyXbCRpchRPApE3Z84cKF5sX1mv5EtsUPjBlN3w3aTqyQuhZ3ApLS+3JgMZF4bN68eW6Nkuzk5xc4jVmudDs5Ra7pniFXn50pP+1GyZLvdEiV3Jy9kuYInkhyhtFnuFe94Pbi2eHZxIXjffbYl52dbXLGgDX1bX8B/TwoRt6I4XyGZ5lBAizZjgUaX/pjaMjjCQnOEDK8I7ijGHjjBXccOXcYFICrECsj0hBm7hMd99yT8OvCDTZ37lzjc7cZD8PhXHi/ec+9wttCA4TCEKkhUpILfserrrrKWOIsg37XGjvjHwlp/X1K7SN8ngwad0FBoYQcqyNc48eNluIImMyMkoRIlXW/1jawAnFzoexFy59TXhBUdnBEZUAYIuhiFcxK1YPFX+tn/Ct1F7TczMwMadyooTQ5tvER5VinYFGogDkarHmsFYZH19QGHCHIwAxcZkrdQ2OXKdWCtWRw38S7r0JRlPKBkscox0RYMipklGoBIRPeh6AoSvXCAA8VMoqiKErSoH0yiqIoSsJQIaMoiqIkDBUyiqIoSsLQPhml2mAkCxMUvXGu/CA2FzPK+/Tp49YoipIsJFzIMPu/PKFkEkVNOQ+ljCVLlkjnc3pJ01YlAROJwlzPhMksmddv1yeNHizLl2Wbybk6QVdRkotKu8uIMDt+/HgTYI/gmBMmTDAhX6oDBAmFkOW33nrrEUl0VMDUPLBg6jdrL6H8QlPy84tKl5S8gsOS/forRsBgzfTs2dP9pKIoyUKlhcy4ceNMWlfiQxEjCWFDoqjqAmHCeRDf7JFHHnFrlZpKKM8RKgWOUHFKXkHJOkvK+s/WyaypY81x5Chp3769WVcUJXmotJAhpwVB84hqSwRW8ltMmTLF3VsCmQZJukRcJfJ7WPDJ33777cbyYOmNrMyxaLpEbsZCIp8M21dccYV7RGQIJd63b9/SREngDdrJeqRzIlDg3XffbcKvDx061CSDUhJHvmOt5OXb4ggYd5mTc0Cm3zdc8vNCcuGlV8kZZ5zhfkJRlGSi0kJmyJAhMmLECOMmI4orYf/DIYcEjfro0aPlqaeecmtFZsyYYawg0iuTBOrxxx9395QkOqLBx/VG6BHyVSBwgjIIWghVTqTcrl27ujVHE+mcnn76aROBl1TR9957r4Y8STAIFFxk2a+9KDt3bDfreU6ZM2OcbPl6vbQ6sZNcO2y8e7SiKMlGpYUMYZ7JLY4FQ//M2LFjTd5xLxxDXg5cWN4w4OSnIL0ySY1I77pmzRp3T0n+CfJYEKIdK4dcFAxQIO1tEFgp/fr1M1bMmDFj3NqjiXRO/B2SLmENaVjyxINAWfrmPJk/c4JMGTNAdjvW7HvZC2Xl0jckPSNLBo6a5jylGe7RiqIkG5UWMkDCJ/pibrvtNpk+fbopfkTL4ueNsIslQzpYMgqSN52UrfS3REsUxTH0CT388MNH5Sr3I/ycCHedkaGNWlWRV1AkXc7tJSe07STbNm2QaXcPkAWzHjL7+g2+R45r2dEIIkVRkpNKC5nhw4fL6tWrjdWBOwsrhpz+sXDmmWfKggULTF8LAwfYtmDJvPrqq8biQPj06NFDFi1aFNWSqSxk7rM5ynVEWuJBgKRnNZZBd8+WFm06yo4tX0pBfkjO6tFbul7Q2+ynn0ZRlOSk0kKGTn+yC+Ki6t+/v0lOhMssFhhmbBMtMSmPbQtpXslDcfnll5ttBBBpZmPpk6kMnMPixYvN9axcudIMZlASBwKEEWUZ9ZvIjaNnS/PWHaVZ6w5y+fVjSkedURRFSU50xn8E6PBHyDCAYObMmW6tEk+YjFl8fDfJz2rt1hTLgZw9EjqYI8e3bMcmMzIlI7RV6u1aI7169So5TFGUpEGFjA9YMeQzp+P/rrvuktNOO83do8STWMPKMAiDUYgkOVMUJblQIaMoiqIkjLiMLlMURVEUP1TIKIqiKAlDhYyiKIqSMLRPRkkKXnjhBXdNsQwaNMhdKz96P4+mMvdTiYwKGSUpWLdunZmI27BhQ7em7sL7SginWCc9+6H3s4x43E8lMipklKSARpFIzET7rusQWeOTTz6ptJDR+1lCPO6nEpka1yfjDckfTtA+pW6QlpZW50s88fv+ulaUxFJpIUPDT/HLRlkRvPHCwoWKxhKrXWRnZ8tNN90khw+XxSZjHd94eCTvcEjFcOONN0r37t3N5FlvTiAm0pIL6Pzzz5ebb77ZpIywBO1LdggKS3w/LwsXLpTJkye7W5GpzfdFqV7iYsnQ+Gs2SqW8kIyOgKTz5s1za8QESsWNg9ISBAKKaAyrVq0yeYjI0Gp57LHH5NRTTzWCiujd3qjgQfuSnZEjR5rr2rhxo9lmifAlVUY0avN9UaqXuLnL/LJRBmW+XLp0qcklQwDMBx54wK0ts168y/A6CPpujouU+VKpWZAeghhxNIhbt24167fccou7NzLEk+vSpYtxd2zevPmI1MwInuuuu04aN24s119/vflOS9C+ZIdgriTamzp1qkmRYYVvRgypK2rzfVGql7gJGb9slEGZL9GcMO8J50/umHCsa4yln5ss6LshUuZLpWZBA0hD+OSTT8qzzz5rGsn09HR3b3QOHjwoL7/8skyaNMmtKVFAmjVrZtaJd7Z9+3azDkH7agPt2rWT3r17y8CBA00iwFijltf2+6JUH3ERMlgOftkogzJfEsqfRuX99983FlB5CfpuiJT5UqmZoEETKDM/P9+tiQ79NygqCKm2bdu6tSWkpER+tIP21Qaw7kmDzrNfHmr7fVGqh7g8VVgasWSj9Ga+xPK49NJLZcWKFcZlUlm83+0lWjZOpXpBqEycOFGGDBkiI0aMMOu4eqKBgKFPhga1RYsWbm0JaOS7du0y67hRrYYOQfvqMnpflESRUNUlKPPl/PnzzUgWRght2bLFrT0SGg+SoPkR9N1K8oDb86KLLjJptdu0aSM9e/Y0ddEYNWqU6aAmY2o4aPAMJsCF+8orr5jEepagfXUZvS9KokiokAnKfLlp0ya5+uqrTZ9JpNEvHH/nnXfKlVde6daUEfTdSnLASCaUCJ4DC+tffPGFGT0WBJbz008/bfrjbLHccccd8umnnxpLmUmHbFuC9tVl9L4oiUJn/CtJgZ2hzoCOug5zWOI141/vZ3zupxIZ7elTFEVREoZaMkpSYDXvjh07SmFhoVtb92BeEO7EeFkyej/jcz+VyKiQUZICGkUm/ColMOClskJG72cZlb2fSmRUyCiKoigJQ/tkFEVRlIShloxSLWhmRkWp3dhMoypklGqBPgHNzKgotQ/kiTfTqAoZpVqwo5s0M6Oi1C7CM43WOiFDsE6/qM1KzcIKGZ0MqCi1i/DJrZXu+KdRDy+VIdrnMcPGjx9vQs2Q9GrChAnyzjvvuHs1e2ayEpTp0mLTOiiKkjzEZXSZzfliSyIhrDt5ZAiKSTZOhA1xrJTkJijTJXzwwQeaF0hRkpCEDWGuSOZKa8UEWUQE1iRCLL58MgF269ZNpkyZ4u490hKy3xP+fZhzY8eONZYQ2jOmnVK9BGW63LBhgzz44IMya9Yst0ZRlGQhLkLGryGvSOZKawUFWUQ27whuMtIFkJwpEvZ7SOeLQLE88cQT5lwXL15sctmQpVOpGYRnuiTHyX333WeeH78Mqoqi1Gzi7i6zJCpzJZ977rnnjAVD/wwWCSHjI/H555/L22+/LSNHjnRrSlwvDz30kFxyySVGyJDRU6l+/DJdPvDAA8aKIXeMoijJR8LcZeHEM3Ml2Tfpi0FATJ8+3RQ/iEdEo0XeeFxrluLiYtPRbAWjXyezUrVEynTJb4NL1ZszRjv/FSV5SJiQqWjmyqBsmDB8+HBZvXq15OTkmPHYWDGRAttNmzZN+vTpc5SbhRFMixYtMlkA6St69NFH3T1KdREp0+XatWuPKLZOUZTkIGFCpqKZK4OyYQKd/i+++KIZ5tq/f38jkHCZ+YEAwsoJ7y9iIAJ9OXwea0ijr1Y/QZkuFUVJXnTGv1It6GRMRamdxH0ypqIoiqJEQi0ZpVqwlkxdz8yoKLUJv0yjKmSUagEho5kZFaV24s00qkJGURRFSRjaJ6MoiqIkDLVklGphzpw57pqiKDWJgQMHumvlw8anbNasmVlaVMgo1QJC5txzzz0iEoOiKNVHKBQyE90rImQ+++wzmThxolknwkrnzp3NOqiQUaoFhAzBTlu2bOnWKIpSnWzbtk1mz54ds5DBcsFqsQKGGJAEs507d66JtmItmjopZJj97w3mqVQ9CBkeSG9If0VRqo+NGzea6PaxCBkEy5YtW6R169ZHCBhCPhHpxStkKtXxb8O1+JXKEMvnia5MvCtC+F922WVGKya6sqIoipJYECzMb/MKmK1btxp3G+4yb79MpYSMjWJsrYLw7USBgCG+GaH6CcJJAM5BgwbJ8uXL3SMURVGURIGlgltswIABpQJmyZIlJjWHtz8GEjqEOSgDJSf21ltvmXUCXt5///1m3VoxQRYRSc6GDRtmvrdx48bStGlTk5cGwWMJyszpJVoGT0LQT5482Qg0RVGUug5K/ooVK4wFg6CxAia8w9+SUCETlIGSBp3Mlpww0ZJtUrFwq8gPZosjVIKIlpnTEu04Ep4NHTpUli5d6tYoiqLUTWiv8RyR8h6FnOzGCBgsGvpo/JT5hAqZoAyUWB+DBw82+WFIp4xFEiskHaMEES0zpyXaceSjadKkibulKIpSN0GAIGAwCljHM3XxxReXus4YBBA+RwYSKmSiZaBMT0+XlJQUk9e9PJxyyimyatUqdys2ImXmDCfW4xRFUeoKCBVcZOEC5vnnnzeChS4PP1cZJFTIBGWgpL+GE3zmmWdk1qxZsnfvXndPbNkxSXCVnZ1tMmTyXYxqoN4Sa2bOimbwVBRFqQtYAWNdZF4Bg8IfjYQKGfpdImWgxMTCPUWod7Jgsm2Jlh2TEPEMFEDI3HDDDSZL5syZM03WTEusmTljPU5RFKUuUhkBAzrjX6kWdDJmdNR1q1Q1TMT0TsZEsKB8029uBcxrr73m2/cSiYRaMoqiKEpyYgXMLbfcIs2bN6+QgAG1ZJRqQWOXRadDhw7umqJUDX6WDN0RFREuFhUySrWAkFEUpebhFTKAoKmogAEVMoqiKErC0D4ZRVEUJWGokFEURVEShgoZRVEUJWHUmzFjRvHmzZvdTUVRFEWJH9rxryiKoiQMdZcpiqIoCULk/wGYIDwz0KFA9AAAAABJRU5ErkJggg=="}}]); \ No newline at end of file diff --git a/assets/js/2916e125.383bc11d.js b/assets/js/2916e125.383bc11d.js new file mode 100644 index 00000000000..8786c2f1707 --- /dev/null +++ b/assets/js/2916e125.383bc11d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4781],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>d});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function s(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=r.createContext({}),p=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},c=function(e){var t=p(e.components);return r.createElement(o.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),m=p(a),d=n,k=m["".concat(o,".").concat(d)]||m[d]||u[d]||l;return a?r.createElement(k,i(i({ref:t},c),{},{components:a})):r.createElement(k,i({ref:t},c))}));function d(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=m;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s.mdxType="string"==typeof e?e:n,i[1]=s;for(var p=2;p<l;p++)i[p]=a[p];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},6499:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>s,toc:()=>p});var r=a(87462),n=(a(67294),a(3905));const l={id:"BitMask",title:"BitMask"},i="Class BitMask",s={unversionedId:"reference/Mirage.Serialization/BitMask",id:"reference/Mirage.Serialization/BitMask",title:"BitMask",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/BitMask.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/BitMask",permalink:"/Mirage/docs/reference/Mirage.Serialization/BitMask",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/BitMask.md",tags:[],version:"current",frontMatter:{id:"BitMask",title:"BitMask"},sidebar:"api",previous:{title:"BitHelper",permalink:"/Mirage/docs/reference/Mirage.Serialization/BitHelper"},next:{title:"CollectionExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/CollectionExtensions"}},o={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"Mask(Int32)",id:"maskint32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"OuterMask(Int32, Int32)",id:"outermaskint32-int32",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5}],c={toc:p};function u(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-bitmask"},"Class BitMask"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class BitMask\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"maskint32"},"Mask(Int32)"),(0,n.kt)("p",null,"Creates mask for bits"),(0,n.kt)("p",null,"(showing 32 bits for simplify, result is 64 bit)"),(0,n.kt)("p",null,"Example bits = 4 => mask = 00000000_00000000_00000000_00001111"),(0,n.kt)("p",null,"Example bits = 10 => mask = 00000000_00000000_00000011_11111111"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static ulong Mask(int bits)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"bits"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"outermaskint32-int32"},"OuterMask(Int32, Int32)"),(0,n.kt)("p",null,"Creates Mask either side of start and end\nNote this mask is only valid for start ","[0..63]"," and end ","[0..64]"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static ulong OuterMask(int start, int end)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"start"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"end"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/297406a3.ce303cf0.js b/assets/js/297406a3.ce303cf0.js new file mode 100644 index 00000000000..c2ca9666b8d --- /dev/null +++ b/assets/js/297406a3.ce303cf0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[238],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>h});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),u=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},l=function(e){var t=u(e.components);return n.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,l=o(e,["components","mdxType","originalType","parentName"]),f=u(r),h=a,g=f["".concat(s,".").concat(h)]||f[h]||p[h]||i;return r?n.createElement(g,c(c({ref:t},l),{},{components:r})):n.createElement(g,c({ref:t},l))}));function h(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,c=new Array(i);c[0]=f;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:a,c[1]=o;for(var u=2;u<i;u++)c[u]=r[u];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},57592:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var n=r(87462),a=(r(67294),r(3905));const i={id:"Mirage.Authenticators",title:"Mirage.Authenticators"},c="Mirage.Authenticators",o={unversionedId:"reference/Mirage.Authenticators/Mirage.Authenticators",id:"reference/Mirage.Authenticators/Mirage.Authenticators",title:"Mirage.Authenticators",description:"Classes",source:"@site/docs/reference/Mirage.Authenticators/index.md",sourceDirName:"reference/Mirage.Authenticators",slug:"/reference/Mirage.Authenticators/",permalink:"/Mirage/docs/reference/Mirage.Authenticators/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authenticators/index.md",tags:[],version:"current",frontMatter:{id:"Mirage.Authenticators",title:"Mirage.Authenticators"},sidebar:"api",previous:{title:"PlayerAuthentication",permalink:"/Mirage/docs/reference/Mirage.Authentication/PlayerAuthentication"},next:{title:"BasicAuthenticator.JoinMessage",permalink:"/Mirage/docs/reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage"}},s={},u=[{value:"Classes",id:"classes",level:2},{value:"BasicAuthenticator",id:"basicauthenticator",level:4},{value:"Structs",id:"structs",level:2},{value:"BasicAuthenticator.JoinMessage",id:"basicauthenticatorjoinmessage",level:4}],l={toc:u};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"mirageauthenticators"},"Mirage.Authenticators"),(0,a.kt)("h2",{id:"classes"},"Classes"),(0,a.kt)("h4",{id:"basicauthenticator"},(0,a.kt)("a",{parentName:"h4",href:"./BasicAuthenticator"},"BasicAuthenticator")),(0,a.kt)("h2",{id:"structs"},"Structs"),(0,a.kt)("h4",{id:"basicauthenticatorjoinmessage"},(0,a.kt)("a",{parentName:"h4",href:"./BasicAuthenticator.JoinMessage"},"BasicAuthenticator.JoinMessage")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2af1b032.7955921e.js b/assets/js/2af1b032.7955921e.js new file mode 100644 index 00000000000..1909463149e --- /dev/null +++ b/assets/js/2af1b032.7955921e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3492],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),p=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},c=function(e){var t=p(e.components);return a.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=p(n),m=r,h=u["".concat(s,".").concat(m)]||u[m]||d[m]||o;return n?a.createElement(h,i(i({ref:t},c),{},{components:n})):a.createElement(h,i({ref:t},c))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,i=new Array(o);i[0]=u;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var p=2;p<o;p++)i[p]=n[p];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}u.displayName="MDXCreateElement"},24595:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var a=n(87462),r=(n(67294),n(3905));const o={sidebar_position:2},i="Getting Started",l={unversionedId:"general/getting-started",id:"general/getting-started",title:"Getting Started",description:"This document describes the steps to creating a multiplayer game with Mirage. The process described here is a simplified, higher-level version of the actual process for a real game; it doesn\u2019t always work exactly like this, but it provides a basic recipe for the process.",source:"@site/docs/general/getting-started.md",sourceDirName:"general",slug:"/general/getting-started",permalink:"/Mirage/docs/general/getting-started",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/general/getting-started.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"docs",previous:{title:"Overview",permalink:"/Mirage/docs/general/overview"},next:{title:"Sockets",permalink:"/Mirage/docs/general/sockets"}},s={},p=[{value:"Installation",id:"installation",level:2},{value:"Video Tutorials",id:"video-tutorials",level:2},{value:"Networking Set-Up",id:"networking-set-up",level:2},{value:"Player Prefab",id:"player-prefab",level:2},{value:"Player Movements",id:"player-movements",level:2},{value:"Basic Player Game State",id:"basic-player-game-state",level:2},{value:"Remote Actions",id:"remote-actions",level:2},{value:"Non-player game objects",id:"non-player-game-objects",level:2},{value:"Spawners",id:"spawners",level:2},{value:"Spawn positions for players",id:"spawn-positions-for-players",level:2}],c={toc:p};function d(e){let{components:t,...o}=e;return(0,r.kt)("wrapper",(0,a.Z)({},c,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"getting-started"},"Getting Started"),(0,r.kt)("p",null,"This document describes the steps to creating a multiplayer game with Mirage. The process described here is a simplified, higher-level version of the actual process for a real game; it doesn\u2019t always work exactly like this, but it provides a basic recipe for the process."),(0,r.kt)("h2",{id:"installation"},"Installation"),(0,r.kt)("p",null,"Before everything, to install Mirage we need to add a new package manager repository to our project. To do this, we can go into ",(0,r.kt)("inlineCode",{parentName:"p"},"Edit menu")," and then ",(0,r.kt)("inlineCode",{parentName:"p"},"Project Settings"),".\nThis will open a new Editor Window with multiple tabs. The one we are looking for is ",(0,r.kt)("inlineCode",{parentName:"p"},"Package Manager"),", so click there.\nOnce you click there, you should add a new Package Manager, so complete the fields as we show next and click apply"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Name: OpenUPM\nUrl: https://package.openupm.com\nScopes:\n- com.cysharp.unitask\n- com.openupm\n- com.miragenet\n")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Add scoped registry",src:n(40016).Z,width:"829",height:"689"})),(0,r.kt)("p",null,"Once everything is ready, the next step is to close the Project Settings window, and jump into the ",(0,r.kt)("inlineCode",{parentName:"p"},"Package Manager"),". So for this, we click on ",(0,r.kt)("inlineCode",{parentName:"p"},"Window menu")," and then ",(0,r.kt)("inlineCode",{parentName:"p"},"Package Manager"),".\nAt this window, we will click on a small button that says (probably, at today date on Unity Editor 2021.13f) ",(0,r.kt)("inlineCode",{parentName:"p"},"Packages: In Project"),", here we have to select ",(0,r.kt)("inlineCode",{parentName:"p"},"My registries"),".\nOnce, you've done that, we should be able to see Mirage and a few transport and also plugins in that list.\nAfter selecting, you can choose the version on the list below the name, otherwise, you can just click install on the bottom right part of the window and after a loading bar, that's it. You already have Mirage API on your code, congrats!"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Install Mirage",src:n(74896).Z,width:"912",height:"707"})),(0,r.kt)("h2",{id:"video-tutorials"},"Video Tutorials"),(0,r.kt)("p",null,"Currently, there are no Mirage-specific videos. You can use Mirror's existing videos alongside our ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/mirror-migration"},"Mirror to Mirage Conversion")," guide."),(0,r.kt)("h2",{id:"networking-set-up"},"Networking Set-Up"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Right click in the Scene, select ",(0,r.kt)("em",{parentName:"li"},"Network")," \u2192 ",(0,r.kt)("em",{parentName:"li"},"NetworkManager"),". This will create a new GameObject with all the necessary networking components set up for you."),(0,r.kt)("li",{parentName:"ul"},"Add the NetworkManagerHUD component to the game object. This provides an out-of-the-box canvas UI system that you can use and create your own UI. Assign the variables to properly set up the UI so everything will interact with network code. In the future, we will be providing out-of-the-box UI that auto sets up.")),(0,r.kt)("p",null,"See ",(0,r.kt)("a",{parentName:"p",href:"/docs/components/network-manager"},"Using the NetworkManager"),"."),(0,r.kt)("h2",{id:"player-prefab"},"Player Prefab"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Create a new prefab in your project."),(0,r.kt)("li",{parentName:"ul"},"Add a NetworkIdentity component to the player prefab"),(0,r.kt)("li",{parentName:"ul"},"Set the ",(0,r.kt)("inlineCode",{parentName:"li"},"playerPrefab")," field on the ",(0,r.kt)("inlineCode",{parentName:"li"},"CharacterSpawner")," component to the player prefab. You can find this component on the GameObject you created in the first setup.")),(0,r.kt)("p",null,"See ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/game-objects/spawn-player"},"character objects")," for more information."),(0,r.kt)("h2",{id:"player-movements"},"Player Movements"),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"Attach the correct type of movement script you intended to use. NetworkTransform will move the transform component without physics calculations. If you\nrequire physics to be also part of your normal movement calculations suggestion would be to attach a NetworkRigidBody component instead.")),(0,r.kt)("admonition",{type:"caution"},(0,r.kt)("p",{parentName:"admonition"},"Currently network transform and network rigid body components cannot handle various lag and drop of packets. Jitter or lag behind may occur. We are working\nto improve these components and have better lag and jitter control in the future."),(0,r.kt)("ul",{parentName:"admonition"},(0,r.kt)("li",{parentName:"ul"},"Add the correct movement component you require."),(0,r.kt)("li",{parentName:"ul"},"Check box client authority under the component if you want the player to be able to fully control movement without the server controlling it."))),(0,r.kt)("admonition",{type:"caution"},(0,r.kt)("p",{parentName:"admonition"},"If client authority is checked then hacking can occur due to trusting clients and accepting their movement. if you do not want this do not check client authority under the component and you will require to send commands to the server to allow movement to occur."),(0,r.kt)("ul",{parentName:"admonition"},(0,r.kt)("li",{parentName:"ul"},"Update input and control scripts to reflect what type of control you want. See below for different examples."))),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"If you require a camera to run on player prefab subscribe to ",(0,r.kt)("inlineCode",{parentName:"p"},"Identity.OnStartLocalPlayer")," event to take control of the Main Camera in the scene for the player. You do not need a camera on every player prefab.")),(0,r.kt)("p",null,"For example, if client authority has been checked and you trust clients. Never trust clients though."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"using UnityEngine;\nusing Mirage;\n\npublic class Controls : NetworkBehaviour\n{\n void Update()\n {\n if (!IsLocalPlayer)\n {\n // exit from update if this is not the local player\n return;\n }\n\n // handle player input for movement\n }\n}\n")),(0,r.kt)("p",null,"For example, if server authority is going to be used."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"using UnityEngine;\nusing Mirage;\n\npublic class Controls : NetworkBehaviour\n{\n void Update()\n {\n if (!IsLocalPlayer)\n {\n // exit from update if this is not the local player\n return;\n }\n\n // handle player input for movement\n\n // You would call this command after handling input or you can send inputs directly to\n // server and let server buffer inputs up and do movements based on the buffered inputs.\n MovePlayer();\n }\n\n [ServerRpc]\n void MovePlayer()\n {\n // We are now firing off some kind of movement all done by server.\n }\n}\n")),(0,r.kt)("h2",{id:"basic-player-game-state"},"Basic Player Game State"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Make scripts that contain important data into NetworkBehaviours instead of MonoBehaviours"),(0,r.kt)("li",{parentName:"ul"},"You can sync different types of data depending on what you need to sync.")),(0,r.kt)("p",null,"See ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/sync/"},"State Synchronization"),"."),(0,r.kt)("h2",{id:"remote-actions"},"Remote Actions"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Make scripts that perform important actions into NetworkBehaviours instead of MonoBehaviours"),(0,r.kt)("li",{parentName:"ul"},"Update functions that perform important player actions to have an attribute of ",(0,r.kt)("inlineCode",{parentName:"li"},"[ServerRpc]"))),(0,r.kt)("p",null,"See ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/"},"Remote Actions"),"."),(0,r.kt)("h2",{id:"non-player-game-objects"},"Non-player game objects"),(0,r.kt)("p",null,"Fix non-player prefabs such as enemies:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Add the ",(0,r.kt)("inlineCode",{parentName:"li"},"NetworkIdentify")," component"),(0,r.kt)("li",{parentName:"ul"},"Add the correct component needed to sync movement as the state above with player movement."),(0,r.kt)("li",{parentName:"ul"},"Once all objects have a network identity. Find ClientObjectManager under the ",(0,r.kt)("inlineCode",{parentName:"li"},"NetworkManager")," game object in the scene and hit register prefabs."),(0,r.kt)("li",{parentName:"ul"},"Update scripts with game state and actions")),(0,r.kt)("h2",{id:"spawners"},"Spawners"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Potentially change spawner scripts to be NetworkBehaviours"),(0,r.kt)("li",{parentName:"ul"},"Modify spawners to only run on the server (use ",(0,r.kt)("inlineCode",{parentName:"li"},"IsServer")," property or the ",(0,r.kt)("inlineCode",{parentName:"li"},"OnStartServer")," callback)"),(0,r.kt)("li",{parentName:"ul"},"Call ",(0,r.kt)("inlineCode",{parentName:"li"},"ServerObjectManager.Spawn()")," for created game objects")),(0,r.kt)("h2",{id:"spawn-positions-for-players"},"Spawn positions for players"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Add a new game object and place it at the player's start location"),(0,r.kt)("li",{parentName:"ul"},"Add this GameObject to the ",(0,r.kt)("inlineCode",{parentName:"li"},"CharacterSpawner"),"'s ",(0,r.kt)("inlineCode",{parentName:"li"},"Positions")," list.")))}d.isMDXComponent=!0},74896:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/install-mirage-494fddba2c7b23b53afda253b7d5575e.png"},40016:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/scoped-registry-53cc767107b7b116001086c47ba33c16.png"}}]); \ No newline at end of file diff --git a/assets/js/2b92dd73.cb1f0cf6.js b/assets/js/2b92dd73.cb1f0cf6.js new file mode 100644 index 00000000000..004771a4e08 --- /dev/null +++ b/assets/js/2b92dd73.cb1f0cf6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2289],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>k});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),d=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},s=function(e){var t=d(e.components);return r.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),u=d(a),k=n,m=u["".concat(c,".").concat(k)]||u[k]||p[k]||l;return a?r.createElement(m,i(i({ref:t},s),{},{components:a})):r.createElement(m,i({ref:t},s))}));function k(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=u;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var d=2;d<l;d++)i[d]=a[d];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}u.displayName="MDXCreateElement"},14132:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var r=a(87462),n=(a(67294),a(3905));const l={id:"UdpSocketFactory",title:"UdpSocketFactory"},i="Class UdpSocketFactory",o={unversionedId:"reference/Mirage.Sockets.Udp/UdpSocketFactory",id:"reference/Mirage.Sockets.Udp/UdpSocketFactory",title:"UdpSocketFactory",description:"Inheritance",source:"@site/docs/reference/Mirage.Sockets.Udp/UdpSocketFactory.md",sourceDirName:"reference/Mirage.Sockets.Udp",slug:"/reference/Mirage.Sockets.Udp/UdpSocketFactory",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpSocketFactory",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Sockets.Udp/UdpSocketFactory.md",tags:[],version:"current",frontMatter:{id:"UdpSocketFactory",title:"UdpSocketFactory"},sidebar:"api",previous:{title:"UdpSocket",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpSocket"},next:{title:"Mirage.Visibility",permalink:"/Mirage/docs/reference/Mirage.Visibility/"}},c={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Address",id:"address",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Port",id:"port",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"SocketLib",id:"socketlib",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"BufferSize",id:"buffersize",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Properties",id:"properties",level:3},{value:"MaxPacketSize",id:"maxpacketsize",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"IHasAddress.Address",id:"ihasaddressaddress",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"IHasPort.Port",id:"ihasportport",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Methods",id:"methods",level:3},{value:"CreateClientSocket()",id:"createclientsocket",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Returns",id:"returns",level:5},{value:"CreateServerSocket()",id:"createserversocket",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Returns",id:"returns-1",level:5},{value:"GetBindEndPoint()",id:"getbindendpoint",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Returns",id:"returns-2",level:5},{value:"GetConnectEndPoint(String, Nullable<UInt16>)",id:"getconnectendpointstring-nullableuint16",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns-3",level:5}],s={toc:d};function p(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-udpsocketfactory"},"Class UdpSocketFactory"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.SocketLayer.SocketFactory")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class UdpSocketFactory : SocketFactory, IHasAddress, IHasPort\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"address"},"Address"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public string Address\n")),(0,n.kt)("h4",{id:"port"},"Port"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public ushort Port\n")),(0,n.kt)("h4",{id:"socketlib"},"SocketLib"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public SocketLib SocketLib\n")),(0,n.kt)("h4",{id:"buffersize"},"BufferSize"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public int BufferSize\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"maxpacketsize"},"MaxPacketSize"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override int MaxPacketSize { get; }\n")),(0,n.kt)("h4",{id:"ihasaddressaddress"},"IHasAddress.Address"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"string IHasAddress.Address { get; set; }\n")),(0,n.kt)("h4",{id:"ihasportport"},"IHasPort.Port"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"int IHasPort.Port { get; set; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"createclientsocket"},"CreateClientSocket()"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override ISocket CreateClientSocket()\n")),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.ISocket"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"createserversocket"},"CreateServerSocket()"),(0,n.kt)("h5",{id:"declaration-8"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override ISocket CreateServerSocket()\n")),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.ISocket"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"getbindendpoint"},"GetBindEndPoint()"),(0,n.kt)("h5",{id:"declaration-9"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override IEndPoint GetBindEndPoint()\n")),(0,n.kt)("h5",{id:"returns-2"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"getconnectendpointstring-nullableuint16"},"GetConnectEndPoint(String, Nullable","<","UInt16",">",")"),(0,n.kt)("h5",{id:"declaration-10"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override IEndPoint GetConnectEndPoint(string address = null, ushort? port = default(ushort? ))\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.String"),(0,n.kt)("td",{parentName:"tr",align:null},"address"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Nullable","<","System.UInt16",">"),(0,n.kt)("td",{parentName:"tr",align:null},"port"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-3"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2c5fc0c1.448c4254.js b/assets/js/2c5fc0c1.448c4254.js new file mode 100644 index 00000000000..989dad241b7 --- /dev/null +++ b/assets/js/2c5fc0c1.448c4254.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4658],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>p});var r=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function c(e,t){if(null==e)return{};var a,r,l=function(e,t){if(null==e)return{};var a,r,l={},n=Object.keys(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var o=r.createContext({}),d=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},s=function(e){var t=d(e.components);return r.createElement(o.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,l=e.mdxType,n=e.originalType,o=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),m=d(a),p=l,k=m["".concat(o,".").concat(p)]||m[p]||u[p]||n;return a?r.createElement(k,i(i({ref:t},s),{},{components:a})):r.createElement(k,i({ref:t},s))}));function p(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var n=a.length,i=new Array(n);i[0]=m;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:l,i[1]=c;for(var d=2;d<n;d++)i[d]=a[d];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},26094:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>u,frontMatter:()=>n,metadata:()=>c,toc:()=>d});var r=a(87462),l=(a(67294),a(3905));const n={id:"AckSystem.ReliableReceived",title:"AckSystem.ReliableReceived"},i="Struct AckSystem.ReliableReceived",c={unversionedId:"reference/Mirage.SocketLayer/AckSystem.ReliableReceived",id:"reference/Mirage.SocketLayer/AckSystem.ReliableReceived",title:"AckSystem.ReliableReceived",description:"Syntax",source:"@site/docs/reference/Mirage.SocketLayer/AckSystem.ReliableReceived.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/AckSystem.ReliableReceived",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem.ReliableReceived",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/AckSystem.ReliableReceived.md",tags:[],version:"current",frontMatter:{id:"AckSystem.ReliableReceived",title:"AckSystem.ReliableReceived"},sidebar:"api",previous:{title:"AckSystem.ReliablePacket",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem.ReliablePacket"},next:{title:"AckSystem",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem"}},o={},d=[{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"ReliableReceived(ByteBuffer, Int32, Boolean)",id:"reliablereceivedbytebuffer-int32-boolean",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"Buffer",id:"buffer",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Length",id:"length",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"IsFragment",id:"isfragment",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Properties",id:"properties",level:3},{value:"FragmentIndex",id:"fragmentindex",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Methods",id:"methods",level:3},{value:"Equals(AckSystem.ReliableReceived)",id:"equalsacksystemreliablereceived",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5}],s={toc:d};function u(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,r.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"struct-acksystemreliablereceived"},"Struct AckSystem.ReliableReceived"),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public struct ReliableReceived : IEquatable<AckSystem.ReliableReceived>\n")),(0,l.kt)("h3",{id:"constructors"},"Constructors"),(0,l.kt)("h4",{id:"reliablereceivedbytebuffer-int32-boolean"},"ReliableReceived(ByteBuffer, Int32, Boolean)"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public ReliableReceived(ByteBuffer buffer, int length, bool isFragment)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.ByteBuffer"),(0,l.kt)("td",{parentName:"tr",align:null},"buffer"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"length"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"isFragment"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h3",{id:"fields"},"Fields"),(0,l.kt)("h4",{id:"buffer"},"Buffer"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly ByteBuffer Buffer\n")),(0,l.kt)("h4",{id:"length"},"Length"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly int Length\n")),(0,l.kt)("h4",{id:"isfragment"},"IsFragment"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly bool IsFragment\n")),(0,l.kt)("h3",{id:"properties"},"Properties"),(0,l.kt)("h4",{id:"fragmentindex"},"FragmentIndex"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int FragmentIndex { get; }\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"equalsacksystemreliablereceived"},"Equals(AckSystem.ReliableReceived)"),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Equals(AckSystem.ReliableReceived other)\n")),(0,l.kt)("h5",{id:"parameters-1"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.AckSystem.ReliableReceived"),(0,l.kt)("td",{parentName:"tr",align:null},"other"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2c840ae3.58ed4892.js b/assets/js/2c840ae3.58ed4892.js new file mode 100644 index 00000000000..0deb9aaa276 --- /dev/null +++ b/assets/js/2c840ae3.58ed4892.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4764],{3905:(A,e,t)=>{t.d(e,{Zo:()=>w,kt:()=>P});var r=t(67294);function o(A,e,t){return e in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}function n(A,e){var t=Object.keys(A);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(A);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(A,e).enumerable}))),t.push.apply(t,r)}return t}function b(A){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?n(Object(t),!0).forEach((function(e){o(A,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(t)):n(Object(t)).forEach((function(e){Object.defineProperty(A,e,Object.getOwnPropertyDescriptor(t,e))}))}return A}function D(A,e){if(null==A)return{};var t,r,o=function(A,e){if(null==A)return{};var t,r,o={},n=Object.keys(A);for(r=0;r<n.length;r++)t=n[r],e.indexOf(t)>=0||(o[t]=A[t]);return o}(A,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);for(r=0;r<n.length;r++)t=n[r],e.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(A,t)&&(o[t]=A[t])}return o}var c=r.createContext({}),u=function(A){var e=r.useContext(c),t=e;return A&&(t="function"==typeof A?A(e):b(b({},e),A)),t},w=function(A){var e=u(A.components);return r.createElement(c.Provider,{value:e},A.children)},a={inlineCode:"code",wrapper:function(A){var e=A.children;return r.createElement(r.Fragment,{},e)}},s=r.forwardRef((function(A,e){var t=A.components,o=A.mdxType,n=A.originalType,c=A.parentName,w=D(A,["components","mdxType","originalType","parentName"]),s=u(t),P=o,d=s["".concat(c,".").concat(P)]||s[P]||a[P]||n;return t?r.createElement(d,b(b({ref:e},w),{},{components:t})):r.createElement(d,b({ref:e},w))}));function P(A,e){var t=arguments,o=e&&e.mdxType;if("string"==typeof A||o){var n=t.length,b=new Array(n);b[0]=s;var D={};for(var c in e)hasOwnProperty.call(e,c)&&(D[c]=e[c]);D.originalType=A,D.mdxType="string"==typeof A?A:o,b[1]=D;for(var u=2;u<n;u++)b[u]=t[u];return r.createElement.apply(null,b)}return r.createElement.apply(null,t)}s.displayName="MDXCreateElement"},72240:(A,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>b,default:()=>a,frontMatter:()=>n,metadata:()=>D,toc:()=>u});var r=t(87462),o=(t(67294),t(3905));const n={},b="Room",D={unversionedId:"examples/room",id:"examples/room",title:"Room",description:"General description of Room example.",source:"@site/docs/examples/room.md",sourceDirName:"examples",slug:"/examples/room",permalink:"/Mirage/docs/examples/room",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/examples/room.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Pong",permalink:"/Mirage/docs/examples/pong"},next:{title:"Tanks",permalink:"/Mirage/docs/examples/tanks"}},c={},u=[],w={toc:u};function a(A){let{components:e,...n}=A;return(0,o.kt)("wrapper",(0,r.Z)({},w,n,{components:e,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"room"},"Room"),(0,o.kt)("p",null,"General description of Room example."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Host's Room View",src:t(71546).Z,width:"754",height:"376"})),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Player's Room View",src:t(24269).Z,width:"542",height:"309"})),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Network Room Manager",src:t(68109).Z,width:"410",height:"754"})),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Network Room Player",src:t(49600).Z,width:"403",height:"376"})))}a.isMDXComponent=!0},71546:(A,e,t)=>{t.d(e,{Z:()=>r});const r=t.p+"assets/images/Room1-52f6387d8f1ee4619004377258b5cab1.PNG"},24269:(A,e,t)=>{t.d(e,{Z:()=>r});const r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAh4AAAE1CAYAAACoQOkiAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAACJISURBVHhe7d35e1RVnsfx+W1mHKcH5+mnm7bVtlUgmJAQtoRAQkJIQghhCfsua4AIiCEJIWHfQdsR7bGV1rZV2g1Fce/WxlZwQ+3nGbsbFR13/43v+Dk8t6YqualQUQ63Uu8fXg9V99y6dSvfe+t+6pxT1D8Nyhtko8tGAwAAXHAEDwAA4A3BAwAAeEPwAAAA3hA8AACANwQPAADgDcEDAAB4Q/AAAADeEDwAAIA3BA8AAOANwQMAAHhD8AAAAN4QPAAAgDc9Dh7zFs2z7bu2O7odLK+orrB1jevc7fLx5ba+aX2s7fsoHlscuvz7WnXjKquZUpNym2/xf9cL4ULVraMLVUcAQHpIOXjoonTs6WP28ccf2xNPPuF8+r+f2u8f/L27qMxZMMe++OILt+702dPt22+/7bSNVD129DFbuGRhaNv39e5779q6m8Mv6MnafIv/u14IF6JuHV3IOgIA0kPKweOhPzxkr73+mlXWVMaWTZs9zc6ePWvtW9s7XSDHjBsTu91Tn3zyiS1auii07fsieJzjI3hcyDoCANJDSsFjwuQJ9tVXX9nS+qWd2tRNv2TFkoQLWG1drb30p5di60yZPsUeP/q4nX73tL3w4gu2ePni2HqPP/G4bd622d586007eeqk7dq7y7Udvu+we06FHQ19aNmDRx60lk0tse12tGrNKnvmuWfsvffec9vbf8v+WNsNy25w+/Te++/Zbbff5tYJwkVXbZOnT7ZHH3/Ubjt0m50+fdptv6vXInv377VTb5xyz/3AQw/Y+Nrx3bbNmDvD7rr7rk4O/uqga+8YPGbPn23HnjrmwpGef9nKZbG2WfNn2dPHn7b3//q+vfDSCwkX+67+NmHBo6Wtxf7y2l/s7XfejtVDkj13V68vrI4AgMyTUvC48aYb3cWjpLwktF26+uQ8tmqs/c8H/2P/dcd/We3UWmtsaXS9JHUz69x62u4Tx56wWfNmWduWNvv666/dxXhS3SQ3lKM5B+Oqx7lt6WLc1cVr8rTJ9vnnn9v6Deuturba7fOXX35p82+YbzWTa+zTTz9181K03cP3Hnb7p3CRrE37pP07/uxxt2/TZk3r8rWsvHGl/fWvf3X7rkD13AvPuWEo7VuytlSCh+adnP3krGvTdja2bbTPPv/MraO5Gv/4xz9i+7Z1x1a3bxoiS/a3Cavb0SeP2sy5M62xudHVY+7CuUmfO9nrC6sjACDzpBQ8NrRscBfnsLZAV8FDFyj1DmjoJfDwow/br+/6dWw9XRiD7ejT9M1NN7vbqXTRV9VU2fKVy2P31Vvxwd8+cBfbnXt2uk/cQZv24aOPPnLhIlmbgof2b+qMqa4t2WtpWNdgH374obtYKwRIeVW5e1yytu7E/11379ttr598PaH9yMNH7P4H7rfm1mbXYxPfpr9jxYSKpH+bsLopjAXrqtdDASvZc3f3+hhqAQCkFDw0xKILki5iHdv0SVjzProKHhqm0Kfrjz7+KIGGTYL14r/xoK56BR3dTvWCFYQITYBVt7/Ckj5p/+ae37ghnfh1NZSgcJGsTcHjm2++ie1fsteidX51+6/szJkzrpdEQx3qKdDjkrVp0qWGLTpSoFF7/N9V+6qhH90OaMjk+ReetwO3HnD/xrfF6+pv01XdAhr+0vBWsudO9vqE4AEASCl46JO9uu013NCxTd9Y0LyCri5guuCdePVEwmOqJ1W7IYCwC11Pg4c+baunYsXqFVZWWeaWffDBd5/qv7u4Hrz1oL30x/+fcyLBPI5kbQoeGmoIlid7LRpS0lwYXYQXLF7ggoN6FbROsjYNi7Rubu1E+632+L/r3gN77cWXXnS3A3f/9m4XnFSbjj0SCgzq3Uj2tznf4JHsuZO9PiF4AABSCh6yZ/8ed/FSt7rua76HJh7qoqUJll1dwDQvQvMLVq9d7e5XTaxy8wH02O6Ch7rvG9aeez5Zvmq5+yZNcD+e5h7oIqmLn+4rOGjbTa1Nbr6C9i34SqfmOKhN6yRr6xg8kr0WUU9CcGHX8MTf/v43dztZW3fi/67BvgYTWhUqznx4xk0G1XDVZ599FmvTvuu+JsMm+9ucb/BI9tzdvb6OdQQAZJ6Ug4fsO7jPXWw0WVAXIc0p0IVabckuYLrAqRv+ndPvuK5+DU0ouHQXPDSHQO0KPbqv+Qa33HZLwvoB9Rzomyf6Rocugvo/RzRkcfudt7t2fXNGz6111GuhbekCnKytY/CQrl6LLrpPP/O0u8jqNfz973+3NTetcY9J1tad+L+rqDdE2wmeX/NLgramjef2TfuvOgU9VMn+NucbPHS7q+fu7vV1rCMAIPP0KHiIPjXrQqau9bD2ruhx+lSe6jcbNDEy+KTeneA5upq4qSEB7XuqbR0ley3a36kzp4Z+AyhZWyrc808Pf53BvpVWlIYuP99JrV1J9tzdvXY9tuNyAEBm6HHwAAAASBXBAwAAeEPwAAAA3hA8AACANwQPAADgDcEDAAB4Q/AAAADeEDwAAIA3BA8AAOBNj4LH4GGD7YqrrrA+l/WxS//9UgAp0Hmj80fnUdj5BQC9WcrBIys7y3Jyc2zGrBm2dPlSAD2g80fnkc6nsPMMAHqrlIKHPqHlDs51b5oAvj+dT/R8AMgkKQWPvpf3tbLyMquprQHwA9D5pPMq7HwDgN4opeCh8Wm9UQL44ei8CjvfAKA3Sjl49BvQDxfB6JLRtv7m9bapbZPNWzDPsq7P6rRO/6z+nZYh+ggeADIJwSMNKHB89tln9vTxp+3IH47Y+++/b6+9/poNHT40ts4DDz5gE2snJjwO6YHgASCTEDwibkDWADv7yVlbumxpbNnA7IF24sQJO3jLwdiys2fP2sRJBI90RPAAkEkIHhGnkPHFl1/YosWLEpYrZNRNr3O3bz90u3311Vf2yp9fsdlzZrtlFZUV9vAjD9tbb79lTz39VGzdkUUj7cGHHrTWTa321ltv2csvv9xp2/CL4AEgk6QcPDS3AH7t2bvHvvzySzt27Jht3rLZaifVJrRr/scnn3xiy5Yvs/yh+TZy1Ej7+OOPbfuO7TaqeJQ13NjghmqqJ1RbeUW5ffPNN/boY4/aiMIRbr7Ip59+6r5hEb9N+EPwAJBJUg4e2YOycRHUTauzQ3ccspMnT7rgcOrUKauuqY61a6hl6rSp7nb75nZ79dVXY23yu/t/Z3ffc7dVVFXYt99+6wJJfNsdd96RsD78IXgAyCQpBw/9h0fwSz0T8ff1FcyjTxx18zyCZQoe02dMd7cPHTpkDx15KNYmO3busOPPHLfxE8bbhx9+mNC2d99ee/zxxxOWwR+CB4BMknLwyB+WD4/W3rTWPvroIxtWMCxhuYZINLwS3NcE1JmzZ7rb23dut+eefy7WJnf+9532yKOPuCGVL7/6MmF76gn57b2/TVgf/hA8AGSSlIPH8ILh8GhM2RjXQ3H/7++3yvGVbpkmlj711FOu1yNY78yHZ2xF/Qp3e0rdFPv8i89t/oL57r6GZM6cOWONGxpt0pRJbqhFPSBqUw+IHqv5IcG24BfBA0AmSS14/OhSKxhZYAVF8GnOvDn22muvucCgb698/fXX9uSxJ628sjy2zoNHHnTtO3fvdPebNza7wPL2O2+7iaaH7jzkliuUaD190+X0u6dd28FbD8a2A8++O590XoWdbwDQG6UUPP6jz3+4T2ihb6C44MZWjLXJdZOttLy0y/bCUYWx+7pdM6nGSspKYsuC4KHbldWVNmbsmFgb/NP5pPMq7HwDgN4opeBx2X9eZkNHDA19A0V6iA8euPh0Pum8CjvfAKA3Sil46Fc0NQs/7A0U6UFfp733vntD2+Cfzid+nRZAJkkpeAweNtj9T4thb6AAUqfzSedV2PkGAL1RSsFDsrLP/SoqPR9Az+n80Xmk8ynsPAOA3irl4CH6hHbFVVdYn8v6uK8CAjh/Om90/tDTASAT9Sh4AAAA9ATBAwAAeEPwAAAA3hA8AACANwQPAADgDcEDAAB4Q/AAAADeEDwAAIA3BA8AAOANwQMAAHhD8AAAAN4QPAAAgDcEDwAA4A3BAwAAeEPwAAAA3hA8AACANwQPAADgDcEDAAB4Q/AAAADeEDwAAIA3BA8AAOANwQMAAHhD8AAAAN4QPAAAgDcEDwAA4A3BAwAAeEPwAAAA3hA8AACANwQPAADgDcEDAAB4Q/AAAADeEDwAAIA3BA8AAOANwQMAAHhD8AAAAN4QPAAAgDcEDwAA4A3BAwAAeEPwAAAA3hA8AACANwQPAADgDcEDAAB4Q/AAAADeEDwAAIA3BA8AAOANwQMAAHhD8AAAAN4QPAAAgDcEDwAA4A3BAwAAeEPwAAAA3hA8AACANwQPAADgDcEDAAB4Q/AAAADeEDwAAIA3BA8AAOANwQMAAHhD8AAAAN4QPAAAgDcEDwAA4A3BAwAAeEPwAAAA3hA8AACANwQPAADgDcEDAAB4Q/AAAADeEDwAAIA3BA8AAOANwQMAAHhD8AAAAN4QPAAAgDcEDwAA4A3BAwAAeEPwAAAA3hA8AACANwQPAADgDcEDAAB4Q/AAAADeEDwAAIA3BA8AAOANwQMAAHhD8AAAAN4QPAAAgDcEDwAA4A3BAwAAeEPwAAAA3hA8AACANwQPAADgDcEDAAB4Q/AAAADeEDwAAIA3BA8AAOANwQMAAHjTo+CRlZ1lfS7rY5f++6UAACDDKAMoC4RlhO6kHDz6Xt7XfvyTH9vV115t1w24DgAAZBhlAGUBZYKwrJBMSsFD6UZPFLYTAAAgsygTpNrzkVLwUPdK2BMDAIDMpGGXsMzQFYIHAADoMWWDsMzQFYIHAADoMYIHkEHmzJsTM3vubJtSN8Wyc7Nj7f0H9ndtufm5CY/rqKS0xGbMntFp+dTpU62iqqLTcpk5e6aNLhntbs+aMythXwITJ02Mrd9xnekzp1tZeVmsPVA4qtBWrFxha9ettWkzp9mA6wd0WgdAdBA8gAzy7rvv2vFnjttjjz/mPPvss3by5ElbvHSxa8/Jy3HrjKsc1+mx8R548AF78803rbK6MmH5jWtvtNdPvm4FRQUJy+tX1tuf//xnGzJ8iLuvxz7zzDOx/QjsP7A/9ph33nnHHn3sUbv3vnudh448ZKdOnbL7fndfLFwocLzxxhtu2R133mEvvPCCPfHkE5Y/ND+2HQDRQvAAMohCRXyvgmxo2mB/ee0v7mJ+PsFjVMkot/6OXTvs4K0HE9r6ZfVzoeTee++NLRsxcoS9/vrrrtciWKbgMXXa1Nj9MAoek6ZMSlg2cvRIO/XGKZu3YJ57Lm137vy5sXa9hscee8w2b9mc8DgA0UHwADJIWPDQ0IiW5w3JO6/g0b653fUuaB2FgLz8vIT2ouIi1zOxZNkSd//w4cN2669uTVinp8FDXn75ZVvVsMqFjLfeessNycS3qxem42sEEB0EDyCDdAweunjv2bvHnn3uWXe/u+ChOSB//OMfY/M7jj5x1NasW9NpvYY1DfbKK6+4oZAXX3rRBg0elNCu4KFeCQ3xxBs95twcEFHwWLl6pQsSohCy/+B+N5RTWFTo1mlpbbG3337bDv/2sK1bv87GVSUfIgJw8RE8gAyiUKEegxdffNEFAgUA3Q/CSHfBY8asGS5QBHMsNKfj+PHjndYLhlxOnz4d2muh5z169Kjd//v7E2gCarCOgoeeS/uqeSja1oGDB9zE1vhtVVVX2bYd29zcDq3z5LEnbczYMQnrAIgOggeQQRQq6lfVW3VNtY2vGe8u4urFCNq7Cx6//u9fux6Hp556ynn++efd+mHhYunypfbcc891Wi6pDrXomzf3HL7HTTCN/xZO/G0ZXjjc7vrNXfbIo48kLAcQHQQPIIMoJCSb/5AseOQPy3dzKjRJVO0BDXNozkfH9X/I4CEarlEvzS233uLuL1i0wE68eiLW+xKoqa1xk07jlwGIDoIHkEHON3jo//cYVjAsZvDQwbb2prWul6PjYzQ8onkWQ0cMTVjeXfCYv3B+wnNI/DbCJpfq//LQ/im0KIicOHHCzfvQY9VeNLrI7r7nbtczE/84ANFB8AAyyPkGj46O/OGImztxc+PNnR6joZo//elP1tTSlLC8u+AR9jxaHqwTFjzk9kO3u+1eP+h6N5lU/9eHHqvwo8doqEVBqePjAEQDwQNA2tNXevX/i+j9KawdQHQQPAAAgDcEDwAA4A3BAwAAeEPwAAAA3hA8AACANwQPAADgDcEDAAB4Q/AAAADeRCZ4xP/2g4wpG2NZ2Vmx9oE5A628ojzhMT5pX4J9029WxLfplzhLy0tj90eXjHbrFZcUJ6yXToLXGkiXegwdPtTtV+Gocz+bLtTjwuuqHsNGDHPLhgwfEltGPS68ruoRKCoucv/pmm5TjwsvrB7Zg7LdjxrG03q9oR7diUzwOHDggG1q22TNzc1OW3ub7d692/2KptpVlL1793Z6nC86WLSP9fX1VlKW+LPc+tEs7XtwXz8d3rih0RobGxPWSyfpWI958+fZtm3brH5lvdv3NWvXuP/Om3pceGH1mDN3jm3dutWWr1ju6hL85D31uPCSvV8VFBXYvn37rKq6yt2nHhdeWD10PuzZs8e2b98eo7DRG+rRnUgFDyW9+GUzZs6wnbt2uotHVA6c+F/CzBuSZ2vWrHEHuA76+PUnTJyQ9idyOtVD+6OTODc/193XPqomqoPuU48Lq2M99GNvurgFn6p1f//+/bH/0px6XFhh71ei+xtbN7r9DIKHUI8LK6weq1av6vIXmtO9Ht2JdPAoLCp0y7Nzz3VJxR846kprWNNgbW1t1rKxxeqm17nlSouTp0yOrSdKmQUjC9ztwUMGu/ubNm2ytWvXui5HLVeIWF6/3KVQtWn78dsIO3D0CVu/sFk5vjIjgkeU66H74yeMT1hHoXDajGnuNvXwWw/9O7xgeKxdAUTBQ9vRferh//1KFi5a6Hpo1SvQ24NH1OvR3t5uxWOK3WM1FBS/PsEjkbfgoZS6aPEiVxzdjz9wVCh9utU4WE5ujpWVl7lPV+pCrKyqtM1bNrt5F1p35KiRrgtL29P42ZatW9zBoU/GFVUVtnPnTndQ6Ge1tY2GGxtc0YNPaoGwAyd4jvJx5b0+eKRDPeJp//R4vfnoPvW4OPXQNuum1Vlra6vNnjs7tpx6+K9H6dhSa25pdtvu7cEj6vVQ0FAQ15CQhiH1WIXC4HnTvR7diVTwUAFUdBVXB4nuBwdT/IGTPSg7YeKNDiSNJetA0gGyY+cOlyTVpoNPvRK6rU/ESqNaJ7Bs+TL3CUAHjvYhf2jniVjS1Rur9Nbgka710ARTPf+sObNiy6jHxamH3qAVONbdtM79pL4+fWo59fBbD/3d2ze3x3qhemPwSKd6qOdEQy1BT4res3bs2OHqoPvpXo/uRCp41E6udV1XotnwQfqT+ANH1B22oWmDS5xK8ZpnoQNHbUqOS5YuiR1EIwpHuOVKqkqWWhZP6+rAUQKNf854mRg80rEe+ml0ncDqMo1fTj0u3vkhelxTc5PNmn0uDFIPv/VYUb/CVq5c6T7diz5pz5031+2n2qnHxT0/RM+ridi6TfBI5HWOR7z4A0ddXLq4FJcWxwoZJFbdVve6Dijd10EVbEMHW8di5uTluC604MCJb4uXicEj3epRNq7Mdu3a5T6ZxK8r1MNvPdRt3XHinN5U9QlSt6mH33rob69tBXSh1XtWb54DFS9y58fIAre9+HUWL1ns6DbBI1EkgodOFnUVBulSF349vrK6MrZ+S0uL6xabUjcltmzIsCFubE9jnbrvuh/b223y1MkEjw7SrR66r23pU4+69wPBpC3q4bcewf7oTVz39f946M1c+6L71OPivV9JbxxqSad6qBdFvSeaQ6L7GmrRN3CCr9oSPBJFInjogqKDQkVXItVYmWYYx4/p64BRYZVIg2Wig0uThVo3tbo3QnWT6QAkeCRKt3poHoHudxSMz1IP/+fHxNqJrivafX3zu23pDT9oox4X7/1KMjl4RKUek6ZMctvQxOvedn50JzLBI1UqtiYFqZsrrF1F1QEV1hY8tuNXmJLp7kTuqLcfOB1Rj2iJSj00Tq42/Ru/nHok4vzwK2rnR8f9IHgkikzw6IqKqLSqGc3xM5e/r+DAqamtcd1iYesE1BWnsbpMOpG7Qj2ihXpEC/WIFurhR68LHhpL1nepJ06aGNreUxrP08Q4SdalJzpwtV5X/ytdJqEe0UI9ooV6RAv18KPXBQ8AABBdBA8AAOANwQMAAHhD8AAAAN4QPAAAgDcEDwAA4A3BAwAAeEPwAAAA3hA8AACANwQPAADgDcEDAAB4Q/AAAADeRCZ4lFeU27jKcTFl5WU2vHB46Lrf15iyMTZo8KDQNpxDPaKFekQL9YgW6pFeIhM89u/fb03NTbZ27VpnfeN627Nnj61dt9b6D+wf+pie2tS2ycrHlYe24RzqES3UI1qoR7RQj/QSqeBRUlqSsCx/WL47eCqrKhOWf18cON2jHtFCPaKFekQL9UgvkQ4esm3bNps0ZZK7PXjIYKuvr7dNmza5VFtUXBRbT91fDWsarK2tzVo2tljd9LpYW9HoIlt30zpra2+zmbNmunV04MyYNcMmT5kcW0+0/YKRBQnLMhH1iBbqES3UI1qoR3qJVPConVxrI0eNdIpLi23J0iW2e/dud8BkZWfZlq1bbObsmZabn2sVVRW2c+dOl2rzhuS5ZKuxvZzcHDe+t2/fPisoKjDtr7ahbefl59mChQvswIED7sBREt68ZbP1y+rn9kHPu3379h+8ay4dUY9ooR7RQj2ihXqkl0gFDxVNhVShdV8HzrARw1z7+AnjXVJVUQPLli+zOfPmWPagbCsuKY5tSwfS1q1b3YGkRLqhaUOsTY/bsWOHO3Dc7Z07rHjMuccuWrzI5i+cH1s3k1GPaKEe0UI9ooV6pJdIBY+gq0zpVN1eNzfe7G5rmZKqUqgKHU8Hl9qDA0Qptrml2R18OnDmzZ9n9SvrY88jGzZscAeObi9ctNBtIziIRhSOSFg3U1GPaKEe0UI9ooV6pJdIBg8ZmDPQdY0tXbbU3deB0djYGGuXnLwcd2Cp20wpVN1rA64f4NqCxDptxjQ3Phf/uGCMTrcLiwrdwaZ1dcDFr5fJqEe0UI9ooR7RQj3SS2SDh2isTeNpmvgzZNgQNw5XOrbUtWXnZlt7e7tNnjrZHRzNzc2xsTYdFHpcZXWl62rbu3evFY4qTNhmcOBIS0uL64abUjcltizTUY9ooR7RQj2ihXqkl0gHD9EsYR0gSqY6EDSO17qp1aVMdXHpYNFkIRVe6yl1rlq9ys1anjVnlttGTW2NW1/rKPW2trYmHDg6YNQNpwQcLMt01CNaqEe0UI9ooR7pJTLB43zpQNHkH3WlhS3XARa/PKDlOsDC2vR1Kx1sYW1IjnpEC/WIFuoRLdQjGtIuePyQ9FUqpVV91zt+VjMuDuoRLdQjWqhHtFCPnsvo4DFk+BBruLHBJk6aGNoOv6hHtFCPaKEe0UI9ei6jgwcAAPCL4AEAALwheAAAAG8IHgAAwBuCBwAA8IbgAQAAvCF4AAAAbwgeAADAG4IHAADwhuABAAC8IXgAAABvCB4AAMAbggcAAPCG4AEAALwheAAAAG8IHgAAwBuCBwAA8IbgAQAAvCF4AAAAbwgeAADAG4IHAADwhuABAAC8IXgAAABvCB4AAMAbggcAAPCG4AEAALwheAAAAG8IHgAAwBuCBwAA8IbgAQAAvCF4AAAAbwgeAADAG4IHAADwhuABAAC8IXgAAABvCB4AAMAbggcAAPCG4AEAALwheAAAAG8IHgAAwBuCBwAA8IbgAQAAvCF4AAAAbwgeAADAG4IHAADwhuABAAC8IXgAAABvCB4AAMAbggcAAPCG4AEAALwheAAAAG8IHgAAwBuCBwAA8IbgAQAAvCF4AAAAbwgeAADAG4IHAADwJlLB48pfXGmX/edldskll9g//8s/Iw2pdqqhahlWYwBAZotM8Oh7eV+7/IrLbeiwoTaqeBTSmGqoWqqmYbUGAGSuSAQPfTq+4sor3AULvYdqSs8HACBeJILHj/r8yAZkDbBBuYPQi6imqm1YzQEAmSkSwUNzA3SRQu+j2obVHACQmSITPH7y05+khZycHKuorHB0O2wdHzSMMbJoZGhblBA8AADxCB7n6edX/NyWL19uO3bssKXLljq7du2yefPm2U/7/jT0MRfS9dnX2969e0PbooTgAQCIR/A4TwsWLrD1N6+3K6+6Mras/4D+LoiMLR+bsK4PBA8AQDoieJyHq395te3bt8/yh+R3atNwx+D8we728BHDrX5lvbW2ttqGpg1WM7HGLb/m2mtsyZIlLqA0NTdZY2OjVY2vim1j4PUDbfmK5bZp0yZb3bDacvNyY23X9bvOPXbjxo22evVqyxuc55YTPAAA6SgywaPvz/pGVuHIQhc8fnb5z0LbpV//frZnzx4bNXqUXX3N1bHH5ObmWtbALHd72bJlLjAogOzfv98Fjqt+cZVt3brVpkydYtded62bO6JeFPWsaB7H5s2bY23FJcWuTZM2Nb9EwSNsX6KE4AEAiBeZ4HH5zy+PrDGlY9x8jrC2wC+v+aUNHz48dr9/Vn/bvGWzFRcX28DsgXbgwAE3NBO0q1dEQaK0rNT1dATLRcvVy1I2tsytpwASuGHxDTZjxgz3dVUFj/jHRRHBAwAQLzLBI/7iGjUKFAoOGjLp2Na/f//Y8uoJ1W4YRb0STU1NLqyUjCmx7Jxs9/j4xzU3N7vQMWnyJGtoaEhoC9TV1bmeEm0v3qJFiywvL88Fj7DHRQnBAwAQLzLBQ//DZVSp92Hnzp1WWVXZqU3DJytXrnQhQqGgsKjQDbWoTT0eWq7eCQWP+McpeJSVl7ltNm5oTGgrH1fuhmQmTJxg69evT2hTT8o1111jg4cMdsEjvi2KCB4AgHiRCR66uEeZeiYULIJhEA2t1NbWuot/QWGB651QL4dCh9pLS0td2Bg3bpybEKrb8dtrbml2AUO9Ibt373bb0PL8/Hx3Pyc3x00y1bwRDdeoTXM72tvb3fMOGTrEPXf8NqOI4AEAiBeZ4KEL+S+vjTZN8ty+fbsLBrrot7W1WUlpiWvLHpTt5mO0tbe53oyVq1bamjVrbObMme5bLwoe8dtqaWmxcRXj3G39u23bNvfNFW1/fPX42HrjKs+1advqdVm8eLHr8Rg6fKjbh2C9SPqupgQPAEC8SASPf73kX92n49CLV8RoPodChiaMhrWpp6LfgH6d2roTPPbaftd22aZhlo5tUaaaqrZhNQcAZKZIBI9L/u0S+8XVvwi9eCF9qaaqbVjNAQCZKRLBQ79gqm9AhF28kL5UU36dFgAQLxLBQ99+0P9yGXbxQvpSTVXbsJoDADJTJIKH9L28r7tQ0fOR/lRD1VI1Das1ACBzRSZ4AACA3o/gAQAAvCF4AAAAbwgeAADAG4IHAADwhuABAAC8IXgAAABv+lzWJzQzdCWl4JGVnWU//smPQ58YAABkFmUCZYOwzNCVlIKH6D+RkquvvTp0JwAAQO+mDBDkgbCskEzKwUOUbtS1oqEXAACQWZQBUu3pCPQoeAAAAPQEwQMAAHhD8AAAAN4QPAAAgDcEDwAA4A3BAwAAeEPwAAAA3hA8AACANwQPAADgDcEDAAB4Q/AAAACejLb/A6EwS8r7j2WHAAAAAElFTkSuQmCC"},68109:(A,e,t)=>{t.d(e,{Z:()=>r});const r=t.p+"assets/images/RoomManager-28447e5c36fc857667bc3b3740e4e3e5.PNG"},49600:(A,e,t)=>{t.d(e,{Z:()=>r});const r=t.p+"assets/images/RoomPlayer-bc0a4426eafc52fc3a58bdc32c446c60.PNG"}}]); \ No newline at end of file diff --git a/assets/js/2ccd3a42.3f5d51a2.js b/assets/js/2ccd3a42.3f5d51a2.js new file mode 100644 index 00000000000..6bad6869304 --- /dev/null +++ b/assets/js/2ccd3a42.3f5d51a2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[351],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>h});var n=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,l=function(e,t){if(null==e)return{};var a,n,l={},r=Object.keys(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var s=n.createContext({}),c=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},d=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var a=e.components,l=e.mdxType,r=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),p=c(a),h=l,v=p["".concat(s,".").concat(h)]||p[h]||u[h]||r;return a?n.createElement(v,i(i({ref:t},d),{},{components:a})):n.createElement(v,i({ref:t},d))}));function h(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=a.length,i=new Array(r);i[0]=p;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:l,i[1]=o;for(var c=2;c<r;c++)i[c]=a[c];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}p.displayName="MDXCreateElement"},75638:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var n=a(87462),l=(a(67294),a(3905));const r={id:"NetworkIdentity",title:"NetworkIdentity"},i="Class NetworkIdentity",o={unversionedId:"reference/Mirage/NetworkIdentity",id:"reference/Mirage/NetworkIdentity",title:"NetworkIdentity",description:"The NetworkIdentity identifies objects across the network, between server and clients.",source:"@site/docs/reference/Mirage/NetworkIdentity.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkIdentity",permalink:"/Mirage/docs/reference/Mirage/NetworkIdentity",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkIdentity.md",tags:[],version:"current",frontMatter:{id:"NetworkIdentity",title:"NetworkIdentity"},sidebar:"api",previous:{title:"NetworkFlags",permalink:"/Mirage/docs/reference/Mirage/NetworkFlags"},next:{title:"NetworkIdentitySerializers",permalink:"/Mirage/docs/reference/Mirage/NetworkIdentitySerializers"}},s={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"SpawnSettings",id:"spawnsettings",level:4},{value:"Declaration",id:"declaration",level:5},{value:"observers",id:"observers",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"ServerObjectManager",id:"serverobjectmanager",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"ClientObjectManager",id:"clientobjectmanager",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Properties",id:"properties",level:3},{value:"IsClient",id:"isclient",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"IsServer",id:"isserver",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"IsLocalClient",id:"islocalclient",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"IsHost",id:"ishost",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"IsLocalPlayer",id:"islocalplayer",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"HasAuthority",id:"hasauthority",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"NetId",id:"netid",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"IsSceneObject",id:"issceneobject",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"IsPrefab",id:"isprefab",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"IsSpawned",id:"isspawned",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Server",id:"server",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"World",id:"world",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"SyncVarSender",id:"syncvarsender",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"InitialState",id:"initialstate",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Client",id:"client",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"Owner",id:"owner",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"NetworkBehaviours",id:"networkbehaviours",level:4},{value:"Declaration",id:"declaration-20",level:5},{value:"Visibility",id:"visibility",level:4},{value:"Declaration",id:"declaration-21",level:5},{value:"PrefabHash",id:"prefabhash",level:4},{value:"Declaration",id:"declaration-22",level:5},{value:"OnStartServer",id:"onstartserver",level:4},{value:"Declaration",id:"declaration-23",level:5},{value:"OnStartClient",id:"onstartclient",level:4},{value:"Declaration",id:"declaration-24",level:5},{value:"OnStartLocalPlayer",id:"onstartlocalplayer",level:4},{value:"Declaration",id:"declaration-25",level:5},{value:"OnAuthorityChanged",id:"onauthoritychanged",level:4},{value:"Declaration",id:"declaration-26",level:5},{value:"OnOwnerChanged",id:"onownerchanged",level:4},{value:"Declaration",id:"declaration-27",level:5},{value:"OnStopClient",id:"onstopclient",level:4},{value:"Declaration",id:"declaration-28",level:5},{value:"OnStopServer",id:"onstopserver",level:4},{value:"Declaration",id:"declaration-29",level:5},{value:"SpawnedFromInstantiate",id:"spawnedfrominstantiate",level:4},{value:"Declaration",id:"declaration-30",level:5},{value:"Methods",id:"methods",level:3},{value:"RebuildObservers(Boolean)",id:"rebuildobserversboolean",level:4},{value:"Declaration",id:"declaration-31",level:5},{value:"Parameters",id:"parameters",level:5},{value:"AssignClientAuthority(INetworkPlayer)",id:"assignclientauthorityinetworkplayer",level:4},{value:"Declaration",id:"declaration-32",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"RemoveClientAuthority()",id:"removeclientauthority",level:4},{value:"Declaration",id:"declaration-33",level:5},{value:"ToString()",id:"tostring",level:4},{value:"Declaration",id:"declaration-34",level:5},{value:"Returns",id:"returns",level:5}],d={toc:c};function u(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,n.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-networkidentity"},"Class NetworkIdentity"),(0,l.kt)("p",null,"The NetworkIdentity identifies objects across the network, between server and clients.\nIts primary data is a NetworkInstanceId which is allocated by the server and then set on clients.\nThis is used in network communications to be able to lookup game objects on different machines."),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class NetworkIdentity : MonoBehaviour\n")),(0,l.kt)("h3",{id:"fields"},"Fields"),(0,l.kt)("h4",{id:"spawnsettings"},"SpawnSettings"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkSpawnSettings SpawnSettings\n")),(0,l.kt)("h4",{id:"observers"},"observers"),(0,l.kt)("p",null,"The set of network connections (players) that can see this object."),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly HashSet<INetworkPlayer> observers\n")),(0,l.kt)("h4",{id:"serverobjectmanager"},"ServerObjectManager"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public ServerObjectManager ServerObjectManager\n")),(0,l.kt)("h4",{id:"clientobjectmanager"},"ClientObjectManager"),(0,l.kt)("p",null,"The ClientObjectManager is present only for client instances."),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public ClientObjectManager ClientObjectManager\n")),(0,l.kt)("h3",{id:"properties"},"Properties"),(0,l.kt)("h4",{id:"isclient"},"IsClient"),(0,l.kt)("p",null,"Returns true if running as a client and this object was spawned by a server."),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsClient { get; }\n")),(0,l.kt)("h4",{id:"isserver"},"IsServer"),(0,l.kt)("p",null,"Returns true if NetworkServer.active and server is not stopped."),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsServer { get; }\n")),(0,l.kt)("h4",{id:"islocalclient"},"IsLocalClient"),(0,l.kt)("p",null,"Returns true if we","'","re on host mode."),(0,l.kt)("h5",{id:"declaration-6"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},'[Obsolete("use IsHost instead")]\npublic bool IsLocalClient { get; }\n')),(0,l.kt)("h4",{id:"ishost"},"IsHost"),(0,l.kt)("p",null,"Returns true if we","'","re on host mode."),(0,l.kt)("h5",{id:"declaration-7"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsHost { get; }\n")),(0,l.kt)("h4",{id:"islocalplayer"},"IsLocalPlayer"),(0,l.kt)("p",null,"This returns true if this object is the one that represents the player on the local machine.\nThis is set when the server has spawned an object for this particular client."),(0,l.kt)("h5",{id:"declaration-8"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsLocalPlayer { get; }\n")),(0,l.kt)("h4",{id:"hasauthority"},"HasAuthority"),(0,l.kt)("p",null,"This returns true if this object is the authoritative player object on the client.\nThis value is determined at runtime. For most objects, authority is held by the server.\nFor objects that had their authority set by AssignClientAuthority on the server, this will be true on the client that owns the object. NOT on other clients."),(0,l.kt)("h5",{id:"declaration-9"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool HasAuthority { get; }\n")),(0,l.kt)("h4",{id:"netid"},"NetId"),(0,l.kt)("p",null,"Unique identifier for this particular object instance, used for tracking objects between networked clients and the server.\nThis is a unique identifier for this particular GameObject instance. Use it to track GameObjects between networked clients and the server."),(0,l.kt)("h5",{id:"declaration-10"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public uint NetId { get; }\n")),(0,l.kt)("h4",{id:"issceneobject"},"IsSceneObject"),(0,l.kt)("p",null,"Is this object part of a scene and have a Scene Id?"),(0,l.kt)("h5",{id:"declaration-11"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsSceneObject { get; }\n")),(0,l.kt)("h4",{id:"isprefab"},"IsPrefab"),(0,l.kt)("p",null,"Is this object a prefab and have a so that it can be spawned over the network"),(0,l.kt)("h5",{id:"declaration-12"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsPrefab { get; }\n")),(0,l.kt)("h4",{id:"isspawned"},"IsSpawned"),(0,l.kt)("p",null,"Has this object been spawned and have a "),(0,l.kt)("h5",{id:"declaration-13"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsSpawned { get; }\n")),(0,l.kt)("h4",{id:"server"},"Server"),(0,l.kt)("p",null,"The NetworkServer associated with this NetworkIdentity."),(0,l.kt)("h5",{id:"declaration-14"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkServer Server { get; }\n")),(0,l.kt)("h4",{id:"world"},"World"),(0,l.kt)("p",null,"The world this object exists in"),(0,l.kt)("h5",{id:"declaration-15"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkWorld World { get; }\n")),(0,l.kt)("h4",{id:"syncvarsender"},"SyncVarSender"),(0,l.kt)("h5",{id:"declaration-16"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncVarSender SyncVarSender { get; }\n")),(0,l.kt)("h4",{id:"initialstate"},"InitialState"),(0,l.kt)("p",null,"True while applying spawn payload within OnDeserializeAll\nCan be used inside syncvar hooks to tell if object has just spawned"),(0,l.kt)("h5",{id:"declaration-17"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool InitialState { get; }\n")),(0,l.kt)("h4",{id:"client"},"Client"),(0,l.kt)("p",null,"The NetworkClient associated with this NetworkIdentity."),(0,l.kt)("h5",{id:"declaration-18"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkClient Client { get; }\n")),(0,l.kt)("h4",{id:"owner"},"Owner"),(0,l.kt)("p",null,"The INetworkPlayer associated with this . This property is only valid on server\nUse it to return details such as the connection","'","s identity, IP address and ready status."),(0,l.kt)("h5",{id:"declaration-19"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public INetworkPlayer Owner { get; }\n")),(0,l.kt)("h4",{id:"networkbehaviours"},"NetworkBehaviours"),(0,l.kt)("p",null,"Array of NetworkBehaviours associated with this NetworkIdentity. Can be in child GameObjects."),(0,l.kt)("h5",{id:"declaration-20"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkBehaviour[] NetworkBehaviours { get; }\n")),(0,l.kt)("h4",{id:"visibility"},"Visibility"),(0,l.kt)("p",null,"Returns the NetworkVisibility behaviour on this gameObject, or a default visibility where all objects are visible.\nNote: NetworkVisibility must be on same gameObject has NetworkIdentity, not on a child object"),(0,l.kt)("h5",{id:"declaration-21"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public INetworkVisibility Visibility { get; }\n")),(0,l.kt)("h4",{id:"prefabhash"},"PrefabHash"),(0,l.kt)("h5",{id:"declaration-22"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int PrefabHash { get; set; }\n")),(0,l.kt)("h4",{id:"onstartserver"},"OnStartServer"),(0,l.kt)("p",null,"This is invoked for NetworkBehaviour objects when they become active on the server.\nThis could be triggered by NetworkServer.Start() for objects in the scene, or by ServerObjectManager.Spawn() for objects you spawn at runtime.\nThis will be called for objects on a ",'"',"host",'"'," as well as for object on a dedicated server.\nOnStartServer is invoked before this object is added to collection of spawned objects"),(0,l.kt)("h5",{id:"declaration-23"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public IAddLateEvent OnStartServer { get; }\n")),(0,l.kt)("h4",{id:"onstartclient"},"OnStartClient"),(0,l.kt)("p",null,"Called on every NetworkBehaviour when it is activated on a client.\nObjects on the host have this function called, as there is a local client on the host. The values of SyncVars on object are guaranteed to be initialized\ncorrectly with the latest state from the server when this function is called on the client."),(0,l.kt)("h5",{id:"declaration-24"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public IAddLateEvent OnStartClient { get; }\n")),(0,l.kt)("h4",{id:"onstartlocalplayer"},"OnStartLocalPlayer"),(0,l.kt)("p",null,"Called when the local player object has been set up.\nThis happens after OnStartClient(), as it is triggered by an ownership message from the server. This is an appropriate place to activate components or\nfunctionality that should only be active for the local player, such as cameras and input."),(0,l.kt)("h5",{id:"declaration-25"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public IAddLateEvent OnStartLocalPlayer { get; }\n")),(0,l.kt)("h4",{id:"onauthoritychanged"},"OnAuthorityChanged"),(0,l.kt)("p",null,"This is invoked on behaviours that have authority given or removed, see\nThis is called after and before "),(0,l.kt)("p",null,"When or is called on the server, this will be called on the client that owns the object."),(0,l.kt)("p",null,"When an object is spawned with with a NetworkConnection parameter included,\nthis will be called on the client that owns the object."),(0,l.kt)("p",null,"NOTE: this even is only called for client and host"),(0,l.kt)("h5",{id:"declaration-26"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public IAddLateEvent<bool> OnAuthorityChanged { get; }\n")),(0,l.kt)("h4",{id:"onownerchanged"},"OnOwnerChanged"),(0,l.kt)("p",null,"This is invoked on behaviours that have an owner assigned.\nThis even is only called on server\nSee for more comments on owner and authority"),(0,l.kt)("h5",{id:"declaration-27"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public IAddLateEvent<INetworkPlayer> OnOwnerChanged { get; }\n")),(0,l.kt)("h4",{id:"onstopclient"},"OnStopClient"),(0,l.kt)("p",null,"This is invoked on clients when the server has caused this object to be destroyed.\nThis can be used as a hook to invoke effects or do client specific cleanup."),(0,l.kt)("h5",{id:"declaration-28"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public IAddLateEvent OnStopClient { get; }\n")),(0,l.kt)("h4",{id:"onstopserver"},"OnStopServer"),(0,l.kt)("p",null,"This is called on the server when the object is unspawned"),(0,l.kt)("h5",{id:"declaration-29"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public IAddLateEvent OnStopServer { get; }\n")),(0,l.kt)("h4",{id:"spawnedfrominstantiate"},"SpawnedFromInstantiate"),(0,l.kt)("h5",{id:"declaration-30"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool SpawnedFromInstantiate { get; }\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"rebuildobserversboolean"},"RebuildObservers(Boolean)"),(0,l.kt)("p",null,"This causes the set of players that can see this object to be rebuild.\nThe OnRebuildObservers callback function will be invoked on each NetworkBehaviour."),(0,l.kt)("h5",{id:"declaration-31"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void RebuildObservers(bool initialize)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"initialize"),(0,l.kt)("td",{parentName:"tr",align:null},"True if this is the first time.")))),(0,l.kt)("h4",{id:"assignclientauthorityinetworkplayer"},"AssignClientAuthority(INetworkPlayer)"),(0,l.kt)("p",null,"Assign control of an object to a client via the client","'","s\nThis causes hasAuthority to be set on the client that owns the object, and NetworkBehaviour.OnStartAuthority will be called on that client. This object then will be\nin the NetworkConnection.clientOwnedObjects list for the connection.\nAuthority can be removed with RemoveClientAuthority. Only one client can own an object at any time. This does not need to be called for player objects, as their\nauthority is setup automatically."),(0,l.kt)("h5",{id:"declaration-32"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void AssignClientAuthority(INetworkPlayer player)\n")),(0,l.kt)("h5",{id:"parameters-1"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,l.kt)("td",{parentName:"tr",align:null},"player"),(0,l.kt)("td",{parentName:"tr",align:null},"The connection of the client to assign authority to.")))),(0,l.kt)("h4",{id:"removeclientauthority"},"RemoveClientAuthority()"),(0,l.kt)("p",null,"Removes ownership for an object.\nThis applies to objects that had authority set by AssignClientAuthority, or with a NetworkConnection\nparameter included.\nAuthority cannot be removed for player objects."),(0,l.kt)("h5",{id:"declaration-33"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveClientAuthority()\n")),(0,l.kt)("h4",{id:"tostring"},"ToString()"),(0,l.kt)("h5",{id:"declaration-34"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public override string ToString()\n")),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.String"),(0,l.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2cf67689.67ddacb2.js b/assets/js/2cf67689.67ddacb2.js new file mode 100644 index 00000000000..66dc4005f1f --- /dev/null +++ b/assets/js/2cf67689.67ddacb2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9620],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),p=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},s=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),s=p(r),f=o,y=s["".concat(l,".").concat(f)]||s[f]||m[f]||a;return r?n.createElement(y,c(c({ref:t},u),{},{components:r})):n.createElement(y,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=s;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:o,c[1]=i;for(var p=2;p<a;p++)c[p]=r[p];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}s.displayName="MDXCreateElement"},80228:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>p});var n=r(87462),o=(r(67294),r(3905));const a={id:"Pool-1.CreateNewItem",title:"Pool<T>.CreateNewItem"},c="Delegate Pool<T>.CreateNewItem",i={unversionedId:"reference/Mirage.SocketLayer/Pool-1.CreateNewItem",id:"reference/Mirage.SocketLayer/Pool-1.CreateNewItem",title:"Pool<T>.CreateNewItem",description:"Syntax",source:"@site/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItem.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/Pool-1.CreateNewItem",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItem",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItem.md",tags:[],version:"current",frontMatter:{id:"Pool-1.CreateNewItem",title:"Pool<T>.CreateNewItem"},sidebar:"api",previous:{title:"Peer",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Peer"},next:{title:"Pool<T>.CreateNewItemNoCount",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount"}},l={},p=[{value:"Syntax",id:"syntax",level:5}],u={toc:p};function m(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"delegate-pooltcreatenewitem"},"Delegate Pool","<","T",">",".CreateNewItem"),(0,o.kt)("h5",{id:"syntax"},"Syntax"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"public delegate T CreateNewItem(int bufferSize, Pool<T> pool);\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2f0154d3.69e34f2e.js b/assets/js/2f0154d3.69e34f2e.js new file mode 100644 index 00000000000..0128b1b2414 --- /dev/null +++ b/assets/js/2f0154d3.69e34f2e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2880],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>g});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=s(r),g=i,y=u["".concat(c,".").concat(g)]||u[g]||d[g]||a;return r?n.createElement(y,l(l({ref:t},p),{},{components:r})):n.createElement(y,l({ref:t},p))}));function g(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,l=new Array(a);l[0]=u;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:i,l[1]=o;for(var s=2;s<a;s++)l[s]=r[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},67361:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>o,toc:()=>s});var n=r(87462),i=(r(67294),r(3905));const a={id:"NetworkPingDisplay",title:"NetworkPingDisplay"},l="Class NetworkPingDisplay",o={unversionedId:"reference/Mirage/NetworkPingDisplay",id:"reference/Mirage/NetworkPingDisplay",title:"NetworkPingDisplay",description:"Component that will display the clients ping in milliseconds",source:"@site/docs/reference/Mirage/NetworkPingDisplay.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkPingDisplay",permalink:"/Mirage/docs/reference/Mirage/NetworkPingDisplay",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkPingDisplay.md",tags:[],version:"current",frontMatter:{id:"NetworkPingDisplay",title:"NetworkPingDisplay"},sidebar:"api",previous:{title:"NetworkMethodAttribute",permalink:"/Mirage/docs/reference/Mirage/NetworkMethodAttribute"},next:{title:"NetworkPingMessage",permalink:"/Mirage/docs/reference/Mirage/NetworkPingMessage"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Client",id:"client",level:4},{value:"Declaration",id:"declaration",level:5},{value:"NetworkPingLabelText",id:"networkpinglabeltext",level:4},{value:"Declaration",id:"declaration-1",level:5}],p={toc:s};function d(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-networkpingdisplay"},"Class NetworkPingDisplay"),(0,i.kt)("p",null,"Component that will display the clients ping in milliseconds"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public class NetworkPingDisplay : MonoBehaviour\n")),(0,i.kt)("h3",{id:"fields"},"Fields"),(0,i.kt)("h4",{id:"client"},"Client"),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkClient Client\n")),(0,i.kt)("h4",{id:"networkpinglabeltext"},"NetworkPingLabelText"),(0,i.kt)("h5",{id:"declaration-1"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public Text NetworkPingLabelText\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/302e48e3.34b8aefb.js b/assets/js/302e48e3.34b8aefb.js new file mode 100644 index 00000000000..3128883e7c9 --- /dev/null +++ b/assets/js/302e48e3.34b8aefb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6468],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>v});var i=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,i,n=function(e,t){if(null==e)return{};var r,i,n={},a=Object.keys(e);for(i=0;i<a.length;i++)r=a[i],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=i.createContext({}),s=function(e){var t=i.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=s(e.components);return i.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},p=i.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),p=s(r),v=n,b=p["".concat(c,".").concat(v)]||p[v]||d[v]||a;return r?i.createElement(b,l(l({ref:t},u),{},{components:r})):i.createElement(b,l({ref:t},u))}));function v(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,l=new Array(a);l[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,l[1]=o;for(var s=2;s<a;s++)l[s]=r[s];return i.createElement.apply(null,l)}return i.createElement.apply(null,r)}p.displayName="MDXCreateElement"},31345:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>o,toc:()=>s});var i=r(87462),n=(r(67294),r(3905));const a={id:"WeaverSerializeCollectionAttribute",title:"WeaverSerializeCollectionAttribute"},l="Class WeaverSerializeCollectionAttribute",o={unversionedId:"reference/Mirage.Serialization/WeaverSerializeCollectionAttribute",id:"reference/Mirage.Serialization/WeaverSerializeCollectionAttribute",title:"WeaverSerializeCollectionAttribute",description:"Tells weaver to use this method to write a generic type or collection",source:"@site/docs/reference/Mirage.Serialization/WeaverSerializeCollectionAttribute.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/WeaverSerializeCollectionAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/WeaverSerializeCollectionAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/WeaverSerializeCollectionAttribute.md",tags:[],version:"current",frontMatter:{id:"WeaverSerializeCollectionAttribute",title:"WeaverSerializeCollectionAttribute"},sidebar:"api",previous:{title:"WeaverIgnoreAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/WeaverIgnoreAttribute"},next:{title:"WeaverWriteAsGenericAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/WeaverWriteAsGenericAttribute"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"WeaverSerializeCollectionAttribute()",id:"weaverserializecollectionattribute",level:4},{value:"Declaration",id:"declaration",level:5}],u={toc:s};function d(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,i.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-weaverserializecollectionattribute"},"Class WeaverSerializeCollectionAttribute"),(0,n.kt)("p",null,"Tells weaver to use this method to write a generic type or collection\nCan also be used for other generic types like Nullable"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Method)]\npublic sealed class WeaverSerializeCollectionAttribute : Attribute, _Attribute\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"weaverserializecollectionattribute"},"WeaverSerializeCollectionAttribute()"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public WeaverSerializeCollectionAttribute()\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/304a0d1e.7d55651c.js b/assets/js/304a0d1e.7d55651c.js new file mode 100644 index 00000000000..2d5072d4eb7 --- /dev/null +++ b/assets/js/304a0d1e.7d55651c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5101],{3905:(e,r,t)=>{t.d(r,{Zo:()=>d,kt:()=>u});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function o(e,r){if(null==e)return{};var t,a,n=function(e,r){if(null==e)return{};var t,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)t=i[a],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)t=i[a],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var c=a.createContext({}),k=function(e){var r=a.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):l(l({},r),e)),t},d=function(e){var r=k(e.components);return a.createElement(c.Provider,{value:r},e.children)},p={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},s=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),s=k(t),u=n,v=s["".concat(c,".").concat(u)]||s[u]||p[u]||i;return t?a.createElement(v,l(l({ref:r},d),{},{components:t})):a.createElement(v,l({ref:r},d))}));function u(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var i=t.length,l=new Array(i);l[0]=s;var o={};for(var c in r)hasOwnProperty.call(r,c)&&(o[c]=r[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,l[1]=o;for(var k=2;k<i;k++)l[k]=t[k];return a.createElement.apply(null,l)}return a.createElement.apply(null,t)}s.displayName="MDXCreateElement"},36591:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>k});var a=t(87462),n=(t(67294),t(3905));const i={id:"NetworkBehaviorSerializers",title:"NetworkBehaviorSerializers"},l="Class NetworkBehaviorSerializers",o={unversionedId:"reference/Mirage/NetworkBehaviorSerializers",id:"reference/Mirage/NetworkBehaviorSerializers",title:"NetworkBehaviorSerializers",description:"Inheritance",source:"@site/docs/reference/Mirage/NetworkBehaviorSerializers.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkBehaviorSerializers",permalink:"/Mirage/docs/reference/Mirage/NetworkBehaviorSerializers",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkBehaviorSerializers.md",tags:[],version:"current",frontMatter:{id:"NetworkBehaviorSerializers",title:"NetworkBehaviorSerializers"},sidebar:"api",previous:{title:"NetworkAnimator",permalink:"/Mirage/docs/reference/Mirage/NetworkAnimator"},next:{title:"NetworkBehaviorSyncvar<T>",permalink:"/Mirage/docs/reference/Mirage/NetworkBehaviorSyncvar-1"}},c={},k=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"WriteNetworkBehaviorSyncVar(NetworkWriter, NetworkBehaviorSyncvar)",id:"writenetworkbehaviorsyncvarnetworkwriter-networkbehaviorsyncvar",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"ReadNetworkBehaviourSyncVar(NetworkReader)",id:"readnetworkbehavioursyncvarnetworkreader",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"WriteGenericNetworkBehaviorSyncVar<T>(NetworkWriter, NetworkBehaviorSyncvar<T>)",id:"writegenericnetworkbehaviorsyncvartnetworkwriter-networkbehaviorsyncvart",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"ReadGenericNetworkBehaviourSyncVar<T>(NetworkReader)",id:"readgenericnetworkbehavioursyncvartnetworkreader",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-1",level:5}],d={toc:k};function p(e){let{components:r,...t}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,t,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networkbehaviorserializers"},"Class NetworkBehaviorSerializers"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class NetworkBehaviorSerializers\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"writenetworkbehaviorsyncvarnetworkwriter-networkbehaviorsyncvar"},"WriteNetworkBehaviorSyncVar(NetworkWriter, NetworkBehaviorSyncvar)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteNetworkBehaviorSyncVar(this NetworkWriter writer, NetworkBehaviorSyncvar id)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviorSyncvar"),(0,n.kt)("td",{parentName:"tr",align:null},"id"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readnetworkbehavioursyncvarnetworkreader"},"ReadNetworkBehaviourSyncVar(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static NetworkBehaviorSyncvar ReadNetworkBehaviourSyncVar(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviorSyncvar"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writegenericnetworkbehaviorsyncvartnetworkwriter-networkbehaviorsyncvart"},"WriteGenericNetworkBehaviorSyncVar","<","T",">","(NetworkWriter, NetworkBehaviorSyncvar","<","T",">",")"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[WeaverSerializeCollection]\npublic static void WriteGenericNetworkBehaviorSyncVar<T>(this NetworkWriter writer, NetworkBehaviorSyncvar<T> id)\n where T : NetworkBehaviour\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviorSyncvar","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null},"id"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readgenericnetworkbehavioursyncvartnetworkreader"},"ReadGenericNetworkBehaviourSyncVar","<","T",">","(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[WeaverSerializeCollection]\npublic static NetworkBehaviorSyncvar<T> ReadGenericNetworkBehaviourSyncVar<T>(this NetworkReader reader)\n where T : NetworkBehaviour\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviorSyncvar","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/30f32373.e66173d7.js b/assets/js/30f32373.e66173d7.js new file mode 100644 index 00000000000..45cd8f897b2 --- /dev/null +++ b/assets/js/30f32373.e66173d7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3802],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>g});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=r.createContext({}),u=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=u(e.components);return r.createElement(s.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=u(n),g=o,m=d["".concat(s,".").concat(g)]||d[g]||c[g]||a;return n?r.createElement(m,l(l({ref:t},p),{},{components:n})):r.createElement(m,l({ref:t},p))}));function g(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,l=new Array(a);l[0]=d;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:o,l[1]=i;for(var u=2;u<a;u++)l[u]=n[u];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}d.displayName="MDXCreateElement"},27364:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>c,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var r=n(87462),o=(n(67294),n(3905));const a={sidebar_position:3,title:"Google Cloud Services"},l="Google Cloud Services",i={unversionedId:"guides/development-servers/google-cloud",id:"guides/development-servers/google-cloud",title:"Google Cloud Services",description:"This guide will explain how to set up a Linux server running on Google Cloud.",source:"@site/docs/guides/development-servers/google-cloud.md",sourceDirName:"guides/development-servers",slug:"/guides/development-servers/google-cloud",permalink:"/Mirage/docs/guides/development-servers/google-cloud",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/development-servers/google-cloud.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Google Cloud Services"},sidebar:"docs",previous:{title:"Amazon Web Services (AWS)",permalink:"/Mirage/docs/guides/development-servers/aws"},next:{title:"State Synchronization",permalink:"/Mirage/docs/guides/sync/"}},s={},u=[{value:"Before you begin",id:"before-you-begin",level:2},{value:"Setting up a new Server",id:"setting-up-a-new-server",level:2},{value:"Configure Firewall",id:"configure-firewall",level:2},{value:"Connect to your new instance",id:"connect-to-your-new-instance",level:2},{value:"Setting up the Linux instance",id:"setting-up-the-linux-instance",level:2},{value:"Build your game",id:"build-your-game",level:2},{value:"Upload and extract your game",id:"upload-and-extract-your-game",level:2},{value:"Run server",id:"run-server",level:2},{value:"Using Screen",id:"using-screen",level:3},{value:"View log files",id:"view-log-files",level:3},{value:"Clean up after tutorial",id:"clean-up-after-tutorial",level:2}],p={toc:u};function c(e){let{components:t,...a}=e;return(0,o.kt)("wrapper",(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"google-cloud-services"},"Google Cloud Services"),(0,o.kt)("p",null,"This guide will explain how to set up a Linux server running on ",(0,o.kt)("a",{parentName:"p",href:"https://cloud.google.com/"},"Google Cloud"),"."),(0,o.kt)("p",null,'Google cloud offers $300 free credits to new users for a limited time, and it also has "Always free products". See ',(0,o.kt)("a",{parentName:"p",href:"https://cloud.google.com/free"},"overview")," and ",(0,o.kt)("a",{parentName:"p",href:"https://cloud.google.com/free/docs/gcp-free-tier"},"docs")," for more information."),(0,o.kt)("h2",{id:"before-you-begin"},"Before you begin"),(0,o.kt)("p",null,"1) In the Cloud Console, on the project selector page, select or create a Cloud project."),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"If you don't plan to keep the resources that you create in this procedure, create a project instead of selecting an existing project. After you finish these steps, you can delete the project, removing all resources associated with the project.")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("a",{parentName:"strong",href:"https://console.cloud.google.com/projectselector2/home/dashboard"},"Go to the project selector page"))),(0,o.kt)("p",null,"2) You may need to enable billing for your Google Cloud project. If you have free credits (see above) then these will be used first. ",(0,o.kt)("a",{parentName:"p",href:"https://cloud.google.com/billing/docs/how-to/modify-project"},"Learn how to confirm billing is enabled for your project.")),(0,o.kt)("h2",{id:"setting-up-a-new-server"},"Setting up a new Server"),(0,o.kt)("p",null,"Start by creating and configuring a new Compute Engine instance."),(0,o.kt)("p",null,"1) In the Cloud Console, go to the VM instances page:"),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("a",{parentName:"strong",href:"https://console.cloud.google.com/compute/instances"},"Go to the VM instances page"))),(0,o.kt)("p",null,"If this is your first instance you will see a dialog prompting you to create a new virtual machine"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"create new",src:n(45963).Z,width:"426",height:"253"})),(0,o.kt)("p",null,"2) Click Create to get started."),(0,o.kt)("p",null,"3) On the Create an instance page, configure your instance as follows:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"- Name your instance. This tutorial uses the instance name `mirror-instance-demo` throughout.\n- Select the region and zone in which you want your instance to be hosted. This tutorial uses the region `us-central1 (Iowa)` and the zone `us-central1-a` throughout.\n- Machine configuration depends on the size of your game. For a simple example, we can use a small server.\n - select `N1` for series\n - select `f1-micro` for machine type\n- In the Boot disk section, click Change. The Boot disk dialog will pop up.\n- Change the disk type to SSD Persistent Disk.\n")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"create an instance with name and region",src:n(6090).Z,width:"467",height:"529"})),(0,o.kt)("p",null,"4) Boot disk can be left as default ",(0,o.kt)("inlineCode",{parentName:"p"},"10gb standard persistent disk")," with ",(0,o.kt)("inlineCode",{parentName:"p"},"Debian GNU/Linux 9 (stretch)")," for this tutorial."),(0,o.kt)("p",null,"You may want to change it to best fit your needs. You can instead use an SSD or increase its size, however, this will increase the monthly cost. "),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Boot disk",src:n(2333).Z,width:"471",height:"114"})),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"The monthly estimate should be shown at the top right next to ",(0,o.kt)("inlineCode",{parentName:"p"},"Name"),".")),(0,o.kt)("p",null,"5) To configure Network settings first example the ",(0,o.kt)("inlineCode",{parentName:"p"},"Management, security, disks, networking, solo tenancy")," section, then click on the ",(0,o.kt)("inlineCode",{parentName:"p"},"Networking")," tab."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"expand network settings",src:n(54250).Z,width:"566",height:"266"})),(0,o.kt)("p",null,"6) Set a Network tag, this will allow you to set up firewall rules later on."),(0,o.kt)("p",null,"This tutorial use ",(0,o.kt)("inlineCode",{parentName:"p"},"mirror-demo")," as the tag"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"set network tag",src:n(60097).Z,width:"466",height:"108"})),(0,o.kt)("p",null,"7) Set up a static IP address for your instance"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"a) Under **Network interfaces** click on `default` and it will bring up a config menu\n\nb) Select the **External IP** dropdown and select `Create IP address`\n\nc) Enter a name for this IP and press **Reserve**. For this tutorial, we will use `mirror-demo-ip`\n")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"reserve ip address",src:n(98040).Z,width:"512",height:"340"})),(0,o.kt)("p",null,"8) Create your instance. "),(0,o.kt)("p",null,"Press the ",(0,o.kt)("strong",{parentName:"p"},"Create")," button at the bottom of the page to finish set-up and create your instance"),(0,o.kt)("h2",{id:"configure-firewall"},"Configure Firewall"),(0,o.kt)("p",null,"This will allow other people to connect to your server using its IP and port"),(0,o.kt)("p",null,"1) In the Cloud Console, go to the Firewall page."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("a",{parentName:"strong",href:"https://console.cloud.google.com/networking/firewalls/list"},"Go to the Firewall page"))),(0,o.kt)("p",null,"2) Click Create firewall rule."),(0,o.kt)("p",null,"3) On the Create a firewall rule page, fill out the form as follows:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"- Name: `mirror-demo-rule`\n- Target tags: `mirror-demo`\n- Source filter: IP ranges\n- Source IP ranges: 0.0.0.0/0\n- Protocols or ports: Select UDP, and then enter port 7777 into the field provided.\n")),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"UDP and port 7777 are the default settings for the socket, if you are using a different socket you will need to find out what settings that uses.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Create network rule",src:n(48158).Z,width:"546",height:"548"})),(0,o.kt)("p",null,"4) Press ",(0,o.kt)("strong",{parentName:"p"},"Create")," to confirm the setting and create the rule."),(0,o.kt)("h2",{id:"connect-to-your-new-instance"},"Connect to your new instance"),(0,o.kt)("p",null,"Once your instance has finished being created you can press the ",(0,o.kt)("strong",{parentName:"p"},"SSH")," button to connect to your instance in your web browser"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"connect to instance",src:n(54107).Z,width:"964",height:"100"})),(0,o.kt)("h2",{id:"setting-up-the-linux-instance"},"Setting up the Linux instance"),(0,o.kt)("p",null,"When you first connect you will need to set up a few things"),(0,o.kt)("p",null,"1) First, update the list of packages"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"sudo apt-get update\n")),(0,o.kt)("p",null,"2) Install ",(0,o.kt)("inlineCode",{parentName:"p"},"screen")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"unzip")," "),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"sudo apt-get install -y screen unzip\n")),(0,o.kt)("p",null,(0,o.kt)("inlineCode",{parentName:"p"},"screen")," allows you to have multiple terminals, allows you to do other stuff while your game is running"),(0,o.kt)("p",null,(0,o.kt)("inlineCode",{parentName:"p"},"unzip")," unzips can be used to extract files from a ZIP file after you upload it to the instance "),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"update and install packages",src:n(71149).Z,width:"782",height:"488"})),(0,o.kt)("h2",{id:"build-your-game"},"Build your game"),(0,o.kt)("p",null,"Build your game with Target Platform ",(0,o.kt)("inlineCode",{parentName:"p"},"Linux")," and ",(0,o.kt)("strong",{parentName:"p"},"Server Build")," ticked"),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Server build",src:n(99818).Z,width:"358",height:"353"})),(0,o.kt)("h2",{id:"upload-and-extract-your-game"},"Upload and extract your game"),(0,o.kt)("p",null,"Once you have built your game zip the folder so that you can upload it to your server."),(0,o.kt)("p",null,"In the SSH connection window click on the settings cogwheel and select ",(0,o.kt)("strong",{parentName:"p"},"Upload File")," then find and select your zipped build folder."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Upload a file",src:n(37173).Z,width:"376",height:"445"})),(0,o.kt)("p",null,"This should upload the game folder to the home directory."),(0,o.kt)("p",null,"If you need to go to the home directory you can use: "),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"cd ~\n")),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"The destination will be ",(0,o.kt)("inlineCode",{parentName:"p"},"/home/username")," where the username should be the cloud account you are logged into. ")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Uploading",src:n(61497).Z,width:"502",height:"248"})),(0,o.kt)("p",null,"Once your file has finished the upload you can extract the files"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"unzip ./mirror-demo.zip \n")),(0,o.kt)("h2",{id:"run-server"},"Run server"),(0,o.kt)("p",null,"1) Move into the game folder"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"cd mirror-demo\n")),(0,o.kt)("p",null,"2) Mark game as executable"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"chmod +x ./mirror-demo.x86_64 \n")),(0,o.kt)("p",null,"You should now be able to run your game server!"),(0,o.kt)("p",null,"The following is optional but will most likely be useful"),(0,o.kt)("p",null,"3) Start your server in a detached screen"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"screen -d -m -S mirrorServer ./mirror-demo.x86_64 -logfile ~/server.log\n")),(0,o.kt)("p",null,"The parts of the command above:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"screen -d -m")," will create the new terminal in detached mode"),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"-S mirrorServer")," name of the screen"),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"./mirror-demo.x86_64")," your game server file"),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("inlineCode",{parentName:"li"},"-logfile ~/server.log")," unity argument for log file location, this will create a log file in the home directory")),(0,o.kt)("p",null,"4) Create a start file so you can start your server the same way each time"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},'a) create `start.sh`\n```\necho "screen -d -m -S mirrorServer ./mirror-demo.x86_64 -logfile ~/server.log" > ./start.sh\n```\n\nb) mark as executable\n```sh\nchmod +x ./start.sh \n```\n')),(0,o.kt)("p",null,"5) Run your server"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"./start.sh\n")),(0,o.kt)("h3",{id:"using-screen"},"Using Screen"),(0,o.kt)("p",null,"Here are a few useful commands for using ",(0,o.kt)("inlineCode",{parentName:"p"},"screen")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"List active screens")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"screen -ls\n")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Attach to existing screen, ",(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},"process-id is shown when calling ",(0,o.kt)("inlineCode",{parentName:"li"},"screen -ls")),(0,o.kt)("li",{parentName:"ul"},"screen name is given by ",(0,o.kt)("inlineCode",{parentName:"li"},"-S")," when creating the screen, for this tutorial it was ",(0,o.kt)("inlineCode",{parentName:"li"},"mirrorServer"))))),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"screen -r <process-id | screen name>\n")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Detach from screen press ",(0,o.kt)("inlineCode",{parentName:"p"},"CTRL A + D"))),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Stop your game"))),(0,o.kt)("p",null,"Once attached to a screen you can press ",(0,o.kt)("inlineCode",{parentName:"p"},"CTRL + C")," to stop the process, this will stop your game and close the screen"),(0,o.kt)("h3",{id:"view-log-files"},"View log files"),(0,o.kt)("p",null,"You can use the ",(0,o.kt)("inlineCode",{parentName:"p"},"-logfile ~/path/to/log.log")," argument for Unity when starting your game server. This will cause the logs to be written to a file instead of to the terminal. This will means recent logs won't show up in ",(0,o.kt)("inlineCode",{parentName:"p"},"screen -r"),"."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"you can use the ",(0,o.kt)("inlineCode",{parentName:"li"},"tail")," command to view the end of the log file")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"tail -n 50 ./server.log \n")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"you can use the ",(0,o.kt)("inlineCode",{parentName:"p"},"-n")," argument to set how many lines to show")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"you can use the ",(0,o.kt)("inlineCode",{parentName:"p"},"-f")," argument to follow the end of the file stream showing you any new logs that are written to the file in real-time. You will need to press ",(0,o.kt)("inlineCode",{parentName:"p"},"CTRL + C")," to exit follow mode"))),(0,o.kt)("h2",{id:"clean-up-after-tutorial"},"Clean up after tutorial"),(0,o.kt)("p",null,"If you used an existing project you will need to delete the following:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"VM instance"),(0,o.kt)("li",{parentName:"ul"},"Firewall rule")),(0,o.kt)("p",null,"If you have created a new project you should be able to just delete the project. "),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("a",{parentName:"strong",href:"https://console.cloud.google.com/iam-admin/projects"},"Go to the Manage resources page"))))}c.isMDXComponent=!0},45963:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/01-vm-instances-f04cfc389ac0cd091a36c344d72052c3.jpg"},6090:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/02-create-instance-name-region-1a9a194e495dae4228651d692916a311.jpg"},2333:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/03-boot-disk-cdc0f9bf7c20db72e5391ddcbc4d50b3.jpg"},54250:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/04-expand-network-settings-114bbc9972f79742a3377cb31397ee67.jpg"},60097:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/05-network-tag-844c59b477798ac1d38e2d9e6b0cdd07.jpg"},98040:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/06-ip-address-1939139b8401b013717fbe27c606447f.jpg"},48158:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/07-create-network-rule-34857b420bc044c8b0963d99753cebc1.jpg"},54107:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/08-connect-to-instance-45c03c498f3bc07e7161fdb0bc21c962.jpg"},71149:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/09-update-and-install-d0038402bf2cc3a9d70b805948db18dd.jpg"},99818:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/10-server-build-6628047e2d1d1a57cc5675b1ce8d82b7.jpg"},37173:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/11-upload-a-file-02f9fbfadcee90707b600f6c614f409e.jpg"},61497:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/12-uploading-a5b39c443d08903e8ab3d19aebd422fa.jpg"}}]); \ No newline at end of file diff --git a/assets/js/323840ef.8532d5fd.js b/assets/js/323840ef.8532d5fd.js new file mode 100644 index 00000000000..67449d02eb9 --- /dev/null +++ b/assets/js/323840ef.8532d5fd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5159],{3905:(e,a,t)=>{t.d(a,{Zo:()=>c,kt:()=>m});var n=t(67294);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function l(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function d(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?l(Object(t),!0).forEach((function(a){r(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function p(e,a){if(null==e)return{};var t,n,r=function(e,a){if(null==e)return{};var t,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)t=l[n],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)t=l[n],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var i=n.createContext({}),s=function(e){var a=n.useContext(i),t=a;return e&&(t="function"==typeof e?e(a):d(d({},a),e)),t},c=function(e){var a=s(e.components);return n.createElement(i.Provider,{value:a},e.children)},u={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},o=n.forwardRef((function(e,a){var t=e.components,r=e.mdxType,l=e.originalType,i=e.parentName,c=p(e,["components","mdxType","originalType","parentName"]),o=s(t),m=r,k=o["".concat(i,".").concat(m)]||o[m]||u[m]||l;return t?n.createElement(k,d(d({ref:a},c),{},{components:t})):n.createElement(k,d({ref:a},c))}));function m(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var l=t.length,d=new Array(l);d[0]=o;var p={};for(var i in a)hasOwnProperty.call(a,i)&&(p[i]=a[i]);p.originalType=e,p.mdxType="string"==typeof e?e:r,d[1]=p;for(var s=2;s<l;s++)d[s]=t[s];return n.createElement.apply(null,d)}return n.createElement.apply(null,t)}o.displayName="MDXCreateElement"},19892:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>i,contentTitle:()=>d,default:()=>u,frontMatter:()=>l,metadata:()=>p,toc:()=>s});var n=t(87462),r=(t(67294),t(3905));const l={id:"SpawnHandler",title:"SpawnHandler"},d="Class SpawnHandler",p={unversionedId:"reference/Mirage/SpawnHandler",id:"reference/Mirage/SpawnHandler",title:"SpawnHandler",description:"Inheritance",source:"@site/docs/reference/Mirage/SpawnHandler.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SpawnHandler",permalink:"/Mirage/docs/reference/Mirage/SpawnHandler",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SpawnHandler.md",tags:[],version:"current",frontMatter:{id:"SpawnHandler",title:"SpawnHandler"},sidebar:"api",previous:{title:"SpawnEvent",permalink:"/Mirage/docs/reference/Mirage/SpawnEvent"},next:{title:"SpawnHandlerAsyncDelegate",permalink:"/Mirage/docs/reference/Mirage/SpawnHandlerAsyncDelegate"}},i={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"SpawnHandler(NetworkIdentity)",id:"spawnhandlernetworkidentity",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"SpawnHandler(SpawnHandlerDelegate, UnSpawnDelegate)",id:"spawnhandlerspawnhandlerdelegate-unspawndelegate",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"SpawnHandler(NetworkIdentity, SpawnHandlerDelegate, UnSpawnDelegate)",id:"spawnhandlernetworkidentity-spawnhandlerdelegate-unspawndelegate",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"SpawnHandler(SpawnHandlerAsyncDelegate, UnSpawnDelegate)",id:"spawnhandlerspawnhandlerasyncdelegate-unspawndelegate",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"SpawnHandler(NetworkIdentity, SpawnHandlerAsyncDelegate, UnSpawnDelegate)",id:"spawnhandlernetworkidentity-spawnhandlerasyncdelegate-unspawndelegate",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Fields",id:"fields",level:3},{value:"Prefab",id:"prefab",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Handler",id:"handler",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"HandlerAsync",id:"handlerasync",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Properties",id:"properties",level:3},{value:"UnspawnHandler",id:"unspawnhandler",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Methods",id:"methods",level:3},{value:"AddUnspawnHandler(UnSpawnDelegate)",id:"addunspawnhandlerunspawndelegate",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"IsAsyncSpawn()",id:"isasyncspawn",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Returns",id:"returns",level:5}],c={toc:s};function u(e){let{components:a,...t}=e;return(0,r.kt)("wrapper",(0,n.Z)({},c,t,{components:a,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-spawnhandler"},"Class SpawnHandler"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class SpawnHandler\n")),(0,r.kt)("h3",{id:"constructors"},"Constructors"),(0,r.kt)("h4",{id:"spawnhandlernetworkidentity"},"SpawnHandler(NetworkIdentity)"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SpawnHandler(NetworkIdentity prefab)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,r.kt)("td",{parentName:"tr",align:null},"prefab"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"spawnhandlerspawnhandlerdelegate-unspawndelegate"},"SpawnHandler(SpawnHandlerDelegate, UnSpawnDelegate)"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SpawnHandler(SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SpawnHandlerDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"spawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.UnSpawnDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"unspawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"spawnhandlernetworkidentity-spawnhandlerdelegate-unspawndelegate"},"SpawnHandler(NetworkIdentity, SpawnHandlerDelegate, UnSpawnDelegate)"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SpawnHandler(NetworkIdentity prefab, SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,r.kt)("td",{parentName:"tr",align:null},"prefab"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SpawnHandlerDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"spawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.UnSpawnDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"unspawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"spawnhandlerspawnhandlerasyncdelegate-unspawndelegate"},"SpawnHandler(SpawnHandlerAsyncDelegate, UnSpawnDelegate)"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SpawnHandler(SpawnHandlerAsyncDelegate spawnHandlerAsync, UnSpawnDelegate unspawnHandler)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SpawnHandlerAsyncDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"spawnHandlerAsync"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.UnSpawnDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"unspawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"spawnhandlernetworkidentity-spawnhandlerasyncdelegate-unspawndelegate"},"SpawnHandler(NetworkIdentity, SpawnHandlerAsyncDelegate, UnSpawnDelegate)"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SpawnHandler(NetworkIdentity prefab, SpawnHandlerAsyncDelegate spawnHandlerAsync, UnSpawnDelegate unspawnHandler)\n")),(0,r.kt)("h5",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,r.kt)("td",{parentName:"tr",align:null},"prefab"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SpawnHandlerAsyncDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"spawnHandlerAsync"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.UnSpawnDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"unspawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"prefab"},"Prefab"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly NetworkIdentity Prefab\n")),(0,r.kt)("h4",{id:"handler"},"Handler"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly SpawnHandlerDelegate Handler\n")),(0,r.kt)("h4",{id:"handlerasync"},"HandlerAsync"),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly SpawnHandlerAsyncDelegate HandlerAsync\n")),(0,r.kt)("h3",{id:"properties"},"Properties"),(0,r.kt)("h4",{id:"unspawnhandler"},"UnspawnHandler"),(0,r.kt)("h5",{id:"declaration-8"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public UnSpawnDelegate UnspawnHandler { get; }\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"addunspawnhandlerunspawndelegate"},"AddUnspawnHandler(UnSpawnDelegate)"),(0,r.kt)("h5",{id:"declaration-9"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void AddUnspawnHandler(UnSpawnDelegate unspawnHandler)\n")),(0,r.kt)("h5",{id:"parameters-5"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.UnSpawnDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"unspawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"isasyncspawn"},"IsAsyncSpawn()"),(0,r.kt)("h5",{id:"declaration-10"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsAsyncSpawn()\n")),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/32aad382.3f9f7692.js b/assets/js/32aad382.3f9f7692.js new file mode 100644 index 00000000000..1884db517b5 --- /dev/null +++ b/assets/js/32aad382.3f9f7692.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7218],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>b});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var u=n.createContext({}),c=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},s=function(e){var t=c(e.components);return n.createElement(u.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,u=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),d=c(r),b=i,m=d["".concat(u,".").concat(b)]||d[b]||p[b]||a;return r?n.createElement(m,l(l({ref:t},s),{},{components:r})):n.createElement(m,l({ref:t},s))}));function b(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,l=new Array(a);l[0]=d;var o={};for(var u in t)hasOwnProperty.call(t,u)&&(o[u]=t[u]);o.originalType=e,o.mdxType="string"==typeof e?e:i,l[1]=o;for(var c=2;c<a;c++)l[c]=r[c];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},98912:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>l,default:()=>p,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var n=r(87462),i=(r(67294),r(3905));const a={id:"BitCountAttribute",title:"BitCountAttribute"},l="Class BitCountAttribute",o={unversionedId:"reference/Mirage.Serialization/BitCountAttribute",id:"reference/Mirage.Serialization/BitCountAttribute",title:"BitCountAttribute",description:"Tells weaver how many bits to sue for field",source:"@site/docs/reference/Mirage.Serialization/BitCountAttribute.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/BitCountAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/BitCountAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/BitCountAttribute.md",tags:[],version:"current",frontMatter:{id:"BitCountAttribute",title:"BitCountAttribute"},sidebar:"api",previous:{title:"AnglePacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/AnglePacker"},next:{title:"BitCountFromRangeAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/BitCountFromRangeAttribute"}},u={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"BitCountAttribute(Int32)",id:"bitcountattributeint32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5}],s={toc:c};function p(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-bitcountattribute"},"Class BitCountAttribute"),(0,i.kt)("p",null,"Tells weaver how many bits to sue for field\nOnly works with integer fields (byte, int, ulong, enums etc)"),(0,i.kt)("p",null,"NOTE: bits are truncated when using this, so signed values will lose their sign. Use as well if value might be negative"),(0,i.kt)("p",null,"Also See: Bit Packing Documentation"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,i.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter)]\npublic class BitCountAttribute : Attribute, _Attribute\n")),(0,i.kt)("h3",{id:"constructors"},"Constructors"),(0,i.kt)("h4",{id:"bitcountattributeint32"},"BitCountAttribute(Int32)"),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public BitCountAttribute(int bitCount)\n")),(0,i.kt)("h5",{id:"parameters"},"Parameters"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Name"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,i.kt)("td",{parentName:"tr",align:null},"bitCount"),(0,i.kt)("td",{parentName:"tr",align:null},"Value should be between 1 and 64")))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3343.5fa8a349.js b/assets/js/3343.5fa8a349.js new file mode 100644 index 00000000000..cbdd7d1a7f6 --- /dev/null +++ b/assets/js/3343.5fa8a349.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3343],{53343:(e,s,c)=>{c.r(s)}}]); \ No newline at end of file diff --git a/assets/js/3394a2aa.ae9d7319.js b/assets/js/3394a2aa.ae9d7319.js new file mode 100644 index 00000000000..a01632fa25f --- /dev/null +++ b/assets/js/3394a2aa.ae9d7319.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6001],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),o=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},d=function(e){var t=o(e.components);return a.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=o(r),m=n,g=u["".concat(c,".").concat(m)]||u[m]||p[m]||i;return r?a.createElement(g,l(l({ref:t},d),{},{components:r})):a.createElement(g,l({ref:t},d))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,l=new Array(i);l[0]=u;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:n,l[1]=s;for(var o=2;o<i;o++)l[o]=r[o];return a.createElement.apply(null,l)}return a.createElement.apply(null,r)}u.displayName="MDXCreateElement"},80502:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>o});var a=r(87462),n=(r(67294),r(3905));const i={id:"MessageIdCache-1",title:"MessageIdCache<T>"},l="Class MessageIdCache<T>",s={unversionedId:"reference/Mirage.Serialization/MessageIdCache-1",id:"reference/Mirage.Serialization/MessageIdCache-1",title:"MessageIdCache<T>",description:"Class that will cache the ID for type T",source:"@site/docs/reference/Mirage.Serialization/MessageIdCache-1.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/MessageIdCache-1",permalink:"/Mirage/docs/reference/Mirage.Serialization/MessageIdCache-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/MessageIdCache-1.md",tags:[],version:"current",frontMatter:{id:"MessageIdCache-1",title:"MessageIdCache<T>"},sidebar:"api",previous:{title:"GenericTypesSerializationExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/GenericTypesSerializationExtensions"},next:{title:"MessagePacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/MessagePacker"}},c={},o=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"Id",id:"id",level:4},{value:"Declaration",id:"declaration",level:5}],d={toc:o};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-messageidcachet"},"Class MessageIdCache","<","T",">"),(0,n.kt)("p",null,"Class that will cache the ID for type T\navoids needing to calculate the stable hash of the full name each time a message is sent"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class MessageIdCache<T>\n")),(0,n.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"id"},"Id"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static readonly int Id\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/33ee75c3.b486390c.js b/assets/js/33ee75c3.b486390c.js new file mode 100644 index 00000000000..e4d3170ea30 --- /dev/null +++ b/assets/js/33ee75c3.b486390c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7193],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),d=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=d(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},s=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),s=d(r),m=a,y=s["".concat(c,".").concat(m)]||s[m]||p[m]||i;return r?n.createElement(y,o(o({ref:t},u),{},{components:r})):n.createElement(y,o({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=s;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:a,o[1]=l;for(var d=2;d<i;d++)o[d]=r[d];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}s.displayName="MDXCreateElement"},3389:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var n=r(87462),a=(r(67294),r(3905));const i={id:"IObjectLocator",title:"IObjectLocator"},o="Interface IObjectLocator",l={unversionedId:"reference/Mirage/IObjectLocator",id:"reference/Mirage/IObjectLocator",title:"IObjectLocator",description:"An object that implements this interface can find objects by their net id",source:"@site/docs/reference/Mirage/IObjectLocator.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/IObjectLocator",permalink:"/Mirage/docs/reference/Mirage/IObjectLocator",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/IObjectLocator.md",tags:[],version:"current",frontMatter:{id:"IObjectLocator",title:"IObjectLocator"},sidebar:"api",previous:{title:"INetworkVisibility",permalink:"/Mirage/docs/reference/Mirage/INetworkVisibility"},next:{title:"IObjectOwner",permalink:"/Mirage/docs/reference/Mirage/IObjectOwner"}},c={},d=[{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"TryGetIdentity(UInt32, out NetworkIdentity)",id:"trygetidentityuint32-out-networkidentity",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5}],u={toc:d};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"interface-iobjectlocator"},"Interface IObjectLocator"),(0,a.kt)("p",null,"An object that implements this interface can find objects by their net id\nThis is used by readers when trying to deserialize gameobjects"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IObjectLocator\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"trygetidentityuint32-out-networkidentity"},"TryGetIdentity(UInt32, out NetworkIdentity)"),(0,a.kt)("p",null,"Finds a network identity by id"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"bool TryGetIdentity(uint netId, out NetworkIdentity identity)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,a.kt)("td",{parentName:"tr",align:null},"netId"),(0,a.kt)("td",{parentName:"tr",align:null},"the id of the object to find")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,a.kt)("td",{parentName:"tr",align:null},"identity"),(0,a.kt)("td",{parentName:"tr",align:null},"The NetworkIdentity matching the netId or null if none is found")))),(0,a.kt)("h5",{id:"returns"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,a.kt)("td",{parentName:"tr",align:null},"true if identity is found and is not null")))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/34280bbd.39b87eab.js b/assets/js/34280bbd.39b87eab.js new file mode 100644 index 00000000000..3b3856a6828 --- /dev/null +++ b/assets/js/34280bbd.39b87eab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1540],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>u});var n=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(null==e)return{};var a,n,l=function(e,t){if(null==e)return{};var a,n,l={},r=Object.keys(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var p=n.createContext({}),o=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},m=function(e){var t=o(e.components);return n.createElement(p.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},k=n.forwardRef((function(e,t){var a=e.components,l=e.mdxType,r=e.originalType,p=e.parentName,m=d(e,["components","mdxType","originalType","parentName"]),k=o(a),u=l,s=k["".concat(p,".").concat(u)]||k[u]||c[u]||r;return a?n.createElement(s,i(i({ref:t},m),{},{components:a})):n.createElement(s,i({ref:t},m))}));function u(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=a.length,i=new Array(r);i[0]=k;var d={};for(var p in t)hasOwnProperty.call(t,p)&&(d[p]=t[p]);d.originalType=e,d.mdxType="string"==typeof e?e:l,i[1]=d;for(var o=2;o<r;o++)i[o]=a[o];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}k.displayName="MDXCreateElement"},79865:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>c,frontMatter:()=>r,metadata:()=>d,toc:()=>o});var n=a(87462),l=(a(67294),a(3905));const r={id:"PipePeerConnection",title:"PipePeerConnection"},i="Class PipePeerConnection",d={unversionedId:"reference/Mirage/PipePeerConnection",id:"reference/Mirage/PipePeerConnection",title:"PipePeerConnection",description:"A that is directly sends data to a",source:"@site/docs/reference/Mirage/PipePeerConnection.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/PipePeerConnection",permalink:"/Mirage/docs/reference/Mirage/PipePeerConnection",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/PipePeerConnection.md",tags:[],version:"current",frontMatter:{id:"PipePeerConnection",title:"PipePeerConnection"},sidebar:"api",previous:{title:"PipePeerConnection.PipeEndPoint",permalink:"/Mirage/docs/reference/Mirage/PipePeerConnection.PipeEndPoint"},next:{title:"PlayerSceneChangeEvent",permalink:"/Mirage/docs/reference/Mirage/PlayerSceneChangeEvent"}},p={},o=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"IConnection.EndPoint",id:"iconnectionendpoint",level:4},{value:"Declaration",id:"declaration",level:5},{value:"State",id:"state",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Methods",id:"methods",level:3},{value:"Create(IDataHandler, IDataHandler, Action, Action)",id:"createidatahandler-idatahandler-action-action",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"ToString()",id:"tostring",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Returns",id:"returns-1",level:5},{value:"IConnection.FlushBatch()",id:"iconnectionflushbatch",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"IConnection.Disconnect()",id:"iconnectiondisconnect",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"SendNotify(Byte[], Int32, Int32)",id:"sendnotifybyte-int32-int32",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-2",level:5},{value:"SendNotify(ArraySegment<Byte>)",id:"sendnotifyarraysegmentbyte",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-3",level:5},{value:"SendNotify(Byte[])",id:"sendnotifybyte",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-4",level:5},{value:"SendNotify(Byte[], Int32, Int32, INotifyCallBack)",id:"sendnotifybyte-int32-int32-inotifycallback",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"SendNotify(ArraySegment<Byte>, INotifyCallBack)",id:"sendnotifyarraysegmentbyte-inotifycallback",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"SendNotify(Byte[], INotifyCallBack)",id:"sendnotifybyte-inotifycallback",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"SendReliable(Byte[], Int32, Int32)",id:"sendreliablebyte-int32-int32",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"SendReliable(ArraySegment<Byte>)",id:"sendreliablearraysegmentbyte",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"SendReliable(Byte[])",id:"sendreliablebyte",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"SendUnreliable(Byte[], Int32, Int32)",id:"sendunreliablebyte-int32-int32",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Parameters",id:"parameters-10",level:5},{value:"SendUnreliable(ArraySegment<Byte>)",id:"sendunreliablearraysegmentbyte",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Parameters",id:"parameters-11",level:5},{value:"SendUnreliable(Byte[])",id:"sendunreliablebyte",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Parameters",id:"parameters-12",level:5}],m={toc:o};function c(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,n.Z)({},m,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-pipepeerconnection"},"Class PipePeerConnection"),(0,l.kt)("p",null,"A that is directly sends data to a "),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,l.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Show")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public class PipePeerConnection : IConnection\n")),(0,l.kt)("h3",{id:"properties"},"Properties"),(0,l.kt)("h4",{id:"iconnectionendpoint"},"IConnection.EndPoint"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"IEndPoint IConnection.EndPoint { get; }\n")),(0,l.kt)("h4",{id:"state"},"State"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public ConnectionState State { get; }\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"createidatahandler-idatahandler-action-action"},"Create(IDataHandler, IDataHandler, Action, Action)"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static (IConnection clientConn, IConnection serverConn) Create(IDataHandler clientHandler, IDataHandler serverHandler, Action clientOnDisconnect, Action serverOnDisconnect)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IDataHandler"),(0,l.kt)("td",{parentName:"tr",align:null},"clientHandler"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IDataHandler"),(0,l.kt)("td",{parentName:"tr",align:null},"serverHandler"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Action"),(0,l.kt)("td",{parentName:"tr",align:null},"clientOnDisconnect"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Action"),(0,l.kt)("td",{parentName:"tr",align:null},"serverOnDisconnect"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.ValueTuple{Mirage.SocketLayer.IConnection,Mirage.SocketLayer.IConnection}"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"tostring"},"ToString()"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public override string ToString()\n")),(0,l.kt)("h5",{id:"returns-1"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.String"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"iconnectionflushbatch"},"IConnection.FlushBatch()"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"void IConnection.FlushBatch()\n")),(0,l.kt)("h4",{id:"iconnectiondisconnect"},"IConnection.Disconnect()"),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"void IConnection.Disconnect()\n")),(0,l.kt)("h4",{id:"sendnotifybyte-int32-int32"},"SendNotify(Byte[], Int32, Int32)"),(0,l.kt)("h5",{id:"declaration-6"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public INotifyToken SendNotify(byte[] packet, int offset, int length)\n")),(0,l.kt)("h5",{id:"parameters-1"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"packet"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"offset"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"length"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-2"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyToken"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"sendnotifyarraysegmentbyte"},"SendNotify(ArraySegment","<","Byte",">",")"),(0,l.kt)("h5",{id:"declaration-7"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public INotifyToken SendNotify(ArraySegment<byte> packet)\n")),(0,l.kt)("h5",{id:"parameters-2"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,l.kt)("td",{parentName:"tr",align:null},"packet"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-3"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyToken"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"sendnotifybyte"},"SendNotify(Byte[])"),(0,l.kt)("h5",{id:"declaration-8"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public INotifyToken SendNotify(byte[] packet)\n")),(0,l.kt)("h5",{id:"parameters-3"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"packet"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-4"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyToken"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"sendnotifybyte-int32-int32-inotifycallback"},"SendNotify(Byte[], Int32, Int32, INotifyCallBack)"),(0,l.kt)("h5",{id:"declaration-9"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendNotify(byte[] packet, int offset, int length, INotifyCallBack callBacks)\n")),(0,l.kt)("h5",{id:"parameters-4"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"packet"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"offset"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"length"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyCallBack"),(0,l.kt)("td",{parentName:"tr",align:null},"callBacks"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"sendnotifyarraysegmentbyte-inotifycallback"},"SendNotify(ArraySegment","<","Byte",">",", INotifyCallBack)"),(0,l.kt)("h5",{id:"declaration-10"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendNotify(ArraySegment<byte> packet, INotifyCallBack callBacks)\n")),(0,l.kt)("h5",{id:"parameters-5"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,l.kt)("td",{parentName:"tr",align:null},"packet"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyCallBack"),(0,l.kt)("td",{parentName:"tr",align:null},"callBacks"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"sendnotifybyte-inotifycallback"},"SendNotify(Byte[], INotifyCallBack)"),(0,l.kt)("h5",{id:"declaration-11"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendNotify(byte[] packet, INotifyCallBack callBacks)\n")),(0,l.kt)("h5",{id:"parameters-6"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"packet"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyCallBack"),(0,l.kt)("td",{parentName:"tr",align:null},"callBacks"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"sendreliablebyte-int32-int32"},"SendReliable(Byte[], Int32, Int32)"),(0,l.kt)("h5",{id:"declaration-12"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendReliable(byte[] message, int offset, int length)\n")),(0,l.kt)("h5",{id:"parameters-7"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"message"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"offset"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"length"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"sendreliablearraysegmentbyte"},"SendReliable(ArraySegment","<","Byte",">",")"),(0,l.kt)("h5",{id:"declaration-13"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendReliable(ArraySegment<byte> message)\n")),(0,l.kt)("h5",{id:"parameters-8"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,l.kt)("td",{parentName:"tr",align:null},"message"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"sendreliablebyte"},"SendReliable(Byte[])"),(0,l.kt)("h5",{id:"declaration-14"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendReliable(byte[] message)\n")),(0,l.kt)("h5",{id:"parameters-9"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"message"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"sendunreliablebyte-int32-int32"},"SendUnreliable(Byte[], Int32, Int32)"),(0,l.kt)("h5",{id:"declaration-15"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendUnreliable(byte[] packet, int offset, int length)\n")),(0,l.kt)("h5",{id:"parameters-10"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"packet"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"offset"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"length"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"sendunreliablearraysegmentbyte"},"SendUnreliable(ArraySegment","<","Byte",">",")"),(0,l.kt)("h5",{id:"declaration-16"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendUnreliable(ArraySegment<byte> packet)\n")),(0,l.kt)("h5",{id:"parameters-11"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,l.kt)("td",{parentName:"tr",align:null},"packet"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"sendunreliablebyte"},"SendUnreliable(Byte[])"),(0,l.kt)("h5",{id:"declaration-17"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendUnreliable(byte[] packet)\n")),(0,l.kt)("h5",{id:"parameters-12"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"packet"),(0,l.kt)("td",{parentName:"tr",align:null})))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/34ea7f48.a06c01a6.js b/assets/js/34ea7f48.a06c01a6.js new file mode 100644 index 00000000000..df429138d16 --- /dev/null +++ b/assets/js/34ea7f48.a06c01a6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4321],{3905:(e,r,t)=>{t.d(r,{Zo:()=>u,kt:()=>d});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function l(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=n.createContext({}),s=function(e){var r=n.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},u=function(e){var r=s(e.components);return n.createElement(c.Provider,{value:r},e.children)},p={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},g=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),g=s(t),d=a,f=g["".concat(c,".").concat(d)]||g[d]||p[d]||o;return t?n.createElement(f,i(i({ref:r},u),{},{components:t})):n.createElement(f,i({ref:r},u))}));function d(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=g;var l={};for(var c in r)hasOwnProperty.call(r,c)&&(l[c]=r[c]);l.originalType=e,l.mdxType="string"==typeof e?e:a,i[1]=l;for(var s=2;s<o;s++)i[s]=t[s];return n.createElement.apply(null,i)}return n.createElement.apply(null,t)}g.displayName="MDXCreateElement"},65527:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>l,toc:()=>s});var n=t(87462),a=(t(67294),t(3905));const o={id:"NetworkPongMessage",title:"NetworkPongMessage"},i="Struct NetworkPongMessage",l={unversionedId:"reference/Mirage/NetworkPongMessage",id:"reference/Mirage/NetworkPongMessage",title:"NetworkPongMessage",description:"Syntax",source:"@site/docs/reference/Mirage/NetworkPongMessage.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkPongMessage",permalink:"/Mirage/docs/reference/Mirage/NetworkPongMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkPongMessage.md",tags:[],version:"current",frontMatter:{id:"NetworkPongMessage",title:"NetworkPongMessage"},sidebar:"api",previous:{title:"NetworkPlayer",permalink:"/Mirage/docs/reference/Mirage/NetworkPlayer"},next:{title:"NetworkPrefabs",permalink:"/Mirage/docs/reference/Mirage/NetworkPrefabs"}},c={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"ClientTime",id:"clienttime",level:4},{value:"Declaration",id:"declaration",level:5},{value:"ServerTime",id:"servertime",level:4},{value:"Declaration",id:"declaration-1",level:5}],u={toc:s};function p(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-networkpongmessage"},"Struct NetworkPongMessage"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct NetworkPongMessage\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"clienttime"},"ClientTime"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public double ClientTime\n")),(0,a.kt)("h4",{id:"servertime"},"ServerTime"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public double ServerTime\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3510ba8e.e025d141.js b/assets/js/3510ba8e.e025d141.js new file mode 100644 index 00000000000..2243d386aeb --- /dev/null +++ b/assets/js/3510ba8e.e025d141.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8273],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>m});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),d=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},s=function(e){var t=d(e.components);return r.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=d(n),m=a,k=u["".concat(c,".").concat(m)]||u[m]||p[m]||i;return n?r.createElement(k,o(o({ref:t},s),{},{components:n})):r.createElement(k,o({ref:t},s))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=u;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:a,o[1]=l;for(var d=2;d<i;d++)o[d]=n[d];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}u.displayName="MDXCreateElement"},86182:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var r=n(87462),a=(n(67294),n(3905));const i={id:"NanoEndPoint",title:"NanoEndPoint"},o="Class NanoEndPoint",l={unversionedId:"reference/Mirage.Sockets.Udp/NanoEndPoint",id:"reference/Mirage.Sockets.Udp/NanoEndPoint",title:"NanoEndPoint",description:"Inheritance",source:"@site/docs/reference/Mirage.Sockets.Udp/NanoEndPoint.md",sourceDirName:"reference/Mirage.Sockets.Udp",slug:"/reference/Mirage.Sockets.Udp/NanoEndPoint",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoEndPoint",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Sockets.Udp/NanoEndPoint.md",tags:[],version:"current",frontMatter:{id:"NanoEndPoint",title:"NanoEndPoint"},sidebar:"api",previous:{title:"InitUDP",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/InitUDP"},next:{title:"NanoSocket",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoSocket"}},c={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"NanoEndPoint(String, UInt16)",id:"nanoendpointstring-uint16",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"CreateCopy()",id:"createcopy",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Returns",id:"returns",level:5}],s={toc:d};function p(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-nanoendpoint"},"Class NanoEndPoint"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class NanoEndPoint : IEndPoint\n")),(0,a.kt)("h3",{id:"constructors"},"Constructors"),(0,a.kt)("h4",{id:"nanoendpointstring-uint16"},"NanoEndPoint(String, UInt16)"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public NanoEndPoint(string host, ushort port)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.String"),(0,a.kt)("td",{parentName:"tr",align:null},"host"),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.UInt16"),(0,a.kt)("td",{parentName:"tr",align:null},"port"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"createcopy"},"CreateCopy()"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public IEndPoint CreateCopy()\n")),(0,a.kt)("h5",{id:"returns"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,a.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3546aac4.84b3cb2f.js b/assets/js/3546aac4.84b3cb2f.js new file mode 100644 index 00000000000..b05f51e8370 --- /dev/null +++ b/assets/js/3546aac4.84b3cb2f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3811],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>s});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function d(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},p=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},k={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),m=c(r),s=a,N=m["".concat(l,".").concat(s)]||m[s]||k[s]||i;return r?n.createElement(N,o(o({ref:t},p),{},{components:r})):n.createElement(N,o({ref:t},p))}));function s(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=m;var d={};for(var l in t)hasOwnProperty.call(t,l)&&(d[l]=t[l]);d.originalType=e,d.mdxType="string"==typeof e?e:a,o[1]=d;for(var c=2;c<i;c++)o[c]=r[c];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"},2219:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>k,frontMatter:()=>i,metadata:()=>d,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const i={sidebar_position:10},o="Mirror Migration Guide",d={unversionedId:"guides/mirror-migration",id:"guides/mirror-migration",title:"Mirror Migration Guide",description:"This is a simple guide describing how to convert your Mirror project to Mirage.",source:"@site/docs/guides/mirror-migration.md",sourceDirName:"guides",slug:"/guides/mirror-migration",permalink:"/Mirage/docs/guides/mirror-migration",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/mirror-migration.md",tags:[],version:"current",sidebarPosition:10,frontMatter:{sidebar_position:10},sidebar:"docs",previous:{title:"Network Visibility",permalink:"/Mirage/docs/guides/network-visibility"},next:{title:"Best Practices",permalink:"/Mirage/docs/guides/best-practices"}},l={},c=[{value:"Namespace",id:"namespace",level:2},{value:"Components",id:"components",level:2},{value:"Accessing Mirage components from NetworkBehaviour",id:"accessing-mirage-components-from-networkbehaviour",level:3},{value:"Network Events Lifecycle",id:"network-events-lifecycle",level:2},{value:"Server and client events",id:"server-and-client-events",level:3},{value:"NetworkBehaviour events",id:"networkbehaviour-events",level:3},{value:"Method Attributes",id:"method-attributes",level:2},{value:"Renames",id:"renames",level:2},{value:"Object Management",id:"object-management",level:2},{value:"Spawning and destroying",id:"spawning-and-destroying",level:3}],p={toc:c};function k(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"mirror-migration-guide"},"Mirror Migration Guide"),(0,a.kt)("p",null,"This is a simple guide describing how to convert your Mirror project to Mirage."),(0,a.kt)("h2",{id:"namespace"},"Namespace"),(0,a.kt)("p",null,"First of all, ",(0,a.kt)("inlineCode",{parentName:"p"},"Mirror")," namespace needs to be changed to ",(0,a.kt)("inlineCode",{parentName:"p"},"Mirage"),". So in your code, replace all:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"using Mirror;\n")),(0,a.kt)("p",null,"with"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"using Mirage;\n")),(0,a.kt)("h2",{id:"components"},"Components"),(0,a.kt)("p",null,"Many roles that ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkManager")," fulfilled in Mirror were split into multiple simpler components in Mirage, such as ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkClient"),", ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkServer"),", and ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkSceneManager"),". Those classes are no longer static singletons, they are MonoBehaviours instead, so you need to add them to your scene and reference them. ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkManager")," in Mirage only serves as a reference holder for server and client."),(0,a.kt)("admonition",{type:"tip"},(0,a.kt)("p",{parentName:"admonition"},"The easiest way to get started is to right-click in the Hierarchy > Network > NetworkManager. This will create a GameObject with all the necessary components and references already set up.")),(0,a.kt)("h3",{id:"accessing-mirage-components-from-networkbehaviour"},"Accessing Mirage components from NetworkBehaviour"),(0,a.kt)("p",null,"Despite Mirage removing all static states, you can still access the important networking components from within ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkBehaviour")," easily. This table shows how to access different components in comparison to Mirror:"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:"center"},"Mirror (static)"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Mirage (property of ",(0,a.kt)("inlineCode",{parentName:"th"},"NetworkBehaviour"),")"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkServer")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"Server"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkClient")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"Client"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkTime")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkTime"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},"doesn't exist"),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"ClientObjectManager"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},"doesn't exist"),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"ServerObjectManager"))))),(0,a.kt)("h2",{id:"network-events-lifecycle"},"Network Events Lifecycle"),(0,a.kt)("p",null,"Lifecycle management is no longer based on overrides. Instead, there are many UnityEvents that can be hooked into without direct coupling. They can also be used to hook callbacks via Unity Inspector."),(0,a.kt)("admonition",{type:"tip"},(0,a.kt)("p",{parentName:"admonition"},"This guide only shows the Mirror counterpart events, but Mirage has more events available, so be sure to check them out as they might be useful.")),(0,a.kt)("h3",{id:"server-and-client-events"},"Server and client events"),(0,a.kt)("p",null,"The table below shows the override method names from Mirror's ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkManager")," and the corresponding events from Mirage."),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:"center"},"Mirror (override)"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Mirage (event)"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"OnStartServer")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkServer#started"},"NetworkServer.Started"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"OnServerConnect")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkServer#authenticated"},"NetworkServer.Authenticated"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"OnServerDisconnect")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkServer#disconnected"},"NetworkServer.Disconnected"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"OnStopServer")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkServer#stopped"},"NetworkServer.Stopped"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"OnClientConnect")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkClient#authenticated"},"NetworkClient.Authenticated"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"OnClientDisconnect")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkClient#disconnected"},"NetworkClient.Disconnected"))))),(0,a.kt)("p",null,"For example, this code from Mirror:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"using Mirror;\n\npublic class MyNetworkManager : NetworkManager \n{\n public override void OnStartServer() \n {\n // Server started\n }\n\n public override void OnServerConnect(NetworkConnection conn) \n {\n // Client connected and authenticated on server\n }\n\n public override void OnStopServer() \n {\n // Server stopped\n }\n\n public override void OnStartClient() \n {\n // Client started\n }\n \n public override void OnClientConnect(NetworkConnection conn) \n {\n // Client connected and authenticated\n }\n \n public override void OnClientDisconnect(NetworkConnection conn) \n {\n // Client disconnected\n }\n}\n")),(0,a.kt)("p",null,"should be changed to:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"using Mirage;\n\npublic class MyNetworkManager : NetworkManager \n{\n void Awake() \n {\n Server.Started.AddListener(OnStartServer);\n Server.Authenticated.AddListener(OnServerConnect);\n Server.Stopped.AddListener(OnStopServer);\n Client.Started.AddListener(OnClientStarted);\n Client.Authenticated.AddListener(OnClientConnect);\n Client.Disconnected.AddListener(OnClientDisconnected);\n }\n\n void OnStartServer() \n {\n // Server started\n }\n\n void OnServerConnect(INetworkPlayer conn) \n {\n // Client connected (and authenticated) on server\n }\n\n void OnStopServer() \n {\n // Server stopped\n }\n\n void OnClientStarted() \n {\n // Client started\n }\n\n void OnClientConnect(INetworkPlayer conn) \n {\n // Client connected\n }\n\n void OnClientDisconnected(ClientStoppedReason reason) \n {\n // Client disconnected\n }\n}\n")),(0,a.kt)("h3",{id:"networkbehaviour-events"},"NetworkBehaviour events"),(0,a.kt)("p",null,"The table below shows the Mirror's ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkBehaviour")," override method names on the left and the Mirage events on the right."),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:"center"},"Mirror (override)"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Mirage (event)"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"OnStartServer")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkIdentity#onstartserver"},"Identity.OnStartServer"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"OnStopServer")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkIdentity#onstopserver"},"Identity.OnStopServer"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"OnStartClient")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkIdentity#onstartclient"},"Identity.OnStartClient"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"OnStopClient")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkIdentity#onstopclient"},"Identity.OnStopClient"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"OnStartLocalPlayer")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkIdentity#onstartlocalplayer"},"Identity.OnStartLocalPlayer"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"OnStartAuthority")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkIdentity#onauthoritychanged"},"Identity.OnAuthorityChanged"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"OnStopAuthority")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkIdentity#onauthoritychanged"},"Identity.OnAuthorityChanged"))))),(0,a.kt)("p",null,"Let's take this ",(0,a.kt)("inlineCode",{parentName:"p"},"Player")," class as an example. In Mirror, you would do:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"using Mirror;\n\npublic class Player : NetworkBehaviour \n{\n public override void OnStartServer() \n {\n // Player started on server\n }\n\n public override void OnStartClient() \n {\n // Player started on client\n }\n}\n")),(0,a.kt)("p",null,"Which should be changed like so in Mirage:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"using Mirage;\n\npublic class Player : NetworkBehaviour \n{\n void Awake() \n {\n Identity.OnStartServer.AddListener(OnStartServer);\n Identity.OnStartClient.AddListener(OnStartClient);\n }\n\n void OnStartServer() \n {\n // Player started on server\n }\n\n void OnStartClient() \n {\n // Player started on client\n }\n}\n")),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("p",{parentName:"admonition"},"Please note that due to timing all event callbacks should be registered in ",(0,a.kt)("inlineCode",{parentName:"p"},"Awake")," method or via Unity inspector for them to be invoked consistently.")),(0,a.kt)("h2",{id:"method-attributes"},"Method Attributes"),(0,a.kt)("p",null,"The table below shows the new attribute names in Mirage."),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:"center"},"Mirror"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Mirage"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"[Command]")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/ServerRpcAttribute"},"[ServerRpc]"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"[TargetRpc]")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/ClientRpcAttribute"},"[ClientRpc(target = Mirage.RpcTarget enum)]"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"[ServerCallback]")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/ServerAttribute"},"[Server(error = false)]"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"[ClientCallback]")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/ClientAttribute"},"[Client(error = false)]"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},"doesn't exist"),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/HasAuthorityAttribute"},"[HasAuthority(error = false)]"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},"doesn't exist"),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/LocalPlayerAttribute"},"[LocalPlayer(error = false)]"))))),(0,a.kt)("h2",{id:"renames"},"Renames"),(0,a.kt)("p",null,"These fields/properties have been renamed:"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:"center"},"Mirror"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Mirage"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"ClientScene.localPlayer")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkPlayer#identity"},"NetworkPlayer.Identity"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"ClientScene.ready")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkPlayer#sceneisready"},"Client.Player.SceneIsReady"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkIdentity.assetId")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkIdentity#prefabhash"},"NetworkIdentity.PrefabHash"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkIdentity.netId")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkIdentity#netid"},"NetworkIdentity.NetId"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkIdentity.connectionToClient")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkIdentity#owner"},"NetworkIdentity.Owner"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkBehaviour.isServer")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkBehaviour#isserver"},"NetworkBehaviour.IsServer"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkBehaviour.connectionToClient")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkBehaviour#owner"},"NetworkBehaviour.Owner"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkBehaviour.connectionToServer")),(0,a.kt)("td",{parentName:"tr",align:"center"},"Removed, use ",(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkClient#player"},"Client.Player")," instead")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkBehaviour.hasAuthority")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkBehaviour#hasauthority"},"NetworkBehaviour.HasAuthority"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkBehaviour.Identity")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkBehaviour#identity"},"NetworkBehaviour.Identity"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkBehaviour.netId")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkBehaviour#netid"},"NetworkBehaviour.NetId"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkBehaviour.isClientOnly")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkBehaviour#isclientonly"},"NetworkBehaviour.IsClientOnly"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkBehaviour.islocalPlayer")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkBehaviour#islocalplayer"},"NetworkBehaviour.IsLocalPlayer"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkConnection.isReady")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkPlayer#sceneisready"},"NetworkPlayer.SceneIsReady"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkConnection.identity")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkPlayer#identity"},"NetworkPlayer.Identity"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkServer.active")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkServer#active"},"NetworkServer.Active"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkServer.localConnection")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkServer#localplayer"},"NetworkServer.LocalPlayer"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkClient.connection")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkClient#player"},"NetworkClient.Player"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkTime.time")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/NetworkTime#time"},"NetworkTime.Time"))))),(0,a.kt)("h2",{id:"object-management"},"Object Management"),(0,a.kt)("p",null,"Registered spawnable prefabs were moved from ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkManager")," to the ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/ClientObjectManager"},"ClientObjectManager")," component. You can use the Inspector to register all NetworkIdentities via a single click."),(0,a.kt)("h3",{id:"spawning-and-destroying"},"Spawning and destroying"),(0,a.kt)("p",null,"Table below shows how to spawn objects in Mirage from ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkBehaviour"),":"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:"center"},"Mirror"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Mirage"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkServer.Spawn")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/ServerObjectManager#spawnnetworkidentity"},"ServerObjectManager.Spawn"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("inlineCode",{parentName:"td"},"NetworkServer.Destroy")),(0,a.kt)("td",{parentName:"tr",align:"center"},(0,a.kt)("a",{parentName:"td",href:"/docs/reference/Mirage/ServerObjectManager#destroygameobject-boolean"},"ServerObjectManager.Destroy"))))))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/359db5b7.4af3d472.js b/assets/js/359db5b7.4af3d472.js new file mode 100644 index 00000000000..b90cc8a3e61 --- /dev/null +++ b/assets/js/359db5b7.4af3d472.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5138],{3905:(e,r,t)=>{t.d(r,{Zo:()=>u,kt:()=>d});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function l(e,r){if(null==e)return{};var t,a,n=function(e,r){if(null==e)return{};var t,a,n={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var c=a.createContext({}),p=function(e){var r=a.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},u=function(e){var r=p(e.components);return a.createElement(c.Provider,{value:r},e.children)},s={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},v=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),v=p(t),d=n,m=v["".concat(c,".").concat(d)]||v[d]||s[d]||o;return t?a.createElement(m,i(i({ref:r},u),{},{components:t})):a.createElement(m,i({ref:r},u))}));function d(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var o=t.length,i=new Array(o);i[0]=v;var l={};for(var c in r)hasOwnProperty.call(r,c)&&(l[c]=r[c]);l.originalType=e,l.mdxType="string"==typeof e?e:n,i[1]=l;for(var p=2;p<o;p++)i[p]=t[p];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}v.displayName="MDXCreateElement"},99011:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>i,default:()=>s,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var a=t(87462),n=(t(67294),t(3905));const o={id:"NetworkBehaviorSyncvar-1",title:"NetworkBehaviorSyncvar<T>"},i="Struct NetworkBehaviorSyncvar<T>",l={unversionedId:"reference/Mirage/NetworkBehaviorSyncvar-1",id:"reference/Mirage/NetworkBehaviorSyncvar-1",title:"NetworkBehaviorSyncvar<T>",description:"Syntax",source:"@site/docs/reference/Mirage/NetworkBehaviorSyncvar-1.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkBehaviorSyncvar-1",permalink:"/Mirage/docs/reference/Mirage/NetworkBehaviorSyncvar-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkBehaviorSyncvar-1.md",tags:[],version:"current",frontMatter:{id:"NetworkBehaviorSyncvar-1",title:"NetworkBehaviorSyncvar<T>"},sidebar:"api",previous:{title:"NetworkBehaviorSerializers",permalink:"/Mirage/docs/reference/Mirage/NetworkBehaviorSerializers"},next:{title:"NetworkBehaviorSyncvar",permalink:"/Mirage/docs/reference/Mirage/NetworkBehaviorSyncvar"}},c={},p=[{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Constructors",id:"constructors",level:3},{value:"NetworkBehaviorSyncvar(T)",id:"networkbehaviorsyncvart",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Properties",id:"properties",level:3},{value:"Value",id:"value",level:4},{value:"Declaration",id:"declaration-1",level:5}],u={toc:p};function s(e){let{components:r,...t}=e;return(0,n.kt)("wrapper",(0,a.Z)({},u,t,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"struct-networkbehaviorsyncvart"},"Struct NetworkBehaviorSyncvar","<","T",">"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public struct NetworkBehaviorSyncvar<T>\n where T : NetworkBehaviour\n")),(0,n.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"networkbehaviorsyncvart"},"NetworkBehaviorSyncvar(T)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkBehaviorSyncvar(T behaviour)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"value"},"Value"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public T Value { get; set; }\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/36f4e2eb.aef1f72b.js b/assets/js/36f4e2eb.aef1f72b.js new file mode 100644 index 00000000000..40ca139805f --- /dev/null +++ b/assets/js/36f4e2eb.aef1f72b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7576],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,s=e.originalType,l=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),p=c(r),m=a,S=p["".concat(l,".").concat(m)]||p[m]||u[m]||s;return r?n.createElement(S,i(i({ref:t},d),{},{components:r})):n.createElement(S,i({ref:t},d))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var s=r.length,i=new Array(s);i[0]=p;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var c=2;c<s;c++)i[c]=r[c];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},15760:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const s={id:"ISessionIdStore",title:"ISessionIdStore"},i="Interface ISessionIdStore",o={unversionedId:"reference/Mirage.Authenticators.SessionId/ISessionIdStore",id:"reference/Mirage.Authenticators.SessionId/ISessionIdStore",title:"ISessionIdStore",description:"Syntax",source:"@site/docs/reference/Mirage.Authenticators.SessionId/ISessionIdStore.md",sourceDirName:"reference/Mirage.Authenticators.SessionId",slug:"/reference/Mirage.Authenticators.SessionId/ISessionIdStore",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/ISessionIdStore",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authenticators.SessionId/ISessionIdStore.md",tags:[],version:"current",frontMatter:{id:"ISessionIdStore",title:"ISessionIdStore"},sidebar:"api",previous:{title:"CreateSession",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/CreateSession"},next:{title:"RequestSessionMessage",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/RequestSessionMessage"}},l={},c=[{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"TryGetSession(out ClientSession)",id:"trygetsessionout-clientsession",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"StoreSession(ClientSession)",id:"storesessionclientsession",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],d={toc:c};function u(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"interface-isessionidstore"},"Interface ISessionIdStore"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public interface ISessionIdStore\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"trygetsessionout-clientsession"},"TryGetSession(out ClientSession)"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"bool TryGetSession(out ClientSession session)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.Authenticators.SessionId.ClientSession"),(0,a.kt)("td",{parentName:"tr",align:null},"session"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h5",{id:"returns"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h4",{id:"storesessionclientsession"},"StoreSession(ClientSession)"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"void StoreSession(ClientSession session)\n")),(0,a.kt)("h5",{id:"parameters-1"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.Authenticators.SessionId.ClientSession"),(0,a.kt)("td",{parentName:"tr",align:null},"session"),(0,a.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/371e843a.adad92fa.js b/assets/js/371e843a.adad92fa.js new file mode 100644 index 00000000000..a36a438569a --- /dev/null +++ b/assets/js/371e843a.adad92fa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1768],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>k});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=a.createContext({}),c=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},d=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),m=c(r),k=n,u=m["".concat(s,".").concat(k)]||m[k]||p[k]||i;return r?a.createElement(u,l(l({ref:t},d),{},{components:r})):a.createElement(u,l({ref:t},d))}));function k(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,l=new Array(i);l[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:n,l[1]=o;for(var c=2;c<i;c++)l[c]=r[c];return a.createElement.apply(null,l)}return a.createElement.apply(null,r)}m.displayName="MDXCreateElement"},79741:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const i={id:"IVisibilityTracker",title:"IVisibilityTracker"},l="Interface IVisibilityTracker",o={unversionedId:"reference/Mirage/IVisibilityTracker",id:"reference/Mirage/IVisibilityTracker",title:"IVisibilityTracker",description:"An object that can observe NetworkIdentities.",source:"@site/docs/reference/Mirage/IVisibilityTracker.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/IVisibilityTracker",permalink:"/Mirage/docs/reference/Mirage/IVisibilityTracker",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/IVisibilityTracker.md",tags:[],version:"current",frontMatter:{id:"IVisibilityTracker",title:"IVisibilityTracker"},sidebar:"api",previous:{title:"ISceneLoader",permalink:"/Mirage/docs/reference/Mirage/ISceneLoader"},next:{title:"LocalPlayerAttribute",permalink:"/Mirage/docs/reference/Mirage/LocalPlayerAttribute"}},s={},c=[{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"VisList",id:"vislist",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Methods",id:"methods",level:3},{value:"AddToVisList(NetworkIdentity)",id:"addtovislistnetworkidentity",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RemoveFromVisList(NetworkIdentity)",id:"removefromvislistnetworkidentity",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"RemoveAllVisibleObjects()",id:"removeallvisibleobjects",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"ContainsInVisList(NetworkIdentity)",id:"containsinvislistnetworkidentity",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns",level:5}],d={toc:c};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"interface-ivisibilitytracker"},"Interface IVisibilityTracker"),(0,n.kt)("p",null,"An object that can observe NetworkIdentities.\nthis is useful for interest management"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IVisibilityTracker\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"vislist"},"VisList"),(0,n.kt)("p",null,"HashSet of all that this player can see\nOnly valid on server\nReverse collection for "),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"IReadOnlyCollection<NetworkIdentity> VisList { get; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"addtovislistnetworkidentity"},"AddToVisList(NetworkIdentity)"),(0,n.kt)("p",null,"Called when sending spawn message to client"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void AddToVisList(NetworkIdentity identity)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"identity"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"removefromvislistnetworkidentity"},"RemoveFromVisList(NetworkIdentity)"),(0,n.kt)("p",null,"Called when sending destroy message to client"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void RemoveFromVisList(NetworkIdentity identity)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"identity"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"removeallvisibleobjects"},"RemoveAllVisibleObjects()"),(0,n.kt)("p",null,"Removes all that this player can see\nThis is called when loading a new scene"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void RemoveAllVisibleObjects()\n")),(0,n.kt)("h4",{id:"containsinvislistnetworkidentity"},"ContainsInVisList(NetworkIdentity)"),(0,n.kt)("p",null,"Checks if player can see "),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"bool ContainsInVisList(NetworkIdentity identity)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"identity"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/372e0d8a.b2db74a4.js b/assets/js/372e0d8a.b2db74a4.js new file mode 100644 index 00000000000..4822620440e --- /dev/null +++ b/assets/js/372e0d8a.b2db74a4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1601],{3905:(e,t,r)=>{r.d(t,{Zo:()=>k,kt:()=>d});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function n(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,i=function(e,t){if(null==e)return{};var r,a,i={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var s=a.createContext({}),c=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):n(n({},t),e)),r},k=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var r=e.components,i=e.mdxType,l=e.originalType,s=e.parentName,k=o(e,["components","mdxType","originalType","parentName"]),p=c(r),d=i,h=p["".concat(s,".").concat(d)]||p[d]||u[d]||l;return r?a.createElement(h,n(n({ref:t},k),{},{components:r})):a.createElement(h,n({ref:t},k))}));function d(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var l=r.length,n=new Array(l);n[0]=p;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:i,n[1]=o;for(var c=2;c<l;c++)n[c]=r[c];return a.createElement.apply(null,n)}return a.createElement.apply(null,r)}p.displayName="MDXCreateElement"},50860:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var a=r(87462),i=(r(67294),r(3905));const l={id:"NetworkProximityChecker",title:"NetworkProximityChecker"},n="Class NetworkProximityChecker",o={unversionedId:"reference/Mirage/NetworkProximityChecker",id:"reference/Mirage/NetworkProximityChecker",title:"NetworkProximityChecker",description:"Component that controls visibility of networked objects for players.",source:"@site/docs/reference/Mirage/NetworkProximityChecker.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkProximityChecker",permalink:"/Mirage/docs/reference/Mirage/NetworkProximityChecker",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkProximityChecker.md",tags:[],version:"current",frontMatter:{id:"NetworkProximityChecker",title:"NetworkProximityChecker"},sidebar:"api",previous:{title:"NetworkPrefabs",permalink:"/Mirage/docs/reference/Mirage/NetworkPrefabs"},next:{title:"NetworkSceneChecker",permalink:"/Mirage/docs/reference/Mirage/NetworkSceneChecker"}},s={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"VisibilityRange",id:"visibilityrange",level:4},{value:"Declaration",id:"declaration",level:5},{value:"VisibilityUpdateInterval",id:"visibilityupdateinterval",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"ForceHidden",id:"forcehidden",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Methods",id:"methods",level:3},{value:"Awake()",id:"awake",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"OnCheckObserver(INetworkPlayer)",id:"oncheckobserverinetworkplayer",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"OnRebuildObservers(HashSet<INetworkPlayer>, Boolean)",id:"onrebuildobservershashsetinetworkplayer-boolean",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-1",level:5}],k={toc:c};function u(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,a.Z)({},k,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-networkproximitychecker"},"Class NetworkProximityChecker"),(0,i.kt)("p",null,"Component that controls visibility of networked objects for players.\nAny object with this component on it will not be visible to players more than a (configurable) distance away."),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,i.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.NetworkBehaviour"),(0,i.kt)("div",{class:"level",style:{"--data-index":2}},"Mirage.NetworkVisibility")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show"),(0,i.kt)("p",null,"Mirage.NetworkVisibility.OnVisibilityChanged"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour._nextSyncTime"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SyncSettings"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsServer"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsClient"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalClient"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsHost"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalPlayer"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsServerOnly"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsClientOnly"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.HasAuthority"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.NetId"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.Server"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.ServerObjectManager"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.Client"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.ClientObjectManager"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.Owner"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.World"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.NetworkTime"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.BehaviourId"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarDirtyBits"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.AnySyncObjectDirty"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.syncObjects"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.Identity"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.ComponentIndex"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarEqual","<","T",">","(T, T)"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.ClearDirtyBits()"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.AnyDirtyBits()"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.GetRpcCount()"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public class NetworkProximityChecker : NetworkVisibility, INetworkVisibility\n")),(0,i.kt)("h3",{id:"fields"},"Fields"),(0,i.kt)("h4",{id:"visibilityrange"},"VisibilityRange"),(0,i.kt)("p",null,"The maximim range that objects will be visible at."),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public int VisibilityRange\n")),(0,i.kt)("h4",{id:"visibilityupdateinterval"},"VisibilityUpdateInterval"),(0,i.kt)("p",null,"How often (in seconds) that this object should update the list of observers that can see it."),(0,i.kt)("h5",{id:"declaration-1"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public float VisibilityUpdateInterval\n")),(0,i.kt)("h4",{id:"forcehidden"},"ForceHidden"),(0,i.kt)("p",null,"Flag to force this object to be hidden for players.\nIf this object is a player object, it will not be hidden for that player."),(0,i.kt)("h5",{id:"declaration-2"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public bool ForceHidden\n")),(0,i.kt)("h3",{id:"methods"},"Methods"),(0,i.kt)("h4",{id:"awake"},"Awake()"),(0,i.kt)("h5",{id:"declaration-3"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public void Awake()\n")),(0,i.kt)("h4",{id:"oncheckobserverinetworkplayer"},"OnCheckObserver(INetworkPlayer)"),(0,i.kt)("p",null,"Callback used by the visibility system to determine if an observer (player) can see this object.\nIf this function returns true, the network connection will be added as an observer."),(0,i.kt)("h5",{id:"declaration-4"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public override bool OnCheckObserver(INetworkPlayer player)\n")),(0,i.kt)("h5",{id:"parameters"},"Parameters"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Name"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,i.kt)("td",{parentName:"tr",align:null},"player"),(0,i.kt)("td",{parentName:"tr",align:null},"Network connection of a player.")))),(0,i.kt)("h5",{id:"returns"},"Returns"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,i.kt)("td",{parentName:"tr",align:null},"True if the player can see this object.")))),(0,i.kt)("h4",{id:"onrebuildobservershashsetinetworkplayer-boolean"},"OnRebuildObservers(HashSet","<","INetworkPlayer",">",", Boolean)"),(0,i.kt)("p",null,"Callback used by the visibility system to (re)construct the set of observers that can see this object.\nImplementations of this callback should add network connections of players that can see this object to the observers set."),(0,i.kt)("h5",{id:"declaration-5"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public override void OnRebuildObservers(HashSet<INetworkPlayer> observers, bool initialize)\n")),(0,i.kt)("h5",{id:"parameters-1"},"Parameters"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Name"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.HashSet","<","Mirage.INetworkPlayer",">"),(0,i.kt)("td",{parentName:"tr",align:null},"observers"),(0,i.kt)("td",{parentName:"tr",align:null},"The new set of observers for this object.")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,i.kt)("td",{parentName:"tr",align:null},"initialize"),(0,i.kt)("td",{parentName:"tr",align:null},"True if the set of observers is being built for the first time.")))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/373cb441.3cdad254.js b/assets/js/373cb441.3cdad254.js new file mode 100644 index 00000000000..dd97208ce60 --- /dev/null +++ b/assets/js/373cb441.3cdad254.js @@ -0,0 +1 @@ +(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9597],{20426:(e,t,a)=>{"use strict";a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var r=a(87462),n=(a(67294),a(3905)),i=a(93456);const o={sidebar_position:1},s="Overview",l={unversionedId:"general/overview",id:"general/overview",title:"Overview",description:"Mirage is a high-level multiplayer library for Unity games. The goal is to make it as easy as possible to add multiplayer to your game.",source:"@site/docs/general/overview.md",sourceDirName:"general",slug:"/general/overview",permalink:"/Mirage/docs/general/overview",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/general/overview.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"docs",previous:{title:"General",permalink:"/Mirage/docs/category/general"},next:{title:"Getting Started",permalink:"/Mirage/docs/general/getting-started"}},c={},d=[{value:"Socket Layer",id:"socket-layer",level:2},{value:"Message Layer",id:"message-layer",level:2},{value:"Object Layer",id:"object-layer",level:2},{value:"Host mode",id:"host-mode",level:2},{value:"Client / Server mode",id:"client--server-mode",level:2}],h={toc:d};function p(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},h,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"overview"},"Overview"),(0,n.kt)("p",null,"Mirage is a high-level multiplayer library for Unity games. The goal is to make it as easy as possible to add multiplayer to your game."),(0,n.kt)("p",null,"Some of the key features of Mirage include:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Sending and receiving messages"),(0,n.kt)("li",{parentName:"ul"},"State synchronization"),(0,n.kt)("li",{parentName:"ul"},"Client/Server and host mode")),(0,n.kt)("p",null,"Mirage is made of 3 layers:"),(0,n.kt)(i.Mermaid,{config:{},chart:"graph TD;\n Socket[Socket Layer]--\x3eMsg;\n Msg[Message Layer]--\x3eObj;\n Obj[Object Layer];",mdxType:"Mermaid"}),(0,n.kt)("h2",{id:"socket-layer"},"Socket Layer"),(0,n.kt)("p",null,"The ",(0,n.kt)("inlineCode",{parentName:"p"},"Socket Layer")," is concerned about sending and receiving bytes. It does not know what it is sending. There are several socket factory implementations. The default socket factory in Mirage is UDPSocketFactory. "),(0,n.kt)("p",null,"If you want to implement a socket factory, create a class that extends ",(0,n.kt)("inlineCode",{parentName:"p"},"Mirage.SocketLayer.SocketFactory"),". Its primary responsibility is to send and receive data. You will also need to create a class that represents a link between Mirage and the outside world by implementing ",(0,n.kt)("inlineCode",{parentName:"p"},"Mirage.SocketLayer.ISocket"),". Reliability is handled on top of the factory by Mirage."),(0,n.kt)("h2",{id:"message-layer"},"Message Layer"),(0,n.kt)("p",null,"The message layer is concerned with sending and receiving ",(0,n.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/network-messages"},"messages"),"."),(0,n.kt)("p",null,"If you wish to use this functionality, you will need to have a ",(0,n.kt)("inlineCode",{parentName:"p"},"Mirage.NetworkClient")," in the client and a ",(0,n.kt)("inlineCode",{parentName:"p"},"Mirage.NetworkServer")," for the server. These classes provide events you can subscribe to for the life cycle of connections. A connection is an implementation of ",(0,n.kt)("inlineCode",{parentName:"p"},"Mirage.INetworkPlayer"),", and can send and receive messages. "),(0,n.kt)("h2",{id:"object-layer"},"Object Layer"),(0,n.kt)("p",null,"This layer is the highest level layer, the classes in this layer are concerned about ",(0,n.kt)("a",{parentName:"p",href:"/docs/guides/sync/"},"synchronizing state")," between objects, as well as sending ",(0,n.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/"},"RPC calls"),"."),(0,n.kt)("p",null,"The client needs a ",(0,n.kt)("inlineCode",{parentName:"p"},"Mirage.ClientObjectManager"),", the server needs a ",(0,n.kt)("inlineCode",{parentName:"p"},"Mirage.ServerObjectManager"),". It will spawn and destroy objects and keep the objects in the client in sync with the objects in the server"),(0,n.kt)("h1",{id:"clients-and-servers"},"Clients and Servers"),(0,n.kt)("p",null,"Mirage supports 2 modes of operation which can work at the same time."),(0,n.kt)("h2",{id:"host-mode"},"Host mode"),(0,n.kt)("p",null,"In host mode, the server and client are running in the same application and share all networked objects.\nThere is a direct in-memory channel of communication between the ",(0,n.kt)("inlineCode",{parentName:"p"},"Mirage.NetworkServer")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"Mirage.NetworkClient"),".\nSince the objects are shared, there is no need to synchronize data. "),(0,n.kt)("p",null,"Note that the host mode bypasses the Transport Layer."),(0,n.kt)("h2",{id:"client--server-mode"},"Client / Server mode"),(0,n.kt)("p",null,"In this mode, the client is connected to a separate server, which is normally in another machine and reachable through the network."),(0,n.kt)("p",null,"In client/server mode, the objects are duplicated in the server and client. For every networked object in the server, there is a corresponding object in the client with a matching network id."),(0,n.kt)("p",null,"Note a server can be in both host mode as well as a server for other clients."),(0,n.kt)(i.Mermaid,{chart:'graph LR;\n subgraph host["Host"]\n Client["Local Client"] --- Server\n end\n Server --- Client1\n Server --- Client2\n Server --- Client3',mdxType:"Mermaid"}))}p.isMDXComponent=!0},11748:(e,t,a)=>{var r={"./locale":89234,"./locale.js":89234};function n(e){var t=i(e);return a(t)}function i(e){if(!a.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}n.keys=function(){return Object.keys(r)},n.resolve=i,e.exports=n,n.id=11748}}]); \ No newline at end of file diff --git a/assets/js/379fad4b.004d1e93.js b/assets/js/379fad4b.004d1e93.js new file mode 100644 index 00000000000..0c58e3b5cb0 --- /dev/null +++ b/assets/js/379fad4b.004d1e93.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[311],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>g});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},l=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),d=u(r),g=a,f=d["".concat(c,".").concat(g)]||d[g]||p[g]||i;return r?n.createElement(f,o(o({ref:t},l),{},{components:r})):n.createElement(f,o({ref:t},l))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var u=2;u<i;u++)o[u]=r[u];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},84792:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>u});var n=r(87462),a=(r(67294),r(3905));const i={id:"AuthMessage",title:"AuthMessage"},o="Struct AuthMessage",s={unversionedId:"reference/Mirage.Authentication/AuthMessage",id:"reference/Mirage.Authentication/AuthMessage",title:"AuthMessage",description:"Wrapper message around auth message sent by a",source:"@site/docs/reference/Mirage.Authentication/AuthMessage.md",sourceDirName:"reference/Mirage.Authentication",slug:"/reference/Mirage.Authentication/AuthMessage",permalink:"/Mirage/docs/reference/Mirage.Authentication/AuthMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authentication/AuthMessage.md",tags:[],version:"current",frontMatter:{id:"AuthMessage",title:"AuthMessage"},sidebar:"api",previous:{title:"Mirage.Authentication",permalink:"/Mirage/docs/reference/Mirage.Authentication/"},next:{title:"AuthSuccessMessage",permalink:"/Mirage/docs/reference/Mirage.Authentication/AuthSuccessMessage"}},c={},u=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Payload",id:"payload",level:4},{value:"Declaration",id:"declaration",level:5}],l={toc:u};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-authmessage"},"Struct AuthMessage"),(0,a.kt)("p",null,"Wrapper message around auth message sent by a "),(0,a.kt)("p",null,"This type is used to that it can be receive before player is authenticated.\nALl AuthMessage will be handled by an Authenticator instead of the normal message handler"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct AuthMessage\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"payload"},"Payload"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public ArraySegment<byte> Payload\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/38134b8b.eaeb2d8a.js b/assets/js/38134b8b.eaeb2d8a.js new file mode 100644 index 00000000000..e84bc4199e4 --- /dev/null +++ b/assets/js/38134b8b.eaeb2d8a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[726],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>d});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var p=n.createContext({}),s=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},l=function(e){var t=s(e.components);return n.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,p=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),g=s(r),d=i,f=g["".concat(p,".").concat(d)]||g[d]||u[d]||a;return r?n.createElement(f,o(o({ref:t},l),{},{components:r})):n.createElement(f,o({ref:t},l))}));function d(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,o=new Array(a);o[0]=g;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:i,o[1]=c;for(var s=2;s<a;s++)o[s]=r[s];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}g.displayName="MDXCreateElement"},95945:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var n=r(87462),i=(r(67294),r(3905));const a={},o="Variable Sized Integer",c={unversionedId:"guides/bit-packing/var-int",id:"guides/bit-packing/var-int",title:"Variable Sized Integer",description:"This page is a work in progress",source:"@site/docs/guides/bit-packing/var-int.md",sourceDirName:"guides/bit-packing",slug:"/guides/bit-packing/var-int",permalink:"/Mirage/docs/guides/bit-packing/var-int",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/bit-packing/var-int.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Variable Sized Integer Blocks",permalink:"/Mirage/docs/guides/bit-packing/var-int-blocks"},next:{title:"Vector Pack",permalink:"/Mirage/docs/guides/bit-packing/vector-pack"}},p={},s=[],l={toc:s};function u(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"variable-sized-integer"},"Variable Sized Integer"),(0,i.kt)("admonition",{title:"Work In Progress",type:"caution"},(0,i.kt)("p",{parentName:"admonition"},"This page is a work in progress")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/384f4959.59f0126a.js b/assets/js/384f4959.59f0126a.js new file mode 100644 index 00000000000..4e12b61c5a6 --- /dev/null +++ b/assets/js/384f4959.59f0126a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3515],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>s});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function o(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function i(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=r.createContext({}),m=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},u=function(e){var t=m(e.components);return r.createElement(p.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,p=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),d=m(a),s=n,k=d["".concat(p,".").concat(s)]||d[s]||c[s]||l;return a?r.createElement(k,o(o({ref:t},u),{},{components:a})):r.createElement(k,o({ref:t},u))}));function s(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,o=new Array(l);o[0]=d;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i.mdxType="string"==typeof e?e:n,o[1]=i;for(var m=2;m<l;m++)o[m]=a[m];return r.createElement.apply(null,o)}return r.createElement.apply(null,a)}d.displayName="MDXCreateElement"},68587:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>c,frontMatter:()=>l,metadata:()=>i,toc:()=>m});var r=a(87462),n=(a(67294),a(3905));const l={id:"Pool-1",title:"Pool<T>"},o="Class Pool<T>",i={unversionedId:"reference/Mirage.SocketLayer/Pool-1",id:"reference/Mirage.SocketLayer/Pool-1",title:"Pool<T>",description:"Holds a collection of so they can be re-used without allocations",source:"@site/docs/reference/Mirage.SocketLayer/Pool-1.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/Pool-1",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/Pool-1.md",tags:[],version:"current",frontMatter:{id:"Pool-1",title:"Pool<T>"},sidebar:"api",previous:{title:"Pool<T>.CreateNewItemNoCount",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount"},next:{title:"PoolMetrics",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/PoolMetrics"}},p={},m=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Constructors",id:"constructors",level:3},{value:"Pool(Pool<T>.CreateNewItemNoCount, Int32, Int32, ILogger)",id:"poolpooltcreatenewitemnocount-int32-int32-ilogger",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Pool(Pool<T>.CreateNewItem, Int32, Int32, Int32, ILogger)",id:"poolpooltcreatenewitem-int32-int32-int32-ilogger",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Properties",id:"properties",level:3},{value:"Metrics",id:"metrics",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Methods",id:"methods",level:3},{value:"Configure(Int32, Int32)",id:"configureint32-int32",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Take()",id:"take",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Returns",id:"returns",level:5},{value:"Put(T)",id:"putt",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-3",level:5}],u={toc:m};function c(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-poolt"},"Class Pool","<","T",">"),(0,n.kt)("p",null,"Holds a collection of so they can be re-used without allocations"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class Pool<T>\n where T : class\n")),(0,n.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"poolpooltcreatenewitemnocount-int32-int32-ilogger"},"Pool(Pool","<","T",">",".CreateNewItemNoCount, Int32, Int32, ILogger)"),(0,n.kt)("p",null,"Creates pool, that does not require Buffer size"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Pool(Pool<T>.CreateNewItemNoCount createNew, int startPoolSize, int maxPoolSize, ILogger logger = null)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.Pool.CreateNewItemNoCount","<",">"),(0,n.kt)("td",{parentName:"tr",align:null},"createNew"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"startPoolSize"),(0,n.kt)("td",{parentName:"tr",align:null},"how many buffers to create at start")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"maxPoolSize"),(0,n.kt)("td",{parentName:"tr",align:null},"max number of buffers in pool")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"ILogger"),(0,n.kt)("td",{parentName:"tr",align:null},"logger"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"poolpooltcreatenewitem-int32-int32-int32-ilogger"},"Pool(Pool","<","T",">",".CreateNewItem, Int32, Int32, Int32, ILogger)"),(0,n.kt)("p",null,"Creates pool where buffer size will be passed to items when created them"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Pool(Pool<T>.CreateNewItem createNew, int bufferSize, int startPoolSize, int maxPoolSize, ILogger logger = null)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.Pool.CreateNewItem","<",">"),(0,n.kt)("td",{parentName:"tr",align:null},"createNew"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"bufferSize"),(0,n.kt)("td",{parentName:"tr",align:null},"size of each buffer")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"startPoolSize"),(0,n.kt)("td",{parentName:"tr",align:null},"how many buffers to create at start")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"maxPoolSize"),(0,n.kt)("td",{parentName:"tr",align:null},"max number of buffers in pool")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"ILogger"),(0,n.kt)("td",{parentName:"tr",align:null},"logger"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"metrics"},"Metrics"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public PoolMetrics Metrics { get; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"configureint32-int32"},"Configure(Int32, Int32)"),(0,n.kt)("p",null,"sets max pool size and then creates writers up to new start size"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Configure(int startPoolSize, int maxPoolSize)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"startPoolSize"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"maxPoolSize"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"take"},"Take()"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public T Take()\n")),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"putt"},"Put(T)"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Put(T buffer)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"buffer"),(0,n.kt)("td",{parentName:"tr",align:null})))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3897ec4d.534fcaa8.js b/assets/js/3897ec4d.534fcaa8.js new file mode 100644 index 00000000000..192201140b1 --- /dev/null +++ b/assets/js/3897ec4d.534fcaa8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9079],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>d});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},v=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),v=s(n),d=o,y=v["".concat(l,".").concat(d)]||v[d]||u[d]||i;return n?r.createElement(y,a(a({ref:t},p),{},{components:n})):r.createElement(y,a({ref:t},p))}));function d(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,a=new Array(i);a[0]=v;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:o,a[1]=c;for(var s=2;s<i;s++)a[s]=n[s];return r.createElement.apply(null,a)}return r.createElement.apply(null,n)}v.displayName="MDXCreateElement"},10428:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var r=n(87462),o=(n(67294),n(3905));const i={id:"BoolUnityEvent",title:"BoolUnityEvent"},a="Class BoolUnityEvent",c={unversionedId:"reference/Mirage.Events/BoolUnityEvent",id:"reference/Mirage.Events/BoolUnityEvent",title:"BoolUnityEvent",description:"Inheritance",source:"@site/docs/reference/Mirage.Events/BoolUnityEvent.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/BoolUnityEvent",permalink:"/Mirage/docs/reference/Mirage.Events/BoolUnityEvent",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/BoolUnityEvent.md",tags:[],version:"current",frontMatter:{id:"BoolUnityEvent",title:"BoolUnityEvent"},sidebar:"api",previous:{title:"BoolAddLateEvent",permalink:"/Mirage/docs/reference/Mirage.Events/BoolAddLateEvent"},next:{title:"DisconnectAddLateEvent",permalink:"/Mirage/docs/reference/Mirage.Events/DisconnectAddLateEvent"}},l={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5}],p={toc:s};function u(e){let{components:t,...n}=e;return(0,o.kt)("wrapper",(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"class-boolunityevent"},"Class BoolUnityEvent"),(0,o.kt)("div",{class:"inheritance"},(0,o.kt)("h5",{id:"inheritance"},"Inheritance"),(0,o.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,o.kt)("h5",{id:"syntax"},"Syntax"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class BoolUnityEvent : UnityEvent<bool>\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/38c61e2e.2b515086.js b/assets/js/38c61e2e.2b515086.js new file mode 100644 index 00000000000..69d10c96fe4 --- /dev/null +++ b/assets/js/38c61e2e.2b515086.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1720],{3905:(e,r,n)=>{n.d(r,{Zo:()=>d,kt:()=>y});var t=n(67294);function a(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function l(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function o(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?l(Object(n),!0).forEach((function(r){a(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function c(e,r){if(null==e)return{};var n,t,a=function(e,r){if(null==e)return{};var n,t,a={},l=Object.keys(e);for(t=0;t<l.length;t++)n=l[t],r.indexOf(n)>=0||(a[n]=e[n]);return a}(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(t=0;t<l.length;t++)n=l[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var i=t.createContext({}),s=function(e){var r=t.useContext(i),n=r;return e&&(n="function"==typeof e?e(r):o(o({},r),e)),n},d=function(e){var r=s(e.components);return t.createElement(i.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},p=t.forwardRef((function(e,r){var n=e.components,a=e.mdxType,l=e.originalType,i=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),p=s(n),y=a,v=p["".concat(i,".").concat(y)]||p[y]||u[y]||l;return n?t.createElement(v,o(o({ref:r},d),{},{components:n})):t.createElement(v,o({ref:r},d))}));function y(e,r){var n=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var l=n.length,o=new Array(l);o[0]=p;var c={};for(var i in r)hasOwnProperty.call(r,i)&&(c[i]=r[i]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var s=2;s<l;s++)o[s]=n[s];return t.createElement.apply(null,o)}return t.createElement.apply(null,n)}p.displayName="MDXCreateElement"},16e3:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>i,contentTitle:()=>o,default:()=>u,frontMatter:()=>l,metadata:()=>c,toc:()=>s});var t=n(87462),a=(n(67294),n(3905));const l={id:"SyncTo",title:"SyncTo"},o="Enum SyncTo",c={unversionedId:"reference/Mirage/SyncTo",id:"reference/Mirage/SyncTo",title:"SyncTo",description:"Syntax",source:"@site/docs/reference/Mirage/SyncTo.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SyncTo",permalink:"/Mirage/docs/reference/Mirage/SyncTo",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SyncTo.md",tags:[],version:"current",frontMatter:{id:"SyncTo",title:"SyncTo"},sidebar:"api",previous:{title:"SyncTiming",permalink:"/Mirage/docs/reference/Mirage/SyncTiming"},next:{title:"SyncVarAttribute",permalink:"/Mirage/docs/reference/Mirage/SyncVarAttribute"}},i={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"None",id:"none",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Owner",id:"owner",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"ObserversOnly",id:"observersonly",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Server",id:"server",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"OwnerAndObservers",id:"ownerandobservers",level:4},{value:"Declaration",id:"declaration-4",level:5}],d={toc:s};function u(e){let{components:r,...n}=e;return(0,a.kt)("wrapper",(0,t.Z)({},d,n,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"enum-syncto"},"Enum SyncTo"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[Flags]\npublic enum SyncTo : byte\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"none"},"None"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"None = 0\n")),(0,a.kt)("h4",{id:"owner"},"Owner"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Owner = 1\n")),(0,a.kt)("h4",{id:"observersonly"},"ObserversOnly"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"ObserversOnly = 2\n")),(0,a.kt)("h4",{id:"server"},"Server"),(0,a.kt)("h5",{id:"declaration-3"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Server = 4\n")),(0,a.kt)("h4",{id:"ownerandobservers"},"OwnerAndObservers"),(0,a.kt)("h5",{id:"declaration-4"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"OwnerAndObservers = 3\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/390bfbee.19790c54.js b/assets/js/390bfbee.19790c54.js new file mode 100644 index 00000000000..e37ef0be3d6 --- /dev/null +++ b/assets/js/390bfbee.19790c54.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9145],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>s});var l=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,l)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function m(e,t){if(null==e)return{};var a,l,r=function(e,t){if(null==e)return{};var a,l,r={},n=Object.keys(e);for(l=0;l<n.length;l++)a=n[l],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(l=0;l<n.length;l++)a=n[l],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=l.createContext({}),o=function(e){var t=l.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},d=function(e){var t=o(e.components);return l.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},k=l.forwardRef((function(e,t){var a=e.components,r=e.mdxType,n=e.originalType,p=e.parentName,d=m(e,["components","mdxType","originalType","parentName"]),k=o(a),s=r,c=k["".concat(p,".").concat(s)]||k[s]||u[s]||n;return a?l.createElement(c,i(i({ref:t},d),{},{components:a})):l.createElement(c,i({ref:t},d))}));function s(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var n=a.length,i=new Array(n);i[0]=k;var m={};for(var p in t)hasOwnProperty.call(t,p)&&(m[p]=t[p]);m.originalType=e,m.mdxType="string"==typeof e?e:r,i[1]=m;for(var o=2;o<n;o++)i[o]=a[o];return l.createElement.apply(null,i)}return l.createElement.apply(null,a)}k.displayName="MDXCreateElement"},61414:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>u,frontMatter:()=>n,metadata:()=>m,toc:()=>o});var l=a(87462),r=(a(67294),a(3905));const n={id:"SyncSet-1",title:"SyncSet<T>"},i="Class SyncSet<T>",m={unversionedId:"reference/Mirage.Collections/SyncSet-1",id:"reference/Mirage.Collections/SyncSet-1",title:"SyncSet<T>",description:"Inheritance",source:"@site/docs/reference/Mirage.Collections/SyncSet-1.md",sourceDirName:"reference/Mirage.Collections",slug:"/reference/Mirage.Collections/SyncSet-1",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncSet-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Collections/SyncSet-1.md",tags:[],version:"current",frontMatter:{id:"SyncSet-1",title:"SyncSet<T>"},sidebar:"api",previous:{title:"SyncObjectUtils",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncObjectUtils"},next:{title:"SyncSortedSet<T>",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncSortedSet-1"}},p={},o=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Constructors",id:"constructors",level:3},{value:"SyncSet(ISet<T>)",id:"syncsetisett",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"objects",id:"objects",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Properties",id:"properties",level:3},{value:"Count",id:"count",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"IsReadOnly",id:"isreadonly",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"IsDirty",id:"isdirty",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Methods",id:"methods",level:3},{value:"ISyncObject.SetShouldSyncFrom(Boolean)",id:"isyncobjectsetshouldsyncfromboolean",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"ISyncObject.SetNetworkBehaviour(NetworkBehaviour)",id:"isyncobjectsetnetworkbehaviournetworkbehaviour",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Reset()",id:"reset",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Flush()",id:"flush",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"OnSerializeAll(NetworkWriter)",id:"onserializeallnetworkwriter",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"OnSerializeDelta(NetworkWriter)",id:"onserializedeltanetworkwriter",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"OnDeserializeAll(NetworkReader)",id:"ondeserializeallnetworkreader",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"OnDeserializeDelta(NetworkReader)",id:"ondeserializedeltanetworkreader",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"Add(T)",id:"addt",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"Returns",id:"returns",level:5},{value:"ICollection<T>.Add(T)",id:"icollectiontaddt",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"Clear()",id:"clear",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Contains(T)",id:"containst",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"Returns",id:"returns-1",level:5},{value:"CopyTo(T[], Int32)",id:"copytot-int32",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Parameters",id:"parameters-10",level:5},{value:"Remove(T)",id:"removet",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"Parameters",id:"parameters-11",level:5},{value:"Returns",id:"returns-2",level:5},{value:"GetEnumerator()",id:"getenumerator",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"Returns",id:"returns-3",level:5},{value:"IEnumerable.GetEnumerator()",id:"ienumerablegetenumerator",level:4},{value:"Declaration",id:"declaration-20",level:5},{value:"Returns",id:"returns-4",level:5},{value:"ExceptWith(IEnumerable<T>)",id:"exceptwithienumerablet",level:4},{value:"Declaration",id:"declaration-21",level:5},{value:"Parameters",id:"parameters-12",level:5},{value:"IntersectWith(IEnumerable<T>)",id:"intersectwithienumerablet",level:4},{value:"Declaration",id:"declaration-22",level:5},{value:"Parameters",id:"parameters-13",level:5},{value:"IsProperSubsetOf(IEnumerable<T>)",id:"ispropersubsetofienumerablet",level:4},{value:"Declaration",id:"declaration-23",level:5},{value:"Parameters",id:"parameters-14",level:5},{value:"Returns",id:"returns-5",level:5},{value:"IsProperSupersetOf(IEnumerable<T>)",id:"ispropersupersetofienumerablet",level:4},{value:"Declaration",id:"declaration-24",level:5},{value:"Parameters",id:"parameters-15",level:5},{value:"Returns",id:"returns-6",level:5},{value:"IsSubsetOf(IEnumerable<T>)",id:"issubsetofienumerablet",level:4},{value:"Declaration",id:"declaration-25",level:5},{value:"Parameters",id:"parameters-16",level:5},{value:"Returns",id:"returns-7",level:5},{value:"IsSupersetOf(IEnumerable<T>)",id:"issupersetofienumerablet",level:4},{value:"Declaration",id:"declaration-26",level:5},{value:"Parameters",id:"parameters-17",level:5},{value:"Returns",id:"returns-8",level:5},{value:"Overlaps(IEnumerable<T>)",id:"overlapsienumerablet",level:4},{value:"Declaration",id:"declaration-27",level:5},{value:"Parameters",id:"parameters-18",level:5},{value:"Returns",id:"returns-9",level:5},{value:"SetEquals(IEnumerable<T>)",id:"setequalsienumerablet",level:4},{value:"Declaration",id:"declaration-28",level:5},{value:"Parameters",id:"parameters-19",level:5},{value:"Returns",id:"returns-10",level:5},{value:"SymmetricExceptWith(IEnumerable<T>)",id:"symmetricexceptwithienumerablet",level:4},{value:"Declaration",id:"declaration-29",level:5},{value:"Parameters",id:"parameters-20",level:5},{value:"UnionWith(IEnumerable<T>)",id:"unionwithienumerablet",level:4},{value:"Declaration",id:"declaration-30",level:5},{value:"Parameters",id:"parameters-21",level:5}],d={toc:o};function u(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,l.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-syncsett"},"Class SyncSet","<","T",">"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class SyncSet<T> : ISet<T>, ICollection<T>, IEnumerable<T>, IEnumerable, ISyncObject\n")),(0,r.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"constructors"},"Constructors"),(0,r.kt)("h4",{id:"syncsetisett"},"SyncSet(ISet","<","T",">",")"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncSet(ISet<T> objects)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.ISet","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"objects"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"objects"},"objects"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected readonly ISet<T> objects\n")),(0,r.kt)("h3",{id:"properties"},"Properties"),(0,r.kt)("h4",{id:"count"},"Count"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public int Count { get; }\n")),(0,r.kt)("h4",{id:"isreadonly"},"IsReadOnly"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsReadOnly { get; }\n")),(0,r.kt)("h4",{id:"isdirty"},"IsDirty"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsDirty { get; }\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"isyncobjectsetshouldsyncfromboolean"},"ISyncObject.SetShouldSyncFrom(Boolean)"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void ISyncObject.SetShouldSyncFrom(bool shouldSync)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"shouldSync"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"isyncobjectsetnetworkbehaviournetworkbehaviour"},"ISyncObject.SetNetworkBehaviour(NetworkBehaviour)"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void ISyncObject.SetNetworkBehaviour(NetworkBehaviour networkBehaviour)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,r.kt)("td",{parentName:"tr",align:null},"networkBehaviour"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"reset"},"Reset()"),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Reset()\n")),(0,r.kt)("h4",{id:"flush"},"Flush()"),(0,r.kt)("h5",{id:"declaration-8"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Flush()\n")),(0,r.kt)("h4",{id:"onserializeallnetworkwriter"},"OnSerializeAll(NetworkWriter)"),(0,r.kt)("h5",{id:"declaration-9"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnSerializeAll(NetworkWriter writer)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,r.kt)("td",{parentName:"tr",align:null},"writer"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"onserializedeltanetworkwriter"},"OnSerializeDelta(NetworkWriter)"),(0,r.kt)("h5",{id:"declaration-10"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnSerializeDelta(NetworkWriter writer)\n")),(0,r.kt)("h5",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,r.kt)("td",{parentName:"tr",align:null},"writer"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"ondeserializeallnetworkreader"},"OnDeserializeAll(NetworkReader)"),(0,r.kt)("h5",{id:"declaration-11"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnDeserializeAll(NetworkReader reader)\n")),(0,r.kt)("h5",{id:"parameters-5"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,r.kt)("td",{parentName:"tr",align:null},"reader"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"ondeserializedeltanetworkreader"},"OnDeserializeDelta(NetworkReader)"),(0,r.kt)("h5",{id:"declaration-12"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnDeserializeDelta(NetworkReader reader)\n")),(0,r.kt)("h5",{id:"parameters-6"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,r.kt)("td",{parentName:"tr",align:null},"reader"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"addt"},"Add(T)"),(0,r.kt)("h5",{id:"declaration-13"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Add(T item)\n")),(0,r.kt)("h5",{id:"parameters-7"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"icollectiontaddt"},"ICollection","<","T",">",".Add(T)"),(0,r.kt)("h5",{id:"declaration-14"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void ICollection<T>.Add(T item)\n")),(0,r.kt)("h5",{id:"parameters-8"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"clear"},"Clear()"),(0,r.kt)("h5",{id:"declaration-15"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Clear()\n")),(0,r.kt)("h4",{id:"containst"},"Contains(T)"),(0,r.kt)("h5",{id:"declaration-16"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Contains(T item)\n")),(0,r.kt)("h5",{id:"parameters-9"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-1"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"copytot-int32"},"CopyTo(T[], Int32)"),(0,r.kt)("h5",{id:"declaration-17"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void CopyTo(T[] array, int arrayIndex)\n")),(0,r.kt)("h5",{id:"parameters-10"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"{T}[]"),(0,r.kt)("td",{parentName:"tr",align:null},"array"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"arrayIndex"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"removet"},"Remove(T)"),(0,r.kt)("h5",{id:"declaration-18"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Remove(T item)\n")),(0,r.kt)("h5",{id:"parameters-11"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-2"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"getenumerator"},"GetEnumerator()"),(0,r.kt)("h5",{id:"declaration-19"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public IEnumerator<T> GetEnumerator()\n")),(0,r.kt)("h5",{id:"returns-3"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerator","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"ienumerablegetenumerator"},"IEnumerable.GetEnumerator()"),(0,r.kt)("h5",{id:"declaration-20"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"IEnumerator IEnumerable.GetEnumerator()\n")),(0,r.kt)("h5",{id:"returns-4"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.IEnumerator"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"exceptwithienumerablet"},"ExceptWith(IEnumerable","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-21"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void ExceptWith(IEnumerable<T> other)\n")),(0,r.kt)("h5",{id:"parameters-12"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"other"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"intersectwithienumerablet"},"IntersectWith(IEnumerable","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-22"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void IntersectWith(IEnumerable<T> other)\n")),(0,r.kt)("h5",{id:"parameters-13"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"other"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"ispropersubsetofienumerablet"},"IsProperSubsetOf(IEnumerable","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-23"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsProperSubsetOf(IEnumerable<T> other)\n")),(0,r.kt)("h5",{id:"parameters-14"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"other"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-5"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"ispropersupersetofienumerablet"},"IsProperSupersetOf(IEnumerable","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-24"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsProperSupersetOf(IEnumerable<T> other)\n")),(0,r.kt)("h5",{id:"parameters-15"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"other"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-6"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"issubsetofienumerablet"},"IsSubsetOf(IEnumerable","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-25"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsSubsetOf(IEnumerable<T> other)\n")),(0,r.kt)("h5",{id:"parameters-16"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"other"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-7"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"issupersetofienumerablet"},"IsSupersetOf(IEnumerable","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-26"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsSupersetOf(IEnumerable<T> other)\n")),(0,r.kt)("h5",{id:"parameters-17"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"other"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-8"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"overlapsienumerablet"},"Overlaps(IEnumerable","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-27"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Overlaps(IEnumerable<T> other)\n")),(0,r.kt)("h5",{id:"parameters-18"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"other"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-9"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"setequalsienumerablet"},"SetEquals(IEnumerable","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-28"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool SetEquals(IEnumerable<T> other)\n")),(0,r.kt)("h5",{id:"parameters-19"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"other"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-10"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"symmetricexceptwithienumerablet"},"SymmetricExceptWith(IEnumerable","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-29"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void SymmetricExceptWith(IEnumerable<T> other)\n")),(0,r.kt)("h5",{id:"parameters-20"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"other"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"unionwithienumerablet"},"UnionWith(IEnumerable","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-30"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void UnionWith(IEnumerable<T> other)\n")),(0,r.kt)("h5",{id:"parameters-21"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"other"),(0,r.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3cd512ef.741bc5f9.js b/assets/js/3cd512ef.741bc5f9.js new file mode 100644 index 00000000000..46c6a0947fc --- /dev/null +++ b/assets/js/3cd512ef.741bc5f9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5900],{3905:(e,t,r)=>{r.d(t,{Zo:()=>g,kt:()=>y});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},s=Object.keys(e);for(a=0;a<s.length;a++)r=s[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var i=a.createContext({}),o=function(e){var t=a.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},g=function(e){var t=o(e.components);return a.createElement(i.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,s=e.originalType,i=e.parentName,g=c(e,["components","mdxType","originalType","parentName"]),u=o(r),y=n,m=u["".concat(i,".").concat(y)]||u[y]||p[y]||s;return r?a.createElement(m,l(l({ref:t},g),{},{components:r})):a.createElement(m,l({ref:t},g))}));function y(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var s=r.length,l=new Array(s);l[0]=u;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:n,l[1]=c;for(var o=2;o<s;o++)l[o]=r[o];return a.createElement.apply(null,l)}return a.createElement.apply(null,r)}u.displayName="MDXCreateElement"},61748:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>o});var a=r(87462),n=(r(67294),r(3905));const s={id:"MessageDelegateAsync-1",title:"MessageDelegateAsync<T>"},l="Delegate MessageDelegateAsync<T>",c={unversionedId:"reference/Mirage/MessageDelegateAsync-1",id:"reference/Mirage/MessageDelegateAsync-1",title:"MessageDelegateAsync<T>",description:"Syntax",source:"@site/docs/reference/Mirage/MessageDelegateAsync-1.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/MessageDelegateAsync-1",permalink:"/Mirage/docs/reference/Mirage/MessageDelegateAsync-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/MessageDelegateAsync-1.md",tags:[],version:"current",frontMatter:{id:"MessageDelegateAsync-1",title:"MessageDelegateAsync<T>"},sidebar:"api",previous:{title:"MessageDelegate<T>",permalink:"/Mirage/docs/reference/Mirage/MessageDelegate-1"},next:{title:"MessageDelegateWithPlayer<T>",permalink:"/Mirage/docs/reference/Mirage/MessageDelegateWithPlayer-1"}},i={},o=[{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5}],g={toc:o};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},g,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"delegate-messagedelegateasynct"},"Delegate MessageDelegateAsync","<","T",">"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public delegate UniTaskVoid MessageDelegateAsync<in T>(T message);\n")),(0,n.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3d4a9cc3.ebb59d3c.js b/assets/js/3d4a9cc3.ebb59d3c.js new file mode 100644 index 00000000000..25bfe45079a --- /dev/null +++ b/assets/js/3d4a9cc3.ebb59d3c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3381],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>k});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var d=n.createContext({}),c=function(e){var t=n.useContext(d),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},s=function(e){var t=c(e.components);return n.createElement(d.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,d=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),u=c(r),k=a,m=u["".concat(d,".").concat(k)]||u[k]||p[k]||o;return r?n.createElement(m,l(l({ref:t},s),{},{components:r})):n.createElement(m,l({ref:t},s))}));function k(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,l=new Array(o);l[0]=u;var i={};for(var d in t)hasOwnProperty.call(t,d)&&(i[d]=t[d]);i.originalType=e,i.mdxType="string"==typeof e?e:a,l[1]=i;for(var c=2;c<o;c++)l[c]=r[c];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},98211:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const o={id:"NetworkWorldExtensions",title:"NetworkWorldExtensions"},l="Class NetworkWorldExtensions",i={unversionedId:"reference/Mirage/NetworkWorldExtensions",id:"reference/Mirage/NetworkWorldExtensions",title:"NetworkWorldExtensions",description:"Inheritance",source:"@site/docs/reference/Mirage/NetworkWorldExtensions.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkWorldExtensions",permalink:"/Mirage/docs/reference/Mirage/NetworkWorldExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkWorldExtensions.md",tags:[],version:"current",frontMatter:{id:"NetworkWorldExtensions",title:"NetworkWorldExtensions"},sidebar:"api",previous:{title:"NetworkWorld",permalink:"/Mirage/docs/reference/Mirage/NetworkWorld"},next:{title:"NetworkedPrefabAttribute",permalink:"/Mirage/docs/reference/Mirage/NetworkedPrefabAttribute"}},d={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"AddAndInvokeOnSpawn(NetworkWorld, Action<NetworkIdentity>)",id:"addandinvokeonspawnnetworkworld-actionnetworkidentity",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"AddAndInvokeOnAuthorityChanged(NetworkWorld, AuthorityChanged)",id:"addandinvokeonauthoritychangednetworkworld-authoritychanged",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],s={toc:c};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-networkworldextensions"},"Class NetworkWorldExtensions"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static class NetworkWorldExtensions\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"addandinvokeonspawnnetworkworld-actionnetworkidentity"},"AddAndInvokeOnSpawn(NetworkWorld, Action","<","NetworkIdentity",">",")"),(0,a.kt)("p",null,"adds an event handler, and invokes it on current objects in world"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static void AddAndInvokeOnSpawn(this NetworkWorld world, Action<NetworkIdentity> action)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkWorld"),(0,a.kt)("td",{parentName:"tr",align:null},"world"),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Action","<","Mirage.NetworkIdentity",">"),(0,a.kt)("td",{parentName:"tr",align:null},"action"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h4",{id:"addandinvokeonauthoritychangednetworkworld-authoritychanged"},"AddAndInvokeOnAuthorityChanged(NetworkWorld, AuthorityChanged)"),(0,a.kt)("p",null,"adds an event handler, and invokes it on current objects in world"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static void AddAndInvokeOnAuthorityChanged(this NetworkWorld world, AuthorityChanged action)\n")),(0,a.kt)("h5",{id:"parameters-1"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkWorld"),(0,a.kt)("td",{parentName:"tr",align:null},"world"),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.AuthorityChanged"),(0,a.kt)("td",{parentName:"tr",align:null},"action"),(0,a.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3dc557df.cc879d3f.js b/assets/js/3dc557df.cc879d3f.js new file mode 100644 index 00000000000..751864da497 --- /dev/null +++ b/assets/js/3dc557df.cc879d3f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[392],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),l=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},p=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),y=l(n),u=a,m=y["".concat(c,".").concat(u)]||y[u]||d[u]||i;return n?r.createElement(m,o(o({ref:t},p),{},{components:n})):r.createElement(m,o({ref:t},p))}));function u(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=y;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var l=2;l<i;l++)o[l]=n[l];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}y.displayName="MDXCreateElement"},8963:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var r=n(87462),a=(n(67294),n(3905));const i={sidebar_position:1},o="Sync List",s={unversionedId:"guides/sync/sync-objects/sync-list",id:"guides/sync/sync-objects/sync-list",title:"Sync List",description:"SyncList is an array-based list similar to C\\# List that synchronizes its contents from the server to the clients.",source:"@site/docs/guides/sync/sync-objects/sync-list.md",sourceDirName:"guides/sync/sync-objects",slug:"/guides/sync/sync-objects/sync-list",permalink:"/Mirage/docs/guides/sync/sync-objects/sync-list",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/sync/sync-objects/sync-list.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"docs",previous:{title:"Sync Var Hooks",permalink:"/Mirage/docs/guides/sync/sync-var-hooks"},next:{title:"Sync Dictionary",permalink:"/Mirage/docs/guides/sync/sync-objects/sync-dictionary"}},c={},l=[{value:"Usage",id:"usage",level:2},{value:"Basic example",id:"basic-example",level:3},{value:"Callbacks",id:"callbacks",level:2},{value:"Example",id:"example",level:3}],p={toc:l};function d(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"sync-list"},"Sync List"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Collections/SyncList-1"},(0,a.kt)("inlineCode",{parentName:"a"},"SyncList"))," is an array-based list similar to C","#"," ",(0,a.kt)("a",{parentName:"p",href:"https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1?view=netstandard-2.0"},"List<T",">")," that synchronizes its contents from the server to the clients."),(0,a.kt)("p",null,"A ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Collections/SyncList-1"},"SyncList")," can contain any ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/serialization/data-types"},"supported Mirage type"),"."),(0,a.kt)("h2",{id:"usage"},"Usage"),(0,a.kt)("p",null,"Add a field of type ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Collections/SyncList-1"},"SyncList")," on any ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkIdentity"},"NetworkIdentity")," where ",(0,a.kt)("inlineCode",{parentName:"p"},"T")," can be any supported Mirage type and initialize it."),(0,a.kt)("admonition",{title:"IMPORTANT",type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"You need to initialize the SyncList immediately after the definition for them to work. You can mark them as ",(0,a.kt)("inlineCode",{parentName:"p"},"readonly")," to enforce proper usage.")),(0,a.kt)("h3",{id:"basic-example"},"Basic example"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},'using Mirage;\nusing Mirage.Collections;\n\n[System.Serializable]\npublic struct Item\n{\n public string name;\n public int amount;\n public Color32 color;\n}\n\npublic class Player : NetworkBehaviour\n{\n private readonly SyncList<Item> inventory = new SyncList<Item>();\n\n public int coins = 100;\n\n [ServerRpc]\n public void Purchase(string itemName)\n {\n if (coins > 10)\n {\n coins -= 10;\n Item item = new Item\n {\n name = "Sword",\n amount = 3,\n color = new Color32(125, 125, 125, 255)\n };\n\n // During next synchronization, all clients will see the item\n inventory.Add(item);\n }\n }\n}\n')),(0,a.kt)("h2",{id:"callbacks"},"Callbacks"),(0,a.kt)("p",null,"You can detect when a ",(0,a.kt)("inlineCode",{parentName:"p"},"SyncList")," changes on the client and/or server. This is especially useful for refreshing your UI, character appearance, etc."),(0,a.kt)("p",null,"There are different callbacks for different operations, such as ",(0,a.kt)("inlineCode",{parentName:"p"},"OnChange")," (any change to the list), ",(0,a.kt)("inlineCode",{parentName:"p"},"OnInsert")," (adding a new element), etc. Please check the ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Collections/SyncList-1"},"SyncList API reference")," for the complete list of callbacks."),(0,a.kt)("p",null,"Depending on where you want to invoke the callbacks, you can use these methods to register them:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"Awake")," for both client and server"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"Identity.OnStartServer")," event for server-only"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"Identity.OnStartClient")," event for client-only")),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("p",{parentName:"admonition"},"By the time you subscribe, the list will already be initialized, so you will not get a call for the initial data, only updates.")),(0,a.kt)("h3",{id:"example"},"Example"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"using Mirage;\nusing Mirage.Collections;\n\npublic class Player : NetworkBehaviour \n{\n private readonly SyncList<Item> inventory = new SyncList<Item>();\n private readonly SyncList<Item> hotbar = new SyncList<Item>();\n\n // This will hook the callback on both server and client\n private void Awake()\n {\n inventory.OnChange += UpdateInventory;\n Identity.OnStartClient.AddListener(OnStartClient);\n }\n\n // Hotbar changes will only be invoked on clients\n private void OnStartClient() \n {\n hotbar.OnChange += UpdateHotbar;\n }\n\n private void UpdateInventory()\n {\n // Here you can refresh your UI for instance\n }\n\n private void UpdateHotbar()\n {\n // Here you can refresh your UI for instance\n }\n}\n")),(0,a.kt)("p",null,"By default, ",(0,a.kt)("inlineCode",{parentName:"p"},"SyncList")," uses a ",(0,a.kt)("a",{parentName:"p",href:"https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1?view=netstandard-2.0"},(0,a.kt)("inlineCode",{parentName:"a"},"List"))," to store its data. If you want to use a different list implementation, add a constructor and pass the list implementation to the parent constructor. For example:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncList<Item> myList = new SyncList<Item>(new MyIList<Item>());\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3e696d9c.52d4318f.js b/assets/js/3e696d9c.52d4318f.js new file mode 100644 index 00000000000..e6ae62aa97a --- /dev/null +++ b/assets/js/3e696d9c.52d4318f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6504],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>f});var i=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function n(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);r&&(i=i.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,i)}return t}function s(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?n(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):n(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function l(e,r){if(null==e)return{};var t,i,a=function(e,r){if(null==e)return{};var t,i,a={},n=Object.keys(e);for(i=0;i<n.length;i++)t=n[i],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)t=n[i],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=i.createContext({}),o=function(e){var r=i.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):s(s({},r),e)),t},p=function(e){var r=o(e.components);return i.createElement(c.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return i.createElement(i.Fragment,{},r)}},d=i.forwardRef((function(e,r){var t=e.components,a=e.mdxType,n=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),d=o(t),f=a,v=d["".concat(c,".").concat(f)]||d[f]||u[f]||n;return t?i.createElement(v,s(s({ref:r},p),{},{components:t})):i.createElement(v,s({ref:r},p))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var n=t.length,s=new Array(n);s[0]=d;var l={};for(var c in r)hasOwnProperty.call(r,c)&&(l[c]=r[c]);l.originalType=e,l.mdxType="string"==typeof e?e:a,s[1]=l;for(var o=2;o<n;o++)s[o]=t[o];return i.createElement.apply(null,s)}return i.createElement.apply(null,t)}d.displayName="MDXCreateElement"},23870:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>n,metadata:()=>l,toc:()=>o});var i=t(87462),a=(t(67294),t(3905));const n={id:"DisplayMetricsAverageGui",title:"DisplayMetricsAverageGui"},s="Class DisplayMetricsAverageGui",l={unversionedId:"reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui",id:"reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui",title:"DisplayMetricsAverageGui",description:"This is an example of how to show metrics, It only shows some of the values inside",source:"@site/docs/reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui.md",sourceDirName:"reference/Mirage.DisplayMetrics",slug:"/reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui",permalink:"/Mirage/docs/reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui.md",tags:[],version:"current",frontMatter:{id:"DisplayMetricsAverageGui",title:"DisplayMetricsAverageGui"},sidebar:"api",previous:{title:"Mirage.DisplayMetrics",permalink:"/Mirage/docs/reference/Mirage.DisplayMetrics/"},next:{title:"RequestServerMetrics",permalink:"/Mirage/docs/reference/Mirage.DisplayMetrics/RequestServerMetrics"}},c={},o=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"offset",id:"offset",level:4},{value:"Declaration",id:"declaration",level:5},{value:"background",id:"background",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Properties",id:"properties",level:3},{value:"Metrics",id:"metrics",level:4},{value:"Declaration",id:"declaration-2",level:5}],p={toc:o};function u(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,i.Z)({},p,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-displaymetricsaveragegui"},"Class DisplayMetricsAverageGui"),(0,a.kt)("p",null,"This is an example of how to show metrics, It only shows some of the values inside\nIf you want to show more of the values then create a copy of this class and add values to DrawAverage"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class DisplayMetricsAverageGui : MonoBehaviour\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"offset"},"offset"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public Rect offset\n")),(0,a.kt)("h4",{id:"background"},"background"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public Color background\n")),(0,a.kt)("h3",{id:"properties"},"Properties"),(0,a.kt)("h4",{id:"metrics"},"Metrics"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public Metrics Metrics { get; set; }\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3e6e00cc.92f06702.js b/assets/js/3e6e00cc.92f06702.js new file mode 100644 index 00000000000..aea232a8826 --- /dev/null +++ b/assets/js/3e6e00cc.92f06702.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4426],{3905:(t,e,n)=>{n.d(e,{Zo:()=>c,kt:()=>d});var a=n(67294);function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function i(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach((function(e){r(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function s(t,e){if(null==t)return{};var n,a,r=function(t,e){if(null==t)return{};var n,a,r={},o=Object.keys(t);for(a=0;a<o.length;a++)n=o[a],e.indexOf(n)>=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(a=0;a<o.length;a++)n=o[a],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var u=a.createContext({}),l=function(t){var e=a.useContext(u),n=e;return t&&(n="function"==typeof t?t(e):i(i({},e),t)),n},c=function(t){var e=l(t.components);return a.createElement(u.Provider,{value:e},t.children)},p={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},m=a.forwardRef((function(t,e){var n=t.components,r=t.mdxType,o=t.originalType,u=t.parentName,c=s(t,["components","mdxType","originalType","parentName"]),m=l(n),d=r,h=m["".concat(u,".").concat(d)]||m[d]||p[d]||o;return n?a.createElement(h,i(i({ref:e},c),{},{components:n})):a.createElement(h,i({ref:e},c))}));function d(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=n.length,i=new Array(o);i[0]=m;var s={};for(var u in e)hasOwnProperty.call(e,u)&&(s[u]=e[u]);s.originalType=t,s.mdxType="string"==typeof t?t:r,i[1]=s;for(var l=2;l<o;l++)i[l]=n[l];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},90285:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>u,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var a=n(87462),r=(n(67294),n(3905));const o={sidebar_position:3},i="Custom Authenticator",s={unversionedId:"guides/authentication/custom-authenticator",id:"guides/authentication/custom-authenticator",title:"Custom Authenticator",description:"To create a custom Authenticator, follow these steps:",source:"@site/docs/guides/authentication/custom-authenticator.md",sourceDirName:"guides/authentication",slug:"/guides/authentication/custom-authenticator",permalink:"/Mirage/docs/guides/authentication/custom-authenticator",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/authentication/custom-authenticator.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"docs",previous:{title:"Authenticator Settings",permalink:"/Mirage/docs/guides/authentication/authenticator-settings"},next:{title:"Basic Authenticator",permalink:"/Mirage/docs/guides/authentication/basic-authenticator"}},u={},l=[],c={toc:l};function p(t){let{components:e,...n}=t;return(0,r.kt)("wrapper",(0,a.Z)({},c,n,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"custom-authenticator"},"Custom Authenticator"),(0,r.kt)("p",null,"To create a custom Authenticator, follow these steps:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Inherit from the ",(0,r.kt)("inlineCode",{parentName:"li"},"NetworkAuthenticatorBase<T>")," class."),(0,r.kt)("li",{parentName:"ol"},"Create a network message that your authenticator will receive from the client."),(0,r.kt)("li",{parentName:"ol"},"Implement your authenticator to process this message and return a success or failure result."),(0,r.kt)("li",{parentName:"ol"},"Optionally, your authenticator can return additional data that you want to set on ",(0,r.kt)("inlineCode",{parentName:"li"},"INetworkPlayer.Authentication"),"."),(0,r.kt)("li",{parentName:"ol"},"Use the ",(0,r.kt)("inlineCode",{parentName:"li"},"GetData<T>()")," method to retrieve the custom data on the client-side."),(0,r.kt)("li",{parentName:"ol"},"Clients should use the ",(0,r.kt)("inlineCode",{parentName:"li"},"SendAuthentication(NetworkClient client, T msg)")," method provided by the authenticator to correctly send the authentication message.")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Step 1: Inherit from ",(0,r.kt)("inlineCode",{parentName:"strong"},"NetworkAuthenticatorBase<T>"))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class CustomAuthenticator : NetworkAuthenticator<CustomAuthMessage>\n {\n")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Step 2: Create a Network Message")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"[NetworkMessage]\n public struct CustomAuthMessage\n {\n // token used to validate user\n public string token;\n }\n")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Step 3: Implement the Authenticator")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},' public class CustomAuthenticator : NetworkAuthenticator<CustomAuthMessage>\n {\n protected override async UniTask<AuthenticationResult> AuthenticateAsync(INetworkPlayer player, CustomAuthMessage msg)\n {\n // check user sent token, if they didn\'t then return fail\n if (string.IsNullOrEmpty(msg.token))\n return AuthenticationResult.CreateFail("No token");\n\n // send token to api to validate it\n var result = await ValidateToken(msg.token);\n\n // return success or fail\n if (result.Success)\n {\n // create auth data, this will be set on NetworkPlayer.Authentication.Data\n var data = new CustomAuthenticationData\n {\n UserId = result.UserId,\n Username = result.UserName,\n };\n return AuthenticationResult.CreateSuccess(this, data);\n }\n else\n {\n return AuthenticationResult.CreateFail("Validate failed");\n }\n }\n\n private static async UniTask<ValidateResultJson> ValidateToken(string token)\n {\n var sendJson = JsonUtility.ToJson(new ValidateTokenJson { token = token });\n\n // make sure to send token over https\n#if UNITY_2022_3_OR_NEWER\n var webRequest = UnityWebRequest.PostWwwForm("https://example.com/api/validate", sendJson);\n#else\n var webRequest = UnityWebRequest.Post("https://example.com/api/validate", sendJson);\n#endif\n\n // wait for result\n var op = await webRequest.SendWebRequest();\n var text = op.downloadHandler.text;\n var result = JsonUtility.FromJson<ValidateResultJson>(text);\n return result;\n }\n\n private struct ValidateTokenJson\n {\n public string token;\n }\n\n private struct ValidateResultJson\n {\n public bool Success;\n public string UserId;\n public string UserName;\n }\n }\n')),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Step 4: Return Additional Data (Optional)")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class CustomAuthenticationData\n {\n public string UserId;\n public string Username;\n }\n")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Step 5: Retrieve Custom Data")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public string GetPlayerName(INetworkPlayer player)\n {\n // get the data and cast it to customAuth type\n var data = player.Authentication.GetData<CustomAuthenticationData>();\n\n // use the data to get the value you want from it\n return data.Username;\n }\n")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Step 6: Sending the Authentication Message"),"\nClients should use the ",(0,r.kt)("inlineCode",{parentName:"p"},"SendAuthentication(NetworkClient client, T msg)")," method to correctly send the authentication message."),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"Using ",(0,r.kt)("inlineCode",{parentName:"p"},"player.Send")," directly will not work because the authenticator message is wrapped in an internal ",(0,r.kt)("inlineCode",{parentName:"p"},"AuthMessage")," message.")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3f72e647.d425b585.js b/assets/js/3f72e647.d425b585.js new file mode 100644 index 00000000000..d7dbbcfa3fd --- /dev/null +++ b/assets/js/3f72e647.d425b585.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2501],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>m});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var u=a.createContext({}),p=function(e){var t=a.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},s=function(e){var t=p(e.components);return a.createElement(u.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,u=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),d=p(n),m=r,k=d["".concat(u,".").concat(m)]||d[m]||c[m]||i;return n?a.createElement(k,l(l({ref:t},s),{},{components:n})):a.createElement(k,l({ref:t},s))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=d;var o={};for(var u in t)hasOwnProperty.call(t,u)&&(o[u]=t[u]);o.originalType=e,o.mdxType="string"==typeof e?e:r,l[1]=o;for(var p=2;p<i;p++)l[p]=n[p];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}d.displayName="MDXCreateElement"},32386:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>l,default:()=>c,frontMatter:()=>i,metadata:()=>o,toc:()=>p});var a=n(87462),r=(n(67294),n(3905));const i={},l="Bit Count",o={unversionedId:"guides/bit-packing/bit-count",id:"guides/bit-packing/bit-count",title:"Bit Count",description:"The bit count of Integer based fields can be set using the BitCountAttribute.",source:"@site/docs/guides/bit-packing/bit-count.md",sourceDirName:"guides/bit-packing",slug:"/guides/bit-packing/bit-count",permalink:"/Mirage/docs/guides/bit-packing/bit-count",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/bit-packing/bit-count.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Bit Count From Range",permalink:"/Mirage/docs/guides/bit-packing/bit-count-from-range"},next:{title:"Float Pack",permalink:"/Mirage/docs/guides/bit-packing/float-pack"}},u={},p=[{value:"Use cases",id:"use-cases",level:3},{value:"Supported Types",id:"supported-types",level:3},{value:"Example 1",id:"example-1",level:3},{value:"Example 2",id:"example-2",level:3},{value:"Generated Code",id:"generated-code",level:3}],s={toc:p};function c(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,a.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"bit-count"},"Bit Count"),(0,r.kt)("p",null,"The bit count of Integer based fields can be set using the ",(0,r.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Serialization/BitCountAttribute"},"BitCountAttribute"),"."),(0,r.kt)("p",null,"This will truncate the bits so that only the small bits are sent. There is no range checking for values using BitCount, so the value that is too big or negative will not be unpacked correctly"),(0,r.kt)("p",null,"This means that ",(0,r.kt)("inlineCode",{parentName:"p"},"BitCount")," should not be used with values that can be negative because this data will be lost. If you do need to send negative values then use ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/bit-packing/zig-zag-encode"},"ZigZagEncode")," or ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/bit-packing/bit-count-from-range"},"BitCountFromRange")),(0,r.kt)("h3",{id:"use-cases"},"Use cases"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"A Value with a maximum value"),(0,r.kt)("li",{parentName:"ul"},"An index in an array of known size",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"eg array with 10 elements, the index can be sent as 4 bits"))),(0,r.kt)("li",{parentName:"ul"},"A Random int hash where you only need to send 16 bits")),(0,r.kt)("h3",{id:"supported-types"},"Supported Types"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Byte"),(0,r.kt)("li",{parentName:"ul"},"Short"),(0,r.kt)("li",{parentName:"ul"},"UShort"),(0,r.kt)("li",{parentName:"ul"},"Int"),(0,r.kt)("li",{parentName:"ul"},"Uint"),(0,r.kt)("li",{parentName:"ul"},"Long"),(0,r.kt)("li",{parentName:"ul"},"ULong"),(0,r.kt)("li",{parentName:"ul"},"Enum")),(0,r.kt)("h3",{id:"example-1"},"Example 1"),(0,r.kt)("p",null,"Health which is between 0 and 100"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class MyNetworkBehaviour : NetworkBehaviour \n{\n [SyncVar, BitCount(7)]\n public int Health;\n}\n")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"BitCount = 7")," so max value of Health is ",(0,r.kt)("inlineCode",{parentName:"p"},"127")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"health = 57")," will serialize to ",(0,r.kt)("inlineCode",{parentName:"p"},"011_1001")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"health = -1")," ",(0,r.kt)("em",{parentName:"p"},"(out of range)")," will serialize to ",(0,r.kt)("inlineCode",{parentName:"p"},"111_1111")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"health = 130")," ",(0,r.kt)("em",{parentName:"p"},"(out of range)")," will serialize to ",(0,r.kt)("inlineCode",{parentName:"p"},"000_0010")),(0,r.kt)("h3",{id:"example-2"},"Example 2"),(0,r.kt)("p",null,"Weapon index in a list of 6 weapons"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class MyNetworkBehaviour : NetworkBehaviour \n{\n [SyncVar, BitCount(3)]\n public int WeaponIndex;\n}\n")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"BitCount = 3")," so max value of Health is 7"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"WeaponIndex = 5")," will serialize to ",(0,r.kt)("inlineCode",{parentName:"p"},"101")),(0,r.kt)("h3",{id:"generated-code"},"Generated Code"),(0,r.kt)("p",null,"Source:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"[SyncVar, BitCount(7)]\npublic int myValue;\n")),(0,r.kt)("p",null,"Generated:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public override bool SerializeSyncVars(NetworkWriter writer, bool initialState)\n{\n ulong syncVarDirtyBits = base.SyncVarDirtyBits;\n bool result = base.SerializeSyncVars(writer, initialize);\n\n if (initialState) \n {\n writer.Write((ulong)this.myValue, 7);\n return true;\n }\n\n writer.Write(syncVarDirtyBits, 1);\n if ((syncVarDirtyBits & 1UL) != 0UL)\n {\n writer.Write((ulong)this.myValue, 7);\n result = true;\n }\n\n return result;\n}\n\npublic override void DeserializeSyncVars(NetworkReader reader, bool initialState)\n{\n base.DeserializeSyncVars(reader, initialState);\n\n if (initialState)\n {\n this.myValue = reader.Read(7);\n return;\n }\n\n ulong dirtyMask = reader.Read(1);\n if ((dirtyMask & 1UL) != 0UL)\n {\n this.myValue = reader.Read(7);\n }\n}\n")),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Last updated for Mirage v101.8.0.")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3ffe27c8.d341a60b.js b/assets/js/3ffe27c8.d341a60b.js new file mode 100644 index 00000000000..f704f6fd128 --- /dev/null +++ b/assets/js/3ffe27c8.d341a60b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6680],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>k});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var c=n.createContext({}),s=function(e){var t=n.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,c=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),p=s(a),k=r,m=p["".concat(c,".").concat(k)]||p[k]||u[k]||i;return a?n.createElement(m,l(l({ref:t},d),{},{components:a})):n.createElement(m,l({ref:t},d))}));function k(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,l=new Array(i);l[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:r,l[1]=o;for(var s=2;s<i;s++)l[s]=a[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,a)}p.displayName="MDXCreateElement"},81084:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var n=a(87462),r=(a(67294),a(3905));const i={id:"INetworkPlayer",title:"INetworkPlayer"},l="Interface INetworkPlayer",o={unversionedId:"reference/Mirage/INetworkPlayer",id:"reference/Mirage/INetworkPlayer",title:"INetworkPlayer",description:"An object owned by a player that can: send/receive messages, have network visibility, be an object owner, authenticated permissions, and load scenes.",source:"@site/docs/reference/Mirage/INetworkPlayer.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/INetworkPlayer",permalink:"/Mirage/docs/reference/Mirage/INetworkPlayer",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/INetworkPlayer.md",tags:[],version:"current",frontMatter:{id:"INetworkPlayer",title:"INetworkPlayer"},sidebar:"api",previous:{title:"INetIdGenerator",permalink:"/Mirage/docs/reference/Mirage/INetIdGenerator"},next:{title:"INetworkVisibility",permalink:"/Mirage/docs/reference/Mirage/INetworkVisibility"}},c={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"Address",id:"address",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Connection",id:"connection",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Authentication",id:"authentication",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"IsAuthenticated",id:"isauthenticated",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"IsHost",id:"ishost",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Methods",id:"methods",level:3},{value:"SetAuthentication(PlayerAuthentication, Boolean)",id:"setauthenticationplayerauthentication-boolean",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Disconnect()",id:"disconnect",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"MarkAsDisconnected()",id:"markasdisconnected",level:4},{value:"Declaration",id:"declaration-7",level:5}],d={toc:s};function u(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"interface-inetworkplayer"},"Interface INetworkPlayer"),(0,r.kt)("p",null,"An object owned by a player that can: send/receive messages, have network visibility, be an object owner, authenticated permissions, and load scenes.\nMay be from the server to client or from client to server"),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public interface INetworkPlayer : IMessageSender, IVisibilityTracker, IObjectOwner, ISceneLoader\n")),(0,r.kt)("h3",{id:"properties"},"Properties"),(0,r.kt)("h4",{id:"address"},"Address"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"IEndPoint Address { get; }\n")),(0,r.kt)("h4",{id:"connection"},"Connection"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"IConnection Connection { get; }\n")),(0,r.kt)("h4",{id:"authentication"},"Authentication"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"PlayerAuthentication Authentication { get; }\n")),(0,r.kt)("h4",{id:"isauthenticated"},"IsAuthenticated"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"bool IsAuthenticated { get; }\n")),(0,r.kt)("h4",{id:"ishost"},"IsHost"),(0,r.kt)("p",null,"True if this Player is the local player on the server or client"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"bool IsHost { get; }\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"setauthenticationplayerauthentication-boolean"},"SetAuthentication(PlayerAuthentication, Boolean)"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void SetAuthentication(PlayerAuthentication authentication, bool allowReplace = false)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Authentication.PlayerAuthentication"),(0,r.kt)("td",{parentName:"tr",align:null},"authentication"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"allowReplace"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"disconnect"},"Disconnect()"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void Disconnect()\n")),(0,r.kt)("h4",{id:"markasdisconnected"},"MarkAsDisconnected()"),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void MarkAsDisconnected()\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4105dd5f.19fe9ecd.js b/assets/js/4105dd5f.19fe9ecd.js new file mode 100644 index 00000000000..2a3f606091d --- /dev/null +++ b/assets/js/4105dd5f.19fe9ecd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3526],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function s(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=r.createContext({}),c=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},u=function(e){var t=c(e.components);return r.createElement(o.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=c(a),m=n,h=p["".concat(o,".").concat(m)]||p[m]||d[m]||i;return a?r.createElement(h,l(l({ref:t},u),{},{components:a})):r.createElement(h,l({ref:t},u))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,l=new Array(i);l[0]=p;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s.mdxType="string"==typeof e?e:n,l[1]=s;for(var c=2;c<i;c++)l[c]=a[c];return r.createElement.apply(null,l)}return r.createElement.apply(null,a)}p.displayName="MDXCreateElement"},51488:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var r=a(87462),n=(a(67294),a(3905));const i={id:"SessionIdAuthenticator",title:"SessionIdAuthenticator"},l="Class SessionIdAuthenticator",s={unversionedId:"reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator",id:"reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator",title:"SessionIdAuthenticator",description:"Inheritance",source:"@site/docs/reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator.md",sourceDirName:"reference/Mirage.Authenticators.SessionId",slug:"/reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator.md",tags:[],version:"current",frontMatter:{id:"SessionIdAuthenticator",title:"SessionIdAuthenticator"},sidebar:"api",previous:{title:"SessionData",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionData"},next:{title:"SessionKeyMessage",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionKeyMessage"}},o={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"NO_KEY_ERROR",id:"no_key_error",level:4},{value:"Declaration",id:"declaration",level:5},{value:"NOT_FOUND_ERROR",id:"not_found_error",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"SessionIDLength",id:"sessionidlength",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"TimeoutMinutes",id:"timeoutminutes",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"ClientIdStore",id:"clientidstore",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Methods",id:"methods",level:3},{value:"Authenticate(INetworkPlayer, SessionKeyMessage)",id:"authenticateinetworkplayer-sessionkeymessage",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"CreateOrRefreshSession(INetworkPlayer)",id:"createorrefreshsessioninetworkplayer",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5}],u={toc:c};function d(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-sessionidauthenticator"},"Class SessionIdAuthenticator"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Authentication.NetworkAuthenticator"),(0,n.kt)("div",{class:"level",style:{"--data-index":2}},"Mirage.Authentication.NetworkAuthenticator<Mirage.Authenticators.SessionId.SessionKeyMessage>")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show"),(0,n.kt)("p",null,"Mirage.Authentication.NetworkAuthenticator","<","Mirage.Authenticators.SessionId.SessionKeyMessage",">",".AuthenticateAsync(Mirage.INetworkPlayer, Mirage.Authenticators.SessionId.SessionKeyMessage)"),(0,n.kt)("p",null,"Mirage.Authentication.NetworkAuthenticator","<","Mirage.Authenticators.SessionId.SessionKeyMessage",">",".SendAuthentication(Mirage.NetworkClient, Mirage.Authenticators.SessionId.SessionKeyMessage)"),(0,n.kt)("p",null,"Mirage.Authentication.NetworkAuthenticator.AuthenticatorName")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class SessionIdAuthenticator : NetworkAuthenticator<SessionKeyMessage>, INetworkAuthenticator\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"no_key_error"},"NO_KEY_ERROR"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},'public const string NO_KEY_ERROR = "Empty key from client"\n')),(0,n.kt)("h4",{id:"not_found_error"},"NOT_FOUND_ERROR"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},'public const string NOT_FOUND_ERROR = "No session found"\n')),(0,n.kt)("h4",{id:"sessionidlength"},"SessionIDLength"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public int SessionIDLength\n")),(0,n.kt)("h4",{id:"timeoutminutes"},"TimeoutMinutes"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public int TimeoutMinutes\n")),(0,n.kt)("h4",{id:"clientidstore"},"ClientIdStore"),(0,n.kt)("p",null,"Set on client to save key somewhere. For example as a cookie on webgl"),(0,n.kt)("p",null,"By default it is just stored in memory"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public ISessionIdStore ClientIdStore\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"authenticateinetworkplayer-sessionkeymessage"},"Authenticate(INetworkPlayer, SessionKeyMessage)"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected override AuthenticationResult Authenticate(INetworkPlayer player, SessionKeyMessage message)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Authenticators.SessionId.SessionKeyMessage"),(0,n.kt)("td",{parentName:"tr",align:null},"message"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Authentication.AuthenticationResult"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"createorrefreshsessioninetworkplayer"},"CreateOrRefreshSession(INetworkPlayer)"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public ArraySegment<byte> CreateOrRefreshSession(INetworkPlayer player)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,n.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4165009c.92c0de8e.js b/assets/js/4165009c.92c0de8e.js new file mode 100644 index 00000000000..bbf498bdcb6 --- /dev/null +++ b/assets/js/4165009c.92c0de8e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2477],{3905:(e,t,r)=>{r.d(t,{Zo:()=>k,kt:()=>d});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,a,i=function(e,t){if(null==e)return{};var r,a,i={},n=Object.keys(e);for(a=0;a<n.length;a++)r=n[a],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)r=n[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=a.createContext({}),s=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},k=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var r=e.components,i=e.mdxType,n=e.originalType,c=e.parentName,k=l(e,["components","mdxType","originalType","parentName"]),p=s(r),d=i,h=p["".concat(c,".").concat(d)]||p[d]||u[d]||n;return r?a.createElement(h,o(o({ref:t},k),{},{components:r})):a.createElement(h,o({ref:t},k))}));function d(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var n=r.length,o=new Array(n);o[0]=p;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:i,o[1]=l;for(var s=2;s<n;s++)o[s]=r[s];return a.createElement.apply(null,o)}return a.createElement.apply(null,r)}p.displayName="MDXCreateElement"},58383:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>n,metadata:()=>l,toc:()=>s});var a=r(87462),i=(r(67294),r(3905));const n={id:"Mirage.Serialization",title:"Mirage.Serialization"},o="Mirage.Serialization",l={unversionedId:"reference/Mirage.Serialization/Mirage.Serialization",id:"reference/Mirage.Serialization/Mirage.Serialization",title:"Mirage.Serialization",description:"Classes",source:"@site/docs/reference/Mirage.Serialization/index.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/",permalink:"/Mirage/docs/reference/Mirage.Serialization/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/index.md",tags:[],version:"current",frontMatter:{id:"Mirage.Serialization",title:"Mirage.Serialization"},sidebar:"api",previous:{title:"ServerRpcSender",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/ServerRpcSender"},next:{title:"AnglePacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/AnglePacker"}},c={},s=[{value:"Classes",id:"classes",level:2},{value:"AnglePacker",id:"anglepacker",level:4},{value:"BitCountAttribute",id:"bitcountattribute",level:4},{value:"BitCountFromRangeAttribute",id:"bitcountfromrangeattribute",level:4},{value:"BitHelper",id:"bithelper",level:4},{value:"BitMask",id:"bitmask",level:4},{value:"CollectionExtensions",id:"collectionextensions",level:4},{value:"CompressedExtensions",id:"compressedextensions",level:4},{value:"FloatPackAttribute",id:"floatpackattribute",level:4},{value:"FloatPacker",id:"floatpacker",level:4},{value:"FromBitCount",id:"frombitcount",level:4},{value:"GenericTypesSerializationExtensions",id:"generictypesserializationextensions",level:4},{value:"MessageIdCache<T>",id:"messageidcachet",level:4},{value:"MessagePacker",id:"messagepacker",level:4},{value:"MirageNetworkReader",id:"miragenetworkreader",level:4},{value:"MirageTypesExtensions",id:"miragetypesextensions",level:4},{value:"NetworkReader",id:"networkreader",level:4},{value:"NetworkReaderPool",id:"networkreaderpool",level:4},{value:"NetworkWriter",id:"networkwriter",level:4},{value:"NetworkWriterPool",id:"networkwriterpool",level:4},{value:"PackedExtensions",id:"packedextensions",level:4},{value:"PooledNetworkReader",id:"poolednetworkreader",level:4},{value:"PooledNetworkWriter",id:"poolednetworkwriter",level:4},{value:"QuaternionPackAttribute",id:"quaternionpackattribute",level:4},{value:"QuaternionPacker",id:"quaternionpacker",level:4},{value:"Reader<T>",id:"readert",level:4},{value:"StringExtensions",id:"stringextensions",level:4},{value:"SystemTypesExtensions",id:"systemtypesextensions",level:4},{value:"UnityTypesExtensions",id:"unitytypesextensions",level:4},{value:"VarDoublePacker",id:"vardoublepacker",level:4},{value:"VarFloatPacker",id:"varfloatpacker",level:4},{value:"VarIntAttribute",id:"varintattribute",level:4},{value:"VarIntBlocksAttribute",id:"varintblocksattribute",level:4},{value:"VarIntBlocksPacker",id:"varintblockspacker",level:4},{value:"VarIntPacker",id:"varintpacker",level:4},{value:"VarVector2Packer",id:"varvector2packer",level:4},{value:"VarVector3Packer",id:"varvector3packer",level:4},{value:"Vector2PackAttribute",id:"vector2packattribute",level:4},{value:"Vector2Packer",id:"vector2packer",level:4},{value:"Vector3PackAttribute",id:"vector3packattribute",level:4},{value:"Vector3Packer",id:"vector3packer",level:4},{value:"WeaverIgnoreAttribute",id:"weaverignoreattribute",level:4},{value:"WeaverSerializeCollectionAttribute",id:"weaverserializecollectionattribute",level:4},{value:"WeaverWriteAsGenericAttribute",id:"weaverwriteasgenericattribute",level:4},{value:"Writer<T>",id:"writert",level:4},{value:"ZigZag",id:"zigzag",level:4},{value:"ZigZagEncodeAttribute",id:"zigzagencodeattribute",level:4}],k={toc:s};function u(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,a.Z)({},k,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"mirageserialization"},"Mirage.Serialization"),(0,i.kt)("h2",{id:"classes"},"Classes"),(0,i.kt)("h4",{id:"anglepacker"},(0,i.kt)("a",{parentName:"h4",href:"./AnglePacker"},"AnglePacker")),(0,i.kt)("h4",{id:"bitcountattribute"},(0,i.kt)("a",{parentName:"h4",href:"./BitCountAttribute"},"BitCountAttribute")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Tells weaver how many bits to sue for field\nOnly works with integer fields (byte, int, ulong, enums etc)")),(0,i.kt)("p",null,"NOTE: bits are truncated when using this, so signed values will lose their sign. Use as well if value might be negative"),(0,i.kt)("p",null,"Also See: Bit Packing Documentation"),(0,i.kt)("h4",{id:"bitcountfromrangeattribute"},(0,i.kt)("a",{parentName:"h4",href:"./BitCountFromRangeAttribute"},"BitCountFromRangeAttribute")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Calculates bitcount from then given min/max values and then packs using\nAlso See: Bit Packing Documentation")),(0,i.kt)("h4",{id:"bithelper"},(0,i.kt)("a",{parentName:"h4",href:"./BitHelper"},"BitHelper")),(0,i.kt)("h4",{id:"bitmask"},(0,i.kt)("a",{parentName:"h4",href:"./BitMask"},"BitMask")),(0,i.kt)("h4",{id:"collectionextensions"},(0,i.kt)("a",{parentName:"h4",href:"./CollectionExtensions"},"CollectionExtensions")),(0,i.kt)("h4",{id:"compressedextensions"},(0,i.kt)("a",{parentName:"h4",href:"./CompressedExtensions"},"CompressedExtensions")),(0,i.kt)("h4",{id:"floatpackattribute"},(0,i.kt)("a",{parentName:"h4",href:"./FloatPackAttribute"},"FloatPackAttribute")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Packs a float field, clamped from -max to +max, with\nAlso See: Bit Packing Documentation")),(0,i.kt)("h4",{id:"floatpacker"},(0,i.kt)("a",{parentName:"h4",href:"./FloatPacker"},"FloatPacker")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Helps compresses a float into a reduced number of bits")),(0,i.kt)("h4",{id:"frombitcount"},(0,i.kt)("a",{parentName:"h4",href:"./FromBitCount"},"FromBitCount")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"The max value for N number of bits")),(0,i.kt)("h4",{id:"generictypesserializationextensions"},(0,i.kt)("a",{parentName:"h4",href:"./GenericTypesSerializationExtensions"},"GenericTypesSerializationExtensions")),(0,i.kt)("h4",{id:"messageidcachet"},(0,i.kt)("a",{parentName:"h4",href:"./MessageIdCache-1"},"MessageIdCache","<","T",">")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Class that will cache the ID for type T\navoids needing to calculate the stable hash of the full name each time a message is sent")),(0,i.kt)("h4",{id:"messagepacker"},(0,i.kt)("a",{parentName:"h4",href:"./MessagePacker"},"MessagePacker")),(0,i.kt)("h4",{id:"miragenetworkreader"},(0,i.kt)("a",{parentName:"h4",href:"./MirageNetworkReader"},"MirageNetworkReader")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"NetworkReader but has a ObjectLocator field that can be used by Reader functions to fetch NetworkIdentity")),(0,i.kt)("h4",{id:"miragetypesextensions"},(0,i.kt)("a",{parentName:"h4",href:"./MirageTypesExtensions"},"MirageTypesExtensions")),(0,i.kt)("h4",{id:"networkreader"},(0,i.kt)("a",{parentName:"h4",href:"./NetworkReader"},"NetworkReader")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Bit writer, writes values to a buffer on a bit level\nUse to reduce memory allocation")),(0,i.kt)("h4",{id:"networkreaderpool"},(0,i.kt)("a",{parentName:"h4",href:"./NetworkReaderPool"},"NetworkReaderPool")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Holds static reference to of ")),(0,i.kt)("h4",{id:"networkwriter"},(0,i.kt)("a",{parentName:"h4",href:"./NetworkWriter"},"NetworkWriter")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Bit writer, writes values to a buffer on a bit level\nUse to reduce memory allocation")),(0,i.kt)("h4",{id:"networkwriterpool"},(0,i.kt)("a",{parentName:"h4",href:"./NetworkWriterPool"},"NetworkWriterPool")),(0,i.kt)("h4",{id:"packedextensions"},(0,i.kt)("a",{parentName:"h4",href:"./PackedExtensions"},"PackedExtensions")),(0,i.kt)("h4",{id:"poolednetworkreader"},(0,i.kt)("a",{parentName:"h4",href:"./PooledNetworkReader"},"PooledNetworkReader")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"NetworkReader to be used with ")),(0,i.kt)("h4",{id:"poolednetworkwriter"},(0,i.kt)("a",{parentName:"h4",href:"./PooledNetworkWriter"},"PooledNetworkWriter")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"NetworkWriter to be used with ")),(0,i.kt)("h4",{id:"quaternionpackattribute"},(0,i.kt)("a",{parentName:"h4",href:"./QuaternionPackAttribute"},"QuaternionPackAttribute")),(0,i.kt)("h4",{id:"quaternionpacker"},(0,i.kt)("a",{parentName:"h4",href:"./QuaternionPacker"},"QuaternionPacker")),(0,i.kt)("h4",{id:"readert"},(0,i.kt)("a",{parentName:"h4",href:"./Reader-1"},"Reader","<","T",">")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"a class that holds readers for the different types\nNote that c# creates a different static variable for each\ntype\nThis will be populated by the weaver")),(0,i.kt)("h4",{id:"stringextensions"},(0,i.kt)("a",{parentName:"h4",href:"./StringExtensions"},"StringExtensions")),(0,i.kt)("h4",{id:"systemtypesextensions"},(0,i.kt)("a",{parentName:"h4",href:"./SystemTypesExtensions"},"SystemTypesExtensions")),(0,i.kt)("h4",{id:"unitytypesextensions"},(0,i.kt)("a",{parentName:"h4",href:"./UnityTypesExtensions"},"UnityTypesExtensions")),(0,i.kt)("h4",{id:"vardoublepacker"},(0,i.kt)("a",{parentName:"h4",href:"./VarDoublePacker"},"VarDoublePacker")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Packs a double using and ")),(0,i.kt)("h4",{id:"varfloatpacker"},(0,i.kt)("a",{parentName:"h4",href:"./VarFloatPacker"},"VarFloatPacker")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Packs a float using and ")),(0,i.kt)("h4",{id:"varintattribute"},(0,i.kt)("a",{parentName:"h4",href:"./VarIntAttribute"},"VarIntAttribute")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Tells weaver the max range for small, medium and large values.\nAllows small values to be sent using less bits\nOnly works with integer fields (byte, int, ulong, enums etc)")),(0,i.kt)("h4",{id:"varintblocksattribute"},(0,i.kt)("a",{parentName:"h4",href:"./VarIntBlocksAttribute"},"VarIntBlocksAttribute")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Tells weaver the block size to use for packing int values\nAllows small values to be sent using less bits\nOnly works with integer fields (byte, int, ulong, enums etc)")),(0,i.kt)("h4",{id:"varintblockspacker"},(0,i.kt)("a",{parentName:"h4",href:"./VarIntBlocksPacker"},"VarIntBlocksPacker")),(0,i.kt)("h4",{id:"varintpacker"},(0,i.kt)("a",{parentName:"h4",href:"./VarIntPacker"},"VarIntPacker")),(0,i.kt)("h4",{id:"varvector2packer"},(0,i.kt)("a",{parentName:"h4",href:"./VarVector2Packer"},"VarVector2Packer")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Packs a vector3 using and ")),(0,i.kt)("h4",{id:"varvector3packer"},(0,i.kt)("a",{parentName:"h4",href:"./VarVector3Packer"},"VarVector3Packer")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Packs a vector3 using and ")),(0,i.kt)("h4",{id:"vector2packattribute"},(0,i.kt)("a",{parentName:"h4",href:"./Vector2PackAttribute"},"Vector2PackAttribute")),(0,i.kt)("h4",{id:"vector2packer"},(0,i.kt)("a",{parentName:"h4",href:"./Vector2Packer"},"Vector2Packer")),(0,i.kt)("h4",{id:"vector3packattribute"},(0,i.kt)("a",{parentName:"h4",href:"./Vector3PackAttribute"},"Vector3PackAttribute")),(0,i.kt)("h4",{id:"vector3packer"},(0,i.kt)("a",{parentName:"h4",href:"./Vector3Packer"},"Vector3Packer")),(0,i.kt)("h4",{id:"weaverignoreattribute"},(0,i.kt)("a",{parentName:"h4",href:"./WeaverIgnoreAttribute"},"WeaverIgnoreAttribute")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Tells Weaver to ignore an Extension method")),(0,i.kt)("h4",{id:"weaverserializecollectionattribute"},(0,i.kt)("a",{parentName:"h4",href:"./WeaverSerializeCollectionAttribute"},"WeaverSerializeCollectionAttribute")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Tells weaver to use this method to write a generic type or collection\nCan also be used for other generic types like Nullable")),(0,i.kt)("h4",{id:"weaverwriteasgenericattribute"},(0,i.kt)("a",{parentName:"h4",href:"./WeaverWriteAsGenericAttribute"},"WeaverWriteAsGenericAttribute")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Tells Weaver to serialize a type as generic instead of creating a custom functions.")),(0,i.kt)("p",null,"Use this when you have created and assigned your own Read/Write functions\nor when you can","'","t use extension methods for types and need to manually assign them."),(0,i.kt)("p",null,"This will cause Weaver to use the and generic functions instead of creating new ones.\nYou must set these functions manually when using this attribute."),(0,i.kt)("h4",{id:"writert"},(0,i.kt)("a",{parentName:"h4",href:"./Writer-1"},"Writer","<","T",">")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"a class that holds writers for the different types\nNote that c# creates a different static variable for each\ntype\nThis will be populated by the weaver")),(0,i.kt)("h4",{id:"zigzag"},(0,i.kt)("a",{parentName:"h4",href:"./ZigZag"},"ZigZag")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"See zigzag encoding")),(0,i.kt)("h4",{id:"zigzagencodeattribute"},(0,i.kt)("a",{parentName:"h4",href:"./ZigZagEncodeAttribute"},"ZigZagEncodeAttribute")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Used along size to encodes a integer value using so that both positive and negative values can be sent\nAlso See: Bit Packing Documentation")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/45fa5813.01e4c0aa.js b/assets/js/45fa5813.01e4c0aa.js new file mode 100644 index 00000000000..d473b7751d2 --- /dev/null +++ b/assets/js/45fa5813.01e4c0aa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5645],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>m});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var o=r.createContext({}),p=function(e){var t=r.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=p(e.components);return r.createElement(o.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),d=p(n),m=a,b=d["".concat(o,".").concat(m)]||d[m]||u[m]||i;return n?r.createElement(b,c(c({ref:t},s),{},{components:n})):r.createElement(b,c({ref:t},s))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,c=new Array(i);c[0]=d;var l={};for(var o in t)hasOwnProperty.call(t,o)&&(l[o]=t[o]);l.originalType=e,l.mdxType="string"==typeof e?e:a,c[1]=l;for(var p=2;p<i;p++)c[p]=n[p];return r.createElement.apply(null,c)}return r.createElement.apply(null,n)}d.displayName="MDXCreateElement"},82688:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>p});var r=n(87462),a=(n(67294),n(3905));const i={id:"SpawnObjectException",title:"SpawnObjectException"},c="Class SpawnObjectException",l={unversionedId:"reference/Mirage/SpawnObjectException",id:"reference/Mirage/SpawnObjectException",title:"SpawnObjectException",description:"Exception thrown when spawning fails",source:"@site/docs/reference/Mirage/SpawnObjectException.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SpawnObjectException",permalink:"/Mirage/docs/reference/Mirage/SpawnObjectException",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SpawnObjectException.md",tags:[],version:"current",frontMatter:{id:"SpawnObjectException",title:"SpawnObjectException"},sidebar:"api",previous:{title:"SpawnMessage",permalink:"/Mirage/docs/reference/Mirage/SpawnMessage"},next:{title:"SpawnValues",permalink:"/Mirage/docs/reference/Mirage/SpawnValues"}},o={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"SpawnObjectException(String)",id:"spawnobjectexceptionstring",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5}],s={toc:p};function u(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-spawnobjectexception"},"Class SpawnObjectException"),(0,a.kt)("p",null,"Exception thrown when spawning fails"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,a.kt)("div",{class:"level",style:{"--data-index":1}},"System.Exception")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class SpawnObjectException : Exception, _Exception, ISerializable\n")),(0,a.kt)("h3",{id:"constructors"},"Constructors"),(0,a.kt)("h4",{id:"spawnobjectexceptionstring"},"SpawnObjectException(String)"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public SpawnObjectException(string message)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.String"),(0,a.kt)("td",{parentName:"tr",align:null},"message"),(0,a.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/466aa417.3cbdb40f.js b/assets/js/466aa417.3cbdb40f.js new file mode 100644 index 00000000000..c972d7d7974 --- /dev/null +++ b/assets/js/466aa417.3cbdb40f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2019],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>m});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},d=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),u=s(r),m=i,f=u["".concat(l,".").concat(m)]||u[m]||p[m]||a;return r?n.createElement(f,c(c({ref:t},d),{},{components:r})):n.createElement(f,c({ref:t},d))}));function m(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,c=new Array(a);c[0]=u;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o.mdxType="string"==typeof e?e:i,c[1]=o;for(var s=2;s<a;s++)c[s]=r[s];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},59268:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>p,frontMatter:()=>a,metadata:()=>o,toc:()=>s});var n=r(87462),i=(r(67294),r(3905));const a={id:"InitUDP",title:"InitUDP"},c="Class InitUDP",o={unversionedId:"reference/Mirage.Sockets.Udp/InitUDP",id:"reference/Mirage.Sockets.Udp/InitUDP",title:"InitUDP",description:"Inheritance",source:"@site/docs/reference/Mirage.Sockets.Udp/InitUDP.md",sourceDirName:"reference/Mirage.Sockets.Udp",slug:"/reference/Mirage.Sockets.Udp/InitUDP",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/InitUDP",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Sockets.Udp/InitUDP.md",tags:[],version:"current",frontMatter:{id:"InitUDP",title:"InitUDP"},sidebar:"api",previous:{title:"EndPointWrapper",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/EndPointWrapper"},next:{title:"NanoEndPoint",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoEndPoint"}},l={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"Init()",id:"init",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Deinit()",id:"deinit",level:4},{value:"Declaration",id:"declaration-1",level:5}],d={toc:s};function p(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-initudp"},"Class InitUDP"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public static class InitUDP\n")),(0,i.kt)("h3",{id:"methods"},"Methods"),(0,i.kt)("h4",{id:"init"},"Init()"),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public static void Init()\n")),(0,i.kt)("h4",{id:"deinit"},"Deinit()"),(0,i.kt)("h5",{id:"declaration-1"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public static void Deinit()\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/46f8bbcb.403b9225.js b/assets/js/46f8bbcb.403b9225.js new file mode 100644 index 00000000000..ff0cac9175a --- /dev/null +++ b/assets/js/46f8bbcb.403b9225.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9660],{3905:(e,t,n)=>{n.d(t,{Zo:()=>y,kt:()=>p});var r=n(67294);function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){c(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,c=function(e,t){if(null==e)return{};var n,r,c={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(c[n]=e[n]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(c[n]=e[n])}return c}var o=r.createContext({}),s=function(e){var t=r.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},y=function(e){var t=s(e.components);return r.createElement(o.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,c=e.mdxType,a=e.originalType,o=e.parentName,y=l(e,["components","mdxType","originalType","parentName"]),d=s(n),p=c,f=d["".concat(o,".").concat(p)]||d[p]||u[p]||a;return n?r.createElement(f,i(i({ref:t},y),{},{components:n})):r.createElement(f,i({ref:t},y))}));function p(e,t){var n=arguments,c=t&&t.mdxType;if("string"==typeof e||c){var a=n.length,i=new Array(a);i[0]=d;var l={};for(var o in t)hasOwnProperty.call(t,o)&&(l[o]=t[o]);l.originalType=e,l.mdxType="string"==typeof e?e:c,i[1]=l;for(var s=2;s<a;s++)i[s]=n[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}d.displayName="MDXCreateElement"},99578:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var r=n(87462),c=(n(67294),n(3905));const a={id:"Mirage.Collections",title:"Mirage.Collections"},i="Mirage.Collections",l={unversionedId:"reference/Mirage.Collections/Mirage.Collections",id:"reference/Mirage.Collections/Mirage.Collections",title:"Mirage.Collections",description:"Classes",source:"@site/docs/reference/Mirage.Collections/index.md",sourceDirName:"reference/Mirage.Collections",slug:"/reference/Mirage.Collections/",permalink:"/Mirage/docs/reference/Mirage.Collections/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Collections/index.md",tags:[],version:"current",frontMatter:{id:"Mirage.Collections",title:"Mirage.Collections"},sidebar:"api",previous:{title:"SessionKeyMessage",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionKeyMessage"},next:{title:"ISyncObject",permalink:"/Mirage/docs/reference/Mirage.Collections/ISyncObject"}},o={},s=[{value:"Classes",id:"classes",level:2},{value:"SyncDictionary<TKey, TValue>",id:"syncdictionarytkey-tvalue",level:4},{value:"SyncHashSet<T>",id:"synchashsett",level:4},{value:"SyncIDictionary<TKey, TValue>",id:"syncidictionarytkey-tvalue",level:4},{value:"SyncList<T>",id:"synclistt",level:4},{value:"SyncObjectUtils",id:"syncobjectutils",level:4},{value:"SyncSet<T>",id:"syncsett",level:4},{value:"SyncSortedSet<T>",id:"syncsortedsett",level:4},{value:"SyncStack<T>",id:"syncstackt",level:4},{value:"Structs",id:"structs",level:2},{value:"SyncList<T>.Enumerator",id:"synclisttenumerator",level:4},{value:"Interfaces",id:"interfaces",level:2},{value:"ISyncObject",id:"isyncobject",level:4}],y={toc:s};function u(e){let{components:t,...n}=e;return(0,c.kt)("wrapper",(0,r.Z)({},y,n,{components:t,mdxType:"MDXLayout"}),(0,c.kt)("h1",{id:"miragecollections"},"Mirage.Collections"),(0,c.kt)("h2",{id:"classes"},"Classes"),(0,c.kt)("h4",{id:"syncdictionarytkey-tvalue"},(0,c.kt)("a",{parentName:"h4",href:"./SyncDictionary-2"},"SyncDictionary","<","TKey, TValue",">")),(0,c.kt)("h4",{id:"synchashsett"},(0,c.kt)("a",{parentName:"h4",href:"./SyncHashSet-1"},"SyncHashSet","<","T",">")),(0,c.kt)("h4",{id:"syncidictionarytkey-tvalue"},(0,c.kt)("a",{parentName:"h4",href:"./SyncIDictionary-2"},"SyncIDictionary","<","TKey, TValue",">")),(0,c.kt)("h4",{id:"synclistt"},(0,c.kt)("a",{parentName:"h4",href:"./SyncList-1"},"SyncList","<","T",">")),(0,c.kt)("h4",{id:"syncobjectutils"},(0,c.kt)("a",{parentName:"h4",href:"./SyncObjectUtils"},"SyncObjectUtils")),(0,c.kt)("h4",{id:"syncsett"},(0,c.kt)("a",{parentName:"h4",href:"./SyncSet-1"},"SyncSet","<","T",">")),(0,c.kt)("h4",{id:"syncsortedsett"},(0,c.kt)("a",{parentName:"h4",href:"./SyncSortedSet-1"},"SyncSortedSet","<","T",">")),(0,c.kt)("h4",{id:"syncstackt"},(0,c.kt)("a",{parentName:"h4",href:"./SyncStack-1"},"SyncStack","<","T",">")),(0,c.kt)("h2",{id:"structs"},"Structs"),(0,c.kt)("h4",{id:"synclisttenumerator"},(0,c.kt)("a",{parentName:"h4",href:"./SyncList-1.Enumerator"},"SyncList","<","T",">",".Enumerator")),(0,c.kt)("h2",{id:"interfaces"},"Interfaces"),(0,c.kt)("h4",{id:"isyncobject"},(0,c.kt)("a",{parentName:"h4",href:"./ISyncObject"},"ISyncObject")),(0,c.kt)("blockquote",null,(0,c.kt)("p",{parentName:"blockquote"},"A sync object is an object that can synchronize it","'","s state\nbetween server and client, such as a SyncList")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/472d413f.954aa241.js b/assets/js/472d413f.954aa241.js new file mode 100644 index 00000000000..e6fa15a24de --- /dev/null +++ b/assets/js/472d413f.954aa241.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6393],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>m});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),c=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=c(e.components);return r.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,l=e.originalType,s=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),d=c(n),m=a,h=d["".concat(s,".").concat(m)]||d[m]||p[m]||l;return n?r.createElement(h,i(i({ref:t},u),{},{components:n})):r.createElement(h,i({ref:t},u))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=n.length,i=new Array(l);i[0]=d;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var c=2;c<l;c++)i[c]=n[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}d.displayName="MDXCreateElement"},57162:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const l={},i="Additive Scenes Example",o={unversionedId:"examples/additive-scenes",id:"examples/additive-scenes",title:"Additive Scenes Example",description:"IMPORTANT: Make sure you have a layer in project settings called Player for this example to work well.",source:"@site/docs/examples/additive-scenes.md",sourceDirName:"examples",slug:"/examples/additive-scenes",permalink:"/Mirage/docs/examples/additive-scenes",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/examples/additive-scenes.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Samples Overview",permalink:"/Mirage/docs/examples/"},next:{title:"Basic",permalink:"/Mirage/docs/examples/basic"}},s={},c=[],u={toc:c};function p(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"additive-scenes-example"},"Additive Scenes Example"),(0,a.kt)("p",null,"IMPORTANT: Make sure you have a layer in project settings called Player for this example to work well."),(0,a.kt)("p",null,"In Build Settings, remove all scenes and add all of the scenes from the Scenes folder in the following order:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"MainScene"),(0,a.kt)("li",{parentName:"ul"},"SubScene")),(0,a.kt)("p",null,"Open the MainScene in the Editor and make sure the Sub Scenes list in the Network Manager component on the Network scene object contains the SubScene scene. This is already set-up by default, but if the MainScene was opened and saved before putting the scenes in the Build Settings list, the Sub Scenes list may be cleared accidentally."),(0,a.kt)("p",null,"File -> Build and Run"),(0,a.kt)("p",null,"Start up to 3 built instances: These will all be client players."),(0,a.kt)("p",null,"Press Play in the Editor and click Host (Server + Client) in the HUD"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"This will be the host and the 1st player of up to 4. You can also use Server Only if you prefer.")),(0,a.kt)("p",null,"Click Client in the built instances."),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"WASDQE keys to move & turn your player capsule."),(0,a.kt)("li",{parentName:"ul"},"There are objects in the corners of the scene hidden by Proximity Checkers."),(0,a.kt)("li",{parentName:"ul"},"The big area in the middle is where the sub-scene will be loaded when you get near the shelter."),(0,a.kt)("li",{parentName:"ul"},"There are also networked objects inside the sub-scene, also with Proximity Checkers."),(0,a.kt)("li",{parentName:"ul"},"Since sub-scenes are only loaded for individual clients, other clients that are outside the middle Zone won't see what those in the sub-scene can see."),(0,a.kt)("li",{parentName:"ul"},"If you play a built instance as Host or Server and play as a client in the editor, you'll see the sub-scene content load and unload in the hierarchy as you move in and out of the middle Zone.")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4786a1d5.25f7278e.js b/assets/js/4786a1d5.25f7278e.js new file mode 100644 index 00000000000..1fe33272db7 --- /dev/null +++ b/assets/js/4786a1d5.25f7278e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5505],{3905:(t,e,a)=>{a.d(e,{Zo:()=>s,kt:()=>m});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function i(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?l(Object(a),!0).forEach((function(e){r(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}function u(t,e){if(null==t)return{};var a,n,r=function(t,e){if(null==t)return{};var a,n,r={},l=Object.keys(t);for(n=0;n<l.length;n++)a=l[n],e.indexOf(a)>=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(n=0;n<l.length;n++)a=l[n],e.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var c=n.createContext({}),o=function(t){var e=n.useContext(c),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},s=function(t){var e=o(t.components);return n.createElement(c.Provider,{value:e},t.children)},p={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},d=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,l=t.originalType,c=t.parentName,s=u(t,["components","mdxType","originalType","parentName"]),d=o(a),m=r,k=d["".concat(c,".").concat(m)]||d[m]||p[m]||l;return a?n.createElement(k,i(i({ref:e},s),{},{components:a})):n.createElement(k,i({ref:e},s))}));function m(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var l=a.length,i=new Array(l);i[0]=d;var u={};for(var c in e)hasOwnProperty.call(e,c)&&(u[c]=e[c]);u.originalType=t,u.mdxType="string"==typeof t?t:r,i[1]=u;for(var o=2;o<l;o++)i[o]=a[o];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}d.displayName="MDXCreateElement"},92265:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>u,toc:()=>o});var n=a(87462),r=(a(67294),a(3905));const l={id:"AuthenticationResult",title:"AuthenticationResult"},i="Struct AuthenticationResult",u={unversionedId:"reference/Mirage.Authentication/AuthenticationResult",id:"reference/Mirage.Authentication/AuthenticationResult",title:"AuthenticationResult",description:"Result from Authentication, Use static methods to create new instance",source:"@site/docs/reference/Mirage.Authentication/AuthenticationResult.md",sourceDirName:"reference/Mirage.Authentication",slug:"/reference/Mirage.Authentication/AuthenticationResult",permalink:"/Mirage/docs/reference/Mirage.Authentication/AuthenticationResult",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authentication/AuthenticationResult.md",tags:[],version:"current",frontMatter:{id:"AuthenticationResult",title:"AuthenticationResult"},sidebar:"api",previous:{title:"AuthSuccessMessage",permalink:"/Mirage/docs/reference/Mirage.Authentication/AuthSuccessMessage"},next:{title:"AuthenticatorSettings",permalink:"/Mirage/docs/reference/Mirage.Authentication/AuthenticatorSettings"}},c={},o=[{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"Success",id:"success",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Authenticator",id:"authenticator",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Data",id:"data",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Reason",id:"reason",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Methods",id:"methods",level:3},{value:"CreateSuccess(String)",id:"createsuccessstring",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"CreateSuccess(INetworkAuthenticator, Object)",id:"createsuccessinetworkauthenticator-object",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"CreateSuccess(String, INetworkAuthenticator, Object)",id:"createsuccessstring-inetworkauthenticator-object",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-2",level:5},{value:"CreateFail(String)",id:"createfailstring",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-3",level:5},{value:"CreateFail(String, INetworkAuthenticator)",id:"createfailstring-inetworkauthenticator",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns-4",level:5}],s={toc:o};function p(t){let{components:e,...a}=t;return(0,r.kt)("wrapper",(0,n.Z)({},s,a,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"struct-authenticationresult"},"Struct AuthenticationResult"),(0,r.kt)("p",null,"Result from Authentication, Use static methods to create new instance"),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public struct AuthenticationResult\n")),(0,r.kt)("h3",{id:"properties"},"Properties"),(0,r.kt)("h4",{id:"success"},"Success"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Success { get; }\n")),(0,r.kt)("h4",{id:"authenticator"},"Authenticator"),(0,r.kt)("p",null,"Which Authenticator gave success "),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public INetworkAuthenticator Authenticator { get; }\n")),(0,r.kt)("h4",{id:"data"},"Data"),(0,r.kt)("p",null,"Auth data from Success, will be set on INetworkPlayer"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public object Data { get; }\n")),(0,r.kt)("h4",{id:"reason"},"Reason"),(0,r.kt)("p",null,"Can be reason for Success of fail"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public string Reason { get; }\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"createsuccessstring"},"CreateSuccess(String)"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static AuthenticationResult CreateSuccess(string reason)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null},"reason"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Authentication.AuthenticationResult"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"createsuccessinetworkauthenticator-object"},"CreateSuccess(INetworkAuthenticator, Object)"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static AuthenticationResult CreateSuccess(INetworkAuthenticator authenticator, object data)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Authentication.INetworkAuthenticator"),(0,r.kt)("td",{parentName:"tr",align:null},"authenticator"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Object"),(0,r.kt)("td",{parentName:"tr",align:null},"data"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-1"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Authentication.AuthenticationResult"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"createsuccessstring-inetworkauthenticator-object"},"CreateSuccess(String, INetworkAuthenticator, Object)"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static AuthenticationResult CreateSuccess(string reason, INetworkAuthenticator authenticator, object data)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null},"reason"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Authentication.INetworkAuthenticator"),(0,r.kt)("td",{parentName:"tr",align:null},"authenticator"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Object"),(0,r.kt)("td",{parentName:"tr",align:null},"data"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-2"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Authentication.AuthenticationResult"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"createfailstring"},"CreateFail(String)"),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static AuthenticationResult CreateFail(string reason)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null},"reason"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-3"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Authentication.AuthenticationResult"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"createfailstring-inetworkauthenticator"},"CreateFail(String, INetworkAuthenticator)"),(0,r.kt)("h5",{id:"declaration-8"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static AuthenticationResult CreateFail(string reason, INetworkAuthenticator authenticator)\n")),(0,r.kt)("h5",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null},"reason"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Authentication.INetworkAuthenticator"),(0,r.kt)("td",{parentName:"tr",align:null},"authenticator"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-4"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Authentication.AuthenticationResult"),(0,r.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/484ab952.966a9a8f.js b/assets/js/484ab952.966a9a8f.js new file mode 100644 index 00000000000..242ce9481d5 --- /dev/null +++ b/assets/js/484ab952.966a9a8f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[578],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>k});var l=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,l)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,l,n=function(e,t){if(null==e)return{};var a,l,n={},r=Object.keys(e);for(l=0;l<r.length;l++)a=r[l],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(l=0;l<r.length;l++)a=r[l],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var d=l.createContext({}),c=function(e){var t=l.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=c(e.components);return l.createElement(d.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},u=l.forwardRef((function(e,t){var a=e.components,n=e.mdxType,r=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=c(a),k=n,m=u["".concat(d,".").concat(k)]||u[k]||s[k]||r;return a?l.createElement(m,i(i({ref:t},p),{},{components:a})):l.createElement(m,i({ref:t},p))}));function k(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=a.length,i=new Array(r);i[0]=u;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var c=2;c<r;c++)i[c]=a[c];return l.createElement.apply(null,i)}return l.createElement.apply(null,a)}u.displayName="MDXCreateElement"},69554:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>s,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var l=a(87462),n=(a(67294),a(3905));const r={id:"NetworkServer",title:"NetworkServer"},i="Class NetworkServer",o={unversionedId:"reference/Mirage/NetworkServer",id:"reference/Mirage/NetworkServer",title:"NetworkServer",description:"The NetworkServer.",source:"@site/docs/reference/Mirage/NetworkServer.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkServer",permalink:"/Mirage/docs/reference/Mirage/NetworkServer",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkServer.md",tags:[],version:"current",frontMatter:{id:"NetworkServer",title:"NetworkServer"},sidebar:"api",previous:{title:"NetworkSceneManager",permalink:"/Mirage/docs/reference/Mirage/NetworkSceneManager"},next:{title:"NetworkSpawnSettings",permalink:"/Mirage/docs/reference/Mirage/NetworkSpawnSettings"}},d={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"EnablePeerMetrics",id:"enablepeermetrics",level:4},{value:"Declaration",id:"declaration",level:5},{value:"MetricsSize",id:"metricssize",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"MaxConnections",id:"maxconnections",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"DisconnectOnException",id:"disconnectonexception",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"RethrowException",id:"rethrowexception",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"RunInBackground",id:"runinbackground",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Listening",id:"listening",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"SocketFactory",id:"socketfactory",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"ObjectManager",id:"objectmanager",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Authenticator",id:"authenticator",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"ManualUpdate",id:"manualupdate",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Properties",id:"properties",level:3},{value:"Metrics",id:"metrics",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"PeerConfig",id:"peerconfig",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"PeerPoolMetrics",id:"peerpoolmetrics",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Started",id:"started",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Connected",id:"connected",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Authenticated",id:"authenticated",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Disconnected",id:"disconnected",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Stopped",id:"stopped",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"OnStartHost",id:"onstarthost",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"OnStopHost",id:"onstophost",level:4},{value:"Declaration",id:"declaration-20",level:5},{value:"LocalPlayer",id:"localplayer",level:4},{value:"Declaration",id:"declaration-21",level:5},{value:"LocalClient",id:"localclient",level:4},{value:"Declaration",id:"declaration-22",level:5},{value:"LocalClientActive",id:"localclientactive",level:4},{value:"Declaration",id:"declaration-23",level:5},{value:"IsHost",id:"ishost",level:4},{value:"Declaration",id:"declaration-24",level:5},{value:"AllPlayers",id:"allplayers",level:4},{value:"Declaration",id:"declaration-25",level:5},{value:"Players",id:"players",level:4},{value:"Declaration",id:"declaration-26",level:5},{value:"AuthenticatedPlayers",id:"authenticatedplayers",level:4},{value:"Declaration",id:"declaration-27",level:5},{value:"Active",id:"active",level:4},{value:"Declaration",id:"declaration-28",level:5},{value:"World",id:"world",level:4},{value:"Declaration",id:"declaration-29",level:5},{value:"SyncVarSender",id:"syncvarsender",level:4},{value:"Declaration",id:"declaration-30",level:5},{value:"MessageHandler",id:"messagehandler",level:4},{value:"Declaration",id:"declaration-31",level:5},{value:"Methods",id:"methods",level:3},{value:"Stop()",id:"stop",level:4},{value:"Declaration",id:"declaration-32",level:5},{value:"StartServer(NetworkClient)",id:"startservernetworkclient",level:4},{value:"Declaration",id:"declaration-33",level:5},{value:"Parameters",id:"parameters",level:5},{value:"UpdateReceive()",id:"updatereceive",level:4},{value:"Declaration",id:"declaration-34",level:5},{value:"UpdateSent()",id:"updatesent",level:4},{value:"Declaration",id:"declaration-35",level:5},{value:"SetAuthenticationFailedCallback(Action<INetworkPlayer, AuthenticationResult>)",id:"setauthenticationfailedcallbackactioninetworkplayer-authenticationresult",level:4},{value:"Declaration",id:"declaration-36",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"SendToAll<T>(T, Boolean, Channel)",id:"sendtoalltt-boolean-channel",level:4},{value:"Declaration",id:"declaration-37",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"SendToAll<T>(T, Boolean, Boolean, Channel)",id:"sendtoalltt-boolean-boolean-channel",level:4},{value:"Declaration",id:"declaration-38",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"SendToMany<T>(IReadOnlyList<INetworkPlayer>, T, Boolean, Channel)",id:"sendtomanytireadonlylistinetworkplayer-t-boolean-channel",level:4},{value:"Declaration",id:"declaration-39",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"SendToMany<T>(IEnumerable<INetworkPlayer>, T, Boolean, Channel)",id:"sendtomanytienumerableinetworkplayer-t-boolean-channel",level:4},{value:"Declaration",id:"declaration-40",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"SendToMany<T, TEnumerator>(TEnumerator, T, Boolean, Channel)",id:"sendtomanyt-tenumeratortenumerator-t-boolean-channel",level:4},{value:"Declaration",id:"declaration-41",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"SendToObservers<T>(NetworkIdentity, T, Boolean, Boolean, Channel)",id:"sendtoobserverstnetworkidentity-t-boolean-boolean-channel",level:4},{value:"Declaration",id:"declaration-42",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"SendToMany<T>(List<INetworkPlayer>, T, Channel)",id:"sendtomanytlistinetworkplayer-t-channel",level:4},{value:"Declaration",id:"declaration-43",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"SendToMany<T>(IReadOnlyList<INetworkPlayer>, T, Channel)",id:"sendtomanytireadonlylistinetworkplayer-t-channel",level:4},{value:"Declaration",id:"declaration-44",level:5},{value:"Parameters",id:"parameters-9",level:5}],p={toc:c};function s(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,l.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networkserver"},"Class NetworkServer"),(0,n.kt)("p",null,"The NetworkServer."),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class NetworkServer : MonoBehaviour\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"enablepeermetrics"},"EnablePeerMetrics"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool EnablePeerMetrics\n")),(0,n.kt)("h4",{id:"metricssize"},"MetricsSize"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public int MetricsSize\n")),(0,n.kt)("h4",{id:"maxconnections"},"MaxConnections"),(0,n.kt)("p",null,"The maximum number of concurrent network connections to support. Excluding the host player.\nThis field is only used if the property is null"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public int MaxConnections\n")),(0,n.kt)("h4",{id:"disconnectonexception"},"DisconnectOnException"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool DisconnectOnException\n")),(0,n.kt)("h4",{id:"rethrowexception"},"RethrowException"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool RethrowException\n")),(0,n.kt)("h4",{id:"runinbackground"},"RunInBackground"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool RunInBackground\n")),(0,n.kt)("h4",{id:"listening"},"Listening"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Listening\n")),(0,n.kt)("h4",{id:"socketfactory"},"SocketFactory"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public SocketFactory SocketFactory\n")),(0,n.kt)("h4",{id:"objectmanager"},"ObjectManager"),(0,n.kt)("h5",{id:"declaration-8"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public ServerObjectManager ObjectManager\n")),(0,n.kt)("h4",{id:"authenticator"},"Authenticator"),(0,n.kt)("h5",{id:"declaration-9"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public AuthenticatorSettings Authenticator\n")),(0,n.kt)("h4",{id:"manualupdate"},"ManualUpdate"),(0,n.kt)("p",null,"Set to true if you want to manually call and and stop mirage from automatically calling them"),(0,n.kt)("h5",{id:"declaration-10"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool ManualUpdate\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"metrics"},"Metrics"),(0,n.kt)("h5",{id:"declaration-11"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Metrics Metrics { get; }\n")),(0,n.kt)("h4",{id:"peerconfig"},"PeerConfig"),(0,n.kt)("p",null,"Config for peer, if not set will use default settings"),(0,n.kt)("h5",{id:"declaration-12"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Config PeerConfig { get; set; }\n")),(0,n.kt)("h4",{id:"peerpoolmetrics"},"PeerPoolMetrics"),(0,n.kt)("h5",{id:"declaration-13"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public PoolMetrics? PeerPoolMetrics { get; }\n")),(0,n.kt)("h4",{id:"started"},"Started"),(0,n.kt)("p",null,"This is invoked when a server is started - including when a host is started."),(0,n.kt)("h5",{id:"declaration-14"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public IAddLateEventUnity Started { get; }\n")),(0,n.kt)("h4",{id:"connected"},"Connected"),(0,n.kt)("h5",{id:"declaration-15"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkPlayerEvent Connected { get; }\n")),(0,n.kt)("h4",{id:"authenticated"},"Authenticated"),(0,n.kt)("h5",{id:"declaration-16"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkPlayerEvent Authenticated { get; }\n")),(0,n.kt)("h4",{id:"disconnected"},"Disconnected"),(0,n.kt)("h5",{id:"declaration-17"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkPlayerEvent Disconnected { get; }\n")),(0,n.kt)("h4",{id:"stopped"},"Stopped"),(0,n.kt)("h5",{id:"declaration-18"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public IAddLateEventUnity Stopped { get; }\n")),(0,n.kt)("h4",{id:"onstarthost"},"OnStartHost"),(0,n.kt)("h5",{id:"declaration-19"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public IAddLateEventUnity OnStartHost { get; }\n")),(0,n.kt)("h4",{id:"onstophost"},"OnStopHost"),(0,n.kt)("h5",{id:"declaration-20"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public IAddLateEventUnity OnStopHost { get; }\n")),(0,n.kt)("h4",{id:"localplayer"},"LocalPlayer"),(0,n.kt)("p",null,"The connection to the host mode client (if any)."),(0,n.kt)("h5",{id:"declaration-21"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public INetworkPlayer LocalPlayer { get; }\n")),(0,n.kt)("h4",{id:"localclient"},"LocalClient"),(0,n.kt)("p",null,"The host client for this server "),(0,n.kt)("h5",{id:"declaration-22"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkClient LocalClient { get; }\n")),(0,n.kt)("h4",{id:"localclientactive"},"LocalClientActive"),(0,n.kt)("p",null,"True if there is a local client connected to this server (host mode)"),(0,n.kt)("h5",{id:"declaration-23"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},'[Obsolete("use IsHost instead")]\npublic bool LocalClientActive { get; }\n')),(0,n.kt)("h4",{id:"ishost"},"IsHost"),(0,n.kt)("p",null,"True if there is a local client connected to this server (host mode)"),(0,n.kt)("h5",{id:"declaration-24"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsHost { get; }\n")),(0,n.kt)("h4",{id:"allplayers"},"AllPlayers"),(0,n.kt)("p",null,"All players on server (including unauthenticated players)"),(0,n.kt)("h5",{id:"declaration-25"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public IReadOnlyCollection<INetworkPlayer> AllPlayers { get; }\n")),(0,n.kt)("h4",{id:"players"},"Players"),(0,n.kt)("h5",{id:"declaration-26"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},'[Obsolete("Use AllPlayers or AuthenticatedPlayers instead")]\npublic IReadOnlyCollection<INetworkPlayer> Players { get; }\n')),(0,n.kt)("h4",{id:"authenticatedplayers"},"AuthenticatedPlayers"),(0,n.kt)("p",null,"List of players that have Authenticated with server"),(0,n.kt)("h5",{id:"declaration-27"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public IReadOnlyList<INetworkPlayer> AuthenticatedPlayers { get; }\n")),(0,n.kt)("h4",{id:"active"},"Active"),(0,n.kt)("p",null,"Checks if the server has been started.\nThis will be true after NetworkServer.Listen() has been called."),(0,n.kt)("h5",{id:"declaration-28"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Active { get; }\n")),(0,n.kt)("h4",{id:"world"},"World"),(0,n.kt)("h5",{id:"declaration-29"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkWorld World { get; }\n")),(0,n.kt)("h4",{id:"syncvarsender"},"SyncVarSender"),(0,n.kt)("h5",{id:"declaration-30"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncVarSender SyncVarSender { get; }\n")),(0,n.kt)("h4",{id:"messagehandler"},"MessageHandler"),(0,n.kt)("h5",{id:"declaration-31"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public MessageHandler MessageHandler { get; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"stop"},"Stop()"),(0,n.kt)("p",null,"This shuts down the server and disconnects all clients.\nIf In host mode, this will also stop the local client"),(0,n.kt)("h5",{id:"declaration-32"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Stop()\n")),(0,n.kt)("h4",{id:"startservernetworkclient"},"StartServer(NetworkClient)"),(0,n.kt)("p",null,"Start the server\nIf localClient is given then will start in host mode"),(0,n.kt)("h5",{id:"declaration-33"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void StartServer(NetworkClient localClient = null)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkClient"),(0,n.kt)("td",{parentName:"tr",align:null},"localClient"),(0,n.kt)("td",{parentName:"tr",align:null},"if not null then start the server and client in hostmode")))),(0,n.kt)("h4",{id:"updatereceive"},"UpdateReceive()"),(0,n.kt)("h5",{id:"declaration-34"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void UpdateReceive()\n")),(0,n.kt)("h4",{id:"updatesent"},"UpdateSent()"),(0,n.kt)("h5",{id:"declaration-35"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void UpdateSent()\n")),(0,n.kt)("h4",{id:"setauthenticationfailedcallbackactioninetworkplayer-authenticationresult"},"SetAuthenticationFailedCallback(Action","<","INetworkPlayer, AuthenticationResult",">",")"),(0,n.kt)("h5",{id:"declaration-36"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SetAuthenticationFailedCallback(Action<INetworkPlayer, AuthenticationResult> callback)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Action","<","Mirage.INetworkPlayer, Mirage.Authentication.AuthenticationResult",">"),(0,n.kt)("td",{parentName:"tr",align:null},"callback"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"sendtoalltt-boolean-channel"},"SendToAll","<","T",">","(T, Boolean, Channel)"),(0,n.kt)("h5",{id:"declaration-37"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},'[Obsolete("Use SendToAll(msg, authenticatedOnly, excludeLocalPlayer, channelId) instead")]\npublic void SendToAll<T>(T msg, bool excludeLocalPlayer, Channel channelId = Channel.Reliable)\n')),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"msg"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"excludeLocalPlayer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,n.kt)("td",{parentName:"tr",align:null},"channelId"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"sendtoalltt-boolean-boolean-channel"},"SendToAll","<","T",">","(T, Boolean, Boolean, Channel)"),(0,n.kt)("h5",{id:"declaration-38"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendToAll<T>(T msg, bool authenticatedOnly, bool excludeLocalPlayer, Channel channelId = Channel.Reliable)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"msg"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"authenticatedOnly"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"excludeLocalPlayer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,n.kt)("td",{parentName:"tr",align:null},"channelId"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"sendtomanytireadonlylistinetworkplayer-t-boolean-channel"},"SendToMany","<","T",">","(IReadOnlyList","<","INetworkPlayer",">",", T, Boolean, Channel)"),(0,n.kt)("h5",{id:"declaration-39"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendToMany<T>(IReadOnlyList<INetworkPlayer> players, T msg, bool excludeLocalPlayer, Channel channelId = Channel.Reliable)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IReadOnlyList","<","Mirage.INetworkPlayer",">"),(0,n.kt)("td",{parentName:"tr",align:null},"players"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"msg"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"excludeLocalPlayer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,n.kt)("td",{parentName:"tr",align:null},"channelId"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"sendtomanytienumerableinetworkplayer-t-boolean-channel"},"SendToMany","<","T",">","(IEnumerable","<","INetworkPlayer",">",", T, Boolean, Channel)"),(0,n.kt)("p",null,"Warning: this will allocate, Use or instead"),(0,n.kt)("h5",{id:"declaration-40"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendToMany<T>(IEnumerable<INetworkPlayer> players, T msg, bool excludeLocalPlayer, Channel channelId = Channel.Reliable)\n")),(0,n.kt)("h5",{id:"parameters-5"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","Mirage.INetworkPlayer",">"),(0,n.kt)("td",{parentName:"tr",align:null},"players"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"msg"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"excludeLocalPlayer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,n.kt)("td",{parentName:"tr",align:null},"channelId"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"sendtomanyt-tenumeratortenumerator-t-boolean-channel"},"SendToMany","<","T, TEnumerator",">","(TEnumerator, T, Boolean, Channel)"),(0,n.kt)("p",null,"use to avoid allocation of IEnumerator"),(0,n.kt)("h5",{id:"declaration-41"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendToMany<T, TEnumerator>(TEnumerator playerEnumerator, T msg, bool excludeLocalPlayer, Channel channelId = Channel.Reliable)\n where TEnumerator : struct, IEnumerator<INetworkPlayer>\n")),(0,n.kt)("h5",{id:"parameters-6"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"TEnumerator"),(0,n.kt)("td",{parentName:"tr",align:null},"playerEnumerator"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"msg"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"excludeLocalPlayer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,n.kt)("td",{parentName:"tr",align:null},"channelId"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"sendtoobserverstnetworkidentity-t-boolean-boolean-channel"},"SendToObservers","<","T",">","(NetworkIdentity, T, Boolean, Boolean, Channel)"),(0,n.kt)("h5",{id:"declaration-42"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendToObservers<T>(NetworkIdentity identity, T msg, bool excludeLocalPlayer, bool excludeOwner, Channel channelId = Channel.Reliable)\n")),(0,n.kt)("h5",{id:"parameters-7"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"identity"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"msg"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"excludeLocalPlayer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"excludeOwner"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,n.kt)("td",{parentName:"tr",align:null},"channelId"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"sendtomanytlistinetworkplayer-t-channel"},"SendToMany","<","T",">","(List","<","INetworkPlayer",">",", T, Channel)"),(0,n.kt)("p",null,"Sends to list of players.\nAll other SendTo... functions call this, it dooes not do any extra checks, just serializes message if not empty, then sends it"),(0,n.kt)("h5",{id:"declaration-43"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void SendToMany<T>(List<INetworkPlayer> players, T msg, Channel channelId = Channel.Reliable)\n")),(0,n.kt)("h5",{id:"parameters-8"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.List","<","Mirage.INetworkPlayer",">"),(0,n.kt)("td",{parentName:"tr",align:null},"players"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"msg"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,n.kt)("td",{parentName:"tr",align:null},"channelId"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"sendtomanytireadonlylistinetworkplayer-t-channel"},"SendToMany","<","T",">","(IReadOnlyList","<","INetworkPlayer",">",", T, Channel)"),(0,n.kt)("p",null,"Sends to list of players.\nAll other SendTo... functions call this, it dooes not do any extra checks, just serializes message if not empty, then sends it"),(0,n.kt)("h5",{id:"declaration-44"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void SendToMany<T>(IReadOnlyList<INetworkPlayer> players, T msg, Channel channelId = Channel.Reliable)\n")),(0,n.kt)("h5",{id:"parameters-9"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IReadOnlyList","<","Mirage.INetworkPlayer",">"),(0,n.kt)("td",{parentName:"tr",align:null},"players"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"msg"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,n.kt)("td",{parentName:"tr",align:null},"channelId"),(0,n.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/486616e9.9da01dac.js b/assets/js/486616e9.9da01dac.js new file mode 100644 index 00000000000..399dd89799c --- /dev/null +++ b/assets/js/486616e9.9da01dac.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5918],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>g});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},c=Object.keys(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,c=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=l(r),g=a,y=d["".concat(s,".").concat(g)]||d[g]||u[g]||c;return r?n.createElement(y,o(o({ref:t},p),{},{components:r})):n.createElement(y,o({ref:t},p))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var c=r.length,o=new Array(c);o[0]=d;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:a,o[1]=i;for(var l=2;l<c;l++)o[l]=r[l];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},95136:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>c,metadata:()=>i,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const c={id:"SceneNotReadyMessage",title:"SceneNotReadyMessage"},o="Struct SceneNotReadyMessage",i={unversionedId:"reference/Mirage/SceneNotReadyMessage",id:"reference/Mirage/SceneNotReadyMessage",title:"SceneNotReadyMessage",description:"Sent to client to mark their scene as not ready",source:"@site/docs/reference/Mirage/SceneNotReadyMessage.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SceneNotReadyMessage",permalink:"/Mirage/docs/reference/Mirage/SceneNotReadyMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SceneNotReadyMessage.md",tags:[],version:"current",frontMatter:{id:"SceneNotReadyMessage",title:"SceneNotReadyMessage"},sidebar:"api",previous:{title:"SceneMessage",permalink:"/Mirage/docs/reference/Mirage/SceneMessage"},next:{title:"SceneOperation",permalink:"/Mirage/docs/reference/Mirage/SceneOperation"}},s={},l=[{value:"Syntax",id:"syntax",level:5}],p={toc:l};function u(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-scenenotreadymessage"},"Struct SceneNotReadyMessage"),(0,a.kt)("p",null,"Sent to client to mark their scene as not ready\nClient can sent once its scene is ready again"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct SceneNotReadyMessage\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/487e1727.f78242bd.js b/assets/js/487e1727.f78242bd.js new file mode 100644 index 00000000000..ce97460fc42 --- /dev/null +++ b/assets/js/487e1727.f78242bd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[125],{3905:(e,a,t)=>{t.d(a,{Zo:()=>p,kt:()=>k});var r=t(67294);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function l(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?l(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function c(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)t=l[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)t=l[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var o=r.createContext({}),d=function(e){var a=r.useContext(o),t=a;return e&&(t="function"==typeof e?e(a):i(i({},a),e)),t},p=function(e){var a=d(e.components);return r.createElement(o.Provider,{value:a},e.children)},s={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},u=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=d(t),k=n,m=u["".concat(o,".").concat(k)]||u[k]||s[k]||l;return t?r.createElement(m,i(i({ref:a},p),{},{components:t})):r.createElement(m,i({ref:a},p))}));function k(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var l=t.length,i=new Array(l);i[0]=u;var c={};for(var o in a)hasOwnProperty.call(a,o)&&(c[o]=a[o]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var d=2;d<l;d++)i[d]=t[d];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}u.displayName="MDXCreateElement"},31725:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>o,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>c,toc:()=>d});var r=t(87462),n=(t(67294),t(3905));const l={id:"CharacterSpawner",title:"CharacterSpawner"},i="Class CharacterSpawner",c={unversionedId:"reference/Mirage/CharacterSpawner",id:"reference/Mirage/CharacterSpawner",title:"CharacterSpawner",description:"Spawns a player as soon as the connection is authenticated",source:"@site/docs/reference/Mirage/CharacterSpawner.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/CharacterSpawner",permalink:"/Mirage/docs/reference/Mirage/CharacterSpawner",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/CharacterSpawner.md",tags:[],version:"current",frontMatter:{id:"CharacterSpawner",title:"CharacterSpawner"},sidebar:"api",previous:{title:"CharacterSpawner.PlayerSpawnMethod",permalink:"/Mirage/docs/reference/Mirage/CharacterSpawner.PlayerSpawnMethod"},next:{title:"ClientAttribute",permalink:"/Mirage/docs/reference/Mirage/ClientAttribute"}},o={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Client",id:"client",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Server",id:"server",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"SceneManager",id:"scenemanager",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"ClientObjectManager",id:"clientobjectmanager",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"ServerObjectManager",id:"serverobjectmanager",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"PlayerPrefab",id:"playerprefab",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"AutoSpawn",id:"autospawn",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"SetName",id:"setname",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"startPositionIndex",id:"startpositionindex",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"startPositions",id:"startpositions",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"playerSpawnMethod",id:"playerspawnmethod",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Methods",id:"methods",level:3},{value:"Awake()",id:"awake",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"OnDestroy()",id:"ondestroy",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"OnClientFinishedSceneChange(Scene, SceneOperation)",id:"onclientfinishedscenechangescene-sceneoperation",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RequestServerSpawnPlayer()",id:"requestserverspawnplayer",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"OnServerAddPlayer(INetworkPlayer)",id:"onserveraddplayerinetworkplayer",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"SetCharacterName(INetworkPlayer, NetworkIdentity)",id:"setcharacternameinetworkplayer-networkidentity",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"GetStartPosition()",id:"getstartposition",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Returns",id:"returns",level:5}],p={toc:d};function s(e){let{components:a,...t}=e;return(0,n.kt)("wrapper",(0,r.Z)({},p,t,{components:a,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-characterspawner"},"Class CharacterSpawner"),(0,n.kt)("p",null,"Spawns a player as soon as the connection is authenticated"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class CharacterSpawner : MonoBehaviour\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"client"},"Client"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkClient Client\n")),(0,n.kt)("h4",{id:"server"},"Server"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkServer Server\n")),(0,n.kt)("h4",{id:"scenemanager"},"SceneManager"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkSceneManager SceneManager\n")),(0,n.kt)("h4",{id:"clientobjectmanager"},"ClientObjectManager"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public ClientObjectManager ClientObjectManager\n")),(0,n.kt)("h4",{id:"serverobjectmanager"},"ServerObjectManager"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public ServerObjectManager ServerObjectManager\n")),(0,n.kt)("h4",{id:"playerprefab"},"PlayerPrefab"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkIdentity PlayerPrefab\n")),(0,n.kt)("h4",{id:"autospawn"},"AutoSpawn"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool AutoSpawn\n")),(0,n.kt)("h4",{id:"setname"},"SetName"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool SetName\n")),(0,n.kt)("h4",{id:"startpositionindex"},"startPositionIndex"),(0,n.kt)("h5",{id:"declaration-8"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public int startPositionIndex\n")),(0,n.kt)("h4",{id:"startpositions"},"startPositions"),(0,n.kt)("p",null,"List of transforms where players can be spawned"),(0,n.kt)("h5",{id:"declaration-9"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public List<Transform> startPositions\n")),(0,n.kt)("h4",{id:"playerspawnmethod"},"playerSpawnMethod"),(0,n.kt)("p",null,"The current method of spawning players used by the CharacterSpawner."),(0,n.kt)("h5",{id:"declaration-10"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public CharacterSpawner.PlayerSpawnMethod playerSpawnMethod\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"awake"},"Awake()"),(0,n.kt)("h5",{id:"declaration-11"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected virtual void Awake()\n")),(0,n.kt)("h4",{id:"ondestroy"},"OnDestroy()"),(0,n.kt)("h5",{id:"declaration-12"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected virtual void OnDestroy()\n")),(0,n.kt)("h4",{id:"onclientfinishedscenechangescene-sceneoperation"},"OnClientFinishedSceneChange(Scene, SceneOperation)"),(0,n.kt)("p",null,"Called on the client when a normal scene change happens.\nThe default implementation of this function sets the client as ready and adds a player. Override the function to dictate what happens when the client connects."),(0,n.kt)("h5",{id:"declaration-13"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual void OnClientFinishedSceneChange(Scene scene, SceneOperation sceneOperation)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Scene"),(0,n.kt)("td",{parentName:"tr",align:null},"scene"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SceneOperation"),(0,n.kt)("td",{parentName:"tr",align:null},"sceneOperation"),(0,n.kt)("td",{parentName:"tr",align:null},"The type of scene load that happened.")))),(0,n.kt)("h4",{id:"requestserverspawnplayer"},"RequestServerSpawnPlayer()"),(0,n.kt)("h5",{id:"declaration-14"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual void RequestServerSpawnPlayer()\n")),(0,n.kt)("h4",{id:"onserveraddplayerinetworkplayer"},"OnServerAddPlayer(INetworkPlayer)"),(0,n.kt)("p",null,"Called on the server when a client adds a new player with ClientScene.AddPlayer.\nThe default implementation for this function creates a new player object from the playerPrefab."),(0,n.kt)("h5",{id:"declaration-15"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual void OnServerAddPlayer(INetworkPlayer player)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"Connection from client.")))),(0,n.kt)("h4",{id:"setcharacternameinetworkplayer-networkidentity"},"SetCharacterName(INetworkPlayer, NetworkIdentity)"),(0,n.kt)("h5",{id:"declaration-16"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected virtual void SetCharacterName(INetworkPlayer player, NetworkIdentity character)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"character"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"getstartposition"},"GetStartPosition()"),(0,n.kt)("p",null,"This finds a spawn position based on start position objects in the scene.\nThis is used by the default implementation of OnServerAddPlayer."),(0,n.kt)("h5",{id:"declaration-17"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual Transform GetStartPosition()\n")),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Transform"),(0,n.kt)("td",{parentName:"tr",align:null},"Returns the transform to spawn a player at, or null.")))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/489985f3.5e850c55.js b/assets/js/489985f3.5e850c55.js new file mode 100644 index 00000000000..c0e452c5a8b --- /dev/null +++ b/assets/js/489985f3.5e850c55.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7999],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var d=r.createContext({}),c=function(e){var t=r.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=c(e.components);return r.createElement(d.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,l=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=c(n),m=a,v=u["".concat(d,".").concat(m)]||u[m]||s[m]||l;return n?r.createElement(v,i(i({ref:t},p),{},{components:n})):r.createElement(v,i({ref:t},p))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=n.length,i=new Array(l);i[0]=u;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var c=2;c<l;c++)i[c]=n[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}u.displayName="MDXCreateElement"},75278:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const l={id:"IAddLateEvent",title:"IAddLateEvent"},i="Interface IAddLateEvent",o={unversionedId:"reference/Mirage.Events/IAddLateEvent",id:"reference/Mirage.Events/IAddLateEvent",title:"IAddLateEvent",description:"Event that can only run once, adding handler late will it invoke right away",source:"@site/docs/reference/Mirage.Events/IAddLateEvent.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/IAddLateEvent",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEvent",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/IAddLateEvent.md",tags:[],version:"current",frontMatter:{id:"IAddLateEvent",title:"IAddLateEvent"},sidebar:"api",previous:{title:"IAddLateEvent<T0, T1>",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEvent-2"},next:{title:"IAddLateEventUnity<T0>",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-1"}},d={},c=[{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"AddListener(Action)",id:"addlisteneraction",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RemoveListener(Action)",id:"removelisteneraction",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],p={toc:c};function s(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"interface-iaddlateevent"},"Interface IAddLateEvent"),(0,a.kt)("p",null,"Event that can only run once, adding handler late will it invoke right away"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IAddLateEvent\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"addlisteneraction"},"AddListener(Action)"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"void AddListener(Action handler)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Action"),(0,a.kt)("td",{parentName:"tr",align:null},"handler"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h4",{id:"removelisteneraction"},"RemoveListener(Action)"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"void RemoveListener(Action handler)\n")),(0,a.kt)("h5",{id:"parameters-1"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Action"),(0,a.kt)("td",{parentName:"tr",align:null},"handler"),(0,a.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/489b016d.ad6aa7c1.js b/assets/js/489b016d.ad6aa7c1.js new file mode 100644 index 00000000000..a3982ac8d53 --- /dev/null +++ b/assets/js/489b016d.ad6aa7c1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6076],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var a=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,i=function(e,t){if(null==e)return{};var n,a,i={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var o=a.createContext({}),c=function(e){var t=a.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=c(e.components);return a.createElement(o.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,o=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=c(n),m=i,h=u["".concat(o,".").concat(m)]||u[m]||d[m]||r;return n?a.createElement(h,l(l({ref:t},p),{},{components:n})):a.createElement(h,l({ref:t},p))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,l=new Array(r);l[0]=u;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s.mdxType="string"==typeof e?e:i,l[1]=s;for(var c=2;c<r;c++)l[c]=n[c];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}u.displayName="MDXCreateElement"},36666:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var a=n(87462),i=(n(67294),n(3905));const r={},l="Multiple Additive Scenes Example",s={unversionedId:"examples/multiple-additive-scenes",id:"examples/multiple-additive-scenes",title:"Multiple Additive Scenes Example",description:"In Build Settings, remove all scenes and add both of the scenes from the Scenes folder in the following order:",source:"@site/docs/examples/multiple-additive-scenes.md",sourceDirName:"examples",slug:"/examples/multiple-additive-scenes",permalink:"/Mirage/docs/examples/multiple-additive-scenes",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/examples/multiple-additive-scenes.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Chat",permalink:"/Mirage/docs/examples/chat"},next:{title:"Pong",permalink:"/Mirage/docs/examples/pong"}},o={},c=[{value:"MultiScene Network Manager",id:"multiscene-network-manager",level:2},{value:"Playing in the Instances",id:"playing-in-the-instances",level:2}],p={toc:c};function d(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"multiple-additive-scenes-example"},"Multiple Additive Scenes Example"),(0,i.kt)("p",null,"In Build Settings, remove all scenes and add both of the scenes from the Scenes folder in the following order:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Main"),(0,i.kt)("li",{parentName:"ul"},"Game")),(0,i.kt)("p",null,"Open the Main scene in the Editor and make sure the Game Scene field in the MultiScene Network Manager on the Network scene object contains the Game scene. This is already set up by default, but if the Main scene was opened and saved before putting the scenes in the Build Settings list, the Game Scene field may be cleared accidentally."),(0,i.kt)("h2",{id:"multiscene-network-manager"},"MultiScene Network Manager"),(0,i.kt)("p",null,"The MultiScene Network Manager is derived from the base Network Manager and is responsible for additively loading the sub-scene instances and placing the players in their respective sub-scene instances and initializing player SyncVars. It has a Game Scene field where the Game sub-scene is assigned, and an Instances field to set how many instances are loaded on the server."),(0,i.kt)("p",null,"In this example, the sub-scene instances are additively loaded on the server with ",(0,i.kt)("inlineCode",{parentName:"p"},"localPhysicsMode = LocalPhysicsMode.Physics3D"),". Physics sub-scenes do not auto-simulate, so each scene has a game object with a generic ",(0,i.kt)("inlineCode",{parentName:"p"},"PhysicsSimulator")," script on it. This script does nothing on the client, only on the server."),(0,i.kt)("p",null,"Clients only ever have one instance of the sub-scene additively loaded (without ",(0,i.kt)("inlineCode",{parentName:"p"},"localPhysicsMode"),"), while the server has them all. All networked objects have a ",(0,i.kt)("inlineCode",{parentName:"p"},"NetworkSceneChecker")," component which is what isolates them to their specific sub-scene."),(0,i.kt)("h2",{id:"playing-in-the-instances"},"Playing in the Instances"),(0,i.kt)("p",null,"File -",">"," Build and Run"),(0,i.kt)("p",null,"Start at least 3 built instances: These will all be client players."),(0,i.kt)("p",null,"Press Play in the Editor and click Host (Server + Client) in the HUD - This will be the host and the 1st player. You can also use Server Only if you prefer."),(0,i.kt)("p",null,"Click Client in the built instances."),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"WASDQE keys to move & turn your player capsule, Space to jump.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Colliding with the small colored spheres scores points based on their color.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Colliding with the larger tumblers sends them rolling around...they're server-side non-kinematic rigidbodies.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Only scores for the players in the same sub-scene are shown at the top of the game window."))),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"MultiScene Network Manager",src:n(28029).Z,width:"538",height:"567"})))}d.isMDXComponent=!0},28029:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/MultiSceneNetworkManager-32aa41d8dadce8ae5456ba09f642c656.PNG"}}]); \ No newline at end of file diff --git a/assets/js/48dff082.a1de10b3.js b/assets/js/48dff082.a1de10b3.js new file mode 100644 index 00000000000..24af7e8f1a2 --- /dev/null +++ b/assets/js/48dff082.a1de10b3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7113],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>d});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var m=r.createContext({}),p=function(e){var t=r.useContext(m),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=p(e.components);return r.createElement(m.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,m=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),u=p(n),d=o,k=u["".concat(m,".").concat(d)]||u[d]||s[d]||a;return n?r.createElement(k,l(l({ref:t},c),{},{components:n})):r.createElement(k,l({ref:t},c))}));function d(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,l=new Array(a);l[0]=u;var i={};for(var m in t)hasOwnProperty.call(t,m)&&(i[m]=t[m]);i.originalType=e,i.mdxType="string"==typeof e?e:o,l[1]=i;for(var p=2;p<a;p++)l[p]=n[p];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}u.displayName="MDXCreateElement"},16205:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>m,contentTitle:()=>l,default:()=>s,frontMatter:()=>a,metadata:()=>i,toc:()=>p});var r=n(87462),o=(n(67294),n(3905));const a={},l="Network Room Manager",i={unversionedId:"components/network-room-manager",id:"components/network-room-manager",title:"Network Room Manager",description:"Please see the Room example in the Examples folder in your Mirage folder",source:"@site/docs/components/network-room-manager.md",sourceDirName:"components",slug:"/components/network-room-manager",permalink:"/Mirage/docs/components/network-room-manager",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/network-room-manager.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Proximity Checker",permalink:"/Mirage/docs/components/network-proximity-checker"},next:{title:"Network Room Player",permalink:"/Mirage/docs/components/network-room-player"}},m={},p=[{value:"Properties",id:"properties",level:2},{value:"Methods",id:"methods",level:2},{value:"Server Virtual Methods",id:"server-virtual-methods",level:3},{value:"Client Virtual Methods",id:"client-virtual-methods",level:3}],c={toc:p};function s(e){let{components:t,...a}=e;return(0,o.kt)("wrapper",(0,r.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"network-room-manager"},"Network Room Manager"),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"Please see the Room example in the Examples folder in your Mirage folder")),(0,o.kt)("p",null,"The Network Room Manager is a specialized type of ",(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-manager"},"Network Manager")," that provides a multiplayer room before entering the main play scene of the game. It allows you to set up a network with:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"A maximum player limit"),(0,o.kt)("li",{parentName:"ul"},"Automatic start when all players are ready"),(0,o.kt)("li",{parentName:"ul"},"Option to prevent players from joining a game in progress"),(0,o.kt)("li",{parentName:"ul"},"Customizable ways for players to choose options while in the room \xa0")),(0,o.kt)("p",null,"There are two types of character objects with the Network Room Manager:"),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Room Player Prefab")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"One for each player"),(0,o.kt)("li",{parentName:"ul"},"Created when client connects, or player is added"),(0,o.kt)("li",{parentName:"ul"},"Persists until client disconnects"),(0,o.kt)("li",{parentName:"ul"},"Holds ready flag and configuration data"),(0,o.kt)("li",{parentName:"ul"},"Handles commands in the room"),(0,o.kt)("li",{parentName:"ul"},"Must use the ",(0,o.kt)("a",{parentName:"li",href:"/docs/components/network-room-player"},"Network Room Player")," component")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Player Prefab")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"One for each player"),(0,o.kt)("li",{parentName:"ul"},"Created when game scene is started"),(0,o.kt)("li",{parentName:"ul"},"Destroyed when leaving game scene"),(0,o.kt)("li",{parentName:"ul"},"Handles commands in the game \xa0")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Network Room Manager",src:n(82578).Z,width:"555",height:"946"})),(0,o.kt)("h2",{id:"properties"},"Properties"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Show Room GUI"),(0,o.kt)("br",{parentName:"li"}),"Show the default OnGUI controls for the room."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Min Players"),(0,o.kt)("br",{parentName:"li"}),"Minimum number of players needed to start a game."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Room Player Prefab"),(0,o.kt)("br",{parentName:"li"}),"The prefab to create for players when they enter the room (requires Network Room Player component)."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Room Scene"),(0,o.kt)("br",{parentName:"li"}),"The scene to use for the room."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Gameplay Scene"),(0,o.kt)("br",{parentName:"li"}),"The scene to use for main game play."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"pendingPlayers"),(0,o.kt)("br",{parentName:"li"}),"List\\<PendingPlayer",">"," that holds players that are ready to start playing."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"roomSlots"),(0,o.kt)("br",{parentName:"li"}),"List\\<NetworkRoomPlayer",">"," that manages the slots for connected clients in the room."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"allPlayersReady"),(0,o.kt)("br",{parentName:"li"}),"Bool indicating if all players are ready to start playing. This value changes as players invoke ",(0,o.kt)("inlineCode",{parentName:"li"},"CmdChangeReadyState")," indicating true or false, and will be set false when a new client connects.")),(0,o.kt)("h2",{id:"methods"},"Methods"),(0,o.kt)("h3",{id:"server-virtual-methods"},"Server Virtual Methods"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual void OnRoomStartHost() {}\n\npublic virtual void OnRoomStopHost() {}\n\npublic virtual void OnRoomStartServer() {}\n\npublic virtual void OnRoomServerConnect(NetworkConnection conn) {}\n\npublic virtual void OnRoomServerDisconnect(NetworkConnection conn) {}\n\npublic virtual void OnRoomServerSceneChanged(string sceneName) {}\n\npublic virtual GameObject OnRoomServerCreateRoomPlayer(NetworkConnection conn)\n{\n return null;\n}\n\npublic virtual GameObject OnRoomServerCreateGamePlayer(NetworkConnection conn)\n{\n return null;\n}\n\npublic virtual bool OnRoomServerSceneLoadedForPlayer(GameObject roomPlayer, GameObject gamePlayer)\n{\n return true;\n}\n\npublic virtual void OnRoomServerPlayersReady()\n{\n ServerChangeScene(GameplayScene);\n}\n")),(0,o.kt)("h3",{id:"client-virtual-methods"},"Client Virtual Methods"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual void OnRoomClientEnter() {}\n\npublic virtual void OnRoomClientExit() {}\n\npublic virtual void OnRoomClientConnect(NetworkConnection conn) {}\n\npublic virtual void OnRoomClientDisconnect(NetworkConnection conn) {}\n\npublic virtual void OnRoomStartClient() {}\n\npublic virtual void OnRoomStopClient() {}\n\npublic virtual void OnRoomClientSceneChanged(NetworkConnection conn) {}\n\npublic virtual void OnRoomClientAddPlayerFailed() {}\n")))}s.isMDXComponent=!0},82578:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/NetworkRoomManager-4d0e6adc620e71de5cba45bc1a9cd58e.png"}}]); \ No newline at end of file diff --git a/assets/js/4951f167.6fde4d42.js b/assets/js/4951f167.6fde4d42.js new file mode 100644 index 00000000000..fb849dc2256 --- /dev/null +++ b/assets/js/4951f167.6fde4d42.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8402],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var i=n.createContext({}),s=function(e){var t=n.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(i.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,l=e.originalType,i=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),p=s(r),m=a,v=p["".concat(i,".").concat(m)]||p[m]||d[m]||l;return r?n.createElement(v,o(o({ref:t},u),{},{components:r})):n.createElement(v,o({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=r.length,o=new Array(l);o[0]=p;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var s=2;s<l;s++)o[s]=r[s];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},43034:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>o,default:()=>d,frontMatter:()=>l,metadata:()=>c,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));const l={id:"RejectReason",title:"RejectReason"},o="Enum RejectReason",c={unversionedId:"reference/Mirage.SocketLayer/RejectReason",id:"reference/Mirage.SocketLayer/RejectReason",title:"RejectReason",description:"Reason for reject sent from server",source:"@site/docs/reference/Mirage.SocketLayer/RejectReason.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/RejectReason",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/RejectReason",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/RejectReason.md",tags:[],version:"current",frontMatter:{id:"RejectReason",title:"RejectReason"},sidebar:"api",previous:{title:"PoolMetrics",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/PoolMetrics"},next:{title:"ReliableBatch",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ReliableBatch"}},i={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"None",id:"none",level:4},{value:"Declaration",id:"declaration",level:5},{value:"ServerFull",id:"serverfull",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Timeout",id:"timeout",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"ClosedByPeer",id:"closedbypeer",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"KeyInvalid",id:"keyinvalid",level:4},{value:"Declaration",id:"declaration-4",level:5}],u={toc:s};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"enum-rejectreason"},"Enum RejectReason"),(0,a.kt)("p",null,"Reason for reject sent from server"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public enum RejectReason\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"none"},"None"),(0,a.kt)("p",null,"No reason given"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"None = 0\n")),(0,a.kt)("h4",{id:"serverfull"},"ServerFull"),(0,a.kt)("p",null,"Server is at max connections and will not accept a new connection until one disconnects"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"ServerFull = 1\n")),(0,a.kt)("h4",{id:"timeout"},"Timeout"),(0,a.kt)("p",null,"Server did not reply to connection request "),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Timeout = 2\n")),(0,a.kt)("h4",{id:"closedbypeer"},"ClosedByPeer"),(0,a.kt)("p",null,"Closed called locally before connect"),(0,a.kt)("h5",{id:"declaration-3"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"ClosedByPeer = 3\n")),(0,a.kt)("h4",{id:"keyinvalid"},"KeyInvalid"),(0,a.kt)("p",null,"Key given with first message did not match the value on the server"),(0,a.kt)("h5",{id:"declaration-4"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"KeyInvalid = 4\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4972.8fab4c1b.js b/assets/js/4972.8fab4c1b.js new file mode 100644 index 00000000000..315b3cbfedb --- /dev/null +++ b/assets/js/4972.8fab4c1b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4972],{4972:(e,t,a)=>{a.r(t),a.d(t,{default:()=>i});var n=a(67294),l=a(95999),o=a(1944),r=a(4194);function i(){return n.createElement(n.Fragment,null,n.createElement(o.d,{title:(0,l.I)({id:"theme.NotFound.title",message:"Page Not Found"})}),n.createElement(r.Z,null,n.createElement("main",{className:"container margin-vert--xl"},n.createElement("div",{className:"row"},n.createElement("div",{className:"col col--6 col--offset-3"},n.createElement("h1",{className:"hero__title"},n.createElement(l.Z,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),n.createElement("p",null,n.createElement(l.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),n.createElement("p",null,n.createElement(l.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.")))))))}}}]); \ No newline at end of file diff --git a/assets/js/49d278e3.e6dd0cf2.js b/assets/js/49d278e3.e6dd0cf2.js new file mode 100644 index 00000000000..fe69e61f38c --- /dev/null +++ b/assets/js/49d278e3.e6dd0cf2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6526],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>v});var r=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=r.createContext({}),p=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=p(e.components);return r.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),d=p(n),v=i,y=d["".concat(l,".").concat(v)]||d[v]||u[v]||a;return n?r.createElement(y,c(c({ref:t},s),{},{components:n})):r.createElement(y,c({ref:t},s))}));function v(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,c=new Array(a);c[0]=d;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o.mdxType="string"==typeof e?e:i,c[1]=o;for(var p=2;p<a;p++)c[p]=n[p];return r.createElement.apply(null,c)}return r.createElement.apply(null,n)}d.displayName="MDXCreateElement"},17432:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>p});var r=n(87462),i=(n(67294),n(3905));const a={id:"SyncActiveOption",title:"SyncActiveOption"},c="Enum SyncActiveOption",o={unversionedId:"reference/Mirage/SyncActiveOption",id:"reference/Mirage/SyncActiveOption",title:"SyncActiveOption",description:"Syntax",source:"@site/docs/reference/Mirage/SyncActiveOption.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SyncActiveOption",permalink:"/Mirage/docs/reference/Mirage/SyncActiveOption",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SyncActiveOption.md",tags:[],version:"current",frontMatter:{id:"SyncActiveOption",title:"SyncActiveOption"},sidebar:"api",previous:{title:"StringHash",permalink:"/Mirage/docs/reference/Mirage/StringHash"},next:{title:"SyncFrom",permalink:"/Mirage/docs/reference/Mirage/SyncFrom"}},l={},p=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"DoNothing",id:"donothing",level:4},{value:"Declaration",id:"declaration",level:5},{value:"SyncWithServer",id:"syncwithserver",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"ForceEnable",id:"forceenable",level:4},{value:"Declaration",id:"declaration-2",level:5}],s={toc:p};function u(e){let{components:t,...n}=e;return(0,i.kt)("wrapper",(0,r.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"enum-syncactiveoption"},"Enum SyncActiveOption"),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public enum SyncActiveOption\n")),(0,i.kt)("h3",{id:"fields"},"Fields"),(0,i.kt)("h4",{id:"donothing"},"DoNothing"),(0,i.kt)("p",null,"Do nothing - leave the game object in its current state."),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"DoNothing = 0\n")),(0,i.kt)("h4",{id:"syncwithserver"},"SyncWithServer"),(0,i.kt)("p",null,"Synchronize the active state of the game object with the server","'","s state."),(0,i.kt)("h5",{id:"declaration-1"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"SyncWithServer = 1\n")),(0,i.kt)("h4",{id:"forceenable"},"ForceEnable"),(0,i.kt)("p",null,"Force-enable the game object, even if the server","'","s version is disabled."),(0,i.kt)("h5",{id:"declaration-2"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"ForceEnable = 2\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4ae64b88.6d602293.js b/assets/js/4ae64b88.6d602293.js new file mode 100644 index 00000000000..8a6a908a475 --- /dev/null +++ b/assets/js/4ae64b88.6d602293.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2457],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>k});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function o(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function i(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var d=r.createContext({}),c=function(e){var t=r.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},p=function(e){var t=c(e.components);return r.createElement(d.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,d=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=c(a),k=n,s=u["".concat(d,".").concat(k)]||u[k]||m[k]||l;return a?r.createElement(s,o(o({ref:t},p),{},{components:a})):r.createElement(s,o({ref:t},p))}));function k(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,o=new Array(l);o[0]=u;var i={};for(var d in t)hasOwnProperty.call(t,d)&&(i[d]=t[d]);i.originalType=e,i.mdxType="string"==typeof e?e:n,o[1]=i;for(var c=2;c<l;c++)o[c]=a[c];return r.createElement.apply(null,o)}return r.createElement.apply(null,a)}u.displayName="MDXCreateElement"},28661:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>m,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var r=a(87462),n=(a(67294),a(3905));const l={id:"NetworkReaderPool",title:"NetworkReaderPool"},o="Class NetworkReaderPool",i={unversionedId:"reference/Mirage.Serialization/NetworkReaderPool",id:"reference/Mirage.Serialization/NetworkReaderPool",title:"NetworkReaderPool",description:"Holds static reference to of",source:"@site/docs/reference/Mirage.Serialization/NetworkReaderPool.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/NetworkReaderPool",permalink:"/Mirage/docs/reference/Mirage.Serialization/NetworkReaderPool",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/NetworkReaderPool.md",tags:[],version:"current",frontMatter:{id:"NetworkReaderPool",title:"NetworkReaderPool"},sidebar:"api",previous:{title:"NetworkReader",permalink:"/Mirage/docs/reference/Mirage.Serialization/NetworkReader"},next:{title:"NetworkWriter",permalink:"/Mirage/docs/reference/Mirage.Serialization/NetworkWriter"}},d={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"Configure(Int32, Int32)",id:"configureint32-int32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"GetReader(ArraySegment<Byte>, IObjectLocator)",id:"getreaderarraysegmentbyte-iobjectlocator",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"GetReader(Byte[], IObjectLocator)",id:"getreaderbyte-iobjectlocator",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-1",level:5},{value:"GetReader(Byte[], Int32, Int32, IObjectLocator)",id:"getreaderbyte-int32-int32-iobjectlocator",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-2",level:5}],p={toc:c};function m(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networkreaderpool"},"Class NetworkReaderPool"),(0,n.kt)("p",null,"Holds static reference to of "),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class NetworkReaderPool\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"configureint32-int32"},"Configure(Int32, Int32)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void Configure(int startPoolSize = 5, int maxPoolSize = 100)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"startPoolSize"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"maxPoolSize"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"getreaderarraysegmentbyte-iobjectlocator"},"GetReader(ArraySegment","<","Byte",">",", IObjectLocator)"),(0,n.kt)("p",null,"Gets reader from pool. sets internal array and objectLocator values"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static PooledNetworkReader GetReader(ArraySegment<byte> packet, IObjectLocator objectLocator)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,n.kt)("td",{parentName:"tr",align:null},"packet"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.IObjectLocator"),(0,n.kt)("td",{parentName:"tr",align:null},"objectLocator"),(0,n.kt)("td",{parentName:"tr",align:null},"Can be null, but must be set in order to read NetworkIdentity Values")))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.PooledNetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"getreaderbyte-iobjectlocator"},"GetReader(Byte[], IObjectLocator)"),(0,n.kt)("p",null,"Gets reader from pool. sets internal array and objectLocator values"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static PooledNetworkReader GetReader(byte[] array, IObjectLocator objectLocator)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null},"array"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.IObjectLocator"),(0,n.kt)("td",{parentName:"tr",align:null},"objectLocator"),(0,n.kt)("td",{parentName:"tr",align:null},"Can be null, but must be set in order to read NetworkIdentity Values")))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.PooledNetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"getreaderbyte-int32-int32-iobjectlocator"},"GetReader(Byte[], Int32, Int32, IObjectLocator)"),(0,n.kt)("p",null,"Gets reader from pool. sets internal array and objectLocator values"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static PooledNetworkReader GetReader(byte[] array, int offset, int length, IObjectLocator objectLocator)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null},"array"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"offset"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"length"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.IObjectLocator"),(0,n.kt)("td",{parentName:"tr",align:null},"objectLocator"),(0,n.kt)("td",{parentName:"tr",align:null},"Can be null, but must be set in order to read NetworkIdentity Values")))),(0,n.kt)("h5",{id:"returns-2"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.PooledNetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null})))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4afae106.6145ca74.js b/assets/js/4afae106.6145ca74.js new file mode 100644 index 00000000000..2901ced8054 --- /dev/null +++ b/assets/js/4afae106.6145ca74.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[808],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},s=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),d=u(r),m=a,b=d["".concat(c,".").concat(m)]||d[m]||p[m]||i;return r?n.createElement(b,o(o({ref:t},s),{},{components:r})):n.createElement(b,o({ref:t},s))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=d;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:a,o[1]=l;for(var u=2;u<i;u++)o[u]=r[u];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},17699:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>u});var n=r(87462),a=(r(67294),r(3905));const i={id:"QuaternionPackAttribute",title:"QuaternionPackAttribute"},o="Class QuaternionPackAttribute",l={unversionedId:"reference/Mirage.Serialization/QuaternionPackAttribute",id:"reference/Mirage.Serialization/QuaternionPackAttribute",title:"QuaternionPackAttribute",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/QuaternionPackAttribute.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/QuaternionPackAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/QuaternionPackAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/QuaternionPackAttribute.md",tags:[],version:"current",frontMatter:{id:"QuaternionPackAttribute",title:"QuaternionPackAttribute"},sidebar:"api",previous:{title:"PooledNetworkWriter",permalink:"/Mirage/docs/reference/Mirage.Serialization/PooledNetworkWriter"},next:{title:"QuaternionPacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/QuaternionPacker"}},c={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"QuaternionPackAttribute(Int32)",id:"quaternionpackattributeint32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5}],s={toc:u};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-quaternionpackattribute"},"Class QuaternionPackAttribute"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,a.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class QuaternionPackAttribute : Attribute, _Attribute\n")),(0,a.kt)("h3",{id:"constructors"},"Constructors"),(0,a.kt)("h4",{id:"quaternionpackattributeint32"},"QuaternionPackAttribute(Int32)"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public QuaternionPackAttribute(int bitPerElement = 9)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,a.kt)("td",{parentName:"tr",align:null},"bitPerElement"),(0,a.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4b7e9577.5503f694.js b/assets/js/4b7e9577.5503f694.js new file mode 100644 index 00000000000..871486d9f5c --- /dev/null +++ b/assets/js/4b7e9577.5503f694.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9304],{3905:(e,t,n)=>{n.d(t,{Zo:()=>h,kt:()=>m});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var i=r.createContext({}),l=function(e){var t=r.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},h=function(e){var t=l(e.components);return r.createElement(i.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,h=s(e,["components","mdxType","originalType","parentName"]),p=l(n),m=a,b=p["".concat(i,".").concat(m)]||p[m]||d[m]||o;return n?r.createElement(b,c(c({ref:t},h),{},{components:n})):r.createElement(b,c({ref:t},h))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,c=new Array(o);c[0]=p;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s.mdxType="string"==typeof e?e:a,c[1]=s;for(var l=2;l<o;l++)c[l]=n[l];return r.createElement.apply(null,c)}return r.createElement.apply(null,n)}p.displayName="MDXCreateElement"},87438:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var r=n(87462),a=(n(67294),n(3905));const o={},c="Network Scene Checker",s={unversionedId:"components/network-scene-checker",id:"components/network-scene-checker",title:"Network Scene Checker",description:"The Network Scene Checker component controls the visibility of game objects for network clients, based on which scene they're in.",source:"@site/docs/components/network-scene-checker.md",sourceDirName:"components",slug:"/components/network-scene-checker",permalink:"/Mirage/docs/components/network-scene-checker",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/network-scene-checker.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Room Player",permalink:"/Mirage/docs/components/network-room-player"},next:{title:"Network Scene Manager",permalink:"/Mirage/docs/components/network-scene-manager"}},i={},l=[{value:"Use with Additive Scenes",id:"use-with-additive-scenes",level:2}],h={toc:l};function d(e){let{components:t,...o}=e;return(0,a.kt)("wrapper",(0,r.Z)({},h,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"network-scene-checker"},"Network Scene Checker"),(0,a.kt)("p",null,"The Network Scene Checker component controls the visibility of game objects for network clients, based on which scene they're in."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Network Scene Checker component",src:n(3944).Z,width:"483",height:"56"})),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Force Hidden"),(0,a.kt)("br",{parentName:"li"}),"Tick this checkbox to hide this object from all players.")),(0,a.kt)("p",null,"With the Network Scene Checker, a game running on a client doesn\u2019t have information about game objects that are not visible. This has two main benefits: it reduces the amount of data sent across the network, and it makes your game more secure against hacking."),(0,a.kt)("p",null,"This component would typically be used when the server has several sub-scenes loaded and needs to isolate networked objects to the sub-scene they're in."),(0,a.kt)("p",null,"A game object with a Network Scene Checker component must also have a Network Identity component. When you create a Network Scene Checker component on a game object, Mirage also creates a Network Identity component on that game object if it does not already have one."),(0,a.kt)("p",null,"Scene objects with a Network Scene Checker component are disabled when they're not in the same scene, and spawned objects are destroyed when they're not in the same scene."),(0,a.kt)("h2",{id:"use-with-additive-scenes"},"Use with Additive Scenes"),(0,a.kt)("p",null,"In Mirage, the Server and connected Clients are always on the same main scene, however, the server and clients can have various combinations of smaller sub-scenes loaded additively. The server may load all sub-scenes at start, or it may dynamically load and unload sub-scenes where players or other activity is going on as needed."),(0,a.kt)("p",null,"All character objects are always first spawned in the main scene, which may or may not have visual content, networked objects, etc. With this component attached to all networked objects, whenever the character object is moved to a sub-scene (from the main or another sub-scene), the observer's lists for objects in both the new scene and the prior scene are updated accordingly."),(0,a.kt)("p",null,"Loading the sub-scene(s) on the server is through the normal process with ",(0,a.kt)("inlineCode",{parentName:"p"},"SceneManager"),":"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"SceneManager.LoadSceneAsync(subScene, LoadSceneMode.Additive);\n")),(0,a.kt)("p",null,"Next, you will send a ",(0,a.kt)("inlineCode",{parentName:"p"},"SceneMessage")," to the client telling it to load a sub-scene additively:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"SceneMessage msg = new SceneMessage\n{\n sceneName = subScene,\n sceneOperation = SceneOperation.LoadAdditive\n};\n\nOwner.Send(msg);\n")),(0,a.kt)("p",null,"Then, on the server only, you just move the character object to the sub-scene:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"// Position the character object in world space first\n// This assumes it has a NetworkTransform component that will update clients\nplayer.transform.position = new Vector3(100, 1, 100);\n\n// Then move the character object to the subscene\nSceneManager.MoveGameObjectToScene(player, subScene);\n")),(0,a.kt)("p",null,"Optionally you can send another ",(0,a.kt)("inlineCode",{parentName:"p"},"SceneMessage")," to the client with ",(0,a.kt)("inlineCode",{parentName:"p"},"SceneOperation.UnloadAdditive")," to remove any previous additive scene the client no longer needs. This would apply to a game that has levels after a level change. A short delay may be necessary before removal to allow the client to get fully synced."),(0,a.kt)("p",null,"Depending on the complexity of your game, you may find it helpful when switching a player between sub-scenes to move the character object to the main scene first, yield 100 ms, re-position it, and finally move it to the new sub-scene."))}d.isMDXComponent=!0},3944:(e,t,n)=>{n.d(t,{Z:()=>r});const r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeMAAAA4CAYAAADO+ZBgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABYxSURBVHhe7Z0HkBZF2sdRRBGJKipgAEVMKIWgkilAwhEWtQSkJElUEFTAA0FAooEkLDnnxaUIEpTMAksUYWH11LsznHVKfXXiVd1p1feVWs/3/hr7dZjtecPuu5Fnq3413f1093TPO9P/eXpmp4utWrVKJkyYIKdPn5ZDhw7liIMHD8revXtl165dWdizZ48cOHDA5HGVVRRFUZTLDbS3SZMmklAxRoj/+uXXgRw5eszkUUFWFEVRckK9ek2kYdIAqVorSWo26iq1mnaXOs37yCOt+kiDtv2k+RODpPXTL0lS16EybOhEZx0FgVwRYzxglwh7ST9yNKIgb9y4UcaOHSuvvvpqREaNGiXDhw931qEoiqIUXRo17SgN2w+QkW+tkAv/+V+J9vdU79HOemLhvffek8cee0waN27stLtIS0uTvn37Ggi78ljyTYwBD5kpa1cdCPHabYfkg1PfGXac+md46w03bt5GihUrJs8995yzHkVRFKVoclWZSnLo7HnpPnyODJm0WnqPnC8jpqfKvJT9siP9L3L263/JN//6j/zfr7/Jb7/9Ji26vuqsJxamTZsmlSpVMrjsFhzM1atXGwHet2+f3HPPPQbCpGFzOaH5KsbAM2RXHXi9m499K5uO/sOw+ejFMFtDyDZ49DQjxCVKlBDa76qnsEF/wGUr6uRm3/PyuHIjyb4effRRp70gUbduXdPWcePGOe2KUpC54pob5OgXF6TToKmSmvZ3mbgszTBm3ocyfMYm6T9uqTw7/F15edIS+eGHH6RZl2HOeiyvv/66k+nTp8vs2bNjEmM84N69e4dF2A82l5ccVYy5GxgxYkQg2L35IR4xJq+/PCDGKWlfyfqDX/+ODbP9Sqau2CVXX1PSDCRt27bNUr527dry/vvvZ0mPZ0Ambzz5E0G8+9yxY4d07NhRKlasKNdcc408/PDD5sd25c1vVqxYIfXq1ZN7771XrrrqKilXrpyMHv3HtFFuHu/crNvLhx9+KGXKlJGSJUvKli1bwum58TvF2ydX/k2bNpn2lC1bVnbu3HmJTVEKOleVriw7T/1TnhgwRVL3/1VW7cyU//nxJ8PyHRkyZUW6TFxxWLoNn2fEuHkUMbZi6+eBBx6QRYsWheOushaE9oMPPgiL7/jx4w02ji1bYkzBkSNHOoWYdOze/JAoMV65528h/p6FRdsypfLt1c3A0rDlkyavvzw2Br6FCxdmSffGI+EavHKbePeJuJH/jTfeMM/g58yZY8TOlTe/6d69u2nr4MGDZevWrbJmzRrjmVl7vH2Ph9ys28vAgQPNfp588slL0gvC7xR0DLhJIJ3fxW9TlIJMiXK3ybp9X0ibnmNl8faz8tX3/5bkDR/J7NSTcv7Cf2XSskMyKSTIfUYvlW+//Vaadx7qrMcyb948JytXrpR33303qhj7veKJEyeasQ4I23SXdxxVjGHu3LlOMSbdnxesGGd+9qWsCQnnxl2fmvjTY45eso0mxot2fCELd3wuXV8YK9PXHTXhRSHqt3jCDB6VbrtLkjdlBIrxzTffbKawvXbvYLR7927p3LmzEW08mQcffFCWL18ezufHTj/aB/j333+/3HLLLSbcqFEjY7PTfdu3b5dWrVoZ7w/atGljvCNs3vqHDh0qVatWleLFi1+STnjWrFnGY0lKSgqX80O7yT9jxgzncwi8HcpXqFDBHIsqVaqEbZH6D7YtPI+/8cYbTR3c4cVa3g/Hi/qWLl3qtOd0f5H6ausm7DqusR4L/+/lp1atWibfzJkzL0nPye8UtG+b7s/XrFkzKVWqlFSrVs0MIl6bF1uO2S3izCbZNEUpDFxb4U6Zv+W0eRacvPGUjA+J74Tlh2X93k/ly+/+HfKK00PxQ9J71BLJzMyU5s9EFuNIxPIC1/79+6VXr15h0X3rrbfMs2IgbNPJQ15v2ZjEmDt5phO9QkycdH9esGI8IvkjWbLpnNmOX/SxEWHLgo2ZUcU4efOn0rn/GDNQ3BIS3jdXpsuzgyeZeImrS8qo2e9L8pa/BIpxamqqVK5c2YTbt29vDghhmwfvhXhycrLxoAnXqFHjkjq8+Zn2vuKKK4wAM6Aiskzx0QfulrBxB0RehJiy3A0hKIQRZH/dXrzpL7/8shl0a9asadpty/nhuaQtQ3vatWsnmzdvDtvpN7YBAwZkuROLtf94sPPnzzdhxCrW8n6YviUPU7kuOzbI7v4i9ZV0CDqusR4LL9bmBZHH5v0NICe/ky3nxZvuz8eggQdOuE6dOlnsNm7hPxdIL1++fBabohRkKtxWS6anHJeGHQfJjNTjMiGkEdNTjsn3P/xXDp7+RsYtTpMxC/ZL39dXyuHDh6XZM5Gnqf3wnzrMYNn/2OGFY//16QWBxenasGFDWHjxqMHGsZEnW2IMeAleMY7kASFO6af+FvaACe9I+ywct9toYjwtNVPeWHJQbr71LjNYVKxczYgw4S4DJxj7tNRzgWLMloHm1ltvNfH77rsvnA54IcS9eD0em2bjcNddF9vC84OHHnrIPEvgQCPEd999dzifHZTxuIAwg7C127r5Ybw/rk2HK6+80txQWJsLPCqmPNg3+SlHm6zd9tElgPH0nzZ647GU91O6dGmTJ+jmwtZBODv7i9RXbxnXcY31WPh/Lz+UIZ+/jzn5nYL2bdNdcW6UCeMhB+W32JtUnuP7bYpSkLmhWt2QN3xQ6rbuI1NWpcuYRQdk5JzdsnFfpgybuU2GztgqL0/bKt2GzjOOUrxi/MgjjxhHC4/YZffD9cn11LNnz7D4+sHG7KA3Df2NWYzZCR4eQsw20oCEwH507g8xRohfXxC/Zzx5zRnDa3P3yU1V7gwPJrUbdwjbIJIYAx7IHXfcES5v0/EEiCOWNs2LPz906dLFpOFJde3aVTp16iQdOnQwac8++2w4nxVjBkU72LnE2Mb96Zb+/ftnyRMEr8xThilRm2b76DrO8fbfH49W3g93mORfsmSJ0+6v3x+Ptr9IfbV1WfzHNd5jEUSQZ+wl3t8paN/+dG8cUSd8/fXXB+a38BIX6bTBb1OUgszN1RtI33ErpWbjLjL83a0yaNIG+fOMTfKP8z/K0LdTpefopdJn3Gp5ZshM40DG8zY1M6E8fkSM2RK3NldZC9qIs9atWzczS2UFlzBpzLxxnffo0cOks+W/imIWY1i/fr0RY7Yuu4UdIbTJKRlmirrX5OOy7+gXYXG222hiPHbZKRm3/GPD8Fl7Q57xnXJjyDsetSA9nA7RxBg4kHfeeVHQbRrP6IgzBYFopqSkmLdcrd16K95nnPb5GoPupEmTzHSgHYC9zwlbt25t0qJNU9u4P33KlClyww03mAE7kneMwLFfPC/2RVlOHGtnn6QNGjQoyw1UtP7btgTFo5X3w//YkZ8TkrtU8vNik7X76/fHo+0vUl9tXUHHNd5jEUTQM+Oc/E5B+/an2zgX9pAhQ0yY6XBrd53PQLtI12fGSmHjtgeaSZteE6R63Q7SeegceWrgzBDTpdeIudKh35vSof9b0vH5d6Rt93FmBjOaGNsXtID8LVu2NGG2xK3NVdbC9ctNPS83b9u2zYx3QJg0bMBNOWLMFoctLjGGBQsWONO9WDEGRBgv2cb9BIkxL0uNmbVFRiw8+Tsn5MWpO6Xv+FQTHrEgRGhLHvL6yzO4+NN4qapp06bhOAcEb5bnyldffbWZNkQwrJ07oJtuuslMK1533XUmjYGOF2yon39dYUAnzLNj79SkfYELoQbE2fUCl4270vmR8FYaNmyYJZ+FZ4wMorQfL4hnj+zb2vGQGJAZiJmGtC+cQbT++9voj0cr74cbIkSHqX6OITMF3MxYe073F6mv3rpcxzXeYxHECy+8YPIxc+JNz8nvFLRvf7qNI/zcbNA/7z5c5zPY5+UvvvhiOE1RCgO31ewgjTv+ObT9k7R+brK07jlB2vaZLH/qPSlMm1B646TB5kY8mhh736Dmmqxfv74R3wYNGpi4tbnKWg4ePGgEGdAExn0gbNOB+vCK2RKPW4xjwSvG0QgS41g/h0ke8rrqUJS8hgvL9X/GeYFfnGOBNtJWbhhpuyuPohRU1q5cIwMHDJUHG3SWGvWelgca9pBHWvaTem2HSKOkYdKi6xvSqsckebhl35B32st8PtlVTxDDhg0z3iszZi57NBBZXtQCwl4b4oz+WScuV8SYaT6X8Logr6sORSms2H+Bi/Wlj0SRHTG2b3m7ZpcUpTCxY9t2SVm9TuYnL5C+/YfL40l95dFm3eS++s9IpbseNULMs1xX2fzAeshWpHNFjHHTEVlUPxLkIa+rDkVRFEW5XMgVMVYURVEUJXZUjJXLHr7IpSiKEiuucSSnqBgrlz38ny2PTfi6jqIoShCME4wXrnEkp6gYK5c9XFx8Ku/48eOGY8eOOd954K3HI0eOhPMpinJ5wThxWYoxCwa40hUlkVgxPnnypMFcdOlH5FzmJ5dwJuOsEekTJ06E8xYW+vXr50wvjCS6L0Xp2Ci5S6ESY/5XkS9OPf/88+aTg3xtKNJ3rBOBiraSE2IVY8g4e04OHEjLIsgM6KyqRFlvmjdPEHkhBpH2wf9Avvnmm2YJRZaAZHWZdevWOfPmBXYMoS18RIV/SeFbAtae6OOVF8dfKRrEI8YsePPKK68YfWJL3JXPknAx5kMcfHuTKT0ucr7HGe1bnjlFxVjJCfGIMWDzii4woCNoK1asuCTNmyeIvBCDSPtA7LhhTk9Pl6NHj5oPgSCGrry5DZ8L5KbADlz86yNCPH369HCeRB+vvDj+StEgVjHm/OXrgnwCkzhb4pEEOeFizGf/vJ/g84NIM2hxx8vXTex3rhFU/vkZW58+fcJpthxhvguNx81dhv26EelebH5FiZVEiTGf1GSJRp452zRrZz+TJ0823h43rFwjNo8X0viuNM+mEUfyc10Q57vVtj5eJuHi5jpiSx5rox7ax/XC9WjTrJ2bZT7pZ+PUy/S7jfth34ghIjly5EizCAbpQX0C9senczkelOM6t7ZI5VgPnAHLxl1kt+6gfkQ6NtH66D/OStEmVjFGo6wQW4iT7k3zknAx5mTm4mZ6eu7cuebk9doRW052RJnpKPttYoR08eLFZkCzeb3iSpiF0inHWrevvfaaM5+ixEuQGJ86nSn70zPkzNlPZM3WU/JB2hk5cepcoBizfeedd2TZsmWXpMHbb79tpn4px40kYmBt3nzANcF5jpfNDStfDUJsvWVYpARBQmC4HvjurrVRH9czXqU3jS11zp49O5wOeMUvvfSSmZ7mGvQLM2LDSlvsi9kuxIn0aH1iXxxXln5EOK0tUjluLrztdpHduoP6EenYROuj/zgrRZtYxdivXa6wn4SLMbAyDSc9AxPP0RicrA3Plrt6b35wNTKoEwxU3iXwInVQUaLhEuNDh4/Iqi0fyZbdH8t7O07JrLUnZG7KCdmy53REMebcRByY7rVpgDdG3ML56y9rSU5ONtO1DPxM0Y4ZM8a8zc0Nrs3DDS+eM2G2LPJgbf76bBqigrj4bYDYMwawghMrs61duzZso+3W2/cSa584Vt54pHKxirENx1N3UD/IF3RsYu2jcnkQqxgXCM/YD54uJ7CNI8Zc+N48EI8Ys3ISF63Lpijx4hLjfWnpsnhDKP5xpmzfd9oI8YrNH8muQxkRxRiYCsWb9aYhlkEi4x/UEQbK83F64ggkM04s4WbzZEeMp06daqZa6bPf7oV2Mi1r4wiSv78QT59iPRa8XxLLNHVQPFLdQf2IdGzi6aNS9IlVjAvEM2PuqlkLFsG0U8relTKYXmMqDO+YaWripMcixkx5M73EdJMtB1wwsRwgRXHhEmMEF48Y73hn2hlZmHpSNuz8WA4dPxtVjDlHmfb1ptnHM+yHm1HOYWvDk2aJNRvHC+a5sZ3upn3EWYfY5uH859qy09R2yhVcImHTWMaSst72I4B44LQNYWc/DBzWjsfI+IBXSd+Y8SI9Up/8bYj1WDBoIZoMWtj5fWgbbbR5slt3UD8iHZt4+qgUfTgPYtUazmE8YbSLbSQhhoSLMVNsCDJrweK9UifT1taOSDPdxgsPDDB2FY1YxBhPgXqZtvM+W6aTeNzUadMUJVaCxDjj3CfmGfHZ0DaWF7i8cbxYbxreFQM7N46cx1xv1saa2AgQNuL82xTXhvV82ReeMP+ZYMsgJrzsxDXGlptba3OJhDeN6xFP28YJI3ZcQ7SDdiI81s6x4Xky7eMZNu9ukB6pT/42xHosgN+DPtEWrmnGE297s1t3UD8iHZt4+qgUfeIR43hJuBjnFi6xVpREECTGXgH24hJjRVGKPirGIVSMldzCL8Z4pniezOK4wFYYv8KlKErOUDFWlFzEivEnn4Q833PnFEVRssD4oGKsKLkIF9fWrVsVRVGiomKsKIqiKEUUFWNFURRFyWdUjBVFURQln1ExVhRFUZR8RsVYUULwlaexY8eaTyJGgjzkddWhKIqSXS5rMS5WrJgzHbJrUwoniGxGRob8+uuvhl9++SW8NeFfLobJQ15XHYqiKNkl4WKMUPlx5csLXPuOtT2R8uVnn5TcAa/3559+kp9+x4bZGn7+Obwlr6sORVGU7JIrYuxKzw9UjJVYQWAv/HBBfrzwo+HChYthtoaQzW5VjBVFSTR5JsY8Z6tTp45ce+21Zuv9x2nK8KH7du3aSYkSJUwaH2xPSkqSChUqSPXq1c0ycqSzqgsNLlWqlFStWtWsWGPr8eNqizfNG+afuevXry8lS5aUGjVqxGyL1B7y9e7dWypWrGj6MX78+LBNKVggsN9/972c/95y3rM9/7vt4lbFWFGURJMrYuzFpjdu3NgIEyLbq1cvadq06SVlWBEF0bNp7du3N2uqspzchg0bTCNJb9mypVlhhuUZWRkHobZl/PjbYvHabbhVq1bSqVMnsz+WgIzVFqk95GPpLJbHY+UXRNnalIIFAvvNV1/L1wFYG1sVY0VREk2eecalS5c26xcTZlumTJmwzVWmXLly5qP8/vSyZcua/JbixYtnyWNx1etN84bLly9v1kuO1xapPd58eP7euFKwQGA//+xz+eJ3bJitN8xWxVhRlESTb2KMiFmbqwxijLfpT0fEWQTcn+7CVa83zRtmmhnPN15bpPb49++PKwUHBPZcxtlAzp75Y6tirChKoskzMW7UqJFZBhFRY5raTjuDqwzTvwx6eMdMU7du3dqkN2vWTHr06GGmfnnuzHS2v6zFVa83zRvmOTaLmTONznGI1RapPf79++NKwYFz7eTxEyFOBmBtJ1SMFUVJOHkmxghq7dq1zUtQbL0fTnCVYVr48ccfNx50lSpVZNiwYSad58otWrQw6bfffnvEgdFVrzfNG165cqVUq1bNeLpPPfVUzLZI7fHv3x9XCg78bocPHpb0GFAxVhQl0SRcjBWlMMKHPNanpMi+3XsNe3ftCW+9kEc/+qEoSqJRMVaUEPo5TEVR8hMVY0VRFEXJZ1SMFUVRFCWfUTFWFEVRlHxGxVhRFEVR8hkVY0VRFEXJZ1SMFUVRFCWfySLGLHbAog2KoiiKouQNaG+TJk3k/wHIcWtMwFK3zgAAAABJRU5ErkJggg=="}}]); \ No newline at end of file diff --git a/assets/js/4c176dcf.c36b7ca1.js b/assets/js/4c176dcf.c36b7ca1.js new file mode 100644 index 00000000000..b8140e33a1b --- /dev/null +++ b/assets/js/4c176dcf.c36b7ca1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2646],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>d});var o=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=o.createContext({}),l=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=l(e.components);return o.createElement(s.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},h=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,s=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),h=l(n),d=r,u=h["".concat(s,".").concat(d)]||h[d]||m[d]||a;return n?o.createElement(u,i(i({ref:t},p),{},{components:n})):o.createElement(u,i({ref:t},p))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=h;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var l=2;l<a;l++)i[l]=n[l];return o.createElement.apply(null,i)}return o.createElement.apply(null,n)}h.displayName="MDXCreateElement"},62783:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var o=n(87462),r=(n(67294),n(3905));const a={},i="Network Transform Child",c={unversionedId:"components/network-transform-child",id:"components/network-transform-child",title:"Network Transform Child",description:"The Network Transform Child component synchronizes the position and rotation of the child game object of a game object with a Network Transform component. You should use this component in situations where you need to synchronize an independently-moving child object with a Networked game object.",source:"@site/docs/components/network-transform-child.md",sourceDirName:"components",slug:"/components/network-transform-child",permalink:"/Mirage/docs/components/network-transform-child",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/network-transform-child.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Start Position",permalink:"/Mirage/docs/components/network-start-position"},next:{title:"Network Transform",permalink:"/Mirage/docs/components/network-transform"}},s={},l=[],p={toc:l};function m(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,o.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"network-transform-child"},"Network Transform Child"),(0,r.kt)("p",null,"The Network Transform Child component synchronizes the position and rotation of the child game object of a game object with a Network Transform component. You should use this component in situations where you need to synchronize an independently-moving child object with a Networked game object."),(0,r.kt)("p",null,"To use the Network Transform Child component, attach it to the same parent game object as the Network Transform, and use the Target field to define which child game object to apply the component settings to. You can have multiple Network Transform Child components on one parent game object."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"The Network Transform Child component",src:n(85964).Z,width:"466",height:"636"})),(0,r.kt)("p",null,"You can modify ",(0,r.kt)("strong",{parentName:"p"},"Compress Rotation")," to save some bandwidth when synchronizing the rotation. You can use the ",(0,r.kt)("strong",{parentName:"p"},"Network Sync Interval")," to specify how often it syncs (in seconds)."),(0,r.kt)("p",null,"This component takes authority into account, so local player game objects (which have local authority) synchronize their position from the client to the server, then out to other clients. Other game objects (with server authority) synchronize their position from the server to clients."))}m.isMDXComponent=!0},85964:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/NetworkTransform-87bc4e6d6034c82e59059a22d4beee56.png"}}]); \ No newline at end of file diff --git a/assets/js/4c6e10d8.cdee2b08.js b/assets/js/4c6e10d8.cdee2b08.js new file mode 100644 index 00000000000..a146cc5f684 --- /dev/null +++ b/assets/js/4c6e10d8.cdee2b08.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8682],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>k});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=r.createContext({}),c=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},d=function(e){var t=c(e.components);return r.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},s=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,p=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),s=c(a),k=n,b=s["".concat(p,".").concat(k)]||s[k]||m[k]||l;return a?r.createElement(b,i(i({ref:t},d),{},{components:a})):r.createElement(b,i({ref:t},d))}));function k(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=s;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var c=2;c<l;c++)i[c]=a[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}s.displayName="MDXCreateElement"},32017:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var r=a(87462),n=(a(67294),a(3905));const l={id:"ServerObjectManagerExtensions",title:"ServerObjectManagerExtensions"},i="Class ServerObjectManagerExtensions",o={unversionedId:"reference/Mirage/ServerObjectManagerExtensions",id:"reference/Mirage/ServerObjectManagerExtensions",title:"ServerObjectManagerExtensions",description:"Extra helper methods for that dont add any extra logic",source:"@site/docs/reference/Mirage/ServerObjectManagerExtensions.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/ServerObjectManagerExtensions",permalink:"/Mirage/docs/reference/Mirage/ServerObjectManagerExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/ServerObjectManagerExtensions.md",tags:[],version:"current",frontMatter:{id:"ServerObjectManagerExtensions",title:"ServerObjectManagerExtensions"},sidebar:"api",previous:{title:"ServerObjectManager",permalink:"/Mirage/docs/reference/Mirage/ServerObjectManager"},next:{title:"ServerRpcAttribute",permalink:"/Mirage/docs/reference/Mirage/ServerRpcAttribute"}},p={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"AddCharacter(ServerObjectManager, INetworkPlayer, GameObject, Int32)",id:"addcharacterserverobjectmanager-inetworkplayer-gameobject-int32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"AddCharacter(ServerObjectManager, INetworkPlayer, GameObject)",id:"addcharacterserverobjectmanager-inetworkplayer-gameobject",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"ReplaceCharacter(ServerObjectManager, INetworkPlayer, GameObject, Boolean)",id:"replacecharacterserverobjectmanager-inetworkplayer-gameobject-boolean",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"ReplaceCharacter(ServerObjectManager, INetworkPlayer, GameObject, Int32, Boolean)",id:"replacecharacterserverobjectmanager-inetworkplayer-gameobject-int32-boolean",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Spawn(ServerObjectManager, GameObject, GameObject)",id:"spawnserverobjectmanager-gameobject-gameobject",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Spawn(ServerObjectManager, GameObject, Int32, INetworkPlayer)",id:"spawnserverobjectmanager-gameobject-int32-inetworkplayer",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"Spawn(ServerObjectManager, GameObject, INetworkPlayer)",id:"spawnserverobjectmanager-gameobject-inetworkplayer",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"SpawnInstantiate(ServerObjectManager, GameObject, Nullable<Int32>, INetworkPlayer)",id:"spawninstantiateserverobjectmanager-gameobject-nullableint32-inetworkplayer",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"Returns",id:"returns",level:5},{value:"SpawnInstantiate(ServerObjectManager, NetworkIdentity, Nullable<Int32>, INetworkPlayer)",id:"spawninstantiateserverobjectmanager-networkidentity-nullableint32-inetworkplayer",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"Returns",id:"returns-1",level:5}],d={toc:c};function m(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-serverobjectmanagerextensions"},"Class ServerObjectManagerExtensions"),(0,n.kt)("p",null,"Extra helper methods for that dont add any extra logic"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class ServerObjectManagerExtensions\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"addcharacterserverobjectmanager-inetworkplayer-gameobject-int32"},"AddCharacter(ServerObjectManager, INetworkPlayer, GameObject, Int32)"),(0,n.kt)("p",null,"When is received from a player, the server calls this to associate the character GameObject with the NetworkPlayer.\nWhen a character is added for a player the object is automatically spawned, so you do not need to call ServerObjectManager.Spawn for that object.\nThis function is used for adding a character, not replacing. If there is already a character then use instead."),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void AddCharacter(this ServerObjectManager som, INetworkPlayer player, GameObject character, int prefabHash)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.ServerObjectManager"),(0,n.kt)("td",{parentName:"tr",align:null},"som"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"the Player to add the character to")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"GameObject"),(0,n.kt)("td",{parentName:"tr",align:null},"character"),(0,n.kt)("td",{parentName:"tr",align:null},"The Network Object to add to the Player. Can be spawned or unspawned. Calling this method will respawn it.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"prefabHash"),(0,n.kt)("td",{parentName:"tr",align:null},"New prefab hash to give to the player, used for dynamically creating objects at runtime.")))),(0,n.kt)("h4",{id:"addcharacterserverobjectmanager-inetworkplayer-gameobject"},"AddCharacter(ServerObjectManager, INetworkPlayer, GameObject)"),(0,n.kt)("p",null,"When is received from a player, the server calls this to associate the character GameObject with the NetworkPlayer.\nWhen a character is added for a player the object is automatically spawned, so you do not need to call ServerObjectManager.Spawn for that object.\nThis function is used for adding a character, not replacing. If there is already a character then use instead."),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void AddCharacter(this ServerObjectManager som, INetworkPlayer player, GameObject character)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.ServerObjectManager"),(0,n.kt)("td",{parentName:"tr",align:null},"som"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"the Player to add the character to")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"GameObject"),(0,n.kt)("td",{parentName:"tr",align:null},"character"),(0,n.kt)("td",{parentName:"tr",align:null},"The Network Object to add to the Player. Can be spawned or unspawned. Calling this method will respawn it.")))),(0,n.kt)("h4",{id:"replacecharacterserverobjectmanager-inetworkplayer-gameobject-boolean"},"ReplaceCharacter(ServerObjectManager, INetworkPlayer, GameObject, Boolean)"),(0,n.kt)("p",null,"This replaces the player object for a connection with a different player object. The old player object is not destroyed.\nIf a connection already has a player object, this can be used to replace that object with a different player object. This does NOT change the ready state of the connection, so it can safely be used while changing scenes."),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void ReplaceCharacter(this ServerObjectManager som, INetworkPlayer player, GameObject character, bool keepAuthority = false)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.ServerObjectManager"),(0,n.kt)("td",{parentName:"tr",align:null},"som"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"Connection which is adding the player.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"GameObject"),(0,n.kt)("td",{parentName:"tr",align:null},"character"),(0,n.kt)("td",{parentName:"tr",align:null},"Player object spawned for the player.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"keepAuthority"),(0,n.kt)("td",{parentName:"tr",align:null},"Does the previous player remain attached to this connection?")))),(0,n.kt)("h4",{id:"replacecharacterserverobjectmanager-inetworkplayer-gameobject-int32-boolean"},"ReplaceCharacter(ServerObjectManager, INetworkPlayer, GameObject, Int32, Boolean)"),(0,n.kt)("p",null,"This replaces the player object for a connection with a different player object. The old player object is not destroyed.\nIf a connection already has a player object, this can be used to replace that object with a different player object. This does NOT change the ready state of the connection, so it can safely be used while changing scenes."),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void ReplaceCharacter(this ServerObjectManager som, INetworkPlayer player, GameObject character, int prefabHash, bool keepAuthority = false)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.ServerObjectManager"),(0,n.kt)("td",{parentName:"tr",align:null},"som"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"Connection which is adding the player.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"GameObject"),(0,n.kt)("td",{parentName:"tr",align:null},"character"),(0,n.kt)("td",{parentName:"tr",align:null},"Player object spawned for the player.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"prefabHash"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"keepAuthority"),(0,n.kt)("td",{parentName:"tr",align:null},"Does the previous player remain attached to this connection?")))),(0,n.kt)("h4",{id:"spawnserverobjectmanager-gameobject-gameobject"},"Spawn(ServerObjectManager, GameObject, GameObject)"),(0,n.kt)("p",null,"Spawns the identity and settings its owner to the player that owns ownerObject"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void Spawn(this ServerObjectManager som, GameObject obj, GameObject ownerObject)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.ServerObjectManager"),(0,n.kt)("td",{parentName:"tr",align:null},"som"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"GameObject"),(0,n.kt)("td",{parentName:"tr",align:null},"obj"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"GameObject"),(0,n.kt)("td",{parentName:"tr",align:null},"ownerObject"),(0,n.kt)("td",{parentName:"tr",align:null},"An object owned by a player")))),(0,n.kt)("h4",{id:"spawnserverobjectmanager-gameobject-int32-inetworkplayer"},"Spawn(ServerObjectManager, GameObject, Int32, INetworkPlayer)"),(0,n.kt)("p",null,"Assigns prefabHash to the obj and then spawns it with owner"),(0,n.kt)("p",null," can only be set on an identity if the current value is Empty"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre"},"This method is useful if you are creating network objects at runtime and both server and client know what to set on an object\n")),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void Spawn(this ServerObjectManager som, GameObject obj, int prefabHash, INetworkPlayer owner = null)\n")),(0,n.kt)("h5",{id:"parameters-5"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.ServerObjectManager"),(0,n.kt)("td",{parentName:"tr",align:null},"som"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"GameObject"),(0,n.kt)("td",{parentName:"tr",align:null},"obj"),(0,n.kt)("td",{parentName:"tr",align:null},"The object to spawn.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"prefabHash"),(0,n.kt)("td",{parentName:"tr",align:null},"The prefabHash of the object to spawn. Used for custom spawn handlers.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"owner"),(0,n.kt)("td",{parentName:"tr",align:null},"The connection that has authority over the object")))),(0,n.kt)("h4",{id:"spawnserverobjectmanager-gameobject-inetworkplayer"},"Spawn(ServerObjectManager, GameObject, INetworkPlayer)"),(0,n.kt)("p",null,"Spawns the identity and settings its owner to owner"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void Spawn(this ServerObjectManager som, GameObject obj, INetworkPlayer owner = null)\n")),(0,n.kt)("h5",{id:"parameters-6"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.ServerObjectManager"),(0,n.kt)("td",{parentName:"tr",align:null},"som"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"GameObject"),(0,n.kt)("td",{parentName:"tr",align:null},"obj"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"owner"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"spawninstantiateserverobjectmanager-gameobject-nullableint32-inetworkplayer"},"SpawnInstantiate(ServerObjectManager, GameObject, Nullable","<","Int32",">",", INetworkPlayer)"),(0,n.kt)("p",null,"Instantiate a prefab an then Spawns it with ServerObjectManager"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static GameObject SpawnInstantiate(this ServerObjectManager som, GameObject prefab, int? prefabHash = default(int? ), INetworkPlayer owner = null)\n")),(0,n.kt)("h5",{id:"parameters-7"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.ServerObjectManager"),(0,n.kt)("td",{parentName:"tr",align:null},"som"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"GameObject"),(0,n.kt)("td",{parentName:"tr",align:null},"prefab"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Nullable","<","System.Int32",">"),(0,n.kt)("td",{parentName:"tr",align:null},"prefabHash"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"owner"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"GameObject"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"spawninstantiateserverobjectmanager-networkidentity-nullableint32-inetworkplayer"},"SpawnInstantiate(ServerObjectManager, NetworkIdentity, Nullable","<","Int32",">",", INetworkPlayer)"),(0,n.kt)("p",null,"Instantiate a prefab an then Spawns it with ServerObjectManager"),(0,n.kt)("h5",{id:"declaration-8"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static NetworkIdentity SpawnInstantiate(this ServerObjectManager som, NetworkIdentity prefab, int? prefabHash = default(int? ), INetworkPlayer owner = null)\n")),(0,n.kt)("h5",{id:"parameters-8"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.ServerObjectManager"),(0,n.kt)("td",{parentName:"tr",align:null},"som"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"prefab"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Nullable","<","System.Int32",">"),(0,n.kt)("td",{parentName:"tr",align:null},"prefabHash"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"owner"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null})))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4cbf0de8.d736f5d5.js b/assets/js/4cbf0de8.d736f5d5.js new file mode 100644 index 00000000000..1dc51effc1a --- /dev/null +++ b/assets/js/4cbf0de8.d736f5d5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2611],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>u});var a=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function c(e,n){if(null==e)return{};var t,a,i=function(e,n){if(null==e)return{};var t,a,i={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var s=a.createContext({}),l=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},p=function(e){var n=l(e.components);return a.createElement(s.Provider,{value:n},e.children)},y={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},d=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),d=l(t),u=i,m=d["".concat(s,".").concat(u)]||d[u]||y[u]||r;return t?a.createElement(m,o(o({ref:n},p),{},{components:t})):a.createElement(m,o({ref:n},p))}));function u(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var r=t.length,o=new Array(r);o[0]=d;var c={};for(var s in n)hasOwnProperty.call(n,s)&&(c[s]=n[s]);c.originalType=e,c.mdxType="string"==typeof e?e:i,o[1]=c;for(var l=2;l<r;l++)o[l]=t[l];return a.createElement.apply(null,o)}return a.createElement.apply(null,t)}d.displayName="MDXCreateElement"},40357:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>o,default:()=>y,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var a=t(87462),i=(t(67294),t(3905));const r={sidebar_position:2},o="Sync Dictionary",c={unversionedId:"guides/sync/sync-objects/sync-dictionary",id:"guides/sync/sync-objects/sync-dictionary",title:"Sync Dictionary",description:"SyncDictionary is an associative array containing an unordered list of key, value pairs. Keys and values can be any of Mirage supported types.",source:"@site/docs/guides/sync/sync-objects/sync-dictionary.md",sourceDirName:"guides/sync/sync-objects",slug:"/guides/sync/sync-objects/sync-dictionary",permalink:"/Mirage/docs/guides/sync/sync-objects/sync-dictionary",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/sync/sync-objects/sync-dictionary.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"docs",previous:{title:"Sync List",permalink:"/Mirage/docs/guides/sync/sync-objects/sync-list"},next:{title:"Sync Hash Set",permalink:"/Mirage/docs/guides/sync/sync-objects/sync-hash-set"}},s={},l=[{value:"Usage",id:"usage",level:2},{value:"Basic example",id:"basic-example",level:3},{value:"Callbacks",id:"callbacks",level:2},{value:"Example",id:"example",level:3}],p={toc:l};function y(e){let{components:n,...t}=e;return(0,i.kt)("wrapper",(0,a.Z)({},p,t,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"sync-dictionary"},"Sync Dictionary"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Collections/SyncDictionary-2"},(0,i.kt)("inlineCode",{parentName:"a"},"SyncDictionary"))," is an associative array containing an unordered list of key, value pairs. Keys and values can be any of ",(0,i.kt)("a",{parentName:"p",href:"/docs/guides/serialization/data-types"},"Mirage supported types"),"."),(0,i.kt)("p",null,"SyncDictionary works much like ",(0,i.kt)("a",{parentName:"p",href:"/docs/guides/sync/sync-objects/sync-list"},"SyncLists"),": when you make a change on the server, the change is propagated to all clients and the appropriate callback is called."),(0,i.kt)("h2",{id:"usage"},"Usage"),(0,i.kt)("p",null,"Add a field of type ",(0,i.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Collections/SyncDictionary-2"},"SyncDictionary")," on any ",(0,i.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," where ",(0,i.kt)("inlineCode",{parentName:"p"},"TKey")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"TValue")," can be any supported Mirage type and initialize it."),(0,i.kt)("admonition",{title:"IMPORTANT",type:"caution"},(0,i.kt)("p",{parentName:"admonition"},"You need to initialize the SyncDictionary immediately after the definition for them to work. You can mark them as ",(0,i.kt)("inlineCode",{parentName:"p"},"readonly")," to enforce proper usage.")),(0,i.kt)("h3",{id:"basic-example"},"Basic example"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},'using UnityEngine;\nusing Mirage;\nusing Mirage.Collections;\n\n[System.Serializable]\npublic struct Item\n{\n public string name;\n public int hitPoints;\n public int durability;\n}\n\npublic class Player : NetworkBehaviour\n{\n public readonly SyncDictionary<stirng, Item> equipment = new SyncDictionary<string, Item>();\n\n private void Awake() \n {\n Identity.OnStartServer.AddListener(OnStartServer);\n }\n\n private void OnStartServer()\n {\n equipment.Add("head", new Item { name = "Helmet", hitPoints = 10, durability = 20 });\n equipment.Add("body", new Item { name = "Epic Armor", hitPoints = 50, durability = 50 });\n equipment.Add("feet", new Item { name = "Sneakers", hitPoints = 3, durability = 40 });\n equipment.Add("hands", new Item { name = "Sword", hitPoints = 30, durability = 15 });\n }\n}\n')),(0,i.kt)("h2",{id:"callbacks"},"Callbacks"),(0,i.kt)("p",null,"You can detect when a SyncDictionary changes on the client and/or server. This is especially useful for refreshing your UI, character appearance, etc."),(0,i.kt)("p",null,"There are different callbacks for different operations, such as ",(0,i.kt)("inlineCode",{parentName:"p"},"OnChange")," (any change to the dictionary), ",(0,i.kt)("inlineCode",{parentName:"p"},"OnInsert")," (adding a new element), etc. Please check the ",(0,i.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Collections/SyncDictionary-2"},"SyncDictionary API reference")," for the complete list of callbacks."),(0,i.kt)("p",null,"Depending on where you want to invoke the callbacks, you can use these methods to register them:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"Awake")," for both client and server"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"Identity.OnStartServer")," event for server-only"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"Identity.OnStartClient")," event for client-only")),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"By the time you subscribe, the dictionary will already be initialized, so you will not get a call for the initial data, only updates.")),(0,i.kt)("h3",{id:"example"},"Example"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"using Mirage;\nusing Mirage.Collections;\n\npublic class Player : NetworkBehaviour \n{\n public readonly SyncDictionary<stirng, Item> equipment = new SyncDictionary<string, Item>();\n public readonly SyncDictionary<stirng, Item> hotbar = new SyncDictionary<string, Item>();\n\n // This will hook the callback on both server and client\n private void Awake()\n {\n equipment.OnChange += UpdateEquipment;\n Identity.OnStartClient.AddListener(OnStartClient);\n }\n\n // Hotbar changes will only be invoked on clients\n private void OnStartClient() \n {\n hotbar.OnChange += UpdateHotbar;\n }\n\n private void UpdateEquipment()\n {\n // Here you can refresh your UI for instance\n }\n\n private void UpdateHotbar()\n {\n // Here you can refresh your UI for instance\n }\n}\n")),(0,i.kt)("p",null,"By default, ",(0,i.kt)("inlineCode",{parentName:"p"},"SyncDictionary")," uses a ",(0,i.kt)("a",{parentName:"p",href:"https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.dictionary-2?view=netstandard-2.0"},(0,i.kt)("inlineCode",{parentName:"a"},"Dictionary"))," to store its data. If you want to use a different dictionary implementation, add a constructor and pass the dictionary implementation to the parent constructor. For example:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncDictionary<string, Item> myDict = new SyncIDictionary<string, Item>(new MyDictionary<string, Item>());\n")))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4eb4e893.a012a68b.js b/assets/js/4eb4e893.a012a68b.js new file mode 100644 index 00000000000..71e393f98c8 --- /dev/null +++ b/assets/js/4eb4e893.a012a68b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6210],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},a=Object.keys(e);for(o=0;o<a.length;o++)r=a[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)r=a[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var l=o.createContext({}),u=function(e){var t=o.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=u(e.components);return o.createElement(l.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},s=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),s=u(r),f=n,y=s["".concat(l,".").concat(f)]||s[f]||m[f]||a;return r?o.createElement(y,c(c({ref:t},p),{},{components:r})):o.createElement(y,c({ref:t},p))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,c=new Array(a);c[0]=s;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var u=2;u<a;u++)c[u]=r[u];return o.createElement.apply(null,c)}return o.createElement.apply(null,r)}s.displayName="MDXCreateElement"},85486:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var o=r(87462),n=(r(67294),r(3905));const a={id:"Pool-1.CreateNewItemNoCount",title:"Pool<T>.CreateNewItemNoCount"},c="Delegate Pool<T>.CreateNewItemNoCount",i={unversionedId:"reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount",id:"reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount",title:"Pool<T>.CreateNewItemNoCount",description:"Syntax",source:"@site/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount.md",tags:[],version:"current",frontMatter:{id:"Pool-1.CreateNewItemNoCount",title:"Pool<T>.CreateNewItemNoCount"},sidebar:"api",previous:{title:"Pool<T>.CreateNewItem",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItem"},next:{title:"Pool<T>",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1"}},l={},u=[{value:"Syntax",id:"syntax",level:5}],p={toc:u};function m(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,o.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"delegate-pooltcreatenewitemnocount"},"Delegate Pool","<","T",">",".CreateNewItemNoCount"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public delegate T CreateNewItemNoCount(Pool<T> pool);\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4ede7c35.cb5b5cb0.js b/assets/js/4ede7c35.cb5b5cb0.js new file mode 100644 index 00000000000..d4d3da59775 --- /dev/null +++ b/assets/js/4ede7c35.cb5b5cb0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2133],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>N});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var k=r.createContext({}),o=function(e){var t=r.useContext(k),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=o(e.components);return r.createElement(k.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,k=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),u=o(a),N=n,s=u["".concat(k,".").concat(N)]||u[N]||m[N]||l;return a?r.createElement(s,i(i({ref:t},p),{},{components:a})):r.createElement(s,i({ref:t},p))}));function N(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=u;var d={};for(var k in t)hasOwnProperty.call(t,k)&&(d[k]=t[k]);d.originalType=e,d.mdxType="string"==typeof e?e:n,i[1]=d;for(var o=2;o<l;o++)i[o]=a[o];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}u.displayName="MDXCreateElement"},8544:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>k,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>d,toc:()=>o});var r=a(87462),n=(a(67294),a(3905));const l={id:"SystemTypesExtensions",title:"SystemTypesExtensions"},i="Class SystemTypesExtensions",d={unversionedId:"reference/Mirage.Serialization/SystemTypesExtensions",id:"reference/Mirage.Serialization/SystemTypesExtensions",title:"SystemTypesExtensions",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/SystemTypesExtensions.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/SystemTypesExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/SystemTypesExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/SystemTypesExtensions.md",tags:[],version:"current",frontMatter:{id:"SystemTypesExtensions",title:"SystemTypesExtensions"},sidebar:"api",previous:{title:"StringExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/StringExtensions"},next:{title:"UnityTypesExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/UnityTypesExtensions"}},k={},o=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"WriteByteExtension(NetworkWriter, Byte)",id:"writebyteextensionnetworkwriter-byte",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"WriteSByteExtension(NetworkWriter, SByte)",id:"writesbyteextensionnetworkwriter-sbyte",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"WriteChar(NetworkWriter, Char)",id:"writecharnetworkwriter-char",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"WriteBooleanExtension(NetworkWriter, Boolean)",id:"writebooleanextensionnetworkwriter-boolean",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"WriteUInt16Extension(NetworkWriter, UInt16)",id:"writeuint16extensionnetworkwriter-uint16",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"WriteInt16Extension(NetworkWriter, Int16)",id:"writeint16extensionnetworkwriter-int16",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"WriteSingleConverter(NetworkWriter, Single)",id:"writesingleconverternetworkwriter-single",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"WriteDoubleConverter(NetworkWriter, Double)",id:"writedoubleconverternetworkwriter-double",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"WriteDecimalConverter(NetworkWriter, Decimal)",id:"writedecimalconverternetworkwriter-decimal",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"WriteGuid(NetworkWriter, Guid)",id:"writeguidnetworkwriter-guid",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"WriteNullable<T>(NetworkWriter, Nullable<T>)",id:"writenullabletnetworkwriter-nullablet",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Parameters",id:"parameters-10",level:5},{value:"ReadByteExtension(NetworkReader)",id:"readbyteextensionnetworkreader",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters-11",level:5},{value:"Returns",id:"returns",level:5},{value:"ReadSByteExtension(NetworkReader)",id:"readsbyteextensionnetworkreader",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Parameters",id:"parameters-12",level:5},{value:"Returns",id:"returns-1",level:5},{value:"ReadChar(NetworkReader)",id:"readcharnetworkreader",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Parameters",id:"parameters-13",level:5},{value:"Returns",id:"returns-2",level:5},{value:"ReadBooleanExtension(NetworkReader)",id:"readbooleanextensionnetworkreader",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Parameters",id:"parameters-14",level:5},{value:"Returns",id:"returns-3",level:5},{value:"ReadInt16Extension(NetworkReader)",id:"readint16extensionnetworkreader",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Parameters",id:"parameters-15",level:5},{value:"Returns",id:"returns-4",level:5},{value:"ReadUInt16Extension(NetworkReader)",id:"readuint16extensionnetworkreader",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Parameters",id:"parameters-16",level:5},{value:"Returns",id:"returns-5",level:5},{value:"ReadSingleConverter(NetworkReader)",id:"readsingleconverternetworkreader",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Parameters",id:"parameters-17",level:5},{value:"Returns",id:"returns-6",level:5},{value:"ReadDoubleConverter(NetworkReader)",id:"readdoubleconverternetworkreader",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"Parameters",id:"parameters-18",level:5},{value:"Returns",id:"returns-7",level:5},{value:"ReadDecimalConverter(NetworkReader)",id:"readdecimalconverternetworkreader",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"Parameters",id:"parameters-19",level:5},{value:"Returns",id:"returns-8",level:5},{value:"ReadGuid(NetworkReader)",id:"readguidnetworkreader",level:4},{value:"Declaration",id:"declaration-20",level:5},{value:"Parameters",id:"parameters-20",level:5},{value:"Returns",id:"returns-9",level:5},{value:"ReadNullable<T>(NetworkReader)",id:"readnullabletnetworkreader",level:4},{value:"Declaration",id:"declaration-21",level:5},{value:"Parameters",id:"parameters-21",level:5},{value:"Returns",id:"returns-10",level:5}],p={toc:o};function m(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-systemtypesextensions"},"Class SystemTypesExtensions"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class SystemTypesExtensions\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"writebyteextensionnetworkwriter-byte"},"WriteByteExtension(NetworkWriter, Byte)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteByteExtension(this NetworkWriter writer, byte value)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writesbyteextensionnetworkwriter-sbyte"},"WriteSByteExtension(NetworkWriter, SByte)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteSByteExtension(this NetworkWriter writer, sbyte value)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.SByte"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writecharnetworkwriter-char"},"WriteChar(NetworkWriter, Char)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteChar(this NetworkWriter writer, char value)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Char"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writebooleanextensionnetworkwriter-boolean"},"WriteBooleanExtension(NetworkWriter, Boolean)"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteBooleanExtension(this NetworkWriter writer, bool value)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writeuint16extensionnetworkwriter-uint16"},"WriteUInt16Extension(NetworkWriter, UInt16)"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteUInt16Extension(this NetworkWriter writer, ushort value)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt16"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writeint16extensionnetworkwriter-int16"},"WriteInt16Extension(NetworkWriter, Int16)"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteInt16Extension(this NetworkWriter writer, short value)\n")),(0,n.kt)("h5",{id:"parameters-5"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int16"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writesingleconverternetworkwriter-single"},"WriteSingleConverter(NetworkWriter, Single)"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteSingleConverter(this NetworkWriter writer, float value)\n")),(0,n.kt)("h5",{id:"parameters-6"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writedoubleconverternetworkwriter-double"},"WriteDoubleConverter(NetworkWriter, Double)"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteDoubleConverter(this NetworkWriter writer, double value)\n")),(0,n.kt)("h5",{id:"parameters-7"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Double"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writedecimalconverternetworkwriter-decimal"},"WriteDecimalConverter(NetworkWriter, Decimal)"),(0,n.kt)("h5",{id:"declaration-8"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteDecimalConverter(this NetworkWriter writer, decimal value)\n")),(0,n.kt)("h5",{id:"parameters-8"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Decimal"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writeguidnetworkwriter-guid"},"WriteGuid(NetworkWriter, Guid)"),(0,n.kt)("h5",{id:"declaration-9"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteGuid(this NetworkWriter writer, Guid value)\n")),(0,n.kt)("h5",{id:"parameters-9"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Guid"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writenullabletnetworkwriter-nullablet"},"WriteNullable","<","T",">","(NetworkWriter, Nullable","<","T",">",")"),(0,n.kt)("h5",{id:"declaration-10"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[WeaverSerializeCollection]\npublic static void WriteNullable<T>(this NetworkWriter writer, T? nullable)\n where T : struct\n")),(0,n.kt)("h5",{id:"parameters-10"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Nullable","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null},"nullable"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readbyteextensionnetworkreader"},"ReadByteExtension(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-11"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static byte ReadByteExtension(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-11"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readsbyteextensionnetworkreader"},"ReadSByteExtension(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-12"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static sbyte ReadSByteExtension(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-12"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.SByte"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readcharnetworkreader"},"ReadChar(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-13"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static char ReadChar(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-13"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-2"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Char"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readbooleanextensionnetworkreader"},"ReadBooleanExtension(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-14"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static bool ReadBooleanExtension(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-14"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-3"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readint16extensionnetworkreader"},"ReadInt16Extension(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-15"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static short ReadInt16Extension(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-15"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-4"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int16"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readuint16extensionnetworkreader"},"ReadUInt16Extension(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-16"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static ushort ReadUInt16Extension(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-16"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-5"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt16"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readsingleconverternetworkreader"},"ReadSingleConverter(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-17"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static float ReadSingleConverter(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-17"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-6"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readdoubleconverternetworkreader"},"ReadDoubleConverter(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-18"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static double ReadDoubleConverter(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-18"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-7"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Double"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readdecimalconverternetworkreader"},"ReadDecimalConverter(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-19"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static decimal ReadDecimalConverter(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-19"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-8"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Decimal"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readguidnetworkreader"},"ReadGuid(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-20"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static Guid ReadGuid(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-20"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-9"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Guid"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readnullabletnetworkreader"},"ReadNullable","<","T",">","(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-21"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[WeaverSerializeCollection]\npublic static T? ReadNullable<T>(this NetworkReader reader)\n where T : struct\n")),(0,n.kt)("h5",{id:"parameters-21"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-10"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Nullable","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null})))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4f119fdf.0a5da35b.js b/assets/js/4f119fdf.0a5da35b.js new file mode 100644 index 00000000000..c70aaade1ee --- /dev/null +++ b/assets/js/4f119fdf.0a5da35b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5049],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>k});var i=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,i,a=function(e,t){if(null==e)return{};var r,i,a={},n=Object.keys(e);for(i=0;i<n.length;i++)r=n[i],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)r=n[i],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=i.createContext({}),u=function(e){var t=i.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},c=function(e){var t=u(e.components);return i.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},p=i.forwardRef((function(e,t){var r=e.components,a=e.mdxType,n=e.originalType,s=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),p=u(r),k=a,v=p["".concat(s,".").concat(k)]||p[k]||d[k]||n;return r?i.createElement(v,l(l({ref:t},c),{},{components:r})):i.createElement(v,l({ref:t},c))}));function k(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=r.length,l=new Array(n);l[0]=p;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:a,l[1]=o;for(var u=2;u<n;u++)l[u]=r[u];return i.createElement.apply(null,l)}return i.createElement.apply(null,r)}p.displayName="MDXCreateElement"},6596:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>d,frontMatter:()=>n,metadata:()=>o,toc:()=>u});var i=r(87462),a=(r(67294),r(3905));const n={id:"HostRendererVisibility",title:"HostRendererVisibility"},l="Class HostRendererVisibility",o={unversionedId:"reference/Mirage/HostRendererVisibility",id:"reference/Mirage/HostRendererVisibility",title:"HostRendererVisibility",description:"Disables all Renders on GameObject when the NetworkIdentity is not visible too the host player because of a",source:"@site/docs/reference/Mirage/HostRendererVisibility.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/HostRendererVisibility",permalink:"/Mirage/docs/reference/Mirage/HostRendererVisibility",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/HostRendererVisibility.md",tags:[],version:"current",frontMatter:{id:"HostRendererVisibility",title:"HostRendererVisibility"},sidebar:"api",previous:{title:"HeadlessFrameLimiter",permalink:"/Mirage/docs/reference/Mirage/HeadlessFrameLimiter"},next:{title:"IMessageReceiver",permalink:"/Mirage/docs/reference/Mirage/IMessageReceiver"}},s={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"SetRenderers(Renderer[])",id:"setrenderersrenderer",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"SetHostVisibility(Boolean)",id:"sethostvisibilityboolean",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],c={toc:u};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,i.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-hostrenderervisibility"},"Class HostRendererVisibility"),(0,a.kt)("p",null,"Disables all Renders on GameObject when the NetworkIdentity is not visible too the host player because of a "),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,a.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.NetworkBehaviour")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour._nextSyncTime"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.SyncSettings"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.IsServer"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.IsClient"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalClient"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.IsHost"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalPlayer"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.IsServerOnly"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.IsClientOnly"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.HasAuthority"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.NetId"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.Server"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.ServerObjectManager"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.Client"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.ClientObjectManager"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.Owner"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.World"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.NetworkTime"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.BehaviourId"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarDirtyBits"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.AnySyncObjectDirty"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.syncObjects"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.Identity"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.ComponentIndex"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarEqual","<","T",">","(T, T)"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.ClearDirtyBits()"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.AnyDirtyBits()"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.GetRpcCount()"),(0,a.kt)("p",null,"Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class HostRendererVisibility : NetworkBehaviour\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"setrenderersrenderer"},"SetRenderers(Renderer[])"),(0,a.kt)("p",null,"Can be used to override default GetComponentsInChildren for renderers. Useful if setting up Renderer after Awake is called"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public void SetRenderers(Renderer[] renderers)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Renderer[]"),(0,a.kt)("td",{parentName:"tr",align:null},"renderers"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h4",{id:"sethostvisibilityboolean"},"SetHostVisibility(Boolean)"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"protected virtual void SetHostVisibility(bool visible)\n")),(0,a.kt)("h5",{id:"parameters-1"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,a.kt)("td",{parentName:"tr",align:null},"visible"),(0,a.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4f685a05.9f6ae61d.js b/assets/js/4f685a05.9f6ae61d.js new file mode 100644 index 00000000000..a331d6f2687 --- /dev/null +++ b/assets/js/4f685a05.9f6ae61d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[600],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),c=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),b=c(r),d=a,m=b["".concat(s,".").concat(d)]||b[d]||p[d]||i;return r?n.createElement(m,l(l({ref:t},u),{},{components:r})):n.createElement(m,l({ref:t},u))}));function d(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,l=new Array(i);l[0]=b;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:a,l[1]=o;for(var c=2;c<i;c++)l[c]=r[c];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}b.displayName="MDXCreateElement"},43111:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const i={id:"VarIntBlocksAttribute",title:"VarIntBlocksAttribute"},l="Class VarIntBlocksAttribute",o={unversionedId:"reference/Mirage.Serialization/VarIntBlocksAttribute",id:"reference/Mirage.Serialization/VarIntBlocksAttribute",title:"VarIntBlocksAttribute",description:"Tells weaver the block size to use for packing int values",source:"@site/docs/reference/Mirage.Serialization/VarIntBlocksAttribute.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/VarIntBlocksAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarIntBlocksAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/VarIntBlocksAttribute.md",tags:[],version:"current",frontMatter:{id:"VarIntBlocksAttribute",title:"VarIntBlocksAttribute"},sidebar:"api",previous:{title:"VarIntAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarIntAttribute"},next:{title:"VarIntBlocksPacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarIntBlocksPacker"}},s={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"VarIntBlocksAttribute(Int32)",id:"varintblocksattributeint32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5}],u={toc:c};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-varintblocksattribute"},"Class VarIntBlocksAttribute"),(0,a.kt)("p",null,"Tells weaver the block size to use for packing int values\nAllows small values to be sent using less bits\nOnly works with integer fields (byte, int, ulong, enums etc)"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,a.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter)]\npublic class VarIntBlocksAttribute : Attribute, _Attribute\n")),(0,a.kt)("h3",{id:"constructors"},"Constructors"),(0,a.kt)("h4",{id:"varintblocksattributeint32"},"VarIntBlocksAttribute(Int32)"),(0,a.kt)("p",null,"Bit size of each block\nhow many bits per size bits,\neg if size = 6 then values under 2^6 will be sent at 7 bits, values under 2^12 sent as 14 bits, etc"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public VarIntBlocksAttribute(int blockSize)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,a.kt)("td",{parentName:"tr",align:null},"blockSize"),(0,a.kt)("td",{parentName:"tr",align:null},"Value should be between 1 and 64")))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/501b4be3.fd58fc3f.js b/assets/js/501b4be3.fd58fc3f.js new file mode 100644 index 00000000000..7c12d873cd1 --- /dev/null +++ b/assets/js/501b4be3.fd58fc3f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5666],{3905:(e,r,t)=>{t.d(r,{Zo:()=>u,kt:()=>f});var n=t(67294);function i(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?a(Object(t),!0).forEach((function(r){i(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function c(e,r){if(null==e)return{};var t,n,i=function(e,r){if(null==e)return{};var t,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var l=n.createContext({}),s=function(e){var r=n.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},u=function(e){var r=s(e.components);return n.createElement(l.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},p=n.forwardRef((function(e,r){var t=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),p=s(t),f=i,m=p["".concat(l,".").concat(f)]||p[f]||d[f]||a;return t?n.createElement(m,o(o({ref:r},u),{},{components:t})):n.createElement(m,o({ref:r},u))}));function f(e,r){var t=arguments,i=r&&r.mdxType;if("string"==typeof e||i){var a=t.length,o=new Array(a);o[0]=p;var c={};for(var l in r)hasOwnProperty.call(r,l)&&(c[l]=r[l]);c.originalType=e,c.mdxType="string"==typeof e?e:i,o[1]=c;for(var s=2;s<a;s++)o[s]=t[s];return n.createElement.apply(null,o)}return n.createElement.apply(null,t)}p.displayName="MDXCreateElement"},14915:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var n=t(87462),i=(t(67294),t(3905));const a={id:"Version",title:"Version"},o="Class Version",c={unversionedId:"reference/Mirage/Version",id:"reference/Mirage/Version",title:"Version",description:"Inheritance",source:"@site/docs/reference/Mirage/Version.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/Version",permalink:"/Mirage/docs/reference/Mirage/Version",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/Version.md",tags:[],version:"current",frontMatter:{id:"Version",title:"Version"},sidebar:"api",previous:{title:"UpdateVarsMessage",permalink:"/Mirage/docs/reference/Mirage/UpdateVarsMessage"},next:{title:"Mirage.Authentication",permalink:"/Mirage/docs/reference/Mirage.Authentication/"}},l={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Current",id:"current",level:4},{value:"Declaration",id:"declaration",level:5}],u={toc:s};function d(e){let{components:r,...t}=e;return(0,i.kt)("wrapper",(0,n.Z)({},u,t,{components:r,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-version"},"Class Version"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public static class Version\n")),(0,i.kt)("h3",{id:"fields"},"Fields"),(0,i.kt)("h4",{id:"current"},"Current"),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public static readonly string Current\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/50a667f7.3c806473.js b/assets/js/50a667f7.3c806473.js new file mode 100644 index 00000000000..995b012aadf --- /dev/null +++ b/assets/js/50a667f7.3c806473.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4328],{3905:(e,a,l)=>{l.d(a,{Zo:()=>u,kt:()=>p});var t=l(67294);function n(e,a,l){return a in e?Object.defineProperty(e,a,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[a]=l,e}function i(e,a){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),l.push.apply(l,t)}return l}function c(e){for(var a=1;a<arguments.length;a++){var l=null!=arguments[a]?arguments[a]:{};a%2?i(Object(l),!0).forEach((function(a){n(e,a,l[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):i(Object(l)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(l,a))}))}return e}function r(e,a){if(null==e)return{};var l,t,n=function(e,a){if(null==e)return{};var l,t,n={},i=Object.keys(e);for(t=0;t<i.length;t++)l=i[t],a.indexOf(l)>=0||(n[l]=e[l]);return n}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)l=i[t],a.indexOf(l)>=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var o=t.createContext({}),d=function(e){var a=t.useContext(o),l=a;return e&&(l="function"==typeof e?e(a):c(c({},a),e)),l},u=function(e){var a=d(e.components);return t.createElement(o.Provider,{value:a},e.children)},b={inlineCode:"code",wrapper:function(e){var a=e.children;return t.createElement(t.Fragment,{},a)}},s=t.forwardRef((function(e,a){var l=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,u=r(e,["components","mdxType","originalType","parentName"]),s=d(l),p=n,v=s["".concat(o,".").concat(p)]||s[p]||b[p]||i;return l?t.createElement(v,c(c({ref:a},u),{},{components:l})):t.createElement(v,c({ref:a},u))}));function p(e,a){var l=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var i=l.length,c=new Array(i);c[0]=s;var r={};for(var o in a)hasOwnProperty.call(a,o)&&(r[o]=a[o]);r.originalType=e,r.mdxType="string"==typeof e?e:n,c[1]=r;for(var d=2;d<i;d++)c[d]=l[d];return t.createElement.apply(null,c)}return t.createElement.apply(null,l)}s.displayName="MDXCreateElement"},2866:(e,a,l)=>{l.r(a),l.d(a,{assets:()=>o,contentTitle:()=>c,default:()=>b,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var t=l(87462),n=(l(67294),l(3905));const i={id:"FromBitCount",title:"FromBitCount"},c="Class FromBitCount",r={unversionedId:"reference/Mirage.Serialization/FromBitCount",id:"reference/Mirage.Serialization/FromBitCount",title:"FromBitCount",description:"The max value for N number of bits",source:"@site/docs/reference/Mirage.Serialization/FromBitCount.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/FromBitCount",permalink:"/Mirage/docs/reference/Mirage.Serialization/FromBitCount",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/FromBitCount.md",tags:[],version:"current",frontMatter:{id:"FromBitCount",title:"FromBitCount"},sidebar:"api",previous:{title:"FloatPacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/FloatPacker"},next:{title:"GenericTypesSerializationExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/GenericTypesSerializationExtensions"}},o={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"b1",id:"b1",level:4},{value:"Declaration",id:"declaration",level:5},{value:"b2",id:"b2",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"b3",id:"b3",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"b4",id:"b4",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"b5",id:"b5",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"b6",id:"b6",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"b7",id:"b7",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"b8",id:"b8",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"b9",id:"b9",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"b10",id:"b10",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"b11",id:"b11",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"b12",id:"b12",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"b13",id:"b13",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"b14",id:"b14",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"b15",id:"b15",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"b16",id:"b16",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"b17",id:"b17",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"b18",id:"b18",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"b19",id:"b19",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"b20",id:"b20",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"b21",id:"b21",level:4},{value:"Declaration",id:"declaration-20",level:5},{value:"b22",id:"b22",level:4},{value:"Declaration",id:"declaration-21",level:5},{value:"b23",id:"b23",level:4},{value:"Declaration",id:"declaration-22",level:5},{value:"b24",id:"b24",level:4},{value:"Declaration",id:"declaration-23",level:5},{value:"b25",id:"b25",level:4},{value:"Declaration",id:"declaration-24",level:5},{value:"b26",id:"b26",level:4},{value:"Declaration",id:"declaration-25",level:5},{value:"b27",id:"b27",level:4},{value:"Declaration",id:"declaration-26",level:5},{value:"b28",id:"b28",level:4},{value:"Declaration",id:"declaration-27",level:5},{value:"b29",id:"b29",level:4},{value:"Declaration",id:"declaration-28",level:5},{value:"b30",id:"b30",level:4},{value:"Declaration",id:"declaration-29",level:5},{value:"b31",id:"b31",level:4},{value:"Declaration",id:"declaration-30",level:5},{value:"b32",id:"b32",level:4},{value:"Declaration",id:"declaration-31",level:5},{value:"b33",id:"b33",level:4},{value:"Declaration",id:"declaration-32",level:5},{value:"b34",id:"b34",level:4},{value:"Declaration",id:"declaration-33",level:5},{value:"b35",id:"b35",level:4},{value:"Declaration",id:"declaration-34",level:5},{value:"b36",id:"b36",level:4},{value:"Declaration",id:"declaration-35",level:5},{value:"b37",id:"b37",level:4},{value:"Declaration",id:"declaration-36",level:5},{value:"b38",id:"b38",level:4},{value:"Declaration",id:"declaration-37",level:5},{value:"b39",id:"b39",level:4},{value:"Declaration",id:"declaration-38",level:5},{value:"b40",id:"b40",level:4},{value:"Declaration",id:"declaration-39",level:5},{value:"b41",id:"b41",level:4},{value:"Declaration",id:"declaration-40",level:5},{value:"b42",id:"b42",level:4},{value:"Declaration",id:"declaration-41",level:5},{value:"b43",id:"b43",level:4},{value:"Declaration",id:"declaration-42",level:5},{value:"b44",id:"b44",level:4},{value:"Declaration",id:"declaration-43",level:5},{value:"b45",id:"b45",level:4},{value:"Declaration",id:"declaration-44",level:5},{value:"b46",id:"b46",level:4},{value:"Declaration",id:"declaration-45",level:5},{value:"b47",id:"b47",level:4},{value:"Declaration",id:"declaration-46",level:5},{value:"b48",id:"b48",level:4},{value:"Declaration",id:"declaration-47",level:5},{value:"b49",id:"b49",level:4},{value:"Declaration",id:"declaration-48",level:5},{value:"b50",id:"b50",level:4},{value:"Declaration",id:"declaration-49",level:5},{value:"b51",id:"b51",level:4},{value:"Declaration",id:"declaration-50",level:5},{value:"b52",id:"b52",level:4},{value:"Declaration",id:"declaration-51",level:5},{value:"b53",id:"b53",level:4},{value:"Declaration",id:"declaration-52",level:5},{value:"b54",id:"b54",level:4},{value:"Declaration",id:"declaration-53",level:5},{value:"b55",id:"b55",level:4},{value:"Declaration",id:"declaration-54",level:5},{value:"b56",id:"b56",level:4},{value:"Declaration",id:"declaration-55",level:5},{value:"b57",id:"b57",level:4},{value:"Declaration",id:"declaration-56",level:5},{value:"b58",id:"b58",level:4},{value:"Declaration",id:"declaration-57",level:5},{value:"b59",id:"b59",level:4},{value:"Declaration",id:"declaration-58",level:5},{value:"b60",id:"b60",level:4},{value:"Declaration",id:"declaration-59",level:5},{value:"b61",id:"b61",level:4},{value:"Declaration",id:"declaration-60",level:5},{value:"b62",id:"b62",level:4},{value:"Declaration",id:"declaration-61",level:5},{value:"b63",id:"b63",level:4},{value:"Declaration",id:"declaration-62",level:5},{value:"b64",id:"b64",level:4},{value:"Declaration",id:"declaration-63",level:5}],u={toc:d};function b(e){let{components:a,...l}=e;return(0,n.kt)("wrapper",(0,t.Z)({},u,l,{components:a,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-frombitcount"},"Class FromBitCount"),(0,n.kt)("p",null,"The max value for N number of bits"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class FromBitCount\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"b1"},"b1"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b1 = 1UL\n")),(0,n.kt)("h4",{id:"b2"},"b2"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b2 = 3UL\n")),(0,n.kt)("h4",{id:"b3"},"b3"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b3 = 7UL\n")),(0,n.kt)("h4",{id:"b4"},"b4"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b4 = 15UL\n")),(0,n.kt)("h4",{id:"b5"},"b5"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b5 = 31UL\n")),(0,n.kt)("h4",{id:"b6"},"b6"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b6 = 63UL\n")),(0,n.kt)("h4",{id:"b7"},"b7"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b7 = 127UL\n")),(0,n.kt)("h4",{id:"b8"},"b8"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b8 = 255UL\n")),(0,n.kt)("h4",{id:"b9"},"b9"),(0,n.kt)("h5",{id:"declaration-8"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b9 = 511UL\n")),(0,n.kt)("h4",{id:"b10"},"b10"),(0,n.kt)("h5",{id:"declaration-9"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b10 = 1023UL\n")),(0,n.kt)("h4",{id:"b11"},"b11"),(0,n.kt)("h5",{id:"declaration-10"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b11 = 2047UL\n")),(0,n.kt)("h4",{id:"b12"},"b12"),(0,n.kt)("h5",{id:"declaration-11"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b12 = 4095UL\n")),(0,n.kt)("h4",{id:"b13"},"b13"),(0,n.kt)("h5",{id:"declaration-12"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b13 = 8191UL\n")),(0,n.kt)("h4",{id:"b14"},"b14"),(0,n.kt)("h5",{id:"declaration-13"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b14 = 16383UL\n")),(0,n.kt)("h4",{id:"b15"},"b15"),(0,n.kt)("h5",{id:"declaration-14"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b15 = 32767UL\n")),(0,n.kt)("h4",{id:"b16"},"b16"),(0,n.kt)("h5",{id:"declaration-15"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b16 = 65535UL\n")),(0,n.kt)("h4",{id:"b17"},"b17"),(0,n.kt)("h5",{id:"declaration-16"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b17 = 131071UL\n")),(0,n.kt)("h4",{id:"b18"},"b18"),(0,n.kt)("h5",{id:"declaration-17"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b18 = 262143UL\n")),(0,n.kt)("h4",{id:"b19"},"b19"),(0,n.kt)("h5",{id:"declaration-18"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b19 = 524287UL\n")),(0,n.kt)("h4",{id:"b20"},"b20"),(0,n.kt)("h5",{id:"declaration-19"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b20 = 1048575UL\n")),(0,n.kt)("h4",{id:"b21"},"b21"),(0,n.kt)("h5",{id:"declaration-20"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b21 = 2097151UL\n")),(0,n.kt)("h4",{id:"b22"},"b22"),(0,n.kt)("h5",{id:"declaration-21"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b22 = 4194303UL\n")),(0,n.kt)("h4",{id:"b23"},"b23"),(0,n.kt)("h5",{id:"declaration-22"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b23 = 8388607UL\n")),(0,n.kt)("h4",{id:"b24"},"b24"),(0,n.kt)("h5",{id:"declaration-23"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b24 = 16777215UL\n")),(0,n.kt)("h4",{id:"b25"},"b25"),(0,n.kt)("h5",{id:"declaration-24"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b25 = 33554431UL\n")),(0,n.kt)("h4",{id:"b26"},"b26"),(0,n.kt)("h5",{id:"declaration-25"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b26 = 67108863UL\n")),(0,n.kt)("h4",{id:"b27"},"b27"),(0,n.kt)("h5",{id:"declaration-26"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b27 = 134217727UL\n")),(0,n.kt)("h4",{id:"b28"},"b28"),(0,n.kt)("h5",{id:"declaration-27"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b28 = 268435455UL\n")),(0,n.kt)("h4",{id:"b29"},"b29"),(0,n.kt)("h5",{id:"declaration-28"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b29 = 536870911UL\n")),(0,n.kt)("h4",{id:"b30"},"b30"),(0,n.kt)("h5",{id:"declaration-29"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b30 = 1073741823UL\n")),(0,n.kt)("h4",{id:"b31"},"b31"),(0,n.kt)("h5",{id:"declaration-30"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b31 = 2147483647UL\n")),(0,n.kt)("h4",{id:"b32"},"b32"),(0,n.kt)("h5",{id:"declaration-31"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b32 = 4294967295UL\n")),(0,n.kt)("h4",{id:"b33"},"b33"),(0,n.kt)("h5",{id:"declaration-32"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b33 = 8589934591UL\n")),(0,n.kt)("h4",{id:"b34"},"b34"),(0,n.kt)("h5",{id:"declaration-33"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b34 = 17179869183UL\n")),(0,n.kt)("h4",{id:"b35"},"b35"),(0,n.kt)("h5",{id:"declaration-34"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b35 = 34359738367UL\n")),(0,n.kt)("h4",{id:"b36"},"b36"),(0,n.kt)("h5",{id:"declaration-35"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b36 = 68719476735UL\n")),(0,n.kt)("h4",{id:"b37"},"b37"),(0,n.kt)("h5",{id:"declaration-36"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b37 = 137438953471UL\n")),(0,n.kt)("h4",{id:"b38"},"b38"),(0,n.kt)("h5",{id:"declaration-37"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b38 = 274877906943UL\n")),(0,n.kt)("h4",{id:"b39"},"b39"),(0,n.kt)("h5",{id:"declaration-38"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b39 = 549755813887UL\n")),(0,n.kt)("h4",{id:"b40"},"b40"),(0,n.kt)("h5",{id:"declaration-39"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b40 = 1099511627775UL\n")),(0,n.kt)("h4",{id:"b41"},"b41"),(0,n.kt)("h5",{id:"declaration-40"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b41 = 2199023255551UL\n")),(0,n.kt)("h4",{id:"b42"},"b42"),(0,n.kt)("h5",{id:"declaration-41"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b42 = 4398046511103UL\n")),(0,n.kt)("h4",{id:"b43"},"b43"),(0,n.kt)("h5",{id:"declaration-42"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b43 = 8796093022207UL\n")),(0,n.kt)("h4",{id:"b44"},"b44"),(0,n.kt)("h5",{id:"declaration-43"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b44 = 17592186044415UL\n")),(0,n.kt)("h4",{id:"b45"},"b45"),(0,n.kt)("h5",{id:"declaration-44"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b45 = 35184372088831UL\n")),(0,n.kt)("h4",{id:"b46"},"b46"),(0,n.kt)("h5",{id:"declaration-45"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b46 = 70368744177663UL\n")),(0,n.kt)("h4",{id:"b47"},"b47"),(0,n.kt)("h5",{id:"declaration-46"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b47 = 140737488355327UL\n")),(0,n.kt)("h4",{id:"b48"},"b48"),(0,n.kt)("h5",{id:"declaration-47"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b48 = 281474976710655UL\n")),(0,n.kt)("h4",{id:"b49"},"b49"),(0,n.kt)("h5",{id:"declaration-48"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b49 = 562949953421311UL\n")),(0,n.kt)("h4",{id:"b50"},"b50"),(0,n.kt)("h5",{id:"declaration-49"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b50 = 1125899906842623UL\n")),(0,n.kt)("h4",{id:"b51"},"b51"),(0,n.kt)("h5",{id:"declaration-50"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b51 = 2251799813685247UL\n")),(0,n.kt)("h4",{id:"b52"},"b52"),(0,n.kt)("h5",{id:"declaration-51"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b52 = 4503599627370495UL\n")),(0,n.kt)("h4",{id:"b53"},"b53"),(0,n.kt)("h5",{id:"declaration-52"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b53 = 9007199254740991UL\n")),(0,n.kt)("h4",{id:"b54"},"b54"),(0,n.kt)("h5",{id:"declaration-53"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b54 = 18014398509481983UL\n")),(0,n.kt)("h4",{id:"b55"},"b55"),(0,n.kt)("h5",{id:"declaration-54"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b55 = 36028797018963967UL\n")),(0,n.kt)("h4",{id:"b56"},"b56"),(0,n.kt)("h5",{id:"declaration-55"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b56 = 72057594037927935UL\n")),(0,n.kt)("h4",{id:"b57"},"b57"),(0,n.kt)("h5",{id:"declaration-56"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b57 = 144115188075855871UL\n")),(0,n.kt)("h4",{id:"b58"},"b58"),(0,n.kt)("h5",{id:"declaration-57"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b58 = 288230376151711743UL\n")),(0,n.kt)("h4",{id:"b59"},"b59"),(0,n.kt)("h5",{id:"declaration-58"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b59 = 576460752303423487UL\n")),(0,n.kt)("h4",{id:"b60"},"b60"),(0,n.kt)("h5",{id:"declaration-59"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b60 = 1152921504606846975UL\n")),(0,n.kt)("h4",{id:"b61"},"b61"),(0,n.kt)("h5",{id:"declaration-60"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b61 = 2305843009213693951UL\n")),(0,n.kt)("h4",{id:"b62"},"b62"),(0,n.kt)("h5",{id:"declaration-61"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b62 = 4611686018427387903UL\n")),(0,n.kt)("h4",{id:"b63"},"b63"),(0,n.kt)("h5",{id:"declaration-62"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b63 = 9223372036854775807UL\n")),(0,n.kt)("h4",{id:"b64"},"b64"),(0,n.kt)("h5",{id:"declaration-63"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public const ulong b64 = 18446744073709551615UL\n")))}b.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/50e1459e.f3fe9480.js b/assets/js/50e1459e.f3fe9480.js new file mode 100644 index 00000000000..9fe433f04b1 --- /dev/null +++ b/assets/js/50e1459e.f3fe9480.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8030],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var k=r.createContext({}),o=function(e){var t=r.useContext(k),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=o(e.components);return r.createElement(k.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},c=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,k=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),c=o(a),u=n,s=c["".concat(k,".").concat(u)]||c[u]||m[u]||l;return a?r.createElement(s,i(i({ref:t},p),{},{components:a})):r.createElement(s,i({ref:t},p))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=c;var d={};for(var k in t)hasOwnProperty.call(t,k)&&(d[k]=t[k]);d.originalType=e,d.mdxType="string"==typeof e?e:n,i[1]=d;for(var o=2;o<l;o++)i[o]=a[o];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}c.displayName="MDXCreateElement"},62117:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>k,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>d,toc:()=>o});var r=a(87462),n=(a(67294),a(3905));const l={id:"PackedExtensions",title:"PackedExtensions"},i="Class PackedExtensions",d={unversionedId:"reference/Mirage.Serialization/PackedExtensions",id:"reference/Mirage.Serialization/PackedExtensions",title:"PackedExtensions",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/PackedExtensions.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/PackedExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/PackedExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/PackedExtensions.md",tags:[],version:"current",frontMatter:{id:"PackedExtensions",title:"PackedExtensions"},sidebar:"api",previous:{title:"NetworkWriterPool",permalink:"/Mirage/docs/reference/Mirage.Serialization/NetworkWriterPool"},next:{title:"PooledNetworkReader",permalink:"/Mirage/docs/reference/Mirage.Serialization/PooledNetworkReader"}},k={},o=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"WritePackedInt32(NetworkWriter, Int32)",id:"writepackedint32networkwriter-int32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"WritePackedUInt32(NetworkWriter, UInt32)",id:"writepackeduint32networkwriter-uint32",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"WritePackedInt64(NetworkWriter, Int64)",id:"writepackedint64networkwriter-int64",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"WritePackedUInt64(NetworkWriter, UInt64)",id:"writepackeduint64networkwriter-uint64",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"ReadPackedInt32(NetworkReader)",id:"readpackedint32networkreader",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns",level:5},{value:"ReadPackedUInt32(NetworkReader)",id:"readpackeduint32networkreader",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"Returns",id:"returns-1",level:5},{value:"ReadPackedInt64(NetworkReader)",id:"readpackedint64networkreader",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"Returns",id:"returns-2",level:5},{value:"ReadPackedUInt64(NetworkReader)",id:"readpackeduint64networkreader",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"Returns",id:"returns-3",level:5}],p={toc:o};function m(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-packedextensions"},"Class PackedExtensions"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class PackedExtensions\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"writepackedint32networkwriter-int32"},"WritePackedInt32(NetworkWriter, Int32)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WritePackedInt32(this NetworkWriter writer, int i)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"i"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writepackeduint32networkwriter-uint32"},"WritePackedUInt32(NetworkWriter, UInt32)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WritePackedUInt32(this NetworkWriter writer, uint value)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writepackedint64networkwriter-int64"},"WritePackedInt64(NetworkWriter, Int64)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WritePackedInt64(this NetworkWriter writer, long i)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int64"),(0,n.kt)("td",{parentName:"tr",align:null},"i"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writepackeduint64networkwriter-uint64"},"WritePackedUInt64(NetworkWriter, UInt64)"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WritePackedUInt64(this NetworkWriter writer, ulong value)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readpackedint32networkreader"},"ReadPackedInt32(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static int ReadPackedInt32(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readpackeduint32networkreader"},"ReadPackedUInt32(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static uint ReadPackedUInt32(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-5"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readpackedint64networkreader"},"ReadPackedInt64(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static long ReadPackedInt64(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-6"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-2"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int64"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readpackeduint64networkreader"},"ReadPackedUInt64(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static ulong ReadPackedUInt64(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-7"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-3"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null})))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/515794c4.1b1e185b.js b/assets/js/515794c4.1b1e185b.js new file mode 100644 index 00000000000..61d221a0aa7 --- /dev/null +++ b/assets/js/515794c4.1b1e185b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3303],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>m});var i=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,i,r=function(e,t){if(null==e)return{};var n,i,r={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var u=i.createContext({}),p=function(e){var t=i.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},s=function(e){var t=p(e.components);return i.createElement(u.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},d=i.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,u=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),d=p(n),m=r,g=d["".concat(u,".").concat(m)]||d[m]||c[m]||a;return n?i.createElement(g,o(o({ref:t},s),{},{components:n})):i.createElement(g,o({ref:t},s))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,o=new Array(a);o[0]=d;var l={};for(var u in t)hasOwnProperty.call(t,u)&&(l[u]=t[u]);l.originalType=e,l.mdxType="string"==typeof e?e:r,o[1]=l;for(var p=2;p<a;p++)o[p]=n[p];return i.createElement.apply(null,o)}return i.createElement.apply(null,n)}d.displayName="MDXCreateElement"},27517:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>c,frontMatter:()=>a,metadata:()=>l,toc:()=>p});var i=n(87462),r=(n(67294),n(3905));const a={},o="Bit Count From Range",l={unversionedId:"guides/bit-packing/bit-count-from-range",id:"guides/bit-packing/bit-count-from-range",title:"Bit Count From Range",description:"The bit count of Integer based fields can be set using BitCountFromRangeAttribute It will use the given range to calculate the required bit count. This works in a similar way to BitCount",source:"@site/docs/guides/bit-packing/bit-count-from-range.md",sourceDirName:"guides/bit-packing",slug:"/guides/bit-packing/bit-count-from-range",permalink:"/Mirage/docs/guides/bit-packing/bit-count-from-range",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/bit-packing/bit-count-from-range.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Bit Packing",permalink:"/Mirage/docs/guides/bit-packing/"},next:{title:"Bit Count",permalink:"/Mirage/docs/guides/bit-packing/bit-count"}},u={},p=[{value:"Use cases",id:"use-cases",level:3},{value:"Supported Types",id:"supported-types",level:3},{value:"Example 1",id:"example-1",level:3},{value:"Example 2",id:"example-2",level:3},{value:"Generated Code",id:"generated-code",level:3}],s={toc:p};function c(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,i.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"bit-count-from-range"},"Bit Count From Range"),(0,r.kt)("p",null,"The bit count of Integer based fields can be set using ",(0,r.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Serialization/BitCountFromRangeAttribute"},"BitCountFromRangeAttribute")," It will use the given range to calculate the required bit count. This works in a similar way to ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/bit-packing/bit-count"},"BitCount")),(0,r.kt)("p",null,"The min value is subtracted from the value before it is written and added back after it is read. This will shift all written values into the positive range for writing so that the sign bit is not lost."),(0,r.kt)("p",null,"This will truncate the bits so that only the small bits are sent. There is no range checking for values using BitCount, so the value that is too big or too small will not be unpacked correctly."),(0,r.kt)("p",null,"Bit Count is calculated using ",(0,r.kt)("inlineCode",{parentName:"p"},"bitCount = 1 + Floor(Log2(max - min))"),", so ",(0,r.kt)("inlineCode",{parentName:"p"},"min = -100"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"max = 100")," results in ",(0,r.kt)("inlineCode",{parentName:"p"},"bit count = 8")),(0,r.kt)("p",null,"Values are written using ",(0,r.kt)("inlineCode",{parentName:"p"},"Write(value - min, bitCount)")," and read using ",(0,r.kt)("inlineCode",{parentName:"p"},"value = Read(bitCount) + min")),(0,r.kt)("h3",{id:"use-cases"},"Use cases"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"A Value with a minimum and maximum value")),(0,r.kt)("h3",{id:"supported-types"},"Supported Types"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Byte"),(0,r.kt)("li",{parentName:"ul"},"Short"),(0,r.kt)("li",{parentName:"ul"},"UShort"),(0,r.kt)("li",{parentName:"ul"},"Int"),(0,r.kt)("li",{parentName:"ul"},"Uint"),(0,r.kt)("li",{parentName:"ul"},"Long"),(0,r.kt)("li",{parentName:"ul"},"ULong"),(0,r.kt)("li",{parentName:"ul"},"Enum")),(0,r.kt)("h3",{id:"example-1"},"Example 1"),(0,r.kt)("p",null,"A modifier that can add to a character value to increase or decrease it"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class MyNetworkBehaviour : NetworkBehaviour \n{\n [SyncVar, BitCountFromRange(-100, 100)]\n public int modifier;\n}\n")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Range = 200")," so bit count is 8, causing the real range to be -100 to 155"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"modifier = 57")," will serialize to ",(0,r.kt)("inlineCode",{parentName:"p"},"1001_1101")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"modifier = -57")," will serialize to ",(0,r.kt)("inlineCode",{parentName:"p"},"0010_1011")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"modifier = -110")," ",(0,r.kt)("em",{parentName:"p"},"(out of range)")," will serialize to ",(0,r.kt)("inlineCode",{parentName:"p"},"1111_0110")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"modifier = 130")," will serialize to ",(0,r.kt)("inlineCode",{parentName:"p"},"1110_0110"),", even tho 130 is out of range there is enough range because bit count rounds up."),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"modifier = 170")," ",(0,r.kt)("em",{parentName:"p"},"(out of range)")," will serialize to ",(0,r.kt)("inlineCode",{parentName:"p"},"0000_1110")),(0,r.kt)("h3",{id:"example-2"},"Example 2"),(0,r.kt)("p",null,"A Direction enum to say which way a model is facing"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public enum MyDirection\n{\n Backwards = -1,\n None = 0,\n Forwards = 1,\n}\npublic class MyNetworkBehaviour : NetworkBehaviour \n{\n [SyncVar, BitCount(-1, 1)]\n public MyDirection direction;\n}\n")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Range = 3")," so bit count is ",(0,r.kt)("inlineCode",{parentName:"p"},"2"),", causing the real range to be -1 to 2"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"direction = -1")," will serialize to ",(0,r.kt)("inlineCode",{parentName:"p"},"00")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"direction = 1")," will serialize to ",(0,r.kt)("inlineCode",{parentName:"p"},"10")),(0,r.kt)("h3",{id:"generated-code"},"Generated Code"),(0,r.kt)("p",null,"Source:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"[SyncVar, BitCountFromRange(-100, 100)]\npublic int myValue;\n")),(0,r.kt)("p",null,"Generated:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public override bool SerializeSyncVars(NetworkWriter writer, bool initialState)\n{\n ulong syncVarDirtyBits = base.SyncVarDirtyBits;\n bool result = base.SerializeSyncVars(writer, initialize);\n\n if (initialState) \n {\n writer.Write((ulong)(this.myValue - (-100)), 8);\n return true;\n }\n\n writer.Write(syncVarDirtyBits, 1);\n if ((syncVarDirtyBits & 1UL) != 0UL)\n {\n writer.Write((ulong)(this.myValue - (-100)), 8);\n result = true;\n }\n\n return result;\n}\n\npublic override void DeserializeSyncVars(NetworkReader reader, bool initialState)\n{\n base.DeserializeSyncVars(reader, initialState);\n\n if (initialState)\n {\n this.myValue = reader.Read(8) + (-100);\n return;\n }\n \n ulong dirtyMask = reader.Read(1);\n if ((dirtyMask & 1UL) != 0UL)\n {\n this.myValue = reader.Read(8) + (-100);\n }\n}\n")),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"last updated for Mirage v101.8.0")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/516f6285.1ec0c4b5.js b/assets/js/516f6285.1ec0c4b5.js new file mode 100644 index 00000000000..b792999f75a --- /dev/null +++ b/assets/js/516f6285.1ec0c4b5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2187],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function s(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=r.createContext({}),c=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=c(e.components);return r.createElement(o.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=c(a),m=n,g=u["".concat(o,".").concat(m)]||u[m]||d[m]||l;return a?r.createElement(g,i(i({ref:t},p),{},{components:a})):r.createElement(g,i({ref:t},p))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=u;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s.mdxType="string"==typeof e?e:n,i[1]=s;for(var c=2;c<l;c++)i[c]=a[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}u.displayName="MDXCreateElement"},68283:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>d,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var r=a(87462),n=(a(67294),a(3905));const l={id:"MessageWaiter-1",title:"MessageWaiter<T>"},i="Class MessageWaiter<T>",s={unversionedId:"reference/Mirage/MessageWaiter-1",id:"reference/Mirage/MessageWaiter-1",title:"MessageWaiter<T>",description:"Register handler just for 1 message",source:"@site/docs/reference/Mirage/MessageWaiter-1.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/MessageWaiter-1",permalink:"/Mirage/docs/reference/Mirage/MessageWaiter-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/MessageWaiter-1.md",tags:[],version:"current",frontMatter:{id:"MessageWaiter-1",title:"MessageWaiter<T>"},sidebar:"api",previous:{title:"MessageReceiverExtensions",permalink:"/Mirage/docs/reference/Mirage/MessageReceiverExtensions"},next:{title:"MethodInvocationException",permalink:"/Mirage/docs/reference/Mirage/MethodInvocationException"}},o={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Constructors",id:"constructors",level:3},{value:"MessageWaiter(NetworkClient, Boolean)",id:"messagewaiternetworkclient-boolean",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"WaitAsync()",id:"waitasync",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Returns",id:"returns",level:5},{value:"Callback(MessageDelegateWithPlayer<T>)",id:"callbackmessagedelegatewithplayert",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-1",level:5}],p={toc:c};function d(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-messagewaitert"},"Class MessageWaiter","<","T",">"),(0,n.kt)("p",null,"Register handler just for 1 message\nUseful on client when you want too receive a single auth message"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class MessageWaiter<T>\n")),(0,n.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"messagewaiternetworkclient-boolean"},"MessageWaiter(NetworkClient, Boolean)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public MessageWaiter(NetworkClient client, bool allowUnauthenticated = false)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkClient"),(0,n.kt)("td",{parentName:"tr",align:null},"client"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"allowUnauthenticated"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"waitasync"},"WaitAsync()"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public UniTask<(bool disconnected, T message)> WaitAsync()\n")),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Cysharp.Threading.Tasks.UniTask","<","System.ValueTuple","<","System.Boolean, T",">",">"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"callbackmessagedelegatewithplayert"},"Callback(MessageDelegateWithPlayer","<","T",">",")"),(0,n.kt)("p",null,"Use callback instead of async for methods that uses ArraySegment, because internal buffer will be recylced and data will be load before Async completes"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Callback(MessageDelegateWithPlayer<T> callback)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.MessageDelegateWithPlayer","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null},"callback"),(0,n.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/51771b94.574d2693.js b/assets/js/51771b94.574d2693.js new file mode 100644 index 00000000000..e4d2f96b3d3 --- /dev/null +++ b/assets/js/51771b94.574d2693.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5323],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>k});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),d=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=d(e.components);return a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},s=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,l=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),s=d(n),k=r,u=s["".concat(c,".").concat(k)]||s[k]||m[k]||l;return n?a.createElement(u,i(i({ref:t},p),{},{components:n})):a.createElement(u,i({ref:t},p))}));function k(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=n.length,i=new Array(l);i[0]=s;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:r,i[1]=o;for(var d=2;d<l;d++)i[d]=n[d];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}s.displayName="MDXCreateElement"},26687:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var a=n(87462),r=(n(67294),n(3905));const l={id:"IConnection",title:"IConnection"},i="Interface IConnection",o={unversionedId:"reference/Mirage.SocketLayer/IConnection",id:"reference/Mirage.SocketLayer/IConnection",title:"IConnection",description:"Connection for",source:"@site/docs/reference/Mirage.SocketLayer/IConnection.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/IConnection",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IConnection",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/IConnection.md",tags:[],version:"current",frontMatter:{id:"IConnection",title:"IConnection"},sidebar:"api",previous:{title:"DisconnectReason",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/DisconnectReason"},next:{title:"IDataHandler",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IDataHandler"}},c={},d=[{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"EndPoint",id:"endpoint",level:4},{value:"Declaration",id:"declaration",level:5},{value:"State",id:"state",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Methods",id:"methods",level:3},{value:"Disconnect()",id:"disconnect",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"SendNotify(Byte[], Int32, Int32)",id:"sendnotifybyte-int32-int32",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"SendNotify(Byte[], Int32, Int32, INotifyCallBack)",id:"sendnotifybyte-int32-int32-inotifycallback",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"SendReliable(Byte[], Int32, Int32)",id:"sendreliablebyte-int32-int32",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"SendUnreliable(Byte[], Int32, Int32)",id:"sendunreliablebyte-int32-int32",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"FlushBatch()",id:"flushbatch",level:4},{value:"Declaration",id:"declaration-7",level:5}],p={toc:d};function m(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"interface-iconnection"},"Interface IConnection"),(0,r.kt)("p",null,"Connection for "),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IConnection\n")),(0,r.kt)("h3",{id:"properties"},"Properties"),(0,r.kt)("h4",{id:"endpoint"},"EndPoint"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"IEndPoint EndPoint { get; }\n")),(0,r.kt)("h4",{id:"state"},"State"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"ConnectionState State { get; }\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"disconnect"},"Disconnect()"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void Disconnect()\n")),(0,r.kt)("h4",{id:"sendnotifybyte-int32-int32"},"SendNotify(Byte[], Int32, Int32)"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"INotifyToken SendNotify(byte[] packet, int offset, int length)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,r.kt)("td",{parentName:"tr",align:null},"packet"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyToken"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"sendnotifybyte-int32-int32-inotifycallback"},"SendNotify(Byte[], Int32, Int32, INotifyCallBack)"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void SendNotify(byte[] packet, int offset, int length, INotifyCallBack callBacks)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,r.kt)("td",{parentName:"tr",align:null},"packet"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyCallBack"),(0,r.kt)("td",{parentName:"tr",align:null},"callBacks"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"sendreliablebyte-int32-int32"},"SendReliable(Byte[], Int32, Int32)"),(0,r.kt)("p",null,"single message, batched by AckSystem"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void SendReliable(byte[] message, int offset, int length)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,r.kt)("td",{parentName:"tr",align:null},"message"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"sendunreliablebyte-int32-int32"},"SendUnreliable(Byte[], Int32, Int32)"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void SendUnreliable(byte[] packet, int offset, int length)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,r.kt)("td",{parentName:"tr",align:null},"packet"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"offset"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"flushbatch"},"FlushBatch()"),(0,r.kt)("p",null,"Forces the connection to send any batched message immediately to the socket"),(0,r.kt)("p",null,"Note: this will only send the packet to the socket. Some sockets may not send on main thread so might not send immediately"),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void FlushBatch()\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/520eaf41.5ff0e72e.js b/assets/js/520eaf41.5ff0e72e.js new file mode 100644 index 00000000000..1b664672730 --- /dev/null +++ b/assets/js/520eaf41.5ff0e72e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3503],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,l=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),d=s(r),m=a,y=d["".concat(c,".").concat(m)]||d[m]||p[m]||l;return r?n.createElement(y,i(i({ref:t},u),{},{components:r})):n.createElement(y,i({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=r.length,i=new Array(l);i[0]=d;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var s=2;s<l;s++)i[s]=r[s];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},44987:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));const l={id:"SyncList-1.Enumerator",title:"SyncList<T>.Enumerator"},i="Struct SyncList<T>.Enumerator",o={unversionedId:"reference/Mirage.Collections/SyncList-1.Enumerator",id:"reference/Mirage.Collections/SyncList-1.Enumerator",title:"SyncList<T>.Enumerator",description:"Syntax",source:"@site/docs/reference/Mirage.Collections/SyncList-1.Enumerator.md",sourceDirName:"reference/Mirage.Collections",slug:"/reference/Mirage.Collections/SyncList-1.Enumerator",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncList-1.Enumerator",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Collections/SyncList-1.Enumerator.md",tags:[],version:"current",frontMatter:{id:"SyncList-1.Enumerator",title:"SyncList<T>.Enumerator"},sidebar:"api",previous:{title:"SyncIDictionary<TKey, TValue>",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncIDictionary-2"},next:{title:"SyncList<T>",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncList-1"}},c={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"Enumerator(SyncList<T>)",id:"enumeratorsynclistt",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Properties",id:"properties",level:3},{value:"Current",id:"current",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"IEnumerator.Current",id:"ienumeratorcurrent",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Methods",id:"methods",level:3},{value:"MoveNext()",id:"movenext",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Returns",id:"returns",level:5},{value:"Reset()",id:"reset",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Dispose()",id:"dispose",level:4},{value:"Declaration",id:"declaration-5",level:5}],u={toc:s};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-synclisttenumerator"},"Struct SyncList","<","T",">",".Enumerator"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct Enumerator : IEnumerator<T>, IEnumerator, IDisposable\n")),(0,a.kt)("h3",{id:"constructors"},"Constructors"),(0,a.kt)("h4",{id:"enumeratorsynclistt"},"Enumerator(SyncList","<","T",">",")"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public Enumerator(SyncList<T> list)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.Collections.SyncList","<","T",">"),(0,a.kt)("td",{parentName:"tr",align:null},"list"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h3",{id:"properties"},"Properties"),(0,a.kt)("h4",{id:"current"},"Current"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public T Current { get; }\n")),(0,a.kt)("h4",{id:"ienumeratorcurrent"},"IEnumerator.Current"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"object IEnumerator.Current { get; }\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"movenext"},"MoveNext()"),(0,a.kt)("h5",{id:"declaration-3"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public bool MoveNext()\n")),(0,a.kt)("h5",{id:"returns"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h4",{id:"reset"},"Reset()"),(0,a.kt)("h5",{id:"declaration-4"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public void Reset()\n")),(0,a.kt)("h4",{id:"dispose"},"Dispose()"),(0,a.kt)("h5",{id:"declaration-5"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public void Dispose()\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/54089b9c.5c4f5760.js b/assets/js/54089b9c.5c4f5760.js new file mode 100644 index 00000000000..8e792252cee --- /dev/null +++ b/assets/js/54089b9c.5c4f5760.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4077],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>p});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},d=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),m=s(n),p=a,f=m["".concat(l,".").concat(p)]||m[p]||u[p]||o;return n?r.createElement(f,c(c({ref:t},d),{},{components:n})):r.createElement(f,c({ref:t},d))}));function p(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,c=new Array(o);c[0]=m;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,c[1]=i;for(var s=2;s<o;s++)c[s]=n[s];return r.createElement.apply(null,c)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},89676:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>s});var r=n(87462),a=(n(67294),n(3905));const o={id:"Commands",title:"Commands"},c="Enum Commands",i={unversionedId:"reference/Mirage.SocketLayer/Commands",id:"reference/Mirage.SocketLayer/Commands",title:"Commands",description:"Small message used to control a connection",source:"@site/docs/reference/Mirage.SocketLayer/Commands.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/Commands",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Commands",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/Commands.md",tags:[],version:"current",frontMatter:{id:"Commands",title:"Commands"},sidebar:"api",previous:{title:"ByteUtils",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ByteUtils"},next:{title:"Config",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Config"}},l={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"ConnectRequest",id:"connectrequest",level:4},{value:"Declaration",id:"declaration",level:5},{value:"ConnectionAccepted",id:"connectionaccepted",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"ConnectionRejected",id:"connectionrejected",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Disconnect",id:"disconnect",level:4},{value:"Declaration",id:"declaration-3",level:5}],d={toc:s};function u(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"enum-commands"},"Enum Commands"),(0,a.kt)("p",null,"Small message used to control a connection"),(0,a.kt)("p",null," and Commands uses their own byte/enum to split up the flow and add struture to the code."),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public enum Commands\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"connectrequest"},"ConnectRequest"),(0,a.kt)("p",null,"Sent from client to request to connect to server"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"ConnectRequest = 1\n")),(0,a.kt)("h4",{id:"connectionaccepted"},"ConnectionAccepted"),(0,a.kt)("p",null,"Sent when Server accepts client"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"ConnectionAccepted = 2\n")),(0,a.kt)("h4",{id:"connectionrejected"},"ConnectionRejected"),(0,a.kt)("p",null,"Sent when server rejects client"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"ConnectionRejected = 3\n")),(0,a.kt)("h4",{id:"disconnect"},"Disconnect"),(0,a.kt)("p",null,"Sent from client or server to close connection"),(0,a.kt)("h5",{id:"declaration-3"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Disconnect = 4\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/54287c76.3c0d643f.js b/assets/js/54287c76.3c0d643f.js new file mode 100644 index 00000000000..bc89f74977d --- /dev/null +++ b/assets/js/54287c76.3c0d643f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3505],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>p});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var o=r.createContext({}),s=function(e){var t=r.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=s(e.components);return r.createElement(o.Provider,{value:t},e.children)},v={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,c=d(e,["components","mdxType","originalType","parentName"]),u=s(n),p=a,m=u["".concat(o,".").concat(p)]||u[p]||v[p]||i;return n?r.createElement(m,l(l({ref:t},c),{},{components:n})):r.createElement(m,l({ref:t},c))}));function p(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,l=new Array(i);l[0]=u;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d.mdxType="string"==typeof e?e:a,l[1]=d;for(var s=2;s<i;s++)l[s]=n[s];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}u.displayName="MDXCreateElement"},89656:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>v,frontMatter:()=>i,metadata:()=>d,toc:()=>s});var r=n(87462),a=(n(67294),n(3905));const i={id:"AddLateEventBase",title:"AddLateEventBase"},l="Class AddLateEventBase",d={unversionedId:"reference/Mirage.Events/AddLateEventBase",id:"reference/Mirage.Events/AddLateEventBase",title:"AddLateEventBase",description:"Inheritance",source:"@site/docs/reference/Mirage.Events/AddLateEventBase.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/AddLateEventBase",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEventBase",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/AddLateEventBase.md",tags:[],version:"current",frontMatter:{id:"AddLateEventBase",title:"AddLateEventBase"},sidebar:"api",previous:{title:"AddLateEvent",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEvent"},next:{title:"AddLateEventUnity<T0, TEvent>",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-2"}},o={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"HasInvoked",id:"hasinvoked",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Methods",id:"methods",level:3},{value:"MarkInvoked()",id:"markinvoked",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Reset()",id:"reset",level:4},{value:"Declaration",id:"declaration-2",level:5}],c={toc:s};function v(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-addlateeventbase"},"Class AddLateEventBase"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public abstract class AddLateEventBase\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"hasinvoked"},"HasInvoked"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"protected bool HasInvoked\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"markinvoked"},"MarkInvoked()"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"protected void MarkInvoked()\n")),(0,a.kt)("h4",{id:"reset"},"Reset()"),(0,a.kt)("p",null,"Resets invoked flag, meaning new handles wont be invoked untill invoke is called again\nReset does not remove listeners"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public void Reset()\n")))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/54e8ff0e.b1600910.js b/assets/js/54e8ff0e.b1600910.js new file mode 100644 index 00000000000..6b978373b64 --- /dev/null +++ b/assets/js/54e8ff0e.b1600910.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[265],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>g});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=a.createContext({}),c=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},p=function(e){var n=c(e.components);return a.createElement(s.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},u=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=c(t),g=r,m=u["".concat(s,".").concat(g)]||u[g]||d[g]||o;return t?a.createElement(m,i(i({ref:n},p),{},{components:t})):a.createElement(m,i({ref:n},p))}));function g(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=u;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var c=2;c<o;c++)i[c]=t[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}u.displayName="MDXCreateElement"},60791:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var a=t(87462),r=(t(67294),t(3905));const o={},i="Manual Scene Loading",l={unversionedId:"guides/scene-loading/manual-scene-loading",id:"guides/scene-loading/manual-scene-loading",title:"Manual Scene Loading",description:"If NetworkSceneManager doesn't work for your case you can control everything yourself.",source:"@site/docs/guides/scene-loading/manual-scene-loading.md",sourceDirName:"guides/scene-loading",slug:"/guides/scene-loading/manual-scene-loading",permalink:"/Mirage/docs/guides/scene-loading/manual-scene-loading",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/scene-loading/manual-scene-loading.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Loading scenes in Mirage",permalink:"/Mirage/docs/guides/scene-loading/"},next:{title:"Network Scene Manager",permalink:"/Mirage/docs/guides/scene-loading/network-scene-manager"}},s={},c=[{value:"Using Messages",id:"using-messages",level:2},{value:"Loading a Scene",id:"loading-a-scene",level:2},{value:"SpawnVisibleObjects vs AddCharacter",id:"spawnvisibleobjects-vs-addcharacter",level:3},{value:"Host mode",id:"host-mode",level:3}],p={toc:c};function d(e){let{components:n,...t}=e;return(0,r.kt)("wrapper",(0,a.Z)({},p,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"manual-scene-loading"},"Manual Scene Loading"),(0,r.kt)("p",null,"If ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/scene-loading/network-scene-manager"},"NetworkSceneManager")," doesn't work for your case you can control everything yourself."),(0,r.kt)("h2",{id:"using-messages"},"Using Messages"),(0,r.kt)("p",null,"These messages are built-in and used by NetworkSceneManager. If you are creating your own scene logic then you can re-use these messages for your purpose."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/SceneMessage"},"SceneMessage"),": Sent to the client to load a scene"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/SceneReadyMessage"},"SceneReadyMessage"),": Sent to either client or server when they have finished loading")),(0,r.kt)("h2",{id:"loading-a-scene"},"Loading a Scene"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Server")),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Mark ",(0,r.kt)("inlineCode",{parentName:"li"},"Player")," as not ready, using ",(0,r.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkPlayer#sceneisready"},"NetworkPlayer.SceneIsReady")),(0,r.kt)("li",{parentName:"ol"},"Send ",(0,r.kt)("inlineCode",{parentName:"li"},"SceneMessage")," to clients")),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"If the scene is already loaded on server, skip steps 3/4. This might be the case if you are loading a scene for a player that joins late.")),(0,r.kt)("ol",{start:3},(0,r.kt)("li",{parentName:"ol"},"Load the scene on server "),(0,r.kt)("li",{parentName:"ol"},"Call ",(0,r.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/ServerObjectManager#spawnsceneobjects"},"ServerObjectManager.SpawnSceneObjects")," (This will tell Mirage to call Spawn on unspawned Scene objects)")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Client")," "),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"After receiving ",(0,r.kt)("inlineCode",{parentName:"em"},"SceneMessage"))),(0,r.kt)("ol",{start:5},(0,r.kt)("li",{parentName:"ol"},"(optional) Mark local player as not ready "),(0,r.kt)("li",{parentName:"ol"},"Load the scene on client")),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"After loading finished")),(0,r.kt)("ol",{start:7},(0,r.kt)("li",{parentName:"ol"},"Call ",(0,r.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/ClientObjectManager#preparetospawnsceneobjects"},"ClientObjectManager.PrepareToSpawnSceneObjects")," (This will tell Mirage about any new scene objects)"),(0,r.kt)("li",{parentName:"ol"},"(optional) Mark local player as ready "),(0,r.kt)("li",{parentName:"ol"},"Send ",(0,r.kt)("inlineCode",{parentName:"li"},"SceneReadyMessage")," to the server")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Server")," "),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"After receiving ",(0,r.kt)("inlineCode",{parentName:"em"},"SceneReadyMessage"))),(0,r.kt)("ol",{start:10},(0,r.kt)("li",{parentName:"ol"},"Mark the player as ready using: ",(0,r.kt)("inlineCode",{parentName:"li"},"player.SceneIsReady = true")),(0,r.kt)("li",{parentName:"ol"},"Call ",(0,r.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/ServerObjectManager#spawnvisibleobjectsinetworkplayer-boolean"},"ServerObjectManager.SpawnVisibleObjects")," or ",(0,r.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/ServerObjectManager#addcharacterinetworkplayer-networkidentity"},"ServerObjectManager.AddCharacter")," (Mirage will send spawn message to client)")),(0,r.kt)("h3",{id:"spawnvisibleobjects-vs-addcharacter"},"SpawnVisibleObjects vs AddCharacter"),(0,r.kt)("p",null,"When calling ",(0,r.kt)("inlineCode",{parentName:"p"},"SpawnVisibleObjects")," it will only spawn objects if the player has a character. This check can be avoided by using the ",(0,r.kt)("inlineCode",{parentName:"p"},"IgnoreHasCharacter")," argument."),(0,r.kt)("p",null,"When ",(0,r.kt)("inlineCode",{parentName:"p"},"AddCharacter")," is called it will send a spawn message for the new character to the client. After that, it will call ",(0,r.kt)("inlineCode",{parentName:"p"},"SpawnVisibleObjects")," to spawn any objects that are visible to the new character."),(0,r.kt)("p",null,"If your game has a player character you'll want to use ",(0,r.kt)("inlineCode",{parentName:"p"},"AddCharacter")," most of the time. But if your game does not have a player character or you want to spawn objects earlier then you should use ",(0,r.kt)("inlineCode",{parentName:"p"},"SpawnVisibleObjects")," with ",(0,r.kt)("inlineCode",{parentName:"p"},"IgnoreHasCharacter")," set up ",(0,r.kt)("inlineCode",{parentName:"p"},"true"),"."),(0,r.kt)("p",null,"You can also use ",(0,r.kt)("inlineCode",{parentName:"p"},"SpawnVisibleObjects(player, true)")," to spawn scene objects before the player character by calling it before ",(0,r.kt)("inlineCode",{parentName:"p"},"AddCharacter"),"."),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"Make sure to call ",(0,r.kt)("inlineCode",{parentName:"p"},"ClientObjectManager.PrepareToSpawnSceneObjects")," client side before calling ",(0,r.kt)("inlineCode",{parentName:"p"},"SpawnVisibleObjects")," or ",(0,r.kt)("inlineCode",{parentName:"p"},"AddCharacter"),". If that function is not called the client will not be able to find scene objects when spawn messages are received.")),(0,r.kt)("h3",{id:"host-mode"},"Host mode"),(0,r.kt)("p",null,"If using this setup in Host mode make sure you only load the Scene once, this can be done by checking if the server is active before loading the scene on the client."),(0,r.kt)("p",null,"The rest of the setup should stay the same. In host mode, there will be 2 copies of the ",(0,r.kt)("inlineCode",{parentName:"p"},"NetworkPlayer")," one for the client-side and one for the server-side. When using ",(0,r.kt)("inlineCode",{parentName:"p"},"player.SceneIsReady")," you will need to make sure you are setting it on both copies of the player. The easiest way to do this is just to treat the host client as a normal client and send the message, but be aware of any functions you don't want to be called twice."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5517ca4e.2321bbe9.js b/assets/js/5517ca4e.2321bbe9.js new file mode 100644 index 00000000000..cd5efc29ec6 --- /dev/null +++ b/assets/js/5517ca4e.2321bbe9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[852],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),d=s(r),m=o,k=d["".concat(c,".").concat(m)]||d[m]||p[m]||a;return r?n.createElement(k,l(l({ref:t},u),{},{components:r})):n.createElement(k,l({ref:t},u))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,l=new Array(a);l[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:o,l[1]=i;for(var s=2;s<a;s++)l[s]=r[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},57387:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>s});var n=r(87462),o=(r(67294),r(3905));const a={id:"AutoCompleteToken",title:"AutoCompleteToken"},l="Class AutoCompleteToken",i={unversionedId:"reference/Mirage.SocketLayer/AutoCompleteToken",id:"reference/Mirage.SocketLayer/AutoCompleteToken",title:"AutoCompleteToken",description:"Token that invokes immediately",source:"@site/docs/reference/Mirage.SocketLayer/AutoCompleteToken.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/AutoCompleteToken",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/AutoCompleteToken",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/AutoCompleteToken.md",tags:[],version:"current",frontMatter:{id:"AutoCompleteToken",title:"AutoCompleteToken"},sidebar:"api",previous:{title:"ArrayBatch",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ArrayBatch"},next:{title:"Batch",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Batch"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"AutoCompleteToken()",id:"autocompletetoken",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Fields",id:"fields",level:3},{value:"Instance",id:"instance",level:4},{value:"Declaration",id:"declaration-1",level:5}],u={toc:s};function p(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"class-autocompletetoken"},"Class AutoCompleteToken"),(0,o.kt)("p",null,"Token that invokes immediately"),(0,o.kt)("div",{class:"inheritance"},(0,o.kt)("h5",{id:"inheritance"},"Inheritance"),(0,o.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,o.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,o.kt)("details",null,(0,o.kt)("summary",null,"Show")),(0,o.kt)("h5",{id:"syntax"},"Syntax"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"public class AutoCompleteToken : INotifyToken\n")),(0,o.kt)("h3",{id:"constructors"},"Constructors"),(0,o.kt)("h4",{id:"autocompletetoken"},"AutoCompleteToken()"),(0,o.kt)("h5",{id:"declaration"},"Declaration"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"protected AutoCompleteToken()\n")),(0,o.kt)("h3",{id:"fields"},"Fields"),(0,o.kt)("h4",{id:"instance"},"Instance"),(0,o.kt)("p",null,"this token just invokes event instantly, so only needs 1 instance to exist"),(0,o.kt)("h5",{id:"declaration-1"},"Declaration"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"public static AutoCompleteToken Instance\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/55d87c72.3a115a67.js b/assets/js/55d87c72.3a115a67.js new file mode 100644 index 00000000000..792d2a98178 --- /dev/null +++ b/assets/js/55d87c72.3a115a67.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[585],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),p=s(r),f=i,m=p["".concat(c,".").concat(f)]||p[f]||d[f]||a;return r?n.createElement(m,l(l({ref:t},u),{},{components:r})):n.createElement(m,l({ref:t},u))}));function f(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,l=new Array(a);l[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:i,l[1]=o;for(var s=2;s<a;s++)l[s]=r[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},94140:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>o,toc:()=>s});var n=r(87462),i=(r(67294),r(3905));const a={id:"ClientAttribute",title:"ClientAttribute"},l="Class ClientAttribute",o={unversionedId:"reference/Mirage/ClientAttribute",id:"reference/Mirage/ClientAttribute",title:"ClientAttribute",description:"Prevents this method from running if client is not active.",source:"@site/docs/reference/Mirage/ClientAttribute.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/ClientAttribute",permalink:"/Mirage/docs/reference/Mirage/ClientAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/ClientAttribute.md",tags:[],version:"current",frontMatter:{id:"ClientAttribute",title:"ClientAttribute"},sidebar:"api",previous:{title:"CharacterSpawner",permalink:"/Mirage/docs/reference/Mirage/CharacterSpawner"},next:{title:"ClientObjectManager",permalink:"/Mirage/docs/reference/Mirage/ClientObjectManager"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"error",id:"error",level:4},{value:"Declaration",id:"declaration",level:5}],u={toc:s};function d(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-clientattribute"},"Class ClientAttribute"),(0,i.kt)("p",null,"Prevents this method from running if client is not active.\nCan only be used inside a NetworkBehaviour"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,i.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Method)]\npublic class ClientAttribute : Attribute, _Attribute\n")),(0,i.kt)("h3",{id:"fields"},"Fields"),(0,i.kt)("h4",{id:"error"},"error"),(0,i.kt)("p",null,"If true, when the method is called from a client, it throws an error\nIf false, no error is thrown, but the method won","'","t execute\nuseful for unity built in methods such as Await, Update, Start, etc."),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public bool error\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5655c588.9235c794.js b/assets/js/5655c588.9235c794.js new file mode 100644 index 00000000000..caaeb7c90c7 --- /dev/null +++ b/assets/js/5655c588.9235c794.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2760],{3905:(e,t,o)=>{o.d(t,{Zo:()=>c,kt:()=>p});var n=o(67294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?r(Object(o),!0).forEach((function(t){a(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):r(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function s(e,t){if(null==e)return{};var o,n,a=function(e,t){if(null==e)return{};var o,n,a={},r=Object.keys(e);for(n=0;n<r.length;n++)o=r[n],t.indexOf(o)>=0||(a[o]=e[o]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)o=r[n],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}var l=n.createContext({}),h=function(e){var t=n.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},c=function(e){var t=h(e.components);return n.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var o=e.components,a=e.mdxType,r=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),g=h(o),p=a,d=g["".concat(l,".").concat(p)]||g[p]||u[p]||r;return o?n.createElement(d,i(i({ref:t},c),{},{components:o})):n.createElement(d,i({ref:t},c))}));function p(e,t){var o=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=o.length,i=new Array(r);i[0]=g;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:a,i[1]=s;for(var h=2;h<r;h++)i[h]=o[h];return n.createElement.apply(null,i)}return n.createElement.apply(null,o)}g.displayName="MDXCreateElement"},89133:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>h});var n=o(87462),a=(o(67294),o(3905));const r={},i="Network Manager HUD",s={unversionedId:"components/network-manager-hud",id:"components/network-manager-hud",title:"Network Manager HUD",description:'The Network Manager HUD ("heads-up display") is a quick-start tool to help you start building your multiplayer game straight away, without first having to build a user interface for game creation/connection/joining. It allows you to jump straight into your gameplay programming and means you can build your own version of these controls later in your development schedule.',source:"@site/docs/components/network-manager-hud.md",sourceDirName:"components",slug:"/components/network-manager-hud",permalink:"/Mirage/docs/components/network-manager-hud",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/network-manager-hud.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Log Settings",permalink:"/Mirage/docs/components/network-log-settings"},next:{title:"Network Manager",permalink:"/Mirage/docs/components/network-manager"}},l={},h=[{value:"Using the HUD",id:"using-the-hud",level:2},{value:"Host (Server + Client)",id:"host-server--client",level:3},{value:"Client",id:"client",level:3},{value:"Server Only",id:"server-only",level:3}],c={toc:h};function u(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"network-manager-hud"},"Network Manager HUD"),(0,a.kt)("p",null,'The Network Manager HUD ("heads-up display") is a quick-start tool to help you start building your multiplayer game straight away, without first having to build a user interface for game creation/connection/joining. It allows you to jump straight into your gameplay programming and means you can build your own version of these controls later in your development schedule.'),(0,a.kt)("p",null,"It is not, however, intended to be included in finished games. The idea is that these controls are useful to get you started, but you should create your own UI later on, to allow your players to find and join games in a way that suits your game. For example, you might want to stylize the design of the screens, buttons, and list of available games to match the overall style of your game."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"The Network Manager HUD component, as viewed in the inspector",src:o(88401).Z,width:"661",height:"199"})),(0,a.kt)("p",null,"The Network Manager HUD provides the basic functions so that people playing your game can start hosting a networked game, or find and join an existing networked game. Unity displays the Network Manager HUD as a collection of simple UI buttons in the Game view."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"The Network Manager HUD GUI, as viewed in the Game view",src:o(19628).Z,width:"180",height:"154"})),(0,a.kt)("h2",{id:"using-the-hud"},"Using the HUD"),(0,a.kt)("p",null,"The Network Manager HUD allows you to start in Host, Server, or Client-only modes and input a network address."),(0,a.kt)("h3",{id:"host-server--client"},"Host (Server + Client)"),(0,a.kt)("p",null,"Click the Host (Server + Client) button to start a game as a host on the local network. This client is both the host ",(0,a.kt)("em",{parentName:"p"},"and")," one of the players in the game. It uses the information from the Network Info section in the inspector to host the game."),(0,a.kt)("p",null,"When you have started a game as a host, other players of the game can then connect to the host to join the game."),(0,a.kt)("p",null,"Click the Stop button to disconnect from the host. Clicking Stop also returns to the main HUD menu."),(0,a.kt)("h3",{id:"client"},"Client"),(0,a.kt)("p",null,"To connect to a host or standalone server on the internet use the text field to specify the address of the host. The default host address is \u201clocalhost\u201d, which means the client looks on its own computer for the game host. In addition to ",(0,a.kt)("em",{parentName:"p"},"localhost"),", you can specify an IPv4 address, IPv6 address, or a fully-qualified domain name (FQDN), e.g. ",(0,a.kt)("em",{parentName:"p"},"game.example.com"),", and the transport with resolve the name using DNS. Click Client to attempt to connect to the host address you have specified."),(0,a.kt)("p",null,"Use the default \u201clocalhost\u201d in this field if you are running multiple instances of your game on one computer, to test multiplayer interactivity. To do this, you can create a standalone build of your game, and then launch it multiple times on your computer. This is a common way to quickly test that your networked game interactions are functioning as you expect, without you needing to deploy your game to multiple computers or devices."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"An example of three instances of a networked game running on the same desktop PC. This is useful for quick tests to ensure networked interactions are behaving as you intended. One is running as the host, and two are running as clients.",src:o(57126).Z,width:"850",height:"569"})),(0,a.kt)("p",null,"When you want to test your game on multiple machines you need to put the address of the computer acting as the host into the address text field."),(0,a.kt)("p",null,"The computer acting as the host needs to tell their IP address to everyone that wants to connect so that they can type the IP into the box. For local clients on a LAN, that's the local IP address (",(0,a.kt)("inlineCode",{parentName:"p"},"localhost"),"). For remote clients, that's the WAN IP address of the router of the host. Firewall rules and port-forwarding are generally required for a computer to act as the host and accept connections from other computers, whether they're on the LAN or the internet."),(0,a.kt)("p",null,"Enter the IP address (or leave it as ",(0,a.kt)("inlineCode",{parentName:"p"},"localhost")," if you are testing it on your own machine), then click Client to attempt to connect to the host."),(0,a.kt)("p",null,"When the client is attempting to connect, the HUD displays a Cancel Connection Attempt button. Click this if you want to stop trying to connect to the host."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"The HUD GUI while attempting a connection",src:o(62977).Z,width:"236",height:"49"})),(0,a.kt)("p",null,"If the connection is successful, the HUD displays the Stop button. Click this if you want to stop the game on the client and disconnect from the host:"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"The HUD GUI after a successful connection",src:o(76220).Z,width:"181",height:"154"})),(0,a.kt)("h3",{id:"server-only"},"Server Only"),(0,a.kt)("p",null,"Click Server Only to start a game that acts as a server that other clients can connect to, but which does not act as a client to the game itself. This type of game is often called a \u201cdedicated server\u201d. A user cannot play the game on this particular instance of your game. All players must connect as clients, and nobody plays on the instance that is running as the server."),(0,a.kt)("p",null,"A dedicated server results in better performance for all connected players because the server doesn't need to process a local player's game play in addition to acting as server."),(0,a.kt)("p",null,"You might also choose this option if you want to host a game that can be played over the internet (rather than just within a local network), but want to maintain control of the server yourself - for example, to prevent cheating by one of the clients, because only the server has authority over the game. To do this, you would need to run the game in Server Only mode on a computer with a public IP address."))}u.isMDXComponent=!0},57126:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/NetworkGame3Instances-f426cb171b82842693dcd19dc9f97e77.jpg"},88401:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/NetworkManagerHUDComponent-32186733665f2c69b3c5a40d99085a50.png"},76220:(e,t,o)=>{o.d(t,{Z:()=>n});const n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALUAAACaCAIAAABgy54dAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAArwSURBVHhe7ZxrjI3XGscbaSKRGql26tKi1P1a45Ci1SgzQ6JIpC4hVaSalpyUtj6oVOIbItJoNG2jGRm3hDk6LmMUJ7SuFYoYSm+0KG2Utkg/tDnnZz9v13mN2U/nbJOx957/74Os9bxrr/V6n9/7rLUx7hFCiBqiXr169evXv6/aNBRpTJSkakDSSX0kQTLuvfdeJr1f1ElIPQJEKtwO+jRo0CAaK+okCJC0iuBOTk5ONFDUSRAgaQmRH0J+CA/5ITzkh/CQH8JDfgiPv/GjUaNG0UBRJ5EfwkN+CA8EkB8iKfJDeMgP4SE/hIf8EB7yQ3jID+EhP4SH/BAe8kN4yA/hIT+Eh/wQHvJDeMgP4SE/hIf8EB7yQ3jID+EhP4SH/BAe8kN4yA/hIT+Eh/wQHvJDeMgP4SE/hIf8EB7yQ3jID+EhP4SH/BAe8kN4yA/hIT+Eh/wQHvJDeMgP4SE/hIf8EB7yQ3jID+EhP4SH/BAe8kN4yA/hIT+ERwb70bhx46gVo8pgyjBbTa2SwkfSgQz2o3v37o8++mjUSfDII4/07Nkz6vw/NGvWrHnz5lEnBrPl5eU1bdo06ido0aIFwfbt20f9asB9dunSJepkFPLjJt26dWvZsmXUicFs8Nhjj0X9BJ06dSIoPzLej4ceeoh3/eGHH37ggQeiUKLOE8GGUBVoMBUSMN4iAfOAq1H//vuZ6vHHH0eRuB9VLgTMTLxJkyaV/GA8N3D7+DQka/1o3bo17Y4dO3bu3LlHjx5mA3JQKoi0a9eOj3OVYJs2bRjZtWvXVq1aJT76P4iTYH4lxxYhrx06dOCDwY8qFwKEwyQGsyKTBz+Yocrx6Ulm+0ECeMQBujx6LpFOjgjhSEGqSJJVDoZZMDc3lyTZG+zsLzhHjsMWQ+UgEvxIthAVIhxc6AY/HnzwQeYM43ErzfedzPaDMsCzDlgl4BJ1hTzZMCArZIucAQPIMaUCP6LLf+cH2BaDTOhFvoMfyRZifvuIEfYXq0ZoahBnPJ+yYWlIZvuRbH9BFKq3BYGMkga+pNDmjSe1pJkIhYFLBH0/GENlohiQdYwkHvxIthDxeGFgcusyg206ceKmphvZ6QevadhHwHYBXmsyEfZ7GqSKkbR9P2hgA3sHKlCl6AY/ki3EbPF42EeoGSxqUgIFCZlCNw3JTj9sI7CrPH3SaelhAHHyR5uqTpuE0eZ8wBt/e56CHwxjMNiY4EeyhZgcDyyOlNyqxW28nWYYTzWKb09pSHb6AbyXPHqSQYT3PtTwtm3bEuGz/ErbgsjBe092rRsIfpBL8h3GBz8g2UJUGoIGg80PoG4xntmI46XJmrZksB/VgfeYVzbq/AXJJiuV4nStNqSGs1CV0zI4nY+lgSz3Q9wh8kN4yA/hIT+Eh/wQHvJDeMgP4SE/hIf8EB7yQ3jID+EhP4SH/BAe8kN4yA/hIT+Eh/wQHvJDeMgP4SE/hIf8EB7yQ3jID+EhP4SH/BAe8kN4yA/hIT+Eh/wQHvJDeMgP4SE/hEeKfuTm5hYUFKxevXrDhg0bN27ctGnT5s2by8rKtmzZUl5evnXr1o8//njbtm3bt2/fsWPHv8VdgodPCkgE6SAppIYEkSaSRcpIHOkjiaQy/LdHlUjFD+b64IMPfv/99/+IrIBUktAq/6erVPwoLCz8888/mfTGjRvXRYZDEknlH3/8kZ+fHyU4Rip+rFmzRmZkGSS0uLg4SnCMVPwoLS2NZhVZxPr166MEx0jFDw440ZQiiyCtUYJjpOIHZ+BoSpFFkNYowTHkh4jIbD8uXrxYUVFx7ty5qF+j/Pbbb9euXYs6CegSjDq1xa+//hq17gaZ6sf333//8ssv/yNBXl7e+PHjjx49apd27dq1e/dua98JTz311KRJk+KKlJeXP/HEE1EnCTW1unHp0iV+dydPnoz6tU6m+vHKK6+88MILX3zxBfn79ttvZ8yYUVhYeOXKFS6NGDFi3bp1NuxOwA9yU1RUFPWr50dNrW7IjxR58sknP/roo6hz/fqFCxdIzJEjRw4fPjxkyJCFCxeeOHHCLp0+fZqRW7duZTOyyC+//MJb/vPPP3PPJSUl3333ncUrgR9Tpkzp168fFlqkkh9ffvnl2rVrmZksWiS++p49eyhyFifB3Ju1f/zxx1Bgbr+3q1evcm+MKS0t5SNxP9hoPvnkk1OnTtnI2iFT/Zg4ceK4ceP27dtX6UCwaNGi/v37jx49evny5XTfe+89ujNnziTTgwYN2r9/P0Fksi1p2rRpXGIAzz3x6VvAD5L34osvspatEvdj9erVqMPHp06dWlBQ8PnnnxOMr/7SSy8tXrzYBj///PN4Y+3i4mK2LRpV3htKcW+sSGTWrFnBD27gtddeGzNmzA8//JCYppbIVD+++uorHivPjiyS5hUrVlAP7FKo8MePH+/Vq9enn35qcZI3fPhwHrT5MX/+fIu/8847zz77rLXjMDMv8ddff00Wly1bRiT4cebMGeTYuXNnYuD1pUuXjh071tphdW4Jg2lQDKh2TGKvPscmZkt2b+bHggULCFIwzA8G4wpCh0JVa2SqHwb1eeXKlbxYPH0SQ+IJhgx9+OGHtBMDb8IxhWfNZmF+hF2DbYIuv1o3YH7QoFT07duXlzj4QZwVN/0FZxRmsDc7rM5ynJ1ZiydDjaEOrVq16vLly8zAbSe7N/Nj7969Fjc/KCdMhZQWrE0y0o/z589X2hHOnj2bn5/Pe0w7ZIjCwJNNXL8JBYZnzZZkfvBaW9xyEM4HgeAHkGD2iLKyMvODAsDVf96KGRZWB7YDZpg3b97777//7rvvvv766xw1Ro0axaVk92Z+hEOG3dvkyZOZau7cuRasTTLSD45+FGcqf9RPQAptyxg5cqRliLMnJ4NwQDl27BjPmiyaH3QtfujQId7O2/f1uB/ffPMNewTnBvODmjFgwIDwJxNkkUMlR0vaYXVYsmTJ7NmzMYYlDh48+Mwzz7z11ltvv/02l5LdW5V+VFRUcPLt3bt32NFqjYz0g8fKGfC5556jivz000+IQoXv06fPZ599xlXivJ1UclL+9NNPcwwkSJevxBMmTKBtfvCVmIzylZg4b//NeW8l7gesWbOGT5kfLMr5kUMD366x5M0330QCS3ZYnTaHVibhHrgEKMXHyTSXkt1blX7Y9xcOJRxyQ9mrHTLSD2BDefXVV3GCxwdDhw7lnbZLpIfI9OnTaVNphg0bNnDgQI6TnGfZ5gmaH2+88QYJ4xhB9SYriY/eQiU/gK8k5gccOHAAJ8gxsGVwhLR4fHUgo4hobW64sLDQ2lDlvTl+sAdxjp4zZ45dqh0y1Q+DN4+znj3ZOLzfVu0NZIobYH7w0DnH3OGhj2mZvNIfw1da3afSvaUbme1HagQ/or5ITl30gy2czb7S8VZUSY35oX8flJXU2L8Piv9tiMgaauzfF65cuTKaUmQRRUVFUYJjpOJHQUFBNKXIFvheVmM/35Cbm7t06dLwl2Qi0yGVJLTKH6FLxQ9grsGDBxcXF5eUlPwrAbsX55LS0tLwE5cQfuhS3BV4+PajlGA/TUmCSBPJsqyRPpJIKmvy5ytF3UF+CA/5ITzkh/CQH8IjJyfH84PL0UBRJ5EfwkN+CA/5ITzkh/CQH8JDfggPz4969eo1aNAgGijqJAiABpEQt4M7DRs2jMaKOgapT1o8AuhTv379+6oNk4q0JUpSNSDpXuUQQgghhKgl7rnnvy4e0HZj75gLAAAAAElFTkSuQmCC"},62977:(e,t,o)=>{o.d(t,{Z:()=>n});const n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOwAAAAxCAYAAADZc0XlAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAA4XSURBVHhe7Z3ZV1RHHsfn35lEY4xJTiY5Jw+ZhzlnXuYlcyZzEmNcYqKyibKvIrKjCIiIgMi+qqiIgqAimiD7oiBOFFnUaFyT99/c749Up/r27erL0g2dUw+f01X1u7fqV/fWt7ami7/s2LKRNBqNf6AFq9H4EVqwGo0foQWr0fgRWrAajR+xYMEezs6kc82nGYStrlkt7Nz6NX/uDdpJ1RXlLvblQJSxEMJDAqiyvMzSthzI+a+2umuWhm3B4sWPjY7Si+fPaXRkmHn18iX19vSsyhc3PDRI+TkHOZx+IIl+++03l2uWilzGQjiUmUZvXr+2tC0Hcv6rre6apWFbsP19vTT14AFFhgY50tKS99GLFy/odFOD07WrgZdGZ5J/+I8GFfjdFif7cmAuwy5/BsEutu6apWFLsHGRe+nXX3+lYwV5LjZMvQrzczmcnZ5qjMIj9Ghuju5OTFBRQT6n74uNopHhITrT1EgzM9P0cGqKLpw/69EGkhPjjN58iOZ+z7Mg77DDlp2eQrfHxujx40d09+6EowH9cPMG+4sOpvT4MS7j3uRdtnkqryA3h6+dm52l7q5rdP3aVc5D2AXmMpDmrv5mzIJV3eeujuBEcRGN37lNjx49opnpaWq72MrpVoJtqKuhB4avszMzTvVVlX3xQgtNP3zIeffe6qHosN2cblV3jW+wJdiTpcX05s0bCti+2dIOEqLCebRtv3SRRdFYV0uvX7/ixoNGgxc8OjJCWWkH6FRjPcczUvYrbaEB39PPP/9MVzouU2JMJNVWVXAZqUkJvE579uyZw3b2zCm2YeqeFBfN03Ws3cKCdzmNMqryEqIjeOQ433yG69BliBX3NTXUudTXXIaq/uZ7ZUGp7lPVcX98jHHda6qqOEkx4aGOd5R7MNNSsOikMlOTqcZ4hqhvTla6suySokKjk3jMzwW2ifFxXv4gT3PdRb003seWYGurK7khW9kErS3neLSS0wb6++hWz4+ORoNGJmzo0Wsqy5U2NCCMrJjOCgYH+llI9bXV9NgYWcQ9APdE7A7ksDxlMwvWXXmow0//u+dIx9r8yZMnloIFchmq+stpQBaU6j5VHaP2BFPR0SOO9OSEWHr69CkL2Eqw8VFhjmtnjdkDOj9V2egAfvnlFxY4Og6wJ3CH4zo9JV4ZbAm28Egev3QhBhn00ljXdl/voqHBQScbpmgTE+OORiNvTmGahY5AZevsaOdR4/nz50709d5y5C3uMeNJsFbl3bzRzQ1WpANMj+0IVlV/OQ3IglLd56mOLWebeVqKjUBMXeEPRj0rwcr3QaQNtTXKsvF8Oi63GaJ9xu8A03GMyuI6LdiVwZZgg77fylMnTB/NNuwWYo2F9c7k3fl1ouBG93Weilk1GrNgrWxokPd/+snJFhuxh6eE8GVq6oGTDY0QIw3CngQr7gGivEutF1zqMDc3a0uwqvrLaUAWlOo+VR0x8qHzKi4soJCd37LtqbF8WIhgVWVjOYK9Cwg391AWz2wwgovrtGBXBluCBa0t57mBYKqEONaz2LxAw8BGENZHWFMdzZ/fFEKjwpQKmx2LFWzq/kTOE5srSI/aG8LrKpSLKe2rV68c5WE9ijg2qRBH2WUlxzlsV7Dz68JXVFFWyvVrPt3E17oTrFyGqv7yPUAWlOo+VR2x7oTwxEyh8uQJ9rW+psq2YFVl4xk/NEZt0RlgCi0LVq47wPQcZbmLa5YH24IFGIHworDhgAaB9ZUQMEDDhh07rJimYa2JdJVIVDaE0QAxLRN5YjosNr/qqudt2PlEuacb//h6CVNb5IuORi7DU3moD9Z4mFEMDQzwDizKka8XyGUg7q7+ZmRBAdV97uqITSiM/tg9xnQY35Fjl/dqZ4dtwSLsrmwI9c7tMbbh+TwzxFp+osSRh7nuuKbzcrvDbo5rlocFCRbs2raJGwumS+7s6KnlDYqlglEEo43VjiTKgy14xzYXGzZmYDenuwO7z2I0BygXu7Tuvp4B5jIWW3/Vfe7qKJ7LUp+1qmzUL2VfvOU3BAt9vpqls2DB/pnBaITZw5lTTfyd848/3ORZhFVnoNGsBFqwJrD2wgbL+J07vIuKXXCr6zSalUALVqPxI7RgNRo/QgtWo/EjtGA1Gj9CC1aj8SO0YDUaP0ILVqPxIxYk2E1ffE7/+OxT+tsH79G6t/+q0WgWAHQD/UBHVvqyg23Bfv6vf1LAju/oSF4ulZWWaDSaRQD9QEfQk5XOPGFLsNwjbN9GR4/kazSaRVJYcMQRhp42/XfhI60twX726ceUnLSPMjPSKCsjnT81Gs3igZ7+/uknlnpTYUuwH6x/h+Jioig+Jpo/NRrNwoF+ZA1BV1Z6U2FLsFgwb/76S9qy6StGDnuT7KwMaj5zmkHY6hpfEBK0i8rLTljaZFaLv3bY+s1G/gwK2EEV5Sdd7MtF6oFkKjtRamkDwg93cV/gqzKFbvAJoCsrvalYkGA3f43CRIEivPwE7tpBo6OjfMLFyPAwgyNJenp+NCq80fIeb5KRnsYnM1jZwGrz1xM4xynnYDaHMTXDD9HN1ywX9+7d42eXc+igi032wyruC3xbptDN/KcPBOsbent7+Qzd3cGBjrT9+xL5FIimxgana31BRnrq74K1tq82fz3x8uULQ0BopPPx7Vu/cbIvF+IZ3LjRTX19vS52sx/muC9YiTLn+ZMINiJsD5+beyQ/z8V20piW5uce5vDxomN0hw/RnqPp6Wm62HqB02OiIvngcQgF6VNTU3Tu3FlHHmkpB2hsbJR/mD4xMeH0shLiYmhoaJCPVsXJgbmHczhdJVi7/qanpvBZyCLvgiPz16v89VQXd/4Cd/WEeOAvOpjjxwq5jMnJu477FuOnO65evULDw0O8PMBZWaEhQQ6b2Q9zHNe4qx98GRwcoIaGepqdnWFfiox7TjU10czMjJHHfRe/W86f53zu37/P78XKB6T5Di8K9t01b9G3W77xCWWlpXys5vfbt1naQWJ8HAuosqKcIsP3Ou45ZExtUow1E17CiNHo0tNSuYEhjgYcGhLMR750dnQYi/5oXmtiBAgJCqDggJ18aLmwVVdVsQ1TxqzMDD4jycoXO/7GGo0GebVdukTxsTFUX1fH/iNflb8qm8pfVT0T4mJ5ul5ZUWHMCIK4DEyJl+Knub4AzwOHtp0sK+M4RH6hpcVhN/thjqvqJ3zBOVYId127xvcODPSzP9evd/G5XChHvhZtpbS4mA+yO5Sd5VKm8M0XbN+6mdat8ZJg1699i3Z+961PqKut4YdoZRNERYRxjyjieIloHNVVlZSRlsINcL8xHRN2HKRWU11FDUYDxIgj0gHSI41RstHordEDBxnrUcHgwAB1dV0zOoIsFqV8n8COv60XWuZPOJTSBvr76datHqW/KpvKX1U9EYa/+AIfYVEGwov1U75egI0sHOAGvxBH3vBXvkb2wxxX1U/4kpQYz9dmGx0K4tiBRRxfPYr3Ja5FB4Q4QJ1+uHmTw2YffMm7hq6s9KbClmDfe+dtpwfnTSBEPOCYyAgXW1JiAo8CCKO3xlQIvS56bzz42ppqflm4Hz20uA/TpPq6Wrrc3sYHYot0mStXOvklY+NIpr+/j3JzDrHN6j47/uKAckwNZVt727wvKn9VNpW/qnoCPCt8eY+wKAPhxfopXy/AWdUYyXAaI8B/UMD9pSXFjmtkP8xxVf3Mvsh1EHGMqiKM+4QNdHZ20O3bYxw2++BL1q9921JvKmwJdsO6NbQ7KNAgQPr0DmF7drMIMY0z20ZGho116x1uJHgJJ0pLeA0JG0ZYjHYHszL55cn3oWE11Ndzng8fTjnZTjU18roNI8ADY30j29CDQ4h5uTnceGSbwI6/bW2X6N7kpJMNPTzWiip/VTaVv6p6IoxGWni0gMNyGYv1U04D8APPC++pwFjbC3AMK6am4jrZD3NcVT+zL1ZxCFaE4UtYaIjDfqunh/p6ezls9sGXvPfOGku9qbAl2PffXUt7d4cYBEuf3gNrKAiyqrKC4xF7Q+nSxVZ+8MVFx3hdg1EVLwF2jKx4YWiU2KJHWM4PZ/o2NTQY06NU7vVLjhdxet7hHI5nZaTxixXrYtjQODAqoFxMmVC2nKeMJ38xQiNvUW5metr8GcOnmpT+qmwqf1X1RJx9NdZtCMtlLNZPOQ1gVMZ01pyO94Rnkpq8n+OyH+a4qn5mX6ziEKxswztCHM8G5WDKjrjZB1+yYd1aS72psCXYD9evo3BjJMFoIj69zeXL7dxY0NDwknHif7WxXoINIwV2h58YafiXkdgtnjRGhutdXYTv+/CC5Ly4YTU2cLjJEDXyxSHc+Dx3ttlxHXYZ521zPGpiEwMbFdhxhA/iOitU/oLm5jPcOETeN7q7OV3lr6e6uPMXNlU98d0j8m03RlRzGYvxU07jdGMKjGmnOR2+YTMMu8eIy35Yxd3Vz+yLVRyClW3j4+O85kY+onxgLtNnGION1/7S6aP313MBKMhXggWY7kKcKUaPbLaFG6MY/iYzLjbaxeYJ5It7oyPDXWwiX+wgmm2eUPkr7FhTLcZnd6j8VdUzaV8C283pwBt+usPshzm+lPcBZDHjr66s8lE9C2+BEfajDest9abClmA/+XADF4CCfClYjWapmEff1QL09LGhKyu9qbAlWPxaB4tkFOTrqbFGsxQOJCfxX6JZ2XyNrB3oyWu/1sHvYb/8z+dapBrNEhEagp689ntYgF/If/XFvykkcBcXqtFoFg70Ax159cQJgTjTCYtl/B2kRqOxD3TjszOdNBrNyqMFq9H4EVqwGo3fsJH+D5hO8Q8/hKclAAAAAElFTkSuQmCC"},19628:(e,t,o)=>{o.d(t,{Z:()=>n});const n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAACaCAIAAACPCfUjAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABM7SURBVHhe7Z1pcFTV1oYtyiqqqCvWhV/wE6nyp5SgpSIF4UaDA0ZLBQkqRnDAqRRFFMSgFAkgOJCYCCgOgKKByJAQQhJmAkEZkwAGGTIJZmKevJ9+97m9tqf6dvo0J+Gk+3R6PT9Sp3fv4fR+3732OqF3uEZRFOXq6NSpU+fOnf/hmOsUD2NEcgCiI70xQVCuvfZaevynEpMgPQYwVggA43Tp0sVUVGISDBA8fuCarl27mlpKTIIBggcPNYei5lBsUXMotrhvjm7duvXs2bNPnz6D/+ZffsT/zV2Ke5g5jY83s+zDzP7gwWiBIuhiFHKMy+bgDm644YYxY8asWLHi4MGDv/io9HHo0KFffRz2cURxD5lSmV7mWSZcJh8V0AJF0KW1/nDZHD169Hj22WerqqouX778h+IN0OLYsWPPPPMM8cPo5IxQ5rj++utNLccQwfDppUuXLly4cF7xBmiBIj/++ONNN91kdHKGy+aIi4vbt2+fuSnFS+zZs2fQoEFGJ2e4bA7yoIqKCnM7ipdAF9QxOjkDA7hsjv3795vbCSMnT548evQo6VhjY6MpcpVz586dPXvWvPgbSig3LzwPusScORoaGr799tvExMR+/fr17ds3ISEhMzOztraWt8jbN2/ejGOkphPsmnz55Zevv/769u3bzevz58vLyyn59NNPzWvHtOGuXCEWzbF8+XLy8C+++OL48eMY5fvvv3/88cfnz59/5syZb7755t1332WvNVUdYNfERXO04a5cIRbNMXfu3DfffBOp5GVTU9O8efM++ugj8uIPPvjghRdewD2//fYbb9XU1Kxfvz47O5ufElrYFw4ePMgN79y5c+PGjS2bWFzRHCdOnNiyZUteXh6qs8dJIf3TeW5ubnFxMQ+TlFRXV9sN0d7Eojl++OEHQsXHH398+PBh/wxg06ZNY8aMGTJkyDvvvPPzzz8XFBQkJyePGjUKRR988MFXX30VFYk0M2fOvOeeex566KEnnnhizpw5/k1MRz5Cm2Pbtm3oPWzYMH4+/PDDqampJECnTp2iVVJS0iuvvPL0009zwUN+wF1JV+EhFs3x+++/o8F999132223PfLII9OnTy8tLWVP4S0rgLOsiSXABeVEjvHjxy9dulTMgWMIG6xyCLGt8NEGDhzIT4HHwttvvx1zEISmTp06ceJEkglq0hVu+Oqrrw4cOJCSksJ+RyE3uXDhQrY8gopuK+EG1VFl1qxZw4cPv+uuu8g52F8CZGApo9+6devEEEuWLBFzsIiPHDkidUKYgxW/YMECmgtkwcQDzIEX2ddoKDWlT4IHKScXRKlp06Zxb/hDKqg5wgQOILz7Z/5ok56eztrdunWrJQPbDdvKyJEj4+Pj0ZjtYPTo0d99950ImZaWRjIrzUOYw25bIdUgbLC7STlBiz1u8uTJGI4sBwviof79++OSnJwcDKrmCBPYYtKkSTNmzLDWJaDBhAkT2DuI5CJDWVkZJWSCsq0gJ2s9qDmsJvLSIoQ59u7dizkIKpLxYAh2GfrEHBUVFZKHkoIQP9544w16thuivYk5c6DH4sWLyQQRnueOuro6PPHiiy9OmTIFPXiL3IKQTuQXIdny8QEre+jQobzb0hxWk9OnT0uJEMIczc3NGRkZL7/8MmkprUhlCEukFzgD08yePRtHMtAnn3zC/sVN2g3R3sScOYB5RwmeEfr163fzzTcPGDCAdSm/widCENKJ5wi2aNGiBx54gAcTahJFeKzg2QRPBJjDasKjppQIIczBNQ9K9JOQkMDoiYmJX3/9NXdFeVFR0ZNPPhkXF8e0kOXwEjfbDdHexKI5BFYhTw3sMqKKBaGCvITHEK4bGxuJ+byUt+zwb9IqGJr+A35/T5JBYXV1tfXLD2jzEFeDJ8yh//DmTSL/D2+EUBI0czuKlyAFbu0/2btsjj59+vCwYG5H8RIkXq39so/L5ujRowe5emVlZZg3VCUEaIEi6II6RidnuGyObt269erVKzk5OTs7mzjGFgP7fJT5IMkH9j/yI8UtmE9gYmWSZcJl8lEBLVAEXVr7BWOXzQHcQc+ePYlg7HCkIBbme/I+yIwUdzEz68PMuA9UQIu2HU1w3xxKh0HNodii5lBsUXMotqg5FFvUHIot7ptDHmX1lH04MXPq9il7l83BHegp+/AjUyrTyzzLhMvkX80pe5fNoafsPUibT9m7bA49Ze9B2nzK3mVzxOkpe68S+X+yJw+q0C/7eBJ0QR2jkzPcN8f+Vn5N8GQ7H5AXwjOKQxoaGkgbSST9vzsYgrM+zIu2gi7RZA7mKAwH5EOMEn4w6Jw5c+6++25uBoYOHbpgwYLQh2a5/5kzZ06fPt3/+EUbiDJzLA/LAfkQo5ga4QJnvPfee0lJSUuXLkVpWLJkyfDhw9He+vp7S2LUHOE5IG83Cn3y8oTvdPzKlSv37t0rQT6gZ8ppa4mHQmzePKtzfcW2MoQFAey5555bvXq1ee2DD4V3eZSgrfxm4sCBA3l5eTSXD2KZg565E+vTsT8yEIaTl1eEytFkjvAckLcbBXbt2vXaa68NGzbspZde4icdVldXt+wZb7HWpQkP6hMnTtywYYOTtmgsrQAnpaam+p/LFbDa+PHjZ8+ejf9mzZp1//33jx49+qmnnrr33nv5vLjBMkdhYSE1Fy9eLA0x2eTJk4uKiuTlFYkyc7AKv2z/A/J2o7DykIT5rayspNrWrVsnTJhgnZG0eiZQISollEuTadOmkd84aQu+W/gvhAQ5khlwcIZIQIcpKSlUwBwsA9YG5SwJzGd9Um4bV3ExdepUAtKpU6fS09O5luOWTogycwiozlS23wF5oeUoBBhCAoLl+iC8jx07lgp1dXUBPZOm8HL79u07duzAEIxeVlbmsK0F2r/11lszZszgzk2RD8z3/vvvYw58Rg98BNGb26Mf68wm5sDlOTk5dMIH4WPSZOHChdKJE6LJHDiAmOn/cMEsuH5APsQoixYt4ic7Aj8tEANtAnrevXs3PfMW43KBbMQeKjtpa4G0lFt/xsOCbYUPZW0rRBHJKshaMAc36W8OTDlp0iQecJYtWzZlyhT/45lXJJrMgWBhOCAfYhQCAFKRrkrwJ6NEJ5K++vr6gJ55i8zj7bffphW5i9R02NYfsh+cTe5pXvvgs1BIHo2Pr2gOdsOsrCyGZhKozFvSiROiyRzhOSAfYhTCOBP9/PPP0wSN8/PzeWqQM9AtBeZdtjNyTDYRXnIzzttakCvwFp3gTmyE3XHGY489RhPqOzEH5WSgjDVixAj85OvVKdFkDuBjh+GAfIhR2AWI5wkJCYMGDeLpICMjA/cEFZgIxHplvyd1kBLnbf0hw2BT4JGkb9++3E9iYiLJslR2aA7GJdsYN26cfATnRJk5hPAckLcbBaRzfprXraFtbeXoPXBhihzDAzPmI2619pd4njBHax2tOATfk1HxVE/CwXZmSh2DLhE2R5yesm83yFFwBo/iJLZtCDkYK8L/ZK+n7D0L2ZueslcCQQsUQRc9ZR+LMJ/AxMoky4TL5KMCWugp+5jGzKwPM+M+UEFP2Svuo+ZQbFFzKLaoORRb1ByKLWoOxRb3zSGPsnrKPpyYOdVT9kpLZEpleplnmXCZfFTQU/aKLXrKXrFFT9krVyDy/2RPHlShX/bxJOiCOkYnZ7hvjv2t/JqgxclwHYRvbm5moJqaGv+vIp/14X/hOg2ROFxvgS5RaQ5mLQzH7QFPZGRkDBky5JZbbrn11lsfffRRMiSksr7Ey6Affvih9S3fVhF63EgdrreIVnMsD8txexRKSUlJTk5es2ZNU1MTPsAoI0eOzM7OtpTgBuTMksPF7U+IcSN4uN4iWs0RnuP2BKexY8fiDPP6/Pm6ujoqo0FlZaVlDvndgOw4J4Kdo5ffHwSchQ/xn9RH9nC9RbSaw+4gvIvH7Vl/aWlpkyZNChr2LSX8t5Wg5+gx7qxgZ+Ht/pN67BXZw/UW0WoOlGvv4/Z4YuLEidSkvinyo6U5sGnQc/RijpZn4bkOOi4hQY5z0tAU+cB8jBKGw/UW0WoOAdURmJlqj+P2iE0dagZ9FGppjpKSkqDn6GWh07/IQ5CgW1nWduaI7OF6i6g0Bw4givpHe+bF9eP2Uo3gEbCtkEyQVbCFB5gD/3EDLc/Rs7Ogpew7NLcOLXIddFzZzhgXT5siH2wrfIQwHK63iEpzoFYYjtsDD0Gsfv/EUJYvi5LKAeZAABRteY6e4ezMYTduZA/XW0SlOcJz3B7YWRCPzYiHgvr6epYyjhwxYgTL0VLCMkdVVVXQc/TsSnbmsBuXXIHbi9TheouoNAcwEWE4bg/yyMpNyiH3pKQk8gm7X4KRBLQ8R2+nJdchxqXbSB2ut4hWcwh2B+ERjxmU8M7CZSHyUt6yw79JS5qbmwkMiGFXwR8ZMWga25LQ40bkcL2FJ8zRZmsrQcFt5DE8w7ftcL0FukTYHHF6yt5t5Bc8bT5cb4HD9JS9EhySNj1lrwSCFiiCLnrKPhZhPoGJlUmWCZfJRwW0QBE9ZR+7mJn1YWbch56yV9oFNYdii5pDsUXNodii5lBsUXMotqg5FFvUHIotag7FFjWHYouaQ7FFzaHYouZQbFFzKLa4b47u3bv37t171KhR6enpGRkZn/rIzMzMysr67LPP5s6dO2/evPnz53/++edfKG7ATDKfzCpzywwzz8y2TDvzjwpogSLoYhRyjMvm4A769++/bNmyX3/9tba2ti4Yvyntg5nf/0W+0I8id9xxR2v94bI5evXqlZaW1tjYePHixX+34P+U9sfMtR9ogSKpqamoY3RyhsvmuPPOO0tLS7mh/1e8BIqUlJQQ1I1OznDZHHFxceXl5X/++ae5KcUboEhZWVnk/5pgZWXlX3/9ZW5K8QYo8ssvv6CO0ckZ7pvj0KFD5o4UL8GijbA54uPj1RzeBF0ibw4enMztBEP+BuipU6fM66vD6g24aGpqMm+0CVJ9+jl79qx53bFAF9QxOjkj3OY4ePDghg0beCg3r68Oq7fDhw9zUVVVZd5oE/X19Xv27KmrqzOvOxZeNwc5865duzZu3MgC5eWlS5dOnjzJ6udCKgiXL1+mAm9xYYr+rkxsuHDhgiS8/r2Riq9fv/748eNcg/+zdNBR6IF+6I3Kf/zxByWMtXv37sLCwmPHjhFCpFpHwuvmQI8tW7Zs374dJRoaGhBjx44dP/30E+u1sbGRCmjGxd69e0tLS7dt28YFulIoa5pCoD6hAv2s3s6fP8/PvLw8OuTdrVu3cg9ITsOgo+AqeqD8Z9/fo92/f/+ZM2dqa2tXrVqVk5NT4fsTEr777VB43Rxow/pmlbOO0Z6NgOcrsmgu5G93nj59GiF5eeDAgX379hUUFJSXl6Pczp07N2/ezCZCVlVUVERbKlu9sfqLi4tXrlzJNb1xTQ8U2o0CeGLTpk1HjhzBMdTnnqurq+mByIFv/CNWh8Hr5iAnQCEEZnUiQ01NDYuY9c1LZD5x4gQSSmCnEIW4oA7mkAv0JhLgEjrBRtIb2QZyYiP0lh2HvYZynGE3Ch0ScuRa+vndB62oY+61w+F1cxDAEYA1ijYEfysJICQgFeWEDfkDbVKOooAnaMiiZ5UTQljfNKet9IaoEk4kG8VSJSUldE6roKPgJDISYgbXtMJJRCBGoYTerjKl9TKeNgfLF4EJ5siDMFwjCeVkD0hOCekkcrIRSIYoGwc5h0R+tgz0Y5fJzc0lXUBg6Y0wQAWay3MsAYNrSjBH0FEwE3WAC6rl5+fjyHPnztEz5iAyUblD4mlzIDY7AkoQGDAB15RIbsgKRm8UwhmUc8FyJ8IjJ+EERWmFG4gKWIS0kRzC6o0LQgVIokBeSX22J0lXW46C2/hJ1JEOSVQpx5eShTC03G3Hw9PmsDZ1pKIOwYBHDHRiH+GCdc8SJ4FYt24dL1nxVGYjIABwvXbtWlY5Dy+0whxUs3ojBnDBuxIhZO+oq6uzGwXbkeqSi9CthBx2FjrBlytWrKCJtQ11MDxtDlI/8kp5mLx48SJ7BIEBhVjEaCPSWuUIhgNY9JTTBFtQSE06B+pbvbHWueBZ1zfIfy149OhRCQB2o9AWD1EIYi82HUIOUYRB1RwW4TNHAOhEYCe9YImbIh9SDiKkQB1KAmo6IfQo/uWUcN0hf/0lRJM5lDCj5lBsUXMotkTeHIMHD+Y509yO4iXIwVHH6OQMl80xcOBAHhTN7Sheguf2AQMGGJ2c4bI5evfunZWVZW5H8Qw8i2VmZqKO0ckZLpuje/fucXFxpXo6wUugBYqgS4QPNQF3cOONN44bN27VqlW5ubl5eXmrV6/Oz89fs2ZNQUHB2rVrCwsLi4qKiouL1yluwEwyn8wqc8sMM8/MNnPOzDP/qIAWKNJaZ4D75lA6DGoOxRY1h2KLmkOxRc2h2NK1a1dbc/CeqaXEJGoOxRY1h2KLmkOxRc2h2KLmUGxRcyi22JqjU6dOXbp0MbWUmAQDYANjiABwzXXXXWcqKjEG0gcPGxYYp3Pnzv9wDD0qnsWI5ABEt40ZiqIoiqIo7cs11/wHK09OGRy6cioAAAAASUVORK5CYII="}}]); \ No newline at end of file diff --git a/assets/js/56708a24.2acdfd0a.js b/assets/js/56708a24.2acdfd0a.js new file mode 100644 index 00000000000..7d24eab8737 --- /dev/null +++ b/assets/js/56708a24.2acdfd0a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[614],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var o=a.createContext({}),p=function(e){var t=a.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},d=function(e){var t=p(e.components);return a.createElement(o.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),u=p(r),m=n,f=u["".concat(o,".").concat(m)]||u[m]||s[m]||i;return r?a.createElement(f,l(l({ref:t},d),{},{components:r})):a.createElement(f,l({ref:t},d))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,l=new Array(i);l[0]=u;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:n,l[1]=c;for(var p=2;p<i;p++)l[p]=r[p];return a.createElement.apply(null,l)}return a.createElement.apply(null,r)}u.displayName="MDXCreateElement"},19744:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>s,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var a=r(87462),n=(r(67294),r(3905));const i={id:"SyncPrefabSerialize",title:"SyncPrefabSerialize"},l="Class SyncPrefabSerialize",c={unversionedId:"reference/Mirage/SyncPrefabSerialize",id:"reference/Mirage/SyncPrefabSerialize",title:"SyncPrefabSerialize",description:"Inheritance",source:"@site/docs/reference/Mirage/SyncPrefabSerialize.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SyncPrefabSerialize",permalink:"/Mirage/docs/reference/Mirage/SyncPrefabSerialize",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SyncPrefabSerialize.md",tags:[],version:"current",frontMatter:{id:"SyncPrefabSerialize",title:"SyncPrefabSerialize"},sidebar:"api",previous:{title:"SyncPrefab",permalink:"/Mirage/docs/reference/Mirage/SyncPrefab"},next:{title:"SyncSettings",permalink:"/Mirage/docs/reference/Mirage/SyncSettings"}},o={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"WriteSyncPrefab(NetworkWriter, SyncPrefab)",id:"writesyncprefabnetworkwriter-syncprefab",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"ReadSyncPrefab(NetworkReader)",id:"readsyncprefabnetworkreader",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5}],d={toc:p};function s(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-syncprefabserialize"},"Class SyncPrefabSerialize"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class SyncPrefabSerialize\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"writesyncprefabnetworkwriter-syncprefab"},"WriteSyncPrefab(NetworkWriter, SyncPrefab)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteSyncPrefab(this NetworkWriter writer, SyncPrefab value)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SyncPrefab"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readsyncprefabnetworkreader"},"ReadSyncPrefab(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static SyncPrefab ReadSyncPrefab(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SyncPrefab"),(0,n.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/58175e84.95a546dc.js b/assets/js/58175e84.95a546dc.js new file mode 100644 index 00000000000..316a1782f25 --- /dev/null +++ b/assets/js/58175e84.95a546dc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7605],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var d=r.createContext({}),c=function(e){var t=r.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=c(e.components);return r.createElement(d.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=c(n),m=a,v=u["".concat(d,".").concat(m)]||u[m]||s[m]||i;return n?r.createElement(v,l(l({ref:t},p),{},{components:n})):r.createElement(v,l({ref:t},p))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,l=new Array(i);l[0]=u;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:a,l[1]=o;for(var c=2;c<i;c++)l[c]=n[c];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}u.displayName="MDXCreateElement"},92242:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>s,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const i={id:"IAddLateEventUnity",title:"IAddLateEventUnity"},l="Interface IAddLateEventUnity",o={unversionedId:"reference/Mirage.Events/IAddLateEventUnity",id:"reference/Mirage.Events/IAddLateEventUnity",title:"IAddLateEventUnity",description:"Event that can only run once, adding handler late will it invoke right away",source:"@site/docs/reference/Mirage.Events/IAddLateEventUnity.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/IAddLateEventUnity",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/IAddLateEventUnity.md",tags:[],version:"current",frontMatter:{id:"IAddLateEventUnity",title:"IAddLateEventUnity"},sidebar:"api",previous:{title:"IAddLateEventUnity<T0, T1>",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-2"},next:{title:"NetworkPlayerAddLateEvent",permalink:"/Mirage/docs/reference/Mirage.Events/NetworkPlayerAddLateEvent"}},d={},c=[{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"AddListener(UnityAction)",id:"addlistenerunityaction",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RemoveListener(UnityAction)",id:"removelistenerunityaction",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],p={toc:c};function s(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"interface-iaddlateeventunity"},"Interface IAddLateEventUnity"),(0,a.kt)("p",null,"Event that can only run once, adding handler late will it invoke right away"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IAddLateEventUnity : IAddLateEvent\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"addlistenerunityaction"},"AddListener(UnityAction)"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"void AddListener(UnityAction handler)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"UnityAction"),(0,a.kt)("td",{parentName:"tr",align:null},"handler"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h4",{id:"removelistenerunityaction"},"RemoveListener(UnityAction)"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"void RemoveListener(UnityAction handler)\n")),(0,a.kt)("h5",{id:"parameters-1"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"UnityAction"),(0,a.kt)("td",{parentName:"tr",align:null},"handler"),(0,a.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5ac746a2.f0d599b4.js b/assets/js/5ac746a2.f0d599b4.js new file mode 100644 index 00000000000..f15e4dcffa6 --- /dev/null +++ b/assets/js/5ac746a2.f0d599b4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[990],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),d=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},c=function(e){var t=d(e.components);return n.createElement(p.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,l=e.originalType,p=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),u=d(r),m=a,k=u["".concat(p,".").concat(m)]||u[m]||s[m]||l;return r?n.createElement(k,i(i({ref:t},c),{},{components:r})):n.createElement(k,i({ref:t},c))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=r.length,i=new Array(l);i[0]=u;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var d=2;d<l;d++)i[d]=r[d];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},21018:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var n=r(87462),a=(r(67294),r(3905));const l={id:"EndPointWrapper",title:"EndPointWrapper"},i="Class EndPointWrapper",o={unversionedId:"reference/Mirage.Sockets.Udp/EndPointWrapper",id:"reference/Mirage.Sockets.Udp/EndPointWrapper",title:"EndPointWrapper",description:"Inheritance",source:"@site/docs/reference/Mirage.Sockets.Udp/EndPointWrapper.md",sourceDirName:"reference/Mirage.Sockets.Udp",slug:"/reference/Mirage.Sockets.Udp/EndPointWrapper",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/EndPointWrapper",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Sockets.Udp/EndPointWrapper.md",tags:[],version:"current",frontMatter:{id:"EndPointWrapper",title:"EndPointWrapper"},sidebar:"api",previous:{title:"Mirage.Sockets.Udp",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/"},next:{title:"InitUDP",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/InitUDP"}},p={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"EndPointWrapper(EndPoint)",id:"endpointwrapperendpoint",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"inner",id:"inner",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Methods",id:"methods",level:3},{value:"Equals(Object)",id:"equalsobject",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"GetHashCode()",id:"gethashcode",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Returns",id:"returns-1",level:5},{value:"ToString()",id:"tostring",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Returns",id:"returns-2",level:5},{value:"IEndPoint.CreateCopy()",id:"iendpointcreatecopy",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Returns",id:"returns-3",level:5}],c={toc:d};function s(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-endpointwrapper"},"Class EndPointWrapper"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class EndPointWrapper : IEndPoint\n")),(0,a.kt)("h3",{id:"constructors"},"Constructors"),(0,a.kt)("h4",{id:"endpointwrapperendpoint"},"EndPointWrapper(EndPoint)"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public EndPointWrapper(EndPoint endPoint)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Net.EndPoint"),(0,a.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"inner"},"inner"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public EndPoint inner\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"equalsobject"},"Equals(Object)"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public override bool Equals(object obj)\n")),(0,a.kt)("h5",{id:"parameters-1"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Object"),(0,a.kt)("td",{parentName:"tr",align:null},"obj"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h5",{id:"returns"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h4",{id:"gethashcode"},"GetHashCode()"),(0,a.kt)("h5",{id:"declaration-3"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public override int GetHashCode()\n")),(0,a.kt)("h5",{id:"returns-1"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h4",{id:"tostring"},"ToString()"),(0,a.kt)("h5",{id:"declaration-4"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public override string ToString()\n")),(0,a.kt)("h5",{id:"returns-2"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.String"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h4",{id:"iendpointcreatecopy"},"IEndPoint.CreateCopy()"),(0,a.kt)("h5",{id:"declaration-5"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"IEndPoint IEndPoint.CreateCopy()\n")),(0,a.kt)("h5",{id:"returns-3"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,a.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5ad9c4e4.2e2cdc95.js b/assets/js/5ad9c4e4.2e2cdc95.js new file mode 100644 index 00000000000..98f1b9d52e1 --- /dev/null +++ b/assets/js/5ad9c4e4.2e2cdc95.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9805],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>p});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},g={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=s(r),p=i,b=d["".concat(l,".").concat(p)]||d[p]||g[p]||a;return r?n.createElement(b,o(o({ref:t},u),{},{components:r})):n.createElement(b,o({ref:t},u))}));function p(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,o=new Array(a);o[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:i,o[1]=c;for(var s=2;s<a;s++)o[s]=r[s];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},48973:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>g,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var n=r(87462),i=(r(67294),r(3905));const a={id:"ZigZagEncodeAttribute",title:"ZigZagEncodeAttribute"},o="Class ZigZagEncodeAttribute",c={unversionedId:"reference/Mirage.Serialization/ZigZagEncodeAttribute",id:"reference/Mirage.Serialization/ZigZagEncodeAttribute",title:"ZigZagEncodeAttribute",description:"Used along size to encodes a integer value using so that both positive and negative values can be sent",source:"@site/docs/reference/Mirage.Serialization/ZigZagEncodeAttribute.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/ZigZagEncodeAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/ZigZagEncodeAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/ZigZagEncodeAttribute.md",tags:[],version:"current",frontMatter:{id:"ZigZagEncodeAttribute",title:"ZigZagEncodeAttribute"},sidebar:"api",previous:{title:"ZigZag",permalink:"/Mirage/docs/reference/Mirage.Serialization/ZigZag"},next:{title:"Mirage.SocketLayer",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/"}},l={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"ZigZagEncodeAttribute()",id:"zigzagencodeattribute",level:4},{value:"Declaration",id:"declaration",level:5}],u={toc:s};function g(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-zigzagencodeattribute"},"Class ZigZagEncodeAttribute"),(0,i.kt)("p",null,"Used along size to encodes a integer value using so that both positive and negative values can be sent\nAlso See: Bit Packing Documentation"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,i.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter)]\npublic class ZigZagEncodeAttribute : Attribute, _Attribute\n")),(0,i.kt)("h3",{id:"constructors"},"Constructors"),(0,i.kt)("h4",{id:"zigzagencodeattribute"},"ZigZagEncodeAttribute()"),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public ZigZagEncodeAttribute()\n")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5b79b0ab.a988a924.js b/assets/js/5b79b0ab.a988a924.js new file mode 100644 index 00000000000..709c0d376f1 --- /dev/null +++ b/assets/js/5b79b0ab.a988a924.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9246],{86601:e=>{e.exports=JSON.parse('{"title":"Guides","slug":"/category/guides","permalink":"/Mirage/docs/category/guides","navigation":{"previous":{"title":"Change Log","permalink":"/Mirage/docs/general/CHANGELOG"},"next":{"title":"Networking Concepts Overview","permalink":"/Mirage/docs/guides/overview"}}}')}}]); \ No newline at end of file diff --git a/assets/js/5cfd5e85.621f8091.js b/assets/js/5cfd5e85.621f8091.js new file mode 100644 index 00000000000..40302573379 --- /dev/null +++ b/assets/js/5cfd5e85.621f8091.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[853],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>h});var i=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,i,a=function(e,t){if(null==e)return{};var n,i,a={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=i.createContext({}),l=function(e){var t=i.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},u=function(e){var t=l(e.components);return i.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},d=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=l(n),h=a,m=d["".concat(c,".").concat(h)]||d[h]||p[h]||r;return n?i.createElement(m,o(o({ref:t},u),{},{components:n})):i.createElement(m,o({ref:t},u))}));function h(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,o=new Array(r);o[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var l=2;l<r;l++)o[l]=n[l];return i.createElement.apply(null,o)}return i.createElement.apply(null,n)}d.displayName="MDXCreateElement"},56083:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>s,toc:()=>l});var i=n(87462),a=(n(67294),n(3905));const r={sidebar_position:2},o="Authenticator Settings",s={unversionedId:"guides/authentication/authenticator-settings",id:"guides/authentication/authenticator-settings",title:"Authenticator Settings",description:"Add AuthenticatorSettings to your NetworkManager and assign a reference to NetworkServer and NetworkClient.",source:"@site/docs/guides/authentication/authenticator-settings.md",sourceDirName:"guides/authentication",slug:"/guides/authentication/authenticator-settings",permalink:"/Mirage/docs/guides/authentication/authenticator-settings",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/authentication/authenticator-settings.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"docs",previous:{title:"Authentication",permalink:"/Mirage/docs/guides/authentication/"},next:{title:"Custom Authenticator",permalink:"/Mirage/docs/guides/authentication/custom-authenticator"}},c={},l=[{value:"Server Side",id:"server-side",level:3},{value:"Client Side",id:"client-side",level:3}],u={toc:l};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,i.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"authenticator-settings"},"Authenticator Settings"),(0,a.kt)("p",null,"Add ",(0,a.kt)("inlineCode",{parentName:"p"},"AuthenticatorSettings")," to your ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkManager")," and assign a reference to ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkServer")," and ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkClient"),"."),(0,a.kt)("p",null,"AuthenticatorSettings allows you to configure the timeout duration and specify which authenticators are available."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Inspector Settings",src:n(24889).Z,width:"626",height:"337"})),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Inspector Assign Reference",src:n(2431).Z,width:"629",height:"706"})),(0,a.kt)("h3",{id:"server-side"},"Server Side"),(0,a.kt)("p",null,"The list of authenticators on the server represents the options available for client authentication. Clients can choose any of these authenticators to become authenticated."),(0,a.kt)("p",null,"To determine which authenticator the player used, you can check the ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkPlayer.Authentication.Authenticator")," property."),(0,a.kt)("h3",{id:"client-side"},"Client Side"),(0,a.kt)("p",null,"On the client side, you need to use the ",(0,a.kt)("inlineCode",{parentName:"p"},"SendAuthentication")," method provided by the authenticator to send a message to the server. This is necessary because most authenticators require additional information, such as player login details."),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"SendAuthentication")," method ensures that the authentication message is properly wrapped and sent to the server. It should be used instead of directly calling ",(0,a.kt)("inlineCode",{parentName:"p"},"player.Send"),", as the authenticator message is wrapped in an internal ",(0,a.kt)("inlineCode",{parentName:"p"},"AuthMessage")," message."),(0,a.kt)("p",null,"However, it's important to note that authenticators typically should not call the ",(0,a.kt)("inlineCode",{parentName:"p"},"SendAuthentication")," method automatically themselves. Instead, you can create an additional component, such as the ",(0,a.kt)("inlineCode",{parentName:"p"},"CreateSession")," component for the ",(0,a.kt)("inlineCode",{parentName:"p"},"SessionIdAuthenticator")," class, to handle the automatic invocation of ",(0,a.kt)("inlineCode",{parentName:"p"},"SendAuthentication"),"."),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"CreateSession")," component can be responsible for initiating the authentication process and automatically calling the ",(0,a.kt)("inlineCode",{parentName:"p"},"SendAuthentication")," method when needed. This allows the authenticator to automatically use the session token provided by the server for seamless reconnection. Keep in mind that it is recommended to use only one authenticator with this automatic behavior, as the server processes only one authentication per player."),(0,a.kt)("p",null,"By separating the responsibility of calling ",(0,a.kt)("inlineCode",{parentName:"p"},"SendAuthentication")," to an extra component, you can have more flexibility and control over the authentication flow, while ensuring that authenticators focus on their core functionality."))}p.isMDXComponent=!0},24889:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/AuthenticatorSettings-e73c26b75b0115fa3ac30c4b17c035a4.png"},2431:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/SettingsReference-6e44e6e86bb3ed45f5cfcf5db3754778.png"}}]); \ No newline at end of file diff --git a/assets/js/5d2441e2.c71c0154.js b/assets/js/5d2441e2.c71c0154.js new file mode 100644 index 00000000000..25538c75847 --- /dev/null +++ b/assets/js/5d2441e2.c71c0154.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1568],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>u});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=a.createContext({}),c=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},p=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),m=c(n),u=r,y=m["".concat(l,".").concat(u)]||m[u]||d[u]||i;return n?a.createElement(y,o(o({ref:t},p),{},{components:n})):a.createElement(y,o({ref:t},p))}));function u(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:r,o[1]=s;for(var c=2;c<i;c++)o[c]=n[c];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},85364:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var a=n(87462),r=(n(67294),n(3905));const i={sidebar_position:2},o="Data Types",s={unversionedId:"guides/serialization/data-types",id:"guides/serialization/data-types",title:"Data Types",description:"The client and server can pass data to each other via RPC Methods, State Synchronization, or Network Messages.",source:"@site/docs/guides/serialization/data-types.md",sourceDirName:"guides/serialization",slug:"/guides/serialization/data-types",permalink:"/Mirage/docs/guides/serialization/data-types",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/serialization/data-types.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"docs",previous:{title:"Serialization",permalink:"/Mirage/docs/guides/serialization/"},next:{title:"Advanced Serialization",permalink:"/Mirage/docs/guides/serialization/advanced"}},l={},c=[{value:"Game Objects",id:"game-objects",level:2},{value:"Custom Data Types",id:"custom-data-types",level:2},{value:"Inheritance and Polymorphism",id:"inheritance-and-polymorphism",level:2},{value:"Scriptable Objects",id:"scriptable-objects",level:2}],p={toc:c};function d(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"data-types"},"Data Types"),(0,r.kt)("p",null,"The client and server can pass data to each other via ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/"},"RPC Methods"),", ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/sync/"},"State Synchronization"),", or ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/network-messages"},"Network Messages"),"."),(0,r.kt)("p",null,"Mirage supports a number of data types you can use with these, including:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Basic c# types (byte, int, char, uint, UInt64, float, string, etc)"),(0,r.kt)("li",{parentName:"ul"},"Built-in Unity math type (Vector3, Quaternion, Rect, Plane, Vector3Int, etc)"),(0,r.kt)("li",{parentName:"ul"},"NetworkIdentity"),(0,r.kt)("li",{parentName:"ul"},"Game Object with a NetworkIdentity component attached ",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"See important details in ",(0,r.kt)("a",{parentName:"li",href:"#game-objects"},"Game Objects")," section below."))),(0,r.kt)("li",{parentName:"ul"},"Structures with any of the above ",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"It's recommended to implement ",(0,r.kt)("a",{parentName:"li",href:"https://docs.microsoft.com/en-us/dotnet/api/system.iequatable-1"},(0,r.kt)("inlineCode",{parentName:"a"},"IEquatable<T>"))," to avoid boxing and to have the struct ",(0,r.kt)("inlineCode",{parentName:"li"},"readonly")," because modifying one of the fields doesn't cause a resync."))),(0,r.kt)("li",{parentName:"ul"},"Classes as long as each field has a supported data type ",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"These will allocate garbage and will be instantiated new on the receiver every time they're sent."))),(0,r.kt)("li",{parentName:"ul"},"ScriptableObject as long as each field has a supported data type ",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"These will allocate garbage and will be instantiated new on the receiver every time they're sent."))),(0,r.kt)("li",{parentName:"ul"},"Arrays of any of the above ",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"Not supported with SyncVars or SyncLists."))),(0,r.kt)("li",{parentName:"ul"},"ArraySegments of any of the above ",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"Not supported with SyncVars or SyncLists.")))),(0,r.kt)("h2",{id:"game-objects"},"Game Objects"),(0,r.kt)("p",null,"Game Objects in SyncVars, SyncLists, and SyncDictionaries are fragile in some cases and should be used with caution."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"As long as the game object ",(0,r.kt)("em",{parentName:"li"},"already exists")," on both the server and the client, the reference should be fine.")),(0,r.kt)("p",null,"When the sync data arrives at the client, the referenced game object may not yet exist on that client, resulting in null values in the sync data. This is because internally Mirage passes the ",(0,r.kt)("inlineCode",{parentName:"p"},"NetId")," from the ",(0,r.kt)("inlineCode",{parentName:"p"},"NetworkIdentity")," and tries to look it up on the client's ",(0,r.kt)("inlineCode",{parentName:"p"},"NetworkIdentity.World.Spawned")," dictionary."),(0,r.kt)("p",null,"If the object hasn't been spawned on the client yet, no match will be found. It could be in the same payload, especially for joining clients, but after the sync data from another object.",(0,r.kt)("br",{parentName:"p"}),"\n","It could also be null because the game object is excluded from a client due to network visibility, e.g. ",(0,r.kt)("inlineCode",{parentName:"p"},"NetworkProximityChecker"),". "),(0,r.kt)("p",null,"You may find that it's more robust to sync the ",(0,r.kt)("inlineCode",{parentName:"p"},"NetworkIdentity.NetID")," (",(0,r.kt)("inlineCode",{parentName:"p"},"uint"),") instead, and do your own lookup in\n",(0,r.kt)("inlineCode",{parentName:"p"},"NetworkIdentity.World.Spawned")," to get the object, perhaps in a coroutine:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"}," public GameObject target;\n\n [SyncVar(hook = nameof(OnTargetChanged))]\n public uint targetID;\n\n void OnTargetChanged(uint _, uint newValue)\n {\n if (NetworkIdentity.World.Spawned.TryGetValue(targetID, out NetworkIdentity identity))\n target = identity.gameObject;\n else\n StartCoroutine(SetTarget());\n }\n\n IEnumerator SetTarget()\n {\n while (target == null)\n {\n yield return null;\n if (NetworkIdentity.World.SpawnedObjects.TryGetValue(targetID, out NetworkIdentity identity))\n target = identity.gameObject;\n }\n }\n")),(0,r.kt)("h2",{id:"custom-data-types"},"Custom Data Types"),(0,r.kt)("p",null,"Sometimes you don't want Mirage to generate serialization for your own types. For example, instead of serializing quest data, you may want to serialize just the quest id, and the receiver can look up the quest by id in a predefined list."),(0,r.kt)("p",null,"Sometimes you may want to serialize data that uses a different type not supported by Mirage, such as ",(0,r.kt)("inlineCode",{parentName:"p"},"DateTime")," or ",(0,r.kt)("inlineCode",{parentName:"p"},"System.Uri"),"."),(0,r.kt)("p",null,"You can add support for any type by adding extension methods to ",(0,r.kt)("inlineCode",{parentName:"p"},"NetworkWriter")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"NetworkReader"),". For example, to add support for ",(0,r.kt)("inlineCode",{parentName:"p"},"DateTime"),", add this somewhere in your project:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static class DateTimeReaderWriter\n{\n public static void WriteDateTime(this NetworkWriter writer, DateTime dateTime)\n {\n writer.WriteInt64(dateTime.Ticks);\n }\n \n public static DateTime ReadDateTime(this NetworkReader reader)\n {\n return new DateTime(reader.ReadInt64());\n }\n}\n")),(0,r.kt)("p",null,"...then you can use ",(0,r.kt)("inlineCode",{parentName:"p"},"DateTime")," in your ",(0,r.kt)("inlineCode",{parentName:"p"},"[ServerRpc]")," or ",(0,r.kt)("inlineCode",{parentName:"p"},"SyncList")),(0,r.kt)("h2",{id:"inheritance-and-polymorphism"},"Inheritance and Polymorphism"),(0,r.kt)("p",null,"Sometimes you might want to send a polymorphic data type to your commands. Mirage does not serialize the type name to keep messages small and for security reasons, therefore Mirage cannot figure out the type of object it received by looking at the message."),(0,r.kt)("admonition",{type:"caution"},(0,r.kt)("p",{parentName:"admonition"},"This code does not work out of the box.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"class Item \n{\n public string name;\n}\n\nclass Weapon : Item\n{\n public int hitPoints;\n}\n\nclass Armor : Item\n{\n public int hitPoints;\n public int level;\n}\n\nclass Player : NetworkBehaviour\n{\n [ServerRpc]\n void ServerRpcEquip(Item item)\n {\n // IMPORTANT: this does not work. Mirage will pass you an object of type item\n // even if you pass a weapon or an armor.\n if (item is Weapon weapon)\n {\n // The item is a weapon, \n // maybe you need to equip it in the hand\n }\n else if (item is Armor armor)\n {\n // you might want to equip armor in the body\n }\n }\n\n [ServerRpc]\n void ServerEquipArmor(Armor armor)\n {\n // IMPORTANT: this does not work either, you will receive an armor, but \n // the armor will not have a valid Item.name, even if you passed an armor with name\n }\n}\n")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"ServerRpcEquip")," will work if you provide a custom serializer for the ",(0,r.kt)("inlineCode",{parentName:"p"},"Item")," type. For example:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'\npublic static class ItemSerializer \n{\n const byte WEAPON = 1;\n const byte ARMOR = 2;\n\n public static void WriteItem(this NetworkWriter writer, Item item)\n {\n if (item is Weapon weapon)\n {\n writer.WriteByte(WEAPON);\n writer.WriteString(weapon.name);\n writer.WritePackedInt32(weapon.hitPoints);\n }\n else if (item is Armor armor)\n {\n writer.WriteByte(ARMOR);\n writer.WriteString(armor.name);\n writer.WritePackedInt32(armor.hitPoints);\n writer.WritePackedInt32(armor.level);\n }\n }\n\n public static Item ReadItem(this NetworkReader reader)\n {\n byte type = reader.ReadByte();\n switch(type)\n {\n case WEAPON:\n return new Weapon\n {\n name = reader.ReadString(),\n hitPoints = reader.ReadPackedInt32()\n };\n case ARMOR:\n return new Armor\n {\n name = reader.ReadString(),\n hitPoints = reader.ReadPackedInt32(),\n level = reader.ReadPackedInt32()\n };\n default:\n throw new Exception($"Invalid weapon type {type}");\n }\n }\n}\n')),(0,r.kt)("h2",{id:"scriptable-objects"},"Scriptable Objects"),(0,r.kt)("p",null,"People often want to send scriptable objects from the client or server. For example, you may have a bunch of swords created as scriptable objects and you want to put the equipped sword in a ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/sync/sync-var"},"SyncVar"),". This will work fine, Mirage will generate a reader and writer for scriptable objects by calling ",(0,r.kt)("inlineCode",{parentName:"p"},"ScriptableObject.CreateInstance")," and copy all the data. "),(0,r.kt)("p",null,"However, the generated reader and writer are not suitable for every occasion. Scriptable objects often reference other assets such as textures, prefabs, or other types that can't be serialized. Scriptable objects are often saved in the Resources folder or they can sometimes have a large amount of data in them. The generated reader and writers may not work or may be inefficient for these situations."),(0,r.kt)("p",null,"Instead of passing the scriptable object data, you can pass the name and the other side can look up the same object by name. This way you can have any kind of data in your scriptable object. You can do that by providing a custom reader and writer.",(0,r.kt)("br",{parentName:"p"}),"\n","Here is an example:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'[CreateAssetMenu(fileName = "New Armor", menuName = "Armor Data")]\nclass Armor : ScriptableObject\n{\n public int Hitpoints;\n public int Weight;\n public string Description;\n public Texture2D Icon;\n // ...\n}\n\npublic static class ArmorSerializer \n{\n public static void WriteArmor(this NetworkWriter writer, Armor armor)\n {\n // No need to serialize the data, just the name of the armor.\n writer.WriteString(armor.name);\n }\n\n public static Armor ReadArmor(this NetworkReader reader)\n {\n // Load the same armor by name. The data will come from the asset in Resources folder.\n return Resources.Load<Armor>(reader.ReadString());\n }\n}\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5d3b1bc5.9e2f2a8e.js b/assets/js/5d3b1bc5.9e2f2a8e.js new file mode 100644 index 00000000000..8d356c070f8 --- /dev/null +++ b/assets/js/5d3b1bc5.9e2f2a8e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8088],{3905:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>u});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),l=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},m=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),h=l(n),u=o,d=h["".concat(c,".").concat(u)]||h[u]||p[u]||a;return n?r.createElement(d,i(i({ref:t},m),{},{components:n})):r.createElement(d,i({ref:t},m))}));function u(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=h;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,i[1]=s;for(var l=2;l<a;l++)i[l]=n[l];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}h.displayName="MDXCreateElement"},8548:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>l});var r=n(87462),o=(n(67294),n(3905));const a={},i="Network Animator",s={unversionedId:"components/network-animator",id:"components/network-animator",title:"Network Animator",description:"The Network Animator component allows you to synchronize animation states for networked objects. It synchronizes state and parameters from an Animator Controller.",source:"@site/docs/components/network-animator.md",sourceDirName:"components",slug:"/components/network-animator",permalink:"/Mirage/docs/components/network-animator",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/network-animator.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Overview",permalink:"/Mirage/docs/components/"},next:{title:"Network Discovery",permalink:"/Mirage/docs/components/network-discovery"}},c={},l=[{value:"Details",id:"details",level:2}],m={toc:l};function p(e){let{components:t,...a}=e;return(0,o.kt)("wrapper",(0,r.Z)({},m,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"network-animator"},"Network Animator"),(0,o.kt)("p",null,"The Network Animator component allows you to synchronize animation states for networked objects. It synchronizes state and parameters from an Animator Controller."),(0,o.kt)("p",null,"Note that if you create a Network Animator component on an empty game object, Mirage also creates a Network Identity component and an Animator component on that game object."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"The Network Animator component in the Inspector window",src:n(35909).Z,width:"484",height:"502"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("strong",{parentName:"p"},"Client Authority"),(0,o.kt)("br",{parentName:"p"}),"\n","Enable this to have changes to animation parameters sent from client to server.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("strong",{parentName:"p"},"Animator"),(0,o.kt)("br",{parentName:"p"}),"\n","Use this field to define the Animator component you want the Network Animator to synchronize with."))),(0,o.kt)("p",null,"Normally, changes are sent to all observers of the object this component is on. Setting ",(0,o.kt)("strong",{parentName:"p"},"Sync Mode")," to Owner Only makes the changes private between the server and the client owner of the object."),(0,o.kt)("p",null,"You can use the ",(0,o.kt)("strong",{parentName:"p"},"Sync Interval")," to specify how often it syncs (in seconds)."),(0,o.kt)("h2",{id:"details"},"Details"),(0,o.kt)("p",null,"The Network Animator ensures the synchronization of game object animation across the network, meaning that all players see the animation happen at the same. There are two kinds of authority for networked animation (see documentation on ",(0,o.kt)("a",{parentName:"p",href:"/docs/guides/authority"},"Network Authority"),"):"),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"Animator Triggers are not synced directly. Call ",(0,o.kt)("inlineCode",{parentName:"p"},"NetworkAnimator.SetTrigger")," instead. A game object with authority can use the SetTrigger function to fire an animation trigger on other clients.")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"If the game object has authority over the client, you should animate it locally on the client that owns the game object. That client sends the animation state information to the server, which broadcasts it to all the other clients. For example, this may be suitable for player characters with client authority."),(0,o.kt)("li",{parentName:"ul"},"If the game object has authority on the server, then you should animate it on the server. The server then sends state information to all clients. This is common for animated game objects that are not related to a specific client, such as scene objects and non-player characters, or server-authoritative clients.")))}p.isMDXComponent=!0},35909:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/NetworkAnimatorComponent-3e1f0ea5f561ebd637ea88fe7b1d3cd3.png"}}]); \ No newline at end of file diff --git a/assets/js/5d411712.5d2587af.js b/assets/js/5d411712.5d2587af.js new file mode 100644 index 00000000000..173d0caa4dd --- /dev/null +++ b/assets/js/5d411712.5d2587af.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4953],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>d});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},o=Object.keys(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var s=r.createContext({}),c=function(e){var t=r.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},u=function(e){var t=c(e.components);return r.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),m=c(a),d=n,h=m["".concat(s,".").concat(d)]||m[d]||p[d]||o;return a?r.createElement(h,i(i({ref:t},u),{},{components:a})):r.createElement(h,i({ref:t},u))}));function d(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,i=new Array(o);i[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:n,i[1]=l;for(var c=2;c<o;c++)i[c]=a[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},216:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=a(87462),n=(a(67294),a(3905));const o={},i="Callbacks Overview",l={unversionedId:"guides/callbacks/index",id:"guides/callbacks/index",title:"Callbacks Overview",description:"When you are making a multiplayer game, In addition to synchronizing the properties of networked game objects, you are likely to need to send, receive, and react to other pieces of information - such as when the match starts, when a player joins, or leaves the match, or other information specific to your type of game, for example, a notification to all players that a flag has been captured in a \u201ccapture-the-flag\u201d style game.",source:"@site/docs/guides/callbacks/index.md",sourceDirName:"guides/callbacks",slug:"/guides/callbacks/",permalink:"/Mirage/docs/guides/callbacks/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/callbacks/index.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"RPC Examples",permalink:"/Mirage/docs/guides/remote-actions/rpc-examples"},next:{title:"Network Behaviour",permalink:"/Mirage/docs/guides/callbacks/network-behaviour"}},s={},c=[{value:"Remote Actions",id:"remote-actions",level:2},{value:"Networking Callbacks",id:"networking-callbacks",level:2},{value:"Network Messages",id:"network-messages",level:2}],u={toc:c};function p(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"callbacks-overview"},"Callbacks Overview"),(0,n.kt)("p",null,"When you are making a multiplayer game, In addition to synchronizing the properties of networked game objects, you are likely to need to send, receive, and react to other pieces of information - such as when the match starts, when a player joins, or leaves the match, or other information specific to your type of game, for example, a notification to all players that a flag has been captured in a \u201ccapture-the-flag\u201d style game."),(0,n.kt)("p",null,"Within the Mirage networking High-Level API, there are three main ways to communicate this type of information."),(0,n.kt)("h2",{id:"remote-actions"},"Remote Actions"),(0,n.kt)("p",null,"Remote actions allow you to call a method in your script across the network. You can make the server call methods on all clients or individual clients specifically. You can also make clients call methods on the server. Using remote actions, you can pass data as parameters to your methods in a very similar way to how you call methods in local (non-multiplayer) projects."),(0,n.kt)("h2",{id:"networking-callbacks"},"Networking Callbacks"),(0,n.kt)("p",null,"Networking callbacks allow you to hook into built-in Mirage events which occur during the course of the game, such as when players join or leave, when game objects are created or destroyed, or when a new Scene is loaded. There are two types of networking callbacks that you can implement:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Network manager callbacks, for callbacks relating to the network manager itself (such as when clients connect or disconnect)"),(0,n.kt)("li",{parentName:"ul"},"Network behaviour callbacks, for callbacks relating to individual networked game objects (such as when its Start function is called, or what this particular game object should do if a new player joins the game)")),(0,n.kt)("h2",{id:"network-messages"},"Network Messages"),(0,n.kt)("p",null,'Network messages are a \u201clower level\u201d approach to sending messages (although they are still classed as part of the networking "High-level API"). They allow you to send data directly between clients and the server using scripting. You can send basic types of data (int, string, etc) as well as most common Unity types (such as Vector3). Since you implement this yourself, these messages are not associated directly with any particular game objects or Unity events - it is up to you to decide their purpose and implement them!'))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5d5c952f.30076730.js b/assets/js/5d5c952f.30076730.js new file mode 100644 index 00000000000..927bdf68798 --- /dev/null +++ b/assets/js/5d5c952f.30076730.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2025],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>u});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),y=l(r),u=o,d=y["".concat(s,".").concat(u)]||y[u]||m[u]||a;return r?n.createElement(d,c(c({ref:t},p),{},{components:r})):n.createElement(d,c({ref:t},p))}));function u(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=y;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:o,c[1]=i;for(var l=2;l<a;l++)c[l]=r[l];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}y.displayName="MDXCreateElement"},15004:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(87462),o=(r(67294),r(3905));const a={id:"Mirage.Components",title:"Mirage.Components"},c="Mirage.Components",i={unversionedId:"reference/Mirage.Components/Mirage.Components",id:"reference/Mirage.Components/Mirage.Components",title:"Mirage.Components",description:"Classes",source:"@site/docs/reference/Mirage.Components/index.md",sourceDirName:"reference/Mirage.Components",slug:"/reference/Mirage.Components/",permalink:"/Mirage/docs/reference/Mirage.Components/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Components/index.md",tags:[],version:"current",frontMatter:{id:"Mirage.Components",title:"Mirage.Components"},sidebar:"api",previous:{title:"SyncStack<T>",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncStack-1"},next:{title:"LobbyReady",permalink:"/Mirage/docs/reference/Mirage.Components/LobbyReady"}},s={},l=[{value:"Classes",id:"classes",level:2},{value:"LobbyReady",id:"lobbyready",level:4},{value:"ReadyCheck",id:"readycheck",level:4},{value:"SyncObjectActive",id:"syncobjectactive",level:4}],p={toc:l};function m(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"miragecomponents"},"Mirage.Components"),(0,o.kt)("h2",{id:"classes"},"Classes"),(0,o.kt)("h4",{id:"lobbyready"},(0,o.kt)("a",{parentName:"h4",href:"./LobbyReady"},"LobbyReady")),(0,o.kt)("h4",{id:"readycheck"},(0,o.kt)("a",{parentName:"h4",href:"./ReadyCheck"},"ReadyCheck")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Simple component to track if a player is ready in a lobby")),(0,o.kt)("p",null,"To best use this component Set Sync Direction from owner to server"),(0,o.kt)("h4",{id:"syncobjectactive"},(0,o.kt)("a",{parentName:"h4",href:"./SyncObjectActive"},"SyncObjectActive")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5df522bb.6c1fcfaf.js b/assets/js/5df522bb.6c1fcfaf.js new file mode 100644 index 00000000000..2bfcb457cb7 --- /dev/null +++ b/assets/js/5df522bb.6c1fcfaf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[907],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>g});var a=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,i=function(e,t){if(null==e)return{};var n,a,i={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=a.createContext({}),u=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},s=function(e){var t=u(e.components);return a.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),d=u(n),g=i,m=d["".concat(c,".").concat(g)]||d[g]||p[g]||r;return n?a.createElement(m,o(o({ref:t},s),{},{components:n})):a.createElement(m,o({ref:t},s))}));function g(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,o=new Array(r);o[0]=d;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:i,o[1]=l;for(var u=2;u<r;u++)o[u]=n[u];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}d.displayName="MDXCreateElement"},79660:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>u});var a=n(87462),i=(n(67294),n(3905));const r={},o="ZigZag Encode",l={unversionedId:"guides/bit-packing/zig-zag-encode",id:"guides/bit-packing/zig-zag-encode",title:"ZigZag Encode",description:"To encode a value using ZigZag Encoding you can use the ZigZagEncodeAttribute",source:"@site/docs/guides/bit-packing/zig-zag-encode.md",sourceDirName:"guides/bit-packing",slug:"/guides/bit-packing/zig-zag-encode",permalink:"/Mirage/docs/guides/bit-packing/zig-zag-encode",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/bit-packing/zig-zag-encode.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Vector Pack",permalink:"/Mirage/docs/guides/bit-packing/vector-pack"},next:{title:"Authentication",permalink:"/Mirage/docs/guides/authentication/"}},c={},u=[{value:"Use cases",id:"use-cases",level:3},{value:"Supported Types",id:"supported-types",level:3},{value:"Example 1",id:"example-1",level:3},{value:"Generated Code",id:"generated-code",level:3}],s={toc:u};function p(e){let{components:t,...n}=e;return(0,i.kt)("wrapper",(0,a.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"zigzag-encode"},"ZigZag Encode"),(0,i.kt)("p",null,"To encode a value using ",(0,i.kt)("a",{parentName:"p",href:"https://gist.github.com/mfuerstenau/ba870a29e16536fdbaba"},"ZigZag Encoding")," you can use the ",(0,i.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Serialization/ZigZagEncodeAttribute"},"ZigZagEncodeAttribute")),(0,i.kt)("p",null,"This will cause negative values to be encoded as positive so that the sign bit is not lost when packing."),(0,i.kt)("p",null,"This works best with ",(0,i.kt)("a",{parentName:"p",href:"/docs/guides/bit-packing/var-int-blocks"},"VarIntBlocks")," but also works with ",(0,i.kt)("a",{parentName:"p",href:"/docs/guides/bit-packing/bit-count"},"BitCount"),"."),(0,i.kt)("p",null,"This attribute can not be used on the same field as ",(0,i.kt)("a",{parentName:"p",href:"/docs/guides/bit-packing/bit-count-from-range"},"BitCountFromRange"),", this is because ",(0,i.kt)("inlineCode",{parentName:"p"},"BitCountFromRange")," already ensures negative values are packed correctly."),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"The sign of a value will take up 1 bit, so if the value is in the range -+100 it will need a bit count of 8")),(0,i.kt)("h3",{id:"use-cases"},"Use cases"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"A value that can be negative or positive")),(0,i.kt)("h3",{id:"supported-types"},"Supported Types"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Byte"),(0,i.kt)("li",{parentName:"ul"},"Short"),(0,i.kt)("li",{parentName:"ul"},"Int"),(0,i.kt)("li",{parentName:"ul"},"Long"),(0,i.kt)("li",{parentName:"ul"},"Enum")),(0,i.kt)("h3",{id:"example-1"},"Example 1"),(0,i.kt)("p",null,"A modifier that can be added to a character value to increase or decrease it"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public class MyNetworkBehaviour : NetworkBehaviour \n{\n [SyncVar, BitCount(8), ZigZagEncode]\n public int modifier;\n}\n")),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"Range = 200")," so bit count is 8, causing the real range to be -128 to 127"),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"modifier = 57")," will serialize to ",(0,i.kt)("inlineCode",{parentName:"p"},"0111_0010")),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"modifier = -57")," will serialize to ",(0,i.kt)("inlineCode",{parentName:"p"},"0111_0001")),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"modifier = -110")," will serialize to ",(0,i.kt)("inlineCode",{parentName:"p"},"1101_1011"),", even tho -110 is out of range there is enough range because bit count rounds up."),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"modifier = 130")," ",(0,i.kt)("em",{parentName:"p"},"(out of range)")," will serialize to ",(0,i.kt)("inlineCode",{parentName:"p"},"0000_0100")),(0,i.kt)("h3",{id:"generated-code"},"Generated Code"),(0,i.kt)("p",null,"Source:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"[SyncVar, BitCount(8), ZigZagEncode]\npublic int myValue;\n")),(0,i.kt)("p",null,"Generated:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public override bool SerializeSyncVars(NetworkWriter writer, bool initialState)\n{\n ulong syncVarDirtyBits = base.SyncVarDirtyBits;\n bool result = base.SerializeSyncVars(writer, initialize);\n\n if (initialState) \n {\n writer.Write((ulong)ZigZag.Encode(this.myValue), 8);\n return true;\n }\n\n writer.Write(syncVarDirtyBits, 1);\n if ((syncVarDirtyBits & 1UL) != 0UL)\n {\n writer.Write((ulong)ZigZag.Encode(this.myValue), 8);\n result = true;\n }\n\n return result;\n}\n\npublic override void DeserializeSyncVars(NetworkReader reader, bool initialState)\n{\n base.DeserializeSyncVars(reader, initialState);\n\n if (initialState)\n {\n this.myValue = ZigZag.Decode(reader.Read(8));\n return;\n }\n\n ulong dirtyMask = reader.Read(1);\n if ((dirtyMask & 1UL) != 0UL)\n {\n this.myValue = ZigZag.Decode(reader.Read(8));\n }\n}\n")),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},"last updated for Mirage v101.8.0")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5f86f892.457a623f.js b/assets/js/5f86f892.457a623f.js new file mode 100644 index 00000000000..3cfba9998b6 --- /dev/null +++ b/assets/js/5f86f892.457a623f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9783],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},p=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},g={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,p=a(e,["components","mdxType","originalType","parentName"]),d=c(n),f=o,u=d["".concat(l,".").concat(f)]||d[f]||g[f]||i;return n?r.createElement(u,s(s({ref:t},p),{},{components:n})):r.createElement(u,s({ref:t},p))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,s=new Array(i);s[0]=d;var a={};for(var l in t)hasOwnProperty.call(t,l)&&(a[l]=t[l]);a.originalType=e,a.mdxType="string"==typeof e?e:o,s[1]=a;for(var c=2;c<i;c++)s[c]=n[c];return r.createElement.apply(null,s)}return r.createElement.apply(null,n)}d.displayName="MDXCreateElement"},23989:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>g,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var r=n(87462),o=(n(67294),n(3905));const i={},s="Network Log Settings",a={unversionedId:"components/network-log-settings",id:"components/network-log-settings",title:"Network Log Settings",description:"See also LogFactory in the API Reference.",source:"@site/docs/components/network-log-settings.md",sourceDirName:"components",slug:"/components/network-log-settings",permalink:"/Mirage/docs/components/network-log-settings",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/network-log-settings.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Identity",permalink:"/Mirage/docs/components/network-identity"},next:{title:"Network Manager HUD",permalink:"/Mirage/docs/components/network-manager-hud"}},l={},c=[{value:"Network Log Settings component",id:"network-log-settings-component",level:2},{value:"Log Settings",id:"log-settings",level:2},{value:"Issues",id:"issues",level:2}],p={toc:c};function g(e){let{components:t,...i}=e;return(0,o.kt)("wrapper",(0,r.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"network-log-settings"},"Network Log Settings"),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"See also ",(0,o.kt)("a",{parentName:"strong",href:"/docs/reference/Mirage.Logging/LogFactory"},"LogFactory")," in the API Reference.")),(0,o.kt)("h2",{id:"network-log-settings-component"},"Network Log Settings component"),(0,o.kt)("p",null,"The Network Log Settings component allows you to configure logging levels and load the settings in a build."),(0,o.kt)("p",null,"When you first add NetworkLogSettings you will have to Create a new LogSettings asset that will store the settings."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Inspector With No Settings",src:n(69267).Z,width:"470",height:"221"})),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"If a LogSettings asset already exists the NetworkLogSettings component will set the Settings field when it is added to a game object.")),(0,o.kt)("h2",{id:"log-settings"},"Log Settings"),(0,o.kt)("p",null,"When you first set up LogSettings the list of components may be empty or incomplete. Running the game will cause Mirage scripts to add their respective loggers to the list so their logging levels can be changed."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Inspector",src:n(41760).Z,width:"471",height:"253"})),(0,o.kt)("p",null,'Log settings can also be changed using the "Mirage Log Level" window, which can be opened from the editor menu: Window > Analysis > Mirage Log Levels.'),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Window",src:n(64079).Z,width:"396",height:"179"})),(0,o.kt)("p",null,"To change settings at runtime please see ",(0,o.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Logging/LogFactory"},"LogFactory"),"."),(0,o.kt)("h2",{id:"issues"},"Issues"),(0,o.kt)("p",null,"Mirrors Logging API is currently a work in progress. If there is a bug or a feature you want to be added please make an issue ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/MirageNet/Mirage/issues"},"here"),"."))}g.isMDXComponent=!0},64079:(e,t,n)=>{n.d(t,{Z:()=>r});const r="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYwAAACzCAYAAACaYiuGAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAACH7SURBVHhe7d0HYBRV/gfwX0JvoXdEQFFpRxcQEBEFpJwHKE0OG0dRTkIxFpogBAgW4FQ8z5MiUvVEARWOLr3JgfxFVDoCKdIkIQ3+8307LzvZ7G4mySZust/P3XNm3szObobd+b0yMy9o4cKFt4SIiCgdweaUiIgCyMWLF8251DzlAwMGEVGAuX79uuzZs0eOHz9u5jhgGflY7w6bpIiI8oC33nrLnHMaNWqUOZdavnz5JH/+/BIRESHdu3eXWrVqqWCxatUqCQsLk6SkJElOTja3dmINg4goDyhSpEia5AmCAYLChAkTVJDQwQLLnoIFBPV5fcstg7lI/i4oKEjalDokISEhap6ICObOnStTp041l0TGjh0rw4YNM5fcQ03jypUr8u9//1ueffZZKVmypMdgAUFjF5+9ZZx5zEXydwjukZGR0jDfdvWPS0QECBjWAOG67A46uJcuXSqhoaEya9Ys6du3r1SsWNFcm1ZQdHQ0axi5hK5RBAcHywcffCBVqlRRy0RECBBxcXHmkqOJylvAQLBYsmSJTJw4UWJjY6Vo0aIyadIk6devn8egERQVFaWiBYIGTkgMHv4PnVX4ctx2221mDhEFumrVqplzTmfPnjXnUsNVUBs3bpQBAwbI77//rpqh0DxVvHhxWbRokTz44INSrFgxc2unoMjIyExHiEaNGsnBgwfNpbwhu/8mX+yfAYOIsgLBoXTp0nLp0qVUfRae8rVg1CjcJZzYcEmWNW/cuHEqXy9/9913qdbnRLK+f3YkcJfvq+SL/RMRZQWCwalTp9IEBU/5WspltfpEZD0pnT59Wr0Yy9HR0fLzzz+rfL3NH5Gy+/39ef/W1xIRZQWutHTHUz6k1DDA9USEHvOPP/5YzS9fvlz69Omj5rUmTZqYc455RKXJkydLixYtPOaho2Xo0KHSpk0bNY2KilL54G57u7zt9/LlyzJy5Ehp3bq1DBw4UJo1a2au8Q6vGz16tLRt21Yee+wxOXz4sMrHdcpPPPGE3Lx5Uy1jimXkg6fXuVq7dq106dJF7r//fnnllVfMXM88/TsREWWUp1qEp3zw2CQFXbt2le3bt8v58+dVB0nnzp1VvnUb6/zKlStl+PDhsmvXLo95M2bMUIEBJ8uGDRuqOw297cM1gbt8b/vFHZBVq1aVdevWqasAcIK3vtaarPufOXOm6vxZv369uvsR1zgjH+18DRo0kB07dqhlTPGeyPf2OiTr/sPDw9VnW716tdx1110p+eklIiJfmDdvntfkKsgIBm7PQE2bNpX9+/fLP//5T3Xi69SpkwwaNCgl37qN67zmLu+BBx6QNWvWqB549M7jtvRNmzapde62d+VpG2/7ffjhh+Wzzz5LqWp5ex/rOpz0cVOLhoCA56zA999/Lx999JE64Y8ZM0aeeeYZqVu3rlrn7XXW/aO2U6pUKenYsaO0b9/e7VUJ7hQoUED9u7DTm4jsQH+z9WIb9AU3btzYXLLPaw0D08cff1z1X6BpxZrvbT69PGsJH9zNe0qetgFP+71x44a6ssjdOtfkug61kn379qm0e/fulPx69erJmTNn5MiRI+rStTp16th6nXX/OOmj1rZ161YZMmRISr6dRERkF4IDggRYg4W7WoU1ufLa6Y0pSsAbNmxQpXNP27jOe8tDs9HixYvVdcC43hclbr3O3fauydM23vaLkj+aurBO1zqsr7Um67p7771Xli1bpmoLuLt6ypQpqbZFzQC1C0yt+d5eZ93/ggULVL8Kbsk/d+5cSr6npF9LRJRROmhYaxZPP/201+QqGKVyJNDT7IQT7IEDB1TJGlUkLGdU8+bNUyXwtl90QH/++eeqT+bbb7/1+lAuK/Q/oBbRo0cPdcckahVW6LBG7QtTq/Rep2GbRx99VEaMGCEvvviimeuZ/vdh0CCizHBthnJXq7AmV0Fnz54NmLMPTrjbtm2T+fPnq/6H3KpgwYLyr3/9i30YRJSjAubx5qhd4JLb999/P1O1GiKiQBd05swZtm/kMqhhfPjhh6xhEFGOCtq7dy8DRi6EZjVvjyEmIvK1oKNHjzJgEBFRuoIOHDhwCze6ERERecMxvYmIyBYGDCIisoUBg4iIbGHAICIiWxgwiIjIFgYMIiKyhQGDiIhsYcAgIiJbGDByGYz/jURElNM8BgyclAYMGCCxsbFmjgNGmMNwqJq/nMBy8nP4y99MRJSTvNYwTp8+LdOmTTOXRBITE2XGjBmpBlrC8KJIRESUt3kNGMWKFZMtW7ao4UZhxYoVcvLkSTWvuZa29TKGRB04cKC0b9/ea/7Vq1fVEKbdu3dXKTw8XK5du6bWgafXZUR67xETE6NGvMNQqxhbGzUovGdmYPzwd955R3r16qX29/zzz8svv/yi1m3fvl3td+jQoWoZ8H7I27Fjh1r29np3fvjhBxk+fLjaFqlfv37mGiIi3/IaMHAiAgw6hCFOg4KC1LIdb731lgouycnJZo6Da/6cOXNk3bp1alCjUaNGyTfffCP/+Mc/1DorT/uzI733mDVrluzevVsGDRqk3icrQ9XOnTtXli9fLhMmTJDZs2fL4cOHU2ppLVq0kJIlS8rRo0dVEMOY3z/++KOULl1arQNvr3dn/PjxcujQIfU6/I1Lliwx1xAR+ZbXgIFR6lq1aqVO0osXL5aePXuaa9KH2sjmzZvTNFe55u/atUtNccLEe8HOnTvV1MrT/uxI7z0wFjjg70WtKivwGeHvf/+7qj2AriHkz59fOnTooALSnj17VMI88vLly6e28fZ6d4KDHf+E48aNkzfeeCNNDZCIyFe8BgwICwuTkJAQ1YxSqFAhMzd9GNxHn8ysPOUjT5803fH0uozw9B66RlGgQAE1zYpbtxzDi6C0r/t3Nm3apPKgU6dOaoogpgNZ586d1RTSe72r6dOnq6aohIQE+fLLL9W/FxFRdkj3DFy2bFlZvXq1KgVnB2uJf9u2bWpe5/lKeu9Rp04dNcX6c+fOqfnM0n0fOOHjJI79hYaGqjzAe1WvXl3VLvbu3Ss1a9aUu+66y1yb/utd1apVS9UuIiIi1HJWmtOIiLzxOIASTlzumn/0CU2vS29Z85SPtnz0MejSNk7kL7zwgpQoUUIte3qdK72dK7wuvfc4deqUTJ06VTXnNG7cWAUO1DY2bNig1rvy9l7otF6wYIGqFURHR0vt2rXV+6HDXlu4cKEakxtQc+vfv7+ah/Re73o80MkdFRWl5u+44w7VlFW/fn21TETkSxxxzwKlcwSVl19+WZo0aaI6w4mIyIEBw4TLbXGpbeHChaVevXoyevRoqVKlirmWiIgYMIiIyJasXXZEREQBgwGDiIhsYcAgIiJbGDCIiMgWBgwiIrKFAYOIiGxhwCAiIlsYMIiIyBYGDCIisoUBg4iIbGHAICIiWxgwiIjIFgYMIiKyhQGDiIhsYcAgIiJbGDCIiMgWBgwiIrKFI+6R3xj5dg1zjoiy6u2RJ80532HAIL+BgNG55VkpVKiQmUNEGRUfHy/f7KrGgEF5GwLGYx0uS+fWyXLr1i2JioqS8xcuSmJSkrH2lvq/EuT4T4H8+aVK5UpSvnx5lU1EIt9szyefbiiVLQHDr/sw7g+905yjQJLfCATBwcFy8bfLEhWXJL8l3JLoeCMZ0xikeDHyRKKNdeejotX2GUmNGzd2mx+oKaePx8KFC+WVV15xu87fU3Yeq1dffVV27drldl1GUnbKcsC4eCm/TJxfSbqNrSmdX6olkxdWlHX7SphrvXMNCK7LW2f9bM5RIIqLjZPomN8kMipGoqN/kxhj/tLlq5KYkCixsbFqXVzcDXNrhwYNGkhoaKi55DB27FiVrx0+fNicyz7W9/OF8+fPy+jRo6Vt27bSsmVLeemll2T16tXmWu9cP4vrck4cD+3KlSvy8ccfy/jx480cHisNASM8PFw1KeWUI8eLSsTCKqp2jymWvclywBg/r7I0vCNOlo0/JStfPyndWl2V/+63FzCIvLl566YkJSZIcnKS5M8XLBXKlpG7at0utWtWlwplyhjBIk5u3rxpbu106tQplSA6Olp++uknNZ+bjRo1Spo1ayZff/21bNq0SXr27Clr1qwx1+Yeq1atks6dO0tISIiZ43u59ViVKlVK2rVrJ+vXrzdzsheCw54jxeWp7lGq+QpTLHsLGlkOGGciC0iLOrFSrPBNKVzwpjSpHSczh/xqrjVKFNfzybiPKqvax8Dp1eXIycIqX9cmMNXJuqznNczPX1tGek2sIY+OqymbviturnG8xysfVpaOYbVkyFvV5IFRztdtOFBcHp9UQx55uZZMWljJzKXcAP0YCAilQkpIpfLljFpFnERGx8jlq9ckODgIGziSiyeeeEIWLFig5pcuXSr9+vVT85q11Ij55ORkmThxojRp0sRj3sWLF2XQoEHSokULNY2MjFT54G57T7zt59KlS/LCCy/IvffeK/3795eGDRuaa0ROnjwprVu3luLFi0uRIkXU6+fOnWuudbwWNSuUqP/yl7/IoUOHVL7+WzHVybqs5zXMv//++9KhQwd18lq7dq25xvvnw8m5Y8eO0qpVKwkLCzNz00KTS/v27c0l7wLxWOHY4BjlhDXbSknXNpekQulEtYwplpHvSZYDxuBuMTJ8TlXVFLVkY2k5F13AXOMw5z/l5P4//S6rpp6Q0F5R8uYKRwelbm7CVCfrsjsliyXL/JdOS1i/SHnni3Jmrsi7K8tJlbKJ8oVRwxn7RKRxkjFXGN5cUUHCB52XFRNPyp1Vc66qR1mHgFG0cGG5u1YNKVSwoBQuVFDKlAyRs+d+NYLGFVUDuZXSE+7UvXt32bZtm2qa2LBhg3Tt2tVc497nn3+uTiAHDhwwc9LmoakApdaNGzeqduzp06erfM3dPtzxtp833nhDqlWrJps3b5apU6emqj3h5PPUU0+p5pV58+bJmTNnzDUOM2bMkIceeki2bt2q+gcmT56s8nUTCqY6WZfdQUkXf8+kSZNk5syZZq73z/f666/LnDlzZN26dXLPPfeYuWkdO3ZMatWqZS55F4jHqmbNmnLkyBFzKXudjymYEiz0Je1YRr4nWQ4YPdpckQ/HnJUmd8Wp/gzUJtbudTZJ7T5aVKYsqigdxtwhoe9WlRPnPX+Y9OC9ShS9KS2NGk3UZWfnzu4fisqTnS5JkUI3pXrFBDPX4bbyCfKv1WVl2+Fi8pfWV8xcyg0QMBISEyU+PkHiE+LlRny8JBrLCBQ3byY7foRp44W6LBclx2HDhqnmj4JGsPHmsccek9KlS5tLDq55e/fulQEDBkixYsXkySeflN27d5trHNztwx1v+0GQGzJkiBQtWlSdOKxQS1q2bJkqsSIQIjiheUfbvn27Ovk1bdpUlcZ//jnz/X99+/ZVTUboA0ApX/P2+WrUqCGzZ89WJ/fevXubuWnFxMRIyZIlzSXvAvFYIQCdPXvWXMpelcsmSOQlRwFfX1GFZeR7kuWAAWVDkqRby6uqBvH2c+fk7U+dlzneuhUkX0w5kVJz2PTWL+aazMsXnPosEZ8YJAXzuzlzGGYPPycPN7smO44UUwGLco9bN2/J5cuX5X//94Ncu/a7/H49Vi5GRUvF8uWkhHESSU5KUkHFHZw00H/Rp08fM8e3goLUtb1ZZt0POju9BTdcPtyrVy/VOfrhhx+qkquG4Llly5aU0vDBgwfNNZmXL18+c87B2+f76KOPpFu3bqrU/uyzz5q5aZUtW1Z1fGdGIBwrfN9RM8kJXdtcljXbSqcEDUyxjHxPshwwnp9dTfYYtYirsfnk+o1gWbuvhNS53dn00+zuWPlsa0m5Fhss0VfyS8TSCuYao/pTKkmOnnHepOW6bNfd1eNl9a4QiYsPlq2Hipm5Dmgma1X3ugzseEl+jUndXEZ+zggGuAcjMjpKTpw6bfwog6RcmdJSonhRibtxw6htGAHDXRXDgNI+SnkosfkCmkZwdQ+uzkL/SPPmzc01GeNtP/Xq1ZP//Oc/ah2a0qwGDhyoSsY42eK+KZSY69evb64V1R6+ePFiuXr1qmrrf+2118w1IpUqVUrVzOG6bJe3z4eT4P333y+DBw/2WkKuXbu2HD9+3FzyLhCP1YkTJ6Ru3brmUvaqVytW7q33u8xfVV41SWGKZeR7kuWA0cI4GS9cV0Z6Tqwh/abcLkdPF5ZxA5xVs5FGreNcdEG1LvTdKkYwcV4GOcJYN+b9KtLtVUeVzXXZrhE9o2TVjhD1GXYaNQl0vmtnogpI78k1JOyDyuqzUO6BpqfkpERJiE8wahjXjBPNSdm1d7/s2rNfjh37xQgY8R5rGL6GJox9+/bJAw88oPopXn75ZXONZ7qzVCfwth/Mf/rpp6oTFSVgdNhqbdq0kQ8++ECt69Kli3z//fcybdo0c63j0uHTp0+rdSi1Wk+QeM+hQ4eqfbhbtsvb58NVaZ06dZLnnntOfRZP0AGNK5dc8Vg54NigMz6nIDiEDfxVNUlh6i1YQJ660/umce5AwFi0vrTMDc2ZdkDyHX2nd7d2QZJk1Cy2bN8h2/f9T/VfJCc7AoN5k7dR2whWHeFtmjWS9ve3VevyCt1kgqaUTz75xMz1H1n5fGhy6dGjh6xcudJ2X4Y3eelYoUaEplR0omfl8Tirt9zKtju980zAQO3i8u/5pHqFRHm530W5pzqviMptrAEDP7STRknsx2PHJP6Goyah6xIIGmjPLlS4kNS5+27ViZhXoET622+/qY5SXL1jLf36A198PjTJHD16VCIiIsyczMlrxwpXdaFvAx3oWcGAQQFBB4xy5cqpgEFEGYNH6uBiDwYMyvP0teBElHUMGERE9IfxyX0YRESU9zFgEBGRLQwYRERkCwMGERHZwoBBRES2MGAQEZEtDBhERGQLAwYREdnCgEFERLbwTm/yG3h+1I8//qiG1Lxxw/kYfCLKWYULF1YDOWEIWTyfSmPAIL/xww8/SHJysvTs2VMNgIQn1OKptDk15gXlDb4aDTGv0b8nOy5duqQGgMJIgnXq1DFzGTDIj2BQfIzD7YtxEihwMWC4lypgoAyGWbMshsEDgoz/WUewxPgcc+fOlY4dO5o5ARAwMBQixs7NrKy+3p3s2Gde8OWXX8o4jEDm4UtNZA+/MO45f0yuPy1dk3cNKFOmTJE///nPjjxDlju9cfLr27evGiFNQ54ddrfLLnh/nbKT6/6tweKPPgb+BmN4JyUmOlKSc1rttmoSExPtyDPT1atXVL41LyupVOlSbvOZclfCd4gpbbIem2TLNDw8XBKN35nKM6YqYVtj6sonV0ndfffdsnr1anMp99Anbpb2/UdSYpIkGF9UJHxh9RSD8Z87d061rd5eo4b8+uuvarjPihUrOr/kWUznjX26y2fKXQnfIaa0yXps8LvCdPOWLTJz5kzZumVrSp5KRvDA1JVPAgYGUsd4tQkJCWaOE9rBxo0bJ507d5aBAwfKkSNHVL4uWVtL+I8++qjExcXJ9evX1fYxMTFqGYO1a1FRUTJy5Eg1iDqmGF1Kw37QaTpjxgw1PKKrhQsXqrF1vcFJCEMlot1u0KBBZq6Dp78F8N7z58+XXr16qb9DD3Tv7u90N9XzTz/9tBw6dEjNY4pjG0jwpUZJx1HacU4RGM6d+1XWrl2nrqBaseJT49/jqlSsgIDh2AapUePGUuuOO2TevPkpeZWrVJGDB/8nderWTVl+7rnn5Z46dWTZ8uWptrPOu9tmi/HDatiokdzXurVUrVYtJZ/Jf5JrjYPJkazHBr8rTN8wggVEzIxIVcNAzR5TVz4JGNWrV5dGxo/oiy++MHOc5syZo06Gq1atktDQUHnzzTdVvrV0r+fvvPNOdVJG5yeukvnqq69U8EDpUps1a5Y0bNhQDZTeoEEDmT17trnGYc2aNTJkyBDZsGGDmeOA7a9evZomCLh655131OVk+FsmTZpk5jp4+ls0dNYiaISFhan9gLu/U3O3DsEIg8bDt99+q5YDCUo2zh++c1qpYiU5f/68fPX1V/JS2Euy4tMV6t+zQsUKar1OO3fslK+/+lpen/J6Sh5cvHhR9u3dl7Lcu3dvWbpkqUyfNj3VdtZ5d9tMfn2yTJwwUVYsX6EuA9b5TP6T9EmPKXVyd2wWL14sx3/5RZYsXpKyjd4OU1c+CRiAkvHSpUvTXD+/e/du1XGCEj9OsidOnDDXpFW7dm11EkDzFmoPeC065FG61L777jt5/PHHpWjRotKnTx85cOCAucYBHTSlSpUylxzWr1+vagPDhw83czzbs2ePPPnkk1KkSBGpWrWqmeuQ3t/So0cPKVGihLRs2VLVhDLj4Ycflu3bt6sOqJ07d6rlQGL9MutSDqbly5eXkydPyoULF+Qp498nOSnZ+PfYJeXLlVPrkZYYX37UPB955BFVM9X5cF+rVnLTqH3q5aZNmkitmjXlwsULqbazzrvb5hfjx/VAu3YSYvw7g85n8p9k/Q4xOZP12KC5CdM+ffuqGnmfvn1UnmttxJXPAkYVowqPE+Vnn31m5jjgxIfSui5F66Yad1DD2Lt3rwo6zZs3lzuMPwSvqVy5srlFWnYuoUMQOHbsmApG6UGzWoECBcyl1Oz+Lbh2ObPKlCkjt912m6opYeoa/PI6xxfWWVrUqUKF8vL5ys+lyyNd1HJvo9Cw6JNPpBwChrnNP959R9XuVqxYYe7LkW+dty6j+VLPW/O9bYP3Q6Hl6NGjqfKZ/CkZBQMmN8l5bNCpjelzw4ap7zGmqqM7wZGwLaaufBYwACVz14DRrFkzlXft2jXV3xAREWGuEeMkUCHlhweoYawwfuwoqSMQtG3bVr3WWsNA09fy5ctVCXLZsmVqOT2vvvqqjBkzRvVt6BOAJ7hJBTWc2NhY2bx5s5nr4O1v8cb177Rytw6l5Pfee0+VlAONKtmYpSFHJ5xjWqZsWYmMjFTHBsuPdOmimqjKlCmrlpHCXgyT4X8fLuHTwtW+dL513nU5o/NDhwyVoc8Nk6nh4eoOWJ3P5D9Jl6KZUifrsdE1jCaNmxjf6SHSxKhNqxpGsiOpbYypqyzfh4E2fZS2NfQp4KSq89CJjDzUHFBaRjNS9+7d1Tq00eMkDjhJo00YwQLtasWKFVNRDk1M6IRu166d2g5t0bgMDHcF4+SOTmg0V4DrZwFrHpoT0NyDDmvAOk1vg2am1157TQUENAfhbkc7f4vre1uXXf9Ob+sA/x79+/dXx9FTbScvwn0YfXv3Sak1uruZyF/8n/H9w/dylfGZiXKdNDdiGEnnKY6MpUah3HofBu/09kPoVD9+/LiMGDHCzAkMuNihw4MPqufYgA4WmPqTzl0eUVeUhI4Ila5du5q55C/QdExp6ZvzrPOeC2dBEncjTjZu3BhYd3rnNqhl/fWvf5UJEyao+1sCCWqNuEqu8Z8aSeEijqBBRL6XJmCY8zqgxMfHy4GD36krP/ksKfJLCJbozzl79iyfVkv0B0ItHxfdoNDKp9USEVGG+fQqKSIiyrsYMIiIyBY2SZHf4Ih7RP6BI+6R3+OIe+QL+sofSs16VVR6OOIe+T2OuEe+wIDhXqqAgTIYZs2ymLubZDniXiZYX5/VfZF3HHGPfINfGPecPybXn5auybsGFI645+Knn36SF198UT1GHJF08ODB6qm07vgiWPjD3+zP1Mhg6lk3RsID0swpR9xjspv0qHJMqZP12KixL8wpR9yzCcECDyXE48rxQEM8zPCZZ55Rz3eiPwYegGZ9iJyecsQ9JrtJPUSPKU2yHhv8rjDliHvJ9kfcwyBHaDPHe4WEhKiOVjyiHUHEHWvtwFej71Fq+FKjpOMo7TinHHGPyW5yrXEwOZL12OB3hSlH3MvAiHu4KgcBIjN8PfoeOajn8Kf88J1TjrjHZDfpkx5T6uTu2HDEvQyMuIdOnsxespkTo+8FIuuXWZdyMOWIe0x2k/U7xORM1mOD5iZMOeKeG55G3EOA2rVrl7mUMXb/rqyMvheIHF9YZ2lRJ464x2Q/WUeZY3Im57HhiHteeBpx7/nnn5d3331XvvnmGxVM0ByG4IL89GTH6HvEEfeYsp50KZopdbIeG13D4Ih7ls8C1jzXEfdg3759smjRIjVgEfpL0B/Tvn37VKPy6ddb5301+h45ccQ9ohyS5kYMI+k8xZHBEffIb3HEPfKFzPZL5nX65jzrvOfCGUfcIz/HEfeIckaagGHO64DCEffI73HEPSL/wBH3iIgoS3x6lRQREeVdDBhERGQLm6TIb3DEPSL/wBH3yO9xxD3yBX3lD6VmvSoqPRxxj/weR9wjX2DAcC9VwEAZDLNmWczdTbK4xJ0j7pHf4oh75Bv8wrjn/DG5/rR0Td41oLiOuJflgIETMh48iMdr5M+fPyXPzkk6J07m3t4Djxl57733ZP/+/eoxJPfdd596gKI1olLOQcDA4zbMr2wq5cqXl2g+9ZdsYLhwL1WAMJIOGjMiItRDO63rNTzGyKdDtEJuHXFv/PjxamwNPMRw5cqV0q1bN/nvf/9rrqU/Ah6AZn2InJ4CpkxM6SX1ED2mNMl6bPC7wpQj7iXbH3EPV+O0aNFCPegQVwXgiY04eJqnzw6u74UD/Le//U1d6QOYYhn5kJF9BTJ8qfGcJj3Snp461jnmrWnTps3SpGlTlbYYNUmdz5HxAjfpMR2YUifrscHvClOOuJeBEfcGDx6sBlWaPHmyLFmyRI0ZbZXeqHrW90JzXN26ddXj0QHT+vXrpzTTZWRfgQwB1vnDd071Otc0ceJEmRY+TaUJEyak5HNkvMBN+qTHlDq5OzYcce/P9kfcw6PUUeNAzQL9GagBrF271lyb/md3fS/UenTQxN+AZS2j+wpU1i+zLuVgCpi6plOnT0nzZs1UOnXqVEo+R8YL3GT9DjE5k/XYoLkJU46454anEfegbNmyqu8CJ/G3335bJS0jnx1Qw0AtBQ/QwxQ3vWgZ3VegcnxhnaVFnRzr0ubjAWnbd+xQCTVdnc+R8QI5uY40x+RIzmPDEfe88DbiHoIJAgmavlC7sN6kkplR9R566CEZO3asmlpldoS+QKNKNmZpyNEJ55hC3fr1UiXkY5S98RPGq4R55CFxZLzATboUzZQ6WY+NrmFwxD3LZwFrnuuIe+gER8BA0EITV9OmTVWzFWodkJFR9bQLFy5IX6Oah8CnPxdkZl+BJjtG3OPIeERu6Gtq3V1nqzgyOOIe+S1fj7jHkfECE5p/KS19c5513nPhjCPukZ/jiHtEOSNNwDDndUDhiHvk99AkyRH3iP54HHGPiIiyxKdXSRERUd7FgEFERLYwYBARkS0MGEREZAsDBhER2cKAQUREtjBgEBGRLQwYRERkCwMGERHZwoBBRES2MGAQEZEtDBhERGQLAwYREdnCgEFERLYwYBARkS0MGEREZAsDBhER2cKAQUREtjBgEBGRLQwYRERkCwMGERHZwoBBRES2MGAQEZEtDBhERGQLAwYREdnCgEFERLYwYBARkS0MGEREZAsDBhER2cKAQUREtjBgEBGRLQwYRERkCwMGERHZwoBBRES2MGAQEZEtDBhERGQLAwYREdnCgEFERLYwYBARkS0MGEREZIPI/wPTRgrRxpI+mAAAAABJRU5ErkJggg=="},41760:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/NetworkLogSettings-a06e25e83861ee3096ef2d8d522ccac5.png"},69267:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/NetworkLogSettingsNoSettings-fbcdf6f1c1d77c74cdd5c68eae80566e.png"}}]); \ No newline at end of file diff --git a/assets/js/5faa7d70.37d0bd49.js b/assets/js/5faa7d70.37d0bd49.js new file mode 100644 index 00000000000..5b950fc5d28 --- /dev/null +++ b/assets/js/5faa7d70.37d0bd49.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3067],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=a.createContext({}),c=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),p=c(r),f=n,m=p["".concat(s,".").concat(f)]||p[f]||d[f]||i;return r?a.createElement(m,l(l({ref:t},u),{},{components:r})):a.createElement(m,l({ref:t},u))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,l=new Array(i);l[0]=p;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:n,l[1]=o;for(var c=2;c<i;c++)l[c]=r[c];return a.createElement.apply(null,l)}return a.createElement.apply(null,r)}p.displayName="MDXCreateElement"},24688:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const i={id:"HeadlessAutoStart",title:"HeadlessAutoStart"},l="Class HeadlessAutoStart",o={unversionedId:"reference/Mirage/HeadlessAutoStart",id:"reference/Mirage/HeadlessAutoStart",title:"HeadlessAutoStart",description:"Inheritance",source:"@site/docs/reference/Mirage/HeadlessAutoStart.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/HeadlessAutoStart",permalink:"/Mirage/docs/reference/Mirage/HeadlessAutoStart",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/HeadlessAutoStart.md",tags:[],version:"current",frontMatter:{id:"HeadlessAutoStart",title:"HeadlessAutoStart"},sidebar:"api",previous:{title:"HasAuthorityAttribute",permalink:"/Mirage/docs/reference/Mirage/HasAuthorityAttribute"},next:{title:"HeadlessFrameLimiter",permalink:"/Mirage/docs/reference/Mirage/HeadlessFrameLimiter"}},s={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Server",id:"server",level:4},{value:"Declaration",id:"declaration",level:5},{value:"startOnHeadless",id:"startonheadless",level:4},{value:"Declaration",id:"declaration-1",level:5}],u={toc:c};function d(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-headlessautostart"},"Class HeadlessAutoStart"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class HeadlessAutoStart : MonoBehaviour\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"server"},"Server"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkServer Server\n")),(0,n.kt)("h4",{id:"startonheadless"},"startOnHeadless"),(0,n.kt)("p",null,"Automatically invoke StartServer()\nIf the application is a Server Build or run with the -batchMode ServerRpc line argument, StartServer is automatically invoked."),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool startOnHeadless\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6167d028.089c55aa.js b/assets/js/6167d028.089c55aa.js new file mode 100644 index 00000000000..0b843e3516a --- /dev/null +++ b/assets/js/6167d028.089c55aa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[22],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>m});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var s=n.createContext({}),u=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},c=function(e){var t=u(e.components);return n.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,s=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),d=u(a),m=r,k=d["".concat(s,".").concat(m)]||d[m]||p[m]||l;return a?n.createElement(k,i(i({ref:t},c),{},{components:a})):n.createElement(k,i({ref:t},c))}));function m(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=d;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:r,i[1]=o;for(var u=2;u<l;u++)i[u]=a[u];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}d.displayName="MDXCreateElement"},86255:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>u});var n=a(87462),r=(a(67294),a(3905));const l={sidebar_position:1,title:"Network Behaviour"},i="Network Behaviour Callbacks",o={unversionedId:"guides/callbacks/network-behaviour",id:"guides/callbacks/network-behaviour",title:"Network Behaviour",description:"See also NetworkBehaviour in the API Reference.",source:"@site/docs/guides/callbacks/network-behaviour.md",sourceDirName:"guides/callbacks",slug:"/guides/callbacks/network-behaviour",permalink:"/Mirage/docs/guides/callbacks/network-behaviour",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/callbacks/network-behaviour.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Network Behaviour"},sidebar:"docs",previous:{title:"Callbacks Overview",permalink:"/Mirage/docs/guides/callbacks/"},next:{title:"Network Manager",permalink:"/Mirage/docs/guides/callbacks/network-manager"}},s={},u=[{value:"Server Only",id:"server-only",level:2},{value:"Client only",id:"client-only",level:2},{value:"Server mode",id:"server-mode",level:3},{value:"Client mode",id:"client-mode",level:3},{value:"Host mode",id:"host-mode",level:3}],c={toc:u};function p(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"network-behaviour-callbacks"},"Network Behaviour Callbacks"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"See also ",(0,r.kt)("a",{parentName:"strong",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," in the API Reference.")),(0,r.kt)("p",null,"There are a number of events relating to network behaviours that can occur over the course of a normal multiplayer game. These include events such as the host starting up, a player joining, or a player leaving. Each of these possible events has an associated callback that you can implement in your own code to take action when the event occurs."),(0,r.kt)("p",null,"To use an event you must add a function as a listener, this function will then be called when the event occurs. Some events, like ",(0,r.kt)("inlineCode",{parentName:"p"},"OnStartServer"),", will call the listener immediately if the event was previously called. This allows you to add the listeners at any point without worrying about missing the Invoke."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void Awake()\n{\n Identity.OnStartServer.AddListener(MyStartServer);\n Identity.OnStartClient.AddListener(MyStartClient);\n Identity.OnStartLocalPlayer.AddListener(MyStartLocalPlayer);\n}\n\nvoid MyStartServer() \n{\n // ...\n}\n\nvoid MyStartClient() \n{\n // ...\n}\n\nvoid MyStartLocalPlayer() \n{\n // ...\n}\n")),(0,r.kt)("p",null,"This is a full list of virtual methods (callbacks) that you can implement on ",(0,r.kt)("inlineCode",{parentName:"p"},"NetworkBehaviour"),", and where they are called"),(0,r.kt)("h2",{id:"server-only"},"Server Only"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"OnStartServer",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"called when behaviour is spawned on the server"))),(0,r.kt)("li",{parentName:"ul"},"OnStopServer",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"called when behaviour is destroyed or unspawned on the server"))),(0,r.kt)("li",{parentName:"ul"},"OnSerialize",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"called when behaviour is serializing before it is sent to a client, when overriding make sure to call ",(0,r.kt)("inlineCode",{parentName:"li"},"base.OnSerialize"))))),(0,r.kt)("h2",{id:"client-only"},"Client only"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"OnStartClient"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"called when behaviour is spawned on a client "))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"OnStartAuthority"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"called when behaviour has authority when it is spawned (eg local player)"),(0,r.kt)("li",{parentName:"ul"},"called when behaviour is given authority by the sever"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"OnStartLocalPlayer"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"called when the behaviour is on the local character object"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"OnStopAuthority"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"called when authority is taken from the object (eg local player is replaced but not destroyed)"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"OnStopClient"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"called when an object is destroyed on a client by the ",(0,r.kt)("inlineCode",{parentName:"li"},"ObjectDestroyMessage")," or ",(0,r.kt)("inlineCode",{parentName:"li"},"ObjectHideMessage")," messages")))),(0,r.kt)("h1",{id:"example-flows"},"Example flows"),(0,r.kt)("p",null,"Below is some example call order for different modes"),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},(0,r.kt)("inlineCode",{parentName:"p"},"Start")," is called by Unity before the first frame, while normally this happens after Mirage's callbacks. But if you don't call ",(0,r.kt)("inlineCode",{parentName:"p"},"NetworkServer.Spawn")," the same frame as ",(0,r.kt)("inlineCode",{parentName:"p"},"Instantiate")," then start may be called first")),(0,r.kt)("h3",{id:"server-mode"},"Server mode"),(0,r.kt)("p",null,"When ",(0,r.kt)("inlineCode",{parentName:"p"},"NetworkServer.Spawn")," is called (eg when new client connections and a player is created)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"OnStartServer")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"OnRebuildObservers")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Start"))),(0,r.kt)("h3",{id:"client-mode"},"Client mode"),(0,r.kt)("p",null,"When the local player is spawned for the client"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"OnStartAuthority")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"OnStartClient")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"OnStartLocalPlayer")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Start"))),(0,r.kt)("h3",{id:"host-mode"},"Host mode"),(0,r.kt)("p",null,"These are only called on the ",(0,r.kt)("strong",{parentName:"p"},"Player Game Objects")," when a client connects:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"OnStartServer")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"OnRebuildObservers")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"OnStartAuthority")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"OnStartClient")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"OnSetHostVisibility")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"OnStartLocalPlayer")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"Start"))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/61845e4c.14223b27.js b/assets/js/61845e4c.14223b27.js new file mode 100644 index 00000000000..5741751219c --- /dev/null +++ b/assets/js/61845e4c.14223b27.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9545],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>y});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var s=n.createContext({}),u=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},c=function(e){var t=u(e.components);return n.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=u(r),y=i,h=p["".concat(s,".").concat(y)]||p[y]||d[y]||a;return r?n.createElement(h,o(o({ref:t},c),{},{components:r})):n.createElement(h,o({ref:t},c))}));function y(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,o=new Array(a);o[0]=p;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:i,o[1]=l;for(var u=2;u<a;u++)o[u]=r[u];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},46218:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>u});var n=r(87462),i=(r(67294),r(3905));const a={id:"HasAuthorityAttribute",title:"HasAuthorityAttribute"},o="Class HasAuthorityAttribute",l={unversionedId:"reference/Mirage/HasAuthorityAttribute",id:"reference/Mirage/HasAuthorityAttribute",title:"HasAuthorityAttribute",description:"Prevents players without authority from running this method.",source:"@site/docs/reference/Mirage/HasAuthorityAttribute.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/HasAuthorityAttribute",permalink:"/Mirage/docs/reference/Mirage/HasAuthorityAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/HasAuthorityAttribute.md",tags:[],version:"current",frontMatter:{id:"HasAuthorityAttribute",title:"HasAuthorityAttribute"},sidebar:"api",previous:{title:"GameObjectSyncvar",permalink:"/Mirage/docs/reference/Mirage/GameObjectSyncvar"},next:{title:"HeadlessAutoStart",permalink:"/Mirage/docs/reference/Mirage/HeadlessAutoStart"}},s={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"error",id:"error",level:4},{value:"Declaration",id:"declaration",level:5}],c={toc:u};function d(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-hasauthorityattribute"},"Class HasAuthorityAttribute"),(0,i.kt)("p",null,"Prevents players without authority from running this method.\nCan only be used inside a NetworkBehaviour"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,i.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Method)]\npublic class HasAuthorityAttribute : Attribute, _Attribute\n")),(0,i.kt)("h3",{id:"fields"},"Fields"),(0,i.kt)("h4",{id:"error"},"error"),(0,i.kt)("p",null,"If true, when the method is called from a client, it throws an error\nIf false, no error is thrown, but the method won","'","t execute\nuseful for unity built in methods such as Await, Update, Start, etc."),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public bool error\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/61be958e.d7fab671.js b/assets/js/61be958e.d7fab671.js new file mode 100644 index 00000000000..5cc3d0733d0 --- /dev/null +++ b/assets/js/61be958e.d7fab671.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[701],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=l(r),f=i,g=u["".concat(c,".").concat(f)]||u[f]||d[f]||a;return r?n.createElement(g,o(o({ref:t},p),{},{components:r})):n.createElement(g,o({ref:t},p))}));function f(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,o=new Array(a);o[0]=u;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,o[1]=s;for(var l=2;l<a;l++)o[l]=r[l];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},89213:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>l});var n=r(87462),i=(r(67294),r(3905));const a={sidebar_position:1},o="Serialization",s={unversionedId:"guides/serialization/index",id:"guides/serialization/index",title:"Serialization",description:"This section of the Mirage documentation covers different aspects of how data is serialized, including the types of data that Mirage supports, advanced serialization techniques, the use of generics, and the SyncPrefab struct for synchronizing prefabs over the network.",source:"@site/docs/guides/serialization/index.md",sourceDirName:"guides/serialization",slug:"/guides/serialization/",permalink:"/Mirage/docs/guides/serialization/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/serialization/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"docs",previous:{title:"Network Scene Manager",permalink:"/Mirage/docs/guides/scene-loading/network-scene-manager"},next:{title:"Data Types",permalink:"/Mirage/docs/guides/serialization/data-types"}},c={},l=[],p={toc:l};function d(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"serialization"},"Serialization"),(0,i.kt)("p",null,"This section of the Mirage documentation covers different aspects of how data is serialized, including the types of data that Mirage supports, advanced serialization techniques, the use of generics, and the SyncPrefab struct for synchronizing prefabs over the network."),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("a",{parentName:"p",href:"/docs/guides/serialization/data-types"},"Data Types"),"\nInformation about the different data types supported in Mirage, including basic C# types, Unity math types, NetworkIdentity, and GameObject with NetworkIdentity.e")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("a",{parentName:"p",href:"/docs/guides/serialization/advanced"},"Advanced Serialization"),"\nIn-depth explanation of how serialization works in Mirage, including how it is implemented using Weaver and Mono.Ccil.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("a",{parentName:"p",href:"/docs/guides/serialization/generics"},"Generics"),"\nHow Mirage supports generic types for SyncVar, Rpcs, and fields in NetworkMessages.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("a",{parentName:"p",href:"/docs/guides/serialization/sync-prefab"},"SyncPrefab"),"\nExplains the SyncPrefab struct in Mirage, which is used to synchronize prefabs over the network. It is particularly useful for short-lived objects like visual effects, audio, or projectiles."))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/61c6cc01.0587d776.js b/assets/js/61c6cc01.0587d776.js new file mode 100644 index 00000000000..c37124e9e82 --- /dev/null +++ b/assets/js/61c6cc01.0587d776.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1112],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>k});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var o=a.createContext({}),v=function(e){var t=a.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=v(e.components);return a.createElement(o.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,c=d(e,["components","mdxType","originalType","parentName"]),u=v(n),k=r,p=u["".concat(o,".").concat(k)]||u[k]||s[k]||i;return n?a.createElement(p,l(l({ref:t},c),{},{components:n})):a.createElement(p,l({ref:t},c))}));function k(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=u;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d.mdxType="string"==typeof e?e:r,l[1]=d;for(var v=2;v<i;v++)l[v]=n[v];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}u.displayName="MDXCreateElement"},63677:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>s,frontMatter:()=>i,metadata:()=>d,toc:()=>v});var a=n(87462),r=(n(67294),n(3905));const i={id:"Mirage.Events",title:"Mirage.Events"},l="Mirage.Events",d={unversionedId:"reference/Mirage.Events/Mirage.Events",id:"reference/Mirage.Events/Mirage.Events",title:"Mirage.Events",description:"Classes",source:"@site/docs/reference/Mirage.Events/index.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/",permalink:"/Mirage/docs/reference/Mirage.Events/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/index.md",tags:[],version:"current",frontMatter:{id:"Mirage.Events",title:"Mirage.Events"},sidebar:"api",previous:{title:"SetDisplayMetrics",permalink:"/Mirage/docs/reference/Mirage.DisplayMetrics/SetDisplayMetrics"},next:{title:"AddLateEvent<T0>",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEvent-1"}},o={},v=[{value:"Classes",id:"classes",level:2},{value:"AddLateEvent",id:"addlateevent",level:4},{value:"AddLateEvent<T0, T1>",id:"addlateeventt0-t1",level:4},{value:"AddLateEvent<T0>",id:"addlateeventt0",level:4},{value:"AddLateEventBase",id:"addlateeventbase",level:4},{value:"AddLateEventUnity",id:"addlateeventunity",level:4},{value:"AddLateEventUnity<T0, T1, TEvent>",id:"addlateeventunityt0-t1-tevent",level:4},{value:"AddLateEventUnity<T0, TEvent>",id:"addlateeventunityt0-tevent",level:4},{value:"BoolAddLateEvent",id:"booladdlateevent",level:4},{value:"BoolUnityEvent",id:"boolunityevent",level:4},{value:"DisconnectAddLateEvent",id:"disconnectaddlateevent",level:4},{value:"DisconnectEvent",id:"disconnectevent",level:4},{value:"NetworkPlayerAddLateEvent",id:"networkplayeraddlateevent",level:4},{value:"NetworkPlayerEvent",id:"networkplayerevent",level:4},{value:"Interfaces",id:"interfaces",level:2},{value:"IAddLateEvent",id:"iaddlateevent",level:4},{value:"IAddLateEvent<T0, T1>",id:"iaddlateeventt0-t1",level:4},{value:"IAddLateEvent<T0>",id:"iaddlateeventt0",level:4},{value:"IAddLateEventUnity",id:"iaddlateeventunity",level:4},{value:"IAddLateEventUnity<T0, T1>",id:"iaddlateeventunityt0-t1",level:4},{value:"IAddLateEventUnity<T0>",id:"iaddlateeventunityt0",level:4}],c={toc:v};function s(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"mirageevents"},"Mirage.Events"),(0,r.kt)("h2",{id:"classes"},"Classes"),(0,r.kt)("h4",{id:"addlateevent"},(0,r.kt)("a",{parentName:"h4",href:"./AddLateEvent"},"AddLateEvent")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"An event that will invoke handlers immediately if they are added after has been called")),(0,r.kt)("h4",{id:"addlateeventt0-t1"},(0,r.kt)("a",{parentName:"h4",href:"./AddLateEvent-2"},"AddLateEvent","<","T0, T1",">")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Version of with 2 arguments\nCreate a non-generic class inheriting from this to use in inspector. Same rules as ")),(0,r.kt)("h4",{id:"addlateeventt0"},(0,r.kt)("a",{parentName:"h4",href:"./AddLateEvent-1"},"AddLateEvent","<","T0",">")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Version of with 1 argument\nCreate a non-generic class inheriting from this to use in inspector. Same rules as ")),(0,r.kt)("h4",{id:"addlateeventbase"},(0,r.kt)("a",{parentName:"h4",href:"./AddLateEventBase"},"AddLateEventBase")),(0,r.kt)("h4",{id:"addlateeventunity"},(0,r.kt)("a",{parentName:"h4",href:"./AddLateEventUnity"},"AddLateEventUnity")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"An event that will invoke handlers immediately if they are added after has been called")),(0,r.kt)("h4",{id:"addlateeventunityt0-t1-tevent"},(0,r.kt)("a",{parentName:"h4",href:"./AddLateEventUnity-3"},"AddLateEventUnity","<","T0, T1, TEvent",">")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Version of with 2 arguments\nCreate a non-generic class inheriting from this to use in inspector. Same rules as ")),(0,r.kt)("h4",{id:"addlateeventunityt0-tevent"},(0,r.kt)("a",{parentName:"h4",href:"./AddLateEventUnity-2"},"AddLateEventUnity","<","T0, TEvent",">")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Version of with 1 argument\nCreate a non-generic class inheriting from this to use in inspector. Same rules as ")),(0,r.kt)("h4",{id:"booladdlateevent"},(0,r.kt)("a",{parentName:"h4",href:"./BoolAddLateEvent"},"BoolAddLateEvent")),(0,r.kt)("h4",{id:"boolunityevent"},(0,r.kt)("a",{parentName:"h4",href:"./BoolUnityEvent"},"BoolUnityEvent")),(0,r.kt)("h4",{id:"disconnectaddlateevent"},(0,r.kt)("a",{parentName:"h4",href:"./DisconnectAddLateEvent"},"DisconnectAddLateEvent")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Event fires from a when it fails to connect to the server")),(0,r.kt)("h4",{id:"disconnectevent"},(0,r.kt)("a",{parentName:"h4",href:"./DisconnectEvent"},"DisconnectEvent")),(0,r.kt)("h4",{id:"networkplayeraddlateevent"},(0,r.kt)("a",{parentName:"h4",href:"./NetworkPlayerAddLateEvent"},"NetworkPlayerAddLateEvent")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Event fires from a or during a new connection, a new authentication, or a disconnection.")),(0,r.kt)("h4",{id:"networkplayerevent"},(0,r.kt)("a",{parentName:"h4",href:"./NetworkPlayerEvent"},"NetworkPlayerEvent")),(0,r.kt)("h2",{id:"interfaces"},"Interfaces"),(0,r.kt)("h4",{id:"iaddlateevent"},(0,r.kt)("a",{parentName:"h4",href:"./IAddLateEvent"},"IAddLateEvent")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Event that can only run once, adding handler late will it invoke right away")),(0,r.kt)("h4",{id:"iaddlateeventt0-t1"},(0,r.kt)("a",{parentName:"h4",href:"./IAddLateEvent-2"},"IAddLateEvent","<","T0, T1",">")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Version of with 2 arguments")),(0,r.kt)("h4",{id:"iaddlateeventt0"},(0,r.kt)("a",{parentName:"h4",href:"./IAddLateEvent-1"},"IAddLateEvent","<","T0",">")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Version of with 1 argument")),(0,r.kt)("h4",{id:"iaddlateeventunity"},(0,r.kt)("a",{parentName:"h4",href:"./IAddLateEventUnity"},"IAddLateEventUnity")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Event that can only run once, adding handler late will it invoke right away")),(0,r.kt)("h4",{id:"iaddlateeventunityt0-t1"},(0,r.kt)("a",{parentName:"h4",href:"./IAddLateEventUnity-2"},"IAddLateEventUnity","<","T0, T1",">")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Version of with 2 arguments")),(0,r.kt)("h4",{id:"iaddlateeventunityt0"},(0,r.kt)("a",{parentName:"h4",href:"./IAddLateEventUnity-1"},"IAddLateEventUnity","<","T0",">")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Version of with 1 argument")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/62cec94c.b7b72ee8.js b/assets/js/62cec94c.b7b72ee8.js new file mode 100644 index 00000000000..05bbea3181b --- /dev/null +++ b/assets/js/62cec94c.b7b72ee8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3486],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>m});var n=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(null==e)return{};var a,n,l=function(e,t){if(null==e)return{};var a,n,l={},r=Object.keys(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var p=n.createContext({}),o=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},u=function(e){var t=o(e.components);return n.createElement(p.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},k=n.forwardRef((function(e,t){var a=e.components,l=e.mdxType,r=e.originalType,p=e.parentName,u=d(e,["components","mdxType","originalType","parentName"]),k=o(a),m=l,c=k["".concat(p,".").concat(m)]||k[m]||s[m]||r;return a?n.createElement(c,i(i({ref:t},u),{},{components:a})):n.createElement(c,i({ref:t},u))}));function m(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=a.length,i=new Array(r);i[0]=k;var d={};for(var p in t)hasOwnProperty.call(t,p)&&(d[p]=t[p]);d.originalType=e,d.mdxType="string"==typeof e?e:l,i[1]=d;for(var o=2;o<r;o++)i[o]=a[o];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}k.displayName="MDXCreateElement"},19869:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>s,frontMatter:()=>r,metadata:()=>d,toc:()=>o});var n=a(87462),l=(a(67294),a(3905));const r={id:"NetworkReader",title:"NetworkReader"},i="Class NetworkReader",d={unversionedId:"reference/Mirage.Serialization/NetworkReader",id:"reference/Mirage.Serialization/NetworkReader",title:"NetworkReader",description:"Bit writer, writes values to a buffer on a bit level",source:"@site/docs/reference/Mirage.Serialization/NetworkReader.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/NetworkReader",permalink:"/Mirage/docs/reference/Mirage.Serialization/NetworkReader",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/NetworkReader.md",tags:[],version:"current",frontMatter:{id:"NetworkReader",title:"NetworkReader"},sidebar:"api",previous:{title:"MirageTypesExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/MirageTypesExtensions"},next:{title:"NetworkReaderPool",permalink:"/Mirage/docs/reference/Mirage.Serialization/NetworkReaderPool"}},p={},o=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"NetworkReader()",id:"networkreader",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Properties",id:"properties",level:3},{value:"BitLength",id:"bitlength",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"BitPosition",id:"bitposition",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"BytePosition",id:"byteposition",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Methods",id:"methods",level:3},{value:"Finalize()",id:"finalize",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Dispose(Boolean)",id:"disposeboolean",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Dispose()",id:"dispose",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Reset(ArraySegment<Byte>)",id:"resetarraysegmentbyte",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Reset(Byte[])",id:"resetbyte",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Reset(Byte[], Int32, Int32)",id:"resetbyte-int32-int32",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"CanRead()",id:"canread",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Returns",id:"returns",level:5},{value:"CanReadBits(Int32)",id:"canreadbitsint32",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns-1",level:5},{value:"CanReadBytes(Int32)",id:"canreadbytesint32",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"Returns",id:"returns-2",level:5},{value:"ReadBoolean()",id:"readboolean",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Returns",id:"returns-3",level:5},{value:"ReadBooleanAsUlong()",id:"readbooleanasulong",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Returns",id:"returns-4",level:5},{value:"ReadSByte()",id:"readsbyte",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Returns",id:"returns-5",level:5},{value:"ReadByte()",id:"readbyte",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Returns",id:"returns-6",level:5},{value:"ReadInt16()",id:"readint16",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Returns",id:"returns-7",level:5},{value:"ReadUInt16()",id:"readuint16",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"Returns",id:"returns-8",level:5},{value:"ReadInt32()",id:"readint32",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"Returns",id:"returns-9",level:5},{value:"ReadUInt32()",id:"readuint32",level:4},{value:"Declaration",id:"declaration-20",level:5},{value:"Returns",id:"returns-10",level:5},{value:"ReadInt64()",id:"readint64",level:4},{value:"Declaration",id:"declaration-21",level:5},{value:"Returns",id:"returns-11",level:5},{value:"ReadUInt64()",id:"readuint64",level:4},{value:"Declaration",id:"declaration-22",level:5},{value:"Returns",id:"returns-12",level:5},{value:"ReadSingle()",id:"readsingle",level:4},{value:"Declaration",id:"declaration-23",level:5},{value:"Returns",id:"returns-13",level:5},{value:"ReadDouble()",id:"readdouble",level:4},{value:"Declaration",id:"declaration-24",level:5},{value:"Returns",id:"returns-14",level:5},{value:"Read(Int32)",id:"readint32-1",level:4},{value:"Declaration",id:"declaration-25",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"Returns",id:"returns-15",level:5},{value:"ReadAtPosition(Int32, Int32)",id:"readatpositionint32-int32",level:4},{value:"Declaration",id:"declaration-26",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"Returns",id:"returns-16",level:5},{value:"Skip(Int32)",id:"skipint32",level:4},{value:"Declaration",id:"declaration-27",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"MoveBitPosition(Int32)",id:"movebitpositionint32",level:4},{value:"Declaration",id:"declaration-28",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"PadAndCopy<T>(out T)",id:"padandcopytout-t",level:4},{value:"Declaration",id:"declaration-29",level:5},{value:"Parameters",id:"parameters-10",level:5},{value:"ReadBytes(Byte[], Int32, Int32)",id:"readbytesbyte-int32-int32",level:4},{value:"Declaration",id:"declaration-30",level:5},{value:"Parameters",id:"parameters-11",level:5},{value:"ReadBytesSegment(Int32)",id:"readbytessegmentint32",level:4},{value:"Declaration",id:"declaration-31",level:5},{value:"Parameters",id:"parameters-12",level:5},{value:"Returns",id:"returns-17",level:5}],u={toc:o};function s(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,n.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-networkreader"},"Class NetworkReader"),(0,l.kt)("p",null,"Bit writer, writes values to a buffer on a bit level\nUse to reduce memory allocation"),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,l.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Show")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public class NetworkReader : IDisposable\n")),(0,l.kt)("h3",{id:"constructors"},"Constructors"),(0,l.kt)("h4",{id:"networkreader"},"NetworkReader()"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkReader()\n")),(0,l.kt)("h3",{id:"properties"},"Properties"),(0,l.kt)("h4",{id:"bitlength"},"BitLength"),(0,l.kt)("p",null,"Size of buffer that is being read from"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int BitLength { get; }\n")),(0,l.kt)("h4",{id:"bitposition"},"BitPosition"),(0,l.kt)("p",null,"Current bit position for reading from buffer"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int BitPosition { get; }\n")),(0,l.kt)("h4",{id:"byteposition"},"BytePosition"),(0,l.kt)("p",null,"Current rounded up to nearest multiple of 8"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int BytePosition { get; }\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"finalize"},"Finalize()"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"protected void Finalize()\n")),(0,l.kt)("h4",{id:"disposeboolean"},"Dispose(Boolean)"),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"protected virtual void Dispose(bool disposing)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"disposing"),(0,l.kt)("td",{parentName:"tr",align:null},"true if called from IDisposable")))),(0,l.kt)("h4",{id:"dispose"},"Dispose()"),(0,l.kt)("h5",{id:"declaration-6"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Dispose()\n")),(0,l.kt)("h4",{id:"resetarraysegmentbyte"},"Reset(ArraySegment","<","Byte",">",")"),(0,l.kt)("h5",{id:"declaration-7"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Reset(ArraySegment<byte> segment)\n")),(0,l.kt)("h5",{id:"parameters-1"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,l.kt)("td",{parentName:"tr",align:null},"segment"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"resetbyte"},"Reset(Byte[])"),(0,l.kt)("h5",{id:"declaration-8"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Reset(byte[] array)\n")),(0,l.kt)("h5",{id:"parameters-2"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"array"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"resetbyte-int32-int32"},"Reset(Byte[], Int32, Int32)"),(0,l.kt)("h5",{id:"declaration-9"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Reset(byte[] array, int position, int length)\n")),(0,l.kt)("h5",{id:"parameters-3"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"array"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"position"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"length"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"canread"},"CanRead()"),(0,l.kt)("p",null,"Can read atleast 1 bit"),(0,l.kt)("h5",{id:"declaration-10"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool CanRead()\n")),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"canreadbitsint32"},"CanReadBits(Int32)"),(0,l.kt)("p",null,"Can atleast readCount bits"),(0,l.kt)("h5",{id:"declaration-11"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool CanReadBits(int readCount)\n")),(0,l.kt)("h5",{id:"parameters-4"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"readCount"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-1"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"canreadbytesint32"},"CanReadBytes(Int32)"),(0,l.kt)("p",null,"Can atleast readCount bytes"),(0,l.kt)("h5",{id:"declaration-12"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool CanReadBytes(int readCount)\n")),(0,l.kt)("h5",{id:"parameters-5"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"readCount"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-2"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readboolean"},"ReadBoolean()"),(0,l.kt)("h5",{id:"declaration-13"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool ReadBoolean()\n")),(0,l.kt)("h5",{id:"returns-3"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readbooleanasulong"},"ReadBooleanAsUlong()"),(0,l.kt)("p",null,"Writes first bit of value to buffer"),(0,l.kt)("h5",{id:"declaration-14"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public ulong ReadBooleanAsUlong()\n")),(0,l.kt)("h5",{id:"returns-4"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readsbyte"},"ReadSByte()"),(0,l.kt)("h5",{id:"declaration-15"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public sbyte ReadSByte()\n")),(0,l.kt)("h5",{id:"returns-5"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.SByte"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readbyte"},"ReadByte()"),(0,l.kt)("h5",{id:"declaration-16"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public byte ReadByte()\n")),(0,l.kt)("h5",{id:"returns-6"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readint16"},"ReadInt16()"),(0,l.kt)("h5",{id:"declaration-17"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public short ReadInt16()\n")),(0,l.kt)("h5",{id:"returns-7"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int16"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readuint16"},"ReadUInt16()"),(0,l.kt)("h5",{id:"declaration-18"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public ushort ReadUInt16()\n")),(0,l.kt)("h5",{id:"returns-8"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.UInt16"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readint32"},"ReadInt32()"),(0,l.kt)("h5",{id:"declaration-19"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int ReadInt32()\n")),(0,l.kt)("h5",{id:"returns-9"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readuint32"},"ReadUInt32()"),(0,l.kt)("h5",{id:"declaration-20"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public uint ReadUInt32()\n")),(0,l.kt)("h5",{id:"returns-10"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readint64"},"ReadInt64()"),(0,l.kt)("h5",{id:"declaration-21"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public long ReadInt64()\n")),(0,l.kt)("h5",{id:"returns-11"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int64"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readuint64"},"ReadUInt64()"),(0,l.kt)("h5",{id:"declaration-22"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public ulong ReadUInt64()\n")),(0,l.kt)("h5",{id:"returns-12"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readsingle"},"ReadSingle()"),(0,l.kt)("h5",{id:"declaration-23"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public float ReadSingle()\n")),(0,l.kt)("h5",{id:"returns-13"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readdouble"},"ReadDouble()"),(0,l.kt)("h5",{id:"declaration-24"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public double ReadDouble()\n")),(0,l.kt)("h5",{id:"returns-14"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Double"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readint32-1"},"Read(Int32)"),(0,l.kt)("h5",{id:"declaration-25"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public ulong Read(int bits)\n")),(0,l.kt)("h5",{id:"parameters-6"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"bits"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-15"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readatpositionint32-int32"},"ReadAtPosition(Int32, Int32)"),(0,l.kt)("p",null,"Reads n bits from buffer at bitPosition"),(0,l.kt)("h5",{id:"declaration-26"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public ulong ReadAtPosition(int bits, int bitPosition)\n")),(0,l.kt)("h5",{id:"parameters-7"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"bits"),(0,l.kt)("td",{parentName:"tr",align:null},"number of bits in value to write")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"bitPosition"),(0,l.kt)("td",{parentName:"tr",align:null},"where to write bits")))),(0,l.kt)("h5",{id:"returns-16"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"skipint32"},"Skip(Int32)"),(0,l.kt)("h5",{id:"declaration-27"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Skip(int bits)\n")),(0,l.kt)("h5",{id:"parameters-8"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"bits"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"movebitpositionint32"},"MoveBitPosition(Int32)"),(0,l.kt)("p",null,"Moves the internal bit position\nFor most usecases it is safer to use\nWARNING: When reading from earlier position make sure to move position back to end of buffer after reading"),(0,l.kt)("h5",{id:"declaration-28"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void MoveBitPosition(int newPosition)\n")),(0,l.kt)("h5",{id:"parameters-9"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"newPosition"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"padandcopytout-t"},"PadAndCopy","<","T",">","(out T)"),(0,l.kt)("p",null," Moves position to nearest byte then copies struct from that position"),(0,l.kt)("h5",{id:"declaration-29"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void PadAndCopy<T>(out T value)\n where T : struct\n")),(0,l.kt)("h5",{id:"parameters-10"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"T"),(0,l.kt)("td",{parentName:"tr",align:null},"value"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readbytesbyte-int32-int32"},"ReadBytes(Byte[], Int32, Int32)"),(0,l.kt)("p",null," Moves position to nearest byte then copies bytes from that position"),(0,l.kt)("h5",{id:"declaration-30"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void ReadBytes(byte[] array, int offset, int length)\n")),(0,l.kt)("h5",{id:"parameters-11"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null},"array"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"offset"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"length"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readbytessegmentint32"},"ReadBytesSegment(Int32)"),(0,l.kt)("h5",{id:"declaration-31"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public ArraySegment<byte> ReadBytesSegment(int count)\n")),(0,l.kt)("h5",{id:"parameters-12"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"count"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-17"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,l.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/63e9b7e2.ff427f42.js b/assets/js/63e9b7e2.ff427f42.js new file mode 100644 index 00000000000..99b85c71b03 --- /dev/null +++ b/assets/js/63e9b7e2.ff427f42.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9834],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>g});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),d=u(r),g=o,f=d["".concat(c,".").concat(g)]||d[g]||s[g]||i;return r?n.createElement(f,a(a({ref:t},p),{},{components:r})):n.createElement(f,a({ref:t},p))}));function g(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=d;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:o,a[1]=l;for(var u=2;u<i;u++)a[u]=r[u];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},31152:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>s,frontMatter:()=>i,metadata:()=>l,toc:()=>u});var n=r(87462),o=(r(67294),r(3905));const i={sidebar_position:6},a="Support",l={unversionedId:"general/support",id:"general/support",title:"Support",description:"Discord",source:"@site/docs/general/support.md",sourceDirName:"general",slug:"/general/support",permalink:"/Mirage/docs/general/support",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/general/support.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"docs",previous:{title:"Troubleshooting",permalink:"/Mirage/docs/general/troubleshooting"},next:{title:"Change Log",permalink:"/Mirage/docs/general/CHANGELOG"}},c={},u=[{value:"Discord",id:"discord",level:2},{value:"GitHub",id:"github",level:2}],p={toc:u};function s(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"support"},"Support"),(0,o.kt)("h2",{id:"discord"},"Discord"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"You can find us on ",(0,o.kt)("a",{parentName:"li",href:"https://discord.gg/DTBPBYvexy"},"Discord"),".")),(0,o.kt)("h2",{id:"github"},"GitHub"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"You can create an issue on ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues"},"GitHub")),(0,o.kt)("li",{parentName:"ul"},"You can also contribute with Pull Requests...see ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/blob/main/CONTRIBUTING.md"},"Contributing"))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6422d8fd.afb4ab51.js b/assets/js/6422d8fd.afb4ab51.js new file mode 100644 index 00000000000..18ec7d13d4b --- /dev/null +++ b/assets/js/6422d8fd.afb4ab51.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2104],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>v});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},s=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},k=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),k=u(r),v=i,g=k["".concat(c,".").concat(v)]||k[v]||p[v]||a;return r?n.createElement(g,o(o({ref:t},s),{},{components:r})):n.createElement(g,o({ref:t},s))}));function v(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,o=new Array(a);o[0]=k;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:i,o[1]=l;for(var u=2;u<a;u++)o[u]=r[u];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}k.displayName="MDXCreateElement"},38471:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>l,toc:()=>u});var n=r(87462),i=(r(67294),r(3905));const a={id:"SyncObjectActive",title:"SyncObjectActive"},o="Class SyncObjectActive",l={unversionedId:"reference/Mirage.Components/SyncObjectActive",id:"reference/Mirage.Components/SyncObjectActive",title:"SyncObjectActive",description:"Inheritance",source:"@site/docs/reference/Mirage.Components/SyncObjectActive.md",sourceDirName:"reference/Mirage.Components",slug:"/reference/Mirage.Components/SyncObjectActive",permalink:"/Mirage/docs/reference/Mirage.Components/SyncObjectActive",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Components/SyncObjectActive.md",tags:[],version:"current",frontMatter:{id:"SyncObjectActive",title:"SyncObjectActive"},sidebar:"api",previous:{title:"ReadyCheck",permalink:"/Mirage/docs/reference/Mirage.Components/ReadyCheck"},next:{title:"Mirage.DisplayMetrics",permalink:"/Mirage/docs/reference/Mirage.DisplayMetrics/"}},c={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5}],s={toc:u};function p(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-syncobjectactive"},"Class SyncObjectActive"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,i.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.NetworkBehaviour")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour._nextSyncTime"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SyncSettings"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsServer"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsClient"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalClient"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsHost"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalPlayer"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsServerOnly"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsClientOnly"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.HasAuthority"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.NetId"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.Server"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.ServerObjectManager"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.Client"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.ClientObjectManager"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.Owner"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.World"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.NetworkTime"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.BehaviourId"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarDirtyBits"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.AnySyncObjectDirty"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.syncObjects"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.Identity"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.ComponentIndex"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarEqual","<","T",">","(T, T)"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.ClearDirtyBits()"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.AnyDirtyBits()"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.GetRpcCount()"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public class SyncObjectActive : NetworkBehaviour\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6494cf5c.b6322c80.js b/assets/js/6494cf5c.b6322c80.js new file mode 100644 index 00000000000..e6f22ae8323 --- /dev/null +++ b/assets/js/6494cf5c.b6322c80.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2942],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),y=s(r),d=a,f=y["".concat(l,".").concat(d)]||y[d]||p[d]||i;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function d(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,c=new Array(i);c[0]=y;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o.mdxType="string"==typeof e?e:a,c[1]=o;for(var s=2;s<i;s++)c[s]=r[s];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}y.displayName="MDXCreateElement"},50112:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));const i={id:"NetworkIdentitySyncvar",title:"NetworkIdentitySyncvar"},c="Struct NetworkIdentitySyncvar",o={unversionedId:"reference/Mirage/NetworkIdentitySyncvar",id:"reference/Mirage/NetworkIdentitySyncvar",title:"NetworkIdentitySyncvar",description:"backing struct for a NetworkIdentity when used as a syncvar",source:"@site/docs/reference/Mirage/NetworkIdentitySyncvar.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkIdentitySyncvar",permalink:"/Mirage/docs/reference/Mirage/NetworkIdentitySyncvar",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkIdentitySyncvar.md",tags:[],version:"current",frontMatter:{id:"NetworkIdentitySyncvar",title:"NetworkIdentitySyncvar"},sidebar:"api",previous:{title:"NetworkIdentitySerializers",permalink:"/Mirage/docs/reference/Mirage/NetworkIdentitySerializers"},next:{title:"NetworkInspectorCallbacks",permalink:"/Mirage/docs/reference/Mirage/NetworkInspectorCallbacks"}},l={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"Value",id:"value",level:4},{value:"Declaration",id:"declaration",level:5}],u={toc:s};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-networkidentitysyncvar"},"Struct NetworkIdentitySyncvar"),(0,a.kt)("p",null,"backing struct for a NetworkIdentity when used as a syncvar\nthe weaver will replace the syncvar with this struct."),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct NetworkIdentitySyncvar\n")),(0,a.kt)("h3",{id:"properties"},"Properties"),(0,a.kt)("h4",{id:"value"},"Value"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkIdentity Value { get; set; }\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/65bb50ec.a2ea447b.js b/assets/js/65bb50ec.a2ea447b.js new file mode 100644 index 00000000000..7972b179277 --- /dev/null +++ b/assets/js/65bb50ec.a2ea447b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5077],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),d=s(r),m=a,k=d["".concat(c,".").concat(m)]||d[m]||p[m]||i;return r?n.createElement(k,l(l({ref:t},u),{},{components:r})):n.createElement(k,l({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,l=new Array(i);l[0]=d;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:a,l[1]=o;for(var s=2;s<i;s++)l[s]=r[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},31147:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));const i={id:"NetworkWriterPool",title:"NetworkWriterPool"},l="Class NetworkWriterPool",o={unversionedId:"reference/Mirage.Serialization/NetworkWriterPool",id:"reference/Mirage.Serialization/NetworkWriterPool",title:"NetworkWriterPool",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/NetworkWriterPool.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/NetworkWriterPool",permalink:"/Mirage/docs/reference/Mirage.Serialization/NetworkWriterPool",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/NetworkWriterPool.md",tags:[],version:"current",frontMatter:{id:"NetworkWriterPool",title:"NetworkWriterPool"},sidebar:"api",previous:{title:"NetworkWriter",permalink:"/Mirage/docs/reference/Mirage.Serialization/NetworkWriter"},next:{title:"PackedExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/PackedExtensions"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"BufferSize",id:"buffersize",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Methods",id:"methods",level:3},{value:"Configure(Int32, Int32, Int32)",id:"configureint32-int32-int32",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"GetWriter()",id:"getwriter",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Returns",id:"returns",level:5}],u={toc:s};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-networkwriterpool"},"Class NetworkWriterPool"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static class NetworkWriterPool\n")),(0,a.kt)("h3",{id:"properties"},"Properties"),(0,a.kt)("h4",{id:"buffersize"},"BufferSize"),(0,a.kt)("p",null,"Current Size of buffers, or null before Configure has been called"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static int? BufferSize { get; }\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"configureint32-int32-int32"},"Configure(Int32, Int32, Int32)"),(0,a.kt)("p",null,"Configures an exist pool or creates a new one\nDoes not create a new pool if bufferSize is less that current "),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static void Configure(int bufferSize, int startPoolSize = 5, int maxPoolSize = 100)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,a.kt)("td",{parentName:"tr",align:null},"bufferSize"),(0,a.kt)("td",{parentName:"tr",align:null},"starting capacity of buffer")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,a.kt)("td",{parentName:"tr",align:null},"startPoolSize"),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,a.kt)("td",{parentName:"tr",align:null},"maxPoolSize"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h4",{id:"getwriter"},"GetWriter()"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static PooledNetworkWriter GetWriter()\n")),(0,a.kt)("h5",{id:"returns"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.PooledNetworkWriter"),(0,a.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6667a3ca.0a28ad17.js b/assets/js/6667a3ca.0a28ad17.js new file mode 100644 index 00000000000..ac6ae3cb389 --- /dev/null +++ b/assets/js/6667a3ca.0a28ad17.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6312],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>y});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),p=s(r),y=a,v=p["".concat(c,".").concat(y)]||p[y]||d[y]||i;return r?n.createElement(v,o(o({ref:t},u),{},{components:r})):n.createElement(v,o({ref:t},u))}));function y(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=p;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:a,o[1]=l;for(var s=2;s<i;s++)o[s]=r[s];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},9675:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));const i={id:"SyncVarAttribute",title:"SyncVarAttribute"},o="Class SyncVarAttribute",l={unversionedId:"reference/Mirage/SyncVarAttribute",id:"reference/Mirage/SyncVarAttribute",title:"SyncVarAttribute",description:"SyncVars are used to synchronize a variable from the server to all clients automatically.",source:"@site/docs/reference/Mirage/SyncVarAttribute.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SyncVarAttribute",permalink:"/Mirage/docs/reference/Mirage/SyncVarAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SyncVarAttribute.md",tags:[],version:"current",frontMatter:{id:"SyncVarAttribute",title:"SyncVarAttribute"},sidebar:"api",previous:{title:"SyncTo",permalink:"/Mirage/docs/reference/Mirage/SyncTo"},next:{title:"SyncVarReceiver",permalink:"/Mirage/docs/reference/Mirage/SyncVarReceiver"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"hook",id:"hook",level:4},{value:"Declaration",id:"declaration",level:5},{value:"initialOnly",id:"initialonly",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"invokeHookOnServer",id:"invokehookonserver",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"invokeHookOnOwner",id:"invokehookonowner",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"hookType",id:"hooktype",level:4},{value:"Declaration",id:"declaration-4",level:5}],u={toc:s};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-syncvarattribute"},"Class SyncVarAttribute"),(0,a.kt)("p",null,"SyncVars are used to synchronize a variable from the server to all clients automatically.\nValue must be changed on server, not directly by clients. Hook parameter allows you to define a client-side method to be invoked when the client gets an update from the server."),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Field)]\npublic class SyncVarAttribute : PropertyAttribute\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"hook"},"hook"),(0,a.kt)("p",null,"A function that should be called on the client when the value changes."),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public string hook\n")),(0,a.kt)("h4",{id:"initialonly"},"initialOnly"),(0,a.kt)("p",null,"If true, this syncvar will only be sent with spawn message, any other changes will not be sent to existing objects"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public bool initialOnly\n")),(0,a.kt)("h4",{id:"invokehookonserver"},"invokeHookOnServer"),(0,a.kt)("p",null,"If true this syncvar hook will also fire on the server side."),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public bool invokeHookOnServer\n")),(0,a.kt)("h4",{id:"invokehookonowner"},"invokeHookOnOwner"),(0,a.kt)("p",null,"If true this syncvar hook will also fire the owner when it is sending data"),(0,a.kt)("h5",{id:"declaration-3"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public bool invokeHookOnOwner\n")),(0,a.kt)("h4",{id:"hooktype"},"hookType"),(0,a.kt)("p",null,"What type of look Mirage should look for"),(0,a.kt)("h5",{id:"declaration-4"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncHookType hookType\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/66a8e7cc.ec325e8b.js b/assets/js/66a8e7cc.ec325e8b.js new file mode 100644 index 00000000000..cd4ab0a64e7 --- /dev/null +++ b/assets/js/66a8e7cc.ec325e8b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4431],{3905:(e,i,t)=>{t.d(i,{Zo:()=>y,kt:()=>b});var r=t(67294);function n(e,i,t){return i in e?Object.defineProperty(e,i,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[i]=t,e}function a(e,i){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);i&&(r=r.filter((function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable}))),t.push.apply(t,r)}return t}function o(e){for(var i=1;i<arguments.length;i++){var t=null!=arguments[i]?arguments[i]:{};i%2?a(Object(t),!0).forEach((function(i){n(e,i,t[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(t,i))}))}return e}function l(e,i){if(null==e)return{};var t,r,n=function(e,i){if(null==e)return{};var t,r,n={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],i.indexOf(t)>=0||(n[t]=e[t]);return n}(e,i);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],i.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var c=r.createContext({}),s=function(e){var i=r.useContext(c),t=i;return e&&(t="function"==typeof e?e(i):o(o({},i),e)),t},y=function(e){var i=s(e.components);return r.createElement(c.Provider,{value:i},e.children)},p={inlineCode:"code",wrapper:function(e){var i=e.children;return r.createElement(r.Fragment,{},i)}},d=r.forwardRef((function(e,i){var t=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,y=l(e,["components","mdxType","originalType","parentName"]),d=s(t),b=n,u=d["".concat(c,".").concat(b)]||d[b]||p[b]||a;return t?r.createElement(u,o(o({ref:i},y),{},{components:t})):r.createElement(u,o({ref:i},y))}));function b(e,i){var t=arguments,n=i&&i.mdxType;if("string"==typeof e||n){var a=t.length,o=new Array(a);o[0]=d;var l={};for(var c in i)hasOwnProperty.call(i,c)&&(l[c]=i[c]);l.originalType=e,l.mdxType="string"==typeof e?e:n,o[1]=l;for(var s=2;s<a;s++)o[s]=t[s];return r.createElement.apply(null,o)}return r.createElement.apply(null,t)}d.displayName="MDXCreateElement"},13865:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var r=t(87462),n=(t(67294),t(3905));const a={id:"NetworkVisibility.VisibilityChanged",title:"NetworkVisibility.VisibilityChanged"},o="Delegate NetworkVisibility.VisibilityChanged",l={unversionedId:"reference/Mirage/NetworkVisibility.VisibilityChanged",id:"reference/Mirage/NetworkVisibility.VisibilityChanged",title:"NetworkVisibility.VisibilityChanged",description:"Syntax",source:"@site/docs/reference/Mirage/NetworkVisibility.VisibilityChanged.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkVisibility.VisibilityChanged",permalink:"/Mirage/docs/reference/Mirage/NetworkVisibility.VisibilityChanged",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkVisibility.VisibilityChanged.md",tags:[],version:"current",frontMatter:{id:"NetworkVisibility.VisibilityChanged",title:"NetworkVisibility.VisibilityChanged"},sidebar:"api",previous:{title:"NetworkTransformChild",permalink:"/Mirage/docs/reference/Mirage/NetworkTransformChild"},next:{title:"NetworkVisibility",permalink:"/Mirage/docs/reference/Mirage/NetworkVisibility"}},c={},s=[{value:"Syntax",id:"syntax",level:5}],y={toc:s};function p(e){let{components:i,...t}=e;return(0,n.kt)("wrapper",(0,r.Z)({},y,t,{components:i,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"delegate-networkvisibilityvisibilitychanged"},"Delegate NetworkVisibility.VisibilityChanged"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public delegate void VisibilityChanged(INetworkPlayer player, bool visible);\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/66e916c3.cbb93695.js b/assets/js/66e916c3.cbb93695.js new file mode 100644 index 00000000000..cb636f4a138 --- /dev/null +++ b/assets/js/66e916c3.cbb93695.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9384],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>h});var r=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=r.createContext({}),u=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},l=function(e){var t=u(e.components);return r.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,s=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),d=u(n),h=i,m=d["".concat(s,".").concat(h)]||d[h]||p[h]||a;return n?r.createElement(m,o(o({ref:t},l),{},{components:n})):r.createElement(m,o({ref:t},l))}));function h(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,o=new Array(a);o[0]=d;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:i,o[1]=c;for(var u=2;u<a;u++)o[u]=n[u];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}d.displayName="MDXCreateElement"},62945:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>c,toc:()=>u});var r=n(87462),i=(n(67294),n(3905));const a={sidebar_position:4},o="Basic Authenticator",c={unversionedId:"guides/authentication/basic-authenticator",id:"guides/authentication/basic-authenticator",title:"Basic Authenticator",description:"Mirage includes a Basic Authenticator in the Mirage/Authenticators folder, which provides a simple authentication mechanism using a server code.",source:"@site/docs/guides/authentication/basic-authenticator.md",sourceDirName:"guides/authentication",slug:"/guides/authentication/basic-authenticator",permalink:"/Mirage/docs/guides/authentication/basic-authenticator",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/authentication/basic-authenticator.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"docs",previous:{title:"Custom Authenticator",permalink:"/Mirage/docs/guides/authentication/custom-authenticator"},next:{title:"Session Id Authenticator",permalink:"/Mirage/docs/guides/authentication/session-id"}},s={},u=[],l={toc:u};function p(e){let{components:t,...a}=e;return(0,i.kt)("wrapper",(0,r.Z)({},l,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"basic-authenticator"},"Basic Authenticator"),(0,i.kt)("p",null,"Mirage includes a Basic Authenticator in the Mirage/Authenticators folder, which provides a simple authentication mechanism using a server code."),(0,i.kt)("p",null,"To use the Basic Authenticator, follow the setup steps described in the ",(0,i.kt)("a",{parentName:"p",href:"/Mirage/docs/guides/authentication/authenticator-settings"},"Authenticator Settings")," page."),(0,i.kt)("p",null,"After performing these steps, the inspector should look like this:"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Inspector showing Basic Authenticator component",src:n(47684).Z,width:"620",height:"227"})),(0,i.kt)("p",null,"You can authenticate with the server by calling the ",(0,i.kt)("inlineCode",{parentName:"p"},"SendCode")," method provided by the authenticator. This method allows you to send a server code to the server for authentication."),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-csharp"},"public void SendCode(NetworkClient client, string serverCode = null)\n")),(0,i.kt)("p",null,"If the ",(0,i.kt)("inlineCode",{parentName:"p"},"serverCode")," parameter is ",(0,i.kt)("inlineCode",{parentName:"p"},"null"),", the method will use the value specified in the public ",(0,i.kt)("inlineCode",{parentName:"p"},"ServerCode")," field of the Basic Authenticator component."))}p.isMDXComponent=!0},47684:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/basic-auth-85bb2f2ef4e5dd290c8078e3be0463d3.png"}}]); \ No newline at end of file diff --git a/assets/js/67576404.92f31c89.js b/assets/js/67576404.92f31c89.js new file mode 100644 index 00000000000..f360ca790e3 --- /dev/null +++ b/assets/js/67576404.92f31c89.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6358],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>y});var i=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,i,a=function(e,t){if(null==e)return{};var r,i,a={},n=Object.keys(e);for(i=0;i<n.length;i++)r=n[i],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i<n.length;i++)r=n[i],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=i.createContext({}),o=function(e){var t=i.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=o(e.components);return i.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},u=i.forwardRef((function(e,t){var r=e.components,a=e.mdxType,n=e.originalType,s=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=o(r),y=a,f=u["".concat(s,".").concat(y)]||u[y]||d[y]||n;return r?i.createElement(f,l(l({ref:t},p),{},{components:r})):i.createElement(f,l({ref:t},p))}));function y(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=r.length,l=new Array(n);l[0]=u;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:a,l[1]=c;for(var o=2;o<n;o++)l[o]=r[o];return i.createElement.apply(null,l)}return i.createElement.apply(null,r)}u.displayName="MDXCreateElement"},18346:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>d,frontMatter:()=>n,metadata:()=>c,toc:()=>o});var i=r(87462),a=(r(67294),r(3905));const n={id:"SetDisplayMetrics",title:"SetDisplayMetrics"},l="Class SetDisplayMetrics",c={unversionedId:"reference/Mirage.DisplayMetrics/SetDisplayMetrics",id:"reference/Mirage.DisplayMetrics/SetDisplayMetrics",title:"SetDisplayMetrics",description:"Inheritance",source:"@site/docs/reference/Mirage.DisplayMetrics/SetDisplayMetrics.md",sourceDirName:"reference/Mirage.DisplayMetrics",slug:"/reference/Mirage.DisplayMetrics/SetDisplayMetrics",permalink:"/Mirage/docs/reference/Mirage.DisplayMetrics/SetDisplayMetrics",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.DisplayMetrics/SetDisplayMetrics.md",tags:[],version:"current",frontMatter:{id:"SetDisplayMetrics",title:"SetDisplayMetrics"},sidebar:"api",previous:{title:"RequestServerMetrics",permalink:"/Mirage/docs/reference/Mirage.DisplayMetrics/RequestServerMetrics"},next:{title:"Mirage.Events",permalink:"/Mirage/docs/reference/Mirage.Events/"}},s={},o=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"server",id:"server",level:4},{value:"Declaration",id:"declaration",level:5},{value:"client",id:"client",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"displayMetrics",id:"displaymetrics",level:4},{value:"Declaration",id:"declaration-2",level:5}],p={toc:o};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,i.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-setdisplaymetrics"},"Class SetDisplayMetrics"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class SetDisplayMetrics : MonoBehaviour\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"server"},"server"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkServer server\n")),(0,a.kt)("h4",{id:"client"},"client"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkClient client\n")),(0,a.kt)("h4",{id:"displaymetrics"},"displayMetrics"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public DisplayMetricsAverageGui displayMetrics\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/677a0949.2f6f3430.js b/assets/js/677a0949.2f6f3430.js new file mode 100644 index 00000000000..482126024b1 --- /dev/null +++ b/assets/js/677a0949.2f6f3430.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3138],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>d});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),s=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},k={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),p=s(r),d=n,h=p["".concat(c,".").concat(d)]||p[d]||k[d]||l;return r?a.createElement(h,i(i({ref:t},u),{},{components:r})):a.createElement(h,i({ref:t},u))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var s=2;s<l;s++)i[s]=r[s];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}p.displayName="MDXCreateElement"},28240:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>k,frontMatter:()=>l,metadata:()=>o,toc:()=>s});var a=r(87462),n=(r(67294),r(3905));const l={id:"NetworkMatchChecker",title:"NetworkMatchChecker"},i="Class NetworkMatchChecker",o={unversionedId:"reference/Mirage/NetworkMatchChecker",id:"reference/Mirage/NetworkMatchChecker",title:"NetworkMatchChecker",description:"Component that controls visibility of networked objects based on match id.",source:"@site/docs/reference/Mirage/NetworkMatchChecker.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkMatchChecker",permalink:"/Mirage/docs/reference/Mirage/NetworkMatchChecker",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkMatchChecker.md",tags:[],version:"current",frontMatter:{id:"NetworkMatchChecker",title:"NetworkMatchChecker"},sidebar:"api",previous:{title:"NetworkManagerMode",permalink:"/Mirage/docs/reference/Mirage/NetworkManagerMode"},next:{title:"NetworkMessageAttribute",permalink:"/Mirage/docs/reference/Mirage/NetworkMessageAttribute"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"currentMatchDebug",id:"currentmatchdebug",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Properties",id:"properties",level:3},{value:"MatchId",id:"matchid",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Methods",id:"methods",level:3},{value:"Awake()",id:"awake",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"OnStartServer()",id:"onstartserver",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"OnCheckObserver(INetworkPlayer)",id:"oncheckobserverinetworkplayer",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"OnRebuildObservers(HashSet<INetworkPlayer>, Boolean)",id:"onrebuildobservershashsetinetworkplayer-boolean",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-1",level:5}],u={toc:s};function k(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networkmatchchecker"},"Class NetworkMatchChecker"),(0,n.kt)("p",null,"Component that controls visibility of networked objects based on match id.\nAny object with this component on it will only be visible to other objects in the same match.\nThis would be used to isolate players to their respective matches within a single game server instance. "),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.NetworkBehaviour"),(0,n.kt)("div",{class:"level",style:{"--data-index":2}},"Mirage.NetworkVisibility")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show"),(0,n.kt)("p",null,"Mirage.NetworkVisibility.OnVisibilityChanged"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour._nextSyncTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncSettings"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsHost"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalPlayer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServerOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClientOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.HasAuthority"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Server"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ServerObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Client"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClientObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Owner"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.World"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetworkTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.BehaviourId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarDirtyBits"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnySyncObjectDirty"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.syncObjects"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Identity"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ComponentIndex"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarEqual","<","T",">","(T, T)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClearDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnyDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.GetRpcCount()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class NetworkMatchChecker : NetworkVisibility, INetworkVisibility\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"currentmatchdebug"},"currentMatchDebug"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public string currentMatchDebug\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"matchid"},"MatchId"),(0,n.kt)("p",null,"Set this to the same value on all networked objects that belong to a given match"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Guid MatchId { get; set; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"awake"},"Awake()"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Awake()\n")),(0,n.kt)("h4",{id:"onstartserver"},"OnStartServer()"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnStartServer()\n")),(0,n.kt)("h4",{id:"oncheckobserverinetworkplayer"},"OnCheckObserver(INetworkPlayer)"),(0,n.kt)("p",null,"Callback used by the visibility system to determine if an observer (player) can see this object.\nIf this function returns true, the network connection will be added as an observer."),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override bool OnCheckObserver(INetworkPlayer player)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"Network connection of a player.")))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"True if the player can see this object.")))),(0,n.kt)("h4",{id:"onrebuildobservershashsetinetworkplayer-boolean"},"OnRebuildObservers(HashSet","<","INetworkPlayer",">",", Boolean)"),(0,n.kt)("p",null,"Callback used by the visibility system to (re)construct the set of observers that can see this object.\nImplementations of this callback should add network connections of players that can see this object to the observers set."),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override void OnRebuildObservers(HashSet<INetworkPlayer> observers, bool initialize)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.HashSet","<","Mirage.INetworkPlayer",">"),(0,n.kt)("td",{parentName:"tr",align:null},"observers"),(0,n.kt)("td",{parentName:"tr",align:null},"The new set of observers for this object.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"initialize"),(0,n.kt)("td",{parentName:"tr",align:null},"True if the set of observers is being built for the first time.")))))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/67ec8c3a.993d096f.js b/assets/js/67ec8c3a.993d096f.js new file mode 100644 index 00000000000..3017569abbd --- /dev/null +++ b/assets/js/67ec8c3a.993d096f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5450],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>u});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),p=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=p(e.components);return a.createElement(c.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,c=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),m=p(n),u=r,h=m["".concat(c,".").concat(u)]||m[u]||s[u]||i;return n?a.createElement(h,o(o({ref:t},d),{},{components:n})):a.createElement(h,o({ref:t},d))}));function u(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,o[1]=l;for(var p=2;p<i;p++)o[p]=n[p];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},91682:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>s,frontMatter:()=>i,metadata:()=>l,toc:()=>p});var a=n(87462),r=(n(67294),n(3905));const i={id:"MethodInvocationException",title:"MethodInvocationException"},o="Class MethodInvocationException",l={unversionedId:"reference/Mirage/MethodInvocationException",id:"reference/Mirage/MethodInvocationException",title:"MethodInvocationException",description:"Exception thrown if a guarded method is invoked incorrectly",source:"@site/docs/reference/Mirage/MethodInvocationException.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/MethodInvocationException",permalink:"/Mirage/docs/reference/Mirage/MethodInvocationException",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/MethodInvocationException.md",tags:[],version:"current",frontMatter:{id:"MethodInvocationException",title:"MethodInvocationException"},sidebar:"api",previous:{title:"MessageWaiter<T>",permalink:"/Mirage/docs/reference/Mirage/MessageWaiter-1"},next:{title:"NetworkAnimator",permalink:"/Mirage/docs/reference/Mirage/NetworkAnimator"}},c={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"MethodInvocationException()",id:"methodinvocationexception",level:4},{value:"Declaration",id:"declaration",level:5},{value:"MethodInvocationException(String)",id:"methodinvocationexceptionstring",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"MethodInvocationException(SerializationInfo, StreamingContext)",id:"methodinvocationexceptionserializationinfo-streamingcontext",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-1",level:5}],d={toc:p};function s(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-methodinvocationexception"},"Class MethodInvocationException"),(0,r.kt)("p",null,"Exception thrown if a guarded method is invoked incorrectly"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,r.kt)("div",{class:"level",style:{"--data-index":1}},"System.Exception")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class MethodInvocationException : Exception, _Exception, ISerializable\n")),(0,r.kt)("h3",{id:"constructors"},"Constructors"),(0,r.kt)("h4",{id:"methodinvocationexception"},"MethodInvocationException()"),(0,r.kt)("p",null,"Initializes a new instance of the class"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public MethodInvocationException()\n")),(0,r.kt)("h4",{id:"methodinvocationexceptionstring"},"MethodInvocationException(String)"),(0,r.kt)("p",null,"Initializes a new instance of the class"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public MethodInvocationException(string message)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null},"message"),(0,r.kt)("td",{parentName:"tr",align:null},"A ",(0,r.kt)("xref",{href:"System.String","data-throw-if-not-resolved":"false"})," that describes the exception.")))),(0,r.kt)("h4",{id:"methodinvocationexceptionserializationinfo-streamingcontext"},"MethodInvocationException(SerializationInfo, StreamingContext)"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected MethodInvocationException(SerializationInfo info, StreamingContext context)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Runtime.Serialization.SerializationInfo"),(0,r.kt)("td",{parentName:"tr",align:null},"info"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Runtime.Serialization.StreamingContext"),(0,r.kt)("td",{parentName:"tr",align:null},"context"),(0,r.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/68238c31.be1080c2.js b/assets/js/68238c31.be1080c2.js new file mode 100644 index 00000000000..880c9a8b052 --- /dev/null +++ b/assets/js/68238c31.be1080c2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6384],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>k});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function o(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function i(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var d=r.createContext({}),c=function(e){var t=r.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},u=function(e){var t=c(e.components);return r.createElement(d.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,d=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=c(a),k=n,v=p["".concat(d,".").concat(k)]||p[k]||s[k]||l;return a?r.createElement(v,o(o({ref:t},u),{},{components:a})):r.createElement(v,o({ref:t},u))}));function k(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,o=new Array(l);o[0]=p;var i={};for(var d in t)hasOwnProperty.call(t,d)&&(i[d]=t[d]);i.originalType=e,i.mdxType="string"==typeof e?e:n,o[1]=i;for(var c=2;c<l;c++)o[c]=a[c];return r.createElement.apply(null,o)}return r.createElement.apply(null,a)}p.displayName="MDXCreateElement"},39630:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>s,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var r=a(87462),n=(a(67294),a(3905));const l={id:"NetworkManagerHud",title:"NetworkManagerHud"},o="Class NetworkManagerHud",i={unversionedId:"reference/Mirage/NetworkManagerHud",id:"reference/Mirage/NetworkManagerHud",title:"NetworkManagerHud",description:"Inheritance",source:"@site/docs/reference/Mirage/NetworkManagerHud.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkManagerHud",permalink:"/Mirage/docs/reference/Mirage/NetworkManagerHud",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkManagerHud.md",tags:[],version:"current",frontMatter:{id:"NetworkManagerHud",title:"NetworkManagerHud"},sidebar:"api",previous:{title:"NetworkManagerGUI",permalink:"/Mirage/docs/reference/Mirage/NetworkManagerGUI"},next:{title:"NetworkManagerMode",permalink:"/Mirage/docs/reference/Mirage/NetworkManagerMode"}},d={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"NetworkManager",id:"networkmanager",level:4},{value:"Declaration",id:"declaration",level:5},{value:"NetworkAddress",id:"networkaddress",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"DontDestroy",id:"dontdestroy",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"NetworkAddressInput",id:"networkaddressinput",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"OfflineGO",id:"offlinego",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"OnlineGO",id:"onlinego",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"StatusLabel",id:"statuslabel",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Methods",id:"methods",level:3},{value:"StartHostButtonHandler()",id:"starthostbuttonhandler",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"StartServerOnlyButtonHandler()",id:"startserveronlybuttonhandler",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"StartClientButtonHandler()",id:"startclientbuttonhandler",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"StopButtonHandler()",id:"stopbuttonhandler",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"OnNetworkAddressInputUpdate()",id:"onnetworkaddressinputupdate",level:4},{value:"Declaration",id:"declaration-11",level:5}],u={toc:c};function s(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networkmanagerhud"},"Class NetworkManagerHud"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class NetworkManagerHud : MonoBehaviour\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"networkmanager"},"NetworkManager"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkManager NetworkManager\n")),(0,n.kt)("h4",{id:"networkaddress"},"NetworkAddress"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public string NetworkAddress\n")),(0,n.kt)("h4",{id:"dontdestroy"},"DontDestroy"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool DontDestroy\n")),(0,n.kt)("h4",{id:"networkaddressinput"},"NetworkAddressInput"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public InputField NetworkAddressInput\n")),(0,n.kt)("h4",{id:"offlinego"},"OfflineGO"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public GameObject OfflineGO\n")),(0,n.kt)("h4",{id:"onlinego"},"OnlineGO"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public GameObject OnlineGO\n")),(0,n.kt)("h4",{id:"statuslabel"},"StatusLabel"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Text StatusLabel\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"starthostbuttonhandler"},"StartHostButtonHandler()"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void StartHostButtonHandler()\n")),(0,n.kt)("h4",{id:"startserveronlybuttonhandler"},"StartServerOnlyButtonHandler()"),(0,n.kt)("h5",{id:"declaration-8"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void StartServerOnlyButtonHandler()\n")),(0,n.kt)("h4",{id:"startclientbuttonhandler"},"StartClientButtonHandler()"),(0,n.kt)("h5",{id:"declaration-9"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void StartClientButtonHandler()\n")),(0,n.kt)("h4",{id:"stopbuttonhandler"},"StopButtonHandler()"),(0,n.kt)("h5",{id:"declaration-10"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void StopButtonHandler()\n")),(0,n.kt)("h4",{id:"onnetworkaddressinputupdate"},"OnNetworkAddressInputUpdate()"),(0,n.kt)("h5",{id:"declaration-11"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnNetworkAddressInputUpdate()\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/68bc1568.999a20f5.js b/assets/js/68bc1568.999a20f5.js new file mode 100644 index 00000000000..e3765565edb --- /dev/null +++ b/assets/js/68bc1568.999a20f5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7772],{3905:(e,r,t)=>{t.d(r,{Zo:()=>l,kt:()=>f});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function s(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?s(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function c(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)t=s[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)t=s[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var i=n.createContext({}),d=function(e){var r=n.useContext(i),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},l=function(e){var r=d(e.components);return n.createElement(i.Provider,{value:r},e.children)},p={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},u=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,s=e.originalType,i=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),u=d(t),f=a,y=u["".concat(i,".").concat(f)]||u[f]||p[f]||s;return t?n.createElement(y,o(o({ref:r},l),{},{components:t})):n.createElement(y,o({ref:r},l))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var s=t.length,o=new Array(s);o[0]=u;var c={};for(var i in r)hasOwnProperty.call(r,i)&&(c[i]=r[i]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var d=2;d<s;d++)o[d]=t[d];return n.createElement.apply(null,o)}return n.createElement.apply(null,t)}u.displayName="MDXCreateElement"},91498:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>i,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var n=t(87462),a=(t(67294),t(3905));const s={id:"IHasAddress",title:"IHasAddress"},o="Interface IHasAddress",c={unversionedId:"reference/Mirage.SocketLayer/IHasAddress",id:"reference/Mirage.SocketLayer/IHasAddress",title:"IHasAddress",description:"Can be added to SocketFactory that have an Address Setting",source:"@site/docs/reference/Mirage.SocketLayer/IHasAddress.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/IHasAddress",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IHasAddress",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/IHasAddress.md",tags:[],version:"current",frontMatter:{id:"IHasAddress",title:"IHasAddress"},sidebar:"api",previous:{title:"IEndPoint",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IEndPoint"},next:{title:"IHasPort",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IHasPort"}},i={},d=[{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"Address",id:"address",level:4},{value:"Declaration",id:"declaration",level:5}],l={toc:d};function p(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},l,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"interface-ihasaddress"},"Interface IHasAddress"),(0,a.kt)("p",null,"Can be added to SocketFactory that have an Address Setting"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IHasAddress\n")),(0,a.kt)("h3",{id:"properties"},"Properties"),(0,a.kt)("h4",{id:"address"},"Address"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"string Address { get; set; }\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/68f10ba5.641bc6ea.js b/assets/js/68f10ba5.641bc6ea.js new file mode 100644 index 00000000000..adfb9acb4cb --- /dev/null +++ b/assets/js/68f10ba5.641bc6ea.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7091],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),c=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),p=c(r),m=a,h=p["".concat(s,".").concat(m)]||p[m]||d[m]||i;return r?n.createElement(h,o(o({ref:t},u),{},{components:r})):n.createElement(h,o({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=p;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:a,o[1]=l;for(var c=2;c<i;c++)o[c]=r[c];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},63062:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const i={id:"NetworkMethodAttribute",title:"NetworkMethodAttribute"},o="Class NetworkMethodAttribute",l={unversionedId:"reference/Mirage/NetworkMethodAttribute",id:"reference/Mirage/NetworkMethodAttribute",title:"NetworkMethodAttribute",description:"Prevents this method from running unless the NetworkFlags match the current state",source:"@site/docs/reference/Mirage/NetworkMethodAttribute.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkMethodAttribute",permalink:"/Mirage/docs/reference/Mirage/NetworkMethodAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkMethodAttribute.md",tags:[],version:"current",frontMatter:{id:"NetworkMethodAttribute",title:"NetworkMethodAttribute"},sidebar:"api",previous:{title:"NetworkMessageAttribute",permalink:"/Mirage/docs/reference/Mirage/NetworkMessageAttribute"},next:{title:"NetworkPingDisplay",permalink:"/Mirage/docs/reference/Mirage/NetworkPingDisplay"}},s={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"NetworkMethodAttribute(NetworkFlags)",id:"networkmethodattributenetworkflags",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"error",id:"error",level:4},{value:"Declaration",id:"declaration-1",level:5}],u={toc:c};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-networkmethodattribute"},"Class NetworkMethodAttribute"),(0,a.kt)("p",null,"Prevents this method from running unless the NetworkFlags match the current state\nCan only be used inside a NetworkBehaviour"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,a.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Method)]\npublic class NetworkMethodAttribute : Attribute, _Attribute\n")),(0,a.kt)("h3",{id:"constructors"},"Constructors"),(0,a.kt)("h4",{id:"networkmethodattributenetworkflags"},"NetworkMethodAttribute(NetworkFlags)"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkMethodAttribute(NetworkFlags flags)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkFlags"),(0,a.kt)("td",{parentName:"tr",align:null},"flags"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"error"},"error"),(0,a.kt)("p",null,"If true, if called incorrectly method will throw.\nIf false, no error is thrown, but the method won","'","t execute."),(0,a.kt)("p",null,"useful for unity built in methods such as Await, Update, Start, etc."),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public bool error\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/693f6e2a.90185965.js b/assets/js/693f6e2a.90185965.js new file mode 100644 index 00000000000..0c9cfee558b --- /dev/null +++ b/assets/js/693f6e2a.90185965.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7838],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>y});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},p=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),d=s(r),y=a,f=d["".concat(l,".").concat(y)]||d[y]||u[y]||i;return r?n.createElement(f,o(o({ref:t},p),{},{components:r})):n.createElement(f,o({ref:t},p))}));function y(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var s=2;s<i;s++)o[s]=r[s];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},57046:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));const i={id:"ReadOnlyInspectorAttribute",title:"ReadOnlyInspectorAttribute"},o="Class ReadOnlyInspectorAttribute",c={unversionedId:"reference/Mirage/ReadOnlyInspectorAttribute",id:"reference/Mirage/ReadOnlyInspectorAttribute",title:"ReadOnlyInspectorAttribute",description:"Makes field readonly in inspector.",source:"@site/docs/reference/Mirage/ReadOnlyInspectorAttribute.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/ReadOnlyInspectorAttribute",permalink:"/Mirage/docs/reference/Mirage/ReadOnlyInspectorAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/ReadOnlyInspectorAttribute.md",tags:[],version:"current",frontMatter:{id:"ReadOnlyInspectorAttribute",title:"ReadOnlyInspectorAttribute"},sidebar:"api",previous:{title:"PlayerSceneChangeEvent",permalink:"/Mirage/docs/reference/Mirage/PlayerSceneChangeEvent"},next:{title:"RemoveAuthorityMessage",permalink:"/Mirage/docs/reference/Mirage/RemoveAuthorityMessage"}},l={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5}],p={toc:s};function u(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-readonlyinspectorattribute"},"Class ReadOnlyInspectorAttribute"),(0,a.kt)("p",null,"Makes field readonly in inspector.\nThis is useful for fields that are set by code, but are shown iin inpector for debuggiing"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Field)]\npublic sealed class ReadOnlyInspectorAttribute : PropertyAttribute\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/69abed1f.ca14d603.js b/assets/js/69abed1f.ca14d603.js new file mode 100644 index 00000000000..dbcba6a7fc8 --- /dev/null +++ b/assets/js/69abed1f.ca14d603.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9069],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),u=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},l=function(e){var t=u(e.components);return n.createElement(p.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),d=u(r),f=a,h=d["".concat(p,".").concat(f)]||d[f]||s[f]||i;return r?n.createElement(h,o(o({ref:t},l),{},{components:r})):n.createElement(h,o({ref:t},l))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=d;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var u=2;u<i;u++)o[u]=r[u];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},40939:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>s,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var n=r(87462),a=(r(67294),r(3905));const i={id:"IAuthenticationDataWrapper",title:"IAuthenticationDataWrapper"},o="Interface IAuthenticationDataWrapper",c={unversionedId:"reference/Mirage.Authentication/IAuthenticationDataWrapper",id:"reference/Mirage.Authentication/IAuthenticationDataWrapper",title:"IAuthenticationDataWrapper",description:"Auth data might be a wrapper around another Authenticator's data.",source:"@site/docs/reference/Mirage.Authentication/IAuthenticationDataWrapper.md",sourceDirName:"reference/Mirage.Authentication",slug:"/reference/Mirage.Authentication/IAuthenticationDataWrapper",permalink:"/Mirage/docs/reference/Mirage.Authentication/IAuthenticationDataWrapper",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authentication/IAuthenticationDataWrapper.md",tags:[],version:"current",frontMatter:{id:"IAuthenticationDataWrapper",title:"IAuthenticationDataWrapper"},sidebar:"api",previous:{title:"AuthenticatorSettings",permalink:"/Mirage/docs/reference/Mirage.Authentication/AuthenticatorSettings"},next:{title:"INetworkAuthenticator",permalink:"/Mirage/docs/reference/Mirage.Authentication/INetworkAuthenticator"}},p={},u=[{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"Inner",id:"inner",level:4},{value:"Declaration",id:"declaration",level:5}],l={toc:u};function s(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"interface-iauthenticationdatawrapper"},"Interface IAuthenticationDataWrapper"),(0,a.kt)("p",null,"Auth data might be a wrapper around another Authenticator","'","s data.\nIn that case should check if data is T or if it is IDataWrapper"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IAuthenticationDataWrapper\n")),(0,a.kt)("h3",{id:"properties"},"Properties"),(0,a.kt)("h4",{id:"inner"},"Inner"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"object Inner { get; }\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/69c2102a.1dd6cb55.js b/assets/js/69c2102a.1dd6cb55.js new file mode 100644 index 00000000000..cf4bfcc9888 --- /dev/null +++ b/assets/js/69c2102a.1dd6cb55.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[56],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>k});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var d=a.createContext({}),u=function(e){var t=a.useContext(d),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=u(e.components);return a.createElement(d.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},c=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=u(r),k=n,s=c["".concat(d,".").concat(k)]||c[k]||m[k]||l;return r?a.createElement(s,i(i({ref:t},p),{},{components:r})):a.createElement(s,i({ref:t},p))}));function k(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=c;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var u=2;u<l;u++)i[u]=r[u];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}c.displayName="MDXCreateElement"},9584:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>o,toc:()=>u});var a=r(87462),n=(r(67294),r(3905));const l={id:"ServerRpcSender",title:"ServerRpcSender"},i="Class ServerRpcSender",o={unversionedId:"reference/Mirage.RemoteCalls/ServerRpcSender",id:"reference/Mirage.RemoteCalls/ServerRpcSender",title:"ServerRpcSender",description:"Methods used by weaver to send RPCs",source:"@site/docs/reference/Mirage.RemoteCalls/ServerRpcSender.md",sourceDirName:"reference/Mirage.RemoteCalls",slug:"/reference/Mirage.RemoteCalls/ServerRpcSender",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/ServerRpcSender",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.RemoteCalls/ServerRpcSender.md",tags:[],version:"current",frontMatter:{id:"ServerRpcSender",title:"ServerRpcSender"},sidebar:"api",previous:{title:"RpcWithReplyMessage",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcWithReplyMessage"},next:{title:"Mirage.Serialization",permalink:"/Mirage/docs/reference/Mirage.Serialization/"}},d={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"Send(NetworkBehaviour, Int32, NetworkWriter, Channel, Boolean)",id:"sendnetworkbehaviour-int32-networkwriter-channel-boolean",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"SendWithReturn<T>(NetworkBehaviour, Int32, NetworkWriter, Boolean)",id:"sendwithreturntnetworkbehaviour-int32-networkwriter-boolean",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"ShouldInvokeLocally(NetworkBehaviour, Boolean)",id:"shouldinvokelocallynetworkbehaviour-boolean",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-1",level:5}],p={toc:u};function m(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-serverrpcsender"},"Class ServerRpcSender"),(0,n.kt)("p",null,"Methods used by weaver to send RPCs"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class ServerRpcSender\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"sendnetworkbehaviour-int32-networkwriter-channel-boolean"},"Send(NetworkBehaviour, Int32, NetworkWriter, Channel, Boolean)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void Send(NetworkBehaviour behaviour, int relativeIndex, NetworkWriter writer, Channel channelId, bool requireAuthority)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,n.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"relativeIndex"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,n.kt)("td",{parentName:"tr",align:null},"channelId"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"requireAuthority"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"sendwithreturntnetworkbehaviour-int32-networkwriter-boolean"},"SendWithReturn","<","T",">","(NetworkBehaviour, Int32, NetworkWriter, Boolean)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static UniTask<T> SendWithReturn<T>(NetworkBehaviour behaviour, int relativeIndex, NetworkWriter writer, bool requireAuthority)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,n.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"relativeIndex"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"requireAuthority"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Cysharp.Threading.Tasks.UniTask","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"shouldinvokelocallynetworkbehaviour-boolean"},"ShouldInvokeLocally(NetworkBehaviour, Boolean)"),(0,n.kt)("p",null,"Used by weaver to check if ClientRPC should be invoked locally in host mode"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static bool ShouldInvokeLocally(NetworkBehaviour behaviour, bool requireAuthority)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,n.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"requireAuthority"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null})))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/69c4e507.4dbf3a02.js b/assets/js/69c4e507.4dbf3a02.js new file mode 100644 index 00000000000..d2cd351942a --- /dev/null +++ b/assets/js/69c4e507.4dbf3a02.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9593],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),d=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=d(e.components);return r.createElement(c.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=d(a),m=n,k=u["".concat(c,".").concat(m)]||u[m]||s[m]||l;return a?r.createElement(k,i(i({ref:t},p),{},{components:a})):r.createElement(k,i({ref:t},p))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=u;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var d=2;d<l;d++)i[d]=a[d];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}u.displayName="MDXCreateElement"},73634:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var r=a(87462),n=(a(67294),a(3905));const l={id:"Peer",title:"Peer"},i="Class Peer",o={unversionedId:"reference/Mirage.SocketLayer/Peer",id:"reference/Mirage.SocketLayer/Peer",title:"Peer",description:"Controls flow of data in/out of mirage, Uses",source:"@site/docs/reference/Mirage.SocketLayer/Peer.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/Peer",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Peer",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/Peer.md",tags:[],version:"current",frontMatter:{id:"Peer",title:"Peer"},sidebar:"api",previous:{title:"PacketType",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/PacketType"},next:{title:"Pool<T>.CreateNewItem",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItem"}},c={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"Peer(ISocket, Int32, IDataHandler, Config, ILogger, Metrics)",id:"peerisocket-int32-idatahandler-config-ilogger-metrics",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Properties",id:"properties",level:3},{value:"PoolMetrics",id:"poolmetrics",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Methods",id:"methods",level:3},{value:"Bind(IEndPoint)",id:"bindiendpoint",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Connect(IEndPoint)",id:"connectiendpoint",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns",level:5},{value:"Close()",id:"close",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"UpdateReceive()",id:"updatereceive",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"UpdateSent()",id:"updatesent",level:4},{value:"Declaration",id:"declaration-6",level:5}],p={toc:d};function s(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-peer"},"Class Peer"),(0,n.kt)("p",null,"Controls flow of data in/out of mirage, Uses "),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class Peer : IPeer\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"peerisocket-int32-idatahandler-config-ilogger-metrics"},"Peer(ISocket, Int32, IDataHandler, Config, ILogger, Metrics)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Peer(ISocket socket, int maxPacketSize, IDataHandler dataHandler, Config config = null, ILogger logger = null, Metrics metrics = null)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.ISocket"),(0,n.kt)("td",{parentName:"tr",align:null},"socket"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"maxPacketSize"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IDataHandler"),(0,n.kt)("td",{parentName:"tr",align:null},"dataHandler"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.Config"),(0,n.kt)("td",{parentName:"tr",align:null},"config"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"ILogger"),(0,n.kt)("td",{parentName:"tr",align:null},"logger"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.Metrics"),(0,n.kt)("td",{parentName:"tr",align:null},"metrics"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"poolmetrics"},"PoolMetrics"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public PoolMetrics PoolMetrics { get; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"bindiendpoint"},"Bind(IEndPoint)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Bind(IEndPoint endPoint)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,n.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"connectiendpoint"},"Connect(IEndPoint)"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public IConnection Connect(IEndPoint endPoint)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,n.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IConnection"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"close"},"Close()"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Close()\n")),(0,n.kt)("h4",{id:"updatereceive"},"UpdateReceive()"),(0,n.kt)("p",null,"Call this at the start of the frame to receive new messages"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void UpdateReceive()\n")),(0,n.kt)("h4",{id:"updatesent"},"UpdateSent()"),(0,n.kt)("p",null,"Call this at end of frame to send new batches"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void UpdateSent()\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6a31f070.2e4afdfc.js b/assets/js/6a31f070.2e4afdfc.js new file mode 100644 index 00000000000..ef37ac5c026 --- /dev/null +++ b/assets/js/6a31f070.2e4afdfc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2653],{3905:(e,r,t)=>{t.d(r,{Zo:()=>c,kt:()=>g});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function l(e,r){if(null==e)return{};var t,a,n=function(e,r){if(null==e)return{};var t,a,n={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var u=a.createContext({}),s=function(e){var r=a.useContext(u),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},c=function(e){var r=s(e.components);return a.createElement(u.Provider,{value:r},e.children)},k={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},p=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,o=e.originalType,u=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=s(t),g=n,m=p["".concat(u,".").concat(g)]||p[g]||k[g]||o;return t?a.createElement(m,i(i({ref:r},c),{},{components:t})):a.createElement(m,i({ref:r},c))}));function g(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var o=t.length,i=new Array(o);i[0]=p;var l={};for(var u in r)hasOwnProperty.call(r,u)&&(l[u]=r[u]);l.originalType=e,l.mdxType="string"==typeof e?e:n,i[1]=l;for(var s=2;s<o;s++)i[s]=t[s];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}p.displayName="MDXCreateElement"},27121:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>u,contentTitle:()=>i,default:()=>k,frontMatter:()=>o,metadata:()=>l,toc:()=>s});var a=t(87462),n=(t(67294),t(3905));const o={id:"NetworkTransform",title:"NetworkTransform"},i="Class NetworkTransform",l={unversionedId:"reference/Mirage/NetworkTransform",id:"reference/Mirage/NetworkTransform",title:"NetworkTransform",description:"Inheritance",source:"@site/docs/reference/Mirage/NetworkTransform.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkTransform",permalink:"/Mirage/docs/reference/Mirage/NetworkTransform",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkTransform.md",tags:[],version:"current",frontMatter:{id:"NetworkTransform",title:"NetworkTransform"},sidebar:"api",previous:{title:"NetworkTime",permalink:"/Mirage/docs/reference/Mirage/NetworkTime"},next:{title:"NetworkTransformBase.DataPoint",permalink:"/Mirage/docs/reference/Mirage/NetworkTransformBase.DataPoint"}},u={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"TargetComponent",id:"targetcomponent",level:4},{value:"Declaration",id:"declaration",level:5}],c={toc:s};function k(e){let{components:r,...t}=e;return(0,n.kt)("wrapper",(0,a.Z)({},c,t,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networktransform"},"Class NetworkTransform"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.NetworkBehaviour"),(0,n.kt)("div",{class:"level",style:{"--data-index":2}},"Mirage.NetworkTransformBase")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show"),(0,n.kt)("p",null,"Mirage.NetworkTransformBase.ClientAuthority"),(0,n.kt)("p",null,"Mirage.NetworkTransformBase.LocalPositionSensitivity"),(0,n.kt)("p",null,"Mirage.NetworkTransformBase.LocalRotationSensitivity"),(0,n.kt)("p",null,"Mirage.NetworkTransformBase.LocalScaleSensitivity"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour._nextSyncTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncSettings"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsHost"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalPlayer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServerOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClientOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.HasAuthority"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Server"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ServerObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Client"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClientObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Owner"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.World"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetworkTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.BehaviourId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarDirtyBits"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnySyncObjectDirty"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.syncObjects"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Identity"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ComponentIndex"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarEqual","<","T",">","(T, T)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClearDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnyDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.GetRpcCount()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class NetworkTransform : NetworkTransformBase\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"targetcomponent"},"TargetComponent"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected override Transform TargetComponent { get; }\n")))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6a7e5168.89f669eb.js b/assets/js/6a7e5168.89f669eb.js new file mode 100644 index 00000000000..747f11425a2 --- /dev/null +++ b/assets/js/6a7e5168.89f669eb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7061],{3905:(e,r,t)=>{t.d(r,{Zo:()=>s,kt:()=>m});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?c(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):c(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function l(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},c=Object.keys(e);for(n=0;n<c.length;n++)t=c[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)t=c[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var i=n.createContext({}),p=function(e){var r=n.useContext(i),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},s=function(e){var r=p(e.components);return n.createElement(i.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},d=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,c=e.originalType,i=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),d=p(t),m=a,f=d["".concat(i,".").concat(m)]||d[m]||u[m]||c;return t?n.createElement(f,o(o({ref:r},s),{},{components:t})):n.createElement(f,o({ref:r},s))}));function m(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var c=t.length,o=new Array(c);o[0]=d;var l={};for(var i in r)hasOwnProperty.call(r,i)&&(l[i]=r[i]);l.originalType=e,l.mdxType="string"==typeof e?e:a,o[1]=l;for(var p=2;p<c;p++)o[p]=t[p];return n.createElement.apply(null,o)}return n.createElement.apply(null,t)}d.displayName="MDXCreateElement"},96749:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>i,contentTitle:()=>o,default:()=>u,frontMatter:()=>c,metadata:()=>l,toc:()=>p});var n=t(87462),a=(t(67294),t(3905));const c={id:"RpcInvokeType",title:"RpcInvokeType"},o="Enum RpcInvokeType",l={unversionedId:"reference/Mirage.RemoteCalls/RpcInvokeType",id:"reference/Mirage.RemoteCalls/RpcInvokeType",title:"RpcInvokeType",description:"Syntax",source:"@site/docs/reference/Mirage.RemoteCalls/RpcInvokeType.md",sourceDirName:"reference/Mirage.RemoteCalls",slug:"/reference/Mirage.RemoteCalls/RpcInvokeType",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcInvokeType",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.RemoteCalls/RpcInvokeType.md",tags:[],version:"current",frontMatter:{id:"RpcInvokeType",title:"RpcInvokeType"},sidebar:"api",previous:{title:"RpcDelegate",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcDelegate"},next:{title:"RpcMessage",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcMessage"}},i={},p=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"ServerRpc",id:"serverrpc",level:4},{value:"Declaration",id:"declaration",level:5},{value:"ClientRpc",id:"clientrpc",level:4},{value:"Declaration",id:"declaration-1",level:5}],s={toc:p};function u(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"enum-rpcinvoketype"},"Enum RpcInvokeType"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public enum RpcInvokeType\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"serverrpc"},"ServerRpc"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"ServerRpc = 0\n")),(0,a.kt)("h4",{id:"clientrpc"},"ClientRpc"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"ClientRpc = 1\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6a86f672.42e3315e.js b/assets/js/6a86f672.42e3315e.js new file mode 100644 index 00000000000..bc4ed0c4fe9 --- /dev/null +++ b/assets/js/6a86f672.42e3315e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2474],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>c});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function u(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var d=n.createContext({}),o=function(e){var t=n.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=o(e.components);return n.createElement(d.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},s=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,d=e.parentName,p=u(e,["components","mdxType","originalType","parentName"]),s=o(a),c=r,k=s["".concat(d,".").concat(c)]||s[c]||m[c]||l;return a?n.createElement(k,i(i({ref:t},p),{},{components:a})):n.createElement(k,i({ref:t},p))}));function c(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=s;var u={};for(var d in t)hasOwnProperty.call(t,d)&&(u[d]=t[d]);u.originalType=e,u.mdxType="string"==typeof e?e:r,i[1]=u;for(var o=2;o<l;o++)i[o]=a[o];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}s.displayName="MDXCreateElement"},98003:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>u,toc:()=>o});var n=a(87462),r=(a(67294),a(3905));const l={id:"RingBuffer-1",title:"RingBuffer<T>"},i="Class RingBuffer<T>",u={unversionedId:"reference/Mirage.SocketLayer/RingBuffer-1",id:"reference/Mirage.SocketLayer/RingBuffer-1",title:"RingBuffer<T>",description:"Inheritance",source:"@site/docs/reference/Mirage.SocketLayer/RingBuffer-1.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/RingBuffer-1",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/RingBuffer-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/RingBuffer-1.md",tags:[],version:"current",frontMatter:{id:"RingBuffer-1",title:"RingBuffer<T>"},sidebar:"api",previous:{title:"ReliableBatch",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ReliableBatch"},next:{title:"Sequencer",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Sequencer"}},d={},o=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Constructors",id:"constructors",level:3},{value:"RingBuffer(Int32, ILogger)",id:"ringbufferint32-ilogger",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RingBuffer(Int32, IEqualityComparer<T>, ILogger)",id:"ringbufferint32-iequalitycomparert-ilogger",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Fields",id:"fields",level:3},{value:"Sequencer",id:"sequencer",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Properties",id:"properties",level:3},{value:"Read",id:"read",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Write",id:"write",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Count",id:"count",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Capacity",id:"capacity",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"ItemUInt32",id:"itemuint32",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"ItemInt32",id:"itemint32",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"IsFull",id:"isfull",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Methods",id:"methods",level:3},{value:"DistanceToRead(UInt32)",id:"distancetoreaduint32",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns",level:5},{value:"Enqueue(T)",id:"enqueuet",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-1",level:5},{value:"TryPeak(out T)",id:"trypeakout-t",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns-2",level:5},{value:"Exists(UInt32)",id:"existsuint32",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"Returns",id:"returns-3",level:5},{value:"RemoveNext()",id:"removenext",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Dequeue()",id:"dequeue",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Returns",id:"returns-4",level:5},{value:"TryDequeue(out T)",id:"trydequeueout-t",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"Returns",id:"returns-5",level:5},{value:"InsertAt(UInt32, T)",id:"insertatuint32-t",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"RemoveAt(UInt32)",id:"removeatuint32",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"MoveReadToNextNonEmpty()",id:"movereadtonextnonempty",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"MoveReadOne()",id:"movereadone",level:4},{value:"Declaration",id:"declaration-20",level:5},{value:"ClearAndRelease(Action<T>)",id:"clearandreleaseactiont",level:4},{value:"Declaration",id:"declaration-21",level:5},{value:"Parameters",id:"parameters-9",level:5}],p={toc:o};function m(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-ringbuffert"},"Class RingBuffer","<","T",">"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class RingBuffer<T>\n")),(0,r.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"constructors"},"Constructors"),(0,r.kt)("h4",{id:"ringbufferint32-ilogger"},"RingBuffer(Int32, ILogger)"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public RingBuffer(int bitCount, ILogger logger)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"bitCount"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"UnityEngine.ILogger"),(0,r.kt)("td",{parentName:"tr",align:null},"logger"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"ringbufferint32-iequalitycomparert-ilogger"},"RingBuffer(Int32, IEqualityComparer","<","T",">",", ILogger)"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public RingBuffer(int bitCount, IEqualityComparer<T> comparer, ILogger logger)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"bitCount"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEqualityComparer","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"comparer"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"UnityEngine.ILogger"),(0,r.kt)("td",{parentName:"tr",align:null},"logger"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"sequencer"},"Sequencer"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly Sequencer Sequencer\n")),(0,r.kt)("h3",{id:"properties"},"Properties"),(0,r.kt)("h4",{id:"read"},"Read"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public uint Read { get; }\n")),(0,r.kt)("h4",{id:"write"},"Write"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public uint Write { get; }\n")),(0,r.kt)("h4",{id:"count"},"Count"),(0,r.kt)("p",null,"Number of non-null items in buffer\nNOTE: this is not distance from read to write"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public int Count { get; }\n")),(0,r.kt)("h4",{id:"capacity"},"Capacity"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public int Capacity { get; }\n")),(0,r.kt)("h4",{id:"itemuint32"},"Item","[UInt32]"),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public T this[uint index] { get; }\n")),(0,r.kt)("h4",{id:"itemint32"},"Item","[Int32]"),(0,r.kt)("h5",{id:"declaration-8"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public T this[int index] { get; }\n")),(0,r.kt)("h4",{id:"isfull"},"IsFull"),(0,r.kt)("h5",{id:"declaration-9"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsFull { get; }\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"distancetoreaduint32"},"DistanceToRead(UInt32)"),(0,r.kt)("h5",{id:"declaration-10"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public long DistanceToRead(uint from)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,r.kt)("td",{parentName:"tr",align:null},"from"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int64"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"enqueuet"},"Enqueue(T)"),(0,r.kt)("h5",{id:"declaration-11"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public uint Enqueue(T item)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-1"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,r.kt)("td",{parentName:"tr",align:null},"sequance of written item")))),(0,r.kt)("h4",{id:"trypeakout-t"},"TryPeak(out T)"),(0,r.kt)("p",null,"Tries to read the item at read index\nsame as but does not remove the item after reading it"),(0,r.kt)("h5",{id:"declaration-12"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool TryPeak(out T item)\n")),(0,r.kt)("h5",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-2"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"true if item exists, or false if it is missing")))),(0,r.kt)("h4",{id:"existsuint32"},"Exists(UInt32)"),(0,r.kt)("p",null,"Does item exist at index\nIndex will be moved into bounds"),(0,r.kt)("h5",{id:"declaration-13"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Exists(uint index)\n")),(0,r.kt)("h5",{id:"parameters-5"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,r.kt)("td",{parentName:"tr",align:null},"index"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-3"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"true if item exists, or false if it is missing")))),(0,r.kt)("h4",{id:"removenext"},"RemoveNext()"),(0,r.kt)("p",null,"Removes the item at read index and increments read index\ncan be used after to do the same as "),(0,r.kt)("h5",{id:"declaration-14"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveNext()\n")),(0,r.kt)("h4",{id:"dequeue"},"Dequeue()"),(0,r.kt)("p",null,"Removes next item and increments read index\nAssumes next items exists, best to use this with "),(0,r.kt)("h5",{id:"declaration-15"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public T Dequeue()\n")),(0,r.kt)("h5",{id:"returns-4"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"trydequeueout-t"},"TryDequeue(out T)"),(0,r.kt)("p",null,"Tries to remove the item at read index"),(0,r.kt)("h5",{id:"declaration-16"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool TryDequeue(out T item)\n")),(0,r.kt)("h5",{id:"parameters-6"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-5"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"true if item exists, or false if it is missing")))),(0,r.kt)("h4",{id:"insertatuint32-t"},"InsertAt(UInt32, T)"),(0,r.kt)("h5",{id:"declaration-17"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void InsertAt(uint index, T item)\n")),(0,r.kt)("h5",{id:"parameters-7"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,r.kt)("td",{parentName:"tr",align:null},"index"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"removeatuint32"},"RemoveAt(UInt32)"),(0,r.kt)("h5",{id:"declaration-18"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveAt(uint index)\n")),(0,r.kt)("h5",{id:"parameters-8"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,r.kt)("td",{parentName:"tr",align:null},"index"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"movereadtonextnonempty"},"MoveReadToNextNonEmpty()"),(0,r.kt)("p",null,"Moves read index to next non empty position\nthis is useful when removing items from buffer in random order.\nWill stop when write == read, or when next buffer item is not empty"),(0,r.kt)("h5",{id:"declaration-19"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void MoveReadToNextNonEmpty()\n")),(0,r.kt)("h4",{id:"movereadone"},"MoveReadOne()"),(0,r.kt)("p",null,"Moves read 1 index"),(0,r.kt)("h5",{id:"declaration-20"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void MoveReadOne()\n")),(0,r.kt)("h4",{id:"clearandreleaseactiont"},"ClearAndRelease(Action","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-21"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void ClearAndRelease(Action<T> releaseItem)\n")),(0,r.kt)("h5",{id:"parameters-9"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Action","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"releaseItem"),(0,r.kt)("td",{parentName:"tr",align:null})))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6ac045de.4496fecc.js b/assets/js/6ac045de.4496fecc.js new file mode 100644 index 00000000000..4c3f0c7b202 --- /dev/null +++ b/assets/js/6ac045de.4496fecc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5832],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),u=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),d=u(n),m=r,k=d["".concat(s,".").concat(m)]||d[m]||p[m]||i;return n?a.createElement(k,l(l({ref:t},c),{},{components:n})):a.createElement(k,l({ref:t},c))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=d;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:r,l[1]=o;for(var u=2;u<i;u++)l[u]=n[u];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}d.displayName="MDXCreateElement"},56589:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var a=n(87462),r=(n(67294),n(3905));const i={},l="Quaternion Pack",o={unversionedId:"guides/bit-packing/quaternion-pack",id:"guides/bit-packing/quaternion-pack",title:"Quaternion Pack",description:"This page is a work in progress",source:"@site/docs/guides/bit-packing/quaternion-pack.md",sourceDirName:"guides/bit-packing",slug:"/guides/bit-packing/quaternion-pack",permalink:"/Mirage/docs/guides/bit-packing/quaternion-pack",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/bit-packing/quaternion-pack.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Float Pack",permalink:"/Mirage/docs/guides/bit-packing/float-pack"},next:{title:"Variable Sized Integer Blocks",permalink:"/Mirage/docs/guides/bit-packing/var-int-blocks"}},s={},u=[{value:"Quaternion Rules",id:"quaternion-rules",level:3},{value:"Quaternions should be normalized",id:"quaternions-should-be-normalized",level:4},{value:"Positive and Negative Quaternions represent the same rotation",id:"positive-and-negative-quaternions-represent-the-same-rotation",level:4},{value:"Max of the second largest element",id:"max-of-the-second-largest-element",level:4},{value:"Result",id:"result",level:4},{value:"Supported Types",id:"supported-types",level:3},{value:"Example 1",id:"example-1",level:3},{value:"Generated Code",id:"generated-code",level:3}],c={toc:u};function p(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"quaternion-pack"},"Quaternion Pack"),(0,r.kt)("admonition",{title:"Work In Progress",type:"caution"},(0,r.kt)("p",{parentName:"admonition"},"This page is a work in progress")),(0,r.kt)("h3",{id:"quaternion-rules"},"Quaternion Rules"),(0,r.kt)("p",null,"Quaternions can be packed using some of the mathematical rules they follow"),(0,r.kt)("h4",{id:"quaternions-should-be-normalized"},"Quaternions should be normalized"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"x^2 + y^2 + z^2 + w^2 = 1")),(0,r.kt)("p",null,"Because of this we only need to send the smallest 3 values as we can calculate the largest one again on the other side."),(0,r.kt)("p",null,"We also need to send the index to say which of the 4 elements was the largest"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"largest = sqrt(1 - a^2 + b^2 + c^2)")),(0,r.kt)("h4",{id:"positive-and-negative-quaternions-represent-the-same-rotation"},"Positive and Negative Quaternions represent the same rotation"),(0,r.kt)("p",null,"Q(x,y,z,w) === Q(-x,-y,-z,-w)"),(0,r.kt)("p",null,"If the largest element is negative we would have to send its sign in order to calculate the correct rotation."),(0,r.kt)("p",null,"However, because Q=-Q, if the largest element is negative we can just flip the sign of all 4 elements instead."),(0,r.kt)("h4",{id:"max-of-the-second-largest-element"},"Max of the second largest element"),(0,r.kt)("p",null,"The value of the 2nd largest element is when it is also equal to the largest so we have"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"L^2 + L^2 = 1")),(0,r.kt)("p",null,"From this, we can find the max value for the 2nd largest is "),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"L = +- 1 / sqrt(2) = +- ~0.707")),(0,r.kt)("p",null,"This allows us to pack the smallest 3 elements in the range ",(0,r.kt)("inlineCode",{parentName:"p"},"-0.707")," to ",(0,r.kt)("inlineCode",{parentName:"p"},"+0.707")," instead of ",(0,r.kt)("inlineCode",{parentName:"p"},"-1")," to ",(0,r.kt)("inlineCode",{parentName:"p"},"+1")),(0,r.kt)("h4",{id:"result"},"Result"),(0,r.kt)("p",null,"Combining all this we can send each of the smallest 3 elements with 9 bits, and 2 bits for the index of the largest element. Which reduces the size of a Quaternion from 128 bits unpacked to only 29 bits."),(0,r.kt)("p",null,"The precision of the smallest 3 can in increased or decreased to change the bit counts by multiples of 3. eg 10 bits per element will result in 32 bits total."),(0,r.kt)("h3",{id:"supported-types"},"Supported Types"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Quaternion")),(0,r.kt)("h3",{id:"example-1"},"Example 1"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class MyNetworkBehaviour : NetworkBehaviour \n{\n [SyncVar, QuaternionPack(9)]\n public Quaternion direction;\n}\n")),(0,r.kt)("h3",{id:"generated-code"},"Generated Code"),(0,r.kt)("p",null,"Source:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"[SyncVar, QuaternionPack(9)]\npublic int myValue;\n")),(0,r.kt)("p",null,"Generated:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"\nprivate QuaternionPacker myValue__Packer = new QuaternionPacker(9);\n\npublic override bool SerializeSyncVars(NetworkWriter writer, bool initialState)\n{\n ulong syncVarDirtyBits = base.SyncVarDirtyBits;\n bool result = base.SerializeSyncVars(writer, initialize);\n\n if (initialState) \n {\n myValue__Packer.Pack(writer, this.myValue);\n return true;\n }\n\n writer.Write(syncVarDirtyBits, 1);\n if ((syncVarDirtyBits & 1UL) != 0UL)\n {\n myValue__Packer.Pack(writer, this.myValue);\n result = true;\n }\n\n return result;\n}\n\npublic override void DeserializeSyncVars(NetworkReader reader, bool initialState)\n{\n base.DeserializeSyncVars(reader, initialState);\n\n if (initialState)\n {\n this.myValue = myValue__Packer.Unpack(reader);\n return;\n }\n\n ulong dirtyMask = reader.Read(1);\n if ((dirtyMask & 1UL) != 0UL)\n {\n this.myValue = myValue__Packer.Unpack(reader);\n }\n}\n")),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"last updated for Mirage v101.8.0")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6aef5635.a58f2bb5.js b/assets/js/6aef5635.a58f2bb5.js new file mode 100644 index 00000000000..2ec82df3826 --- /dev/null +++ b/assets/js/6aef5635.a58f2bb5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5646],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>k});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),s=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,l=e.originalType,c=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),u=s(n),k=r,m=u["".concat(c,".").concat(k)]||u[k]||p[k]||l;return n?a.createElement(m,o(o({ref:t},d),{},{components:n})):a.createElement(m,o({ref:t},d))}));function k(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=n.length,o=new Array(l);o[0]=u;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:r,o[1]=i;for(var s=2;s<l;s++)o[s]=n[s];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}u.displayName="MDXCreateElement"},35412:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>l,metadata:()=>i,toc:()=>s});var a=n(87462),r=(n(67294),n(3905));const l={id:"NetworkSpawnSettings",title:"NetworkSpawnSettings"},o="Struct NetworkSpawnSettings",i={unversionedId:"reference/Mirage/NetworkSpawnSettings",id:"reference/Mirage/NetworkSpawnSettings",title:"NetworkSpawnSettings",description:"Spawn Settings for",source:"@site/docs/reference/Mirage/NetworkSpawnSettings.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkSpawnSettings",permalink:"/Mirage/docs/reference/Mirage/NetworkSpawnSettings",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkSpawnSettings.md",tags:[],version:"current",frontMatter:{id:"NetworkSpawnSettings",title:"NetworkSpawnSettings"},sidebar:"api",previous:{title:"NetworkServer",permalink:"/Mirage/docs/reference/Mirage/NetworkServer"},next:{title:"NetworkTime",permalink:"/Mirage/docs/reference/Mirage/NetworkTime"}},c={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"NetworkSpawnSettings(Boolean, Boolean, Boolean, Boolean, SyncActiveOption)",id:"networkspawnsettingsboolean-boolean-boolean-boolean-syncactiveoption",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"NetworkSpawnSettings(Boolean, Boolean, Boolean)",id:"networkspawnsettingsboolean-boolean-boolean",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Fields",id:"fields",level:3},{value:"SendPosition",id:"sendposition",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"SendRotation",id:"sendrotation",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"SendScale",id:"sendscale",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"SendName",id:"sendname",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"SendActive",id:"sendactive",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Properties",id:"properties",level:3},{value:"Default",id:"default",level:4},{value:"Declaration",id:"declaration-7",level:5}],d={toc:s};function p(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"struct-networkspawnsettings"},"Struct NetworkSpawnSettings"),(0,r.kt)("p",null,"Spawn Settings for "),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic struct NetworkSpawnSettings\n")),(0,r.kt)("h3",{id:"constructors"},"Constructors"),(0,r.kt)("h4",{id:"networkspawnsettingsboolean-boolean-boolean-boolean-syncactiveoption"},"NetworkSpawnSettings(Boolean, Boolean, Boolean, Boolean, SyncActiveOption)"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkSpawnSettings(bool sendPosition, bool sendRotation, bool sendScale, bool sendName, SyncActiveOption sendActive)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"sendPosition"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"sendRotation"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"sendScale"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"sendName"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SyncActiveOption"),(0,r.kt)("td",{parentName:"tr",align:null},"sendActive"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"networkspawnsettingsboolean-boolean-boolean"},"NetworkSpawnSettings(Boolean, Boolean, Boolean)"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkSpawnSettings(bool sendPosition, bool sendRotation, bool sendScale)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"sendPosition"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"sendRotation"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"sendScale"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"sendposition"},"SendPosition"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool SendPosition\n")),(0,r.kt)("h4",{id:"sendrotation"},"SendRotation"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool SendRotation\n")),(0,r.kt)("h4",{id:"sendscale"},"SendScale"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool SendScale\n")),(0,r.kt)("h4",{id:"sendname"},"SendName"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool SendName\n")),(0,r.kt)("h4",{id:"sendactive"},"SendActive"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncActiveOption SendActive\n")),(0,r.kt)("h3",{id:"properties"},"Properties"),(0,r.kt)("h4",{id:"default"},"Default"),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static NetworkSpawnSettings Default { get; }\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6af88fca.5e685dfb.js b/assets/js/6af88fca.5e685dfb.js new file mode 100644 index 00000000000..dd0c29de3dd --- /dev/null +++ b/assets/js/6af88fca.5e685dfb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6442],{3905:(e,n,r)=>{r.d(n,{Zo:()=>f,kt:()=>u});var t=r(67294);function i(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function a(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function l(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?a(Object(r),!0).forEach((function(n){i(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}function c(e,n){if(null==e)return{};var r,t,i=function(e,n){if(null==e)return{};var r,t,i={},a=Object.keys(e);for(t=0;t<a.length;t++)r=a[t],n.indexOf(r)>=0||(i[r]=e[r]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t<a.length;t++)r=a[t],n.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var o=t.createContext({}),s=function(e){var n=t.useContext(o),r=n;return e&&(r="function"==typeof e?e(n):l(l({},n),e)),r},f=function(e){var n=s(e.components);return t.createElement(o.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},p=t.forwardRef((function(e,n){var r=e.components,i=e.mdxType,a=e.originalType,o=e.parentName,f=c(e,["components","mdxType","originalType","parentName"]),p=s(r),u=i,O=p["".concat(o,".").concat(u)]||p[u]||d[u]||a;return r?t.createElement(O,l(l({ref:n},f),{},{components:r})):t.createElement(O,l({ref:n},f))}));function u(e,n){var r=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=r.length,l=new Array(a);l[0]=p;var c={};for(var o in n)hasOwnProperty.call(n,o)&&(c[o]=n[o]);c.originalType=e,c.mdxType="string"==typeof e?e:i,l[1]=c;for(var s=2;s<a;s++)l[s]=r[s];return t.createElement.apply(null,l)}return t.createElement.apply(null,r)}p.displayName="MDXCreateElement"},54268:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var t=r(87462),i=(r(67294),r(3905));const a={id:"OnlineOfflineScene",title:"OnlineOfflineScene"},l="Class OnlineOfflineScene",c={unversionedId:"reference/Mirage/OnlineOfflineScene",id:"reference/Mirage/OnlineOfflineScene",title:"OnlineOfflineScene",description:"Inheritance",source:"@site/docs/reference/Mirage/OnlineOfflineScene.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/OnlineOfflineScene",permalink:"/Mirage/docs/reference/Mirage/OnlineOfflineScene",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/OnlineOfflineScene.md",tags:[],version:"current",frontMatter:{id:"OnlineOfflineScene",title:"OnlineOfflineScene"},sidebar:"api",previous:{title:"ObjectHideMessage",permalink:"/Mirage/docs/reference/Mirage/ObjectHideMessage"},next:{title:"PipePeerConnection.PipeEndPoint",permalink:"/Mirage/docs/reference/Mirage/PipePeerConnection.PipeEndPoint"}},o={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Server",id:"server",level:4},{value:"Declaration",id:"declaration",level:5},{value:"NetworkSceneManager",id:"networkscenemanager",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"OnlineScene",id:"onlinescene",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"OfflineScene",id:"offlinescene",level:4},{value:"Declaration",id:"declaration-3",level:5}],f={toc:s};function d(e){let{components:n,...r}=e;return(0,i.kt)("wrapper",(0,t.Z)({},f,r,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-onlineofflinescene"},"Class OnlineOfflineScene"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public class OnlineOfflineScene : MonoBehaviour\n")),(0,i.kt)("h3",{id:"fields"},"Fields"),(0,i.kt)("h4",{id:"server"},"Server"),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkServer Server\n")),(0,i.kt)("h4",{id:"networkscenemanager"},"NetworkSceneManager"),(0,i.kt)("h5",{id:"declaration-1"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkSceneManager NetworkSceneManager\n")),(0,i.kt)("h4",{id:"onlinescene"},"OnlineScene"),(0,i.kt)("h5",{id:"declaration-2"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public string OnlineScene\n")),(0,i.kt)("h4",{id:"offlinescene"},"OfflineScene"),(0,i.kt)("h5",{id:"declaration-3"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public string OfflineScene\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6ee977c8.6c4915b6.js b/assets/js/6ee977c8.6c4915b6.js new file mode 100644 index 00000000000..8a046943cfe --- /dev/null +++ b/assets/js/6ee977c8.6c4915b6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3828],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>m});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},i=Object.keys(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=o.createContext({}),l=function(e){var t=o.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=l(r),m=n,g=d["".concat(c,".").concat(m)]||d[m]||u[m]||i;return r?o.createElement(g,a(a({ref:t},p),{},{components:r})):o.createElement(g,a({ref:t},p))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,a=new Array(i);a[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:n,a[1]=s;for(var l=2;l<i;l++)a[l]=r[l];return o.createElement.apply(null,a)}return o.createElement.apply(null,r)}d.displayName="MDXCreateElement"},29174:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var o=r(87462),n=(r(67294),r(3905));const i={sidebar_position:12},a="Resources",s={unversionedId:"guides/resources",id:"guides/resources",title:"Resources",description:"This page is a work in progress",source:"@site/docs/guides/resources.md",sourceDirName:"guides",slug:"/guides/resources",permalink:"/Mirage/docs/guides/resources",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/resources.md",tags:[],version:"current",sidebarPosition:12,frontMatter:{sidebar_position:12},sidebar:"docs",previous:{title:"Best Practices",permalink:"/Mirage/docs/guides/best-practices"},next:{title:"FAQ",permalink:"/Mirage/docs/guides/faq"}},c={},l=[{value:"Video Tutorials Playlists",id:"video-tutorials-playlists",level:2},{value:"Object Pooling",id:"object-pooling",level:2}],p={toc:l};function u(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,o.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"resources"},"Resources"),(0,n.kt)("admonition",{title:"Work In Progress",type:"caution"},(0,n.kt)("p",{parentName:"admonition"},"This page is a work in progress")),(0,n.kt)("h2",{id:"video-tutorials-playlists"},"Video Tutorials Playlists"),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"These videos are meant for Mirror but much of what they teach also applies to Mirage.")),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.youtube.com/playlist?list=PLkx8oFug638oBYF5EOwsSS-gOVBXj1dkP"},"Unity - Mirror Networking by First Gear Games")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://www.youtube.com/playlist?list=PLS6sInD7ThM1aUDj8lZrF4b4lpvejB2uB"},"Mirror Multiplayer by Dapper Dino"))),(0,n.kt)("h2",{id:"object-pooling"},"Object Pooling"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://gist.github.com/James-Frowen/46ca5e8fd76d62527be7b958ca8dbaf1"},"Simple object pooling script")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://gist.github.com/James-Frowen/c2ab4cdc96165298518bd2db0781bbe6"},"Advanced object pooling scripts"))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6f3edcc1.745bb8e6.js b/assets/js/6f3edcc1.745bb8e6.js new file mode 100644 index 00000000000..c07988f771f --- /dev/null +++ b/assets/js/6f3edcc1.745bb8e6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4697],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>d});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function n(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,i=function(e,t){if(null==e)return{};var r,a,i={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var s=a.createContext({}),u=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):n(n({},t),e)),r},c=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},k={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var r=e.components,i=e.mdxType,l=e.originalType,s=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),p=u(r),d=i,h=p["".concat(s,".").concat(d)]||p[d]||k[d]||l;return r?a.createElement(h,n(n({ref:t},c),{},{components:r})):a.createElement(h,n({ref:t},c))}));function d(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var l=r.length,n=new Array(l);n[0]=p;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:i,n[1]=o;for(var u=2;u<l;u++)n[u]=r[u];return a.createElement.apply(null,n)}return a.createElement.apply(null,r)}p.displayName="MDXCreateElement"},73053:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>k,frontMatter:()=>l,metadata:()=>o,toc:()=>u});var a=r(87462),i=(r(67294),r(3905));const l={id:"NetworkVisibility",title:"NetworkVisibility"},n="Class NetworkVisibility",o={unversionedId:"reference/Mirage/NetworkVisibility",id:"reference/Mirage/NetworkVisibility",title:"NetworkVisibility",description:"NetworkBehaviour that calculates if the gameObject should be visible to different players or not",source:"@site/docs/reference/Mirage/NetworkVisibility.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkVisibility",permalink:"/Mirage/docs/reference/Mirage/NetworkVisibility",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkVisibility.md",tags:[],version:"current",frontMatter:{id:"NetworkVisibility",title:"NetworkVisibility"},sidebar:"api",previous:{title:"NetworkVisibility.VisibilityChanged",permalink:"/Mirage/docs/reference/Mirage/NetworkVisibility.VisibilityChanged"},next:{title:"NetworkWorld",permalink:"/Mirage/docs/reference/Mirage/NetworkWorld"}},s={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"OnCheckObserver(INetworkPlayer)",id:"oncheckobserverinetworkplayer",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"OnRebuildObservers(HashSet<INetworkPlayer>, Boolean)",id:"onrebuildobservershashsetinetworkplayer-boolean",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],c={toc:u};function k(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,a.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-networkvisibility"},"Class NetworkVisibility"),(0,i.kt)("p",null,"NetworkBehaviour that calculates if the gameObject should be visible to different players or not"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,i.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.NetworkBehaviour")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour._nextSyncTime"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SyncSettings"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsServer"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsClient"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalClient"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsHost"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalPlayer"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsServerOnly"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsClientOnly"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.HasAuthority"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.NetId"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.Server"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.ServerObjectManager"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.Client"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.ClientObjectManager"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.Owner"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.World"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.NetworkTime"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.BehaviourId"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarDirtyBits"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.AnySyncObjectDirty"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.syncObjects"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.Identity"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.ComponentIndex"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarEqual","<","T",">","(T, T)"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.ClearDirtyBits()"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.AnyDirtyBits()"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.GetRpcCount()"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public abstract class NetworkVisibility : NetworkBehaviour, INetworkVisibility\n")),(0,i.kt)("h3",{id:"methods"},"Methods"),(0,i.kt)("h4",{id:"oncheckobserverinetworkplayer"},"OnCheckObserver(INetworkPlayer)"),(0,i.kt)("p",null,"Callback used by the visibility system to determine if an observer (player) can see this object.\nIf this function returns true, the network connection will be added as an observer."),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public abstract bool OnCheckObserver(INetworkPlayer player)\n")),(0,i.kt)("h5",{id:"parameters"},"Parameters"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Name"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,i.kt)("td",{parentName:"tr",align:null},"player"),(0,i.kt)("td",{parentName:"tr",align:null},"Network connection of a player.")))),(0,i.kt)("h5",{id:"returns"},"Returns"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,i.kt)("td",{parentName:"tr",align:null},"True if the player can see this object.")))),(0,i.kt)("h4",{id:"onrebuildobservershashsetinetworkplayer-boolean"},"OnRebuildObservers(HashSet","<","INetworkPlayer",">",", Boolean)"),(0,i.kt)("p",null,"Callback used by the visibility system to (re)construct the set of observers that can see this object.\nImplementations of this callback should add network connections of players that can see this object to the observers set."),(0,i.kt)("p",null,"NOTE: override this function if you want to optimize this loop in your visibility,\nfor example if you need to call GetComponent on this object you can call it once at the start of the loop"),(0,i.kt)("h5",{id:"declaration-1"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual void OnRebuildObservers(HashSet<INetworkPlayer> observers, bool initialize)\n")),(0,i.kt)("h5",{id:"parameters-1"},"Parameters"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Name"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.HashSet","<","Mirage.INetworkPlayer",">"),(0,i.kt)("td",{parentName:"tr",align:null},"observers"),(0,i.kt)("td",{parentName:"tr",align:null},"The new set of observers for this object.")),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,i.kt)("td",{parentName:"tr",align:null},"initialize"),(0,i.kt)("td",{parentName:"tr",align:null},"True if the set of observers is being built for the first time.")))))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7034e9cc.c40028ec.js b/assets/js/7034e9cc.c40028ec.js new file mode 100644 index 00000000000..61e8b2f94be --- /dev/null +++ b/assets/js/7034e9cc.c40028ec.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2214],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var o=n.createContext({}),s=function(e){var t=n.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(o.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),p=s(r),m=a,f=p["".concat(o,".").concat(m)]||p[m]||d[m]||i;return r?n.createElement(f,l(l({ref:t},u),{},{components:r})):n.createElement(f,l({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,l=new Array(i);l[0]=p;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:a,l[1]=c;for(var s=2;s<i;s++)l[s]=r[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},94397:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));const i={id:"ClientRpcAttribute",title:"ClientRpcAttribute"},l="Class ClientRpcAttribute",c={unversionedId:"reference/Mirage/ClientRpcAttribute",id:"reference/Mirage/ClientRpcAttribute",title:"ClientRpcAttribute",description:"The server uses a Remote Procedure Call (RPC) to run this function on specific clients.",source:"@site/docs/reference/Mirage/ClientRpcAttribute.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/ClientRpcAttribute",permalink:"/Mirage/docs/reference/Mirage/ClientRpcAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/ClientRpcAttribute.md",tags:[],version:"current",frontMatter:{id:"ClientRpcAttribute",title:"ClientRpcAttribute"},sidebar:"api",previous:{title:"ClientObjectManager",permalink:"/Mirage/docs/reference/Mirage/ClientObjectManager"},next:{title:"ClientStoppedReason",permalink:"/Mirage/docs/reference/Mirage/ClientStoppedReason"}},o={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"channel",id:"channel",level:4},{value:"Declaration",id:"declaration",level:5},{value:"target",id:"target",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"excludeOwner",id:"excludeowner",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"excludeHost",id:"excludehost",level:4},{value:"Declaration",id:"declaration-3",level:5}],u={toc:s};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-clientrpcattribute"},"Class ClientRpcAttribute"),(0,a.kt)("p",null,"The server uses a Remote Procedure Call (RPC) to run this function on specific clients.\nNote that if you set the target as Connection, you need to pass a specific connection as a parameter of your method"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,a.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Method)]\npublic class ClientRpcAttribute : Attribute, _Attribute\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"channel"},"channel"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public Channel channel\n")),(0,a.kt)("h4",{id:"target"},"target"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public RpcTarget target\n")),(0,a.kt)("h4",{id:"excludeowner"},"excludeOwner"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public bool excludeOwner\n")),(0,a.kt)("h4",{id:"excludehost"},"excludeHost"),(0,a.kt)("p",null,"stops method being called on host/server"),(0,a.kt)("h5",{id:"declaration-3"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public bool excludeHost\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/710d0f2c.c5400f68.js b/assets/js/710d0f2c.c5400f68.js new file mode 100644 index 00000000000..de62953d248 --- /dev/null +++ b/assets/js/710d0f2c.c5400f68.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2797],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>y});var l=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,l)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,l,r=function(e,t){if(null==e)return{};var n,l,r={},a=Object.keys(e);for(l=0;l<a.length;l++)n=a[l],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(l=0;l<a.length;l++)n=a[l],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=l.createContext({}),s=function(e){var t=l.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=s(e.components);return l.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},S=l.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),S=s(n),y=r,m=S["".concat(c,".").concat(y)]||S[y]||p[y]||a;return n?l.createElement(m,i(i({ref:t},u),{},{components:n})):l.createElement(m,i({ref:t},u))}));function y(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=S;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:r,i[1]=o;for(var s=2;s<a;s++)i[s]=n[s];return l.createElement.apply(null,i)}return l.createElement.apply(null,n)}S.displayName="MDXCreateElement"},4453:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>o,toc:()=>s});var l=n(87462),r=(n(67294),n(3905));const a={id:"SyncHashSet-1",title:"SyncHashSet<T>"},i="Class SyncHashSet<T>",o={unversionedId:"reference/Mirage.Collections/SyncHashSet-1",id:"reference/Mirage.Collections/SyncHashSet-1",title:"SyncHashSet<T>",description:"Inheritance",source:"@site/docs/reference/Mirage.Collections/SyncHashSet-1.md",sourceDirName:"reference/Mirage.Collections",slug:"/reference/Mirage.Collections/SyncHashSet-1",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncHashSet-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Collections/SyncHashSet-1.md",tags:[],version:"current",frontMatter:{id:"SyncHashSet-1",title:"SyncHashSet<T>"},sidebar:"api",previous:{title:"SyncDictionary<TKey, TValue>",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncDictionary-2"},next:{title:"SyncIDictionary<TKey, TValue>",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncIDictionary-2"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Constructors",id:"constructors",level:3},{value:"SyncHashSet()",id:"synchashset",level:4},{value:"Declaration",id:"declaration",level:5},{value:"SyncHashSet(IEqualityComparer<T>)",id:"synchashsetiequalitycomparert",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"GetEnumerator()",id:"getenumerator",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Returns",id:"returns",level:5}],u={toc:s};function p(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,l.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-synchashsett"},"Class SyncHashSet","<","T",">"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,r.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Collections.SyncSet<T>")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".objects"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Count"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".IsReadOnly"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Mirage.Collections.ISyncObject.SetShouldSyncFrom(System.Boolean)"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Mirage.Collections.ISyncObject.SetNetworkBehaviour(Mirage.NetworkBehaviour)"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".OnAdd"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".OnClear"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".OnRemove"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".OnChange"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Reset()"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".IsDirty"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Flush()"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".OnSerializeAll(Mirage.Serialization.NetworkWriter)"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".OnSerializeDelta(Mirage.Serialization.NetworkWriter)"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".OnDeserializeAll(Mirage.Serialization.NetworkReader)"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".OnDeserializeDelta(Mirage.Serialization.NetworkReader)"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Add(T)"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".System.Collections.Generic.ICollection","<","T",">",".Add(T)"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Clear()"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Contains(T)"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".CopyTo(T[], System.Int32)"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Remove(T)"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".System.Collections.IEnumerable.GetEnumerator()"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".ExceptWith(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".IntersectWith(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".IsProperSubsetOf(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".IsProperSupersetOf(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".IsSubsetOf(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".IsSupersetOf(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Overlaps(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".SetEquals(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".SymmetricExceptWith(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,r.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".UnionWith(System.Collections.Generic.IEnumerable","<","T",">",")")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class SyncHashSet<T> : SyncSet<T>, ISet<T>, ICollection<T>, IEnumerable<T>, IEnumerable, ISyncObject\n")),(0,r.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"constructors"},"Constructors"),(0,r.kt)("h4",{id:"synchashset"},"SyncHashSet()"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncHashSet()\n")),(0,r.kt)("h4",{id:"synchashsetiequalitycomparert"},"SyncHashSet(IEqualityComparer","<","T",">",")"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncHashSet(IEqualityComparer<T> comparer)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEqualityComparer","<","T",">"),(0,r.kt)("td",{parentName:"tr",align:null},"comparer"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"getenumerator"},"GetEnumerator()"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public HashSet<T>.Enumerator GetEnumerator()\n")),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.HashSet.Enumerator","<",">"),(0,r.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/71202e15.2a01d34c.js b/assets/js/71202e15.2a01d34c.js new file mode 100644 index 00000000000..8485ee49dc1 --- /dev/null +++ b/assets/js/71202e15.2a01d34c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1349],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>d});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function g(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var l=n.createContext({}),c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},s=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,s=g(e,["components","mdxType","originalType","parentName"]),u=c(r),d=i,f=u["".concat(l,".").concat(d)]||u[d]||p[d]||a;return r?n.createElement(f,o(o({ref:t},s),{},{components:r})):n.createElement(f,o({ref:t},s))}));function d(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,o=new Array(a);o[0]=u;var g={};for(var l in t)hasOwnProperty.call(t,l)&&(g[l]=t[l]);g.originalType=e,g.mdxType="string"==typeof e?e:i,o[1]=g;for(var c=2;c<a;c++)o[c]=r[c];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},42922:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>g,toc:()=>c});var n=r(87462),i=(r(67294),r(3905));const a={id:"LogSettingsSO",title:"LogSettingsSO"},o="Class LogSettingsSO",g={unversionedId:"reference/Mirage.Logging/LogSettingsSO",id:"reference/Mirage.Logging/LogSettingsSO",title:"LogSettingsSO",description:"Inheritance",source:"@site/docs/reference/Mirage.Logging/LogSettingsSO.md",sourceDirName:"reference/Mirage.Logging",slug:"/reference/Mirage.Logging/LogSettingsSO",permalink:"/Mirage/docs/reference/Mirage.Logging/LogSettingsSO",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Logging/LogSettingsSO.md",tags:[],version:"current",frontMatter:{id:"LogSettingsSO",title:"LogSettingsSO"},sidebar:"api",previous:{title:"LogSettingsSO.LoggerSettings",permalink:"/Mirage/docs/reference/Mirage.Logging/LogSettingsSO.LoggerSettings"},next:{title:"MirageLogHandler.Settings",permalink:"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler.Settings"}},l={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"LogLevels",id:"loglevels",level:4},{value:"Declaration",id:"declaration",level:5}],s={toc:c};function p(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-logsettingsso"},"Class LogSettingsSO"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public class LogSettingsSO : ScriptableObject\n")),(0,i.kt)("h3",{id:"fields"},"Fields"),(0,i.kt)("h4",{id:"loglevels"},"LogLevels"),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public List<LogSettingsSO.LoggerSettings> LogLevels\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/716eb1ca.e935623a.js b/assets/js/716eb1ca.e935623a.js new file mode 100644 index 00000000000..6ed4036e667 --- /dev/null +++ b/assets/js/716eb1ca.e935623a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[206],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>s});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),u=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=u(e.components);return a.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},k=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),k=u(r),s=n,m=k["".concat(c,".").concat(s)]||k[s]||p[s]||l;return r?a.createElement(m,i(i({ref:t},d),{},{components:r})):a.createElement(m,i({ref:t},d))}));function s(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=k;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var u=2;u<l;u++)i[u]=r[u];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}k.displayName="MDXCreateElement"},58350:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>u});var a=r(87462),n=(r(67294),r(3905));const l={id:"VarDoublePacker",title:"VarDoublePacker"},i="Class VarDoublePacker",o={unversionedId:"reference/Mirage.Serialization/VarDoublePacker",id:"reference/Mirage.Serialization/VarDoublePacker",title:"VarDoublePacker",description:"Packs a double using and",source:"@site/docs/reference/Mirage.Serialization/VarDoublePacker.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/VarDoublePacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarDoublePacker",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/VarDoublePacker.md",tags:[],version:"current",frontMatter:{id:"VarDoublePacker",title:"VarDoublePacker"},sidebar:"api",previous:{title:"UnityTypesExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/UnityTypesExtensions"},next:{title:"VarFloatPacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarFloatPacker"}},c={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"VarDoublePacker(Double, Int32)",id:"vardoublepackerdouble-int32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"Pack(NetworkWriter, Double)",id:"packnetworkwriter-double",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Unpack(NetworkReader)",id:"unpacknetworkreader",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns",level:5}],d={toc:u};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-vardoublepacker"},"Class VarDoublePacker"),(0,n.kt)("p",null,"Packs a double using and "),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class VarDoublePacker\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"vardoublepackerdouble-int32"},"VarDoublePacker(Double, Int32)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public VarDoublePacker(double precision, int blockSize)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Double"),(0,n.kt)("td",{parentName:"tr",align:null},"precision"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"blockSize"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"packnetworkwriter-double"},"Pack(NetworkWriter, Double)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Pack(NetworkWriter writer, double value)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Double"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpacknetworkreader"},"Unpack(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public double Unpack(NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Double"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7206d972.1c6535ec.js b/assets/js/7206d972.1c6535ec.js new file mode 100644 index 00000000000..cb3ed683aa2 --- /dev/null +++ b/assets/js/7206d972.1c6535ec.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2476],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var o=r.createContext({}),c=function(e){var t=r.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=c(e.components);return r.createElement(o.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),m=c(n),u=a,y=m["".concat(o,".").concat(u)]||m[u]||s[u]||i;return n?r.createElement(y,l(l({ref:t},p),{},{components:n})):r.createElement(y,l({ref:t},p))}));function u(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,l=new Array(i);l[0]=m;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d.mdxType="string"==typeof e?e:a,l[1]=d;for(var c=2;c<i;c++)l[c]=n[c];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},87065:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>s,frontMatter:()=>i,metadata:()=>d,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const i={id:"IAddLateEventUnity-2",title:"IAddLateEventUnity<T0, T1>"},l="Interface IAddLateEventUnity<T0, T1>",d={unversionedId:"reference/Mirage.Events/IAddLateEventUnity-2",id:"reference/Mirage.Events/IAddLateEventUnity-2",title:"IAddLateEventUnity<T0, T1>",description:"Version of with 2 arguments",source:"@site/docs/reference/Mirage.Events/IAddLateEventUnity-2.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/IAddLateEventUnity-2",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-2",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/IAddLateEventUnity-2.md",tags:[],version:"current",frontMatter:{id:"IAddLateEventUnity-2",title:"IAddLateEventUnity<T0, T1>"},sidebar:"api",previous:{title:"IAddLateEventUnity<T0>",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-1"},next:{title:"IAddLateEventUnity",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity"}},o={},c=[{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"AddListener(UnityAction<T0, T1>)",id:"addlistenerunityactiont0-t1",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RemoveListener(UnityAction<T0, T1>)",id:"removelistenerunityactiont0-t1",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],p={toc:c};function s(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"interface-iaddlateeventunityt0-t1"},"Interface IAddLateEventUnity","<","T0, T1",">"),(0,a.kt)("p",null,"Version of with 2 arguments"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IAddLateEventUnity<T0, T1> : IAddLateEvent<T0, T1>\n")),(0,a.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"T0"),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"T1"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"addlistenerunityactiont0-t1"},"AddListener(UnityAction","<","T0, T1",">",")"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"void AddListener(UnityAction<T0, T1> handler)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"UnityAction","<","T0, T1",">"),(0,a.kt)("td",{parentName:"tr",align:null},"handler"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h4",{id:"removelistenerunityactiont0-t1"},"RemoveListener(UnityAction","<","T0, T1",">",")"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"void RemoveListener(UnityAction<T0, T1> handler)\n")),(0,a.kt)("h5",{id:"parameters-1"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"UnityAction","<","T0, T1",">"),(0,a.kt)("td",{parentName:"tr",align:null},"handler"),(0,a.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/72932dd9.4878d216.js b/assets/js/72932dd9.4878d216.js new file mode 100644 index 00000000000..d613ddbadca --- /dev/null +++ b/assets/js/72932dd9.4878d216.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8894],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>s});var r=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function o(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function i(e,t){if(null==e)return{};var a,r,l=function(e,t){if(null==e)return{};var a,r,l={},n=Object.keys(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var g=r.createContext({}),p=function(e){var t=r.useContext(g),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},d=function(e){var t=p(e.components);return r.createElement(g.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,l=e.mdxType,n=e.originalType,g=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),u=p(a),s=l,m=u["".concat(g,".").concat(s)]||u[s]||c[s]||n;return a?r.createElement(m,o(o({ref:t},d),{},{components:a})):r.createElement(m,o({ref:t},d))}));function s(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var n=a.length,o=new Array(n);o[0]=u;var i={};for(var g in t)hasOwnProperty.call(t,g)&&(i[g]=t[g]);i.originalType=e,i.mdxType="string"==typeof e?e:l,o[1]=i;for(var p=2;p<n;p++)o[p]=a[p];return r.createElement.apply(null,o)}return r.createElement.apply(null,a)}u.displayName="MDXCreateElement"},85143:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>g,contentTitle:()=>o,default:()=>c,frontMatter:()=>n,metadata:()=>i,toc:()=>p});var r=a(87462),l=(a(67294),a(3905));const n={id:"LogFactory",title:"LogFactory"},o="Class LogFactory",i={unversionedId:"reference/Mirage.Logging/LogFactory",id:"reference/Mirage.Logging/LogFactory",title:"LogFactory",description:"Inheritance",source:"@site/docs/reference/Mirage.Logging/LogFactory.md",sourceDirName:"reference/Mirage.Logging",slug:"/reference/Mirage.Logging/LogFactory",permalink:"/Mirage/docs/reference/Mirage.Logging/LogFactory",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Logging/LogFactory.md",tags:[],version:"current",frontMatter:{id:"LogFactory",title:"LogFactory"},sidebar:"api",previous:{title:"ILoggerExtensions",permalink:"/Mirage/docs/reference/Mirage.Logging/ILoggerExtensions"},next:{title:"LogSettings",permalink:"/Mirage/docs/reference/Mirage.Logging/LogSettings"}},g={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"Loggers",id:"loggers",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Methods",id:"methods",level:3},{value:"GetLogger<T>(LogType)",id:"getloggertlogtype",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"GetLogger(Type, LogType)",id:"getloggertype-logtype",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"GetLogger(String, LogType)",id:"getloggerstring-logtype",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-2",level:5},{value:"ReplaceLogHandler(ILogHandler, Boolean)",id:"replaceloghandleriloghandler-boolean",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"ReplaceLogHandler(Func<String, ILogHandler>, Boolean)",id:"replaceloghandlerfuncstring-iloghandler-boolean",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-4",level:5}],d={toc:p};function c(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-logfactory"},"Class LogFactory"),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,l.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Show")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static class LogFactory\n")),(0,l.kt)("h3",{id:"properties"},"Properties"),(0,l.kt)("h4",{id:"loggers"},"Loggers"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static IReadOnlyDictionary<string, ILogger> Loggers { get; }\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"getloggertlogtype"},"GetLogger","<","T",">","(LogType)"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static ILogger GetLogger<T>(LogType defaultLogLevel = null)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"LogType"),(0,l.kt)("td",{parentName:"tr",align:null},"defaultLogLevel"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"ILogger"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"getloggertype-logtype"},"GetLogger(Type, LogType)"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static ILogger GetLogger(Type type, LogType defaultLogLevel = null)\n")),(0,l.kt)("h5",{id:"parameters-1"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Type"),(0,l.kt)("td",{parentName:"tr",align:null},"type"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"LogType"),(0,l.kt)("td",{parentName:"tr",align:null},"defaultLogLevel"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-1"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"ILogger"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"getloggerstring-logtype"},"GetLogger(String, LogType)"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static ILogger GetLogger(string loggerName, LogType defaultLogLevel = null)\n")),(0,l.kt)("h5",{id:"parameters-2"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.String"),(0,l.kt)("td",{parentName:"tr",align:null},"loggerName"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"LogType"),(0,l.kt)("td",{parentName:"tr",align:null},"defaultLogLevel"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-2"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"ILogger"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"replaceloghandleriloghandler-boolean"},"ReplaceLogHandler(ILogHandler, Boolean)"),(0,l.kt)("p",null,"Replacing log handlers for loggers, with the option to replace for exisitng or just new loggers"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static void ReplaceLogHandler(ILogHandler logHandler, bool replaceExisting = true)\n")),(0,l.kt)("h5",{id:"parameters-3"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"ILogHandler"),(0,l.kt)("td",{parentName:"tr",align:null},"logHandler"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"replaceExisting"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"replaceloghandlerfuncstring-iloghandler-boolean"},"ReplaceLogHandler(Func","<","String, ILogHandler",">",", Boolean)"),(0,l.kt)("p",null,"Replaceing log handlers for loggers, allows for unique log handlers for each type\nthis can be used to add labels or other processing before logging the result"),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static void ReplaceLogHandler(Func<string, ILogHandler> createHandler, bool replaceExisting = true)\n")),(0,l.kt)("h5",{id:"parameters-4"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Func","<","System.String, ILogHandler",">"),(0,l.kt)("td",{parentName:"tr",align:null},"createHandler"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"replaceExisting"),(0,l.kt)("td",{parentName:"tr",align:null})))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/72fa76fe.b8426a26.js b/assets/js/72fa76fe.b8426a26.js new file mode 100644 index 00000000000..2e96aa2fd06 --- /dev/null +++ b/assets/js/72fa76fe.b8426a26.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7718],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>y});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},s=Object.keys(e);for(a=0;a<s.length;a++)n=s[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)n=s[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var o=a.createContext({}),l=function(e){var t=a.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=l(e.components);return a.createElement(o.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,s=e.originalType,o=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),d=l(n),y=r,h=d["".concat(o,".").concat(y)]||d[y]||u[y]||s;return n?a.createElement(h,i(i({ref:t},p),{},{components:n})):a.createElement(h,i({ref:t},p))}));function y(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=n.length,i=new Array(s);i[0]=d;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var l=2;l<s;l++)i[l]=n[l];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}d.displayName="MDXCreateElement"},52869:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var a=n(87462),r=(n(67294),n(3905));const s={sidebar_position:3},i="Sync Hash Set",c={unversionedId:"guides/sync/sync-objects/sync-hash-set",id:"guides/sync/sync-objects/sync-hash-set",title:"Sync Hash Set",description:"SyncHashSet is a set similar to C\\# HashSet that synchronizes its contents from the server to the clients.",source:"@site/docs/guides/sync/sync-objects/sync-hash-set.md",sourceDirName:"guides/sync/sync-objects",slug:"/guides/sync/sync-objects/sync-hash-set",permalink:"/Mirage/docs/guides/sync/sync-objects/sync-hash-set",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/sync/sync-objects/sync-hash-set.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"docs",previous:{title:"Sync Dictionary",permalink:"/Mirage/docs/guides/sync/sync-objects/sync-dictionary"},next:{title:"Sync Sorted Set",permalink:"/Mirage/docs/guides/sync/sync-objects/sync-sorted-set"}},o={},l=[{value:"Usage",id:"usage",level:2},{value:"Basic example",id:"basic-example",level:3}],p={toc:l};function u(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"sync-hash-set"},"Sync Hash Set"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Collections/SyncHashSet-1"},(0,r.kt)("inlineCode",{parentName:"a"},"SyncHashSet"))," is a set similar to C","#"," ",(0,r.kt)("a",{parentName:"p",href:"https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1"},"HashSet<T",">")," that synchronizes its contents from the server to the clients."),(0,r.kt)("p",null,"A SyncHashSet can contain any ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/serialization/data-types"},"supported Mirage type")," "),(0,r.kt)("h2",{id:"usage"},"Usage"),(0,r.kt)("p",null,"Create a class that derives from SyncHashSet for your specific type. This is necessary because Mirage will add methods to that class with the weaver. Then add a SyncHashSet field to your NetworkBehaviour class. For example:"),(0,r.kt)("admonition",{title:"IMPORTANT",type:"caution"},(0,r.kt)("p",{parentName:"admonition"},"You need to initialize the SyncHashSet immediately after the definition in order for them to work. You can mark them as ",(0,r.kt)("inlineCode",{parentName:"p"},"readonly")," to enforce proper usage.")),(0,r.kt)("h3",{id:"basic-example"},"Basic example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"[System.Serializable]\npublic class SyncSkillSet : SyncHashSet<string> {}\n\npublic class Player : NetworkBehaviour {\n\n [SerializeField]\n readonly SyncSkillSet skills = new SyncSkillSet();\n\n int skillPoints = 10;\n\n [Command]\n public void CmdLearnSkill(string skillName)\n {\n if (skillPoints > 1)\n {\n skillPoints--;\n\n skills.Add(skillName);\n }\n }\n}\n")),(0,r.kt)("h1",{id:"callbacks"},"Callbacks"),(0,r.kt)("p",null,"You can detect when a SyncHashSet changes on the client and/or the server. This is especially useful for refreshing your UI, character appearance, etc. "),(0,r.kt)("p",null,"Subscribe to the Callback event typically during ",(0,r.kt)("inlineCode",{parentName:"p"},"Start"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"OnClientStart"),", or ",(0,r.kt)("inlineCode",{parentName:"p"},"OnServerStart")," for that. "),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"Note that by the time you subscribe, the set will already be initialized, so you will not get a call for the initial data, only updates.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"[System.Serializable]\npublic class SyncSetBuffs : SyncHashSet<string> {};\n\npublic class Player : NetworkBehaviour\n{\n [SerializeField]\n public readonly SyncSetBuffs buffs = new SyncSetBuffs();\n\n // this will add the delegate on the client.\n // Use OnStartServer instead if you want it on the server\n public override void OnStartClient()\n {\n buffs.Callback += OnBuffsChanged;\n }\n\n private void OnBuffsChanged(SyncSetBuffs.Operation op, string buff)\n {\n switch (op) \n {\n case SyncSetBuffs.Operation.OP_ADD:\n // we added a buff, draw an icon on the character\n break;\n case SyncSetBuffs.Operation.OP_CLEAR:\n // clear all buffs from the character\n break;\n case SyncSetBuffs.Operation.OP_REMOVE:\n // We removed a buff from the character\n break;\n }\n }\n}\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/73859643.4e2593fa.js b/assets/js/73859643.4e2593fa.js new file mode 100644 index 00000000000..f985cd6a4ca --- /dev/null +++ b/assets/js/73859643.4e2593fa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2445],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var d=n.createContext({}),c=function(e){var t=n.useContext(d),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=c(e.components);return n.createElement(d.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,l=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),m=c(r),u=a,v=m["".concat(d,".").concat(u)]||m[u]||s[u]||l;return r?n.createElement(v,i(i({ref:t},p),{},{components:r})):n.createElement(v,i({ref:t},p))}));function u(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=r.length,i=new Array(l);i[0]=m;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var c=2;c<l;c++)i[c]=r[c];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"},37007:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const l={id:"IAddLateEvent-1",title:"IAddLateEvent<T0>"},i="Interface IAddLateEvent<T0>",o={unversionedId:"reference/Mirage.Events/IAddLateEvent-1",id:"reference/Mirage.Events/IAddLateEvent-1",title:"IAddLateEvent<T0>",description:"Version of with 1 argument",source:"@site/docs/reference/Mirage.Events/IAddLateEvent-1.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/IAddLateEvent-1",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEvent-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/IAddLateEvent-1.md",tags:[],version:"current",frontMatter:{id:"IAddLateEvent-1",title:"IAddLateEvent<T0>"},sidebar:"api",previous:{title:"DisconnectEvent",permalink:"/Mirage/docs/reference/Mirage.Events/DisconnectEvent"},next:{title:"IAddLateEvent<T0, T1>",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEvent-2"}},d={},c=[{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"AddListener(Action<T0>)",id:"addlisteneractiont0",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RemoveListener(Action<T0>)",id:"removelisteneractiont0",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],p={toc:c};function s(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"interface-iaddlateeventt0"},"Interface IAddLateEvent","<","T0",">"),(0,a.kt)("p",null,"Version of with 1 argument"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IAddLateEvent<T0>\n")),(0,a.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"T0"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"addlisteneractiont0"},"AddListener(Action","<","T0",">",")"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"void AddListener(Action<T0> handler)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Action","<","T0",">"),(0,a.kt)("td",{parentName:"tr",align:null},"handler"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h4",{id:"removelisteneractiont0"},"RemoveListener(Action","<","T0",">",")"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"void RemoveListener(Action<T0> handler)\n")),(0,a.kt)("h5",{id:"parameters-1"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Action","<","T0",">"),(0,a.kt)("td",{parentName:"tr",align:null},"handler"),(0,a.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/745a6df1.bbd87f2c.js b/assets/js/745a6df1.bbd87f2c.js new file mode 100644 index 00000000000..d62c2296f3d --- /dev/null +++ b/assets/js/745a6df1.bbd87f2c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9775],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>p});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var s=n.createContext({}),c=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},m=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},l=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,o=e.originalType,s=e.parentName,m=u(e,["components","mdxType","originalType","parentName"]),l=c(r),p=i,g=l["".concat(s,".").concat(p)]||l[p]||d[p]||o;return r?n.createElement(g,a(a({ref:t},m),{},{components:r})):n.createElement(g,a({ref:t},m))}));function p(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=r.length,a=new Array(o);a[0]=l;var u={};for(var s in t)hasOwnProperty.call(t,s)&&(u[s]=t[s]);u.originalType=e,u.mdxType="string"==typeof e?e:i,a[1]=u;for(var c=2;c<o;c++)a[c]=r[c];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}l.displayName="MDXCreateElement"},14578:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>u,toc:()=>c});var n=r(87462),i=(r(67294),r(3905));const o={},a="Community Guides",u={unversionedId:"guides/community-guides/index",id:"guides/community-guides/index",title:"Community Guides",description:"This section contains guides written by the community rather than by the developers themselves",source:"@site/docs/guides/community-guides/index.md",sourceDirName:"guides/community-guides",slug:"/guides/community-guides/",permalink:"/Mirage/docs/guides/community-guides/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/community-guides/index.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Session Id Authenticator",permalink:"/Mirage/docs/guides/authentication/session-id"},next:{title:"Mirage Quick Start Guide V0.1",permalink:"/Mirage/docs/guides/community-guides/mirage-quick-start-guide"}},s={},c=[],m={toc:c};function d(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},m,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"community-guides"},"Community Guides"),(0,i.kt)("p",null,"This section contains guides written by the community rather than by the developers themselves"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/docs/guides/community-guides/mirage-quick-start-guide"},"Mirage Quick Start Guide")," by ",(0,i.kt)("a",{parentName:"li",href:"http://stephenallengames.co.uk/"},"StephenAllenGames.co.uk"))),(0,i.kt)("admonition",{type:"tip"},(0,i.kt)("p",{parentName:"admonition"},"If you want to submit a guide either create a ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/MirageNet/Mirage/pulls"},"pull request")," or ask in the Discord server.")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7600f836.e91904e6.js b/assets/js/7600f836.e91904e6.js new file mode 100644 index 00000000000..b8daacbeeb9 --- /dev/null +++ b/assets/js/7600f836.e91904e6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8052],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>d});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function c(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function i(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=n.createContext({}),l=function(e){var r=n.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):c(c({},r),e)),t},p=function(e){var r=l(e.components);return n.createElement(s.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},g=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),g=l(t),d=a,m=g["".concat(s,".").concat(d)]||g[d]||u[d]||o;return t?n.createElement(m,c(c({ref:r},p),{},{components:t})):n.createElement(m,c({ref:r},p))}));function d(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,c=new Array(o);c[0]=g;var i={};for(var s in r)hasOwnProperty.call(r,s)&&(i[s]=r[s]);i.originalType=e,i.mdxType="string"==typeof e?e:a,c[1]=i;for(var l=2;l<o;l++)c[l]=t[l];return n.createElement.apply(null,c)}return n.createElement.apply(null,t)}g.displayName="MDXCreateElement"},41621:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>s,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=t(87462),a=(t(67294),t(3905));const o={sidebar_position:2,title:"Network Manager"},c="Network Manager Callbacks",i={unversionedId:"guides/callbacks/network-manager",id:"guides/callbacks/network-manager",title:"Network Manager",description:"See also NetworkManager in the API Reference.",source:"@site/docs/guides/callbacks/network-manager.md",sourceDirName:"guides/callbacks",slug:"/guides/callbacks/network-manager",permalink:"/Mirage/docs/guides/callbacks/network-manager",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/callbacks/network-manager.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Network Manager"},sidebar:"docs",previous:{title:"Network Behaviour",permalink:"/Mirage/docs/guides/callbacks/network-behaviour"},next:{title:"Networked Game Objects",permalink:"/Mirage/docs/guides/game-objects/"}},s={},l=[],p={toc:l};function u(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"network-manager-callbacks"},"Network Manager Callbacks"),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"See also ",(0,a.kt)("a",{parentName:"strong",href:"/docs/reference/Mirage/NetworkManager"},"NetworkManager")," in the API Reference.")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"NetworkManager")," is a helper class with instance references to the other major parts of the Mirage network."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/767d4d3d.5f0a99a3.js b/assets/js/767d4d3d.5f0a99a3.js new file mode 100644 index 00000000000..c181c712903 --- /dev/null +++ b/assets/js/767d4d3d.5f0a99a3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2753],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>c});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var g=r.createContext({}),d=function(e){var t=r.useContext(g),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=d(e.components);return r.createElement(g.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,g=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),m=d(a),c=n,u=m["".concat(g,".").concat(c)]||m[c]||s[c]||l;return a?r.createElement(u,i(i({ref:t},p),{},{components:a})):r.createElement(u,i({ref:t},p))}));function c(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=m;var o={};for(var g in t)hasOwnProperty.call(t,g)&&(o[g]=t[g]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var d=2;d<l;d++)i[d]=a[d];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},21732:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>g,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var r=a(87462),n=(a(67294),a(3905));const l={id:"ILoggerExtensions",title:"ILoggerExtensions"},i="Class ILoggerExtensions",o={unversionedId:"reference/Mirage.Logging/ILoggerExtensions",id:"reference/Mirage.Logging/ILoggerExtensions",title:"ILoggerExtensions",description:"Inheritance",source:"@site/docs/reference/Mirage.Logging/ILoggerExtensions.md",sourceDirName:"reference/Mirage.Logging",slug:"/reference/Mirage.Logging/ILoggerExtensions",permalink:"/Mirage/docs/reference/Mirage.Logging/ILoggerExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Logging/ILoggerExtensions.md",tags:[],version:"current",frontMatter:{id:"ILoggerExtensions",title:"ILoggerExtensions"},sidebar:"api",previous:{title:"Mirage.Logging",permalink:"/Mirage/docs/reference/Mirage.Logging/"},next:{title:"LogFactory",permalink:"/Mirage/docs/reference/Mirage.Logging/LogFactory"}},g={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"LogError(ILogger, Object)",id:"logerrorilogger-object",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Assert(ILogger, Boolean, Object)",id:"assertilogger-boolean-object",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Assert(ILogger, Boolean)",id:"assertilogger-boolean",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"LogWarning(ILogger, Object)",id:"logwarningilogger-object",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"LogEnabled(ILogger)",id:"logenabledilogger",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns",level:5},{value:"WarnEnabled(ILogger)",id:"warnenabledilogger",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"Returns",id:"returns-1",level:5},{value:"ErrorEnabled(ILogger)",id:"errorenabledilogger",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"Returns",id:"returns-2",level:5}],p={toc:d};function s(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-iloggerextensions"},"Class ILoggerExtensions"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class ILoggerExtensions\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"logerrorilogger-object"},"LogError(ILogger, Object)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void LogError(this ILogger logger, object message)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"ILogger"),(0,n.kt)("td",{parentName:"tr",align:null},"logger"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Object"),(0,n.kt)("td",{parentName:"tr",align:null},"message"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"assertilogger-boolean-object"},"Assert(ILogger, Boolean, Object)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},'[Conditional("UNITY_ASSERTIONS")]\npublic static void Assert(this ILogger logger, bool condition, object message)\n')),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"ILogger"),(0,n.kt)("td",{parentName:"tr",align:null},"logger"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"condition"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Object"),(0,n.kt)("td",{parentName:"tr",align:null},"message"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"assertilogger-boolean"},"Assert(ILogger, Boolean)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},'[Conditional("UNITY_ASSERTIONS")]\npublic static void Assert(this ILogger logger, bool condition)\n')),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"ILogger"),(0,n.kt)("td",{parentName:"tr",align:null},"logger"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"condition"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"logwarningilogger-object"},"LogWarning(ILogger, Object)"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void LogWarning(this ILogger logger, object message)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"ILogger"),(0,n.kt)("td",{parentName:"tr",align:null},"logger"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Object"),(0,n.kt)("td",{parentName:"tr",align:null},"message"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"logenabledilogger"},"LogEnabled(ILogger)"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static bool LogEnabled(this ILogger logger)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"ILogger"),(0,n.kt)("td",{parentName:"tr",align:null},"logger"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"warnenabledilogger"},"WarnEnabled(ILogger)"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static bool WarnEnabled(this ILogger logger)\n")),(0,n.kt)("h5",{id:"parameters-5"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"ILogger"),(0,n.kt)("td",{parentName:"tr",align:null},"logger"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"errorenabledilogger"},"ErrorEnabled(ILogger)"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static bool ErrorEnabled(this ILogger logger)\n")),(0,n.kt)("h5",{id:"parameters-6"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"ILogger"),(0,n.kt)("td",{parentName:"tr",align:null},"logger"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-2"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/78549414.0d2568de.js b/assets/js/78549414.0d2568de.js new file mode 100644 index 00000000000..1bdf46d34f0 --- /dev/null +++ b/assets/js/78549414.0d2568de.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7035],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>h});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),p=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},s=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),d=p(n),h=a,g=d["".concat(c,".").concat(h)]||d[h]||u[h]||i;return n?r.createElement(g,l(l({ref:t},s),{},{components:n})):r.createElement(g,l({ref:t},s))}));function h(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,l=new Array(i);l[0]=d;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:a,l[1]=o;for(var p=2;p<i;p++)l[p]=n[p];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}d.displayName="MDXCreateElement"},88009:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>p});var r=n(87462),a=(n(67294),n(3905));const i={sidebar_position:2},l="Client RPC",o={unversionedId:"guides/remote-actions/client-rpc",id:"guides/remote-actions/client-rpc",title:"Client RPC",description:"ClientRpcs are sent from NetworkBehaviours on the server to Behaviours on the client. They can be sent from any NetworkBehaviour that has been spawned.",source:"@site/docs/guides/remote-actions/client-rpc.md",sourceDirName:"guides/remote-actions",slug:"/guides/remote-actions/client-rpc",permalink:"/Mirage/docs/guides/remote-actions/client-rpc",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/remote-actions/client-rpc.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"docs",previous:{title:"Overview",permalink:"/Mirage/docs/guides/remote-actions/"},next:{title:"Server RPC",permalink:"/Mirage/docs/guides/remote-actions/server-rpc"}},c={},p=[{value:"RpcTarget",id:"rpctarget",level:2},{value:"RpcTarget.Observers",id:"rpctargetobservers",level:3},{value:"RpcTarget.Owner",id:"rpctargetowner",level:3},{value:"RpcTarget.Player",id:"rpctargetplayer",level:3},{value:"Exclude owner",id:"exclude-owner",level:2},{value:"Channel",id:"channel",level:2},{value:"Returning values",id:"returning-values",level:3}],s={toc:p};function u(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"client-rpc"},"Client RPC"),(0,a.kt)("p",null,"ClientRpcs are sent from ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviours")," on the server to Behaviours on the client. They can be sent from any ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," that has been spawned."),(0,a.kt)("p",null,"To make a function into a ClientRpc add ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/ClientRpcAttribute"},(0,a.kt)("inlineCode",{parentName:"a"},"[ClientRpc]"))," directly above the function."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[ClientRpc]\npublic void MyRpcFunction() \n{\n // Code to invoke on client\n}\n")),(0,a.kt)("p",null,"ClientRpc functions can't be static and must return ",(0,a.kt)("inlineCode",{parentName:"p"},"void"),"."),(0,a.kt)("h2",{id:"rpctarget"},"RpcTarget"),(0,a.kt)("p",null,"There are 3 target modes for ClientRpc:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Observers (default)"),(0,a.kt)("li",{parentName:"ul"},"Owner"),(0,a.kt)("li",{parentName:"ul"},"Player")),(0,a.kt)("h3",{id:"rpctargetobservers"},"RpcTarget.Observers"),(0,a.kt)("p",null,"This is the default target."),(0,a.kt)("p",null,"This will send the RPC message to only the observers of an object according to its ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/network-visibility"},"Network Visibility"),". If there is no Network Visibility on the object it will send to all players."),(0,a.kt)("h3",{id:"rpctargetowner"},"RpcTarget.Owner"),(0,a.kt)("p",null,"This will send the RPC message to only the owner of the object."),(0,a.kt)("h3",{id:"rpctargetplayer"},"RpcTarget.Player"),(0,a.kt)("p",null,"This will send the RPC message to the ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkPlayer"},(0,a.kt)("inlineCode",{parentName:"a"},"NetworkPlayer"))," that is passed into the call."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[ClientRpc(target = RpcTarget.Player)]\npublic void MyRpcFunction(NetworkPlayer target) \n{\n // Code to invoke on client\n}\n")),(0,a.kt)("p",null,"Mirage will use the ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkPlayer target")," to know where to send it, but it will not send the ",(0,a.kt)("inlineCode",{parentName:"p"},"target")," value. Because of this, its value will always be null for the client."),(0,a.kt)("h2",{id:"exclude-owner"},"Exclude owner"),(0,a.kt)("p",null,"You may want to exclude the owner client when calling a ClientRpc. This is done with the ",(0,a.kt)("inlineCode",{parentName:"p"},"excludeOwner")," option: ",(0,a.kt)("inlineCode",{parentName:"p"},"[ClientRpc(excludeOwner = true)]"),"."),(0,a.kt)("h2",{id:"channel"},"Channel"),(0,a.kt)("p",null,"RPC can be sent using either the Reliable or Unreliable channels. ",(0,a.kt)("inlineCode",{parentName:"p"},"[ClientRpc(channel = Channel.Reliable)]")),(0,a.kt)("h3",{id:"returning-values"},"Returning values"),(0,a.kt)("p",null,"ClientRpcs can return values only if RpcTarget is ",(0,a.kt)("inlineCode",{parentName:"p"},"Player")," or ",(0,a.kt)("inlineCode",{parentName:"p"},"Owner"),". It can take a long time for the client to reply, so they must return a UniTask which the server can await."),(0,a.kt)("p",null,"To return a value, add a return value using ",(0,a.kt)("inlineCode",{parentName:"p"},"UniTask<MyReturnType>")," where ",(0,a.kt)("inlineCode",{parentName:"p"},"MyReturnType")," is any ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/serialization/data-types"},"supported Mirage type"),". In the client, you can make your method async, or you can use ",(0,a.kt)("inlineCode",{parentName:"p"},"UniTask.FromResult(myResult);"),". For example:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},'public class SelectCharacter : NetworkBehaviour\n {\n // need to target owner so that we can reply to them\n [ClientRpc(target = RpcTarget.Owner)]\n public UniTask<string> GetCharacter()\n {\n // return the name of the character that the user selected\n return UniTask.FromResult("myCharacter");\n }\n\n [Client]\n public async UniTaskVoid WaitForPlayerToSelectCharacter()\n {\n // Call the RPC and wait for the response without blocking the main thread\n var characterName = await GetCharacter();\n\n Debug.Log($"Selected Character {characterName}");\n }\n }\n')),(0,a.kt)("h1",{id:"examples"},"Examples"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},'public class Player : NetworkBehaviour\n{\n private int health;\n\n public void TakeDamage(int amount)\n {\n if (!IsServer)\n {\n return;\n }\n\n health -= amount;\n Damage(amount);\n }\n\n [ClientRpc]\n private void Damage(int amount)\n {\n Debug.Log("Took damage:" + amount);\n }\n}\n')),(0,a.kt)("p",null,"When running a game as a host with a local client, ClientRpc calls will be invoked on the local client even though it is in the same process as the server. So the behaviors of local and remote clients are the same for ClientRpc calls."),(0,a.kt)("p",null,"You can also specify which client gets the call with the ",(0,a.kt)("inlineCode",{parentName:"p"},"target")," parameter. "),(0,a.kt)("p",null,"If you only want the client that owns the object to be called, use ",(0,a.kt)("inlineCode",{parentName:"p"},"[ClientRpc(target = RpcTarget.Owner)]")," or you can specify which client gets the message by using ",(0,a.kt)("inlineCode",{parentName:"p"},"[ClientRpc(target = RpcTarget.Player)]")," and passing the player as a parameter. For example:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},'public class Player : NetworkBehaviour\n{\n private int health;\n\n [Server]\n private void Magic(GameObject target, int damage)\n {\n target.GetComponent<Player>().health -= damage;\n\n NetworkIdentity opponentIdentity = target.GetComponent<NetworkIdentity>();\n DoMagic(opponentIdentity.Owner, damage);\n }\n\n [ClientRpc(target = RpcTarget.Player)]\n public void DoMagic(INetworkPlayer target, int damage)\n {\n // This will appear on the opponent\'s client, not the attacking player\'s\n Debug.Log($"Magic Damage = {damage}");\n }\n\n [Server]\n private void HealMe()\n {\n health += 10;\n Healed(10);\n }\n\n [ClientRpc(target = RpcTarget.Owner)]\n public void Healed(int amount)\n {\n // No NetworkPlayer parameter, so it goes to owner\n Debug.Log($"Health increased by {amount}");\n }\n}\n')))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/78c45894.4123f071.js b/assets/js/78c45894.4123f071.js new file mode 100644 index 00000000000..f4ec08c738a --- /dev/null +++ b/assets/js/78c45894.4123f071.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4434],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>s});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var g=a.createContext({}),d=function(e){var t=a.useContext(g),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},c=function(e){var t=d(e.components);return a.createElement(g.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,g=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),m=d(r),s=n,u=m["".concat(g,".").concat(s)]||m[s]||p[s]||l;return r?a.createElement(u,i(i({ref:t},c),{},{components:r})):a.createElement(u,i({ref:t},c))}));function s(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=m;var o={};for(var g in t)hasOwnProperty.call(t,g)&&(o[g]=t[g]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var d=2;d<l;d++)i[d]=r[d];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}m.displayName="MDXCreateElement"},20956:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>g,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var a=r(87462),n=(r(67294),r(3905));const l={id:"MirageLogHandler",title:"MirageLogHandler"},i="Class MirageLogHandler",o={unversionedId:"reference/Mirage.Logging/MirageLogHandler",id:"reference/Mirage.Logging/MirageLogHandler",title:"MirageLogHandler",description:"Log handler that adds prefixes to logging",source:"@site/docs/reference/Mirage.Logging/MirageLogHandler.md",sourceDirName:"reference/Mirage.Logging",slug:"/reference/Mirage.Logging/MirageLogHandler",permalink:"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Logging/MirageLogHandler.md",tags:[],version:"current",frontMatter:{id:"MirageLogHandler",title:"MirageLogHandler"},sidebar:"api",previous:{title:"MirageLogHandler.TimePrefix",permalink:"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler.TimePrefix"},next:{title:"Mirage.RemoteCalls",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/"}},g={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"MirageLogHandler(MirageLogHandler.Settings, String, ILogHandler)",id:"mirageloghandlermirageloghandlersettings-string-iloghandler",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"LogException(Exception, Object)",id:"logexceptionexception-object",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"LogFormat(LogType, Object, String, Object[])",id:"logformatlogtype-object-string-object",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5}],c={toc:d};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-mirageloghandler"},"Class MirageLogHandler"),(0,n.kt)("p",null,"Log handler that adds prefixes to logging"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class MirageLogHandler : ILogHandler\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"mirageloghandlermirageloghandlersettings-string-iloghandler"},"MirageLogHandler(MirageLogHandler.Settings, String, ILogHandler)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public MirageLogHandler(MirageLogHandler.Settings settings, string fullTypeName = null, ILogHandler inner = null)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Logging.MirageLogHandler.Settings"),(0,n.kt)("td",{parentName:"tr",align:null},"settings"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.String"),(0,n.kt)("td",{parentName:"tr",align:null},"fullTypeName"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"ILogHandler"),(0,n.kt)("td",{parentName:"tr",align:null},"inner"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"logexceptionexception-object"},"LogException(Exception, Object)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void LogException(Exception exception, Object context)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Exception"),(0,n.kt)("td",{parentName:"tr",align:null},"exception"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"UnityEngine.Object"),(0,n.kt)("td",{parentName:"tr",align:null},"context"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"logformatlogtype-object-string-object"},"LogFormat(LogType, Object, String, Object[])"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void LogFormat(LogType logType, Object context, string format, params object[] args)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"LogType"),(0,n.kt)("td",{parentName:"tr",align:null},"logType"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"UnityEngine.Object"),(0,n.kt)("td",{parentName:"tr",align:null},"context"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.String"),(0,n.kt)("td",{parentName:"tr",align:null},"format"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Object[]"),(0,n.kt)("td",{parentName:"tr",align:null},"args"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/79637c4d.e216133f.js b/assets/js/79637c4d.e216133f.js new file mode 100644 index 00000000000..0fe87cee05c --- /dev/null +++ b/assets/js/79637c4d.e216133f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[927],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),p=s(r),f=a,y=p["".concat(c,".").concat(f)]||p[f]||d[f]||i;return r?n.createElement(y,l(l({ref:t},u),{},{components:r})):n.createElement(y,l({ref:t},u))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,l=new Array(i);l[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:a,l[1]=o;for(var s=2;s<i;s++)l[s]=r[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},25417:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));const i={id:"LocalPlayerAttribute",title:"LocalPlayerAttribute"},l="Class LocalPlayerAttribute",o={unversionedId:"reference/Mirage/LocalPlayerAttribute",id:"reference/Mirage/LocalPlayerAttribute",title:"LocalPlayerAttribute",description:"Prevents nonlocal players from running this method.",source:"@site/docs/reference/Mirage/LocalPlayerAttribute.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/LocalPlayerAttribute",permalink:"/Mirage/docs/reference/Mirage/LocalPlayerAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/LocalPlayerAttribute.md",tags:[],version:"current",frontMatter:{id:"LocalPlayerAttribute",title:"LocalPlayerAttribute"},sidebar:"api",previous:{title:"IVisibilityTracker",permalink:"/Mirage/docs/reference/Mirage/IVisibilityTracker"},next:{title:"MessageDelegate<T>",permalink:"/Mirage/docs/reference/Mirage/MessageDelegate-1"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"error",id:"error",level:4},{value:"Declaration",id:"declaration",level:5}],u={toc:s};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-localplayerattribute"},"Class LocalPlayerAttribute"),(0,a.kt)("p",null,"Prevents nonlocal players from running this method.\nCan only be used inside a NetworkBehaviour"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,a.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Method)]\npublic class LocalPlayerAttribute : Attribute, _Attribute\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"error"},"error"),(0,a.kt)("p",null,"If true, when the method is called from a client, it throws an error\nIf false, no error is thrown, but the method won","'","t execute\nuseful for unity built in methods such as Await, Update, Start, etc."),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public bool error\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7a207e95.1330be37.js b/assets/js/7a207e95.1330be37.js new file mode 100644 index 00000000000..b06553aad53 --- /dev/null +++ b/assets/js/7a207e95.1330be37.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[746],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>k});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),d=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=d(e.components);return r.createElement(c.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=d(a),k=n,m=u["".concat(c,".").concat(k)]||u[k]||s[k]||l;return a?r.createElement(m,i(i({ref:t},p),{},{components:a})):r.createElement(m,i({ref:t},p))}));function k(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=u;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var d=2;d<l;d++)i[d]=a[d];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}u.displayName="MDXCreateElement"},79422:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var r=a(87462),n=(a(67294),a(3905));const l={id:"SocketFactory",title:"SocketFactory"},i="Class SocketFactory",o={unversionedId:"reference/Mirage.SocketLayer/SocketFactory",id:"reference/Mirage.SocketLayer/SocketFactory",title:"SocketFactory",description:"Creates an instance of",source:"@site/docs/reference/Mirage.SocketLayer/SocketFactory.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/SocketFactory",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/SocketFactory",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/SocketFactory.md",tags:[],version:"current",frontMatter:{id:"SocketFactory",title:"SocketFactory"},sidebar:"api",previous:{title:"Sequencer",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Sequencer"},next:{title:"Mirage.Sockets.Udp",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/"}},c={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"MaxPacketSize",id:"maxpacketsize",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Methods",id:"methods",level:3},{value:"CreateServerSocket()",id:"createserversocket",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Returns",id:"returns",level:5},{value:"GetBindEndPoint()",id:"getbindendpoint",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Returns",id:"returns-1",level:5},{value:"CreateClientSocket()",id:"createclientsocket",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Returns",id:"returns-2",level:5},{value:"GetConnectEndPoint(String, Nullable<UInt16>)",id:"getconnectendpointstring-nullableuint16",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns-3",level:5}],p={toc:d};function s(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-socketfactory"},"Class SocketFactory"),(0,n.kt)("p",null,"Creates an instance of "),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public abstract class SocketFactory : MonoBehaviour\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"maxpacketsize"},"MaxPacketSize"),(0,n.kt)("p",null,"Max size for packets sent to or received from Socket\nCalled once when Sockets are created"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public abstract int MaxPacketSize { get; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"createserversocket"},"CreateServerSocket()"),(0,n.kt)("p",null,"Creates a to be used by on the server"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public abstract ISocket CreateServerSocket()\n")),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.ISocket"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"getbindendpoint"},"GetBindEndPoint()"),(0,n.kt)("p",null,"Creates the that the Server Socket will bind to"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public abstract IEndPoint GetBindEndPoint()\n")),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"createclientsocket"},"CreateClientSocket()"),(0,n.kt)("p",null,"Creates a to be used by on the client"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public abstract ISocket CreateClientSocket()\n")),(0,n.kt)("h5",{id:"returns-2"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.ISocket"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"getconnectendpointstring-nullableuint16"},"GetConnectEndPoint(String, Nullable","<","UInt16",">",")"),(0,n.kt)("p",null,"Creates the that the Client Socket will connect to using the parameter given"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public abstract IEndPoint GetConnectEndPoint(string address = null, ushort? port = default(ushort? ))\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.String"),(0,n.kt)("td",{parentName:"tr",align:null},"address"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Nullable","<","System.UInt16",">"),(0,n.kt)("td",{parentName:"tr",align:null},"port"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-3"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,n.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7bfe96f1.88c96193.js b/assets/js/7bfe96f1.88c96193.js new file mode 100644 index 00000000000..e2e16278b08 --- /dev/null +++ b/assets/js/7bfe96f1.88c96193.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[231],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>f});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?c(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):c(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function o(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},c=Object.keys(e);for(n=0;n<c.length;n++)t=c[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)t=c[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=n.createContext({}),l=function(e){var r=n.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},p=function(e){var r=l(e.components);return n.createElement(s.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},u=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,c=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=l(t),f=a,g=u["".concat(s,".").concat(f)]||u[f]||d[f]||c;return t?n.createElement(g,i(i({ref:r},p),{},{components:t})):n.createElement(g,i({ref:r},p))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var c=t.length,i=new Array(c);i[0]=u;var o={};for(var s in r)hasOwnProperty.call(r,s)&&(o[s]=r[s]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var l=2;l<c;l++)i[l]=t[l];return n.createElement.apply(null,i)}return n.createElement.apply(null,t)}u.displayName="MDXCreateElement"},70495:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>c,metadata:()=>o,toc:()=>l});var n=t(87462),a=(t(67294),t(3905));const c={id:"SceneReadyMessage",title:"SceneReadyMessage"},i="Struct SceneReadyMessage",o={unversionedId:"reference/Mirage/SceneReadyMessage",id:"reference/Mirage/SceneReadyMessage",title:"SceneReadyMessage",description:"Sent to indicate the scene is finished loading",source:"@site/docs/reference/Mirage/SceneReadyMessage.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SceneReadyMessage",permalink:"/Mirage/docs/reference/Mirage/SceneReadyMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SceneReadyMessage.md",tags:[],version:"current",frontMatter:{id:"SceneReadyMessage",title:"SceneReadyMessage"},sidebar:"api",previous:{title:"SceneOperation",permalink:"/Mirage/docs/reference/Mirage/SceneOperation"},next:{title:"SceneVisibilityChecker",permalink:"/Mirage/docs/reference/Mirage/SceneVisibilityChecker"}},s={},l=[{value:"Syntax",id:"syntax",level:5}],p={toc:l};function d(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-scenereadymessage"},"Struct SceneReadyMessage"),(0,a.kt)("p",null,"Sent to indicate the scene is finished loading"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct SceneReadyMessage\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7c99c0f6.026e9048.js b/assets/js/7c99c0f6.026e9048.js new file mode 100644 index 00000000000..a1b6dccc514 --- /dev/null +++ b/assets/js/7c99c0f6.026e9048.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4582],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>s});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var d=n.createContext({}),c=function(e){var t=n.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=c(e.components);return n.createElement(d.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},k=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),k=c(a),s=r,m=k["".concat(d,".").concat(s)]||k[s]||u[s]||l;return a?n.createElement(m,i(i({ref:t},p),{},{components:a})):n.createElement(m,i({ref:t},p))}));function s(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=k;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:r,i[1]=o;for(var c=2;c<l;c++)i[c]=a[c];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}k.displayName="MDXCreateElement"},32352:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var n=a(87462),r=(a(67294),a(3905));const l={id:"NanoSocket",title:"NanoSocket"},i="Class NanoSocket",o={unversionedId:"reference/Mirage.Sockets.Udp/NanoSocket",id:"reference/Mirage.Sockets.Udp/NanoSocket",title:"NanoSocket",description:"Inheritance",source:"@site/docs/reference/Mirage.Sockets.Udp/NanoSocket.md",sourceDirName:"reference/Mirage.Sockets.Udp",slug:"/reference/Mirage.Sockets.Udp/NanoSocket",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoSocket",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Sockets.Udp/NanoSocket.md",tags:[],version:"current",frontMatter:{id:"NanoSocket",title:"NanoSocket"},sidebar:"api",previous:{title:"NanoEndPoint",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoEndPoint"},next:{title:"NanoSocketException",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoSocketException"}},d={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"NanoSocket(UdpSocketFactory)",id:"nanosocketudpsocketfactory",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Properties",id:"properties",level:3},{value:"Supported",id:"supported",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Methods",id:"methods",level:3},{value:"Bind(IEndPoint)",id:"bindiendpoint",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Connect(IEndPoint)",id:"connectiendpoint",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Close()",id:"close",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Poll()",id:"poll",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Returns",id:"returns",level:5},{value:"Receive(Byte[], out IEndPoint)",id:"receivebyte-out-iendpoint",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Send(IEndPoint, Byte[], Int32)",id:"sendiendpoint-byte-int32",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-4",level:5}],p={toc:c};function u(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-nanosocket"},"Class NanoSocket"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class NanoSocket : ISocket\n")),(0,r.kt)("h3",{id:"constructors"},"Constructors"),(0,r.kt)("h4",{id:"nanosocketudpsocketfactory"},"NanoSocket(UdpSocketFactory)"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public NanoSocket(UdpSocketFactory factory)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Sockets.Udp.UdpSocketFactory"),(0,r.kt)("td",{parentName:"tr",align:null},"factory"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"properties"},"Properties"),(0,r.kt)("h4",{id:"supported"},"Supported"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static bool Supported { get; }\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"bindiendpoint"},"Bind(IEndPoint)"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Bind(IEndPoint endPoint)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,r.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"connectiendpoint"},"Connect(IEndPoint)"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Connect(IEndPoint endPoint)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,r.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"close"},"Close()"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Close()\n")),(0,r.kt)("h4",{id:"poll"},"Poll()"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Poll()\n")),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"receivebyte-out-iendpoint"},"Receive(Byte[], out IEndPoint)"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public int Receive(byte[] buffer, out IEndPoint endPoint)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,r.kt)("td",{parentName:"tr",align:null},"buffer"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,r.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-1"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"sendiendpoint-byte-int32"},"Send(IEndPoint, Byte[], Int32)"),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Send(IEndPoint endPoint, byte[] packet, int length)\n")),(0,r.kt)("h5",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,r.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,r.kt)("td",{parentName:"tr",align:null},"packet"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/809497a5.ea9b6961.js b/assets/js/809497a5.ea9b6961.js new file mode 100644 index 00000000000..cb5357d3a6d --- /dev/null +++ b/assets/js/809497a5.ea9b6961.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3345],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},p=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),f=c(n),u=a,b=f["".concat(l,".").concat(u)]||f[u]||d[u]||i;return n?r.createElement(b,o(o({ref:t},p),{},{components:n})):r.createElement(b,o({ref:t},p))}));function u(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=f;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var c=2;c<i;c++)o[c]=n[c];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},67962:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const i={sidebar_position:5},o="SyncPrefab",s={unversionedId:"guides/serialization/sync-prefab",id:"guides/serialization/sync-prefab",title:"SyncPrefab",description:"Overview",source:"@site/docs/guides/serialization/sync-prefab.md",sourceDirName:"guides/serialization",slug:"/guides/serialization/sync-prefab",permalink:"/Mirage/docs/guides/serialization/sync-prefab",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/serialization/sync-prefab.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"docs",previous:{title:"Generics",permalink:"/Mirage/docs/guides/serialization/generics"},next:{title:"Bit Packing",permalink:"/Mirage/docs/guides/bit-packing/"}},l={},c=[{value:"Overview",id:"overview",level:2},{value:"Example Use Case",id:"example-use-case",level:2}],p={toc:c};function d(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"syncprefab"},"SyncPrefab"),(0,a.kt)("h2",{id:"overview"},"Overview"),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"SyncPrefab")," struct represents a prefab that is synchronized over the network. "),(0,a.kt)("p",null,"It has two properties:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"Prefab"),": A ",(0,a.kt)("inlineCode",{parentName:"li"},"NetworkIdentity")," representing the prefab being synced."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"PrefabHash"),": An integer representing the hash of the prefab being synced. The ",(0,a.kt)("inlineCode",{parentName:"li"},"PrefabHash")," is sent over the network so that the matching ",(0,a.kt)("inlineCode",{parentName:"li"},"NetworkIdentity")," can be found on the other side.")),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"SyncPrefab")," can be used to set up local objects like visual effects, audio, or projectiles, without needing to spawn them over the network, making it ideal for short-lived objects."),(0,a.kt)("h2",{id:"example-use-case"},"Example Use Case"),(0,a.kt)("p",null,"When the ",(0,a.kt)("inlineCode",{parentName:"p"},"Shoot")," method is called on the server it will instantiates a local copy of the prefab. The ",(0,a.kt)("inlineCode",{parentName:"p"},"RpcShoot")," is then called to send a message to all clients, Passing in a ",(0,a.kt)("inlineCode",{parentName:"p"},"SyncPrefab")," object representing the prefab being synced."),(0,a.kt)("p",null,"On the client side, the ",(0,a.kt)("inlineCode",{parentName:"p"},"RpcShoot")," method finds the prefab from ",(0,a.kt)("inlineCode",{parentName:"p"},"ClientObjectManager")," using the ",(0,a.kt)("inlineCode",{parentName:"p"},"FindPrefab"),". It then instantiates a local clone of the prefab. "),(0,a.kt)("admonition",{type:"tip"},(0,a.kt)("p",{parentName:"admonition"},"Add ",(0,a.kt)("inlineCode",{parentName:"p"},"[NetworkedPrefab]")," attribute to your inspector field to show if it is set up correctly.")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class Shooter : NetworkBehaviour\n {\n // add [NetworkedPrefab] to ensure prefab is network object in inspector\n [NetworkedPrefab]\n public GameObject Prefab;\n\n // call this on server\n public void Shoot(Vector3 position, Quaternion rotation)\n {\n // spawn prefab locally\n var clone = Instantiate(Prefab, position, rotation);\n\n // then send to clients so they can also spawn locally\n\n RpcShoot(new SyncPrefab(Prefab.GetNetworkIdentity()), position, rotation);\n }\n\n [ClientRpc]\n public void RpcShoot(SyncPrefab syncPrefab, Vector3 position, Quaternion rotation)\n {\n // find prefab from objectManager\n var prefab = syncPrefab.FindPrefab(ClientObjectManager);\n\n // spawn prefab locally\n var clone = Instantiate(prefab, position, rotation);\n }\n }\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/81f459f9.60beee81.js b/assets/js/81f459f9.60beee81.js new file mode 100644 index 00000000000..11881e7a54e --- /dev/null +++ b/assets/js/81f459f9.60beee81.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8794],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var u=a.createContext({}),k=function(e){var t=a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},s=function(e){var t=k(e.components);return a.createElement(u.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,u=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),d=k(r),m=n,c=d["".concat(u,".").concat(m)]||d[m]||p[m]||l;return r?a.createElement(c,i(i({ref:t},s),{},{components:r})):a.createElement(c,i({ref:t},s))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=d;var o={};for(var u in t)hasOwnProperty.call(t,u)&&(o[u]=t[u]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var k=2;k<l;k++)i[k]=r[k];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}d.displayName="MDXCreateElement"},10895:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>k});var a=r(87462),n=(r(67294),r(3905));const l={id:"NetworkAnimator",title:"NetworkAnimator"},i="Class NetworkAnimator",o={unversionedId:"reference/Mirage/NetworkAnimator",id:"reference/Mirage/NetworkAnimator",title:"NetworkAnimator",description:"A component to synchronize animation states for networked objects.",source:"@site/docs/reference/Mirage/NetworkAnimator.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkAnimator",permalink:"/Mirage/docs/reference/Mirage/NetworkAnimator",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkAnimator.md",tags:[],version:"current",frontMatter:{id:"NetworkAnimator",title:"NetworkAnimator"},sidebar:"api",previous:{title:"MethodInvocationException",permalink:"/Mirage/docs/reference/Mirage/MethodInvocationException"},next:{title:"NetworkBehaviorSerializers",permalink:"/Mirage/docs/reference/Mirage/NetworkBehaviorSerializers"}},u={},k=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"ClientAuthority",id:"clientauthority",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Animator",id:"animator",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Methods",id:"methods",level:3},{value:"OnSerialize(NetworkWriter, Boolean)",id:"onserializenetworkwriter-boolean",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"OnDeserialize(NetworkReader, Boolean)",id:"ondeserializenetworkreader-boolean",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"SetTrigger(String)",id:"settriggerstring",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"SetTrigger(Int32)",id:"settriggerint32",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"ResetTrigger(String)",id:"resettriggerstring",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"ResetTrigger(Int32)",id:"resettriggerint32",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-5",level:5}],s={toc:k};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networkanimator"},"Class NetworkAnimator"),(0,n.kt)("p",null,"A component to synchronize animation states for networked objects."),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.NetworkBehaviour")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour._nextSyncTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncSettings"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsHost"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalPlayer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServerOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClientOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.HasAuthority"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Server"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ServerObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Client"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClientObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Owner"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.World"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetworkTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.BehaviourId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarDirtyBits"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnySyncObjectDirty"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.syncObjects"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Identity"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ComponentIndex"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarEqual","<","T",">","(T, T)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClearDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnyDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.GetRpcCount()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},'[Obsolete("NetworkAnimator is not optimzied so should not used in production.")]\npublic class NetworkAnimator : NetworkBehaviour\n')),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"clientauthority"},"ClientAuthority"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool ClientAuthority\n")),(0,n.kt)("h4",{id:"animator"},"Animator"),(0,n.kt)("p",null,"The animator component to synchronize."),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Animator Animator\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"onserializenetworkwriter-boolean"},"OnSerialize(NetworkWriter, Boolean)"),(0,n.kt)("p",null,"Custom Serialization"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override bool OnSerialize(NetworkWriter writer, bool initialState)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"initialState"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"ondeserializenetworkreader-boolean"},"OnDeserialize(NetworkReader, Boolean)"),(0,n.kt)("p",null,"Custom Deserialization"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override void OnDeserialize(NetworkReader reader, bool initialState)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"initialState"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"settriggerstring"},"SetTrigger(String)"),(0,n.kt)("p",null,"Causes an animation trigger to be invoked for a networked object.\nIf local authority is set, and this is called from the client, then the trigger will be invoked on the server and all clients. If not, then this is called on the server, and the trigger will be called on all clients."),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SetTrigger(string triggerName)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.String"),(0,n.kt)("td",{parentName:"tr",align:null},"triggerName"),(0,n.kt)("td",{parentName:"tr",align:null},"Name of trigger.")))),(0,n.kt)("h4",{id:"settriggerint32"},"SetTrigger(Int32)"),(0,n.kt)("p",null,"Causes an animation trigger to be invoked for a networked object."),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SetTrigger(int hash)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"hash"),(0,n.kt)("td",{parentName:"tr",align:null},"Hash id of trigger (from the Animator).")))),(0,n.kt)("h4",{id:"resettriggerstring"},"ResetTrigger(String)"),(0,n.kt)("p",null,"Causes an animation trigger to be reset for a networked object.\nIf local authority is set, and this is called from the client, then the trigger will be reset on the server and all clients. If not, then this is called on the server, and the trigger will be reset on all clients."),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void ResetTrigger(string triggerName)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.String"),(0,n.kt)("td",{parentName:"tr",align:null},"triggerName"),(0,n.kt)("td",{parentName:"tr",align:null},"Name of trigger.")))),(0,n.kt)("h4",{id:"resettriggerint32"},"ResetTrigger(Int32)"),(0,n.kt)("p",null,"Causes an animation trigger to be reset for a networked object."),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void ResetTrigger(int hash)\n")),(0,n.kt)("h5",{id:"parameters-5"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"hash"),(0,n.kt)("td",{parentName:"tr",align:null},"Hash id of trigger (from the Animator).")))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/81fcd85f.041a3d9f.js b/assets/js/81fcd85f.041a3d9f.js new file mode 100644 index 00000000000..9adffa45088 --- /dev/null +++ b/assets/js/81fcd85f.041a3d9f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9418],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>c});var l=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,l)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,l,r=function(e,t){if(null==e)return{};var a,l,r={},n=Object.keys(e);for(l=0;l<n.length;l++)a=n[l],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(l=0;l<n.length;l++)a=n[l],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=l.createContext({}),k=function(e){var t=l.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},m=function(e){var t=k(e.components);return l.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},d=l.forwardRef((function(e,t){var a=e.components,r=e.mdxType,n=e.originalType,p=e.parentName,m=o(e,["components","mdxType","originalType","parentName"]),d=k(a),c=r,s=d["".concat(p,".").concat(c)]||d[c]||u[c]||n;return a?l.createElement(s,i(i({ref:t},m),{},{components:a})):l.createElement(s,i({ref:t},m))}));function c(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var n=a.length,i=new Array(n);i[0]=d;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o.mdxType="string"==typeof e?e:r,i[1]=o;for(var k=2;k<n;k++)i[k]=a[k];return l.createElement.apply(null,i)}return l.createElement.apply(null,a)}d.displayName="MDXCreateElement"},61103:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>u,frontMatter:()=>n,metadata:()=>o,toc:()=>k});var l=a(87462),r=(a(67294),a(3905));const n={id:"FloatPacker",title:"FloatPacker"},i="Class FloatPacker",o={unversionedId:"reference/Mirage.Serialization/FloatPacker",id:"reference/Mirage.Serialization/FloatPacker",title:"FloatPacker",description:"Helps compresses a float into a reduced number of bits",source:"@site/docs/reference/Mirage.Serialization/FloatPacker.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/FloatPacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/FloatPacker",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/FloatPacker.md",tags:[],version:"current",frontMatter:{id:"FloatPacker",title:"FloatPacker"},sidebar:"api",previous:{title:"FloatPackAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/FloatPackAttribute"},next:{title:"FromBitCount",permalink:"/Mirage/docs/reference/Mirage.Serialization/FromBitCount"}},p={},k=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"FloatPacker(Single, Single)",id:"floatpackersingle-single",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"FloatPacker(Single, Int32)",id:"floatpackersingle-int32",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"FloatPacker(Single, Single, Boolean)",id:"floatpackersingle-single-boolean",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"FloatPacker(Single, Int32, Boolean)",id:"floatpackersingle-int32-boolean",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Methods",id:"methods",level:3},{value:"Pack(Single)",id:"packsingle",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns",level:5},{value:"Pack(NetworkWriter, Single)",id:"packnetworkwriter-single",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"PackNoClamp(Single)",id:"packnoclampsingle",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"Returns",id:"returns-1",level:5},{value:"PackNoClamp(NetworkWriter, Single)",id:"packnoclampnetworkwriter-single",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"Unpack(UInt32)",id:"unpackuint32",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"Returns",id:"returns-2",level:5},{value:"Unpack(NetworkReader)",id:"unpacknetworkreader",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"Returns",id:"returns-3",level:5}],m={toc:k};function u(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,l.Z)({},m,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-floatpacker"},"Class FloatPacker"),(0,r.kt)("p",null,"Helps compresses a float into a reduced number of bits"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class FloatPacker\n")),(0,r.kt)("h3",{id:"constructors"},"Constructors"),(0,r.kt)("h4",{id:"floatpackersingle-single"},"FloatPacker(Single, Single)"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public FloatPacker(float max, float lowestPrecision)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"max"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"lowestPrecision"),(0,r.kt)("td",{parentName:"tr",align:null},"lowest precision, actual precision will be caculated from number of bits used")))),(0,r.kt)("h4",{id:"floatpackersingle-int32"},"FloatPacker(Single, Int32)"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public FloatPacker(float max, int bitCount)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"max"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"bitCount"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"floatpackersingle-single-boolean"},"FloatPacker(Single, Single, Boolean)"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public FloatPacker(float max, float lowestPrecision, bool signed)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"max"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"lowestPrecision"),(0,r.kt)("td",{parentName:"tr",align:null},"lowest precision, actual precision will be caculated from number of bits used")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"signed"),(0,r.kt)("td",{parentName:"tr",align:null},"if negative values will be allowed or not")))),(0,r.kt)("h4",{id:"floatpackersingle-int32-boolean"},"FloatPacker(Single, Int32, Boolean)"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public FloatPacker(float max, int bitCount, bool signed)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"max"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"bitCount"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"signed"),(0,r.kt)("td",{parentName:"tr",align:null},"if negative values will be allowed or not")))),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"packsingle"},"Pack(Single)"),(0,r.kt)("p",null,"Packs a float value into a uint\nClamps the value within min/max range"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public uint Pack(float value)\n")),(0,r.kt)("h5",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"value"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"packnetworkwriter-single"},"Pack(NetworkWriter, Single)"),(0,r.kt)("p",null,"Packs and Writes a float value\nClamps the value within min/max range"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Pack(NetworkWriter writer, float value)\n")),(0,r.kt)("h5",{id:"parameters-5"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,r.kt)("td",{parentName:"tr",align:null},"writer"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"value"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"packnoclampsingle"},"PackNoClamp(Single)"),(0,r.kt)("p",null,"Packs a float value into a uint without clamping it in range"),(0,r.kt)("p",null,"WARNING: only use this method if value is always in range. Out of range values may not be unpacked correctly"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public uint PackNoClamp(float value)\n")),(0,r.kt)("h5",{id:"parameters-6"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"value"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-1"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"packnoclampnetworkwriter-single"},"PackNoClamp(NetworkWriter, Single)"),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void PackNoClamp(NetworkWriter writer, float value)\n")),(0,r.kt)("h5",{id:"parameters-7"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,r.kt)("td",{parentName:"tr",align:null},"writer"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"value"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"unpackuint32"},"Unpack(UInt32)"),(0,r.kt)("p",null,"Unpacks uint value to float"),(0,r.kt)("h5",{id:"declaration-8"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public float Unpack(uint value)\n")),(0,r.kt)("h5",{id:"parameters-8"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,r.kt)("td",{parentName:"tr",align:null},"value"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-2"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"unpacknetworkreader"},"Unpack(NetworkReader)"),(0,r.kt)("p",null,"Reads and unpacks float value"),(0,r.kt)("h5",{id:"declaration-9"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public float Unpack(NetworkReader reader)\n")),(0,r.kt)("h5",{id:"parameters-9"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,r.kt)("td",{parentName:"tr",align:null},"reader"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-3"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/821bca10.8ff6c583.js b/assets/js/821bca10.8ff6c583.js new file mode 100644 index 00000000000..43b92a6271c --- /dev/null +++ b/assets/js/821bca10.8ff6c583.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7366],{3905:(e,r,t)=>{t.d(r,{Zo:()=>s,kt:()=>d});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function l(e,r){if(null==e)return{};var t,a,n=function(e,r){if(null==e)return{};var t,a,n={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var c=a.createContext({}),u=function(e){var r=a.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},s=function(e){var r=u(e.components);return a.createElement(c.Provider,{value:r},e.children)},p={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},v=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),v=u(t),d=n,k=v["".concat(c,".").concat(d)]||v[d]||p[d]||o;return t?a.createElement(k,i(i({ref:r},s),{},{components:t})):a.createElement(k,i({ref:r},s))}));function d(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var o=t.length,i=new Array(o);i[0]=v;var l={};for(var c in r)hasOwnProperty.call(r,c)&&(l[c]=r[c]);l.originalType=e,l.mdxType="string"==typeof e?e:n,i[1]=l;for(var u=2;u<o;u++)i[u]=t[u];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}v.displayName="MDXCreateElement"},66327:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>l,toc:()=>u});var a=t(87462),n=(t(67294),t(3905));const o={id:"NetworkBehaviorSyncvar",title:"NetworkBehaviorSyncvar"},i="Struct NetworkBehaviorSyncvar",l={unversionedId:"reference/Mirage/NetworkBehaviorSyncvar",id:"reference/Mirage/NetworkBehaviorSyncvar",title:"NetworkBehaviorSyncvar",description:"backing struct for a NetworkIdentity when used as a syncvar",source:"@site/docs/reference/Mirage/NetworkBehaviorSyncvar.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkBehaviorSyncvar",permalink:"/Mirage/docs/reference/Mirage/NetworkBehaviorSyncvar",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkBehaviorSyncvar.md",tags:[],version:"current",frontMatter:{id:"NetworkBehaviorSyncvar",title:"NetworkBehaviorSyncvar"},sidebar:"api",previous:{title:"NetworkBehaviorSyncvar<T>",permalink:"/Mirage/docs/reference/Mirage/NetworkBehaviorSyncvar-1"},next:{title:"NetworkBehaviour.Id",permalink:"/Mirage/docs/reference/Mirage/NetworkBehaviour.Id"}},c={},u=[{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"NetworkBehaviorSyncvar(NetworkBehaviour)",id:"networkbehaviorsyncvarnetworkbehaviour",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Properties",id:"properties",level:3},{value:"Value",id:"value",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Methods",id:"methods",level:3},{value:"GetAs<T>()",id:"getast",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Returns",id:"returns",level:5}],s={toc:u};function p(e){let{components:r,...t}=e;return(0,n.kt)("wrapper",(0,a.Z)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"struct-networkbehaviorsyncvar"},"Struct NetworkBehaviorSyncvar"),(0,n.kt)("p",null,"backing struct for a NetworkIdentity when used as a syncvar\nthe weaver will replace the syncvar with this struct."),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public struct NetworkBehaviorSyncvar\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"networkbehaviorsyncvarnetworkbehaviour"},"NetworkBehaviorSyncvar(NetworkBehaviour)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkBehaviorSyncvar(NetworkBehaviour behaviour)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,n.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"value"},"Value"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkBehaviour Value { get; set; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"getast"},"GetAs","<","T",">","()"),(0,n.kt)("p",null,"returns Value cast as T"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public T GetAs<T>()\n where T : NetworkBehaviour\n")),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8230aa30.8b54232c.js b/assets/js/8230aa30.8b54232c.js new file mode 100644 index 00000000000..4775e0c3639 --- /dev/null +++ b/assets/js/8230aa30.8b54232c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8848],{3905:(e,r,t)=>{t.d(r,{Zo:()=>d,kt:()=>p});var a=t(67294);function i(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function n(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?n(Object(t),!0).forEach((function(r){i(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):n(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function s(e,r){if(null==e)return{};var t,a,i=function(e,r){if(null==e)return{};var t,a,i={},n=Object.keys(e);for(a=0;a<n.length;a++)t=n[a],r.indexOf(t)>=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)t=n[a],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var o=a.createContext({}),c=function(e){var r=a.useContext(o),t=r;return e&&(t="function"==typeof e?e(r):l(l({},r),e)),t},d=function(e){var r=c(e.components);return a.createElement(o.Provider,{value:r},e.children)},m={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},u=a.forwardRef((function(e,r){var t=e.components,i=e.mdxType,n=e.originalType,o=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=c(t),p=i,f=u["".concat(o,".").concat(p)]||u[p]||m[p]||n;return t?a.createElement(f,l(l({ref:r},d),{},{components:t})):a.createElement(f,l({ref:r},d))}));function p(e,r){var t=arguments,i=r&&r.mdxType;if("string"==typeof e||i){var n=t.length,l=new Array(n);l[0]=u;var s={};for(var o in r)hasOwnProperty.call(r,o)&&(s[o]=r[o]);s.originalType=e,s.mdxType="string"==typeof e?e:i,l[1]=s;for(var c=2;c<n;c++)l[c]=t[c];return a.createElement.apply(null,l)}return a.createElement.apply(null,t)}u.displayName="MDXCreateElement"},28010:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>o,contentTitle:()=>l,default:()=>m,frontMatter:()=>n,metadata:()=>s,toc:()=>c});var a=t(87462),i=(t(67294),t(3905));const n={id:"HeadlessFrameLimiter",title:"HeadlessFrameLimiter"},l="Class HeadlessFrameLimiter",s={unversionedId:"reference/Mirage/HeadlessFrameLimiter",id:"reference/Mirage/HeadlessFrameLimiter",title:"HeadlessFrameLimiter",description:"Inheritance",source:"@site/docs/reference/Mirage/HeadlessFrameLimiter.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/HeadlessFrameLimiter",permalink:"/Mirage/docs/reference/Mirage/HeadlessFrameLimiter",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/HeadlessFrameLimiter.md",tags:[],version:"current",frontMatter:{id:"HeadlessFrameLimiter",title:"HeadlessFrameLimiter"},sidebar:"api",previous:{title:"HeadlessAutoStart",permalink:"/Mirage/docs/reference/Mirage/HeadlessAutoStart"},next:{title:"HostRendererVisibility",permalink:"/Mirage/docs/reference/Mirage/HostRendererVisibility"}},o={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"serverTickRate",id:"servertickrate",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Methods",id:"methods",level:3},{value:"Start()",id:"start",level:4},{value:"Declaration",id:"declaration-1",level:5}],d={toc:c};function m(e){let{components:r,...t}=e;return(0,i.kt)("wrapper",(0,a.Z)({},d,t,{components:r,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-headlessframelimiter"},"Class HeadlessFrameLimiter"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public class HeadlessFrameLimiter : MonoBehaviour\n")),(0,i.kt)("h3",{id:"fields"},"Fields"),(0,i.kt)("h4",{id:"servertickrate"},"serverTickRate"),(0,i.kt)("p",null,"Server Update frequency, per second. Use around 60Hz for fast paced games like Counter-Strike to minimize latency. Use around 30Hz for games like WoW to minimize computations. Use around 1-10Hz for slow paced games like EVE."),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public int serverTickRate\n")),(0,i.kt)("h3",{id:"methods"},"Methods"),(0,i.kt)("h4",{id:"start"},"Start()"),(0,i.kt)("p",null,"Set the frame rate for a headless server."),(0,i.kt)("h5",{id:"declaration-1"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public void Start()\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/824aed02.423101d7.js b/assets/js/824aed02.423101d7.js new file mode 100644 index 00000000000..6cf058af2ce --- /dev/null +++ b/assets/js/824aed02.423101d7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7674],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),c=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},p=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=c(n),m=r,g=u["".concat(s,".").concat(m)]||u[m]||d[m]||i;return n?a.createElement(g,o(o({ref:t},p),{},{components:n})):a.createElement(g,o({ref:t},p))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=u;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:r,o[1]=l;for(var c=2;c<i;c++)o[c]=n[c];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}u.displayName="MDXCreateElement"},76557:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var a=n(87462),r=(n(67294),n(3905));const i={},o="Mirage Quick Start Guide V0.1",l={unversionedId:"guides/community-guides/mirage-quick-start-guide",id:"guides/community-guides/mirage-quick-start-guide",title:"Mirage Quick Start Guide V0.1",description:"This guide covers the following topics:",source:"@site/docs/guides/community-guides/mirage-quick-start-guide.md",sourceDirName:"guides/community-guides",slug:"/guides/community-guides/mirage-quick-start-guide",permalink:"/Mirage/docs/guides/community-guides/mirage-quick-start-guide",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/community-guides/mirage-quick-start-guide.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Community Guides",permalink:"/Mirage/docs/guides/community-guides/"},next:{title:"Examples",permalink:"/Mirage/docs/category/examples"}},s={},c=[{value:"Installation",id:"installation",level:2},{value:"Creating A Network Manager",id:"creating-a-network-manager",level:2},{value:"Player Movement",id:"player-movement",level:2},{value:"Types of servers",id:"types-of-servers",level:3},{value:"Why are you telling me this now?",id:"why-are-you-telling-me-this-now",level:3},{value:"Continuing with the guide",id:"continuing-with-the-guide",level:3},{value:"Initiate Server By Scripting",id:"initiate-server-by-scripting",level:2},{value:"Understanding Network Hud",id:"understanding-network-hud",level:2},{value:"Names And Colours",id:"names-and-colours",level:2},{value:"Part 11",id:"part-11",level:2},{value:"Weapon Switching",id:"weapon-switching",level:2},{value:"Part 14",id:"part-14",level:2}],p={toc:c};function d(e){let{components:t,...i}=e;return(0,r.kt)("wrapper",(0,a.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"mirage-quick-start-guide-v01"},"Mirage Quick Start Guide V0.1"),(0,r.kt)("p",null,"This guide covers the following topics:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"#installation"},"Installation")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"#creating-a-network-manager"},"Network Manager GameObject")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"#player-movement"},"Player Movement")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"#initiate-server-by-scripting"},"Initiate Server By Scripting")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"#understanding-network-hud"},"Network Manager Hud")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"#names-and-colours"},"Names And Colours")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"#weapon-switching"},"Weapon Switching"))),(0,r.kt)("p",null,"It is best to first make a mini practice game before converting your single-player game or creating your ideal brand new multiplayer."),(0,r.kt)("p",null,"The Pre-made Mirage examples are great for using as reference, it is recommended to use them regarding connection setup, with ports and firewalls. This can be a huge topic that changes from person to person and is not covered in this guide, here we will use localHost (multiple games on the same PC).\nTo achieve this, let's first create a new blank project on Unity Hub, after the editor opened up, we can move forward."),(0,r.kt)("h2",{id:"installation"},"Installation"),(0,r.kt)("p",null,"Before everything, to install Mirage we need to add a new package manager repository to our project. To do this, we can go into ",(0,r.kt)("inlineCode",{parentName:"p"},"Edit menu")," and then ",(0,r.kt)("inlineCode",{parentName:"p"},"Project Settings"),".\nThis will open a new Editor Window with multiple tabs. The one we are looking for is ",(0,r.kt)("inlineCode",{parentName:"p"},"Package Manager"),", so click there.\nOnce you click there, you should add a new Package Manager, so complete the fields as we show next and click apply"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Name: OpenUPM\nUrl: https://package.openupm.com\nScopes:\n- com.cysharp.unitask\n- com.openupm\n- com.miragenet\n")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Add scoped registry",src:n(40016).Z,width:"829",height:"689"})),(0,r.kt)("p",null,"Once everything is ready, the next step is to close the Project Settings window, and jump into the ",(0,r.kt)("inlineCode",{parentName:"p"},"Package Manager"),". So for this, we click on ",(0,r.kt)("inlineCode",{parentName:"p"},"Window menu")," and then ",(0,r.kt)("inlineCode",{parentName:"p"},"Package Manager"),".\nAt this window, we will click on a small button that says (probably, at today date on Unity Editor 2021.13f) ",(0,r.kt)("inlineCode",{parentName:"p"},"Packages: In Project"),", here we have to select ",(0,r.kt)("inlineCode",{parentName:"p"},"My registries"),".\nOnce, you've done that, we should be able to see Mirage and a few transport and also plugins in that list.\nAfter selecting, you can choose the version on the list below the name, otherwise, you can just click install on the bottom right part of the window and after a loading bar, that's it. You already have Mirage API on your code, congrats!"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Install Mirage",src:n(74896).Z,width:"912",height:"707"})),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"Mirage already includes a UDP transport, so for this guide is not necessary to download anything else than Mirage.")),(0,r.kt)("h2",{id:"creating-a-network-manager"},"Creating A Network Manager"),(0,r.kt)("p",null,"Here we will be following a couple of steps, so it is easier to follow me."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Right-click on your Scenes folder, then click on Create new scene, save it as ",(0,r.kt)("inlineCode",{parentName:"li"},"Main Scene"),", and add it to build settings"),(0,r.kt)("li",{parentName:"ul"},"Mirage already has a menu for creating a base network manager, so right-click on your Scene hierarchy then go to ",(0,r.kt)("inlineCode",{parentName:"li"},"Create => Network => NetworkManager")),(0,r.kt)("li",{parentName:"ul"},"Now you will see a pre-configured GameObject called ",(0,r.kt)("inlineCode",{parentName:"li"},"NetworkManager"))),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Network Manager",src:n(27452).Z,width:"888",height:"447"})),(0,r.kt)("p",null,"Important stuff about these objects"),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"CharacterSpawner is the one will be in charge of spawning your player later, so this is very important object.",(0,r.kt)("br",{parentName:"p"}),"\n","Since we are not changing scenes between server open or close, we could disable the NetworkSceneManager, but we can leave it as it is.",(0,r.kt)("br",{parentName:"p"}),"\n","UdpSocketFactory is the one that does the connection, so you can change the IP and port if necessary there.")),(0,r.kt)("p",null,"Now let's set up a few things on the scene, to make it look more like a game"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Add a simple Plane floor with: ",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"positions (0, -1, 0)"),(0,r.kt)("li",{parentName:"ul"},"scale (2, 2, 2)"))),(0,r.kt)("li",{parentName:"ul"},"Next, we add a GameObject, name with the name ",(0,r.kt)("inlineCode",{parentName:"li"},"StartPosition1")," ",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"set position (1, 1, 1)"))),(0,r.kt)("li",{parentName:"ul"},"We go back to our ",(0,r.kt)("inlineCode",{parentName:"li"},"NetworkManager GO"),", over ",(0,r.kt)("inlineCode",{parentName:"li"},"Character Spawner")," component we will change the ",(0,r.kt)("inlineCode",{parentName:"li"},"Player Spawn Method")," from Random to Round Robin.",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"As a second step, we will add to the ",(0,r.kt)("inlineCode",{parentName:"li"},"Start Positions")," list the one we created in the previous step."))),(0,r.kt)("li",{parentName:"ul"},"(Optional) you can create more positions if you want, and you can add them to the list, is not necessary but maybe looks nice.")),(0,r.kt)("h2",{id:"player-movement"},"Player Movement"),(0,r.kt)("p",null,"So after we configure the basics, we need to create our player prefab in order to be able to spawn ourselves in the network.\nAs before, we will follow a couple of easy steps."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Create a capsule in the scene hierarchy and name it Player"),(0,r.kt)("li",{parentName:"ul"},"Attach a ",(0,r.kt)("inlineCode",{parentName:"li"},"NetworkIdentity")," and ",(0,r.kt)("inlineCode",{parentName:"li"},"NetworkTransform")," component into the capsule."),(0,r.kt)("li",{parentName:"ul"},"Tick Client Authority on the NetworkTransform")),(0,r.kt)("p",null,"This is how our Player GO components should look right now"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Player Components",src:n(74654).Z,width:"485",height:"709"})),(0,r.kt)("p",null,"NOTE: Is not needed to set anything else here, ",(0,r.kt)("inlineCode",{parentName:"p"},"Server Object Manager")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"Client Object Manager")," will be set dynamically by Mirage later."),(0,r.kt)("p",null,"Next steps:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Add a new Script, call it ",(0,r.kt)("inlineCode",{parentName:"li"},"PlayerScript")),(0,r.kt)("li",{parentName:"ul"},"Then drag this GO with the mouse into the assets folder (You should probably create a Prefabs folder later as a good practice) and release the mouse there. That will create a Prefab for us. (You can notice this was successful because your GO icon in the scene hierarchy will be blue now)"),(0,r.kt)("li",{parentName:"ul"},"Then delete Player from the scene")),(0,r.kt)("p",null,"At this stage, our player is done, so right now we need to tell Mirage who is our player in order to spawn it.\nSo this is very easy, just go to your ",(0,r.kt)("inlineCode",{parentName:"p"},"NetworkManager")," GO and open (if it is not) Character Spawner, then drag the player prefab we created before in the ",(0,r.kt)("inlineCode",{parentName:"p"},"Player Prefab")," field."),(0,r.kt)("p",null,(0,r.kt)("img",{src:n(65394).Z,width:"887",height:"738"})),(0,r.kt)("p",null,"The last step we will need to do is simple: go to the script we created before (you can go into the assets folder and it will be there) and double click it and it will open your IDE. So what we will need to do is simple: tell how we are moving the user, and also to set the camera as a child of the player."),(0,r.kt)("p",null,"We can do that simply like this:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'using Mirage;\nusing UnityEngine;\n\nnamespace GettingStarted\n{\n public class PlayerScript : NetworkBehaviour\n {\n private void Awake() {\n Identity.OnStartLocalPlayer.AddListener(OnStartLocalPlayer);\n }\n\n private void OnStartLocalPlayer()\n {\n Camera.main.transform.SetParent(transform);\n Camera.main.transform.localPosition = new Vector3(0, 0, 0);\n }\n\n private void Update()\n {\n if (!IsLocalPlayer) { return; }\n\n float moveX = Input.GetAxis("Horizontal") * Time.deltaTime * 110.0f;\n float moveZ = Input.GetAxis("Vertical") * Time.deltaTime * 4f;\n\n transform.Rotate(0, moveX, 0);\n transform.Translate(0, 0, moveZ);\n }\n }\n}\n')),(0,r.kt)("p",null,"Press play in Unity editor and... what happened? Why is our player don't spawning?\nWell, the question is very simple. You need to start the server somehow, and that's what coming next, but before..."),(0,r.kt)("h3",{id:"types-of-servers"},"Types of servers"),(0,r.kt)("p",null,"On Mirage has two types of servers:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"You can create a server-only game, which runs as an Authoritative kind, and takes decisions for every player and you must join always as a client (",(0,r.kt)("a",{parentName:"li",href:"https://www.gabrielgambetta.com/client-server-game-architecture.html"},"For more info you can click here"),")."),(0,r.kt)("li",{parentName:"ul"},"You can create a host server. Which will work as client + server and will take decisions for every other client in the network")),(0,r.kt)("p",null,"Which one is the best? That depends on your game, we can't know certainly in this guide."),(0,r.kt)("h3",{id:"why-are-you-telling-me-this-now"},"Why are you telling me this now?"),(0,r.kt)("p",null,"Because in this guide we will be working on Server + Client type, so we want you to know that there are other ways to connect to the Server besides this guide."),(0,r.kt)("h3",{id:"continuing-with-the-guide"},"Continuing with the guide"),(0,r.kt)("p",null,"Now, we need to connect to our server, so for this, we have two roads, write down a script and make the server start, or just use the HUD."),(0,r.kt)("h2",{id:"initiate-server-by-scripting"},"Initiate Server By Scripting"),(0,r.kt)("p",null,"This one is pretty simple, we just need to go to our ",(0,r.kt)("inlineCode",{parentName:"p"},"NetworkManager")," GO then"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Create a new script, we can call it ",(0,r.kt)("inlineCode",{parentName:"li"},"StartServer")),(0,r.kt)("li",{parentName:"ul"},"Then server starts should look like this:")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"using Mirage;\nusing UnityEngine;\n\nnamespace GettingStarted\n{\n public class StartServer : MonoBehaviour\n {\n [SerializeField] private NetworkManager networkManager;\n\n private void Start() \n {\n if (!networkManager) { return; }\n \n networkManager.Server.StartServer(networkManager.Client);\n }\n }\n}\n")),(0,r.kt)("p",null,"After we save the file, we go back into our ",(0,r.kt)("inlineCode",{parentName:"p"},"NetworkManager")," GO, and assign the NetworkManager field to the script."),(0,r.kt)("p",null,(0,r.kt)("img",{src:n(60643).Z,width:"887",height:"824"})),(0,r.kt)("h2",{id:"understanding-network-hud"},"Understanding Network Hud"),(0,r.kt)("admonition",{title:"TODO",type:"danger"},(0,r.kt)("p",{parentName:"admonition"},"From here: This guide was written for Mirror so some information might be out-of-date for Mirage")),(0,r.kt)("h2",{id:"names-and-colours"},"Names And Colours"),(0,r.kt)("p",null,"Player name above heads"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Inside your player Prefab, create an empty GameObject"),(0,r.kt)("li",{parentName:"ul"},"name it something like ",(0,r.kt)("inlineCode",{parentName:"li"},"FloatingInfo"),(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"position Y to 1.5 "),(0,r.kt)("li",{parentName:"ul"},"scale X to -1"))),(0,r.kt)("li",{parentName:"ul"},"Inside that ",(0,r.kt)("inlineCode",{parentName:"li"},"FloatingInfo"),", create a 3D text using Unity menu (GameObject - 3D Object - 3D Text),"),(0,r.kt)("li",{parentName:"ul"},"Set it up as shown in the picture below")),(0,r.kt)("p",null,(0,r.kt)("img",{src:n(47e3).Z,width:"1250",height:"900"})),(0,r.kt)("p",null,"Update your PlayerScript.cs with this:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'using Mirage;\nusing UnityEngine;\n\nnamespace QuickStart\n{\n public class PlayerScript : NetworkBehaviour\n {\n public TextMesh playerNameText;\n public GameObject floatingInfo;\n\n private Material playerMaterialClone;\n\n [SyncVar(hook = nameof(OnNameChanged))]\n public string playerName;\n\n [SyncVar(hook = nameof(OnColorChanged))]\n public Color playerColor = Color.white;\n\n [ServerRpc]\n public void CmdSetupPlayer(string _name, Color _col)\n {\n // player info sent to server, then server updates sync vars which handles it on all clients\n playerName = _name;\n playerColor = _col;\n }\n\n private void Awake() {\n Identity.OnStartLocalPlayer.AddListener(OnStartLocalPlayer);\n }\n\n private void OnStartLocalPlayer()\n {\n Camera.main.transform.SetParent(transform);\n Camera.main.transform.localPosition = new Vector3(0, 0, 0);\n \n floatingInfo.transform.localPosition = new Vector3(0, -0.3f, 0.6f);\n floatingInfo.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);\n\n string name = "Player" + Random.Range(100, 999);\n Color color = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f))\n CmdSetupPlayer(name, color);\n }\n\n private void OnNameChanged(string _Old, string _New)\n {\n playerNameText.text = playerName;\n }\n\n private void OnColorChanged(Color _Old, Color _New)\n {\n playerNameText.color = _New;\n playerMaterialClone = new Material(GetComponent<Renderer>().material);\n playerMaterialClone.color = _New;\n GetComponent<Renderer>().material = playerMaterialClone;\n }\n\n private void Update()\n {\n if (!IsLocalPlayer)\n {\n // make non-local players run this\n floatingInfo.transform.LookAt(Camera.main.transform);\n return;\n }\n\n float moveX = Input.GetAxis("Horizontal") * Time.deltaTime * 110.0f;\n float moveZ = Input.GetAxis("Vertical") * Time.deltaTime * 4f;\n\n transform.Rotate(0, moveX, 0);\n transform.Translate(0, 0, moveZ);\n }\n }\n}\n')),(0,r.kt)("p",null,"Add the ",(0,r.kt)("inlineCode",{parentName:"p"},"PlayerNameText")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"FloatingInfo")," objects into the script on the player prefab, as shown below."),(0,r.kt)("p",null,(0,r.kt)("img",{src:n(57490).Z,width:"1030",height:"668"})),(0,r.kt)("p",null,"Now if you build and run, host on one, and join on the other, you will see player names and colors synced across the network! "),(0,r.kt)("p",null,"Well done, 5 stars to you!"),(0,r.kt)("p",null,(0,r.kt)("img",{src:n(82714).Z,width:"2310",height:"890"})),(0,r.kt)("h2",{id:"part-11"},"Part 11"),(0,r.kt)("p",null,"A scene networked object all can access and adjust."),(0,r.kt)("p",null,"Create a SceneScript.cs, and add it onto an empty GameObject in the scene called SceneScript."),(0,r.kt)("p",null,"Then create a Canvas with text and a button, similar to the image below."),(0,r.kt)("p",null,(0,r.kt)("img",{src:n(20849).Z,width:"1540",height:"1270"})),(0,r.kt)("p",null,"Add the sceneScript variable, Awake function, and CmdSendPlayerMessage to PlayerScript.cs\nAlso add the new playerName joined line to CmdSetupPlayer();"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'private SceneScript sceneScript;\n\nvoid Awake()\n{\n //allow all players to run this\n sceneScript = GameObject.FindObjectOfType<SceneScript>();\n Identity.OnStartLocalPlayer.AddListener(OnStartLocalPlayer);\n}\n[ServerRpc]\npublic void CmdSendPlayerMessage()\n{\n if (sceneScript) \n { \n sceneScript.statusText = $"{playerName} says hello {Random.Range(10, 99)}";\n }\n}\n[ServerRpc]\npublic void CmdSetupPlayer(string _name, Color _col)\n{\n //player info sent to server, then server updates sync vars which handles it on all clients\n playerName = _name;\n playerColor = _col;\n sceneScript.statusText = $"{playerName} joined.";\n}\npublic void OnStartLocalPlayer()\n{\n sceneScript.playerScript = this;\n //. . . . ^ new line to add here\n')),(0,r.kt)("p",null,"Add this code to SceneScript.cs"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"using Mirage;\nusing UnityEngine;\nusing UnityEngine.UI;\n\nnamespace QuickStart\n{\n public class SceneScript : NetworkBehaviour\n {\n public Text canvasStatusText;\n public PlayerScript playerScript;\n\n [SyncVar(hook = nameof(OnStatusTextChanged))]\n public string statusText;\n\n void OnStatusTextChanged(string _Old, string _New)\n {\n //called from sync var hook, to update info on screen for all players\n canvasStatusText.text = statusText;\n }\n\n public void ButtonSendMessage()\n {\n if (playerScript != null) \n {\n playerScript.CmdSendPlayerMessage();\n }\n }\n }\n}\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Attach the ButtonSendMessage function to your Canvas Button."),(0,r.kt)("li",{parentName:"ul"},"Attach Canvas Scene Text to SceneScript variable.",(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"ignore SceneScript\u2019s, ",(0,r.kt)("inlineCode",{parentName:"li"},"playerScript")," variable, it automatically sets this!")))),(0,r.kt)("p",null,(0,r.kt)("img",{src:n(8264).Z,width:"1030",height:"688"}),"\n",(0,r.kt)("img",{src:n(84054).Z,width:"700",height:"538"})),(0,r.kt)("p",null,"Now if you build and run, host, and join, you can send messages, and have a text log for actions!"),(0,r.kt)("p",null,"Wahooo!"),(0,r.kt)("p",null,(0,r.kt)("img",{src:n(19612).Z,width:"562",height:"234"}),"\n",(0,r.kt)("img",{src:n(80576).Z,width:"518",height:"216"})),(0,r.kt)("p",null,"Experiment and adjust, have fun!"),(0,r.kt)("p",null,(0,r.kt)("img",{src:n(9970).Z,width:"2156",height:"988"})),(0,r.kt)("h2",{id:"weapon-switching"},"Weapon Switching"),(0,r.kt)("p",null,"Weapon switching! The code bits."),(0,r.kt)("p",null,"Add the following to your PlayerScript.cs"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"private int selectedWeaponLocal = 1;\npublic GameObject[] weaponArray;\n\n[SyncVar(hook = nameof(OnWeaponChanged))]\npublic int activeWeaponSynced;\n\nvoid OnWeaponChanged(int _Old, int _New)\n{\n // disable old weapon\n // in range and not null\n if (0 < _Old && _Old < weaponArray.Length && weaponArray[_Old] != null)\n {\n weaponArray[_Old].SetActive(false);\n }\n \n // enable new weapon\n // in range and not null\n if (0 < _New && _New < weaponArray.Length && weaponArray[_New] != null)\n {\n weaponArray[_New].SetActive(true);\n }\n}\n\n[ServerRpc]\npublic void CmdChangeActiveWeapon(int newIndex)\n{\n activeWeaponSynced = newIndex;\n}\n\nvoid Awake() \n{\n // disable all weapons\n foreach (var item in weaponArray)\n {\n if (item != null)\n { \n item.SetActive(false); \n }\n }\n}\n")),(0,r.kt)("p",null,"Add the weapon switch button in ",(0,r.kt)("inlineCode",{parentName:"p"},"Update"),". Only the local player switches its own weapon, so it goes below the ",(0,r.kt)("inlineCode",{parentName:"p"},"!IsLocalPlayer")," check."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'void Update()\n{\n if (!IsLocalPlayer)\n {\n // make non-local players run this\n floatingInfo.transform.LookAt(Camera.main.transform);\n return;\n }\n\n float moveX = Input.GetAxis("Horizontal") * Time.deltaTime * 110.0f;\n float moveZ = Input.GetAxis("Vertical") * Time.deltaTime * 4f;\n\n transform.Rotate(0, moveX, 0);\n transform.Translate(0, 0, moveZ);\n\n if (Input.GetButtonDown("Fire2")) //Fire2 is mouse 2nd click and left alt\n {\n selectedWeaponLocal += 1;\n\n if (selectedWeaponLocal > weaponArray.Length) \n {\n selectedWeaponLocal = 1; \n }\n\n CmdChangeActiveWeapon(selectedWeaponLocal);\n }\n}\n')),(0,r.kt)("p",null,"Weapon models"),(0,r.kt)("p",null,"Add the basic cube weapons first, change these later."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Double click your player prefab to enter it"),(0,r.kt)("li",{parentName:"ul"},'Add a "WeaponsHolder" empty GameObject, with position and rotation at 0,0,0.'),(0,r.kt)("li",{parentName:"ul"},"Inside that GameObject, create a cube from the Unity menu, (GameObject, 3D object, cube)- Remove the box colliders."),(0,r.kt)("li",{parentName:"ul"},"Rename this ",(0,r.kt)("inlineCode",{parentName:"li"},"Weapon1"),", change position and scale to match the below pictures.")),(0,r.kt)("p",null,(0,r.kt)("img",{src:n(73379).Z,width:"1678",height:"898"})),(0,r.kt)("p",null,"Duplicate weapon 1 for Weapon 2, and change its scale and position, now you should have 2 different looking \u2018weapons\u2019!"),(0,r.kt)("p",null,(0,r.kt)("img",{src:n(82685).Z,width:"1688",height:"900"})),(0,r.kt)("h2",{id:"part-14"},"Part 14"),(0,r.kt)("p",null,"Weapon switch finale."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Add these 2 GameObjects to your PlayerScript.cs weapons array."),(0,r.kt)("li",{parentName:"ul"},"Disable weapon 2, so only weapon 1 shows when spawning.")),(0,r.kt)("p",null,(0,r.kt)("img",{src:n(1420).Z,width:"1126",height:"730"})),(0,r.kt)("p",null,"Build and run!"),(0,r.kt)("p",null,"You should see each player switching weapons, and whatever your player has equipped, will auto show on new joining players (sync var and hook magic!)"),(0,r.kt)("p",null,(0,r.kt)("img",{src:n(20545).Z,width:"2384",height:"996"})))}d.isMDXComponent=!0},47e3:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/image--008-b4529e2fac09d41dccece8e12d3193e4.jpg"},57490:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/image--009-608e0e8600c9e852a0aa64dc2d9d2f4a.jpg"},82714:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/image--010-7425e4daff3c455e164260a11589e97d.jpg"},20849:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/image--011-f0887207e8857a9b843eedba80f9269e.jpg"},8264:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/image--012-6b5e88a29745146aea6bdd5eb58a201a.jpg"},84054:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/image--013-311a1ec0bbf4f47ac587d3835250a340.jpg"},19612:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/image--014-9634108be80a1332d817f0cee994f68f.jpg"},80576:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/image--015-d20c36755c977aea4d41fb3c6619f46b.jpg"},9970:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/image--016-6efe060fd534d2a4a9625c1f5ddbefb2.jpg"},73379:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/image--017-f99401bbcb96b03368999cad5d47fe23.jpg"},82685:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/image--018-5d5dbd52c1a437fc443459d20ba8a50b.jpg"},1420:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/image--019-e1a866710cd99769b38282e255294575.jpg"},20545:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/image--020-e01607f64439d24c0e13c1364f36eff7.jpg"},27452:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/network-manager-609a9a521cf42486a1e71563db343a9e.jpg"},74654:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/player-components-3fc9db928ec0009e928048bfe8bc0257.jpg"},65394:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/spawn-player-cc287d10a0839a8fd3174b561b69822e.jpg"},60643:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/start-server-script-946b387ee058d61d3a85e54ef1653e90.jpg"},74896:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/install-mirage-494fddba2c7b23b53afda253b7d5575e.png"},40016:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/scoped-registry-53cc767107b7b116001086c47ba33c16.png"}}]); \ No newline at end of file diff --git a/assets/js/83650baf.a01bf4a7.js b/assets/js/83650baf.a01bf4a7.js new file mode 100644 index 00000000000..7b0babb6ca5 --- /dev/null +++ b/assets/js/83650baf.a01bf4a7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8564],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),p=s(r),u=a,y=p["".concat(c,".").concat(u)]||p[u]||f[u]||o;return r?n.createElement(y,i(i({ref:t},d),{},{components:r})):n.createElement(y,i({ref:t},d))}));function u(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=p;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:a,i[1]=l;for(var s=2;s<o;s++)i[s]=r[s];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},9132:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>f,frontMatter:()=>o,metadata:()=>l,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));const o={id:"INotifyCallBack",title:"INotifyCallBack"},i="Interface INotifyCallBack",l={unversionedId:"reference/Mirage.SocketLayer/INotifyCallBack",id:"reference/Mirage.SocketLayer/INotifyCallBack",title:"INotifyCallBack",description:"Can be passed into and methods will be invoked when notify is delivered or lost",source:"@site/docs/reference/Mirage.SocketLayer/INotifyCallBack.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/INotifyCallBack",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/INotifyCallBack",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/INotifyCallBack.md",tags:[],version:"current",frontMatter:{id:"INotifyCallBack",title:"INotifyCallBack"},sidebar:"api",previous:{title:"IHasPort",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IHasPort"},next:{title:"INotifyCallBackExtensions",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/INotifyCallBackExtensions"}},c={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"OnDelivered()",id:"ondelivered",level:4},{value:"Declaration",id:"declaration",level:5},{value:"OnLost()",id:"onlost",level:4},{value:"Declaration",id:"declaration-1",level:5}],d={toc:s};function f(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"interface-inotifycallback"},"Interface INotifyCallBack"),(0,a.kt)("p",null,"Can be passed into and methods will be invoked when notify is delivered or lost"),(0,a.kt)("p",null,"See the Notify Example on how to use this interface"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public interface INotifyCallBack\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"ondelivered"},"OnDelivered()"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"void OnDelivered()\n")),(0,a.kt)("h4",{id:"onlost"},"OnLost()"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"void OnLost()\n")))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/842d10b8.defe95bb.js b/assets/js/842d10b8.defe95bb.js new file mode 100644 index 00000000000..1deb81edbc0 --- /dev/null +++ b/assets/js/842d10b8.defe95bb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4218],{3905:(e,t,i)=>{i.d(t,{Zo:()=>h,kt:()=>d});var n=i(67294);function o(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function a(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?r(Object(i),!0).forEach((function(t){o(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):r(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function s(e,t){if(null==e)return{};var i,n,o=function(e,t){if(null==e)return{};var i,n,o={},r=Object.keys(e);for(n=0;n<r.length;n++)i=r[n],t.indexOf(i)>=0||(o[i]=e[i]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)i=r[n],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}var l=n.createContext({}),c=function(e){var t=n.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},h=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var i=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,h=s(e,["components","mdxType","originalType","parentName"]),p=c(i),d=o,u=p["".concat(l,".").concat(d)]||p[d]||m[d]||r;return i?n.createElement(u,a(a({ref:t},h),{},{components:i})):n.createElement(u,a({ref:t},h))}));function d(e,t){var i=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=i.length,a=new Array(r);a[0]=p;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:o,a[1]=s;for(var c=2;c<r;c++)a[c]=i[c];return n.createElement.apply(null,a)}return n.createElement.apply(null,i)}p.displayName="MDXCreateElement"},880:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>m,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var n=i(87462),o=(i(67294),i(3905));const r={sidebar_position:8},a="Network Visibility",s={unversionedId:"guides/network-visibility",id:"guides/network-visibility",title:"Network Visibility",description:"Multiplayer games use the concept of network visibility to determine which players can see which game objects at any given time during gameplay. In a game that has a moving viewpoint and moving game objects, it\u2019s common that players cannot see everything that is happening in the game at once.",source:"@site/docs/guides/network-visibility.md",sourceDirName:"guides",slug:"/guides/network-visibility",permalink:"/Mirage/docs/guides/network-visibility",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/network-visibility.md",tags:[],version:"current",sidebarPosition:8,frontMatter:{sidebar_position:8},sidebar:"docs",previous:{title:"Clock Synchronization",permalink:"/Mirage/docs/guides/clock-sync"},next:{title:"Mirror Migration Guide",permalink:"/Mirage/docs/guides/mirror-migration"}},l={},c=[{value:"Network Proximity Checker Component",id:"network-proximity-checker-component",level:2},{value:"Network Scene Checker Component",id:"network-scene-checker-component",level:2},{value:"Network Visibility on Remote Clients",id:"network-visibility-on-remote-clients",level:2},{value:"Network Visibility on the Host",id:"network-visibility-on-the-host",level:2},{value:"Customizing Network Visibility",id:"customizing-network-visibility",level:2}],h={toc:c};function m(e){let{components:t,...i}=e;return(0,o.kt)("wrapper",(0,n.Z)({},h,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"network-visibility"},"Network Visibility"),(0,o.kt)("p",null,"Multiplayer games use the concept of network visibility to determine which players can see which game objects at any given time during gameplay. In a game that has a moving viewpoint and moving game objects, it\u2019s common that players cannot see everything that is happening in the game at once."),(0,o.kt)("p",null,"If a particular player, at a certain point in time during gameplay, cannot see most of the other players, non-player characters, or other moving or interactive things in your game, there is usually no need for the server to send information about those things to the player\u2019s client."),(0,o.kt)("p",null,"This can benefit your game in two ways:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"It reduces the amount of data sent across the network between players. This can help improve the responsiveness of your game and reduce bandwidth use. The bigger and more complex your multiplayer game, the more important this issue is."),(0,o.kt)("li",{parentName:"ul"},"It also helps prevent some cheating. Since a player client does not have information about things that can\u2019t be seen,\na hack on that player\u2019s computer cannot reveal the information.")),(0,o.kt)("p",null,"The idea of \"visibility\" in the context of networking doesn\u2019t necessarily relate to whether game objects are directly visible on-screen. Instead, it relates to whether data should or shouldn\u2019t be sent about the game object in question to a particular client. Put simply, if a client can't 'see' a game object, it does not need to be sent information about that game object across the network. Ideally, you want to limit the amount of data you are sending across the network to only what is necessary because sending large amounts of unnecessary data across the network can cause network performance problems."),(0,o.kt)("p",null,"However, it can also be resource intensive or complex to determine accurately whether a game object is truly visible to a given player, so it\u2019s often a good idea to use a more simple calculation to determine whether a player should be sent networked data about it - i.e. whether it is 'Network Visible'. The balance you want to achieve when considering this is between the cost of the complexity of the calculation for determining the visibility and the cost of sending more information than necessary over the network. A very simple way to calculate this is a distance (proximity) check, and Mirage provides a built-in component for this purpose."),(0,o.kt)("h2",{id:"network-proximity-checker-component"},"Network Proximity Checker Component"),(0,o.kt)("p",null,"Mirage\u2019s ",(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-proximity-checker"},"Network Proximity Checker"),' component is the simplest way to implement network visibility for players. It works in conjunction with the physics system to determine whether game objects are close enough (that is, "visible" to send network messages in your multiplayer game).'),(0,o.kt)("h2",{id:"network-scene-checker-component"},"Network Scene Checker Component"),(0,o.kt)("p",null,"Mirage's ",(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-scene-checker"},"Network Scene Checker")," component can be used to isolate players and networked objects on the server in additive scene instances."),(0,o.kt)("h2",{id:"network-visibility-on-remote-clients"},"Network Visibility on Remote Clients"),(0,o.kt)("p",null,"When a player on a remote client joins a networked game, only game objects that are network-visible to the player will be spawned on that remote client. This means that even if the player enters a large world with many networked game objects, the game can start quickly because it does not need to spawn every game object that exists in the world. Note that this applies to networked game objects in your scene, but does not affect the loading of Assets. Unity still takes time to load the Assets for registered Prefabs and Scene game objects."),(0,o.kt)("p",null,"When a player moves within the world, the set of network-visible game objects changes. The player\u2019s client is told about these changes as they happen. The ",(0,o.kt)("inlineCode",{parentName:"p"},"ObjectHide")," message is sent to clients when a game object becomes no longer network-visible. By default, Mirage destroys the game object when it receives this message. When a game object becomes visible, the client receives an ",(0,o.kt)("inlineCode",{parentName:"p"},"ObjectSpawn")," message, as if Mirage has spawned the game object for the first time. By default, the game object is instantiated like any other spawned game object."),(0,o.kt)("h2",{id:"network-visibility-on-the-host"},"Network Visibility on the Host"),(0,o.kt)("p",null,"The host shares the same Scene as the server because it acts as both the server and the client to the player hosting the game. For this reason, it cannot destroy game objects that are not visible to the local player."),(0,o.kt)("p",null,"Instead, there is the virtual method OnSetLocalVisibility in the NetworkVisibility class that is invoked. This method is invoked on all scripts that inherit from ",(0,o.kt)("inlineCode",{parentName:"p"},"NetworkVisibility")," on game objects that change the visibility state on the host."),(0,o.kt)("p",null,"The default implementation of ",(0,o.kt)("inlineCode",{parentName:"p"},"OnSetLocalVisibility")," disables or enables all renderer components on the game object. If you want to customize this implementation, you can override the method in your script, and provide new behavior for how the host (and therefore the local client) should respond when a game object becomes network-visible or invisible (such as disabling HUD elements or renderers)."),(0,o.kt)("h2",{id:"customizing-network-visibility"},"Customizing Network Visibility"),(0,o.kt)("p",null,"Sometimes you might want to use other kinds of visibility checks, such as grid-based rules, line-of-sight tests, navigation path tests, or any other type of test that suits your game."),(0,o.kt)("p",null,"It may be helpful to understand how the Network Proximity Checker works."),(0,o.kt)("p",null,"The Network Proximity Checker is implemented using the public visibility interface of Mirage\u2019s HLAPI. Using this same interface, you can implement any kind of visibility rules you desire. Each ",(0,o.kt)("inlineCode",{parentName:"p"},"NetworkIdentity")," keeps track of the set of players that it is visible to. The players that a NetworkIdentity game object is visible to are called the \u201cobservers\u201d of the NetworkIdentity."),(0,o.kt)("p",null,"The Network Proximity Checker calls the ",(0,o.kt)("inlineCode",{parentName:"p"},"RebuildObservers")," method on the Network Identity component at a fixed interval (set using the \u201cVis Update Interval\u201d value in the inspector), so that the set of network-visible game objects for each player is updated as they move around."),(0,o.kt)("p",null,"In the ",(0,o.kt)("inlineCode",{parentName:"p"},"NetworkVisibility")," class (which your custom observer scripts inherit from), there are some virtual functions for determining visibility. These are:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"OnCheckObserver"),(0,o.kt)("br",{parentName:"li"}),"This method is called on the server, on each networked game object when a new player enters the game. If it returns true, that player is added to the object\u2019s observers. The Network Proximity Checker does a simple distance check in its implementation of this function and uses ",(0,o.kt)("inlineCode",{parentName:"li"},"Physics.OverlapSphereNonAlloc")," to find the players that are within the visibility distance for this object."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"OnRebuildObservers"),(0,o.kt)("br",{parentName:"li"}),"This method is called on the server when ",(0,o.kt)("inlineCode",{parentName:"li"},"RebuildObservers")," is invoked. This method expects the set of observers to be populated with the players that can see the object. The NetworkServer then handles sending ",(0,o.kt)("inlineCode",{parentName:"li"},"ObjectHide")," and ",(0,o.kt)("inlineCode",{parentName:"li"},"ObjectSpawn")," messages based on the differences between the old and new visibility sets."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"OnSetHostVisibility"),(0,o.kt)("br",{parentName:"li"}),"This method is called on the server by the visibility system for objects on a host. Objects on a host (with a local client) cannot be disabled or destroyed when they are not visible to the local client. So this function is called to allow custom code to hide these objects. A typical implementation will disable renderer components on the object. This is only called on local clients on a host.")),(0,o.kt)("p",null,"You can check whether any given networked game object is a player by checking if its ",(0,o.kt)("inlineCode",{parentName:"p"},"NetworkIdentity")," has a valid Owner. For example:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"int hitCount = Physics.OverlapSphereNonAlloc(transform.position, visRange, hitsBuffer3D, castLayers);\n\nfor (int i = 0; i < hitCount; i++)\n{\n Collider hit = hitsBuffer3D[i];\n\n NetworkIdentity identity = hit.GetComponent<NetworkIdentity>();\n\n if (identity != null && identity.Owner != null)\n observers.Add(identity.Owner);\n}\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/84df7614.32a2b99f.js b/assets/js/84df7614.32a2b99f.js new file mode 100644 index 00000000000..680ad671e08 --- /dev/null +++ b/assets/js/84df7614.32a2b99f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1481],{3905:(e,r,t)=>{t.d(r,{Zo:()=>u,kt:()=>v});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function c(e,r){if(null==e)return{};var t,a,n=function(e,r){if(null==e)return{};var t,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)t=i[a],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)t=i[a],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var s=a.createContext({}),o=function(e){var r=a.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):l(l({},r),e)),t},u=function(e){var r=o(e.components);return a.createElement(s.Provider,{value:r},e.children)},p={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},d=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=o(t),v=n,m=d["".concat(s,".").concat(v)]||d[v]||p[v]||i;return t?a.createElement(m,l(l({ref:r},u),{},{components:t})):a.createElement(m,l({ref:r},u))}));function v(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var i=t.length,l=new Array(i);l[0]=d;var c={};for(var s in r)hasOwnProperty.call(r,s)&&(c[s]=r[s]);c.originalType=e,c.mdxType="string"==typeof e?e:n,l[1]=c;for(var o=2;o<i;o++)l[o]=t[o];return a.createElement.apply(null,l)}return a.createElement.apply(null,t)}d.displayName="MDXCreateElement"},29734:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>o});var a=t(87462),n=(t(67294),t(3905));const i={id:"RequestServerMetrics",title:"RequestServerMetrics"},l="Class RequestServerMetrics",c={unversionedId:"reference/Mirage.DisplayMetrics/RequestServerMetrics",id:"reference/Mirage.DisplayMetrics/RequestServerMetrics",title:"RequestServerMetrics",description:"Inheritance",source:"@site/docs/reference/Mirage.DisplayMetrics/RequestServerMetrics.md",sourceDirName:"reference/Mirage.DisplayMetrics",slug:"/reference/Mirage.DisplayMetrics/RequestServerMetrics",permalink:"/Mirage/docs/reference/Mirage.DisplayMetrics/RequestServerMetrics",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.DisplayMetrics/RequestServerMetrics.md",tags:[],version:"current",frontMatter:{id:"RequestServerMetrics",title:"RequestServerMetrics"},sidebar:"api",previous:{title:"DisplayMetricsAverageGui",permalink:"/Mirage/docs/reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui"},next:{title:"SetDisplayMetrics",permalink:"/Mirage/docs/reference/Mirage.DisplayMetrics/SetDisplayMetrics"}},s={},o=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"server",id:"server",level:4},{value:"Declaration",id:"declaration",level:5},{value:"client",id:"client",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"displayMetrics",id:"displaymetrics",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"RequestMetrics",id:"requestmetrics",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Methods",id:"methods",level:3},{value:"Runner()",id:"runner",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Returns",id:"returns",level:5}],u={toc:o};function p(e){let{components:r,...t}=e;return(0,n.kt)("wrapper",(0,a.Z)({},u,t,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-requestservermetrics"},"Class RequestServerMetrics"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class RequestServerMetrics : MonoBehaviour\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"server"},"server"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkServer server\n")),(0,n.kt)("h4",{id:"client"},"client"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkClient client\n")),(0,n.kt)("h4",{id:"displaymetrics"},"displayMetrics"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public DisplayMetricsAverageGui displayMetrics\n")),(0,n.kt)("h4",{id:"requestmetrics"},"RequestMetrics"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool RequestMetrics\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"runner"},"Runner()"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public IEnumerator Runner()\n")),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Collections.IEnumerator"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/85064cd5.be9f2289.js b/assets/js/85064cd5.be9f2289.js new file mode 100644 index 00000000000..5bd7d306e5e --- /dev/null +++ b/assets/js/85064cd5.be9f2289.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7153],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>f});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),d=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},s=function(e){var t=d(e.components);return r.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),u=d(n),f=a,y=u["".concat(l,".").concat(f)]||u[f]||p[f]||o;return n?r.createElement(y,i(i({ref:t},s),{},{components:n})):r.createElement(y,i({ref:t},s))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=u;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var d=2;d<o;d++)i[d]=n[d];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}u.displayName="MDXCreateElement"},41206:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var r=n(87462),a=(n(67294),n(3905));const o={id:"IEndPoint",title:"IEndPoint"},i="Interface IEndPoint",c={unversionedId:"reference/Mirage.SocketLayer/IEndPoint",id:"reference/Mirage.SocketLayer/IEndPoint",title:"IEndPoint",description:"Object that can be used as an endpoint for and",source:"@site/docs/reference/Mirage.SocketLayer/IEndPoint.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/IEndPoint",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IEndPoint",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/IEndPoint.md",tags:[],version:"current",frontMatter:{id:"IEndPoint",title:"IEndPoint"},sidebar:"api",previous:{title:"IDataHandler",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IDataHandler"},next:{title:"IHasAddress",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IHasAddress"}},l={},d=[{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"CreateCopy()",id:"createcopy",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Returns",id:"returns",level:5}],s={toc:d};function p(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"interface-iendpoint"},"Interface IEndPoint"),(0,a.kt)("p",null,"Object that can be used as an endpoint for and "),(0,a.kt)("p",null,"Implementation of this should override and so that 2 instance wil be equal if they have the same address internally"),(0,a.kt)("p",null,"When a new connection is received by Peer a copy of this endpoint will be created and given to that connection.\nOn future received the incoming endpoint will be compared to active connections inside a dictionary"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IEndPoint\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"createcopy"},"CreateCopy()"),(0,a.kt)("p",null,"Creates a new instance of with same connection data\nthis is called when a new connection is created by "),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"IEndPoint CreateCopy()\n")),(0,a.kt)("h5",{id:"returns"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,a.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8512b363.67616a60.js b/assets/js/8512b363.67616a60.js new file mode 100644 index 00000000000..a1334b03a00 --- /dev/null +++ b/assets/js/8512b363.67616a60.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[129],{3905:(e,r,n)=>{n.d(r,{Zo:()=>d,kt:()=>u});var t=n(67294);function a(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function o(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?i(Object(n),!0).forEach((function(r){a(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function l(e,r){if(null==e)return{};var n,t,a=function(e,r){if(null==e)return{};var n,t,a={},i=Object.keys(e);for(t=0;t<i.length;t++)n=i[t],r.indexOf(n)>=0||(a[n]=e[n]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)n=i[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=t.createContext({}),g=function(e){var r=t.useContext(c),n=r;return e&&(n="function"==typeof e?e(r):o(o({},r),e)),n},d=function(e){var r=g(e.components);return t.createElement(c.Provider,{value:r},e.children)},s={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},m=t.forwardRef((function(e,r){var n=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),m=g(n),u=a,p=m["".concat(c,".").concat(u)]||m[u]||s[u]||i;return n?t.createElement(p,o(o({ref:r},d),{},{components:n})):t.createElement(p,o({ref:r},d))}));function u(e,r){var n=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=m;var l={};for(var c in r)hasOwnProperty.call(r,c)&&(l[c]=r[c]);l.originalType=e,l.mdxType="string"==typeof e?e:a,o[1]=l;for(var g=2;g<i;g++)o[g]=n[g];return t.createElement.apply(null,o)}return t.createElement.apply(null,n)}m.displayName="MDXCreateElement"},17158:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>s,frontMatter:()=>i,metadata:()=>l,toc:()=>g});var t=n(87462),a=(n(67294),n(3905));const i={id:"MirageLogHandler.TimePrefix",title:"MirageLogHandler.TimePrefix"},o="Enum MirageLogHandler.TimePrefix",l={unversionedId:"reference/Mirage.Logging/MirageLogHandler.TimePrefix",id:"reference/Mirage.Logging/MirageLogHandler.TimePrefix",title:"MirageLogHandler.TimePrefix",description:"Syntax",source:"@site/docs/reference/Mirage.Logging/MirageLogHandler.TimePrefix.md",sourceDirName:"reference/Mirage.Logging",slug:"/reference/Mirage.Logging/MirageLogHandler.TimePrefix",permalink:"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler.TimePrefix",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Logging/MirageLogHandler.TimePrefix.md",tags:[],version:"current",frontMatter:{id:"MirageLogHandler.TimePrefix",title:"MirageLogHandler.TimePrefix"},sidebar:"api",previous:{title:"MirageLogHandler.Settings",permalink:"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler.Settings"},next:{title:"MirageLogHandler",permalink:"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler"}},c={},g=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"None",id:"none",level:4},{value:"Declaration",id:"declaration",level:5},{value:"FrameCount",id:"framecount",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"DateTimeMilliSeconds",id:"datetimemilliseconds",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"DateTimeSeconds",id:"datetimeseconds",level:4},{value:"Declaration",id:"declaration-3",level:5}],d={toc:g};function s(e){let{components:r,...n}=e;return(0,a.kt)("wrapper",(0,t.Z)({},d,n,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"enum-mirageloghandlertimeprefix"},"Enum MirageLogHandler.TimePrefix"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public enum TimePrefix\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"none"},"None"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"None = 0\n")),(0,a.kt)("h4",{id:"framecount"},"FrameCount"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"FrameCount = 1\n")),(0,a.kt)("h4",{id:"datetimemilliseconds"},"DateTimeMilliSeconds"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"DateTimeMilliSeconds = 2\n")),(0,a.kt)("h4",{id:"datetimeseconds"},"DateTimeSeconds"),(0,a.kt)("h5",{id:"declaration-3"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"DateTimeSeconds = 3\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/851c38ea.2a9e68bb.js b/assets/js/851c38ea.2a9e68bb.js new file mode 100644 index 00000000000..bba7d93b306 --- /dev/null +++ b/assets/js/851c38ea.2a9e68bb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9847],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},o=Object.keys(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),s=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},d=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),m=s(a),u=n,f=m["".concat(c,".").concat(u)]||m[u]||p[u]||o;return a?r.createElement(f,i(i({ref:t},d),{},{components:a})):r.createElement(f,i({ref:t},d))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,i=new Array(o);i[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:n,i[1]=l;for(var s=2;s<o;s++)i[s]=a[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},92552:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>l,toc:()=>s});var r=a(87462),n=(a(67294),a(3905));const o={id:"NetworkTransformBase.DataPoint",title:"NetworkTransformBase.DataPoint"},i="Class NetworkTransformBase.DataPoint",l={unversionedId:"reference/Mirage/NetworkTransformBase.DataPoint",id:"reference/Mirage/NetworkTransformBase.DataPoint",title:"NetworkTransformBase.DataPoint",description:"Inheritance",source:"@site/docs/reference/Mirage/NetworkTransformBase.DataPoint.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkTransformBase.DataPoint",permalink:"/Mirage/docs/reference/Mirage/NetworkTransformBase.DataPoint",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkTransformBase.DataPoint.md",tags:[],version:"current",frontMatter:{id:"NetworkTransformBase.DataPoint",title:"NetworkTransformBase.DataPoint"},sidebar:"api",previous:{title:"NetworkTransform",permalink:"/Mirage/docs/reference/Mirage/NetworkTransform"},next:{title:"NetworkTransformBase",permalink:"/Mirage/docs/reference/Mirage/NetworkTransformBase"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"TimeStamp",id:"timestamp",level:4},{value:"Declaration",id:"declaration",level:5},{value:"LocalPosition",id:"localposition",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"LocalRotation",id:"localrotation",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"LocalScale",id:"localscale",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"MovementSpeed",id:"movementspeed",level:4},{value:"Declaration",id:"declaration-4",level:5}],d={toc:s};function p(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networktransformbasedatapoint"},"Class NetworkTransformBase.DataPoint"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class DataPoint\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"timestamp"},"TimeStamp"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public float TimeStamp\n")),(0,n.kt)("h4",{id:"localposition"},"LocalPosition"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector3 LocalPosition\n")),(0,n.kt)("h4",{id:"localrotation"},"LocalRotation"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Quaternion LocalRotation\n")),(0,n.kt)("h4",{id:"localscale"},"LocalScale"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector3 LocalScale\n")),(0,n.kt)("h4",{id:"movementspeed"},"MovementSpeed"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public float MovementSpeed\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/854783ac.18c7b281.js b/assets/js/854783ac.18c7b281.js new file mode 100644 index 00000000000..9519e17be8a --- /dev/null +++ b/assets/js/854783ac.18c7b281.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6007],{3905:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>d});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),l=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},m=function(e){var t=l(e.components);return r.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,m=c(e,["components","mdxType","originalType","parentName"]),h=l(n),d=a,g=h["".concat(s,".").concat(d)]||h[d]||u[d]||o;return n?r.createElement(g,i(i({ref:t},m),{},{components:n})):r.createElement(g,i({ref:t},m))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=h;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var l=2;l<o;l++)i[l]=n[l];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}h.displayName="MDXCreateElement"},84721:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var r=n(87462),a=(n(67294),n(3905));const o={},i="Networked Game Objects",c={unversionedId:"guides/game-objects/index",id:"guides/game-objects/index",title:"Networked Game Objects",description:"Networked game objects are game objects which are controlled and synchronized by Mirage\u2019s networking system. Using synchronized networked game objects, you can create a shared experience for all the players who are playing an instance of your game. They see and hear the same events and actions - even though that may be from their own unique viewpoints within your game.",source:"@site/docs/guides/game-objects/index.md",sourceDirName:"guides/game-objects",slug:"/guides/game-objects/",permalink:"/Mirage/docs/guides/game-objects/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/game-objects/index.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Manager",permalink:"/Mirage/docs/guides/callbacks/network-manager"},next:{title:"Lifecycle",permalink:"/Mirage/docs/guides/game-objects/lifecycle"}},s={},l=[],m={toc:l};function u(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"networked-game-objects"},"Networked Game Objects"),(0,a.kt)("p",null,"Networked game objects are game objects which are controlled and synchronized by Mirage\u2019s networking system. Using synchronized networked game objects, you can create a shared experience for all the players who are playing an instance of your game. They see and hear the same events and actions - even though that may be from their own unique viewpoints within your game."),(0,a.kt)("p",null,"Multiplayer games in Mirage are typically built using Scenes that contain a mix of networked game objects and regular (non-networked) game objects. The networked game objects are those which move or change during gameplay in a way that needs to be synchronized across all users who are playing the game together. Non-networked game objects are those that either don't move or change at all during gameplay (for example, static obstacles like rocks or fences) or game objects which have movement or changes that don\u2019t need to be synchronized across players (for example, a gently swaying tree or clouds passing by in the background of your game)."),(0,a.kt)("p",null,"A networked game object is one that has a Network Identity component attached. However, a Network Identity component alone is not enough for your game object to be functional and active in your multiplayer game. The Network Identity component is the starting point for synchronization, and it allows the Network Manager to synchronize the creation and destruction of the game object, but other than that, it does not specify ",(0,a.kt)("em",{parentName:"p"},"which properties")," of your game object should be synchronized."),(0,a.kt)("p",null,"What exactly should be synchronized on each networked game object depends on the type of game you are making, and what each game object\u2019s purpose is. Some examples of what you might want to synchronize are:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"The position and rotation of moving game objects such as the players and non-player characters."),(0,a.kt)("li",{parentName:"ul"},"The animation state of an animated game object"),(0,a.kt)("li",{parentName:"ul"},"The value of a variable, for example, how much time is left in the current round of a game, or how much energy a player has.")),(0,a.kt)("p",null,"As a convenience, the initial position, rotation, and scale of the object are automatically synchronized by the NetworkIdentity. Any other state you wish to synchronize across the network needs to go in a ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/game-objects/network-behaviour"},"NetworkBehaviour")," inside your GameObject. "),(0,a.kt)("p",null,"When an object is created in the server, you must tell Mirage to create it in the clients and keep track of it. This is known as Spawning."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8624.c394d7b9.js b/assets/js/8624.c394d7b9.js new file mode 100644 index 00000000000..ee4ac8b4276 --- /dev/null +++ b/assets/js/8624.c394d7b9.js @@ -0,0 +1,2 @@ +/*! For license information please see 8624.c394d7b9.js.LICENSE.txt */ +(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8624],{29609:t=>{"use strict";var e=/^(%20|\s)*(javascript|data)/im,n=/[^\x20-\x7E]/gim,r=/^([^:]+):/gm,i=[".","/"];t.exports={sanitizeUrl:function(t){if(!t)return"about:blank";var a,o,s=t.replace(n,"").trim();return function(t){return i.indexOf(t[0])>-1}(s)?s:(o=s.match(r))?(a=o[0],e.test(a)?"about:blank":s):"about:blank"}}},3905:(t,e,n)=>{"use strict";n.d(e,{Zo:()=>l,kt:()=>d});var r=n(67294);function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function a(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function o(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?a(Object(n),!0).forEach((function(e){i(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function s(t,e){if(null==t)return{};var n,r,i=function(t,e){if(null==t)return{};var n,r,i={},a=Object.keys(t);for(r=0;r<a.length;r++)n=a[r],e.indexOf(n)>=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r<a.length;r++)n=a[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}var c=r.createContext({}),u=function(t){var e=r.useContext(c),n=e;return t&&(n="function"==typeof t?t(e):o(o({},e),t)),n},l=function(t){var e=u(t.components);return r.createElement(c.Provider,{value:e},t.children)},h={inlineCode:"code",wrapper:function(t){var e=t.children;return r.createElement(r.Fragment,{},e)}},f=r.forwardRef((function(t,e){var n=t.components,i=t.mdxType,a=t.originalType,c=t.parentName,l=s(t,["components","mdxType","originalType","parentName"]),f=u(n),d=i,p=f["".concat(c,".").concat(d)]||f[d]||h[d]||a;return n?r.createElement(p,o(o({ref:e},l),{},{components:n})):r.createElement(p,o({ref:e},l))}));function d(t,e){var n=arguments,i=e&&e.mdxType;if("string"==typeof t||i){var a=n.length,o=new Array(a);o[0]=f;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s.mdxType="string"==typeof t?t:i,o[1]=s;for(var u=2;u<a;u++)o[u]=n[u];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},39634:(t,e,n)=>{"use strict";n.r(e),n.d(e,{FormatSpecifier:()=>fc,active:()=>ti,arc:()=>x_,area:()=>C_,areaRadial:()=>L_,ascending:()=>i,autoType:()=>Po,axisBottom:()=>it,axisLeft:()=>at,axisRight:()=>rt,axisTop:()=>nt,bisect:()=>u,bisectLeft:()=>c,bisectRight:()=>s,bisector:()=>a,blob:()=>xs,brush:()=>Oi,brushSelection:()=>Ci,brushX:()=>Si,brushY:()=>Ai,buffer:()=>ks,chord:()=>Fi,clientPoint:()=>Dn,cluster:()=>Md,color:()=>Ve,contourDensity:()=>so,contours:()=>eo,create:()=>Vx,creator:()=>ie,cross:()=>f,csv:()=>Ss,csvFormat:()=>Co,csvFormatBody:()=>So,csvFormatRow:()=>Oo,csvFormatRows:()=>Ao,csvFormatValue:()=>Mo,csvParse:()=>Eo,csvParseRows:()=>To,cubehelix:()=>$a,curveBasis:()=>gk,curveBasisClosed:()=>mk,curveBasisOpen:()=>bk,curveBundle:()=>_k,curveCardinal:()=>Ek,curveCardinalClosed:()=>Ck,curveCardinalOpen:()=>Ak,curveCatmullRom:()=>jk,curveCatmullRomClosed:()=>Nk,curveCatmullRomOpen:()=>Lk,curveLinear:()=>k_,curveLinearClosed:()=>Rk,curveMonotoneX:()=>$k,curveMonotoneY:()=>Hk,curveNatural:()=>Xk,curveStep:()=>Kk,curveStepAfter:()=>Jk,curveStepBefore:()=>Qk,customEvent:()=>ye,descending:()=>d,deviation:()=>y,dispatch:()=>ft,drag:()=>go,dragDisable:()=>Se,dragEnable:()=>Ae,dsv:()=>Cs,dsvFormat:()=>ko,easeBack:()=>ps,easeBackIn:()=>fs,easeBackInOut:()=>ps,easeBackOut:()=>ds,easeBounce:()=>us,easeBounceIn:()=>cs,easeBounceInOut:()=>ls,easeBounceOut:()=>us,easeCircle:()=>as,easeCircleIn:()=>rs,easeCircleInOut:()=>as,easeCircleOut:()=>is,easeCubic:()=>Zr,easeCubicIn:()=>Gr,easeCubicInOut:()=>Zr,easeCubicOut:()=>Xr,easeElastic:()=>ms,easeElasticIn:()=>ys,easeElasticInOut:()=>vs,easeElasticOut:()=>ms,easeExp:()=>ns,easeExpIn:()=>ts,easeExpInOut:()=>ns,easeExpOut:()=>es,easeLinear:()=>Yo,easePoly:()=>Vo,easePolyIn:()=>$o,easePolyInOut:()=>Vo,easePolyOut:()=>Ho,easeQuad:()=>Wo,easeQuadIn:()=>Uo,easeQuadInOut:()=>Wo,easeQuadOut:()=>qo,easeSin:()=>Qo,easeSinIn:()=>Zo,easeSinInOut:()=>Qo,easeSinOut:()=>Ko,entries:()=>ga,event:()=>le,extent:()=>m,forceCenter:()=>Is,forceCollide:()=>Xs,forceLink:()=>Qs,forceManyBody:()=>rc,forceRadial:()=>ic,forceSimulation:()=>nc,forceX:()=>ac,forceY:()=>oc,format:()=>mc,formatDefaultLocale:()=>kc,formatLocale:()=>_c,formatPrefix:()=>vc,formatSpecifier:()=>hc,geoAlbers:()=>$f,geoAlbersUsa:()=>Hf,geoArea:()=>vu,geoAzimuthalEqualArea:()=>Zf,geoAzimuthalEqualAreaRaw:()=>Xf,geoAzimuthalEquidistant:()=>Qf,geoAzimuthalEquidistantRaw:()=>Kf,geoBounds:()=>ll,geoCentroid:()=>kl,geoCircle:()=>Nl,geoClipAntimeridian:()=>$l,geoClipCircle:()=>Hl,geoClipExtent:()=>Zl,geoClipRectangle:()=>Xl,geoConicConformal:()=>id,geoConicConformalRaw:()=>rd,geoConicEqualArea:()=>Wf,geoConicEqualAreaRaw:()=>qf,geoConicEquidistant:()=>cd,geoConicEquidistantRaw:()=>sd,geoContains:()=>mh,geoDistance:()=>ch,geoEqualEarth:()=>gd,geoEqualEarthRaw:()=>pd,geoEquirectangular:()=>od,geoEquirectangularRaw:()=>ad,geoGnomonic:()=>md,geoGnomonicRaw:()=>yd,geoGraticule:()=>xh,geoGraticule10:()=>_h,geoIdentity:()=>vd,geoInterpolate:()=>kh,geoLength:()=>ah,geoMercator:()=>td,geoMercatorRaw:()=>Jf,geoNaturalEarth1:()=>xd,geoNaturalEarth1Raw:()=>bd,geoOrthographic:()=>kd,geoOrthographicRaw:()=>_d,geoPath:()=>Cf,geoProjection:()=>zf,geoProjectionMutator:()=>Yf,geoRotation:()=>Ml,geoStereographic:()=>Ed,geoStereographicRaw:()=>wd,geoStream:()=>au,geoTransform:()=>Sf,geoTransverseMercator:()=>Cd,geoTransverseMercatorRaw:()=>Td,gray:()=>Ea,hcl:()=>Na,hierarchy:()=>Dd,histogram:()=>j,hsl:()=>an,html:()=>Bs,image:()=>Os,interpolate:()=>Mn,interpolateArray:()=>kn,interpolateBasis:()=>un,interpolateBasisClosed:()=>ln,interpolateBlues:()=>xx,interpolateBrBG:()=>Db,interpolateBuGn:()=>Zb,interpolateBuPu:()=>Qb,interpolateCividis:()=>jx,interpolateCool:()=>Bx,interpolateCubehelix:()=>Wp,interpolateCubehelixDefault:()=>Dx,interpolateCubehelixLong:()=>$p,interpolateDate:()=>En,interpolateDiscrete:()=>Mp,interpolateGnBu:()=>tx,interpolateGreens:()=>kx,interpolateGreys:()=>Ex,interpolateHcl:()=>Yp,interpolateHclLong:()=>Up,interpolateHsl:()=>Rp,interpolateHslLong:()=>Fp,interpolateHue:()=>jp,interpolateInferno:()=>$x,interpolateLab:()=>Pp,interpolateMagma:()=>Wx,interpolateNumber:()=>Tn,interpolateNumberArray:()=>xn,interpolateObject:()=>Cn,interpolateOrRd:()=>nx,interpolateOranges:()=>Mx,interpolatePRGn:()=>Bb,interpolatePiYG:()=>Ib,interpolatePlasma:()=>Hx,interpolatePuBu:()=>ox,interpolatePuBuGn:()=>ix,interpolatePuOr:()=>Fb,interpolatePuRd:()=>cx,interpolatePurples:()=>Cx,interpolateRainbow:()=>Ix,interpolateRdBu:()=>zb,interpolateRdGy:()=>Ub,interpolateRdPu:()=>lx,interpolateRdYlBu:()=>Wb,interpolateRdYlGn:()=>Hb,interpolateReds:()=>Ax,interpolateRgb:()=>yn,interpolateRgbBasis:()=>vn,interpolateRgbBasisClosed:()=>bn,interpolateRound:()=>Dp,interpolateSinebow:()=>zx,interpolateSpectral:()=>Gb,interpolateString:()=>On,interpolateTransformCss:()=>gr,interpolateTransformSvg:()=>yr,interpolateTurbo:()=>Yx,interpolateViridis:()=>qx,interpolateWarm:()=>Nx,interpolateYlGn:()=>px,interpolateYlGnBu:()=>fx,interpolateYlOrBr:()=>yx,interpolateYlOrRd:()=>vx,interpolateZoom:()=>Lp,interrupt:()=>or,interval:()=>xw,isoFormat:()=>mw,isoParse:()=>bw,json:()=>js,keys:()=>da,lab:()=>Ta,lch:()=>Da,line:()=>T_,lineRadial:()=>B_,linkHorizontal:()=>W_,linkRadial:()=>H_,linkVertical:()=>$_,local:()=>Xx,map:()=>ra,matcher:()=>mt,max:()=>L,mean:()=>I,median:()=>R,merge:()=>F,min:()=>P,mouse:()=>Bn,namespace:()=>Tt,namespaces:()=>Et,nest:()=>ia,now:()=>$n,pack:()=>rp,packEnclose:()=>Fd,packSiblings:()=>Kd,pairs:()=>l,partition:()=>up,path:()=>Vi,permute:()=>z,pie:()=>O_,piecewise:()=>Hp,pointRadial:()=>I_,polygonArea:()=>Gp,polygonCentroid:()=>Xp,polygonContains:()=>tg,polygonHull:()=>Jp,polygonLength:()=>eg,precisionFixed:()=>wc,precisionPrefix:()=>Ec,precisionRound:()=>Tc,quadtree:()=>qs,quantile:()=>D,quantize:()=>Vp,radialArea:()=>L_,radialLine:()=>B_,randomBates:()=>sg,randomExponential:()=>cg,randomIrwinHall:()=>og,randomLogNormal:()=>ag,randomNormal:()=>ig,randomUniform:()=>rg,range:()=>w,rgb:()=>Ke,ribbon:()=>Ji,scaleBand:()=>yg,scaleDiverging:()=>pb,scaleDivergingLog:()=>gb,scaleDivergingPow:()=>mb,scaleDivergingSqrt:()=>vb,scaleDivergingSymlog:()=>yb,scaleIdentity:()=>Dg,scaleImplicit:()=>pg,scaleLinear:()=>jg,scaleLog:()=>Yg,scaleOrdinal:()=>gg,scalePoint:()=>vg,scalePow:()=>Zg,scaleQuantile:()=>Qg,scaleQuantize:()=>Jg,scaleSequential:()=>sb,scaleSequentialLog:()=>cb,scaleSequentialPow:()=>lb,scaleSequentialQuantile:()=>fb,scaleSequentialSqrt:()=>hb,scaleSequentialSymlog:()=>ub,scaleSqrt:()=>Kg,scaleSymlog:()=>$g,scaleThreshold:()=>ty,scaleTime:()=>Gv,scaleUtc:()=>ib,scan:()=>Y,schemeAccent:()=>_b,schemeBlues:()=>bx,schemeBrBG:()=>jb,schemeBuGn:()=>Xb,schemeBuPu:()=>Kb,schemeCategory10:()=>xb,schemeDark2:()=>kb,schemeGnBu:()=>Jb,schemeGreens:()=>_x,schemeGreys:()=>wx,schemeOrRd:()=>ex,schemeOranges:()=>Ox,schemePRGn:()=>Nb,schemePaired:()=>wb,schemePastel1:()=>Eb,schemePastel2:()=>Tb,schemePiYG:()=>Lb,schemePuBu:()=>ax,schemePuBuGn:()=>rx,schemePuOr:()=>Rb,schemePuRd:()=>sx,schemePurples:()=>Tx,schemeRdBu:()=>Pb,schemeRdGy:()=>Yb,schemeRdPu:()=>ux,schemeRdYlBu:()=>qb,schemeRdYlGn:()=>$b,schemeReds:()=>Sx,schemeSet1:()=>Cb,schemeSet2:()=>Sb,schemeSet3:()=>Ab,schemeSpectral:()=>Vb,schemeTableau10:()=>Ob,schemeYlGn:()=>dx,schemeYlGnBu:()=>hx,schemeYlOrBr:()=>gx,schemeYlOrRd:()=>mx,select:()=>Ee,selectAll:()=>Kx,selection:()=>we,selector:()=>pt,selectorAll:()=>yt,set:()=>fa,shuffle:()=>U,stack:()=>rw,stackOffsetDiverging:()=>aw,stackOffsetExpand:()=>iw,stackOffsetNone:()=>tw,stackOffsetSilhouette:()=>ow,stackOffsetWiggle:()=>sw,stackOrderAppearance:()=>cw,stackOrderAscending:()=>lw,stackOrderDescending:()=>fw,stackOrderInsideOut:()=>dw,stackOrderNone:()=>ew,stackOrderReverse:()=>pw,stratify:()=>pp,style:()=>It,sum:()=>q,svg:()=>Ls,symbol:()=>hk,symbolCircle:()=>V_,symbolCross:()=>G_,symbolDiamond:()=>K_,symbolSquare:()=>nk,symbolStar:()=>ek,symbolTriangle:()=>ik,symbolWye:()=>uk,symbols:()=>lk,text:()=>Es,thresholdFreedmanDiaconis:()=>N,thresholdScott:()=>B,thresholdSturges:()=>M,tickFormat:()=>Og,tickIncrement:()=>A,tickStep:()=>O,ticks:()=>S,timeDay:()=>jy,timeDays:()=>Dy,timeFormat:()=>mm,timeFormatDefaultLocale:()=>Fv,timeFormatLocale:()=>gm,timeFriday:()=>_y,timeFridays:()=>Ay,timeHour:()=>By,timeHours:()=>Ly,timeInterval:()=>ry,timeMillisecond:()=>qy,timeMilliseconds:()=>Wy,timeMinute:()=>Ry,timeMinutes:()=>Fy,timeMonday:()=>my,timeMondays:()=>Ey,timeMonth:()=>cy,timeMonths:()=>uy,timeParse:()=>vm,timeSaturday:()=>ky,timeSaturdays:()=>Oy,timeSecond:()=>zy,timeSeconds:()=>Yy,timeSunday:()=>yy,timeSundays:()=>wy,timeThursday:()=>xy,timeThursdays:()=>Sy,timeTuesday:()=>vy,timeTuesdays:()=>Ty,timeWednesday:()=>by,timeWednesdays:()=>Cy,timeWeek:()=>yy,timeWeeks:()=>wy,timeYear:()=>ay,timeYears:()=>oy,timeout:()=>Jn,timer:()=>Gn,timerFlush:()=>Xn,touch:()=>Nn,touches:()=>Qx,transition:()=>$r,transpose:()=>W,tree:()=>_p,treemap:()=>Cp,treemapBinary:()=>Sp,treemapDice:()=>cp,treemapResquarify:()=>Op,treemapSlice:()=>kp,treemapSliceDice:()=>Ap,treemapSquarify:()=>Tp,tsv:()=>As,tsvFormat:()=>Bo,tsvFormatBody:()=>Lo,tsvFormatRow:()=>Ro,tsvFormatRows:()=>Io,tsvFormatValue:()=>Fo,tsvParse:()=>Do,tsvParseRows:()=>No,utcDay:()=>sm,utcDays:()=>cm,utcFormat:()=>bm,utcFriday:()=>Ky,utcFridays:()=>im,utcHour:()=>Jv,utcHours:()=>tb,utcMillisecond:()=>qy,utcMilliseconds:()=>Wy,utcMinute:()=>nb,utcMinutes:()=>rb,utcMonday:()=>Vy,utcMondays:()=>tm,utcMonth:()=>Zv,utcMonths:()=>Kv,utcParse:()=>xm,utcSaturday:()=>Qy,utcSaturdays:()=>am,utcSecond:()=>zy,utcSeconds:()=>Yy,utcSunday:()=>Hy,utcSundays:()=>Jy,utcThursday:()=>Zy,utcThursdays:()=>rm,utcTuesday:()=>Gy,utcTuesdays:()=>em,utcWednesday:()=>Xy,utcWednesdays:()=>nm,utcWeek:()=>Hy,utcWeeks:()=>Jy,utcYear:()=>lm,utcYears:()=>hm,values:()=>pa,variance:()=>g,version:()=>r,voronoi:()=>oE,window:()=>Dt,xml:()=>Ns,zip:()=>H,zoom:()=>xE,zoomIdentity:()=>lE,zoomTransform:()=>hE});var r="5.16.0";function i(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function a(t){var e;return 1===t.length&&(e=t,t=function(t,n){return i(e(t),n)}),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)>0?i=a:r=a+1}return r}}}var o=a(i),s=o.right,c=o.left;const u=s;function l(t,e){null==e&&(e=h);for(var n=0,r=t.length-1,i=t[0],a=new Array(r<0?0:r);n<r;)a[n]=e(i,i=t[++n]);return a}function h(t,e){return[t,e]}function f(t,e,n){var r,i,a,o,s=t.length,c=e.length,u=new Array(s*c);for(null==n&&(n=h),r=a=0;r<s;++r)for(o=t[r],i=0;i<c;++i,++a)u[a]=n(o,e[i]);return u}function d(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function p(t){return null===t?NaN:+t}function g(t,e){var n,r,i=t.length,a=0,o=-1,s=0,c=0;if(null==e)for(;++o<i;)isNaN(n=p(t[o]))||(c+=(r=n-s)*(n-(s+=r/++a)));else for(;++o<i;)isNaN(n=p(e(t[o],o,t)))||(c+=(r=n-s)*(n-(s+=r/++a)));if(a>1)return c/(a-1)}function y(t,e){var n=g(t,e);return n?Math.sqrt(n):n}function m(t,e){var n,r,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(n=t[o])&&n>=n)for(r=i=n;++o<a;)null!=(n=t[o])&&(r>n&&(r=n),i<n&&(i=n))}else for(;++o<a;)if(null!=(n=e(t[o],o,t))&&n>=n)for(r=i=n;++o<a;)null!=(n=e(t[o],o,t))&&(r>n&&(r=n),i<n&&(i=n));return[r,i]}var v=Array.prototype,b=v.slice,x=v.map;function _(t){return function(){return t}}function k(t){return t}function w(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((e-t)/n)),a=new Array(i);++r<i;)a[r]=t+r*n;return a}var E=Math.sqrt(50),T=Math.sqrt(10),C=Math.sqrt(2);function S(t,e,n){var r,i,a,o,s=-1;if(n=+n,(t=+t)===(e=+e)&&n>0)return[t];if((r=e<t)&&(i=t,t=e,e=i),0===(o=A(t,e,n))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s<i;)a[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++s<i;)a[s]=(t-s)/o;return r&&a.reverse(),a}function A(t,e,n){var r=(e-t)/Math.max(0,n),i=Math.floor(Math.log(r)/Math.LN10),a=r/Math.pow(10,i);return i>=0?(a>=E?10:a>=T?5:a>=C?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=E?10:a>=T?5:a>=C?2:1)}function O(t,e,n){var r=Math.abs(e-t)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),a=r/i;return a>=E?i*=10:a>=T?i*=5:a>=C&&(i*=2),e<t?-i:i}function M(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}function j(){var t=k,e=m,n=M;function r(r){var i,a,o=r.length,s=new Array(o);for(i=0;i<o;++i)s[i]=t(r[i],i,r);var c=e(s),l=c[0],h=c[1],f=n(s,l,h);Array.isArray(f)||(f=O(l,h,f),f=w(Math.ceil(l/f)*f,h,f));for(var d=f.length;f[0]<=l;)f.shift(),--d;for(;f[d-1]>h;)f.pop(),--d;var p,g=new Array(d+1);for(i=0;i<=d;++i)(p=g[i]=[]).x0=i>0?f[i-1]:l,p.x1=i<d?f[i]:h;for(i=0;i<o;++i)l<=(a=s[i])&&a<=h&&g[u(f,a,0,d)].push(r[i]);return g}return r.value=function(e){return arguments.length?(t="function"==typeof e?e:_(e),r):t},r.domain=function(t){return arguments.length?(e="function"==typeof t?t:_([t[0],t[1]]),r):e},r.thresholds=function(t){return arguments.length?(n="function"==typeof t?t:Array.isArray(t)?_(b.call(t)):_(t),r):n},r}function D(t,e,n){if(null==n&&(n=p),r=t.length){if((e=+e)<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,i=(r-1)*e,a=Math.floor(i),o=+n(t[a],a,t);return o+(+n(t[a+1],a+1,t)-o)*(i-a)}}function N(t,e,n){return t=x.call(t,p).sort(i),Math.ceil((n-e)/(2*(D(t,.75)-D(t,.25))*Math.pow(t.length,-1/3)))}function B(t,e,n){return Math.ceil((n-e)/(3.5*y(t)*Math.pow(t.length,-1/3)))}function L(t,e){var n,r,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(n=t[a])&&n>=n)for(r=n;++a<i;)null!=(n=t[a])&&n>r&&(r=n)}else for(;++a<i;)if(null!=(n=e(t[a],a,t))&&n>=n)for(r=n;++a<i;)null!=(n=e(t[a],a,t))&&n>r&&(r=n);return r}function I(t,e){var n,r=t.length,i=r,a=-1,o=0;if(null==e)for(;++a<r;)isNaN(n=p(t[a]))?--i:o+=n;else for(;++a<r;)isNaN(n=p(e(t[a],a,t)))?--i:o+=n;if(i)return o/i}function R(t,e){var n,r=t.length,a=-1,o=[];if(null==e)for(;++a<r;)isNaN(n=p(t[a]))||o.push(n);else for(;++a<r;)isNaN(n=p(e(t[a],a,t)))||o.push(n);return D(o.sort(i),.5)}function F(t){for(var e,n,r,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(n=new Array(o);--i>=0;)for(e=(r=t[i]).length;--e>=0;)n[--o]=r[e];return n}function P(t,e){var n,r,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(n=t[a])&&n>=n)for(r=n;++a<i;)null!=(n=t[a])&&r>n&&(r=n)}else for(;++a<i;)if(null!=(n=e(t[a],a,t))&&n>=n)for(r=n;++a<i;)null!=(n=e(t[a],a,t))&&r>n&&(r=n);return r}function z(t,e){for(var n=e.length,r=new Array(n);n--;)r[n]=t[e[n]];return r}function Y(t,e){if(n=t.length){var n,r,a=0,o=0,s=t[o];for(null==e&&(e=i);++a<n;)(e(r=t[a],s)<0||0!==e(s,s))&&(s=r,o=a);return 0===e(s,s)?o:void 0}}function U(t,e,n){for(var r,i,a=(null==n?t.length:n)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,r=t[a+e],t[a+e]=t[i+e],t[i+e]=r;return t}function q(t,e){var n,r=t.length,i=-1,a=0;if(null==e)for(;++i<r;)(n=+t[i])&&(a+=n);else for(;++i<r;)(n=+e(t[i],i,t))&&(a+=n);return a}function W(t){if(!(i=t.length))return[];for(var e=-1,n=P(t,$),r=new Array(n);++e<n;)for(var i,a=-1,o=r[e]=new Array(i);++a<i;)o[a]=t[a][e];return r}function $(t){return t.length}function H(){return W(arguments)}var V=Array.prototype.slice;function G(t){return t}var X=1e-6;function Z(t){return"translate("+(t+.5)+",0)"}function K(t){return"translate(0,"+(t+.5)+")"}function Q(t){return function(e){return+t(e)}}function J(t){var e=Math.max(0,t.bandwidth()-1)/2;return t.round()&&(e=Math.round(e)),function(n){return+t(n)+e}}function tt(){return!this.__axis}function et(t,e){var n=[],r=null,i=null,a=6,o=6,s=3,c=1===t||4===t?-1:1,u=4===t||2===t?"x":"y",l=1===t||3===t?Z:K;function h(h){var f=null==r?e.ticks?e.ticks.apply(e,n):e.domain():r,d=null==i?e.tickFormat?e.tickFormat.apply(e,n):G:i,p=Math.max(a,0)+s,g=e.range(),y=+g[0]+.5,m=+g[g.length-1]+.5,v=(e.bandwidth?J:Q)(e.copy()),b=h.selection?h.selection():h,x=b.selectAll(".domain").data([null]),_=b.selectAll(".tick").data(f,e).order(),k=_.exit(),w=_.enter().append("g").attr("class","tick"),E=_.select("line"),T=_.select("text");x=x.merge(x.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),_=_.merge(w),E=E.merge(w.append("line").attr("stroke","currentColor").attr(u+"2",c*a)),T=T.merge(w.append("text").attr("fill","currentColor").attr(u,c*p).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),h!==b&&(x=x.transition(h),_=_.transition(h),E=E.transition(h),T=T.transition(h),k=k.transition(h).attr("opacity",X).attr("transform",(function(t){return isFinite(t=v(t))?l(t):this.getAttribute("transform")})),w.attr("opacity",X).attr("transform",(function(t){var e=this.parentNode.__axis;return l(e&&isFinite(e=e(t))?e:v(t))}))),k.remove(),x.attr("d",4===t||2==t?o?"M"+c*o+","+y+"H0.5V"+m+"H"+c*o:"M0.5,"+y+"V"+m:o?"M"+y+","+c*o+"V0.5H"+m+"V"+c*o:"M"+y+",0.5H"+m),_.attr("opacity",1).attr("transform",(function(t){return l(v(t))})),E.attr(u+"2",c*a),T.attr(u,c*p).text(d),b.filter(tt).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),b.each((function(){this.__axis=v}))}return h.scale=function(t){return arguments.length?(e=t,h):e},h.ticks=function(){return n=V.call(arguments),h},h.tickArguments=function(t){return arguments.length?(n=null==t?[]:V.call(t),h):n.slice()},h.tickValues=function(t){return arguments.length?(r=null==t?null:V.call(t),h):r&&r.slice()},h.tickFormat=function(t){return arguments.length?(i=t,h):i},h.tickSize=function(t){return arguments.length?(a=o=+t,h):a},h.tickSizeInner=function(t){return arguments.length?(a=+t,h):a},h.tickSizeOuter=function(t){return arguments.length?(o=+t,h):o},h.tickPadding=function(t){return arguments.length?(s=+t,h):s},h}function nt(t){return et(1,t)}function rt(t){return et(2,t)}function it(t){return et(3,t)}function at(t){return et(4,t)}var ot={value:function(){}};function st(){for(var t,e=0,n=arguments.length,r={};e<n;++e){if(!(t=arguments[e]+"")||t in r||/[\s.]/.test(t))throw new Error("illegal type: "+t);r[t]=[]}return new ct(r)}function ct(t){this._=t}function ut(t,e){return t.trim().split(/^|\s+/).map((function(t){var n="",r=t.indexOf(".");if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))}function lt(t,e){for(var n,r=0,i=t.length;r<i;++r)if((n=t[r]).name===e)return n.value}function ht(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=ot,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=n&&t.push({name:e,value:n}),t}ct.prototype=st.prototype={constructor:ct,on:function(t,e){var n,r=this._,i=ut(t+"",r),a=-1,o=i.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++a<o;)if(n=(t=i[a]).type)r[n]=ht(r[n],t.name,e);else if(null==e)for(n in r)r[n]=ht(r[n],t.name,null);return this}for(;++a<o;)if((n=(t=i[a]).type)&&(n=lt(r[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new ct(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,i=new Array(n),a=0;a<n;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(a=0,n=(r=this._[t]).length;a<n;++a)r[a].value.apply(e,i)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,a=r.length;i<a;++i)r[i].value.apply(e,n)}};const ft=st;function dt(){}function pt(t){return null==t?dt:function(){return this.querySelector(t)}}function gt(){return[]}function yt(t){return null==t?gt:function(){return this.querySelectorAll(t)}}function mt(t){return function(){return this.matches(t)}}function vt(t){return new Array(t.length)}function bt(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}bt.prototype={constructor:bt,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function xt(t,e,n,r,i,a){for(var o,s=0,c=e.length,u=a.length;s<u;++s)(o=e[s])?(o.__data__=a[s],r[s]=o):n[s]=new bt(t,a[s]);for(;s<c;++s)(o=e[s])&&(i[s]=o)}function _t(t,e,n,r,i,a,o){var s,c,u,l={},h=e.length,f=a.length,d=new Array(h);for(s=0;s<h;++s)(c=e[s])&&(d[s]=u="$"+o.call(c,c.__data__,s,e),u in l?i[s]=c:l[u]=c);for(s=0;s<f;++s)(c=l[u="$"+o.call(t,a[s],s,a)])?(r[s]=c,c.__data__=a[s],l[u]=null):n[s]=new bt(t,a[s]);for(s=0;s<h;++s)(c=e[s])&&l[d[s]]===c&&(i[s]=c)}function kt(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}var wt="http://www.w3.org/1999/xhtml";const Et={svg:"http://www.w3.org/2000/svg",xhtml:wt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Tt(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),Et.hasOwnProperty(e)?{space:Et[e],local:t}:t}function Ct(t){return function(){this.removeAttribute(t)}}function St(t){return function(){this.removeAttributeNS(t.space,t.local)}}function At(t,e){return function(){this.setAttribute(t,e)}}function Ot(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function Mt(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function jt(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function Dt(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function Nt(t){return function(){this.style.removeProperty(t)}}function Bt(t,e,n){return function(){this.style.setProperty(t,e,n)}}function Lt(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function It(t,e){return t.style.getPropertyValue(e)||Dt(t).getComputedStyle(t,null).getPropertyValue(e)}function Rt(t){return function(){delete this[t]}}function Ft(t,e){return function(){this[t]=e}}function Pt(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function zt(t){return t.trim().split(/^|\s+/)}function Yt(t){return t.classList||new Ut(t)}function Ut(t){this._node=t,this._names=zt(t.getAttribute("class")||"")}function qt(t,e){for(var n=Yt(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function Wt(t,e){for(var n=Yt(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}function $t(t){return function(){qt(this,t)}}function Ht(t){return function(){Wt(this,t)}}function Vt(t,e){return function(){(e.apply(this,arguments)?qt:Wt)(this,t)}}function Gt(){this.textContent=""}function Xt(t){return function(){this.textContent=t}}function Zt(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function Kt(){this.innerHTML=""}function Qt(t){return function(){this.innerHTML=t}}function Jt(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function te(){this.nextSibling&&this.parentNode.appendChild(this)}function ee(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ne(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===wt&&e.documentElement.namespaceURI===wt?e.createElement(t):e.createElementNS(n,t)}}function re(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function ie(t){var e=Tt(t);return(e.local?re:ne)(e)}function ae(){return null}function oe(){var t=this.parentNode;t&&t.removeChild(this)}function se(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function ce(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}Ut.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var ue={},le=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(ue={mouseenter:"mouseover",mouseleave:"mouseout"}));function he(t,e,n){return t=fe(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function fe(t,e,n){return function(r){var i=le;le=r;try{t.call(this,this.__data__,e,n)}finally{le=i}}}function de(t){return t.trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}function pe(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,a=e.length;r<a;++r)n=e[r],t.type&&n.type!==t.type||n.name!==t.name?e[++i]=n:this.removeEventListener(n.type,n.listener,n.capture);++i?e.length=i:delete this.__on}}}function ge(t,e,n){var r=ue.hasOwnProperty(t.type)?he:fe;return function(i,a,o){var s,c=this.__on,u=r(e,a,o);if(c)for(var l=0,h=c.length;l<h;++l)if((s=c[l]).type===t.type&&s.name===t.name)return this.removeEventListener(s.type,s.listener,s.capture),this.addEventListener(s.type,s.listener=u,s.capture=n),void(s.value=e);this.addEventListener(t.type,u,n),s={type:t.type,name:t.name,value:e,listener:u,capture:n},c?c.push(s):this.__on=[s]}}function ye(t,e,n,r){var i=le;t.sourceEvent=le,le=t;try{return e.apply(n,r)}finally{le=i}}function me(t,e,n){var r=Dt(t),i=r.CustomEvent;"function"==typeof i?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function ve(t,e){return function(){return me(this,t,e)}}function be(t,e){return function(){return me(this,t,e.apply(this,arguments))}}var xe=[null];function _e(t,e){this._groups=t,this._parents=e}function ke(){return new _e([[document.documentElement]],xe)}_e.prototype=ke.prototype={constructor:_e,select:function(t){"function"!=typeof t&&(t=pt(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,o,s=e[i],c=s.length,u=r[i]=new Array(c),l=0;l<c;++l)(a=s[l])&&(o=t.call(a,a.__data__,l,s))&&("__data__"in a&&(o.__data__=a.__data__),u[l]=o);return new _e(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=yt(t));for(var e=this._groups,n=e.length,r=[],i=[],a=0;a<n;++a)for(var o,s=e[a],c=s.length,u=0;u<c;++u)(o=s[u])&&(r.push(t.call(o,o.__data__,u,s)),i.push(o));return new _e(r,i)},filter:function(t){"function"!=typeof t&&(t=mt(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,o=e[i],s=o.length,c=r[i]=[],u=0;u<s;++u)(a=o[u])&&t.call(a,a.__data__,u,o)&&c.push(a);return new _e(r,this._parents)},data:function(t,e){if(!t)return d=new Array(this.size()),u=-1,this.each((function(t){d[++u]=t})),d;var n=e?_t:xt,r=this._parents,i=this._groups;"function"!=typeof t&&(t=function(t){return function(){return t}}(t));for(var a=i.length,o=new Array(a),s=new Array(a),c=new Array(a),u=0;u<a;++u){var l=r[u],h=i[u],f=h.length,d=t.call(l,l&&l.__data__,u,r),p=d.length,g=s[u]=new Array(p),y=o[u]=new Array(p);n(l,h,g,y,c[u]=new Array(f),d,e);for(var m,v,b=0,x=0;b<p;++b)if(m=g[b]){for(b>=x&&(x=b+1);!(v=y[x])&&++x<p;);m._next=v||null}}return(o=new _e(o,r))._enter=s,o._exit=c,o},enter:function(){return new _e(this._enter||this._groups.map(vt),this._parents)},exit:function(){return new _e(this._exit||this._groups.map(vt),this._parents)},join:function(t,e,n){var r=this.enter(),i=this,a=this.exit();return r="function"==typeof t?t(r):r.append(t+""),null!=e&&(i=e(i)),null==n?a.remove():n(a),r&&i?r.merge(i).order():i},merge:function(t){for(var e=this._groups,n=t._groups,r=e.length,i=n.length,a=Math.min(r,i),o=new Array(r),s=0;s<a;++s)for(var c,u=e[s],l=n[s],h=u.length,f=o[s]=new Array(h),d=0;d<h;++d)(c=u[d]||l[d])&&(f[d]=c);for(;s<r;++s)o[s]=e[s];return new _e(o,this._parents)},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,i=t[e],a=i.length-1,o=i[a];--a>=0;)(r=i[a])&&(o&&4^r.compareDocumentPosition(o)&&o.parentNode.insertBefore(r,o),o=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=kt);for(var n=this._groups,r=n.length,i=new Array(r),a=0;a<r;++a){for(var o,s=n[a],c=s.length,u=i[a]=new Array(c),l=0;l<c;++l)(o=s[l])&&(u[l]=o);u.sort(e)}return new _e(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),e=-1;return this.each((function(){t[++e]=this})),t},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null},size:function(){var t=0;return this.each((function(){++t})),t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i,a=e[n],o=0,s=a.length;o<s;++o)(i=a[o])&&t.call(i,i.__data__,o,a);return this},attr:function(t,e){var n=Tt(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==e?n.local?St:Ct:"function"==typeof e?n.local?jt:Mt:n.local?Ot:At)(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?Nt:"function"==typeof e?Lt:Bt)(t,e,null==n?"":n)):It(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?Rt:"function"==typeof e?Pt:Ft)(t,e)):this.node()[t]},classed:function(t,e){var n=zt(t+"");if(arguments.length<2){for(var r=Yt(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof e?Vt:e?$t:Ht)(n,e))},text:function(t){return arguments.length?this.each(null==t?Gt:("function"==typeof t?Zt:Xt)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?Kt:("function"==typeof t?Jt:Qt)(t)):this.node().innerHTML},raise:function(){return this.each(te)},lower:function(){return this.each(ee)},append:function(t){var e="function"==typeof t?t:ie(t);return this.select((function(){return this.appendChild(e.apply(this,arguments))}))},insert:function(t,e){var n="function"==typeof t?t:ie(t),r=null==e?ae:"function"==typeof e?e:pt(e);return this.select((function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(oe)},clone:function(t){return this.select(t?ce:se)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,i,a=de(t+""),o=a.length;if(!(arguments.length<2)){for(s=e?ge:pe,null==n&&(n=!1),r=0;r<o;++r)this.each(s(a[r],e,n));return this}var s=this.node().__on;if(s)for(var c,u=0,l=s.length;u<l;++u)for(r=0,c=s[u];r<o;++r)if((i=a[r]).type===c.type&&i.name===c.name)return c.value},dispatch:function(t,e){return this.each(("function"==typeof e?be:ve)(t,e))}};const we=ke;function Ee(t){return"string"==typeof t?new _e([[document.querySelector(t)]],[document.documentElement]):new _e([[t]],xe)}function Te(){le.stopImmediatePropagation()}function Ce(){le.preventDefault(),le.stopImmediatePropagation()}function Se(t){var e=t.document.documentElement,n=Ee(t).on("dragstart.drag",Ce,!0);"onselectstart"in e?n.on("selectstart.drag",Ce,!0):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function Ae(t,e){var n=t.document.documentElement,r=Ee(t).on("dragstart.drag",null);e&&(r.on("click.drag",Ce,!0),setTimeout((function(){r.on("click.drag",null)}),0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function Oe(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function Me(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function je(){}var De=.7,Ne=1/De,Be="\\s*([+-]?\\d+)\\s*",Le="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ie="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Re=/^#([0-9a-f]{3,8})$/,Fe=new RegExp("^rgb\\("+[Be,Be,Be]+"\\)$"),Pe=new RegExp("^rgb\\("+[Ie,Ie,Ie]+"\\)$"),ze=new RegExp("^rgba\\("+[Be,Be,Be,Le]+"\\)$"),Ye=new RegExp("^rgba\\("+[Ie,Ie,Ie,Le]+"\\)$"),Ue=new RegExp("^hsl\\("+[Le,Ie,Ie]+"\\)$"),qe=new RegExp("^hsla\\("+[Le,Ie,Ie,Le]+"\\)$"),We={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function $e(){return this.rgb().formatHex()}function He(){return this.rgb().formatRgb()}function Ve(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=Re.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?Ge(e):3===n?new Qe(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?Xe(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?Xe(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=Fe.exec(t))?new Qe(e[1],e[2],e[3],1):(e=Pe.exec(t))?new Qe(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=ze.exec(t))?Xe(e[1],e[2],e[3],e[4]):(e=Ye.exec(t))?Xe(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Ue.exec(t))?nn(e[1],e[2]/100,e[3]/100,1):(e=qe.exec(t))?nn(e[1],e[2]/100,e[3]/100,e[4]):We.hasOwnProperty(t)?Ge(We[t]):"transparent"===t?new Qe(NaN,NaN,NaN,0):null}function Ge(t){return new Qe(t>>16&255,t>>8&255,255&t,1)}function Xe(t,e,n,r){return r<=0&&(t=e=n=NaN),new Qe(t,e,n,r)}function Ze(t){return t instanceof je||(t=Ve(t)),t?new Qe((t=t.rgb()).r,t.g,t.b,t.opacity):new Qe}function Ke(t,e,n,r){return 1===arguments.length?Ze(t):new Qe(t,e,n,null==r?1:r)}function Qe(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function Je(){return"#"+en(this.r)+en(this.g)+en(this.b)}function tn(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function en(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function nn(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new on(t,e,n,r)}function rn(t){if(t instanceof on)return new on(t.h,t.s,t.l,t.opacity);if(t instanceof je||(t=Ve(t)),!t)return new on;if(t instanceof on)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=e===a?(n-r)/s+6*(n<r):n===a?(r-e)/s+2:(e-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new on(o,s,c,t.opacity)}function an(t,e,n,r){return 1===arguments.length?rn(t):new on(t,e,n,null==r?1:r)}function on(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function sn(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}function cn(t,e,n,r,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*n+(1+3*t+3*a-3*o)*r+o*i)/6}function un(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],a=t[r+1],o=r>0?t[r-1]:2*i-a,s=r<e-1?t[r+2]:2*a-i;return cn((n-r/e)*e,o,i,a,s)}}function ln(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],a=t[r%e],o=t[(r+1)%e],s=t[(r+2)%e];return cn((n-r/e)*e,i,a,o,s)}}function hn(t){return function(){return t}}function fn(t,e){return function(n){return t+n*e}}function dn(t,e){var n=e-t;return n?fn(t,n>180||n<-180?n-360*Math.round(n/360):n):hn(isNaN(t)?e:t)}function pn(t){return 1==(t=+t)?gn:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):hn(isNaN(e)?n:e)}}function gn(t,e){var n=e-t;return n?fn(t,n):hn(isNaN(t)?e:t)}Oe(je,Ve,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:$e,formatHex:$e,formatHsl:function(){return rn(this).formatHsl()},formatRgb:He,toString:He}),Oe(Qe,Ke,Me(je,{brighter:function(t){return t=null==t?Ne:Math.pow(Ne,t),new Qe(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?De:Math.pow(De,t),new Qe(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Je,formatHex:Je,formatRgb:tn,toString:tn})),Oe(on,an,Me(je,{brighter:function(t){return t=null==t?Ne:Math.pow(Ne,t),new on(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?De:Math.pow(De,t),new on(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new Qe(sn(t>=240?t-240:t+120,i,r),sn(t,i,r),sn(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));const yn=function t(e){var n=pn(e);function r(t,e){var r=n((t=Ke(t)).r,(e=Ke(e)).r),i=n(t.g,e.g),a=n(t.b,e.b),o=gn(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return r.gamma=t,r}(1);function mn(t){return function(e){var n,r,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(n=0;n<i;++n)r=Ke(e[n]),a[n]=r.r||0,o[n]=r.g||0,s[n]=r.b||0;return a=t(a),o=t(o),s=t(s),r.opacity=1,function(t){return r.r=a(t),r.g=o(t),r.b=s(t),r+""}}}var vn=mn(un),bn=mn(ln);function xn(t,e){e||(e=[]);var n,r=t?Math.min(e.length,t.length):0,i=e.slice();return function(a){for(n=0;n<r;++n)i[n]=t[n]*(1-a)+e[n]*a;return i}}function _n(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function kn(t,e){return(_n(e)?xn:wn)(t,e)}function wn(t,e){var n,r=e?e.length:0,i=t?Math.min(r,t.length):0,a=new Array(i),o=new Array(r);for(n=0;n<i;++n)a[n]=Mn(t[n],e[n]);for(;n<r;++n)o[n]=e[n];return function(t){for(n=0;n<i;++n)o[n]=a[n](t);return o}}function En(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function Tn(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function Cn(t,e){var n,r={},i={};for(n in null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={}),e)n in t?r[n]=Mn(t[n],e[n]):i[n]=e[n];return function(t){for(n in r)i[n]=r[n](t);return i}}var Sn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,An=new RegExp(Sn.source,"g");function On(t,e){var n,r,i,a=Sn.lastIndex=An.lastIndex=0,o=-1,s=[],c=[];for(t+="",e+="";(n=Sn.exec(t))&&(r=An.exec(e));)(i=r.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(n=n[0])===(r=r[0])?s[o]?s[o]+=r:s[++o]=r:(s[++o]=null,c.push({i:o,x:Tn(n,r)})),a=An.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?c[0]?function(t){return function(e){return t(e)+""}}(c[0].x):function(t){return function(){return t}}(e):(e=c.length,function(t){for(var n,r=0;r<e;++r)s[(n=c[r]).i]=n.x(t);return s.join("")})}function Mn(t,e){var n,r=typeof e;return null==e||"boolean"===r?hn(e):("number"===r?Tn:"string"===r?(n=Ve(e))?(e=n,yn):On:e instanceof Ve?yn:e instanceof Date?En:_n(e)?xn:Array.isArray(e)?wn:"function"!=typeof e.valueOf&&"function"!=typeof e.toString||isNaN(e)?Cn:Tn)(t,e)}function jn(){for(var t,e=le;t=e.sourceEvent;)e=t;return e}function Dn(t,e){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}function Nn(t,e,n){arguments.length<3&&(n=e,e=jn().changedTouches);for(var r,i=0,a=e?e.length:0;i<a;++i)if((r=e[i]).identifier===n)return Dn(t,r);return null}function Bn(t){var e=jn();return e.changedTouches&&(e=e.changedTouches[0]),Dn(t,e)}var Ln,In,Rn=0,Fn=0,Pn=0,zn=0,Yn=0,Un=0,qn="object"==typeof performance&&performance.now?performance:Date,Wn="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function $n(){return Yn||(Wn(Hn),Yn=qn.now()+Un)}function Hn(){Yn=0}function Vn(){this._call=this._time=this._next=null}function Gn(t,e,n){var r=new Vn;return r.restart(t,e,n),r}function Xn(){$n(),++Rn;for(var t,e=Ln;e;)(t=Yn-e._time)>=0&&e._call.call(null,t),e=e._next;--Rn}function Zn(){Yn=(zn=qn.now())+Un,Rn=Fn=0;try{Xn()}finally{Rn=0,function(){var t,e,n=Ln,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Ln=e);In=t,Qn(r)}(),Yn=0}}function Kn(){var t=qn.now(),e=t-zn;e>1e3&&(Un-=e,zn=t)}function Qn(t){Rn||(Fn&&(Fn=clearTimeout(Fn)),t-Yn>24?(t<1/0&&(Fn=setTimeout(Zn,t-qn.now()-Un)),Pn&&(Pn=clearInterval(Pn))):(Pn||(zn=qn.now(),Pn=setInterval(Kn,1e3)),Rn=1,Wn(Zn)))}function Jn(t,e,n){var r=new Vn;return e=null==e?0:+e,r.restart((function(n){r.stop(),t(n+e)}),e,n),r}Vn.prototype=Gn.prototype={constructor:Vn,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?$n():+n)+(null==e?0:+e),this._next||In===this||(In?In._next=this:Ln=this,In=this),this._call=t,this._time=n,Qn()},stop:function(){this._call&&(this._call=null,this._time=1/0,Qn())}};var tr=ft("start","end","cancel","interrupt"),er=[];function nr(t,e,n,r,i,a){var o=t.__transition;if(o){if(n in o)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function a(t){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=t&&o(t-n.delay)}function o(a){var u,l,h,f;if(1!==n.state)return c();for(u in i)if((f=i[u]).name===n.name){if(3===f.state)return Jn(o);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[u]):+u<e&&(f.state=6,f.timer.stop(),f.on.call("cancel",t,t.__data__,f.index,f.group),delete i[u])}if(Jn((function(){3===n.state&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))})),n.state=2,n.on.call("start",t,t.__data__,n.index,n.group),2===n.state){for(n.state=3,r=new Array(h=n.tween.length),u=0,l=-1;u<h;++u)(f=n.tween[u].value.call(t,t.__data__,n.index,n.group))&&(r[++l]=f);r.length=l+1}}function s(e){for(var i=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=r.length;++a<o;)r[a].call(t,i);5===n.state&&(n.on.call("end",t,t.__data__,n.index,n.group),c())}function c(){for(var r in n.state=6,n.timer.stop(),delete i[e],i)return;delete t.__transition}i[e]=n,n.timer=Gn(a,0,n.time)}(t,n,{name:e,index:r,group:i,on:tr,tween:er,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function rr(t,e){var n=ar(t,e);if(n.state>0)throw new Error("too late; already scheduled");return n}function ir(t,e){var n=ar(t,e);if(n.state>3)throw new Error("too late; already running");return n}function ar(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function or(t,e){var n,r,i,a=t.__transition,o=!0;if(a){for(i in e=null==e?null:e+"",a)(n=a[i]).name===e?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete a[i]):o=!1;o&&delete t.__transition}}var sr,cr,ur,lr,hr=180/Math.PI,fr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function dr(t,e,n,r,i,a){var o,s,c;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(c=t*n+e*r)&&(n-=t*c,r-=e*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),t*r<e*n&&(t=-t,e=-e,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*hr,skewX:Math.atan(c)*hr,scaleX:o,scaleY:s}}function pr(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}return function(a,o){var s=[],c=[];return a=t(a),o=t(o),function(t,r,i,a,o,s){if(t!==i||r!==a){var c=o.push("translate(",null,e,null,n);s.push({i:c-4,x:Tn(t,i)},{i:c-2,x:Tn(r,a)})}else(i||a)&&o.push("translate("+i+e+a+n)}(a.translateX,a.translateY,o.translateX,o.translateY,s,c),function(t,e,n,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:n.push(i(n)+"rotate(",null,r)-2,x:Tn(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(a.rotate,o.rotate,s,c),function(t,e,n,a){t!==e?a.push({i:n.push(i(n)+"skewX(",null,r)-2,x:Tn(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(a.skewX,o.skewX,s,c),function(t,e,n,r,a,o){if(t!==n||e!==r){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:Tn(t,n)},{i:s-2,x:Tn(e,r)})}else 1===n&&1===r||a.push(i(a)+"scale("+n+","+r+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,c),a=o=null,function(t){for(var e,n=-1,r=c.length;++n<r;)s[(e=c[n]).i]=e.x(t);return s.join("")}}}var gr=pr((function(t){return"none"===t?fr:(sr||(sr=document.createElement("DIV"),cr=document.documentElement,ur=document.defaultView),sr.style.transform=t,t=ur.getComputedStyle(cr.appendChild(sr),null).getPropertyValue("transform"),cr.removeChild(sr),dr(+(t=t.slice(7,-1).split(","))[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}),"px, ","px)","deg)"),yr=pr((function(t){return null==t?fr:(lr||(lr=document.createElementNS("http://www.w3.org/2000/svg","g")),lr.setAttribute("transform",t),(t=lr.transform.baseVal.consolidate())?dr((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):fr)}),", ",")",")");function mr(t,e){var n,r;return function(){var i=ir(this,t),a=i.tween;if(a!==n)for(var o=0,s=(r=n=a).length;o<s;++o)if(r[o].name===e){(r=r.slice()).splice(o,1);break}i.tween=r}}function vr(t,e,n){var r,i;if("function"!=typeof n)throw new Error;return function(){var a=ir(this,t),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:e,value:n},c=0,u=i.length;c<u;++c)if(i[c].name===e){i[c]=s;break}c===u&&i.push(s)}a.tween=i}}function br(t,e,n){var r=t._id;return t.each((function(){var t=ir(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)})),function(t){return ar(t,r).value[e]}}function xr(t,e){var n;return("number"==typeof e?Tn:e instanceof Ve?yn:(n=Ve(e))?(e=n,yn):On)(t,e)}function _r(t){return function(){this.removeAttribute(t)}}function kr(t){return function(){this.removeAttributeNS(t.space,t.local)}}function wr(t,e,n){var r,i,a=n+"";return function(){var o=this.getAttribute(t);return o===a?null:o===r?i:i=e(r=o,n)}}function Er(t,e,n){var r,i,a=n+"";return function(){var o=this.getAttributeNS(t.space,t.local);return o===a?null:o===r?i:i=e(r=o,n)}}function Tr(t,e,n){var r,i,a;return function(){var o,s,c=n(this);if(null!=c)return(o=this.getAttribute(t))===(s=c+"")?null:o===r&&s===i?a:(i=s,a=e(r=o,c));this.removeAttribute(t)}}function Cr(t,e,n){var r,i,a;return function(){var o,s,c=n(this);if(null!=c)return(o=this.getAttributeNS(t.space,t.local))===(s=c+"")?null:o===r&&s===i?a:(i=s,a=e(r=o,c));this.removeAttributeNS(t.space,t.local)}}function Sr(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function Ar(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function Or(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&Ar(t,i)),n}return i._value=e,i}function Mr(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&Sr(t,i)),n}return i._value=e,i}function jr(t,e){return function(){rr(this,t).delay=+e.apply(this,arguments)}}function Dr(t,e){return e=+e,function(){rr(this,t).delay=e}}function Nr(t,e){return function(){ir(this,t).duration=+e.apply(this,arguments)}}function Br(t,e){return e=+e,function(){ir(this,t).duration=e}}function Lr(t,e){if("function"!=typeof e)throw new Error;return function(){ir(this,t).ease=e}}function Ir(t,e,n){var r,i,a=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?rr:ir;return function(){var o=a(this,t),s=o.on;s!==r&&(i=(r=s).copy()).on(e,n),o.on=i}}var Rr=we.prototype.constructor;function Fr(t){return function(){this.style.removeProperty(t)}}function Pr(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function zr(t,e,n){var r,i;function a(){var a=e.apply(this,arguments);return a!==i&&(r=(i=a)&&Pr(t,a,n)),r}return a._value=e,a}function Yr(t){return function(e){this.textContent=t.call(this,e)}}function Ur(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&Yr(r)),e}return r._value=t,r}var qr=0;function Wr(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function $r(t){return we().transition(t)}function Hr(){return++qr}var Vr=we.prototype;function Gr(t){return t*t*t}function Xr(t){return--t*t*t+1}function Zr(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}Wr.prototype=$r.prototype={constructor:Wr,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=pt(t));for(var r=this._groups,i=r.length,a=new Array(i),o=0;o<i;++o)for(var s,c,u=r[o],l=u.length,h=a[o]=new Array(l),f=0;f<l;++f)(s=u[f])&&(c=t.call(s,s.__data__,f,u))&&("__data__"in s&&(c.__data__=s.__data__),h[f]=c,nr(h[f],e,n,f,h,ar(s,n)));return new Wr(a,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=yt(t));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c,u=r[s],l=u.length,h=0;h<l;++h)if(c=u[h]){for(var f,d=t.call(c,c.__data__,h,u),p=ar(c,n),g=0,y=d.length;g<y;++g)(f=d[g])&&nr(f,e,n,g,d,p);a.push(d),o.push(c)}return new Wr(a,o,e,n)},filter:function(t){"function"!=typeof t&&(t=mt(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,o=e[i],s=o.length,c=r[i]=[],u=0;u<s;++u)(a=o[u])&&t.call(a,a.__data__,u,o)&&c.push(a);return new Wr(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,i=n.length,a=Math.min(r,i),o=new Array(r),s=0;s<a;++s)for(var c,u=e[s],l=n[s],h=u.length,f=o[s]=new Array(h),d=0;d<h;++d)(c=u[d]||l[d])&&(f[d]=c);for(;s<r;++s)o[s]=e[s];return new Wr(o,this._parents,this._name,this._id)},selection:function(){return new Rr(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=Hr(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o,s=r[a],c=s.length,u=0;u<c;++u)if(o=s[u]){var l=ar(o,e);nr(o,t,n,u,s,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new Wr(r,this._parents,t,n)},call:Vr.call,nodes:Vr.nodes,node:Vr.node,size:Vr.size,empty:Vr.empty,each:Vr.each,on:function(t,e){var n=this._id;return arguments.length<2?ar(this.node(),n).on.on(t):this.each(Ir(n,t,e))},attr:function(t,e){var n=Tt(t),r="transform"===n?yr:xr;return this.attrTween(t,"function"==typeof e?(n.local?Cr:Tr)(n,r,br(this,"attr."+t,e)):null==e?(n.local?kr:_r)(n):(n.local?Er:wr)(n,r,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var r=Tt(t);return this.tween(n,(r.local?Or:Mr)(r,e))},style:function(t,e,n){var r="transform"==(t+="")?gr:xr;return null==e?this.styleTween(t,function(t,e){var n,r,i;return function(){var a=It(this,t),o=(this.style.removeProperty(t),It(this,t));return a===o?null:a===n&&o===r?i:i=e(n=a,r=o)}}(t,r)).on("end.style."+t,Fr(t)):"function"==typeof e?this.styleTween(t,function(t,e,n){var r,i,a;return function(){var o=It(this,t),s=n(this),c=s+"";return null==s&&(this.style.removeProperty(t),c=s=It(this,t)),o===c?null:o===r&&c===i?a:(i=c,a=e(r=o,s))}}(t,r,br(this,"style."+t,e))).each(function(t,e){var n,r,i,a,o="style."+e,s="end."+o;return function(){var c=ir(this,t),u=c.on,l=null==c.value[o]?a||(a=Fr(e)):void 0;u===n&&i===l||(r=(n=u).copy()).on(s,i=l),c.on=r}}(this._id,t)):this.styleTween(t,function(t,e,n){var r,i,a=n+"";return function(){var o=It(this,t);return o===a?null:o===r?i:i=e(r=o,n)}}(t,r,e),n).on("end.style."+t,null)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;return this.tween(r,zr(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(br(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw new Error;return this.tween(e,Ur(t))},remove:function(){return this.on("end.remove",function(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}(this._id))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,i=ar(this.node(),n).tween,a=0,o=i.length;a<o;++a)if((r=i[a]).name===t)return r.value;return null}return this.each((null==e?mr:vr)(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?jr:Dr)(e,t)):ar(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?Nr:Br)(e,t)):ar(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(Lr(e,t)):ar(this.node(),e).ease},end:function(){var t,e,n=this,r=n._id,i=n.size();return new Promise((function(a,o){var s={value:o},c={value:function(){0==--i&&a()}};n.each((function(){var n=ir(this,r),i=n.on;i!==t&&((e=(t=i).copy())._.cancel.push(s),e._.interrupt.push(s),e._.end.push(c)),n.on=e}))}))}};var Kr={time:null,delay:0,duration:250,ease:Zr};function Qr(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))return Kr.time=$n(),Kr;return n}we.prototype.interrupt=function(t){return this.each((function(){or(this,t)}))},we.prototype.transition=function(t){var e,n;t instanceof Wr?(e=t._id,t=t._name):(e=Hr(),(n=Kr).time=$n(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o,s=r[a],c=s.length,u=0;u<c;++u)(o=s[u])&&nr(o,t,e,u,s,n||Qr(o,e));return new Wr(r,this._parents,t,e)};var Jr=[null];function ti(t,e){var n,r,i=t.__transition;if(i)for(r in e=null==e?null:e+"",i)if((n=i[r]).state>1&&n.name===e)return new Wr([[t]],Jr,e,+r);return null}function ei(t){return function(){return t}}function ni(t,e,n){this.target=t,this.type=e,this.selection=n}function ri(){le.stopImmediatePropagation()}function ii(){le.preventDefault(),le.stopImmediatePropagation()}var ai={name:"drag"},oi={name:"space"},si={name:"handle"},ci={name:"center"};function ui(t){return[+t[0],+t[1]]}function li(t){return[ui(t[0]),ui(t[1])]}function hi(t){return function(e){return Nn(e,le.touches,t)}}var fi={name:"x",handles:["w","e"].map(xi),input:function(t,e){return null==t?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},di={name:"y",handles:["n","s"].map(xi),input:function(t,e){return null==t?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},pi={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(xi),input:function(t){return null==t?null:li(t)},output:function(t){return t}},gi={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},yi={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},mi={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},vi={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},bi={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function xi(t){return{type:t}}function _i(){return!le.ctrlKey&&!le.button}function ki(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function wi(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ei(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function Ti(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function Ci(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function Si(){return Mi(fi)}function Ai(){return Mi(di)}function Oi(){return Mi(pi)}function Mi(t){var e,n=ki,r=_i,i=wi,a=!0,o=ft("start","brush","end"),s=6;function c(e){var n=e.property("__brush",g).selectAll(".overlay").data([xi("overlay")]);n.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",gi.overlay).merge(n).each((function(){var t=Ei(this).extent;Ee(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])})),e.selectAll(".selection").data([xi("selection")]).enter().append("rect").attr("class","selection").attr("cursor",gi.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var r=e.selectAll(".handle").data(t.handles,(function(t){return t.type}));r.exit().remove(),r.enter().append("rect").attr("class",(function(t){return"handle handle--"+t.type})).attr("cursor",(function(t){return gi[t.type]})),e.each(u).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",f).filter(i).on("touchstart.brush",f).on("touchmove.brush",d).on("touchend.brush touchcancel.brush",p).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function u(){var t=Ee(this),e=Ei(this).selection;e?(t.selectAll(".selection").style("display",null).attr("x",e[0][0]).attr("y",e[0][1]).attr("width",e[1][0]-e[0][0]).attr("height",e[1][1]-e[0][1]),t.selectAll(".handle").style("display",null).attr("x",(function(t){return"e"===t.type[t.type.length-1]?e[1][0]-s/2:e[0][0]-s/2})).attr("y",(function(t){return"s"===t.type[0]?e[1][1]-s/2:e[0][1]-s/2})).attr("width",(function(t){return"n"===t.type||"s"===t.type?e[1][0]-e[0][0]+s:s})).attr("height",(function(t){return"e"===t.type||"w"===t.type?e[1][1]-e[0][1]+s:s}))):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function l(t,e,n){var r=t.__brush.emitter;return!r||n&&r.clean?new h(t,e,n):r}function h(t,e,n){this.that=t,this.args=e,this.state=t.__brush,this.active=0,this.clean=n}function f(){if((!e||le.touches)&&r.apply(this,arguments)){var n,i,o,s,c,h,f,d,p,g,y,m=this,v=le.target.__data__.type,b="selection"===(a&&le.metaKey?v="overlay":v)?ai:a&&le.altKey?ci:si,x=t===di?null:vi[v],_=t===fi?null:bi[v],k=Ei(m),w=k.extent,E=k.selection,T=w[0][0],C=w[0][1],S=w[1][0],A=w[1][1],O=0,M=0,j=x&&_&&a&&le.shiftKey,D=le.touches?hi(le.changedTouches[0].identifier):Bn,N=D(m),B=N,L=l(m,arguments,!0).beforestart();"overlay"===v?(E&&(p=!0),k.selection=E=[[n=t===di?T:N[0],o=t===fi?C:N[1]],[c=t===di?S:n,f=t===fi?A:o]]):(n=E[0][0],o=E[0][1],c=E[1][0],f=E[1][1]),i=n,s=o,h=c,d=f;var I=Ee(m).attr("pointer-events","none"),R=I.selectAll(".overlay").attr("cursor",gi[v]);if(le.touches)L.moved=P,L.ended=Y;else{var F=Ee(le.view).on("mousemove.brush",P,!0).on("mouseup.brush",Y,!0);a&&F.on("keydown.brush",U,!0).on("keyup.brush",q,!0),Se(le.view)}ri(),or(m),u.call(m),L.start()}function P(){var t=D(m);!j||g||y||(Math.abs(t[0]-B[0])>Math.abs(t[1]-B[1])?y=!0:g=!0),B=t,p=!0,ii(),z()}function z(){var t;switch(O=B[0]-N[0],M=B[1]-N[1],b){case oi:case ai:x&&(O=Math.max(T-n,Math.min(S-c,O)),i=n+O,h=c+O),_&&(M=Math.max(C-o,Math.min(A-f,M)),s=o+M,d=f+M);break;case si:x<0?(O=Math.max(T-n,Math.min(S-n,O)),i=n+O,h=c):x>0&&(O=Math.max(T-c,Math.min(S-c,O)),i=n,h=c+O),_<0?(M=Math.max(C-o,Math.min(A-o,M)),s=o+M,d=f):_>0&&(M=Math.max(C-f,Math.min(A-f,M)),s=o,d=f+M);break;case ci:x&&(i=Math.max(T,Math.min(S,n-O*x)),h=Math.max(T,Math.min(S,c+O*x))),_&&(s=Math.max(C,Math.min(A,o-M*_)),d=Math.max(C,Math.min(A,f+M*_)))}h<i&&(x*=-1,t=n,n=c,c=t,t=i,i=h,h=t,v in yi&&R.attr("cursor",gi[v=yi[v]])),d<s&&(_*=-1,t=o,o=f,f=t,t=s,s=d,d=t,v in mi&&R.attr("cursor",gi[v=mi[v]])),k.selection&&(E=k.selection),g&&(i=E[0][0],h=E[1][0]),y&&(s=E[0][1],d=E[1][1]),E[0][0]===i&&E[0][1]===s&&E[1][0]===h&&E[1][1]===d||(k.selection=[[i,s],[h,d]],u.call(m),L.brush())}function Y(){if(ri(),le.touches){if(le.touches.length)return;e&&clearTimeout(e),e=setTimeout((function(){e=null}),500)}else Ae(le.view,p),F.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);I.attr("pointer-events","all"),R.attr("cursor",gi.overlay),k.selection&&(E=k.selection),Ti(E)&&(k.selection=null,u.call(m)),L.end()}function U(){switch(le.keyCode){case 16:j=x&&_;break;case 18:b===si&&(x&&(c=h-O*x,n=i+O*x),_&&(f=d-M*_,o=s+M*_),b=ci,z());break;case 32:b!==si&&b!==ci||(x<0?c=h-O:x>0&&(n=i-O),_<0?f=d-M:_>0&&(o=s-M),b=oi,R.attr("cursor",gi.selection),z());break;default:return}ii()}function q(){switch(le.keyCode){case 16:j&&(g=y=j=!1,z());break;case 18:b===ci&&(x<0?c=h:x>0&&(n=i),_<0?f=d:_>0&&(o=s),b=si,z());break;case 32:b===oi&&(le.altKey?(x&&(c=h-O*x,n=i+O*x),_&&(f=d-M*_,o=s+M*_),b=ci):(x<0?c=h:x>0&&(n=i),_<0?f=d:_>0&&(o=s),b=si),R.attr("cursor",gi[v]),z());break;default:return}ii()}}function d(){l(this,arguments).moved()}function p(){l(this,arguments).ended()}function g(){var e=this.__brush||{selection:null};return e.extent=li(n.apply(this,arguments)),e.dim=t,e}return c.move=function(e,n){e.selection?e.on("start.brush",(function(){l(this,arguments).beforestart().start()})).on("interrupt.brush end.brush",(function(){l(this,arguments).end()})).tween("brush",(function(){var e=this,r=e.__brush,i=l(e,arguments),a=r.selection,o=t.input("function"==typeof n?n.apply(this,arguments):n,r.extent),s=Mn(a,o);function c(t){r.selection=1===t&&null===o?null:s(t),u.call(e),i.brush()}return null!==a&&null!==o?c:c(1)})):e.each((function(){var e=this,r=arguments,i=e.__brush,a=t.input("function"==typeof n?n.apply(e,r):n,i.extent),o=l(e,r).beforestart();or(e),i.selection=null===a?null:a,u.call(e),o.start().brush().end()}))},c.clear=function(t){c.move(t,null)},h.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(){return this.starting?(this.starting=!1,this.emit("start")):this.emit("brush"),this},brush:function(){return this.emit("brush"),this},end:function(){return 0==--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(e){ye(new ni(c,e,t.output(this.state.selection)),o.apply,o,[e,this.that,this.args])}},c.extent=function(t){return arguments.length?(n="function"==typeof t?t:ei(li(t)),c):n},c.filter=function(t){return arguments.length?(r="function"==typeof t?t:ei(!!t),c):r},c.touchable=function(t){return arguments.length?(i="function"==typeof t?t:ei(!!t),c):i},c.handleSize=function(t){return arguments.length?(s=+t,c):s},c.keyModifiers=function(t){return arguments.length?(a=!!t,c):a},c.on=function(){var t=o.on.apply(o,arguments);return t===o?c:t},c}var ji=Math.cos,Di=Math.sin,Ni=Math.PI,Bi=Ni/2,Li=2*Ni,Ii=Math.max;function Ri(t){return function(e,n){return t(e.source.value+e.target.value,n.source.value+n.target.value)}}function Fi(){var t=0,e=null,n=null,r=null;function i(i){var a,o,s,c,u,l,h=i.length,f=[],d=w(h),p=[],g=[],y=g.groups=new Array(h),m=new Array(h*h);for(a=0,u=-1;++u<h;){for(o=0,l=-1;++l<h;)o+=i[u][l];f.push(o),p.push(w(h)),a+=o}for(e&&d.sort((function(t,n){return e(f[t],f[n])})),n&&p.forEach((function(t,e){t.sort((function(t,r){return n(i[e][t],i[e][r])}))})),c=(a=Ii(0,Li-t*h)/a)?t:Li/h,o=0,u=-1;++u<h;){for(s=o,l=-1;++l<h;){var v=d[u],b=p[v][l],x=i[v][b],_=o,k=o+=x*a;m[b*h+v]={index:v,subindex:b,startAngle:_,endAngle:k,value:x}}y[v]={index:v,startAngle:s,endAngle:o,value:f[v]},o+=c}for(u=-1;++u<h;)for(l=u-1;++l<h;){var E=m[l*h+u],T=m[u*h+l];(E.value||T.value)&&g.push(E.value<T.value?{source:T,target:E}:{source:E,target:T})}return r?g.sort(r):g}return i.padAngle=function(e){return arguments.length?(t=Ii(0,e),i):t},i.sortGroups=function(t){return arguments.length?(e=t,i):e},i.sortSubgroups=function(t){return arguments.length?(n=t,i):n},i.sortChords=function(t){return arguments.length?(null==t?r=null:(r=Ri(t))._=t,i):r&&r._},i}var Pi=Array.prototype.slice;function zi(t){return function(){return t}}var Yi=Math.PI,Ui=2*Yi,qi=1e-6,Wi=Ui-qi;function $i(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function Hi(){return new $i}$i.prototype=Hi.prototype={constructor:$i,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,r){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+r)},bezierCurveTo:function(t,e,n,r,i,a){this._+="C"+ +t+","+ +e+","+ +n+","+ +r+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,n,r,i){t=+t,e=+e,n=+n,r=+r,i=+i;var a=this._x1,o=this._y1,s=n-t,c=r-e,u=a-t,l=o-e,h=u*u+l*l;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(h>qi)if(Math.abs(l*s-c*u)>qi&&i){var f=n-a,d=r-o,p=s*s+c*c,g=f*f+d*d,y=Math.sqrt(p),m=Math.sqrt(h),v=i*Math.tan((Yi-Math.acos((p+h-g)/(2*y*m)))/2),b=v/m,x=v/y;Math.abs(b-1)>qi&&(this._+="L"+(t+b*u)+","+(e+b*l)),this._+="A"+i+","+i+",0,0,"+ +(l*f>u*d)+","+(this._x1=t+x*s)+","+(this._y1=e+x*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e);else;},arc:function(t,e,n,r,i,a){t=+t,e=+e,a=!!a;var o=(n=+n)*Math.cos(r),s=n*Math.sin(r),c=t+o,u=e+s,l=1^a,h=a?r-i:i-r;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+c+","+u:(Math.abs(this._x1-c)>qi||Math.abs(this._y1-u)>qi)&&(this._+="L"+c+","+u),n&&(h<0&&(h=h%Ui+Ui),h>Wi?this._+="A"+n+","+n+",0,1,"+l+","+(t-o)+","+(e-s)+"A"+n+","+n+",0,1,"+l+","+(this._x1=c)+","+(this._y1=u):h>qi&&(this._+="A"+n+","+n+",0,"+ +(h>=Yi)+","+l+","+(this._x1=t+n*Math.cos(i))+","+(this._y1=e+n*Math.sin(i))))},rect:function(t,e,n,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}};const Vi=Hi;function Gi(t){return t.source}function Xi(t){return t.target}function Zi(t){return t.radius}function Ki(t){return t.startAngle}function Qi(t){return t.endAngle}function Ji(){var t=Gi,e=Xi,n=Zi,r=Ki,i=Qi,a=null;function o(){var o,s=Pi.call(arguments),c=t.apply(this,s),u=e.apply(this,s),l=+n.apply(this,(s[0]=c,s)),h=r.apply(this,s)-Bi,f=i.apply(this,s)-Bi,d=l*ji(h),p=l*Di(h),g=+n.apply(this,(s[0]=u,s)),y=r.apply(this,s)-Bi,m=i.apply(this,s)-Bi;if(a||(a=o=Vi()),a.moveTo(d,p),a.arc(0,0,l,h,f),h===y&&f===m||(a.quadraticCurveTo(0,0,g*ji(y),g*Di(y)),a.arc(0,0,g,y,m)),a.quadraticCurveTo(0,0,d,p),a.closePath(),o)return a=null,o+""||null}return o.radius=function(t){return arguments.length?(n="function"==typeof t?t:zi(+t),o):n},o.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:zi(+t),o):r},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:zi(+t),o):i},o.source=function(e){return arguments.length?(t=e,o):t},o.target=function(t){return arguments.length?(e=t,o):e},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}var ta="$";function ea(){}function na(t,e){var n=new ea;if(t instanceof ea)t.each((function(t,e){n.set(e,t)}));else if(Array.isArray(t)){var r,i=-1,a=t.length;if(null==e)for(;++i<a;)n.set(i,t[i]);else for(;++i<a;)n.set(e(r=t[i],i,t),r)}else if(t)for(var o in t)n.set(o,t[o]);return n}ea.prototype=na.prototype={constructor:ea,has:function(t){return ta+t in this},get:function(t){return this[ta+t]},set:function(t,e){return this[ta+t]=e,this},remove:function(t){var e=ta+t;return e in this&&delete this[e]},clear:function(){for(var t in this)t[0]===ta&&delete this[t]},keys:function(){var t=[];for(var e in this)e[0]===ta&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)e[0]===ta&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)e[0]===ta&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)e[0]===ta&&++t;return t},empty:function(){for(var t in this)if(t[0]===ta)return!1;return!0},each:function(t){for(var e in this)e[0]===ta&&t(this[e],e.slice(1),this)}};const ra=na;function ia(){var t,e,n,r=[],i=[];function a(n,i,o,s){if(i>=r.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var c,u,l,h=-1,f=n.length,d=r[i++],p=ra(),g=o();++h<f;)(l=p.get(c=d(u=n[h])+""))?l.push(u):p.set(c,[u]);return p.each((function(t,e){s(g,e,a(t,i,o,s))})),g}function o(t,n){if(++n>r.length)return t;var a,s=i[n-1];return null!=e&&n>=r.length?a=t.entries():(a=[],t.each((function(t,e){a.push({key:e,values:o(t,n)})}))),null!=s?a.sort((function(t,e){return s(t.key,e.key)})):a}return n={object:function(t){return a(t,0,aa,oa)},map:function(t){return a(t,0,sa,ca)},entries:function(t){return o(a(t,0,sa,ca),0)},key:function(t){return r.push(t),n},sortKeys:function(t){return i[r.length-1]=t,n},sortValues:function(e){return t=e,n},rollup:function(t){return e=t,n}}}function aa(){return{}}function oa(t,e,n){t[e]=n}function sa(){return ra()}function ca(t,e,n){t.set(e,n)}function ua(){}var la=ra.prototype;function ha(t,e){var n=new ua;if(t instanceof ua)t.each((function(t){n.add(t)}));else if(t){var r=-1,i=t.length;if(null==e)for(;++r<i;)n.add(t[r]);else for(;++r<i;)n.add(e(t[r],r,t))}return n}ua.prototype=ha.prototype={constructor:ua,has:la.has,add:function(t){return this[ta+(t+="")]=t,this},remove:la.remove,clear:la.clear,values:la.keys,size:la.size,empty:la.empty,each:la.each};const fa=ha;function da(t){var e=[];for(var n in t)e.push(n);return e}function pa(t){var e=[];for(var n in t)e.push(t[n]);return e}function ga(t){var e=[];for(var n in t)e.push({key:n,value:t[n]});return e}var ya=Math.PI/180,ma=180/Math.PI,va=.96422,ba=.82521,xa=4/29,_a=6/29,ka=3*_a*_a;function wa(t){if(t instanceof Ca)return new Ca(t.l,t.a,t.b,t.opacity);if(t instanceof Ba)return La(t);t instanceof Qe||(t=Ze(t));var e,n,r=Ma(t.r),i=Ma(t.g),a=Ma(t.b),o=Sa((.2225045*r+.7168786*i+.0606169*a)/1);return r===i&&i===a?e=n=o:(e=Sa((.4360747*r+.3850649*i+.1430804*a)/va),n=Sa((.0139322*r+.0971045*i+.7141733*a)/ba)),new Ca(116*o-16,500*(e-o),200*(o-n),t.opacity)}function Ea(t,e){return new Ca(t,0,0,null==e?1:e)}function Ta(t,e,n,r){return 1===arguments.length?wa(t):new Ca(t,e,n,null==r?1:r)}function Ca(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}function Sa(t){return t>.008856451679035631?Math.pow(t,1/3):t/ka+xa}function Aa(t){return t>_a?t*t*t:ka*(t-xa)}function Oa(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Ma(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function ja(t){if(t instanceof Ba)return new Ba(t.h,t.c,t.l,t.opacity);if(t instanceof Ca||(t=wa(t)),0===t.a&&0===t.b)return new Ba(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*ma;return new Ba(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function Da(t,e,n,r){return 1===arguments.length?ja(t):new Ba(n,e,t,null==r?1:r)}function Na(t,e,n,r){return 1===arguments.length?ja(t):new Ba(t,e,n,null==r?1:r)}function Ba(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function La(t){if(isNaN(t.h))return new Ca(t.l,0,0,t.opacity);var e=t.h*ya;return new Ca(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}Oe(Ca,Ta,Me(je,{brighter:function(t){return new Ca(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new Ca(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return new Qe(Oa(3.1338561*(e=va*Aa(e))-1.6168667*(t=1*Aa(t))-.4906146*(n=ba*Aa(n))),Oa(-.9787684*e+1.9161415*t+.033454*n),Oa(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}})),Oe(Ba,Na,Me(je,{brighter:function(t){return new Ba(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new Ba(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return La(this).rgb()}}));var Ia=-.14861,Ra=1.78277,Fa=-.29227,Pa=-.90649,za=1.97294,Ya=za*Pa,Ua=za*Ra,qa=Ra*Fa-Pa*Ia;function Wa(t){if(t instanceof Ha)return new Ha(t.h,t.s,t.l,t.opacity);t instanceof Qe||(t=Ze(t));var e=t.r/255,n=t.g/255,r=t.b/255,i=(qa*r+Ya*e-Ua*n)/(qa+Ya-Ua),a=r-i,o=(za*(n-i)-Fa*a)/Pa,s=Math.sqrt(o*o+a*a)/(za*i*(1-i)),c=s?Math.atan2(o,a)*ma-120:NaN;return new Ha(c<0?c+360:c,s,i,t.opacity)}function $a(t,e,n,r){return 1===arguments.length?Wa(t):new Ha(t,e,n,null==r?1:r)}function Ha(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}Oe(Ha,$a,Me(je,{brighter:function(t){return t=null==t?Ne:Math.pow(Ne,t),new Ha(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?De:Math.pow(De,t),new Ha(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*ya,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),i=Math.sin(t);return new Qe(255*(e+n*(Ia*r+Ra*i)),255*(e+n*(Fa*r+Pa*i)),255*(e+n*(za*r)),this.opacity)}}));var Va=Array.prototype.slice;function Ga(t,e){return t-e}function Xa(t){return function(){return t}}function Za(t,e){for(var n,r=-1,i=e.length;++r<i;)if(n=Ka(t,e[r]))return n;return 0}function Ka(t,e){for(var n=e[0],r=e[1],i=-1,a=0,o=t.length,s=o-1;a<o;s=a++){var c=t[a],u=c[0],l=c[1],h=t[s],f=h[0],d=h[1];if(Qa(c,h,e))return 0;l>r!=d>r&&n<(f-u)*(r-l)/(d-l)+u&&(i=-i)}return i}function Qa(t,e,n){var r,i,a,o;return function(t,e,n){return(e[0]-t[0])*(n[1]-t[1])==(n[0]-t[0])*(e[1]-t[1])}(t,e,n)&&(i=t[r=+(t[0]===e[0])],a=n[r],o=e[r],i<=a&&a<=o||o<=a&&a<=i)}function Ja(){}var to=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function eo(){var t=1,e=1,n=M,r=s;function i(t){var e=n(t);if(Array.isArray(e))e=e.slice().sort(Ga);else{var r=m(t),i=r[0],o=r[1];e=O(i,o,e),e=w(Math.floor(i/e)*e,Math.floor(o/e)*e,e)}return e.map((function(e){return a(t,e)}))}function a(n,i){var a=[],s=[];return function(n,r,i){var a,s,c,u,l,h,f=new Array,d=new Array;a=s=-1,u=n[0]>=r,to[u<<1].forEach(p);for(;++a<t-1;)c=u,u=n[a+1]>=r,to[c|u<<1].forEach(p);to[u<<0].forEach(p);for(;++s<e-1;){for(a=-1,u=n[s*t+t]>=r,l=n[s*t]>=r,to[u<<1|l<<2].forEach(p);++a<t-1;)c=u,u=n[s*t+t+a+1]>=r,h=l,l=n[s*t+a+1]>=r,to[c|u<<1|l<<2|h<<3].forEach(p);to[u|l<<3].forEach(p)}a=-1,l=n[s*t]>=r,to[l<<2].forEach(p);for(;++a<t-1;)h=l,l=n[s*t+a+1]>=r,to[l<<2|h<<3].forEach(p);function p(t){var e,n,r=[t[0][0]+a,t[0][1]+s],c=[t[1][0]+a,t[1][1]+s],u=o(r),l=o(c);(e=d[u])?(n=f[l])?(delete d[e.end],delete f[n.start],e===n?(e.ring.push(c),i(e.ring)):f[e.start]=d[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete d[e.end],e.ring.push(c),d[e.end=l]=e):(e=f[l])?(n=d[u])?(delete f[e.start],delete d[n.end],e===n?(e.ring.push(c),i(e.ring)):f[n.start]=d[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete f[e.start],e.ring.unshift(r),f[e.start=u]=e):f[u]=d[l]={start:u,end:l,ring:[r,c]}}to[l<<3].forEach(p)}(n,i,(function(t){r(t,n,i),function(t){for(var e=0,n=t.length,r=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];++e<n;)r+=t[e-1][1]*t[e][0]-t[e-1][0]*t[e][1];return r}(t)>0?a.push([t]):s.push(t)})),s.forEach((function(t){for(var e,n=0,r=a.length;n<r;++n)if(-1!==Za((e=a[n])[0],t))return void e.push(t)})),{type:"MultiPolygon",value:i,coordinates:a}}function o(e){return 2*e[0]+e[1]*(t+1)*4}function s(n,r,i){n.forEach((function(n){var a,o=n[0],s=n[1],c=0|o,u=0|s,l=r[u*t+c];o>0&&o<t&&c===o&&(a=r[u*t+c-1],n[0]=o+(i-a)/(l-a)-.5),s>0&&s<e&&u===s&&(a=r[(u-1)*t+c],n[1]=s+(i-a)/(l-a)-.5)}))}return i.contour=a,i.size=function(n){if(!arguments.length)return[t,e];var r=Math.ceil(n[0]),a=Math.ceil(n[1]);if(!(r>0&&a>0))throw new Error("invalid size");return t=r,e=a,i},i.thresholds=function(t){return arguments.length?(n="function"==typeof t?t:Array.isArray(t)?Xa(Va.call(t)):Xa(t),i):n},i.smooth=function(t){return arguments.length?(r=t?s:Ja,i):r===s},i}function no(t,e,n){for(var r=t.width,i=t.height,a=1+(n<<1),o=0;o<i;++o)for(var s=0,c=0;s<r+n;++s)s<r&&(c+=t.data[s+o*r]),s>=n&&(s>=a&&(c-=t.data[s-a+o*r]),e.data[s-n+o*r]=c/Math.min(s+1,r-1+a-s,a))}function ro(t,e,n){for(var r=t.width,i=t.height,a=1+(n<<1),o=0;o<r;++o)for(var s=0,c=0;s<i+n;++s)s<i&&(c+=t.data[o+s*r]),s>=n&&(s>=a&&(c-=t.data[o+(s-a)*r]),e.data[o+(s-n)*r]=c/Math.min(s+1,i-1+a-s,a))}function io(t){return t[0]}function ao(t){return t[1]}function oo(){return 1}function so(){var t=io,e=ao,n=oo,r=960,i=500,a=20,o=2,s=3*a,c=r+2*s>>o,u=i+2*s>>o,l=Xa(20);function h(r){var i=new Float32Array(c*u),h=new Float32Array(c*u);r.forEach((function(r,a,l){var h=+t(r,a,l)+s>>o,f=+e(r,a,l)+s>>o,d=+n(r,a,l);h>=0&&h<c&&f>=0&&f<u&&(i[h+f*c]+=d)})),no({width:c,height:u,data:i},{width:c,height:u,data:h},a>>o),ro({width:c,height:u,data:h},{width:c,height:u,data:i},a>>o),no({width:c,height:u,data:i},{width:c,height:u,data:h},a>>o),ro({width:c,height:u,data:h},{width:c,height:u,data:i},a>>o),no({width:c,height:u,data:i},{width:c,height:u,data:h},a>>o),ro({width:c,height:u,data:h},{width:c,height:u,data:i},a>>o);var d=l(i);if(!Array.isArray(d)){var p=L(i);d=O(0,p,d),(d=w(0,Math.floor(p/d)*d,d)).shift()}return eo().thresholds(d).size([c,u])(i).map(f)}function f(t){return t.value*=Math.pow(2,-2*o),t.coordinates.forEach(d),t}function d(t){t.forEach(p)}function p(t){t.forEach(g)}function g(t){t[0]=t[0]*Math.pow(2,o)-s,t[1]=t[1]*Math.pow(2,o)-s}function y(){return c=r+2*(s=3*a)>>o,u=i+2*s>>o,h}return h.x=function(e){return arguments.length?(t="function"==typeof e?e:Xa(+e),h):t},h.y=function(t){return arguments.length?(e="function"==typeof t?t:Xa(+t),h):e},h.weight=function(t){return arguments.length?(n="function"==typeof t?t:Xa(+t),h):n},h.size=function(t){if(!arguments.length)return[r,i];var e=Math.ceil(t[0]),n=Math.ceil(t[1]);if(!(e>=0||e>=0))throw new Error("invalid size");return r=e,i=n,y()},h.cellSize=function(t){if(!arguments.length)return 1<<o;if(!((t=+t)>=1))throw new Error("invalid cell size");return o=Math.floor(Math.log(t)/Math.LN2),y()},h.thresholds=function(t){return arguments.length?(l="function"==typeof t?t:Array.isArray(t)?Xa(Va.call(t)):Xa(t),h):l},h.bandwidth=function(t){if(!arguments.length)return Math.sqrt(a*(a+1));if(!((t=+t)>=0))throw new Error("invalid bandwidth");return a=Math.round((Math.sqrt(4*t*t+1)-1)/2),y()},h}function co(t){return function(){return t}}function uo(t,e,n,r,i,a,o,s,c,u){this.target=t,this.type=e,this.subject=n,this.identifier=r,this.active=i,this.x=a,this.y=o,this.dx=s,this.dy=c,this._=u}function lo(){return!le.ctrlKey&&!le.button}function ho(){return this.parentNode}function fo(t){return null==t?{x:le.x,y:le.y}:t}function po(){return navigator.maxTouchPoints||"ontouchstart"in this}function go(){var t,e,n,r,i=lo,a=ho,o=fo,s=po,c={},u=ft("start","drag","end"),l=0,h=0;function f(t){t.on("mousedown.drag",d).filter(s).on("touchstart.drag",y).on("touchmove.drag",m).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(){if(!r&&i.apply(this,arguments)){var o=b("mouse",a.apply(this,arguments),Bn,this,arguments);o&&(Ee(le.view).on("mousemove.drag",p,!0).on("mouseup.drag",g,!0),Se(le.view),Te(),n=!1,t=le.clientX,e=le.clientY,o("start"))}}function p(){if(Ce(),!n){var r=le.clientX-t,i=le.clientY-e;n=r*r+i*i>h}c.mouse("drag")}function g(){Ee(le.view).on("mousemove.drag mouseup.drag",null),Ae(le.view,n),Ce(),c.mouse("end")}function y(){if(i.apply(this,arguments)){var t,e,n=le.changedTouches,r=a.apply(this,arguments),o=n.length;for(t=0;t<o;++t)(e=b(n[t].identifier,r,Nn,this,arguments))&&(Te(),e("start"))}}function m(){var t,e,n=le.changedTouches,r=n.length;for(t=0;t<r;++t)(e=c[n[t].identifier])&&(Ce(),e("drag"))}function v(){var t,e,n=le.changedTouches,i=n.length;for(r&&clearTimeout(r),r=setTimeout((function(){r=null}),500),t=0;t<i;++t)(e=c[n[t].identifier])&&(Te(),e("end"))}function b(t,e,n,r,i){var a,s,h,d=n(e,t),p=u.copy();if(ye(new uo(f,"beforestart",a,t,l,d[0],d[1],0,0,p),(function(){return null!=(le.subject=a=o.apply(r,i))&&(s=a.x-d[0]||0,h=a.y-d[1]||0,!0)})))return function o(u){var g,y=d;switch(u){case"start":c[t]=o,g=l++;break;case"end":delete c[t],--l;case"drag":d=n(e,t),g=l}ye(new uo(f,u,a,t,g,d[0]+s,d[1]+h,d[0]-y[0],d[1]-y[1],p),p.apply,p,[u,r,i])}}return f.filter=function(t){return arguments.length?(i="function"==typeof t?t:co(!!t),f):i},f.container=function(t){return arguments.length?(a="function"==typeof t?t:co(t),f):a},f.subject=function(t){return arguments.length?(o="function"==typeof t?t:co(t),f):o},f.touchable=function(t){return arguments.length?(s="function"==typeof t?t:co(!!t),f):s},f.on=function(){var t=u.on.apply(u,arguments);return t===u?f:t},f.clickDistance=function(t){return arguments.length?(h=(t=+t)*t,f):Math.sqrt(h)},f}uo.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var yo={},mo={};function vo(t){return new Function("d","return {"+t.map((function(t,e){return JSON.stringify(t)+": d["+e+'] || ""'})).join(",")+"}")}function bo(t){var e=Object.create(null),n=[];return t.forEach((function(t){for(var r in t)r in e||n.push(e[r]=r)})),n}function xo(t,e){var n=t+"",r=n.length;return r<e?new Array(e-r+1).join(0)+n:n}function _o(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),r=t.getUTCSeconds(),i=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":function(t){return t<0?"-"+xo(-t,6):t>9999?"+"+xo(t,6):xo(t,4)}(t.getUTCFullYear())+"-"+xo(t.getUTCMonth()+1,2)+"-"+xo(t.getUTCDate(),2)+(i?"T"+xo(e,2)+":"+xo(n,2)+":"+xo(r,2)+"."+xo(i,3)+"Z":r?"T"+xo(e,2)+":"+xo(n,2)+":"+xo(r,2)+"Z":n||e?"T"+xo(e,2)+":"+xo(n,2)+"Z":"")}function ko(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function r(t,e){var r,i=[],a=t.length,o=0,s=0,c=a<=0,u=!1;function l(){if(c)return mo;if(u)return u=!1,yo;var e,r,i=o;if(34===t.charCodeAt(i)){for(;o++<a&&34!==t.charCodeAt(o)||34===t.charCodeAt(++o););return(e=o)>=a?c=!0:10===(r=t.charCodeAt(o++))?u=!0:13===r&&(u=!0,10===t.charCodeAt(o)&&++o),t.slice(i+1,e-1).replace(/""/g,'"')}for(;o<a;){if(10===(r=t.charCodeAt(e=o++)))u=!0;else if(13===r)u=!0,10===t.charCodeAt(o)&&++o;else if(r!==n)continue;return t.slice(i,e)}return c=!0,t.slice(i,a)}for(10===t.charCodeAt(a-1)&&--a,13===t.charCodeAt(a-1)&&--a;(r=l())!==mo;){for(var h=[];r!==yo&&r!==mo;)h.push(r),r=l();e&&null==(h=e(h,s++))||i.push(h)}return i}function i(e,n){return e.map((function(e){return n.map((function(t){return o(e[t])})).join(t)}))}function a(e){return e.map(o).join(t)}function o(t){return null==t?"":t instanceof Date?_o(t):e.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}return{parse:function(t,e){var n,i,a=r(t,(function(t,r){if(n)return n(t,r-1);i=t,n=e?function(t,e){var n=vo(t);return function(r,i){return e(n(r),i,t)}}(t,e):vo(t)}));return a.columns=i||[],a},parseRows:r,format:function(e,n){return null==n&&(n=bo(e)),[n.map(o).join(t)].concat(i(e,n)).join("\n")},formatBody:function(t,e){return null==e&&(e=bo(t)),i(t,e).join("\n")},formatRows:function(t){return t.map(a).join("\n")},formatRow:a,formatValue:o}}var wo=ko(","),Eo=wo.parse,To=wo.parseRows,Co=wo.format,So=wo.formatBody,Ao=wo.formatRows,Oo=wo.formatRow,Mo=wo.formatValue,jo=ko("\t"),Do=jo.parse,No=jo.parseRows,Bo=jo.format,Lo=jo.formatBody,Io=jo.formatRows,Ro=jo.formatRow,Fo=jo.formatValue;function Po(t){for(var e in t){var n,r,i=t[e].trim();if(i)if("true"===i)i=!0;else if("false"===i)i=!1;else if("NaN"===i)i=NaN;else if(isNaN(n=+i)){if(!(r=i.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/)))continue;zo&&r[4]&&!r[7]&&(i=i.replace(/-/g,"/").replace(/T/," ")),i=new Date(i)}else i=n;else i=null;t[e]=i}return t}var zo=new Date("2019-01-01T00:00").getHours()||new Date("2019-07-01T00:00").getHours();function Yo(t){return+t}function Uo(t){return t*t}function qo(t){return t*(2-t)}function Wo(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}var $o=function t(e){function n(t){return Math.pow(t,e)}return e=+e,n.exponent=t,n}(3),Ho=function t(e){function n(t){return 1-Math.pow(1-t,e)}return e=+e,n.exponent=t,n}(3),Vo=function t(e){function n(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}return e=+e,n.exponent=t,n}(3),Go=Math.PI,Xo=Go/2;function Zo(t){return 1==+t?1:1-Math.cos(t*Xo)}function Ko(t){return Math.sin(t*Xo)}function Qo(t){return(1-Math.cos(Go*t))/2}function Jo(t){return 1.0009775171065494*(Math.pow(2,-10*t)-.0009765625)}function ts(t){return Jo(1-+t)}function es(t){return 1-Jo(t)}function ns(t){return((t*=2)<=1?Jo(1-t):2-Jo(t-1))/2}function rs(t){return 1-Math.sqrt(1-t*t)}function is(t){return Math.sqrt(1- --t*t)}function as(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}var os=4/11,ss=7.5625;function cs(t){return 1-us(1-t)}function us(t){return(t=+t)<os?ss*t*t:t<.7272727272727273?ss*(t-=.5454545454545454)*t+.75:t<.9090909090909091?ss*(t-=.8181818181818182)*t+.9375:ss*(t-=.9545454545454546)*t+.984375}function ls(t){return((t*=2)<=1?1-us(1-t):us(t-1)+1)/2}var hs=1.70158,fs=function t(e){function n(t){return(t=+t)*t*(e*(t-1)+t)}return e=+e,n.overshoot=t,n}(hs),ds=function t(e){function n(t){return--t*t*((t+1)*e+t)+1}return e=+e,n.overshoot=t,n}(hs),ps=function t(e){function n(t){return((t*=2)<1?t*t*((e+1)*t-e):(t-=2)*t*((e+1)*t+e)+2)/2}return e=+e,n.overshoot=t,n}(hs),gs=2*Math.PI,ys=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=gs);function i(t){return e*Jo(- --t)*Math.sin((r-t)/n)}return i.amplitude=function(e){return t(e,n*gs)},i.period=function(n){return t(e,n)},i}(1,.3),ms=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=gs);function i(t){return 1-e*Jo(t=+t)*Math.sin((t+r)/n)}return i.amplitude=function(e){return t(e,n*gs)},i.period=function(n){return t(e,n)},i}(1,.3),vs=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=gs);function i(t){return((t=2*t-1)<0?e*Jo(-t)*Math.sin((r-t)/n):2-e*Jo(t)*Math.sin((r+t)/n))/2}return i.amplitude=function(e){return t(e,n*gs)},i.period=function(n){return t(e,n)},i}(1,.3);function bs(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.blob()}function xs(t,e){return fetch(t,e).then(bs)}function _s(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.arrayBuffer()}function ks(t,e){return fetch(t,e).then(_s)}function ws(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.text()}function Es(t,e){return fetch(t,e).then(ws)}function Ts(t){return function(e,n,r){return 2===arguments.length&&"function"==typeof n&&(r=n,n=void 0),Es(e,n).then((function(e){return t(e,r)}))}}function Cs(t,e,n,r){3===arguments.length&&"function"==typeof n&&(r=n,n=void 0);var i=ko(t);return Es(e,n).then((function(t){return i.parse(t,r)}))}var Ss=Ts(Eo),As=Ts(Do);function Os(t,e){return new Promise((function(n,r){var i=new Image;for(var a in e)i[a]=e[a];i.onerror=r,i.onload=function(){n(i)},i.src=t}))}function Ms(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);if(204!==t.status&&205!==t.status)return t.json()}function js(t,e){return fetch(t,e).then(Ms)}function Ds(t){return function(e,n){return Es(e,n).then((function(e){return(new DOMParser).parseFromString(e,t)}))}}const Ns=Ds("application/xml");var Bs=Ds("text/html"),Ls=Ds("image/svg+xml");function Is(t,e){var n;function r(){var r,i,a=n.length,o=0,s=0;for(r=0;r<a;++r)o+=(i=n[r]).x,s+=i.y;for(o=o/a-t,s=s/a-e,r=0;r<a;++r)(i=n[r]).x-=o,i.y-=s}return null==t&&(t=0),null==e&&(e=0),r.initialize=function(t){n=t},r.x=function(e){return arguments.length?(t=+e,r):t},r.y=function(t){return arguments.length?(e=+t,r):e},r}function Rs(t){return function(){return t}}function Fs(){return 1e-6*(Math.random()-.5)}function Ps(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var i,a,o,s,c,u,l,h,f,d=t._root,p={data:r},g=t._x0,y=t._y0,m=t._x1,v=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((u=e>=(a=(g+m)/2))?g=a:m=a,(l=n>=(o=(y+v)/2))?y=o:v=o,i=d,!(d=d[h=l<<1|u]))return i[h]=p,t;if(s=+t._x.call(null,d.data),c=+t._y.call(null,d.data),e===s&&n===c)return p.next=d,i?i[h]=p:t._root=p,t;do{i=i?i[h]=new Array(4):t._root=new Array(4),(u=e>=(a=(g+m)/2))?g=a:m=a,(l=n>=(o=(y+v)/2))?y=o:v=o}while((h=l<<1|u)==(f=(c>=o)<<1|s>=a));return i[f]=d,i[h]=p,t}function zs(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i}function Ys(t){return t[0]}function Us(t){return t[1]}function qs(t,e,n){var r=new Ws(null==e?Ys:e,null==n?Us:n,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function Ws(t,e,n,r,i,a){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function $s(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var Hs=qs.prototype=Ws.prototype;function Vs(t){return t.x+t.vx}function Gs(t){return t.y+t.vy}function Xs(t){var e,n,r=1,i=1;function a(){for(var t,a,s,c,u,l,h,f=e.length,d=0;d<i;++d)for(a=qs(e,Vs,Gs).visitAfter(o),t=0;t<f;++t)s=e[t],l=n[s.index],h=l*l,c=s.x+s.vx,u=s.y+s.vy,a.visit(p);function p(t,e,n,i,a){var o=t.data,f=t.r,d=l+f;if(!o)return e>c+d||i<c-d||n>u+d||a<u-d;if(o.index>s.index){var p=c-o.x-o.vx,g=u-o.y-o.vy,y=p*p+g*g;y<d*d&&(0===p&&(y+=(p=Fs())*p),0===g&&(y+=(g=Fs())*g),y=(d-(y=Math.sqrt(y)))/y*r,s.vx+=(p*=y)*(d=(f*=f)/(h+f)),s.vy+=(g*=y)*d,o.vx-=p*(d=1-d),o.vy-=g*d)}}}function o(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function s(){if(e){var r,i,a=e.length;for(n=new Array(a),r=0;r<a;++r)i=e[r],n[i.index]=+t(i,r,e)}}return"function"!=typeof t&&(t=Rs(null==t?1:+t)),a.initialize=function(t){e=t,s()},a.iterations=function(t){return arguments.length?(i=+t,a):i},a.strength=function(t){return arguments.length?(r=+t,a):r},a.radius=function(e){return arguments.length?(t="function"==typeof e?e:Rs(+e),s(),a):t},a}function Zs(t){return t.index}function Ks(t,e){var n=t.get(e);if(!n)throw new Error("missing: "+e);return n}function Qs(t){var e,n,r,i,a,o=Zs,s=function(t){return 1/Math.min(i[t.source.index],i[t.target.index])},c=Rs(30),u=1;function l(r){for(var i=0,o=t.length;i<u;++i)for(var s,c,l,h,f,d,p,g=0;g<o;++g)c=(s=t[g]).source,h=(l=s.target).x+l.vx-c.x-c.vx||Fs(),f=l.y+l.vy-c.y-c.vy||Fs(),h*=d=((d=Math.sqrt(h*h+f*f))-n[g])/d*r*e[g],f*=d,l.vx-=h*(p=a[g]),l.vy-=f*p,c.vx+=h*(p=1-p),c.vy+=f*p}function h(){if(r){var s,c,u=r.length,l=t.length,h=ra(r,o);for(s=0,i=new Array(u);s<l;++s)(c=t[s]).index=s,"object"!=typeof c.source&&(c.source=Ks(h,c.source)),"object"!=typeof c.target&&(c.target=Ks(h,c.target)),i[c.source.index]=(i[c.source.index]||0)+1,i[c.target.index]=(i[c.target.index]||0)+1;for(s=0,a=new Array(l);s<l;++s)c=t[s],a[s]=i[c.source.index]/(i[c.source.index]+i[c.target.index]);e=new Array(l),f(),n=new Array(l),d()}}function f(){if(r)for(var n=0,i=t.length;n<i;++n)e[n]=+s(t[n],n,t)}function d(){if(r)for(var e=0,i=t.length;e<i;++e)n[e]=+c(t[e],e,t)}return null==t&&(t=[]),l.initialize=function(t){r=t,h()},l.links=function(e){return arguments.length?(t=e,h(),l):t},l.id=function(t){return arguments.length?(o=t,l):o},l.iterations=function(t){return arguments.length?(u=+t,l):u},l.strength=function(t){return arguments.length?(s="function"==typeof t?t:Rs(+t),f(),l):s},l.distance=function(t){return arguments.length?(c="function"==typeof t?t:Rs(+t),d(),l):c},l}function Js(t){return t.x}function tc(t){return t.y}Hs.copy=function(){var t,e,n=new Ws(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=$s(r),n;for(t=[{source:r,target:n._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=new Array(4)}):r.target[i]=$s(e));return n},Hs.add=function(t){var e=+this._x.call(null,t),n=+this._y.call(null,t);return Ps(this.cover(e,n),e,n,t)},Hs.addAll=function(t){var e,n,r,i,a=t.length,o=new Array(a),s=new Array(a),c=1/0,u=1/0,l=-1/0,h=-1/0;for(n=0;n<a;++n)isNaN(r=+this._x.call(null,e=t[n]))||isNaN(i=+this._y.call(null,e))||(o[n]=r,s[n]=i,r<c&&(c=r),r>l&&(l=r),i<u&&(u=i),i>h&&(h=i));if(c>l||u>h)return this;for(this.cover(c,u).cover(l,h),n=0;n<a;++n)Ps(this,o[n],s[n],t[n]);return this},Hs.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n))i=(n=Math.floor(t))+1,a=(r=Math.floor(e))+1;else{for(var o,s,c=i-n,u=this._root;n>t||t>=i||r>e||e>=a;)switch(s=(e<r)<<1|t<n,(o=new Array(4))[s]=u,u=o,c*=2,s){case 0:i=n+c,a=r+c;break;case 1:n=i-c,a=r+c;break;case 2:i=n+c,r=a-c;break;case 3:n=i-c,r=a-c}this._root&&this._root.length&&(this._root=u)}return this._x0=n,this._y0=r,this._x1=i,this._y1=a,this},Hs.data=function(){var t=[];return this.visit((function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)})),t},Hs.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},Hs.find=function(t,e,n){var r,i,a,o,s,c,u,l=this._x0,h=this._y0,f=this._x1,d=this._y1,p=[],g=this._root;for(g&&p.push(new zs(g,l,h,f,d)),null==n?n=1/0:(l=t-n,h=e-n,f=t+n,d=e+n,n*=n);c=p.pop();)if(!(!(g=c.node)||(i=c.x0)>f||(a=c.y0)>d||(o=c.x1)<l||(s=c.y1)<h))if(g.length){var y=(i+o)/2,m=(a+s)/2;p.push(new zs(g[3],y,m,o,s),new zs(g[2],i,m,y,s),new zs(g[1],y,a,o,m),new zs(g[0],i,a,y,m)),(u=(e>=m)<<1|t>=y)&&(c=p[p.length-1],p[p.length-1]=p[p.length-1-u],p[p.length-1-u]=c)}else{var v=t-+this._x.call(null,g.data),b=e-+this._y.call(null,g.data),x=v*v+b*b;if(x<n){var _=Math.sqrt(n=x);l=t-_,h=e-_,f=t+_,d=e+_,r=g.data}}return r},Hs.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,n,r,i,a,o,s,c,u,l,h,f,d=this._root,p=this._x0,g=this._y0,y=this._x1,m=this._y1;if(!d)return this;if(d.length)for(;;){if((u=a>=(s=(p+y)/2))?p=s:y=s,(l=o>=(c=(g+m)/2))?g=c:m=c,e=d,!(d=d[h=l<<1|u]))return this;if(!d.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(n=e,f=h)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):e?(i?e[h]=i:delete e[h],(d=e[0]||e[1]||e[2]||e[3])&&d===(e[3]||e[2]||e[1]||e[0])&&!d.length&&(n?n[f]=d:this._root=d),this):(this._root=i,this)},Hs.removeAll=function(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this},Hs.root=function(){return this._root},Hs.size=function(){var t=0;return this.visit((function(e){if(!e.length)do{++t}while(e=e.next)})),t},Hs.visit=function(t){var e,n,r,i,a,o,s=[],c=this._root;for(c&&s.push(new zs(c,this._x0,this._y0,this._x1,this._y1));e=s.pop();)if(!t(c=e.node,r=e.x0,i=e.y0,a=e.x1,o=e.y1)&&c.length){var u=(r+a)/2,l=(i+o)/2;(n=c[3])&&s.push(new zs(n,u,l,a,o)),(n=c[2])&&s.push(new zs(n,r,l,u,o)),(n=c[1])&&s.push(new zs(n,u,i,a,l)),(n=c[0])&&s.push(new zs(n,r,i,u,l))}return this},Hs.visitAfter=function(t){var e,n=[],r=[];for(this._root&&n.push(new zs(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var i=e.node;if(i.length){var a,o=e.x0,s=e.y0,c=e.x1,u=e.y1,l=(o+c)/2,h=(s+u)/2;(a=i[0])&&n.push(new zs(a,o,s,l,h)),(a=i[1])&&n.push(new zs(a,l,s,c,h)),(a=i[2])&&n.push(new zs(a,o,h,l,u)),(a=i[3])&&n.push(new zs(a,l,h,c,u))}r.push(e)}for(;e=r.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},Hs.x=function(t){return arguments.length?(this._x=t,this):this._x},Hs.y=function(t){return arguments.length?(this._y=t,this):this._y};var ec=Math.PI*(3-Math.sqrt(5));function nc(t){var e,n=1,r=.001,i=1-Math.pow(r,1/300),a=0,o=.6,s=ra(),c=Gn(l),u=ft("tick","end");function l(){h(),u.call("tick",e),n<r&&(c.stop(),u.call("end",e))}function h(r){var c,u,l=t.length;void 0===r&&(r=1);for(var h=0;h<r;++h)for(n+=(a-n)*i,s.each((function(t){t(n)})),c=0;c<l;++c)null==(u=t[c]).fx?u.x+=u.vx*=o:(u.x=u.fx,u.vx=0),null==u.fy?u.y+=u.vy*=o:(u.y=u.fy,u.vy=0);return e}function f(){for(var e,n=0,r=t.length;n<r;++n){if((e=t[n]).index=n,null!=e.fx&&(e.x=e.fx),null!=e.fy&&(e.y=e.fy),isNaN(e.x)||isNaN(e.y)){var i=10*Math.sqrt(n),a=n*ec;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function d(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),f(),e={tick:h,restart:function(){return c.restart(l),e},stop:function(){return c.stop(),e},nodes:function(n){return arguments.length?(t=n,f(),s.each(d),e):t},alpha:function(t){return arguments.length?(n=+t,e):n},alphaMin:function(t){return arguments.length?(r=+t,e):r},alphaDecay:function(t){return arguments.length?(i=+t,e):+i},alphaTarget:function(t){return arguments.length?(a=+t,e):a},velocityDecay:function(t){return arguments.length?(o=1-t,e):1-o},force:function(t,n){return arguments.length>1?(null==n?s.remove(t):s.set(t,d(n)),e):s.get(t)},find:function(e,n,r){var i,a,o,s,c,u=0,l=t.length;for(null==r?r=1/0:r*=r,u=0;u<l;++u)(o=(i=e-(s=t[u]).x)*i+(a=n-s.y)*a)<r&&(c=s,r=o);return c},on:function(t,n){return arguments.length>1?(u.on(t,n),e):u.on(t)}}}function rc(){var t,e,n,r,i=Rs(-30),a=1,o=1/0,s=.81;function c(r){var i,a=t.length,o=qs(t,Js,tc).visitAfter(l);for(n=r,i=0;i<a;++i)e=t[i],o.visit(h)}function u(){if(t){var e,n,a=t.length;for(r=new Array(a),e=0;e<a;++e)n=t[e],r[n.index]=+i(n,e,t)}}function l(t){var e,n,i,a,o,s=0,c=0;if(t.length){for(i=a=o=0;o<4;++o)(e=t[o])&&(n=Math.abs(e.value))&&(s+=e.value,c+=n,i+=n*e.x,a+=n*e.y);t.x=i/c,t.y=a/c}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=r[e.data.index]}while(e=e.next)}t.value=s}function h(t,i,c,u){if(!t.value)return!0;var l=t.x-e.x,h=t.y-e.y,f=u-i,d=l*l+h*h;if(f*f/s<d)return d<o&&(0===l&&(d+=(l=Fs())*l),0===h&&(d+=(h=Fs())*h),d<a&&(d=Math.sqrt(a*d)),e.vx+=l*t.value*n/d,e.vy+=h*t.value*n/d),!0;if(!(t.length||d>=o)){(t.data!==e||t.next)&&(0===l&&(d+=(l=Fs())*l),0===h&&(d+=(h=Fs())*h),d<a&&(d=Math.sqrt(a*d)));do{t.data!==e&&(f=r[t.data.index]*n/d,e.vx+=l*f,e.vy+=h*f)}while(t=t.next)}}return c.initialize=function(e){t=e,u()},c.strength=function(t){return arguments.length?(i="function"==typeof t?t:Rs(+t),u(),c):i},c.distanceMin=function(t){return arguments.length?(a=t*t,c):Math.sqrt(a)},c.distanceMax=function(t){return arguments.length?(o=t*t,c):Math.sqrt(o)},c.theta=function(t){return arguments.length?(s=t*t,c):Math.sqrt(s)},c}function ic(t,e,n){var r,i,a,o=Rs(.1);function s(t){for(var o=0,s=r.length;o<s;++o){var c=r[o],u=c.x-e||1e-6,l=c.y-n||1e-6,h=Math.sqrt(u*u+l*l),f=(a[o]-h)*i[o]*t/h;c.vx+=u*f,c.vy+=l*f}}function c(){if(r){var e,n=r.length;for(i=new Array(n),a=new Array(n),e=0;e<n;++e)a[e]=+t(r[e],e,r),i[e]=isNaN(a[e])?0:+o(r[e],e,r)}}return"function"!=typeof t&&(t=Rs(+t)),null==e&&(e=0),null==n&&(n=0),s.initialize=function(t){r=t,c()},s.strength=function(t){return arguments.length?(o="function"==typeof t?t:Rs(+t),c(),s):o},s.radius=function(e){return arguments.length?(t="function"==typeof e?e:Rs(+e),c(),s):t},s.x=function(t){return arguments.length?(e=+t,s):e},s.y=function(t){return arguments.length?(n=+t,s):n},s}function ac(t){var e,n,r,i=Rs(.1);function a(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(r[a]-i.x)*n[a]*t}function o(){if(e){var a,o=e.length;for(n=new Array(o),r=new Array(o),a=0;a<o;++a)n[a]=isNaN(r[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return"function"!=typeof t&&(t=Rs(null==t?0:+t)),a.initialize=function(t){e=t,o()},a.strength=function(t){return arguments.length?(i="function"==typeof t?t:Rs(+t),o(),a):i},a.x=function(e){return arguments.length?(t="function"==typeof e?e:Rs(+e),o(),a):t},a}function oc(t){var e,n,r,i=Rs(.1);function a(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(r[a]-i.y)*n[a]*t}function o(){if(e){var a,o=e.length;for(n=new Array(o),r=new Array(o),a=0;a<o;++a)n[a]=isNaN(r[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return"function"!=typeof t&&(t=Rs(null==t?0:+t)),a.initialize=function(t){e=t,o()},a.strength=function(t){return arguments.length?(i="function"==typeof t?t:Rs(+t),o(),a):i},a.y=function(e){return arguments.length?(t="function"==typeof e?e:Rs(+e),o(),a):t},a}function sc(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function cc(t){return(t=sc(Math.abs(t)))?t[1]:NaN}var uc,lc=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function hc(t){if(!(e=lc.exec(t)))throw new Error("invalid format: "+t);var e;return new fc({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function fc(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function dc(t,e){var n=sc(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}hc.prototype=fc.prototype,fc.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const pc={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return dc(100*t,e)},r:dc,s:function(t,e){var n=sc(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(uc=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+sc(t,Math.max(0,e+a-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function gc(t){return t}var yc,mc,vc,bc=Array.prototype.map,xc=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function _c(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?gc:(e=bc.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var i=t.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(t.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(n)}),i=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",o=void 0===t.decimal?".":t.decimal+"",s=void 0===t.numerals?gc:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(bc.call(t.numerals,String)),c=void 0===t.percent?"%":t.percent+"",u=void 0===t.minus?"-":t.minus+"",l=void 0===t.nan?"NaN":t.nan+"";function h(t){var e=(t=hc(t)).fill,n=t.align,h=t.sign,f=t.symbol,d=t.zero,p=t.width,g=t.comma,y=t.precision,m=t.trim,v=t.type;"n"===v?(g=!0,v="g"):pc[v]||(void 0===y&&(y=12),m=!0,v="g"),(d||"0"===e&&"="===n)&&(d=!0,e="0",n="=");var b="$"===f?i:"#"===f&&/[boxX]/.test(v)?"0"+v.toLowerCase():"",x="$"===f?a:/[%p]/.test(v)?c:"",_=pc[v],k=/[defgprs%]/.test(v);function w(t){var i,a,c,f=b,w=x;if("c"===v)w=_(t)+w,t="";else{var E=(t=+t)<0||1/t<0;if(t=isNaN(t)?l:_(Math.abs(t),y),m&&(t=function(t){t:for(var e,n=t.length,r=1,i=-1;r<n;++r)switch(t[r]){case".":i=e=r;break;case"0":0===i&&(i=r),e=r;break;default:if(!+t[r])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),E&&0==+t&&"+"!==h&&(E=!1),f=(E?"("===h?h:u:"-"===h||"("===h?"":h)+f,w=("s"===v?xc[8+uc/3]:"")+w+(E&&"("===h?")":""),k)for(i=-1,a=t.length;++i<a;)if(48>(c=t.charCodeAt(i))||c>57){w=(46===c?o+t.slice(i+1):t.slice(i))+w,t=t.slice(0,i);break}}g&&!d&&(t=r(t,1/0));var T=f.length+t.length+w.length,C=T<p?new Array(p-T+1).join(e):"";switch(g&&d&&(t=r(C+t,C.length?p-w.length:1/0),C=""),n){case"<":t=f+t+w+C;break;case"=":t=f+C+t+w;break;case"^":t=C.slice(0,T=C.length>>1)+f+t+w+C.slice(T);break;default:t=C+f+t+w}return s(t)}return y=void 0===y?6:/[gprs]/.test(v)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y)),w.toString=function(){return t+""},w}return{format:h,formatPrefix:function(t,e){var n=h(((t=hc(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(cc(e)/3))),i=Math.pow(10,-r),a=xc[8+r/3];return function(t){return n(i*t)+a}}}}function kc(t){return yc=_c(t),mc=yc.format,vc=yc.formatPrefix,yc}function wc(t){return Math.max(0,-cc(Math.abs(t)))}function Ec(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(cc(e)/3)))-cc(Math.abs(t)))}function Tc(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,cc(e)-cc(t))+1}function Cc(){return new Sc}function Sc(){this.reset()}kc({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),Sc.prototype={constructor:Sc,reset:function(){this.s=this.t=0},add:function(t){Oc(Ac,t,this.t),Oc(this,Ac.s,this.s),this.s?this.t+=Ac.t:this.s=Ac.t},valueOf:function(){return this.s}};var Ac=new Sc;function Oc(t,e,n){var r=t.s=e+n,i=r-e,a=r-i;t.t=e-a+(n-i)}var Mc=1e-6,jc=1e-12,Dc=Math.PI,Nc=Dc/2,Bc=Dc/4,Lc=2*Dc,Ic=180/Dc,Rc=Dc/180,Fc=Math.abs,Pc=Math.atan,zc=Math.atan2,Yc=Math.cos,Uc=Math.ceil,qc=Math.exp,Wc=(Math.floor,Math.log),$c=Math.pow,Hc=Math.sin,Vc=Math.sign||function(t){return t>0?1:t<0?-1:0},Gc=Math.sqrt,Xc=Math.tan;function Zc(t){return t>1?0:t<-1?Dc:Math.acos(t)}function Kc(t){return t>1?Nc:t<-1?-Nc:Math.asin(t)}function Qc(t){return(t=Hc(t/2))*t}function Jc(){}function tu(t,e){t&&nu.hasOwnProperty(t.type)&&nu[t.type](t,e)}var eu={Feature:function(t,e){tu(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)tu(n[r].geometry,e)}},nu={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){ru(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)ru(n[r],e,0)},Polygon:function(t,e){iu(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)iu(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)tu(n[r],e)}};function ru(t,e,n){var r,i=-1,a=t.length-n;for(e.lineStart();++i<a;)r=t[i],e.point(r[0],r[1],r[2]);e.lineEnd()}function iu(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)ru(t[n],e,1);e.polygonEnd()}function au(t,e){t&&eu.hasOwnProperty(t.type)?eu[t.type](t,e):tu(t,e)}var ou,su,cu,uu,lu,hu=Cc(),fu=Cc(),du={point:Jc,lineStart:Jc,lineEnd:Jc,polygonStart:function(){hu.reset(),du.lineStart=pu,du.lineEnd=gu},polygonEnd:function(){var t=+hu;fu.add(t<0?Lc+t:t),this.lineStart=this.lineEnd=this.point=Jc},sphere:function(){fu.add(Lc)}};function pu(){du.point=yu}function gu(){mu(ou,su)}function yu(t,e){du.point=mu,ou=t,su=e,cu=t*=Rc,uu=Yc(e=(e*=Rc)/2+Bc),lu=Hc(e)}function mu(t,e){var n=(t*=Rc)-cu,r=n>=0?1:-1,i=r*n,a=Yc(e=(e*=Rc)/2+Bc),o=Hc(e),s=lu*o,c=uu*a+s*Yc(i),u=s*r*Hc(i);hu.add(zc(u,c)),cu=t,uu=a,lu=o}function vu(t){return fu.reset(),au(t,du),2*fu}function bu(t){return[zc(t[1],t[0]),Kc(t[2])]}function xu(t){var e=t[0],n=t[1],r=Yc(n);return[r*Yc(e),r*Hc(e),Hc(n)]}function _u(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function ku(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function wu(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Eu(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Tu(t){var e=Gc(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var Cu,Su,Au,Ou,Mu,ju,Du,Nu,Bu,Lu,Iu,Ru,Fu,Pu,zu,Yu,Uu,qu,Wu,$u,Hu,Vu,Gu,Xu,Zu,Ku,Qu=Cc(),Ju={point:tl,lineStart:nl,lineEnd:rl,polygonStart:function(){Ju.point=il,Ju.lineStart=al,Ju.lineEnd=ol,Qu.reset(),du.polygonStart()},polygonEnd:function(){du.polygonEnd(),Ju.point=tl,Ju.lineStart=nl,Ju.lineEnd=rl,hu<0?(Cu=-(Au=180),Su=-(Ou=90)):Qu>Mc?Ou=90:Qu<-1e-6&&(Su=-90),Lu[0]=Cu,Lu[1]=Au},sphere:function(){Cu=-(Au=180),Su=-(Ou=90)}};function tl(t,e){Bu.push(Lu=[Cu=t,Au=t]),e<Su&&(Su=e),e>Ou&&(Ou=e)}function el(t,e){var n=xu([t*Rc,e*Rc]);if(Nu){var r=ku(Nu,n),i=ku([r[1],-r[0],0],r);Tu(i),i=bu(i);var a,o=t-Mu,s=o>0?1:-1,c=i[0]*Ic*s,u=Fc(o)>180;u^(s*Mu<c&&c<s*t)?(a=i[1]*Ic)>Ou&&(Ou=a):u^(s*Mu<(c=(c+360)%360-180)&&c<s*t)?(a=-i[1]*Ic)<Su&&(Su=a):(e<Su&&(Su=e),e>Ou&&(Ou=e)),u?t<Mu?sl(Cu,t)>sl(Cu,Au)&&(Au=t):sl(t,Au)>sl(Cu,Au)&&(Cu=t):Au>=Cu?(t<Cu&&(Cu=t),t>Au&&(Au=t)):t>Mu?sl(Cu,t)>sl(Cu,Au)&&(Au=t):sl(t,Au)>sl(Cu,Au)&&(Cu=t)}else Bu.push(Lu=[Cu=t,Au=t]);e<Su&&(Su=e),e>Ou&&(Ou=e),Nu=n,Mu=t}function nl(){Ju.point=el}function rl(){Lu[0]=Cu,Lu[1]=Au,Ju.point=tl,Nu=null}function il(t,e){if(Nu){var n=t-Mu;Qu.add(Fc(n)>180?n+(n>0?360:-360):n)}else ju=t,Du=e;du.point(t,e),el(t,e)}function al(){du.lineStart()}function ol(){il(ju,Du),du.lineEnd(),Fc(Qu)>Mc&&(Cu=-(Au=180)),Lu[0]=Cu,Lu[1]=Au,Nu=null}function sl(t,e){return(e-=t)<0?e+360:e}function cl(t,e){return t[0]-e[0]}function ul(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:e<t[0]||t[1]<e}function ll(t){var e,n,r,i,a,o,s;if(Ou=Au=-(Cu=Su=1/0),Bu=[],au(t,Ju),n=Bu.length){for(Bu.sort(cl),e=1,a=[r=Bu[0]];e<n;++e)ul(r,(i=Bu[e])[0])||ul(r,i[1])?(sl(r[0],i[1])>sl(r[0],r[1])&&(r[1]=i[1]),sl(i[0],r[1])>sl(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(o=-1/0,e=0,r=a[n=a.length-1];e<=n;r=i,++e)i=a[e],(s=sl(r[1],i[0]))>o&&(o=s,Cu=i[0],Au=r[1])}return Bu=Lu=null,Cu===1/0||Su===1/0?[[NaN,NaN],[NaN,NaN]]:[[Cu,Su],[Au,Ou]]}var hl={sphere:Jc,point:fl,lineStart:pl,lineEnd:ml,polygonStart:function(){hl.lineStart=vl,hl.lineEnd=bl},polygonEnd:function(){hl.lineStart=pl,hl.lineEnd=ml}};function fl(t,e){t*=Rc;var n=Yc(e*=Rc);dl(n*Yc(t),n*Hc(t),Hc(e))}function dl(t,e,n){++Iu,Fu+=(t-Fu)/Iu,Pu+=(e-Pu)/Iu,zu+=(n-zu)/Iu}function pl(){hl.point=gl}function gl(t,e){t*=Rc;var n=Yc(e*=Rc);Xu=n*Yc(t),Zu=n*Hc(t),Ku=Hc(e),hl.point=yl,dl(Xu,Zu,Ku)}function yl(t,e){t*=Rc;var n=Yc(e*=Rc),r=n*Yc(t),i=n*Hc(t),a=Hc(e),o=zc(Gc((o=Zu*a-Ku*i)*o+(o=Ku*r-Xu*a)*o+(o=Xu*i-Zu*r)*o),Xu*r+Zu*i+Ku*a);Ru+=o,Yu+=o*(Xu+(Xu=r)),Uu+=o*(Zu+(Zu=i)),qu+=o*(Ku+(Ku=a)),dl(Xu,Zu,Ku)}function ml(){hl.point=fl}function vl(){hl.point=xl}function bl(){_l(Vu,Gu),hl.point=fl}function xl(t,e){Vu=t,Gu=e,t*=Rc,e*=Rc,hl.point=_l;var n=Yc(e);Xu=n*Yc(t),Zu=n*Hc(t),Ku=Hc(e),dl(Xu,Zu,Ku)}function _l(t,e){t*=Rc;var n=Yc(e*=Rc),r=n*Yc(t),i=n*Hc(t),a=Hc(e),o=Zu*a-Ku*i,s=Ku*r-Xu*a,c=Xu*i-Zu*r,u=Gc(o*o+s*s+c*c),l=Kc(u),h=u&&-l/u;Wu+=h*o,$u+=h*s,Hu+=h*c,Ru+=l,Yu+=l*(Xu+(Xu=r)),Uu+=l*(Zu+(Zu=i)),qu+=l*(Ku+(Ku=a)),dl(Xu,Zu,Ku)}function kl(t){Iu=Ru=Fu=Pu=zu=Yu=Uu=qu=Wu=$u=Hu=0,au(t,hl);var e=Wu,n=$u,r=Hu,i=e*e+n*n+r*r;return i<jc&&(e=Yu,n=Uu,r=qu,Ru<Mc&&(e=Fu,n=Pu,r=zu),(i=e*e+n*n+r*r)<jc)?[NaN,NaN]:[zc(n,e)*Ic,Kc(r/Gc(i))*Ic]}function wl(t){return function(){return t}}function El(t,e){function n(n,r){return n=t(n,r),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,r){return(n=e.invert(n,r))&&t.invert(n[0],n[1])}),n}function Tl(t,e){return[Fc(t)>Dc?t+Math.round(-t/Lc)*Lc:t,e]}function Cl(t,e,n){return(t%=Lc)?e||n?El(Al(t),Ol(e,n)):Al(t):e||n?Ol(e,n):Tl}function Sl(t){return function(e,n){return[(e+=t)>Dc?e-Lc:e<-Dc?e+Lc:e,n]}}function Al(t){var e=Sl(t);return e.invert=Sl(-t),e}function Ol(t,e){var n=Yc(t),r=Hc(t),i=Yc(e),a=Hc(e);function o(t,e){var o=Yc(e),s=Yc(t)*o,c=Hc(t)*o,u=Hc(e),l=u*n+s*r;return[zc(c*i-l*a,s*n-u*r),Kc(l*i+c*a)]}return o.invert=function(t,e){var o=Yc(e),s=Yc(t)*o,c=Hc(t)*o,u=Hc(e),l=u*i-c*a;return[zc(c*i+u*a,s*n+l*r),Kc(l*n-s*r)]},o}function Ml(t){function e(e){return(e=t(e[0]*Rc,e[1]*Rc))[0]*=Ic,e[1]*=Ic,e}return t=Cl(t[0]*Rc,t[1]*Rc,t.length>2?t[2]*Rc:0),e.invert=function(e){return(e=t.invert(e[0]*Rc,e[1]*Rc))[0]*=Ic,e[1]*=Ic,e},e}function jl(t,e,n,r,i,a){if(n){var o=Yc(e),s=Hc(e),c=r*n;null==i?(i=e+r*Lc,a=e-c/2):(i=Dl(o,i),a=Dl(o,a),(r>0?i<a:i>a)&&(i+=r*Lc));for(var u,l=i;r>0?l>a:l<a;l-=c)u=bu([o,-s*Yc(l),-s*Hc(l)]),t.point(u[0],u[1])}}function Dl(t,e){(e=xu(e))[0]-=t,Tu(e);var n=Zc(-e[1]);return((-e[2]<0?-n:n)+Lc-Mc)%Lc}function Nl(){var t,e,n=wl([0,0]),r=wl(90),i=wl(6),a={point:function(n,r){t.push(n=e(n,r)),n[0]*=Ic,n[1]*=Ic}};function o(){var o=n.apply(this,arguments),s=r.apply(this,arguments)*Rc,c=i.apply(this,arguments)*Rc;return t=[],e=Cl(-o[0]*Rc,-o[1]*Rc,0).invert,jl(a,s,c,1),o={type:"Polygon",coordinates:[t]},t=e=null,o}return o.center=function(t){return arguments.length?(n="function"==typeof t?t:wl([+t[0],+t[1]]),o):n},o.radius=function(t){return arguments.length?(r="function"==typeof t?t:wl(+t),o):r},o.precision=function(t){return arguments.length?(i="function"==typeof t?t:wl(+t),o):i},o}function Bl(){var t,e=[];return{point:function(e,n,r){t.push([e,n,r])},lineStart:function(){e.push(t=[])},lineEnd:Jc,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function Ll(t,e){return Fc(t[0]-e[0])<Mc&&Fc(t[1]-e[1])<Mc}function Il(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function Rl(t,e,n,r,i){var a,o,s=[],c=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,n,r=t[0],o=t[e];if(Ll(r,o)){if(!r[2]&&!o[2]){for(i.lineStart(),a=0;a<e;++a)i.point((r=t[a])[0],r[1]);return void i.lineEnd()}o[0]+=2e-6}s.push(n=new Il(r,t,null,!0)),c.push(n.o=new Il(r,null,n,!1)),s.push(n=new Il(o,t,null,!1)),c.push(n.o=new Il(o,null,n,!0))}})),s.length){for(c.sort(e),Fl(s),Fl(c),a=0,o=c.length;a<o;++a)c[a].e=n=!n;for(var u,l,h=s[0];;){for(var f=h,d=!0;f.v;)if((f=f.n)===h)return;u=f.z,i.lineStart();do{if(f.v=f.o.v=!0,f.e){if(d)for(a=0,o=u.length;a<o;++a)i.point((l=u[a])[0],l[1]);else r(f.x,f.n.x,1,i);f=f.n}else{if(d)for(u=f.p.z,a=u.length-1;a>=0;--a)i.point((l=u[a])[0],l[1]);else r(f.x,f.p.x,-1,i);f=f.p}u=(f=f.o).z,d=!d}while(!f.v);i.lineEnd()}}}function Fl(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r<e;)i.n=n=t[r],n.p=i,i=n;i.n=n=t[0],n.p=i}}Tl.invert=Tl;var Pl=Cc();function zl(t){return Fc(t[0])<=Dc?t[0]:Vc(t[0])*((Fc(t[0])+Dc)%Lc-Dc)}function Yl(t,e){var n=zl(e),r=e[1],i=Hc(r),a=[Hc(n),-Yc(n),0],o=0,s=0;Pl.reset(),1===i?r=Nc+Mc:-1===i&&(r=-Nc-Mc);for(var c=0,u=t.length;c<u;++c)if(h=(l=t[c]).length)for(var l,h,f=l[h-1],d=zl(f),p=f[1]/2+Bc,g=Hc(p),y=Yc(p),m=0;m<h;++m,d=b,g=_,y=k,f=v){var v=l[m],b=zl(v),x=v[1]/2+Bc,_=Hc(x),k=Yc(x),w=b-d,E=w>=0?1:-1,T=E*w,C=T>Dc,S=g*_;if(Pl.add(zc(S*E*Hc(T),y*k+S*Yc(T))),o+=C?w+E*Lc:w,C^d>=n^b>=n){var A=ku(xu(f),xu(v));Tu(A);var O=ku(a,A);Tu(O);var M=(C^w>=0?-1:1)*Kc(O[2]);(r>M||r===M&&(A[0]||A[1]))&&(s+=C^w>=0?1:-1)}}return(o<-1e-6||o<Mc&&Pl<-1e-6)^1&s}function Ul(t,e,n,r){return function(i){var a,o,s,c=e(i),u=Bl(),l=e(u),h=!1,f={point:d,lineStart:g,lineEnd:y,polygonStart:function(){f.point=m,f.lineStart=v,f.lineEnd=b,o=[],a=[]},polygonEnd:function(){f.point=d,f.lineStart=g,f.lineEnd=y,o=F(o);var t=Yl(a,r);o.length?(h||(i.polygonStart(),h=!0),Rl(o,Wl,t,n,i)):t&&(h||(i.polygonStart(),h=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),h&&(i.polygonEnd(),h=!1),o=a=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function d(e,n){t(e,n)&&i.point(e,n)}function p(t,e){c.point(t,e)}function g(){f.point=p,c.lineStart()}function y(){f.point=d,c.lineEnd()}function m(t,e){s.push([t,e]),l.point(t,e)}function v(){l.lineStart(),s=[]}function b(){m(s[0][0],s[0][1]),l.lineEnd();var t,e,n,r,c=l.clean(),f=u.result(),d=f.length;if(s.pop(),a.push(s),s=null,d)if(1&c){if((e=(n=f[0]).length-1)>0){for(h||(i.polygonStart(),h=!0),i.lineStart(),t=0;t<e;++t)i.point((r=n[t])[0],r[1]);i.lineEnd()}}else d>1&&2&c&&f.push(f.pop().concat(f.shift())),o.push(f.filter(ql))}return f}}function ql(t){return t.length>1}function Wl(t,e){return((t=t.x)[0]<0?t[1]-Nc-Mc:Nc-t[1])-((e=e.x)[0]<0?e[1]-Nc-Mc:Nc-e[1])}const $l=Ul((function(){return!0}),(function(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?Dc:-Dc,c=Fc(a-n);Fc(c-Dc)<Mc?(t.point(n,r=(r+o)/2>0?Nc:-Nc),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),t.point(a,r),e=0):i!==s&&c>=Dc&&(Fc(n-i)<Mc&&(n-=i*Mc),Fc(a-s)<Mc&&(a-=s*Mc),r=function(t,e,n,r){var i,a,o=Hc(t-n);return Fc(o)>Mc?Pc((Hc(e)*(a=Yc(r))*Hc(n)-Hc(r)*(i=Yc(e))*Hc(t))/(i*a*o)):(e+r)/2}(n,r,a,o),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),e=0),t.point(n=a,r=o),i=s},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}),(function(t,e,n,r){var i;if(null==t)i=n*Nc,r.point(-Dc,i),r.point(0,i),r.point(Dc,i),r.point(Dc,0),r.point(Dc,-i),r.point(0,-i),r.point(-Dc,-i),r.point(-Dc,0),r.point(-Dc,i);else if(Fc(t[0]-e[0])>Mc){var a=t[0]<e[0]?Dc:-Dc;i=n*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(e[0],e[1])}),[-Dc,-Nc]);function Hl(t){var e=Yc(t),n=6*Rc,r=e>0,i=Fc(e)>Mc;function a(t,n){return Yc(t)*Yc(n)>e}function o(t,n,r){var i=[1,0,0],a=ku(xu(t),xu(n)),o=_u(a,a),s=a[0],c=o-s*s;if(!c)return!r&&t;var u=e*o/c,l=-e*s/c,h=ku(i,a),f=Eu(i,u);wu(f,Eu(a,l));var d=h,p=_u(f,d),g=_u(d,d),y=p*p-g*(_u(f,f)-1);if(!(y<0)){var m=Gc(y),v=Eu(d,(-p-m)/g);if(wu(v,f),v=bu(v),!r)return v;var b,x=t[0],_=n[0],k=t[1],w=n[1];_<x&&(b=x,x=_,_=b);var E=_-x,T=Fc(E-Dc)<Mc;if(!T&&w<k&&(b=k,k=w,w=b),T||E<Mc?T?k+w>0^v[1]<(Fc(v[0]-x)<Mc?k:w):k<=v[1]&&v[1]<=w:E>Dc^(x<=v[0]&&v[0]<=_)){var C=Eu(d,(-p+m)/g);return wu(C,f),[v,bu(C)]}}}function s(e,n){var i=r?t:Dc-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}return Ul(a,(function(t){var e,n,c,u,l;return{lineStart:function(){u=c=!1,l=1},point:function(h,f){var d,p=[h,f],g=a(h,f),y=r?g?0:s(h,f):g?s(h+(h<0?Dc:-Dc),f):0;if(!e&&(u=c=g)&&t.lineStart(),g!==c&&(!(d=o(e,p))||Ll(e,d)||Ll(p,d))&&(p[2]=1),g!==c)l=0,g?(t.lineStart(),d=o(p,e),t.point(d[0],d[1])):(d=o(e,p),t.point(d[0],d[1],2),t.lineEnd()),e=d;else if(i&&e&&r^g){var m;y&n||!(m=o(p,e,!0))||(l=0,r?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1],3)))}!g||e&&Ll(e,p)||t.point(p[0],p[1]),e=p,c=g,n=y},lineEnd:function(){c&&t.lineEnd(),e=null},clean:function(){return l|(u&&c)<<1}}}),(function(e,r,i,a){jl(a,t,n,i,e,r)}),r?[0,-t]:[-Dc,t-Dc])}var Vl=1e9,Gl=-Vl;function Xl(t,e,n,r){function i(i,a){return t<=i&&i<=n&&e<=a&&a<=r}function a(i,a,s,u){var l=0,h=0;if(null==i||(l=o(i,s))!==(h=o(a,s))||c(i,a)<0^s>0)do{u.point(0===l||3===l?t:n,l>1?r:e)}while((l=(l+s+4)%4)!==h);else u.point(a[0],a[1])}function o(r,i){return Fc(r[0]-t)<Mc?i>0?0:3:Fc(r[0]-n)<Mc?i>0?2:1:Fc(r[1]-e)<Mc?i>0?1:0:i>0?3:2}function s(t,e){return c(t.x,e.x)}function c(t,e){var n=o(t,1),r=o(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(o){var c,u,l,h,f,d,p,g,y,m,v,b=o,x=Bl(),_={point:k,lineStart:function(){_.point=w,u&&u.push(l=[]);m=!0,y=!1,p=g=NaN},lineEnd:function(){c&&(w(h,f),d&&y&&x.rejoin(),c.push(x.result()));_.point=k,y&&b.lineEnd()},polygonStart:function(){b=x,c=[],u=[],v=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,i=u.length;n<i;++n)for(var a,o,s=u[n],c=1,l=s.length,h=s[0],f=h[0],d=h[1];c<l;++c)a=f,o=d,f=(h=s[c])[0],d=h[1],o<=r?d>r&&(f-a)*(r-o)>(d-o)*(t-a)&&++e:d<=r&&(f-a)*(r-o)<(d-o)*(t-a)&&--e;return e}(),n=v&&e,i=(c=F(c)).length;(n||i)&&(o.polygonStart(),n&&(o.lineStart(),a(null,null,1,o),o.lineEnd()),i&&Rl(c,s,e,a,o),o.polygonEnd());b=o,c=u=l=null}};function k(t,e){i(t,e)&&b.point(t,e)}function w(a,o){var s=i(a,o);if(u&&l.push([a,o]),m)h=a,f=o,d=s,m=!1,s&&(b.lineStart(),b.point(a,o));else if(s&&y)b.point(a,o);else{var c=[p=Math.max(Gl,Math.min(Vl,p)),g=Math.max(Gl,Math.min(Vl,g))],x=[a=Math.max(Gl,Math.min(Vl,a)),o=Math.max(Gl,Math.min(Vl,o))];!function(t,e,n,r,i,a){var o,s=t[0],c=t[1],u=0,l=1,h=e[0]-s,f=e[1]-c;if(o=n-s,h||!(o>0)){if(o/=h,h<0){if(o<u)return;o<l&&(l=o)}else if(h>0){if(o>l)return;o>u&&(u=o)}if(o=i-s,h||!(o<0)){if(o/=h,h<0){if(o>l)return;o>u&&(u=o)}else if(h>0){if(o<u)return;o<l&&(l=o)}if(o=r-c,f||!(o>0)){if(o/=f,f<0){if(o<u)return;o<l&&(l=o)}else if(f>0){if(o>l)return;o>u&&(u=o)}if(o=a-c,f||!(o<0)){if(o/=f,f<0){if(o>l)return;o>u&&(u=o)}else if(f>0){if(o<u)return;o<l&&(l=o)}return u>0&&(t[0]=s+u*h,t[1]=c+u*f),l<1&&(e[0]=s+l*h,e[1]=c+l*f),!0}}}}}(c,x,t,e,n,r)?s&&(b.lineStart(),b.point(a,o),v=!1):(y||(b.lineStart(),b.point(c[0],c[1])),b.point(x[0],x[1]),s||b.lineEnd(),v=!1)}p=a,g=o,y=s}return _}}function Zl(){var t,e,n,r=0,i=0,a=960,o=500;return n={stream:function(n){return t&&e===n?t:t=Xl(r,i,a,o)(e=n)},extent:function(s){return arguments.length?(r=+s[0][0],i=+s[0][1],a=+s[1][0],o=+s[1][1],t=e=null,n):[[r,i],[a,o]]}}}var Kl,Ql,Jl,th=Cc(),eh={sphere:Jc,point:Jc,lineStart:function(){eh.point=rh,eh.lineEnd=nh},lineEnd:Jc,polygonStart:Jc,polygonEnd:Jc};function nh(){eh.point=eh.lineEnd=Jc}function rh(t,e){Kl=t*=Rc,Ql=Hc(e*=Rc),Jl=Yc(e),eh.point=ih}function ih(t,e){t*=Rc;var n=Hc(e*=Rc),r=Yc(e),i=Fc(t-Kl),a=Yc(i),o=r*Hc(i),s=Jl*n-Ql*r*a,c=Ql*n+Jl*r*a;th.add(zc(Gc(o*o+s*s),c)),Kl=t,Ql=n,Jl=r}function ah(t){return th.reset(),au(t,eh),+th}var oh=[null,null],sh={type:"LineString",coordinates:oh};function ch(t,e){return oh[0]=t,oh[1]=e,ah(sh)}var uh={Feature:function(t,e){return hh(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)if(hh(n[r].geometry,e))return!0;return!1}},lh={Sphere:function(){return!0},Point:function(t,e){return fh(t.coordinates,e)},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(fh(n[r],e))return!0;return!1},LineString:function(t,e){return dh(t.coordinates,e)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(dh(n[r],e))return!0;return!1},Polygon:function(t,e){return ph(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(ph(n[r],e))return!0;return!1},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)if(hh(n[r],e))return!0;return!1}};function hh(t,e){return!(!t||!lh.hasOwnProperty(t.type))&&lh[t.type](t,e)}function fh(t,e){return 0===ch(t,e)}function dh(t,e){for(var n,r,i,a=0,o=t.length;a<o;a++){if(0===(r=ch(t[a],e)))return!0;if(a>0&&(i=ch(t[a],t[a-1]))>0&&n<=i&&r<=i&&(n+r-i)*(1-Math.pow((n-r)/i,2))<jc*i)return!0;n=r}return!1}function ph(t,e){return!!Yl(t.map(gh),yh(e))}function gh(t){return(t=t.map(yh)).pop(),t}function yh(t){return[t[0]*Rc,t[1]*Rc]}function mh(t,e){return(t&&uh.hasOwnProperty(t.type)?uh[t.type]:hh)(t,e)}function vh(t,e,n){var r=w(t,e-Mc,n).concat(e);return function(t){return r.map((function(e){return[t,e]}))}}function bh(t,e,n){var r=w(t,e-Mc,n).concat(e);return function(t){return r.map((function(e){return[e,t]}))}}function xh(){var t,e,n,r,i,a,o,s,c,u,l,h,f=10,d=f,p=90,g=360,y=2.5;function m(){return{type:"MultiLineString",coordinates:v()}}function v(){return w(Uc(r/p)*p,n,p).map(l).concat(w(Uc(s/g)*g,o,g).map(h)).concat(w(Uc(e/f)*f,t,f).filter((function(t){return Fc(t%p)>Mc})).map(c)).concat(w(Uc(a/d)*d,i,d).filter((function(t){return Fc(t%g)>Mc})).map(u))}return m.lines=function(){return v().map((function(t){return{type:"LineString",coordinates:t}}))},m.outline=function(){return{type:"Polygon",coordinates:[l(r).concat(h(o).slice(1),l(n).reverse().slice(1),h(s).reverse().slice(1))]}},m.extent=function(t){return arguments.length?m.extentMajor(t).extentMinor(t):m.extentMinor()},m.extentMajor=function(t){return arguments.length?(r=+t[0][0],n=+t[1][0],s=+t[0][1],o=+t[1][1],r>n&&(t=r,r=n,n=t),s>o&&(t=s,s=o,o=t),m.precision(y)):[[r,s],[n,o]]},m.extentMinor=function(n){return arguments.length?(e=+n[0][0],t=+n[1][0],a=+n[0][1],i=+n[1][1],e>t&&(n=e,e=t,t=n),a>i&&(n=a,a=i,i=n),m.precision(y)):[[e,a],[t,i]]},m.step=function(t){return arguments.length?m.stepMajor(t).stepMinor(t):m.stepMinor()},m.stepMajor=function(t){return arguments.length?(p=+t[0],g=+t[1],m):[p,g]},m.stepMinor=function(t){return arguments.length?(f=+t[0],d=+t[1],m):[f,d]},m.precision=function(f){return arguments.length?(y=+f,c=vh(a,i,90),u=bh(e,t,y),l=vh(s,o,90),h=bh(r,n,y),m):y},m.extentMajor([[-180,-89.999999],[180,89.999999]]).extentMinor([[-180,-80.000001],[180,80.000001]])}function _h(){return xh()()}function kh(t,e){var n=t[0]*Rc,r=t[1]*Rc,i=e[0]*Rc,a=e[1]*Rc,o=Yc(r),s=Hc(r),c=Yc(a),u=Hc(a),l=o*Yc(n),h=o*Hc(n),f=c*Yc(i),d=c*Hc(i),p=2*Kc(Gc(Qc(a-r)+o*c*Qc(i-n))),g=Hc(p),y=p?function(t){var e=Hc(t*=p)/g,n=Hc(p-t)/g,r=n*l+e*f,i=n*h+e*d,a=n*s+e*u;return[zc(i,r)*Ic,zc(a,Gc(r*r+i*i))*Ic]}:function(){return[n*Ic,r*Ic]};return y.distance=p,y}function wh(t){return t}var Eh,Th,Ch,Sh,Ah=Cc(),Oh=Cc(),Mh={point:Jc,lineStart:Jc,lineEnd:Jc,polygonStart:function(){Mh.lineStart=jh,Mh.lineEnd=Bh},polygonEnd:function(){Mh.lineStart=Mh.lineEnd=Mh.point=Jc,Ah.add(Fc(Oh)),Oh.reset()},result:function(){var t=Ah/2;return Ah.reset(),t}};function jh(){Mh.point=Dh}function Dh(t,e){Mh.point=Nh,Eh=Ch=t,Th=Sh=e}function Nh(t,e){Oh.add(Sh*t-Ch*e),Ch=t,Sh=e}function Bh(){Nh(Eh,Th)}const Lh=Mh;var Ih=1/0,Rh=Ih,Fh=-Ih,Ph=Fh,zh={point:function(t,e){t<Ih&&(Ih=t);t>Fh&&(Fh=t);e<Rh&&(Rh=e);e>Ph&&(Ph=e)},lineStart:Jc,lineEnd:Jc,polygonStart:Jc,polygonEnd:Jc,result:function(){var t=[[Ih,Rh],[Fh,Ph]];return Fh=Ph=-(Rh=Ih=1/0),t}};const Yh=zh;var Uh,qh,Wh,$h,Hh=0,Vh=0,Gh=0,Xh=0,Zh=0,Kh=0,Qh=0,Jh=0,tf=0,ef={point:nf,lineStart:rf,lineEnd:sf,polygonStart:function(){ef.lineStart=cf,ef.lineEnd=uf},polygonEnd:function(){ef.point=nf,ef.lineStart=rf,ef.lineEnd=sf},result:function(){var t=tf?[Qh/tf,Jh/tf]:Kh?[Xh/Kh,Zh/Kh]:Gh?[Hh/Gh,Vh/Gh]:[NaN,NaN];return Hh=Vh=Gh=Xh=Zh=Kh=Qh=Jh=tf=0,t}};function nf(t,e){Hh+=t,Vh+=e,++Gh}function rf(){ef.point=af}function af(t,e){ef.point=of,nf(Wh=t,$h=e)}function of(t,e){var n=t-Wh,r=e-$h,i=Gc(n*n+r*r);Xh+=i*(Wh+t)/2,Zh+=i*($h+e)/2,Kh+=i,nf(Wh=t,$h=e)}function sf(){ef.point=nf}function cf(){ef.point=lf}function uf(){hf(Uh,qh)}function lf(t,e){ef.point=hf,nf(Uh=Wh=t,qh=$h=e)}function hf(t,e){var n=t-Wh,r=e-$h,i=Gc(n*n+r*r);Xh+=i*(Wh+t)/2,Zh+=i*($h+e)/2,Kh+=i,Qh+=(i=$h*t-Wh*e)*(Wh+t),Jh+=i*($h+e),tf+=3*i,nf(Wh=t,$h=e)}const ff=ef;function df(t){this._context=t}df.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,Lc)}},result:Jc};var pf,gf,yf,mf,vf,bf=Cc(),xf={point:Jc,lineStart:function(){xf.point=_f},lineEnd:function(){pf&&kf(gf,yf),xf.point=Jc},polygonStart:function(){pf=!0},polygonEnd:function(){pf=null},result:function(){var t=+bf;return bf.reset(),t}};function _f(t,e){xf.point=kf,gf=mf=t,yf=vf=e}function kf(t,e){mf-=t,vf-=e,bf.add(Gc(mf*mf+vf*vf)),mf=t,vf=e}const wf=xf;function Ef(){this._string=[]}function Tf(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Cf(t,e){var n,r,i=4.5;function a(t){return t&&("function"==typeof i&&r.pointRadius(+i.apply(this,arguments)),au(t,n(r))),r.result()}return a.area=function(t){return au(t,n(Lh)),Lh.result()},a.measure=function(t){return au(t,n(wf)),wf.result()},a.bounds=function(t){return au(t,n(Yh)),Yh.result()},a.centroid=function(t){return au(t,n(ff)),ff.result()},a.projection=function(e){return arguments.length?(n=null==e?(t=null,wh):(t=e).stream,a):t},a.context=function(t){return arguments.length?(r=null==t?(e=null,new Ef):new df(e=t),"function"!=typeof i&&r.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(r.pointRadius(+t),+t),a):i},a.projection(t).context(e)}function Sf(t){return{stream:Af(t)}}function Af(t){return function(e){var n=new Of;for(var r in t)n[r]=t[r];return n.stream=e,n}}function Of(){}function Mf(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),au(n,t.stream(Yh)),e(Yh.result()),null!=r&&t.clipExtent(r),t}function jf(t,e,n){return Mf(t,(function(n){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],a=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),o=+e[0][0]+(r-a*(n[1][0]+n[0][0]))/2,s=+e[0][1]+(i-a*(n[1][1]+n[0][1]))/2;t.scale(150*a).translate([o,s])}),n)}function Df(t,e,n){return jf(t,[[0,0],e],n)}function Nf(t,e,n){return Mf(t,(function(n){var r=+e,i=r/(n[1][0]-n[0][0]),a=(r-i*(n[1][0]+n[0][0]))/2,o=-i*n[0][1];t.scale(150*i).translate([a,o])}),n)}function Bf(t,e,n){return Mf(t,(function(n){var r=+e,i=r/(n[1][1]-n[0][1]),a=-i*n[0][0],o=(r-i*(n[1][1]+n[0][1]))/2;t.scale(150*i).translate([a,o])}),n)}Ef.prototype={_radius:4.5,_circle:Tf(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Tf(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}},Of.prototype={constructor:Of,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var Lf=Yc(30*Rc);function If(t,e){return+e?function(t,e){function n(r,i,a,o,s,c,u,l,h,f,d,p,g,y){var m=u-r,v=l-i,b=m*m+v*v;if(b>4*e&&g--){var x=o+f,_=s+d,k=c+p,w=Gc(x*x+_*_+k*k),E=Kc(k/=w),T=Fc(Fc(k)-1)<Mc||Fc(a-h)<Mc?(a+h)/2:zc(_,x),C=t(T,E),S=C[0],A=C[1],O=S-r,M=A-i,j=v*O-m*M;(j*j/b>e||Fc((m*O+v*M)/b-.5)>.3||o*f+s*d+c*p<Lf)&&(n(r,i,a,o,s,c,S,A,T,x/=w,_/=w,k,g,y),y.point(S,A),n(S,A,T,x,_,k,u,l,h,f,d,p,g,y))}}return function(e){var r,i,a,o,s,c,u,l,h,f,d,p,g={point:y,lineStart:m,lineEnd:b,polygonStart:function(){e.polygonStart(),g.lineStart=x},polygonEnd:function(){e.polygonEnd(),g.lineStart=m}};function y(n,r){n=t(n,r),e.point(n[0],n[1])}function m(){l=NaN,g.point=v,e.lineStart()}function v(r,i){var a=xu([r,i]),o=t(r,i);n(l,h,u,f,d,p,l=o[0],h=o[1],u=r,f=a[0],d=a[1],p=a[2],16,e),e.point(l,h)}function b(){g.point=y,e.lineEnd()}function x(){m(),g.point=_,g.lineEnd=k}function _(t,e){v(r=t,e),i=l,a=h,o=f,s=d,c=p,g.point=v}function k(){n(l,h,u,f,d,p,i,a,r,o,s,c,16,e),g.lineEnd=b,b()}return g}}(t,e):function(t){return Af({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}(t)}var Rf=Af({point:function(t,e){this.stream.point(t*Rc,e*Rc)}});function Ff(t,e,n,r,i){function a(a,o){return[e+t*(a*=r),n-t*(o*=i)]}return a.invert=function(a,o){return[(a-e)/t*r,(n-o)/t*i]},a}function Pf(t,e,n,r,i,a){var o=Yc(a),s=Hc(a),c=o*t,u=s*t,l=o/t,h=s/t,f=(s*n-o*e)/t,d=(s*e+o*n)/t;function p(t,a){return[c*(t*=r)-u*(a*=i)+e,n-u*t-c*a]}return p.invert=function(t,e){return[r*(l*t-h*e+f),i*(d-h*t-l*e)]},p}function zf(t){return Yf((function(){return t}))()}function Yf(t){var e,n,r,i,a,o,s,c,u,l,h=150,f=480,d=250,p=0,g=0,y=0,m=0,v=0,b=0,x=1,_=1,k=null,w=$l,E=null,T=wh,C=.5;function S(t){return c(t[0]*Rc,t[1]*Rc)}function A(t){return(t=c.invert(t[0],t[1]))&&[t[0]*Ic,t[1]*Ic]}function O(){var t=Pf(h,0,0,x,_,b).apply(null,e(p,g)),r=(b?Pf:Ff)(h,f-t[0],d-t[1],x,_,b);return n=Cl(y,m,v),s=El(e,r),c=El(n,s),o=If(s,C),M()}function M(){return u=l=null,S}return S.stream=function(t){return u&&l===t?u:u=Rf(function(t){return Af({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}})}(n)(w(o(T(l=t)))))},S.preclip=function(t){return arguments.length?(w=t,k=void 0,M()):w},S.postclip=function(t){return arguments.length?(T=t,E=r=i=a=null,M()):T},S.clipAngle=function(t){return arguments.length?(w=+t?Hl(k=t*Rc):(k=null,$l),M()):k*Ic},S.clipExtent=function(t){return arguments.length?(T=null==t?(E=r=i=a=null,wh):Xl(E=+t[0][0],r=+t[0][1],i=+t[1][0],a=+t[1][1]),M()):null==E?null:[[E,r],[i,a]]},S.scale=function(t){return arguments.length?(h=+t,O()):h},S.translate=function(t){return arguments.length?(f=+t[0],d=+t[1],O()):[f,d]},S.center=function(t){return arguments.length?(p=t[0]%360*Rc,g=t[1]%360*Rc,O()):[p*Ic,g*Ic]},S.rotate=function(t){return arguments.length?(y=t[0]%360*Rc,m=t[1]%360*Rc,v=t.length>2?t[2]%360*Rc:0,O()):[y*Ic,m*Ic,v*Ic]},S.angle=function(t){return arguments.length?(b=t%360*Rc,O()):b*Ic},S.reflectX=function(t){return arguments.length?(x=t?-1:1,O()):x<0},S.reflectY=function(t){return arguments.length?(_=t?-1:1,O()):_<0},S.precision=function(t){return arguments.length?(o=If(s,C=t*t),M()):Gc(C)},S.fitExtent=function(t,e){return jf(S,t,e)},S.fitSize=function(t,e){return Df(S,t,e)},S.fitWidth=function(t,e){return Nf(S,t,e)},S.fitHeight=function(t,e){return Bf(S,t,e)},function(){return e=t.apply(this,arguments),S.invert=e.invert&&A,O()}}function Uf(t){var e=0,n=Dc/3,r=Yf(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*Rc,n=t[1]*Rc):[e*Ic,n*Ic]},i}function qf(t,e){var n=Hc(t),r=(n+Hc(e))/2;if(Fc(r)<Mc)return function(t){var e=Yc(t);function n(t,n){return[t*e,Hc(n)/e]}return n.invert=function(t,n){return[t/e,Kc(n*e)]},n}(t);var i=1+n*(2*r-n),a=Gc(i)/r;function o(t,e){var n=Gc(i-2*r*Hc(e))/r;return[n*Hc(t*=r),a-n*Yc(t)]}return o.invert=function(t,e){var n=a-e,o=zc(t,Fc(n))*Vc(n);return n*r<0&&(o-=Dc*Vc(t)*Vc(n)),[o/r,Kc((i-(t*t+n*n)*r*r)/(2*r))]},o}function Wf(){return Uf(qf).scale(155.424).center([0,33.6442])}function $f(){return Wf().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Hf(){var t,e,n,r,i,a,o=$f(),s=Wf().rotate([154,0]).center([-2,58.5]).parallels([55,65]),c=Wf().rotate([157,0]).center([-3,19.9]).parallels([8,18]),u={point:function(t,e){a=[t,e]}};function l(t){var e=t[0],o=t[1];return a=null,n.point(e,o),a||(r.point(e,o),a)||(i.point(e,o),a)}function h(){return t=e=null,l}return l.invert=function(t){var e=o.scale(),n=o.translate(),r=(t[0]-n[0])/e,i=(t[1]-n[1])/e;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?s:i>=.166&&i<.234&&r>=-.214&&r<-.115?c:o).invert(t)},l.stream=function(n){return t&&e===n?t:(r=[o.stream(e=n),s.stream(n),c.stream(n)],i=r.length,t={point:function(t,e){for(var n=-1;++n<i;)r[n].point(t,e)},sphere:function(){for(var t=-1;++t<i;)r[t].sphere()},lineStart:function(){for(var t=-1;++t<i;)r[t].lineStart()},lineEnd:function(){for(var t=-1;++t<i;)r[t].lineEnd()},polygonStart:function(){for(var t=-1;++t<i;)r[t].polygonStart()},polygonEnd:function(){for(var t=-1;++t<i;)r[t].polygonEnd()}});var r,i},l.precision=function(t){return arguments.length?(o.precision(t),s.precision(t),c.precision(t),h()):o.precision()},l.scale=function(t){return arguments.length?(o.scale(t),s.scale(.35*t),c.scale(t),l.translate(o.translate())):o.scale()},l.translate=function(t){if(!arguments.length)return o.translate();var e=o.scale(),a=+t[0],l=+t[1];return n=o.translate(t).clipExtent([[a-.455*e,l-.238*e],[a+.455*e,l+.238*e]]).stream(u),r=s.translate([a-.307*e,l+.201*e]).clipExtent([[a-.425*e+Mc,l+.12*e+Mc],[a-.214*e-Mc,l+.234*e-Mc]]).stream(u),i=c.translate([a-.205*e,l+.212*e]).clipExtent([[a-.214*e+Mc,l+.166*e+Mc],[a-.115*e-Mc,l+.234*e-Mc]]).stream(u),h()},l.fitExtent=function(t,e){return jf(l,t,e)},l.fitSize=function(t,e){return Df(l,t,e)},l.fitWidth=function(t,e){return Nf(l,t,e)},l.fitHeight=function(t,e){return Bf(l,t,e)},l.scale(1070)}function Vf(t){return function(e,n){var r=Yc(e),i=Yc(n),a=t(r*i);return[a*i*Hc(e),a*Hc(n)]}}function Gf(t){return function(e,n){var r=Gc(e*e+n*n),i=t(r),a=Hc(i),o=Yc(i);return[zc(e*a,r*o),Kc(r&&n*a/r)]}}var Xf=Vf((function(t){return Gc(2/(1+t))}));function Zf(){return zf(Xf).scale(124.75).clipAngle(179.999)}Xf.invert=Gf((function(t){return 2*Kc(t/2)}));var Kf=Vf((function(t){return(t=Zc(t))&&t/Hc(t)}));function Qf(){return zf(Kf).scale(79.4188).clipAngle(179.999)}function Jf(t,e){return[t,Wc(Xc((Nc+e)/2))]}function td(){return ed(Jf).scale(961/Lc)}function ed(t){var e,n,r,i=zf(t),a=i.center,o=i.scale,s=i.translate,c=i.clipExtent,u=null;function l(){var a=Dc*o(),s=i(Ml(i.rotate()).invert([0,0]));return c(null==u?[[s[0]-a,s[1]-a],[s[0]+a,s[1]+a]]:t===Jf?[[Math.max(s[0]-a,u),e],[Math.min(s[0]+a,n),r]]:[[u,Math.max(s[1]-a,e)],[n,Math.min(s[1]+a,r)]])}return i.scale=function(t){return arguments.length?(o(t),l()):o()},i.translate=function(t){return arguments.length?(s(t),l()):s()},i.center=function(t){return arguments.length?(a(t),l()):a()},i.clipExtent=function(t){return arguments.length?(null==t?u=e=n=r=null:(u=+t[0][0],e=+t[0][1],n=+t[1][0],r=+t[1][1]),l()):null==u?null:[[u,e],[n,r]]},l()}function nd(t){return Xc((Nc+t)/2)}function rd(t,e){var n=Yc(t),r=t===e?Hc(t):Wc(n/Yc(e))/Wc(nd(e)/nd(t)),i=n*$c(nd(t),r)/r;if(!r)return Jf;function a(t,e){i>0?e<-Nc+Mc&&(e=-Nc+Mc):e>Nc-Mc&&(e=Nc-Mc);var n=i/$c(nd(e),r);return[n*Hc(r*t),i-n*Yc(r*t)]}return a.invert=function(t,e){var n=i-e,a=Vc(r)*Gc(t*t+n*n),o=zc(t,Fc(n))*Vc(n);return n*r<0&&(o-=Dc*Vc(t)*Vc(n)),[o/r,2*Pc($c(i/a,1/r))-Nc]},a}function id(){return Uf(rd).scale(109.5).parallels([30,30])}function ad(t,e){return[t,e]}function od(){return zf(ad).scale(152.63)}function sd(t,e){var n=Yc(t),r=t===e?Hc(t):(n-Yc(e))/(e-t),i=n/r+t;if(Fc(r)<Mc)return ad;function a(t,e){var n=i-e,a=r*t;return[n*Hc(a),i-n*Yc(a)]}return a.invert=function(t,e){var n=i-e,a=zc(t,Fc(n))*Vc(n);return n*r<0&&(a-=Dc*Vc(t)*Vc(n)),[a/r,i-Vc(r)*Gc(t*t+n*n)]},a}function cd(){return Uf(sd).scale(131.154).center([0,13.9389])}Kf.invert=Gf((function(t){return t})),Jf.invert=function(t,e){return[t,2*Pc(qc(e))-Nc]},ad.invert=ad;var ud=1.340264,ld=-.081106,hd=893e-6,fd=.003796,dd=Gc(3)/2;function pd(t,e){var n=Kc(dd*Hc(e)),r=n*n,i=r*r*r;return[t*Yc(n)/(dd*(ud+3*ld*r+i*(7*hd+9*fd*r))),n*(ud+ld*r+i*(hd+fd*r))]}function gd(){return zf(pd).scale(177.158)}function yd(t,e){var n=Yc(e),r=Yc(t)*n;return[n*Hc(t)/r,Hc(e)/r]}function md(){return zf(yd).scale(144.049).clipAngle(60)}function vd(){var t,e,n,r,i,a,o,s=1,c=0,u=0,l=1,h=1,f=0,d=null,p=1,g=1,y=Af({point:function(t,e){var n=b([t,e]);this.stream.point(n[0],n[1])}}),m=wh;function v(){return p=s*l,g=s*h,a=o=null,b}function b(n){var r=n[0]*p,i=n[1]*g;if(f){var a=i*t-r*e;r=r*t+i*e,i=a}return[r+c,i+u]}return b.invert=function(n){var r=n[0]-c,i=n[1]-u;if(f){var a=i*t+r*e;r=r*t-i*e,i=a}return[r/p,i/g]},b.stream=function(t){return a&&o===t?a:a=y(m(o=t))},b.postclip=function(t){return arguments.length?(m=t,d=n=r=i=null,v()):m},b.clipExtent=function(t){return arguments.length?(m=null==t?(d=n=r=i=null,wh):Xl(d=+t[0][0],n=+t[0][1],r=+t[1][0],i=+t[1][1]),v()):null==d?null:[[d,n],[r,i]]},b.scale=function(t){return arguments.length?(s=+t,v()):s},b.translate=function(t){return arguments.length?(c=+t[0],u=+t[1],v()):[c,u]},b.angle=function(n){return arguments.length?(e=Hc(f=n%360*Rc),t=Yc(f),v()):f*Ic},b.reflectX=function(t){return arguments.length?(l=t?-1:1,v()):l<0},b.reflectY=function(t){return arguments.length?(h=t?-1:1,v()):h<0},b.fitExtent=function(t,e){return jf(b,t,e)},b.fitSize=function(t,e){return Df(b,t,e)},b.fitWidth=function(t,e){return Nf(b,t,e)},b.fitHeight=function(t,e){return Bf(b,t,e)},b}function bd(t,e){var n=e*e,r=n*n;return[t*(.8707-.131979*n+r*(r*(.003971*n-.001529*r)-.013791)),e*(1.007226+n*(.015085+r*(.028874*n-.044475-.005916*r)))]}function xd(){return zf(bd).scale(175.295)}function _d(t,e){return[Yc(e)*Hc(t),Hc(e)]}function kd(){return zf(_d).scale(249.5).clipAngle(90.000001)}function wd(t,e){var n=Yc(e),r=1+Yc(t)*n;return[n*Hc(t)/r,Hc(e)/r]}function Ed(){return zf(wd).scale(250).clipAngle(142)}function Td(t,e){return[Wc(Xc((Nc+e)/2)),-t]}function Cd(){var t=ed(Td),e=t.center,n=t.rotate;return t.center=function(t){return arguments.length?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return arguments.length?n([t[0],t[1],t.length>2?t[2]+90:90]):[(t=n())[0],t[1],t[2]-90]},n([0,0,90]).scale(159.155)}function Sd(t,e){return t.parent===e.parent?1:2}function Ad(t,e){return t+e.x}function Od(t,e){return Math.max(t,e.y)}function Md(){var t=Sd,e=1,n=1,r=!1;function i(i){var a,o=0;i.eachAfter((function(e){var n=e.children;n?(e.x=function(t){return t.reduce(Ad,0)/t.length}(n),e.y=function(t){return 1+t.reduce(Od,0)}(n)):(e.x=a?o+=t(e,a):0,e.y=0,a=e)}));var s=function(t){for(var e;e=t.children;)t=e[0];return t}(i),c=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(i),u=s.x-t(s,c)/2,l=c.x+t(c,s)/2;return i.eachAfter(r?function(t){t.x=(t.x-i.x)*e,t.y=(i.y-t.y)*n}:function(t){t.x=(t.x-u)/(l-u)*e,t.y=(1-(i.y?t.y/i.y:1))*n})}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i}function jd(t){var e=0,n=t.children,r=n&&n.length;if(r)for(;--r>=0;)e+=n[r].value;else e=1;t.value=e}function Dd(t,e){var n,r,i,a,o,s=new Id(t),c=+t.value&&(s.value=t.value),u=[s];for(null==e&&(e=Nd);n=u.pop();)if(c&&(n.value=+n.data.value),(i=e(n.data))&&(o=i.length))for(n.children=new Array(o),a=o-1;a>=0;--a)u.push(r=n.children[a]=new Id(i[a])),r.parent=n,r.depth=n.depth+1;return s.eachBefore(Ld)}function Nd(t){return t.children}function Bd(t){t.data=t.data.data}function Ld(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function Id(t){this.data=t,this.depth=this.height=0,this.parent=null}pd.invert=function(t,e){for(var n,r=e,i=r*r,a=i*i*i,o=0;o<12&&(a=(i=(r-=n=(r*(ud+ld*i+a*(hd+fd*i))-e)/(ud+3*ld*i+a*(7*hd+9*fd*i)))*r)*i*i,!(Fc(n)<jc));++o);return[dd*t*(ud+3*ld*i+a*(7*hd+9*fd*i))/Yc(r),Kc(Hc(r)/dd)]},yd.invert=Gf(Pc),bd.invert=function(t,e){var n,r=e,i=25;do{var a=r*r,o=a*a;r-=n=(r*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Fc(n)>Mc&&--i>0);return[t/(.8707+(a=r*r)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),r]},_d.invert=Gf(Kc),wd.invert=Gf((function(t){return 2*Pc(t)})),Td.invert=function(t,e){return[-e,2*Pc(qc(t))-Nc]},Id.prototype=Dd.prototype={constructor:Id,count:function(){return this.eachAfter(jd)},each:function(t){var e,n,r,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),n=a.children)for(r=0,i=n.length;r<i;++r)o.push(n[r])}while(o.length);return this},eachAfter:function(t){for(var e,n,r,i=this,a=[i],o=[];i=a.pop();)if(o.push(i),e=i.children)for(n=0,r=e.length;n<r;++n)a.push(e[n]);for(;i=o.pop();)t(i);return this},eachBefore:function(t){for(var e,n,r=this,i=[r];r=i.pop();)if(t(r),e=r.children)for(n=e.length-1;n>=0;--n)i.push(e[n]);return this},sum:function(t){return this.eachAfter((function(e){for(var n=+t(e.data)||0,r=e.children,i=r&&r.length;--i>=0;)n+=r[i].value;e.value=n}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),i=null;t=n.pop(),e=r.pop();for(;t===e;)i=t,t=n.pop(),e=r.pop();return i}(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var i=r.length;t!==n;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(n){n!==t&&e.push({source:n.parent,target:n})})),e},copy:function(){return Dd(this).eachBefore(Bd)}};var Rd=Array.prototype.slice;function Fd(t){for(var e,n,r=0,i=(t=function(t){for(var e,n,r=t.length;r;)n=Math.random()*r--|0,e=t[r],t[r]=t[n],t[n]=e;return t}(Rd.call(t))).length,a=[];r<i;)e=t[r],n&&Yd(n,e)?++r:(n=qd(a=Pd(a,e)),r=0);return n}function Pd(t,e){var n,r;if(Ud(e,t))return[e];for(n=0;n<t.length;++n)if(zd(e,t[n])&&Ud(Wd(t[n],e),t))return[t[n],e];for(n=0;n<t.length-1;++n)for(r=n+1;r<t.length;++r)if(zd(Wd(t[n],t[r]),e)&&zd(Wd(t[n],e),t[r])&&zd(Wd(t[r],e),t[n])&&Ud($d(t[n],t[r],e),t))return[t[n],t[r],e];throw new Error}function zd(t,e){var n=t.r-e.r,r=e.x-t.x,i=e.y-t.y;return n<0||n*n<r*r+i*i}function Yd(t,e){var n=t.r-e.r+1e-6,r=e.x-t.x,i=e.y-t.y;return n>0&&n*n>r*r+i*i}function Ud(t,e){for(var n=0;n<e.length;++n)if(!Yd(t,e[n]))return!1;return!0}function qd(t){switch(t.length){case 1:return function(t){return{x:t.x,y:t.y,r:t.r}}(t[0]);case 2:return Wd(t[0],t[1]);case 3:return $d(t[0],t[1],t[2])}}function Wd(t,e){var n=t.x,r=t.y,i=t.r,a=e.x,o=e.y,s=e.r,c=a-n,u=o-r,l=s-i,h=Math.sqrt(c*c+u*u);return{x:(n+a+c/h*l)/2,y:(r+o+u/h*l)/2,r:(h+i+s)/2}}function $d(t,e,n){var r=t.x,i=t.y,a=t.r,o=e.x,s=e.y,c=e.r,u=n.x,l=n.y,h=n.r,f=r-o,d=r-u,p=i-s,g=i-l,y=c-a,m=h-a,v=r*r+i*i-a*a,b=v-o*o-s*s+c*c,x=v-u*u-l*l+h*h,_=d*p-f*g,k=(p*x-g*b)/(2*_)-r,w=(g*y-p*m)/_,E=(d*b-f*x)/(2*_)-i,T=(f*m-d*y)/_,C=w*w+T*T-1,S=2*(a+k*w+E*T),A=k*k+E*E-a*a,O=-(C?(S+Math.sqrt(S*S-4*C*A))/(2*C):A/S);return{x:r+k+w*O,y:i+E+T*O,r:O}}function Hd(t,e,n){var r,i,a,o,s=t.x-e.x,c=t.y-e.y,u=s*s+c*c;u?(i=e.r+n.r,i*=i,o=t.r+n.r,i>(o*=o)?(r=(u+o-i)/(2*u),a=Math.sqrt(Math.max(0,o/u-r*r)),n.x=t.x-r*s-a*c,n.y=t.y-r*c+a*s):(r=(u+i-o)/(2*u),a=Math.sqrt(Math.max(0,i/u-r*r)),n.x=e.x+r*s-a*c,n.y=e.y+r*c+a*s)):(n.x=e.x+n.r,n.y=e.y)}function Vd(t,e){var n=t.r+e.r-1e-6,r=e.x-t.x,i=e.y-t.y;return n>0&&n*n>r*r+i*i}function Gd(t){var e=t._,n=t.next._,r=e.r+n.r,i=(e.x*n.r+n.x*e.r)/r,a=(e.y*n.r+n.y*e.r)/r;return i*i+a*a}function Xd(t){this._=t,this.next=null,this.previous=null}function Zd(t){if(!(i=t.length))return 0;var e,n,r,i,a,o,s,c,u,l,h;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(n=t[1],e.x=-n.r,n.x=e.r,n.y=0,!(i>2))return e.r+n.r;Hd(n,e,r=t[2]),e=new Xd(e),n=new Xd(n),r=new Xd(r),e.next=r.previous=n,n.next=e.previous=r,r.next=n.previous=e;t:for(s=3;s<i;++s){Hd(e._,n._,r=t[s]),r=new Xd(r),c=n.next,u=e.previous,l=n._.r,h=e._.r;do{if(l<=h){if(Vd(c._,r._)){n=c,e.next=n,n.previous=e,--s;continue t}l+=c._.r,c=c.next}else{if(Vd(u._,r._)){(e=u).next=n,n.previous=e,--s;continue t}h+=u._.r,u=u.previous}}while(c!==u.next);for(r.previous=e,r.next=n,e.next=n.previous=n=r,a=Gd(e);(r=r.next)!==n;)(o=Gd(r))<a&&(e=r,a=o);n=e.next}for(e=[n._],r=n;(r=r.next)!==n;)e.push(r._);for(r=Fd(e),s=0;s<i;++s)(e=t[s]).x-=r.x,e.y-=r.y;return r.r}function Kd(t){return Zd(t),t}function Qd(t){return null==t?null:Jd(t)}function Jd(t){if("function"!=typeof t)throw new Error;return t}function tp(){return 0}function ep(t){return function(){return t}}function np(t){return Math.sqrt(t.value)}function rp(){var t=null,e=1,n=1,r=tp;function i(i){return i.x=e/2,i.y=n/2,t?i.eachBefore(ip(t)).eachAfter(ap(r,.5)).eachBefore(op(1)):i.eachBefore(ip(np)).eachAfter(ap(tp,1)).eachAfter(ap(r,i.r/Math.min(e,n))).eachBefore(op(Math.min(e,n)/(2*i.r))),i}return i.radius=function(e){return arguments.length?(t=Qd(e),i):t},i.size=function(t){return arguments.length?(e=+t[0],n=+t[1],i):[e,n]},i.padding=function(t){return arguments.length?(r="function"==typeof t?t:ep(+t),i):r},i}function ip(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function ap(t,e){return function(n){if(r=n.children){var r,i,a,o=r.length,s=t(n)*e||0;if(s)for(i=0;i<o;++i)r[i].r+=s;if(a=Zd(r),s)for(i=0;i<o;++i)r[i].r-=s;n.r=a+s}}}function op(t){return function(e){var n=e.parent;e.r*=t,n&&(e.x=n.x+t*e.x,e.y=n.y+t*e.y)}}function sp(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function cp(t,e,n,r,i){for(var a,o=t.children,s=-1,c=o.length,u=t.value&&(r-e)/t.value;++s<c;)(a=o[s]).y0=n,a.y1=i,a.x0=e,a.x1=e+=a.value*u}function up(){var t=1,e=1,n=0,r=!1;function i(i){var a=i.height+1;return i.x0=i.y0=n,i.x1=t,i.y1=e/a,i.eachBefore(function(t,e){return function(r){r.children&&cp(r,r.x0,t*(r.depth+1)/e,r.x1,t*(r.depth+2)/e);var i=r.x0,a=r.y0,o=r.x1-n,s=r.y1-n;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),r.x0=i,r.y0=a,r.x1=o,r.y1=s}}(e,a)),r&&i.eachBefore(sp),i}return i.round=function(t){return arguments.length?(r=!!t,i):r},i.size=function(n){return arguments.length?(t=+n[0],e=+n[1],i):[t,e]},i.padding=function(t){return arguments.length?(n=+t,i):n},i}var lp={depth:-1},hp={};function fp(t){return t.id}function dp(t){return t.parentId}function pp(){var t=fp,e=dp;function n(n){var r,i,a,o,s,c,u,l=n.length,h=new Array(l),f={};for(i=0;i<l;++i)r=n[i],s=h[i]=new Id(r),null!=(c=t(r,i,n))&&(c+="")&&(f[u="$"+(s.id=c)]=u in f?hp:s);for(i=0;i<l;++i)if(s=h[i],null!=(c=e(n[i],i,n))&&(c+="")){if(!(o=f["$"+c]))throw new Error("missing: "+c);if(o===hp)throw new Error("ambiguous: "+c);o.children?o.children.push(s):o.children=[s],s.parent=o}else{if(a)throw new Error("multiple roots");a=s}if(!a)throw new Error("no root");if(a.parent=lp,a.eachBefore((function(t){t.depth=t.parent.depth+1,--l})).eachBefore(Ld),a.parent=null,l>0)throw new Error("cycle");return a}return n.id=function(e){return arguments.length?(t=Jd(e),n):t},n.parentId=function(t){return arguments.length?(e=Jd(t),n):e},n}function gp(t,e){return t.parent===e.parent?1:2}function yp(t){var e=t.children;return e?e[0]:t.t}function mp(t){var e=t.children;return e?e[e.length-1]:t.t}function vp(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function bp(t,e,n){return t.a.parent===e.parent?t.a:n}function xp(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function _p(){var t=gp,e=1,n=1,r=null;function i(i){var c=function(t){for(var e,n,r,i,a,o=new xp(t,0),s=[o];e=s.pop();)if(r=e._.children)for(e.children=new Array(a=r.length),i=a-1;i>=0;--i)s.push(n=e.children[i]=new xp(r[i],i)),n.parent=e;return(o.parent=new xp(null,0)).children=[o],o}(i);if(c.eachAfter(a),c.parent.m=-c.z,c.eachBefore(o),r)i.eachBefore(s);else{var u=i,l=i,h=i;i.eachBefore((function(t){t.x<u.x&&(u=t),t.x>l.x&&(l=t),t.depth>h.depth&&(h=t)}));var f=u===l?1:t(u,l)/2,d=f-u.x,p=e/(l.x+f+d),g=n/(h.depth||1);i.eachBefore((function(t){t.x=(t.x+d)*p,t.y=t.depth*g}))}return i}function a(e){var n=e.children,r=e.parent.children,i=e.i?r[e.i-1]:null;if(n){!function(t){for(var e,n=0,r=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=n,e.m+=n,n+=e.s+(r+=e.c)}(e);var a=(n[0].z+n[n.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,n,r){if(n){for(var i,a=e,o=e,s=n,c=a.parent.children[0],u=a.m,l=o.m,h=s.m,f=c.m;s=mp(s),a=yp(a),s&&a;)c=yp(c),(o=mp(o)).a=e,(i=s.z+h-a.z-u+t(s._,a._))>0&&(vp(bp(s,e,r),e,i),u+=i,l+=i),h+=s.m,u+=a.m,f+=c.m,l+=o.m;s&&!mp(o)&&(o.t=s,o.m+=h-l),a&&!yp(c)&&(c.t=a,c.m+=u-f,r=e)}return r}(e,i,e.parent.A||r[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*n}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i}function kp(t,e,n,r,i){for(var a,o=t.children,s=-1,c=o.length,u=t.value&&(i-n)/t.value;++s<c;)(a=o[s]).x0=e,a.x1=r,a.y0=n,a.y1=n+=a.value*u}xp.prototype=Object.create(Id.prototype);var wp=(1+Math.sqrt(5))/2;function Ep(t,e,n,r,i,a){for(var o,s,c,u,l,h,f,d,p,g,y,m=[],v=e.children,b=0,x=0,_=v.length,k=e.value;b<_;){c=i-n,u=a-r;do{l=v[x++].value}while(!l&&x<_);for(h=f=l,y=l*l*(g=Math.max(u/c,c/u)/(k*t)),p=Math.max(f/y,y/h);x<_;++x){if(l+=s=v[x].value,s<h&&(h=s),s>f&&(f=s),y=l*l*g,(d=Math.max(f/y,y/h))>p){l-=s;break}p=d}m.push(o={value:l,dice:c<u,children:v.slice(b,x)}),o.dice?cp(o,n,r,i,k?r+=u*l/k:a):kp(o,n,r,k?n+=c*l/k:i,a),k-=l,b=x}return m}const Tp=function t(e){function n(t,n,r,i,a){Ep(e,t,n,r,i,a)}return n.ratio=function(e){return t((e=+e)>1?e:1)},n}(wp);function Cp(){var t=Tp,e=!1,n=1,r=1,i=[0],a=tp,o=tp,s=tp,c=tp,u=tp;function l(t){return t.x0=t.y0=0,t.x1=n,t.y1=r,t.eachBefore(h),i=[0],e&&t.eachBefore(sp),t}function h(e){var n=i[e.depth],r=e.x0+n,l=e.y0+n,h=e.x1-n,f=e.y1-n;h<r&&(r=h=(r+h)/2),f<l&&(l=f=(l+f)/2),e.x0=r,e.y0=l,e.x1=h,e.y1=f,e.children&&(n=i[e.depth+1]=a(e)/2,r+=u(e)-n,l+=o(e)-n,(h-=s(e)-n)<r&&(r=h=(r+h)/2),(f-=c(e)-n)<l&&(l=f=(l+f)/2),t(e,r,l,h,f))}return l.round=function(t){return arguments.length?(e=!!t,l):e},l.size=function(t){return arguments.length?(n=+t[0],r=+t[1],l):[n,r]},l.tile=function(e){return arguments.length?(t=Jd(e),l):t},l.padding=function(t){return arguments.length?l.paddingInner(t).paddingOuter(t):l.paddingInner()},l.paddingInner=function(t){return arguments.length?(a="function"==typeof t?t:ep(+t),l):a},l.paddingOuter=function(t){return arguments.length?l.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):l.paddingTop()},l.paddingTop=function(t){return arguments.length?(o="function"==typeof t?t:ep(+t),l):o},l.paddingRight=function(t){return arguments.length?(s="function"==typeof t?t:ep(+t),l):s},l.paddingBottom=function(t){return arguments.length?(c="function"==typeof t?t:ep(+t),l):c},l.paddingLeft=function(t){return arguments.length?(u="function"==typeof t?t:ep(+t),l):u},l}function Sp(t,e,n,r,i){var a,o,s=t.children,c=s.length,u=new Array(c+1);for(u[0]=o=a=0;a<c;++a)u[a+1]=o+=s[a].value;!function t(e,n,r,i,a,o,c){if(e>=n-1){var l=s[e];return l.x0=i,l.y0=a,l.x1=o,void(l.y1=c)}var h=u[e],f=r/2+h,d=e+1,p=n-1;for(;d<p;){var g=d+p>>>1;u[g]<f?d=g+1:p=g}f-u[d-1]<u[d]-f&&e+1<d&&--d;var y=u[d]-h,m=r-y;if(o-i>c-a){var v=(i*m+o*y)/r;t(e,d,y,i,a,v,c),t(d,n,m,v,a,o,c)}else{var b=(a*m+c*y)/r;t(e,d,y,i,a,o,b),t(d,n,m,i,b,o,c)}}(0,c,t.value,e,n,r,i)}function Ap(t,e,n,r,i){(1&t.depth?kp:cp)(t,e,n,r,i)}const Op=function t(e){function n(t,n,r,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,c,u,l,h=-1,f=o.length,d=t.value;++h<f;){for(c=(s=o[h]).children,u=s.value=0,l=c.length;u<l;++u)s.value+=c[u].value;s.dice?cp(s,n,r,i,r+=(a-r)*s.value/d):kp(s,n,r,n+=(i-n)*s.value/d,a),d-=s.value}else t._squarify=o=Ep(e,t,n,r,i,a),o.ratio=e}return n.ratio=function(e){return t((e=+e)>1?e:1)},n}(wp);function Mp(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}function jp(t,e){var n=dn(+t,+e);return function(t){var e=n(t);return e-360*Math.floor(e/360)}}function Dp(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}var Np=Math.SQRT2;function Bp(t){return((t=Math.exp(t))+1/t)/2}function Lp(t,e){var n,r,i=t[0],a=t[1],o=t[2],s=e[0],c=e[1],u=e[2],l=s-i,h=c-a,f=l*l+h*h;if(f<1e-12)r=Math.log(u/o)/Np,n=function(t){return[i+t*l,a+t*h,o*Math.exp(Np*t*r)]};else{var d=Math.sqrt(f),p=(u*u-o*o+4*f)/(2*o*2*d),g=(u*u-o*o-4*f)/(2*u*2*d),y=Math.log(Math.sqrt(p*p+1)-p),m=Math.log(Math.sqrt(g*g+1)-g);r=(m-y)/Np,n=function(t){var e=t*r,n=Bp(y),s=o/(2*d)*(n*function(t){return((t=Math.exp(2*t))-1)/(t+1)}(Np*e+y)-function(t){return((t=Math.exp(t))-1/t)/2}(y));return[i+s*l,a+s*h,o*n/Bp(Np*e+y)]}}return n.duration=1e3*r,n}function Ip(t){return function(e,n){var r=t((e=an(e)).h,(n=an(n)).h),i=gn(e.s,n.s),a=gn(e.l,n.l),o=gn(e.opacity,n.opacity);return function(t){return e.h=r(t),e.s=i(t),e.l=a(t),e.opacity=o(t),e+""}}}const Rp=Ip(dn);var Fp=Ip(gn);function Pp(t,e){var n=gn((t=Ta(t)).l,(e=Ta(e)).l),r=gn(t.a,e.a),i=gn(t.b,e.b),a=gn(t.opacity,e.opacity);return function(e){return t.l=n(e),t.a=r(e),t.b=i(e),t.opacity=a(e),t+""}}function zp(t){return function(e,n){var r=t((e=Na(e)).h,(n=Na(n)).h),i=gn(e.c,n.c),a=gn(e.l,n.l),o=gn(e.opacity,n.opacity);return function(t){return e.h=r(t),e.c=i(t),e.l=a(t),e.opacity=o(t),e+""}}}const Yp=zp(dn);var Up=zp(gn);function qp(t){return function e(n){function r(e,r){var i=t((e=$a(e)).h,(r=$a(r)).h),a=gn(e.s,r.s),o=gn(e.l,r.l),s=gn(e.opacity,r.opacity);return function(t){return e.h=i(t),e.s=a(t),e.l=o(Math.pow(t,n)),e.opacity=s(t),e+""}}return n=+n,r.gamma=e,r}(1)}const Wp=qp(dn);var $p=qp(gn);function Hp(t,e){for(var n=0,r=e.length-1,i=e[0],a=new Array(r<0?0:r);n<r;)a[n]=t(i,i=e[++n]);return function(t){var e=Math.max(0,Math.min(r-1,Math.floor(t*=r)));return a[e](t-e)}}function Vp(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t(r/(e-1));return n}function Gp(t){for(var e,n=-1,r=t.length,i=t[r-1],a=0;++n<r;)e=i,i=t[n],a+=e[1]*i[0]-e[0]*i[1];return a/2}function Xp(t){for(var e,n,r=-1,i=t.length,a=0,o=0,s=t[i-1],c=0;++r<i;)e=s,s=t[r],c+=n=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*n,o+=(e[1]+s[1])*n;return[a/(c*=3),o/c]}function Zp(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])}function Kp(t,e){return t[0]-e[0]||t[1]-e[1]}function Qp(t){for(var e=t.length,n=[0,1],r=2,i=2;i<e;++i){for(;r>1&&Zp(t[n[r-2]],t[n[r-1]],t[i])<=0;)--r;n[r++]=i}return n.slice(0,r)}function Jp(t){if((n=t.length)<3)return null;var e,n,r=new Array(n),i=new Array(n);for(e=0;e<n;++e)r[e]=[+t[e][0],+t[e][1],e];for(r.sort(Kp),e=0;e<n;++e)i[e]=[r[e][0],-r[e][1]];var a=Qp(r),o=Qp(i),s=o[0]===a[0],c=o[o.length-1]===a[a.length-1],u=[];for(e=a.length-1;e>=0;--e)u.push(t[r[a[e]][2]]);for(e=+s;e<o.length-c;++e)u.push(t[r[o[e]][2]]);return u}function tg(t,e){for(var n,r,i=t.length,a=t[i-1],o=e[0],s=e[1],c=a[0],u=a[1],l=!1,h=0;h<i;++h)n=(a=t[h])[0],(r=a[1])>s!=u>s&&o<(c-n)*(s-r)/(u-r)+n&&(l=!l),c=n,u=r;return l}function eg(t){for(var e,n,r=-1,i=t.length,a=t[i-1],o=a[0],s=a[1],c=0;++r<i;)e=o,n=s,e-=o=(a=t[r])[0],n-=s=a[1],c+=Math.sqrt(e*e+n*n);return c}function ng(){return Math.random()}const rg=function t(e){function n(t,n){return t=null==t?0:+t,n=null==n?1:+n,1===arguments.length?(n=t,t=0):n-=t,function(){return e()*n+t}}return n.source=t,n}(ng),ig=function t(e){function n(t,n){var r,i;return t=null==t?0:+t,n=null==n?1:+n,function(){var a;if(null!=r)a=r,r=null;else do{r=2*e()-1,a=2*e()-1,i=r*r+a*a}while(!i||i>1);return t+n*a*Math.sqrt(-2*Math.log(i)/i)}}return n.source=t,n}(ng),ag=function t(e){function n(){var t=ig.source(e).apply(this,arguments);return function(){return Math.exp(t())}}return n.source=t,n}(ng),og=function t(e){function n(t){return function(){for(var n=0,r=0;r<t;++r)n+=e();return n}}return n.source=t,n}(ng),sg=function t(e){function n(t){var n=og.source(e)(t);return function(){return n()/t}}return n.source=t,n}(ng),cg=function t(e){function n(t){return function(){return-Math.log(1-e())/t}}return n.source=t,n}(ng);function ug(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}function lg(t,e){switch(arguments.length){case 0:break;case 1:this.interpolator(t);break;default:this.interpolator(e).domain(t)}return this}var hg=Array.prototype,fg=hg.map,dg=hg.slice,pg={name:"implicit"};function gg(){var t=ra(),e=[],n=[],r=pg;function i(i){var a=i+"",o=t.get(a);if(!o){if(r!==pg)return r;t.set(a,o=e.push(i))}return n[(o-1)%n.length]}return i.domain=function(n){if(!arguments.length)return e.slice();e=[],t=ra();for(var r,a,o=-1,s=n.length;++o<s;)t.has(a=(r=n[o])+"")||t.set(a,e.push(r));return i},i.range=function(t){return arguments.length?(n=dg.call(t),i):n.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return gg(e,n).unknown(r)},ug.apply(i,arguments),i}function yg(){var t,e,n=gg().unknown(void 0),r=n.domain,i=n.range,a=[0,1],o=!1,s=0,c=0,u=.5;function l(){var n=r().length,l=a[1]<a[0],h=a[l-0],f=a[1-l];t=(f-h)/Math.max(1,n-s+2*c),o&&(t=Math.floor(t)),h+=(f-h-t*(n-s))*u,e=t*(1-s),o&&(h=Math.round(h),e=Math.round(e));var d=w(n).map((function(e){return h+t*e}));return i(l?d.reverse():d)}return delete n.unknown,n.domain=function(t){return arguments.length?(r(t),l()):r()},n.range=function(t){return arguments.length?(a=[+t[0],+t[1]],l()):a.slice()},n.rangeRound=function(t){return a=[+t[0],+t[1]],o=!0,l()},n.bandwidth=function(){return e},n.step=function(){return t},n.round=function(t){return arguments.length?(o=!!t,l()):o},n.padding=function(t){return arguments.length?(s=Math.min(1,c=+t),l()):s},n.paddingInner=function(t){return arguments.length?(s=Math.min(1,t),l()):s},n.paddingOuter=function(t){return arguments.length?(c=+t,l()):c},n.align=function(t){return arguments.length?(u=Math.max(0,Math.min(1,t)),l()):u},n.copy=function(){return yg(r(),a).round(o).paddingInner(s).paddingOuter(c).align(u)},ug.apply(l(),arguments)}function mg(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return mg(e())},t}function vg(){return mg(yg.apply(null,arguments).paddingInner(1))}function bg(t){return+t}var xg=[0,1];function _g(t){return t}function kg(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:function(t){return function(){return t}}(isNaN(e)?NaN:.5)}function wg(t){var e,n=t[0],r=t[t.length-1];return n>r&&(e=n,n=r,r=e),function(t){return Math.max(n,Math.min(r,t))}}function Eg(t,e,n){var r=t[0],i=t[1],a=e[0],o=e[1];return i<r?(r=kg(i,r),a=n(o,a)):(r=kg(r,i),a=n(a,o)),function(t){return a(r(t))}}function Tg(t,e,n){var r=Math.min(t.length,e.length)-1,i=new Array(r),a=new Array(r),o=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<r;)i[o]=kg(t[o],t[o+1]),a[o]=n(e[o],e[o+1]);return function(e){var n=u(t,e,1,r)-1;return a[n](i[n](e))}}function Cg(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Sg(){var t,e,n,r,i,a,o=xg,s=xg,c=Mn,u=_g;function l(){return r=Math.min(o.length,s.length)>2?Tg:Eg,i=a=null,h}function h(e){return isNaN(e=+e)?n:(i||(i=r(o.map(t),s,c)))(t(u(e)))}return h.invert=function(n){return u(e((a||(a=r(s,o.map(t),Tn)))(n)))},h.domain=function(t){return arguments.length?(o=fg.call(t,bg),u===_g||(u=wg(o)),l()):o.slice()},h.range=function(t){return arguments.length?(s=dg.call(t),l()):s.slice()},h.rangeRound=function(t){return s=dg.call(t),c=Dp,l()},h.clamp=function(t){return arguments.length?(u=t?wg(o):_g,h):u!==_g},h.interpolate=function(t){return arguments.length?(c=t,l()):c},h.unknown=function(t){return arguments.length?(n=t,h):n},function(n,r){return t=n,e=r,l()}}function Ag(t,e){return Sg()(t,e)}function Og(t,e,n,r){var i,a=O(t,e,n);switch((r=hc(null==r?",f":r)).type){case"s":var o=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(i=Ec(a,o))||(r.precision=i),vc(r,o);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=Tc(a,Math.max(Math.abs(t),Math.abs(e))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=wc(a))||(r.precision=i-2*("%"===r.type))}return mc(r)}function Mg(t){var e=t.domain;return t.ticks=function(t){var n=e();return S(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return Og(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,i=e(),a=0,o=i.length-1,s=i[a],c=i[o];return c<s&&(r=s,s=c,c=r,r=a,a=o,o=r),(r=A(s,c,n))>0?r=A(s=Math.floor(s/r)*r,c=Math.ceil(c/r)*r,n):r<0&&(r=A(s=Math.ceil(s*r)/r,c=Math.floor(c*r)/r,n)),r>0?(i[a]=Math.floor(s/r)*r,i[o]=Math.ceil(c/r)*r,e(i)):r<0&&(i[a]=Math.ceil(s*r)/r,i[o]=Math.floor(c*r)/r,e(i)),t},t}function jg(){var t=Ag(_g,_g);return t.copy=function(){return Cg(t,jg())},ug.apply(t,arguments),Mg(t)}function Dg(t){var e;function n(t){return isNaN(t=+t)?e:t}return n.invert=n,n.domain=n.range=function(e){return arguments.length?(t=fg.call(e,bg),n):t.slice()},n.unknown=function(t){return arguments.length?(e=t,n):e},n.copy=function(){return Dg(t).unknown(e)},t=arguments.length?fg.call(t,bg):[0,1],Mg(n)}function Ng(t,e){var n,r=0,i=(t=t.slice()).length-1,a=t[r],o=t[i];return o<a&&(n=r,r=i,i=n,n=a,a=o,o=n),t[r]=e.floor(a),t[i]=e.ceil(o),t}function Bg(t){return Math.log(t)}function Lg(t){return Math.exp(t)}function Ig(t){return-Math.log(-t)}function Rg(t){return-Math.exp(-t)}function Fg(t){return isFinite(t)?+("1e"+t):t<0?0:t}function Pg(t){return function(e){return-t(-e)}}function zg(t){var e,n,r=t(Bg,Lg),i=r.domain,a=10;function o(){return e=function(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(e){return Math.log(e)/t})}(a),n=function(t){return 10===t?Fg:t===Math.E?Math.exp:function(e){return Math.pow(t,e)}}(a),i()[0]<0?(e=Pg(e),n=Pg(n),t(Ig,Rg)):t(Bg,Lg),r}return r.base=function(t){return arguments.length?(a=+t,o()):a},r.domain=function(t){return arguments.length?(i(t),o()):i()},r.ticks=function(t){var r,o=i(),s=o[0],c=o[o.length-1];(r=c<s)&&(f=s,s=c,c=f);var u,l,h,f=e(s),d=e(c),p=null==t?10:+t,g=[];if(!(a%1)&&d-f<p){if(f=Math.round(f)-1,d=Math.round(d)+1,s>0){for(;f<d;++f)for(l=1,u=n(f);l<a;++l)if(!((h=u*l)<s)){if(h>c)break;g.push(h)}}else for(;f<d;++f)for(l=a-1,u=n(f);l>=1;--l)if(!((h=u*l)<s)){if(h>c)break;g.push(h)}}else g=S(f,d,Math.min(d-f,p)).map(n);return r?g.reverse():g},r.tickFormat=function(t,i){if(null==i&&(i=10===a?".0e":","),"function"!=typeof i&&(i=mc(i)),t===1/0)return i;null==t&&(t=10);var o=Math.max(1,a*t/r.ticks().length);return function(t){var r=t/n(Math.round(e(t)));return r*a<a-.5&&(r*=a),r<=o?i(t):""}},r.nice=function(){return i(Ng(i(),{floor:function(t){return n(Math.floor(e(t)))},ceil:function(t){return n(Math.ceil(e(t)))}}))},r}function Yg(){var t=zg(Sg()).domain([1,10]);return t.copy=function(){return Cg(t,Yg()).base(t.base())},ug.apply(t,arguments),t}function Ug(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function qg(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function Wg(t){var e=1,n=t(Ug(e),qg(e));return n.constant=function(n){return arguments.length?t(Ug(e=+n),qg(e)):e},Mg(n)}function $g(){var t=Wg(Sg());return t.copy=function(){return Cg(t,$g()).constant(t.constant())},ug.apply(t,arguments)}function Hg(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function Vg(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function Gg(t){return t<0?-t*t:t*t}function Xg(t){var e=t(_g,_g),n=1;function r(){return 1===n?t(_g,_g):.5===n?t(Vg,Gg):t(Hg(n),Hg(1/n))}return e.exponent=function(t){return arguments.length?(n=+t,r()):n},Mg(e)}function Zg(){var t=Xg(Sg());return t.copy=function(){return Cg(t,Zg()).exponent(t.exponent())},ug.apply(t,arguments),t}function Kg(){return Zg.apply(null,arguments).exponent(.5)}function Qg(){var t,e=[],n=[],r=[];function a(){var t=0,i=Math.max(1,n.length);for(r=new Array(i-1);++t<i;)r[t-1]=D(e,t/i);return o}function o(e){return isNaN(e=+e)?t:n[u(r,e)]}return o.invertExtent=function(t){var i=n.indexOf(t);return i<0?[NaN,NaN]:[i>0?r[i-1]:e[0],i<r.length?r[i]:e[e.length-1]]},o.domain=function(t){if(!arguments.length)return e.slice();e=[];for(var n,r=0,o=t.length;r<o;++r)null==(n=t[r])||isNaN(n=+n)||e.push(n);return e.sort(i),a()},o.range=function(t){return arguments.length?(n=dg.call(t),a()):n.slice()},o.unknown=function(e){return arguments.length?(t=e,o):t},o.quantiles=function(){return r.slice()},o.copy=function(){return Qg().domain(e).range(n).unknown(t)},ug.apply(o,arguments)}function Jg(){var t,e=0,n=1,r=1,i=[.5],a=[0,1];function o(e){return e<=e?a[u(i,e,0,r)]:t}function s(){var t=-1;for(i=new Array(r);++t<r;)i[t]=((t+1)*n-(t-r)*e)/(r+1);return o}return o.domain=function(t){return arguments.length?(e=+t[0],n=+t[1],s()):[e,n]},o.range=function(t){return arguments.length?(r=(a=dg.call(t)).length-1,s()):a.slice()},o.invertExtent=function(t){var o=a.indexOf(t);return o<0?[NaN,NaN]:o<1?[e,i[0]]:o>=r?[i[r-1],n]:[i[o-1],i[o]]},o.unknown=function(e){return arguments.length?(t=e,o):o},o.thresholds=function(){return i.slice()},o.copy=function(){return Jg().domain([e,n]).range(a).unknown(t)},ug.apply(Mg(o),arguments)}function ty(){var t,e=[.5],n=[0,1],r=1;function i(i){return i<=i?n[u(e,i,0,r)]:t}return i.domain=function(t){return arguments.length?(e=dg.call(t),r=Math.min(e.length,n.length-1),i):e.slice()},i.range=function(t){return arguments.length?(n=dg.call(t),r=Math.min(e.length,n.length-1),i):n.slice()},i.invertExtent=function(t){var r=n.indexOf(t);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(t=e,i):t},i.copy=function(){return ty().domain(e).range(n).unknown(t)},ug.apply(i,arguments)}var ey=new Date,ny=new Date;function ry(t,e,n,r){function i(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return i.floor=function(e){return t(e=new Date(+e)),e},i.ceil=function(n){return t(n=new Date(n-1)),e(n,1),t(n),n},i.round=function(t){var e=i(t),n=i.ceil(t);return t-e<n-t?e:n},i.offset=function(t,n){return e(t=new Date(+t),null==n?1:Math.floor(n)),t},i.range=function(n,r,a){var o,s=[];if(n=i.ceil(n),a=null==a?1:Math.floor(a),!(n<r&&a>0))return s;do{s.push(o=new Date(+n)),e(n,a),t(n)}while(o<n&&n<r);return s},i.filter=function(n){return ry((function(e){if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););}))},n&&(i.count=function(e,r){return ey.setTime(+e),ny.setTime(+r),t(ey),t(ny),Math.floor(n(ey,ny))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(e){return r(e)%t==0}:function(e){return i.count(0,e)%t==0}):i:null}),i}var iy=ry((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));iy.every=function(t){return isFinite(t=Math.floor(t))&&t>0?ry((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,n){e.setFullYear(e.getFullYear()+n*t)})):null};const ay=iy;var oy=iy.range,sy=ry((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()}));const cy=sy;var uy=sy.range,ly=1e3,hy=6e4,fy=36e5,dy=864e5,py=6048e5;function gy(t){return ry((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*hy)/py}))}var yy=gy(0),my=gy(1),vy=gy(2),by=gy(3),xy=gy(4),_y=gy(5),ky=gy(6),wy=yy.range,Ey=my.range,Ty=vy.range,Cy=by.range,Sy=xy.range,Ay=_y.range,Oy=ky.range,My=ry((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*hy)/dy}),(function(t){return t.getDate()-1}));const jy=My;var Dy=My.range,Ny=ry((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*ly-t.getMinutes()*hy)}),(function(t,e){t.setTime(+t+e*fy)}),(function(t,e){return(e-t)/fy}),(function(t){return t.getHours()}));const By=Ny;var Ly=Ny.range,Iy=ry((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*ly)}),(function(t,e){t.setTime(+t+e*hy)}),(function(t,e){return(e-t)/hy}),(function(t){return t.getMinutes()}));const Ry=Iy;var Fy=Iy.range,Py=ry((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*ly)}),(function(t,e){return(e-t)/ly}),(function(t){return t.getUTCSeconds()}));const zy=Py;var Yy=Py.range,Uy=ry((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));Uy.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?ry((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,n){e.setTime(+e+n*t)}),(function(e,n){return(n-e)/t})):Uy:null};const qy=Uy;var Wy=Uy.range;function $y(t){return ry((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/py}))}var Hy=$y(0),Vy=$y(1),Gy=$y(2),Xy=$y(3),Zy=$y(4),Ky=$y(5),Qy=$y(6),Jy=Hy.range,tm=Vy.range,em=Gy.range,nm=Xy.range,rm=Zy.range,im=Ky.range,am=Qy.range,om=ry((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/dy}),(function(t){return t.getUTCDate()-1}));const sm=om;var cm=om.range,um=ry((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));um.every=function(t){return isFinite(t=Math.floor(t))&&t>0?ry((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null};const lm=um;var hm=um.range;function fm(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function dm(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function pm(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function gm(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,a=t.days,o=t.shortDays,s=t.months,c=t.shortMonths,u=Sm(i),l=Am(i),h=Sm(a),f=Am(a),d=Sm(o),p=Am(o),g=Sm(s),y=Am(s),m=Sm(c),v=Am(c),b={a:function(t){return o[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return s[t.getMonth()]},c:null,d:Xm,e:Xm,f:tv,g:hv,G:dv,H:Zm,I:Km,j:Qm,L:Jm,m:ev,M:nv,p:function(t){return i[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:Iv,s:Rv,S:rv,u:iv,U:av,V:sv,w:cv,W:uv,x:null,X:null,y:lv,Y:fv,Z:pv,"%":Lv},x={a:function(t){return o[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return c[t.getUTCMonth()]},B:function(t){return s[t.getUTCMonth()]},c:null,d:gv,e:gv,f:xv,g:jv,G:Nv,H:yv,I:mv,j:vv,L:bv,m:_v,M:kv,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:Iv,s:Rv,S:wv,u:Ev,U:Tv,V:Sv,w:Av,W:Ov,x:null,X:null,y:Mv,Y:Dv,Z:Bv,"%":Lv},_={a:function(t,e,n){var r=d.exec(e.slice(n));return r?(t.w=p[r[0].toLowerCase()],n+r[0].length):-1},A:function(t,e,n){var r=h.exec(e.slice(n));return r?(t.w=f[r[0].toLowerCase()],n+r[0].length):-1},b:function(t,e,n){var r=m.exec(e.slice(n));return r?(t.m=v[r[0].toLowerCase()],n+r[0].length):-1},B:function(t,e,n){var r=g.exec(e.slice(n));return r?(t.m=y[r[0].toLowerCase()],n+r[0].length):-1},c:function(t,n,r){return E(t,e,n,r)},d:Pm,e:Pm,f:$m,g:Lm,G:Bm,H:Ym,I:Ym,j:zm,L:Wm,m:Fm,M:Um,p:function(t,e,n){var r=u.exec(e.slice(n));return r?(t.p=l[r[0].toLowerCase()],n+r[0].length):-1},q:Rm,Q:Vm,s:Gm,S:qm,u:Mm,U:jm,V:Dm,w:Om,W:Nm,x:function(t,e,r){return E(t,n,e,r)},X:function(t,e,n){return E(t,r,e,n)},y:Lm,Y:Bm,Z:Im,"%":Hm};function k(t,e){return function(n){var r,i,a,o=[],s=-1,c=0,u=t.length;for(n instanceof Date||(n=new Date(+n));++s<u;)37===t.charCodeAt(s)&&(o.push(t.slice(c,s)),null!=(i=_m[r=t.charAt(++s)])?r=t.charAt(++s):i="e"===r?" ":"0",(a=e[r])&&(r=a(n,i)),o.push(r),c=s+1);return o.push(t.slice(c,s)),o.join("")}}function w(t,e){return function(n){var r,i,a=pm(1900,void 0,1);if(E(a,t,n+="",0)!=n.length)return null;if("Q"in a)return new Date(a.Q);if("s"in a)return new Date(1e3*a.s+("L"in a?a.L:0));if(e&&!("Z"in a)&&(a.Z=0),"p"in a&&(a.H=a.H%12+12*a.p),void 0===a.m&&(a.m="q"in a?a.q:0),"V"in a){if(a.V<1||a.V>53)return null;"w"in a||(a.w=1),"Z"in a?(i=(r=dm(pm(a.y,0,1))).getUTCDay(),r=i>4||0===i?Vy.ceil(r):Vy(r),r=sm.offset(r,7*(a.V-1)),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(i=(r=fm(pm(a.y,0,1))).getDay(),r=i>4||0===i?my.ceil(r):my(r),r=jy.offset(r,7*(a.V-1)),a.y=r.getFullYear(),a.m=r.getMonth(),a.d=r.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),i="Z"in a?dm(pm(a.y,0,1)).getUTCDay():fm(pm(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,dm(a)):fm(a)}}function E(t,e,n,r){for(var i,a,o=0,s=e.length,c=n.length;o<s;){if(r>=c)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=_[i in _m?e.charAt(o++):i])||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return b.x=k(n,b),b.X=k(r,b),b.c=k(e,b),x.x=k(n,x),x.X=k(r,x),x.c=k(e,x),{format:function(t){var e=k(t+="",b);return e.toString=function(){return t},e},parse:function(t){var e=w(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=k(t+="",x);return e.toString=function(){return t},e},utcParse:function(t){var e=w(t+="",!0);return e.toString=function(){return t},e}}}var ym,mm,vm,bm,xm,_m={"-":"",_:" ",0:"0"},km=/^\s*\d+/,wm=/^%/,Em=/[\\^$*+?|[\]().{}]/g;function Tm(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<n?new Array(n-a+1).join(e)+i:i)}function Cm(t){return t.replace(Em,"\\$&")}function Sm(t){return new RegExp("^(?:"+t.map(Cm).join("|")+")","i")}function Am(t){for(var e={},n=-1,r=t.length;++n<r;)e[t[n].toLowerCase()]=n;return e}function Om(t,e,n){var r=km.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Mm(t,e,n){var r=km.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function jm(t,e,n){var r=km.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Dm(t,e,n){var r=km.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Nm(t,e,n){var r=km.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Bm(t,e,n){var r=km.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Lm(t,e,n){var r=km.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Im(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Rm(t,e,n){var r=km.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function Fm(t,e,n){var r=km.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Pm(t,e,n){var r=km.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function zm(t,e,n){var r=km.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Ym(t,e,n){var r=km.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Um(t,e,n){var r=km.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function qm(t,e,n){var r=km.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Wm(t,e,n){var r=km.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function $m(t,e,n){var r=km.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Hm(t,e,n){var r=wm.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Vm(t,e,n){var r=km.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Gm(t,e,n){var r=km.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Xm(t,e){return Tm(t.getDate(),e,2)}function Zm(t,e){return Tm(t.getHours(),e,2)}function Km(t,e){return Tm(t.getHours()%12||12,e,2)}function Qm(t,e){return Tm(1+jy.count(ay(t),t),e,3)}function Jm(t,e){return Tm(t.getMilliseconds(),e,3)}function tv(t,e){return Jm(t,e)+"000"}function ev(t,e){return Tm(t.getMonth()+1,e,2)}function nv(t,e){return Tm(t.getMinutes(),e,2)}function rv(t,e){return Tm(t.getSeconds(),e,2)}function iv(t){var e=t.getDay();return 0===e?7:e}function av(t,e){return Tm(yy.count(ay(t)-1,t),e,2)}function ov(t){var e=t.getDay();return e>=4||0===e?xy(t):xy.ceil(t)}function sv(t,e){return t=ov(t),Tm(xy.count(ay(t),t)+(4===ay(t).getDay()),e,2)}function cv(t){return t.getDay()}function uv(t,e){return Tm(my.count(ay(t)-1,t),e,2)}function lv(t,e){return Tm(t.getFullYear()%100,e,2)}function hv(t,e){return Tm((t=ov(t)).getFullYear()%100,e,2)}function fv(t,e){return Tm(t.getFullYear()%1e4,e,4)}function dv(t,e){var n=t.getDay();return Tm((t=n>=4||0===n?xy(t):xy.ceil(t)).getFullYear()%1e4,e,4)}function pv(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Tm(e/60|0,"0",2)+Tm(e%60,"0",2)}function gv(t,e){return Tm(t.getUTCDate(),e,2)}function yv(t,e){return Tm(t.getUTCHours(),e,2)}function mv(t,e){return Tm(t.getUTCHours()%12||12,e,2)}function vv(t,e){return Tm(1+sm.count(lm(t),t),e,3)}function bv(t,e){return Tm(t.getUTCMilliseconds(),e,3)}function xv(t,e){return bv(t,e)+"000"}function _v(t,e){return Tm(t.getUTCMonth()+1,e,2)}function kv(t,e){return Tm(t.getUTCMinutes(),e,2)}function wv(t,e){return Tm(t.getUTCSeconds(),e,2)}function Ev(t){var e=t.getUTCDay();return 0===e?7:e}function Tv(t,e){return Tm(Hy.count(lm(t)-1,t),e,2)}function Cv(t){var e=t.getUTCDay();return e>=4||0===e?Zy(t):Zy.ceil(t)}function Sv(t,e){return t=Cv(t),Tm(Zy.count(lm(t),t)+(4===lm(t).getUTCDay()),e,2)}function Av(t){return t.getUTCDay()}function Ov(t,e){return Tm(Vy.count(lm(t)-1,t),e,2)}function Mv(t,e){return Tm(t.getUTCFullYear()%100,e,2)}function jv(t,e){return Tm((t=Cv(t)).getUTCFullYear()%100,e,2)}function Dv(t,e){return Tm(t.getUTCFullYear()%1e4,e,4)}function Nv(t,e){var n=t.getUTCDay();return Tm((t=n>=4||0===n?Zy(t):Zy.ceil(t)).getUTCFullYear()%1e4,e,4)}function Bv(){return"+0000"}function Lv(){return"%"}function Iv(t){return+t}function Rv(t){return Math.floor(+t/1e3)}function Fv(t){return ym=gm(t),mm=ym.format,vm=ym.parse,bm=ym.utcFormat,xm=ym.utcParse,ym}Fv({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var Pv=1e3,zv=6e4,Yv=36e5,Uv=864e5,qv=2592e6,Wv=31536e6;function $v(t){return new Date(t)}function Hv(t){return t instanceof Date?+t:+new Date(+t)}function Vv(t,e,n,r,i,o,s,c,u){var l=Ag(_g,_g),h=l.invert,f=l.domain,d=u(".%L"),p=u(":%S"),g=u("%I:%M"),y=u("%I %p"),m=u("%a %d"),v=u("%b %d"),b=u("%B"),x=u("%Y"),_=[[s,1,Pv],[s,5,5e3],[s,15,15e3],[s,30,3e4],[o,1,zv],[o,5,3e5],[o,15,9e5],[o,30,18e5],[i,1,Yv],[i,3,108e5],[i,6,216e5],[i,12,432e5],[r,1,Uv],[r,2,1728e5],[n,1,6048e5],[e,1,qv],[e,3,7776e6],[t,1,Wv]];function k(a){return(s(a)<a?d:o(a)<a?p:i(a)<a?g:r(a)<a?y:e(a)<a?n(a)<a?m:v:t(a)<a?b:x)(a)}function w(e,n,r,i){if(null==e&&(e=10),"number"==typeof e){var o=Math.abs(r-n)/e,s=a((function(t){return t[2]})).right(_,o);s===_.length?(i=O(n/Wv,r/Wv,e),e=t):s?(i=(s=_[o/_[s-1][2]<_[s][2]/o?s-1:s])[1],e=s[0]):(i=Math.max(O(n,r,e),1),e=c)}return null==i?e:e.every(i)}return l.invert=function(t){return new Date(h(t))},l.domain=function(t){return arguments.length?f(fg.call(t,Hv)):f().map($v)},l.ticks=function(t,e){var n,r=f(),i=r[0],a=r[r.length-1],o=a<i;return o&&(n=i,i=a,a=n),n=(n=w(t,i,a,e))?n.range(i,a+1):[],o?n.reverse():n},l.tickFormat=function(t,e){return null==e?k:u(e)},l.nice=function(t,e){var n=f();return(t=w(t,n[0],n[n.length-1],e))?f(Ng(n,t)):l},l.copy=function(){return Cg(l,Vv(t,e,n,r,i,o,s,c,u))},l}function Gv(){return ug.apply(Vv(ay,cy,yy,jy,By,Ry,zy,qy,mm).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var Xv=ry((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()}));const Zv=Xv;var Kv=Xv.range,Qv=ry((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*fy)}),(function(t,e){return(e-t)/fy}),(function(t){return t.getUTCHours()}));const Jv=Qv;var tb=Qv.range,eb=ry((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*hy)}),(function(t,e){return(e-t)/hy}),(function(t){return t.getUTCMinutes()}));const nb=eb;var rb=eb.range;function ib(){return ug.apply(Vv(lm,Zv,Hy,sm,Jv,nb,zy,qy,bm).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function ab(){var t,e,n,r,i,a=0,o=1,s=_g,c=!1;function u(e){return isNaN(e=+e)?i:s(0===n?.5:(e=(r(e)-t)*n,c?Math.max(0,Math.min(1,e)):e))}return u.domain=function(i){return arguments.length?(t=r(a=+i[0]),e=r(o=+i[1]),n=t===e?0:1/(e-t),u):[a,o]},u.clamp=function(t){return arguments.length?(c=!!t,u):c},u.interpolator=function(t){return arguments.length?(s=t,u):s},u.unknown=function(t){return arguments.length?(i=t,u):i},function(i){return r=i,t=i(a),e=i(o),n=t===e?0:1/(e-t),u}}function ob(t,e){return e.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function sb(){var t=Mg(ab()(_g));return t.copy=function(){return ob(t,sb())},lg.apply(t,arguments)}function cb(){var t=zg(ab()).domain([1,10]);return t.copy=function(){return ob(t,cb()).base(t.base())},lg.apply(t,arguments)}function ub(){var t=Wg(ab());return t.copy=function(){return ob(t,ub()).constant(t.constant())},lg.apply(t,arguments)}function lb(){var t=Xg(ab());return t.copy=function(){return ob(t,lb()).exponent(t.exponent())},lg.apply(t,arguments)}function hb(){return lb.apply(null,arguments).exponent(.5)}function fb(){var t=[],e=_g;function n(n){if(!isNaN(n=+n))return e((u(t,n)-1)/(t.length-1))}return n.domain=function(e){if(!arguments.length)return t.slice();t=[];for(var r,a=0,o=e.length;a<o;++a)null==(r=e[a])||isNaN(r=+r)||t.push(r);return t.sort(i),n},n.interpolator=function(t){return arguments.length?(e=t,n):e},n.copy=function(){return fb(e).domain(t)},lg.apply(n,arguments)}function db(){var t,e,n,r,i,a,o,s=0,c=.5,u=1,l=_g,h=!1;function f(t){return isNaN(t=+t)?o:(t=.5+((t=+a(t))-e)*(t<e?r:i),l(h?Math.max(0,Math.min(1,t)):t))}return f.domain=function(o){return arguments.length?(t=a(s=+o[0]),e=a(c=+o[1]),n=a(u=+o[2]),r=t===e?0:.5/(e-t),i=e===n?0:.5/(n-e),f):[s,c,u]},f.clamp=function(t){return arguments.length?(h=!!t,f):h},f.interpolator=function(t){return arguments.length?(l=t,f):l},f.unknown=function(t){return arguments.length?(o=t,f):o},function(o){return a=o,t=o(s),e=o(c),n=o(u),r=t===e?0:.5/(e-t),i=e===n?0:.5/(n-e),f}}function pb(){var t=Mg(db()(_g));return t.copy=function(){return ob(t,pb())},lg.apply(t,arguments)}function gb(){var t=zg(db()).domain([.1,1,10]);return t.copy=function(){return ob(t,gb()).base(t.base())},lg.apply(t,arguments)}function yb(){var t=Wg(db());return t.copy=function(){return ob(t,yb()).constant(t.constant())},lg.apply(t,arguments)}function mb(){var t=Xg(db());return t.copy=function(){return ob(t,mb()).exponent(t.exponent())},lg.apply(t,arguments)}function vb(){return mb.apply(null,arguments).exponent(.5)}function bb(t){for(var e=t.length/6|0,n=new Array(e),r=0;r<e;)n[r]="#"+t.slice(6*r,6*++r);return n}const xb=bb("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),_b=bb("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),kb=bb("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),wb=bb("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),Eb=bb("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),Tb=bb("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),Cb=bb("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),Sb=bb("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),Ab=bb("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"),Ob=bb("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function Mb(t){return vn(t[t.length-1])}var jb=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(bb);const Db=Mb(jb);var Nb=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(bb);const Bb=Mb(Nb);var Lb=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(bb);const Ib=Mb(Lb);var Rb=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(bb);const Fb=Mb(Rb);var Pb=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(bb);const zb=Mb(Pb);var Yb=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(bb);const Ub=Mb(Yb);var qb=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(bb);const Wb=Mb(qb);var $b=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(bb);const Hb=Mb($b);var Vb=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(bb);const Gb=Mb(Vb);var Xb=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(bb);const Zb=Mb(Xb);var Kb=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(bb);const Qb=Mb(Kb);var Jb=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(bb);const tx=Mb(Jb);var ex=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(bb);const nx=Mb(ex);var rx=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(bb);const ix=Mb(rx);var ax=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(bb);const ox=Mb(ax);var sx=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(bb);const cx=Mb(sx);var ux=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(bb);const lx=Mb(ux);var hx=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(bb);const fx=Mb(hx);var dx=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(bb);const px=Mb(dx);var gx=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(bb);const yx=Mb(gx);var mx=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(bb);const vx=Mb(mx);var bx=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(bb);const xx=Mb(bx);var _x=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(bb);const kx=Mb(_x);var wx=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(bb);const Ex=Mb(wx);var Tx=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(bb);const Cx=Mb(Tx);var Sx=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(bb);const Ax=Mb(Sx);var Ox=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(bb);const Mx=Mb(Ox);function jx(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-t*(35.34-t*(2381.73-t*(6402.7-t*(7024.72-2710.57*t)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+t*(170.73+t*(52.82-t*(131.46-t*(176.58-67.37*t)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+t*(442.36-t*(2482.43-t*(6167.24-t*(6614.94-2475.67*t)))))))+")"}const Dx=$p($a(300,.5,0),$a(-240,.5,1));var Nx=$p($a(-100,.75,.35),$a(80,1.5,.8)),Bx=$p($a(260,.75,.35),$a(80,1.5,.8)),Lx=$a();function Ix(t){(t<0||t>1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return Lx.h=360*t-100,Lx.s=1.5-1.5*e,Lx.l=.8-.9*e,Lx+""}var Rx=Ke(),Fx=Math.PI/3,Px=2*Math.PI/3;function zx(t){var e;return t=(.5-t)*Math.PI,Rx.r=255*(e=Math.sin(t))*e,Rx.g=255*(e=Math.sin(t+Fx))*e,Rx.b=255*(e=Math.sin(t+Px))*e,Rx+""}function Yx(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-14825.05*t)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+707.56*t)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-6838.66*t)))))))+")"}function Ux(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}const qx=Ux(bb("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var Wx=Ux(bb("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),$x=Ux(bb("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Hx=Ux(bb("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function Vx(t){return Ee(ie(t).call(document.documentElement))}var Gx=0;function Xx(){return new Zx}function Zx(){this._="@"+(++Gx).toString(36)}function Kx(t){return"string"==typeof t?new _e([document.querySelectorAll(t)],[document.documentElement]):new _e([null==t?[]:t],xe)}function Qx(t,e){null==e&&(e=jn().touches);for(var n=0,r=e?e.length:0,i=new Array(r);n<r;++n)i[n]=Dn(t,e[n]);return i}function Jx(t){return function(){return t}}Zx.prototype=Xx.prototype={constructor:Zx,get:function(t){for(var e=this._;!(e in t);)if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};var t_=Math.abs,e_=Math.atan2,n_=Math.cos,r_=Math.max,i_=Math.min,a_=Math.sin,o_=Math.sqrt,s_=1e-12,c_=Math.PI,u_=c_/2,l_=2*c_;function h_(t){return t>1?0:t<-1?c_:Math.acos(t)}function f_(t){return t>=1?u_:t<=-1?-u_:Math.asin(t)}function d_(t){return t.innerRadius}function p_(t){return t.outerRadius}function g_(t){return t.startAngle}function y_(t){return t.endAngle}function m_(t){return t&&t.padAngle}function v_(t,e,n,r,i,a,o,s){var c=n-t,u=r-e,l=o-i,h=s-a,f=h*c-l*u;if(!(f*f<s_))return[t+(f=(l*(e-a)-h*(t-i))/f)*c,e+f*u]}function b_(t,e,n,r,i,a,o){var s=t-n,c=e-r,u=(o?a:-a)/o_(s*s+c*c),l=u*c,h=-u*s,f=t+l,d=e+h,p=n+l,g=r+h,y=(f+p)/2,m=(d+g)/2,v=p-f,b=g-d,x=v*v+b*b,_=i-a,k=f*g-p*d,w=(b<0?-1:1)*o_(r_(0,_*_*x-k*k)),E=(k*b-v*w)/x,T=(-k*v-b*w)/x,C=(k*b+v*w)/x,S=(-k*v+b*w)/x,A=E-y,O=T-m,M=C-y,j=S-m;return A*A+O*O>M*M+j*j&&(E=C,T=S),{cx:E,cy:T,x01:-l,y01:-h,x11:E*(i/_-1),y11:T*(i/_-1)}}function x_(){var t=d_,e=p_,n=Jx(0),r=null,i=g_,a=y_,o=m_,s=null;function c(){var c,u,l=+t.apply(this,arguments),h=+e.apply(this,arguments),f=i.apply(this,arguments)-u_,d=a.apply(this,arguments)-u_,p=t_(d-f),g=d>f;if(s||(s=c=Vi()),h<l&&(u=h,h=l,l=u),h>s_)if(p>l_-s_)s.moveTo(h*n_(f),h*a_(f)),s.arc(0,0,h,f,d,!g),l>s_&&(s.moveTo(l*n_(d),l*a_(d)),s.arc(0,0,l,d,f,g));else{var y,m,v=f,b=d,x=f,_=d,k=p,w=p,E=o.apply(this,arguments)/2,T=E>s_&&(r?+r.apply(this,arguments):o_(l*l+h*h)),C=i_(t_(h-l)/2,+n.apply(this,arguments)),S=C,A=C;if(T>s_){var O=f_(T/l*a_(E)),M=f_(T/h*a_(E));(k-=2*O)>s_?(x+=O*=g?1:-1,_-=O):(k=0,x=_=(f+d)/2),(w-=2*M)>s_?(v+=M*=g?1:-1,b-=M):(w=0,v=b=(f+d)/2)}var j=h*n_(v),D=h*a_(v),N=l*n_(_),B=l*a_(_);if(C>s_){var L,I=h*n_(b),R=h*a_(b),F=l*n_(x),P=l*a_(x);if(p<c_&&(L=v_(j,D,F,P,I,R,N,B))){var z=j-L[0],Y=D-L[1],U=I-L[0],q=R-L[1],W=1/a_(h_((z*U+Y*q)/(o_(z*z+Y*Y)*o_(U*U+q*q)))/2),$=o_(L[0]*L[0]+L[1]*L[1]);S=i_(C,(l-$)/(W-1)),A=i_(C,(h-$)/(W+1))}}w>s_?A>s_?(y=b_(F,P,j,D,h,A,g),m=b_(I,R,N,B,h,A,g),s.moveTo(y.cx+y.x01,y.cy+y.y01),A<C?s.arc(y.cx,y.cy,A,e_(y.y01,y.x01),e_(m.y01,m.x01),!g):(s.arc(y.cx,y.cy,A,e_(y.y01,y.x01),e_(y.y11,y.x11),!g),s.arc(0,0,h,e_(y.cy+y.y11,y.cx+y.x11),e_(m.cy+m.y11,m.cx+m.x11),!g),s.arc(m.cx,m.cy,A,e_(m.y11,m.x11),e_(m.y01,m.x01),!g))):(s.moveTo(j,D),s.arc(0,0,h,v,b,!g)):s.moveTo(j,D),l>s_&&k>s_?S>s_?(y=b_(N,B,I,R,l,-S,g),m=b_(j,D,F,P,l,-S,g),s.lineTo(y.cx+y.x01,y.cy+y.y01),S<C?s.arc(y.cx,y.cy,S,e_(y.y01,y.x01),e_(m.y01,m.x01),!g):(s.arc(y.cx,y.cy,S,e_(y.y01,y.x01),e_(y.y11,y.x11),!g),s.arc(0,0,l,e_(y.cy+y.y11,y.cx+y.x11),e_(m.cy+m.y11,m.cx+m.x11),g),s.arc(m.cx,m.cy,S,e_(m.y11,m.x11),e_(m.y01,m.x01),!g))):s.arc(0,0,l,_,x,g):s.lineTo(N,B)}else s.moveTo(0,0);if(s.closePath(),c)return s=null,c+""||null}return c.centroid=function(){var n=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-c_/2;return[n_(r)*n,a_(r)*n]},c.innerRadius=function(e){return arguments.length?(t="function"==typeof e?e:Jx(+e),c):t},c.outerRadius=function(t){return arguments.length?(e="function"==typeof t?t:Jx(+t),c):e},c.cornerRadius=function(t){return arguments.length?(n="function"==typeof t?t:Jx(+t),c):n},c.padRadius=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:Jx(+t),c):r},c.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:Jx(+t),c):i},c.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:Jx(+t),c):a},c.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:Jx(+t),c):o},c.context=function(t){return arguments.length?(s=null==t?null:t,c):s},c}function __(t){this._context=t}function k_(t){return new __(t)}function w_(t){return t[0]}function E_(t){return t[1]}function T_(){var t=w_,e=E_,n=Jx(!0),r=null,i=k_,a=null;function o(o){var s,c,u,l=o.length,h=!1;for(null==r&&(a=i(u=Vi())),s=0;s<=l;++s)!(s<l&&n(c=o[s],s,o))===h&&((h=!h)?a.lineStart():a.lineEnd()),h&&a.point(+t(c,s,o),+e(c,s,o));if(u)return a=null,u+""||null}return o.x=function(e){return arguments.length?(t="function"==typeof e?e:Jx(+e),o):t},o.y=function(t){return arguments.length?(e="function"==typeof t?t:Jx(+t),o):e},o.defined=function(t){return arguments.length?(n="function"==typeof t?t:Jx(!!t),o):n},o.curve=function(t){return arguments.length?(i=t,null!=r&&(a=i(r)),o):i},o.context=function(t){return arguments.length?(null==t?r=a=null:a=i(r=t),o):r},o}function C_(){var t=w_,e=null,n=Jx(0),r=E_,i=Jx(!0),a=null,o=k_,s=null;function c(c){var u,l,h,f,d,p=c.length,g=!1,y=new Array(p),m=new Array(p);for(null==a&&(s=o(d=Vi())),u=0;u<=p;++u){if(!(u<p&&i(f=c[u],u,c))===g)if(g=!g)l=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),h=u-1;h>=l;--h)s.point(y[h],m[h]);s.lineEnd(),s.areaEnd()}g&&(y[u]=+t(f,u,c),m[u]=+n(f,u,c),s.point(e?+e(f,u,c):y[u],r?+r(f,u,c):m[u]))}if(d)return s=null,d+""||null}function u(){return T_().defined(i).curve(o).context(a)}return c.x=function(n){return arguments.length?(t="function"==typeof n?n:Jx(+n),e=null,c):t},c.x0=function(e){return arguments.length?(t="function"==typeof e?e:Jx(+e),c):t},c.x1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:Jx(+t),c):e},c.y=function(t){return arguments.length?(n="function"==typeof t?t:Jx(+t),r=null,c):n},c.y0=function(t){return arguments.length?(n="function"==typeof t?t:Jx(+t),c):n},c.y1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:Jx(+t),c):r},c.lineX0=c.lineY0=function(){return u().x(t).y(n)},c.lineY1=function(){return u().x(t).y(r)},c.lineX1=function(){return u().x(e).y(n)},c.defined=function(t){return arguments.length?(i="function"==typeof t?t:Jx(!!t),c):i},c.curve=function(t){return arguments.length?(o=t,null!=a&&(s=o(a)),c):o},c.context=function(t){return arguments.length?(null==t?a=s=null:s=o(a=t),c):a},c}function S_(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function A_(t){return t}function O_(){var t=A_,e=S_,n=null,r=Jx(0),i=Jx(l_),a=Jx(0);function o(o){var s,c,u,l,h,f=o.length,d=0,p=new Array(f),g=new Array(f),y=+r.apply(this,arguments),m=Math.min(l_,Math.max(-l_,i.apply(this,arguments)-y)),v=Math.min(Math.abs(m)/f,a.apply(this,arguments)),b=v*(m<0?-1:1);for(s=0;s<f;++s)(h=g[p[s]=s]=+t(o[s],s,o))>0&&(d+=h);for(null!=e?p.sort((function(t,n){return e(g[t],g[n])})):null!=n&&p.sort((function(t,e){return n(o[t],o[e])})),s=0,u=d?(m-f*b)/d:0;s<f;++s,y=l)c=p[s],l=y+((h=g[c])>0?h*u:0)+b,g[c]={data:o[c],index:s,value:h,startAngle:y,endAngle:l,padAngle:v};return g}return o.value=function(e){return arguments.length?(t="function"==typeof e?e:Jx(+e),o):t},o.sortValues=function(t){return arguments.length?(e=t,n=null,o):e},o.sort=function(t){return arguments.length?(n=t,e=null,o):n},o.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:Jx(+t),o):r},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:Jx(+t),o):i},o.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:Jx(+t),o):a},o}__.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var M_=D_(k_);function j_(t){this._curve=t}function D_(t){function e(e){return new j_(t(e))}return e._curve=t,e}function N_(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(D_(t)):e()._curve},t}function B_(){return N_(T_().curve(M_))}function L_(){var t=C_().curve(M_),e=t.curve,n=t.lineX0,r=t.lineX1,i=t.lineY0,a=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return N_(n())},delete t.lineX0,t.lineEndAngle=function(){return N_(r())},delete t.lineX1,t.lineInnerRadius=function(){return N_(i())},delete t.lineY0,t.lineOuterRadius=function(){return N_(a())},delete t.lineY1,t.curve=function(t){return arguments.length?e(D_(t)):e()._curve},t}function I_(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}j_.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var R_=Array.prototype.slice;function F_(t){return t.source}function P_(t){return t.target}function z_(t){var e=F_,n=P_,r=w_,i=E_,a=null;function o(){var o,s=R_.call(arguments),c=e.apply(this,s),u=n.apply(this,s);if(a||(a=o=Vi()),t(a,+r.apply(this,(s[0]=c,s)),+i.apply(this,s),+r.apply(this,(s[0]=u,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(n=t,o):n},o.x=function(t){return arguments.length?(r="function"==typeof t?t:Jx(+t),o):r},o.y=function(t){return arguments.length?(i="function"==typeof t?t:Jx(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}function Y_(t,e,n,r,i){t.moveTo(e,n),t.bezierCurveTo(e=(e+r)/2,n,e,i,r,i)}function U_(t,e,n,r,i){t.moveTo(e,n),t.bezierCurveTo(e,n=(n+i)/2,r,n,r,i)}function q_(t,e,n,r,i){var a=I_(e,n),o=I_(e,n=(n+i)/2),s=I_(r,n),c=I_(r,i);t.moveTo(a[0],a[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],c[0],c[1])}function W_(){return z_(Y_)}function $_(){return z_(U_)}function H_(){var t=z_(q_);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}const V_={draw:function(t,e){var n=Math.sqrt(e/c_);t.moveTo(n,0),t.arc(0,0,n,0,l_)}},G_={draw:function(t,e){var n=Math.sqrt(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}};var X_=Math.sqrt(1/3),Z_=2*X_;const K_={draw:function(t,e){var n=Math.sqrt(e/Z_),r=n*X_;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}};var Q_=Math.sin(c_/10)/Math.sin(7*c_/10),J_=Math.sin(l_/10)*Q_,tk=-Math.cos(l_/10)*Q_;const ek={draw:function(t,e){var n=Math.sqrt(.8908130915292852*e),r=J_*n,i=tk*n;t.moveTo(0,-n),t.lineTo(r,i);for(var a=1;a<5;++a){var o=l_*a/5,s=Math.cos(o),c=Math.sin(o);t.lineTo(c*n,-s*n),t.lineTo(s*r-c*i,c*r+s*i)}t.closePath()}},nk={draw:function(t,e){var n=Math.sqrt(e),r=-n/2;t.rect(r,r,n,n)}};var rk=Math.sqrt(3);const ik={draw:function(t,e){var n=-Math.sqrt(e/(3*rk));t.moveTo(0,2*n),t.lineTo(-rk*n,-n),t.lineTo(rk*n,-n),t.closePath()}};var ak=-.5,ok=Math.sqrt(3)/2,sk=1/Math.sqrt(12),ck=3*(sk/2+1);const uk={draw:function(t,e){var n=Math.sqrt(e/ck),r=n/2,i=n*sk,a=r,o=n*sk+n,s=-a,c=o;t.moveTo(r,i),t.lineTo(a,o),t.lineTo(s,c),t.lineTo(ak*r-ok*i,ok*r+ak*i),t.lineTo(ak*a-ok*o,ok*a+ak*o),t.lineTo(ak*s-ok*c,ok*s+ak*c),t.lineTo(ak*r+ok*i,ak*i-ok*r),t.lineTo(ak*a+ok*o,ak*o-ok*a),t.lineTo(ak*s+ok*c,ak*c-ok*s),t.closePath()}};var lk=[V_,G_,K_,nk,ek,ik,uk];function hk(){var t=Jx(V_),e=Jx(64),n=null;function r(){var r;if(n||(n=r=Vi()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),r)return n=null,r+""||null}return r.type=function(e){return arguments.length?(t="function"==typeof e?e:Jx(e),r):t},r.size=function(t){return arguments.length?(e="function"==typeof t?t:Jx(+t),r):e},r.context=function(t){return arguments.length?(n=null==t?null:t,r):n},r}function fk(){}function dk(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function pk(t){this._context=t}function gk(t){return new pk(t)}function yk(t){this._context=t}function mk(t){return new yk(t)}function vk(t){this._context=t}function bk(t){return new vk(t)}function xk(t,e){this._basis=new pk(t),this._beta=e}pk.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:dk(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:dk(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},yk.prototype={areaStart:fk,areaEnd:fk,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:dk(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},vk.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:dk(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},xk.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r,i=t[0],a=e[0],o=t[n]-i,s=e[n]-a,c=-1;++c<=n;)r=c/n,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*o),this._beta*e[c]+(1-this._beta)*(a+r*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const _k=function t(e){function n(t){return 1===e?new pk(t):new xk(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function kk(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function wk(t,e){this._context=t,this._k=(1-e)/6}wk.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:kk(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:kk(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Ek=function t(e){function n(t){return new wk(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Tk(t,e){this._context=t,this._k=(1-e)/6}Tk.prototype={areaStart:fk,areaEnd:fk,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:kk(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Ck=function t(e){function n(t){return new Tk(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Sk(t,e){this._context=t,this._k=(1-e)/6}Sk.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:kk(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Ak=function t(e){function n(t){return new Sk(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Ok(t,e,n){var r=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>s_){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>s_){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/l,o=(o*u+t._y1*t._l23_2a-n*t._l12_2a)/l}t._context.bezierCurveTo(r,i,a,o,t._x2,t._y2)}function Mk(t,e){this._context=t,this._alpha=e}Mk.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Ok(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const jk=function t(e){function n(t){return e?new Mk(t,e):new wk(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function Dk(t,e){this._context=t,this._alpha=e}Dk.prototype={areaStart:fk,areaEnd:fk,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Ok(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Nk=function t(e){function n(t){return e?new Dk(t,e):new Tk(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function Bk(t,e){this._context=t,this._alpha=e}Bk.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ok(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Lk=function t(e){function n(t){return e?new Bk(t,e):new Sk(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function Ik(t){this._context=t}function Rk(t){return new Ik(t)}function Fk(t){return t<0?-1:1}function Pk(t,e,n){var r=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(r||i<0&&-0),o=(n-t._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(Fk(a)+Fk(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function zk(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Yk(t,e,n){var r=t._x0,i=t._y0,a=t._x1,o=t._y1,s=(a-r)/3;t._context.bezierCurveTo(r+s,i+s*e,a-s,o-s*n,a,o)}function Uk(t){this._context=t}function qk(t){this._context=new Wk(t)}function Wk(t){this._context=t}function $k(t){return new Uk(t)}function Hk(t){return new qk(t)}function Vk(t){this._context=t}function Gk(t){var e,n,r=t.length-1,i=new Array(r),a=new Array(r),o=new Array(r);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e<r-1;++e)i[e]=1,a[e]=4,o[e]=4*t[e]+2*t[e+1];for(i[r-1]=2,a[r-1]=7,o[r-1]=8*t[r-1]+t[r],e=1;e<r;++e)n=i[e]/a[e-1],a[e]-=n,o[e]-=n*o[e-1];for(i[r-1]=o[r-1]/a[r-1],e=r-2;e>=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e<r-1;++e)a[e]=2*t[e+1]-i[e+1];return[i,a]}function Xk(t){return new Vk(t)}function Zk(t,e){this._context=t,this._t=e}function Kk(t){return new Zk(t,.5)}function Qk(t){return new Zk(t,0)}function Jk(t){return new Zk(t,1)}function tw(t,e){if((i=t.length)>1)for(var n,r,i,a=1,o=t[e[0]],s=o.length;a<i;++a)for(r=o,o=t[e[a]],n=0;n<s;++n)o[n][1]+=o[n][0]=isNaN(r[n][1])?r[n][0]:r[n][1]}function ew(t){for(var e=t.length,n=new Array(e);--e>=0;)n[e]=e;return n}function nw(t,e){return t[e]}function rw(){var t=Jx([]),e=ew,n=tw,r=nw;function i(i){var a,o,s=t.apply(this,arguments),c=i.length,u=s.length,l=new Array(u);for(a=0;a<u;++a){for(var h,f=s[a],d=l[a]=new Array(c),p=0;p<c;++p)d[p]=h=[0,+r(i[p],f,p,i)],h.data=i[p];d.key=f}for(a=0,o=e(l);a<u;++a)l[o[a]].index=a;return n(l,o),l}return i.keys=function(e){return arguments.length?(t="function"==typeof e?e:Jx(R_.call(e)),i):t},i.value=function(t){return arguments.length?(r="function"==typeof t?t:Jx(+t),i):r},i.order=function(t){return arguments.length?(e=null==t?ew:"function"==typeof t?t:Jx(R_.call(t)),i):e},i.offset=function(t){return arguments.length?(n=null==t?tw:t,i):n},i}function iw(t,e){if((r=t.length)>0){for(var n,r,i,a=0,o=t[0].length;a<o;++a){for(i=n=0;n<r;++n)i+=t[n][a][1]||0;if(i)for(n=0;n<r;++n)t[n][a][1]/=i}tw(t,e)}}function aw(t,e){if((s=t.length)>0)for(var n,r,i,a,o,s,c=0,u=t[e[0]].length;c<u;++c)for(a=o=0,n=0;n<s;++n)(i=(r=t[e[n]][c])[1]-r[0])>0?(r[0]=a,r[1]=a+=i):i<0?(r[1]=o,r[0]=o+=i):(r[0]=0,r[1]=i)}function ow(t,e){if((n=t.length)>0){for(var n,r=0,i=t[e[0]],a=i.length;r<a;++r){for(var o=0,s=0;o<n;++o)s+=t[o][r][1]||0;i[r][1]+=i[r][0]=-s/2}tw(t,e)}}function sw(t,e){if((i=t.length)>0&&(r=(n=t[e[0]]).length)>0){for(var n,r,i,a=0,o=1;o<r;++o){for(var s=0,c=0,u=0;s<i;++s){for(var l=t[e[s]],h=l[o][1]||0,f=(h-(l[o-1][1]||0))/2,d=0;d<s;++d){var p=t[e[d]];f+=(p[o][1]||0)-(p[o-1][1]||0)}c+=h,u+=f*h}n[o-1][1]+=n[o-1][0]=a,c&&(a-=u/c)}n[o-1][1]+=n[o-1][0]=a,tw(t,e)}}function cw(t){var e=t.map(uw);return ew(t).sort((function(t,n){return e[t]-e[n]}))}function uw(t){for(var e,n=-1,r=0,i=t.length,a=-1/0;++n<i;)(e=+t[n][1])>a&&(a=e,r=n);return r}function lw(t){var e=t.map(hw);return ew(t).sort((function(t,n){return e[t]-e[n]}))}function hw(t){for(var e,n=0,r=-1,i=t.length;++r<i;)(e=+t[r][1])&&(n+=e);return n}function fw(t){return lw(t).reverse()}function dw(t){var e,n,r=t.length,i=t.map(hw),a=cw(t),o=0,s=0,c=[],u=[];for(e=0;e<r;++e)n=a[e],o<s?(o+=i[n],c.push(n)):(s+=i[n],u.push(n));return u.reverse().concat(c)}function pw(t){return ew(t).reverse()}Ik.prototype={areaStart:fk,areaEnd:fk,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},Uk.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Yk(this,this._t0,zk(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Yk(this,zk(this,n=Pk(this,t,e)),n);break;default:Yk(this,this._t0,n=Pk(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}},(qk.prototype=Object.create(Uk.prototype)).point=function(t,e){Uk.prototype.point.call(this,e,t)},Wk.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,a){this._context.bezierCurveTo(e,t,r,n,a,i)}},Vk.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===n)this._context.lineTo(t[1],e[1]);else for(var r=Gk(t),i=Gk(e),a=0,o=1;o<n;++a,++o)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],t[o],e[o]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},Zk.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};var gw="%Y-%m-%dT%H:%M:%S.%LZ";var yw=Date.prototype.toISOString?function(t){return t.toISOString()}:bm(gw);const mw=yw;var vw=+new Date("2000-01-01T00:00:00.000Z")?function(t){var e=new Date(t);return isNaN(e)?null:e}:xm(gw);const bw=vw;function xw(t,e,n){var r=new Vn,i=e;return null==e?(r.restart(t,e,n),r):(e=+e,n=null==n?$n():+n,r.restart((function a(o){o+=i,r.restart(a,i+=e,n),t(o)}),e,n),r)}function _w(t){return function(){return t}}function kw(t){return t[0]}function ww(t){return t[1]}function Ew(){this._=null}function Tw(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Cw(t,e){var n=e,r=e.R,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.R=r.L,n.R&&(n.R.U=n),r.L=n}function Sw(t,e){var n=e,r=e.L,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.L=r.R,n.L&&(n.L.U=n),r.R=n}function Aw(t){for(;t.L;)t=t.L;return t}Ew.prototype={constructor:Ew,insert:function(t,e){var n,r,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;n=t}else this._?(t=Aw(this._),e.P=null,e.N=t,t.P=t.L=e,n=t):(e.P=e.N=null,this._=e,n=null);for(e.L=e.R=null,e.U=n,e.C=!0,t=e;n&&n.C;)n===(r=n.U).L?(i=r.R)&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.R&&(Cw(this,n),n=(t=n).U),n.C=!1,r.C=!0,Sw(this,r)):(i=r.L)&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.L&&(Sw(this,n),n=(t=n).U),n.C=!1,r.C=!0,Cw(this,r)),n=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,n,r,i=t.U,a=t.L,o=t.R;if(n=a?o?Aw(o):a:o,i?i.L===t?i.L=n:i.R=n:this._=n,a&&o?(r=n.C,n.C=t.C,n.L=a,a.U=n,n!==o?(i=n.U,n.U=t.U,t=n.R,i.L=t,n.R=o,o.U=n):(n.U=i,i=n,t=n.R)):(r=t.C,t=n),t&&(t.U=i),!r)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,Cw(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,Sw(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,Cw(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,Sw(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,Cw(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Sw(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}};const Ow=Ew;function Mw(t,e,n,r){var i=[null,null],a=tE.push(i)-1;return i.left=t,i.right=e,n&&Dw(i,t,e,n),r&&Dw(i,e,t,r),Qw[t.index].halfedges.push(a),Qw[e.index].halfedges.push(a),i}function jw(t,e,n){var r=[e,n];return r.left=t,r}function Dw(t,e,n,r){t[0]||t[1]?t.left===n?t[1]=r:t[0]=r:(t[0]=r,t.left=e,t.right=n)}function Nw(t,e,n,r,i){var a,o=t[0],s=t[1],c=o[0],u=o[1],l=0,h=1,f=s[0]-c,d=s[1]-u;if(a=e-c,f||!(a>0)){if(a/=f,f<0){if(a<l)return;a<h&&(h=a)}else if(f>0){if(a>h)return;a>l&&(l=a)}if(a=r-c,f||!(a<0)){if(a/=f,f<0){if(a>h)return;a>l&&(l=a)}else if(f>0){if(a<l)return;a<h&&(h=a)}if(a=n-u,d||!(a>0)){if(a/=d,d<0){if(a<l)return;a<h&&(h=a)}else if(d>0){if(a>h)return;a>l&&(l=a)}if(a=i-u,d||!(a<0)){if(a/=d,d<0){if(a>h)return;a>l&&(l=a)}else if(d>0){if(a<l)return;a<h&&(h=a)}return!(l>0||h<1)||(l>0&&(t[0]=[c+l*f,u+l*d]),h<1&&(t[1]=[c+h*f,u+h*d]),!0)}}}}}function Bw(t,e,n,r,i){var a=t[1];if(a)return!0;var o,s,c=t[0],u=t.left,l=t.right,h=u[0],f=u[1],d=l[0],p=l[1],g=(h+d)/2,y=(f+p)/2;if(p===f){if(g<e||g>=r)return;if(h>d){if(c){if(c[1]>=i)return}else c=[g,n];a=[g,i]}else{if(c){if(c[1]<n)return}else c=[g,i];a=[g,n]}}else if(s=y-(o=(h-d)/(p-f))*g,o<-1||o>1)if(h>d){if(c){if(c[1]>=i)return}else c=[(n-s)/o,n];a=[(i-s)/o,i]}else{if(c){if(c[1]<n)return}else c=[(i-s)/o,i];a=[(n-s)/o,n]}else if(f<p){if(c){if(c[0]>=r)return}else c=[e,o*e+s];a=[r,o*r+s]}else{if(c){if(c[0]<e)return}else c=[r,o*r+s];a=[e,o*e+s]}return t[0]=c,t[1]=a,!0}function Lw(t,e){var n=t.site,r=e.left,i=e.right;return n===i&&(i=r,r=n),i?Math.atan2(i[1]-r[1],i[0]-r[0]):(n===r?(r=e[1],i=e[0]):(r=e[0],i=e[1]),Math.atan2(r[0]-i[0],i[1]-r[1]))}function Iw(t,e){return e[+(e.left!==t.site)]}function Rw(t,e){return e[+(e.left===t.site)]}var Fw,Pw=[];function zw(){Tw(this),this.x=this.y=this.arc=this.site=this.cy=null}function Yw(t){var e=t.P,n=t.N;if(e&&n){var r=e.site,i=t.site,a=n.site;if(r!==a){var o=i[0],s=i[1],c=r[0]-o,u=r[1]-s,l=a[0]-o,h=a[1]-s,f=2*(c*h-u*l);if(!(f>=-nE)){var d=c*c+u*u,p=l*l+h*h,g=(h*d-u*p)/f,y=(c*p-l*d)/f,m=Pw.pop()||new zw;m.arc=t,m.site=i,m.x=g+o,m.y=(m.cy=y+s)+Math.sqrt(g*g+y*y),t.circle=m;for(var v=null,b=Jw._;b;)if(m.y<b.y||m.y===b.y&&m.x<=b.x){if(!b.L){v=b.P;break}b=b.L}else{if(!b.R){v=b;break}b=b.R}Jw.insert(v,m),v||(Fw=m)}}}}function Uw(t){var e=t.circle;e&&(e.P||(Fw=e.N),Jw.remove(e),Pw.push(e),Tw(e),t.circle=null)}var qw=[];function Ww(){Tw(this),this.edge=this.site=this.circle=null}function $w(t){var e=qw.pop()||new Ww;return e.site=t,e}function Hw(t){Uw(t),Kw.remove(t),qw.push(t),Tw(t)}function Vw(t){var e=t.circle,n=e.x,r=e.cy,i=[n,r],a=t.P,o=t.N,s=[t];Hw(t);for(var c=a;c.circle&&Math.abs(n-c.circle.x)<eE&&Math.abs(r-c.circle.cy)<eE;)a=c.P,s.unshift(c),Hw(c),c=a;s.unshift(c),Uw(c);for(var u=o;u.circle&&Math.abs(n-u.circle.x)<eE&&Math.abs(r-u.circle.cy)<eE;)o=u.N,s.push(u),Hw(u),u=o;s.push(u),Uw(u);var l,h=s.length;for(l=1;l<h;++l)u=s[l],c=s[l-1],Dw(u.edge,c.site,u.site,i);c=s[0],(u=s[h-1]).edge=Mw(c.site,u.site,null,i),Yw(c),Yw(u)}function Gw(t){for(var e,n,r,i,a=t[0],o=t[1],s=Kw._;s;)if((r=Xw(s,o)-a)>eE)s=s.L;else{if(!((i=a-Zw(s,o))>eE)){r>-eE?(e=s.P,n=s):i>-eE?(e=s,n=s.N):e=n=s;break}if(!s.R){e=s;break}s=s.R}!function(t){Qw[t.index]={site:t,halfedges:[]}}(t);var c=$w(t);if(Kw.insert(e,c),e||n){if(e===n)return Uw(e),n=$w(e.site),Kw.insert(c,n),c.edge=n.edge=Mw(e.site,c.site),Yw(e),void Yw(n);if(n){Uw(e),Uw(n);var u=e.site,l=u[0],h=u[1],f=t[0]-l,d=t[1]-h,p=n.site,g=p[0]-l,y=p[1]-h,m=2*(f*y-d*g),v=f*f+d*d,b=g*g+y*y,x=[(y*v-d*b)/m+l,(f*b-g*v)/m+h];Dw(n.edge,u,p,x),c.edge=Mw(u,t,null,x),n.edge=Mw(t,p,null,x),Yw(e),Yw(n)}else c.edge=Mw(e.site,c.site)}}function Xw(t,e){var n=t.site,r=n[0],i=n[1],a=i-e;if(!a)return r;var o=t.P;if(!o)return-1/0;var s=(n=o.site)[0],c=n[1],u=c-e;if(!u)return s;var l=s-r,h=1/a-1/u,f=l/u;return h?(-f+Math.sqrt(f*f-2*h*(l*l/(-2*u)-c+u/2+i-a/2)))/h+r:(r+s)/2}function Zw(t,e){var n=t.N;if(n)return Xw(n,e);var r=t.site;return r[1]===e?r[0]:1/0}var Kw,Qw,Jw,tE,eE=1e-6,nE=1e-12;function rE(t,e,n){return(t[0]-n[0])*(e[1]-t[1])-(t[0]-e[0])*(n[1]-t[1])}function iE(t,e){return e[1]-t[1]||e[0]-t[0]}function aE(t,e){var n,r,i,a=t.sort(iE).pop();for(tE=[],Qw=new Array(t.length),Kw=new Ow,Jw=new Ow;;)if(i=Fw,a&&(!i||a[1]<i.y||a[1]===i.y&&a[0]<i.x))a[0]===n&&a[1]===r||(Gw(a),n=a[0],r=a[1]),a=t.pop();else{if(!i)break;Vw(i.arc)}if(function(){for(var t,e,n,r,i=0,a=Qw.length;i<a;++i)if((t=Qw[i])&&(r=(e=t.halfedges).length)){var o=new Array(r),s=new Array(r);for(n=0;n<r;++n)o[n]=n,s[n]=Lw(t,tE[e[n]]);for(o.sort((function(t,e){return s[e]-s[t]})),n=0;n<r;++n)s[n]=e[o[n]];for(n=0;n<r;++n)e[n]=s[n]}}(),e){var o=+e[0][0],s=+e[0][1],c=+e[1][0],u=+e[1][1];!function(t,e,n,r){for(var i,a=tE.length;a--;)Bw(i=tE[a],t,e,n,r)&&Nw(i,t,e,n,r)&&(Math.abs(i[0][0]-i[1][0])>eE||Math.abs(i[0][1]-i[1][1])>eE)||delete tE[a]}(o,s,c,u),function(t,e,n,r){var i,a,o,s,c,u,l,h,f,d,p,g,y=Qw.length,m=!0;for(i=0;i<y;++i)if(a=Qw[i]){for(o=a.site,s=(c=a.halfedges).length;s--;)tE[c[s]]||c.splice(s,1);for(s=0,u=c.length;s<u;)p=(d=Rw(a,tE[c[s]]))[0],g=d[1],h=(l=Iw(a,tE[c[++s%u]]))[0],f=l[1],(Math.abs(p-h)>eE||Math.abs(g-f)>eE)&&(c.splice(s,0,tE.push(jw(o,d,Math.abs(p-t)<eE&&r-g>eE?[t,Math.abs(h-t)<eE?f:r]:Math.abs(g-r)<eE&&n-p>eE?[Math.abs(f-r)<eE?h:n,r]:Math.abs(p-n)<eE&&g-e>eE?[n,Math.abs(h-n)<eE?f:e]:Math.abs(g-e)<eE&&p-t>eE?[Math.abs(f-e)<eE?h:t,e]:null))-1),++u);u&&(m=!1)}if(m){var v,b,x,_=1/0;for(i=0,m=null;i<y;++i)(a=Qw[i])&&(x=(v=(o=a.site)[0]-t)*v+(b=o[1]-e)*b)<_&&(_=x,m=a);if(m){var k=[t,e],w=[t,r],E=[n,r],T=[n,e];m.halfedges.push(tE.push(jw(o=m.site,k,w))-1,tE.push(jw(o,w,E))-1,tE.push(jw(o,E,T))-1,tE.push(jw(o,T,k))-1)}}for(i=0;i<y;++i)(a=Qw[i])&&(a.halfedges.length||delete Qw[i])}(o,s,c,u)}this.edges=tE,this.cells=Qw,Kw=Jw=tE=Qw=null}function oE(){var t=kw,e=ww,n=null;function r(r){return new aE(r.map((function(n,i){var a=[Math.round(t(n,i,r)/eE)*eE,Math.round(e(n,i,r)/eE)*eE];return a.index=i,a.data=n,a})),n)}return r.polygons=function(t){return r(t).polygons()},r.links=function(t){return r(t).links()},r.triangles=function(t){return r(t).triangles()},r.x=function(e){return arguments.length?(t="function"==typeof e?e:_w(+e),r):t},r.y=function(t){return arguments.length?(e="function"==typeof t?t:_w(+t),r):e},r.extent=function(t){return arguments.length?(n=null==t?null:[[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]],r):n&&[[n[0][0],n[0][1]],[n[1][0],n[1][1]]]},r.size=function(t){return arguments.length?(n=null==t?null:[[0,0],[+t[0],+t[1]]],r):n&&[n[1][0]-n[0][0],n[1][1]-n[0][1]]},r}function sE(t){return function(){return t}}function cE(t,e,n){this.target=t,this.type=e,this.transform=n}function uE(t,e,n){this.k=t,this.x=e,this.y=n}aE.prototype={constructor:aE,polygons:function(){var t=this.edges;return this.cells.map((function(e){var n=e.halfedges.map((function(n){return Iw(e,t[n])}));return n.data=e.site.data,n}))},triangles:function(){var t=[],e=this.edges;return this.cells.forEach((function(n,r){if(a=(i=n.halfedges).length)for(var i,a,o,s=n.site,c=-1,u=e[i[a-1]],l=u.left===s?u.right:u.left;++c<a;)o=l,l=(u=e[i[c]]).left===s?u.right:u.left,o&&l&&r<o.index&&r<l.index&&rE(s,o,l)<0&&t.push([s.data,o.data,l.data])})),t},links:function(){return this.edges.filter((function(t){return t.right})).map((function(t){return{source:t.left.data,target:t.right.data}}))},find:function(t,e,n){for(var r,i,a=this,o=a._found||0,s=a.cells.length;!(i=a.cells[o]);)if(++o>=s)return null;var c=t-i.site[0],u=e-i.site[1],l=c*c+u*u;do{i=a.cells[r=o],o=null,i.halfedges.forEach((function(n){var r=a.edges[n],s=r.left;if(s!==i.site&&s||(s=r.right)){var c=t-s[0],u=e-s[1],h=c*c+u*u;h<l&&(l=h,o=s.index)}}))}while(null!==o);return a._found=r,null==n||l<=n*n?i.site:null}},uE.prototype={constructor:uE,scale:function(t){return 1===t?this:new uE(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new uE(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var lE=new uE(1,0,0);function hE(t){for(;!t.__zoom;)if(!(t=t.parentNode))return lE;return t.__zoom}function fE(){le.stopImmediatePropagation()}function dE(){le.preventDefault(),le.stopImmediatePropagation()}function pE(){return!le.ctrlKey&&!le.button}function gE(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function yE(){return this.__zoom||lE}function mE(){return-le.deltaY*(1===le.deltaMode?.05:le.deltaMode?1:.002)}function vE(){return navigator.maxTouchPoints||"ontouchstart"in this}function bE(t,e,n){var r=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],a=t.invertY(e[0][1])-n[0][1],o=t.invertY(e[1][1])-n[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function xE(){var t,e,n=pE,r=gE,i=bE,a=mE,o=vE,s=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,l=Lp,h=ft("start","zoom","end"),f=500,d=0;function p(t){t.property("__zoom",yE).on("wheel.zoom",_).on("mousedown.zoom",k).on("dblclick.zoom",w).filter(o).on("touchstart.zoom",E).on("touchmove.zoom",T).on("touchend.zoom touchcancel.zoom",C).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(t,e){return(e=Math.max(s[0],Math.min(s[1],e)))===t.k?t:new uE(e,t.x,t.y)}function y(t,e,n){var r=e[0]-n[0]*t.k,i=e[1]-n[1]*t.k;return r===t.x&&i===t.y?t:new uE(t.k,r,i)}function m(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function v(t,e,n){t.on("start.zoom",(function(){b(this,arguments).start()})).on("interrupt.zoom end.zoom",(function(){b(this,arguments).end()})).tween("zoom",(function(){var t=this,i=arguments,a=b(t,i),o=r.apply(t,i),s=null==n?m(o):"function"==typeof n?n.apply(t,i):n,c=Math.max(o[1][0]-o[0][0],o[1][1]-o[0][1]),u=t.__zoom,h="function"==typeof e?e.apply(t,i):e,f=l(u.invert(s).concat(c/u.k),h.invert(s).concat(c/h.k));return function(t){if(1===t)t=h;else{var e=f(t),n=c/e[2];t=new uE(n,s[0]-e[0]*n,s[1]-e[1]*n)}a.zoom(null,t)}}))}function b(t,e,n){return!n&&t.__zooming||new x(t,e)}function x(t,e){this.that=t,this.args=e,this.active=0,this.extent=r.apply(t,e),this.taps=0}function _(){if(n.apply(this,arguments)){var t=b(this,arguments),e=this.__zoom,r=Math.max(s[0],Math.min(s[1],e.k*Math.pow(2,a.apply(this,arguments)))),o=Bn(this);if(t.wheel)t.mouse[0][0]===o[0]&&t.mouse[0][1]===o[1]||(t.mouse[1]=e.invert(t.mouse[0]=o)),clearTimeout(t.wheel);else{if(e.k===r)return;t.mouse=[o,e.invert(o)],or(this),t.start()}dE(),t.wheel=setTimeout(u,150),t.zoom("mouse",i(y(g(e,r),t.mouse[0],t.mouse[1]),t.extent,c))}function u(){t.wheel=null,t.end()}}function k(){if(!e&&n.apply(this,arguments)){var t=b(this,arguments,!0),r=Ee(le.view).on("mousemove.zoom",u,!0).on("mouseup.zoom",l,!0),a=Bn(this),o=le.clientX,s=le.clientY;Se(le.view),fE(),t.mouse=[a,this.__zoom.invert(a)],or(this),t.start()}function u(){if(dE(),!t.moved){var e=le.clientX-o,n=le.clientY-s;t.moved=e*e+n*n>d}t.zoom("mouse",i(y(t.that.__zoom,t.mouse[0]=Bn(t.that),t.mouse[1]),t.extent,c))}function l(){r.on("mousemove.zoom mouseup.zoom",null),Ae(le.view,t.moved),dE(),t.end()}}function w(){if(n.apply(this,arguments)){var t=this.__zoom,e=Bn(this),a=t.invert(e),o=t.k*(le.shiftKey?.5:2),s=i(y(g(t,o),e,a),r.apply(this,arguments),c);dE(),u>0?Ee(this).transition().duration(u).call(v,s,e):Ee(this).call(p.transform,s)}}function E(){if(n.apply(this,arguments)){var e,r,i,a,o=le.touches,s=o.length,c=b(this,arguments,le.changedTouches.length===s);for(fE(),r=0;r<s;++r)a=[a=Nn(this,o,(i=o[r]).identifier),this.__zoom.invert(a),i.identifier],c.touch0?c.touch1||c.touch0[2]===a[2]||(c.touch1=a,c.taps=0):(c.touch0=a,e=!0,c.taps=1+!!t);t&&(t=clearTimeout(t)),e&&(c.taps<2&&(t=setTimeout((function(){t=null}),f)),or(this),c.start())}}function T(){if(this.__zooming){var e,n,r,a,o=b(this,arguments),s=le.changedTouches,u=s.length;for(dE(),t&&(t=clearTimeout(t)),o.taps=0,e=0;e<u;++e)r=Nn(this,s,(n=s[e]).identifier),o.touch0&&o.touch0[2]===n.identifier?o.touch0[0]=r:o.touch1&&o.touch1[2]===n.identifier&&(o.touch1[0]=r);if(n=o.that.__zoom,o.touch1){var l=o.touch0[0],h=o.touch0[1],f=o.touch1[0],d=o.touch1[1],p=(p=f[0]-l[0])*p+(p=f[1]-l[1])*p,m=(m=d[0]-h[0])*m+(m=d[1]-h[1])*m;n=g(n,Math.sqrt(p/m)),r=[(l[0]+f[0])/2,(l[1]+f[1])/2],a=[(h[0]+d[0])/2,(h[1]+d[1])/2]}else{if(!o.touch0)return;r=o.touch0[0],a=o.touch0[1]}o.zoom("touch",i(y(n,r,a),o.extent,c))}}function C(){if(this.__zooming){var t,n,r=b(this,arguments),i=le.changedTouches,a=i.length;for(fE(),e&&clearTimeout(e),e=setTimeout((function(){e=null}),f),t=0;t<a;++t)n=i[t],r.touch0&&r.touch0[2]===n.identifier?delete r.touch0:r.touch1&&r.touch1[2]===n.identifier&&delete r.touch1;if(r.touch1&&!r.touch0&&(r.touch0=r.touch1,delete r.touch1),r.touch0)r.touch0[1]=this.__zoom.invert(r.touch0[0]);else if(r.end(),2===r.taps){var o=Ee(this).on("dblclick.zoom");o&&o.apply(this,arguments)}}}return p.transform=function(t,e,n){var r=t.selection?t.selection():t;r.property("__zoom",yE),t!==r?v(t,e,n):r.interrupt().each((function(){b(this,arguments).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()}))},p.scaleBy=function(t,e,n){p.scaleTo(t,(function(){var t=this.__zoom.k,n="function"==typeof e?e.apply(this,arguments):e;return t*n}),n)},p.scaleTo=function(t,e,n){p.transform(t,(function(){var t=r.apply(this,arguments),a=this.__zoom,o=null==n?m(t):"function"==typeof n?n.apply(this,arguments):n,s=a.invert(o),u="function"==typeof e?e.apply(this,arguments):e;return i(y(g(a,u),o,s),t,c)}),n)},p.translateBy=function(t,e,n){p.transform(t,(function(){return i(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof n?n.apply(this,arguments):n),r.apply(this,arguments),c)}))},p.translateTo=function(t,e,n,a){p.transform(t,(function(){var t=r.apply(this,arguments),o=this.__zoom,s=null==a?m(t):"function"==typeof a?a.apply(this,arguments):a;return i(lE.translate(s[0],s[1]).scale(o.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof n?-n.apply(this,arguments):-n),t,c)}),a)},x.prototype={start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,e){return this.mouse&&"mouse"!==t&&(this.mouse[1]=e.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=e.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=e.invert(this.touch1[0])),this.that.__zoom=e,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){ye(new cE(p,t,this.that.__zoom),h.apply,h,[t,this.that,this.args])}},p.wheelDelta=function(t){return arguments.length?(a="function"==typeof t?t:sE(+t),p):a},p.filter=function(t){return arguments.length?(n="function"==typeof t?t:sE(!!t),p):n},p.touchable=function(t){return arguments.length?(o="function"==typeof t?t:sE(!!t),p):o},p.extent=function(t){return arguments.length?(r="function"==typeof t?t:sE([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),p):r},p.scaleExtent=function(t){return arguments.length?(s[0]=+t[0],s[1]=+t[1],p):[s[0],s[1]]},p.translateExtent=function(t){return arguments.length?(c[0][0]=+t[0][0],c[1][0]=+t[1][0],c[0][1]=+t[0][1],c[1][1]=+t[1][1],p):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},p.constrain=function(t){return arguments.length?(i=t,p):i},p.duration=function(t){return arguments.length?(u=+t,p):u},p.interpolate=function(t){return arguments.length?(l=t,p):l},p.on=function(){var t=h.on.apply(h,arguments);return t===h?p:t},p.clickDistance=function(t){return arguments.length?(d=(t=+t)*t,p):Math.sqrt(d)},p}hE.prototype=uE.prototype},44949:(t,e,n)=>{t.exports={graphlib:n(66614),dagre:n(51463),intersect:n(78114),render:n(95787),util:n(28355),version:n(55689)}},39144:(t,e,n)=>{var r=n(28355);function i(t,e,n,i){var a=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");r.applyStyle(a,n[i+"Style"]),n[i+"Class"]&&a.attr("class",n[i+"Class"])}t.exports={default:i,normal:i,vee:function(t,e,n,i){var a=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");r.applyStyle(a,n[i+"Style"]),n[i+"Class"]&&a.attr("class",n[i+"Class"])},undirected:function(t,e,n,i){var a=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");r.applyStyle(a,n[i+"Style"]),n[i+"Class"]&&a.attr("class",n[i+"Class"])}}},85632:(t,e,n)=>{var r=n(28355),i=n(24322),a=n(61322);t.exports=function(t,e){var n,o=e.nodes().filter((function(t){return r.isSubgraph(e,t)})),s=t.selectAll("g.cluster").data(o,(function(t){return t}));s.selectAll("*").remove(),s.enter().append("g").attr("class","cluster").attr("id",(function(t){return e.node(t).id})).style("opacity",0),s=t.selectAll("g.cluster"),r.applyTransition(s,e).style("opacity",1),s.each((function(t){var n=e.node(t),r=i.select(this);i.select(this).append("rect");var o=r.append("g").attr("class","label");a(o,n,n.clusterLabelPos)})),s.selectAll("rect").each((function(t){var n=e.node(t),a=i.select(this);r.applyStyle(a,n.style)})),n=s.exit?s.exit():s.selectAll(null);return r.applyTransition(n,e).style("opacity",0).remove(),s}},16315:(t,e,n)=>{"use strict";var r=n(91034),i=n(61322),a=n(28355),o=n(24322);t.exports=function(t,e){var n,s=t.selectAll("g.edgeLabel").data(e.edges(),(function(t){return a.edgeToId(t)})).classed("update",!0);s.exit().remove(),s.enter().append("g").classed("edgeLabel",!0).style("opacity",0),(s=t.selectAll("g.edgeLabel")).each((function(t){var n=o.select(this);n.select(".label").remove();var a=e.edge(t),s=i(n,e.edge(t),0,0).classed("label",!0),c=s.node().getBBox();a.labelId&&s.attr("id",a.labelId),r.has(a,"width")||(a.width=c.width),r.has(a,"height")||(a.height=c.height)})),n=s.exit?s.exit():s.selectAll(null);return a.applyTransition(n,e).style("opacity",0).remove(),s}},70940:(t,e,n)=>{"use strict";var r=n(91034),i=n(13042),a=n(28355),o=n(24322);function s(t,e){var n=(o.line||o.svg.line)().x((function(t){return t.x})).y((function(t){return t.y}));return(n.curve||n.interpolate)(t.curve),n(e)}t.exports=function(t,e,n){var c=t.selectAll("g.edgePath").data(e.edges(),(function(t){return a.edgeToId(t)})).classed("update",!0),u=function(t,e){var n=t.enter().append("g").attr("class","edgePath").style("opacity",0);return n.append("path").attr("class","path").attr("d",(function(t){var n=e.edge(t),i=e.node(t.v).elem;return s(n,r.range(n.points.length).map((function(){return e=(t=i).getBBox(),{x:(n=t.ownerSVGElement.getScreenCTM().inverse().multiply(t.getScreenCTM()).translate(e.width/2,e.height/2)).e,y:n.f};var t,e,n})))})),n.append("defs"),n}(c,e);!function(t,e){var n=t.exit();a.applyTransition(n,e).style("opacity",0).remove()}(c,e);var l=void 0!==c.merge?c.merge(u):c;return a.applyTransition(l,e).style("opacity",1),l.each((function(t){var n=o.select(this),r=e.edge(t);r.elem=this,r.id&&n.attr("id",r.id),a.applyClass(n,r.class,(n.classed("update")?"update ":"")+"edgePath")})),l.selectAll("path.path").each((function(t){var n=e.edge(t);n.arrowheadId=r.uniqueId("arrowhead");var c=o.select(this).attr("marker-end",(function(){return"url("+(t=location.href,e=n.arrowheadId,t.split("#")[0]+"#"+e+")");var t,e})).style("fill","none");a.applyTransition(c,e).attr("d",(function(t){return function(t,e){var n=t.edge(e),r=t.node(e.v),a=t.node(e.w),o=n.points.slice(1,n.points.length-1);return o.unshift(i(r,o[0])),o.push(i(a,o[o.length-1])),s(n,o)}(e,t)})),a.applyStyle(c,n.style)})),l.selectAll("defs *").remove(),l.selectAll("defs").each((function(t){var r=e.edge(t);(0,n[r.arrowhead])(o.select(this),r.arrowheadId,r,"arrowhead")})),l}},10607:(t,e,n)=>{"use strict";var r=n(91034),i=n(61322),a=n(28355),o=n(24322);t.exports=function(t,e,n){var s,c=e.nodes().filter((function(t){return!a.isSubgraph(e,t)})),u=t.selectAll("g.node").data(c,(function(t){return t})).classed("update",!0);u.exit().remove(),u.enter().append("g").attr("class","node").style("opacity",0),(u=t.selectAll("g.node")).each((function(t){var s=e.node(t),c=o.select(this);a.applyClass(c,s.class,(c.classed("update")?"update ":"")+"node"),c.select("g.label").remove();var u=c.append("g").attr("class","label"),l=i(u,s),h=n[s.shape],f=r.pick(l.node().getBBox(),"width","height");s.elem=this,s.id&&c.attr("id",s.id),s.labelId&&u.attr("id",s.labelId),r.has(s,"width")&&(f.width=s.width),r.has(s,"height")&&(f.height=s.height),f.width+=s.paddingLeft+s.paddingRight,f.height+=s.paddingTop+s.paddingBottom,u.attr("transform","translate("+(s.paddingLeft-s.paddingRight)/2+","+(s.paddingTop-s.paddingBottom)/2+")");var d=o.select(this);d.select(".label-container").remove();var p=h(d,f,s).classed("label-container",!0);a.applyStyle(p,s.style);var g=p.node().getBBox();s.width=g.width,s.height=g.height})),s=u.exit?u.exit():u.selectAll(null);return a.applyTransition(s,e).style("opacity",0).remove(),u}},24322:(t,e,n)=>{var r;if(!r)try{r=n(39634)}catch(i){}r||(r=window.d3),t.exports=r},51463:(t,e,n)=>{var r;try{r=n(70681)}catch(i){}r||(r=window.dagre),t.exports=r},66614:(t,e,n)=>{var r;try{r=n(28282)}catch(i){}r||(r=window.graphlib),t.exports=r},78114:(t,e,n)=>{t.exports={node:n(13042),circle:n(56587),ellipse:n(3260),polygon:n(5337),rect:n(98049)}},56587:(t,e,n)=>{var r=n(3260);t.exports=function(t,e,n){return r(t,e,e,n)}},3260:t=>{t.exports=function(t,e,n,r){var i=t.x,a=t.y,o=i-r.x,s=a-r.y,c=Math.sqrt(e*e*s*s+n*n*o*o),u=Math.abs(e*n*o/c);r.x<i&&(u=-u);var l=Math.abs(e*n*s/c);r.y<a&&(l=-l);return{x:i+u,y:a+l}}},36808:t=>{function e(t,e){return t*e>0}t.exports=function(t,n,r,i){var a,o,s,c,u,l,h,f,d,p,g,y,m;if(a=n.y-t.y,s=t.x-n.x,u=n.x*t.y-t.x*n.y,d=a*r.x+s*r.y+u,p=a*i.x+s*i.y+u,0!==d&&0!==p&&e(d,p))return;if(o=i.y-r.y,c=r.x-i.x,l=i.x*r.y-r.x*i.y,h=o*t.x+c*t.y+l,f=o*n.x+c*n.y+l,0!==h&&0!==f&&e(h,f))return;if(0===(g=a*c-o*s))return;return y=Math.abs(g/2),{x:(m=s*l-c*u)<0?(m-y)/g:(m+y)/g,y:(m=o*u-a*l)<0?(m-y)/g:(m+y)/g}}},13042:t=>{t.exports=function(t,e){return t.intersect(e)}},5337:(t,e,n)=>{var r=n(36808);t.exports=function(t,e,n){var i=t.x,a=t.y,o=[],s=Number.POSITIVE_INFINITY,c=Number.POSITIVE_INFINITY;e.forEach((function(t){s=Math.min(s,t.x),c=Math.min(c,t.y)}));for(var u=i-t.width/2-s,l=a-t.height/2-c,h=0;h<e.length;h++){var f=e[h],d=e[h<e.length-1?h+1:0],p=r(t,n,{x:u+f.x,y:l+f.y},{x:u+d.x,y:l+d.y});p&&o.push(p)}if(!o.length)return console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",t),t;o.length>1&&o.sort((function(t,e){var r=t.x-n.x,i=t.y-n.y,a=Math.sqrt(r*r+i*i),o=e.x-n.x,s=e.y-n.y,c=Math.sqrt(o*o+s*s);return a<c?-1:a===c?0:1}));return o[0]}},98049:t=>{t.exports=function(t,e){var n,r,i=t.x,a=t.y,o=e.x-i,s=e.y-a,c=t.width/2,u=t.height/2;Math.abs(s)*c>Math.abs(o)*u?(s<0&&(u=-u),n=0===s?0:u*o/s,r=u):(o<0&&(c=-c),n=c,r=0===o?0:c*s/o);return{x:i+n,y:a+r}}},88284:(t,e,n)=>{var r=n(28355);t.exports=function(t,e){var n=t.append("foreignObject").attr("width","100000"),i=n.append("xhtml:div");i.attr("xmlns","http://www.w3.org/1999/xhtml");var a=e.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert((function(){return a}));break;default:i.html(a)}r.applyStyle(i,e.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var o=i.node().getBoundingClientRect();return n.attr("width",o.width).attr("height",o.height),n}},61322:(t,e,n)=>{var r=n(67318),i=n(88284),a=n(98287);t.exports=function(t,e,n){var o=e.label,s=t.append("g");"svg"===e.labelType?a(s,e):"string"!=typeof o||"html"===e.labelType?i(s,e):r(s,e);var c,u=s.node().getBBox();switch(n){case"top":c=-e.height/2;break;case"bottom":c=e.height/2-u.height;break;default:c=-u.height/2}return s.attr("transform","translate("+-u.width/2+","+c+")"),s}},98287:(t,e,n)=>{var r=n(28355);t.exports=function(t,e){var n=t;return n.node().appendChild(e.label),r.applyStyle(n,e.labelStyle),n}},67318:(t,e,n)=>{var r=n(28355);t.exports=function(t,e){for(var n=t.append("text"),i=function(t){for(var e,n="",r=!1,i=0;i<t.length;++i)if(e=t[i],r){if("n"===e)n+="\n";else n+=e;r=!1}else"\\"===e?r=!0:n+=e;return n}(e.label).split("\n"),a=0;a<i.length;a++)n.append("tspan").attr("xml:space","preserve").attr("dy","1em").attr("x","1").text(i[a]);return r.applyStyle(n,e.labelStyle),n}},91034:(t,e,n)=>{var r;try{r={defaults:n(91747),each:n(66073),isFunction:n(23560),isPlainObject:n(68630),pick:n(78718),has:n(18721),range:n(96026),uniqueId:n(73955)}}catch(i){}r||(r=window._),t.exports=r},26381:(t,e,n)=>{"use strict";var r=n(28355),i=n(24322);t.exports=function(t,e){var n=t.filter((function(){return!i.select(this).classed("update")}));function a(t){var n=e.node(t);return"translate("+n.x+","+n.y+")"}n.attr("transform",a),r.applyTransition(t,e).style("opacity",1).attr("transform",a),r.applyTransition(n.selectAll("rect"),e).attr("width",(function(t){return e.node(t).width})).attr("height",(function(t){return e.node(t).height})).attr("x",(function(t){return-e.node(t).width/2})).attr("y",(function(t){return-e.node(t).height/2}))}},44577:(t,e,n)=>{"use strict";var r=n(28355),i=n(24322),a=n(91034);t.exports=function(t,e){function n(t){var n=e.edge(t);return a.has(n,"x")?"translate("+n.x+","+n.y+")":""}t.filter((function(){return!i.select(this).classed("update")})).attr("transform",n),r.applyTransition(t,e).style("opacity",1).attr("transform",n)}},54849:(t,e,n)=>{"use strict";var r=n(28355),i=n(24322);t.exports=function(t,e){function n(t){var n=e.node(t);return"translate("+n.x+","+n.y+")"}t.filter((function(){return!i.select(this).classed("update")})).attr("transform",n),r.applyTransition(t,e).style("opacity",1).attr("transform",n)}},95787:(t,e,n)=>{var r=n(91034),i=n(24322),a=n(51463).layout;t.exports=function(){var t=n(10607),e=n(85632),i=n(16315),u=n(70940),l=n(54849),h=n(44577),f=n(26381),d=n(54418),p=n(39144),g=function(n,g){!function(t){t.nodes().forEach((function(e){var n=t.node(e);r.has(n,"label")||t.children(e).length||(n.label=e),r.has(n,"paddingX")&&r.defaults(n,{paddingLeft:n.paddingX,paddingRight:n.paddingX}),r.has(n,"paddingY")&&r.defaults(n,{paddingTop:n.paddingY,paddingBottom:n.paddingY}),r.has(n,"padding")&&r.defaults(n,{paddingLeft:n.padding,paddingRight:n.padding,paddingTop:n.padding,paddingBottom:n.padding}),r.defaults(n,o),r.each(["paddingLeft","paddingRight","paddingTop","paddingBottom"],(function(t){n[t]=Number(n[t])})),r.has(n,"width")&&(n._prevWidth=n.width),r.has(n,"height")&&(n._prevHeight=n.height)})),t.edges().forEach((function(e){var n=t.edge(e);r.has(n,"label")||(n.label=""),r.defaults(n,s)}))}(g);var y=c(n,"output"),m=c(y,"clusters"),v=c(y,"edgePaths"),b=i(c(y,"edgeLabels"),g),x=t(c(y,"nodes"),g,d);a(g),l(x,g),h(b,g),u(v,g,p);var _=e(m,g);f(_,g),function(t){r.each(t.nodes(),(function(e){var n=t.node(e);r.has(n,"_prevWidth")?n.width=n._prevWidth:delete n.width,r.has(n,"_prevHeight")?n.height=n._prevHeight:delete n.height,delete n._prevWidth,delete n._prevHeight}))}(g)};return g.createNodes=function(e){return arguments.length?(t=e,g):t},g.createClusters=function(t){return arguments.length?(e=t,g):e},g.createEdgeLabels=function(t){return arguments.length?(i=t,g):i},g.createEdgePaths=function(t){return arguments.length?(u=t,g):u},g.shapes=function(t){return arguments.length?(d=t,g):d},g.arrows=function(t){return arguments.length?(p=t,g):p},g};var o={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},s={arrowhead:"normal",curve:i.curveLinear};function c(t,e){var n=t.select("g."+e);return n.empty()&&(n=t.append("g").attr("class",e)),n}},54418:(t,e,n)=>{"use strict";var r=n(98049),i=n(3260),a=n(56587),o=n(5337);t.exports={rect:function(t,e,n){var i=t.insert("rect",":first-child").attr("rx",n.rx).attr("ry",n.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return n.intersect=function(t){return r(n,t)},i},ellipse:function(t,e,n){var r=e.width/2,a=e.height/2,o=t.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",r).attr("ry",a);return n.intersect=function(t){return i(n,r,a,t)},o},circle:function(t,e,n){var r=Math.max(e.width,e.height)/2,i=t.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",r);return n.intersect=function(t){return a(n,r,t)},i},diamond:function(t,e,n){var r=e.width*Math.SQRT2/2,i=e.height*Math.SQRT2/2,a=[{x:0,y:-i},{x:-r,y:0},{x:0,y:i},{x:r,y:0}],s=t.insert("polygon",":first-child").attr("points",a.map((function(t){return t.x+","+t.y})).join(" "));return n.intersect=function(t){return o(n,a,t)},s}}},28355:(t,e,n)=>{var r=n(91034);t.exports={isSubgraph:function(t,e){return!!t.children(e).length},edgeToId:function(t){return a(t.v)+":"+a(t.w)+":"+a(t.name)},applyStyle:function(t,e){e&&t.attr("style",e)},applyClass:function(t,e,n){e&&t.attr("class",e).attr("class",n+" "+t.attr("class"))},applyTransition:function(t,e){var n=e.graph();if(r.isPlainObject(n)){var i=n.transition;if(r.isFunction(i))return i(t)}return t}};var i=/:/g;function a(t){return t?String(t).replace(i,"\\:"):""}},55689:t=>{t.exports="0.6.4"},70681:(t,e,n)=>{t.exports={graphlib:n(70574),layout:n(98123),debug:n(27570),util:{time:n(11138).time,notime:n(11138).notime},version:n(88177)}},92188:(t,e,n)=>{"use strict";var r=n(38436),i=n(74079);t.exports={run:function(t){var e="greedy"===t.graph().acyclicer?i(t,function(t){return function(e){return t.edge(e).weight}}(t)):function(t){var e=[],n={},i={};function a(o){r.has(i,o)||(i[o]=!0,n[o]=!0,r.forEach(t.outEdges(o),(function(t){r.has(n,t.w)?e.push(t):a(t.w)})),delete n[o])}return r.forEach(t.nodes(),a),e}(t);r.forEach(e,(function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,r.uniqueId("rev"))}))},undo:function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.reversed){t.removeEdge(e);var r=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,r)}}))}}},61133:(t,e,n)=>{var r=n(38436),i=n(11138);function a(t,e,n,r,a,o){var s={width:0,height:0,rank:o,borderType:e},c=a[e][o-1],u=i.addDummyNode(t,"border",s,n);a[e][o]=u,t.setParent(u,r),c&&t.setEdge(c,u,{weight:1})}t.exports=function(t){r.forEach(t.children(),(function e(n){var i=t.children(n),o=t.node(n);if(i.length&&r.forEach(i,e),r.has(o,"minRank")){o.borderLeft=[],o.borderRight=[];for(var s=o.minRank,c=o.maxRank+1;s<c;++s)a(t,"borderLeft","_bl",n,o,s),a(t,"borderRight","_br",n,o,s)}}))}},53258:(t,e,n)=>{"use strict";var r=n(38436);function i(t){r.forEach(t.nodes(),(function(e){a(t.node(e))})),r.forEach(t.edges(),(function(e){a(t.edge(e))}))}function a(t){var e=t.width;t.width=t.height,t.height=e}function o(t){t.y=-t.y}function s(t){var e=t.x;t.x=t.y,t.y=e}t.exports={adjust:function(t){var e=t.graph().rankdir.toLowerCase();"lr"!==e&&"rl"!==e||i(t)},undo:function(t){var e=t.graph().rankdir.toLowerCase();"bt"!==e&&"rl"!==e||function(t){r.forEach(t.nodes(),(function(e){o(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.forEach(n.points,o),r.has(n,"y")&&o(n)}))}(t);"lr"!==e&&"rl"!==e||(!function(t){r.forEach(t.nodes(),(function(e){s(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.forEach(n.points,s),r.has(n,"x")&&s(n)}))}(t),i(t))}}},77822:t=>{function e(){var t={};t._next=t._prev=t,this._sentinel=t}function n(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function r(t,e){if("_next"!==t&&"_prev"!==t)return e}t.exports=e,e.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;if(e!==t)return n(e),e},e.prototype.enqueue=function(t){var e=this._sentinel;t._prev&&t._next&&n(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e},e.prototype.toString=function(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,r)),n=n._prev;return"["+t.join(", ")+"]"}},27570:(t,e,n)=>{var r=n(38436),i=n(11138),a=n(70574).Graph;t.exports={debugOrdering:function(t){var e=i.buildLayerMatrix(t),n=new a({compound:!0,multigraph:!0}).setGraph({});return r.forEach(t.nodes(),(function(e){n.setNode(e,{label:e}),n.setParent(e,"layer"+t.node(e).rank)})),r.forEach(t.edges(),(function(t){n.setEdge(t.v,t.w,{},t.name)})),r.forEach(e,(function(t,e){var i="layer"+e;n.setNode(i,{rank:"same"}),r.reduce(t,(function(t,e){return n.setEdge(t,e,{style:"invis"}),e}))})),n}}},70574:(t,e,n)=>{var r;try{r=n(28282)}catch(i){}r||(r=window.graphlib),t.exports=r},74079:(t,e,n)=>{var r=n(38436),i=n(70574).Graph,a=n(77822);t.exports=function(t,e){if(t.nodeCount()<=1)return[];var n=function(t,e){var n=new i,o=0,s=0;r.forEach(t.nodes(),(function(t){n.setNode(t,{v:t,in:0,out:0})})),r.forEach(t.edges(),(function(t){var r=n.edge(t.v,t.w)||0,i=e(t),a=r+i;n.setEdge(t.v,t.w,a),s=Math.max(s,n.node(t.v).out+=i),o=Math.max(o,n.node(t.w).in+=i)}));var u=r.range(s+o+3).map((function(){return new a})),l=o+1;return r.forEach(n.nodes(),(function(t){c(u,l,n.node(t))})),{graph:n,buckets:u,zeroIdx:l}}(t,e||o),u=function(t,e,n){var r,i=[],a=e[e.length-1],o=e[0];for(;t.nodeCount();){for(;r=o.dequeue();)s(t,e,n,r);for(;r=a.dequeue();)s(t,e,n,r);if(t.nodeCount())for(var c=e.length-2;c>0;--c)if(r=e[c].dequeue()){i=i.concat(s(t,e,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return r.flatten(r.map(u,(function(e){return t.outEdges(e.v,e.w)})),!0)};var o=r.constant(1);function s(t,e,n,i,a){var o=a?[]:void 0;return r.forEach(t.inEdges(i.v),(function(r){var i=t.edge(r),s=t.node(r.v);a&&o.push({v:r.v,w:r.w}),s.out-=i,c(e,n,s)})),r.forEach(t.outEdges(i.v),(function(r){var i=t.edge(r),a=r.w,o=t.node(a);o.in-=i,c(e,n,o)})),t.removeNode(i.v),o}function c(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)}},98123:(t,e,n)=>{"use strict";var r=n(38436),i=n(92188),a=n(45995),o=n(78093),s=n(11138).normalizeRanks,c=n(24219),u=n(11138).removeEmptyRanks,l=n(72981),h=n(61133),f=n(53258),d=n(53408),p=n(17873),g=n(11138),y=n(70574).Graph;t.exports=function(t,e){var n=e&&e.debugTiming?g.time:g.notime;n("layout",(function(){var e=n(" buildLayoutGraph",(function(){return function(t){var e=new y({multigraph:!0,compound:!0}),n=C(t.graph());return e.setGraph(r.merge({},v,T(n,m),r.pick(n,b))),r.forEach(t.nodes(),(function(n){var i=C(t.node(n));e.setNode(n,r.defaults(T(i,x),_)),e.setParent(n,t.parent(n))})),r.forEach(t.edges(),(function(n){var i=C(t.edge(n));e.setEdge(n,r.merge({},w,T(i,k),r.pick(i,E)))})),e}(t)}));n(" runLayout",(function(){!function(t,e){e(" makeSpaceForEdgeLabels",(function(){!function(t){var e=t.graph();e.ranksep/=2,r.forEach(t.edges(),(function(n){var r=t.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(t)})),e(" removeSelfEdges",(function(){!function(t){r.forEach(t.edges(),(function(e){if(e.v===e.w){var n=t.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdge(e)}}))}(t)})),e(" acyclic",(function(){i.run(t)})),e(" nestingGraph.run",(function(){l.run(t)})),e(" rank",(function(){o(g.asNonCompoundGraph(t))})),e(" injectEdgeLabelProxies",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i={rank:(t.node(e.w).rank-r.rank)/2+r.rank,e:e};g.addDummyNode(t,"edge-proxy",i,"_ep")}}))}(t)})),e(" removeEmptyRanks",(function(){u(t)})),e(" nestingGraph.cleanup",(function(){l.cleanup(t)})),e(" normalizeRanks",(function(){s(t)})),e(" assignRankMinMax",(function(){!function(t){var e=0;r.forEach(t.nodes(),(function(n){var i=t.node(n);i.borderTop&&(i.minRank=t.node(i.borderTop).rank,i.maxRank=t.node(i.borderBottom).rank,e=r.max(e,i.maxRank))})),t.graph().maxRank=e}(t)})),e(" removeEdgeLabelProxies",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))}))}(t)})),e(" normalize.run",(function(){a.run(t)})),e(" parentDummyChains",(function(){c(t)})),e(" addBorderSegments",(function(){h(t)})),e(" order",(function(){d(t)})),e(" insertSelfEdges",(function(){!function(t){var e=g.buildLayerMatrix(t);r.forEach(e,(function(e){var n=0;r.forEach(e,(function(e,i){var a=t.node(e);a.order=i+n,r.forEach(a.selfEdges,(function(e){g.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:a.rank,order:i+ ++n,e:e.e,label:e.label},"_se")})),delete a.selfEdges}))}))}(t)})),e(" adjustCoordinateSystem",(function(){f.adjust(t)})),e(" position",(function(){p(t)})),e(" positionSelfEdges",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);if("selfedge"===n.dummy){var r=t.node(n.e.v),i=r.x+r.width/2,a=r.y,o=n.x-i,s=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{x:i+o,y:a},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],n.label.x=n.x,n.label.y=n.y}}))}(t)})),e(" removeBorderNodes",(function(){!function(t){r.forEach(t.nodes(),(function(e){if(t.children(e).length){var n=t.node(e),i=t.node(n.borderTop),a=t.node(n.borderBottom),o=t.node(r.last(n.borderLeft)),s=t.node(r.last(n.borderRight));n.width=Math.abs(s.x-o.x),n.height=Math.abs(a.y-i.y),n.x=o.x+n.width/2,n.y=i.y+n.height/2}})),r.forEach(t.nodes(),(function(e){"border"===t.node(e).dummy&&t.removeNode(e)}))}(t)})),e(" normalize.undo",(function(){a.undo(t)})),e(" fixupEdgeLabelCoords",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(r.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}(t)})),e(" undoCoordinateSystem",(function(){f.undo(t)})),e(" translateGraph",(function(){!function(t){var e=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,o=t.graph(),s=o.marginx||0,c=o.marginy||0;function u(t){var r=t.x,o=t.y,s=t.width,c=t.height;e=Math.min(e,r-s/2),n=Math.max(n,r+s/2),i=Math.min(i,o-c/2),a=Math.max(a,o+c/2)}r.forEach(t.nodes(),(function(e){u(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.has(n,"x")&&u(n)})),e-=s,i-=c,r.forEach(t.nodes(),(function(n){var r=t.node(n);r.x-=e,r.y-=i})),r.forEach(t.edges(),(function(n){var a=t.edge(n);r.forEach(a.points,(function(t){t.x-=e,t.y-=i})),r.has(a,"x")&&(a.x-=e),r.has(a,"y")&&(a.y-=i)})),o.width=n-e+s,o.height=a-i+c}(t)})),e(" assignNodeIntersects",(function(){!function(t){r.forEach(t.edges(),(function(e){var n,r,i=t.edge(e),a=t.node(e.v),o=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=o,r=a),i.points.unshift(g.intersectRect(a,n)),i.points.push(g.intersectRect(o,r))}))}(t)})),e(" reversePoints",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);n.reversed&&n.points.reverse()}))}(t)})),e(" acyclic.undo",(function(){i.undo(t)}))}(e,n)})),n(" updateInputGraph",(function(){!function(t,e){r.forEach(t.nodes(),(function(n){var r=t.node(n),i=e.node(n);r&&(r.x=i.x,r.y=i.y,e.children(n).length&&(r.width=i.width,r.height=i.height))})),r.forEach(t.edges(),(function(n){var i=t.edge(n),a=e.edge(n);i.points=a.points,r.has(a,"x")&&(i.x=a.x,i.y=a.y)})),t.graph().width=e.graph().width,t.graph().height=e.graph().height}(t,e)}))}))};var m=["nodesep","edgesep","ranksep","marginx","marginy"],v={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},b=["acyclicer","ranker","rankdir","align"],x=["width","height"],_={width:0,height:0},k=["minlen","weight","width","height","labeloffset"],w={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function T(t,e){return r.mapValues(r.pick(t,e),Number)}function C(t){var e={};return r.forEach(t,(function(t,n){e[n.toLowerCase()]=t})),e}},38436:(t,e,n)=>{var r;try{r={cloneDeep:n(50361),constant:n(75703),defaults:n(91747),each:n(66073),filter:n(63105),find:n(13311),flatten:n(85564),forEach:n(84486),forIn:n(62620),has:n(18721),isUndefined:n(52353),last:n(10928),map:n(35161),mapValues:n(66604),max:n(6162),merge:n(82492),min:n(53632),minBy:n(22762),now:n(7771),pick:n(78718),range:n(96026),reduce:n(54061),sortBy:n(89734),uniqueId:n(73955),values:n(52628),zipObject:n(7287)}}catch(i){}r||(r=window._),t.exports=r},72981:(t,e,n)=>{var r=n(38436),i=n(11138);function a(t,e,n,o,s,c,u){var l=t.children(u);if(l.length){var h=i.addBorderNode(t,"_bt"),f=i.addBorderNode(t,"_bb"),d=t.node(u);t.setParent(h,u),d.borderTop=h,t.setParent(f,u),d.borderBottom=f,r.forEach(l,(function(r){a(t,e,n,o,s,c,r);var i=t.node(r),l=i.borderTop?i.borderTop:r,d=i.borderBottom?i.borderBottom:r,p=i.borderTop?o:2*o,g=l!==d?1:s-c[u]+1;t.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),t.setEdge(d,f,{weight:p,minlen:g,nestingEdge:!0})})),t.parent(u)||t.setEdge(e,h,{weight:0,minlen:s+c[u]})}else u!==e&&t.setEdge(e,u,{weight:0,minlen:n})}t.exports={run:function(t){var e=i.addDummyNode(t,"root",{},"_root"),n=function(t){var e={};function n(i,a){var o=t.children(i);o&&o.length&&r.forEach(o,(function(t){n(t,a+1)})),e[i]=a}return r.forEach(t.children(),(function(t){n(t,1)})),e}(t),o=r.max(r.values(n))-1,s=2*o+1;t.graph().nestingRoot=e,r.forEach(t.edges(),(function(e){t.edge(e).minlen*=s}));var c=function(t){return r.reduce(t.edges(),(function(e,n){return e+t.edge(n).weight}),0)}(t)+1;r.forEach(t.children(),(function(r){a(t,e,s,c,o,n,r)})),t.graph().nodeRankFactor=s},cleanup:function(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,r.forEach(t.edges(),(function(e){t.edge(e).nestingEdge&&t.removeEdge(e)}))}}},45995:(t,e,n)=>{"use strict";var r=n(38436),i=n(11138);t.exports={run:function(t){t.graph().dummyChains=[],r.forEach(t.edges(),(function(e){!function(t,e){var n,r,a,o=e.v,s=t.node(o).rank,c=e.w,u=t.node(c).rank,l=e.name,h=t.edge(e),f=h.labelRank;if(u===s+1)return;for(t.removeEdge(e),a=0,++s;s<u;++a,++s)h.points=[],r={width:0,height:0,edgeLabel:h,edgeObj:e,rank:s},n=i.addDummyNode(t,"edge",r,"_d"),s===f&&(r.width=h.width,r.height=h.height,r.dummy="edge-label",r.labelpos=h.labelpos),t.setEdge(o,n,{weight:h.weight},l),0===a&&t.graph().dummyChains.push(n),o=n;t.setEdge(o,c,{weight:h.weight},l)}(t,e)}))},undo:function(t){r.forEach(t.graph().dummyChains,(function(e){var n,r=t.node(e),i=r.edgeLabel;for(t.setEdge(r.edgeObj,i);r.dummy;)n=t.successors(e)[0],t.removeNode(e),i.points.push({x:r.x,y:r.y}),"edge-label"===r.dummy&&(i.x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),e=n,r=t.node(e)}))}}},55093:(t,e,n)=>{var r=n(38436);t.exports=function(t,e,n){var i,a={};r.forEach(n,(function(n){for(var r,o,s=t.parent(n);s;){if((r=t.parent(s))?(o=a[r],a[r]=s):(o=i,i=s),o&&o!==s)return void e.setEdge(o,s);s=r}}))}},35439:(t,e,n)=>{var r=n(38436);t.exports=function(t,e){return r.map(e,(function(e){var n=t.inEdges(e);if(n.length){var i=r.reduce(n,(function(e,n){var r=t.edge(n),i=t.node(n.v);return{sum:e.sum+r.weight*i.order,weight:e.weight+r.weight}}),{sum:0,weight:0});return{v:e,barycenter:i.sum/i.weight,weight:i.weight}}return{v:e}}))}},23128:(t,e,n)=>{var r=n(38436),i=n(70574).Graph;t.exports=function(t,e,n){var a=function(t){var e;for(;t.hasNode(e=r.uniqueId("_root")););return e}(t),o=new i({compound:!0}).setGraph({root:a}).setDefaultNodeLabel((function(e){return t.node(e)}));return r.forEach(t.nodes(),(function(i){var s=t.node(i),c=t.parent(i);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(o.setNode(i),o.setParent(i,c||a),r.forEach(t[n](i),(function(e){var n=e.v===i?e.w:e.v,a=o.edge(n,i),s=r.isUndefined(a)?0:a.weight;o.setEdge(n,i,{weight:t.edge(e).weight+s})})),r.has(s,"minRank")&&o.setNode(i,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))})),o}},56630:(t,e,n)=>{"use strict";var r=n(38436);function i(t,e,n){for(var i=r.zipObject(n,r.map(n,(function(t,e){return e}))),a=r.flatten(r.map(e,(function(e){return r.sortBy(r.map(t.outEdges(e),(function(e){return{pos:i[e.w],weight:t.edge(e).weight}})),"pos")})),!0),o=1;o<n.length;)o<<=1;var s=2*o-1;o-=1;var c=r.map(new Array(s),(function(){return 0})),u=0;return r.forEach(a.forEach((function(t){var e=t.pos+o;c[e]+=t.weight;for(var n=0;e>0;)e%2&&(n+=c[e+1]),c[e=e-1>>1]+=t.weight;u+=t.weight*n}))),u}t.exports=function(t,e){for(var n=0,r=1;r<e.length;++r)n+=i(t,e[r-1],e[r]);return n}},53408:(t,e,n)=>{"use strict";var r=n(38436),i=n(2588),a=n(56630),o=n(61026),s=n(23128),c=n(55093),u=n(70574).Graph,l=n(11138);function h(t,e,n){return r.map(e,(function(e){return s(t,e,n)}))}function f(t,e){var n=new u;r.forEach(t,(function(t){var i=t.graph().root,a=o(t,i,n,e);r.forEach(a.vs,(function(e,n){t.node(e).order=n})),c(t,n,a.vs)}))}function d(t,e){r.forEach(e,(function(e){r.forEach(e,(function(e,n){t.node(e).order=n}))}))}t.exports=function(t){var e=l.maxRank(t),n=h(t,r.range(1,e+1),"inEdges"),o=h(t,r.range(e-1,-1,-1),"outEdges"),s=i(t);d(t,s);for(var c,u=Number.POSITIVE_INFINITY,p=0,g=0;g<4;++p,++g){f(p%2?n:o,p%4>=2),s=l.buildLayerMatrix(t);var y=a(t,s);y<u&&(g=0,c=r.cloneDeep(s),u=y)}d(t,c)}},2588:(t,e,n)=>{"use strict";var r=n(38436);t.exports=function(t){var e={},n=r.filter(t.nodes(),(function(e){return!t.children(e).length})),i=r.max(r.map(n,(function(e){return t.node(e).rank}))),a=r.map(r.range(i+1),(function(){return[]}));var o=r.sortBy(n,(function(e){return t.node(e).rank}));return r.forEach(o,(function n(i){if(r.has(e,i))return;e[i]=!0;var o=t.node(i);a[o.rank].push(i),r.forEach(t.successors(i),n)})),a}},83678:(t,e,n)=>{"use strict";var r=n(38436);t.exports=function(t,e){var n={};return r.forEach(t,(function(t,e){var i=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};r.isUndefined(t.barycenter)||(i.barycenter=t.barycenter,i.weight=t.weight)})),r.forEach(e.edges(),(function(t){var e=n[t.v],i=n[t.w];r.isUndefined(e)||r.isUndefined(i)||(i.indegree++,e.out.push(n[t.w]))})),function(t){var e=[];function n(t){return function(e){e.merged||(r.isUndefined(e.barycenter)||r.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&function(t,e){var n=0,r=0;t.weight&&(n+=t.barycenter*t.weight,r+=t.weight);e.weight&&(n+=e.barycenter*e.weight,r+=e.weight);t.vs=e.vs.concat(t.vs),t.barycenter=n/r,t.weight=r,t.i=Math.min(e.i,t.i),e.merged=!0}(t,e)}}function i(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}for(;t.length;){var a=t.pop();e.push(a),r.forEach(a.in.reverse(),n(a)),r.forEach(a.out,i(a))}return r.map(r.filter(e,(function(t){return!t.merged})),(function(t){return r.pick(t,["vs","i","barycenter","weight"])}))}(r.filter(n,(function(t){return!t.indegree})))}},61026:(t,e,n)=>{var r=n(38436),i=n(35439),a=n(83678),o=n(87304);t.exports=function t(e,n,s,c){var u=e.children(n),l=e.node(n),h=l?l.borderLeft:void 0,f=l?l.borderRight:void 0,d={};h&&(u=r.filter(u,(function(t){return t!==h&&t!==f})));var p=i(e,u);r.forEach(p,(function(n){if(e.children(n.v).length){var i=t(e,n.v,s,c);d[n.v]=i,r.has(i,"barycenter")&&(a=n,o=i,r.isUndefined(a.barycenter)?(a.barycenter=o.barycenter,a.weight=o.weight):(a.barycenter=(a.barycenter*a.weight+o.barycenter*o.weight)/(a.weight+o.weight),a.weight+=o.weight))}var a,o}));var g=a(p,s);!function(t,e){r.forEach(t,(function(t){t.vs=r.flatten(t.vs.map((function(t){return e[t]?e[t].vs:t})),!0)}))}(g,d);var y=o(g,c);if(h&&(y.vs=r.flatten([h,y.vs,f],!0),e.predecessors(h).length)){var m=e.node(e.predecessors(h)[0]),v=e.node(e.predecessors(f)[0]);r.has(y,"barycenter")||(y.barycenter=0,y.weight=0),y.barycenter=(y.barycenter*y.weight+m.order+v.order)/(y.weight+2),y.weight+=2}return y}},87304:(t,e,n)=>{var r=n(38436),i=n(11138);function a(t,e,n){for(var i;e.length&&(i=r.last(e)).i<=n;)e.pop(),t.push(i.vs),n++;return n}t.exports=function(t,e){var n=i.partition(t,(function(t){return r.has(t,"barycenter")})),o=n.lhs,s=r.sortBy(n.rhs,(function(t){return-t.i})),c=[],u=0,l=0,h=0;o.sort((f=!!e,function(t,e){return t.barycenter<e.barycenter?-1:t.barycenter>e.barycenter?1:f?e.i-t.i:t.i-e.i})),h=a(c,s,h),r.forEach(o,(function(t){h+=t.vs.length,c.push(t.vs),u+=t.barycenter*t.weight,l+=t.weight,h=a(c,s,h)}));var f;var d={vs:r.flatten(c,!0)};l&&(d.barycenter=u/l,d.weight=l);return d}},24219:(t,e,n)=>{var r=n(38436);t.exports=function(t){var e=function(t){var e={},n=0;function i(a){var o=n;r.forEach(t.children(a),i),e[a]={low:o,lim:n++}}return r.forEach(t.children(),i),e}(t);r.forEach(t.graph().dummyChains,(function(n){for(var r=t.node(n),i=r.edgeObj,a=function(t,e,n,r){var i,a,o=[],s=[],c=Math.min(e[n].low,e[r].low),u=Math.max(e[n].lim,e[r].lim);i=n;do{i=t.parent(i),o.push(i)}while(i&&(e[i].low>c||u>e[i].lim));a=i,i=r;for(;(i=t.parent(i))!==a;)s.push(i);return{path:o.concat(s.reverse()),lca:a}}(t,e,i.v,i.w),o=a.path,s=a.lca,c=0,u=o[c],l=!0;n!==i.w;){if(r=t.node(n),l){for(;(u=o[c])!==s&&t.node(u).maxRank<r.rank;)c++;u===s&&(l=!1)}if(!l){for(;c<o.length-1&&t.node(u=o[c+1]).minRank<=r.rank;)c++;u=o[c]}t.setParent(n,u),n=t.successors(n)[0]}}))}},3573:(t,e,n)=>{"use strict";var r=n(38436),i=n(70574).Graph,a=n(11138);function o(t,e){var n={};return r.reduce(e,(function(e,i){var a=0,o=0,s=e.length,u=r.last(i);return r.forEach(i,(function(e,l){var h=function(t,e){if(t.node(e).dummy)return r.find(t.predecessors(e),(function(e){return t.node(e).dummy}))}(t,e),f=h?t.node(h).order:s;(h||e===u)&&(r.forEach(i.slice(o,l+1),(function(e){r.forEach(t.predecessors(e),(function(r){var i=t.node(r),o=i.order;!(o<a||f<o)||i.dummy&&t.node(e).dummy||c(n,r,e)}))})),o=l+1,a=f)})),i})),n}function s(t,e){var n={};function i(e,i,a,o,s){var u;r.forEach(r.range(i,a),(function(i){u=e[i],t.node(u).dummy&&r.forEach(t.predecessors(u),(function(e){var r=t.node(e);r.dummy&&(r.order<o||r.order>s)&&c(n,e,u)}))}))}return r.reduce(e,(function(e,n){var a,o=-1,s=0;return r.forEach(n,(function(r,c){if("border"===t.node(r).dummy){var u=t.predecessors(r);u.length&&(a=t.node(u[0]).order,i(n,s,c,o,a),s=c,o=a)}i(n,s,n.length,a,e.length)})),n})),n}function c(t,e,n){if(e>n){var r=e;e=n,n=r}var i=t[e];i||(t[e]=i={}),i[n]=!0}function u(t,e,n){if(e>n){var i=e;e=n,n=i}return r.has(t[e],n)}function l(t,e,n,i){var a={},o={},s={};return r.forEach(e,(function(t){r.forEach(t,(function(t,e){a[t]=t,o[t]=t,s[t]=e}))})),r.forEach(e,(function(t){var e=-1;r.forEach(t,(function(t){var c=i(t);if(c.length){c=r.sortBy(c,(function(t){return s[t]}));for(var l=(c.length-1)/2,h=Math.floor(l),f=Math.ceil(l);h<=f;++h){var d=c[h];o[t]===t&&e<s[d]&&!u(n,t,d)&&(o[d]=t,o[t]=a[t]=a[d],e=s[d])}}}))})),{root:a,align:o}}function h(t,e,n,a,o){var s={},c=function(t,e,n,a){var o=new i,s=t.graph(),c=function(t,e,n){return function(i,a,o){var s,c=i.node(a),u=i.node(o),l=0;if(l+=c.width/2,r.has(c,"labelpos"))switch(c.labelpos.toLowerCase()){case"l":s=-c.width/2;break;case"r":s=c.width/2}if(s&&(l+=n?s:-s),s=0,l+=(c.dummy?e:t)/2,l+=(u.dummy?e:t)/2,l+=u.width/2,r.has(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":s=u.width/2;break;case"r":s=-u.width/2}return s&&(l+=n?s:-s),s=0,l}}(s.nodesep,s.edgesep,a);return r.forEach(e,(function(e){var i;r.forEach(e,(function(e){var r=n[e];if(o.setNode(r),i){var a=n[i],s=o.edge(a,r);o.setEdge(a,r,Math.max(c(t,e,i),s||0))}i=e}))})),o}(t,e,n,o),u=o?"borderLeft":"borderRight";function l(t,e){for(var n=c.nodes(),r=n.pop(),i={};r;)i[r]?t(r):(i[r]=!0,n.push(r),n=n.concat(e(r))),r=n.pop()}return l((function(t){s[t]=c.inEdges(t).reduce((function(t,e){return Math.max(t,s[e.v]+c.edge(e))}),0)}),c.predecessors.bind(c)),l((function(e){var n=c.outEdges(e).reduce((function(t,e){return Math.min(t,s[e.w]-c.edge(e))}),Number.POSITIVE_INFINITY),r=t.node(e);n!==Number.POSITIVE_INFINITY&&r.borderType!==u&&(s[e]=Math.max(s[e],n))}),c.successors.bind(c)),r.forEach(a,(function(t){s[t]=s[n[t]]})),s}function f(t,e){return r.minBy(r.values(e),(function(e){var n=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;return r.forIn(e,(function(e,r){var a=function(t,e){return t.node(e).width}(t,r)/2;n=Math.max(e+a,n),i=Math.min(e-a,i)})),n-i}))}function d(t,e){var n=r.values(e),i=r.min(n),a=r.max(n);r.forEach(["u","d"],(function(n){r.forEach(["l","r"],(function(o){var s,c=n+o,u=t[c];if(u!==e){var l=r.values(u);(s="l"===o?i-r.min(l):a-r.max(l))&&(t[c]=r.mapValues(u,(function(t){return t+s})))}}))}))}function p(t,e){return r.mapValues(t.ul,(function(n,i){if(e)return t[e.toLowerCase()][i];var a=r.sortBy(r.map(t,i));return(a[1]+a[2])/2}))}t.exports={positionX:function(t){var e,n=a.buildLayerMatrix(t),i=r.merge(o(t,n),s(t,n)),c={};r.forEach(["u","d"],(function(a){e="u"===a?n:r.values(n).reverse(),r.forEach(["l","r"],(function(n){"r"===n&&(e=r.map(e,(function(t){return r.values(t).reverse()})));var o=("u"===a?t.predecessors:t.successors).bind(t),s=l(t,e,i,o),u=h(t,e,s.root,s.align,"r"===n);"r"===n&&(u=r.mapValues(u,(function(t){return-t}))),c[a+n]=u}))}));var u=f(t,c);return d(c,u),p(c,t.graph().align)},findType1Conflicts:o,findType2Conflicts:s,addConflict:c,hasConflict:u,verticalAlignment:l,horizontalCompaction:h,alignCoordinates:d,findSmallestWidthAlignment:f,balance:p}},17873:(t,e,n)=>{"use strict";var r=n(38436),i=n(11138),a=n(3573).positionX;t.exports=function(t){(function(t){var e=i.buildLayerMatrix(t),n=t.graph().ranksep,a=0;r.forEach(e,(function(e){var i=r.max(r.map(e,(function(e){return t.node(e).height})));r.forEach(e,(function(e){t.node(e).y=a+i/2})),a+=i+n}))})(t=i.asNonCompoundGraph(t)),r.forEach(a(t),(function(e,n){t.node(n).x=e}))}},20300:(t,e,n)=>{"use strict";var r=n(38436),i=n(70574).Graph,a=n(76681).slack;function o(t,e){return r.forEach(t.nodes(),(function n(i){r.forEach(e.nodeEdges(i),(function(r){var o=r.v,s=i===o?r.w:o;t.hasNode(s)||a(e,r)||(t.setNode(s,{}),t.setEdge(i,s,{}),n(s))}))})),t.nodeCount()}function s(t,e){return r.minBy(e.edges(),(function(n){if(t.hasNode(n.v)!==t.hasNode(n.w))return a(e,n)}))}function c(t,e,n){r.forEach(t.nodes(),(function(t){e.node(t).rank+=n}))}t.exports=function(t){var e,n,r=new i({directed:!1}),u=t.nodes()[0],l=t.nodeCount();r.setNode(u,{});for(;o(r,t)<l;)e=s(r,t),n=r.hasNode(e.v)?a(t,e):-a(t,e),c(r,t,n);return r}},78093:(t,e,n)=>{"use strict";var r=n(76681).longestPath,i=n(20300),a=n(42472);t.exports=function(t){switch(t.graph().ranker){case"network-simplex":default:s(t);break;case"tight-tree":!function(t){r(t),i(t)}(t);break;case"longest-path":o(t)}};var o=r;function s(t){a(t)}},42472:(t,e,n)=>{"use strict";var r=n(38436),i=n(20300),a=n(76681).slack,o=n(76681).longestPath,s=n(70574).alg.preorder,c=n(70574).alg.postorder,u=n(11138).simplify;function l(t){t=u(t),o(t);var e,n=i(t);for(d(n),h(n,t);e=g(n);)m(n,t,e,y(n,t,e))}function h(t,e){var n=c(t,t.nodes());n=n.slice(0,n.length-1),r.forEach(n,(function(n){!function(t,e,n){var r=t.node(n).parent;t.edge(n,r).cutvalue=f(t,e,n)}(t,e,n)}))}function f(t,e,n){var i=t.node(n).parent,a=!0,o=e.edge(n,i),s=0;return o||(a=!1,o=e.edge(i,n)),s=o.weight,r.forEach(e.nodeEdges(n),(function(r){var o,c,u=r.v===n,l=u?r.w:r.v;if(l!==i){var h=u===a,f=e.edge(r).weight;if(s+=h?f:-f,o=n,c=l,t.hasEdge(o,c)){var d=t.edge(n,l).cutvalue;s+=h?-d:d}}})),s}function d(t,e){arguments.length<2&&(e=t.nodes()[0]),p(t,{},1,e)}function p(t,e,n,i,a){var o=n,s=t.node(i);return e[i]=!0,r.forEach(t.neighbors(i),(function(a){r.has(e,a)||(n=p(t,e,n,a,i))})),s.low=o,s.lim=n++,a?s.parent=a:delete s.parent,n}function g(t){return r.find(t.edges(),(function(e){return t.edge(e).cutvalue<0}))}function y(t,e,n){var i=n.v,o=n.w;e.hasEdge(i,o)||(i=n.w,o=n.v);var s=t.node(i),c=t.node(o),u=s,l=!1;s.lim>c.lim&&(u=c,l=!0);var h=r.filter(e.edges(),(function(e){return l===v(t,t.node(e.v),u)&&l!==v(t,t.node(e.w),u)}));return r.minBy(h,(function(t){return a(e,t)}))}function m(t,e,n,i){var a=n.v,o=n.w;t.removeEdge(a,o),t.setEdge(i.v,i.w,{}),d(t),h(t,e),function(t,e){var n=r.find(t.nodes(),(function(t){return!e.node(t).parent})),i=s(t,n);i=i.slice(1),r.forEach(i,(function(n){var r=t.node(n).parent,i=e.edge(n,r),a=!1;i||(i=e.edge(r,n),a=!0),e.node(n).rank=e.node(r).rank+(a?i.minlen:-i.minlen)}))}(t,e)}function v(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}t.exports=l,l.initLowLimValues=d,l.initCutValues=h,l.calcCutValue=f,l.leaveEdge=g,l.enterEdge=y,l.exchangeEdges=m},76681:(t,e,n)=>{"use strict";var r=n(38436);t.exports={longestPath:function(t){var e={};r.forEach(t.sources(),(function n(i){var a=t.node(i);if(r.has(e,i))return a.rank;e[i]=!0;var o=r.min(r.map(t.outEdges(i),(function(e){return n(e.w)-t.edge(e).minlen})));return o!==Number.POSITIVE_INFINITY&&null!=o||(o=0),a.rank=o}))},slack:function(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}}},11138:(t,e,n)=>{"use strict";var r=n(38436),i=n(70574).Graph;function a(t,e,n,i){var a;do{a=r.uniqueId(i)}while(t.hasNode(a));return n.dummy=e,t.setNode(a,n),a}function o(t){return r.max(r.map(t.nodes(),(function(e){var n=t.node(e).rank;if(!r.isUndefined(n))return n})))}t.exports={addDummyNode:a,simplify:function(t){var e=(new i).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){var r=e.edge(n.v,n.w)||{weight:0,minlen:1},i=t.edge(n);e.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})})),e},asNonCompoundGraph:function(t){var e=new i({multigraph:t.isMultigraph()}).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){t.children(n).length||e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){e.setEdge(n,t.edge(n))})),e},successorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.outEdges(e),(function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},predecessorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.inEdges(e),(function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},intersectRect:function(t,e){var n,r,i=t.x,a=t.y,o=e.x-i,s=e.y-a,c=t.width/2,u=t.height/2;if(!o&&!s)throw new Error("Not possible to find intersection inside of the rectangle");Math.abs(s)*c>Math.abs(o)*u?(s<0&&(u=-u),n=u*o/s,r=u):(o<0&&(c=-c),n=c,r=c*s/o);return{x:i+n,y:a+r}},buildLayerMatrix:function(t){var e=r.map(r.range(o(t)+1),(function(){return[]}));return r.forEach(t.nodes(),(function(n){var i=t.node(n),a=i.rank;r.isUndefined(a)||(e[a][i.order]=n)})),e},normalizeRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank})));r.forEach(t.nodes(),(function(n){var i=t.node(n);r.has(i,"rank")&&(i.rank-=e)}))},removeEmptyRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank}))),n=[];r.forEach(t.nodes(),(function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)}));var i=0,a=t.graph().nodeRankFactor;r.forEach(n,(function(e,n){r.isUndefined(e)&&n%a!=0?--i:i&&r.forEach(e,(function(e){t.node(e).rank+=i}))}))},addBorderNode:function(t,e,n,r){var i={width:0,height:0};arguments.length>=4&&(i.rank=n,i.order=r);return a(t,"border",i,e)},maxRank:o,partition:function(t,e){var n={lhs:[],rhs:[]};return r.forEach(t,(function(t){e(t)?n.lhs.push(t):n.rhs.push(t)})),n},time:function(t,e){var n=r.now();try{return e()}finally{console.log(t+" time: "+(r.now()-n)+"ms")}},notime:function(t,e){return e()}}},88177:t=>{t.exports="0.8.5"},27856:function(t){t.exports=function(){"use strict";function t(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}var e=Object.hasOwnProperty,n=Object.setPrototypeOf,r=Object.isFrozen,i=Object.getPrototypeOf,a=Object.getOwnPropertyDescriptor,o=Object.freeze,s=Object.seal,c=Object.create,u="undefined"!=typeof Reflect&&Reflect,l=u.apply,h=u.construct;l||(l=function(t,e,n){return t.apply(e,n)}),o||(o=function(t){return t}),s||(s=function(t){return t}),h||(h=function(e,n){return new(Function.prototype.bind.apply(e,[null].concat(t(n))))});var f=k(Array.prototype.forEach),d=k(Array.prototype.pop),p=k(Array.prototype.push),g=k(String.prototype.toLowerCase),y=k(String.prototype.match),m=k(String.prototype.replace),v=k(String.prototype.indexOf),b=k(String.prototype.trim),x=k(RegExp.prototype.test),_=w(TypeError);function k(t){return function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return l(t,e,r)}}function w(t){return function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return h(t,n)}}function E(t,e){n&&n(t,null);for(var i=e.length;i--;){var a=e[i];if("string"==typeof a){var o=g(a);o!==a&&(r(e)||(e[i]=o),a=o)}t[a]=!0}return t}function T(t){var n=c(null),r=void 0;for(r in t)l(e,t,[r])&&(n[r]=t[r]);return n}function C(t,e){for(;null!==t;){var n=a(t,e);if(n){if(n.get)return k(n.get);if("function"==typeof n.value)return k(n.value)}t=i(t)}function r(t){return console.warn("fallback value for",t),null}return r}var S=o(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),A=o(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),O=o(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),M=o(["animate","color-profile","cursor","discard","fedropshadow","feimage","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),j=o(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),D=o(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),N=o(["#text"]),B=o(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),L=o(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),I=o(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),R=o(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),F=s(/\{\{[\s\S]*|[\s\S]*\}\}/gm),P=s(/<%[\s\S]*|[\s\S]*%>/gm),z=s(/^data-[\-\w.\u00B7-\uFFFF]/),Y=s(/^aria-[\-\w]+$/),U=s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),q=s(/^(?:\w+script|data):/i),W=s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),$="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function H(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}var V=function(){return"undefined"==typeof window?null:window},G=function(t,e){if("object"!==(void 0===t?"undefined":$(t))||"function"!=typeof t.createPolicy)return null;var n=null,r="data-tt-policy-suffix";e.currentScript&&e.currentScript.hasAttribute(r)&&(n=e.currentScript.getAttribute(r));var i="dompurify"+(n?"#"+n:"");try{return t.createPolicy(i,{createHTML:function(t){return t}})}catch(a){return console.warn("TrustedTypes policy "+i+" could not be created."),null}};function X(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:V(),e=function(t){return X(t)};if(e.version="2.3.0",e.removed=[],!t||!t.document||9!==t.document.nodeType)return e.isSupported=!1,e;var n=t.document,r=t.document,i=t.DocumentFragment,a=t.HTMLTemplateElement,s=t.Node,c=t.Element,u=t.NodeFilter,l=t.NamedNodeMap,h=void 0===l?t.NamedNodeMap||t.MozNamedAttrMap:l,k=t.Text,w=t.Comment,Z=t.DOMParser,K=t.trustedTypes,Q=c.prototype,J=C(Q,"cloneNode"),tt=C(Q,"nextSibling"),et=C(Q,"childNodes"),nt=C(Q,"parentNode");if("function"==typeof a){var rt=r.createElement("template");rt.content&&rt.content.ownerDocument&&(r=rt.content.ownerDocument)}var it=G(K,n),at=it&&Rt?it.createHTML(""):"",ot=r,st=ot.implementation,ct=ot.createNodeIterator,ut=ot.createDocumentFragment,lt=ot.getElementsByTagName,ht=n.importNode,ft={};try{ft=T(r).documentMode?r.documentMode:{}}catch(me){}var dt={};e.isSupported="function"==typeof nt&&st&&void 0!==st.createHTMLDocument&&9!==ft;var pt=F,gt=P,yt=z,mt=Y,vt=q,bt=W,xt=U,_t=null,kt=E({},[].concat(H(S),H(A),H(O),H(j),H(N))),wt=null,Et=E({},[].concat(H(B),H(L),H(I),H(R))),Tt=null,Ct=null,St=!0,At=!0,Ot=!1,Mt=!1,jt=!1,Dt=!1,Nt=!1,Bt=!1,Lt=!1,It=!0,Rt=!1,Ft=!0,Pt=!0,zt=!1,Yt={},Ut=E({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),qt=null,Wt=E({},["audio","video","img","source","image","track"]),$t=null,Ht=E({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),Vt="http://www.w3.org/1998/Math/MathML",Gt="http://www.w3.org/2000/svg",Xt="http://www.w3.org/1999/xhtml",Zt=Xt,Kt=!1,Qt=null,Jt=r.createElement("form"),te=function(t){Qt&&Qt===t||(t&&"object"===(void 0===t?"undefined":$(t))||(t={}),t=T(t),_t="ALLOWED_TAGS"in t?E({},t.ALLOWED_TAGS):kt,wt="ALLOWED_ATTR"in t?E({},t.ALLOWED_ATTR):Et,$t="ADD_URI_SAFE_ATTR"in t?E(T(Ht),t.ADD_URI_SAFE_ATTR):Ht,qt="ADD_DATA_URI_TAGS"in t?E(T(Wt),t.ADD_DATA_URI_TAGS):Wt,Tt="FORBID_TAGS"in t?E({},t.FORBID_TAGS):{},Ct="FORBID_ATTR"in t?E({},t.FORBID_ATTR):{},Yt="USE_PROFILES"in t&&t.USE_PROFILES,St=!1!==t.ALLOW_ARIA_ATTR,At=!1!==t.ALLOW_DATA_ATTR,Ot=t.ALLOW_UNKNOWN_PROTOCOLS||!1,Mt=t.SAFE_FOR_TEMPLATES||!1,jt=t.WHOLE_DOCUMENT||!1,Bt=t.RETURN_DOM||!1,Lt=t.RETURN_DOM_FRAGMENT||!1,It=!1!==t.RETURN_DOM_IMPORT,Rt=t.RETURN_TRUSTED_TYPE||!1,Nt=t.FORCE_BODY||!1,Ft=!1!==t.SANITIZE_DOM,Pt=!1!==t.KEEP_CONTENT,zt=t.IN_PLACE||!1,xt=t.ALLOWED_URI_REGEXP||xt,Zt=t.NAMESPACE||Xt,Mt&&(At=!1),Lt&&(Bt=!0),Yt&&(_t=E({},[].concat(H(N))),wt=[],!0===Yt.html&&(E(_t,S),E(wt,B)),!0===Yt.svg&&(E(_t,A),E(wt,L),E(wt,R)),!0===Yt.svgFilters&&(E(_t,O),E(wt,L),E(wt,R)),!0===Yt.mathMl&&(E(_t,j),E(wt,I),E(wt,R))),t.ADD_TAGS&&(_t===kt&&(_t=T(_t)),E(_t,t.ADD_TAGS)),t.ADD_ATTR&&(wt===Et&&(wt=T(wt)),E(wt,t.ADD_ATTR)),t.ADD_URI_SAFE_ATTR&&E($t,t.ADD_URI_SAFE_ATTR),Pt&&(_t["#text"]=!0),jt&&E(_t,["html","head","body"]),_t.table&&(E(_t,["tbody"]),delete Tt.tbody),o&&o(t),Qt=t)},ee=E({},["mi","mo","mn","ms","mtext"]),ne=E({},["foreignobject","desc","title","annotation-xml"]),re=E({},A);E(re,O),E(re,M);var ie=E({},j);E(ie,D);var ae=function(t){var e=nt(t);e&&e.tagName||(e={namespaceURI:Xt,tagName:"template"});var n=g(t.tagName),r=g(e.tagName);if(t.namespaceURI===Gt)return e.namespaceURI===Xt?"svg"===n:e.namespaceURI===Vt?"svg"===n&&("annotation-xml"===r||ee[r]):Boolean(re[n]);if(t.namespaceURI===Vt)return e.namespaceURI===Xt?"math"===n:e.namespaceURI===Gt?"math"===n&&ne[r]:Boolean(ie[n]);if(t.namespaceURI===Xt){if(e.namespaceURI===Gt&&!ne[r])return!1;if(e.namespaceURI===Vt&&!ee[r])return!1;var i=E({},["title","style","font","a","script"]);return!ie[n]&&(i[n]||!re[n])}return!1},oe=function(t){p(e.removed,{element:t});try{t.parentNode.removeChild(t)}catch(me){try{t.outerHTML=at}catch(me){t.remove()}}},se=function(t,n){try{p(e.removed,{attribute:n.getAttributeNode(t),from:n})}catch(me){p(e.removed,{attribute:null,from:n})}if(n.removeAttribute(t),"is"===t&&!wt[t])if(Bt||Lt)try{oe(n)}catch(me){}else try{n.setAttribute(t,"")}catch(me){}},ce=function(t){var e=void 0,n=void 0;if(Nt)t="<remove></remove>"+t;else{var i=y(t,/^[\r\n\t ]+/);n=i&&i[0]}var a=it?it.createHTML(t):t;if(Zt===Xt)try{e=(new Z).parseFromString(a,"text/html")}catch(me){}if(!e||!e.documentElement){e=st.createDocument(Zt,"template",null);try{e.documentElement.innerHTML=Kt?"":a}catch(me){}}var o=e.body||e.documentElement;return t&&n&&o.insertBefore(r.createTextNode(n),o.childNodes[0]||null),Zt===Xt?lt.call(e,jt?"html":"body")[0]:jt?e.documentElement:o},ue=function(t){return ct.call(t.ownerDocument||t,t,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT,null,!1)},le=function(t){return!(t instanceof k||t instanceof w||"string"==typeof t.nodeName&&"string"==typeof t.textContent&&"function"==typeof t.removeChild&&t.attributes instanceof h&&"function"==typeof t.removeAttribute&&"function"==typeof t.setAttribute&&"string"==typeof t.namespaceURI&&"function"==typeof t.insertBefore)},he=function(t){return"object"===(void 0===s?"undefined":$(s))?t instanceof s:t&&"object"===(void 0===t?"undefined":$(t))&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName},fe=function(t,n,r){dt[t]&&f(dt[t],(function(t){t.call(e,n,r,Qt)}))},de=function(t){var n=void 0;if(fe("beforeSanitizeElements",t,null),le(t))return oe(t),!0;if(y(t.nodeName,/[\u0080-\uFFFF]/))return oe(t),!0;var r=g(t.nodeName);if(fe("uponSanitizeElement",t,{tagName:r,allowedTags:_t}),!he(t.firstElementChild)&&(!he(t.content)||!he(t.content.firstElementChild))&&x(/<[/\w]/g,t.innerHTML)&&x(/<[/\w]/g,t.textContent))return oe(t),!0;if(!_t[r]||Tt[r]){if(Pt&&!Ut[r]){var i=nt(t)||t.parentNode,a=et(t)||t.childNodes;if(a&&i)for(var o=a.length-1;o>=0;--o)i.insertBefore(J(a[o],!0),tt(t))}return oe(t),!0}return t instanceof c&&!ae(t)?(oe(t),!0):"noscript"!==r&&"noembed"!==r||!x(/<\/no(script|embed)/i,t.innerHTML)?(Mt&&3===t.nodeType&&(n=t.textContent,n=m(n,pt," "),n=m(n,gt," "),t.textContent!==n&&(p(e.removed,{element:t.cloneNode()}),t.textContent=n)),fe("afterSanitizeElements",t,null),!1):(oe(t),!0)},pe=function(t,e,n){if(Ft&&("id"===e||"name"===e)&&(n in r||n in Jt))return!1;if(At&&!Ct[e]&&x(yt,e));else if(St&&x(mt,e));else{if(!wt[e]||Ct[e])return!1;if($t[e]);else if(x(xt,m(n,bt,"")));else if("src"!==e&&"xlink:href"!==e&&"href"!==e||"script"===t||0!==v(n,"data:")||!qt[t])if(Ot&&!x(vt,m(n,bt,"")));else if(n)return!1}return!0},ge=function(t){var n=void 0,r=void 0,i=void 0,a=void 0;fe("beforeSanitizeAttributes",t,null);var o=t.attributes;if(o){var s={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:wt};for(a=o.length;a--;){var c=n=o[a],u=c.name,l=c.namespaceURI;if(r=b(n.value),i=g(u),s.attrName=i,s.attrValue=r,s.keepAttr=!0,s.forceKeepAttr=void 0,fe("uponSanitizeAttribute",t,s),r=s.attrValue,!s.forceKeepAttr&&(se(u,t),s.keepAttr))if(x(/\/>/i,r))se(u,t);else{Mt&&(r=m(r,pt," "),r=m(r,gt," "));var h=t.nodeName.toLowerCase();if(pe(h,i,r))try{l?t.setAttributeNS(l,u,r):t.setAttribute(u,r),d(e.removed)}catch(me){}}}fe("afterSanitizeAttributes",t,null)}},ye=function t(e){var n=void 0,r=ue(e);for(fe("beforeSanitizeShadowDOM",e,null);n=r.nextNode();)fe("uponSanitizeShadowNode",n,null),de(n)||(n.content instanceof i&&t(n.content),ge(n));fe("afterSanitizeShadowDOM",e,null)};return e.sanitize=function(r,a){var o=void 0,c=void 0,u=void 0,l=void 0,h=void 0;if((Kt=!r)&&(r="\x3c!--\x3e"),"string"!=typeof r&&!he(r)){if("function"!=typeof r.toString)throw _("toString is not a function");if("string"!=typeof(r=r.toString()))throw _("dirty is not a string, aborting")}if(!e.isSupported){if("object"===$(t.toStaticHTML)||"function"==typeof t.toStaticHTML){if("string"==typeof r)return t.toStaticHTML(r);if(he(r))return t.toStaticHTML(r.outerHTML)}return r}if(Dt||te(a),e.removed=[],"string"==typeof r&&(zt=!1),zt);else if(r instanceof s)1===(c=(o=ce("\x3c!----\x3e")).ownerDocument.importNode(r,!0)).nodeType&&"BODY"===c.nodeName||"HTML"===c.nodeName?o=c:o.appendChild(c);else{if(!Bt&&!Mt&&!jt&&-1===r.indexOf("<"))return it&&Rt?it.createHTML(r):r;if(!(o=ce(r)))return Bt?null:at}o&&Nt&&oe(o.firstChild);for(var f=ue(zt?r:o);u=f.nextNode();)3===u.nodeType&&u===l||de(u)||(u.content instanceof i&&ye(u.content),ge(u),l=u);if(l=null,zt)return r;if(Bt){if(Lt)for(h=ut.call(o.ownerDocument);o.firstChild;)h.appendChild(o.firstChild);else h=o;return It&&(h=ht.call(n,h,!0)),h}var d=jt?o.outerHTML:o.innerHTML;return Mt&&(d=m(d,pt," "),d=m(d,gt," ")),it&&Rt?it.createHTML(d):d},e.setConfig=function(t){te(t),Dt=!0},e.clearConfig=function(){Qt=null,Dt=!1},e.isValidAttribute=function(t,e,n){Qt||te({});var r=g(t),i=g(e);return pe(r,i,n)},e.addHook=function(t,e){"function"==typeof e&&(dt[t]=dt[t]||[],p(dt[t],e))},e.removeHook=function(t){dt[t]&&d(dt[t])},e.removeHooks=function(t){dt[t]&&(dt[t]=[])},e.removeAllHooks=function(){dt={}},e}return X()}()},28282:(t,e,n)=>{var r=n(82354);t.exports={Graph:r.Graph,json:n(28974),alg:n(12440),version:r.version}},2842:(t,e,n)=>{var r=n(89126);t.exports=function(t){var e,n={},i=[];function a(i){r.has(n,i)||(n[i]=!0,e.push(i),r.each(t.successors(i),a),r.each(t.predecessors(i),a))}return r.each(t.nodes(),(function(t){e=[],a(t),e.length&&i.push(e)})),i}},53984:(t,e,n)=>{var r=n(89126);function i(t,e,n,a,o,s){r.has(a,e)||(a[e]=!0,n||s.push(e),r.each(o(e),(function(e){i(t,e,n,a,o,s)})),n&&s.push(e))}t.exports=function(t,e,n){r.isArray(e)||(e=[e]);var a=(t.isDirected()?t.successors:t.neighbors).bind(t),o=[],s={};return r.each(e,(function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);i(t,e,"post"===n,s,a,o)})),o}},84847:(t,e,n)=>{var r=n(63763),i=n(89126);t.exports=function(t,e,n){return i.transform(t.nodes(),(function(i,a){i[a]=r(t,a,e,n)}),{})}},63763:(t,e,n)=>{var r=n(89126),i=n(75639);t.exports=function(t,e,n,r){return function(t,e,n,r){var a,o,s={},c=new i,u=function(t){var e=t.v!==a?t.v:t.w,r=s[e],i=n(t),u=o.distance+i;if(i<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+i);u<r.distance&&(r.distance=u,r.predecessor=a,c.decrease(e,u))};t.nodes().forEach((function(t){var n=t===e?0:Number.POSITIVE_INFINITY;s[t]={distance:n},c.add(t,n)}));for(;c.size()>0&&(a=c.removeMin(),(o=s[a]).distance!==Number.POSITIVE_INFINITY);)r(a).forEach(u);return s}(t,String(e),n||a,r||function(e){return t.outEdges(e)})};var a=r.constant(1)},9096:(t,e,n)=>{var r=n(89126),i=n(5023);t.exports=function(t){return r.filter(i(t),(function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])}))}},38924:(t,e,n)=>{var r=n(89126);t.exports=function(t,e,n){return function(t,e,n){var r={},i=t.nodes();return i.forEach((function(t){r[t]={},r[t][t]={distance:0},i.forEach((function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})})),n(t).forEach((function(n){var i=n.v===t?n.w:n.v,a=e(n);r[t][i]={distance:a,predecessor:t}}))})),i.forEach((function(t){var e=r[t];i.forEach((function(n){var a=r[n];i.forEach((function(n){var r=a[t],i=e[n],o=a[n],s=r.distance+i.distance;s<o.distance&&(o.distance=s,o.predecessor=i.predecessor)}))}))})),r}(t,e||i,n||function(e){return t.outEdges(e)})};var i=r.constant(1)},12440:(t,e,n)=>{t.exports={components:n(2842),dijkstra:n(63763),dijkstraAll:n(84847),findCycles:n(9096),floydWarshall:n(38924),isAcyclic:n(62707),postorder:n(58828),preorder:n(92648),prim:n(80514),tarjan:n(5023),topsort:n(2166)}},62707:(t,e,n)=>{var r=n(2166);t.exports=function(t){try{r(t)}catch(e){if(e instanceof r.CycleException)return!1;throw e}return!0}},58828:(t,e,n)=>{var r=n(53984);t.exports=function(t,e){return r(t,e,"post")}},92648:(t,e,n)=>{var r=n(53984);t.exports=function(t,e){return r(t,e,"pre")}},80514:(t,e,n)=>{var r=n(89126),i=n(30771),a=n(75639);t.exports=function(t,e){var n,o=new i,s={},c=new a;function u(t){var r=t.v===n?t.w:t.v,i=c.priority(r);if(void 0!==i){var a=e(t);a<i&&(s[r]=n,c.decrease(r,a))}}if(0===t.nodeCount())return o;r.each(t.nodes(),(function(t){c.add(t,Number.POSITIVE_INFINITY),o.setNode(t)})),c.decrease(t.nodes()[0],0);var l=!1;for(;c.size()>0;){if(n=c.removeMin(),r.has(s,n))o.setEdge(n,s[n]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(n).forEach(u)}return o}},5023:(t,e,n)=>{var r=n(89126);t.exports=function(t){var e=0,n=[],i={},a=[];function o(s){var c=i[s]={onStack:!0,lowlink:e,index:e++};if(n.push(s),t.successors(s).forEach((function(t){r.has(i,t)?i[t].onStack&&(c.lowlink=Math.min(c.lowlink,i[t].index)):(o(t),c.lowlink=Math.min(c.lowlink,i[t].lowlink))})),c.lowlink===c.index){var u,l=[];do{u=n.pop(),i[u].onStack=!1,l.push(u)}while(s!==u);a.push(l)}}return t.nodes().forEach((function(t){r.has(i,t)||o(t)})),a}},2166:(t,e,n)=>{var r=n(89126);function i(t){var e={},n={},i=[];if(r.each(t.sinks(),(function o(s){if(r.has(n,s))throw new a;r.has(e,s)||(n[s]=!0,e[s]=!0,r.each(t.predecessors(s),o),delete n[s],i.push(s))})),r.size(e)!==t.nodeCount())throw new a;return i}function a(){}t.exports=i,i.CycleException=a,a.prototype=new Error},75639:(t,e,n)=>{var r=n(89126);function i(){this._arr=[],this._keyIndices={}}t.exports=i,i.prototype.size=function(){return this._arr.length},i.prototype.keys=function(){return this._arr.map((function(t){return t.key}))},i.prototype.has=function(t){return r.has(this._keyIndices,t)},i.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},i.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},i.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!r.has(n,t)){var i=this._arr,a=i.length;return n[t]=a,i.push({key:t,priority:e}),this._decrease(a),!0}return!1},i.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},i.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},i.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n<e.length&&(i=e[n].priority<e[i].priority?n:i,r<e.length&&(i=e[r].priority<e[i].priority?r:i),i!==t&&(this._swap(t,i),this._heapify(i)))},i.prototype._decrease=function(t){for(var e,n=this._arr,r=n[t].priority;0!==t&&!(n[e=t>>1].priority<r);)this._swap(t,e),t=e},i.prototype._swap=function(t,e){var n=this._arr,r=this._keyIndices,i=n[t],a=n[e];n[t]=a,n[e]=i,r[a.key]=t,r[i.key]=e}},30771:(t,e,n)=>{"use strict";var r=n(89126);t.exports=a;var i="\0";function a(t){this._isDirected=!r.has(t,"directed")||t.directed,this._isMultigraph=!!r.has(t,"multigraph")&&t.multigraph,this._isCompound=!!r.has(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=r.constant(void 0),this._defaultEdgeLabelFn=r.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children["\0"]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function o(t,e){t[e]?t[e]++:t[e]=1}function s(t,e){--t[e]||delete t[e]}function c(t,e,n,i){var a=""+e,o=""+n;if(!t&&a>o){var s=a;a=o,o=s}return a+"\x01"+o+"\x01"+(r.isUndefined(i)?"\0":i)}function u(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var o=i;i=a,a=o}var s={v:i,w:a};return r&&(s.name=r),s}function l(t,e){return c(t,e.v,e.w,e.name)}a.prototype._nodeCount=0,a.prototype._edgeCount=0,a.prototype.isDirected=function(){return this._isDirected},a.prototype.isMultigraph=function(){return this._isMultigraph},a.prototype.isCompound=function(){return this._isCompound},a.prototype.setGraph=function(t){return this._label=t,this},a.prototype.graph=function(){return this._label},a.prototype.setDefaultNodeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultNodeLabelFn=t,this},a.prototype.nodeCount=function(){return this._nodeCount},a.prototype.nodes=function(){return r.keys(this._nodes)},a.prototype.sources=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._in[e])}))},a.prototype.sinks=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._out[e])}))},a.prototype.setNodes=function(t,e){var n=arguments,i=this;return r.each(t,(function(t){n.length>1?i.setNode(t,e):i.setNode(t)})),this},a.prototype.setNode=function(t,e){return r.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=i,this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},a.prototype.node=function(t){return this._nodes[t]},a.prototype.hasNode=function(t){return r.has(this._nodes,t)},a.prototype.removeNode=function(t){var e=this;if(r.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],r.each(this.children(t),(function(t){e.setParent(t)})),delete this._children[t]),r.each(r.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],r.each(r.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},a.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(e))e=i;else{for(var n=e+="";!r.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},a.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},a.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==i)return e}},a.prototype.children=function(t){if(r.isUndefined(t)&&(t=i),this._isCompound){var e=this._children[t];if(e)return r.keys(e)}else{if(t===i)return this.nodes();if(this.hasNode(t))return[]}},a.prototype.predecessors=function(t){var e=this._preds[t];if(e)return r.keys(e)},a.prototype.successors=function(t){var e=this._sucs[t];if(e)return r.keys(e)},a.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return r.union(e,this.successors(t))},a.prototype.isLeaf=function(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length},a.prototype.filterNodes=function(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;r.each(this._nodes,(function(n,r){t(r)&&e.setNode(r,n)})),r.each(this._edgeObjs,(function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t))}));var i={};function a(t){var r=n.parent(t);return void 0===r||e.hasNode(r)?(i[t]=r,r):r in i?i[r]:a(r)}return this._isCompound&&r.each(e.nodes(),(function(t){e.setParent(t,a(t))})),e},a.prototype.setDefaultEdgeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultEdgeLabelFn=t,this},a.prototype.edgeCount=function(){return this._edgeCount},a.prototype.edges=function(){return r.values(this._edgeObjs)},a.prototype.setPath=function(t,e){var n=this,i=arguments;return r.reduce(t,(function(t,r){return i.length>1?n.setEdge(t,r,e):n.setEdge(t,r),r})),this},a.prototype.setEdge=function(){var t,e,n,i,a=!1,s=arguments[0];"object"==typeof s&&null!==s&&"v"in s?(t=s.v,e=s.w,n=s.name,2===arguments.length&&(i=arguments[1],a=!0)):(t=s,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),t=""+t,e=""+e,r.isUndefined(n)||(n=""+n);var l=c(this._isDirected,t,e,n);if(r.has(this._edgeLabels,l))return a&&(this._edgeLabels[l]=i),this;if(!r.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[l]=a?i:this._defaultEdgeLabelFn(t,e,n);var h=u(this._isDirected,t,e,n);return t=h.v,e=h.w,Object.freeze(h),this._edgeObjs[l]=h,o(this._preds[e],t),o(this._sucs[t],e),this._in[e][l]=h,this._out[t][l]=h,this._edgeCount++,this},a.prototype.edge=function(t,e,n){var r=1===arguments.length?l(this._isDirected,arguments[0]):c(this._isDirected,t,e,n);return this._edgeLabels[r]},a.prototype.hasEdge=function(t,e,n){var i=1===arguments.length?l(this._isDirected,arguments[0]):c(this._isDirected,t,e,n);return r.has(this._edgeLabels,i)},a.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?l(this._isDirected,arguments[0]):c(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],s(this._preds[e],t),s(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},a.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.v===e})):i}},a.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.w===e})):i}},a.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},82354:(t,e,n)=>{t.exports={Graph:n(30771),version:n(49631)}},28974:(t,e,n)=>{var r=n(89126),i=n(30771);function a(t){return r.map(t.nodes(),(function(e){var n=t.node(e),i=t.parent(e),a={v:e};return r.isUndefined(n)||(a.value=n),r.isUndefined(i)||(a.parent=i),a}))}function o(t){return r.map(t.edges(),(function(e){var n=t.edge(e),i={v:e.v,w:e.w};return r.isUndefined(e.name)||(i.name=e.name),r.isUndefined(n)||(i.value=n),i}))}t.exports={write:function(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:a(t),edges:o(t)};r.isUndefined(t.graph())||(e.value=r.clone(t.graph()));return e},read:function(t){var e=new i(t.options).setGraph(t.value);return r.each(t.nodes,(function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)})),r.each(t.edges,(function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)})),e}}},89126:(t,e,n)=>{var r;try{r={clone:n(66678),constant:n(75703),each:n(66073),filter:n(63105),has:n(18721),isArray:n(1469),isEmpty:n(41609),isFunction:n(23560),isUndefined:n(52353),keys:n(3674),map:n(35161),reduce:n(54061),size:n(84238),transform:n(68718),union:n(93386),values:n(52628)}}catch(i){}r||(r=window._),t.exports=r},49631:t=>{t.exports="2.1.8"},61773:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(81083),i=n(7628),a=function(){function t(t,e){this.color=e,this.changed=!1,this.data=t,this.type=new i.default}return t.prototype.set=function(t,e){return this.color=e,this.changed=!1,this.data=t,this.type.type=0,this},t.prototype._ensureHSL=function(){var t=this.data,e=t.h,n=t.s,i=t.l;void 0===e&&(t.h=r.default.channel.rgb2hsl(t,"h")),void 0===n&&(t.s=r.default.channel.rgb2hsl(t,"s")),void 0===i&&(t.l=r.default.channel.rgb2hsl(t,"l"))},t.prototype._ensureRGB=function(){var t=this.data,e=t.r,n=t.g,i=t.b;void 0===e&&(t.r=r.default.channel.hsl2rgb(t,"r")),void 0===n&&(t.g=r.default.channel.hsl2rgb(t,"g")),void 0===i&&(t.b=r.default.channel.hsl2rgb(t,"b"))},Object.defineProperty(t.prototype,"r",{get:function(){var t=this.data,e=t.r;return this.type.is(2)||void 0===e?(this._ensureHSL(),r.default.channel.hsl2rgb(t,"r")):e},set:function(t){this.type.set(1),this.changed=!0,this.data.r=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"g",{get:function(){var t=this.data,e=t.g;return this.type.is(2)||void 0===e?(this._ensureHSL(),r.default.channel.hsl2rgb(t,"g")):e},set:function(t){this.type.set(1),this.changed=!0,this.data.g=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"b",{get:function(){var t=this.data,e=t.b;return this.type.is(2)||void 0===e?(this._ensureHSL(),r.default.channel.hsl2rgb(t,"b")):e},set:function(t){this.type.set(1),this.changed=!0,this.data.b=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"h",{get:function(){var t=this.data,e=t.h;return this.type.is(1)||void 0===e?(this._ensureRGB(),r.default.channel.rgb2hsl(t,"h")):e},set:function(t){this.type.set(2),this.changed=!0,this.data.h=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"s",{get:function(){var t=this.data,e=t.s;return this.type.is(1)||void 0===e?(this._ensureRGB(),r.default.channel.rgb2hsl(t,"s")):e},set:function(t){this.type.set(2),this.changed=!0,this.data.s=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"l",{get:function(){var t=this.data,e=t.l;return this.type.is(1)||void 0===e?(this._ensureRGB(),r.default.channel.rgb2hsl(t,"l")):e},set:function(t){this.type.set(2),this.changed=!0,this.data.l=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"a",{get:function(){return this.data.a},set:function(t){this.changed=!0,this.data.a=t},enumerable:!0,configurable:!0}),t}();e.default=a},28167:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=new(n(61773).default)({r:0,g:0,b:0,a:0},"transparent");e.default=r},7628:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){this.type=0}return t.prototype.get=function(){return this.type},t.prototype.set=function(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t},t.prototype.reset=function(){this.type=0},t.prototype.is=function(t){return this.type===t},t}();e.default=n},51655:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(28167),i=n(66061),a={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:function(t){if(35===t.charCodeAt(0)){var e=t.match(a.re);if(e){var n=e[1],i=parseInt(n,16),o=n.length,s=o%4==0,c=o>4,u=c?1:17,l=c?8:4,h=s?0:-1,f=c?255:15;return r.default.set({r:(i>>l*(h+3)&f)*u,g:(i>>l*(h+2)&f)*u,b:(i>>l*(h+1)&f)*u,a:s?(i&f)*u/255:1},t)}}},stringify:function(t){var e=t.r,n=t.g,r=t.b,a=t.a;return a<1?"#"+i.DEC2HEX[Math.round(e)]+i.DEC2HEX[Math.round(n)]+i.DEC2HEX[Math.round(r)]+i.DEC2HEX[Math.round(255*a)]:"#"+i.DEC2HEX[Math.round(e)]+i.DEC2HEX[Math.round(n)]+i.DEC2HEX[Math.round(r)]}};e.default=a},58589:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(81083),i=n(28167),a={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:function(t){var e=t.match(a.hueRe);if(e){var n=e[1];switch(e[2]){case"grad":return r.default.channel.clamp.h(.9*parseFloat(n));case"rad":return r.default.channel.clamp.h(180*parseFloat(n)/Math.PI);case"turn":return r.default.channel.clamp.h(360*parseFloat(n))}}return r.default.channel.clamp.h(parseFloat(t))},parse:function(t){var e=t.charCodeAt(0);if(104===e||72===e){var n=t.match(a.re);if(n){var o=n[1],s=n[2],c=n[3],u=n[4],l=n[5];return i.default.set({h:a._hue2deg(o),s:r.default.channel.clamp.s(parseFloat(s)),l:r.default.channel.clamp.l(parseFloat(c)),a:u?r.default.channel.clamp.a(l?parseFloat(u)/100:parseFloat(u)):1},t)}}},stringify:function(t){var e=t.h,n=t.s,i=t.l,a=t.a;return a<1?"hsla("+r.default.lang.round(e)+", "+r.default.lang.round(n)+"%, "+r.default.lang.round(i)+"%, "+a+")":"hsl("+r.default.lang.round(e)+", "+r.default.lang.round(n)+"%, "+r.default.lang.round(i)+"%)"}};e.default=a},32191:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(51655),i=n(7538),a=n(76762),o=n(58589),s={format:{keyword:i.default,hex:r.default,rgb:a.default,rgba:a.default,hsl:o.default,hsla:o.default},parse:function(t){if("string"!=typeof t)return t;var e=r.default.parse(t)||a.default.parse(t)||o.default.parse(t)||i.default.parse(t);if(e)return e;throw new Error('Unsupported color format: "'+t+'"')},stringify:function(t){return!t.changed&&t.color?t.color:t.type.is(2)||void 0===t.data.r?o.default.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?a.default.stringify(t):r.default.stringify(t)}};e.default=s},7538:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(51655),i={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:function(t){t=t.toLowerCase();var e=i.colors[t];if(e)return r.default.parse(e)},stringify:function(t){var e=r.default.stringify(t);for(var n in i.colors)if(i.colors[n]===e)return n}};e.default=i},76762:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(81083),i=n(28167),a={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:function(t){var e=t.charCodeAt(0);if(114===e||82===e){var n=t.match(a.re);if(n){var o=n[1],s=n[2],c=n[3],u=n[4],l=n[5],h=n[6],f=n[7],d=n[8];return i.default.set({r:r.default.channel.clamp.r(s?2.55*parseFloat(o):parseFloat(o)),g:r.default.channel.clamp.g(u?2.55*parseFloat(c):parseFloat(c)),b:r.default.channel.clamp.b(h?2.55*parseFloat(l):parseFloat(l)),a:f?r.default.channel.clamp.a(d?parseFloat(f)/100:parseFloat(f)):1},t)}}},stringify:function(t){var e=t.r,n=t.g,i=t.b,a=t.a;return a<1?"rgba("+r.default.lang.round(e)+", "+r.default.lang.round(n)+", "+r.default.lang.round(i)+", "+r.default.lang.round(a)+")":"rgb("+r.default.lang.round(e)+", "+r.default.lang.round(n)+", "+r.default.lang.round(i)+")"}};e.default=a},66061:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(81083),i={};e.DEC2HEX=i;for(var a=0;a<=255;a++)i[a]=r.default.unit.dec2hex(a)},8613:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}(n(21203))},45371:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32191),i=n(50418);e.default=function(t,e){var n=r.default.parse(t),a={};for(var o in e)e[o]&&(a[o]=n[o]+e[o]);return i.default(t,a)}},11416:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(81083),i=n(32191);e.default=function(t,e,n){var a=i.default.parse(t),o=a[e],s=r.default.channel.clamp[e](o+n);return o!==s&&(a[e]=s),i.default.stringify(a)}},89353:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(6197);e.default=function(t){return r.default(t,"a")}},63394:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(6197);e.default=function(t){return r.default(t,"b")}},50418:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(81083),i=n(32191);e.default=function(t,e){var n=i.default.parse(t);for(var a in e)n[a]=r.default.channel.clamp[a](e[a]);return i.default.stringify(n)}},6197:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(81083),i=n(32191);e.default=function(t,e){return r.default.lang.round(i.default.parse(t)[e])}},77361:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(11416);e.default=function(t){return r.default(t,"h",180)}},6881:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(81083),i=n(68346);e.default=function(t,e){var n=i.default(t),a=i.default(e),o=Math.max(n,a),s=Math.min(n,a),c=(o+Number.EPSILON)/(s+Number.EPSILON);return r.default.lang.round(r.default.lang.clamp(c,1,10))}},61364:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(11416);e.default=function(t,e){return r.default(t,"l",-e)}},49610:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(11416);e.default=function(t,e){return r.default(t,"s",-e)}},40572:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(50418);e.default=function(t){return r.default(t,{s:0})}},12299:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(6197);e.default=function(t){return r.default(t,"g")}},43116:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(81083),i=n(28167),a=n(32191);e.default=function(t,e,n,o){void 0===o&&(o=1);var s=i.default.set({h:r.default.channel.clamp.h(t),s:r.default.channel.clamp.s(e),l:r.default.channel.clamp.l(n),a:r.default.channel.clamp.a(o)});return a.default.stringify(s)}},23008:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(6197);e.default=function(t){return r.default(t,"h")}},21203:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(76538);e.hex=r.default;var i=n(76538);e.rgb=i.default;var a=n(76538);e.rgba=a.default;var o=n(43116);e.hsl=o.default;var s=n(43116);e.hsla=s.default;var c=n(42619);e.toKeyword=c.default;var u=n(64307);e.toHex=u.default;var l=n(84125);e.toRgba=l.default;var h=n(87329);e.toHsla=h.default;var f=n(6197);e.channel=f.default;var d=n(79640);e.red=d.default;var p=n(12299);e.green=p.default;var g=n(63394);e.blue=g.default;var y=n(23008);e.hue=y.default;var m=n(46451);e.saturation=m.default;var v=n(29235);e.lightness=v.default;var b=n(89353);e.alpha=b.default;var x=n(89353);e.opacity=x.default;var _=n(6881);e.contrast=_.default;var k=n(68346);e.luminance=k.default;var w=n(4117);e.isDark=w.default;var E=n(82224);e.isLight=E.default;var T=n(20585);e.isValid=T.default;var C=n(61080);e.saturate=C.default;var S=n(49610);e.desaturate=S.default;var A=n(23235);e.lighten=A.default;var O=n(61364);e.darken=O.default;var M=n(27189);e.opacify=M.default;var j=n(27189);e.fadeIn=j.default;var D=n(24989);e.transparentize=D.default;var N=n(24989);e.fadeOut=N.default;var B=n(77361);e.complement=B.default;var L=n(40572);e.grayscale=L.default;var I=n(45371);e.adjust=I.default;var R=n(50418);e.change=R.default;var F=n(566);e.invert=F.default;var P=n(51861);e.mix=P.default;var z=n(7081);e.scale=z.default},566:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32191),i=n(51861);e.default=function(t,e){void 0===e&&(e=100);var n=r.default.parse(t);return n.r=255-n.r,n.g=255-n.g,n.b=255-n.b,i.default(n,t,e)}},4117:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(82224);e.default=function(t){return!r.default(t)}},82224:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(68346);e.default=function(t){return r.default(t)>=.5}},20585:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32191);e.default=function(t){try{return r.default.parse(t),!0}catch(e){return!1}}},23235:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(11416);e.default=function(t,e){return r.default(t,"l",e)}},29235:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(6197);e.default=function(t){return r.default(t,"l")}},68346:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(81083),i=n(32191);e.default=function(t){var e=i.default.parse(t),n=e.r,a=e.g,o=e.b,s=.2126*r.default.channel.toLinear(n)+.7152*r.default.channel.toLinear(a)+.0722*r.default.channel.toLinear(o);return r.default.lang.round(s)}},51861:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32191),i=n(76538);e.default=function(t,e,n){void 0===n&&(n=50);var a=r.default.parse(t),o=a.r,s=a.g,c=a.b,u=a.a,l=r.default.parse(e),h=l.r,f=l.g,d=l.b,p=l.a,g=n/100,y=2*g-1,m=u-p,v=((y*m==-1?y:(y+m)/(1+y*m))+1)/2,b=1-v,x=o*v+h*b,_=s*v+f*b,k=c*v+d*b,w=u*g+p*(1-g);return i.default(x,_,k,w)}},27189:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(11416);e.default=function(t,e){return r.default(t,"a",e)}},79640:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(6197);e.default=function(t){return r.default(t,"r")}},76538:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(81083),i=n(28167),a=n(32191),o=n(50418);e.default=function(t,e,n,s){if(void 0===n&&(n=0),void 0===s&&(s=1),"number"!=typeof t)return o.default(t,{a:e});var c=i.default.set({r:r.default.channel.clamp.r(t),g:r.default.channel.clamp.g(e),b:r.default.channel.clamp.b(n),a:r.default.channel.clamp.a(s)});return a.default.stringify(c)}},61080:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(11416);e.default=function(t,e){return r.default(t,"s",e)}},46451:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(6197);e.default=function(t){return r.default(t,"s")}},7081:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(81083),i=n(32191),a=n(45371);e.default=function(t,e){var n,o,s,c=i.default.parse(t),u={};for(var l in e)u[l]=(n=c[l],o=e[l],s=r.default.channel.max[l],o>0?(s-n)*o/100:n*o/100);return a.default(t,u)}},64307:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32191);e.default=function(t){return r.default.format.hex.stringify(r.default.parse(t))}},87329:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32191);e.default=function(t){return r.default.format.hsla.stringify(r.default.parse(t))}},42619:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32191);e.default=function(t){return r.default.format.keyword.stringify(r.default.parse(t))}},84125:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32191);e.default=function(t){return r.default.format.rgba.stringify(r.default.parse(t))}},24989:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(11416);e.default=function(t,e){return r.default(t,"a",-e)}},47994:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:function(t){return t>=255?255:t<0?0:t},g:function(t){return t>=255?255:t<0?0:t},b:function(t){return t>=255?255:t<0?0:t},h:function(t){return t%360},s:function(t){return t>=100?100:t<0?0:t},l:function(t){return t>=100?100:t<0?0:t},a:function(t){return t>=1?1:t<0?0:t}},toLinear:function(t){var e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:function(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t},hsl2rgb:function(t,e){var r=t.h,i=t.s,a=t.l;if(!i)return 2.55*a;r/=360,i/=100;var o=(a/=100)<.5?a*(1+i):a+i-a*i,s=2*a-o;switch(e){case"r":return 255*n.hue2rgb(s,o,r+1/3);case"g":return 255*n.hue2rgb(s,o,r);case"b":return 255*n.hue2rgb(s,o,r-1/3)}},rgb2hsl:function(t,e){var n=t.r,r=t.g,i=t.b;n/=255,r/=255,i/=255;var a=Math.max(n,r,i),o=Math.min(n,r,i),s=(a+o)/2;if("l"===e)return 100*s;if(a===o)return 0;var c=a-o;if("s"===e)return 100*(s>.5?c/(2-a-o):c/(a+o));switch(a){case n:return 60*((r-i)/c+(r<i?6:0));case r:return 60*((i-n)/c+2);case i:return 60*((n-r)/c+4);default:return-1}}};e.default=n},81083:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(47994),i=n(64027),a=n(10318),o={channel:r.default,lang:i.default,unit:a.default};e.default=o},64027:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n={clamp:function(t,e,n){return e>n?Math.min(e,Math.max(n,t)):Math.min(n,Math.max(e,t))},round:function(t){return Math.round(1e10*t)/1e10}};e.default=n},10318:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n={dec2hex:function(t){var e=Math.round(t).toString(16);return e.length>1?e:"0"+e}};e.default=n},18552:(t,e,n)=>{var r=n(10852)(n(55639),"DataView");t.exports=r},1989:(t,e,n)=>{var r=n(51789),i=n(80401),a=n(57667),o=n(59026),s=n(81866);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=a,c.prototype.has=o,c.prototype.set=s,t.exports=c},38407:(t,e,n)=>{var r=n(27040),i=n(14125),a=n(82117),o=n(67518),s=n(54705);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=a,c.prototype.has=o,c.prototype.set=s,t.exports=c},57071:(t,e,n)=>{var r=n(10852)(n(55639),"Map");t.exports=r},83369:(t,e,n)=>{var r=n(24785),i=n(11285),a=n(96e3),o=n(49916),s=n(95265);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=a,c.prototype.has=o,c.prototype.set=s,t.exports=c},53818:(t,e,n)=>{var r=n(10852)(n(55639),"Promise");t.exports=r},58525:(t,e,n)=>{var r=n(10852)(n(55639),"Set");t.exports=r},88668:(t,e,n)=>{var r=n(83369),i=n(90619),a=n(72385);function o(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e<n;)this.add(t[e])}o.prototype.add=o.prototype.push=i,o.prototype.has=a,t.exports=o},46384:(t,e,n)=>{var r=n(38407),i=n(37465),a=n(63779),o=n(67599),s=n(44758),c=n(34309);function u(t){var e=this.__data__=new r(t);this.size=e.size}u.prototype.clear=i,u.prototype.delete=a,u.prototype.get=o,u.prototype.has=s,u.prototype.set=c,t.exports=u},62705:(t,e,n)=>{var r=n(55639).Symbol;t.exports=r},11149:(t,e,n)=>{var r=n(55639).Uint8Array;t.exports=r},70577:(t,e,n)=>{var r=n(10852)(n(55639),"WeakMap");t.exports=r},96874:t=>{t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},77412:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}},34963:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,a=[];++n<r;){var o=t[n];e(o,n,t)&&(a[i++]=o)}return a}},47443:(t,e,n)=>{var r=n(42118);t.exports=function(t,e){return!!(null==t?0:t.length)&&r(t,e,0)>-1}},1196:t=>{t.exports=function(t,e,n){for(var r=-1,i=null==t?0:t.length;++r<i;)if(n(e,t[r]))return!0;return!1}},14636:(t,e,n)=>{var r=n(22545),i=n(35694),a=n(1469),o=n(44144),s=n(65776),c=n(36719),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=a(t),l=!n&&i(t),h=!n&&!l&&o(t),f=!n&&!l&&!h&&c(t),d=n||l||h||f,p=d?r(t.length,String):[],g=p.length;for(var y in t)!e&&!u.call(t,y)||d&&("length"==y||h&&("offset"==y||"parent"==y)||f&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||s(y,g))||p.push(y);return p}},29932:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}},62488:t=>{t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}},62663:t=>{t.exports=function(t,e,n,r){var i=-1,a=null==t?0:t.length;for(r&&a&&(n=t[++i]);++i<a;)n=e(n,t[i],i,t);return n}},82908:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}},48983:(t,e,n)=>{var r=n(40371)("length");t.exports=r},86556:(t,e,n)=>{var r=n(89465),i=n(77813);t.exports=function(t,e,n){(void 0!==n&&!i(t[e],n)||void 0===n&&!(e in t))&&r(t,e,n)}},34865:(t,e,n)=>{var r=n(89465),i=n(77813),a=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var o=t[e];a.call(t,e)&&i(o,n)&&(void 0!==n||e in t)||r(t,e,n)}},18470:(t,e,n)=>{var r=n(77813);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return-1}},44037:(t,e,n)=>{var r=n(98363),i=n(3674);t.exports=function(t,e){return t&&r(e,i(e),t)}},63886:(t,e,n)=>{var r=n(98363),i=n(81704);t.exports=function(t,e){return t&&r(e,i(e),t)}},89465:(t,e,n)=>{var r=n(38777);t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},85990:(t,e,n)=>{var r=n(46384),i=n(77412),a=n(34865),o=n(44037),s=n(63886),c=n(64626),u=n(278),l=n(18805),h=n(1911),f=n(58234),d=n(46904),p=n(64160),g=n(43824),y=n(29148),m=n(38517),v=n(1469),b=n(44144),x=n(56688),_=n(13218),k=n(72928),w=n(3674),E=n(81704),T="[object Arguments]",C="[object Function]",S="[object Object]",A={};A[T]=A["[object Array]"]=A["[object ArrayBuffer]"]=A["[object DataView]"]=A["[object Boolean]"]=A["[object Date]"]=A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Map]"]=A["[object Number]"]=A[S]=A["[object RegExp]"]=A["[object Set]"]=A["[object String]"]=A["[object Symbol]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A["[object Error]"]=A[C]=A["[object WeakMap]"]=!1,t.exports=function t(e,n,O,M,j,D){var N,B=1&n,L=2&n,I=4&n;if(O&&(N=j?O(e,M,j,D):O(e)),void 0!==N)return N;if(!_(e))return e;var R=v(e);if(R){if(N=g(e),!B)return u(e,N)}else{var F=p(e),P=F==C||"[object GeneratorFunction]"==F;if(b(e))return c(e,B);if(F==S||F==T||P&&!j){if(N=L||P?{}:m(e),!B)return L?h(e,s(N,e)):l(e,o(N,e))}else{if(!A[F])return j?e:{};N=y(e,F,B)}}D||(D=new r);var z=D.get(e);if(z)return z;D.set(e,N),k(e)?e.forEach((function(r){N.add(t(r,n,O,r,e,D))})):x(e)&&e.forEach((function(r,i){N.set(i,t(r,n,O,i,e,D))}));var Y=R?void 0:(I?L?d:f:L?E:w)(e);return i(Y||e,(function(r,i){Y&&(r=e[i=r]),a(N,i,t(r,n,O,i,e,D))})),N}},3118:(t,e,n)=>{var r=n(13218),i=Object.create,a=function(){function t(){}return function(e){if(!r(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=a},89881:(t,e,n)=>{var r=n(47816),i=n(99291)(r);t.exports=i},56029:(t,e,n)=>{var r=n(33448);t.exports=function(t,e,n){for(var i=-1,a=t.length;++i<a;){var o=t[i],s=e(o);if(null!=s&&(void 0===c?s==s&&!r(s):n(s,c)))var c=s,u=o}return u}},80760:(t,e,n)=>{var r=n(89881);t.exports=function(t,e){var n=[];return r(t,(function(t,r,i){e(t,r,i)&&n.push(t)})),n}},41848:t=>{t.exports=function(t,e,n,r){for(var i=t.length,a=n+(r?1:-1);r?a--:++a<i;)if(e(t[a],a,t))return a;return-1}},21078:(t,e,n)=>{var r=n(62488),i=n(37285);t.exports=function t(e,n,a,o,s){var c=-1,u=e.length;for(a||(a=i),s||(s=[]);++c<u;){var l=e[c];n>0&&a(l)?n>1?t(l,n-1,a,o,s):r(s,l):o||(s[s.length]=l)}return s}},28483:(t,e,n)=>{var r=n(25063)();t.exports=r},47816:(t,e,n)=>{var r=n(28483),i=n(3674);t.exports=function(t,e){return t&&r(t,e,i)}},97786:(t,e,n)=>{var r=n(71811),i=n(40327);t.exports=function(t,e){for(var n=0,a=(e=r(e,t)).length;null!=t&&n<a;)t=t[i(e[n++])];return n&&n==a?t:void 0}},68866:(t,e,n)=>{var r=n(62488),i=n(1469);t.exports=function(t,e,n){var a=e(t);return i(t)?a:r(a,n(t))}},44239:(t,e,n)=>{var r=n(62705),i=n(89607),a=n(28436),o=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":o&&o in Object(t)?i(t):a(t)}},53325:t=>{t.exports=function(t,e){return t>e}},78565:t=>{var e=Object.prototype.hasOwnProperty;t.exports=function(t,n){return null!=t&&e.call(t,n)}},13:t=>{t.exports=function(t,e){return null!=t&&e in Object(t)}},42118:(t,e,n)=>{var r=n(41848),i=n(62722),a=n(42351);t.exports=function(t,e,n){return e==e?a(t,e,n):r(t,i,n)}},9454:(t,e,n)=>{var r=n(44239),i=n(37005);t.exports=function(t){return i(t)&&"[object Arguments]"==r(t)}},90939:(t,e,n)=>{var r=n(2492),i=n(37005);t.exports=function t(e,n,a,o,s){return e===n||(null==e||null==n||!i(e)&&!i(n)?e!=e&&n!=n:r(e,n,a,o,t,s))}},2492:(t,e,n)=>{var r=n(46384),i=n(67114),a=n(18351),o=n(16096),s=n(64160),c=n(1469),u=n(44144),l=n(36719),h="[object Arguments]",f="[object Array]",d="[object Object]",p=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,g,y,m){var v=c(t),b=c(e),x=v?f:s(t),_=b?f:s(e),k=(x=x==h?d:x)==d,w=(_=_==h?d:_)==d,E=x==_;if(E&&u(t)){if(!u(e))return!1;v=!0,k=!1}if(E&&!k)return m||(m=new r),v||l(t)?i(t,e,n,g,y,m):a(t,e,x,n,g,y,m);if(!(1&n)){var T=k&&p.call(t,"__wrapped__"),C=w&&p.call(e,"__wrapped__");if(T||C){var S=T?t.value():t,A=C?e.value():e;return m||(m=new r),y(S,A,n,g,m)}}return!!E&&(m||(m=new r),o(t,e,n,g,y,m))}},25588:(t,e,n)=>{var r=n(64160),i=n(37005);t.exports=function(t){return i(t)&&"[object Map]"==r(t)}},2958:(t,e,n)=>{var r=n(46384),i=n(90939);t.exports=function(t,e,n,a){var o=n.length,s=o,c=!a;if(null==t)return!s;for(t=Object(t);o--;){var u=n[o];if(c&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++o<s;){var l=(u=n[o])[0],h=t[l],f=u[1];if(c&&u[2]){if(void 0===h&&!(l in t))return!1}else{var d=new r;if(a)var p=a(h,f,l,t,e,d);if(!(void 0===p?i(f,h,3,a,d):p))return!1}}return!0}},62722:t=>{t.exports=function(t){return t!=t}},28458:(t,e,n)=>{var r=n(23560),i=n(15346),a=n(13218),o=n(80346),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,h=u.hasOwnProperty,f=RegExp("^"+l.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!a(t)||i(t))&&(r(t)?f:s).test(o(t))}},29221:(t,e,n)=>{var r=n(64160),i=n(37005);t.exports=function(t){return i(t)&&"[object Set]"==r(t)}},38749:(t,e,n)=>{var r=n(44239),i=n(41780),a=n(37005),o={};o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Arguments]"]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object Boolean]"]=o["[object DataView]"]=o["[object Date]"]=o["[object Error]"]=o["[object Function]"]=o["[object Map]"]=o["[object Number]"]=o["[object Object]"]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object WeakMap]"]=!1,t.exports=function(t){return a(t)&&i(t.length)&&!!o[r(t)]}},67206:(t,e,n)=>{var r=n(91573),i=n(16432),a=n(6557),o=n(1469),s=n(39601);t.exports=function(t){return"function"==typeof t?t:null==t?a:"object"==typeof t?o(t)?i(t[0],t[1]):r(t):s(t)}},280:(t,e,n)=>{var r=n(25726),i=n(86916),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))a.call(t,n)&&"constructor"!=n&&e.push(n);return e}},10313:(t,e,n)=>{var r=n(13218),i=n(25726),a=n(33498),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return a(t);var e=i(t),n=[];for(var s in t)("constructor"!=s||!e&&o.call(t,s))&&n.push(s);return n}},70433:t=>{t.exports=function(t,e){return t<e}},69199:(t,e,n)=>{var r=n(89881),i=n(98612);t.exports=function(t,e){var n=-1,a=i(t)?Array(t.length):[];return r(t,(function(t,r,i){a[++n]=e(t,r,i)})),a}},91573:(t,e,n)=>{var r=n(2958),i=n(1499),a=n(42634);t.exports=function(t){var e=i(t);return 1==e.length&&e[0][2]?a(e[0][0],e[0][1]):function(n){return n===t||r(n,t,e)}}},16432:(t,e,n)=>{var r=n(90939),i=n(27361),a=n(79095),o=n(15403),s=n(89162),c=n(42634),u=n(40327);t.exports=function(t,e){return o(t)&&s(e)?c(u(t),e):function(n){var o=i(n,t);return void 0===o&&o===e?a(n,t):r(e,o,3)}}},42980:(t,e,n)=>{var r=n(46384),i=n(86556),a=n(28483),o=n(59783),s=n(13218),c=n(81704),u=n(36390);t.exports=function t(e,n,l,h,f){e!==n&&a(n,(function(a,c){if(f||(f=new r),s(a))o(e,n,c,l,t,h,f);else{var d=h?h(u(e,c),a,c+"",e,n,f):void 0;void 0===d&&(d=a),i(e,c,d)}}),c)}},59783:(t,e,n)=>{var r=n(86556),i=n(64626),a=n(77133),o=n(278),s=n(38517),c=n(35694),u=n(1469),l=n(29246),h=n(44144),f=n(23560),d=n(13218),p=n(68630),g=n(36719),y=n(36390),m=n(59881);t.exports=function(t,e,n,v,b,x,_){var k=y(t,n),w=y(e,n),E=_.get(w);if(E)r(t,n,E);else{var T=x?x(k,w,n+"",t,e,_):void 0,C=void 0===T;if(C){var S=u(w),A=!S&&h(w),O=!S&&!A&&g(w);T=w,S||A||O?u(k)?T=k:l(k)?T=o(k):A?(C=!1,T=i(w,!0)):O?(C=!1,T=a(w,!0)):T=[]:p(w)||c(w)?(T=k,c(k)?T=m(k):d(k)&&!f(k)||(T=s(w))):C=!1}C&&(_.set(w,T),b(T,w,v,x,_),_.delete(w)),r(t,n,T)}}},82689:(t,e,n)=>{var r=n(29932),i=n(97786),a=n(67206),o=n(69199),s=n(71131),c=n(7518),u=n(85022),l=n(6557),h=n(1469);t.exports=function(t,e,n){e=e.length?r(e,(function(t){return h(t)?function(e){return i(e,1===t.length?t[0]:t)}:t})):[l];var f=-1;e=r(e,c(a));var d=o(t,(function(t,n,i){return{criteria:r(e,(function(e){return e(t)})),index:++f,value:t}}));return s(d,(function(t,e){return u(t,e,n)}))}},25970:(t,e,n)=>{var r=n(63012),i=n(79095);t.exports=function(t,e){return r(t,e,(function(e,n){return i(t,n)}))}},63012:(t,e,n)=>{var r=n(97786),i=n(10611),a=n(71811);t.exports=function(t,e,n){for(var o=-1,s=e.length,c={};++o<s;){var u=e[o],l=r(t,u);n(l,u)&&i(c,a(u,t),l)}return c}},40371:t=>{t.exports=function(t){return function(e){return null==e?void 0:e[t]}}},79152:(t,e,n)=>{var r=n(97786);t.exports=function(t){return function(e){return r(e,t)}}},40098:t=>{var e=Math.ceil,n=Math.max;t.exports=function(t,r,i,a){for(var o=-1,s=n(e((r-t)/(i||1)),0),c=Array(s);s--;)c[a?s:++o]=t,t+=i;return c}},10107:t=>{t.exports=function(t,e,n,r,i){return i(t,(function(t,i,a){n=r?(r=!1,t):e(n,t,i,a)})),n}},5976:(t,e,n)=>{var r=n(6557),i=n(45357),a=n(30061);t.exports=function(t,e){return a(i(t,e,r),t+"")}},10611:(t,e,n)=>{var r=n(34865),i=n(71811),a=n(65776),o=n(13218),s=n(40327);t.exports=function(t,e,n,c){if(!o(t))return t;for(var u=-1,l=(e=i(e,t)).length,h=l-1,f=t;null!=f&&++u<l;){var d=s(e[u]),p=n;if("__proto__"===d||"constructor"===d||"prototype"===d)return t;if(u!=h){var g=f[d];void 0===(p=c?c(g,d,f):void 0)&&(p=o(g)?g:a(e[u+1])?[]:{})}r(f,d,p),f=f[d]}return t}},56560:(t,e,n)=>{var r=n(75703),i=n(38777),a=n(6557),o=i?function(t,e){return i(t,"toString",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:a;t.exports=o},71131:t=>{t.exports=function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}},22545:t=>{t.exports=function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}},80531:(t,e,n)=>{var r=n(62705),i=n(29932),a=n(1469),o=n(33448),s=r?r.prototype:void 0,c=s?s.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(a(e))return i(e,t)+"";if(o(e))return c?c.call(e):"";var n=e+"";return"0"==n&&1/e==-Infinity?"-0":n}},27561:(t,e,n)=>{var r=n(67990),i=/^\s+/;t.exports=function(t){return t?t.slice(0,r(t)+1).replace(i,""):t}},7518:t=>{t.exports=function(t){return function(e){return t(e)}}},45652:(t,e,n)=>{var r=n(88668),i=n(47443),a=n(1196),o=n(74757),s=n(23593),c=n(21814);t.exports=function(t,e,n){var u=-1,l=i,h=t.length,f=!0,d=[],p=d;if(n)f=!1,l=a;else if(h>=200){var g=e?null:s(t);if(g)return c(g);f=!1,l=o,p=new r}else p=e?[]:d;t:for(;++u<h;){var y=t[u],m=e?e(y):y;if(y=n||0!==y?y:0,f&&m==m){for(var v=p.length;v--;)if(p[v]===m)continue t;e&&p.push(m),d.push(y)}else l(p,m,n)||(p!==d&&p.push(m),d.push(y))}return d}},47415:(t,e,n)=>{var r=n(29932);t.exports=function(t,e){return r(e,(function(e){return t[e]}))}},1757:t=>{t.exports=function(t,e,n){for(var r=-1,i=t.length,a=e.length,o={};++r<i;){var s=r<a?e[r]:void 0;n(o,t[r],s)}return o}},74757:t=>{t.exports=function(t,e){return t.has(e)}},54290:(t,e,n)=>{var r=n(6557);t.exports=function(t){return"function"==typeof t?t:r}},71811:(t,e,n)=>{var r=n(1469),i=n(15403),a=n(55514),o=n(79833);t.exports=function(t,e){return r(t)?t:i(t,e)?[t]:a(o(t))}},74318:(t,e,n)=>{var r=n(11149);t.exports=function(t){var e=new t.constructor(t.byteLength);return new r(e).set(new r(t)),e}},64626:(t,e,n)=>{t=n.nmd(t);var r=n(55639),i=e&&!e.nodeType&&e,a=i&&t&&!t.nodeType&&t,o=a&&a.exports===i?r.Buffer:void 0,s=o?o.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=s?s(n):new t.constructor(n);return t.copy(r),r}},57157:(t,e,n)=>{var r=n(74318);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}},93147:t=>{var e=/\w*$/;t.exports=function(t){var n=new t.constructor(t.source,e.exec(t));return n.lastIndex=t.lastIndex,n}},40419:(t,e,n)=>{var r=n(62705),i=r?r.prototype:void 0,a=i?i.valueOf:void 0;t.exports=function(t){return a?Object(a.call(t)):{}}},77133:(t,e,n)=>{var r=n(74318);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},26393:(t,e,n)=>{var r=n(33448);t.exports=function(t,e){if(t!==e){var n=void 0!==t,i=null===t,a=t==t,o=r(t),s=void 0!==e,c=null===e,u=e==e,l=r(e);if(!c&&!l&&!o&&t>e||o&&s&&u&&!c&&!l||i&&s&&u||!n&&u||!a)return 1;if(!i&&!o&&!l&&t<e||l&&n&&a&&!i&&!o||c&&n&&a||!s&&a||!u)return-1}return 0}},85022:(t,e,n)=>{var r=n(26393);t.exports=function(t,e,n){for(var i=-1,a=t.criteria,o=e.criteria,s=a.length,c=n.length;++i<s;){var u=r(a[i],o[i]);if(u)return i>=c?u:u*("desc"==n[i]?-1:1)}return t.index-e.index}},278:t=>{t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}},98363:(t,e,n)=>{var r=n(34865),i=n(89465);t.exports=function(t,e,n,a){var o=!n;n||(n={});for(var s=-1,c=e.length;++s<c;){var u=e[s],l=a?a(n[u],t[u],u,n,t):void 0;void 0===l&&(l=t[u]),o?i(n,u,l):r(n,u,l)}return n}},18805:(t,e,n)=>{var r=n(98363),i=n(99551);t.exports=function(t,e){return r(t,i(t),e)}},1911:(t,e,n)=>{var r=n(98363),i=n(51442);t.exports=function(t,e){return r(t,i(t),e)}},14429:(t,e,n)=>{var r=n(55639)["__core-js_shared__"];t.exports=r},21463:(t,e,n)=>{var r=n(5976),i=n(16612);t.exports=function(t){return r((function(e,n){var r=-1,a=n.length,o=a>1?n[a-1]:void 0,s=a>2?n[2]:void 0;for(o=t.length>3&&"function"==typeof o?(a--,o):void 0,s&&i(n[0],n[1],s)&&(o=a<3?void 0:o,a=1),e=Object(e);++r<a;){var c=n[r];c&&t(e,c,r,o)}return e}))}},99291:(t,e,n)=>{var r=n(98612);t.exports=function(t,e){return function(n,i){if(null==n)return n;if(!r(n))return t(n,i);for(var a=n.length,o=e?a:-1,s=Object(n);(e?o--:++o<a)&&!1!==i(s[o],o,s););return n}}},25063:t=>{t.exports=function(t){return function(e,n,r){for(var i=-1,a=Object(e),o=r(e),s=o.length;s--;){var c=o[t?s:++i];if(!1===n(a[c],c,a))break}return e}}},67740:(t,e,n)=>{var r=n(67206),i=n(98612),a=n(3674);t.exports=function(t){return function(e,n,o){var s=Object(e);if(!i(e)){var c=r(n,3);e=a(e),n=function(t){return c(s[t],t,s)}}var u=t(e,n,o);return u>-1?s[c?e[u]:u]:void 0}}},47445:(t,e,n)=>{var r=n(40098),i=n(16612),a=n(18601);t.exports=function(t){return function(e,n,o){return o&&"number"!=typeof o&&i(e,n,o)&&(n=o=void 0),e=a(e),void 0===n?(n=e,e=0):n=a(n),o=void 0===o?e<n?1:-1:a(o),r(e,n,o,t)}}},23593:(t,e,n)=>{var r=n(58525),i=n(50308),a=n(21814),o=r&&1/a(new r([,-0]))[1]==1/0?function(t){return new r(t)}:i;t.exports=o},38777:(t,e,n)=>{var r=n(10852),i=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();t.exports=i},67114:(t,e,n)=>{var r=n(88668),i=n(82908),a=n(74757);t.exports=function(t,e,n,o,s,c){var u=1&n,l=t.length,h=e.length;if(l!=h&&!(u&&h>l))return!1;var f=c.get(t),d=c.get(e);if(f&&d)return f==e&&d==t;var p=-1,g=!0,y=2&n?new r:void 0;for(c.set(t,e),c.set(e,t);++p<l;){var m=t[p],v=e[p];if(o)var b=u?o(v,m,p,e,t,c):o(m,v,p,t,e,c);if(void 0!==b){if(b)continue;g=!1;break}if(y){if(!i(e,(function(t,e){if(!a(y,e)&&(m===t||s(m,t,n,o,c)))return y.push(e)}))){g=!1;break}}else if(m!==v&&!s(m,v,n,o,c)){g=!1;break}}return c.delete(t),c.delete(e),g}},18351:(t,e,n)=>{var r=n(62705),i=n(11149),a=n(77813),o=n(67114),s=n(68776),c=n(21814),u=r?r.prototype:void 0,l=u?u.valueOf:void 0;t.exports=function(t,e,n,r,u,h,f){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!h(new i(t),new i(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return a(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var d=s;case"[object Set]":var p=1&r;if(d||(d=c),t.size!=e.size&&!p)return!1;var g=f.get(t);if(g)return g==e;r|=2,f.set(t,e);var y=o(d(t),d(e),r,u,h,f);return f.delete(t),y;case"[object Symbol]":if(l)return l.call(t)==l.call(e)}return!1}},16096:(t,e,n)=>{var r=n(58234),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,a,o,s){var c=1&n,u=r(t),l=u.length;if(l!=r(e).length&&!c)return!1;for(var h=l;h--;){var f=u[h];if(!(c?f in e:i.call(e,f)))return!1}var d=s.get(t),p=s.get(e);if(d&&p)return d==e&&p==t;var g=!0;s.set(t,e),s.set(e,t);for(var y=c;++h<l;){var m=t[f=u[h]],v=e[f];if(a)var b=c?a(v,m,f,e,t,s):a(m,v,f,t,e,s);if(!(void 0===b?m===v||o(m,v,n,a,s):b)){g=!1;break}y||(y="constructor"==f)}if(g&&!y){var x=t.constructor,_=e.constructor;x==_||!("constructor"in t)||!("constructor"in e)||"function"==typeof x&&x instanceof x&&"function"==typeof _&&_ instanceof _||(g=!1)}return s.delete(t),s.delete(e),g}},99021:(t,e,n)=>{var r=n(85564),i=n(45357),a=n(30061);t.exports=function(t){return a(i(t,void 0,r),t+"")}},31957:(t,e,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;t.exports=r},58234:(t,e,n)=>{var r=n(68866),i=n(99551),a=n(3674);t.exports=function(t){return r(t,a,i)}},46904:(t,e,n)=>{var r=n(68866),i=n(51442),a=n(81704);t.exports=function(t){return r(t,a,i)}},45050:(t,e,n)=>{var r=n(37019);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},1499:(t,e,n)=>{var r=n(89162),i=n(3674);t.exports=function(t){for(var e=i(t),n=e.length;n--;){var a=e[n],o=t[a];e[n]=[a,o,r(o)]}return e}},10852:(t,e,n)=>{var r=n(28458),i=n(47801);t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0}},85924:(t,e,n)=>{var r=n(5569)(Object.getPrototypeOf,Object);t.exports=r},89607:(t,e,n)=>{var r=n(62705),i=Object.prototype,a=i.hasOwnProperty,o=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=a.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(c){}var i=o.call(t);return r&&(e?t[s]=n:delete t[s]),i}},99551:(t,e,n)=>{var r=n(34963),i=n(70479),a=Object.prototype.propertyIsEnumerable,o=Object.getOwnPropertySymbols,s=o?function(t){return null==t?[]:(t=Object(t),r(o(t),(function(e){return a.call(t,e)})))}:i;t.exports=s},51442:(t,e,n)=>{var r=n(62488),i=n(85924),a=n(99551),o=n(70479),s=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)r(e,a(t)),t=i(t);return e}:o;t.exports=s},64160:(t,e,n)=>{var r=n(18552),i=n(57071),a=n(53818),o=n(58525),s=n(70577),c=n(44239),u=n(80346),l="[object Map]",h="[object Promise]",f="[object Set]",d="[object WeakMap]",p="[object DataView]",g=u(r),y=u(i),m=u(a),v=u(o),b=u(s),x=c;(r&&x(new r(new ArrayBuffer(1)))!=p||i&&x(new i)!=l||a&&x(a.resolve())!=h||o&&x(new o)!=f||s&&x(new s)!=d)&&(x=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,r=n?u(n):"";if(r)switch(r){case g:return p;case y:return l;case m:return h;case v:return f;case b:return d}return e}),t.exports=x},47801:t=>{t.exports=function(t,e){return null==t?void 0:t[e]}},222:(t,e,n)=>{var r=n(71811),i=n(35694),a=n(1469),o=n(65776),s=n(41780),c=n(40327);t.exports=function(t,e,n){for(var u=-1,l=(e=r(e,t)).length,h=!1;++u<l;){var f=c(e[u]);if(!(h=null!=t&&n(t,f)))break;t=t[f]}return h||++u!=l?h:!!(l=null==t?0:t.length)&&s(l)&&o(f,l)&&(a(t)||i(t))}},62689:t=>{var e=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");t.exports=function(t){return e.test(t)}},51789:(t,e,n)=>{var r=n(94536);t.exports=function(){this.__data__=r?r(null):{},this.size=0}},80401:t=>{t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},57667:(t,e,n)=>{var r=n(94536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(e,t)?e[t]:void 0}},59026:(t,e,n)=>{var r=n(94536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)}},81866:(t,e,n)=>{var r=n(94536);t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this}},43824:t=>{var e=Object.prototype.hasOwnProperty;t.exports=function(t){var n=t.length,r=new t.constructor(n);return n&&"string"==typeof t[0]&&e.call(t,"index")&&(r.index=t.index,r.input=t.input),r}},29148:(t,e,n)=>{var r=n(74318),i=n(57157),a=n(93147),o=n(40419),s=n(77133);t.exports=function(t,e,n){var c=t.constructor;switch(e){case"[object ArrayBuffer]":return r(t);case"[object Boolean]":case"[object Date]":return new c(+t);case"[object DataView]":return i(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return s(t,n);case"[object Map]":case"[object Set]":return new c;case"[object Number]":case"[object String]":return new c(t);case"[object RegExp]":return a(t);case"[object Symbol]":return o(t)}}},38517:(t,e,n)=>{var r=n(3118),i=n(85924),a=n(25726);t.exports=function(t){return"function"!=typeof t.constructor||a(t)?{}:r(i(t))}},37285:(t,e,n)=>{var r=n(62705),i=n(35694),a=n(1469),o=r?r.isConcatSpreadable:void 0;t.exports=function(t){return a(t)||i(t)||!!(o&&t&&t[o])}},65776:t=>{var e=/^(?:0|[1-9]\d*)$/;t.exports=function(t,n){var r=typeof t;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t<n}},16612:(t,e,n)=>{var r=n(77813),i=n(98612),a=n(65776),o=n(13218);t.exports=function(t,e,n){if(!o(n))return!1;var s=typeof e;return!!("number"==s?i(n)&&a(e,n.length):"string"==s&&e in n)&&r(n[e],t)}},15403:(t,e,n)=>{var r=n(1469),i=n(33448),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;t.exports=function(t,e){if(r(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!i(t))||(o.test(t)||!a.test(t)||null!=e&&t in Object(e))}},37019:t=>{t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},15346:(t,e,n)=>{var r,i=n(14429),a=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!a&&a in t}},25726:t=>{var e=Object.prototype;t.exports=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||e)}},89162:(t,e,n)=>{var r=n(13218);t.exports=function(t){return t==t&&!r(t)}},27040:t=>{t.exports=function(){this.__data__=[],this.size=0}},14125:(t,e,n)=>{var r=n(18470),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0)&&(n==e.length-1?e.pop():i.call(e,n,1),--this.size,!0)}},82117:(t,e,n)=>{var r=n(18470);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},67518:(t,e,n)=>{var r=n(18470);t.exports=function(t){return r(this.__data__,t)>-1}},54705:(t,e,n)=>{var r=n(18470);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},24785:(t,e,n)=>{var r=n(1989),i=n(38407),a=n(57071);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(a||i),string:new r}}},11285:(t,e,n)=>{var r=n(45050);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},96e3:(t,e,n)=>{var r=n(45050);t.exports=function(t){return r(this,t).get(t)}},49916:(t,e,n)=>{var r=n(45050);t.exports=function(t){return r(this,t).has(t)}},95265:(t,e,n)=>{var r=n(45050);t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}},68776:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}},42634:t=>{t.exports=function(t,e){return function(n){return null!=n&&(n[t]===e&&(void 0!==e||t in Object(n)))}}},24523:(t,e,n)=>{var r=n(88306);t.exports=function(t){var e=r(t,(function(t){return 500===n.size&&n.clear(),t})),n=e.cache;return e}},94536:(t,e,n)=>{var r=n(10852)(Object,"create");t.exports=r},86916:(t,e,n)=>{var r=n(5569)(Object.keys,Object);t.exports=r},33498:t=>{t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},31167:(t,e,n)=>{t=n.nmd(t);var r=n(31957),i=e&&!e.nodeType&&e,a=i&&t&&!t.nodeType&&t,o=a&&a.exports===i&&r.process,s=function(){try{var t=a&&a.require&&a.require("util").types;return t||o&&o.binding&&o.binding("util")}catch(e){}}();t.exports=s},28436:t=>{var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},5569:t=>{t.exports=function(t,e){return function(n){return t(e(n))}}},45357:(t,e,n)=>{var r=n(96874),i=Math.max;t.exports=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var a=arguments,o=-1,s=i(a.length-e,0),c=Array(s);++o<s;)c[o]=a[e+o];o=-1;for(var u=Array(e+1);++o<e;)u[o]=a[o];return u[e]=n(c),r(t,this,u)}}},55639:(t,e,n)=>{var r=n(31957),i="object"==typeof self&&self&&self.Object===Object&&self,a=r||i||Function("return this")();t.exports=a},36390:t=>{t.exports=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}},90619:t=>{t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},72385:t=>{t.exports=function(t){return this.__data__.has(t)}},21814:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}},30061:(t,e,n)=>{var r=n(56560),i=n(21275)(r);t.exports=i},21275:t=>{var e=Date.now;t.exports=function(t){var n=0,r=0;return function(){var i=e(),a=16-(i-r);if(r=i,a>0){if(++n>=800)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}},37465:(t,e,n)=>{var r=n(38407);t.exports=function(){this.__data__=new r,this.size=0}},63779:t=>{t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},67599:t=>{t.exports=function(t){return this.__data__.get(t)}},44758:t=>{t.exports=function(t){return this.__data__.has(t)}},34309:(t,e,n)=>{var r=n(38407),i=n(57071),a=n(83369);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var o=n.__data__;if(!i||o.length<199)return o.push([t,e]),this.size=++n.size,this;n=this.__data__=new a(o)}return n.set(t,e),this.size=n.size,this}},42351:t=>{t.exports=function(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}},88016:(t,e,n)=>{var r=n(48983),i=n(62689),a=n(21903);t.exports=function(t){return i(t)?a(t):r(t)}},55514:(t,e,n)=>{var r=n(24523),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,o=r((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(i,(function(t,n,r,i){e.push(r?i.replace(a,"$1"):n||t)})),e}));t.exports=o},40327:(t,e,n)=>{var r=n(33448);t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-Infinity?"-0":e}},80346:t=>{var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(n){}try{return t+""}catch(n){}}return""}},67990:t=>{var e=/\s/;t.exports=function(t){for(var n=t.length;n--&&e.test(t.charAt(n)););return n}},21903:t=>{var e="[\\ud800-\\udfff]",n="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",r="\\ud83c[\\udffb-\\udfff]",i="[^\\ud800-\\udfff]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",o="[\\ud800-\\udbff][\\udc00-\\udfff]",s="(?:"+n+"|"+r+")"+"?",c="[\\ufe0e\\ufe0f]?",u=c+s+("(?:\\u200d(?:"+[i,a,o].join("|")+")"+c+s+")*"),l="(?:"+[i+n+"?",n,a,o,e].join("|")+")",h=RegExp(r+"(?="+r+")|"+l+u,"g");t.exports=function(t){for(var e=h.lastIndex=0;h.test(t);)++e;return e}},66678:(t,e,n)=>{var r=n(85990);t.exports=function(t){return r(t,4)}},50361:(t,e,n)=>{var r=n(85990);t.exports=function(t){return r(t,5)}},75703:t=>{t.exports=function(t){return function(){return t}}},91747:(t,e,n)=>{var r=n(5976),i=n(77813),a=n(16612),o=n(81704),s=Object.prototype,c=s.hasOwnProperty,u=r((function(t,e){t=Object(t);var n=-1,r=e.length,u=r>2?e[2]:void 0;for(u&&a(e[0],e[1],u)&&(r=1);++n<r;)for(var l=e[n],h=o(l),f=-1,d=h.length;++f<d;){var p=h[f],g=t[p];(void 0===g||i(g,s[p])&&!c.call(t,p))&&(t[p]=l[p])}return t}));t.exports=u},66073:(t,e,n)=>{t.exports=n(84486)},77813:t=>{t.exports=function(t,e){return t===e||t!=t&&e!=e}},63105:(t,e,n)=>{var r=n(34963),i=n(80760),a=n(67206),o=n(1469);t.exports=function(t,e){return(o(t)?r:i)(t,a(e,3))}},13311:(t,e,n)=>{var r=n(67740)(n(30998));t.exports=r},30998:(t,e,n)=>{var r=n(41848),i=n(67206),a=n(40554),o=Math.max;t.exports=function(t,e,n){var s=null==t?0:t.length;if(!s)return-1;var c=null==n?0:a(n);return c<0&&(c=o(s+c,0)),r(t,i(e,3),c)}},85564:(t,e,n)=>{var r=n(21078);t.exports=function(t){return(null==t?0:t.length)?r(t,1):[]}},84486:(t,e,n)=>{var r=n(77412),i=n(89881),a=n(54290),o=n(1469);t.exports=function(t,e){return(o(t)?r:i)(t,a(e))}},62620:(t,e,n)=>{var r=n(28483),i=n(54290),a=n(81704);t.exports=function(t,e){return null==t?t:r(t,i(e),a)}},27361:(t,e,n)=>{var r=n(97786);t.exports=function(t,e,n){var i=null==t?void 0:r(t,e);return void 0===i?n:i}},18721:(t,e,n)=>{var r=n(78565),i=n(222);t.exports=function(t,e){return null!=t&&i(t,e,r)}},79095:(t,e,n)=>{var r=n(13),i=n(222);t.exports=function(t,e){return null!=t&&i(t,e,r)}},6557:t=>{t.exports=function(t){return t}},35694:(t,e,n)=>{var r=n(9454),i=n(37005),a=Object.prototype,o=a.hasOwnProperty,s=a.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return i(t)&&o.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},1469:t=>{var e=Array.isArray;t.exports=e},98612:(t,e,n)=>{var r=n(23560),i=n(41780);t.exports=function(t){return null!=t&&i(t.length)&&!r(t)}},29246:(t,e,n)=>{var r=n(98612),i=n(37005);t.exports=function(t){return i(t)&&r(t)}},44144:(t,e,n)=>{t=n.nmd(t);var r=n(55639),i=n(95062),a=e&&!e.nodeType&&e,o=a&&t&&!t.nodeType&&t,s=o&&o.exports===a?r.Buffer:void 0,c=(s?s.isBuffer:void 0)||i;t.exports=c},41609:(t,e,n)=>{var r=n(280),i=n(64160),a=n(35694),o=n(1469),s=n(98612),c=n(44144),u=n(25726),l=n(36719),h=Object.prototype.hasOwnProperty;t.exports=function(t){if(null==t)return!0;if(s(t)&&(o(t)||"string"==typeof t||"function"==typeof t.splice||c(t)||l(t)||a(t)))return!t.length;var e=i(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(u(t))return!r(t).length;for(var n in t)if(h.call(t,n))return!1;return!0}},23560:(t,e,n)=>{var r=n(44239),i=n(13218);t.exports=function(t){if(!i(t))return!1;var e=r(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},41780:t=>{t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},56688:(t,e,n)=>{var r=n(25588),i=n(7518),a=n(31167),o=a&&a.isMap,s=o?i(o):r;t.exports=s},13218:t=>{t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},37005:t=>{t.exports=function(t){return null!=t&&"object"==typeof t}},68630:(t,e,n)=>{var r=n(44239),i=n(85924),a=n(37005),o=Function.prototype,s=Object.prototype,c=o.toString,u=s.hasOwnProperty,l=c.call(Object);t.exports=function(t){if(!a(t)||"[object Object]"!=r(t))return!1;var e=i(t);if(null===e)return!0;var n=u.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==l}},72928:(t,e,n)=>{var r=n(29221),i=n(7518),a=n(31167),o=a&&a.isSet,s=o?i(o):r;t.exports=s},47037:(t,e,n)=>{var r=n(44239),i=n(1469),a=n(37005);t.exports=function(t){return"string"==typeof t||!i(t)&&a(t)&&"[object String]"==r(t)}},33448:(t,e,n)=>{var r=n(44239),i=n(37005);t.exports=function(t){return"symbol"==typeof t||i(t)&&"[object Symbol]"==r(t)}},36719:(t,e,n)=>{var r=n(38749),i=n(7518),a=n(31167),o=a&&a.isTypedArray,s=o?i(o):r;t.exports=s},52353:t=>{t.exports=function(t){return void 0===t}},3674:(t,e,n)=>{var r=n(14636),i=n(280),a=n(98612);t.exports=function(t){return a(t)?r(t):i(t)}},81704:(t,e,n)=>{var r=n(14636),i=n(10313),a=n(98612);t.exports=function(t){return a(t)?r(t,!0):i(t)}},10928:t=>{t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},35161:(t,e,n)=>{var r=n(29932),i=n(67206),a=n(69199),o=n(1469);t.exports=function(t,e){return(o(t)?r:a)(t,i(e,3))}},66604:(t,e,n)=>{var r=n(89465),i=n(47816),a=n(67206);t.exports=function(t,e){var n={};return e=a(e,3),i(t,(function(t,i,a){r(n,i,e(t,i,a))})),n}},6162:(t,e,n)=>{var r=n(56029),i=n(53325),a=n(6557);t.exports=function(t){return t&&t.length?r(t,a,i):void 0}},88306:(t,e,n)=>{var r=n(83369);function i(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=t.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(i.Cache||r),n}i.Cache=r,t.exports=i},82492:(t,e,n)=>{var r=n(42980),i=n(21463)((function(t,e,n){r(t,e,n)}));t.exports=i},53632:(t,e,n)=>{var r=n(56029),i=n(70433),a=n(6557);t.exports=function(t){return t&&t.length?r(t,a,i):void 0}},22762:(t,e,n)=>{var r=n(56029),i=n(67206),a=n(70433);t.exports=function(t,e){return t&&t.length?r(t,i(e,2),a):void 0}},50308:t=>{t.exports=function(){}},7771:(t,e,n)=>{var r=n(55639);t.exports=function(){return r.Date.now()}},78718:(t,e,n)=>{var r=n(25970),i=n(99021)((function(t,e){return null==t?{}:r(t,e)}));t.exports=i},39601:(t,e,n)=>{var r=n(40371),i=n(79152),a=n(15403),o=n(40327);t.exports=function(t){return a(t)?r(o(t)):i(t)}},96026:(t,e,n)=>{var r=n(47445)();t.exports=r},54061:(t,e,n)=>{var r=n(62663),i=n(89881),a=n(67206),o=n(10107),s=n(1469);t.exports=function(t,e,n){var c=s(t)?r:o,u=arguments.length<3;return c(t,a(e,4),n,u,i)}},84238:(t,e,n)=>{var r=n(280),i=n(64160),a=n(98612),o=n(47037),s=n(88016);t.exports=function(t){if(null==t)return 0;if(a(t))return o(t)?s(t):t.length;var e=i(t);return"[object Map]"==e||"[object Set]"==e?t.size:r(t).length}},89734:(t,e,n)=>{var r=n(21078),i=n(82689),a=n(5976),o=n(16612),s=a((function(t,e){if(null==t)return[];var n=e.length;return n>1&&o(t,e[0],e[1])?e=[]:n>2&&o(e[0],e[1],e[2])&&(e=[e[0]]),i(t,r(e,1),[])}));t.exports=s},70479:t=>{t.exports=function(){return[]}},95062:t=>{t.exports=function(){return!1}},18601:(t,e,n)=>{var r=n(14841),i=1/0;t.exports=function(t){return t?(t=r(t))===i||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},40554:(t,e,n)=>{var r=n(18601);t.exports=function(t){var e=r(t),n=e%1;return e==e?n?e-n:e:0}},14841:(t,e,n)=>{var r=n(27561),i=n(13218),a=n(33448),o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(a(t))return NaN;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=r(t);var n=s.test(t);return n||c.test(t)?u(t.slice(2),n?2:8):o.test(t)?NaN:+t}},59881:(t,e,n)=>{var r=n(98363),i=n(81704);t.exports=function(t){return r(t,i(t))}},79833:(t,e,n)=>{var r=n(80531);t.exports=function(t){return null==t?"":r(t)}},68718:(t,e,n)=>{var r=n(77412),i=n(3118),a=n(47816),o=n(67206),s=n(85924),c=n(1469),u=n(44144),l=n(23560),h=n(13218),f=n(36719);t.exports=function(t,e,n){var d=c(t),p=d||u(t)||f(t);if(e=o(e,4),null==n){var g=t&&t.constructor;n=p?d?new g:[]:h(t)&&l(g)?i(s(t)):{}}return(p?r:a)(t,(function(t,r,i){return e(n,t,r,i)})),n}},93386:(t,e,n)=>{var r=n(21078),i=n(5976),a=n(45652),o=n(29246),s=i((function(t){return a(r(t,1,o,!0))}));t.exports=s},73955:(t,e,n)=>{var r=n(79833),i=0;t.exports=function(t){var e=++i;return r(t)+e}},52628:(t,e,n)=>{var r=n(47415),i=n(3674);t.exports=function(t){return null==t?[]:r(t,i(t))}},7287:(t,e,n)=>{var r=n(34865),i=n(1757);t.exports=function(t,e){return i(t||[],e||[],r)}},93456:function(t,e,n){"use strict";var r=this&&this.__assign||function(){return r=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t},r.apply(this,arguments)},i=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n),Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),a=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return a(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Mermaid=void 0;var c=o(n(67294)),u=s(n(21140)),l=n(43912),h=0;e.Mermaid=function(t){var e=t.chart,n=t.config;if("undefined"==typeof window)return c.default.createElement("div",null);var i=document.querySelector("html"),a=(0,c.useState)((0,l.getTheme)(i,n)),o=a[0],s=a[1];(0,c.useEffect)((function(){var e=new MutationObserver((function(t){for(var e=0,r=t;e<r.length;e++){var i=r[e];if("attributes"===i.type&&"data-theme"===i.attributeName){s((0,l.getTheme)(i.target,n));break}}}));return e.observe(i,{attributes:!0}),function(){try{e.disconnect()}catch(t){}}}),[e,n,o]);var f=(0,c.useState)(""),d=f[0],p=f[1];return(0,c.useEffect)((function(){var t=function(){u.default.render("mermaid-svg-".concat(h.toString()),e,(function(t){return p(t)})),h++};n?(n.mermaid?u.default.initialize(r(r({startOnLoad:!0},n.mermaid),{theme:o})):u.default.initialize({startOnLoad:!0,theme:o}),t()):setTimeout(t,0)}),[o,e]),c.default.createElement("div",{dangerouslySetInnerHTML:{__html:d}})}},43912:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getTheme=e.HTML_THEME_ATTRIBUTE=e.LIGHT_THEME_KEY=e.DARK_THEME_KEY=e.DEFAULT_LIGHT_THEME=e.DEFAULT_DARK_THEME=void 0,e.DEFAULT_DARK_THEME="dark",e.DEFAULT_LIGHT_THEME="default",e.DARK_THEME_KEY="dark",e.LIGHT_THEME_KEY="light",e.HTML_THEME_ATTRIBUTE="data-theme",e.getTheme=function(t,n){var r,i,a,o,s,c=null!==(r=t.getAttribute(e.HTML_THEME_ATTRIBUTE))&&void 0!==r?r:e.LIGHT_THEME_KEY;c!==e.LIGHT_THEME_KEY&&c!==e.DARK_THEME_KEY&&(c=e.LIGHT_THEME_KEY);var u=c===e.LIGHT_THEME_KEY?e.DEFAULT_LIGHT_THEME:e.DEFAULT_DARK_THEME;return null!==(s=null!==(a=null===(i=null==n?void 0:n.theme)||void 0===i?void 0:i[c])&&void 0!==a?a:null===(o=null==n?void 0:n.mermaid)||void 0===o?void 0:o.theme)&&void 0!==s?s:u}},21140:function(t,e,n){var r;"undefined"!=typeof self&&self,r=function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="./src/mermaid.js")}({"./node_modules/node-libs-browser/mock/empty.js":function(t,e){},"./node_modules/path-browserify/index.js":function(t,e,n){(function(t){function n(t,e){for(var n=0,r=t.length-1;r>=0;r--){var i=t[r];"."===i?t.splice(r,1):".."===i?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}function r(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r<t.length;r++)e(t[r],r,t)&&n.push(t[r]);return n}e.resolve=function(){for(var e="",i=!1,a=arguments.length-1;a>=-1&&!i;a--){var o=a>=0?arguments[a]:t.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(e=o+"/"+e,i="/"===o.charAt(0))}return(i?"/":"")+(e=n(r(e.split("/"),(function(t){return!!t})),!i).join("/"))||"."},e.normalize=function(t){var a=e.isAbsolute(t),o="/"===i(t,-1);return(t=n(r(t.split("/"),(function(t){return!!t})),!a).join("/"))||a||(t="."),t&&o&&(t+="/"),(a?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(r(t,(function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t})).join("/"))},e.relative=function(t,n){function r(t){for(var e=0;e<t.length&&""===t[e];e++);for(var n=t.length-1;n>=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=e.resolve(t).substr(1),n=e.resolve(n).substr(1);for(var i=r(t.split("/")),a=r(n.split("/")),o=Math.min(i.length,a.length),s=o,c=0;c<o;c++)if(i[c]!==a[c]){s=c;break}var u=[];for(c=s;c<i.length;c++)u.push("..");return(u=u.concat(a.slice(s))).join("/")},e.sep="/",e.delimiter=":",e.dirname=function(t){if("string"!=typeof t&&(t+=""),0===t.length)return".";for(var e=t.charCodeAt(0),n=47===e,r=-1,i=!0,a=t.length-1;a>=1;--a)if(47===(e=t.charCodeAt(a))){if(!i){r=a;break}}else i=!1;return-1===r?n?"/":".":n&&1===r?"/":t.slice(0,r)},e.basename=function(t,e){var n=function(t){"string"!=typeof t&&(t+="");var e,n=0,r=-1,i=!0;for(e=t.length-1;e>=0;--e)if(47===t.charCodeAt(e)){if(!i){n=e+1;break}}else-1===r&&(i=!1,r=e+1);return-1===r?"":t.slice(n,r)}(t);return e&&n.substr(-1*e.length)===e&&(n=n.substr(0,n.length-e.length)),n},e.extname=function(t){"string"!=typeof t&&(t+="");for(var e=-1,n=0,r=-1,i=!0,a=0,o=t.length-1;o>=0;--o){var s=t.charCodeAt(o);if(47!==s)-1===r&&(i=!1,r=o+1),46===s?-1===e?e=o:1!==a&&(a=1):-1!==e&&(a=-1);else if(!i){n=o+1;break}}return-1===e||-1===r||0===a||1===a&&e===r-1&&e===n+1?"":t.slice(e,r)};var i=function(t,e,n){return t.substr(e,n)}}).call(this,n("./node_modules/process/browser.js"))},"./node_modules/process/browser.js":function(t,e){var n,r,i=t.exports={};function a(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(t){if(n===setTimeout)return setTimeout(t,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(t){n=a}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(t){r=o}}();var c,u=[],l=!1,h=-1;function f(){l&&c&&(l=!1,c.length?u=c.concat(u):h=-1,u.length&&d())}function d(){if(!l){var t=s(f);l=!0;for(var e=u.length;e;){for(c=u,u=[];++h<e;)c&&c[h].run();h=-1,e=u.length}c=null,l=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function g(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];u.push(new p(t,e)),1!==u.length||l||s(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},"./node_modules/webpack/buildin/module.js":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},"./package.json":function(t){t.exports=JSON.parse('{"name":"mermaid","version":"8.11.5","description":"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.","main":"dist/mermaid.core.js","keywords":["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph"],"scripts":{"build:development":"webpack --progress --colors","build:production":"yarn build:development -p --config webpack.config.prod.babel.js","build":"yarn build:development && yarn build:production","postbuild":"documentation build src/mermaidAPI.js src/config.js src/defaultConfig.js --shallow -f md --markdown-toc false > docs/Setup.md","build:watch":"yarn build --watch","release":"yarn build","lint":"eslint src","e2e:depr":"yarn lint && jest e2e --config e2e/jest.config.js","cypress":"percy exec -- cypress run","e2e":"start-server-and-test dev http://localhost:9000/ cypress","e2e-upd":"yarn lint && jest e2e -u --config e2e/jest.config.js","dev":"webpack-dev-server --config webpack.config.e2e.js","test":"yarn lint && jest src/.*","test:watch":"jest --watch src","prepublishOnly":"yarn build && yarn test","prepare":"yarn build"},"repository":{"type":"git","url":"https://github.com/knsv/mermaid"},"author":"Knut Sveidqvist","license":"MIT","standard":{"ignore":["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],"globals":["page"]},"dependencies":{"@braintree/sanitize-url":"^3.1.0","@percy/migrate":"^0.10.0","d3":"^5.7.0","dagre":"^0.8.5","dagre-d3":"^0.6.4","dompurify":"2.3.0","graphlib":"^2.1.8","khroma":"^1.4.1","moment-mini":"^2.24.0","stylis":"^4.0.10"},"devDependencies":{"@babel/core":"^7.14.6","@babel/preset-env":"^7.14.7","@babel/register":"^7.14.5","@percy/cli":"^1.0.0-beta.58","@percy/cypress":"^3.1.0","babel-core":"7.0.0-bridge.0","babel-eslint":"^10.1.0","babel-jest":"^27.0.6","babel-loader":"^8.2.2","coveralls":"^3.0.2","css-to-string-loader":"^0.1.3","cypress":"7.6.0","documentation":"13.2.0","eslint":"^7.30.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","husky":"^7.0.1","identity-obj-proxy":"^3.0.0","jest":"^27.0.6","jison":"^0.4.18","js-base64":"3.6.1","moment":"^2.23.0","prettier":"^2.3.2","start-server-and-test":"^1.12.6","terser-webpack-plugin":"^2.2.2","webpack":"^4.41.2","webpack-bundle-analyzer":"^4.4.2","webpack-cli":"^3.1.2","webpack-dev-server":"^3.4.1","webpack-node-externals":"^1.7.2"},"files":["dist"],"yarn-upgrade-all":{"ignore":["babel-core"]},"sideEffects":["**/*.css","**/*.scss"],"husky":{"hooks":{"pre-push":"yarn test"}}}')},"./src/config.js":function(t,e,n){"use strict";n.r(e),n.d(e,"defaultConfig",(function(){return u})),n.d(e,"updateCurrentConfig",(function(){return d})),n.d(e,"setSiteConfig",(function(){return p})),n.d(e,"saveConfigFromInitilize",(function(){return g})),n.d(e,"updateSiteConfig",(function(){return y})),n.d(e,"getSiteConfig",(function(){return m})),n.d(e,"setConfig",(function(){return v})),n.d(e,"getConfig",(function(){return b})),n.d(e,"sanitize",(function(){return x})),n.d(e,"addDirective",(function(){return _})),n.d(e,"reset",(function(){return k}));var r=n("./src/utils.js"),i=n("./src/logger.js"),a=n("./src/themes/index.js"),o=n("./src/defaultConfig.js");function s(t){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}var c,u=Object.freeze(o.default),l=Object(r.assignWithDepth)({},u),h=[],f=Object(r.assignWithDepth)({},u),d=function(t,e){for(var n=Object(r.assignWithDepth)({},t),i={},o=0;o<e.length;o++){var s=e[o];x(s),i=Object(r.assignWithDepth)(i,s)}if(n=Object(r.assignWithDepth)(n,i),i.theme){var u=Object(r.assignWithDepth)({},c),l=Object(r.assignWithDepth)(u.themeVariables||{},i.themeVariables);n.themeVariables=a.default[n.theme].getThemeVariables(l)}return f=n,n},p=function(t){return l=Object(r.assignWithDepth)({},u),l=Object(r.assignWithDepth)(l,t),t.theme&&(l.themeVariables=a.default[t.theme].getThemeVariables(t.themeVariables)),f=d(l,h),l},g=function(t){c=Object(r.assignWithDepth)({},t)},y=function(t){return l=Object(r.assignWithDepth)(l,t),d(l,h),l},m=function(){return Object(r.assignWithDepth)({},l)},v=function(t){return Object(r.assignWithDepth)(f,t),b()},b=function(){return Object(r.assignWithDepth)({},f)},x=function t(e){Object.keys(l.secure).forEach((function(t){void 0!==e[l.secure[t]]&&(i.log.debug("Denied attempt to modify a secure key ".concat(l.secure[t]),e[l.secure[t]]),delete e[l.secure[t]])})),Object.keys(e).forEach((function(t){0===t.indexOf("__")&&delete e[t]})),Object.keys(e).forEach((function(n){"string"==typeof e[n]&&(e[n].indexOf("<")>-1||e[n].indexOf(">")>-1||e[n].indexOf("url(data:")>-1)&&delete e[n],"object"===s(e[n])&&t(e[n])}))},_=function(t){t.fontFamily&&(t.themeVariables&&t.themeVariables.fontFamily||(t.themeVariables={fontFamily:t.fontFamily})),h.push(t),d(l,h)},k=function(){d(l,h=[])}},"./src/dagre-wrapper/clusters.js":function(t,e,n){"use strict";n.r(e),n.d(e,"insertCluster",(function(){return h})),n.d(e,"getClusterTitleWidth",(function(){return f})),n.d(e,"clear",(function(){return d})),n.d(e,"positionCluster",(function(){return p}));var r=n("./src/dagre-wrapper/intersect/intersect-rect.js"),i=n("./src/logger.js"),a=n("./src/dagre-wrapper/createLabel.js"),o=n("d3"),s=n("./src/config.js"),c=n("./src/diagrams/common/common.js"),u={rect:function(t,e){i.log.trace("Creating subgraph rect for ",e.id,e);var n=t.insert("g").attr("class","cluster"+(e.class?" "+e.class:"")).attr("id",e.id),u=n.insert("rect",":first-child"),l=n.insert("g").attr("class","cluster-label"),h=l.node().appendChild(Object(a.default)(e.labelText,e.labelStyle,void 0,!0)),f=h.getBBox();if(Object(c.evaluate)(Object(s.getConfig)().flowchart.htmlLabels)){var d=h.children[0],p=Object(o.select)(h);f=d.getBoundingClientRect(),p.attr("width",f.width),p.attr("height",f.height)}var g=0*e.padding,y=g/2,m=e.width<=f.width+g?f.width+g:e.width;e.width<=f.width+g?e.diff=(f.width-e.width)/2:e.diff=-e.padding/2,i.log.trace("Data ",e,JSON.stringify(e)),u.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-m/2).attr("y",e.y-e.height/2-y).attr("width",m).attr("height",e.height+g),l.attr("transform","translate("+(e.x-f.width/2)+", "+(e.y-e.height/2+e.padding/3)+")");var v=u.node().getBBox();return e.width=v.width,e.height=v.height,e.intersect=function(t){return Object(r.default)(e,t)},n},roundedWithTitle:function(t,e){var n=t.insert("g").attr("class",e.classes).attr("id",e.id),i=n.insert("rect",":first-child"),u=n.insert("g").attr("class","cluster-label"),l=n.append("rect"),h=u.node().appendChild(Object(a.default)(e.labelText,e.labelStyle,void 0,!0)),f=h.getBBox();if(Object(c.evaluate)(Object(s.getConfig)().flowchart.htmlLabels)){var d=h.children[0],p=Object(o.select)(h);f=d.getBoundingClientRect(),p.attr("width",f.width),p.attr("height",f.height)}f=h.getBBox();var g=0*e.padding,y=g/2,m=e.width<=f.width+e.padding?f.width+e.padding:e.width;e.width<=f.width+e.padding?e.diff=(f.width+0*e.padding-e.width)/2:e.diff=-e.padding/2,i.attr("class","outer").attr("x",e.x-m/2-y).attr("y",e.y-e.height/2-y).attr("width",m+g).attr("height",e.height+g),l.attr("class","inner").attr("x",e.x-m/2-y).attr("y",e.y-e.height/2-y+f.height-1).attr("width",m+g).attr("height",e.height+g-f.height-3),u.attr("transform","translate("+(e.x-f.width/2)+", "+(e.y-e.height/2-e.padding/3+(Object(c.evaluate)(Object(s.getConfig)().flowchart.htmlLabels)?5:3))+")");var v=i.node().getBBox();return e.height=v.height,e.intersect=function(t){return Object(r.default)(e,t)},n},noteGroup:function(t,e){var n=t.insert("g").attr("class","note-cluster").attr("id",e.id),i=n.insert("rect",":first-child"),a=0*e.padding,o=a/2;i.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-o).attr("y",e.y-e.height/2-o).attr("width",e.width+a).attr("height",e.height+a).attr("fill","none");var s=i.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(t){return Object(r.default)(e,t)},n},divider:function(t,e){var n=t.insert("g").attr("class",e.classes).attr("id",e.id),i=n.insert("rect",":first-child"),a=0*e.padding,o=a/2;i.attr("class","divider").attr("x",e.x-e.width/2-o).attr("y",e.y-e.height/2).attr("width",e.width+a).attr("height",e.height+a);var s=i.node().getBBox();return e.width=s.width,e.height=s.height,e.diff=-e.padding/2,e.intersect=function(t){return Object(r.default)(e,t)},n}},l={},h=function(t,e){i.log.trace("Inserting cluster");var n=e.shape||"rect";l[e.id]=u[n](t,e)},f=function(t,e){var n=Object(a.default)(e.labelText,e.labelStyle,void 0,!0);t.node().appendChild(n);var r=n.getBBox().width;return t.node().removeChild(n),r},d=function(){l={}},p=function(t){i.log.info("Position cluster ("+t.id+", "+t.x+", "+t.y+")"),l[t.id].attr("transform","translate("+t.x+", "+t.y+")")}},"./src/dagre-wrapper/createLabel.js":function(t,e,n){"use strict";n.r(e);var r=n("d3"),i=n("./src/logger.js"),a=n("./src/diagrams/common/common.js"),o=n("./src/config.js");function s(t){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}e.default=function(t,e,n,c){var u=t||"";if("object"===s(u)&&(u=u[0]),Object(a.evaluate)(Object(o.getConfig)().flowchart.htmlLabels)){u=u.replace(/\\n|\n/g,"<br />"),i.log.info("vertexText"+u);var l=function(t){var e,n,i=Object(r.select)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=i.append("xhtml:div"),o=t.label,s=t.isNode?"nodeLabel":"edgeLabel";return a.html('<span class="'+s+'" '+(t.labelStyle?'style="'+t.labelStyle+'"':"")+">"+o+"</span>"),e=a,(n=t.labelStyle)&&e.attr("style",n),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),i.node()}({isNode:c,label:u.replace(/fa[lrsb]?:fa-[\w-]+/g,(function(t){return"<i class='".concat(t.replace(":"," "),"'></i>")})),labelStyle:e.replace("fill:","color:")});return l}var h=document.createElementNS("http://www.w3.org/2000/svg","text");h.setAttribute("style",e.replace("color:","fill:"));var f=[];f="string"==typeof u?u.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(u)?u:[];for(var d=0;d<f.length;d++){var p=document.createElementNS("http://www.w3.org/2000/svg","tspan");p.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),p.setAttribute("dy","1em"),p.setAttribute("x","0"),n?p.setAttribute("class","title-row"):p.setAttribute("class","row"),p.textContent=f[d].trim(),h.appendChild(p)}return h}},"./src/dagre-wrapper/edges.js":function(t,e,n){"use strict";n.r(e),n.d(e,"clear",(function(){return h})),n.d(e,"insertEdgeLabel",(function(){return f})),n.d(e,"positionEdgeLabel",(function(){return d})),n.d(e,"intersection",(function(){return p})),n.d(e,"insertEdge",(function(){return y}));var r=n("./src/logger.js"),i=n("./src/dagre-wrapper/createLabel.js"),a=n("d3"),o=n("./src/config.js"),s=n("./src/utils.js"),c=n("./src/diagrams/common/common.js"),u={},l={},h=function(){u={},l={}},f=function(t,e){var n=Object(i.default)(e.label,e.labelStyle),r=t.insert("g").attr("class","edgeLabel"),s=r.insert("g").attr("class","label");s.node().appendChild(n);var h=n.getBBox();if(Object(c.evaluate)(Object(o.getConfig)().flowchart.htmlLabels)){var f=n.children[0],d=Object(a.select)(n);h=f.getBoundingClientRect(),d.attr("width",h.width),d.attr("height",h.height)}if(s.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),u[e.id]=r,e.width=h.width,e.height=h.height,e.startLabelLeft){var p=Object(i.default)(e.startLabelLeft,e.labelStyle),g=t.insert("g").attr("class","edgeTerminals"),y=g.insert("g").attr("class","inner");y.node().appendChild(p);var m=p.getBBox();y.attr("transform","translate("+-m.width/2+", "+-m.height/2+")"),l[e.id]||(l[e.id]={}),l[e.id].startLeft=g}if(e.startLabelRight){var v=Object(i.default)(e.startLabelRight,e.labelStyle),b=t.insert("g").attr("class","edgeTerminals"),x=b.insert("g").attr("class","inner");b.node().appendChild(v),x.node().appendChild(v);var _=v.getBBox();x.attr("transform","translate("+-_.width/2+", "+-_.height/2+")"),l[e.id]||(l[e.id]={}),l[e.id].startRight=b}if(e.endLabelLeft){var k=Object(i.default)(e.endLabelLeft,e.labelStyle),w=t.insert("g").attr("class","edgeTerminals"),E=w.insert("g").attr("class","inner");E.node().appendChild(k);var T=k.getBBox();E.attr("transform","translate("+-T.width/2+", "+-T.height/2+")"),w.node().appendChild(k),l[e.id]||(l[e.id]={}),l[e.id].endLeft=w}if(e.endLabelRight){var C=Object(i.default)(e.endLabelRight,e.labelStyle),S=t.insert("g").attr("class","edgeTerminals"),A=S.insert("g").attr("class","inner");A.node().appendChild(C);var O=C.getBBox();A.attr("transform","translate("+-O.width/2+", "+-O.height/2+")"),S.node().appendChild(C),l[e.id]||(l[e.id]={}),l[e.id].endRight=S}},d=function(t,e){r.log.info("Moving label abc78 ",t.id,t.label,u[t.id]);var n=e.updatedPath?e.updatedPath:e.originalPath;if(t.label){var i=u[t.id],a=t.x,o=t.y;if(n){var c=s.default.calcLabelPosition(n);r.log.info("Moving label from (",a,",",o,") to (",c.x,",",c.y,") abc78")}i.attr("transform","translate("+a+", "+o+")")}if(t.startLabelLeft){var h=l[t.id].startLeft,f=t.x,d=t.y;if(n){var p=s.default.calcTerminalLabelPosition(0,"start_left",n);f=p.x,d=p.y}h.attr("transform","translate("+f+", "+d+")")}if(t.startLabelRight){var g=l[t.id].startRight,y=t.x,m=t.y;if(n){var v=s.default.calcTerminalLabelPosition(0,"start_right",n);y=v.x,m=v.y}g.attr("transform","translate("+y+", "+m+")")}if(t.endLabelLeft){var b=l[t.id].endLeft,x=t.x,_=t.y;if(n){var k=s.default.calcTerminalLabelPosition(0,"end_left",n);x=k.x,_=k.y}b.attr("transform","translate("+x+", "+_+")")}if(t.endLabelRight){var w=l[t.id].endRight,E=t.x,T=t.y;if(n){var C=s.default.calcTerminalLabelPosition(0,"end_right",n);E=C.x,T=C.y}w.attr("transform","translate("+E+", "+T+")")}},p=function(t,e,n){r.log.warn("intersection calc abc89:\n outsidePoint: ".concat(JSON.stringify(e),"\n insidePoint : ").concat(JSON.stringify(n),"\n node : x:").concat(t.x," y:").concat(t.y," w:").concat(t.width," h:").concat(t.height));var i=t.x,a=t.y,o=Math.abs(i-n.x),s=t.width/2,c=n.x<e.x?s-o:s+o,u=t.height/2,l=Math.abs(e.y-n.y),h=Math.abs(e.x-n.x);if(Math.abs(a-e.y)*s>Math.abs(i-e.x)*u){var f=n.y<e.y?e.y-u-a:a-u-e.y;c=h*f/l;var d={x:n.x<e.x?n.x+c:n.x-h+c,y:n.y<e.y?n.y+l-f:n.y-l+f};return 0===c&&(d.x=e.x,d.y=e.y),0===h&&(d.x=e.x),0===l&&(d.y=e.y),r.log.warn("abc89 topp/bott calc, Q ".concat(l,", q ").concat(f,", R ").concat(h,", r ").concat(c),d),d}var p=l*(c=n.x<e.x?e.x-s-i:i-s-e.x)/h,g=n.x<e.x?n.x+h-c:n.x-h+c,y=n.y<e.y?n.y+p:n.y-p;return r.log.warn("sides calc abc89, Q ".concat(l,", q ").concat(p,", R ").concat(h,", r ").concat(c),{_x:g,_y:y}),0===c&&(g=e.x,y=e.y),0===h&&(g=e.x),0===l&&(y=e.y),{x:g,y:y}},g=function(t,e){r.log.warn("abc88 cutPathAtIntersect",t,e);var n=[],i=t[0],a=!1;return t.forEach((function(t){if(r.log.info("abc88 checking point",t,e),function(t,e){var n=t.x,r=t.y,i=Math.abs(e.x-n),a=Math.abs(e.y-r),o=t.width/2,s=t.height/2;return i>=o||a>=s}(e,t)||a)r.log.warn("abc88 outside",t,i),i=t,a||n.push(t);else{var o=p(e,i,t);r.log.warn("abc88 inside",t,i,o),r.log.warn("abc88 intersection",o);var s=!1;n.forEach((function(t){s=s||t.x===o.x&&t.y===o.y})),n.find((function(t){return t.x===o.x&&t.y===o.y}))?r.log.warn("abc88 no intersect",o,n):n.push(o),a=!0}})),r.log.warn("abc88 returning points",n),n},y=function(t,e,n,i,s,c){var u=n.points,l=!1,h=c.node(e.v),f=c.node(e.w);r.log.info("abc88 InsertEdge: ",n),f.intersect&&h.intersect&&((u=u.slice(1,n.points.length-1)).unshift(h.intersect(u[0])),r.log.info("Last point",u[u.length-1],f,f.intersect(u[u.length-1])),u.push(f.intersect(u[u.length-1]))),n.toCluster&&(r.log.info("to cluster abc88",i[n.toCluster]),u=g(n.points,i[n.toCluster].node),l=!0),n.fromCluster&&(r.log.info("from cluster abc88",i[n.fromCluster]),u=g(u.reverse(),i[n.fromCluster].node).reverse(),l=!0);var d,p=u.filter((function(t){return!Number.isNaN(t.y)}));d=("graph"===s||"flowchart"===s)&&n.curve||a.curveBasis;var y,m=Object(a.line)().x((function(t){return t.x})).y((function(t){return t.y})).curve(d);switch(n.thickness){case"normal":y="edge-thickness-normal";break;case"thick":y="edge-thickness-thick";break;default:y=""}switch(n.pattern){case"solid":y+=" edge-pattern-solid";break;case"dotted":y+=" edge-pattern-dotted";break;case"dashed":y+=" edge-pattern-dashed"}var v=t.append("path").attr("d",m(p)).attr("id",n.id).attr("class"," "+y+(n.classes?" "+n.classes:"")).attr("style",n.style),b="";switch(Object(o.getConfig)().state.arrowMarkerAbsolute&&(b=(b=(b=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),r.log.info("arrowTypeStart",n.arrowTypeStart),r.log.info("arrowTypeEnd",n.arrowTypeEnd),n.arrowTypeStart){case"arrow_cross":v.attr("marker-start","url("+b+"#"+s+"-crossStart)");break;case"arrow_point":v.attr("marker-start","url("+b+"#"+s+"-pointStart)");break;case"arrow_barb":v.attr("marker-start","url("+b+"#"+s+"-barbStart)");break;case"arrow_circle":v.attr("marker-start","url("+b+"#"+s+"-circleStart)");break;case"aggregation":v.attr("marker-start","url("+b+"#"+s+"-aggregationStart)");break;case"extension":v.attr("marker-start","url("+b+"#"+s+"-extensionStart)");break;case"composition":v.attr("marker-start","url("+b+"#"+s+"-compositionStart)");break;case"dependency":v.attr("marker-start","url("+b+"#"+s+"-dependencyStart)")}switch(n.arrowTypeEnd){case"arrow_cross":v.attr("marker-end","url("+b+"#"+s+"-crossEnd)");break;case"arrow_point":v.attr("marker-end","url("+b+"#"+s+"-pointEnd)");break;case"arrow_barb":v.attr("marker-end","url("+b+"#"+s+"-barbEnd)");break;case"arrow_circle":v.attr("marker-end","url("+b+"#"+s+"-circleEnd)");break;case"aggregation":v.attr("marker-end","url("+b+"#"+s+"-aggregationEnd)");break;case"extension":v.attr("marker-end","url("+b+"#"+s+"-extensionEnd)");break;case"composition":v.attr("marker-end","url("+b+"#"+s+"-compositionEnd)");break;case"dependency":v.attr("marker-end","url("+b+"#"+s+"-dependencyEnd)")}var x={};return l&&(x.updatedPath=u),x.originalPath=n.points,x}},"./src/dagre-wrapper/index.js":function(t,e,n){"use strict";n.r(e),n.d(e,"render",(function(){return g}));var r=n("dagre"),i=n.n(r),a=n("graphlib"),o=n.n(a),s=n("./src/dagre-wrapper/markers.js"),c=n("./src/dagre-wrapper/shapes/util.js"),u=n("./src/dagre-wrapper/mermaid-graphlib.js"),l=n("./src/dagre-wrapper/nodes.js"),h=n("./src/dagre-wrapper/clusters.js"),f=n("./src/dagre-wrapper/edges.js"),d=n("./src/logger.js"),p=function t(e,n,r,a){d.log.info("Graph in recursive render: XXX",o.a.json.write(n),a);var s=n.graph().rankdir;d.log.trace("Dir in recursive render - dir:",s);var p=e.insert("g").attr("class","root");n.nodes()?d.log.info("Recursive render XXX",n.nodes()):d.log.info("No nodes found for",n),n.edges().length>0&&d.log.trace("Recursive edges",n.edge(n.edges()[0]));var g=p.insert("g").attr("class","clusters"),y=p.insert("g").attr("class","edgePaths"),m=p.insert("g").attr("class","edgeLabels"),v=p.insert("g").attr("class","nodes");n.nodes().forEach((function(e){var i=n.node(e);if(void 0!==a){var o=JSON.parse(JSON.stringify(a.clusterData));d.log.info("Setting data for cluster XXX (",e,") ",o,a),n.setNode(a.id,o),n.parent(e)||(d.log.trace("Setting parent",e,a.id),n.setParent(e,a.id,o))}if(d.log.info("(Insert) Node XXX"+e+": "+JSON.stringify(n.node(e))),i&&i.clusterNode){d.log.info("Cluster identified",e,i.width,n.node(e));var h=t(v,i.graph,r,n.node(e)),f=h.elem;Object(c.updateNodeBounds)(i,f),i.diff=h.diff||0,d.log.info("Node bounds (abc123)",e,i,i.width,i.x,i.y),Object(l.setNodeElem)(f,i),d.log.warn("Recursive render complete ",f,i)}else n.children(e).length>0?(d.log.info("Cluster - the non recursive path XXX",e,i.id,i,n),d.log.info(Object(u.findNonClusterChild)(i.id,n)),u.clusterDb[i.id]={id:Object(u.findNonClusterChild)(i.id,n),node:i}):(d.log.info("Node - the non recursive path",e,i.id,i),Object(l.insertNode)(v,n.node(e),s))})),n.edges().forEach((function(t){var e=n.edge(t.v,t.w,t.name);d.log.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),d.log.info("Edge "+t.v+" -> "+t.w+": ",t," ",JSON.stringify(n.edge(t))),d.log.info("Fix",u.clusterDb,"ids:",t.v,t.w,"Translateing: ",u.clusterDb[t.v],u.clusterDb[t.w]),Object(f.insertEdgeLabel)(m,e)})),n.edges().forEach((function(t){d.log.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t))})),d.log.info("#############################################"),d.log.info("### Layout ###"),d.log.info("#############################################"),d.log.info(n),i.a.layout(n),d.log.info("Graph after layout:",o.a.json.write(n));var b=0;return Object(u.sortNodesByHierarchy)(n).forEach((function(t){var e=n.node(t);d.log.info("Position "+t+": "+JSON.stringify(n.node(t))),d.log.info("Position "+t+": ("+e.x,","+e.y,") width: ",e.width," height: ",e.height),e&&e.clusterNode?Object(l.positionNode)(e):n.children(t).length>0?(Object(h.insertCluster)(g,e),u.clusterDb[e.id].node=e):Object(l.positionNode)(e)})),n.edges().forEach((function(t){var e=n.edge(t);d.log.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e),e);var i=Object(f.insertEdge)(y,t,e,u.clusterDb,r,n);Object(f.positionEdgeLabel)(e,i)})),n.nodes().forEach((function(t){var e=n.node(t);d.log.info(t,e.type,e.diff),"group"===e.type&&(b=e.diff)})),{elem:p,diff:b}},g=function(t,e,n,r,i){Object(s.default)(t,n,r,i),Object(l.clear)(),Object(f.clear)(),Object(h.clear)(),Object(u.clear)(),d.log.warn("Graph at first:",o.a.json.write(e)),Object(u.adjustClustersAndEdges)(e),d.log.warn("Graph after:",o.a.json.write(e)),p(t,e,r)}},"./src/dagre-wrapper/intersect/index.js":function(t,e,n){"use strict";n.r(e);var r=n("./src/dagre-wrapper/intersect/intersect-node.js"),i=n.n(r),a=n("./src/dagre-wrapper/intersect/intersect-circle.js"),o=n("./src/dagre-wrapper/intersect/intersect-ellipse.js"),s=n("./src/dagre-wrapper/intersect/intersect-polygon.js"),c=n("./src/dagre-wrapper/intersect/intersect-rect.js");e.default={node:i.a,circle:a.default,ellipse:o.default,polygon:s.default,rect:c.default}},"./src/dagre-wrapper/intersect/intersect-circle.js":function(t,e,n){"use strict";n.r(e);var r=n("./src/dagre-wrapper/intersect/intersect-ellipse.js");e.default=function(t,e,n){return Object(r.default)(t,e,e,n)}},"./src/dagre-wrapper/intersect/intersect-ellipse.js":function(t,e,n){"use strict";n.r(e),e.default=function(t,e,n,r){var i=t.x,a=t.y,o=i-r.x,s=a-r.y,c=Math.sqrt(e*e*s*s+n*n*o*o),u=Math.abs(e*n*o/c);r.x<i&&(u=-u);var l=Math.abs(e*n*s/c);return r.y<a&&(l=-l),{x:i+u,y:a+l}}},"./src/dagre-wrapper/intersect/intersect-line.js":function(t,e,n){"use strict";function r(t,e){return t*e>0}n.r(e),e.default=function(t,e,n,i){var a,o,s,c,u,l,h,f,d,p,g,y,m;if(a=e.y-t.y,s=t.x-e.x,u=e.x*t.y-t.x*e.y,d=a*n.x+s*n.y+u,p=a*i.x+s*i.y+u,!(0!==d&&0!==p&&r(d,p)||(o=i.y-n.y,c=n.x-i.x,l=i.x*n.y-n.x*i.y,h=o*t.x+c*t.y+l,f=o*e.x+c*e.y+l,0!==h&&0!==f&&r(h,f)||0==(g=a*c-o*s))))return y=Math.abs(g/2),{x:(m=s*l-c*u)<0?(m-y)/g:(m+y)/g,y:(m=o*u-a*l)<0?(m-y)/g:(m+y)/g}}},"./src/dagre-wrapper/intersect/intersect-node.js":function(t,e){t.exports=function(t,e){return t.intersect(e)}},"./src/dagre-wrapper/intersect/intersect-polygon.js":function(t,e,n){"use strict";n.r(e);var r=n("./src/dagre-wrapper/intersect/intersect-line.js");e.default=function(t,e,n){var i=t.x,a=t.y,o=[],s=Number.POSITIVE_INFINITY,c=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach((function(t){s=Math.min(s,t.x),c=Math.min(c,t.y)})):(s=Math.min(s,e.x),c=Math.min(c,e.y));for(var u=i-t.width/2-s,l=a-t.height/2-c,h=0;h<e.length;h++){var f=e[h],d=e[h<e.length-1?h+1:0],p=Object(r.default)(t,n,{x:u+f.x,y:l+f.y},{x:u+d.x,y:l+d.y});p&&o.push(p)}return o.length?(o.length>1&&o.sort((function(t,e){var r=t.x-n.x,i=t.y-n.y,a=Math.sqrt(r*r+i*i),o=e.x-n.x,s=e.y-n.y,c=Math.sqrt(o*o+s*s);return a<c?-1:a===c?0:1})),o[0]):t}},"./src/dagre-wrapper/intersect/intersect-rect.js":function(t,e,n){"use strict";n.r(e),e.default=function(t,e){var n,r,i=t.x,a=t.y,o=e.x-i,s=e.y-a,c=t.width/2,u=t.height/2;return Math.abs(s)*c>Math.abs(o)*u?(s<0&&(u=-u),n=0===s?0:u*o/s,r=u):(o<0&&(c=-c),n=c,r=0===o?0:c*s/o),{x:i+n,y:a+r}}},"./src/dagre-wrapper/markers.js":function(t,e,n){"use strict";n.r(e);var r=n("./src/logger.js"),i={extension:function(t,e,n){r.log.trace("Making markers for ",n),t.append("defs").append("marker").attr("id",e+"-extensionStart").attr("class","marker extension "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:function(t,e){t.append("defs").append("marker").attr("id",e+"-compositionStart").attr("class","marker composition "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},aggregation:function(t,e){t.append("defs").append("marker").attr("id",e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},dependency:function(t,e){t.append("defs").append("marker").attr("id",e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},point:function(t,e){t.append("marker").attr("id",e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:function(t,e){t.append("marker").attr("id",e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:function(t,e){t.append("marker").attr("id",e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:function(t,e){t.append("defs").append("marker").attr("id",e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}};e.default=function(t,e,n,r){e.forEach((function(e){i[e](t,n,r)}))}},"./src/dagre-wrapper/mermaid-graphlib.js":function(t,e,n){"use strict";n.r(e),n.d(e,"clusterDb",(function(){return o})),n.d(e,"clear",(function(){return u})),n.d(e,"extractDecendants",(function(){return f})),n.d(e,"validate",(function(){return d})),n.d(e,"findNonClusterChild",(function(){return p})),n.d(e,"adjustClustersAndEdges",(function(){return y})),n.d(e,"extractor",(function(){return m})),n.d(e,"sortNodesByHierarchy",(function(){return b}));var r=n("./src/logger.js"),i=n("graphlib"),a=n.n(i),o={},s={},c={},u=function(){s={},c={},o={}},l=function(t,e){return r.log.trace("In isDecendant",e," ",t," = ",s[e].indexOf(t)>=0),s[e].indexOf(t)>=0},h=function t(e,n,i,a){r.log.warn("Copying children of ",e,"root",a,"data",n.node(e),a);var o=n.children(e)||[];e!==a&&o.push(e),r.log.warn("Copying (nodes) clusterId",e,"nodes",o),o.forEach((function(o){if(n.children(o).length>0)t(o,n,i,a);else{var c=n.node(o);r.log.info("cp ",o," to ",a," with parent ",e),i.setNode(o,c),a!==n.parent(o)&&(r.log.warn("Setting parent",o,n.parent(o)),i.setParent(o,n.parent(o))),e!==a&&o!==e?(r.log.debug("Setting parent",o,e),i.setParent(o,e)):(r.log.info("In copy ",e,"root",a,"data",n.node(e),a),r.log.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==a,"node!==clusterId",o!==e));var u=n.edges(o);r.log.debug("Copying Edges",u),u.forEach((function(t){r.log.info("Edge",t);var o=n.edge(t.v,t.w,t.name);r.log.info("Edge data",o,a);try{!function(t,e){return r.log.info("Decendants of ",e," is ",s[e]),r.log.info("Edge is ",t),t.v!==e&&t.w!==e&&(s[e]?(r.log.info("Here "),s[e].indexOf(t.v)>=0||!!l(t.v,e)||!!l(t.w,e)||s[e].indexOf(t.w)>=0):(r.log.debug("Tilt, ",e,",not in decendants"),!1))}(t,a)?r.log.info("Skipping copy of edge ",t.v,"--\x3e",t.w," rootId: ",a," clusterId:",e):(r.log.info("Copying as ",t.v,t.w,o,t.name),i.setEdge(t.v,t.w,o,t.name),r.log.info("newGraph edges ",i.edges(),i.edge(i.edges()[0])))}catch(c){r.log.error(c)}}))}r.log.debug("Removing node",o),n.removeNode(o)}))},f=function t(e,n){for(var r=n.children(e),i=[].concat(r),a=0;a<r.length;a++)c[r[a]]=e,i=i.concat(t(r[a],n));return i},d=function(t){var e=t.edges();r.log.trace("Edges: ",e);for(var n=0;n<e.length;n++){if(t.children(e[n].v).length>0)return r.log.trace("The node ",e[n].v," is part of and edge even though it has children"),!1;if(t.children(e[n].w).length>0)return r.log.trace("The node ",e[n].w," is part of and edge even though it has children"),!1}return!0},p=function t(e,n){r.log.trace("Searching",e);var i=n.children(e);if(r.log.trace("Searching children of id ",e,i),i.length<1)return r.log.trace("This is a valid node",e),e;for(var a=0;a<i.length;a++){var o=t(i[a],n);if(o)return r.log.trace("Found replacement for",e," => ",o),o}},g=function(t){return o[t]&&o[t].externalConnections&&o[t]?o[t].id:t},y=function(t,e){!t||e>10?r.log.debug("Opting out, no graph "):(r.log.debug("Opting in, graph "),t.nodes().forEach((function(e){t.children(e).length>0&&(r.log.warn("Cluster identified",e," Replacement id in edges: ",p(e,t)),s[e]=f(e,t),o[e]={id:p(e,t),clusterData:t.node(e)})})),t.nodes().forEach((function(e){var n=t.children(e),i=t.edges();n.length>0?(r.log.debug("Cluster identified",e,s),i.forEach((function(t){t.v!==e&&t.w!==e&&l(t.v,e)^l(t.w,e)&&(r.log.warn("Edge: ",t," leaves cluster ",e),r.log.warn("Decendants of XXX ",e,": ",s[e]),o[e].externalConnections=!0)}))):r.log.debug("Not a cluster ",e,s)})),t.edges().forEach((function(e){var n=t.edge(e);r.log.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),r.log.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(t.edge(e)));var i=e.v,a=e.w;r.log.warn("Fix XXX",o,"ids:",e.v,e.w,"Translateing: ",o[e.v]," --- ",o[e.w]),(o[e.v]||o[e.w])&&(r.log.warn("Fixing and trixing - removing XXX",e.v,e.w,e.name),i=g(e.v),a=g(e.w),t.removeEdge(e.v,e.w,e.name),i!==e.v&&(n.fromCluster=e.v),a!==e.w&&(n.toCluster=e.w),r.log.warn("Fix Replacing with XXX",i,a,e.name),t.setEdge(i,a,n,e.name))})),r.log.warn("Adjusted Graph",a.a.json.write(t)),m(t,0),r.log.trace(o))},m=function t(e,n){if(r.log.warn("extractor - ",n,a.a.json.write(e),e.children("D")),n>10)r.log.error("Bailing out");else{for(var i=e.nodes(),s=!1,c=0;c<i.length;c++){var u=i[c],l=e.children(u);s=s||l.length>0}if(s){r.log.debug("Nodes = ",i,n);for(var f=0;f<i.length;f++){var d=i[f];if(r.log.debug("Extracting node",d,o,o[d]&&!o[d].externalConnections,!e.parent(d),e.node(d),e.children("D")," Depth ",n),o[d])if(!o[d].externalConnections&&e.children(d)&&e.children(d).length>0){r.log.warn("Cluster without external connections, without a parent and with children",d,n);var p="TB"===e.graph().rankdir?"LR":"TB";o[d]&&o[d].clusterData&&o[d].clusterData.dir&&(p=o[d].clusterData.dir,r.log.warn("Fixing dir",o[d].clusterData.dir,p));var g=new a.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:p,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));r.log.warn("Old graph before copy",a.a.json.write(e)),h(d,e,g,d),e.setNode(d,{clusterNode:!0,id:d,clusterData:o[d].clusterData,labelText:o[d].labelText,graph:g}),r.log.warn("New graph after copy node: (",d,")",a.a.json.write(g)),r.log.debug("Old graph after copy",a.a.json.write(e))}else r.log.warn("Cluster ** ",d," **not meeting the criteria !externalConnections:",!o[d].externalConnections," no parent: ",!e.parent(d)," children ",e.children(d)&&e.children(d).length>0,e.children("D"),n),r.log.debug(o);else r.log.debug("Not a cluster",d,n)}i=e.nodes(),r.log.warn("New list of nodes",i);for(var y=0;y<i.length;y++){var m=i[y],v=e.node(m);r.log.warn(" Now next level",m,v),v.clusterNode&&t(v.graph,n+1)}}else r.log.debug("Done, no node has children",e.nodes())}},v=function t(e,n){if(0===n.length)return[];var r=Object.assign(n);return n.forEach((function(n){var i=e.children(n),a=t(e,i);r=r.concat(a)})),r},b=function(t){return v(t,t.children())}},"./src/dagre-wrapper/nodes.js":function(t,e,n){"use strict";n.r(e),n.d(e,"insertNode",(function(){return y})),n.d(e,"setNodeElem",(function(){return m})),n.d(e,"clear",(function(){return v})),n.d(e,"positionNode",(function(){return b}));var r=n("d3"),i=n("./src/logger.js"),a=n("./src/dagre-wrapper/shapes/util.js"),o=n("./src/config.js"),s=n("./src/dagre-wrapper/intersect/index.js"),c=n("./src/dagre-wrapper/createLabel.js"),u=n("./src/dagre-wrapper/shapes/note.js"),l=n("./src/diagrams/class/svgDraw.js"),h=n("./src/diagrams/common/common.js");function f(t){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},f(t)}var d=function(t,e,n){var r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,o=10;"LR"===n&&(i=10,o=70);var c=r.append("rect").attr("x",-1*i/2).attr("y",-1*o/2).attr("width",i).attr("height",o).attr("class","fork-join");return Object(a.updateNodeBounds)(e,c),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return s.default.rect(e,t)},r},p={question:function(t,e){var n=Object(a.labelHelper)(t,e,void 0,!0),r=n.shapeSvg,o=n.bbox,c=o.width+e.padding+(o.height+e.padding),u=[{x:c/2,y:0},{x:c,y:-c/2},{x:c/2,y:-c},{x:0,y:-c/2}];i.log.info("Question main (Circle)");var l=Object(a.insertPolygonShape)(r,c,c,u);return l.attr("style",e.style),Object(a.updateNodeBounds)(e,l),e.intersect=function(t){return i.log.warn("Intersect called"),s.default.polygon(e,u,t)},r},rect:function(t,e){var n=Object(a.labelHelper)(t,e,"node "+e.classes,!0),r=n.shapeSvg,o=n.bbox,c=n.halfPadding;i.log.trace("Classes = ",e.classes);var u=r.insert("rect",":first-child");return u.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",-o.width/2-c).attr("y",-o.height/2-c).attr("width",o.width+e.padding).attr("height",o.height+e.padding),Object(a.updateNodeBounds)(e,u),e.intersect=function(t){return s.default.rect(e,t)},r},rectWithTitle:function(t,e){var n;n=e.classes?"node "+e.classes:"node default";var u=t.insert("g").attr("class",n).attr("id",e.domId||e.id),l=u.insert("rect",":first-child"),d=u.insert("line"),p=u.insert("g").attr("class","label"),g=e.labelText.flat?e.labelText.flat():e.labelText,y="";y="object"===f(g)?g[0]:g,i.log.info("Label text abc79",y,g,"object"===f(g));var m,v=p.node().appendChild(Object(c.default)(y,e.labelStyle,!0,!0));if(Object(h.evaluate)(Object(o.getConfig)().flowchart.htmlLabels)){var b=v.children[0],x=Object(r.select)(v);m=b.getBoundingClientRect(),x.attr("width",m.width),x.attr("height",m.height)}i.log.info("Text 2",g);var _=g.slice(1,g.length),k=v.getBBox(),w=p.node().appendChild(Object(c.default)(_.join?_.join("<br/>"):_,e.labelStyle,!0,!0));if(Object(h.evaluate)(Object(o.getConfig)().flowchart.htmlLabels)){var E=w.children[0],T=Object(r.select)(w);m=E.getBoundingClientRect(),T.attr("width",m.width),T.attr("height",m.height)}var C=e.padding/2;return Object(r.select)(w).attr("transform","translate( "+(m.width>k.width?0:(k.width-m.width)/2)+", "+(k.height+C+5)+")"),Object(r.select)(v).attr("transform","translate( "+(m.width<k.width?0:-(k.width-m.width)/2)+", 0)"),m=p.node().getBBox(),p.attr("transform","translate("+-m.width/2+", "+(-m.height/2-C+3)+")"),l.attr("class","outer title-state").attr("x",-m.width/2-C).attr("y",-m.height/2-C).attr("width",m.width+e.padding).attr("height",m.height+e.padding),d.attr("class","divider").attr("x1",-m.width/2-C).attr("x2",m.width/2+C).attr("y1",-m.height/2-C+k.height+C).attr("y2",-m.height/2-C+k.height+C),Object(a.updateNodeBounds)(e,l),e.intersect=function(t){return s.default.rect(e,t)},u},choice:function(t,e){var n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}],i=n.insert("polygon",":first-child").attr("points",r.map((function(t){return t.x+","+t.y})).join(" "));return i.attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(t){return s.default.circle(e,14,t)},n},circle:function(t,e){var n=Object(a.labelHelper)(t,e,void 0,!0),r=n.shapeSvg,o=n.bbox,c=n.halfPadding,u=r.insert("circle",":first-child");return u.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",o.width/2+c).attr("width",o.width+e.padding).attr("height",o.height+e.padding),i.log.info("Circle main"),Object(a.updateNodeBounds)(e,u),e.intersect=function(t){return i.log.info("Circle intersect",e,o.width/2+c,t),s.default.circle(e,o.width/2+c,t)},r},stadium:function(t,e){var n=Object(a.labelHelper)(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,o=i.height+e.padding,c=i.width+o/4+e.padding,u=r.insert("rect",":first-child").attr("style",e.style).attr("rx",o/2).attr("ry",o/2).attr("x",-c/2).attr("y",-o/2).attr("width",c).attr("height",o);return Object(a.updateNodeBounds)(e,u),e.intersect=function(t){return s.default.rect(e,t)},r},hexagon:function(t,e){var n=Object(a.labelHelper)(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,o=i.height+e.padding,c=o/4,u=i.width+2*c+e.padding,l=[{x:c,y:0},{x:u-c,y:0},{x:u,y:-o/2},{x:u-c,y:-o},{x:c,y:-o},{x:0,y:-o/2}],h=Object(a.insertPolygonShape)(r,u,o,l);return h.attr("style",e.style),Object(a.updateNodeBounds)(e,h),e.intersect=function(t){return s.default.polygon(e,l,t)},r},rect_left_inv_arrow:function(t,e){var n=Object(a.labelHelper)(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,o=i.width+e.padding,c=i.height+e.padding,u=[{x:-c/2,y:0},{x:o,y:0},{x:o,y:-c},{x:-c/2,y:-c},{x:0,y:-c/2}];return Object(a.insertPolygonShape)(r,o,c,u).attr("style",e.style),e.width=o+c,e.height=c,e.intersect=function(t){return s.default.polygon(e,u,t)},r},lean_right:function(t,e){var n=Object(a.labelHelper)(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,o=i.width+e.padding,c=i.height+e.padding,u=[{x:-2*c/6,y:0},{x:o-c/6,y:0},{x:o+2*c/6,y:-c},{x:c/6,y:-c}],l=Object(a.insertPolygonShape)(r,o,c,u);return l.attr("style",e.style),Object(a.updateNodeBounds)(e,l),e.intersect=function(t){return s.default.polygon(e,u,t)},r},lean_left:function(t,e){var n=Object(a.labelHelper)(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,o=i.width+e.padding,c=i.height+e.padding,u=[{x:2*c/6,y:0},{x:o+c/6,y:0},{x:o-2*c/6,y:-c},{x:-c/6,y:-c}],l=Object(a.insertPolygonShape)(r,o,c,u);return l.attr("style",e.style),Object(a.updateNodeBounds)(e,l),e.intersect=function(t){return s.default.polygon(e,u,t)},r},trapezoid:function(t,e){var n=Object(a.labelHelper)(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,o=i.width+e.padding,c=i.height+e.padding,u=[{x:-2*c/6,y:0},{x:o+2*c/6,y:0},{x:o-c/6,y:-c},{x:c/6,y:-c}],l=Object(a.insertPolygonShape)(r,o,c,u);return l.attr("style",e.style),Object(a.updateNodeBounds)(e,l),e.intersect=function(t){return s.default.polygon(e,u,t)},r},inv_trapezoid:function(t,e){var n=Object(a.labelHelper)(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,o=i.width+e.padding,c=i.height+e.padding,u=[{x:c/6,y:0},{x:o-c/6,y:0},{x:o+2*c/6,y:-c},{x:-2*c/6,y:-c}],l=Object(a.insertPolygonShape)(r,o,c,u);return l.attr("style",e.style),Object(a.updateNodeBounds)(e,l),e.intersect=function(t){return s.default.polygon(e,u,t)},r},rect_right_inv_arrow:function(t,e){var n=Object(a.labelHelper)(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,o=i.width+e.padding,c=i.height+e.padding,u=[{x:0,y:0},{x:o+c/2,y:0},{x:o,y:-c/2},{x:o+c/2,y:-c},{x:0,y:-c}],l=Object(a.insertPolygonShape)(r,o,c,u);return l.attr("style",e.style),Object(a.updateNodeBounds)(e,l),e.intersect=function(t){return s.default.polygon(e,u,t)},r},cylinder:function(t,e){var n=Object(a.labelHelper)(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,o=i.width+e.padding,c=o/2,u=c/(2.5+o/50),l=i.height+u+e.padding,h="M 0,"+u+" a "+c+","+u+" 0,0,0 "+o+" 0 a "+c+","+u+" 0,0,0 "+-o+" 0 l 0,"+l+" a "+c+","+u+" 0,0,0 "+o+" 0 l 0,"+-l,f=r.attr("label-offset-y",u).insert("path",":first-child").attr("style",e.style).attr("d",h).attr("transform","translate("+-o/2+","+-(l/2+u)+")");return Object(a.updateNodeBounds)(e,f),e.intersect=function(t){var n=s.default.rect(e,t),r=n.x-e.x;if(0!=c&&(Math.abs(r)<e.width/2||Math.abs(r)==e.width/2&&Math.abs(n.y-e.y)>e.height/2-u)){var i=u*u*(1-r*r/(c*c));0!=i&&(i=Math.sqrt(i)),i=u-i,t.y-e.y>0&&(i=-i),n.y+=i}return n},r},start:function(t,e){var n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=n.insert("circle",":first-child");return r.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),Object(a.updateNodeBounds)(e,r),e.intersect=function(t){return s.default.circle(e,7,t)},n},end:function(t,e){var n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=n.insert("circle",":first-child"),i=n.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),r.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),Object(a.updateNodeBounds)(e,i),e.intersect=function(t){return s.default.circle(e,7,t)},n},note:u.default,subroutine:function(t,e){var n=Object(a.labelHelper)(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,o=i.width+e.padding,c=i.height+e.padding,u=[{x:0,y:0},{x:o,y:0},{x:o,y:-c},{x:0,y:-c},{x:0,y:0},{x:-8,y:0},{x:o+8,y:0},{x:o+8,y:-c},{x:-8,y:-c},{x:-8,y:0}],l=Object(a.insertPolygonShape)(r,o,c,u);return l.attr("style",e.style),Object(a.updateNodeBounds)(e,l),e.intersect=function(t){return s.default.polygon(e,u,t)},r},fork:d,join:d,class_box:function(t,e){var n,i=e.padding/2;n=e.classes?"node "+e.classes:"node default";var u=t.insert("g").attr("class",n).attr("id",e.domId||e.id),f=u.insert("rect",":first-child"),d=u.insert("line"),p=u.insert("line"),g=0,y=4,m=u.insert("g").attr("class","label"),v=0,b=e.classData.annotations&&e.classData.annotations[0],x=e.classData.annotations[0]?"\xab"+e.classData.annotations[0]+"\xbb":"",_=m.node().appendChild(Object(c.default)(x,e.labelStyle,!0,!0)),k=_.getBBox();if(Object(h.evaluate)(Object(o.getConfig)().flowchart.htmlLabels)){var w=_.children[0],E=Object(r.select)(_);k=w.getBoundingClientRect(),E.attr("width",k.width),E.attr("height",k.height)}e.classData.annotations[0]&&(y+=k.height+4,g+=k.width);var T=e.classData.id;void 0!==e.classData.type&&""!==e.classData.type&&(T+="<"+e.classData.type+">");var C=m.node().appendChild(Object(c.default)(T,e.labelStyle,!0,!0));Object(r.select)(C).attr("class","classTitle");var S=C.getBBox();if(Object(h.evaluate)(Object(o.getConfig)().flowchart.htmlLabels)){var A=C.children[0],O=Object(r.select)(C);S=A.getBoundingClientRect(),O.attr("width",S.width),O.attr("height",S.height)}y+=S.height+4,S.width>g&&(g=S.width);var M=[];e.classData.members.forEach((function(t){var n=Object(l.parseMember)(t).displayText,i=m.node().appendChild(Object(c.default)(n,e.labelStyle,!0,!0)),a=i.getBBox();if(Object(h.evaluate)(Object(o.getConfig)().flowchart.htmlLabels)){var s=i.children[0],u=Object(r.select)(i);a=s.getBoundingClientRect(),u.attr("width",a.width),u.attr("height",a.height)}a.width>g&&(g=a.width),y+=a.height+4,M.push(i)})),y+=8;var j=[];if(e.classData.methods.forEach((function(t){var n=Object(l.parseMember)(t).displayText,i=m.node().appendChild(Object(c.default)(n,e.labelStyle,!0,!0)),a=i.getBBox();if(Object(h.evaluate)(Object(o.getConfig)().flowchart.htmlLabels)){var s=i.children[0],u=Object(r.select)(i);a=s.getBoundingClientRect(),u.attr("width",a.width),u.attr("height",a.height)}a.width>g&&(g=a.width),y+=a.height+4,j.push(i)})),y+=8,b){var D=(g-k.width)/2;Object(r.select)(_).attr("transform","translate( "+(-1*g/2+D)+", "+-1*y/2+")"),v=k.height+4}var N=(g-S.width)/2;return Object(r.select)(C).attr("transform","translate( "+(-1*g/2+N)+", "+(-1*y/2+v)+")"),v+=S.height+4,d.attr("class","divider").attr("x1",-g/2-i).attr("x2",g/2+i).attr("y1",-y/2-i+8+v).attr("y2",-y/2-i+8+v),v+=8,M.forEach((function(t){Object(r.select)(t).attr("transform","translate( "+-g/2+", "+(-1*y/2+v+4)+")"),v+=S.height+4})),v+=8,p.attr("class","divider").attr("x1",-g/2-i).attr("x2",g/2+i).attr("y1",-y/2-i+8+v).attr("y2",-y/2-i+8+v),v+=8,j.forEach((function(t){Object(r.select)(t).attr("transform","translate( "+-g/2+", "+(-1*y/2+v)+")"),v+=S.height+4})),f.attr("class","outer title-state").attr("x",-g/2-i).attr("y",-y/2-i).attr("width",g+e.padding).attr("height",y+e.padding),Object(a.updateNodeBounds)(e,f),e.intersect=function(t){return s.default.rect(e,t)},u}},g={},y=function(t,e,n){var r,i;e.link?(r=t.insert("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget||"_blank"),i=p[e.shape](r,e,n)):r=i=p[e.shape](t,e,n),e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),g[e.id]=r,e.haveCallback&&g[e.id].attr("class",g[e.id].attr("class")+" clickable")},m=function(t,e){g[e.id]=t},v=function(){g={}},b=function(t){var e=g[t.id];i.log.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");var n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n}},"./src/dagre-wrapper/shapes/note.js":function(t,e,n){"use strict";n.r(e);var r=n("./src/dagre-wrapper/shapes/util.js"),i=n("./src/logger.js"),a=n("./src/dagre-wrapper/intersect/index.js");e.default=function(t,e){var n=Object(r.labelHelper)(t,e,"node "+e.classes,!0),o=n.shapeSvg,s=n.bbox,c=n.halfPadding;i.log.info("Classes = ",e.classes);var u=o.insert("rect",":first-child");return u.attr("rx",e.rx).attr("ry",e.ry).attr("x",-s.width/2-c).attr("y",-s.height/2-c).attr("width",s.width+e.padding).attr("height",s.height+e.padding),Object(r.updateNodeBounds)(e,u),e.intersect=function(t){return a.default.rect(e,t)},o}},"./src/dagre-wrapper/shapes/util.js":function(t,e,n){"use strict";n.r(e),n.d(e,"labelHelper",(function(){return s})),n.d(e,"updateNodeBounds",(function(){return c})),n.d(e,"insertPolygonShape",(function(){return u}));var r=n("./src/dagre-wrapper/createLabel.js"),i=n("./src/config.js"),a=n("d3"),o=n("./src/diagrams/common/common.js"),s=function(t,e,n,s){var c;c=n||"node default";var u=t.insert("g").attr("class",c).attr("id",e.domId||e.id),l=u.insert("g").attr("class","label").attr("style",e.labelStyle),h=l.node().appendChild(Object(r.default)(e.labelText,e.labelStyle,!1,s)),f=h.getBBox();if(Object(o.evaluate)(Object(i.getConfig)().flowchart.htmlLabels)){var d=h.children[0],p=Object(a.select)(h);f=d.getBoundingClientRect(),p.attr("width",f.width),p.attr("height",f.height)}var g=e.padding/2;return l.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),{shapeSvg:u,bbox:f,halfPadding:g,label:l}},c=function(t,e){var n=e.node().getBBox();t.width=n.width,t.height=n.height};function u(t,e,n,r){return t.insert("polygon",":first-child").attr("points",r.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+n/2+")")}},"./src/defaultConfig.js":function(t,e,n){"use strict";function r(t){return function(t){if(Array.isArray(t))return i(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}n.r(e),n.d(e,"configKeys",(function(){return s}));var o={theme:"default",themeVariables:n("./src/themes/index.js").default.default.getThemeVariables(),themeCSS:void 0,maxTextSize:5e4,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize"],deterministicIds:!1,deterministicIDSeed:void 0,flowchart:{diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,useMaxWidth:!0,defaultRenderer:"dagre-d3"},sequence:{activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open-Sans", "sans-serif"',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",useMaxWidth:!0,topAxis:!1,useWidth:void 0},journey:{diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open-Sans", "sans-serif"',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{arrowMarkerAbsolute:!1,useMaxWidth:!0,defaultRenderer:"dagre-d3"},git:{arrowMarkerAbsolute:!1,useWidth:void 0,useMaxWidth:!0},state:{dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,useMaxWidth:!0,defaultRenderer:"dagre-wrapper"},er:{diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12,useMaxWidth:!0},pie:{useWidth:void 0,useMaxWidth:!0},requirement:{useWidth:void 0,useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20}};o.class.arrowMarkerAbsolute=o.arrowMarkerAbsolute,o.git.arrowMarkerAbsolute=o.arrowMarkerAbsolute;var s=function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return Object.keys(e).reduce((function(i,o){return Array.isArray(e[o])?i:"object"===a(e[o])&&null!==e[o]?[].concat(r(i),[n+o],r(t(e[o],""))):[].concat(r(i),[n+o])}),[])}(o,"");e.default=o},"./src/diagrams/class/classDb.js":function(t,e,n){"use strict";n.r(e),n.d(e,"parseDirective",(function(){return y})),n.d(e,"addClass",(function(){return v})),n.d(e,"lookUpDomId",(function(){return b})),n.d(e,"clear",(function(){return x})),n.d(e,"getClass",(function(){return _})),n.d(e,"getClasses",(function(){return k})),n.d(e,"getRelations",(function(){return w})),n.d(e,"addRelation",(function(){return E})),n.d(e,"addAnnotation",(function(){return T})),n.d(e,"addMember",(function(){return C})),n.d(e,"addMembers",(function(){return S})),n.d(e,"cleanupLabel",(function(){return A})),n.d(e,"setCssClass",(function(){return O})),n.d(e,"setLink",(function(){return M})),n.d(e,"setClickEvent",(function(){return j})),n.d(e,"bindFunctions",(function(){return N})),n.d(e,"lineType",(function(){return B})),n.d(e,"relationType",(function(){return L}));var r=n("d3"),i=n("./src/logger.js"),a=n("./src/config.js"),o=n("./src/diagrams/common/common.js"),s=n("./src/utils.js"),c=n("./src/mermaidAPI.js");function u(t){return function(t){if(Array.isArray(t))return l(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return l(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var h="classid-",f=[],d={},p=0,g=[],y=function(t,e,n){c.default.parseDirective(this,t,e,n)},m=function(t){var e="",n=t;if(t.indexOf("~")>0){var r=t.split("~");n=r[0],e=r[1]}return{className:n,type:e}},v=function(t){var e=m(t);void 0===d[e.className]&&(d[e.className]={id:e.className,type:e.type,cssClasses:[],methods:[],members:[],annotations:[],domId:h+e.className+"-"+p},p++)},b=function(t){for(var e=Object.keys(d),n=0;n<e.length;n++)if(d[e[n]].id===t)return d[e[n]].domId},x=function(){f=[],d={},(g=[]).push(I)},_=function(t){return d[t]},k=function(){return d},w=function(){return f},E=function(t){i.log.debug("Adding relation: "+JSON.stringify(t)),v(t.id1),v(t.id2),t.id1=m(t.id1).className,t.id2=m(t.id2).className,f.push(t)},T=function(t,e){var n=m(t).className;d[n].annotations.push(e)},C=function(t,e){var n=m(t).className,r=d[n];if("string"==typeof e){var i=e.trim();i.startsWith("<<")&&i.endsWith(">>")?r.annotations.push(i.substring(2,i.length-2)):i.indexOf(")")>0?r.methods.push(i):i&&r.members.push(i)}},S=function(t,e){Array.isArray(e)&&(e.reverse(),e.forEach((function(e){return C(t,e)})))},A=function(t){return":"===t.substring(0,1)?t.substr(1).trim():t.trim()},O=function(t,e){t.split(",").forEach((function(t){var n=t;t[0].match(/\d/)&&(n=h+n),void 0!==d[n]&&d[n].cssClasses.push(e)}))},M=function(t,e,n){var r=a.getConfig();t.split(",").forEach((function(t){var i=t;t[0].match(/\d/)&&(i=h+i),void 0!==d[i]&&(d[i].link=s.default.formatUrl(e,r),d[i].linkTarget="string"==typeof n?n:"_blank")})),O(t,"clickable")},j=function(t,e,n){t.split(",").forEach((function(t){D(t,e,n),d[t].haveCallback=!0})),O(t,"clickable")},D=function(t,e,n){var r=a.getConfig(),i=t,o=b(i);if("loose"===r.securityLevel&&void 0!==e&&void 0!==d[i]){var c=[];if("string"==typeof n){c=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(var l=0;l<c.length;l++){var h=c[l].trim();'"'===h.charAt(0)&&'"'===h.charAt(h.length-1)&&(h=h.substr(1,h.length-2)),c[l]=h}}0===c.length&&c.push(o),g.push((function(){var t=document.querySelector('[id="'.concat(o,'"]'));null!==t&&t.addEventListener("click",(function(){s.default.runFunc.apply(s.default,[e].concat(u(c)))}),!1)}))}},N=function(t){g.forEach((function(e){e(t)}))},B={LINE:0,DOTTED_LINE:1},L={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},I=function(t){var e=Object(r.select)(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=Object(r.select)("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),Object(r.select)(t).select("svg").selectAll("g.node").on("mouseover",(function(){var t=Object(r.select)(this);if(null!==t.attr("title")){var n=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(t.attr("title")).style("left",window.scrollX+n.left+(n.right-n.left)/2+"px").style("top",window.scrollY+n.top-14+document.body.scrollTop+"px"),t.classed("hover",!0)}})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0),Object(r.select)(this).classed("hover",!1)}))};g.push(I),e.default={parseDirective:y,getConfig:function(){return a.getConfig().class},addClass:v,bindFunctions:N,clear:x,getClass:_,getClasses:k,addAnnotation:T,getRelations:w,addRelation:E,addMember:C,addMembers:S,cleanupLabel:A,lineType:B,relationType:L,setClickEvent:j,setCssClass:O,setLink:M,setTooltip:function(t,e){var n=a.getConfig();t.split(",").forEach((function(t){void 0!==e&&(d[t].tooltip=o.default.sanitizeText(e,n))}))},lookUpDomId:b}},"./src/diagrams/class/classRenderer-v2.js":function(t,e,n){"use strict";n.r(e),n.d(e,"addClasses",(function(){return v})),n.d(e,"addRelations",(function(){return b})),n.d(e,"setConf",(function(){return _})),n.d(e,"drawOld",(function(){return k})),n.d(e,"draw",(function(){return w}));var r=n("d3"),i=n("dagre"),a=n.n(i),o=n("graphlib"),s=n.n(o),c=n("./src/logger.js"),u=n("./src/diagrams/class/classDb.js"),l=n("./src/diagrams/class/parser/classDiagram.jison"),h=n("./src/diagrams/class/svgDraw.js"),f=n("./src/config.js"),d=n("./src/dagre-wrapper/index.js"),p=n("./src/utils.js"),g=n("./src/diagrams/common/common.js");l.parser.yy=u.default;var y={},m={dividerMargin:10,padding:5,textHeight:10},v=function(t,e){var n=Object.keys(t);c.log.info("keys:",n),c.log.info(t),n.forEach((function(n){var r=t[n],i="";r.cssClasses.length>0&&(i=i+" "+r.cssClasses.join(" "));var a={labelStyle:""},o=void 0!==r.text?r.text:r.id,s="";r.type,s="class_box",e.setNode(r.id,{labelStyle:a.labelStyle,shape:s,labelText:o,classData:r,rx:0,ry:0,class:i,style:a.style,id:r.id,domId:r.domId,haveCallback:r.haveCallback,link:r.link,width:"group"===r.type?500:void 0,type:r.type,padding:Object(f.getConfig)().flowchart.padding}),c.log.info("setNode",{labelStyle:a.labelStyle,shape:s,labelText:o,rx:0,ry:0,class:i,style:a.style,id:r.id,width:"group"===r.type?500:void 0,type:r.type,padding:Object(f.getConfig)().flowchart.padding})}))},b=function(t,e){var n=0;t.forEach((function(i){n++;var a={classes:"relation"};a.pattern=1==i.relation.lineType?"dashed":"solid",a.id="id"+n,"arrow_open"===i.type?a.arrowhead="none":a.arrowhead="normal",c.log.info(a,i),a.startLabelRight="none"===i.relationTitle1?"":i.relationTitle1,a.endLabelLeft="none"===i.relationTitle2?"":i.relationTitle2,a.arrowTypeStart=E(i.relation.type1),a.arrowTypeEnd=E(i.relation.type2);var o="",s="";if(void 0!==i.style){var u=Object(p.getStylesFromArray)(i.style);o=u.style,s=u.labelStyle}else o="fill:none";a.style=o,a.labelStyle=s,void 0!==i.interpolate?a.curve=Object(p.interpolateToCurve)(i.interpolate,r.curveLinear):void 0!==t.defaultInterpolate?a.curve=Object(p.interpolateToCurve)(t.defaultInterpolate,r.curveLinear):a.curve=Object(p.interpolateToCurve)(m.curve,r.curveLinear),i.text=i.title,void 0===i.text?void 0!==i.style&&(a.arrowheadStyle="fill: #333"):(a.arrowheadStyle="fill: #333",a.labelpos="c",Object(f.getConfig)().flowchart.htmlLabels,a.labelType="text",a.label=i.text.replace(g.default.lineBreakRegex,"\n"),void 0===i.style&&(a.style=a.style||"stroke: #333; stroke-width: 1.5px;fill:none"),a.labelStyle=a.labelStyle.replace("color:","fill:")),e.setEdge(i.id1,i.id2,a,n)}))},x=function(t){for(var e=Object.keys(y),n=0;n<e.length;n++)if(y[e[n]].label===t)return e[n]},_=function(t){Object.keys(t).forEach((function(e){m[e]=t[e]}))},k=function(t,e){y={},l.parser.yy.clear(),l.parser.parse(t),c.log.info("Rendering diagram "+t);var n=Object(r.select)("[id='".concat(e,"']")),i=new s.a.Graph({multigraph:!0});i.setGraph({isMultiGraph:!0}),i.setDefaultEdgeLabel((function(){return{}}));var o=u.default.getClasses();c.log.info("classes:"),c.log.info(o);for(var f=Object.keys(o),d=0;d<f.length;d++){var g=o[f[d]],v=h.default.drawClass(n,g,m);y[v.id]=v,i.setNode(v.id,v),c.log.info("Org height: "+v.height)}var b=u.default.getRelations();c.log.info("relations:",b),b.forEach((function(t){c.log.info("tjoho"+x(t.id1)+x(t.id2)+JSON.stringify(t)),i.setEdge(x(t.id1),x(t.id2),{relation:t},t.title||"DEFAULT")})),a.a.layout(i),i.nodes().forEach((function(t){void 0!==t&&void 0!==i.node(t)&&(c.log.debug("Node "+t+": "+JSON.stringify(i.node(t))),Object(r.select)("#"+Object(u.lookUpDomId)(t)).attr("transform","translate("+(i.node(t).x-i.node(t).width/2)+","+(i.node(t).y-i.node(t).height/2)+" )"))})),i.edges().forEach((function(t){void 0!==t&&void 0!==i.edge(t)&&(c.log.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(i.edge(t))),h.default.drawEdge(n,i.edge(t),i.edge(t).relation,m))}));var _=n.node().getBBox(),k=_.width+40,w=_.height+40;Object(p.configureSvgSize)(n,w,k,m.useMaxWidth);var E="".concat(_.x-20," ").concat(_.y-20," ").concat(k," ").concat(w);c.log.debug("viewBox ".concat(E)),n.attr("viewBox",E)},w=function(t,e){c.log.info("Drawing class"),u.default.clear(),l.parser.parse(t);var n=Object(f.getConfig)().flowchart;c.log.info("config:",n);var i=n.nodeSpacing||50,a=n.rankSpacing||50,o=new s.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:"TD",nodesep:i,ranksep:a,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),h=u.default.getClasses(),g=u.default.getRelations();c.log.info(g),v(h,o,e),b(g,o);var y=Object(r.select)('[id="'.concat(e,'"]'));y.attr("xmlns:xlink","http://www.w3.org/1999/xlink");var m=Object(r.select)("#"+e+" g");Object(d.render)(m,o,["aggregation","extension","composition","dependency"],"classDiagram",e);var x=y.node().getBBox(),_=x.width+16,k=x.height+16;if(c.log.debug("new ViewBox 0 0 ".concat(_," ").concat(k),"translate(".concat(8-o._label.marginx,", ").concat(8-o._label.marginy,")")),Object(p.configureSvgSize)(y,k,_,n.useMaxWidth),y.attr("viewBox","0 0 ".concat(_," ").concat(k)),y.select("g").attr("transform","translate(".concat(8-o._label.marginx,", ").concat(8-x.y,")")),!n.htmlLabels)for(var w=document.querySelectorAll('[id="'+e+'"] .edgeLabel .label'),E=0;E<w.length;E++){var T=w[E],C=T.getBBox(),S=document.createElementNS("http://www.w3.org/2000/svg","rect");S.setAttribute("rx",0),S.setAttribute("ry",0),S.setAttribute("width",C.width),S.setAttribute("height",C.height),S.setAttribute("style","fill:#e8e8e8;"),T.insertBefore(S,T.firstChild)}};function E(t){var e;switch(t){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;default:e="none"}return e}e.default={setConf:_,draw:w}},"./src/diagrams/class/classRenderer.js":function(t,e,n){"use strict";n.r(e),n.d(e,"setConf",(function(){return y})),n.d(e,"draw",(function(){return m}));var r=n("d3"),i=n("dagre"),a=n.n(i),o=n("graphlib"),s=n.n(o),c=n("./src/logger.js"),u=n("./src/diagrams/class/classDb.js"),l=n("./src/diagrams/class/parser/classDiagram.jison"),h=n("./src/diagrams/class/svgDraw.js"),f=n("./src/utils.js");l.parser.yy=u.default;var d={},p={dividerMargin:10,padding:5,textHeight:10},g=function(t){for(var e=Object.keys(d),n=0;n<e.length;n++)if(d[e[n]].label===t)return e[n]},y=function(t){Object.keys(t).forEach((function(e){p[e]=t[e]}))},m=function(t,e){d={},l.parser.yy.clear(),l.parser.parse(t),c.log.info("Rendering diagram "+t);var n,i=Object(r.select)("[id='".concat(e,"']"));i.attr("xmlns:xlink","http://www.w3.org/1999/xlink"),(n=i).append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),n.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),n.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z");var o=new s.a.Graph({multigraph:!0});o.setGraph({isMultiGraph:!0}),o.setDefaultEdgeLabel((function(){return{}}));for(var y=u.default.getClasses(),m=Object.keys(y),v=0;v<m.length;v++){var b=y[m[v]],x=h.default.drawClass(i,b,p);d[x.id]=x,o.setNode(x.id,x),c.log.info("Org height: "+x.height)}u.default.getRelations().forEach((function(t){c.log.info("tjoho"+g(t.id1)+g(t.id2)+JSON.stringify(t)),o.setEdge(g(t.id1),g(t.id2),{relation:t},t.title||"DEFAULT")})),a.a.layout(o),o.nodes().forEach((function(t){void 0!==t&&void 0!==o.node(t)&&(c.log.debug("Node "+t+": "+JSON.stringify(o.node(t))),Object(r.select)("#"+Object(u.lookUpDomId)(t)).attr("transform","translate("+(o.node(t).x-o.node(t).width/2)+","+(o.node(t).y-o.node(t).height/2)+" )"))})),o.edges().forEach((function(t){void 0!==t&&void 0!==o.edge(t)&&(c.log.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(o.edge(t))),h.default.drawEdge(i,o.edge(t),o.edge(t).relation,p))}));var _=i.node().getBBox(),k=_.width+40,w=_.height+40;Object(f.configureSvgSize)(i,w,k,p.useMaxWidth);var E="".concat(_.x-20," ").concat(_.y-20," ").concat(k," ").concat(w);c.log.debug("viewBox ".concat(E)),i.attr("viewBox",E)};e.default={setConf:y,draw:m}},"./src/diagrams/class/parser/classDiagram.jison":function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,7],n=[1,6],r=[1,14],i=[1,25],a=[1,28],o=[1,26],s=[1,27],c=[1,29],u=[1,30],l=[1,31],h=[1,32],f=[1,35],d=[1,36],p=[1,37],g=[1,38],y=[10,19],m=[1,50],v=[1,51],b=[1,52],x=[1,53],_=[1,54],k=[1,55],w=[10,19,26,33,34,42,45,46,47,48,49,50,55,57],E=[10,19,24,26,33,34,38,42,45,46,47,48,49,50,55,57,72,73,74,75],T=[10,13,17,19],C=[42,72,73,74,75],S=[42,49,50,72,73,74,75],A=[42,45,46,47,48,72,73,74,75],O=[10,19,26],M=[1,87],j={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,graphConfig:6,openDirective:7,typeDirective:8,closeDirective:9,NEWLINE:10,":":11,argDirective:12,open_directive:13,type_directive:14,arg_directive:15,close_directive:16,CLASS_DIAGRAM:17,statements:18,EOF:19,statement:20,className:21,alphaNumToken:22,classLiteralName:23,GENERICTYPE:24,relationStatement:25,LABEL:26,classStatement:27,methodStatement:28,annotationStatement:29,clickStatement:30,cssClassStatement:31,CLASS:32,STYLE_SEPARATOR:33,STRUCT_START:34,members:35,STRUCT_STOP:36,ANNOTATION_START:37,ANNOTATION_END:38,MEMBER:39,SEPARATOR:40,relation:41,STR:42,relationType:43,lineType:44,AGGREGATION:45,EXTENSION:46,COMPOSITION:47,DEPENDENCY:48,LINE:49,DOTTED_LINE:50,CALLBACK:51,LINK:52,LINK_TARGET:53,CLICK:54,CALLBACK_NAME:55,CALLBACK_ARGS:56,HREF:57,CSSCLASS:58,commentToken:59,textToken:60,graphCodeTokens:61,textNoTagsToken:62,TAGSTART:63,TAGEND:64,"==":65,"--":66,PCT:67,DEFAULT:68,SPACE:69,MINUS:70,keywords:71,UNICODE_TEXT:72,NUM:73,ALPHA:74,BQUOTE_STR:75,$accept:0,$end:1},terminals_:{2:"error",10:"NEWLINE",11:":",13:"open_directive",14:"type_directive",15:"arg_directive",16:"close_directive",17:"CLASS_DIAGRAM",19:"EOF",24:"GENERICTYPE",26:"LABEL",32:"CLASS",33:"STYLE_SEPARATOR",34:"STRUCT_START",36:"STRUCT_STOP",37:"ANNOTATION_START",38:"ANNOTATION_END",39:"MEMBER",40:"SEPARATOR",42:"STR",45:"AGGREGATION",46:"EXTENSION",47:"COMPOSITION",48:"DEPENDENCY",49:"LINE",50:"DOTTED_LINE",51:"CALLBACK",52:"LINK",53:"LINK_TARGET",54:"CLICK",55:"CALLBACK_NAME",56:"CALLBACK_ARGS",57:"HREF",58:"CSSCLASS",61:"graphCodeTokens",63:"TAGSTART",64:"TAGEND",65:"==",66:"--",67:"PCT",68:"DEFAULT",69:"SPACE",70:"MINUS",71:"keywords",72:"UNICODE_TEXT",73:"NUM",74:"ALPHA",75:"BQUOTE_STR"},productions_:[0,[3,1],[3,2],[4,1],[5,4],[5,6],[7,1],[8,1],[12,1],[9,1],[6,4],[18,1],[18,2],[18,3],[21,1],[21,1],[21,2],[21,2],[21,2],[20,1],[20,2],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[27,2],[27,4],[27,5],[27,7],[29,4],[35,1],[35,2],[28,1],[28,2],[28,1],[28,1],[25,3],[25,4],[25,4],[25,5],[41,3],[41,2],[41,2],[41,1],[43,1],[43,1],[43,1],[43,1],[44,1],[44,1],[30,3],[30,4],[30,3],[30,4],[30,4],[30,5],[30,3],[30,4],[30,4],[30,5],[30,3],[30,4],[30,4],[30,5],[31,3],[59,1],[59,1],[60,1],[60,1],[60,1],[60,1],[60,1],[60,1],[60,1],[62,1],[62,1],[62,1],[62,1],[22,1],[22,1],[22,1],[23,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 6:r.parseDirective("%%{","open_directive");break;case 7:r.parseDirective(a[s],"type_directive");break;case 8:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 9:r.parseDirective("}%%","close_directive","class");break;case 14:case 15:this.$=a[s];break;case 16:this.$=a[s-1]+a[s];break;case 17:case 18:this.$=a[s-1]+"~"+a[s];break;case 19:r.addRelation(a[s]);break;case 20:a[s-1].title=r.cleanupLabel(a[s]),r.addRelation(a[s-1]);break;case 27:r.addClass(a[s]);break;case 28:r.addClass(a[s-2]),r.setCssClass(a[s-2],a[s]);break;case 29:r.addClass(a[s-3]),r.addMembers(a[s-3],a[s-1]);break;case 30:r.addClass(a[s-5]),r.setCssClass(a[s-5],a[s-3]),r.addMembers(a[s-5],a[s-1]);break;case 31:r.addAnnotation(a[s],a[s-2]);break;case 32:this.$=[a[s]];break;case 33:a[s].push(a[s-1]),this.$=a[s];break;case 34:case 36:case 37:break;case 35:r.addMember(a[s-1],r.cleanupLabel(a[s]));break;case 38:this.$={id1:a[s-2],id2:a[s],relation:a[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 39:this.$={id1:a[s-3],id2:a[s],relation:a[s-1],relationTitle1:a[s-2],relationTitle2:"none"};break;case 40:this.$={id1:a[s-3],id2:a[s],relation:a[s-2],relationTitle1:"none",relationTitle2:a[s-1]};break;case 41:this.$={id1:a[s-4],id2:a[s],relation:a[s-2],relationTitle1:a[s-3],relationTitle2:a[s-1]};break;case 42:this.$={type1:a[s-2],type2:a[s],lineType:a[s-1]};break;case 43:this.$={type1:"none",type2:a[s],lineType:a[s-1]};break;case 44:this.$={type1:a[s-1],type2:"none",lineType:a[s]};break;case 45:this.$={type1:"none",type2:"none",lineType:a[s]};break;case 46:this.$=r.relationType.AGGREGATION;break;case 47:this.$=r.relationType.EXTENSION;break;case 48:this.$=r.relationType.COMPOSITION;break;case 49:this.$=r.relationType.DEPENDENCY;break;case 50:this.$=r.lineType.LINE;break;case 51:this.$=r.lineType.DOTTED_LINE;break;case 52:case 58:this.$=a[s-2],r.setClickEvent(a[s-1],a[s]);break;case 53:case 59:this.$=a[s-3],r.setClickEvent(a[s-2],a[s-1]),r.setTooltip(a[s-2],a[s]);break;case 54:case 62:this.$=a[s-2],r.setLink(a[s-1],a[s]);break;case 55:case 63:this.$=a[s-3],r.setLink(a[s-2],a[s-1],a[s]);break;case 56:case 64:this.$=a[s-3],r.setLink(a[s-2],a[s-1]),r.setTooltip(a[s-2],a[s]);break;case 57:case 65:this.$=a[s-4],r.setLink(a[s-3],a[s-2],a[s]),r.setTooltip(a[s-3],a[s-1]);break;case 60:this.$=a[s-3],r.setClickEvent(a[s-2],a[s-1],a[s]);break;case 61:this.$=a[s-4],r.setClickEvent(a[s-3],a[s-2],a[s-1]),r.setTooltip(a[s-3],a[s]);break;case 66:r.setCssClass(a[s-1],a[s])}},table:[{3:1,4:2,5:3,6:4,7:5,13:e,17:n},{1:[3]},{1:[2,1]},{3:8,4:2,5:3,6:4,7:5,13:e,17:n},{1:[2,3]},{8:9,14:[1,10]},{10:[1,11]},{14:[2,6]},{1:[2,2]},{9:12,11:[1,13],16:r},t([11,16],[2,7]),{5:23,7:5,13:e,18:15,20:16,21:24,22:33,23:34,25:17,27:18,28:19,29:20,30:21,31:22,32:i,37:a,39:o,40:s,51:c,52:u,54:l,58:h,72:f,73:d,74:p,75:g},{10:[1,39]},{12:40,15:[1,41]},{10:[2,9]},{19:[1,42]},{10:[1,43],19:[2,11]},t(y,[2,19],{26:[1,44]}),t(y,[2,21]),t(y,[2,22]),t(y,[2,23]),t(y,[2,24]),t(y,[2,25]),t(y,[2,26]),t(y,[2,34],{41:45,43:48,44:49,26:[1,47],42:[1,46],45:m,46:v,47:b,48:x,49:_,50:k}),{21:56,22:33,23:34,72:f,73:d,74:p,75:g},t(y,[2,36]),t(y,[2,37]),{22:57,72:f,73:d,74:p},{21:58,22:33,23:34,72:f,73:d,74:p,75:g},{21:59,22:33,23:34,72:f,73:d,74:p,75:g},{21:60,22:33,23:34,72:f,73:d,74:p,75:g},{42:[1,61]},t(w,[2,14],{22:33,23:34,21:62,24:[1,63],72:f,73:d,74:p,75:g}),t(w,[2,15],{24:[1,64]}),t(E,[2,80]),t(E,[2,81]),t(E,[2,82]),t([10,19,24,26,33,34,42,45,46,47,48,49,50,55,57],[2,83]),t(T,[2,4]),{9:65,16:r},{16:[2,8]},{1:[2,10]},{5:23,7:5,13:e,18:66,19:[2,12],20:16,21:24,22:33,23:34,25:17,27:18,28:19,29:20,30:21,31:22,32:i,37:a,39:o,40:s,51:c,52:u,54:l,58:h,72:f,73:d,74:p,75:g},t(y,[2,20]),{21:67,22:33,23:34,42:[1,68],72:f,73:d,74:p,75:g},{41:69,43:48,44:49,45:m,46:v,47:b,48:x,49:_,50:k},t(y,[2,35]),{44:70,49:_,50:k},t(C,[2,45],{43:71,45:m,46:v,47:b,48:x}),t(S,[2,46]),t(S,[2,47]),t(S,[2,48]),t(S,[2,49]),t(A,[2,50]),t(A,[2,51]),t(y,[2,27],{33:[1,72],34:[1,73]}),{38:[1,74]},{42:[1,75]},{42:[1,76]},{55:[1,77],57:[1,78]},{22:79,72:f,73:d,74:p},t(w,[2,16]),t(w,[2,17]),t(w,[2,18]),{10:[1,80]},{19:[2,13]},t(O,[2,38]),{21:81,22:33,23:34,72:f,73:d,74:p,75:g},{21:82,22:33,23:34,42:[1,83],72:f,73:d,74:p,75:g},t(C,[2,44],{43:84,45:m,46:v,47:b,48:x}),t(C,[2,43]),{22:85,72:f,73:d,74:p},{35:86,39:M},{21:88,22:33,23:34,72:f,73:d,74:p,75:g},t(y,[2,52],{42:[1,89]}),t(y,[2,54],{42:[1,91],53:[1,90]}),t(y,[2,58],{42:[1,92],56:[1,93]}),t(y,[2,62],{42:[1,95],53:[1,94]}),t(y,[2,66]),t(T,[2,5]),t(O,[2,40]),t(O,[2,39]),{21:96,22:33,23:34,72:f,73:d,74:p,75:g},t(C,[2,42]),t(y,[2,28],{34:[1,97]}),{36:[1,98]},{35:99,36:[2,32],39:M},t(y,[2,31]),t(y,[2,53]),t(y,[2,55]),t(y,[2,56],{53:[1,100]}),t(y,[2,59]),t(y,[2,60],{42:[1,101]}),t(y,[2,63]),t(y,[2,64],{53:[1,102]}),t(O,[2,41]),{35:103,39:M},t(y,[2,29]),{36:[2,33]},t(y,[2,57]),t(y,[2,61]),t(y,[2,65]),{36:[1,104]},t(y,[2,30])],defaultActions:{2:[2,1],4:[2,3],7:[2,6],8:[2,2],14:[2,9],41:[2,8],42:[2,10],66:[2,13],99:[2,33]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var v=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,O={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var M="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");M=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(M,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],O.$=i[i.length-C],O._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},v&&(O._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(O,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(O.$),a.push(O._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},D={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),13;case 1:return this.begin("type_directive"),14;case 2:return this.popState(),this.begin("arg_directive"),11;case 3:return this.popState(),this.popState(),16;case 4:return 15;case 5:case 6:case 8:case 15:break;case 7:return 10;case 9:case 10:return 17;case 11:return this.begin("struct"),34;case 12:return"EOF_IN_STRUCT";case 13:return"OPEN_IN_STRUCT";case 14:return this.popState(),36;case 16:return"MEMBER";case 17:return 32;case 18:return 58;case 19:return 51;case 20:return 52;case 21:return 54;case 22:return 37;case 23:return 38;case 24:this.begin("generic");break;case 25:case 28:case 31:case 34:case 37:case 40:this.popState();break;case 26:return"GENERICTYPE";case 27:this.begin("string");break;case 29:return"STR";case 30:this.begin("bqstring");break;case 32:return"BQUOTE_STR";case 33:this.begin("href");break;case 35:return 57;case 36:this.begin("callback_name");break;case 38:this.popState(),this.begin("callback_args");break;case 39:return 55;case 41:return 56;case 42:case 43:case 44:case 45:return 53;case 46:case 47:return 46;case 48:case 49:return 48;case 50:return 47;case 51:return 45;case 52:return 49;case 53:return 50;case 54:return 26;case 55:return 33;case 56:return 70;case 57:return"DOT";case 58:return"PLUS";case 59:return 67;case 60:case 61:return"EQUALS";case 62:return 74;case 63:return"PUNCTUATION";case 64:return 73;case 65:return 72;case 66:return 69;case 67:return 19}},rules:[/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:[{])/,/^(?:$)/,/^(?:[{])/,/^(?:[}])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:class\b)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:[~])/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[`])/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callback_args:{rules:[40,41],inclusive:!1},callback_name:{rules:[37,38,39],inclusive:!1},href:{rules:[34,35],inclusive:!1},struct:{rules:[12,13,14,15,16],inclusive:!1},generic:{rules:[25,26],inclusive:!1},bqstring:{rules:[31,32],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,17,18,19,20,21,22,23,24,27,30,33,36,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67],inclusive:!0}}};function N(){this.yy={}}return j.lexer=D,N.prototype=j,j.Parser=N,new N}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n("./node_modules/node-libs-browser/mock/empty.js").readFileSync(n("./node_modules/path-browserify/index.js").normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n("./node_modules/process/browser.js"),n("./node_modules/webpack/buildin/module.js")(t))},"./src/diagrams/class/styles.js":function(t,e,n){"use strict";n.r(e),e.default=function(t){return"g.classGroup text {\n fill: ".concat(t.nodeBorder,";\n fill: ").concat(t.classText,";\n stroke: none;\n font-family: ").concat(t.fontFamily,";\n font-size: 10px;\n\n .title {\n font-weight: bolder;\n }\n\n}\n\n.classTitle {\n font-weight: bolder;\n}\n.node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n stroke-width: 1px;\n }\n\n\n.divider {\n stroke: ").concat(t.nodeBorder,";\n stroke: 1;\n}\n\ng.clickable {\n cursor: pointer;\n}\n\ng.classGroup rect {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n}\n\ng.classGroup line {\n stroke: ").concat(t.nodeBorder,";\n stroke-width: 1;\n}\n\n.classLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ").concat(t.mainBkg,";\n opacity: 0.5;\n}\n\n.classLabel .label {\n fill: ").concat(t.nodeBorder,";\n font-size: 10px;\n}\n\n.relation {\n stroke: ").concat(t.lineColor,";\n stroke-width: 1;\n fill: none;\n}\n\n.dashed-line{\n stroke-dasharray: 3;\n}\n\n#compositionStart, .composition {\n fill: ").concat(t.lineColor," !important;\n stroke: ").concat(t.lineColor," !important;\n stroke-width: 1;\n}\n\n#compositionEnd, .composition {\n fill: ").concat(t.lineColor," !important;\n stroke: ").concat(t.lineColor," !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ").concat(t.lineColor," !important;\n stroke: ").concat(t.lineColor," !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ").concat(t.lineColor," !important;\n stroke: ").concat(t.lineColor," !important;\n stroke-width: 1;\n}\n\n#extensionStart, .extension {\n fill: ").concat(t.lineColor," !important;\n stroke: ").concat(t.lineColor," !important;\n stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n fill: ").concat(t.lineColor," !important;\n stroke: ").concat(t.lineColor," !important;\n stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n fill: ").concat(t.mainBkg," !important;\n stroke: ").concat(t.lineColor," !important;\n stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n fill: ").concat(t.mainBkg," !important;\n stroke: ").concat(t.lineColor," !important;\n stroke-width: 1;\n}\n\n.edgeTerminals {\n font-size: 11px;\n}\n\n")}},"./src/diagrams/class/svgDraw.js":function(t,e,n){"use strict";n.r(e),n.d(e,"drawEdge",(function(){return c})),n.d(e,"drawClass",(function(){return u})),n.d(e,"parseMember",(function(){return l}));var r=n("d3"),i=n("./src/diagrams/class/classDb.js"),a=n("./src/utils.js"),o=n("./src/logger.js"),s=0,c=function(t,e,n,c){var u=function(t){switch(t){case i.relationType.AGGREGATION:return"aggregation";case i.relationType.EXTENSION:return"extension";case i.relationType.COMPOSITION:return"composition";case i.relationType.DEPENDENCY:return"dependency"}};e.points=e.points.filter((function(t){return!Number.isNaN(t.y)}));var l,h,f=e.points,d=Object(r.line)().x((function(t){return t.x})).y((function(t){return t.y})).curve(r.curveBasis),p=t.append("path").attr("d",d(f)).attr("id","edge"+s).attr("class","relation"),g="";c.arrowMarkerAbsolute&&(g=(g=(g=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),1==n.relation.lineType&&p.attr("class","relation dashed-line"),"none"!==n.relation.type1&&p.attr("marker-start","url("+g+"#"+u(n.relation.type1)+"Start)"),"none"!==n.relation.type2&&p.attr("marker-end","url("+g+"#"+u(n.relation.type2)+"End)");var y,m,v,b,x=e.points.length,_=a.default.calcLabelPosition(e.points);if(l=_.x,h=_.y,x%2!=0&&x>1){var k=a.default.calcCardinalityPosition("none"!==n.relation.type1,e.points,e.points[0]),w=a.default.calcCardinalityPosition("none"!==n.relation.type2,e.points,e.points[x-1]);o.log.debug("cardinality_1_point "+JSON.stringify(k)),o.log.debug("cardinality_2_point "+JSON.stringify(w)),y=k.x,m=k.y,v=w.x,b=w.y}if(void 0!==n.title){var E=t.append("g").attr("class","classLabel"),T=E.append("text").attr("class","label").attr("x",l).attr("y",h).attr("fill","red").attr("text-anchor","middle").text(n.title);window.label=T;var C=T.node().getBBox();E.insert("rect",":first-child").attr("class","box").attr("x",C.x-c.padding/2).attr("y",C.y-c.padding/2).attr("width",C.width+c.padding).attr("height",C.height+c.padding)}o.log.info("Rendering relation "+JSON.stringify(n)),void 0!==n.relationTitle1&&"none"!==n.relationTitle1&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",y).attr("y",m).attr("fill","black").attr("font-size","6").text(n.relationTitle1),void 0!==n.relationTitle2&&"none"!==n.relationTitle2&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",v).attr("y",b).attr("fill","black").attr("font-size","6").text(n.relationTitle2),s++},u=function(t,e,n){o.log.info("Rendering class "+e);var r,a=e.id,s={id:a,label:e.id,width:0,height:0},c=t.append("g").attr("id",Object(i.lookUpDomId)(a)).attr("class","classGroup");r=e.link?c.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",n.textHeight+n.padding).attr("x",0):c.append("text").attr("y",n.textHeight+n.padding).attr("x",0);var u=!0;e.annotations.forEach((function(t){var e=r.append("tspan").text("\xab"+t+"\xbb");u||e.attr("dy",n.textHeight),u=!1}));var l=e.id;void 0!==e.type&&""!==e.type&&(l+="<"+e.type+">");var h=r.append("tspan").text(l).attr("class","title");u||h.attr("dy",n.textHeight);var f=r.node().getBBox().height,d=c.append("line").attr("x1",0).attr("y1",n.padding+f+n.dividerMargin/2).attr("y2",n.padding+f+n.dividerMargin/2),g=c.append("text").attr("x",n.padding).attr("y",f+n.dividerMargin+n.textHeight).attr("fill","white").attr("class","classText");u=!0,e.members.forEach((function(t){p(g,t,u,n),u=!1}));var y=g.node().getBBox(),m=c.append("line").attr("x1",0).attr("y1",n.padding+f+n.dividerMargin+y.height).attr("y2",n.padding+f+n.dividerMargin+y.height),v=c.append("text").attr("x",n.padding).attr("y",f+2*n.dividerMargin+y.height+n.textHeight).attr("fill","white").attr("class","classText");u=!0,e.methods.forEach((function(t){p(v,t,u,n),u=!1}));var b=c.node().getBBox(),x=" ";e.cssClasses.length>0&&(x+=e.cssClasses.join(" "));var _=c.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",b.width+2*n.padding).attr("height",b.height+n.padding+.5*n.dividerMargin).attr("class",x).node().getBBox().width;return r.node().childNodes.forEach((function(t){t.setAttribute("x",(_-t.getBBox().width)/2)})),e.tooltip&&r.insert("title").text(e.tooltip),d.attr("x2",_),m.attr("x2",_),s.width=_,s.height=b.height+n.padding+.5*n.dividerMargin,s},l=function(t){var e=t.match(/(\+|-|~|#)?(\w+)(~\w+~|\[\])?\s+(\w+)/),n=t.match(/^([+|\-|~|#])?(\w+) *\( *(.*)\) *(\*|\$)? *(\w*[~|[\]]*\s*\w*~?)$/);return e&&!n?h(e):n?f(n):d(t)},h=function(t){var e="";try{e=(t[1]?t[1].trim():"")+(t[2]?t[2].trim():"")+(t[3]?g(t[3].trim()):"")+" "+(t[4]?t[4].trim():"")}catch(n){e=t}return{displayText:e,cssStyle:""}},f=function(t){var e="",n="";try{var r=t[1]?t[1].trim():"",i=t[2]?t[2].trim():"",a=t[3]?g(t[3].trim()):"",o=t[4]?t[4].trim():"";n=r+i+"("+a+")"+(t[5]?" : "+g(t[5]).trim():""),e=y(o)}catch(s){n=t}return{displayText:n,cssStyle:e}},d=function(t){var e="",n="",r="",i=t.indexOf("("),a=t.indexOf(")");if(i>1&&a>i&&a<=t.length){var o="",s="",c=t.substring(0,1);c.match(/\w/)?s=t.substring(0,i).trim():(c.match(/\+|-|~|#/)&&(o=c),s=t.substring(1,i).trim());var u=t.substring(i+1,a),l=t.substring(a+1,1);n=y(l),e=o+s+"("+g(u.trim())+")",a<"".length&&""!==(r=t.substring(a+2).trim())&&(r=" : "+g(r))}else e=g(t);return{displayText:e,cssStyle:n}},p=function(t,e,n,r){var i=l(e),a=t.append("tspan").attr("x",r.padding).text(i.displayText);""!==i.cssStyle&&a.attr("style",i.cssStyle),n||a.attr("dy",r.textHeight)},g=function t(e){var n=e;return-1!=e.indexOf("~")?t(n=(n=n.replace("~","<")).replace("~",">")):n},y=function(t){switch(t){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}};e.default={drawClass:u,drawEdge:c,parseMember:l}},"./src/diagrams/common/common.js":function(t,e,n){"use strict";n.r(e),n.d(e,"getRows",(function(){return a})),n.d(e,"removeScript",(function(){return o})),n.d(e,"sanitizeCSS",(function(){return s})),n.d(e,"sanitizeText",(function(){return c})),n.d(e,"lineBreakRegex",(function(){return u})),n.d(e,"hasBreaks",(function(){return l})),n.d(e,"splitBreaks",(function(){return h})),n.d(e,"evaluate",(function(){return p}));var r=n("dompurify"),i=n.n(r),a=function(t){if(!t)return 1;var e=d(t);return(e=e.replace(/\\n/g,"#br#")).split("#br#")},o=function(t){for(var e="",n=0;n>=0;){if(!((n=t.indexOf("<script"))>=0)){e+=t,n=-1;break}e+=t.substr(0,n),(n=(t=t.substr(n+1)).indexOf("<\/script>"))>=0&&(n+=9,t=t.substr(n))}return e=(e=(e=(e=(e=e.replace(/script>/gi,"#")).replace(/script>/gi,"#")).replace(/javascript:/gi,"#")).replace(/onerror=/gi,"onerror:")).replace(/<iframe/gi,"")},s=function(t){return t.indexOf("url")>=0||t.indexOf("/*")>=0||t.indexOf("//")>=0?"":t},c=function(t,e){var n=i.a.sanitize(function(t,e){var n=t,r=!0;if(!e.flowchart||!1!==e.flowchart.htmlLabels&&"false"!==e.flowchart.htmlLabels||(r=!1),r){var i=e.securityLevel;"antiscript"===i?n=o(n):"loose"!==i&&(n=(n=(n=d(n)).replace(/</g,"<").replace(/>/g,">")).replace(/=/g,"="),n=f(n))}return n}(t,e));return n},u=/<br\s*\/?>/gi,l=function(t){return/<br\s*[/]?>/gi.test(t)},h=function(t){return t.split(/<br\s*[/]?>/gi)},f=function(t){return t.replace(/#br#/g,"<br/>")},d=function(t){return t.replace(u,"#br#")},p=function(t){return"false"!==t&&!1!==t};e.default={getRows:a,sanitizeText:c,hasBreaks:l,splitBreaks:h,lineBreakRegex:u,removeScript:o,getUrl:function(t){var e="";return t&&(e=(e=(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),e},evaluate:p,sanitizeCSS:s}},"./src/diagrams/er/erDb.js":function(t,e,n){"use strict";n.r(e),n.d(e,"parseDirective",(function(){return u}));var r=n("./src/logger.js"),i=n("./src/mermaidAPI.js"),a=n("./src/config.js"),o={},s=[],c="",u=function(t,e,n){i.default.parseDirective(this,t,e,n)},l=function(t){return void 0===o[t]&&(o[t]={attributes:[]},r.log.info("Added new entity :",t)),o[t]};e.default={Cardinality:{ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE"},Identification:{NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},parseDirective:u,getConfig:function(){return a.getConfig().er},addEntity:l,addAttributes:function(t,e){var n,i=l(t);for(n=e.length-1;n>=0;n--)i.attributes.push(e[n]),r.log.debug("Added attribute ",e[n].attributeName)},getEntities:function(){return o},addRelationship:function(t,e,n,i){var a={entityA:t,roleA:e,entityB:n,relSpec:i};s.push(a),r.log.debug("Added new relationship :",a)},getRelationships:function(){return s},clear:function(){o={},s=[],c=""},setTitle:function(t){c=t},getTitle:function(){return c}}},"./src/diagrams/er/erMarkers.js":function(t,e,n){"use strict";n.r(e);var r={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END"};e.default={ERMarkers:r,insertMarkers:function(t,e){var n;t.append("defs").append("marker").attr("id",r.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),(n=t.append("defs").append("marker").attr("id",r.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),(n=t.append("defs").append("marker").attr("id",r.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",r.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),(n=t.append("defs").append("marker").attr("id",r.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),(n=t.append("defs").append("marker").attr("id",r.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}}},"./src/diagrams/er/erRenderer.js":function(t,e,n){"use strict";n.r(e),n.d(e,"setConf",(function(){return y})),n.d(e,"draw",(function(){return x}));var r=n("graphlib"),i=n.n(r),a=n("d3"),o=n("./src/diagrams/er/erDb.js"),s=n("./src/diagrams/er/parser/erDiagram.jison"),c=n.n(s),u=n("dagre"),l=n.n(u),h=n("./src/config.js"),f=n("./src/logger.js"),d=n("./src/diagrams/er/erMarkers.js"),p=n("./src/utils.js"),g={},y=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)g[e[n]]=t[e[n]]},m=function(t,e,n){var r;return Object.keys(e).forEach((function(i){var a=t.append("g").attr("id",i);r=void 0===r?i:r;var o="entity-"+i,s=a.append("text").attr("class","er entityLabel").attr("id",o).attr("x",0).attr("y",0).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("style","font-family: "+Object(h.getConfig)().fontFamily+"; font-size: "+g.fontSize+"px").text(i),c=function(t,e,n){var r=g.entityPadding/3,i=g.entityPadding/3,a=.85*g.fontSize,o=e.node().getBBox(),s=[],c=0,u=0,l=o.height+2*r,f=1;n.forEach((function(n){var i="".concat(e.node().id,"-attr-").concat(f),o=t.append("text").attr("class","er entityLabel").attr("id","".concat(i,"-type")).attr("x",0).attr("y",0).attr("dominant-baseline","middle").attr("text-anchor","left").attr("style","font-family: "+Object(h.getConfig)().fontFamily+"; font-size: "+a+"px").text(n.attributeType),d=t.append("text").attr("class","er entityLabel").attr("id","".concat(i,"-name")).attr("x",0).attr("y",0).attr("dominant-baseline","middle").attr("text-anchor","left").attr("style","font-family: "+Object(h.getConfig)().fontFamily+"; font-size: "+a+"px").text(n.attributeName);s.push({tn:o,nn:d});var p=o.node().getBBox(),g=d.node().getBBox();c=Math.max(c,p.width),u=Math.max(u,g.width),l+=Math.max(p.height,g.height)+2*r,f+=1}));var d={width:Math.max(g.minEntityWidth,Math.max(o.width+2*g.entityPadding,c+u+4*i)),height:n.length>0?l:Math.max(g.minEntityHeight,o.height+2*g.entityPadding)},p=Math.max(0,d.width-(c+u)-4*i);if(n.length>0){e.attr("transform","translate("+d.width/2+","+(r+o.height/2)+")");var y=o.height+2*r,m="attributeBoxOdd";s.forEach((function(e){var n=y+r+Math.max(e.tn.node().getBBox().height,e.nn.node().getBBox().height)/2;e.tn.attr("transform","translate("+i+","+n+")");var a=t.insert("rect","#"+e.tn.node().id).attr("class","er ".concat(m)).attr("fill",g.fill).attr("fill-opacity","100%").attr("stroke",g.stroke).attr("x",0).attr("y",y).attr("width",c+2*i+p/2).attr("height",e.tn.node().getBBox().height+2*r);e.nn.attr("transform","translate("+(parseFloat(a.attr("width"))+i)+","+n+")"),t.insert("rect","#"+e.nn.node().id).attr("class","er ".concat(m)).attr("fill",g.fill).attr("fill-opacity","100%").attr("stroke",g.stroke).attr("x","".concat(a.attr("x")+a.attr("width"))).attr("y",y).attr("width",u+2*i+p/2).attr("height",e.nn.node().getBBox().height+2*r),y+=Math.max(e.tn.node().getBBox().height,e.nn.node().getBBox().height)+2*r,m="attributeBoxOdd"==m?"attributeBoxEven":"attributeBoxOdd"}))}else d.height=Math.max(g.minEntityHeight,l),e.attr("transform","translate("+d.width/2+","+d.height/2+")");return d}(a,s,e[i].attributes),u=c.width,l=c.height,f=a.insert("rect","#"+o).attr("class","er entityBox").attr("fill",g.fill).attr("fill-opacity","100%").attr("stroke",g.stroke).attr("x",0).attr("y",0).attr("width",u).attr("height",l).node().getBBox();n.setNode(i,{width:f.width,height:f.height,shape:"rect",id:i})})),r},v=function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},b=0,x=function(t,e){f.log.info("Drawing ER diagram"),o.default.clear();var n=c.a.parser;n.yy=o.default;try{n.parse(t)}catch(C){f.log.debug("Parsing failed")}var r,s=Object(a.select)("[id='".concat(e,"']"));d.default.insertMarkers(s,g),r=new i.a.Graph({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:g.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return{}}));var u,y,x=m(s,o.default.getEntities(),r),_=function(t,e){return t.forEach((function(t){e.setEdge(t.entityA,t.entityB,{relationship:t},v(t))})),t}(o.default.getRelationships(),r);l.a.layout(r),u=s,(y=r).nodes().forEach((function(t){void 0!==t&&void 0!==y.node(t)&&u.select("#"+t).attr("transform","translate("+(y.node(t).x-y.node(t).width/2)+","+(y.node(t).y-y.node(t).height/2)+" )")})),_.forEach((function(t){!function(t,e,n,r){b++;var i=n.edge(e.entityA,e.entityB,v(e)),s=Object(a.line)().x((function(t){return t.x})).y((function(t){return t.y})).curve(a.curveBasis),c=t.insert("path","#"+r).attr("class","er relationshipLine").attr("d",s(i.points)).attr("stroke",g.stroke).attr("fill","none");e.relSpec.relType===o.default.Identification.NON_IDENTIFYING&&c.attr("stroke-dasharray","8,8");var u="";switch(g.arrowMarkerAbsolute&&(u=(u=(u=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),e.relSpec.cardA){case o.default.Cardinality.ZERO_OR_ONE:c.attr("marker-end","url("+u+"#"+d.default.ERMarkers.ZERO_OR_ONE_END+")");break;case o.default.Cardinality.ZERO_OR_MORE:c.attr("marker-end","url("+u+"#"+d.default.ERMarkers.ZERO_OR_MORE_END+")");break;case o.default.Cardinality.ONE_OR_MORE:c.attr("marker-end","url("+u+"#"+d.default.ERMarkers.ONE_OR_MORE_END+")");break;case o.default.Cardinality.ONLY_ONE:c.attr("marker-end","url("+u+"#"+d.default.ERMarkers.ONLY_ONE_END+")")}switch(e.relSpec.cardB){case o.default.Cardinality.ZERO_OR_ONE:c.attr("marker-start","url("+u+"#"+d.default.ERMarkers.ZERO_OR_ONE_START+")");break;case o.default.Cardinality.ZERO_OR_MORE:c.attr("marker-start","url("+u+"#"+d.default.ERMarkers.ZERO_OR_MORE_START+")");break;case o.default.Cardinality.ONE_OR_MORE:c.attr("marker-start","url("+u+"#"+d.default.ERMarkers.ONE_OR_MORE_START+")");break;case o.default.Cardinality.ONLY_ONE:c.attr("marker-start","url("+u+"#"+d.default.ERMarkers.ONLY_ONE_START+")")}var l=c.node().getTotalLength(),f=c.node().getPointAtLength(.5*l),p="rel"+b,y=t.append("text").attr("class","er relationshipLabel").attr("id",p).attr("x",f.x).attr("y",f.y).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("style","font-family: "+Object(h.getConfig)().fontFamily+"; font-size: "+g.fontSize+"px").text(e.roleA).node().getBBox();t.insert("rect","#"+p).attr("class","er relationshipLabelBox").attr("x",f.x-y.width/2).attr("y",f.y-y.height/2).attr("width",y.width).attr("height",y.height).attr("fill","white").attr("fill-opacity","85%")}(s,t,r,x)}));var k=g.diagramPadding,w=s.node().getBBox(),E=w.width+2*k,T=w.height+2*k;Object(p.configureSvgSize)(s,T,E,g.useMaxWidth),s.attr("viewBox","".concat(w.x-k," ").concat(w.y-k," ").concat(E," ").concat(T))};e.default={setConf:y,draw:x}},"./src/diagrams/er/parser/erDiagram.jison":function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,2],n=[1,5],r=[6,9,11,23,37],i=[1,17],a=[1,20],o=[1,25],s=[1,26],c=[1,27],u=[1,28],l=[1,37],h=[23,34,35],f=[4,6,9,11,23,37],d=[30,31,32,33],p=[22,27],g={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,entityName:17,relSpec:18,role:19,BLOCK_START:20,attributes:21,BLOCK_STOP:22,ALPHANUM:23,attribute:24,attributeType:25,attributeName:26,ATTRIBUTE_WORD:27,cardinality:28,relType:29,ZERO_OR_ONE:30,ZERO_OR_MORE:31,ONE_OR_MORE:32,ONLY_ONE:33,NON_IDENTIFYING:34,IDENTIFYING:35,WORD:36,open_directive:37,type_directive:38,arg_directive:39,close_directive:40,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",20:"BLOCK_START",22:"BLOCK_STOP",23:"ALPHANUM",27:"ATTRIBUTE_WORD",30:"ZERO_OR_ONE",31:"ZERO_OR_MORE",32:"ONE_OR_MORE",33:"ONLY_ONE",34:"NON_IDENTIFYING",35:"IDENTIFYING",36:"WORD",37:"open_directive",38:"type_directive",39:"arg_directive",40:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[17,1],[21,1],[21,2],[24,2],[25,1],[26,1],[18,3],[28,1],[28,1],[28,1],[28,1],[29,1],[29,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 1:break;case 3:case 7:case 8:this.$=[];break;case 4:a[s-1].push(a[s]),this.$=a[s-1];break;case 5:case 6:case 16:case 20:case 21:case 30:this.$=a[s];break;case 12:r.addEntity(a[s-4]),r.addEntity(a[s-2]),r.addRelationship(a[s-4],a[s],a[s-2],a[s-3]);break;case 13:r.addEntity(a[s-3]),r.addAttributes(a[s-3],a[s-1]);break;case 14:r.addEntity(a[s-2]);break;case 15:r.addEntity(a[s]);break;case 17:this.$=[a[s]];break;case 18:a[s].push(a[s-1]),this.$=a[s];break;case 19:this.$={attributeType:a[s-1],attributeName:a[s]};break;case 22:this.$={cardA:a[s],relType:a[s-1],cardB:a[s-2]};break;case 23:this.$=r.Cardinality.ZERO_OR_ONE;break;case 24:this.$=r.Cardinality.ZERO_OR_MORE;break;case 25:this.$=r.Cardinality.ONE_OR_MORE;break;case 26:this.$=r.Cardinality.ONLY_ONE;break;case 27:this.$=r.Identification.NON_IDENTIFYING;break;case 28:this.$=r.Identification.IDENTIFYING;break;case 29:this.$=a[s].replace(/"/g,"");break;case 31:r.parseDirective("%%{","open_directive");break;case 32:r.parseDirective(a[s],"type_directive");break;case 33:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 34:r.parseDirective("}%%","close_directive","er")}},table:[{3:1,4:e,7:3,12:4,37:n},{1:[3]},t(r,[2,3],{5:6}),{3:7,4:e,7:3,12:4,37:n},{13:8,38:[1,9]},{38:[2,31]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,23:i,37:n},{1:[2,2]},{14:18,15:[1,19],40:a},t([15,40],[2,32]),t(r,[2,8],{1:[2,1]}),t(r,[2,4]),{7:15,10:21,12:4,17:16,23:i,37:n},t(r,[2,6]),t(r,[2,7]),t(r,[2,11]),t(r,[2,15],{18:22,28:24,20:[1,23],30:o,31:s,32:c,33:u}),t([6,9,11,15,20,23,30,31,32,33,37],[2,16]),{11:[1,29]},{16:30,39:[1,31]},{11:[2,34]},t(r,[2,5]),{17:32,23:i},{21:33,22:[1,34],24:35,25:36,27:l},{29:38,34:[1,39],35:[1,40]},t(h,[2,23]),t(h,[2,24]),t(h,[2,25]),t(h,[2,26]),t(f,[2,9]),{14:41,40:a},{40:[2,33]},{15:[1,42]},{22:[1,43]},t(r,[2,14]),{21:44,22:[2,17],24:35,25:36,27:l},{26:45,27:[1,46]},{27:[2,20]},{28:47,30:o,31:s,32:c,33:u},t(d,[2,27]),t(d,[2,28]),{11:[1,48]},{19:49,23:[1,51],36:[1,50]},t(r,[2,13]),{22:[2,18]},t(p,[2,19]),t(p,[2,21]),{23:[2,22]},t(f,[2,10]),t(r,[2,12]),t(r,[2,29]),t(r,[2,30])],defaultActions:{5:[2,31],7:[2,2],20:[2,34],31:[2,33],37:[2,20],44:[2,18],47:[2,22]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var v=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,O={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var M="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");M=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(M,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],O.$=i[i.length-C],O._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},v&&(O._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(O,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(O.$),a.push(O._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},y={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),37;case 1:return this.begin("type_directive"),38;case 2:return this.popState(),this.begin("arg_directive"),15;case 3:return this.popState(),this.popState(),40;case 4:return 39;case 5:case 6:case 8:case 13:case 15:break;case 7:return 11;case 9:return 9;case 10:return 36;case 11:return 4;case 12:return this.begin("block"),20;case 14:return 27;case 16:return this.popState(),22;case 17:case 30:return e.yytext[0];case 18:case 22:return 30;case 19:case 23:return 31;case 20:case 24:return 32;case 21:return 33;case 25:case 27:case 28:return 34;case 26:return 35;case 29:return 23;case 31:return 6}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:\s+)/i,/^(?:[A-Za-z][A-Za-z0-9\-_]*)/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\|o\b)/i,/^(?:\}o\b)/i,/^(?:\}\|)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},block:{rules:[13,14,15,16,17],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,18,19,20,21,22,23,24,25,26,27,28,29,30,31],inclusive:!0}}};function m(){this.yy={}}return g.lexer=y,m.prototype=g,g.Parser=m,new m}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n("./node_modules/node-libs-browser/mock/empty.js").readFileSync(n("./node_modules/path-browserify/index.js").normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n("./node_modules/process/browser.js"),n("./node_modules/webpack/buildin/module.js")(t))},"./src/diagrams/er/styles.js":function(t,e,n){"use strict";n.r(e),e.default=function(t){return"\n .entityBox {\n fill: ".concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n }\n\n .attributeBoxOdd {\n fill: #ffffff;\n stroke: ").concat(t.nodeBorder,";\n }\n\n .attributeBoxEven {\n fill: #f2f2f2;\n stroke: ").concat(t.nodeBorder,";\n }\n\n .relationshipLabelBox {\n fill: ").concat(t.tertiaryColor,";\n opacity: 0.7;\n background-color: ").concat(t.tertiaryColor,";\n rect {\n opacity: 0.5;\n }\n }\n\n .relationshipLine {\n stroke: ").concat(t.lineColor,";\n }\n")}},"./src/diagrams/flowchart/flowChartShapes.js":function(t,e,n){"use strict";n.r(e),n.d(e,"addToRender",(function(){return y})),n.d(e,"addToRenderV2",(function(){return m}));var r=n("dagre-d3"),i=n.n(r);function a(t,e,n){var r=.9*(e.width+e.height),a=[{x:r/2,y:0},{x:r,y:-r/2},{x:r/2,y:-r},{x:0,y:-r/2}],o=v(t,r,r,a);return n.intersect=function(t){return i.a.intersect.polygon(n,a,t)},o}function o(t,e,n){var r=e.height,a=r/4,o=e.width+2*a,s=[{x:a,y:0},{x:o-a,y:0},{x:o,y:-r/2},{x:o-a,y:-r},{x:a,y:-r},{x:0,y:-r/2}],c=v(t,o,r,s);return n.intersect=function(t){return i.a.intersect.polygon(n,s,t)},c}function s(t,e,n){var r=e.width,a=e.height,o=[{x:-a/2,y:0},{x:r,y:0},{x:r,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}],s=v(t,r,a,o);return n.intersect=function(t){return i.a.intersect.polygon(n,o,t)},s}function c(t,e,n){var r=e.width,a=e.height,o=[{x:-2*a/6,y:0},{x:r-a/6,y:0},{x:r+2*a/6,y:-a},{x:a/6,y:-a}],s=v(t,r,a,o);return n.intersect=function(t){return i.a.intersect.polygon(n,o,t)},s}function u(t,e,n){var r=e.width,a=e.height,o=[{x:2*a/6,y:0},{x:r+a/6,y:0},{x:r-2*a/6,y:-a},{x:-a/6,y:-a}],s=v(t,r,a,o);return n.intersect=function(t){return i.a.intersect.polygon(n,o,t)},s}function l(t,e,n){var r=e.width,a=e.height,o=[{x:-2*a/6,y:0},{x:r+2*a/6,y:0},{x:r-a/6,y:-a},{x:a/6,y:-a}],s=v(t,r,a,o);return n.intersect=function(t){return i.a.intersect.polygon(n,o,t)},s}function h(t,e,n){var r=e.width,a=e.height,o=[{x:a/6,y:0},{x:r-a/6,y:0},{x:r+2*a/6,y:-a},{x:-2*a/6,y:-a}],s=v(t,r,a,o);return n.intersect=function(t){return i.a.intersect.polygon(n,o,t)},s}function f(t,e,n){var r=e.width,a=e.height,o=[{x:0,y:0},{x:r+a/2,y:0},{x:r,y:-a/2},{x:r+a/2,y:-a},{x:0,y:-a}],s=v(t,r,a,o);return n.intersect=function(t){return i.a.intersect.polygon(n,o,t)},s}function d(t,e,n){var r=e.height,a=e.width+r/4,o=t.insert("rect",":first-child").attr("rx",r/2).attr("ry",r/2).attr("x",-a/2).attr("y",-r/2).attr("width",a).attr("height",r);return n.intersect=function(t){return i.a.intersect.rect(n,t)},o}function p(t,e,n){var r=e.width,a=e.height,o=[{x:0,y:0},{x:r,y:0},{x:r,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:r+8,y:0},{x:r+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],s=v(t,r,a,o);return n.intersect=function(t){return i.a.intersect.polygon(n,o,t)},s}function g(t,e,n){var r=e.width,a=r/2,o=a/(2.5+r/50),s=e.height+o,c="M 0,"+o+" a "+a+","+o+" 0,0,0 "+r+" 0 a "+a+","+o+" 0,0,0 "+-r+" 0 l 0,"+s+" a "+a+","+o+" 0,0,0 "+r+" 0 l 0,"+-s,u=t.attr("label-offset-y",o).insert("path",":first-child").attr("d",c).attr("transform","translate("+-r/2+","+-(s/2+o)+")");return n.intersect=function(t){var e=i.a.intersect.rect(n,t),r=e.x-n.x;if(0!=a&&(Math.abs(r)<n.width/2||Math.abs(r)==n.width/2&&Math.abs(e.y-n.y)>n.height/2-o)){var s=o*o*(1-r*r/(a*a));0!=s&&(s=Math.sqrt(s)),s=o-s,t.y-n.y>0&&(s=-s),e.y+=s}return e},u}function y(t){t.shapes().question=a,t.shapes().hexagon=o,t.shapes().stadium=d,t.shapes().subroutine=p,t.shapes().cylinder=g,t.shapes().rect_left_inv_arrow=s,t.shapes().lean_right=c,t.shapes().lean_left=u,t.shapes().trapezoid=l,t.shapes().inv_trapezoid=h,t.shapes().rect_right_inv_arrow=f}function m(t){t({question:a}),t({hexagon:o}),t({stadium:d}),t({subroutine:p}),t({cylinder:g}),t({rect_left_inv_arrow:s}),t({lean_right:c}),t({lean_left:u}),t({trapezoid:l}),t({inv_trapezoid:h}),t({rect_right_inv_arrow:f})}function v(t,e,n,r){return t.insert("polygon",":first-child").attr("points",r.map((function(t){return t.x+","+t.y})).join(" ")).attr("transform","translate("+-e/2+","+n/2+")")}e.default={addToRender:y,addToRenderV2:m}},"./src/diagrams/flowchart/flowDb.js":function(t,e,n){"use strict";n.r(e),n.d(e,"parseDirective",(function(){return T})),n.d(e,"lookUpDomId",(function(){return C})),n.d(e,"addVertex",(function(){return S})),n.d(e,"addSingleLink",(function(){return A})),n.d(e,"addLink",(function(){return O})),n.d(e,"updateLinkInterpolate",(function(){return M})),n.d(e,"updateLink",(function(){return j})),n.d(e,"addClass",(function(){return D})),n.d(e,"setDirection",(function(){return N})),n.d(e,"setClass",(function(){return B})),n.d(e,"setLink",(function(){return L})),n.d(e,"getTooltip",(function(){return I})),n.d(e,"setClickEvent",(function(){return R})),n.d(e,"bindFunctions",(function(){return F})),n.d(e,"getDirection",(function(){return P})),n.d(e,"getVertices",(function(){return z})),n.d(e,"getEdges",(function(){return Y})),n.d(e,"getClasses",(function(){return U})),n.d(e,"clear",(function(){return W})),n.d(e,"setGen",(function(){return $})),n.d(e,"defaultStyle",(function(){return H})),n.d(e,"addSubGraph",(function(){return V})),n.d(e,"getDepthFirstPos",(function(){return Q})),n.d(e,"indexNodes",(function(){return J})),n.d(e,"getSubGraphs",(function(){return tt})),n.d(e,"firstGraph",(function(){return et}));var r=n("d3"),i=n("./src/utils.js"),a=n("./src/config.js"),o=n("./src/diagrams/common/common.js"),s=n("./src/mermaidAPI.js"),c=n("./src/logger.js");function u(t){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u(t)}function l(t){return function(t){if(Array.isArray(t))return h(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var f,d,p=0,g=a.getConfig(),y={},m=[],v=[],b=[],x={},_={},k=0,w=!0,E=[],T=function(t,e,n){s.default.parseDirective(this,t,e,n)},C=function(t){for(var e=Object.keys(y),n=0;n<e.length;n++)if(y[e[n]].id===t)return y[e[n]].domId;return t},S=function(t,e,n,r,i,s){var c,u=t;void 0!==u&&0!==u.trim().length&&(void 0===y[u]&&(y[u]={id:u,domId:"flowchart-"+u+"-"+p,styles:[],classes:[]}),p++,void 0!==e?(g=a.getConfig(),'"'===(c=o.default.sanitizeText(e.trim(),g))[0]&&'"'===c[c.length-1]&&(c=c.substring(1,c.length-1)),y[u].text=c):void 0===y[u].text&&(y[u].text=t),void 0!==n&&(y[u].type=n),null!=r&&r.forEach((function(t){y[u].styles.push(t)})),null!=i&&i.forEach((function(t){y[u].classes.push(t)})),void 0!==s&&(y[u].dir=s))},A=function(t,e,n,r){var i={start:t,end:e,type:void 0,text:""};void 0!==(r=n.text)&&(i.text=o.default.sanitizeText(r.trim(),g),'"'===i.text[0]&&'"'===i.text[i.text.length-1]&&(i.text=i.text.substring(1,i.text.length-1))),void 0!==n&&(i.type=n.type,i.stroke=n.stroke,i.length=n.length),m.push(i)},O=function(t,e,n,r){var i,a;for(i=0;i<t.length;i++)for(a=0;a<e.length;a++)A(t[i],e[a],n,r)},M=function(t,e){t.forEach((function(t){"default"===t?m.defaultInterpolate=e:m[t].interpolate=e}))},j=function(t,e){t.forEach((function(t){"default"===t?m.defaultStyle=e:(-1===i.default.isSubstringInArray("fill",e)&&e.push("fill:none"),m[t].style=e)}))},D=function(t,e){void 0===v[t]&&(v[t]={id:t,styles:[],textStyles:[]}),null!=e&&e.forEach((function(e){if(e.match("color")){var n=e.replace("fill","bgFill").replace("color","fill");v[t].textStyles.push(n)}v[t].styles.push(e)}))},N=function(t){(f=t).match(/.*</)&&(f="RL"),f.match(/.*\^/)&&(f="BT"),f.match(/.*>/)&&(f="LR"),f.match(/.*v/)&&(f="TB")},B=function(t,e){t.split(",").forEach((function(t){var n=t;void 0!==y[n]&&y[n].classes.push(e),void 0!==x[n]&&x[n].classes.push(e)}))},L=function(t,e,n){t.split(",").forEach((function(t){void 0!==y[t]&&(y[t].link=i.default.formatUrl(e,g),y[t].linkTarget=n)})),B(t,"clickable")},I=function(t){return _[t]},R=function(t,e,n){t.split(",").forEach((function(t){!function(t,e,n){var r=C(t);if("loose"===a.getConfig().securityLevel&&void 0!==e){var o=[];if("string"==typeof n){o=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(var s=0;s<o.length;s++){var c=o[s].trim();'"'===c.charAt(0)&&'"'===c.charAt(c.length-1)&&(c=c.substr(1,c.length-2)),o[s]=c}}0===o.length&&o.push(t),void 0!==y[t]&&(y[t].haveCallback=!0,E.push((function(){var t=document.querySelector('[id="'.concat(r,'"]'));null!==t&&t.addEventListener("click",(function(){i.default.runFunc.apply(i.default,[e].concat(l(o)))}),!1)})))}}(t,e,n)})),B(t,"clickable")},F=function(t){E.forEach((function(e){e(t)}))},P=function(){return f.trim()},z=function(){return y},Y=function(){return m},U=function(){return v},q=function(t){var e=Object(r.select)(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=Object(r.select)("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),Object(r.select)(t).select("svg").selectAll("g.node").on("mouseover",(function(){var t=Object(r.select)(this);if(null!==t.attr("title")){var n=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(t.attr("title")).style("left",window.scrollX+n.left+(n.right-n.left)/2+"px").style("top",window.scrollY+n.top-14+document.body.scrollTop+"px"),t.classed("hover",!0)}})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0),Object(r.select)(this).classed("hover",!1)}))};E.push(q);var W=function(t){y={},v={},m=[],(E=[]).push(q),b=[],x={},k=0,_=[],w=!0,d=t||"gen-1"},$=function(t){d=t||"gen-1"},H=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},V=function(t,e,n){var r=t.trim(),i=n;t===n&&n.match(/\s/)&&(r=void 0);var a=[],s=function(t){var e,n={boolean:{},number:{},string:{}},r=[];return{nodeList:t.filter((function(t){var i=u(t);return t.stmt&&"dir"===t.stmt?(e=t.value,!1):""!==t.trim()&&(i in n?!n[i].hasOwnProperty(t)&&(n[i][t]=!0):!(r.indexOf(t)>=0)&&r.push(t))})),dir:e}}(a.concat.apply(a,e)),l=s.nodeList,h=s.dir;if(a=l,"gen-1"===d){c.log.warn("LOOKING UP");for(var f=0;f<a.length;f++)a[f]=C(a[f])}r=r||"subGraph"+k,i=i||"",i=o.default.sanitizeText(i,g),k+=1;var p={id:r,nodes:a,title:i.trim(),classes:[],dir:h};return c.log.info("Adding",p.id,p.nodes,p.dir),p.nodes=rt(p,b).nodes,b.push(p),x[r]=p,r},G=function(t){for(var e=0;e<b.length;e++)if(b[e].id===t)return e;return-1},X=-1,Z=[],K=function t(e,n){var r=b[n].nodes;if(!((X+=1)>2e3)){if(Z[X]=n,b[n].id===e)return{result:!0,count:0};for(var i=0,a=1;i<r.length;){var o=G(r[i]);if(o>=0){var s=t(e,o);if(s.result)return{result:!0,count:a+s.count};a+=s.count}i+=1}return{result:!1,count:a}}},Q=function(t){return Z[t]},J=function(){X=-1,b.length>0&&K("none",b.length-1)},tt=function(){return b},et=function(){return!!w&&(w=!1,!0)},nt=function(t,e){var n=!1;return t.forEach((function(t){t.nodes.indexOf(e)>=0&&(n=!0)})),n},rt=function(t,e){var n=[];return t.nodes.forEach((function(r,i){nt(e,r)||n.push(t.nodes[i])})),{nodes:n}};e.default={parseDirective:T,defaultConfig:function(){return a.defaultConfig.flowchart},addVertex:S,lookUpDomId:C,addLink:O,updateLinkInterpolate:M,updateLink:j,addClass:D,setDirection:N,setClass:B,setTooltip:function(t,e){t.split(",").forEach((function(t){void 0!==e&&(_["gen-1"===d?C(t):t]=o.default.sanitizeText(e,g))}))},getTooltip:I,setClickEvent:R,setLink:L,bindFunctions:F,getDirection:P,getVertices:z,getEdges:Y,getClasses:U,clear:W,setGen:$,defaultStyle:H,addSubGraph:V,getDepthFirstPos:Q,indexNodes:J,getSubGraphs:tt,destructLink:function(t,e){var n,r=function(t){var e=t.trim(),n=e.slice(0,-1),r="arrow_open";switch(e.slice(-1)){case"x":r="arrow_cross","x"===e[0]&&(r="double_"+r,n=n.slice(1));break;case">":r="arrow_point","<"===e[0]&&(r="double_"+r,n=n.slice(1));break;case"o":r="arrow_circle","o"===e[0]&&(r="double_"+r,n=n.slice(1))}var i="normal",a=n.length-1;"="===n[0]&&(i="thick");var o=function(t,e){for(var n=e.length,r=0,i=0;i<n;++i)e[i]===t&&++r;return r}(".",n);return o&&(i="dotted",a=o),{type:r,stroke:i,length:a}}(t);if(e){if(n=function(t){var e=t.trim(),n="arrow_open";switch(e[0]){case"<":n="arrow_point",e=e.slice(1);break;case"x":n="arrow_cross",e=e.slice(1);break;case"o":n="arrow_circle",e=e.slice(1)}var r="normal";return-1!==e.indexOf("=")&&(r="thick"),-1!==e.indexOf(".")&&(r="dotted"),{type:n,stroke:r}}(e),n.stroke!==r.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===n.type)n.type=r.type;else{if(n.type!==r.type)return{type:"INVALID",stroke:"INVALID"};n.type="double_"+n.type}return"double_arrow"===n.type&&(n.type="double_arrow_point"),n.length=r.length,n}return r},lex:{firstGraph:et},exists:nt,makeUniq:rt}},"./src/diagrams/flowchart/flowRenderer-v2.js":function(t,e,n){"use strict";n.r(e),n.d(e,"setConf",(function(){return m})),n.d(e,"addVertices",(function(){return v})),n.d(e,"addEdges",(function(){return b})),n.d(e,"getClasses",(function(){return x})),n.d(e,"draw",(function(){return _}));var r=n("graphlib"),i=n.n(r),a=n("d3"),o=n("./src/diagrams/flowchart/flowDb.js"),s=n("./src/diagrams/flowchart/parser/flow.jison"),c=n.n(s),u=n("./src/config.js"),l=n("./src/dagre-wrapper/index.js"),h=n("dagre-d3/lib/label/add-html-label.js"),f=n.n(h),d=n("./src/logger.js"),p=n("./src/diagrams/common/common.js"),g=n("./src/utils.js"),y={},m=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)y[e[n]]=t[e[n]]},v=function(t,e,n){var r=Object(a.select)('[id="'.concat(n,'"]'));Object.keys(t).forEach((function(n){var i=t[n],a="default";i.classes.length>0&&(a=i.classes.join(" "));var s,c=Object(g.getStylesFromArray)(i.styles),l=void 0!==i.text?i.text:i.id;if(Object(p.evaluate)(Object(u.getConfig)().flowchart.htmlLabels)){var h={label:l.replace(/fa[lrsb]?:fa-[\w-]+/g,(function(t){return"<i class='".concat(t.replace(":"," "),"'></i>")}))};(s=f()(r,h).node()).parentNode.removeChild(s)}else{var y=document.createElementNS("http://www.w3.org/2000/svg","text");y.setAttribute("style",c.labelStyle.replace("color:","fill:"));for(var m=l.split(p.default.lineBreakRegex),v=0;v<m.length;v++){var b=document.createElementNS("http://www.w3.org/2000/svg","tspan");b.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),b.setAttribute("dy","1em"),b.setAttribute("x","1"),b.textContent=m[v],y.appendChild(b)}s=y}var x=0,_="";switch(i.type){case"round":x=5,_="rect";break;case"square":case"group":default:_="rect";break;case"diamond":_="question";break;case"hexagon":_="hexagon";break;case"odd":case"odd_right":_="rect_left_inv_arrow";break;case"lean_right":_="lean_right";break;case"lean_left":_="lean_left";break;case"trapezoid":_="trapezoid";break;case"inv_trapezoid":_="inv_trapezoid";break;case"circle":_="circle";break;case"ellipse":_="ellipse";break;case"stadium":_="stadium";break;case"subroutine":_="subroutine";break;case"cylinder":_="cylinder"}e.setNode(i.id,{labelStyle:c.labelStyle,shape:_,labelText:l,rx:x,ry:x,class:a,style:c.style,id:i.id,link:i.link,linkTarget:i.linkTarget,tooltip:o.default.getTooltip(i.id)||"",domId:o.default.lookUpDomId(i.id),haveCallback:i.haveCallback,width:"group"===i.type?500:void 0,dir:i.dir,type:i.type,padding:Object(u.getConfig)().flowchart.padding}),d.log.info("setNode",{labelStyle:c.labelStyle,shape:_,labelText:l,rx:x,ry:x,class:a,style:c.style,id:i.id,domId:o.default.lookUpDomId(i.id),width:"group"===i.type?500:void 0,type:i.type,dir:i.dir,padding:Object(u.getConfig)().flowchart.padding})}))},b=function(t,e){d.log.info("abc78 edges = ",t);var n,r,i=0,o={};if(void 0!==t.defaultStyle){var s=Object(g.getStylesFromArray)(t.defaultStyle);n=s.style,r=s.labelStyle}t.forEach((function(s){i++;var c="L-"+s.start+"-"+s.end;void 0===o[c]?(o[c]=0,d.log.info("abc78 new entry",c,o[c])):(o[c]++,d.log.info("abc78 new entry",c,o[c]));var u=c+"-"+o[c];d.log.info("abc78 new link id to be used is",c,u,o[c]);var l="LS-"+s.start,h="LE-"+s.end,f={style:"",labelStyle:""};switch(f.minlen=s.length||1,"arrow_open"===s.type?f.arrowhead="none":f.arrowhead="normal",f.arrowTypeStart="arrow_open",f.arrowTypeEnd="arrow_open",s.type){case"double_arrow_cross":f.arrowTypeStart="arrow_cross";case"arrow_cross":f.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":f.arrowTypeStart="arrow_point";case"arrow_point":f.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":f.arrowTypeStart="arrow_circle";case"arrow_circle":f.arrowTypeEnd="arrow_circle"}var m="",v="";switch(s.stroke){case"normal":m="fill:none;",void 0!==n&&(m=n),void 0!==r&&(v=r),f.thickness="normal",f.pattern="solid";break;case"dotted":f.thickness="normal",f.pattern="dotted",f.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":f.thickness="thick",f.pattern="solid",f.style="stroke-width: 3.5px;fill:none;"}if(void 0!==s.style){var b=Object(g.getStylesFromArray)(s.style);m=b.style,v=b.labelStyle}f.style=f.style+=m,f.labelStyle=f.labelStyle+=v,void 0!==s.interpolate?f.curve=Object(g.interpolateToCurve)(s.interpolate,a.curveLinear):void 0!==t.defaultInterpolate?f.curve=Object(g.interpolateToCurve)(t.defaultInterpolate,a.curveLinear):f.curve=Object(g.interpolateToCurve)(y.curve,a.curveLinear),void 0===s.text?void 0!==s.style&&(f.arrowheadStyle="fill: #333"):(f.arrowheadStyle="fill: #333",f.labelpos="c"),f.labelType="text",f.label=s.text.replace(p.default.lineBreakRegex,"\n"),void 0===s.style&&(f.style=f.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),f.labelStyle=f.labelStyle.replace("color:","fill:"),f.id=u,f.classes="flowchart-link "+l+" "+h,e.setEdge(s.start,s.end,f,i)}))},x=function(t){d.log.info("Extracting classes"),o.default.clear();var e=c.a.parser;e.yy=o.default;try{e.parse(t)}catch(n){return}return o.default.getClasses()},_=function(t,e){d.log.info("Drawing flowchart"),o.default.clear(),o.default.setGen("gen-2");var n=c.a.parser;n.yy=o.default,n.parse(t);var r=o.default.getDirection();void 0===r&&(r="TD");var s,h=Object(u.getConfig)().flowchart,f=h.nodeSpacing||50,p=h.rankSpacing||50,y=new i.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:f,ranksep:p,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),m=o.default.getSubGraphs();d.log.info("Subgraphs - ",m);for(var x=m.length-1;x>=0;x--)s=m[x],d.log.info("Subgraph - ",s),o.default.addVertex(s.id,s.title,"group",void 0,s.classes,s.dir);var _=o.default.getVertices(),k=o.default.getEdges();d.log.info(k);var w=0;for(w=m.length-1;w>=0;w--){s=m[w],Object(a.selectAll)("cluster").append("text");for(var E=0;E<s.nodes.length;E++)d.log.info("Setting up subgraphs",s.nodes[E],s.id),y.setParent(s.nodes[E],s.id)}v(_,y,e),b(k,y);var T=Object(a.select)('[id="'.concat(e,'"]'));T.attr("xmlns:xlink","http://www.w3.org/1999/xlink");var C=Object(a.select)("#"+e+" g");Object(l.render)(C,y,["point","circle","cross"],"flowchart",e);var S=h.diagramPadding,A=T.node().getBBox(),O=A.width+2*S,M=A.height+2*S;if(d.log.debug("new ViewBox 0 0 ".concat(O," ").concat(M),"translate(".concat(S-y._label.marginx,", ").concat(S-y._label.marginy,")")),Object(g.configureSvgSize)(T,M,O,h.useMaxWidth),T.attr("viewBox","0 0 ".concat(O," ").concat(M)),T.select("g").attr("transform","translate(".concat(S-y._label.marginx,", ").concat(S-A.y,")")),o.default.indexNodes("subGraph"+w),!h.htmlLabels)for(var j=document.querySelectorAll('[id="'+e+'"] .edgeLabel .label'),D=0;D<j.length;D++){var N=j[D],B=N.getBBox(),L=document.createElementNS("http://www.w3.org/2000/svg","rect");L.setAttribute("rx",0),L.setAttribute("ry",0),L.setAttribute("width",B.width),L.setAttribute("height",B.height),N.insertBefore(L,N.firstChild)}Object.keys(_).forEach((function(t){var n=_[t];if(n.link){var r=Object(a.select)("#"+e+' [id="'+t+'"]');if(r){var i=document.createElementNS("http://www.w3.org/2000/svg","a");i.setAttributeNS("http://www.w3.org/2000/svg","class",n.classes.join(" ")),i.setAttributeNS("http://www.w3.org/2000/svg","href",n.link),i.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),n.linkTarget&&i.setAttributeNS("http://www.w3.org/2000/svg","target",n.linkTarget);var o=r.insert((function(){return i}),":first-child"),s=r.select(".label-container");s&&o.append((function(){return s.node()}));var c=r.select(".label");c&&o.append((function(){return c.node()}))}}}))};e.default={setConf:m,addVertices:v,addEdges:b,getClasses:x,draw:_}},"./src/diagrams/flowchart/flowRenderer.js":function(t,e,n){"use strict";n.r(e),n.d(e,"setConf",(function(){return b})),n.d(e,"addVertices",(function(){return x})),n.d(e,"addEdges",(function(){return _})),n.d(e,"getClasses",(function(){return k})),n.d(e,"draw",(function(){return w}));var r=n("graphlib"),i=n.n(r),a=n("d3"),o=n("./src/diagrams/flowchart/flowDb.js"),s=n("./src/diagrams/flowchart/parser/flow.jison"),c=n.n(s),u=n("./src/config.js"),l=n("dagre-d3"),h=n.n(l),f=n("dagre-d3/lib/label/add-html-label.js"),d=n.n(f),p=n("./src/logger.js"),g=n("./src/diagrams/common/common.js"),y=n("./src/utils.js"),m=n("./src/diagrams/flowchart/flowChartShapes.js"),v={},b=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)v[e[n]]=t[e[n]]},x=function(t,e,n){var r=Object(a.select)('[id="'.concat(n,'"]'));Object.keys(t).forEach((function(n){var i=t[n],a="default";i.classes.length>0&&(a=i.classes.join(" "));var s,c=Object(y.getStylesFromArray)(i.styles),l=void 0!==i.text?i.text:i.id;if(Object(g.evaluate)(Object(u.getConfig)().flowchart.htmlLabels)){var h={label:l.replace(/fa[lrsb]?:fa-[\w-]+/g,(function(t){return"<i class='".concat(t.replace(":"," "),"'></i>")}))};(s=d()(r,h).node()).parentNode.removeChild(s)}else{var f=document.createElementNS("http://www.w3.org/2000/svg","text");f.setAttribute("style",c.labelStyle.replace("color:","fill:"));for(var m=l.split(g.default.lineBreakRegex),v=0;v<m.length;v++){var b=document.createElementNS("http://www.w3.org/2000/svg","tspan");b.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),b.setAttribute("dy","1em"),b.setAttribute("x","1"),b.textContent=m[v],f.appendChild(b)}s=f}var x=0,_="";switch(i.type){case"round":x=5,_="rect";break;case"square":case"group":default:_="rect";break;case"diamond":_="question";break;case"hexagon":_="hexagon";break;case"odd":case"odd_right":_="rect_left_inv_arrow";break;case"lean_right":_="lean_right";break;case"lean_left":_="lean_left";break;case"trapezoid":_="trapezoid";break;case"inv_trapezoid":_="inv_trapezoid";break;case"circle":_="circle";break;case"ellipse":_="ellipse";break;case"stadium":_="stadium";break;case"subroutine":_="subroutine";break;case"cylinder":_="cylinder"}p.log.warn("Adding node",i.id,i.domId),e.setNode(o.default.lookUpDomId(i.id),{labelType:"svg",labelStyle:c.labelStyle,shape:_,label:s,rx:x,ry:x,class:a,style:c.style,id:o.default.lookUpDomId(i.id)})}))},_=function(t,e){var n,r,i=0;if(void 0!==t.defaultStyle){var s=Object(y.getStylesFromArray)(t.defaultStyle);n=s.style,r=s.labelStyle}t.forEach((function(s){i++;var c="L-"+s.start+"-"+s.end,l="LS-"+s.start,h="LE-"+s.end,f={};"arrow_open"===s.type?f.arrowhead="none":f.arrowhead="normal";var d="",p="";if(void 0!==s.style){var m=Object(y.getStylesFromArray)(s.style);d=m.style,p=m.labelStyle}else switch(s.stroke){case"normal":d="fill:none",void 0!==n&&(d=n),void 0!==r&&(p=r);break;case"dotted":d="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":d=" stroke-width: 3.5px;fill:none"}f.style=d,f.labelStyle=p,void 0!==s.interpolate?f.curve=Object(y.interpolateToCurve)(s.interpolate,a.curveLinear):void 0!==t.defaultInterpolate?f.curve=Object(y.interpolateToCurve)(t.defaultInterpolate,a.curveLinear):f.curve=Object(y.interpolateToCurve)(v.curve,a.curveLinear),void 0===s.text?void 0!==s.style&&(f.arrowheadStyle="fill: #333"):(f.arrowheadStyle="fill: #333",f.labelpos="c",Object(g.evaluate)(Object(u.getConfig)().flowchart.htmlLabels)?(f.labelType="html",f.label='<span id="L-'.concat(c,'" class="edgeLabel L-').concat(l,"' L-").concat(h,'">').concat(s.text.replace(/fa[lrsb]?:fa-[\w-]+/g,(function(t){return"<i class='".concat(t.replace(":"," "),"'></i>")})),"</span>")):(f.labelType="text",f.label=s.text.replace(g.default.lineBreakRegex,"\n"),void 0===s.style&&(f.style=f.style||"stroke: #333; stroke-width: 1.5px;fill:none"),f.labelStyle=f.labelStyle.replace("color:","fill:"))),f.id=c,f.class=l+" "+h,f.minlen=s.length||1,e.setEdge(o.default.lookUpDomId(s.start),o.default.lookUpDomId(s.end),f,i)}))},k=function(t){p.log.info("Extracting classes"),o.default.clear();try{var e=c.a.parser;return e.yy=o.default,e.parse(t),o.default.getClasses()}catch(n){return}},w=function(t,e){p.log.info("Drawing flowchart"),o.default.clear(),o.default.setGen("gen-1");var n=c.a.parser;n.yy=o.default,n.parse(t);var r=o.default.getDirection();void 0===r&&(r="TD");for(var s,l=Object(u.getConfig)().flowchart,f=l.nodeSpacing||50,d=l.rankSpacing||50,v=new i.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:f,ranksep:d,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),b=o.default.getSubGraphs(),k=b.length-1;k>=0;k--)s=b[k],o.default.addVertex(s.id,s.title,"group",void 0,s.classes);var w=o.default.getVertices();p.log.warn("Get vertices",w);var E=o.default.getEdges(),T=0;for(T=b.length-1;T>=0;T--){s=b[T],Object(a.selectAll)("cluster").append("text");for(var C=0;C<s.nodes.length;C++)p.log.warn("Setting subgraph",s.nodes[C],o.default.lookUpDomId(s.nodes[C]),o.default.lookUpDomId(s.id)),v.setParent(o.default.lookUpDomId(s.nodes[C]),o.default.lookUpDomId(s.id))}x(w,v,e),_(E,v);var S=new(0,h.a.render);m.default.addToRender(S),S.arrows().none=function(t,e,n,r){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 0 0 L 0 0 z");h.a.util.applyStyle(i,n[r+"Style"])},S.arrows().normal=function(t,e){t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowheadPath").style("stroke-width",1).style("stroke-dasharray","1,0")};var A=Object(a.select)('[id="'.concat(e,'"]'));A.attr("xmlns:xlink","http://www.w3.org/1999/xlink"),p.log.warn(v);var O=Object(a.select)("#"+e+" g");S(O,v),O.selectAll("g.node").attr("title",(function(){return o.default.getTooltip(this.id)}));var M=l.diagramPadding,j=A.node().getBBox(),D=j.width+2*M,N=j.height+2*M;Object(y.configureSvgSize)(A,N,D,l.useMaxWidth);var B="".concat(j.x-M," ").concat(j.y-M," ").concat(D," ").concat(N);for(p.log.debug("viewBox ".concat(B)),A.attr("viewBox",B),o.default.indexNodes("subGraph"+T),T=0;T<b.length;T++)if("undefined"!==(s=b[T]).title){var L=document.querySelectorAll("#"+e+' [id="'+o.default.lookUpDomId(s.id)+'"] rect'),I=document.querySelectorAll("#"+e+' [id="'+o.default.lookUpDomId(s.id)+'"]'),R=L[0].x.baseVal.value,F=L[0].y.baseVal.value,P=L[0].width.baseVal.value,z=Object(a.select)(I[0]).select(".label");z.attr("transform","translate(".concat(R+P/2,", ").concat(F+14,")")),z.attr("id",e+"Text");for(var Y=0;Y<s.classes.length;Y++)I[0].classList.add(s.classes[Y])}Object(g.evaluate)(l.htmlLabels);for(var U=document.querySelectorAll('[id="'+e+'"] .edgeLabel .label'),q=0;q<U.length;q++){var W=U[q],$=W.getBBox(),H=document.createElementNS("http://www.w3.org/2000/svg","rect");H.setAttribute("rx",0),H.setAttribute("ry",0),H.setAttribute("width",$.width),H.setAttribute("height",$.height),W.insertBefore(H,W.firstChild)}Object.keys(w).forEach((function(t){var n=w[t];if(n.link){var r=Object(a.select)("#"+e+' [id="'+o.default.lookUpDomId(t)+'"]');if(r){var i=document.createElementNS("http://www.w3.org/2000/svg","a");i.setAttributeNS("http://www.w3.org/2000/svg","class",n.classes.join(" ")),i.setAttributeNS("http://www.w3.org/2000/svg","href",n.link),i.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),n.linkTarget&&i.setAttributeNS("http://www.w3.org/2000/svg","target",n.linkTarget);var s=r.insert((function(){return i}),":first-child"),c=r.select(".label-container");c&&s.append((function(){return c.node()}));var u=r.select(".label");u&&s.append((function(){return u.node()}))}}}))};e.default={setConf:b,addVertices:x,addEdges:_,getClasses:k,draw:w}},"./src/diagrams/flowchart/parser/flow.jison":function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,9],n=[1,7],r=[1,6],i=[1,8],a=[1,20,21,22,23,38,47,76,77,78,79,80,81,95,96,99,100,101,103,104,110,111,112,113,114,115,116,117,118,119],o=[2,10],s=[1,20],c=[1,21],u=[1,22],l=[1,23],h=[1,30],f=[1,59],d=[1,33],p=[1,34],g=[1,35],y=[1,36],m=[1,37],v=[1,53],b=[1,48],x=[1,50],_=[1,45],k=[1,49],w=[1,52],E=[1,56],T=[1,57],C=[1,38],S=[1,39],A=[1,40],O=[1,41],M=[1,58],j=[1,47],D=[1,51],N=[1,54],B=[1,55],L=[1,46],I=[1,62],R=[1,67],F=[1,20,21,22,23,38,42,47,76,77,78,79,80,81,95,96,99,100,101,103,104,110,111,112,113,114,115,116,117,118,119],P=[1,71],z=[1,70],Y=[1,72],U=[20,21,23,70,71],q=[1,93],W=[1,98],$=[1,95],H=[1,100],V=[1,103],G=[1,101],X=[1,102],Z=[1,96],K=[1,108],Q=[1,107],J=[1,97],tt=[1,99],et=[1,104],nt=[1,105],rt=[1,106],it=[1,109],at=[20,21,22,23,70,71],ot=[20,21,22,23,48,70,71],st=[20,21,22,23,40,47,48,50,52,54,56,58,60,62,63,65,70,71,81,95,96,99,100,101,103,104,114,115,116,117,118,119],ct=[20,21,23],ut=[20,21,23,47,70,71,81,95,96,99,100,101,103,104,114,115,116,117,118,119],lt=[1,12,20,21,22,23,24,38,42,47,76,77,78,79,80,81,95,96,99,100,101,103,104,110,111,112,113,114,115,116,117,118,119],ht=[47,81,95,96,99,100,101,103,104,114,115,116,117,118,119],ft=[1,141],dt=[1,149],pt=[1,150],gt=[1,151],yt=[1,152],mt=[1,136],vt=[1,137],bt=[1,133],xt=[1,144],_t=[1,145],kt=[1,146],wt=[1,147],Et=[1,148],Tt=[1,153],Ct=[1,154],St=[1,139],At=[1,142],Ot=[1,138],Mt=[1,135],jt=[20,21,22,23,38,42,47,76,77,78,79,80,81,95,96,99,100,101,103,104,110,111,112,113,114,115,116,117,118,119],Dt=[1,157],Nt=[20,21,22,23,26,47,81,95,96,99,100,101,103,104,114,115,116,117,118,119],Bt=[20,21,22,23,24,26,38,40,41,42,47,51,53,55,57,59,61,62,64,66,70,71,72,76,77,78,79,80,81,82,85,95,96,99,100,101,103,104,105,106,114,115,116,117,118,119],Lt=[12,21,22,24],It=[22,96],Rt=[1,238],Ft=[1,242],Pt=[1,239],zt=[1,236],Yt=[1,233],Ut=[1,234],qt=[1,235],Wt=[1,237],$t=[1,240],Ht=[1,241],Vt=[1,243],Gt=[1,260],Xt=[20,21,23,96],Zt=[20,21,22,23,76,92,95,96,99,100,101,102,103,104,105],Kt={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,":":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,text:39,SQS:40,SQE:41,end:42,direction:43,link:44,node:45,vertex:46,AMP:47,STYLE_SEPARATOR:48,idString:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,CYLINDERSTART:58,CYLINDEREND:59,DIAMOND_START:60,DIAMOND_STOP:61,TAGEND:62,TRAPSTART:63,TRAPEND:64,INVTRAPSTART:65,INVTRAPEND:66,linkStatement:67,arrowText:68,TESTSTR:69,START_LINK:70,LINK:71,PIPE:72,textToken:73,STR:74,keywords:75,STYLE:76,LINKSTYLE:77,CLASSDEF:78,CLASS:79,CLICK:80,DOWN:81,UP:82,textNoTags:83,textNoTagsToken:84,DEFAULT:85,stylesOpt:86,alphaNum:87,CALLBACKNAME:88,CALLBACKARGS:89,HREF:90,LINK_TARGET:91,HEX:92,numList:93,INTERPOLATE:94,NUM:95,COMMA:96,style:97,styleComponent:98,ALPHA:99,COLON:100,MINUS:101,UNIT:102,BRKT:103,DOT:104,PCT:105,TAGSTART:106,alphaNumToken:107,idStringToken:108,alphaNumStatement:109,direction_tb:110,direction_bt:111,direction_rl:112,direction_lr:113,PUNCTUATION:114,UNICODE_TEXT:115,PLUS:116,EQUALS:117,MULT:118,UNDERSCORE:119,graphCodeTokens:120,ARROW_CROSS:121,ARROW_POINT:122,ARROW_CIRCLE:123,ARROW_OPEN:124,QUOTE:125,$accept:0,$end:1},terminals_:{2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",41:"SQE",42:"end",47:"AMP",48:"STYLE_SEPARATOR",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"CYLINDERSTART",59:"CYLINDEREND",60:"DIAMOND_START",61:"DIAMOND_STOP",62:"TAGEND",63:"TRAPSTART",64:"TRAPEND",65:"INVTRAPSTART",66:"INVTRAPEND",69:"TESTSTR",70:"START_LINK",71:"LINK",72:"PIPE",74:"STR",76:"STYLE",77:"LINKSTYLE",78:"CLASSDEF",79:"CLASS",80:"CLICK",81:"DOWN",82:"UP",85:"DEFAULT",88:"CALLBACKNAME",89:"CALLBACKARGS",90:"HREF",91:"LINK_TARGET",92:"HEX",94:"INTERPOLATE",95:"NUM",96:"COMMA",99:"ALPHA",100:"COLON",101:"MINUS",102:"UNIT",103:"BRKT",104:"DOT",105:"PCT",106:"TAGSTART",110:"direction_tb",111:"direction_bt",112:"direction_rl",113:"direction_lr",114:"PUNCTUATION",115:"UNICODE_TEXT",116:"PLUS",117:"EQUALS",118:"MULT",119:"UNDERSCORE",121:"ARROW_CROSS",122:"ARROW_POINT",123:"ARROW_CIRCLE",124:"ARROW_OPEN",125:"QUOTE"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[19,1],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[45,1],[45,5],[45,3],[46,4],[46,6],[46,4],[46,4],[46,4],[46,4],[46,4],[46,4],[46,6],[46,4],[46,4],[46,4],[46,4],[46,4],[46,1],[44,2],[44,3],[44,3],[44,1],[44,3],[67,1],[68,3],[39,1],[39,2],[39,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[75,1],[83,1],[83,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[93,1],[93,3],[86,1],[86,3],[97,1],[97,2],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[98,1],[73,1],[73,1],[73,1],[73,1],[73,1],[73,1],[84,1],[84,1],[84,1],[84,1],[49,1],[49,2],[87,1],[87,2],[109,1],[109,1],[109,1],[109,1],[43,1],[43,1],[43,1],[43,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 5:r.parseDirective("%%{","open_directive");break;case 6:r.parseDirective(a[s],"type_directive");break;case 7:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 8:r.parseDirective("}%%","close_directive","flowchart");break;case 10:case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 11:a[s]!==[]&&a[s-1].push(a[s]),this.$=a[s-1];break;case 12:case 77:case 79:case 91:case 147:case 149:case 150:case 73:case 145:this.$=a[s];break;case 19:r.setDirection("TB"),this.$="TB";break;case 20:r.setDirection(a[s-1]),this.$=a[s-1];break;case 35:this.$=a[s-1].nodes;break;case 41:this.$=r.addSubGraph(a[s-6],a[s-1],a[s-4]);break;case 42:this.$=r.addSubGraph(a[s-3],a[s-1],a[s-3]);break;case 43:this.$=r.addSubGraph(void 0,a[s-1],void 0);break;case 48:r.addLink(a[s-2].stmt,a[s],a[s-1]),this.$={stmt:a[s],nodes:a[s].concat(a[s-2].nodes)};break;case 49:r.addLink(a[s-3].stmt,a[s-1],a[s-2]),this.$={stmt:a[s-1],nodes:a[s-1].concat(a[s-3].nodes)};break;case 50:this.$={stmt:a[s-1],nodes:a[s-1]};break;case 51:this.$={stmt:a[s],nodes:a[s]};break;case 52:case 118:case 120:this.$=[a[s]];break;case 53:this.$=a[s-4].concat(a[s]);break;case 54:this.$=[a[s-2]],r.setClass(a[s-2],a[s]);break;case 55:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"square");break;case 56:this.$=a[s-5],r.addVertex(a[s-5],a[s-2],"circle");break;case 57:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"ellipse");break;case 58:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"stadium");break;case 59:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"subroutine");break;case 60:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"cylinder");break;case 61:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"round");break;case 62:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"diamond");break;case 63:this.$=a[s-5],r.addVertex(a[s-5],a[s-2],"hexagon");break;case 64:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"odd");break;case 65:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"trapezoid");break;case 66:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"inv_trapezoid");break;case 67:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"lean_right");break;case 68:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"lean_left");break;case 69:this.$=a[s],r.addVertex(a[s]);break;case 70:a[s-1].text=a[s],this.$=a[s-1];break;case 71:case 72:a[s-2].text=a[s-1],this.$=a[s-2];break;case 74:var c=r.destructLink(a[s],a[s-2]);this.$={type:c.type,stroke:c.stroke,length:c.length,text:a[s-1]};break;case 75:c=r.destructLink(a[s]),this.$={type:c.type,stroke:c.stroke,length:c.length};break;case 76:this.$=a[s-1];break;case 78:case 92:case 148:case 146:this.$=a[s-1]+""+a[s];break;case 93:case 94:this.$=a[s-4],r.addClass(a[s-2],a[s]);break;case 95:this.$=a[s-4],r.setClass(a[s-2],a[s]);break;case 96:case 104:this.$=a[s-1],r.setClickEvent(a[s-1],a[s]);break;case 97:case 105:this.$=a[s-3],r.setClickEvent(a[s-3],a[s-2]),r.setTooltip(a[s-3],a[s]);break;case 98:this.$=a[s-2],r.setClickEvent(a[s-2],a[s-1],a[s]);break;case 99:this.$=a[s-4],r.setClickEvent(a[s-4],a[s-3],a[s-2]),r.setTooltip(a[s-4],a[s]);break;case 100:case 106:this.$=a[s-1],r.setLink(a[s-1],a[s]);break;case 101:case 107:this.$=a[s-3],r.setLink(a[s-3],a[s-2]),r.setTooltip(a[s-3],a[s]);break;case 102:case 108:this.$=a[s-3],r.setLink(a[s-3],a[s-2],a[s]);break;case 103:case 109:this.$=a[s-5],r.setLink(a[s-5],a[s-4],a[s]),r.setTooltip(a[s-5],a[s-2]);break;case 110:this.$=a[s-4],r.addVertex(a[s-2],void 0,void 0,a[s]);break;case 111:case 113:this.$=a[s-4],r.updateLink(a[s-2],a[s]);break;case 112:this.$=a[s-4],r.updateLink([a[s-2]],a[s]);break;case 114:this.$=a[s-8],r.updateLinkInterpolate([a[s-6]],a[s-2]),r.updateLink([a[s-6]],a[s]);break;case 115:this.$=a[s-8],r.updateLinkInterpolate(a[s-6],a[s-2]),r.updateLink(a[s-6],a[s]);break;case 116:this.$=a[s-6],r.updateLinkInterpolate([a[s-4]],a[s]);break;case 117:this.$=a[s-6],r.updateLinkInterpolate(a[s-4],a[s]);break;case 119:case 121:a[s-2].push(a[s]),this.$=a[s-2];break;case 123:this.$=a[s-1]+a[s];break;case 151:this.$="v";break;case 152:this.$="-";break;case 153:this.$={stmt:"dir",value:"TB"};break;case 154:this.$={stmt:"dir",value:"BT"};break;case 155:this.$={stmt:"dir",value:"RL"};break;case 156:this.$={stmt:"dir",value:"LR"}}},table:[{3:1,4:2,5:3,6:5,12:e,16:4,21:n,22:r,24:i},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:e,16:4,21:n,22:r,24:i},t(a,o,{17:11}),{7:12,13:[1,13]},{16:14,21:n,22:r,24:i},{16:15,21:n,22:r,24:i},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,43:31,45:32,46:42,47:f,49:43,76:d,77:p,78:g,79:y,80:m,81:v,95:b,96:x,99:_,100:k,101:w,103:E,104:T,108:44,110:C,111:S,112:A,113:O,114:M,115:j,116:D,117:N,118:B,119:L},{8:60,10:[1,61],15:I},t([10,15],[2,6]),t(a,[2,17]),t(a,[2,18]),t(a,[2,19]),{20:[1,64],21:[1,65],22:R,27:63,30:66},t(F,[2,11]),t(F,[2,12]),t(F,[2,13]),t(F,[2,14]),t(F,[2,15]),t(F,[2,16]),{9:68,20:P,21:z,23:Y,44:69,67:73,70:[1,74],71:[1,75]},{9:76,20:P,21:z,23:Y},{9:77,20:P,21:z,23:Y},{9:78,20:P,21:z,23:Y},{9:79,20:P,21:z,23:Y},{9:80,20:P,21:z,23:Y},{9:82,20:P,21:z,22:[1,81],23:Y},t(F,[2,44]),t(U,[2,51],{30:83,22:R}),{22:[1,84]},{22:[1,85]},{22:[1,86]},{22:[1,87]},{26:q,47:W,74:[1,91],81:$,87:90,88:[1,88],90:[1,89],95:H,96:V,99:G,100:X,101:Z,103:K,104:Q,107:94,109:92,114:J,115:tt,116:et,117:nt,118:rt,119:it},t(F,[2,153]),t(F,[2,154]),t(F,[2,155]),t(F,[2,156]),t(at,[2,52],{48:[1,110]}),t(ot,[2,69],{108:121,40:[1,111],47:f,50:[1,112],52:[1,113],54:[1,114],56:[1,115],58:[1,116],60:[1,117],62:[1,118],63:[1,119],65:[1,120],81:v,95:b,96:x,99:_,100:k,101:w,103:E,104:T,114:M,115:j,116:D,117:N,118:B,119:L}),t(st,[2,145]),t(st,[2,170]),t(st,[2,171]),t(st,[2,172]),t(st,[2,173]),t(st,[2,174]),t(st,[2,175]),t(st,[2,176]),t(st,[2,177]),t(st,[2,178]),t(st,[2,179]),t(st,[2,180]),t(st,[2,181]),t(st,[2,182]),t(st,[2,183]),t(st,[2,184]),{9:122,20:P,21:z,23:Y},{11:123,14:[1,124]},t(ct,[2,8]),t(a,[2,20]),t(a,[2,26]),t(a,[2,27]),{21:[1,125]},t(ut,[2,34],{30:126,22:R}),t(F,[2,35]),{45:127,46:42,47:f,49:43,81:v,95:b,96:x,99:_,100:k,101:w,103:E,104:T,108:44,114:M,115:j,116:D,117:N,118:B,119:L},t(lt,[2,45]),t(lt,[2,46]),t(lt,[2,47]),t(ht,[2,73],{68:128,69:[1,129],72:[1,130]}),{22:ft,24:dt,26:pt,38:gt,39:131,42:yt,47:W,62:mt,70:vt,73:132,74:bt,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},t([47,69,72,81,95,96,99,100,101,103,104,114,115,116,117,118,119],[2,75]),t(F,[2,36]),t(F,[2,37]),t(F,[2,38]),t(F,[2,39]),t(F,[2,40]),{22:ft,24:dt,26:pt,38:gt,39:155,42:yt,47:W,62:mt,70:vt,73:132,74:bt,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},t(jt,o,{17:156}),t(U,[2,50],{47:Dt}),{26:q,47:W,81:$,87:158,92:[1,159],95:H,96:V,99:G,100:X,101:Z,103:K,104:Q,107:94,109:92,114:J,115:tt,116:et,117:nt,118:rt,119:it},{85:[1,160],93:161,95:[1,162]},{26:q,47:W,81:$,85:[1,163],87:164,95:H,96:V,99:G,100:X,101:Z,103:K,104:Q,107:94,109:92,114:J,115:tt,116:et,117:nt,118:rt,119:it},{26:q,47:W,81:$,87:165,95:H,96:V,99:G,100:X,101:Z,103:K,104:Q,107:94,109:92,114:J,115:tt,116:et,117:nt,118:rt,119:it},t(ct,[2,96],{22:[1,166],89:[1,167]}),t(ct,[2,100],{22:[1,168]}),t(ct,[2,104],{107:94,109:170,22:[1,169],26:q,47:W,81:$,95:H,96:V,99:G,100:X,101:Z,103:K,104:Q,114:J,115:tt,116:et,117:nt,118:rt,119:it}),t(ct,[2,106],{22:[1,171]}),t(Nt,[2,147]),t(Nt,[2,149]),t(Nt,[2,150]),t(Nt,[2,151]),t(Nt,[2,152]),t(Bt,[2,157]),t(Bt,[2,158]),t(Bt,[2,159]),t(Bt,[2,160]),t(Bt,[2,161]),t(Bt,[2,162]),t(Bt,[2,163]),t(Bt,[2,164]),t(Bt,[2,165]),t(Bt,[2,166]),t(Bt,[2,167]),t(Bt,[2,168]),t(Bt,[2,169]),{47:f,49:172,81:v,95:b,96:x,99:_,100:k,101:w,103:E,104:T,108:44,114:M,115:j,116:D,117:N,118:B,119:L},{22:ft,24:dt,26:pt,38:gt,39:173,42:yt,47:W,62:mt,70:vt,73:132,74:bt,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,39:175,42:yt,47:W,50:[1,174],62:mt,70:vt,73:132,74:bt,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,39:176,42:yt,47:W,62:mt,70:vt,73:132,74:bt,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,39:177,42:yt,47:W,62:mt,70:vt,73:132,74:bt,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,39:178,42:yt,47:W,62:mt,70:vt,73:132,74:bt,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,39:179,42:yt,47:W,62:mt,70:vt,73:132,74:bt,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,39:180,42:yt,47:W,60:[1,181],62:mt,70:vt,73:132,74:bt,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,39:182,42:yt,47:W,62:mt,70:vt,73:132,74:bt,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,39:183,42:yt,47:W,62:mt,70:vt,73:132,74:bt,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,39:184,42:yt,47:W,62:mt,70:vt,73:132,74:bt,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},t(st,[2,146]),t(Lt,[2,3]),{8:185,15:I},{15:[2,7]},t(a,[2,28]),t(ut,[2,33]),t(U,[2,48],{30:186,22:R}),t(ht,[2,70],{22:[1,187]}),{22:[1,188]},{22:ft,24:dt,26:pt,38:gt,39:189,42:yt,47:W,62:mt,70:vt,73:132,74:bt,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,42:yt,47:W,62:mt,70:vt,71:[1,190],73:191,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},t(Bt,[2,77]),t(Bt,[2,79]),t(Bt,[2,135]),t(Bt,[2,136]),t(Bt,[2,137]),t(Bt,[2,138]),t(Bt,[2,139]),t(Bt,[2,140]),t(Bt,[2,141]),t(Bt,[2,142]),t(Bt,[2,143]),t(Bt,[2,144]),t(Bt,[2,80]),t(Bt,[2,81]),t(Bt,[2,82]),t(Bt,[2,83]),t(Bt,[2,84]),t(Bt,[2,85]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(Bt,[2,89]),t(Bt,[2,90]),{9:193,20:P,21:z,22:ft,23:Y,24:dt,26:pt,38:gt,40:[1,192],42:yt,47:W,62:mt,70:vt,73:191,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,42:[1,194],43:31,45:32,46:42,47:f,49:43,76:d,77:p,78:g,79:y,80:m,81:v,95:b,96:x,99:_,100:k,101:w,103:E,104:T,108:44,110:C,111:S,112:A,113:O,114:M,115:j,116:D,117:N,118:B,119:L},{22:R,30:195},{22:[1,196],26:q,47:W,81:$,95:H,96:V,99:G,100:X,101:Z,103:K,104:Q,107:94,109:170,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:[1,197]},{22:[1,198]},{22:[1,199],96:[1,200]},t(It,[2,118]),{22:[1,201]},{22:[1,202],26:q,47:W,81:$,95:H,96:V,99:G,100:X,101:Z,103:K,104:Q,107:94,109:170,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:[1,203],26:q,47:W,81:$,95:H,96:V,99:G,100:X,101:Z,103:K,104:Q,107:94,109:170,114:J,115:tt,116:et,117:nt,118:rt,119:it},{74:[1,204]},t(ct,[2,98],{22:[1,205]}),{74:[1,206],91:[1,207]},{74:[1,208]},t(Nt,[2,148]),{74:[1,209],91:[1,210]},t(at,[2,54],{108:121,47:f,81:v,95:b,96:x,99:_,100:k,101:w,103:E,104:T,114:M,115:j,116:D,117:N,118:B,119:L}),{22:ft,24:dt,26:pt,38:gt,41:[1,211],42:yt,47:W,62:mt,70:vt,73:191,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,39:212,42:yt,47:W,62:mt,70:vt,73:132,74:bt,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,42:yt,47:W,51:[1,213],62:mt,70:vt,73:191,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,42:yt,47:W,53:[1,214],62:mt,70:vt,73:191,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,42:yt,47:W,55:[1,215],62:mt,70:vt,73:191,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,42:yt,47:W,57:[1,216],62:mt,70:vt,73:191,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,42:yt,47:W,59:[1,217],62:mt,70:vt,73:191,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,42:yt,47:W,61:[1,218],62:mt,70:vt,73:191,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,39:219,42:yt,47:W,62:mt,70:vt,73:132,74:bt,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,41:[1,220],42:yt,47:W,62:mt,70:vt,73:191,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,42:yt,47:W,62:mt,64:[1,221],66:[1,222],70:vt,73:191,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{22:ft,24:dt,26:pt,38:gt,42:yt,47:W,62:mt,64:[1,224],66:[1,223],70:vt,73:191,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{9:225,20:P,21:z,23:Y},t(U,[2,49],{47:Dt}),t(ht,[2,72]),t(ht,[2,71]),{22:ft,24:dt,26:pt,38:gt,42:yt,47:W,62:mt,70:vt,72:[1,226],73:191,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},t(ht,[2,74]),t(Bt,[2,78]),{22:ft,24:dt,26:pt,38:gt,39:227,42:yt,47:W,62:mt,70:vt,73:132,74:bt,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},t(jt,o,{17:228}),t(F,[2,43]),{46:229,47:f,49:43,81:v,95:b,96:x,99:_,100:k,101:w,103:E,104:T,108:44,114:M,115:j,116:D,117:N,118:B,119:L},{22:Rt,76:Ft,86:230,92:Pt,95:zt,97:231,98:232,99:Yt,100:Ut,101:qt,102:Wt,103:$t,104:Ht,105:Vt},{22:Rt,76:Ft,86:244,92:Pt,95:zt,97:231,98:232,99:Yt,100:Ut,101:qt,102:Wt,103:$t,104:Ht,105:Vt},{22:Rt,76:Ft,86:245,92:Pt,94:[1,246],95:zt,97:231,98:232,99:Yt,100:Ut,101:qt,102:Wt,103:$t,104:Ht,105:Vt},{22:Rt,76:Ft,86:247,92:Pt,94:[1,248],95:zt,97:231,98:232,99:Yt,100:Ut,101:qt,102:Wt,103:$t,104:Ht,105:Vt},{95:[1,249]},{22:Rt,76:Ft,86:250,92:Pt,95:zt,97:231,98:232,99:Yt,100:Ut,101:qt,102:Wt,103:$t,104:Ht,105:Vt},{22:Rt,76:Ft,86:251,92:Pt,95:zt,97:231,98:232,99:Yt,100:Ut,101:qt,102:Wt,103:$t,104:Ht,105:Vt},{26:q,47:W,81:$,87:252,95:H,96:V,99:G,100:X,101:Z,103:K,104:Q,107:94,109:92,114:J,115:tt,116:et,117:nt,118:rt,119:it},t(ct,[2,97]),{74:[1,253]},t(ct,[2,101],{22:[1,254]}),t(ct,[2,102]),t(ct,[2,105]),t(ct,[2,107],{22:[1,255]}),t(ct,[2,108]),t(ot,[2,55]),{22:ft,24:dt,26:pt,38:gt,42:yt,47:W,51:[1,256],62:mt,70:vt,73:191,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},t(ot,[2,61]),t(ot,[2,57]),t(ot,[2,58]),t(ot,[2,59]),t(ot,[2,60]),t(ot,[2,62]),{22:ft,24:dt,26:pt,38:gt,42:yt,47:W,61:[1,257],62:mt,70:vt,73:191,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},t(ot,[2,64]),t(ot,[2,65]),t(ot,[2,67]),t(ot,[2,66]),t(ot,[2,68]),t(Lt,[2,4]),t([22,47,81,95,96,99,100,101,103,104,114,115,116,117,118,119],[2,76]),{22:ft,24:dt,26:pt,38:gt,41:[1,258],42:yt,47:W,62:mt,70:vt,73:191,75:143,76:xt,77:_t,78:kt,79:wt,80:Et,81:Tt,82:Ct,84:134,85:St,95:H,96:V,99:G,100:X,101:At,103:K,104:Q,105:Ot,106:Mt,107:140,114:J,115:tt,116:et,117:nt,118:rt,119:it},{18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,42:[1,259],43:31,45:32,46:42,47:f,49:43,76:d,77:p,78:g,79:y,80:m,81:v,95:b,96:x,99:_,100:k,101:w,103:E,104:T,108:44,110:C,111:S,112:A,113:O,114:M,115:j,116:D,117:N,118:B,119:L},t(at,[2,53]),t(ct,[2,110],{96:Gt}),t(Xt,[2,120],{98:261,22:Rt,76:Ft,92:Pt,95:zt,99:Yt,100:Ut,101:qt,102:Wt,103:$t,104:Ht,105:Vt}),t(Zt,[2,122]),t(Zt,[2,124]),t(Zt,[2,125]),t(Zt,[2,126]),t(Zt,[2,127]),t(Zt,[2,128]),t(Zt,[2,129]),t(Zt,[2,130]),t(Zt,[2,131]),t(Zt,[2,132]),t(Zt,[2,133]),t(Zt,[2,134]),t(ct,[2,111],{96:Gt}),t(ct,[2,112],{96:Gt}),{22:[1,262]},t(ct,[2,113],{96:Gt}),{22:[1,263]},t(It,[2,119]),t(ct,[2,93],{96:Gt}),t(ct,[2,94],{96:Gt}),t(ct,[2,95],{107:94,109:170,26:q,47:W,81:$,95:H,96:V,99:G,100:X,101:Z,103:K,104:Q,114:J,115:tt,116:et,117:nt,118:rt,119:it}),t(ct,[2,99]),{91:[1,264]},{91:[1,265]},{51:[1,266]},{61:[1,267]},{9:268,20:P,21:z,23:Y},t(F,[2,42]),{22:Rt,76:Ft,92:Pt,95:zt,97:269,98:232,99:Yt,100:Ut,101:qt,102:Wt,103:$t,104:Ht,105:Vt},t(Zt,[2,123]),{26:q,47:W,81:$,87:270,95:H,96:V,99:G,100:X,101:Z,103:K,104:Q,107:94,109:92,114:J,115:tt,116:et,117:nt,118:rt,119:it},{26:q,47:W,81:$,87:271,95:H,96:V,99:G,100:X,101:Z,103:K,104:Q,107:94,109:92,114:J,115:tt,116:et,117:nt,118:rt,119:it},t(ct,[2,103]),t(ct,[2,109]),t(ot,[2,56]),t(ot,[2,63]),t(jt,o,{17:272}),t(Xt,[2,121],{98:261,22:Rt,76:Ft,92:Pt,95:zt,99:Yt,100:Ut,101:qt,102:Wt,103:$t,104:Ht,105:Vt}),t(ct,[2,116],{107:94,109:170,22:[1,273],26:q,47:W,81:$,95:H,96:V,99:G,100:X,101:Z,103:K,104:Q,114:J,115:tt,116:et,117:nt,118:rt,119:it}),t(ct,[2,117],{107:94,109:170,22:[1,274],26:q,47:W,81:$,95:H,96:V,99:G,100:X,101:Z,103:K,104:Q,114:J,115:tt,116:et,117:nt,118:rt,119:it}),{18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,42:[1,275],43:31,45:32,46:42,47:f,49:43,76:d,77:p,78:g,79:y,80:m,81:v,95:b,96:x,99:_,100:k,101:w,103:E,104:T,108:44,110:C,111:S,112:A,113:O,114:M,115:j,116:D,117:N,118:B,119:L},{22:Rt,76:Ft,86:276,92:Pt,95:zt,97:231,98:232,99:Yt,100:Ut,101:qt,102:Wt,103:$t,104:Ht,105:Vt},{22:Rt,76:Ft,86:277,92:Pt,95:zt,97:231,98:232,99:Yt,100:Ut,101:qt,102:Wt,103:$t,104:Ht,105:Vt},t(F,[2,41]),t(ct,[2,114],{96:Gt}),t(ct,[2,115],{96:Gt})],defaultActions:{2:[2,1],9:[2,5],10:[2,2],124:[2,7]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var v=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,O={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var M="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");M=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(M,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],O.$=i[i.length-C],O._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},v&&(O._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(O,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(O.$),a.push(O._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},Qt={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),12;case 1:return this.begin("type_directive"),13;case 2:return this.popState(),this.begin("arg_directive"),10;case 3:return this.popState(),this.popState(),15;case 4:return 14;case 5:case 6:break;case 7:this.begin("string");break;case 8:case 17:case 20:case 23:case 26:this.popState();break;case 9:return"STR";case 10:return 76;case 11:return 85;case 12:return 77;case 13:return 94;case 14:return 78;case 15:return 79;case 16:this.begin("href");break;case 18:return 90;case 19:this.begin("callbackname");break;case 21:this.popState(),this.begin("callbackargs");break;case 22:return 88;case 24:return 89;case 25:this.begin("click");break;case 27:return 80;case 28:case 29:return t.lex.firstGraph()&&this.begin("dir"),24;case 30:return 38;case 31:return 42;case 32:case 33:case 34:case 35:return 91;case 36:return this.popState(),25;case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:return this.popState(),26;case 47:return 110;case 48:return 111;case 49:return 112;case 50:return 113;case 51:return 95;case 52:return 103;case 53:return 48;case 54:return 100;case 55:return 47;case 56:return 20;case 57:return 96;case 58:return 118;case 59:case 60:case 61:return 71;case 62:case 63:case 64:return 70;case 65:return 52;case 66:return 53;case 67:return 54;case 68:return 55;case 69:return 56;case 70:return 57;case 71:return 58;case 72:return 59;case 73:return 101;case 74:return 104;case 75:return 119;case 76:return 116;case 77:return 105;case 78:case 79:return 117;case 80:return 106;case 81:return 62;case 82:return 82;case 83:return"SEP";case 84:return 81;case 85:return 99;case 86:return 64;case 87:return 63;case 88:return 66;case 89:return 65;case 90:return 114;case 91:return 115;case 92:return 72;case 93:return 50;case 94:return 51;case 95:return 40;case 96:return 41;case 97:return 60;case 98:return 61;case 99:return 125;case 100:return 21;case 101:return 22;case 102:return 23}},rules:[/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)[^\n]*)/,/^(?:[^\}]%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\[)/,/^(?:\]\))/,/^(?:\[\[)/,/^(?:\]\])/,/^(?:\[\()/,/^(?:\)\])/,/^(?:-)/,/^(?:\.)/,/^(?:[\_])/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:[A-Za-z]+)/,/^(?:\\\])/,/^(?:\[\/)/,/^(?:\/\])/,/^(?:\[\\)/,/^(?:[!"#$%&'*+,-.`?\\_/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[23,24],inclusive:!1},callbackname:{rules:[20,21,22],inclusive:!1},href:{rules:[17,18],inclusive:!1},click:{rules:[26,27],inclusive:!1},vertex:{rules:[],inclusive:!1},dir:{rules:[36,37,38,39,40,41,42,43,44,45,46],inclusive:!1},string:{rules:[8,9],inclusive:!1},INITIAL:{rules:[0,5,6,7,10,11,12,13,14,15,16,19,25,28,29,30,31,32,33,34,35,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],inclusive:!0}}};function Jt(){this.yy={}}return Kt.lexer=Qt,Jt.prototype=Kt,Kt.Parser=Jt,new Jt}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n("./node_modules/node-libs-browser/mock/empty.js").readFileSync(n("./node_modules/path-browserify/index.js").normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n("./node_modules/process/browser.js"),n("./node_modules/webpack/buildin/module.js")(t))},"./src/diagrams/flowchart/styles.js":function(t,e,n){"use strict";n.r(e),e.default=function(t){return".label {\n font-family: ".concat(t.fontFamily,";\n color: ").concat(t.nodeTextColor||t.textColor,";\n }\n .cluster-label text {\n fill: ").concat(t.titleColor,";\n }\n .cluster-label span {\n color: ").concat(t.titleColor,";\n }\n\n .label text,span {\n fill: ").concat(t.nodeTextColor||t.textColor,";\n color: ").concat(t.nodeTextColor||t.textColor,";\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ").concat(t.arrowheadColor,";\n }\n\n .edgePath .path {\n stroke: ").concat(t.lineColor,";\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ").concat(t.lineColor,";\n fill: none;\n }\n\n .edgeLabel {\n background-color: ").concat(t.edgeLabelBackground,";\n rect {\n opacity: 0.5;\n background-color: ").concat(t.edgeLabelBackground,";\n fill: ").concat(t.edgeLabelBackground,";\n }\n text-align: center;\n }\n\n .cluster rect {\n fill: ").concat(t.clusterBkg,";\n stroke: ").concat(t.clusterBorder,";\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ").concat(t.titleColor,";\n }\n\n .cluster span {\n color: ").concat(t.titleColor,";\n }\n // .cluster div {\n // color: ").concat(t.titleColor,";\n // }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ").concat(t.fontFamily,";\n font-size: 12px;\n background: ").concat(t.tertiaryColor,";\n border: 1px solid ").concat(t.border2,";\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n")}},"./src/diagrams/gantt/ganttDb.js":function(t,e,n){"use strict";n.r(e),n.d(e,"parseDirective",(function(){return S})),n.d(e,"clear",(function(){return A})),n.d(e,"setAxisFormat",(function(){return O})),n.d(e,"getAxisFormat",(function(){return M})),n.d(e,"setTodayMarker",(function(){return j})),n.d(e,"getTodayMarker",(function(){return D})),n.d(e,"setDateFormat",(function(){return N})),n.d(e,"enableInclusiveEndDates",(function(){return B})),n.d(e,"endDatesAreInclusive",(function(){return L})),n.d(e,"enableTopAxis",(function(){return I})),n.d(e,"topAxisEnabled",(function(){return R})),n.d(e,"getDateFormat",(function(){return F})),n.d(e,"setExcludes",(function(){return P})),n.d(e,"getExcludes",(function(){return z})),n.d(e,"setTitle",(function(){return Y})),n.d(e,"getTitle",(function(){return U})),n.d(e,"addSection",(function(){return q})),n.d(e,"getSections",(function(){return W})),n.d(e,"getTasks",(function(){return $})),n.d(e,"addTask",(function(){return nt})),n.d(e,"findTaskById",(function(){return rt})),n.d(e,"addTaskOrg",(function(){return it})),n.d(e,"setLink",(function(){return ot})),n.d(e,"setClass",(function(){return st})),n.d(e,"setClickEvent",(function(){return ut})),n.d(e,"bindFunctions",(function(){return lt}));var r=n("moment-mini"),i=n.n(r),a=n("@braintree/sanitize-url"),o=n("./src/logger.js"),s=n("./src/config.js"),c=n("./src/utils.js"),u=n("./src/mermaidAPI.js");function l(t){return function(t){if(Array.isArray(t))return h(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var f,d,p="",g="",y="",m=[],v="",b=[],x=[],_="",k=["active","done","crit","milestone"],w=[],E=!1,T=!1,C=0,S=function(t,e,n){u.default.parseDirective(this,t,e,n)},A=function(){b=[],x=[],_="",w=[],v="",Q=0,f=void 0,d=void 0,tt=[],p="",g="",y="",m=[],E=!1,T=!1,C=0},O=function(t){g=t},M=function(){return g},j=function(t){y=t},D=function(){return y},N=function(t){p=t},B=function(){E=!0},L=function(){return E},I=function(){T=!0},R=function(){return T},F=function(){return p},P=function(t){m=t.toLowerCase().split(/[\s,]+/)},z=function(){return m},Y=function(t){v=t},U=function(){return v},q=function(t){_=t,b.push(t)},W=function(){return b},$=function(){for(var t=at(),e=0;!t&&e<10;)t=at(),e++;return x=tt},H=function(t,e,n){return t.isoWeekday()>=6&&n.indexOf("weekends")>=0||n.indexOf(t.format("dddd").toLowerCase())>=0||n.indexOf(t.format(e.trim()))>=0},V=function(t,e,n){if(n.length&&!t.manualEndTime){var r=i()(t.startTime,e,!0);r.add(1,"d");var a=i()(t.endTime,e,!0),o=G(r,a,e,n);t.endTime=a.toDate(),t.renderEndTime=o}},G=function(t,e,n,r){for(var i=!1,a=null;t<=e;)i||(a=e.toDate()),(i=H(t,n,r))&&e.add(1,"d"),t.add(1,"d");return a},X=function(t,e,n){n=n.trim();var r=/^after\s+([\d\w- ]+)/.exec(n.trim());if(null!==r){var a=null;if(r[1].split(" ").forEach((function(t){var e=rt(t);void 0!==e&&(a?e.endTime>a.endTime&&(a=e):a=e)})),a)return a.endTime;var s=new Date;return s.setHours(0,0,0,0),s}var c=i()(n,e.trim(),!0);return c.isValid()?c.toDate():(o.log.debug("Invalid date:"+n),o.log.debug("With date format:"+e.trim()),new Date)},Z=function(t,e){if(null!==t)switch(t[2]){case"s":e.add(t[1],"seconds");break;case"m":e.add(t[1],"minutes");break;case"h":e.add(t[1],"hours");break;case"d":e.add(t[1],"days");break;case"w":e.add(t[1],"weeks")}return e.toDate()},K=function(t,e,n,r){r=r||!1,n=n.trim();var a=i()(n,e.trim(),!0);return a.isValid()?(r&&a.add(1,"d"),a.toDate()):Z(/^([\d]+)([wdhms])/.exec(n.trim()),i()(t))},Q=0,J=function(t){return void 0===t?"task"+(Q+=1):t},tt=[],et={},nt=function(t,e){var n={section:_,type:_,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},r=function(t,e){var n=(":"===e.substr(0,1)?e.substr(1,e.length):e).split(","),r={};ht(n,r,k);for(var i=0;i<n.length;i++)n[i]=n[i].trim();switch(n.length){case 1:r.id=J(),r.startTime={type:"prevTaskEnd",id:t},r.endTime={data:n[0]};break;case 2:r.id=J(),r.startTime={type:"getStartDate",startData:n[0]},r.endTime={data:n[1]};break;case 3:r.id=J(n[0]),r.startTime={type:"getStartDate",startData:n[1]},r.endTime={data:n[2]}}return r}(d,e);n.raw.startTime=r.startTime,n.raw.endTime=r.endTime,n.id=r.id,n.prevTaskId=d,n.active=r.active,n.done=r.done,n.crit=r.crit,n.milestone=r.milestone,n.order=C,C++;var i=tt.push(n);d=n.id,et[n.id]=i-1},rt=function(t){var e=et[t];return tt[e]},it=function(t,e){var n={section:_,type:_,description:t,task:t,classes:[]},r=function(t,e){var n=(":"===e.substr(0,1)?e.substr(1,e.length):e).split(","),r={};ht(n,r,k);for(var a=0;a<n.length;a++)n[a]=n[a].trim();var o="";switch(n.length){case 1:r.id=J(),r.startTime=t.endTime,o=n[0];break;case 2:r.id=J(),r.startTime=X(0,p,n[0]),o=n[1];break;case 3:r.id=J(n[0]),r.startTime=X(0,p,n[1]),o=n[2]}return o&&(r.endTime=K(r.startTime,p,o,E),r.manualEndTime=i()(o,"YYYY-MM-DD",!0).isValid(),V(r,p,m)),r}(f,e);n.startTime=r.startTime,n.endTime=r.endTime,n.id=r.id,n.active=r.active,n.done=r.done,n.crit=r.crit,n.milestone=r.milestone,f=n,x.push(n)},at=function(){for(var t=function(t){var e=tt[t],n="";switch(tt[t].raw.startTime.type){case"prevTaskEnd":var r=rt(e.prevTaskId);e.startTime=r.endTime;break;case"getStartDate":(n=X(0,p,tt[t].raw.startTime.startData))&&(tt[t].startTime=n)}return tt[t].startTime&&(tt[t].endTime=K(tt[t].startTime,p,tt[t].raw.endTime.data,E),tt[t].endTime&&(tt[t].processed=!0,tt[t].manualEndTime=i()(tt[t].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),V(tt[t],p,m))),tt[t].processed},e=!0,n=0;n<tt.length;n++)t(n),e=e&&tt[n].processed;return e},ot=function(t,e){var n=e;"loose"!==s.getConfig().securityLevel&&(n=Object(a.sanitizeUrl)(e)),t.split(",").forEach((function(t){void 0!==rt(t)&&ct(t,(function(){window.open(n,"_self")}))})),st(t,"clickable")},st=function(t,e){t.split(",").forEach((function(t){var n=rt(t);void 0!==n&&n.classes.push(e)}))},ct=function(t,e){w.push((function(){var n=document.querySelector('[id="'.concat(t,'"]'));null!==n&&n.addEventListener("click",(function(){e()}))})),w.push((function(){var n=document.querySelector('[id="'.concat(t,'-text"]'));null!==n&&n.addEventListener("click",(function(){e()}))}))},ut=function(t,e,n){t.split(",").forEach((function(t){!function(t,e,n){if("loose"===s.getConfig().securityLevel&&void 0!==e){var r=[];if("string"==typeof n){r=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(var i=0;i<r.length;i++){var a=r[i].trim();'"'===a.charAt(0)&&'"'===a.charAt(a.length-1)&&(a=a.substr(1,a.length-2)),r[i]=a}}0===r.length&&r.push(t),void 0!==rt(t)&&ct(t,(function(){c.default.runFunc.apply(c.default,[e].concat(l(r)))}))}}(t,e,n)})),st(t,"clickable")},lt=function(t){w.forEach((function(e){e(t)}))};function ht(t,e,n){for(var r=!0;r;)r=!1,n.forEach((function(n){var i=new RegExp("^\\s*"+n+"\\s*$");t[0].match(i)&&(e[n]=!0,t.shift(1),r=!0)}))}e.default={parseDirective:S,getConfig:function(){return s.getConfig().gantt},clear:A,setDateFormat:N,getDateFormat:F,enableInclusiveEndDates:B,endDatesAreInclusive:L,enableTopAxis:I,topAxisEnabled:R,setAxisFormat:O,getAxisFormat:M,setTodayMarker:j,getTodayMarker:D,setTitle:Y,getTitle:U,addSection:q,getSections:W,getTasks:$,addTask:nt,findTaskById:rt,addTaskOrg:it,setExcludes:P,getExcludes:z,setClickEvent:ut,setLink:ot,bindFunctions:lt,durationToDate:Z}},"./src/diagrams/gantt/ganttRenderer.js":function(t,e,n){"use strict";n.r(e),n.d(e,"setConf",(function(){return l})),n.d(e,"draw",(function(){return h}));var r=n("d3"),i=n("./src/diagrams/gantt/parser/gantt.jison"),a=n("./src/diagrams/common/common.js"),o=n("./src/diagrams/gantt/ganttDb.js"),s=n("./src/config.js"),c=n("./src/utils.js");i.parser.yy=o.default;var u,l=function(){},h=function(t,e){var n=Object(s.getConfig)().gantt;i.parser.yy.clear(),i.parser.parse(t);var l=document.getElementById(e);void 0===(u=l.parentElement.offsetWidth)&&(u=1200),void 0!==n.useWidth&&(u=n.useWidth);var h=i.parser.yy.getTasks(),f=h.length*(n.barHeight+n.barGap)+2*n.topPadding;l.setAttribute("viewBox","0 0 "+u+" "+f);for(var d=Object(r.select)('[id="'.concat(e,'"]')),p=Object(r.scaleTime)().domain([Object(r.min)(h,(function(t){return t.startTime})),Object(r.max)(h,(function(t){return t.endTime}))]).rangeRound([0,u-n.leftPadding-n.rightPadding]),g=[],y=0;y<h.length;y++)g.push(h[y].type);var m,v,b,x,_,k,w,E=g;function T(t,e){return function(t){for(var e=t.length,n={};e;)n[t[--e]]=(n[t[e]]||0)+1;return n}(e)[t]||0}g=function(t){for(var e={},n=[],r=0,i=t.length;r<i;++r)e.hasOwnProperty(t[r])||(e[t[r]]=!0,n.push(t[r]));return n}(g),h.sort((function(t,e){var n=t.startTime,r=e.startTime,i=0;return n>r?i=1:n<r&&(i=-1),i})),m=h,v=u,b=f,x=n.barHeight,_=x+n.barGap,k=n.topPadding,w=n.leftPadding,Object(r.scaleLinear)().domain([0,g.length]).range(["#00B9FA","#F95002"]).interpolate(r.interpolateHcl),function(t,e,a,s){var c=Object(r.axisBottom)(p).tickSize(-s+e+n.gridLineStartPadding).tickFormat(Object(r.timeFormat)(i.parser.yy.getAxisFormat()||n.axisFormat||"%Y-%m-%d"));if(d.append("g").attr("class","grid").attr("transform","translate("+t+", "+(s-50)+")").call(c).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),o.default.topAxisEnabled()||n.topAxis){var u=Object(r.axisTop)(p).tickSize(-s+e+n.gridLineStartPadding).tickFormat(Object(r.timeFormat)(i.parser.yy.getAxisFormat()||n.axisFormat||"%Y-%m-%d"));d.append("g").attr("class","grid").attr("transform","translate("+t+", "+e+")").call(u).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}(w,k,0,b),function(t,e,r,i,a,o,s){d.append("g").selectAll("rect").data(t).enter().append("rect").attr("x",0).attr("y",(function(t,n){return t.order*e+r-2})).attr("width",(function(){return s-n.rightPadding/2})).attr("height",e).attr("class",(function(t){for(var e=0;e<g.length;e++)if(t.type===g[e])return"section section"+e%n.numberSectionStyles;return"section section0"}));var c=d.append("g").selectAll("rect").data(t).enter();c.append("rect").attr("id",(function(t){return t.id})).attr("rx",3).attr("ry",3).attr("x",(function(t){return t.milestone?p(t.startTime)+i+.5*(p(t.endTime)-p(t.startTime))-.5*a:p(t.startTime)+i})).attr("y",(function(t,n){return t.order*e+r})).attr("width",(function(t){return t.milestone?a:p(t.renderEndTime||t.endTime)-p(t.startTime)})).attr("height",a).attr("transform-origin",(function(t,n){return n=t.order,(p(t.startTime)+i+.5*(p(t.endTime)-p(t.startTime))).toString()+"px "+(n*e+r+.5*a).toString()+"px"})).attr("class",(function(t){var e="task",r="";t.classes.length>0&&(r=t.classes.join(" "));for(var i=0,a=0;a<g.length;a++)t.type===g[a]&&(i=a%n.numberSectionStyles);var o="";return t.active?t.crit?o+=" activeCrit":o=" active":t.done?o=t.crit?" doneCrit":" done":t.crit&&(o+=" crit"),0===o.length&&(o=" task"),t.milestone&&(o=" milestone "+o),o+=i,e+(o+=" "+r)})),c.append("text").attr("id",(function(t){return t.id+"-text"})).text((function(t){return t.task})).attr("font-size",n.fontSize).attr("x",(function(t){var e=p(t.startTime),r=p(t.renderEndTime||t.endTime);t.milestone&&(e+=.5*(p(t.endTime)-p(t.startTime))-.5*a),t.milestone&&(r=e+a);var o=this.getBBox().width;return o>r-e?r+o+1.5*n.leftPadding>s?e+i-5:r+i+5:(r-e)/2+e+i})).attr("y",(function(t,i){return t.order*e+n.barHeight/2+(n.fontSize/2-2)+r})).attr("text-height",a).attr("class",(function(t){var e=p(t.startTime),r=p(t.endTime);t.milestone&&(r=e+a);var i=this.getBBox().width,o="";t.classes.length>0&&(o=t.classes.join(" "));for(var c=0,u=0;u<g.length;u++)t.type===g[u]&&(c=u%n.numberSectionStyles);var l="";return t.active&&(l=t.crit?"activeCritText"+c:"activeText"+c),t.done?l=t.crit?l+" doneCritText"+c:l+" doneText"+c:t.crit&&(l=l+" critText"+c),t.milestone&&(l+=" milestoneText"),i>r-e?r+i+1.5*n.leftPadding>s?o+" taskTextOutsideLeft taskTextOutside"+c+" "+l:o+" taskTextOutsideRight taskTextOutside"+c+" "+l+" width-"+i:o+" taskText taskText"+c+" "+l+" width-"+i}))}(m,_,k,w,x,0,v),function(t,e){for(var r=[],i=0,o=0;o<g.length;o++)r[o]=[g[o],T(g[o],E)];d.append("g").selectAll("text").data(r).enter().append((function(t){var e=t[0].split(a.default.lineBreakRegex),n=-(e.length-1)/2,r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("dy",n+"em");for(var i=0;i<e.length;i++){var o=document.createElementNS("http://www.w3.org/2000/svg","tspan");o.setAttribute("alignment-baseline","central"),o.setAttribute("x","10"),i>0&&o.setAttribute("dy","1em"),o.textContent=e[i],r.appendChild(o)}return r})).attr("x",10).attr("y",(function(n,a){if(!(a>0))return n[1]*t/2+e;for(var o=0;o<a;o++)return i+=r[a-1][1],n[1]*t/2+i*t+e})).attr("font-size",n.sectionFontSize).attr("font-size",n.sectionFontSize).attr("class",(function(t){for(var e=0;e<g.length;e++)if(t[0]===g[e])return"sectionTitle sectionTitle"+e%n.numberSectionStyles;return"sectionTitle"}))}(_,k),function(t,e,r,i){var a=o.default.getTodayMarker();if("off"!==a){var s=d.append("g").attr("class","today"),c=new Date,u=s.append("line");u.attr("x1",p(c)+t).attr("x2",p(c)+t).attr("y1",n.titleTopMargin).attr("y2",i-n.titleTopMargin).attr("class","today"),""!==a&&u.attr("style",a.replace(/,/g,";"))}}(w,0,0,b),Object(c.configureSvgSize)(d,f,u,n.useMaxWidth),d.append("text").text(i.parser.yy.getTitle()).attr("x",u/2).attr("y",n.titleTopMargin).attr("class","titleText")};e.default={setConf:l,draw:h}},"./src/diagrams/gantt/parser/gantt.jison":function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,3],n=[1,5],r=[7,9,11,12,13,14,15,16,17,18,19,21,28,33],i=[1,15],a=[1,16],o=[1,17],s=[1,18],c=[1,19],u=[1,20],l=[1,21],h=[1,22],f=[1,24],d=[1,26],p=[1,29],g=[5,7,9,11,12,13,14,15,16,17,18,19,21,28,33],y={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,gantt:5,document:6,EOF:7,line:8,SPACE:9,statement:10,NL:11,dateFormat:12,inclusiveEndDates:13,topAxis:14,axisFormat:15,excludes:16,todayMarker:17,title:18,section:19,clickStatement:20,taskTxt:21,taskData:22,openDirective:23,typeDirective:24,closeDirective:25,":":26,argDirective:27,click:28,callbackname:29,callbackargs:30,href:31,clickStatementDebug:32,open_directive:33,type_directive:34,arg_directive:35,close_directive:36,$accept:0,$end:1},terminals_:{2:"error",5:"gantt",7:"EOF",9:"SPACE",11:"NL",12:"dateFormat",13:"inclusiveEndDates",14:"topAxis",15:"axisFormat",16:"excludes",17:"todayMarker",18:"title",19:"section",21:"taskTxt",22:"taskData",26:":",28:"click",29:"callbackname",30:"callbackargs",31:"href",33:"open_directive",34:"type_directive",35:"arg_directive",36:"close_directive"},productions_:[0,[3,2],[3,3],[6,0],[6,2],[8,2],[8,1],[8,1],[8,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,1],[4,4],[4,6],[20,2],[20,3],[20,3],[20,4],[20,3],[20,4],[20,2],[32,2],[32,3],[32,3],[32,4],[32,3],[32,4],[32,2],[23,1],[24,1],[27,1],[25,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 2:return a[s-1];case 3:case 7:case 8:this.$=[];break;case 4:a[s-1].push(a[s]),this.$=a[s-1];break;case 5:case 6:this.$=a[s];break;case 9:r.setDateFormat(a[s].substr(11)),this.$=a[s].substr(11);break;case 10:r.enableInclusiveEndDates(),this.$=a[s].substr(18);break;case 11:r.TopAxis(),this.$=a[s].substr(8);break;case 12:r.setAxisFormat(a[s].substr(11)),this.$=a[s].substr(11);break;case 13:r.setExcludes(a[s].substr(9)),this.$=a[s].substr(9);break;case 14:r.setTodayMarker(a[s].substr(12)),this.$=a[s].substr(12);break;case 15:r.setTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 16:r.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 18:r.addTask(a[s-1],a[s]),this.$="task";break;case 22:this.$=a[s-1],r.setClickEvent(a[s-1],a[s],null);break;case 23:this.$=a[s-2],r.setClickEvent(a[s-2],a[s-1],a[s]);break;case 24:this.$=a[s-2],r.setClickEvent(a[s-2],a[s-1],null),r.setLink(a[s-2],a[s]);break;case 25:this.$=a[s-3],r.setClickEvent(a[s-3],a[s-2],a[s-1]),r.setLink(a[s-3],a[s]);break;case 26:this.$=a[s-2],r.setClickEvent(a[s-2],a[s],null),r.setLink(a[s-2],a[s-1]);break;case 27:this.$=a[s-3],r.setClickEvent(a[s-3],a[s-1],a[s]),r.setLink(a[s-3],a[s-2]);break;case 28:this.$=a[s-1],r.setLink(a[s-1],a[s]);break;case 29:case 35:this.$=a[s-1]+" "+a[s];break;case 30:case 31:case 33:this.$=a[s-2]+" "+a[s-1]+" "+a[s];break;case 32:case 34:this.$=a[s-3]+" "+a[s-2]+" "+a[s-1]+" "+a[s];break;case 36:r.parseDirective("%%{","open_directive");break;case 37:r.parseDirective(a[s],"type_directive");break;case 38:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 39:r.parseDirective("}%%","close_directive","gantt")}},table:[{3:1,4:2,5:e,23:4,33:n},{1:[3]},{3:6,4:2,5:e,23:4,33:n},t(r,[2,3],{6:7}),{24:8,34:[1,9]},{34:[2,36]},{1:[2,1]},{4:25,7:[1,10],8:11,9:[1,12],10:13,11:[1,14],12:i,13:a,14:o,15:s,16:c,17:u,18:l,19:h,20:23,21:f,23:4,28:d,33:n},{25:27,26:[1,28],36:p},t([26,36],[2,37]),t(r,[2,8],{1:[2,2]}),t(r,[2,4]),{4:25,10:30,12:i,13:a,14:o,15:s,16:c,17:u,18:l,19:h,20:23,21:f,23:4,28:d,33:n},t(r,[2,6]),t(r,[2,7]),t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),t(r,[2,13]),t(r,[2,14]),t(r,[2,15]),t(r,[2,16]),t(r,[2,17]),{22:[1,31]},t(r,[2,19]),{29:[1,32],31:[1,33]},{11:[1,34]},{27:35,35:[1,36]},{11:[2,39]},t(r,[2,5]),t(r,[2,18]),t(r,[2,22],{30:[1,37],31:[1,38]}),t(r,[2,28],{29:[1,39]}),t(g,[2,20]),{25:40,36:p},{36:[2,38]},t(r,[2,23],{31:[1,41]}),t(r,[2,24]),t(r,[2,26],{30:[1,42]}),{11:[1,43]},t(r,[2,25]),t(r,[2,27]),t(g,[2,21])],defaultActions:{5:[2,36],6:[2,1],29:[2,39],36:[2,38]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var v=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,O={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var M="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");M=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(M,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],O.$=i[i.length-C],O._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},v&&(O._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(O,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(O.$),a.push(O._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},m={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),33;case 1:return this.begin("type_directive"),34;case 2:return this.popState(),this.begin("arg_directive"),26;case 3:return this.popState(),this.popState(),36;case 4:return 35;case 5:case 6:case 7:case 9:case 10:case 11:break;case 8:return 11;case 12:this.begin("href");break;case 13:case 16:case 19:case 22:this.popState();break;case 14:return 31;case 15:this.begin("callbackname");break;case 17:this.popState(),this.begin("callbackargs");break;case 18:return 29;case 20:return 30;case 21:this.begin("click");break;case 23:return 28;case 24:return 5;case 25:return 12;case 26:return 13;case 27:return 14;case 28:return 15;case 29:return 16;case 30:return 17;case 31:return"date";case 32:return 18;case 33:return 19;case 34:return 21;case 35:return 22;case 36:return 26;case 37:return 7;case 38:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[19,20],inclusive:!1},callbackname:{rules:[16,17,18],inclusive:!1},href:{rules:[13,14],inclusive:!1},click:{rules:[22,23],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,15,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],inclusive:!0}}};function v(){this.yy={}}return y.lexer=m,v.prototype=y,y.Parser=v,new v}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n("./node_modules/node-libs-browser/mock/empty.js").readFileSync(n("./node_modules/path-browserify/index.js").normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n("./node_modules/process/browser.js"),n("./node_modules/webpack/buildin/module.js")(t))},"./src/diagrams/gantt/styles.js":function(t,e,n){"use strict";n.r(e),e.default=function(t){return'\n .mermaid-main-font {\n font-family: "trebuchet ms", verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: '.concat(t.sectionBkgColor,";\n }\n\n .section2 {\n fill: ").concat(t.sectionBkgColor2,";\n }\n\n .section1,\n .section3 {\n fill: ").concat(t.altSectionBkgColor,";\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ").concat(t.titleColor,";\n }\n\n .sectionTitle1 {\n fill: ").concat(t.titleColor,";\n }\n\n .sectionTitle2 {\n fill: ").concat(t.titleColor,";\n }\n\n .sectionTitle3 {\n fill: ").concat(t.titleColor,";\n }\n\n .sectionTitle {\n text-anchor: start;\n // font-size: ").concat(t.ganttFontSize,";\n // text-height: 14px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: ").concat(t.gridColor,";\n opacity: 0.8;\n shape-rendering: crispEdges;\n text {\n font-family: ").concat(t.fontFamily,";\n fill: ").concat(t.textColor,";\n }\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ").concat(t.todayLineColor,";\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n\n // .taskText:not([font-size]) {\n // font-size: ").concat(t.ganttFontSize,";\n // }\n\n .taskTextOutsideRight {\n fill: ").concat(t.taskTextDarkColor,";\n text-anchor: start;\n // font-size: ").concat(t.ganttFontSize,";\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n .taskTextOutsideLeft {\n fill: ").concat(t.taskTextDarkColor,";\n text-anchor: end;\n // font-size: ").concat(t.ganttFontSize,";\n }\n\n /* Special case clickable */\n .task.clickable {\n cursor: pointer;\n }\n .taskText.clickable {\n cursor: pointer;\n fill: ").concat(t.taskTextClickableColor," !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ").concat(t.taskTextClickableColor," !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ").concat(t.taskTextClickableColor," !important;\n font-weight: bold;\n }\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ").concat(t.taskTextColor,";\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ").concat(t.taskBkgColor,";\n stroke: ").concat(t.taskBorderColor,";\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ").concat(t.taskTextOutsideColor,";\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ").concat(t.taskTextOutsideColor,";\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ").concat(t.activeTaskBkgColor,";\n stroke: ").concat(t.activeTaskBorderColor,";\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ").concat(t.taskTextDarkColor," !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ").concat(t.doneTaskBorderColor,";\n fill: ").concat(t.doneTaskBkgColor,";\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ").concat(t.taskTextDarkColor," !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ").concat(t.critBorderColor,";\n fill: ").concat(t.critBkgColor,";\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ").concat(t.critBorderColor,";\n fill: ").concat(t.activeTaskBkgColor,";\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ").concat(t.critBorderColor,";\n fill: ").concat(t.doneTaskBkgColor,";\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ").concat(t.taskTextDarkColor," !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ").concat(t.taskTextDarkColor," !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ").concat(t.textColor," ;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n")}},"./src/diagrams/git/gitGraphAst.js":function(t,e,n){"use strict";n.r(e),n.d(e,"setDirection",(function(){return d})),n.d(e,"setOptions",(function(){return g})),n.d(e,"getOptions",(function(){return y})),n.d(e,"commit",(function(){return m})),n.d(e,"branch",(function(){return v})),n.d(e,"merge",(function(){return b})),n.d(e,"checkout",(function(){return x})),n.d(e,"reset",(function(){return _})),n.d(e,"prettyPrint",(function(){return E})),n.d(e,"clear",(function(){return T})),n.d(e,"getBranchesAsObjArray",(function(){return C})),n.d(e,"getBranches",(function(){return S})),n.d(e,"getCommits",(function(){return A})),n.d(e,"getCommitsArray",(function(){return O})),n.d(e,"getCurrentBranch",(function(){return M})),n.d(e,"getDirection",(function(){return j})),n.d(e,"getHead",(function(){return D}));var r=n("./src/logger.js"),i=n("./src/utils.js"),a={},o=null,s={master:o},c="master",u="LR",l=0;function h(){return Object(i.random)({length:7})}function f(t,e){for(r.log.debug("Entering isfastforwardable:",t.id,e.id);t.seq<=e.seq&&t!==e&&null!=e.parent;){if(Array.isArray(e.parent))return r.log.debug("In merge commit:",e.parent),f(t,a[e.parent[0]])||f(t,a[e.parent[1]]);e=a[e.parent]}return r.log.debug(t.id,e.id),t.id===e.id}var d=function(t){u=t},p={},g=function(t){r.log.debug("options str",t),t=(t=t&&t.trim())||"{}";try{p=JSON.parse(t)}catch(e){r.log.error("error while parsing gitGraph options",e.message)}},y=function(){return p},m=function(t){var e={id:h(),message:t,seq:l++,parent:null==o?null:o.id};o=e,a[e.id]=e,s[c]=e.id,r.log.debug("in pushCommit "+e.id)},v=function(t){s[t]=null!=o?o.id:null,r.log.debug("in createBranch")},b=function(t){var e=a[s[c]],n=a[s[t]];if(function(t,e){return t.seq>e.seq&&f(e,t)}(e,n))r.log.debug("Already merged");else{if(f(e,n))s[c]=s[t],o=a[s[c]];else{var i={id:h(),message:"merged branch "+t+" into "+c,seq:l++,parent:[null==o?null:o.id,s[t]]};o=i,a[i.id]=i,s[c]=i.id}r.log.debug(s),r.log.debug("in mergeBranch")}},x=function(t){r.log.debug("in checkout");var e=s[c=t];o=a[e]},_=function(t){r.log.debug("in reset",t);var e=t.split(":")[0],n=parseInt(t.split(":")[1]),i="HEAD"===e?o:a[s[e]];for(r.log.debug(i,n);n>0;)if(n--,!(i=a[i.parent])){var u="Critical error - unique parent commit not found during reset";throw r.log.error(u),u}o=i,s[c]=i.id};function k(t,e,n){var r=t.indexOf(e);-1===r?t.push(n):t.splice(r,1,n)}function w(t){var e=t.reduce((function(t,e){return t.seq>e.seq?t:e}),t[0]),n="";t.forEach((function(t){n+=t===e?"\t*":"\t|"}));var i,o,c,u=[n,e.id,e.seq];for(var l in s)s[l]===e.id&&u.push(l);if(r.log.debug(u.join(" ")),Array.isArray(e.parent)){var h=a[e.parent[0]];k(t,e,h),t.push(a[e.parent[1]])}else{if(null==e.parent)return;var f=a[e.parent];k(t,e,f)}i=t,o=function(t){return t.id},c=Object.create(null),w(t=i.reduce((function(t,e){var n=o(e);return c[n]||(c[n]=!0,t.push(e)),t}),[]))}var E=function(){r.log.debug(a),w([O()[0]])},T=function(){a={},s={master:o=null},c="master",l=0},C=function(){var t=[];for(var e in s)t.push({name:e,commit:a[s[e]]});return t},S=function(){return s},A=function(){return a},O=function(){var t=Object.keys(a).map((function(t){return a[t]}));return t.forEach((function(t){r.log.debug(t.id)})),t.sort((function(t,e){return e.seq-t.seq})),t},M=function(){return c},j=function(){return u},D=function(){return o};e.default={setDirection:d,setOptions:g,getOptions:y,commit:m,branch:v,merge:b,checkout:x,reset:_,prettyPrint:E,clear:T,getBranchesAsObjArray:C,getBranches:S,getCommits:A,getCommitsArray:O,getCurrentBranch:M,getDirection:j,getHead:D}},"./src/diagrams/git/gitGraphRenderer.js":function(t,e,n){"use strict";n.r(e),n.d(e,"setConf",(function(){return d})),n.d(e,"draw",(function(){return x}));var r,i=n("d3"),a=n("./src/diagrams/git/gitGraphAst.js"),o=n("./src/diagrams/git/parser/gitGraph.jison"),s=n.n(o),c=n("./src/logger.js"),u=n("./src/utils.js"),l={},h={nodeSpacing:150,nodeFillColor:"yellow",nodeStrokeWidth:2,nodeStrokeColor:"grey",lineStrokeWidth:4,branchOffset:50,lineColor:"grey",leftMargin:50,branchColors:["#442f74","#983351","#609732","#AA9A39"],nodeRadius:10,nodeLabel:{width:75,height:100,x:-25,y:0}},f={},d=function(t){f=t};function p(t,e,n,r){var a=Object(u.interpolateToCurve)(r,i.curveBasis),o=h.branchColors[n%h.branchColors.length],s=Object(i.line)().x((function(t){return Math.round(t.x)})).y((function(t){return Math.round(t.y)})).curve(a);t.append("svg:path").attr("d",s(e)).style("stroke",o).style("stroke-width",h.lineStrokeWidth).style("fill","none")}function g(t,e){e=e||t.node().getBBox();var n=t.node().getCTM();return{left:n.e+e.x*n.a,top:n.f+e.y*n.d,width:e.width,height:e.height}}function y(t,e,n,r,i){c.log.debug("svgDrawLineForCommits: ",e,n);var a=g(t.select("#node-"+e+" circle")),o=g(t.select("#node-"+n+" circle"));switch(r){case"LR":if(a.left-o.left>h.nodeSpacing){var s={x:a.left-h.nodeSpacing,y:o.top+o.height/2};p(t,[s,{x:o.left+o.width,y:o.top+o.height/2}],i,"linear"),p(t,[{x:a.left,y:a.top+a.height/2},{x:a.left-h.nodeSpacing/2,y:a.top+a.height/2},{x:a.left-h.nodeSpacing/2,y:s.y},s],i)}else p(t,[{x:a.left,y:a.top+a.height/2},{x:a.left-h.nodeSpacing/2,y:a.top+a.height/2},{x:a.left-h.nodeSpacing/2,y:o.top+o.height/2},{x:o.left+o.width,y:o.top+o.height/2}],i);break;case"BT":if(o.top-a.top>h.nodeSpacing){var u={x:o.left+o.width/2,y:a.top+a.height+h.nodeSpacing};p(t,[u,{x:o.left+o.width/2,y:o.top}],i,"linear"),p(t,[{x:a.left+a.width/2,y:a.top+a.height},{x:a.left+a.width/2,y:a.top+a.height+h.nodeSpacing/2},{x:o.left+o.width/2,y:u.y-h.nodeSpacing/2},u],i)}else p(t,[{x:a.left+a.width/2,y:a.top+a.height},{x:a.left+a.width/2,y:a.top+h.nodeSpacing/2},{x:o.left+o.width/2,y:o.top-h.nodeSpacing/2},{x:o.left+o.width/2,y:o.top}],i)}}function m(t,e){return t.select(e).node().cloneNode(!0)}function v(t,e,n,i){var a,o=Object.keys(l).length;if("string"==typeof e)do{if(a=l[e],c.log.debug("in renderCommitHistory",a.id,a.seq),t.select("#node-"+e).size()>0)return;t.append((function(){return m(t,"#def-commit")})).attr("class","commit").attr("id",(function(){return"node-"+a.id})).attr("transform",(function(){switch(i){case"LR":return"translate("+(a.seq*h.nodeSpacing+h.leftMargin)+", "+r*h.branchOffset+")";case"BT":return"translate("+(r*h.branchOffset+h.leftMargin)+", "+(o-a.seq)*h.nodeSpacing+")"}})).attr("fill",h.nodeFillColor).attr("stroke",h.nodeStrokeColor).attr("stroke-width",h.nodeStrokeWidth);var s=void 0;for(var u in n)if(n[u].commit===a){s=n[u];break}s&&(c.log.debug("found branch ",s.name),t.select("#node-"+a.id+" p").append("xhtml:span").attr("class","branch-label").text(s.name+", ")),t.select("#node-"+a.id+" p").append("xhtml:span").attr("class","commit-id").text(a.id),""!==a.message&&"BT"===i&&t.select("#node-"+a.id+" p").append("xhtml:span").attr("class","commit-msg").text(", "+a.message),e=a.parent}while(e&&l[e]);Array.isArray(e)&&(c.log.debug("found merge commmit",e),v(t,e[0],n,i),r++,v(t,e[1],n,i),r--)}function b(t,e,n,r){for(r=r||0;e.seq>0&&!e.lineDrawn;)"string"==typeof e.parent?(y(t,e.id,e.parent,n,r),e.lineDrawn=!0,e=l[e.parent]):Array.isArray(e.parent)&&(y(t,e.id,e.parent[0],n,r),y(t,e.id,e.parent[1],n,r+1),b(t,l[e.parent[1]],n,r+1),e.lineDrawn=!0,e=l[e.parent[0]])}var x=function(t,e,n){try{var o=s.a.parser;o.yy=a.default,o.yy.clear(),c.log.debug("in gitgraph renderer",t+"\n","id:",e,n),o.parse(t+"\n"),h=Object.assign(h,f,a.default.getOptions()),c.log.debug("effective options",h);var u=a.default.getDirection();l=a.default.getCommits();var d=a.default.getBranchesAsObjArray();"BT"===u&&(h.nodeLabel.x=d.length*h.branchOffset,h.nodeLabel.width="100%",h.nodeLabel.y=-2*h.nodeRadius);var p=Object(i.select)('[id="'.concat(e,'"]'));for(var g in function(t){t.append("defs").append("g").attr("id","def-commit").append("circle").attr("r",h.nodeRadius).attr("cx",0).attr("cy",0),t.select("#def-commit").append("foreignObject").attr("width",h.nodeLabel.width).attr("height",h.nodeLabel.height).attr("x",h.nodeLabel.x).attr("y",h.nodeLabel.y).attr("class","node-label").attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").append("p").html("")}(p),r=1,d){var y=d[g];v(p,y.commit.id,d,u),b(p,y.commit,u),r++}p.attr("height",(function(){return"BT"===u?Object.keys(l).length*h.nodeSpacing:(d.length+1)*h.branchOffset}))}catch(m){c.log.error("Error while rendering gitgraph"),c.log.error(m.message)}};e.default={setConf:d,draw:x}},"./src/diagrams/git/parser/gitGraph.jison":function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[2,3],n=[1,7],r=[7,12,15,17,19,20,21],i=[7,11,12,15,17,19,20,21],a=[2,20],o=[1,32],s={trace:function(){},yy:{},symbols_:{error:2,start:3,GG:4,":":5,document:6,EOF:7,DIR:8,options:9,body:10,OPT:11,NL:12,line:13,statement:14,COMMIT:15,commit_arg:16,BRANCH:17,ID:18,CHECKOUT:19,MERGE:20,RESET:21,reset_arg:22,STR:23,HEAD:24,reset_parents:25,CARET:26,$accept:0,$end:1},terminals_:{2:"error",4:"GG",5:":",7:"EOF",8:"DIR",11:"OPT",12:"NL",15:"COMMIT",17:"BRANCH",18:"ID",19:"CHECKOUT",20:"MERGE",21:"RESET",23:"STR",24:"HEAD",26:"CARET"},productions_:[0,[3,4],[3,5],[6,0],[6,2],[9,2],[9,1],[10,0],[10,2],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[16,0],[16,1],[22,2],[22,2],[25,0],[25,2]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 2:return r.setDirection(a[s-3]),a[s-1];case 4:r.setOptions(a[s-1]),this.$=a[s];break;case 5:a[s-1]+=a[s],this.$=a[s-1];break;case 7:this.$=[];break;case 8:a[s-1].push(a[s]),this.$=a[s-1];break;case 9:this.$=a[s-1];break;case 11:r.commit(a[s]);break;case 12:r.branch(a[s]);break;case 13:r.checkout(a[s]);break;case 14:r.merge(a[s]);break;case 15:r.reset(a[s]);break;case 16:this.$="";break;case 17:this.$=a[s];break;case 18:this.$=a[s-1]+":"+a[s];break;case 19:this.$=a[s-1]+":"+r.count,r.count=0;break;case 20:r.count=0;break;case 21:r.count+=1}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3],8:[1,4]},{6:5,7:e,9:6,12:n},{5:[1,8]},{7:[1,9]},t(r,[2,7],{10:10,11:[1,11]}),t(i,[2,6]),{6:12,7:e,9:6,12:n},{1:[2,1]},{7:[2,4],12:[1,15],13:13,14:14,15:[1,16],17:[1,17],19:[1,18],20:[1,19],21:[1,20]},t(i,[2,5]),{7:[1,21]},t(r,[2,8]),{12:[1,22]},t(r,[2,10]),{12:[2,16],16:23,23:[1,24]},{18:[1,25]},{18:[1,26]},{18:[1,27]},{18:[1,30],22:28,24:[1,29]},{1:[2,2]},t(r,[2,9]),{12:[2,11]},{12:[2,17]},{12:[2,12]},{12:[2,13]},{12:[2,14]},{12:[2,15]},{12:a,25:31,26:o},{12:a,25:33,26:o},{12:[2,18]},{12:a,25:34,26:o},{12:[2,19]},{12:[2,21]}],defaultActions:{9:[2,1],21:[2,2],23:[2,11],24:[2,17],25:[2,12],26:[2,13],27:[2,14],28:[2,15],31:[2,18],33:[2,19],34:[2,21]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var v=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,O={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var M="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");M=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(M,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],O.$=i[i.length-C],O._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},v&&(O._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(O,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(O.$),a.push(O._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},c={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 12;case 1:case 2:case 3:break;case 4:return 4;case 5:return 15;case 6:return 17;case 7:return 20;case 8:return 21;case 9:return 19;case 10:case 11:return 8;case 12:return 5;case 13:return 26;case 14:this.begin("options");break;case 15:case 18:this.popState();break;case 16:return 11;case 17:this.begin("string");break;case 19:return 23;case 20:return 18;case 21:return 7}},rules:[/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit\b)/i,/^(?:branch\b)/i,/^(?:merge\b)/i,/^(?:reset\b)/i,/^(?:checkout\b)/i,/^(?:LR\b)/i,/^(?:BT\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:end\r?\n)/i,/^(?:[^\n]+\r?\n)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[a-zA-Z][-_\.a-zA-Z0-9]*[-_a-zA-Z0-9])/i,/^(?:$)/i],conditions:{options:{rules:[15,16],inclusive:!1},string:{rules:[18,19],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,20,21],inclusive:!0}}};function u(){this.yy={}}return s.lexer=c,u.prototype=s,s.Parser=u,new u}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n("./node_modules/node-libs-browser/mock/empty.js").readFileSync(n("./node_modules/path-browserify/index.js").normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n("./node_modules/process/browser.js"),n("./node_modules/webpack/buildin/module.js")(t))},"./src/diagrams/git/styles.js":function(t,e,n){"use strict";n.r(e),e.default=function(){return"\n .commit-id,\n .commit-msg,\n .branch-label {\n fill: lightgrey;\n color: lightgrey;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n"}},"./src/diagrams/info/infoDb.js":function(t,e,n){"use strict";n.r(e),n.d(e,"setMessage",(function(){return o})),n.d(e,"getMessage",(function(){return s})),n.d(e,"setInfo",(function(){return c})),n.d(e,"getInfo",(function(){return u}));var r=n("./src/logger.js"),i="",a=!1,o=function(t){r.log.debug("Setting message to: "+t),i=t},s=function(){return i},c=function(t){a=t},u=function(){return a};e.default={setMessage:o,getMessage:s,setInfo:c,getInfo:u}},"./src/diagrams/info/infoRenderer.js":function(t,e,n){"use strict";n.r(e),n.d(e,"setConf",(function(){return u})),n.d(e,"draw",(function(){return l}));var r=n("d3"),i=n("./src/diagrams/info/infoDb.js"),a=n("./src/diagrams/info/parser/info.jison"),o=n.n(a),s=n("./src/logger.js"),c={},u=function(t){Object.keys(t).forEach((function(e){c[e]=t[e]}))},l=function(t,e,n){try{var a=o.a.parser;a.yy=i.default,s.log.debug("Renering info diagram\n"+t),a.parse(t),s.log.debug("Parsed info diagram");var c=Object(r.select)("#"+e);c.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("v "+n),c.attr("height",100),c.attr("width",400)}catch(u){s.log.error("Error while rendering info diagram"),s.log.error(u.message)}};e.default={setConf:u,draw:l}},"./src/diagrams/info/parser/info.jison":function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[6,9,10],n={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,n,r,i,a,o){switch(a.length,i){case 1:return r;case 4:break;case 6:r.setInfo(!0)}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},t(e,[2,3]),t(e,[2,4]),t(e,[2,5]),t(e,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var v=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,O={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var M="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");M=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(M,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],O.$=i[i.length-C],O._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},v&&(O._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(O,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(O.$),a.push(O._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},r={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};function i(){this.yy={}}return n.lexer=r,i.prototype=n,n.Parser=i,new i}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n("./node_modules/node-libs-browser/mock/empty.js").readFileSync(n("./node_modules/path-browserify/index.js").normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n("./node_modules/process/browser.js"),n("./node_modules/webpack/buildin/module.js")(t))},"./src/diagrams/info/styles.js":function(t,e,n){"use strict";n.r(e),e.default=function(){return""}},"./src/diagrams/pie/parser/pie.jison":function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,4],n=[1,5],r=[1,6],i=[1,7],a=[1,9],o=[1,11,13,20,21,22,23],s=[2,5],c=[1,6,11,13,20,21,22,23],u=[20,21,22],l=[2,8],h=[1,18],f=[1,19],d=[1,24],p=[6,20,21,22,23],g={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,PIE:6,document:7,showData:8,line:9,statement:10,txt:11,value:12,title:13,title_value:14,openDirective:15,typeDirective:16,closeDirective:17,":":18,argDirective:19,NEWLINE:20,";":21,EOF:22,open_directive:23,type_directive:24,arg_directive:25,close_directive:26,$accept:0,$end:1},terminals_:{2:"error",6:"PIE",8:"showData",11:"txt",12:"value",13:"title",14:"title_value",18:":",20:"NEWLINE",21:";",22:"EOF",23:"open_directive",24:"type_directive",25:"arg_directive",26:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,3],[7,0],[7,2],[9,2],[10,0],[10,2],[10,2],[10,1],[5,3],[5,5],[4,1],[4,1],[4,1],[15,1],[16,1],[19,1],[17,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 4:r.setShowData(!0);break;case 7:this.$=a[s-1];break;case 9:r.addSection(a[s-1],r.cleanupValue(a[s]));break;case 10:this.$=a[s].trim(),r.setTitle(this.$);break;case 17:r.parseDirective("%%{","open_directive");break;case 18:r.parseDirective(a[s],"type_directive");break;case 19:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 20:r.parseDirective("}%%","close_directive","pie")}},table:[{3:1,4:2,5:3,6:e,15:8,20:n,21:r,22:i,23:a},{1:[3]},{3:10,4:2,5:3,6:e,15:8,20:n,21:r,22:i,23:a},{3:11,4:2,5:3,6:e,15:8,20:n,21:r,22:i,23:a},t(o,s,{7:12,8:[1,13]}),t(c,[2,14]),t(c,[2,15]),t(c,[2,16]),{16:14,24:[1,15]},{24:[2,17]},{1:[2,1]},{1:[2,2]},t(u,l,{15:8,9:16,10:17,5:20,1:[2,3],11:h,13:f,23:a}),t(o,s,{7:21}),{17:22,18:[1,23],26:d},t([18,26],[2,18]),t(o,[2,6]),{4:25,20:n,21:r,22:i},{12:[1,26]},{14:[1,27]},t(u,[2,11]),t(u,l,{15:8,9:16,10:17,5:20,1:[2,4],11:h,13:f,23:a}),t(p,[2,12]),{19:28,25:[1,29]},t(p,[2,20]),t(o,[2,7]),t(u,[2,9]),t(u,[2,10]),{17:30,26:d},{26:[2,19]},t(p,[2,13])],defaultActions:{9:[2,17],10:[2,1],11:[2,2],29:[2,19]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var v=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,O={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var M="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");M=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(M,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],O.$=i[i.length-C],O._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},v&&(O._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(O,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(O.$),a.push(O._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},y={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),23;case 1:return this.begin("type_directive"),24;case 2:return this.popState(),this.begin("arg_directive"),18;case 3:return this.popState(),this.popState(),26;case 4:return 25;case 5:case 6:case 8:case 9:break;case 7:return 20;case 10:return this.begin("title"),13;case 11:return this.popState(),"title_value";case 12:this.begin("string");break;case 13:this.popState();break;case 14:return"txt";case 15:return 6;case 16:return 8;case 17:return"value";case 18:return 22}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},title:{rules:[11],inclusive:!1},string:{rules:[13,14],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,12,15,16,17,18],inclusive:!0}}};function m(){this.yy={}}return g.lexer=y,m.prototype=g,g.Parser=m,new m}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n("./node_modules/node-libs-browser/mock/empty.js").readFileSync(n("./node_modules/path-browserify/index.js").normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n("./node_modules/process/browser.js"),n("./node_modules/webpack/buildin/module.js")(t))},"./src/diagrams/pie/pieDb.js":function(t,e,n){"use strict";n.r(e),n.d(e,"parseDirective",(function(){return u}));var r=n("./src/logger.js"),i=n("./src/mermaidAPI.js"),a=n("./src/config.js"),o={},s="",c=!1,u=function(t,e,n){i.default.parseDirective(this,t,e,n)};e.default={parseDirective:u,getConfig:function(){return a.getConfig().pie},addSection:function(t,e){void 0===o[t]&&(o[t]=e,r.log.debug("Added new section :",t))},getSections:function(){return o},cleanupValue:function(t){return":"===t.substring(0,1)?(t=t.substring(1).trim(),Number(t.trim())):Number(t.trim())},clear:function(){o={},s="",c=!1},setTitle:function(t){s=t},getTitle:function(){return s},setShowData:function(t){c=t},getShowData:function(){return c}}},"./src/diagrams/pie/pieRenderer.js":function(t,e,n){"use strict";n.r(e),n.d(e,"draw",(function(){return d}));var r,i=n("d3"),a=n("./src/diagrams/pie/pieDb.js"),o=n("./src/diagrams/pie/parser/pie.jison"),s=n.n(o),c=n("./src/logger.js"),u=n("./src/utils.js"),l=n("./src/config.js"),h=l.getConfig(),f=450,d=function(t,e){try{h=l.getConfig();var n=s.a.parser;n.yy=a.default,c.log.debug("Rendering info diagram\n"+t),n.yy.clear(),n.parse(t),c.log.debug("Parsed info diagram");var o=document.getElementById(e);void 0===(r=o.parentElement.offsetWidth)&&(r=1200),void 0!==h.useWidth&&(r=h.useWidth),void 0!==h.pie.useWidth&&(r=h.pie.useWidth);var d=Object(i.select)("#"+e);Object(u.configureSvgSize)(d,f,r,h.pie.useMaxWidth),o.setAttribute("viewBox","0 0 "+r+" "+f);var p=18,g=Math.min(r,f)/2-40,y=d.append("g").attr("transform","translate("+r/2+",225)"),m=a.default.getSections(),v=0;Object.keys(m).forEach((function(t){v+=m[t]}));var b=h.themeVariables,x=[b.pie1,b.pie2,b.pie3,b.pie4,b.pie5,b.pie6,b.pie7,b.pie8,b.pie9,b.pie10,b.pie11,b.pie12],_=Object(i.scaleOrdinal)().domain(m).range(x),k=Object(i.pie)().value((function(t){return t.value}))(Object(i.entries)(m)),w=Object(i.arc)().innerRadius(0).outerRadius(g);y.selectAll("mySlices").data(k).enter().append("path").attr("d",w).attr("fill",(function(t){return _(t.data.key)})).attr("class","pieCircle"),y.selectAll("mySlices").data(k.filter((function(t){return 0!==t.data.value}))).enter().append("text").text((function(t){return(t.data.value/v*100).toFixed(0)+"%"})).attr("transform",(function(t){return"translate("+w.centroid(t)+")"})).style("text-anchor","middle").attr("class","slice"),y.append("text").text(n.yy.getTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");var E=y.selectAll(".legend").data(_.domain()).enter().append("g").attr("class","legend").attr("transform",(function(t,e){return"translate(216,"+(22*e-22*_.domain().length/2)+")"}));E.append("rect").attr("width",p).attr("height",p).style("fill",_).style("stroke",_),E.data(k.filter((function(t){return 0!==t.data.value}))).append("text").attr("x",22).attr("y",14).text((function(t){return n.yy.getShowData()||h.showData||h.pie.showData?t.data.key+" ["+t.data.value+"]":t.data.key}))}catch(T){c.log.error("Error while rendering info diagram"),c.log.error(T)}};e.default={draw:d}},"./src/diagrams/pie/styles.js":function(t,e,n){"use strict";n.r(e),e.default=function(t){return"\n .pieCircle{\n stroke: ".concat(t.pieStrokeColor,";\n stroke-width : ").concat(t.pieStrokeWidth,";\n opacity : ").concat(t.pieOpacity,";\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ").concat(t.pieTitleTextSize,";\n fill: ").concat(t.pieTitleTextColor,";\n font-family: ").concat(t.fontFamily,";\n }\n .slice {\n font-family: ").concat(t.fontFamily,";\n fill: ").concat(t.pieSectionTextColor,";\n font-size:").concat(t.pieSectionTextSize,";\n // fill: white;\n }\n .legend text {\n fill: ").concat(t.pieLegendTextColor,";\n font-family: ").concat(t.fontFamily,";\n font-size: ").concat(t.pieLegendTextSize,";\n }\n")}},"./src/diagrams/requirement/parser/requirementDiagram.jison":function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,3],n=[1,5],r=[1,17],i=[2,10],a=[1,21],o=[1,22],s=[1,23],c=[1,24],u=[1,25],l=[1,26],h=[1,19],f=[1,27],d=[1,28],p=[1,31],g=[66,67],y=[5,8,14,35,36,37,38,39,40,48,55,57,66,67],m=[5,6,8,14,35,36,37,38,39,40,48,66,67],v=[1,51],b=[1,52],x=[1,53],_=[1,54],k=[1,55],w=[1,56],E=[1,57],T=[57,58],C=[1,69],S=[1,65],A=[1,66],O=[1,67],M=[1,68],j=[1,70],D=[1,74],N=[1,75],B=[1,72],L=[1,73],I=[5,8,14,35,36,37,38,39,40,48,66,67],R={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,openDirective:9,typeDirective:10,closeDirective:11,":":12,argDirective:13,open_directive:14,type_directive:15,arg_directive:16,close_directive:17,requirementDef:18,elementDef:19,relationshipDef:20,requirementType:21,requirementName:22,STRUCT_START:23,requirementBody:24,ID:25,COLONSEP:26,id:27,TEXT:28,text:29,RISK:30,riskLevel:31,VERIFYMTHD:32,verifyType:33,STRUCT_STOP:34,REQUIREMENT:35,FUNCTIONAL_REQUIREMENT:36,INTERFACE_REQUIREMENT:37,PERFORMANCE_REQUIREMENT:38,PHYSICAL_REQUIREMENT:39,DESIGN_CONSTRAINT:40,LOW_RISK:41,MED_RISK:42,HIGH_RISK:43,VERIFY_ANALYSIS:44,VERIFY_DEMONSTRATION:45,VERIFY_INSPECTION:46,VERIFY_TEST:47,ELEMENT:48,elementName:49,elementBody:50,TYPE:51,type:52,DOCREF:53,ref:54,END_ARROW_L:55,relationship:56,LINE:57,END_ARROW_R:58,CONTAINS:59,COPIES:60,DERIVES:61,SATISFIES:62,VERIFIES:63,REFINES:64,TRACES:65,unqString:66,qString:67,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",12:":",14:"open_directive",15:"type_directive",16:"arg_directive",17:"close_directive",23:"STRUCT_START",25:"ID",26:"COLONSEP",28:"TEXT",30:"RISK",32:"VERIFYMTHD",34:"STRUCT_STOP",35:"REQUIREMENT",36:"FUNCTIONAL_REQUIREMENT",37:"INTERFACE_REQUIREMENT",38:"PERFORMANCE_REQUIREMENT",39:"PHYSICAL_REQUIREMENT",40:"DESIGN_CONSTRAINT",41:"LOW_RISK",42:"MED_RISK",43:"HIGH_RISK",44:"VERIFY_ANALYSIS",45:"VERIFY_DEMONSTRATION",46:"VERIFY_INSPECTION",47:"VERIFY_TEST",48:"ELEMENT",51:"TYPE",53:"DOCREF",55:"END_ARROW_L",57:"LINE",58:"END_ARROW_R",59:"CONTAINS",60:"COPIES",61:"DERIVES",62:"SATISFIES",63:"VERIFIES",64:"REFINES",65:"TRACES",66:"unqString",67:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,3],[4,5],[9,1],[10,1],[13,1],[11,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[18,5],[24,5],[24,5],[24,5],[24,5],[24,2],[24,1],[21,1],[21,1],[21,1],[21,1],[21,1],[21,1],[31,1],[31,1],[31,1],[33,1],[33,1],[33,1],[33,1],[19,5],[50,5],[50,5],[50,2],[50,1],[20,5],[20,5],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[56,1],[22,1],[22,1],[27,1],[27,1],[29,1],[29,1],[49,1],[49,1],[52,1],[52,1],[54,1],[54,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 6:r.parseDirective("%%{","open_directive");break;case 7:r.parseDirective(a[s],"type_directive");break;case 8:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 9:r.parseDirective("}%%","close_directive","pie");break;case 10:this.$=[];break;case 16:r.addRequirement(a[s-3],a[s-4]);break;case 17:r.setNewReqId(a[s-2]);break;case 18:r.setNewReqText(a[s-2]);break;case 19:r.setNewReqRisk(a[s-2]);break;case 20:r.setNewReqVerifyMethod(a[s-2]);break;case 23:this.$=r.RequirementType.REQUIREMENT;break;case 24:this.$=r.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 25:this.$=r.RequirementType.INTERFACE_REQUIREMENT;break;case 26:this.$=r.RequirementType.PERFORMANCE_REQUIREMENT;break;case 27:this.$=r.RequirementType.PHYSICAL_REQUIREMENT;break;case 28:this.$=r.RequirementType.DESIGN_CONSTRAINT;break;case 29:this.$=r.RiskLevel.LOW_RISK;break;case 30:this.$=r.RiskLevel.MED_RISK;break;case 31:this.$=r.RiskLevel.HIGH_RISK;break;case 32:this.$=r.VerifyType.VERIFY_ANALYSIS;break;case 33:this.$=r.VerifyType.VERIFY_DEMONSTRATION;break;case 34:this.$=r.VerifyType.VERIFY_INSPECTION;break;case 35:this.$=r.VerifyType.VERIFY_TEST;break;case 36:r.addElement(a[s-3]);break;case 37:r.setNewElementType(a[s-2]);break;case 38:r.setNewElementDocRef(a[s-2]);break;case 41:r.addRelationship(a[s-2],a[s],a[s-4]);break;case 42:r.addRelationship(a[s-2],a[s-4],a[s]);break;case 43:this.$=r.Relationships.CONTAINS;break;case 44:this.$=r.Relationships.COPIES;break;case 45:this.$=r.Relationships.DERIVES;break;case 46:this.$=r.Relationships.SATISFIES;break;case 47:this.$=r.Relationships.VERIFIES;break;case 48:this.$=r.Relationships.REFINES;break;case 49:this.$=r.Relationships.TRACES}},table:[{3:1,4:2,6:e,9:4,14:n},{1:[3]},{3:7,4:2,5:[1,6],6:e,9:4,14:n},{5:[1,8]},{10:9,15:[1,10]},{15:[2,6]},{3:11,4:2,6:e,9:4,14:n},{1:[2,2]},{4:16,5:r,7:12,8:i,9:4,14:n,18:13,19:14,20:15,21:18,27:20,35:a,36:o,37:s,38:c,39:u,40:l,48:h,66:f,67:d},{11:29,12:[1,30],17:p},t([12,17],[2,7]),{1:[2,1]},{8:[1,32]},{4:16,5:r,7:33,8:i,9:4,14:n,18:13,19:14,20:15,21:18,27:20,35:a,36:o,37:s,38:c,39:u,40:l,48:h,66:f,67:d},{4:16,5:r,7:34,8:i,9:4,14:n,18:13,19:14,20:15,21:18,27:20,35:a,36:o,37:s,38:c,39:u,40:l,48:h,66:f,67:d},{4:16,5:r,7:35,8:i,9:4,14:n,18:13,19:14,20:15,21:18,27:20,35:a,36:o,37:s,38:c,39:u,40:l,48:h,66:f,67:d},{4:16,5:r,7:36,8:i,9:4,14:n,18:13,19:14,20:15,21:18,27:20,35:a,36:o,37:s,38:c,39:u,40:l,48:h,66:f,67:d},{4:16,5:r,7:37,8:i,9:4,14:n,18:13,19:14,20:15,21:18,27:20,35:a,36:o,37:s,38:c,39:u,40:l,48:h,66:f,67:d},{22:38,66:[1,39],67:[1,40]},{49:41,66:[1,42],67:[1,43]},{55:[1,44],57:[1,45]},t(g,[2,23]),t(g,[2,24]),t(g,[2,25]),t(g,[2,26]),t(g,[2,27]),t(g,[2,28]),t(y,[2,52]),t(y,[2,53]),t(m,[2,4]),{13:46,16:[1,47]},t(m,[2,9]),{1:[2,3]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{23:[1,48]},{23:[2,50]},{23:[2,51]},{23:[1,49]},{23:[2,56]},{23:[2,57]},{56:50,59:v,60:b,61:x,62:_,63:k,64:w,65:E},{56:58,59:v,60:b,61:x,62:_,63:k,64:w,65:E},{11:59,17:p},{17:[2,8]},{5:[1,60]},{5:[1,61]},{57:[1,62]},t(T,[2,43]),t(T,[2,44]),t(T,[2,45]),t(T,[2,46]),t(T,[2,47]),t(T,[2,48]),t(T,[2,49]),{58:[1,63]},t(m,[2,5]),{5:C,24:64,25:S,28:A,30:O,32:M,34:j},{5:D,34:N,50:71,51:B,53:L},{27:76,66:f,67:d},{27:77,66:f,67:d},t(I,[2,16]),{26:[1,78]},{26:[1,79]},{26:[1,80]},{26:[1,81]},{5:C,24:82,25:S,28:A,30:O,32:M,34:j},t(I,[2,22]),t(I,[2,36]),{26:[1,83]},{26:[1,84]},{5:D,34:N,50:85,51:B,53:L},t(I,[2,40]),t(I,[2,41]),t(I,[2,42]),{27:86,66:f,67:d},{29:87,66:[1,88],67:[1,89]},{31:90,41:[1,91],42:[1,92],43:[1,93]},{33:94,44:[1,95],45:[1,96],46:[1,97],47:[1,98]},t(I,[2,21]),{52:99,66:[1,100],67:[1,101]},{54:102,66:[1,103],67:[1,104]},t(I,[2,39]),{5:[1,105]},{5:[1,106]},{5:[2,54]},{5:[2,55]},{5:[1,107]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[1,108]},{5:[2,32]},{5:[2,33]},{5:[2,34]},{5:[2,35]},{5:[1,109]},{5:[2,58]},{5:[2,59]},{5:[1,110]},{5:[2,60]},{5:[2,61]},{5:C,24:111,25:S,28:A,30:O,32:M,34:j},{5:C,24:112,25:S,28:A,30:O,32:M,34:j},{5:C,24:113,25:S,28:A,30:O,32:M,34:j},{5:C,24:114,25:S,28:A,30:O,32:M,34:j},{5:D,34:N,50:115,51:B,53:L},{5:D,34:N,50:116,51:B,53:L},t(I,[2,17]),t(I,[2,18]),t(I,[2,19]),t(I,[2,20]),t(I,[2,37]),t(I,[2,38])],defaultActions:{5:[2,6],7:[2,2],11:[2,1],32:[2,3],33:[2,11],34:[2,12],35:[2,13],36:[2,14],37:[2,15],39:[2,50],40:[2,51],42:[2,56],43:[2,57],47:[2,8],88:[2,54],89:[2,55],91:[2,29],92:[2,30],93:[2,31],95:[2,32],96:[2,33],97:[2,34],98:[2,35],100:[2,58],101:[2,59],103:[2,60],104:[2,61]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var v=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,O={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var M="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");M=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(M,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],O.$=i[i.length-C],O._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},v&&(O._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(O,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(O.$),a.push(O._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},F={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),14;case 1:return this.begin("type_directive"),15;case 2:return this.popState(),this.begin("arg_directive"),12;case 3:return this.popState(),this.popState(),17;case 4:return 16;case 5:return 5;case 6:case 7:case 8:break;case 9:return 8;case 10:return 6;case 11:return 23;case 12:return 34;case 13:return 26;case 14:return 25;case 15:return 28;case 16:return 30;case 17:return 32;case 18:return 35;case 19:return 36;case 20:return 37;case 21:return 38;case 22:return 39;case 23:return 40;case 24:return 41;case 25:return 42;case 26:return 43;case 27:return 44;case 28:return 45;case 29:return 46;case 30:return 47;case 31:return 48;case 32:return 59;case 33:return 60;case 34:return 61;case 35:return 62;case 36:return 63;case 37:return 64;case 38:return 65;case 39:return 51;case 40:return 53;case 41:return 55;case 42:return 58;case 43:return 57;case 44:this.begin("string");break;case 45:this.popState();break;case 46:return"qString";case 47:return e.yytext=e.yytext.trim(),66}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[45,46],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,47],inclusive:!0}}};function P(){this.yy={}}return R.lexer=F,P.prototype=R,R.Parser=P,new P}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n("./node_modules/node-libs-browser/mock/empty.js").readFileSync(n("./node_modules/path-browserify/index.js").normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n("./node_modules/process/browser.js"),n("./node_modules/webpack/buildin/module.js")(t))},"./src/diagrams/requirement/requirementDb.js":function(t,e,n){"use strict";n.r(e),n.d(e,"parseDirective",(function(){return h}));var r=n("./src/config.js"),i=n("./src/logger.js"),a=n("./src/mermaidAPI.js"),o=[],s={},c={},u={},l={},h=function(t,e,n){a.default.parseDirective(this,t,e,n)};e.default={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},parseDirective:h,getConfig:function(){return r.getConfig().req},addRequirement:function(t,e){return void 0===c[t]&&(c[t]={name:t,type:e,id:s.id,text:s.text,risk:s.risk,verifyMethod:s.verifyMethod}),s={},c[t]},getRequirements:function(){return c},setNewReqId:function(t){void 0!==s&&(s.id=t)},setNewReqText:function(t){void 0!==s&&(s.text=t)},setNewReqRisk:function(t){void 0!==s&&(s.risk=t)},setNewReqVerifyMethod:function(t){void 0!==s&&(s.verifyMethod=t)},addElement:function(t){return void 0===l[t]&&(l[t]={name:t,type:u.type,docRef:u.docRef},i.log.info("Added new requirement: ",t)),u={},l[t]},getElements:function(){return l},setNewElementType:function(t){void 0!==u&&(u.type=t)},setNewElementDocRef:function(t){void 0!==u&&(u.docRef=t)},addRelationship:function(t,e,n){o.push({type:t,src:e,dst:n})},getRelationships:function(){return o},clear:function(){o=[],s={},c={},u={},l={}}}},"./src/diagrams/requirement/requirementMarkers.js":function(t,e,n){"use strict";n.r(e);var r={CONTAINS:"contains",ARROW:"arrow"};e.default={ReqMarkers:r,insertLineEndings:function(t,e){var n=t.append("defs").append("marker").attr("id",r.CONTAINS+"_line_ending").attr("refX",0).attr("refY",e.line_height/2).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("g");n.append("circle").attr("cx",e.line_height/2).attr("cy",e.line_height/2).attr("r",e.line_height/2).attr("fill","none"),n.append("line").attr("x1",0).attr("x2",e.line_height).attr("y1",e.line_height/2).attr("y2",e.line_height/2).attr("stroke-width",1),n.append("line").attr("y1",0).attr("y2",e.line_height).attr("x1",e.line_height/2).attr("x2",e.line_height/2).attr("stroke-width",1),t.append("defs").append("marker").attr("id",r.ARROW+"_line_ending").attr("refX",e.line_height).attr("refY",.5*e.line_height).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("path").attr("d","M0,0\n L".concat(e.line_height,",").concat(e.line_height/2,"\n M").concat(e.line_height,",").concat(e.line_height/2,"\n L0,").concat(e.line_height)).attr("stroke-width",1)}}},"./src/diagrams/requirement/requirementRenderer.js":function(t,e,n){"use strict";n.r(e),n.d(e,"setConf",(function(){return y})),n.d(e,"drawReqs",(function(){return _})),n.d(e,"drawElements",(function(){return k})),n.d(e,"draw",(function(){return E}));var r=n("d3"),i=n("dagre"),a=n.n(i),o=n("graphlib"),s=n.n(o),c=n("./src/logger.js"),u=n("./src/utils.js"),l=n("./src/diagrams/common/common.js"),h=n("./src/diagrams/requirement/parser/requirementDiagram.jison"),f=n("./src/diagrams/requirement/requirementDb.js"),d=n("./src/diagrams/requirement/requirementMarkers.js"),p={},g=0,y=function(t){if(void 0!==t)for(var e=Object.keys(t),n=0;n<e.length;n++)p[e[n]]=t[e[n]]},m=function(t,e){return t.insert("rect","#"+e).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",p.rect_min_width+"px").attr("height",p.rect_min_height+"px")},v=function(t,e,n){var r=p.rect_min_width/2,i=t.append("text").attr("class","req reqLabel reqTitle").attr("id",e).attr("x",r).attr("y",p.rect_padding).attr("dominant-baseline","hanging"),a=0;n.forEach((function(t){0==a?i.append("tspan").attr("text-anchor","middle").attr("x",p.rect_min_width/2).attr("dy",0).text(t):i.append("tspan").attr("text-anchor","middle").attr("x",p.rect_min_width/2).attr("dy",.75*p.line_height).text(t),a++}));var o=1.5*p.rect_padding+a*p.line_height*.75;return t.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",p.rect_min_width).attr("y1",o).attr("y2",o),{titleNode:i,y:o}},b=function(t,e,n,r){var i=t.append("text").attr("class","req reqLabel").attr("id",e).attr("x",p.rect_padding).attr("y",r).attr("dominant-baseline","hanging"),a=0,o=[];return n.forEach((function(t){for(var e=t.length;e>30&&a<3;){var n=t.substring(0,30);e=(t=t.substring(30,t.length)).length,o[o.length]=n,a++}if(3==a){var r=o[o.length-1];o[o.length-1]=r.substring(0,r.length-4)+"..."}else o[o.length]=t;a=0})),o.forEach((function(t){i.append("tspan").attr("x",p.rect_padding).attr("dy",p.line_height).text(t)})),i},x=function(t,e,n,i){var a=n.edge(w(e.src),w(e.dst)),o=Object(r.line)().x((function(t){return t.x})).y((function(t){return t.y})),s=t.insert("path","#"+i).attr("class","er relationshipLine").attr("d",o(a.points)).attr("fill","none");e.type==f.default.Relationships.CONTAINS?s.attr("marker-start","url("+l.default.getUrl(p.arrowMarkerAbsolute)+"#"+e.type+"_line_ending)"):(s.attr("stroke-dasharray","10,7"),s.attr("marker-end","url("+l.default.getUrl(p.arrowMarkerAbsolute)+"#"+d.default.ReqMarkers.ARROW+"_line_ending)")),function(t,e,n,r){var i=e.node().getTotalLength(),a=e.node().getPointAtLength(.5*i),o="rel"+g;g++;var s=t.append("text").attr("class","req relationshipLabel").attr("id",o).attr("x",a.x).attr("y",a.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(r).node().getBBox();t.insert("rect","#"+o).attr("class","req reqLabelBox").attr("x",a.x-s.width/2).attr("y",a.y-s.height/2).attr("width",s.width).attr("height",s.height).attr("fill","white").attr("fill-opacity","85%")}(t,s,0,"<<".concat(e.type,">>"))},_=function(t,e,n){Object.keys(t).forEach((function(r){var i=t[r];r=w(r),c.log.info("Added new requirement: ",r);var a=n.append("g").attr("id",r),o=m(a,"req-"+r),s=[],u=v(a,r+"_title",["<<".concat(i.type,">>"),"".concat(i.name)]);s.push(u.titleNode);var l=b(a,r+"_body",["Id: ".concat(i.id),"Text: ".concat(i.text),"Risk: ".concat(i.risk),"Verification: ".concat(i.verifyMethod)],u.y);s.push(l);var h=o.node().getBBox();e.setNode(r,{width:h.width,height:h.height,shape:"rect",id:r})}))},k=function(t,e,n){Object.keys(t).forEach((function(r){var i=t[r],a=w(r),o=n.append("g").attr("id",a),s="element-"+a,c=m(o,s),u=[],l=v(o,s+"_title",["<<Element>>","".concat(r)]);u.push(l.titleNode);var h=b(o,s+"_body",["Type: ".concat(i.type||"Not Specified"),"Doc Ref: ".concat(i.docRef||"None")],l.y);u.push(h);var f=c.node().getBBox();e.setNode(a,{width:f.width,height:f.height,shape:"rect",id:a})}))},w=function(t){return t.replace(/\s/g,"").replace(/\./g,"_")},E=function(t,e){h.parser.yy=f.default,h.parser.yy.clear(),h.parser.parse(t);var n=Object(r.select)("[id='".concat(e,"']"));d.default.insertLineEndings(n,p);var i,o,c=new s.a.Graph({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:p.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return{}})),l=f.default.getRequirements(),g=f.default.getElements(),y=f.default.getRelationships();_(l,c,n),k(g,c,n),function(t,e){t.forEach((function(t){var n=w(t.src),r=w(t.dst);e.setEdge(n,r,{relationship:t})}))}(y,c),a.a.layout(c),i=n,(o=c).nodes().forEach((function(t){void 0!==t&&void 0!==o.node(t)&&(i.select("#"+t),i.select("#"+t).attr("transform","translate("+(o.node(t).x-o.node(t).width/2)+","+(o.node(t).y-o.node(t).height/2)+" )"))})),y.forEach((function(t){x(n,t,c,e)}));var m=p.rect_padding,v=n.node().getBBox(),b=v.width+2*m,E=v.height+2*m;Object(u.configureSvgSize)(n,E,b,p.useMaxWidth),n.attr("viewBox","".concat(v.x-m," ").concat(v.y-m," ").concat(b," ").concat(E))};e.default={setConf:y,draw:E}},"./src/diagrams/requirement/styles.js":function(t,e,n){"use strict";n.r(e),e.default=function(t){return"\n\n marker {\n fill: ".concat(t.relationColor,";\n stroke: ").concat(t.relationColor,";\n }\n\n marker.cross {\n stroke: ").concat(t.lineColor,";\n }\n\n svg {\n font-family: ").concat(t.fontFamily,";\n font-size: ").concat(t.fontSize,";\n }\n\n .reqBox {\n fill: ").concat(t.requirementBackground,";\n fill-opacity: 100%;\n stroke: ").concat(t.requirementBorderColor,";\n stroke-width: ").concat(t.requirementBorderSize,";\n }\n \n .reqTitle, .reqLabel{\n fill: ").concat(t.requirementTextColor,";\n }\n .reqLabelBox {\n fill: ").concat(t.relationLabelBackground,";\n fill-opacity: 100%;\n }\n\n .req-title-line {\n stroke: ").concat(t.requirementBorderColor,";\n stroke-width: ").concat(t.requirementBorderSize,";\n }\n .relationshipLine {\n stroke: ").concat(t.relationColor,";\n stroke-width: 1;\n }\n .relationshipLabel {\n fill: ").concat(t.relationLabelColor,";\n }\n\n")}},"./src/diagrams/sequence/parser/sequenceDiagram.jison":function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,2],n=[1,3],r=[1,5],i=[1,7],a=[2,5],o=[1,15],s=[1,17],c=[1,18],u=[1,20],l=[1,21],h=[1,22],f=[1,24],d=[1,25],p=[1,26],g=[1,27],y=[1,28],m=[1,29],v=[1,32],b=[1,33],x=[1,36],_=[1,4,5,16,21,22,23,25,27,28,29,30,31,33,35,36,37,48,58],k=[1,44],w=[4,5,16,21,22,23,25,27,28,29,30,31,33,37,48,58],E=[4,5,16,21,22,23,25,27,28,29,30,31,33,36,37,48,58],T=[4,5,16,21,22,23,25,27,28,29,30,31,33,35,37,48,58],C=[46,47,48],S=[1,4,5,7,16,21,22,23,25,27,28,29,30,31,33,35,36,37,48,58],A={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,directive:6,SD:7,document:8,line:9,statement:10,openDirective:11,typeDirective:12,closeDirective:13,":":14,argDirective:15,participant:16,actor:17,AS:18,restOfLine:19,signal:20,autonumber:21,activate:22,deactivate:23,note_statement:24,title:25,text2:26,loop:27,end:28,rect:29,opt:30,alt:31,else_sections:32,par:33,par_sections:34,and:35,else:36,note:37,placement:38,over:39,actor_pair:40,spaceList:41,",":42,left_of:43,right_of:44,signaltype:45,"+":46,"-":47,ACTOR:48,SOLID_OPEN_ARROW:49,DOTTED_OPEN_ARROW:50,SOLID_ARROW:51,DOTTED_ARROW:52,SOLID_CROSS:53,DOTTED_CROSS:54,SOLID_POINT:55,DOTTED_POINT:56,TXT:57,open_directive:58,type_directive:59,arg_directive:60,close_directive:61,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",7:"SD",14:":",16:"participant",18:"AS",19:"restOfLine",21:"autonumber",22:"activate",23:"deactivate",25:"title",27:"loop",28:"end",29:"rect",30:"opt",31:"alt",33:"par",35:"and",36:"else",37:"note",39:"over",42:",",43:"left_of",44:"right_of",46:"+",47:"-",48:"ACTOR",49:"SOLID_OPEN_ARROW",50:"DOTTED_OPEN_ARROW",51:"SOLID_ARROW",52:"DOTTED_ARROW",53:"SOLID_CROSS",54:"DOTTED_CROSS",55:"SOLID_POINT",56:"DOTTED_POINT",57:"TXT",58:"open_directive",59:"type_directive",60:"arg_directive",61:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[6,4],[6,6],[10,5],[10,3],[10,2],[10,1],[10,3],[10,3],[10,2],[10,3],[10,4],[10,4],[10,4],[10,4],[10,4],[10,1],[34,1],[34,4],[32,1],[32,4],[24,4],[24,4],[41,2],[41,1],[40,3],[40,1],[38,1],[38,1],[20,5],[20,5],[20,4],[17,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[26,1],[11,1],[12,1],[15,1],[13,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 4:return r.apply(a[s]),a[s];case 5:case 9:this.$=[];break;case 6:a[s-1].push(a[s]),this.$=a[s-1];break;case 7:case 8:case 35:this.$=a[s];break;case 12:a[s-3].description=r.parseMessage(a[s-1]),this.$=a[s-3];break;case 13:this.$=a[s-1];break;case 15:r.enableSequenceNumbers();break;case 16:this.$={type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:a[s-1]};break;case 17:this.$={type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:a[s-1]};break;case 19:this.$=[{type:"setTitle",text:a[s-1]}];break;case 20:a[s-1].unshift({type:"loopStart",loopText:r.parseMessage(a[s-2]),signalType:r.LINETYPE.LOOP_START}),a[s-1].push({type:"loopEnd",loopText:a[s-2],signalType:r.LINETYPE.LOOP_END}),this.$=a[s-1];break;case 21:a[s-1].unshift({type:"rectStart",color:r.parseMessage(a[s-2]),signalType:r.LINETYPE.RECT_START}),a[s-1].push({type:"rectEnd",color:r.parseMessage(a[s-2]),signalType:r.LINETYPE.RECT_END}),this.$=a[s-1];break;case 22:a[s-1].unshift({type:"optStart",optText:r.parseMessage(a[s-2]),signalType:r.LINETYPE.OPT_START}),a[s-1].push({type:"optEnd",optText:r.parseMessage(a[s-2]),signalType:r.LINETYPE.OPT_END}),this.$=a[s-1];break;case 23:a[s-1].unshift({type:"altStart",altText:r.parseMessage(a[s-2]),signalType:r.LINETYPE.ALT_START}),a[s-1].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=a[s-1];break;case 24:a[s-1].unshift({type:"parStart",parText:r.parseMessage(a[s-2]),signalType:r.LINETYPE.PAR_START}),a[s-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=a[s-1];break;case 27:this.$=a[s-3].concat([{type:"and",parText:r.parseMessage(a[s-1]),signalType:r.LINETYPE.PAR_AND},a[s]]);break;case 29:this.$=a[s-3].concat([{type:"else",altText:r.parseMessage(a[s-1]),signalType:r.LINETYPE.ALT_ELSE},a[s]]);break;case 30:this.$=[a[s-1],{type:"addNote",placement:a[s-2],actor:a[s-1].actor,text:a[s]}];break;case 31:a[s-2]=[].concat(a[s-1],a[s-1]).slice(0,2),a[s-2][0]=a[s-2][0].actor,a[s-2][1]=a[s-2][1].actor,this.$=[a[s-1],{type:"addNote",placement:r.PLACEMENT.OVER,actor:a[s-2].slice(0,2),text:a[s]}];break;case 34:this.$=[a[s-2],a[s]];break;case 36:this.$=r.PLACEMENT.LEFTOF;break;case 37:this.$=r.PLACEMENT.RIGHTOF;break;case 38:this.$=[a[s-4],a[s-1],{type:"addMessage",from:a[s-4].actor,to:a[s-1].actor,signalType:a[s-3],msg:a[s]},{type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:a[s-1]}];break;case 39:this.$=[a[s-4],a[s-1],{type:"addMessage",from:a[s-4].actor,to:a[s-1].actor,signalType:a[s-3],msg:a[s]},{type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:a[s-4]}];break;case 40:this.$=[a[s-3],a[s-1],{type:"addMessage",from:a[s-3].actor,to:a[s-1].actor,signalType:a[s-2],msg:a[s]}];break;case 41:this.$={type:"addActor",actor:a[s]};break;case 42:this.$=r.LINETYPE.SOLID_OPEN;break;case 43:this.$=r.LINETYPE.DOTTED_OPEN;break;case 44:this.$=r.LINETYPE.SOLID;break;case 45:this.$=r.LINETYPE.DOTTED;break;case 46:this.$=r.LINETYPE.SOLID_CROSS;break;case 47:this.$=r.LINETYPE.DOTTED_CROSS;break;case 48:this.$=r.LINETYPE.SOLID_POINT;break;case 49:this.$=r.LINETYPE.DOTTED_POINT;break;case 50:this.$=r.parseMessage(a[s].trim().substring(1));break;case 51:r.parseDirective("%%{","open_directive");break;case 52:r.parseDirective(a[s],"type_directive");break;case 53:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 54:r.parseDirective("}%%","close_directive","sequence")}},table:[{3:1,4:e,5:n,6:4,7:r,11:6,58:i},{1:[3]},{3:8,4:e,5:n,6:4,7:r,11:6,58:i},{3:9,4:e,5:n,6:4,7:r,11:6,58:i},{3:10,4:e,5:n,6:4,7:r,11:6,58:i},t([1,4,5,16,21,22,23,25,27,29,30,31,33,37,48,58],a,{8:11}),{12:12,59:[1,13]},{59:[2,51]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:o,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:h,24:23,25:f,27:d,29:p,30:g,31:y,33:m,37:v,48:b,58:i},{13:34,14:[1,35],61:x},t([14,61],[2,52]),t(_,[2,6]),{6:30,10:37,11:6,16:c,17:31,20:19,21:u,22:l,23:h,24:23,25:f,27:d,29:p,30:g,31:y,33:m,37:v,48:b,58:i},t(_,[2,8]),t(_,[2,9]),{17:38,48:b},{5:[1,39]},t(_,[2,15]),{17:40,48:b},{17:41,48:b},{5:[1,42]},{26:43,57:k},{19:[1,45]},{19:[1,46]},{19:[1,47]},{19:[1,48]},{19:[1,49]},t(_,[2,25]),{45:50,49:[1,51],50:[1,52],51:[1,53],52:[1,54],53:[1,55],54:[1,56],55:[1,57],56:[1,58]},{38:59,39:[1,60],43:[1,61],44:[1,62]},t([5,18,42,49,50,51,52,53,54,55,56,57],[2,41]),{5:[1,63]},{15:64,60:[1,65]},{5:[2,54]},t(_,[2,7]),{5:[1,67],18:[1,66]},t(_,[2,14]),{5:[1,68]},{5:[1,69]},t(_,[2,18]),{5:[1,70]},{5:[2,50]},t(w,a,{8:71}),t(w,a,{8:72}),t(w,a,{8:73}),t(E,a,{32:74,8:75}),t(T,a,{34:76,8:77}),{17:80,46:[1,78],47:[1,79],48:b},t(C,[2,42]),t(C,[2,43]),t(C,[2,44]),t(C,[2,45]),t(C,[2,46]),t(C,[2,47]),t(C,[2,48]),t(C,[2,49]),{17:81,48:b},{17:83,40:82,48:b},{48:[2,36]},{48:[2,37]},t(S,[2,10]),{13:84,61:x},{61:[2,53]},{19:[1,85]},t(_,[2,13]),t(_,[2,16]),t(_,[2,17]),t(_,[2,19]),{4:o,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:h,24:23,25:f,27:d,28:[1,86],29:p,30:g,31:y,33:m,37:v,48:b,58:i},{4:o,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:h,24:23,25:f,27:d,28:[1,87],29:p,30:g,31:y,33:m,37:v,48:b,58:i},{4:o,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:h,24:23,25:f,27:d,28:[1,88],29:p,30:g,31:y,33:m,37:v,48:b,58:i},{28:[1,89]},{4:o,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:h,24:23,25:f,27:d,28:[2,28],29:p,30:g,31:y,33:m,36:[1,90],37:v,48:b,58:i},{28:[1,91]},{4:o,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:h,24:23,25:f,27:d,28:[2,26],29:p,30:g,31:y,33:m,35:[1,92],37:v,48:b,58:i},{17:93,48:b},{17:94,48:b},{26:95,57:k},{26:96,57:k},{26:97,57:k},{42:[1,98],57:[2,35]},{5:[1,99]},{5:[1,100]},t(_,[2,20]),t(_,[2,21]),t(_,[2,22]),t(_,[2,23]),{19:[1,101]},t(_,[2,24]),{19:[1,102]},{26:103,57:k},{26:104,57:k},{5:[2,40]},{5:[2,30]},{5:[2,31]},{17:105,48:b},t(S,[2,11]),t(_,[2,12]),t(E,a,{8:75,32:106}),t(T,a,{8:77,34:107}),{5:[2,38]},{5:[2,39]},{57:[2,34]},{28:[2,29]},{28:[2,27]}],defaultActions:{7:[2,51],8:[2,1],9:[2,2],10:[2,3],36:[2,54],44:[2,50],61:[2,36],62:[2,37],65:[2,53],95:[2,40],96:[2,30],97:[2,31],103:[2,38],104:[2,39],105:[2,34],106:[2,29],107:[2,27]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var v=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,O={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var M="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");M=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(M,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],O.$=i[i.length-C],O._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},v&&(O._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(O,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(O.$),a.push(O._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},O={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),58;case 1:return this.begin("type_directive"),59;case 2:return this.popState(),this.begin("arg_directive"),14;case 3:return this.popState(),this.popState(),61;case 4:return 60;case 5:case 34:case 47:return 5;case 6:case 7:case 8:case 9:case 10:break;case 11:return this.begin("ID"),16;case 12:return e.yytext=e.yytext.trim(),this.begin("ALIAS"),48;case 13:return this.popState(),this.popState(),this.begin("LINE"),18;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),27;case 16:return this.begin("LINE"),29;case 17:return this.begin("LINE"),30;case 18:return this.begin("LINE"),31;case 19:return this.begin("LINE"),36;case 20:return this.begin("LINE"),33;case 21:return this.begin("LINE"),35;case 22:return this.popState(),19;case 23:return 28;case 24:return 43;case 25:return 44;case 26:return 39;case 27:return 37;case 28:return this.begin("ID"),22;case 29:return this.begin("ID"),23;case 30:return 25;case 31:return 7;case 32:return 21;case 33:return 42;case 35:return e.yytext=e.yytext.trim(),48;case 36:return 51;case 37:return 52;case 38:return 49;case 39:return 50;case 40:return 53;case 41:return 54;case 42:return 55;case 43:return 56;case 44:return 57;case 45:return 46;case 46:return 47;case 48:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:participant\b)/i,/^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{open_directive:{rules:[1,8],inclusive:!1},type_directive:{rules:[2,3,8],inclusive:!1},arg_directive:{rules:[3,4,8],inclusive:!1},ID:{rules:[7,8,12],inclusive:!1},ALIAS:{rules:[7,8,13,14],inclusive:!1},LINE:{rules:[7,8,22],inclusive:!1},INITIAL:{rules:[0,5,6,8,9,10,11,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};function M(){this.yy={}}return A.lexer=O,M.prototype=A,A.Parser=M,new M}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n("./node_modules/node-libs-browser/mock/empty.js").readFileSync(n("./node_modules/path-browserify/index.js").normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n("./node_modules/process/browser.js"),n("./node_modules/webpack/buildin/module.js")(t))},"./src/diagrams/sequence/sequenceDb.js":function(t,e,n){"use strict";n.r(e),n.d(e,"parseDirective",(function(){return p})),n.d(e,"addActor",(function(){return g})),n.d(e,"addMessage",(function(){return m})),n.d(e,"addSignal",(function(){return v})),n.d(e,"getMessages",(function(){return b})),n.d(e,"getActors",(function(){return x})),n.d(e,"getActor",(function(){return _})),n.d(e,"getActorKeys",(function(){return k})),n.d(e,"getTitle",(function(){return w})),n.d(e,"getTitleWrapped",(function(){return E})),n.d(e,"enableSequenceNumbers",(function(){return T})),n.d(e,"showSequenceNumbers",(function(){return C})),n.d(e,"setWrap",(function(){return S})),n.d(e,"autoWrap",(function(){return A})),n.d(e,"clear",(function(){return O})),n.d(e,"parseMessage",(function(){return M})),n.d(e,"LINETYPE",(function(){return j})),n.d(e,"ARROWTYPE",(function(){return D})),n.d(e,"PLACEMENT",(function(){return N})),n.d(e,"addNote",(function(){return B})),n.d(e,"setTitle",(function(){return L})),n.d(e,"apply",(function(){return I}));var r=n("./src/mermaidAPI.js"),i=n("./src/config.js"),a=n("./src/logger.js"),o=void 0,s={},c=[],u=[],l="",h=!1,f=!1,d=!1,p=function(t,e,n){r.default.parseDirective(this,t,e,n)},g=function(t,e,n){var r=s[t];r&&e===r.name&&null==n||(null!=n&&null!=n.text||(n={text:e,wrap:null}),s[t]={name:e,description:n.text,wrap:void 0===n.wrap&&A()||!!n.wrap,prevActor:o},o&&s[o]&&(s[o].nextActor=t),o=t)},y=function(t){var e,n=0;for(e=0;e<c.length;e++)c[e].type===j.ACTIVE_START&&c[e].from.actor===t&&n++,c[e].type===j.ACTIVE_END&&c[e].from.actor===t&&n--;return n},m=function(t,e,n,r){c.push({from:t,to:e,message:n.text,wrap:void 0===n.wrap&&A()||!!n.wrap,answer:r})},v=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{text:void 0,wrap:void 0},r=arguments.length>3?arguments[3]:void 0;if(r===j.ACTIVE_END){var i=y(t.actor);if(i<1){var a=new Error("Trying to inactivate an inactive participant ("+t.actor+")");throw a.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},a}}return c.push({from:t,to:e,message:n.text,wrap:void 0===n.wrap&&A()||!!n.wrap,type:r}),!0},b=function(){return c},x=function(){return s},_=function(t){return s[t]},k=function(){return Object.keys(s)},w=function(){return l},E=function(){return h},T=function(){f=!0},C=function(){return f},S=function(t){d=t},A=function(){return d},O=function(){s={},c=[]},M=function(t){var e=t.trim(),n={text:e.replace(/^[:]?(?:no)?wrap:/,"").trim(),wrap:null!==e.match(/^[:]?wrap:/)||null===e.match(/^[:]?nowrap:/)&&void 0};return a.log.debug("parseMessage:",n),n},j={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},D={FILLED:0,OPEN:1},N={LEFTOF:0,RIGHTOF:1,OVER:2},B=function(t,e,n){var r={actor:t,placement:e,message:n.text,wrap:void 0===n.wrap&&A()||!!n.wrap},i=[].concat(t,t);u.push(r),c.push({from:i[0],to:i[1],message:n.text,wrap:void 0===n.wrap&&A()||!!n.wrap,type:j.NOTE,placement:e})},L=function(t){l=t.text,h=void 0===t.wrap&&A()||!!t.wrap},I=function t(e){if(e instanceof Array)e.forEach((function(e){t(e)}));else switch(e.type){case"addActor":g(e.actor,e.actor,e.description);break;case"activeStart":case"activeEnd":v(e.actor,void 0,void 0,e.signalType);break;case"addNote":B(e.actor,e.placement,e.text);break;case"addMessage":v(e.from,e.to,e.msg,e.signalType);break;case"loopStart":v(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":case"rectEnd":case"optEnd":case"altEnd":case"parEnd":v(void 0,void 0,void 0,e.signalType);break;case"rectStart":v(void 0,void 0,e.color,e.signalType);break;case"optStart":v(void 0,void 0,e.optText,e.signalType);break;case"altStart":case"else":v(void 0,void 0,e.altText,e.signalType);break;case"setTitle":L(e.text);break;case"parStart":case"and":v(void 0,void 0,e.parText,e.signalType)}};e.default={addActor:g,addMessage:m,addSignal:v,autoWrap:A,setWrap:S,enableSequenceNumbers:T,showSequenceNumbers:C,getMessages:b,getActors:x,getActor:_,getActorKeys:k,getTitle:w,parseDirective:p,getConfig:function(){return i.getConfig().sequence},getTitleWrapped:E,clear:O,parseMessage:M,LINETYPE:j,ARROWTYPE:D,PLACEMENT:N,addNote:B,setTitle:L,apply:I}},"./src/diagrams/sequence/sequenceRenderer.js":function(t,e,n){"use strict";n.r(e),n.d(e,"bounds",(function(){return f})),n.d(e,"drawActors",(function(){return y})),n.d(e,"setConf",(function(){return m})),n.d(e,"draw",(function(){return _}));var r=n("d3"),i=n("./src/diagrams/sequence/svgDraw.js"),a=n("./src/logger.js"),o=n("./src/diagrams/sequence/parser/sequenceDiagram.jison"),s=n("./src/diagrams/common/common.js"),c=n("./src/diagrams/sequence/sequenceDb.js"),u=n("./src/config.js"),l=n("./src/utils.js");o.parser.yy=c.default;var h={},f={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:function(){return Math.max.apply(null,0===this.actors.length?[0]:this.actors.map((function(t){return t.height||0})))+(0===this.loops.length?0:this.loops.map((function(t){return t.height||0})).reduce((function(t,e){return t+e})))+(0===this.messages.length?0:this.messages.map((function(t){return t.height||0})).reduce((function(t,e){return t+e})))+(0===this.notes.length?0:this.notes.map((function(t){return t.height||0})).reduce((function(t,e){return t+e})))},clear:function(){this.actors=[],this.loops=[],this.messages=[],this.notes=[]},addActor:function(t){this.actors.push(t)},addLoop:function(t){this.loops.push(t)},addMessage:function(t){this.messages.push(t)},addNote:function(t){this.notes.push(t)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,m(o.parser.yy.getConfig())},updateVal:function(t,e,n,r){void 0===t[e]?t[e]=n:t[e]=r(n,t[e])},updateBounds:function(t,e,n,r){var i=this,a=0;function o(o){return function(s){a++;var c=i.sequenceItems.length-a+1;i.updateVal(s,"starty",e-c*h.boxMargin,Math.min),i.updateVal(s,"stopy",r+c*h.boxMargin,Math.max),i.updateVal(f.data,"startx",t-c*h.boxMargin,Math.min),i.updateVal(f.data,"stopx",n+c*h.boxMargin,Math.max),"activation"!==o&&(i.updateVal(s,"startx",t-c*h.boxMargin,Math.min),i.updateVal(s,"stopx",n+c*h.boxMargin,Math.max),i.updateVal(f.data,"starty",e-c*h.boxMargin,Math.min),i.updateVal(f.data,"stopy",r+c*h.boxMargin,Math.max))}}this.sequenceItems.forEach(o()),this.activations.forEach(o("activation"))},insert:function(t,e,n,r){var i=Math.min(t,n),a=Math.max(t,n),o=Math.min(e,r),s=Math.max(e,r);this.updateVal(f.data,"startx",i,Math.min),this.updateVal(f.data,"starty",o,Math.min),this.updateVal(f.data,"stopx",a,Math.max),this.updateVal(f.data,"stopy",s,Math.max),this.updateBounds(i,o,a,s)},newActivation:function(t,e,n){var r=n[t.from.actor],a=v(t.from.actor).length||0,o=r.x+r.width/2+(a-1)*h.activationWidth/2;this.activations.push({startx:o,starty:this.verticalPos+2,stopx:o+h.activationWidth,stopy:void 0,actor:t.from.actor,anchored:i.default.anchorElement(e)})},endActivation:function(t){var e=this.activations.map((function(t){return t.actor})).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},createLoop:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{message:void 0,wrap:!1,width:void 0},e=arguments.length>1?arguments[1]:void 0;return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},newLoop:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{message:void 0,wrap:!1,width:void 0},e=arguments.length>1?arguments[1]:void 0;this.sequenceItems.push(this.createLoop(t,e))},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(t){var e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:f.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},d=function(t){return{fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}},p=function(t){return{fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}},g=function(t){return{fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}},y=function(t,e,n,r){for(var a=0,o=0,s=0;s<n.length;s++){var c=e[n[s]];c.width=c.width||h.width,c.height=Math.max(c.height||h.height,h.height),c.margin=c.margin||h.actorMargin,c.x=a+o,c.y=r,i.default.drawActor(t,c,h),f.insert(c.x,r,c.x+c.width,c.height),a+=c.width,o+=c.margin,f.models.addActor(c)}f.bumpVerticalPos(h.height)},m=function(t){Object(l.assignWithDepth)(h,t),t.fontFamily&&(h.actorFontFamily=h.noteFontFamily=h.messageFontFamily=t.fontFamily),t.fontSize&&(h.actorFontSize=h.noteFontSize=h.messageFontSize=t.fontSize),t.fontWeight&&(h.actorFontWeight=h.noteFontWeight=h.messageFontWeight=t.fontWeight)},v=function(t){return f.activations.filter((function(e){return e.actor===t}))},b=function(t,e){var n=e[t],r=v(t);return[r.reduce((function(t,e){return Math.min(t,e.startx)}),n.x+n.width/2),r.reduce((function(t,e){return Math.max(t,e.stopx)}),n.x+n.width/2)]};function x(t,e,n,r,i){f.bumpVerticalPos(n);var o=r;if(e.id&&e.message&&t[e.id]){var s=t[e.id].width,c=d(h);e.message=l.default.wrapLabel("[".concat(e.message,"]"),s-2*h.wrapPadding,c),e.width=s,e.wrap=!0;var u=l.default.calculateTextDimensions(e.message,c),p=Math.max(u.height,h.labelBoxHeight);o=r+p,a.log.debug("".concat(p," - ").concat(e.message))}i(e),f.bumpVerticalPos(o)}var _=function(t,e){h=u.getConfig().sequence,o.parser.yy.clear(),o.parser.yy.setWrap(h.wrap),o.parser.parse(t+"\n"),f.init(),a.log.debug("C:".concat(JSON.stringify(h,null,2)));var n=Object(r.select)('[id="'.concat(e,'"]')),p=o.parser.yy.getActors(),g=o.parser.yy.getActorKeys(),m=o.parser.yy.getMessages(),b=o.parser.yy.getTitle(),_=k(p,m);h.height=w(p,_),y(n,p,g,0);var T=E(m,p,_);i.default.insertArrowHead(n),i.default.insertArrowCrossHead(n),i.default.insertArrowFilledHead(n),i.default.insertSequenceNumber(n);var C=1;m.forEach((function(t){var e,r,u;switch(t.type){case o.parser.yy.LINETYPE.NOTE:r=t.noteModel,function(t,e){f.bumpVerticalPos(h.boxMargin),e.height=h.boxMargin,e.starty=f.getVerticalPos();var n=i.default.getNoteRect();n.x=e.startx,n.y=e.starty,n.width=e.width||h.width,n.class="note";var r=t.append("g"),a=i.default.drawRect(r,n),o=i.default.getTextObj();o.x=e.startx,o.y=e.starty,o.width=n.width,o.dy="1em",o.text=e.message,o.class="noteText",o.fontFamily=h.noteFontFamily,o.fontSize=h.noteFontSize,o.fontWeight=h.noteFontWeight,o.anchor=h.noteAlign,o.textMargin=h.noteMargin,o.valign=h.noteAlign;var s=Object(i.drawText)(r,o),c=Math.round(s.map((function(t){return(t._groups||t)[0][0].getBBox().height})).reduce((function(t,e){return t+e})));a.attr("height",c+2*h.noteMargin),e.height+=c+2*h.noteMargin,f.bumpVerticalPos(c+2*h.noteMargin),e.stopy=e.starty+c+2*h.noteMargin,e.stopx=e.startx+n.width,f.insert(e.startx,e.starty,e.stopx,e.stopy),f.models.addNote(e)}(n,r);break;case o.parser.yy.LINETYPE.ACTIVE_START:f.newActivation(t,n,p);break;case o.parser.yy.LINETYPE.ACTIVE_END:!function(t,e){var r=f.endActivation(t);r.starty+18>e&&(r.starty=e-6,e+=12),i.default.drawActivation(n,r,e,h,v(t.from.actor).length),f.insert(r.startx,e-10,r.stopx,e)}(t,f.getVerticalPos());break;case o.parser.yy.LINETYPE.LOOP_START:x(T,t,h.boxMargin,h.boxMargin+h.boxTextMargin,(function(t){return f.newLoop(t)}));break;case o.parser.yy.LINETYPE.LOOP_END:e=f.endLoop(),i.default.drawLoop(n,e,"loop",h),f.bumpVerticalPos(e.stopy-f.getVerticalPos()),f.models.addLoop(e);break;case o.parser.yy.LINETYPE.RECT_START:x(T,t,h.boxMargin,h.boxMargin,(function(t){return f.newLoop(void 0,t.message)}));break;case o.parser.yy.LINETYPE.RECT_END:e=f.endLoop(),i.default.drawBackgroundRect(n,e),f.models.addLoop(e),f.bumpVerticalPos(e.stopy-f.getVerticalPos());break;case o.parser.yy.LINETYPE.OPT_START:x(T,t,h.boxMargin,h.boxMargin+h.boxTextMargin,(function(t){return f.newLoop(t)}));break;case o.parser.yy.LINETYPE.OPT_END:e=f.endLoop(),i.default.drawLoop(n,e,"opt",h),f.bumpVerticalPos(e.stopy-f.getVerticalPos()),f.models.addLoop(e);break;case o.parser.yy.LINETYPE.ALT_START:x(T,t,h.boxMargin,h.boxMargin+h.boxTextMargin,(function(t){return f.newLoop(t)}));break;case o.parser.yy.LINETYPE.ALT_ELSE:x(T,t,h.boxMargin+h.boxTextMargin,h.boxMargin,(function(t){return f.addSectionToLoop(t)}));break;case o.parser.yy.LINETYPE.ALT_END:e=f.endLoop(),i.default.drawLoop(n,e,"alt",h),f.bumpVerticalPos(e.stopy-f.getVerticalPos()),f.models.addLoop(e);break;case o.parser.yy.LINETYPE.PAR_START:x(T,t,h.boxMargin,h.boxMargin+h.boxTextMargin,(function(t){return f.newLoop(t)}));break;case o.parser.yy.LINETYPE.PAR_AND:x(T,t,h.boxMargin+h.boxTextMargin,h.boxMargin,(function(t){return f.addSectionToLoop(t)}));break;case o.parser.yy.LINETYPE.PAR_END:e=f.endLoop(),i.default.drawLoop(n,e,"par",h),f.bumpVerticalPos(e.stopy-f.getVerticalPos()),f.models.addLoop(e);break;default:try{(u=t.msgModel).starty=f.getVerticalPos(),u.sequenceIndex=C,function(t,e){f.bumpVerticalPos(10);var n=e.startx,r=e.stopx,a=e.starty,u=e.message,p=e.type,g=e.sequenceIndex,y=s.default.splitBreaks(u).length,m=l.default.calculateTextDimensions(u,d(h)),v=m.height/y;e.height+=v,f.bumpVerticalPos(v);var b=i.default.getTextObj();b.x=n,b.y=a+10,b.width=r-n,b.class="messageText",b.dy="1em",b.text=u,b.fontFamily=h.messageFontFamily,b.fontSize=h.messageFontSize,b.fontWeight=h.messageFontWeight,b.anchor=h.messageAlign,b.valign=h.messageAlign,b.textMargin=h.wrapPadding,b.tspan=!1,Object(i.drawText)(t,b);var x,_,k=m.height-10,w=m.width;if(n===r){_=f.getVerticalPos()+k,h.rightAngles?x=t.append("path").attr("d","M ".concat(n,",").concat(_," H ").concat(n+Math.max(h.width/2,w/2)," V ").concat(_+25," H ").concat(n)):(k+=h.boxMargin,_=f.getVerticalPos()+k,x=t.append("path").attr("d","M "+n+","+_+" C "+(n+60)+","+(_-10)+" "+(n+60)+","+(_+30)+" "+n+","+(_+20))),k+=30;var E=Math.max(w/2,h.width/2);f.insert(n-E,f.getVerticalPos()-10+k,r+E,f.getVerticalPos()+30+k)}else k+=h.boxMargin,_=f.getVerticalPos()+k,(x=t.append("line")).attr("x1",n),x.attr("y1",_),x.attr("x2",r),x.attr("y2",_),f.insert(n,_-10,r,_);p===o.parser.yy.LINETYPE.DOTTED||p===o.parser.yy.LINETYPE.DOTTED_CROSS||p===o.parser.yy.LINETYPE.DOTTED_POINT||p===o.parser.yy.LINETYPE.DOTTED_OPEN?(x.style("stroke-dasharray","3, 3"),x.attr("class","messageLine1")):x.attr("class","messageLine0");var T="";h.arrowMarkerAbsolute&&(T=(T=(T=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),x.attr("stroke-width",2),x.attr("stroke","none"),x.style("fill","none"),p!==o.parser.yy.LINETYPE.SOLID&&p!==o.parser.yy.LINETYPE.DOTTED||x.attr("marker-end","url("+T+"#arrowhead)"),p!==o.parser.yy.LINETYPE.SOLID_POINT&&p!==o.parser.yy.LINETYPE.DOTTED_POINT||x.attr("marker-end","url("+T+"#filled-head)"),p!==o.parser.yy.LINETYPE.SOLID_CROSS&&p!==o.parser.yy.LINETYPE.DOTTED_CROSS||x.attr("marker-end","url("+T+"#crosshead)"),(c.default.showSequenceNumbers()||h.showSequenceNumbers)&&(x.attr("marker-start","url("+T+"#sequencenumber)"),t.append("text").attr("x",n).attr("y",_+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("textLength","16px").attr("class","sequenceNumber").text(g)),f.bumpVerticalPos(k),e.height+=k,e.stopy=e.starty+e.height,f.insert(e.fromBounds,e.starty,e.toBounds,e.stopy)}(n,u),f.models.addMessage(u)}catch(g){a.log.error("error while drawing message",g)}}[o.parser.yy.LINETYPE.SOLID_OPEN,o.parser.yy.LINETYPE.DOTTED_OPEN,o.parser.yy.LINETYPE.SOLID,o.parser.yy.LINETYPE.DOTTED,o.parser.yy.LINETYPE.SOLID_CROSS,o.parser.yy.LINETYPE.DOTTED_CROSS,o.parser.yy.LINETYPE.SOLID_POINT,o.parser.yy.LINETYPE.DOTTED_POINT].includes(t.type)&&C++})),h.mirrorActors&&(f.bumpVerticalPos(2*h.boxMargin),y(n,p,g,f.getVerticalPos()));var S=f.getBounds().bounds;a.log.debug("For line height fix Querying: #"+e+" .actor-line"),Object(r.selectAll)("#"+e+" .actor-line").attr("y2",S.stopy);var A=S.stopy-S.starty+2*h.diagramMarginY;h.mirrorActors&&(A=A-h.boxMargin+h.bottomMarginAdj);var O=S.stopx-S.startx+2*h.diagramMarginX;b&&n.append("text").text(b).attr("x",(S.stopx-S.startx)/2-2*h.diagramMarginX).attr("y",-25),Object(l.configureSvgSize)(n,A,O,h.useMaxWidth);var M=b?40:0;n.attr("viewBox",S.startx-h.diagramMarginX+" -"+(h.diagramMarginY+M)+" "+O+" "+(A+M)),a.log.debug("models:",f.models)},k=function(t,e){var n={};return e.forEach((function(e){if(t[e.to]&&t[e.from]){var r=t[e.to];if(e.placement===o.parser.yy.PLACEMENT.LEFTOF&&!r.prevActor)return;if(e.placement===o.parser.yy.PLACEMENT.RIGHTOF&&!r.nextActor)return;var i=void 0!==e.placement,a=!i,s=i?p(h):d(h),c=e.wrap?l.default.wrapLabel(e.message,h.width-2*h.wrapPadding,s):e.message,u=l.default.calculateTextDimensions(c,s).width+2*h.wrapPadding;a&&e.from===r.nextActor?n[e.to]=Math.max(n[e.to]||0,u):a&&e.from===r.prevActor?n[e.from]=Math.max(n[e.from]||0,u):a&&e.from===e.to?(n[e.from]=Math.max(n[e.from]||0,u/2),n[e.to]=Math.max(n[e.to]||0,u/2)):e.placement===o.parser.yy.PLACEMENT.RIGHTOF?n[e.from]=Math.max(n[e.from]||0,u):e.placement===o.parser.yy.PLACEMENT.LEFTOF?n[r.prevActor]=Math.max(n[r.prevActor]||0,u):e.placement===o.parser.yy.PLACEMENT.OVER&&(r.prevActor&&(n[r.prevActor]=Math.max(n[r.prevActor]||0,u/2)),r.nextActor&&(n[e.from]=Math.max(n[e.from]||0,u/2)))}})),a.log.debug("maxMessageWidthPerActor:",n),n},w=function(t,e){var n=0;for(var r in Object.keys(t).forEach((function(e){var r=t[e];r.wrap&&(r.description=l.default.wrapLabel(r.description,h.width-2*h.wrapPadding,g(h)));var i=l.default.calculateTextDimensions(r.description,g(h));r.width=r.wrap?h.width:Math.max(h.width,i.width+2*h.wrapPadding),r.height=r.wrap?Math.max(i.height,h.height):h.height,n=Math.max(n,r.height)})),e){var i=t[r];if(i){var a=t[i.nextActor];if(a){var o=e[r]+h.actorMargin-i.width/2-a.width/2;i.margin=Math.max(o,h.actorMargin)}}}return Math.max(n,h.height)},E=function(t,e){var n,r,i,s={},c=[];return t.forEach((function(t){switch(t.id=l.default.random({length:10}),t.type){case o.parser.yy.LINETYPE.LOOP_START:case o.parser.yy.LINETYPE.ALT_START:case o.parser.yy.LINETYPE.OPT_START:case o.parser.yy.LINETYPE.PAR_START:c.push({id:t.id,msg:t.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case o.parser.yy.LINETYPE.ALT_ELSE:case o.parser.yy.LINETYPE.PAR_AND:t.message&&(n=c.pop(),s[n.id]=n,s[t.id]=n,c.push(n));break;case o.parser.yy.LINETYPE.LOOP_END:case o.parser.yy.LINETYPE.ALT_END:case o.parser.yy.LINETYPE.OPT_END:case o.parser.yy.LINETYPE.PAR_END:n=c.pop(),s[n.id]=n;break;case o.parser.yy.LINETYPE.ACTIVE_START:var u=e[t.from?t.from.actor:t.to.actor],g=v(t.from?t.from.actor:t.to.actor).length,y=u.x+u.width/2+(g-1)*h.activationWidth/2,m={startx:y,stopx:y+h.activationWidth,actor:t.from.actor,enabled:!0};f.activations.push(m);break;case o.parser.yy.LINETYPE.ACTIVE_END:var x=f.activations.map((function(t){return t.actor})).lastIndexOf(t.from.actor);delete f.activations.splice(x,1)[0]}void 0!==t.placement?(r=function(t,e){var n=e[t.from].x,r=e[t.to].x,i=t.wrap&&t.message,s=l.default.calculateTextDimensions(i?l.default.wrapLabel(t.message,h.width,p(h)):t.message,p(h)),c={width:i?h.width:Math.max(h.width,s.width+2*h.noteMargin),height:0,startx:e[t.from].x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===o.parser.yy.PLACEMENT.RIGHTOF?(c.width=i?Math.max(h.width,s.width):Math.max(e[t.from].width/2+e[t.to].width/2,s.width+2*h.noteMargin),c.startx=n+(e[t.from].width+h.actorMargin)/2):t.placement===o.parser.yy.PLACEMENT.LEFTOF?(c.width=i?Math.max(h.width,s.width+2*h.noteMargin):Math.max(e[t.from].width/2+e[t.to].width/2,s.width+2*h.noteMargin),c.startx=n-c.width+(e[t.from].width-h.actorMargin)/2):t.to===t.from?(s=l.default.calculateTextDimensions(i?l.default.wrapLabel(t.message,Math.max(h.width,e[t.from].width),p(h)):t.message,p(h)),c.width=i?Math.max(h.width,e[t.from].width):Math.max(e[t.from].width,h.width,s.width+2*h.noteMargin),c.startx=n+(e[t.from].width-c.width)/2):(c.width=Math.abs(n+e[t.from].width/2-(r+e[t.to].width/2))+h.actorMargin,c.startx=n<r?n+e[t.from].width/2-h.actorMargin/2:r+e[t.to].width/2-h.actorMargin/2),i&&(c.message=l.default.wrapLabel(t.message,c.width-2*h.wrapPadding,p(h))),a.log.debug("NM:[".concat(c.startx,",").concat(c.stopx,",").concat(c.starty,",").concat(c.stopy,":").concat(c.width,",").concat(c.height,"=").concat(t.message,"]")),c}(t,e),t.noteModel=r,c.forEach((function(t){(n=t).from=Math.min(n.from,r.startx),n.to=Math.max(n.to,r.startx+r.width),n.width=Math.max(n.width,Math.abs(n.from-n.to))-h.labelBoxWidth}))):(i=function(t,e){var n=!1;if([o.parser.yy.LINETYPE.SOLID_OPEN,o.parser.yy.LINETYPE.DOTTED_OPEN,o.parser.yy.LINETYPE.SOLID,o.parser.yy.LINETYPE.DOTTED,o.parser.yy.LINETYPE.SOLID_CROSS,o.parser.yy.LINETYPE.DOTTED_CROSS,o.parser.yy.LINETYPE.SOLID_POINT,o.parser.yy.LINETYPE.DOTTED_POINT].includes(t.type)&&(n=!0),!n)return{};var r=b(t.from,e),i=b(t.to,e),a=r[0]<=i[0]?1:0,s=r[0]<i[0]?0:1,c=r.concat(i),u=Math.abs(i[s]-r[a]);t.wrap&&t.message&&(t.message=l.default.wrapLabel(t.message,Math.max(u+2*h.wrapPadding,h.width),d(h)));var f=l.default.calculateTextDimensions(t.message,d(h));return{width:Math.max(t.wrap?0:f.width+2*h.wrapPadding,u+2*h.wrapPadding,h.width),height:0,startx:r[a],stopx:i[s],starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,c),toBounds:Math.max.apply(null,c)}}(t,e),t.msgModel=i,i.startx&&i.stopx&&c.length>0&&c.forEach((function(r){if(n=r,i.startx===i.stopx){var a=e[t.from],o=e[t.to];n.from=Math.min(a.x-i.width/2,a.x-a.width/2,n.from),n.to=Math.max(o.x+i.width/2,o.x+a.width/2,n.to),n.width=Math.max(n.width,Math.abs(n.to-n.from))-h.labelBoxWidth}else n.from=Math.min(i.startx,n.from),n.to=Math.max(i.stopx,n.to),n.width=Math.max(n.width,i.width)-h.labelBoxWidth})))})),f.activations=[],a.log.debug("Loop type widths:",s),s};e.default={bounds:f,drawActors:y,setConf:m,draw:_}},"./src/diagrams/sequence/styles.js":function(t,e,n){"use strict";n.r(e),e.default=function(t){return".actor {\n stroke: ".concat(t.actorBorder,";\n fill: ").concat(t.actorBkg,";\n }\n\n text.actor > tspan {\n fill: ").concat(t.actorTextColor,";\n stroke: none;\n }\n\n .actor-line {\n stroke: ").concat(t.actorLineColor,";\n }\n\n .messageLine0 {\n stroke-width: 1.5;\n stroke-dasharray: none;\n stroke: ").concat(t.signalColor,";\n }\n\n .messageLine1 {\n stroke-width: 1.5;\n stroke-dasharray: 2, 2;\n stroke: ").concat(t.signalColor,";\n }\n\n #arrowhead path {\n fill: ").concat(t.signalColor,";\n stroke: ").concat(t.signalColor,";\n }\n\n .sequenceNumber {\n fill: ").concat(t.sequenceNumberColor,";\n }\n\n #sequencenumber {\n fill: ").concat(t.signalColor,";\n }\n\n #crosshead path {\n fill: ").concat(t.signalColor,";\n stroke: ").concat(t.signalColor,";\n }\n\n .messageText {\n fill: ").concat(t.signalTextColor,";\n stroke: ").concat(t.signalTextColor,";\n }\n\n .labelBox {\n stroke: ").concat(t.labelBoxBorderColor,";\n fill: ").concat(t.labelBoxBkgColor,";\n }\n\n .labelText, .labelText > tspan {\n fill: ").concat(t.labelTextColor,";\n stroke: none;\n }\n\n .loopText, .loopText > tspan {\n fill: ").concat(t.loopTextColor,";\n stroke: none;\n }\n\n .loopLine {\n stroke-width: 2px;\n stroke-dasharray: 2, 2;\n stroke: ").concat(t.labelBoxBorderColor,";\n fill: ").concat(t.labelBoxBorderColor,";\n }\n\n .note {\n //stroke: #decc93;\n stroke: ").concat(t.noteBorderColor,";\n fill: ").concat(t.noteBkgColor,";\n }\n\n .noteText, .noteText > tspan {\n fill: ").concat(t.noteTextColor,";\n stroke: none;\n }\n\n .activation0 {\n fill: ").concat(t.activationBkgColor,";\n stroke: ").concat(t.activationBorderColor,";\n }\n\n .activation1 {\n fill: ").concat(t.activationBkgColor,";\n stroke: ").concat(t.activationBorderColor,";\n }\n\n .activation2 {\n fill: ").concat(t.activationBkgColor,";\n stroke: ").concat(t.activationBorderColor,";\n }\n")}},"./src/diagrams/sequence/svgDraw.js":function(t,e,n){"use strict";n.r(e),n.d(e,"drawRect",(function(){return i})),n.d(e,"drawText",(function(){return a})),n.d(e,"drawLabel",(function(){return o})),n.d(e,"drawActor",(function(){return c})),n.d(e,"anchorElement",(function(){return u})),n.d(e,"drawActivation",(function(){return l})),n.d(e,"drawLoop",(function(){return h})),n.d(e,"drawBackgroundRect",(function(){return f})),n.d(e,"insertArrowHead",(function(){return d})),n.d(e,"insertArrowFilledHead",(function(){return p})),n.d(e,"insertSequenceNumber",(function(){return g})),n.d(e,"insertArrowCrossHead",(function(){return y})),n.d(e,"getTextObj",(function(){return m})),n.d(e,"getNoteRect",(function(){return v}));var r=n("./src/diagrams/common/common.js"),i=function(t,e){var n=t.append("rect");return n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),void 0!==e.class&&n.attr("class",e.class),n},a=function(t,e){var n=0,i=0,a=e.text.split(r.default.lineBreakRegex),o=[],s=0,c=function(){return e.y};if(void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0)switch(e.valign){case"top":case"start":c=function(){return Math.round(e.y+e.textMargin)};break;case"middle":case"center":c=function(){return Math.round(e.y+(n+i+e.textMargin)/2)};break;case"bottom":case"end":c=function(){return Math.round(e.y+(n+i+2*e.textMargin)-e.textMargin)}}if(void 0!==e.anchor&&void 0!==e.textMargin&&void 0!==e.width)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="text-after-edge",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="text-before-edge",e.alignmentBaseline="middle"}for(var u=0;u<a.length;u++){var l=a[u];void 0!==e.textMargin&&0===e.textMargin&&void 0!==e.fontSize&&(s=u*e.fontSize);var h=t.append("text");if(h.attr("x",e.x),h.attr("y",c()),void 0!==e.anchor&&h.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),void 0!==e.fontFamily&&h.style("font-family",e.fontFamily),void 0!==e.fontSize&&h.style("font-size",e.fontSize),void 0!==e.fontWeight&&h.style("font-weight",e.fontWeight),void 0!==e.fill&&h.attr("fill",e.fill),void 0!==e.class&&h.attr("class",e.class),void 0!==e.dy?h.attr("dy",e.dy):0!==s&&h.attr("dy",s),e.tspan){var f=h.append("tspan");f.attr("x",e.x),void 0!==e.fill&&f.attr("fill",e.fill),f.text(l)}else h.text(l);void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0&&(i+=(h._groups||h)[0][0].getBBox().height,n=i),o.push(h)}return o},o=function(t,e){var n,r,i,o,s,c=t.append("polygon");return c.attr("points",(n=e.x,r=e.y,i=e.width,o=e.height,n+","+r+" "+(n+i)+","+r+" "+(n+i)+","+(r+o-(s=7))+" "+(n+i-1.2*s)+","+(r+o)+" "+n+","+(r+o))),c.attr("class","labelBox"),e.y=e.y+e.height/2,a(t,e),c},s=-1,c=function(t,e,n){var r=e.x+e.width/2,a=t.append("g");0===e.y&&(s++,a.append("line").attr("id","actor"+s).attr("x1",r).attr("y1",5).attr("x2",r).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));var o=v();o.x=e.x,o.y=e.y,o.fill="#eaeaea",o.width=e.width,o.height=e.height,o.class="actor",o.rx=3,o.ry=3,i(a,o),b(n)(e.description,a,o.x,o.y,o.width,o.height,{class:"actor"},n)},u=function(t){return t.append("g")},l=function(t,e,n,r,a){var o=v(),s=e.anchored;o.x=e.startx,o.y=e.starty,o.class="activation"+a%3,o.width=e.stopx-e.startx,o.height=n-e.starty,i(s,o)},h=function(t,e,n,r){var i=r.boxMargin,s=r.boxTextMargin,c=r.labelBoxHeight,u=r.labelBoxWidth,l=r.messageFontFamily,h=r.messageFontSize,f=r.messageFontWeight,d=t.append("g"),p=function(t,e,n,r){return d.append("line").attr("x1",t).attr("y1",e).attr("x2",n).attr("y2",r).attr("class","loopLine")};p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),void 0!==e.sections&&e.sections.forEach((function(t){p(e.startx,t.y,e.stopx,t.y).style("stroke-dasharray","3, 3")}));var g=m();g.text=n,g.x=e.startx,g.y=e.starty,g.fontFamily=l,g.fontSize=h,g.fontWeight=f,g.anchor="middle",g.valign="middle",g.tspan=!1,g.width=u||50,g.height=c||20,g.textMargin=s,g.class="labelText",o(d,g),(g=m()).text=e.title,g.x=e.startx+u/2+(e.stopx-e.startx)/2,g.y=e.starty+i+s,g.anchor="middle",g.valign="middle",g.textMargin=s,g.class="loopText",g.fontFamily=l,g.fontSize=h,g.fontWeight=f,g.wrap=!0;var y=a(d,g);return void 0!==e.sectionTitles&&e.sectionTitles.forEach((function(t,n){if(t.message){g.text=t.message,g.x=e.startx+(e.stopx-e.startx)/2,g.y=e.sections[n].y+i+s,g.class="loopText",g.anchor="middle",g.valign="middle",g.tspan=!1,g.fontFamily=l,g.fontSize=h,g.fontWeight=f,g.wrap=e.wrap,y=a(d,g);var r=Math.round(y.map((function(t){return(t._groups||t)[0][0].getBBox().height})).reduce((function(t,e){return t+e})));e.sections[n].height+=r-(i+s)}})),e.height=Math.round(e.stopy-e.starty),d},f=function(t,e){i(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},d=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},p=function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},g=function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},y=function(t){var e=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);e.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),e.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},m=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},v=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},b=function(){function t(t,e,n,r,a,o,s){i(e.append("text").attr("x",n+a/2).attr("y",r+o/2+5).style("text-anchor","middle").text(t),s)}function e(t,e,n,a,o,s,c,u){for(var l=u.actorFontSize,h=u.actorFontFamily,f=u.actorFontWeight,d=t.split(r.default.lineBreakRegex),p=0;p<d.length;p++){var g=p*l-l*(d.length-1)/2,y=e.append("text").attr("x",n+o/2).attr("y",a).style("text-anchor","middle").style("font-size",l).style("font-weight",f).style("font-family",h);y.append("tspan").attr("x",n+o/2).attr("dy",g).text(d[p]),y.attr("y",a+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(y,c)}}function n(t,n,r,a,o,s,c,u){var l=n.append("switch"),h=l.append("foreignObject").attr("x",r).attr("y",a).attr("width",o).attr("height",s).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");h.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,l,r,a,o,s,c,u),i(h,c)}function i(t,e){for(var n in e)e.hasOwnProperty(n)&&t.attr(n,e[n])}return function(r){return"fo"===r.textPlacement?n:"old"===r.textPlacement?t:e}}();e.default={drawRect:i,drawText:a,drawLabel:o,drawActor:c,anchorElement:u,drawActivation:l,drawLoop:h,drawBackgroundRect:f,insertArrowHead:d,insertArrowFilledHead:p,insertSequenceNumber:g,insertArrowCrossHead:y,getTextObj:m,getNoteRect:v}},"./src/diagrams/state/id-cache.js":function(t,e,n){"use strict";n.r(e),n.d(e,"set",(function(){return i})),n.d(e,"get",(function(){return a})),n.d(e,"keys",(function(){return o})),n.d(e,"size",(function(){return s}));var r={},i=function(t,e){r[t]=e},a=function(t){return r[t]},o=function(){return Object.keys(r)},s=function(){return o().length};e.default={get:a,set:i,keys:o,size:s}},"./src/diagrams/state/parser/stateDiagram.jison":function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,2],n=[1,3],r=[1,5],i=[1,7],a=[2,5],o=[1,15],s=[1,17],c=[1,19],u=[1,20],l=[1,21],h=[1,22],f=[1,30],d=[1,23],p=[1,24],g=[1,25],y=[1,26],m=[1,27],v=[1,32],b=[1,33],x=[1,34],_=[1,35],k=[1,31],w=[1,38],E=[1,4,5,14,15,17,19,20,22,23,24,25,26,27,36,37,38,39,42,45],T=[1,4,5,12,13,14,15,17,19,20,22,23,24,25,26,27,36,37,38,39,42,45],C=[1,4,5,7,14,15,17,19,20,22,23,24,25,26,27,36,37,38,39,42,45],S=[4,5,14,15,17,19,20,22,23,24,25,26,27,36,37,38,39,42,45],A={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,directive:6,SD:7,document:8,line:9,statement:10,idStatement:11,DESCR:12,"--\x3e":13,HIDE_EMPTY:14,scale:15,WIDTH:16,COMPOSIT_STATE:17,STRUCT_START:18,STRUCT_STOP:19,STATE_DESCR:20,AS:21,ID:22,FORK:23,JOIN:24,CHOICE:25,CONCURRENT:26,note:27,notePosition:28,NOTE_TEXT:29,direction:30,openDirective:31,typeDirective:32,closeDirective:33,":":34,argDirective:35,direction_tb:36,direction_bt:37,direction_rl:38,direction_lr:39,eol:40,";":41,EDGE_STATE:42,left_of:43,right_of:44,open_directive:45,type_directive:46,arg_directive:47,close_directive:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",7:"SD",12:"DESCR",13:"--\x3e",14:"HIDE_EMPTY",15:"scale",16:"WIDTH",17:"COMPOSIT_STATE",18:"STRUCT_START",19:"STRUCT_STOP",20:"STATE_DESCR",21:"AS",22:"ID",23:"FORK",24:"JOIN",25:"CHOICE",26:"CONCURRENT",27:"note",29:"NOTE_TEXT",34:":",36:"direction_tb",37:"direction_bt",38:"direction_rl",39:"direction_lr",41:";",42:"EDGE_STATE",43:"left_of",44:"right_of",45:"open_directive",46:"type_directive",47:"arg_directive",48:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[10,1],[6,3],[6,5],[30,1],[30,1],[30,1],[30,1],[40,1],[40,1],[11,1],[11,1],[28,1],[28,1],[31,1],[32,1],[35,1],[33,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 4:return r.setRootDoc(a[s]),a[s];case 5:this.$=[];break;case 6:"nl"!=a[s]&&(a[s-1].push(a[s]),this.$=a[s-1]);break;case 7:case 8:case 36:case 37:this.$=a[s];break;case 9:this.$="nl";break;case 10:this.$={stmt:"state",id:a[s],type:"default",description:""};break;case 11:this.$={stmt:"state",id:a[s-1],type:"default",description:r.trimColon(a[s])};break;case 12:this.$={stmt:"relation",state1:{stmt:"state",id:a[s-2],type:"default",description:""},state2:{stmt:"state",id:a[s],type:"default",description:""}};break;case 13:this.$={stmt:"relation",state1:{stmt:"state",id:a[s-3],type:"default",description:""},state2:{stmt:"state",id:a[s-1],type:"default",description:""},description:a[s].substr(1).trim()};break;case 17:this.$={stmt:"state",id:a[s-3],type:"default",description:"",doc:a[s-1]};break;case 18:var c=a[s],u=a[s-2].trim();if(a[s].match(":")){var l=a[s].split(":");c=l[0],u=[u,l[1]]}this.$={stmt:"state",id:c,type:"default",description:u};break;case 19:this.$={stmt:"state",id:a[s-3],type:"default",description:a[s-5],doc:a[s-1]};break;case 20:this.$={stmt:"state",id:a[s],type:"fork"};break;case 21:this.$={stmt:"state",id:a[s],type:"join"};break;case 22:this.$={stmt:"state",id:a[s],type:"choice"};break;case 23:this.$={stmt:"state",id:r.getDividerId(),type:"divider"};break;case 24:this.$={stmt:"state",id:a[s-1].trim(),note:{position:a[s-2].trim(),text:a[s].trim()}};break;case 30:r.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 31:r.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 32:r.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 33:r.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:r.parseDirective("%%{","open_directive");break;case 41:r.parseDirective(a[s],"type_directive");break;case 42:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 43:r.parseDirective("}%%","close_directive","state")}},table:[{3:1,4:e,5:n,6:4,7:r,31:6,45:i},{1:[3]},{3:8,4:e,5:n,6:4,7:r,31:6,45:i},{3:9,4:e,5:n,6:4,7:r,31:6,45:i},{3:10,4:e,5:n,6:4,7:r,31:6,45:i},t([1,4,5,14,15,17,20,22,23,24,25,26,27,36,37,38,39,42,45],a,{8:11}),{32:12,46:[1,13]},{46:[2,40]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:o,5:s,6:28,9:14,10:16,11:18,14:c,15:u,17:l,20:h,22:f,23:d,24:p,25:g,26:y,27:m,30:29,31:6,36:v,37:b,38:x,39:_,42:k,45:i},{33:36,34:[1,37],48:w},t([34,48],[2,41]),t(E,[2,6]),{6:28,10:39,11:18,14:c,15:u,17:l,20:h,22:f,23:d,24:p,25:g,26:y,27:m,30:29,31:6,36:v,37:b,38:x,39:_,42:k,45:i},t(E,[2,8]),t(E,[2,9]),t(E,[2,10],{12:[1,40],13:[1,41]}),t(E,[2,14]),{16:[1,42]},t(E,[2,16],{18:[1,43]}),{21:[1,44]},t(E,[2,20]),t(E,[2,21]),t(E,[2,22]),t(E,[2,23]),{28:45,29:[1,46],43:[1,47],44:[1,48]},t(E,[2,26]),t(E,[2,27]),t(T,[2,36]),t(T,[2,37]),t(E,[2,30]),t(E,[2,31]),t(E,[2,32]),t(E,[2,33]),t(C,[2,28]),{35:49,47:[1,50]},t(C,[2,43]),t(E,[2,7]),t(E,[2,11]),{11:51,22:f,42:k},t(E,[2,15]),t(S,a,{8:52}),{22:[1,53]},{22:[1,54]},{21:[1,55]},{22:[2,38]},{22:[2,39]},{33:56,48:w},{48:[2,42]},t(E,[2,12],{12:[1,57]}),{4:o,5:s,6:28,9:14,10:16,11:18,14:c,15:u,17:l,19:[1,58],20:h,22:f,23:d,24:p,25:g,26:y,27:m,30:29,31:6,36:v,37:b,38:x,39:_,42:k,45:i},t(E,[2,18],{18:[1,59]}),{29:[1,60]},{22:[1,61]},t(C,[2,29]),t(E,[2,13]),t(E,[2,17]),t(S,a,{8:62}),t(E,[2,24]),t(E,[2,25]),{4:o,5:s,6:28,9:14,10:16,11:18,14:c,15:u,17:l,19:[1,63],20:h,22:f,23:d,24:p,25:g,26:y,27:m,30:29,31:6,36:v,37:b,38:x,39:_,42:k,45:i},t(E,[2,19])],defaultActions:{7:[2,40],8:[2,1],9:[2,2],10:[2,3],47:[2,38],48:[2,39],50:[2,42]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var v=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,O={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var M="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");M=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(M,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],O.$=i[i.length-C],O._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},v&&(O._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(O,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(O.$),a.push(O._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},O={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:case 26:return 36;case 1:case 27:return 37;case 2:case 28:return 38;case 3:case 29:return 39;case 4:return this.begin("open_directive"),45;case 5:return this.begin("type_directive"),46;case 6:return this.popState(),this.begin("arg_directive"),34;case 7:return this.popState(),this.popState(),48;case 8:return 47;case 9:case 10:case 12:case 13:case 14:case 15:case 39:case 45:break;case 11:case 59:return 5;case 16:return this.pushState("SCALE"),15;case 17:return 16;case 18:case 33:case 36:this.popState();break;case 19:this.pushState("STATE");break;case 20:case 23:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),23;case 21:case 24:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),24;case 22:case 25:return this.popState(),e.yytext=e.yytext.slice(0,-10).trim(),25;case 30:this.begin("STATE_STRING");break;case 31:return this.popState(),this.pushState("STATE_ID"),"AS";case 32:case 47:return this.popState(),"ID";case 34:return"STATE_DESCR";case 35:return 17;case 37:return this.popState(),this.pushState("struct"),18;case 38:return this.popState(),19;case 40:return this.begin("NOTE"),27;case 41:return this.popState(),this.pushState("NOTE_ID"),43;case 42:return this.popState(),this.pushState("NOTE_ID"),44;case 43:this.popState(),this.pushState("FLOATING_NOTE");break;case 44:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 46:return"NOTE_TEXT";case 48:return this.popState(),this.pushState("NOTE_TEXT"),22;case 49:return this.popState(),e.yytext=e.yytext.substr(2).trim(),29;case 50:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),29;case 51:case 52:return 7;case 53:return 14;case 54:return 42;case 55:return 22;case 56:return e.yytext=e.yytext.trim(),12;case 57:return 13;case 58:return 26;case 60:return"INVALID"}},rules:[/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[13,14],inclusive:!1},close_directive:{rules:[13,14],inclusive:!1},arg_directive:{rules:[7,8,13,14],inclusive:!1},type_directive:{rules:[6,7,13,14],inclusive:!1},open_directive:{rules:[5,13,14],inclusive:!1},struct:{rules:[13,14,19,26,27,28,29,38,39,40,54,55,56,57,58],inclusive:!1},FLOATING_NOTE_ID:{rules:[47],inclusive:!1},FLOATING_NOTE:{rules:[44,45,46],inclusive:!1},NOTE_TEXT:{rules:[49,50],inclusive:!1},NOTE_ID:{rules:[48],inclusive:!1},NOTE:{rules:[41,42,43],inclusive:!1},SCALE:{rules:[17,18],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[32],inclusive:!1},STATE_STRING:{rules:[33,34],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[13,14,20,21,22,23,24,25,30,31,35,36,37],inclusive:!1},ID:{rules:[13,14],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,12,14,15,16,19,37,40,51,52,53,54,55,56,57,59,60],inclusive:!0}}};function M(){this.yy={}}return A.lexer=O,M.prototype=A,A.Parser=M,new M}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n("./node_modules/node-libs-browser/mock/empty.js").readFileSync(n("./node_modules/path-browserify/index.js").normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n("./node_modules/process/browser.js"),n("./node_modules/webpack/buildin/module.js")(t))},"./src/diagrams/state/shapes.js":function(t,e,n){"use strict";n.r(e),n.d(e,"drawStartState",(function(){return f})),n.d(e,"drawDivider",(function(){return d})),n.d(e,"drawSimpleState",(function(){return p})),n.d(e,"drawDescrState",(function(){return g})),n.d(e,"addTitleAndBox",(function(){return y})),n.d(e,"drawText",(function(){return m})),n.d(e,"drawNote",(function(){return v})),n.d(e,"drawState",(function(){return b})),n.d(e,"drawEdge",(function(){return _}));var r=n("d3"),i=n("./src/diagrams/state/id-cache.js"),a=n("./src/diagrams/state/stateDb.js"),o=n("./src/utils.js"),s=n("./src/diagrams/common/common.js"),c=n("./src/config.js"),u=n("./src/logger.js");function l(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(t){if("string"==typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return o=t.done,t},e:function(t){s=!0,a=t},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var f=function(t){return t.append("circle").attr("class","start-state").attr("r",Object(c.getConfig)().state.sizeUnit).attr("cx",Object(c.getConfig)().state.padding+Object(c.getConfig)().state.sizeUnit).attr("cy",Object(c.getConfig)().state.padding+Object(c.getConfig)().state.sizeUnit)},d=function(t){return t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Object(c.getConfig)().state.textHeight).attr("class","divider").attr("x2",2*Object(c.getConfig)().state.textHeight).attr("y1",0).attr("y2",0)},p=function(t,e){var n=t.append("text").attr("x",2*Object(c.getConfig)().state.padding).attr("y",Object(c.getConfig)().state.textHeight+2*Object(c.getConfig)().state.padding).attr("font-size",Object(c.getConfig)().state.fontSize).attr("class","state-title").text(e.id),r=n.node().getBBox();return t.insert("rect",":first-child").attr("x",Object(c.getConfig)().state.padding).attr("y",Object(c.getConfig)().state.padding).attr("width",r.width+2*Object(c.getConfig)().state.padding).attr("height",r.height+2*Object(c.getConfig)().state.padding).attr("rx",Object(c.getConfig)().state.radius),n},g=function(t,e){var n=t.append("text").attr("x",2*Object(c.getConfig)().state.padding).attr("y",Object(c.getConfig)().state.textHeight+1.3*Object(c.getConfig)().state.padding).attr("font-size",Object(c.getConfig)().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),r=n.height,i=t.append("text").attr("x",Object(c.getConfig)().state.padding).attr("y",r+.4*Object(c.getConfig)().state.padding+Object(c.getConfig)().state.dividerMargin+Object(c.getConfig)().state.textHeight).attr("class","state-description"),a=!0,o=!0;e.descriptions.forEach((function(t){a||(function(t,e,n){var r=t.append("tspan").attr("x",2*Object(c.getConfig)().state.padding).text(e);n||r.attr("dy",Object(c.getConfig)().state.textHeight)}(i,t,o),o=!1),a=!1}));var s=t.append("line").attr("x1",Object(c.getConfig)().state.padding).attr("y1",Object(c.getConfig)().state.padding+r+Object(c.getConfig)().state.dividerMargin/2).attr("y2",Object(c.getConfig)().state.padding+r+Object(c.getConfig)().state.dividerMargin/2).attr("class","descr-divider"),u=i.node().getBBox(),l=Math.max(u.width,n.width);return s.attr("x2",l+3*Object(c.getConfig)().state.padding),t.insert("rect",":first-child").attr("x",Object(c.getConfig)().state.padding).attr("y",Object(c.getConfig)().state.padding).attr("width",l+2*Object(c.getConfig)().state.padding).attr("height",u.height+r+2*Object(c.getConfig)().state.padding).attr("rx",Object(c.getConfig)().state.radius),t},y=function(t,e,n){var r,i=Object(c.getConfig)().state.padding,a=2*Object(c.getConfig)().state.padding,o=t.node().getBBox(),s=o.width,u=o.x,l=t.append("text").attr("x",0).attr("y",Object(c.getConfig)().state.titleShift).attr("font-size",Object(c.getConfig)().state.fontSize).attr("class","state-title").text(e.id),h=l.node().getBBox().width+a,f=Math.max(h,s);f===s&&(f+=a);var d=t.node().getBBox();e.doc,r=u-i,h>s&&(r=(s-f)/2+i),Math.abs(u-d.x)<i&&h>s&&(r=u-(h-s)/2);var p=1-Object(c.getConfig)().state.textHeight;return t.insert("rect",":first-child").attr("x",r).attr("y",p).attr("class",n?"alt-composit":"composit").attr("width",f).attr("height",d.height+Object(c.getConfig)().state.textHeight+Object(c.getConfig)().state.titleShift+1).attr("rx","0"),l.attr("x",r+i),h<=s&&l.attr("x",u+(f-a)/2-h/2+i),t.insert("rect",":first-child").attr("x",r).attr("y",Object(c.getConfig)().state.titleShift-Object(c.getConfig)().state.textHeight-Object(c.getConfig)().state.padding).attr("width",f).attr("height",3*Object(c.getConfig)().state.textHeight).attr("rx",Object(c.getConfig)().state.radius),t.insert("rect",":first-child").attr("x",r).attr("y",Object(c.getConfig)().state.titleShift-Object(c.getConfig)().state.textHeight-Object(c.getConfig)().state.padding).attr("width",f).attr("height",d.height+3+2*Object(c.getConfig)().state.textHeight).attr("rx",Object(c.getConfig)().state.radius),t},m=function(t,e){var n=e.text.replace(s.default.lineBreakRegex," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.style("text-anchor",e.anchor),r.attr("fill",e.fill),void 0!==e.class&&r.attr("class",e.class);var i=r.append("tspan");return i.attr("x",e.x+2*e.textMargin),i.attr("fill",e.fill),i.text(n),r},v=function(t,e){e.attr("class","state-note");var n=e.append("rect").attr("x",0).attr("y",Object(c.getConfig)().state.padding),r=function(t,e,n,r){var i=0,a=r.append("text");a.style("text-anchor","start"),a.attr("class","noteText");var o,u=t.replace(/\r\n/g,"<br/>"),h=(u=u.replace(/\n/g,"<br/>")).split(s.default.lineBreakRegex),f=1.25*Object(c.getConfig)().state.noteMargin,d=l(h);try{for(d.s();!(o=d.n()).done;){var p=o.value.trim();if(p.length>0){var g=a.append("tspan");g.text(p),0===f&&(f+=g.node().getBBox().height),i+=f,g.attr("x",e+Object(c.getConfig)().state.noteMargin),g.attr("y",n+i+1.25*Object(c.getConfig)().state.noteMargin)}}}catch(y){d.e(y)}finally{d.f()}return{textWidth:a.node().getBBox().width,textHeight:i}}(t,0,0,e.append("g")),i=r.textWidth,a=r.textHeight;return n.attr("height",a+2*Object(c.getConfig)().state.noteMargin),n.attr("width",i+2*Object(c.getConfig)().state.noteMargin),n},b=function(t,e){var n=e.id,r={id:n,label:e.id,width:0,height:0},a=t.append("g").attr("id",n).attr("class","stateGroup");"start"===e.type&&f(a),"end"===e.type&&function(t){t.append("circle").attr("class","end-state-outer").attr("r",Object(c.getConfig)().state.sizeUnit+Object(c.getConfig)().state.miniPadding).attr("cx",Object(c.getConfig)().state.padding+Object(c.getConfig)().state.sizeUnit+Object(c.getConfig)().state.miniPadding).attr("cy",Object(c.getConfig)().state.padding+Object(c.getConfig)().state.sizeUnit+Object(c.getConfig)().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",Object(c.getConfig)().state.sizeUnit).attr("cx",Object(c.getConfig)().state.padding+Object(c.getConfig)().state.sizeUnit+2).attr("cy",Object(c.getConfig)().state.padding+Object(c.getConfig)().state.sizeUnit+2)}(a),"fork"!==e.type&&"join"!==e.type||function(t,e){var n=Object(c.getConfig)().state.forkWidth,r=Object(c.getConfig)().state.forkHeight;if(e.parentId){var i=n;n=r,r=i}t.append("rect").style("stroke","black").style("fill","black").attr("width",n).attr("height",r).attr("x",Object(c.getConfig)().state.padding).attr("y",Object(c.getConfig)().state.padding)}(a,e),"note"===e.type&&v(e.note.text,a),"divider"===e.type&&d(a),"default"===e.type&&0===e.descriptions.length&&p(a,e),"default"===e.type&&e.descriptions.length>0&&g(a,e);var o=a.node().getBBox();return r.width=o.width+2*Object(c.getConfig)().state.padding,r.height=o.height+2*Object(c.getConfig)().state.padding,i.default.set(n,r),r},x=0,_=function(t,e,n){e.points=e.points.filter((function(t){return!Number.isNaN(t.y)}));var i=e.points,l=Object(r.line)().x((function(t){return t.x})).y((function(t){return t.y})).curve(r.curveBasis),h=t.append("path").attr("d",l(i)).attr("id","edge"+x).attr("class","transition"),f="";if(Object(c.getConfig)().state.arrowMarkerAbsolute&&(f=(f=(f=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),h.attr("marker-end","url("+f+"#"+function(t){switch(t){case a.default.relationType.AGGREGATION:return"aggregation";case a.default.relationType.EXTENSION:return"extension";case a.default.relationType.COMPOSITION:return"composition";case a.default.relationType.DEPENDENCY:return"dependency"}}(a.default.relationType.DEPENDENCY)+"End)"),void 0!==n.title){for(var d=t.append("g").attr("class","stateLabel"),p=o.default.calcLabelPosition(e.points),g=p.x,y=p.y,m=s.default.getRows(n.title),v=0,b=[],_=0,k=0,w=0;w<=m.length;w++){var E=d.append("text").attr("text-anchor","middle").text(m[w]).attr("x",g).attr("y",y+v),T=E.node().getBBox();if(_=Math.max(_,T.width),k=Math.min(k,T.x),u.log.info(T.x,g,y+v),0===v){var C=E.node().getBBox();v=C.height,u.log.info("Title height",v,y)}b.push(E)}var S=v*m.length;if(m.length>1){var A=(m.length-1)*v*.5;b.forEach((function(t,e){return t.attr("y",y+e*v-A)})),S=v*m.length}var O=d.node().getBBox();d.insert("rect",":first-child").attr("class","box").attr("x",g-_/2-Object(c.getConfig)().state.padding/2).attr("y",y-S/2-Object(c.getConfig)().state.padding/2-3.5).attr("width",_+Object(c.getConfig)().state.padding).attr("height",S+Object(c.getConfig)().state.padding),u.log.info(O)}x++}},"./src/diagrams/state/stateDb.js":function(t,e,n){"use strict";n.r(e),n.d(e,"parseDirective",(function(){return l})),n.d(e,"addState",(function(){return g})),n.d(e,"clear",(function(){return y})),n.d(e,"getState",(function(){return m})),n.d(e,"getStates",(function(){return v})),n.d(e,"logDocuments",(function(){return b})),n.d(e,"getRelations",(function(){return x})),n.d(e,"addRelation",(function(){return _})),n.d(e,"cleanupLabel",(function(){return w})),n.d(e,"lineType",(function(){return E})),n.d(e,"relationType",(function(){return A}));var r=n("./src/logger.js"),i=n("./src/utils.js"),a=n("./src/mermaidAPI.js"),o=n("./src/config.js");function s(t){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}var c=function(t){return JSON.parse(JSON.stringify(t))},u=[],l=function(t,e,n){a.default.parseDirective(this,t,e,n)},h=function t(e,n,r){if("relation"===n.stmt)t(e,n.state1,!0),t(e,n.state2,!1);else if("state"===n.stmt&&"[*]"===n.id&&(n.id=r?e.id+"_start":e.id+"_end",n.start=r),n.doc){var a=[],o=0,s=[];for(o=0;o<n.doc.length;o++)if("divider"===n.doc[o].type){var u=c(n.doc[o]);u.doc=c(s),a.push(u),s=[]}else s.push(n.doc[o]);if(a.length>0&&s.length>0){var l={stmt:"state",id:Object(i.generateId)(),type:"divider",doc:c(s)};a.push(c(l)),n.doc=a}n.doc.forEach((function(e){return t(n,e,!0)}))}},f={root:{relations:[],states:{},documents:{}}},d=f.root,p=0,g=function(t,e,n,i,a){void 0===d.states[t]?d.states[t]={id:t,descriptions:[],type:e,doc:n,note:a}:(d.states[t].doc||(d.states[t].doc=n),d.states[t].type||(d.states[t].type=e)),i&&(r.log.info("Adding state ",t,i),"string"==typeof i&&k(t,i.trim()),"object"===s(i)&&i.forEach((function(e){return k(t,e.trim())}))),a&&(d.states[t].note=a)},y=function(){d=(f={root:{relations:[],states:{},documents:{}}}).root,d=f.root,p=0,C=[]},m=function(t){return d.states[t]},v=function(){return d.states},b=function(){r.log.info("Documents = ",f)},x=function(){return d.relations},_=function(t,e,n){var r=t,i=e,a="default",o="default";"[*]"===t&&(r="start"+ ++p,a="start"),"[*]"===e&&(i="end"+p,o="end"),g(r,a),g(i,o),d.relations.push({id1:r,id2:i,title:n})},k=function(t,e){var n=d.states[t],r=e;":"===r[0]&&(r=r.substr(1).trim()),n.descriptions.push(r)},w=function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},E={LINE:0,DOTTED_LINE:1},T=0,C=[],S="TB",A={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3};e.default={parseDirective:l,getConfig:function(){return o.getConfig().state},addState:g,clear:y,getState:m,getStates:v,getRelations:x,getClasses:function(){return C},getDirection:function(){return S},addRelation:_,getDividerId:function(){return"divider-id-"+ ++T},setDirection:function(t){S=t},cleanupLabel:w,lineType:E,relationType:A,logDocuments:b,getRootDoc:function(){return u},setRootDoc:function(t){r.log.info("Setting root doc",t),u=t},getRootDocV2:function(){return h({id:"root"},{id:"root",doc:u},!0),{id:"root",doc:u}},extract:function(t){var e;e=t.doc?t.doc:t,r.log.info(e),y(),r.log.info("Extract",e),e.forEach((function(t){"state"===t.stmt&&g(t.id,t.type,t.doc,t.description,t.note),"relation"===t.stmt&&_(t.state1.id,t.state2.id,t.description)}))},trimColon:function(t){return t&&":"===t[0]?t.substr(1).trim():t.trim()}}},"./src/diagrams/state/stateRenderer-v2.js":function(t,e,n){"use strict";n.r(e),n.d(e,"setConf",(function(){return p})),n.d(e,"getClasses",(function(){return y})),n.d(e,"draw",(function(){return _}));var r=n("graphlib"),i=n.n(r),a=n("d3"),o=n("./src/diagrams/state/stateDb.js"),s=n("./src/diagrams/state/parser/stateDiagram.jison"),c=n.n(s),u=n("./src/config.js"),l=n("./src/dagre-wrapper/index.js"),h=n("./src/logger.js"),f=n("./src/utils.js"),d={},p=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)d[e[n]]=t[e[n]]},g={},y=function(t){h.log.trace("Extracting classes"),o.default.clear();var e=c.a.parser;return e.yy=o.default,e.parse(t),o.default.getClasses()},m=function(t,e,n,r){if("root"!==n.id){var i="rect";!0===n.start&&(i="start"),!1===n.start&&(i="end"),"default"!==n.type&&(i=n.type),g[n.id]||(g[n.id]={id:n.id,shape:i,description:n.id,classes:"statediagram-state"}),n.description&&(Array.isArray(g[n.id].description)?(g[n.id].shape="rectWithTitle",g[n.id].description.push(n.description)):g[n.id].description.length>0?(g[n.id].shape="rectWithTitle",g[n.id].description===n.id?g[n.id].description=[n.description]:g[n.id].description=[g[n.id].description,n.description]):(g[n.id].shape="rect",g[n.id].description=n.description)),!g[n.id].type&&n.doc&&(h.log.info("Setting cluster for ",n.id,x(n)),g[n.id].type="group",g[n.id].dir=x(n),g[n.id].shape="divider"===n.type?"divider":"roundedWithTitle",g[n.id].classes=g[n.id].classes+" "+(r?"statediagram-cluster statediagram-cluster-alt":"statediagram-cluster"));var a={labelStyle:"",shape:g[n.id].shape,labelText:g[n.id].description,classes:g[n.id].classes,style:"",id:n.id,dir:g[n.id].dir,domId:"state-"+n.id+"-"+v,type:g[n.id].type,padding:15};if(n.note){var o={labelStyle:"",shape:"note",labelText:n.note.text,classes:"statediagram-note",style:"",id:n.id+"----note-"+v,domId:"state-"+n.id+"----note-"+v,type:g[n.id].type,padding:15},s={labelStyle:"",shape:"noteGroup",labelText:n.note.text,classes:g[n.id].classes,style:"",id:n.id+"----parent",domId:"state-"+n.id+"----parent-"+v,type:"group",padding:0};v++,t.setNode(n.id+"----parent",s),t.setNode(o.id,o),t.setNode(n.id,a),t.setParent(n.id,n.id+"----parent"),t.setParent(o.id,n.id+"----parent");var c=n.id,u=o.id;"left of"===n.note.position&&(c=o.id,u=n.id),t.setEdge(c,u,{arrowhead:"none",arrowType:"",style:"fill:none",labelStyle:"",classes:"transition note-edge",arrowheadStyle:"fill: #333",labelpos:"c",labelType:"text",thickness:"normal"})}else t.setNode(n.id,a)}e&&"root"!==e.id&&(h.log.trace("Setting node ",n.id," to be child of its parent ",e.id),t.setParent(n.id,e.id)),n.doc&&(h.log.trace("Adding nodes children "),b(t,n,n.doc,!r))},v=0,b=function(t,e,n,r){h.log.trace("items",n),n.forEach((function(n){if("state"===n.stmt||"default"===n.stmt)m(t,e,n,r);else if("relation"===n.stmt){m(t,e,n.state1,r),m(t,e,n.state2,r);var i={id:"edge"+v,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:"fill:none",labelStyle:"",label:n.description,arrowheadStyle:"fill: #333",labelpos:"c",labelType:"text",thickness:"normal",classes:"transition"},a=n.state1.id,o=n.state2.id;t.setEdge(a,o,i,v),v++}}))},x=function(t,e){var n=e||"TB";if(t.doc)for(var r=0;r<t.doc.length;r++){var i=t.doc[r];"dir"===i.stmt&&(n=i.value)}return n},_=function(t,e){h.log.info("Drawing state diagram (v2)",e),o.default.clear(),g={};var n=c.a.parser;n.yy=o.default,n.parse(t);var r=o.default.getDirection();void 0===r&&(r="LR");var s=Object(u.getConfig)().state,d=s.nodeSpacing||50,p=s.rankSpacing||50;h.log.info(o.default.getRootDocV2()),o.default.extract(o.default.getRootDocV2()),h.log.info(o.default.getRootDocV2());var y=new i.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:x(o.default.getRootDocV2()),nodesep:d,ranksep:p,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));m(y,void 0,o.default.getRootDocV2(),!0);var v=Object(a.select)('[id="'.concat(e,'"]')),b=Object(a.select)("#"+e+" g");Object(l.render)(b,y,["barb"],"statediagram",e);var _=v.node().getBBox(),k=_.width+16,w=_.height+16;v.attr("class","statediagram");var E=v.node().getBBox();Object(f.configureSvgSize)(v,w,1.75*k,s.useMaxWidth);var T="".concat(E.x-8," ").concat(E.y-8," ").concat(k," ").concat(w);h.log.debug("viewBox ".concat(T)),v.attr("viewBox",T);for(var C=document.querySelectorAll('[id="'+e+'"] .edgeLabel .label'),S=0;S<C.length;S++){var A=C[S],O=A.getBBox(),M=document.createElementNS("http://www.w3.org/2000/svg","rect");M.setAttribute("rx",0),M.setAttribute("ry",0),M.setAttribute("width",O.width),M.setAttribute("height",O.height),A.insertBefore(M,A.firstChild)}};e.default={setConf:p,getClasses:y,draw:_}},"./src/diagrams/state/stateRenderer.js":function(t,e,n){"use strict";n.r(e),n.d(e,"setConf",(function(){return m})),n.d(e,"draw",(function(){return v}));var r,i=n("d3"),a=n("dagre"),o=n.n(a),s=n("graphlib"),c=n.n(s),u=n("./src/logger.js"),l=n("./src/diagrams/state/stateDb.js"),h=n("./src/diagrams/common/common.js"),f=n("./src/diagrams/state/parser/stateDiagram.jison"),d=n("./src/diagrams/state/shapes.js"),p=n("./src/config.js"),g=n("./src/utils.js");f.parser.yy=l.default;var y={},m=function(){},v=function(t,e){r=Object(p.getConfig)().state,f.parser.yy.clear(),f.parser.parse(t),u.log.debug("Rendering diagram "+t);var n=Object(i.select)("[id='".concat(e,"']"));n.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z"),new c.a.Graph({multigraph:!0,compound:!0,rankdir:"RL"}).setDefaultEdgeLabel((function(){return{}}));var a=l.default.getRootDoc();b(a,n,void 0,!1);var o=r.padding,s=n.node().getBBox(),h=s.width+2*o,d=s.height+2*o,y=1.75*h;Object(g.configureSvgSize)(n,d,y,r.useMaxWidth),n.attr("viewBox","".concat(s.x-r.padding," ").concat(s.y-r.padding," ")+h+" "+d)},b=function t(e,n,a,s){var f,p=new c.a.Graph({compound:!0,multigraph:!0}),g=!0;for(f=0;f<e.length;f++)if("relation"===e[f].stmt){g=!1;break}a?p.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:g?1:r.edgeLengthFactor,nodeSep:g?1:50,isMultiGraph:!0}):p.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:g?1:r.edgeLengthFactor,nodeSep:g?1:50,ranker:"tight-tree",isMultiGraph:!0}),p.setDefaultEdgeLabel((function(){return{}})),l.default.extract(e);for(var m=l.default.getStates(),v=l.default.getRelations(),b=Object.keys(m),x=0;x<b.length;x++){var _=m[b[x]];a&&(_.parentId=a);var k=void 0;if(_.doc){var w=n.append("g").attr("id",_.id).attr("class","stateGroup");k=t(_.doc,w,_.id,!s);var E=(w=Object(d.addTitleAndBox)(w,_,s)).node().getBBox();k.width=E.width,k.height=E.height+r.padding/2,y[_.id]={y:r.compositTitleSize}}else k=Object(d.drawState)(n,_,p);if(_.note){var T={descriptions:[],id:_.id+"-note",note:_.note,type:"note"},C=Object(d.drawState)(n,T,p);"left of"===_.note.position?(p.setNode(k.id+"-note",C),p.setNode(k.id,k)):(p.setNode(k.id,k),p.setNode(k.id+"-note",C)),p.setParent(k.id,k.id+"-group"),p.setParent(k.id+"-note",k.id+"-group")}else p.setNode(k.id,k)}u.log.debug("Count=",p.nodeCount(),p);var S=0;v.forEach((function(t){var e;S++,u.log.debug("Setting edge",t),p.setEdge(t.id1,t.id2,{relation:t,width:(e=t.title,e?e.length*r.fontSizeFactor:1),height:r.labelHeight*h.default.getRows(t.title).length,labelpos:"c"},"id"+S)})),o.a.layout(p),u.log.debug("Graph after layout",p.nodes());var A=n.node();p.nodes().forEach((function(t){void 0!==t&&void 0!==p.node(t)?(u.log.warn("Node "+t+": "+JSON.stringify(p.node(t))),Object(i.select)("#"+A.id+" #"+t).attr("transform","translate("+(p.node(t).x-p.node(t).width/2)+","+(p.node(t).y+(y[t]?y[t].y:0)-p.node(t).height/2)+" )"),Object(i.select)("#"+A.id+" #"+t).attr("data-x-shift",p.node(t).x-p.node(t).width/2),document.querySelectorAll("#"+A.id+" #"+t+" .divider").forEach((function(t){var e=t.parentElement,n=0,r=0;e&&(e.parentElement&&(n=e.parentElement.getBBox().width),r=parseInt(e.getAttribute("data-x-shift"),10),Number.isNaN(r)&&(r=0)),t.setAttribute("x1",0-r+8),t.setAttribute("x2",n-r-8)}))):u.log.debug("No Node "+t+": "+JSON.stringify(p.node(t)))}));var O=A.getBBox();p.edges().forEach((function(t){void 0!==t&&void 0!==p.edge(t)&&(u.log.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(p.edge(t))),Object(d.drawEdge)(n,p.edge(t),p.edge(t).relation))})),O=A.getBBox();var M={id:a||"root",label:a||"root",width:0,height:0};return M.width=O.width+2*r.padding,M.height=O.height+2*r.padding,u.log.debug("Doc rendered",M,p),M};e.default={setConf:m,draw:v}},"./src/diagrams/state/styles.js":function(t,e,n){"use strict";n.r(e),e.default=function(t){return"\ndefs #statediagram-barbEnd {\n fill: ".concat(t.transitionColor,";\n stroke: ").concat(t.transitionColor,";\n }\ng.stateGroup text {\n fill: ").concat(t.nodeBorder,";\n stroke: none;\n font-size: 10px;\n}\ng.stateGroup text {\n fill: ").concat(t.textColor,";\n stroke: none;\n font-size: 10px;\n\n}\ng.stateGroup .state-title {\n font-weight: bolder;\n fill: ").concat(t.stateLabelColor,";\n}\n\ng.stateGroup rect {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n}\n\ng.stateGroup line {\n stroke: ").concat(t.lineColor,";\n stroke-width: 1;\n}\n\n.transition {\n stroke: ").concat(t.transitionColor,";\n stroke-width: 1;\n fill: none;\n}\n\n.stateGroup .composit {\n fill: ").concat(t.background,";\n border-bottom: 1px\n}\n\n.stateGroup .alt-composit {\n fill: #e0e0e0;\n border-bottom: 1px\n}\n\n.state-note {\n stroke: ").concat(t.noteBorderColor,";\n fill: ").concat(t.noteBkgColor,";\n\n text {\n fill: ").concat(t.noteTextColor,";\n stroke: none;\n font-size: 10px;\n }\n}\n\n.stateLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ").concat(t.mainBkg,";\n opacity: 0.5;\n}\n\n.edgeLabel .label rect {\n fill: ").concat(t.labelBackgroundColor,";\n opacity: 0.5;\n}\n.edgeLabel .label text {\n fill: ").concat(t.transitionLabelColor||t.tertiaryTextColor,";\n}\n.label div .edgeLabel {\n color: ").concat(t.transitionLabelColor||t.tertiaryTextColor,";\n}\n\n.stateLabel text {\n fill: ").concat(t.stateLabelColor,";\n font-size: 10px;\n font-weight: bold;\n}\n\n.node circle.state-start {\n fill: ").concat(t.specialStateColor,";\n stroke: ").concat(t.specialStateColor,";\n}\n\n.node .fork-join {\n fill: ").concat(t.specialStateColor,";\n stroke: ").concat(t.specialStateColor,";\n}\n\n.node circle.state-end {\n fill: ").concat(t.innerEndBackground,";\n stroke: ").concat(t.background,";\n stroke-width: 1.5\n}\n.end-state-inner {\n fill: ").concat(t.compositeBackground||t.background,";\n // stroke: ").concat(t.background,";\n stroke-width: 1.5\n}\n\n.node rect {\n fill: ").concat(t.stateBkg||t.mainBkg,";\n stroke: ").concat(t.stateBorder||t.nodeBorder,";\n stroke-width: 1px;\n}\n.node polygon {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.stateBorder||t.nodeBorder,";;\n stroke-width: 1px;\n}\n#statediagram-barbEnd {\n fill: ").concat(t.lineColor,";\n}\n\n.statediagram-cluster rect {\n fill: ").concat(t.compositeTitleBackground,";\n stroke: ").concat(t.stateBorder||t.nodeBorder,";\n stroke-width: 1px;\n}\n\n.cluster-label, .nodeLabel {\n color: ").concat(t.stateLabelColor,";\n}\n\n.statediagram-cluster rect.outer {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state .divider {\n stroke: ").concat(t.stateBorder||t.nodeBorder,";\n}\n\n.statediagram-state .title-state {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-cluster.statediagram-cluster .inner {\n fill: ").concat(t.compositeBackground||t.background,";\n}\n.statediagram-cluster.statediagram-cluster-alt .inner {\n fill: ").concat(t.altBackground?t.altBackground:"#efefef",";\n}\n\n.statediagram-cluster .inner {\n rx:0;\n ry:0;\n}\n\n.statediagram-state rect.basic {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state rect.divider {\n stroke-dasharray: 10,10;\n fill: ").concat(t.altBackground?t.altBackground:"#efefef",";\n}\n\n.note-edge {\n stroke-dasharray: 5;\n}\n\n.statediagram-note rect {\n fill: ").concat(t.noteBkgColor,";\n stroke: ").concat(t.noteBorderColor,";\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n.statediagram-note rect {\n fill: ").concat(t.noteBkgColor,";\n stroke: ").concat(t.noteBorderColor,";\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n\n.statediagram-note text {\n fill: ").concat(t.noteTextColor,";\n}\n\n.statediagram-note .nodeLabel {\n color: ").concat(t.noteTextColor,";\n}\n.statediagram .edgeLabel {\n color: red; // ").concat(t.noteTextColor,";\n}\n\n#dependencyStart, #dependencyEnd {\n fill: ").concat(t.lineColor,";\n stroke: ").concat(t.lineColor,";\n stroke-width: 1;\n}\n")}},"./src/diagrams/user-journey/journeyDb.js":function(t,e,n){"use strict";n.r(e),n.d(e,"parseDirective",(function(){return f})),n.d(e,"clear",(function(){return d})),n.d(e,"setTitle",(function(){return p})),n.d(e,"getTitle",(function(){return g})),n.d(e,"addSection",(function(){return y})),n.d(e,"getSections",(function(){return m})),n.d(e,"getTasks",(function(){return v})),n.d(e,"addTask",(function(){return b})),n.d(e,"addTaskOrg",(function(){return x}));var r=n("./src/mermaidAPI.js"),i=n("./src/config.js");function a(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var s="",c="",u=[],l=[],h=[],f=function(t,e,n){r.default.parseDirective(this,t,e,n)},d=function(){u.length=0,l.length=0,c="",s="",h.length=0},p=function(t){s=t},g=function(){return s},y=function(t){c=t,u.push(t)},m=function(){return u},v=function(){for(var t=_(),e=0;!t&&e<100;)t=_(),e++;return l.push.apply(l,h),l},b=function(t,e){var n=e.substr(1).split(":"),r=0,i=[];1===n.length?(r=Number(n[0]),i=[]):(r=Number(n[0]),i=n[1].split(","));var a=i.map((function(t){return t.trim()})),o={section:c,type:c,people:a,task:t,score:r};h.push(o)},x=function(t){var e={section:c,type:c,description:t,task:t,classes:[]};l.push(e)},_=function(){for(var t=!0,e=0;e<h.length;e++)h[e].processed,t=t&&h[e].processed;return t};e.default={parseDirective:f,getConfig:function(){return i.getConfig().journey},clear:d,setTitle:p,getTitle:g,addSection:y,getSections:m,getTasks:v,addTask:b,addTaskOrg:x,getActors:function(){return t=[],l.forEach((function(e){e.people&&t.push.apply(t,a(e.people))})),a(new Set(t)).sort();var t}}},"./src/diagrams/user-journey/journeyRenderer.js":function(t,e,n){"use strict";n.r(e),n.d(e,"setConf",(function(){return u})),n.d(e,"draw",(function(){return d})),n.d(e,"bounds",(function(){return p})),n.d(e,"drawTasks",(function(){return m}));var r=n("d3"),i=n("./src/diagrams/user-journey/parser/journey.jison"),a=n("./src/diagrams/user-journey/journeyDb.js"),o=n("./src/diagrams/user-journey/svgDraw.js"),s=n("./src/config.js"),c=n("./src/utils.js");i.parser.yy=a.default;var u=function(t){Object.keys(t).forEach((function(e){h[e]=t[e]}))},l={},h=Object(s.getConfig)().journey,f=Object(s.getConfig)().journey.leftMargin,d=function(t,e){var n=Object(s.getConfig)().journey;i.parser.yy.clear(),i.parser.parse(t+"\n"),p.init();var a=Object(r.select)("#"+e);a.attr("xmlns:xlink","http://www.w3.org/1999/xlink"),o.default.initGraphics(a);var u=i.parser.yy.getTasks(),h=i.parser.yy.getTitle(),d=i.parser.yy.getActors();for(var g in l)delete l[g];var y=0;d.forEach((function(t){l[t]={color:n.actorColours[y%n.actorColours.length],position:y},y++})),function(t){var e=Object(s.getConfig)().journey,n=60;Object.keys(l).forEach((function(r){var i=l[r].color,a={cx:20,cy:n,r:7,fill:i,stroke:"#000",pos:l[r].position};o.default.drawCircle(t,a);var s={x:40,y:n+7,fill:"#666",text:r,textMargin:5|e.boxTextMargin};o.default.drawText(t,s),n+=20}))}(a),p.insert(0,0,f,50*Object.keys(l).length),m(a,u,0);var v=p.getBounds();h&&a.append("text").text(h).attr("x",f).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);var b=v.stopy-v.starty+2*n.diagramMarginY,x=f+v.stopx+2*n.diagramMarginX;Object(c.configureSvgSize)(a,b,x,n.useMaxWidth),a.append("line").attr("x1",f).attr("y1",4*n.height).attr("x2",x-f-4).attr("y2",4*n.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");var _=h?70:0;a.attr("viewBox","".concat(v.startx," -25 ").concat(x," ").concat(b+_)),a.attr("preserveAspectRatio","xMinYMin meet"),a.attr("height",b+_+25)},p={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,n,r){void 0===t[e]?t[e]=n:t[e]=r(n,t[e])},updateBounds:function(t,e,n,r){var i,a=Object(s.getConfig)().journey,o=this,c=0;this.sequenceItems.forEach((function(s){c++;var u=o.sequenceItems.length-c+1;o.updateVal(s,"starty",e-u*a.boxMargin,Math.min),o.updateVal(s,"stopy",r+u*a.boxMargin,Math.max),o.updateVal(p.data,"startx",t-u*a.boxMargin,Math.min),o.updateVal(p.data,"stopx",n+u*a.boxMargin,Math.max),"activation"!==i&&(o.updateVal(s,"startx",t-u*a.boxMargin,Math.min),o.updateVal(s,"stopx",n+u*a.boxMargin,Math.max),o.updateVal(p.data,"starty",e-u*a.boxMargin,Math.min),o.updateVal(p.data,"stopy",r+u*a.boxMargin,Math.max))}))},insert:function(t,e,n,r){var i=Math.min(t,n),a=Math.max(t,n),o=Math.min(e,r),s=Math.max(e,r);this.updateVal(p.data,"startx",i,Math.min),this.updateVal(p.data,"starty",o,Math.min),this.updateVal(p.data,"stopx",a,Math.max),this.updateVal(p.data,"stopy",s,Math.max),this.updateBounds(i,o,a,s)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},g=h.sectionFills,y=h.sectionColours,m=function(t,e,n){for(var r=Object(s.getConfig)().journey,i="",a=n+(2*r.height+r.diagramMarginY),c=0,u="#CCC",h="black",d=0,m=0;m<e.length;m++){var v=e[m];if(i!==v.section){u=g[c%g.length],d=c%g.length,h=y[c%y.length];var b={x:m*r.taskMargin+m*r.width+f,y:50,text:v.section,fill:u,num:d,colour:h};o.default.drawSection(t,b,r),i=v.section,c++}var x=v.people.reduce((function(t,e){return l[e]&&(t[e]=l[e]),t}),{});v.x=m*r.taskMargin+m*r.width+f,v.y=a,v.width=r.diagramMarginX,v.height=r.diagramMarginY,v.colour=h,v.fill=u,v.num=d,v.actors=x,o.default.drawTask(t,v,r),p.insert(v.x,v.y,v.x+v.width+r.taskMargin,450)}};e.default={setConf:u,draw:d}},"./src/diagrams/user-journey/parser/journey.jison":function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,2],n=[1,5],r=[6,9,11,17,18,19,21],i=[1,15],a=[1,16],o=[1,17],s=[1,21],c=[4,6,9,11,17,18,19,21],u={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,title:17,section:18,taskName:19,taskData:20,open_directive:21,type_directive:22,arg_directive:23,close_directive:24,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"section",19:"taskName",20:"taskData",21:"open_directive",22:"type_directive",23:"arg_directive",24:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,1],[10,2],[10,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 3:case 7:case 8:this.$=[];break;case 4:a[s-1].push(a[s]),this.$=a[s-1];break;case 5:case 6:this.$=a[s];break;case 11:r.setTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 12:r.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 13:r.addTask(a[s-1],a[s]),this.$="task";break;case 15:r.parseDirective("%%{","open_directive");break;case 16:r.parseDirective(a[s],"type_directive");break;case 17:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 18:r.parseDirective("}%%","close_directive","journey")}},table:[{3:1,4:e,7:3,12:4,21:n},{1:[3]},t(r,[2,3],{5:6}),{3:7,4:e,7:3,12:4,21:n},{13:8,22:[1,9]},{22:[2,15]},{6:[1,10],7:18,8:11,9:[1,12],10:13,11:[1,14],12:4,17:i,18:a,19:o,21:n},{1:[2,2]},{14:19,15:[1,20],24:s},t([15,24],[2,16]),t(r,[2,8],{1:[2,1]}),t(r,[2,4]),{7:18,10:22,12:4,17:i,18:a,19:o,21:n},t(r,[2,6]),t(r,[2,7]),t(r,[2,11]),t(r,[2,12]),{20:[1,23]},t(r,[2,14]),{11:[1,24]},{16:25,23:[1,26]},{11:[2,18]},t(r,[2,5]),t(r,[2,13]),t(c,[2,9]),{14:27,24:s},{24:[2,17]},{11:[1,28]},t(c,[2,10])],defaultActions:{5:[2,15],7:[2,2],21:[2,18],26:[2,17]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var m=p.yylloc;a.push(m);var v=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,S,A,O={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var M="";for(T in A=[],o[k])this.terminals_[T]&&T>h&&A.push("'"+this.terminals_[T]+"'");M=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(M,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:m,expected:A})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,m=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],O.$=i[i.length-C],O._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},v&&(O._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(O,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(O.$),a.push(O._$),S=o[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},l={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),21;case 1:return this.begin("type_directive"),22;case 2:return this.popState(),this.begin("arg_directive"),15;case 3:return this.popState(),this.popState(),24;case 4:return 23;case 5:case 6:case 8:case 9:break;case 7:return 11;case 10:return 4;case 11:return 17;case 12:return 18;case 13:return 19;case 14:return 20;case 15:return 15;case 16:return 6;case 17:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,13,14,15,16,17],inclusive:!0}}};function h(){this.yy={}}return u.lexer=l,h.prototype=u,u.Parser=h,new h}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n("./node_modules/node-libs-browser/mock/empty.js").readFileSync(n("./node_modules/path-browserify/index.js").normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n("./node_modules/process/browser.js"),n("./node_modules/webpack/buildin/module.js")(t))},"./src/diagrams/user-journey/styles.js":function(t,e,n){"use strict";n.r(e),e.default=function(t){return".label {\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n color: ".concat(t.textColor,";\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ").concat(t.textColor,"\n }\n\n .legend {\n fill: ").concat(t.textColor,";\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ").concat(t.textColor,"\n }\n\n .face {\n ").concat(t.faceColor?"fill: ".concat(t.faceColor):"fill: #FFF8DC",";\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ").concat(t.arrowheadColor,";\n }\n\n .edgePath .path {\n stroke: ").concat(t.lineColor,";\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ").concat(t.lineColor,";\n fill: none;\n }\n\n .edgeLabel {\n background-color: ").concat(t.edgeLabelBackground,";\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ").concat(t.titleColor,";\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n font-size: 12px;\n background: ").concat(t.tertiaryColor,";\n border: 1px solid ").concat(t.border2,";\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType0):"",";\n }\n .task-type-1, .section-type-1 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType1):"",";\n }\n .task-type-2, .section-type-2 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType2):"",";\n }\n .task-type-3, .section-type-3 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType3):"",";\n }\n .task-type-4, .section-type-4 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType4):"",";\n }\n .task-type-5, .section-type-5 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType5):"",";\n }\n .task-type-6, .section-type-6 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType6):"",";\n }\n .task-type-7, .section-type-7 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType7):"",";\n }\n\n .actor-0 {\n ").concat(t.actor0?"fill: ".concat(t.actor0):"",";\n }\n .actor-1 {\n ").concat(t.actor1?"fill: ".concat(t.actor1):"",";\n }\n .actor-2 {\n ").concat(t.actor2?"fill: ".concat(t.actor2):"",";\n }\n .actor-3 {\n ").concat(t.actor3?"fill: ".concat(t.actor3):"",";\n }\n .actor-4 {\n ").concat(t.actor4?"fill: ".concat(t.actor4):"",";\n }\n .actor-5 {\n ").concat(t.actor5?"fill: ".concat(t.actor5):"",";\n }\n\n }\n")}},"./src/diagrams/user-journey/svgDraw.js":function(t,e,n){"use strict";n.r(e),n.d(e,"drawRect",(function(){return i})),n.d(e,"drawFace",(function(){return a})),n.d(e,"drawCircle",(function(){return o})),n.d(e,"drawText",(function(){return s})),n.d(e,"drawLabel",(function(){return c})),n.d(e,"drawSection",(function(){return u})),n.d(e,"drawTask",(function(){return h})),n.d(e,"drawBackgroundRect",(function(){return f})),n.d(e,"getTextObj",(function(){return d})),n.d(e,"getNoteRect",(function(){return p}));var r=n("d3"),i=function(t,e){var n=t.append("rect");return n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),void 0!==e.class&&n.attr("class",e.class),n},a=function(t,e){var n=15,i=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",n).attr("stroke-width",2).attr("overflow","visible"),a=t.append("g");return a.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),a.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),e.score>3?function(t){var i=Object(r.arc)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(n/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}(a):e.score<3?function(t){var i=Object(r.arc)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(n/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}(a):function(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}(a),i},o=function(t,e){var n=t.append("circle");return n.attr("cx",e.cx),n.attr("cy",e.cy),n.attr("class","actor-"+e.pos),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("r",e.r),void 0!==n.class&&n.attr("class",n.class),void 0!==e.title&&n.append("title").text(e.title),n},s=function(t,e){var n=e.text.replace(/<br\s*\/?>/gi," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),void 0!==e.class&&r.attr("class",e.class);var i=r.append("tspan");return i.attr("x",e.x+2*e.textMargin),i.text(n),r},c=function(t,e){var n,r,i,a,o,c=t.append("polygon");c.attr("points",(n=e.x,r=e.y,n+","+r+" "+(n+(i=50))+","+r+" "+(n+i)+","+(r+(a=20)-(o=7))+" "+(n+i-1.2*o)+","+(r+a)+" "+n+","+(r+a))),c.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,s(t,e)},u=function(t,e,n){var r=t.append("g"),a=p();a.x=e.x,a.y=e.y,a.fill=e.fill,a.width=n.width,a.height=n.height,a.class="journey-section section-type-"+e.num,a.rx=3,a.ry=3,i(r,a),g(n)(e.text,r,a.x,a.y,a.width,a.height,{class:"journey-section section-type-"+e.num},n,e.colour)},l=-1,h=function(t,e,n){var r=e.x+n.width/2,s=t.append("g");l++,s.append("line").attr("id","task"+l).attr("x1",r).attr("y1",e.y).attr("x2",r).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),a(s,{cx:r,cy:300+30*(5-e.score),score:e.score});var c=p();c.x=e.x,c.y=e.y,c.fill=e.fill,c.width=n.width,c.height=n.height,c.class="task task-type-"+e.num,c.rx=3,c.ry=3,i(s,c);var u=e.x+14;e.people.forEach((function(t){var n=e.actors[t].color,r={cx:u,cy:e.y,r:7,fill:n,stroke:"#000",title:t,pos:e.actors[t].position};o(s,r),u+=10})),g(n)(e.task,s,c.x,c.y,c.width,c.height,{class:"task"},n,e.colour)},f=function(t,e){i(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},d=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},p=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},g=function(){function t(t,e,n,i,a,o,s,c){r(e.append("text").attr("x",n+a/2).attr("y",i+o/2+5).style("font-color",c).style("text-anchor","middle").text(t),s)}function e(t,e,n,i,a,o,s,c,u){for(var l=c.taskFontSize,h=c.taskFontFamily,f=t.split(/<br\s*\/?>/gi),d=0;d<f.length;d++){var p=d*l-l*(f.length-1)/2,g=e.append("text").attr("x",n+a/2).attr("y",i).attr("fill",u).style("text-anchor","middle").style("font-size",l).style("font-family",h);g.append("tspan").attr("x",n+a/2).attr("dy",p).text(f[d]),g.attr("y",i+o/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(g,s)}}function n(t,n,i,a,o,s,c,u){var l=n.append("switch"),h=l.append("foreignObject").attr("x",i).attr("y",a).attr("width",o).attr("height",s).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");h.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,l,i,a,o,s,c,u),r(h,c)}function r(t,e){for(var n in e)n in e&&t.attr(n,e[n])}return function(r){return"fo"===r.textPlacement?n:"old"===r.textPlacement?t:e}}();e.default={drawRect:i,drawCircle:o,drawSection:u,drawText:s,drawLabel:c,drawTask:h,drawBackgroundRect:f,getTextObj:d,getNoteRect:p,initGraphics:function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")}}},"./src/errorRenderer.js":function(t,e,n){"use strict";n.r(e),n.d(e,"setConf",(function(){return o})),n.d(e,"draw",(function(){return s}));var r=n("d3"),i=n("./src/logger.js"),a={},o=function(t){Object.keys(t).forEach((function(e){a[e]=t[e]}))},s=function(t,e){try{i.log.debug("Renering svg for syntax error\n");var n=Object(r.select)("#"+t),a=n.append("g");a.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),a.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),a.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),a.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),a.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),a.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),a.append("text").attr("class","error-text").attr("x",1240).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in graph"),a.append("text").attr("class","error-text").attr("x",1050).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+e),n.attr("height",100),n.attr("width",400),n.attr("viewBox","768 0 512 512")}catch(o){i.log.error("Error while rendering info diagram"),i.log.error(o.message)}};e.default={setConf:o,draw:s}},"./src/logger.js":function(t,e,n){"use strict";n.r(e),n.d(e,"LEVELS",(function(){return a})),n.d(e,"log",(function(){return o})),n.d(e,"setLogLevel",(function(){return s}));var r=n("moment-mini"),i=n.n(r),a={debug:1,info:2,warn:3,error:4,fatal:5},o={debug:function(){},info:function(){},warn:function(){},error:function(){},fatal:function(){}},s=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"fatal";isNaN(t)&&(t=t.toLowerCase(),void 0!==a[t]&&(t=a[t])),o.trace=function(){},o.debug=function(){},o.info=function(){},o.warn=function(){},o.error=function(){},o.fatal=function(){},t<=a.fatal&&(o.fatal=console.error?console.error.bind(console,c("FATAL"),"color: orange"):console.log.bind(console,"\x1b[35m",c("FATAL"))),t<=a.error&&(o.error=console.error?console.error.bind(console,c("ERROR"),"color: orange"):console.log.bind(console,"\x1b[31m",c("ERROR"))),t<=a.warn&&(o.warn=console.warn?console.warn.bind(console,c("WARN"),"color: orange"):console.log.bind(console,"\x1b[33m",c("WARN"))),t<=a.info&&(o.info=console.info?console.info.bind(console,c("INFO"),"color: lightblue"):console.log.bind(console,"\x1b[34m",c("INFO"))),t<=a.debug&&(o.debug=console.debug?console.debug.bind(console,c("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",c("DEBUG")))},c=function(t){var e=i()().format("ss.SSS");return"%c".concat(e," : ").concat(t," : ")}},"./src/mermaid.js":function(t,e,n){"use strict";n.r(e);var r=n("./src/logger.js"),i=n("./src/mermaidAPI.js"),a=n("./src/utils.js"),o=function(){s.startOnLoad?i.default.getConfig().startOnLoad&&s.init():void 0===s.startOnLoad&&(r.log.debug("In start, no config"),i.default.getConfig().startOnLoad&&s.init())};"undefined"!=typeof document&&window.addEventListener("load",(function(){o()}),!1);var s={startOnLoad:!0,htmlLabels:!0,mermaidAPI:i.default,parse:i.default.parse,render:i.default.render,init:function(){var t,e,n=this,o=i.default.getConfig();arguments.length>=2?(void 0!==arguments[0]&&(s.sequenceConfig=arguments[0]),t=arguments[1]):t=arguments[0],"function"==typeof arguments[arguments.length-1]?(e=arguments[arguments.length-1],r.log.debug("Callback function found")):void 0!==o.mermaid&&("function"==typeof o.mermaid.callback?(e=o.mermaid.callback,r.log.debug("Callback function found")):r.log.debug("No Callback function found")),t=void 0===t?document.querySelectorAll(".mermaid"):"string"==typeof t?document.querySelectorAll(t):t instanceof window.Node?[t]:t,r.log.debug("Start On Load before: "+s.startOnLoad),void 0!==s.startOnLoad&&(r.log.debug("Start On Load inner: "+s.startOnLoad),i.default.updateSiteConfig({startOnLoad:s.startOnLoad})),void 0!==s.ganttConfig&&i.default.updateSiteConfig({gantt:s.ganttConfig});for(var c,u=new a.default.initIdGeneratior(o.deterministicIds,o.deterministicIDSeed),l=function(o){var s=t[o];if(s.getAttribute("data-processed"))return"continue";s.setAttribute("data-processed",!0);var l="mermaid-".concat(u.next());c=s.innerHTML,c=a.default.entityDecode(c).trim().replace(/<br\s*\/?>/gi,"<br/>");var h=a.default.detectInit(c);h&&r.log.debug("Detected early reinit: ",h);try{i.default.render(l,c,(function(t,n){s.innerHTML=t,void 0!==e&&e(l),n&&n(s)}),s)}catch(f){r.log.warn("Syntax Error rendering"),r.log.warn(f),n.parseError&&n.parseError(f)}},h=0;h<t.length;h++)l(h)},initialize:function(t){void 0!==t.mermaid&&(void 0!==t.mermaid.startOnLoad&&(s.startOnLoad=t.mermaid.startOnLoad),void 0!==t.mermaid.htmlLabels&&(s.htmlLabels="false"!==t.mermaid.htmlLabels&&!1!==t.mermaid.htmlLabels)),i.default.initialize(t)},contentLoaded:o};e.default=s},"./src/mermaidAPI.js":function(t,e,n){"use strict";n.r(e),n.d(e,"encodeEntities",(function(){return st})),n.d(e,"decodeEntities",(function(){return ct}));var r=n("d3"),i=n("stylis"),a=n("./src/diagrams/common/common.js"),o=n("./package.json"),s=n("./src/config.js"),c=n("./src/diagrams/class/classDb.js"),u=n("./src/diagrams/class/classRenderer.js"),l=n("./src/diagrams/class/classRenderer-v2.js"),h=n("./src/diagrams/class/parser/classDiagram.jison"),f=n.n(h),d=n("./src/diagrams/er/erDb.js"),p=n("./src/diagrams/er/erRenderer.js"),g=n("./src/diagrams/er/parser/erDiagram.jison"),y=n.n(g),m=n("./src/diagrams/flowchart/flowDb.js"),v=n("./src/diagrams/flowchart/flowRenderer.js"),b=n("./src/diagrams/flowchart/flowRenderer-v2.js"),x=n("./src/diagrams/flowchart/parser/flow.jison"),_=n.n(x),k=n("./src/diagrams/gantt/ganttDb.js"),w=n("./src/diagrams/gantt/ganttRenderer.js"),E=n("./src/diagrams/gantt/parser/gantt.jison"),T=n.n(E),C=n("./src/diagrams/git/gitGraphAst.js"),S=n("./src/diagrams/git/gitGraphRenderer.js"),A=n("./src/diagrams/git/parser/gitGraph.jison"),O=n.n(A),M=n("./src/diagrams/info/infoDb.js"),j=n("./src/diagrams/info/infoRenderer.js"),D=n("./src/diagrams/info/parser/info.jison"),N=n.n(D),B=n("./src/diagrams/pie/parser/pie.jison"),L=n.n(B),I=n("./src/diagrams/pie/pieDb.js"),R=n("./src/diagrams/pie/pieRenderer.js"),F=n("./src/diagrams/requirement/parser/requirementDiagram.jison"),P=n.n(F),z=n("./src/diagrams/requirement/requirementDb.js"),Y=n("./src/diagrams/requirement/requirementRenderer.js"),U=n("./src/diagrams/sequence/parser/sequenceDiagram.jison"),q=n.n(U),W=n("./src/diagrams/sequence/sequenceDb.js"),$=n("./src/diagrams/sequence/sequenceRenderer.js"),H=n("./src/diagrams/state/parser/stateDiagram.jison"),V=n.n(H),G=n("./src/diagrams/state/stateDb.js"),X=n("./src/diagrams/state/stateRenderer.js"),Z=n("./src/diagrams/state/stateRenderer-v2.js"),K=n("./src/diagrams/user-journey/journeyDb.js"),Q=n("./src/diagrams/user-journey/journeyRenderer.js"),J=n("./src/diagrams/user-journey/parser/journey.jison"),tt=n.n(J),et=n("./src/errorRenderer.js"),nt=n("./src/logger.js"),rt=n("./src/styles.js"),it=n("./src/themes/index.js"),at=n("./src/utils.js");function ot(t){return ot="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ot(t)}var st=function(t){var e=t;return e=(e=(e=e.replace(/style.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)}))).replace(/classDef.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)}))).replace(/#\w+;/g,(function(t){var e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"\ufb02\xb0\xb0"+e+"\xb6\xdf":"\ufb02\xb0"+e+"\xb6\xdf"}))},ct=function(t){var e=t;return e=(e=(e=e.replace(/\ufb02\xb0\xb0/g,(function(){return"&#"}))).replace(/\ufb02\xb0/g,(function(){return"&"}))).replace(/\xb6\xdf/g,(function(){return";"}))},ut={},lt=function(t,e,n){switch(nt.log.debug("Directive type=".concat(e.type," with args:"),e.args),e.type){case"init":case"initialize":["config"].forEach((function(t){void 0!==e.args[t]&&("flowchart-v2"===n&&(n="flowchart"),e.args[n]=e.args[t],delete e.args[t])})),nt.log.debug("sanitize in handleDirective",e.args),Object(at.directiveSanitizer)(e.args),nt.log.debug("sanitize in handleDirective (done)",e.args),e.args,s.addDirective(e.args);break;case"wrap":case"nowrap":t&&t.setWrap&&t.setWrap("wrap"===e.type);break;default:nt.log.warn("Unhandled directive: source: '%%{".concat(e.type,": ").concat(JSON.stringify(e.args?e.args:{}),"}%%"),e)}};function ht(t){S.default.setConf(t.git),v.default.setConf(t.flowchart),b.default.setConf(t.flowchart),void 0!==t.sequenceDiagram&&$.default.setConf(Object(at.assignWithDepth)(t.sequence,t.sequenceDiagram)),$.default.setConf(t.sequence),w.default.setConf(t.gantt),u.default.setConf(t.class),X.default.setConf(t.state),Z.default.setConf(t.state),j.default.setConf(t.class),p.default.setConf(t.er),Q.default.setConf(t.journey),Y.default.setConf(t.requirement),et.default.setConf(t.class)}function ft(){}var dt=Object.freeze({render:function(t,e,n,h){s.reset();var f=e,d=at.default.detectInit(f);d&&s.addDirective(d);var g=s.getConfig();if(e.length>g.maxTextSize&&(f="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa"),void 0!==h)h.innerHTML="",Object(r.select)(h).append("div").attr("id","d"+t).attr("style","font-family: "+g.fontFamily).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g");else{var y=document.getElementById(t);y&&y.remove();var x=document.querySelector("#d"+t);x&&x.remove(),Object(r.select)("body").append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g")}window.txt=f,f=st(f);var _=Object(r.select)("#d"+t).node(),E=at.default.detectType(f,g),T=_.firstChild,C=T.firstChild,A="";if(void 0!==g.themeCSS&&(A+="\n".concat(a.default.sanitizeCSS(g.themeCSS))),void 0!==g.fontFamily&&(A+="\n:root { --mermaid-font-family: ".concat(g.fontFamily,"}")),void 0!==g.altFontFamily&&(A+="\n:root { --mermaid-alt-font-family: ".concat(g.altFontFamily,"}")),"flowchart"===E||"flowchart-v2"===E||"graph"===E){var O=v.default.getClasses(f),M=g.htmlLabels||g.flowchart.htmlLabels;for(var D in O)M?(A+="\n.".concat(D," > * { ").concat(O[D].styles.join(" !important; ")," !important; }"),A+="\n.".concat(D," span { ").concat(O[D].styles.join(" !important; ")," !important; }")):(A+="\n.".concat(D," path { ").concat(O[D].styles.join(" !important; ")," !important; }"),A+="\n.".concat(D," rect { ").concat(O[D].styles.join(" !important; ")," !important; }"),A+="\n.".concat(D," polygon { ").concat(O[D].styles.join(" !important; ")," !important; }"),A+="\n.".concat(D," ellipse { ").concat(O[D].styles.join(" !important; ")," !important; }"),A+="\n.".concat(D," circle { ").concat(O[D].styles.join(" !important; ")," !important; }"),O[D].textStyles&&(A+="\n.".concat(D," tspan { ").concat(O[D].textStyles.join(" !important; ")," !important; }")))}var N,B,L=(N="#".concat(t),B=Object(rt.default)(E,A,g.themeVariables),Object(i.serialize)(Object(i.compile)("".concat(N,"{").concat(B,"}")),i.stringify)),I=document.createElement("style");I.innerHTML="#".concat(t," ")+L,T.insertBefore(I,C);try{switch(E){case"git":g.flowchart.arrowMarkerAbsolute=g.arrowMarkerAbsolute,S.default.setConf(g.git),S.default.draw(f,t,!1);break;case"flowchart":g.flowchart.arrowMarkerAbsolute=g.arrowMarkerAbsolute,v.default.setConf(g.flowchart),v.default.draw(f,t,!1);break;case"flowchart-v2":g.flowchart.arrowMarkerAbsolute=g.arrowMarkerAbsolute,b.default.setConf(g.flowchart),b.default.draw(f,t,!1);break;case"sequence":g.sequence.arrowMarkerAbsolute=g.arrowMarkerAbsolute,g.sequenceDiagram?($.default.setConf(Object.assign(g.sequence,g.sequenceDiagram)),console.error("`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.")):$.default.setConf(g.sequence),$.default.draw(f,t);break;case"gantt":g.gantt.arrowMarkerAbsolute=g.arrowMarkerAbsolute,w.default.setConf(g.gantt),w.default.draw(f,t);break;case"class":g.class.arrowMarkerAbsolute=g.arrowMarkerAbsolute,u.default.setConf(g.class),u.default.draw(f,t);break;case"classDiagram":g.class.arrowMarkerAbsolute=g.arrowMarkerAbsolute,l.default.setConf(g.class),l.default.draw(f,t);break;case"state":g.class.arrowMarkerAbsolute=g.arrowMarkerAbsolute,X.default.setConf(g.state),X.default.draw(f,t);break;case"stateDiagram":g.class.arrowMarkerAbsolute=g.arrowMarkerAbsolute,Z.default.setConf(g.state),Z.default.draw(f,t);break;case"info":g.class.arrowMarkerAbsolute=g.arrowMarkerAbsolute,j.default.setConf(g.class),j.default.draw(f,t,o.version);break;case"pie":R.default.draw(f,t,o.version);break;case"er":p.default.setConf(g.er),p.default.draw(f,t,o.version);break;case"journey":Q.default.setConf(g.journey),Q.default.draw(f,t,o.version);break;case"requirement":Y.default.setConf(g.requirement),Y.default.draw(f,t,o.version)}}catch(z){throw et.default.draw(t,o.version),z}Object(r.select)('[id="'.concat(t,'"]')).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");var F=Object(r.select)("#d"+t).node().innerHTML;if(nt.log.debug("cnf.arrowMarkerAbsolute",g.arrowMarkerAbsolute),g.arrowMarkerAbsolute&&"false"!==g.arrowMarkerAbsolute||(F=F.replace(/marker-end="url\(.*?#/g,'marker-end="url(#',"g")),F=(F=ct(F)).replace(/<br>/g,"<br/>"),void 0!==n)switch(E){case"flowchart":case"flowchart-v2":n(F,m.default.bindFunctions);break;case"gantt":n(F,k.default.bindFunctions);break;case"class":case"classDiagram":n(F,c.default.bindFunctions);break;default:n(F)}else nt.log.debug("CB = undefined!");var P=Object(r.select)("#d"+t).node();return null!==P&&"function"==typeof P.remove&&Object(r.select)("#d"+t).node().remove(),F},parse:function(t){var e=s.getConfig(),n=at.default.detectInit(t,e);n&&nt.log.debug("reinit ",n);var r,i=at.default.detectType(t,e);switch(nt.log.debug("Type "+i),i){case"git":(r=O.a).parser.yy=C.default;break;case"flowchart":case"flowchart-v2":m.default.clear(),(r=_.a).parser.yy=m.default;break;case"sequence":(r=q.a).parser.yy=W.default;break;case"gantt":(r=T.a).parser.yy=k.default;break;case"class":case"classDiagram":(r=f.a).parser.yy=c.default;break;case"state":case"stateDiagram":(r=V.a).parser.yy=G.default;break;case"info":nt.log.debug("info info info"),(r=N.a).parser.yy=M.default;break;case"pie":nt.log.debug("pie"),(r=L.a).parser.yy=I.default;break;case"er":nt.log.debug("er"),(r=y.a).parser.yy=d.default;break;case"journey":nt.log.debug("Journey"),(r=tt.a).parser.yy=K.default;break;case"requirement":case"requirementDiagram":nt.log.debug("RequirementDiagram"),(r=P.a).parser.yy=z.default}return r.parser.yy.graphType=i,r.parser.yy.parseError=function(t,e){throw{str:t,hash:e}},r.parse(t),r},parseDirective:function(t,e,n,r){try{if(void 0!==e)switch(e=e.trim(),n){case"open_directive":ut={};break;case"type_directive":ut.type=e.toLowerCase();break;case"arg_directive":ut.args=JSON.parse(e);break;case"close_directive":lt(t,ut,r),ut=null}}catch(i){nt.log.error("Error while rendering sequenceDiagram directive: ".concat(e," jison context: ").concat(n)),nt.log.error(i.message)}},initialize:function(t){t&&t.fontFamily&&(t.themeVariables&&t.themeVariables.fontFamily||(t.themeVariables={fontFamily:t.fontFamily})),s.saveConfigFromInitilize(t),t&&t.theme&&it.default[t.theme]?t.themeVariables=it.default[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=it.default.default.getThemeVariables(t.themeVariables));var e="object"===ot(t)?s.setSiteConfig(t):s.getSiteConfig();ht(e),Object(nt.setLogLevel)(e.logLevel)},reinitialize:ft,getConfig:s.getConfig,setConfig:s.setConfig,getSiteConfig:s.getSiteConfig,updateSiteConfig:s.updateSiteConfig,reset:function(){s.reset()},globalReset:function(){s.reset(s.defaultConfig),ht(s.getConfig())},defaultConfig:s.defaultConfig});Object(nt.setLogLevel)(s.getConfig().logLevel),s.reset(s.getConfig()),e.default=dt},"./src/styles.js":function(t,e,n){"use strict";n.r(e),n.d(e,"calcThemeVariables",(function(){return g}));var r=n("./src/diagrams/class/styles.js"),i=n("./src/diagrams/er/styles.js"),a=n("./src/diagrams/flowchart/styles.js"),o=n("./src/diagrams/gantt/styles.js"),s=n("./src/diagrams/git/styles.js"),c=n("./src/diagrams/info/styles.js"),u=n("./src/diagrams/pie/styles.js"),l=n("./src/diagrams/requirement/styles.js"),h=n("./src/diagrams/sequence/styles.js"),f=n("./src/diagrams/state/styles.js"),d=n("./src/diagrams/user-journey/styles.js"),p={flowchart:a.default,"flowchart-v2":a.default,sequence:h.default,gantt:o.default,classDiagram:r.default,"classDiagram-v2":r.default,class:r.default,stateDiagram:f.default,state:f.default,git:s.default,info:c.default,pie:u.default,er:i.default,journey:d.default,requirement:l.default},g=function(t,e){return t.calcColors(e)};e.default=function(t,e,n){return" {\n font-family: ".concat(n.fontFamily,";\n font-size: ").concat(n.fontSize,";\n fill: ").concat(n.textColor,"\n }\n\n /* Classes common for multiple diagrams */\n\n .error-icon {\n fill: ").concat(n.errorBkgColor,";\n }\n .error-text {\n fill: ").concat(n.errorTextColor,";\n stroke: ").concat(n.errorTextColor,";\n }\n\n .edge-thickness-normal {\n stroke-width: 2px;\n }\n .edge-thickness-thick {\n stroke-width: 3.5px\n }\n .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n\n .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n .marker {\n fill: ").concat(n.lineColor,";\n stroke: ").concat(n.lineColor,";\n }\n .marker.cross {\n stroke: ").concat(n.lineColor,";\n }\n\n svg {\n font-family: ").concat(n.fontFamily,";\n font-size: ").concat(n.fontSize,";\n }\n\n ").concat(p[t](n),"\n\n ").concat(e,"\n")}},"./src/themes/index.js":function(t,e,n){"use strict";n.r(e);var r=n("./src/themes/theme-base.js"),i=n("./src/themes/theme-dark.js"),a=n("./src/themes/theme-default.js"),o=n("./src/themes/theme-forest.js"),s=n("./src/themes/theme-neutral.js");e.default={base:{getThemeVariables:r.getThemeVariables},dark:{getThemeVariables:i.getThemeVariables},default:{getThemeVariables:a.getThemeVariables},forest:{getThemeVariables:o.getThemeVariables},neutral:{getThemeVariables:s.getThemeVariables}}},"./src/themes/theme-base.js":function(t,e,n){"use strict";n.r(e),n.d(e,"getThemeVariables",(function(){return c}));var r=n("khroma"),i=n("./src/themes/theme-helpers.js");function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function o(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var s=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.background="#f4f4f4",this.darkMode=!1,this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}var e,n,s;return e=t,(n=[{key:"updateColors",value:function(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#ddd":"#333"),this.secondaryColor=this.secondaryColor||Object(r.adjust)(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Object(r.adjust)(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Object(i.mkBorder)(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Object(i.mkBorder)(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Object(i.mkBorder)(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Object(i.mkBorder)(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Object(r.invert)(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Object(r.invert)(this.tertiaryColor),this.lineColor=this.lineColor||Object(r.invert)(this.background),this.textColor=this.textColor||this.primaryTextColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?Object(r.darken)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Object(r.darken)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Object(r.invert)(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Object(r.lighten)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||Object(r.adjust)(this.primaryColor,{h:64}),this.fillType3=this.fillType3||Object(r.adjust)(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||Object(r.adjust)(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||Object(r.adjust)(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||Object(r.adjust)(this.primaryColor,{h:128}),this.fillType7=this.fillType7||Object(r.adjust)(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||Object(r.adjust)(this.primaryColor,{l:-10}),this.pie5=this.pie5||Object(r.adjust)(this.secondaryColor,{l:-10}),this.pie6=this.pie6||Object(r.adjust)(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||Object(r.adjust)(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||Object(r.adjust)(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||Object(r.adjust)(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||Object(r.adjust)(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||Object(r.adjust)(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||Object(r.adjust)(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?Object(r.darken)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor}},{key:"calculate",value:function(t){var e=this;if("object"===a(t)){var n=Object.keys(t);n.forEach((function(n){e[n]=t[n]})),this.updateColors(),n.forEach((function(n){e[n]=t[n]}))}else this.updateColors()}}])&&o(e.prototype,n),s&&o(e,s),t}(),c=function(t){var e=new s;return e.calculate(t),e}},"./src/themes/theme-dark.js":function(t,e,n){"use strict";n.r(e),n.d(e,"getThemeVariables",(function(){return c}));var r=n("khroma"),i=n("./src/themes/theme-helpers.js");function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function o(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var s=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Object(r.lighten)(this.primaryColor,16),this.tertiaryColor=Object(r.adjust)(this.primaryColor,{h:-160}),this.primaryBorderColor=Object(i.mkBorder)(this.primaryColor,this.darkMode),this.secondaryBorderColor=Object(i.mkBorder)(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Object(i.mkBorder)(this.tertiaryColor,this.darkMode),this.primaryTextColor=Object(r.invert)(this.primaryColor),this.secondaryTextColor=Object(r.invert)(this.secondaryColor),this.tertiaryTextColor=Object(r.invert)(this.tertiaryColor),this.lineColor=Object(r.invert)(this.background),this.textColor=Object(r.invert)(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Object(r.lighten)(Object(r.invert)("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=Object(r.rgba)(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=Object(r.darken)("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.taskBorderColor=Object(r.rgba)(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=Object(r.rgba)(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}var e,n,s;return e=t,(n=[{key:"updateColors",value:function(){this.secondBkg=Object(r.lighten)(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=Object(r.lighten)(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=Object(r.lighten)(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Object(r.adjust)(this.primaryColor,{h:64}),this.fillType3=Object(r.adjust)(this.secondaryColor,{h:64}),this.fillType4=Object(r.adjust)(this.primaryColor,{h:-64}),this.fillType5=Object(r.adjust)(this.secondaryColor,{h:-64}),this.fillType6=Object(r.adjust)(this.primaryColor,{h:128}),this.fillType7=Object(r.adjust)(this.secondaryColor,{h:128}),this.pie1=this.pie1||"#0b0000",this.pie2=this.pie2||"#4d1037",this.pie3=this.pie3||"#3f5258",this.pie4=this.pie4||"#4f2f1b",this.pie5=this.pie5||"#6e0a0a",this.pie6=this.pie6||"#3b0048",this.pie7=this.pie7||"#995a01",this.pie8=this.pie8||"#154706",this.pie9=this.pie9||"#161722",this.pie10=this.pie10||"#00296f",this.pie11=this.pie11||"#01629c",this.pie12=this.pie12||"#010029",this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?Object(r.darken)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor}},{key:"calculate",value:function(t){var e=this;if("object"===a(t)){var n=Object.keys(t);n.forEach((function(n){e[n]=t[n]})),this.updateColors(),n.forEach((function(n){e[n]=t[n]}))}else this.updateColors()}}])&&o(e.prototype,n),s&&o(e,s),t}(),c=function(t){var e=new s;return e.calculate(t),e}},"./src/themes/theme-default.js":function(t,e,n){"use strict";n.r(e),n.d(e,"getThemeVariables",(function(){return c}));var r=n("khroma"),i=n("./src/themes/theme-helpers.js");function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function o(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var s=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=Object(r.adjust)(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=Object(r.adjust)(this.primaryColor,{h:-160}),this.primaryBorderColor=Object(i.mkBorder)(this.primaryColor,this.darkMode),this.secondaryBorderColor=Object(i.mkBorder)(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Object(i.mkBorder)(this.tertiaryColor,this.darkMode),this.primaryTextColor=Object(r.invert)(this.primaryColor),this.secondaryTextColor=Object(r.invert)(this.secondaryColor),this.tertiaryTextColor=Object(r.invert)(this.tertiaryColor),this.lineColor=Object(r.invert)(this.background),this.textColor=Object(r.invert)(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=Object(r.rgba)(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}var e,n,s;return e=t,(n=[{key:"updateColors",value:function(){this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=Object(r.lighten)(this.border1,23),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Object(r.adjust)(this.primaryColor,{h:64}),this.fillType3=Object(r.adjust)(this.secondaryColor,{h:64}),this.fillType4=Object(r.adjust)(this.primaryColor,{h:-64}),this.fillType5=Object(r.adjust)(this.secondaryColor,{h:-64}),this.fillType6=Object(r.adjust)(this.primaryColor,{h:128}),this.fillType7=Object(r.adjust)(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||Object(r.adjust)(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||Object(r.adjust)(this.primaryColor,{l:-10}),this.pie5=this.pie5||Object(r.adjust)(this.secondaryColor,{l:-30}),this.pie6=this.pie6||Object(r.adjust)(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||Object(r.adjust)(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||Object(r.adjust)(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||Object(r.adjust)(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||Object(r.adjust)(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||Object(r.adjust)(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||Object(r.adjust)(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor}},{key:"calculate",value:function(t){var e=this;if("object"===a(t)){var n=Object.keys(t);n.forEach((function(n){e[n]=t[n]})),this.updateColors(),n.forEach((function(n){e[n]=t[n]}))}else this.updateColors()}}])&&o(e.prototype,n),s&&o(e,s),t}(),c=function(t){var e=new s;return e.calculate(t),e}},"./src/themes/theme-forest.js":function(t,e,n){"use strict";n.r(e),n.d(e,"getThemeVariables",(function(){return c}));var r=n("khroma"),i=n("./src/themes/theme-helpers.js");function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function o(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var s=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=Object(r.lighten)("#cde498",10),this.primaryBorderColor=Object(i.mkBorder)(this.primaryColor,this.darkMode),this.secondaryBorderColor=Object(i.mkBorder)(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Object(i.mkBorder)(this.tertiaryColor,this.darkMode),this.primaryTextColor=Object(r.invert)(this.primaryColor),this.secondaryTextColor=Object(r.invert)(this.secondaryColor),this.tertiaryTextColor=Object(r.invert)(this.primaryColor),this.lineColor=Object(r.invert)(this.background),this.textColor=Object(r.invert)(this.background),this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}var e,n,s;return e=t,(n=[{key:"updateColors",value:function(){this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.actorBorder=Object(r.darken)(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Object(r.adjust)(this.primaryColor,{h:64}),this.fillType3=Object(r.adjust)(this.secondaryColor,{h:64}),this.fillType4=Object(r.adjust)(this.primaryColor,{h:-64}),this.fillType5=Object(r.adjust)(this.secondaryColor,{h:-64}),this.fillType6=Object(r.adjust)(this.primaryColor,{h:128}),this.fillType7=Object(r.adjust)(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||Object(r.adjust)(this.primaryColor,{l:-30}),this.pie5=this.pie5||Object(r.adjust)(this.secondaryColor,{l:-30}),this.pie6=this.pie6||Object(r.adjust)(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||Object(r.adjust)(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||Object(r.adjust)(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||Object(r.adjust)(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||Object(r.adjust)(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||Object(r.adjust)(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||Object(r.adjust)(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor}},{key:"calculate",value:function(t){var e=this;if("object"===a(t)){var n=Object.keys(t);n.forEach((function(n){e[n]=t[n]})),this.updateColors(),n.forEach((function(n){e[n]=t[n]}))}else this.updateColors()}}])&&o(e.prototype,n),s&&o(e,s),t}(),c=function(t){var e=new s;return e.calculate(t),e}},"./src/themes/theme-helpers.js":function(t,e,n){"use strict";n.r(e),n.d(e,"mkBorder",(function(){return i}));var r=n("khroma"),i=function(t,e){return e?Object(r.adjust)(t,{s:-40,l:10}):Object(r.adjust)(t,{s:-40,l:-10})}},"./src/themes/theme-neutral.js":function(t,e,n){"use strict";n.r(e),n.d(e,"getThemeVariables",(function(){return c}));var r=n("khroma"),i=n("./src/themes/theme-helpers.js");function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function o(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var s=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Object(r.lighten)(this.contrast,55),this.background="#ffffff",this.tertiaryColor=Object(r.adjust)(this.primaryColor,{h:-160}),this.primaryBorderColor=Object(i.mkBorder)(this.primaryColor,this.darkMode),this.secondaryBorderColor=Object(i.mkBorder)(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Object(i.mkBorder)(this.tertiaryColor,this.darkMode),this.primaryTextColor=Object(r.invert)(this.primaryColor),this.secondaryTextColor=Object(r.invert)(this.secondaryColor),this.tertiaryTextColor=Object(r.invert)(this.tertiaryColor),this.lineColor=Object(r.invert)(this.background),this.textColor=Object(r.invert)(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}var e,n,s;return e=t,(n=[{key:"updateColors",value:function(){this.secondBkg=Object(r.lighten)(this.contrast,55),this.border2=this.contrast,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.actorBorder=Object(r.lighten)(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.sectionBkgColor=Object(r.lighten)(this.contrast,30),this.sectionBkgColor2=Object(r.lighten)(this.contrast,30),this.taskBorderColor=Object(r.darken)(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=Object(r.lighten)(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=Object(r.darken)(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.transitionColor=this.transitionColor||"#000",this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Object(r.adjust)(this.primaryColor,{h:64}),this.fillType3=Object(r.adjust)(this.secondaryColor,{h:64}),this.fillType4=Object(r.adjust)(this.primaryColor,{h:-64}),this.fillType5=Object(r.adjust)(this.secondaryColor,{h:-64}),this.fillType6=Object(r.adjust)(this.primaryColor,{h:128}),this.fillType7=Object(r.adjust)(this.secondaryColor,{h:128}),this.pie1=this.pie1||"#F4F4F4",this.pie2=this.pie2||"#555",this.pie3=this.pie3||"#BBB",this.pie4=this.pie4||"#777",this.pie5=this.pie5||"#999",this.pie6=this.pie6||"#DDD",this.pie7=this.pie7||"#FFF",this.pie8=this.pie8||"#DDD",this.pie9=this.pie9||"#BBB",this.pie10=this.pie10||"#999",this.pie11=this.pie11||"#777",this.pie12=this.pie12||"#555",this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOpacity=this.pieOpacity||"0.7",this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||this.primaryBorderColor,this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor}},{key:"calculate",value:function(t){var e=this;if("object"===a(t)){var n=Object.keys(t);n.forEach((function(n){e[n]=t[n]})),this.updateColors(),n.forEach((function(n){e[n]=t[n]}))}else this.updateColors()}}])&&o(e.prototype,n),s&&o(e,s),t}(),c=function(t){var e=new s;return e.calculate(t),e}},"./src/utils.js":function(t,e,n){"use strict";n.r(e),n.d(e,"detectInit",(function(){return x})),n.d(e,"detectDirective",(function(){return _})),n.d(e,"detectType",(function(){return k})),n.d(e,"isSubstringInArray",(function(){return E})),n.d(e,"interpolateToCurve",(function(){return T})),n.d(e,"formatUrl",(function(){return C})),n.d(e,"runFunc",(function(){return S})),n.d(e,"getStylesFromArray",(function(){return O})),n.d(e,"generateId",(function(){return j})),n.d(e,"random",(function(){return D})),n.d(e,"assignWithDepth",(function(){return N})),n.d(e,"getTextObj",(function(){return B})),n.d(e,"drawSimpleText",(function(){return L})),n.d(e,"wrapLabel",(function(){return I})),n.d(e,"calculateTextHeight",(function(){return F})),n.d(e,"calculateTextWidth",(function(){return P})),n.d(e,"calculateTextDimensions",(function(){return z})),n.d(e,"calculateSvgSizeAttrs",(function(){return Y})),n.d(e,"configureSvgSize",(function(){return U})),n.d(e,"initIdGeneratior",(function(){return q})),n.d(e,"entityDecode",(function(){return W})),n.d(e,"directiveSanitizer",(function(){return $}));var r=n("@braintree/sanitize-url"),i=n("d3"),a=n("./src/diagrams/common/common.js"),o=n("./src/defaultConfig.js"),s=n("./src/logger.js"),c=void 0;function u(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function l(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=d(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return o=t.done,t},e:function(t){s=!0,a=t},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function h(t){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},h(t)}function f(t){return function(t){if(Array.isArray(t))return p(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||d(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(t,e){if(t){if("string"==typeof t)return p(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(t,e):void 0}}function p(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var g,y={curveBasis:i.curveBasis,curveBasisClosed:i.curveBasisClosed,curveBasisOpen:i.curveBasisOpen,curveLinear:i.curveLinear,curveLinearClosed:i.curveLinearClosed,curveMonotoneX:i.curveMonotoneX,curveMonotoneY:i.curveMonotoneY,curveNatural:i.curveNatural,curveStep:i.curveStep,curveStepAfter:i.curveStepAfter,curveStepBefore:i.curveStepBefore},m=/[%]{2}[{]\s*(?:(?:(\w+)\s*:|(\w+))\s*(?:(?:(\w+))|((?:(?![}][%]{2}).|\r?\n)*))?\s*)(?:[}][%]{2})?/gi,v=/\s*(?:(?:(\w+)(?=:):|(\w+))\s*(?:(?:(\w+))|((?:(?![}][%]{2}).|\r?\n)*))?\s*)(?:[}][%]{2})?/gi,b=/\s*%%.*\n/gm,x=function(t,e){var n=_(t,/(?:init\b)|(?:initialize\b)/),r={};if(Array.isArray(n)){var i=n.map((function(t){return t.args}));$(i),r=N(r,f(i))}else r=n.args;if(r){var a=k(t,e);["config"].forEach((function(t){void 0!==r[t]&&("flowchart-v2"===a&&(a="flowchart"),r[a]=r[t],delete r[t])}))}return r},_=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;try{var n=new RegExp("[%]{2}(?![{]".concat(v.source,")(?=[}][%]{2}).*\n"),"ig");t=t.trim().replace(n,"").replace(/'/gm,'"'),s.log.debug("Detecting diagram directive".concat(null!==e?" type:"+e:""," based on the text:").concat(t));for(var r,i=[];null!==(r=m.exec(t));)if(r.index===m.lastIndex&&m.lastIndex++,r&&!e||e&&r[1]&&r[1].match(e)||e&&r[2]&&r[2].match(e)){var a=r[1]?r[1]:r[2],o=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;i.push({type:a,args:o})}return 0===i.length&&i.push({type:t,args:null}),1===i.length?i[0]:i}catch(c){return s.log.error("ERROR: ".concat(c.message," - Unable to parse directive\n ").concat(null!==e?" type:"+e:""," based on the text:").concat(t)),{type:null,args:null}}},k=function(t,e){return(t=t.replace(m,"").replace(b,"\n")).match(/^\s*sequenceDiagram/)?"sequence":t.match(/^\s*gantt/)?"gantt":t.match(/^\s*classDiagram-v2/)?"classDiagram":t.match(/^\s*classDiagram/)?e&&e.class&&"dagre-wrapper"===e.class.defaultRenderer?"classDiagram":"class":t.match(/^\s*stateDiagram-v2/)?"stateDiagram":t.match(/^\s*stateDiagram/)?e&&e.class&&"dagre-wrapper"===e.state.defaultRenderer?"stateDiagram":"state":t.match(/^\s*gitGraph/)?"git":t.match(/^\s*flowchart/)?"flowchart-v2":t.match(/^\s*info/)?"info":t.match(/^\s*pie/)?"pie":t.match(/^\s*erDiagram/)?"er":t.match(/^\s*journey/)?"journey":t.match(/^\s*requirement/)||t.match(/^\s*requirementDiagram/)?"requirement":e&&e.flowchart&&"dagre-wrapper"===e.flowchart.defaultRenderer?"flowchart-v2":"flowchart"},w=function(t,e){var n={};return function(){for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];var o=e?e.apply(c,i):i[0];if(o in n)return n[o];var s=t.apply(void 0,i);return n[o]=s,s}},E=function(t,e){for(var n=0;n<e.length;n++)if(e[n].match(t))return n;return-1},T=function(t,e){if(!t)return e;var n="curve".concat(t.charAt(0).toUpperCase()+t.slice(1));return y[n]||e},C=function(t,e){var n=t.trim();if(n)return"loose"!==e.securityLevel?Object(r.sanitizeUrl)(n):n},S=function(t){for(var e,n=t.split("."),r=n.length-1,i=n[r],a=window,o=0;o<r;o++)if(!(a=a[n[o]]))return;for(var s=arguments.length,c=new Array(s>1?s-1:0),u=1;u<s;u++)c[u-1]=arguments[u];(e=a)[i].apply(e,c)},A=function(t,e){return t&&e?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):0},O=function(t){for(var e="",n="",r=0;r<t.length;r++)void 0!==t[r]&&(t[r].startsWith("color:")||t[r].startsWith("text-align:")?n=n+t[r]+";":e=e+t[r]+";");return{style:e,labelStyle:n}},M=0,j=function(){return M++,"id-"+Math.random().toString(36).substr(2,12)+"-"+M},D=function(t){return function(t){for(var e="",n="0123456789abcdef",r=n.length,i=0;i<t;i++)e+=n.charAt(Math.floor(Math.random()*r));return e}(t.length)},N=function t(e,n,r){var i=Object.assign({depth:2,clobber:!1},r),a=i.depth,o=i.clobber;return Array.isArray(n)&&!Array.isArray(e)?(n.forEach((function(n){return t(e,n,r)})),e):Array.isArray(n)&&Array.isArray(e)?(n.forEach((function(t){-1===e.indexOf(t)&&e.push(t)})),e):void 0===e||a<=0?null!=e&&"object"===h(e)&&"object"===h(n)?Object.assign(e,n):n:(void 0!==n&&"object"===h(e)&&"object"===h(n)&&Object.keys(n).forEach((function(r){"object"!==h(n[r])||void 0!==e[r]&&"object"!==h(e[r])?(o||"object"!==h(e[r])&&"object"!==h(n[r]))&&(e[r]=n[r]):(void 0===e[r]&&(e[r]=Array.isArray(n[r])?[]:{}),e[r]=t(e[r],n[r],{depth:a-1,clobber:o}))})),e)},B=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0}},L=function(t,e){var n=e.text.replace(a.default.lineBreakRegex," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.style("text-anchor",e.anchor),r.style("font-family",e.fontFamily),r.style("font-size",e.fontSize),r.style("font-weight",e.fontWeight),r.attr("fill",e.fill),void 0!==e.class&&r.attr("class",e.class);var i=r.append("tspan");return i.attr("x",e.x+2*e.textMargin),i.attr("fill",e.fill),i.text(n),r},I=w((function(t,e,n){if(!t)return t;if(n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},n),a.default.lineBreakRegex.test(t))return t;var r=t.split(" "),i=[],o="";return r.forEach((function(t,a){var s=P("".concat(t," "),n),c=P(o,n);if(s>e){var u=R(t,e,"-",n),l=u.hyphenatedStrings,h=u.remainingWord;i.push.apply(i,[o].concat(f(l))),o=h}else c+s>=e?(i.push(o),o=t):o=[o,t].filter(Boolean).join(" ");a+1===r.length&&i.push(o)})),i.filter((function(t){return""!==t})).join(n.joinWith)}),(function(t,e,n){return"".concat(t,"-").concat(e,"-").concat(n.fontSize,"-").concat(n.fontWeight,"-").concat(n.fontFamily,"-").concat(n.joinWith)})),R=w((function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"-",r=arguments.length>3?arguments[3]:void 0;r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);var i=t.split(""),a=[],o="";return i.forEach((function(t,s){var c="".concat(o).concat(t);if(P(c,r)>=e){var u=s+1,l=i.length===u,h="".concat(c).concat(n);a.push(l?c:h),o=""}else o=c})),{hyphenatedStrings:a,remainingWord:o}}),(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"-",r=arguments.length>3?arguments[3]:void 0;return"".concat(t,"-").concat(e,"-").concat(n,"-").concat(r.fontSize,"-").concat(r.fontWeight,"-").concat(r.fontFamily)})),F=function(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:15},e),z(t,e).height},P=function(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e),z(t,e).width},z=w((function(t,e){var n=e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e),r=n.fontSize,o=n.fontFamily,s=n.fontWeight;if(!t)return{width:0,height:0};var c=["sans-serif",o],u=t.split(a.default.lineBreakRegex),h=[],f=Object(i.select)("body");if(!f.remove)return{width:0,height:0,lineHeight:0};for(var d=f.append("svg"),p=0,g=c;p<g.length;p++){var y,m=g[p],v=0,b={width:0,height:0,lineHeight:0},x=l(u);try{for(x.s();!(y=x.n()).done;){var _=y.value,k=B();k.text=_;var w=L(d,k).style("font-size",r).style("font-weight",s).style("font-family",m),E=(w._groups||w)[0][0].getBBox();b.width=Math.round(Math.max(b.width,E.width)),v=Math.round(E.height),b.height+=v,b.lineHeight=Math.round(Math.max(b.lineHeight,v))}}catch(T){x.e(T)}finally{x.f()}h.push(b)}return d.remove(),h[isNaN(h[1].height)||isNaN(h[1].width)||isNaN(h[1].lineHeight)||h[0].height>h[1].height&&h[0].width>h[1].width&&h[0].lineHeight>h[1].lineHeight?0:1]}),(function(t,e){return"".concat(t,"-").concat(e.fontSize,"-").concat(e.fontWeight,"-").concat(e.fontFamily)})),Y=function(t,e,n){var r=new Map;return r.set("height",t),n?(r.set("width","100%"),r.set("style","max-width: ".concat(e,"px;"))):r.set("width",e),r},U=function(t,e,n,r){!function(t,e){var n,r=l(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;t.attr(i[0],i[1])}}catch(a){r.e(a)}finally{r.f()}}(t,Y(e,n,r))},q=function(){function t(e,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.deterministic=e,this.seed=n,this.count=n?n.length:0}var e,n,r;return e=t,(n=[{key:"next",value:function(){return this.deterministic?this.count++:Date.now()}}])&&u(e.prototype,n),r&&u(e,r),t}(),W=function(t){return g=g||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),g.innerHTML=t,unescape(g.textContent)},$=function t(e){s.log.debug("directiveSanitizer called with",e),"object"===h(e)&&(e.length?e.forEach((function(e){return t(e)})):Object.keys(e).forEach((function(n){s.log.debug("Checking key",n),0===n.indexOf("__")&&(s.log.debug("sanitize deleting __ option",n),delete e[n]),n.indexOf("proto")>=0&&(s.log.debug("sanitize deleting proto option",n),delete e[n]),n.indexOf("constr")>=0&&(s.log.debug("sanitize deleting constr option",n),delete e[n]),o.configKeys.indexOf(n)<0?(s.log.debug("sanitize deleting option",n),delete e[n]):"object"===h(e[n])&&(s.log.debug("sanitize deleting object",n),t(e[n]))})))};e.default={assignWithDepth:N,wrapLabel:I,calculateTextHeight:F,calculateTextWidth:P,calculateTextDimensions:z,calculateSvgSizeAttrs:Y,configureSvgSize:U,detectInit:x,detectDirective:_,detectType:k,isSubstringInArray:E,interpolateToCurve:T,calcLabelPosition:function(t){return function(t){var e,n=0;t.forEach((function(t){n+=A(t,e),e=t}));var r=n/2,i=void 0;return e=void 0,t.forEach((function(t){if(e&&!i){var n=A(t,e);if(n<r)r-=n;else{var a=r/n;a<=0&&(i=e),a>=1&&(i={x:t.x,y:t.y}),a>0&&a<1&&(i={x:(1-a)*e.x+a*t.x,y:(1-a)*e.y+a*t.y})}}e=t})),i}(t)},calcCardinalityPosition:function(t,e,n){var r;s.log.info("our points",e),e[0]!==n&&(e=e.reverse()),e.forEach((function(t){A(t,r),r=t}));var i,a=25;r=void 0,e.forEach((function(t){if(r&&!i){var e=A(t,r);if(e<a)a-=e;else{var n=a/e;n<=0&&(i=r),n>=1&&(i={x:t.x,y:t.y}),n>0&&n<1&&(i={x:(1-n)*r.x+n*t.x,y:(1-n)*r.y+n*t.y})}}r=t}));var o=t?10:5,c=Math.atan2(e[0].y-i.y,e[0].x-i.x),u={x:0,y:0};return u.x=Math.sin(c)*o+(e[0].x+i.x)/2,u.y=-Math.cos(c)*o+(e[0].y+i.y)/2,u},calcTerminalLabelPosition:function(t,e,n){var r,i=JSON.parse(JSON.stringify(n));s.log.info("our points",i),"start_left"!==e&&"start_right"!==e&&(i=i.reverse()),i.forEach((function(t){A(t,r),r=t}));var a,o=25;r=void 0,i.forEach((function(t){if(r&&!a){var e=A(t,r);if(e<o)o-=e;else{var n=o/e;n<=0&&(a=r),n>=1&&(a={x:t.x,y:t.y}),n>0&&n<1&&(a={x:(1-n)*r.x+n*t.x,y:(1-n)*r.y+n*t.y})}}r=t}));var c=10,u=Math.atan2(i[0].y-a.y,i[0].x-a.x),l={x:0,y:0};return l.x=Math.sin(u)*c+(i[0].x+a.x)/2,l.y=-Math.cos(u)*c+(i[0].y+a.y)/2,"start_left"===e&&(l.x=Math.sin(u+Math.PI)*c+(i[0].x+a.x)/2,l.y=-Math.cos(u+Math.PI)*c+(i[0].y+a.y)/2),"end_right"===e&&(l.x=Math.sin(u-Math.PI)*c+(i[0].x+a.x)/2-5,l.y=-Math.cos(u-Math.PI)*c+(i[0].y+a.y)/2-5),"end_left"===e&&(l.x=Math.sin(u)*c+(i[0].x+a.x)/2-5,l.y=-Math.cos(u)*c+(i[0].y+a.y)/2-5),l},formatUrl:C,getStylesFromArray:O,generateId:j,random:D,memoize:w,runFunc:S,entityDecode:W,initIdGeneratior:q,directiveSanitizer:$}},"@braintree/sanitize-url":function(t,e){t.exports=n(29609)},d3:function(t,e){t.exports=n(39634)},dagre:function(t,e){t.exports=n(70681)},"dagre-d3":function(t,e){t.exports=n(44949)},"dagre-d3/lib/label/add-html-label.js":function(t,e){t.exports=n(88284)},dompurify:function(t,e){t.exports=n(27856)},graphlib:function(t,e){t.exports=n(28282)},khroma:function(t,e){t.exports=n(8613)},"moment-mini":function(t,e){t.exports=n(11941)},stylis:function(t,e){t.exports=n(76783)}}).default},t.exports=r()},89234:()=>{},11941:function(t,e,n){(t=n.nmd(t)).exports=function(){"use strict";var e,r;function i(){return e.apply(null,arguments)}function a(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function o(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){return void 0===t}function c(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function u(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function l(t,e){var n,r=[];for(n=0;n<t.length;++n)r.push(e(t[n],n));return r}function h(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function f(t,e){for(var n in e)h(e,n)&&(t[n]=e[n]);return h(e,"toString")&&(t.toString=e.toString),h(e,"valueOf")&&(t.valueOf=e.valueOf),t}function d(t,e,n,r){return Oe(t,e,n,r,!0).utc()}function p(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function g(t){if(null==t._isValid){var e=p(t),n=r.call(e.parsedDateParts,(function(t){return null!=t})),i=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&n);if(t._strict&&(i=i&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return i;t._isValid=i}return t._isValid}function y(t){var e=d(NaN);return null!=t?f(p(e),t):p(e).userInvalidated=!0,e}r=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),n=e.length>>>0,r=0;r<n;r++)if(r in e&&t.call(this,e[r],r,e))return!0;return!1};var m=i.momentProperties=[];function v(t,e){var n,r,i;if(s(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),s(e._i)||(t._i=e._i),s(e._f)||(t._f=e._f),s(e._l)||(t._l=e._l),s(e._strict)||(t._strict=e._strict),s(e._tzm)||(t._tzm=e._tzm),s(e._isUTC)||(t._isUTC=e._isUTC),s(e._offset)||(t._offset=e._offset),s(e._pf)||(t._pf=p(e)),s(e._locale)||(t._locale=e._locale),0<m.length)for(n=0;n<m.length;n++)s(i=e[r=m[n]])||(t[r]=i);return t}var b=!1;function x(t){v(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===b&&(b=!0,i.updateOffset(this),b=!1)}function _(t){return t instanceof x||null!=t&&null!=t._isAMomentObject}function k(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=k(e)),n}function E(t,e,n){var r,i=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),o=0;for(r=0;r<i;r++)(n&&t[r]!==e[r]||!n&&w(t[r])!==w(e[r]))&&o++;return o+a}function T(t){!1===i.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function C(t,e){var n=!0;return f((function(){if(null!=i.deprecationHandler&&i.deprecationHandler(null,t),n){for(var r,a=[],o=0;o<arguments.length;o++){if(r="","object"==typeof arguments[o]){for(var s in r+="\n["+o+"] ",arguments[0])r+=s+": "+arguments[0][s]+", ";r=r.slice(0,-2)}else r=arguments[o];a.push(r)}T(t+"\nArguments: "+Array.prototype.slice.call(a).join("")+"\n"+(new Error).stack),n=!1}return e.apply(this,arguments)}),e)}var S,A={};function O(t,e){null!=i.deprecationHandler&&i.deprecationHandler(t,e),A[t]||(T(e),A[t]=!0)}function M(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function j(t,e){var n,r=f({},t);for(n in e)h(e,n)&&(o(t[n])&&o(e[n])?(r[n]={},f(r[n],t[n]),f(r[n],e[n])):null!=e[n]?r[n]=e[n]:delete r[n]);for(n in t)h(t,n)&&!h(e,n)&&o(t[n])&&(r[n]=f({},r[n]));return r}function D(t){null!=t&&this.set(t)}i.suppressDeprecationWarnings=!1,i.deprecationHandler=null,S=Object.keys?Object.keys:function(t){var e,n=[];for(e in t)h(t,e)&&n.push(e);return n};var N={};function B(t,e){var n=t.toLowerCase();N[n]=N[n+"s"]=N[e]=t}function L(t){return"string"==typeof t?N[t]||N[t.toLowerCase()]:void 0}function I(t){var e,n,r={};for(n in t)h(t,n)&&(e=L(n))&&(r[e]=t[n]);return r}var R={};function F(t,e){R[t]=e}function P(t,e,n){var r=""+Math.abs(t),i=e-r.length;return(0<=t?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}var z=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Y=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,U={},q={};function W(t,e,n,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&(q[t]=i),e&&(q[e[0]]=function(){return P(i.apply(this,arguments),e[1],e[2])}),n&&(q[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function $(t,e){return t.isValid()?(e=H(e,t.localeData()),U[e]=U[e]||function(t){var e,n,r,i=t.match(z);for(e=0,n=i.length;e<n;e++)q[i[e]]?i[e]=q[i[e]]:i[e]=(r=i[e]).match(/\[[\s\S]/)?r.replace(/^\[|\]$/g,""):r.replace(/\\/g,"");return function(e){var r,a="";for(r=0;r<n;r++)a+=M(i[r])?i[r].call(e,t):i[r];return a}}(e),U[e](t)):t.localeData().invalidDate()}function H(t,e){var n=5;function r(t){return e.longDateFormat(t)||t}for(Y.lastIndex=0;0<=n&&Y.test(t);)t=t.replace(Y,r),Y.lastIndex=0,n-=1;return t}var V=/\d/,G=/\d\d/,X=/\d{3}/,Z=/\d{4}/,K=/[+-]?\d{6}/,Q=/\d\d?/,J=/\d\d\d\d?/,tt=/\d\d\d\d\d\d?/,et=/\d{1,3}/,nt=/\d{1,4}/,rt=/[+-]?\d{1,6}/,it=/\d+/,at=/[+-]?\d+/,ot=/Z|[+-]\d\d:?\d\d/gi,st=/Z|[+-]\d\d(?::?\d\d)?/gi,ct=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,ut={};function lt(t,e,n){ut[t]=M(e)?e:function(t,r){return t&&n?n:e}}function ht(t,e){return h(ut,t)?ut[t](e._strict,e._locale):new RegExp(ft(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(t,e,n,r,i){return e||n||r||i}))))}function ft(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var dt={};function pt(t,e){var n,r=e;for("string"==typeof t&&(t=[t]),c(e)&&(r=function(t,n){n[e]=w(t)}),n=0;n<t.length;n++)dt[t[n]]=r}function gt(t,e){pt(t,(function(t,n,r,i){r._w=r._w||{},e(t,r._w,r,i)}))}var yt=0,mt=1,vt=2,bt=3,xt=4,_t=5,kt=6,wt=7,Et=8;function Tt(t){return Ct(t)?366:365}function Ct(t){return t%4==0&&t%100!=0||t%400==0}W("Y",0,0,(function(){var t=this.year();return t<=9999?""+t:"+"+t})),W(0,["YY",2],0,(function(){return this.year()%100})),W(0,["YYYY",4],0,"year"),W(0,["YYYYY",5],0,"year"),W(0,["YYYYYY",6,!0],0,"year"),B("year","y"),F("year",1),lt("Y",at),lt("YY",Q,G),lt("YYYY",nt,Z),lt("YYYYY",rt,K),lt("YYYYYY",rt,K),pt(["YYYYY","YYYYYY"],yt),pt("YYYY",(function(t,e){e[yt]=2===t.length?i.parseTwoDigitYear(t):w(t)})),pt("YY",(function(t,e){e[yt]=i.parseTwoDigitYear(t)})),pt("Y",(function(t,e){e[yt]=parseInt(t,10)})),i.parseTwoDigitYear=function(t){return w(t)+(68<w(t)?1900:2e3)};var St,At=Ot("FullYear",!0);function Ot(t,e){return function(n){return null!=n?(jt(this,t,n),i.updateOffset(this,e),this):Mt(this,t)}}function Mt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function jt(t,e,n){t.isValid()&&!isNaN(n)&&("FullYear"===e&&Ct(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](n,t.month(),Dt(n,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](n))}function Dt(t,e){if(isNaN(t)||isNaN(e))return NaN;var n,r=(e%(n=12)+n)%n;return t+=(e-r)/12,1===r?Ct(t)?29:28:31-r%7%2}St=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},W("M",["MM",2],"Mo",(function(){return this.month()+1})),W("MMM",0,0,(function(t){return this.localeData().monthsShort(this,t)})),W("MMMM",0,0,(function(t){return this.localeData().months(this,t)})),B("month","M"),F("month",8),lt("M",Q),lt("MM",Q,G),lt("MMM",(function(t,e){return e.monthsShortRegex(t)})),lt("MMMM",(function(t,e){return e.monthsRegex(t)})),pt(["M","MM"],(function(t,e){e[mt]=w(t)-1})),pt(["MMM","MMMM"],(function(t,e,n,r){var i=n._locale.monthsParse(t,r,n._strict);null!=i?e[mt]=i:p(n).invalidMonth=t}));var Nt=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Bt="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Lt="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function It(t,e){var n;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=w(e);else if(!c(e=t.localeData().monthsParse(e)))return t;return n=Math.min(t.date(),Dt(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t}function Rt(t){return null!=t?(It(this,t),i.updateOffset(this,!0),this):Mt(this,"Month")}var Ft=ct,Pt=ct;function zt(){function t(t,e){return e.length-t.length}var e,n,r=[],i=[],a=[];for(e=0;e<12;e++)n=d([2e3,e]),r.push(this.monthsShort(n,"")),i.push(this.months(n,"")),a.push(this.months(n,"")),a.push(this.monthsShort(n,""));for(r.sort(t),i.sort(t),a.sort(t),e=0;e<12;e++)r[e]=ft(r[e]),i[e]=ft(i[e]);for(e=0;e<24;e++)a[e]=ft(a[e]);this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Yt(t){var e;if(t<100&&0<=t){var n=Array.prototype.slice.call(arguments);n[0]=t+400,e=new Date(Date.UTC.apply(null,n)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)}else e=new Date(Date.UTC.apply(null,arguments));return e}function Ut(t,e,n){var r=7+e-n;return-(7+Yt(t,0,r).getUTCDay()-e)%7+r-1}function qt(t,e,n,r,i){var a,o,s=1+7*(e-1)+(7+n-r)%7+Ut(t,r,i);return o=s<=0?Tt(a=t-1)+s:s>Tt(t)?(a=t+1,s-Tt(t)):(a=t,s),{year:a,dayOfYear:o}}function Wt(t,e,n){var r,i,a=Ut(t.year(),e,n),o=Math.floor((t.dayOfYear()-a-1)/7)+1;return o<1?r=o+$t(i=t.year()-1,e,n):o>$t(t.year(),e,n)?(r=o-$t(t.year(),e,n),i=t.year()+1):(i=t.year(),r=o),{week:r,year:i}}function $t(t,e,n){var r=Ut(t,e,n),i=Ut(t+1,e,n);return(Tt(t)-r+i)/7}function Ht(t,e){return t.slice(e,7).concat(t.slice(0,e))}W("w",["ww",2],"wo","week"),W("W",["WW",2],"Wo","isoWeek"),B("week","w"),B("isoWeek","W"),F("week",5),F("isoWeek",5),lt("w",Q),lt("ww",Q,G),lt("W",Q),lt("WW",Q,G),gt(["w","ww","W","WW"],(function(t,e,n,r){e[r.substr(0,1)]=w(t)})),W("d",0,"do","day"),W("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),W("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),W("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),W("e",0,0,"weekday"),W("E",0,0,"isoWeekday"),B("day","d"),B("weekday","e"),B("isoWeekday","E"),F("day",11),F("weekday",11),F("isoWeekday",11),lt("d",Q),lt("e",Q),lt("E",Q),lt("dd",(function(t,e){return e.weekdaysMinRegex(t)})),lt("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),lt("dddd",(function(t,e){return e.weekdaysRegex(t)})),gt(["dd","ddd","dddd"],(function(t,e,n,r){var i=n._locale.weekdaysParse(t,r,n._strict);null!=i?e.d=i:p(n).invalidWeekday=t})),gt(["d","e","E"],(function(t,e,n,r){e[r]=w(t)}));var Vt="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Gt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Xt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Zt=ct,Kt=ct,Qt=ct;function Jt(){function t(t,e){return e.length-t.length}var e,n,r,i,a,o=[],s=[],c=[],u=[];for(e=0;e<7;e++)n=d([2e3,1]).day(e),r=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),a=this.weekdays(n,""),o.push(r),s.push(i),c.push(a),u.push(r),u.push(i),u.push(a);for(o.sort(t),s.sort(t),c.sort(t),u.sort(t),e=0;e<7;e++)s[e]=ft(s[e]),c[e]=ft(c[e]),u[e]=ft(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function te(){return this.hours()%12||12}function ee(t,e){W(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function ne(t,e){return e._meridiemParse}W("H",["HH",2],0,"hour"),W("h",["hh",2],0,te),W("k",["kk",2],0,(function(){return this.hours()||24})),W("hmm",0,0,(function(){return""+te.apply(this)+P(this.minutes(),2)})),W("hmmss",0,0,(function(){return""+te.apply(this)+P(this.minutes(),2)+P(this.seconds(),2)})),W("Hmm",0,0,(function(){return""+this.hours()+P(this.minutes(),2)})),W("Hmmss",0,0,(function(){return""+this.hours()+P(this.minutes(),2)+P(this.seconds(),2)})),ee("a",!0),ee("A",!1),B("hour","h"),F("hour",13),lt("a",ne),lt("A",ne),lt("H",Q),lt("h",Q),lt("k",Q),lt("HH",Q,G),lt("hh",Q,G),lt("kk",Q,G),lt("hmm",J),lt("hmmss",tt),lt("Hmm",J),lt("Hmmss",tt),pt(["H","HH"],bt),pt(["k","kk"],(function(t,e,n){var r=w(t);e[bt]=24===r?0:r})),pt(["a","A"],(function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t})),pt(["h","hh"],(function(t,e,n){e[bt]=w(t),p(n).bigHour=!0})),pt("hmm",(function(t,e,n){var r=t.length-2;e[bt]=w(t.substr(0,r)),e[xt]=w(t.substr(r)),p(n).bigHour=!0})),pt("hmmss",(function(t,e,n){var r=t.length-4,i=t.length-2;e[bt]=w(t.substr(0,r)),e[xt]=w(t.substr(r,2)),e[_t]=w(t.substr(i)),p(n).bigHour=!0})),pt("Hmm",(function(t,e,n){var r=t.length-2;e[bt]=w(t.substr(0,r)),e[xt]=w(t.substr(r))})),pt("Hmmss",(function(t,e,n){var r=t.length-4,i=t.length-2;e[bt]=w(t.substr(0,r)),e[xt]=w(t.substr(r,2)),e[_t]=w(t.substr(i))}));var re,ie=Ot("Hours",!0),ae={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Bt,monthsShort:Lt,week:{dow:0,doy:6},weekdays:Vt,weekdaysMin:Xt,weekdaysShort:Gt,meridiemParse:/[ap]\.?m?\.?/i},oe={},se={};function ce(t){return t?t.toLowerCase().replace("_","-"):t}function ue(e){var r=null;if(!oe[e]&&t&&t.exports)try{r=re._abbr,n(11748)("./"+e),le(r)}catch(e){}return oe[e]}function le(t,e){var n;return t&&((n=s(e)?fe(t):he(t,e))?re=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),re._abbr}function he(t,e){if(null===e)return delete oe[t],null;var n,r=ae;if(e.abbr=t,null!=oe[t])O("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=oe[t]._config;else if(null!=e.parentLocale)if(null!=oe[e.parentLocale])r=oe[e.parentLocale]._config;else{if(null==(n=ue(e.parentLocale)))return se[e.parentLocale]||(se[e.parentLocale]=[]),se[e.parentLocale].push({name:t,config:e}),null;r=n._config}return oe[t]=new D(j(r,e)),se[t]&&se[t].forEach((function(t){he(t.name,t.config)})),le(t),oe[t]}function fe(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return re;if(!a(t)){if(e=ue(t))return e;t=[t]}return function(t){for(var e,n,r,i,a=0;a<t.length;){for(e=(i=ce(t[a]).split("-")).length,n=(n=ce(t[a+1]))?n.split("-"):null;0<e;){if(r=ue(i.slice(0,e).join("-")))return r;if(n&&n.length>=e&&E(i,n,!0)>=e-1)break;e--}a++}return re}(t)}function de(t){var e,n=t._a;return n&&-2===p(t).overflow&&(e=n[mt]<0||11<n[mt]?mt:n[vt]<1||n[vt]>Dt(n[yt],n[mt])?vt:n[bt]<0||24<n[bt]||24===n[bt]&&(0!==n[xt]||0!==n[_t]||0!==n[kt])?bt:n[xt]<0||59<n[xt]?xt:n[_t]<0||59<n[_t]?_t:n[kt]<0||999<n[kt]?kt:-1,p(t)._overflowDayOfYear&&(e<yt||vt<e)&&(e=vt),p(t)._overflowWeeks&&-1===e&&(e=wt),p(t)._overflowWeekday&&-1===e&&(e=Et),p(t).overflow=e),t}function pe(t,e,n){return null!=t?t:null!=e?e:n}function ge(t){var e,n,r,a,o,s=[];if(!t._d){var c,u;for(c=t,u=new Date(i.now()),r=c._useUTC?[u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()]:[u.getFullYear(),u.getMonth(),u.getDate()],t._w&&null==t._a[vt]&&null==t._a[mt]&&function(t){var e,n,r,i,a,o,s,c;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)a=1,o=4,n=pe(e.GG,t._a[yt],Wt(Me(),1,4).year),r=pe(e.W,1),((i=pe(e.E,1))<1||7<i)&&(c=!0);else{a=t._locale._week.dow,o=t._locale._week.doy;var u=Wt(Me(),a,o);n=pe(e.gg,t._a[yt],u.year),r=pe(e.w,u.week),null!=e.d?((i=e.d)<0||6<i)&&(c=!0):null!=e.e?(i=e.e+a,(e.e<0||6<e.e)&&(c=!0)):i=a}r<1||r>$t(n,a,o)?p(t)._overflowWeeks=!0:null!=c?p(t)._overflowWeekday=!0:(s=qt(n,r,i,a,o),t._a[yt]=s.year,t._dayOfYear=s.dayOfYear)}(t),null!=t._dayOfYear&&(o=pe(t._a[yt],r[yt]),(t._dayOfYear>Tt(o)||0===t._dayOfYear)&&(p(t)._overflowDayOfYear=!0),n=Yt(o,0,t._dayOfYear),t._a[mt]=n.getUTCMonth(),t._a[vt]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=r[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[bt]&&0===t._a[xt]&&0===t._a[_t]&&0===t._a[kt]&&(t._nextDay=!0,t._a[bt]=0),t._d=(t._useUTC?Yt:function(t,e,n,r,i,a,o){var s;return t<100&&0<=t?(s=new Date(t+400,e,n,r,i,a,o),isFinite(s.getFullYear())&&s.setFullYear(t)):s=new Date(t,e,n,r,i,a,o),s}).apply(null,s),a=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[bt]=24),t._w&&void 0!==t._w.d&&t._w.d!==a&&(p(t).weekdayMismatch=!0)}}var ye=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,me=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ve=/Z|[+-]\d\d(?::?\d\d)?/,be=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],xe=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],_e=/^\/?Date\((\-?\d+)/i;function ke(t){var e,n,r,i,a,o,s=t._i,c=ye.exec(s)||me.exec(s);if(c){for(p(t).iso=!0,e=0,n=be.length;e<n;e++)if(be[e][1].exec(c[1])){i=be[e][0],r=!1!==be[e][2];break}if(null==i)return void(t._isValid=!1);if(c[3]){for(e=0,n=xe.length;e<n;e++)if(xe[e][1].exec(c[3])){a=(c[2]||" ")+xe[e][0];break}if(null==a)return void(t._isValid=!1)}if(!r&&null!=a)return void(t._isValid=!1);if(c[4]){if(!ve.exec(c[4]))return void(t._isValid=!1);o="Z"}t._f=i+(a||"")+(o||""),Se(t)}else t._isValid=!1}var we=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function Ee(t,e,n,r,i,a){var o=[function(t){var e=parseInt(t,10);return e<=49?2e3+e:e<=999?1900+e:e}(t),Lt.indexOf(e),parseInt(n,10),parseInt(r,10),parseInt(i,10)];return a&&o.push(parseInt(a,10)),o}var Te={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Ce(t){var e,n,r,i=we.exec(t._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(i){var a=Ee(i[4],i[3],i[2],i[5],i[6],i[7]);if(n=a,r=t,(e=i[1])&&Gt.indexOf(e)!==new Date(n[0],n[1],n[2]).getDay()&&(p(r).weekdayMismatch=!0,!(r._isValid=!1)))return;t._a=a,t._tzm=function(t,e,n){if(t)return Te[t];if(e)return 0;var r=parseInt(n,10),i=r%100;return(r-i)/100*60+i}(i[8],i[9],i[10]),t._d=Yt.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),p(t).rfc2822=!0}else t._isValid=!1}function Se(t){if(t._f!==i.ISO_8601)if(t._f!==i.RFC_2822){t._a=[],p(t).empty=!0;var e,n,r,a,o,s,c,u,l=""+t._i,f=l.length,d=0;for(r=H(t._f,t._locale).match(z)||[],e=0;e<r.length;e++)a=r[e],(n=(l.match(ht(a,t))||[])[0])&&(0<(o=l.substr(0,l.indexOf(n))).length&&p(t).unusedInput.push(o),l=l.slice(l.indexOf(n)+n.length),d+=n.length),q[a]?(n?p(t).empty=!1:p(t).unusedTokens.push(a),s=a,u=t,null!=(c=n)&&h(dt,s)&&dt[s](c,u._a,u,s)):t._strict&&!n&&p(t).unusedTokens.push(a);p(t).charsLeftOver=f-d,0<l.length&&p(t).unusedInput.push(l),t._a[bt]<=12&&!0===p(t).bigHour&&0<t._a[bt]&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[bt]=function(t,e,n){var r;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):(null!=t.isPM&&((r=t.isPM(n))&&e<12&&(e+=12),r||12!==e||(e=0)),e)}(t._locale,t._a[bt],t._meridiem),ge(t),de(t)}else Ce(t);else ke(t)}function Ae(t){var e,n,r,h,d=t._i,m=t._f;return t._locale=t._locale||fe(t._l),null===d||void 0===m&&""===d?y({nullInput:!0}):("string"==typeof d&&(t._i=d=t._locale.preparse(d)),_(d)?new x(de(d)):(u(d)?t._d=d:a(m)?function(t){var e,n,r,i,a;if(0===t._f.length)return p(t).invalidFormat=!0,t._d=new Date(NaN);for(i=0;i<t._f.length;i++)a=0,e=v({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[i],Se(e),g(e)&&(a+=p(e).charsLeftOver,a+=10*p(e).unusedTokens.length,p(e).score=a,(null==r||a<r)&&(r=a,n=e));f(t,n||e)}(t):m?Se(t):s(n=(e=t)._i)?e._d=new Date(i.now()):u(n)?e._d=new Date(n.valueOf()):"string"==typeof n?(r=e,null===(h=_e.exec(r._i))?(ke(r),!1===r._isValid&&(delete r._isValid,Ce(r),!1===r._isValid&&(delete r._isValid,i.createFromInputFallback(r)))):r._d=new Date(+h[1])):a(n)?(e._a=l(n.slice(0),(function(t){return parseInt(t,10)})),ge(e)):o(n)?function(t){if(!t._d){var e=I(t._i);t._a=l([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],(function(t){return t&&parseInt(t,10)})),ge(t)}}(e):c(n)?e._d=new Date(n):i.createFromInputFallback(e),g(t)||(t._d=null),t))}function Oe(t,e,n,r,i){var s,c={};return!0!==n&&!1!==n||(r=n,n=void 0),(o(t)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(t)||a(t)&&0===t.length)&&(t=void 0),c._isAMomentObject=!0,c._useUTC=c._isUTC=i,c._l=n,c._i=t,c._f=e,c._strict=r,(s=new x(de(Ae(c))))._nextDay&&(s.add(1,"d"),s._nextDay=void 0),s}function Me(t,e,n,r){return Oe(t,e,n,r,!1)}i.createFromInputFallback=C("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))})),i.ISO_8601=function(){},i.RFC_2822=function(){};var je=C("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=Me.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:y()})),De=C("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=Me.apply(null,arguments);return this.isValid()&&t.isValid()?this<t?this:t:y()}));function Ne(t,e){var n,r;if(1===e.length&&a(e[0])&&(e=e[0]),!e.length)return Me();for(n=e[0],r=1;r<e.length;++r)e[r].isValid()&&!e[r][t](n)||(n=e[r]);return n}var Be=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Le(t){var e=I(t),n=e.year||0,r=e.quarter||0,i=e.month||0,a=e.week||e.isoWeek||0,o=e.day||0,s=e.hour||0,c=e.minute||0,u=e.second||0,l=e.millisecond||0;this._isValid=function(t){for(var e in t)if(-1===St.call(Be,e)||null!=t[e]&&isNaN(t[e]))return!1;for(var n=!1,r=0;r<Be.length;++r)if(t[Be[r]]){if(n)return!1;parseFloat(t[Be[r]])!==w(t[Be[r]])&&(n=!0)}return!0}(e),this._milliseconds=+l+1e3*u+6e4*c+1e3*s*60*60,this._days=+o+7*a,this._months=+i+3*r+12*n,this._data={},this._locale=fe(),this._bubble()}function Ie(t){return t instanceof Le}function Re(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function Fe(t,e){W(t,0,0,(function(){var t=this.utcOffset(),n="+";return t<0&&(t=-t,n="-"),n+P(~~(t/60),2)+e+P(~~t%60,2)}))}Fe("Z",":"),Fe("ZZ",""),lt("Z",st),lt("ZZ",st),pt(["Z","ZZ"],(function(t,e,n){n._useUTC=!0,n._tzm=ze(st,t)}));var Pe=/([\+\-]|\d\d)/gi;function ze(t,e){var n=(e||"").match(t);if(null===n)return null;var r=((n[n.length-1]||[])+"").match(Pe)||["-",0,0],i=60*r[1]+w(r[2]);return 0===i?0:"+"===r[0]?i:-i}function Ye(t,e){var n,r;return e._isUTC?(n=e.clone(),r=(_(t)||u(t)?t.valueOf():Me(t).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+r),i.updateOffset(n,!1),n):Me(t).local()}function Ue(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function qe(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var We=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,$e=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function He(t,e){var n,r,i,a=t,o=null;return Ie(t)?a={ms:t._milliseconds,d:t._days,M:t._months}:c(t)?(a={},e?a[e]=t:a.milliseconds=t):(o=We.exec(t))?(n="-"===o[1]?-1:1,a={y:0,d:w(o[vt])*n,h:w(o[bt])*n,m:w(o[xt])*n,s:w(o[_t])*n,ms:w(Re(1e3*o[kt]))*n}):(o=$e.exec(t))?(n="-"===o[1]?-1:1,a={y:Ve(o[2],n),M:Ve(o[3],n),w:Ve(o[4],n),d:Ve(o[5],n),h:Ve(o[6],n),m:Ve(o[7],n),s:Ve(o[8],n)}):null==a?a={}:"object"==typeof a&&("from"in a||"to"in a)&&(i=function(t,e){var n;return t.isValid()&&e.isValid()?(e=Ye(e,t),t.isBefore(e)?n=Ge(t,e):((n=Ge(e,t)).milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}(Me(a.from),Me(a.to)),(a={}).ms=i.milliseconds,a.M=i.months),r=new Le(a),Ie(t)&&h(t,"_locale")&&(r._locale=t._locale),r}function Ve(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function Ge(t,e){var n={};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function Xe(t,e){return function(n,r){var i;return null===r||isNaN(+r)||(O(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),i=n,n=r,r=i),Ze(this,He(n="string"==typeof n?+n:n,r),t),this}}function Ze(t,e,n,r){var a=e._milliseconds,o=Re(e._days),s=Re(e._months);t.isValid()&&(r=null==r||r,s&&It(t,Mt(t,"Month")+s*n),o&&jt(t,"Date",Mt(t,"Date")+o*n),a&&t._d.setTime(t._d.valueOf()+a*n),r&&i.updateOffset(t,o||s))}He.fn=Le.prototype,He.invalid=function(){return He(NaN)};var Ke=Xe(1,"add"),Qe=Xe(-1,"subtract");function Je(t,e){var n=12*(e.year()-t.year())+(e.month()-t.month()),r=t.clone().add(n,"months");return-(n+(e-r<0?(e-r)/(r-t.clone().add(n-1,"months")):(e-r)/(t.clone().add(n+1,"months")-r)))||0}function tn(t){var e;return void 0===t?this._locale._abbr:(null!=(e=fe(t))&&(this._locale=e),this)}i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",i.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var en=C("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function nn(){return this._locale}var rn=126227808e5;function an(t,e){return(t%e+e)%e}function on(t,e,n){return t<100&&0<=t?new Date(t+400,e,n)-rn:new Date(t,e,n).valueOf()}function sn(t,e,n){return t<100&&0<=t?Date.UTC(t+400,e,n)-rn:Date.UTC(t,e,n)}function cn(t,e){W(0,[t,t.length],0,e)}function un(t,e,n,r,i){var a;return null==t?Wt(this,r,i).year:((a=$t(t,r,i))<e&&(e=a),function(t,e,n,r,i){var a=qt(t,e,n,r,i),o=Yt(a.year,0,a.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}.call(this,t,e,n,r,i))}W(0,["gg",2],0,(function(){return this.weekYear()%100})),W(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),cn("gggg","weekYear"),cn("ggggg","weekYear"),cn("GGGG","isoWeekYear"),cn("GGGGG","isoWeekYear"),B("weekYear","gg"),B("isoWeekYear","GG"),F("weekYear",1),F("isoWeekYear",1),lt("G",at),lt("g",at),lt("GG",Q,G),lt("gg",Q,G),lt("GGGG",nt,Z),lt("gggg",nt,Z),lt("GGGGG",rt,K),lt("ggggg",rt,K),gt(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,n,r){e[r.substr(0,2)]=w(t)})),gt(["gg","GG"],(function(t,e,n,r){e[r]=i.parseTwoDigitYear(t)})),W("Q",0,"Qo","quarter"),B("quarter","Q"),F("quarter",7),lt("Q",V),pt("Q",(function(t,e){e[mt]=3*(w(t)-1)})),W("D",["DD",2],"Do","date"),B("date","D"),F("date",9),lt("D",Q),lt("DD",Q,G),lt("Do",(function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient})),pt(["D","DD"],vt),pt("Do",(function(t,e){e[vt]=w(t.match(Q)[0])}));var ln=Ot("Date",!0);W("DDD",["DDDD",3],"DDDo","dayOfYear"),B("dayOfYear","DDD"),F("dayOfYear",4),lt("DDD",et),lt("DDDD",X),pt(["DDD","DDDD"],(function(t,e,n){n._dayOfYear=w(t)})),W("m",["mm",2],0,"minute"),B("minute","m"),F("minute",14),lt("m",Q),lt("mm",Q,G),pt(["m","mm"],xt);var hn=Ot("Minutes",!1);W("s",["ss",2],0,"second"),B("second","s"),F("second",15),lt("s",Q),lt("ss",Q,G),pt(["s","ss"],_t);var fn,dn=Ot("Seconds",!1);for(W("S",0,0,(function(){return~~(this.millisecond()/100)})),W(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),W(0,["SSS",3],0,"millisecond"),W(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),W(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),W(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),W(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),W(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),W(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),B("millisecond","ms"),F("millisecond",16),lt("S",et,V),lt("SS",et,G),lt("SSS",et,X),fn="SSSS";fn.length<=9;fn+="S")lt(fn,it);function pn(t,e){e[kt]=w(1e3*("0."+t))}for(fn="S";fn.length<=9;fn+="S")pt(fn,pn);var gn=Ot("Milliseconds",!1);W("z",0,0,"zoneAbbr"),W("zz",0,0,"zoneName");var yn=x.prototype;function mn(t){return t}yn.add=Ke,yn.calendar=function(t,e){var n=t||Me(),r=Ye(n,this).startOf("day"),a=i.calendarFormat(this,r)||"sameElse",o=e&&(M(e[a])?e[a].call(this,n):e[a]);return this.format(o||this.localeData().calendar(a,this,Me(n)))},yn.clone=function(){return new x(this)},yn.diff=function(t,e,n){var r,i,a;if(!this.isValid())return NaN;if(!(r=Ye(t,this)).isValid())return NaN;switch(i=6e4*(r.utcOffset()-this.utcOffset()),e=L(e)){case"year":a=Je(this,r)/12;break;case"month":a=Je(this,r);break;case"quarter":a=Je(this,r)/3;break;case"second":a=(this-r)/1e3;break;case"minute":a=(this-r)/6e4;break;case"hour":a=(this-r)/36e5;break;case"day":a=(this-r-i)/864e5;break;case"week":a=(this-r-i)/6048e5;break;default:a=this-r}return n?a:k(a)},yn.endOf=function(t){var e;if(void 0===(t=L(t))||"millisecond"===t||!this.isValid())return this;var n=this._isUTC?sn:on;switch(t){case"year":e=n(this.year()+1,0,1)-1;break;case"quarter":e=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=n(this.year(),this.month()+1,1)-1;break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=36e5-an(e+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":e=this._d.valueOf(),e+=6e4-an(e,6e4)-1;break;case"second":e=this._d.valueOf(),e+=1e3-an(e,1e3)-1}return this._d.setTime(e),i.updateOffset(this,!0),this},yn.format=function(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=$(this,t);return this.localeData().postformat(e)},yn.from=function(t,e){return this.isValid()&&(_(t)&&t.isValid()||Me(t).isValid())?He({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},yn.fromNow=function(t){return this.from(Me(),t)},yn.to=function(t,e){return this.isValid()&&(_(t)&&t.isValid()||Me(t).isValid())?He({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},yn.toNow=function(t){return this.to(Me(),t)},yn.get=function(t){return M(this[t=L(t)])?this[t]():this},yn.invalidAt=function(){return p(this).overflow},yn.isAfter=function(t,e){var n=_(t)?t:Me(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(e).valueOf())},yn.isBefore=function(t,e){var n=_(t)?t:Me(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()<n.valueOf():this.clone().endOf(e).valueOf()<n.valueOf())},yn.isBetween=function(t,e,n,r){var i=_(t)?t:Me(t),a=_(e)?e:Me(e);return!!(this.isValid()&&i.isValid()&&a.isValid())&&("("===(r=r||"()")[0]?this.isAfter(i,n):!this.isBefore(i,n))&&(")"===r[1]?this.isBefore(a,n):!this.isAfter(a,n))},yn.isSame=function(t,e){var n,r=_(t)?t:Me(t);return!(!this.isValid()||!r.isValid())&&("millisecond"===(e=L(e)||"millisecond")?this.valueOf()===r.valueOf():(n=r.valueOf(),this.clone().startOf(e).valueOf()<=n&&n<=this.clone().endOf(e).valueOf()))},yn.isSameOrAfter=function(t,e){return this.isSame(t,e)||this.isAfter(t,e)},yn.isSameOrBefore=function(t,e){return this.isSame(t,e)||this.isBefore(t,e)},yn.isValid=function(){return g(this)},yn.lang=en,yn.locale=tn,yn.localeData=nn,yn.max=De,yn.min=je,yn.parsingFlags=function(){return f({},p(this))},yn.set=function(t,e){if("object"==typeof t)for(var n=function(t){var e=[];for(var n in t)e.push({unit:n,priority:R[n]});return e.sort((function(t,e){return t.priority-e.priority})),e}(t=I(t)),r=0;r<n.length;r++)this[n[r].unit](t[n[r].unit]);else if(M(this[t=L(t)]))return this[t](e);return this},yn.startOf=function(t){var e;if(void 0===(t=L(t))||"millisecond"===t||!this.isValid())return this;var n=this._isUTC?sn:on;switch(t){case"year":e=n(this.year(),0,1);break;case"quarter":e=n(this.year(),this.month()-this.month()%3,1);break;case"month":e=n(this.year(),this.month(),1);break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=n(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=an(e+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":e=this._d.valueOf(),e-=an(e,6e4);break;case"second":e=this._d.valueOf(),e-=an(e,1e3)}return this._d.setTime(e),i.updateOffset(this,!0),this},yn.subtract=Qe,yn.toArray=function(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]},yn.toObject=function(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}},yn.toDate=function(){return new Date(this.valueOf())},yn.toISOString=function(t){if(!this.isValid())return null;var e=!0!==t,n=e?this.clone().utc():this;return n.year()<0||9999<n.year()?$(n,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):M(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",$(n,"Z")):$(n,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},yn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var n="["+t+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=e+'[")]';return this.format(n+r+"-MM-DD[T]HH:mm:ss.SSS"+i)},yn.toJSON=function(){return this.isValid()?this.toISOString():null},yn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},yn.unix=function(){return Math.floor(this.valueOf()/1e3)},yn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},yn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},yn.year=At,yn.isLeapYear=function(){return Ct(this.year())},yn.weekYear=function(t){return un.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},yn.isoWeekYear=function(t){return un.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},yn.quarter=yn.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},yn.month=Rt,yn.daysInMonth=function(){return Dt(this.year(),this.month())},yn.week=yn.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},yn.isoWeek=yn.isoWeeks=function(t){var e=Wt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},yn.weeksInYear=function(){var t=this.localeData()._week;return $t(this.year(),t.dow,t.doy)},yn.isoWeeksInYear=function(){return $t(this.year(),1,4)},yn.date=ln,yn.day=yn.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e,n,r=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(e=t,n=this.localeData(),t="string"!=typeof e?e:isNaN(e)?"number"==typeof(e=n.weekdaysParse(e))?e:null:parseInt(e,10),this.add(t-r,"d")):r},yn.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},yn.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null==t)return this.day()||7;var e,n,r=(e=t,n=this.localeData(),"string"==typeof e?n.weekdaysParse(e)%7||7:isNaN(e)?null:e);return this.day(this.day()%7?r:r-7)},yn.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},yn.hour=yn.hours=ie,yn.minute=yn.minutes=hn,yn.second=yn.seconds=dn,yn.millisecond=yn.milliseconds=gn,yn.utcOffset=function(t,e,n){var r,a=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null==t)return this._isUTC?a:Ue(this);if("string"==typeof t){if(null===(t=ze(st,t)))return this}else Math.abs(t)<16&&!n&&(t*=60);return!this._isUTC&&e&&(r=Ue(this)),this._offset=t,this._isUTC=!0,null!=r&&this.add(r,"m"),a!==t&&(!e||this._changeInProgress?Ze(this,He(t-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this},yn.utc=function(t){return this.utcOffset(0,t)},yn.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ue(this),"m")),this},yn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=ze(ot,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},yn.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?Me(t).utcOffset():0,(this.utcOffset()-t)%60==0)},yn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},yn.isLocal=function(){return!!this.isValid()&&!this._isUTC},yn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},yn.isUtc=qe,yn.isUTC=qe,yn.zoneAbbr=function(){return this._isUTC?"UTC":""},yn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},yn.dates=C("dates accessor is deprecated. Use date instead.",ln),yn.months=C("months accessor is deprecated. Use month instead",Rt),yn.years=C("years accessor is deprecated. Use year instead",At),yn.zone=C("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()})),yn.isDSTShifted=C("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),(t=Ae(t))._a){var e=t._isUTC?d(t._a):Me(t._a);this._isDSTShifted=this.isValid()&&0<E(t._a,e.toArray())}else this._isDSTShifted=!1;return this._isDSTShifted}));var vn=D.prototype;function bn(t,e,n,r){var i=fe(),a=d().set(r,e);return i[n](a,t)}function xn(t,e,n){if(c(t)&&(e=t,t=void 0),t=t||"",null!=e)return bn(t,e,n,"month");var r,i=[];for(r=0;r<12;r++)i[r]=bn(t,r,n,"month");return i}function _n(t,e,n,r){"boolean"==typeof t?c(e)&&(n=e,e=void 0):(e=t,t=!1,c(n=e)&&(n=e,e=void 0)),e=e||"";var i,a=fe(),o=t?a._week.dow:0;if(null!=n)return bn(e,(n+o)%7,r,"day");var s=[];for(i=0;i<7;i++)s[i]=bn(e,(i+o)%7,r,"day");return s}vn.calendar=function(t,e,n){var r=this._calendar[t]||this._calendar.sameElse;return M(r)?r.call(e,n):r},vn.longDateFormat=function(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,(function(t){return t.slice(1)})),this._longDateFormat[t])},vn.invalidDate=function(){return this._invalidDate},vn.ordinal=function(t){return this._ordinal.replace("%d",t)},vn.preparse=mn,vn.postformat=mn,vn.relativeTime=function(t,e,n,r){var i=this._relativeTime[n];return M(i)?i(t,e,n,r):i.replace(/%d/i,t)},vn.pastFuture=function(t,e){var n=this._relativeTime[0<t?"future":"past"];return M(n)?n(e):n.replace(/%s/i,e)},vn.set=function(t){var e,n;for(n in t)M(e=t[n])?this[n]=e:this["_"+n]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},vn.months=function(t,e){return t?a(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||Nt).test(e)?"format":"standalone"][t.month()]:a(this._months)?this._months:this._months.standalone},vn.monthsShort=function(t,e){return t?a(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[Nt.test(e)?"format":"standalone"][t.month()]:a(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},vn.monthsParse=function(t,e,n){var r,i,a;if(this._monthsParseExact)return function(t,e,n){var r,i,a,o=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)a=d([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(a,"").toLocaleLowerCase();return n?"MMM"===e?-1!==(i=St.call(this._shortMonthsParse,o))?i:null:-1!==(i=St.call(this._longMonthsParse,o))?i:null:"MMM"===e?-1!==(i=St.call(this._shortMonthsParse,o))||-1!==(i=St.call(this._longMonthsParse,o))?i:null:-1!==(i=St.call(this._longMonthsParse,o))||-1!==(i=St.call(this._shortMonthsParse,o))?i:null}.call(this,t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(i=d([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[r]||(a="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[r]=new RegExp(a.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[r].test(t))return r;if(n&&"MMM"===e&&this._shortMonthsParse[r].test(t))return r;if(!n&&this._monthsParse[r].test(t))return r}},vn.monthsRegex=function(t){return this._monthsParseExact?(h(this,"_monthsRegex")||zt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(h(this,"_monthsRegex")||(this._monthsRegex=Pt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},vn.monthsShortRegex=function(t){return this._monthsParseExact?(h(this,"_monthsRegex")||zt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(h(this,"_monthsShortRegex")||(this._monthsShortRegex=Ft),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},vn.week=function(t){return Wt(t,this._week.dow,this._week.doy).week},vn.firstDayOfYear=function(){return this._week.doy},vn.firstDayOfWeek=function(){return this._week.dow},vn.weekdays=function(t,e){var n=a(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===t?Ht(n,this._week.dow):t?n[t.day()]:n},vn.weekdaysMin=function(t){return!0===t?Ht(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin},vn.weekdaysShort=function(t){return!0===t?Ht(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort},vn.weekdaysParse=function(t,e,n){var r,i,a;if(this._weekdaysParseExact)return function(t,e,n){var r,i,a,o=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)a=d([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(a,"").toLocaleLowerCase();return n?"dddd"===e?-1!==(i=St.call(this._weekdaysParse,o))?i:null:"ddd"===e?-1!==(i=St.call(this._shortWeekdaysParse,o))?i:null:-1!==(i=St.call(this._minWeekdaysParse,o))?i:null:"dddd"===e?-1!==(i=St.call(this._weekdaysParse,o))||-1!==(i=St.call(this._shortWeekdaysParse,o))||-1!==(i=St.call(this._minWeekdaysParse,o))?i:null:"ddd"===e?-1!==(i=St.call(this._shortWeekdaysParse,o))||-1!==(i=St.call(this._weekdaysParse,o))||-1!==(i=St.call(this._minWeekdaysParse,o))?i:null:-1!==(i=St.call(this._minWeekdaysParse,o))||-1!==(i=St.call(this._weekdaysParse,o))||-1!==(i=St.call(this._shortWeekdaysParse,o))?i:null}.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(i=d([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[r]||(a="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[r]=new RegExp(a.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[r].test(t))return r;if(n&&"ddd"===e&&this._shortWeekdaysParse[r].test(t))return r;if(n&&"dd"===e&&this._minWeekdaysParse[r].test(t))return r;if(!n&&this._weekdaysParse[r].test(t))return r}},vn.weekdaysRegex=function(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Jt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(h(this,"_weekdaysRegex")||(this._weekdaysRegex=Zt),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},vn.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Jt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(h(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Kt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},vn.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Jt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(h(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Qt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},vn.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},vn.meridiem=function(t,e,n){return 11<t?n?"pm":"PM":n?"am":"AM"},le("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),i.lang=C("moment.lang is deprecated. Use moment.locale instead.",le),i.langData=C("moment.langData is deprecated. Use moment.localeData instead.",fe);var kn=Math.abs;function wn(t,e,n,r){var i=He(e,n);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function En(t){return t<0?Math.floor(t):Math.ceil(t)}function Tn(t){return 4800*t/146097}function Cn(t){return 146097*t/4800}function Sn(t){return function(){return this.as(t)}}var An=Sn("ms"),On=Sn("s"),Mn=Sn("m"),jn=Sn("h"),Dn=Sn("d"),Nn=Sn("w"),Bn=Sn("M"),Ln=Sn("Q"),In=Sn("y");function Rn(t){return function(){return this.isValid()?this._data[t]:NaN}}var Fn=Rn("milliseconds"),Pn=Rn("seconds"),zn=Rn("minutes"),Yn=Rn("hours"),Un=Rn("days"),qn=Rn("months"),Wn=Rn("years"),$n=Math.round,Hn={ss:44,s:45,m:45,h:22,d:26,M:11},Vn=Math.abs;function Gn(t){return(0<t)-(t<0)||+t}function Xn(){if(!this.isValid())return this.localeData().invalidDate();var t,e,n=Vn(this._milliseconds)/1e3,r=Vn(this._days),i=Vn(this._months);e=k((t=k(n/60))/60),n%=60,t%=60;var a=k(i/12),o=i%=12,s=r,c=e,u=t,l=n?n.toFixed(3).replace(/\.?0+$/,""):"",h=this.asSeconds();if(!h)return"P0D";var f=h<0?"-":"",d=Gn(this._months)!==Gn(h)?"-":"",p=Gn(this._days)!==Gn(h)?"-":"",g=Gn(this._milliseconds)!==Gn(h)?"-":"";return f+"P"+(a?d+a+"Y":"")+(o?d+o+"M":"")+(s?p+s+"D":"")+(c||u||l?"T":"")+(c?g+c+"H":"")+(u?g+u+"M":"")+(l?g+l+"S":"")}var Zn=Le.prototype;return Zn.isValid=function(){return this._isValid},Zn.abs=function(){var t=this._data;return this._milliseconds=kn(this._milliseconds),this._days=kn(this._days),this._months=kn(this._months),t.milliseconds=kn(t.milliseconds),t.seconds=kn(t.seconds),t.minutes=kn(t.minutes),t.hours=kn(t.hours),t.months=kn(t.months),t.years=kn(t.years),this},Zn.add=function(t,e){return wn(this,t,e,1)},Zn.subtract=function(t,e){return wn(this,t,e,-1)},Zn.as=function(t){if(!this.isValid())return NaN;var e,n,r=this._milliseconds;if("month"===(t=L(t))||"quarter"===t||"year"===t)switch(e=this._days+r/864e5,n=this._months+Tn(e),t){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(e=this._days+Math.round(Cn(this._months)),t){case"week":return e/7+r/6048e5;case"day":return e+r/864e5;case"hour":return 24*e+r/36e5;case"minute":return 1440*e+r/6e4;case"second":return 86400*e+r/1e3;case"millisecond":return Math.floor(864e5*e)+r;default:throw new Error("Unknown unit "+t)}},Zn.asMilliseconds=An,Zn.asSeconds=On,Zn.asMinutes=Mn,Zn.asHours=jn,Zn.asDays=Dn,Zn.asWeeks=Nn,Zn.asMonths=Bn,Zn.asQuarters=Ln,Zn.asYears=In,Zn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12):NaN},Zn._bubble=function(){var t,e,n,r,i,a=this._milliseconds,o=this._days,s=this._months,c=this._data;return 0<=a&&0<=o&&0<=s||a<=0&&o<=0&&s<=0||(a+=864e5*En(Cn(s)+o),s=o=0),c.milliseconds=a%1e3,t=k(a/1e3),c.seconds=t%60,e=k(t/60),c.minutes=e%60,n=k(e/60),c.hours=n%24,s+=i=k(Tn(o+=k(n/24))),o-=En(Cn(i)),r=k(s/12),s%=12,c.days=o,c.months=s,c.years=r,this},Zn.clone=function(){return He(this)},Zn.get=function(t){return t=L(t),this.isValid()?this[t+"s"]():NaN},Zn.milliseconds=Fn,Zn.seconds=Pn,Zn.minutes=zn,Zn.hours=Yn,Zn.days=Un,Zn.weeks=function(){return k(this.days()/7)},Zn.months=qn,Zn.years=Wn,Zn.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e,n,r,i,a,o,s,c,u,l,h,f=this.localeData(),d=(n=!t,r=f,i=He(e=this).abs(),a=$n(i.as("s")),o=$n(i.as("m")),s=$n(i.as("h")),c=$n(i.as("d")),u=$n(i.as("M")),l=$n(i.as("y")),(h=a<=Hn.ss&&["s",a]||a<Hn.s&&["ss",a]||o<=1&&["m"]||o<Hn.m&&["mm",o]||s<=1&&["h"]||s<Hn.h&&["hh",s]||c<=1&&["d"]||c<Hn.d&&["dd",c]||u<=1&&["M"]||u<Hn.M&&["MM",u]||l<=1&&["y"]||["yy",l])[2]=n,h[3]=0<+e,h[4]=r,function(t,e,n,r,i){return i.relativeTime(e||1,!!n,t,r)}.apply(null,h));return t&&(d=f.pastFuture(+this,d)),f.postformat(d)},Zn.toISOString=Xn,Zn.toString=Xn,Zn.toJSON=Xn,Zn.locale=tn,Zn.localeData=nn,Zn.toIsoString=C("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Xn),Zn.lang=en,W("X",0,0,"unix"),W("x",0,0,"valueOf"),lt("x",at),lt("X",/[+-]?\d+(\.\d{1,3})?/),pt("X",(function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))})),pt("x",(function(t,e,n){n._d=new Date(w(t))})),i.version="2.24.0",e=Me,i.fn=yn,i.min=function(){return Ne("isBefore",[].slice.call(arguments,0))},i.max=function(){return Ne("isAfter",[].slice.call(arguments,0))},i.now=function(){return Date.now?Date.now():+new Date},i.utc=d,i.unix=function(t){return Me(1e3*t)},i.months=function(t,e){return xn(t,e,"months")},i.isDate=u,i.locale=le,i.invalid=y,i.duration=He,i.isMoment=_,i.weekdays=function(t,e,n){return _n(t,e,n,"weekdays")},i.parseZone=function(){return Me.apply(null,arguments).parseZone()},i.localeData=fe,i.isDuration=Ie,i.monthsShort=function(t,e){return xn(t,e,"monthsShort")},i.weekdaysMin=function(t,e,n){return _n(t,e,n,"weekdaysMin")},i.defineLocale=he,i.updateLocale=function(t,e){if(null!=e){var n,r,i=ae;null!=(r=ue(t))&&(i=r._config),(n=new D(e=j(i,e))).parentLocale=oe[t],oe[t]=n,le(t)}else null!=oe[t]&&(null!=oe[t].parentLocale?oe[t]=oe[t].parentLocale:null!=oe[t]&&delete oe[t]);return oe[t]},i.locales=function(){return S(oe)},i.weekdaysShort=function(t,e,n){return _n(t,e,n,"weekdaysShort")},i.normalizeUnits=L,i.relativeTimeRounding=function(t){return void 0===t?$n:"function"==typeof t&&($n=t,!0)},i.relativeTimeThreshold=function(t,e){return void 0!==Hn[t]&&(void 0===e?Hn[t]:(Hn[t]=e,"s"===t&&(Hn.ss=e-1),!0))},i.calendarFormat=function(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},i.prototype=yn,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},i}()},76783:function(t,e){!function(t){"use strict";var e="-ms-",n="-moz-",r="-webkit-",i="comm",a="rule",o="decl",s="@page",c="@media",u="@import",l="@charset",h="@viewport",f="@supports",d="@document",p="@namespace",g="@keyframes",y="@font-face",m="@counter-style",v="@font-feature-values",b=Math.abs,x=String.fromCharCode,_=Object.assign;function k(t,e){return(((e<<2^S(t,0))<<2^S(t,1))<<2^S(t,2))<<2^S(t,3)}function w(t){return t.trim()}function E(t,e){return(t=e.exec(t))?t[0]:t}function T(t,e,n){return t.replace(e,n)}function C(t,e){return t.indexOf(e)}function S(t,e){return 0|t.charCodeAt(e)}function A(t,e,n){return t.slice(e,n)}function O(t){return t.length}function M(t){return t.length}function j(t,e){return e.push(t),t}function D(t,e){return t.map(e).join("")}function N(e,n,r,i,a,o,s){return{value:e,root:n,parent:r,type:i,props:a,children:o,line:t.line,column:t.column,length:s,return:""}}function B(t,e){return _(N("",null,null,"",null,null,0),t,{length:-t.length},e)}function L(){return t.character}function I(){return t.character=t.position>0?S(t.characters,--t.position):0,t.column--,10===t.character&&(t.column=1,t.line--),t.character}function R(){return t.character=t.position<t.length?S(t.characters,t.position++):0,t.column++,10===t.character&&(t.column=1,t.line++),t.character}function F(){return S(t.characters,t.position)}function P(){return t.position}function z(e,n){return A(t.characters,e,n)}function Y(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function U(e){return t.line=t.column=1,t.length=O(t.characters=e),t.position=0,[]}function q(e){return t.characters="",e}function W(e){return w(z(t.position-1,X(91===e?e+2:40===e?e+1:e)))}function $(t){return q(V(U(t)))}function H(e){for(;(t.character=F())&&t.character<33;)R();return Y(e)>2||Y(t.character)>3?"":" "}function V(e){for(;R();)switch(Y(t.character)){case 0:j(K(t.position-1),e);break;case 2:j(W(t.character),e);break;default:j(x(t.character),e)}return e}function G(e,n){for(;--n&&R()&&!(t.character<48||t.character>102||t.character>57&&t.character<65||t.character>70&&t.character<97););return z(e,P()+(n<6&&32==F()&&32==R()))}function X(e){for(;R();)switch(t.character){case e:return t.position;case 34:case 39:34!==e&&39!==e&&X(t.character);break;case 40:41===e&&X(e);break;case 92:R()}return t.position}function Z(e,n){for(;R()&&e+t.character!==57&&(e+t.character!==84||47!==F()););return"/*"+z(n,t.position-1)+"*"+x(47===e?e:R())}function K(e){for(;!Y(F());)R();return z(e,t.position)}function Q(t){return q(J("",null,null,null,[""],t=U(t),0,[0],t))}function J(t,e,n,r,i,a,o,s,c){for(var u=0,l=0,h=o,f=0,d=0,p=0,g=1,y=1,m=1,v=0,b="",_=i,k=a,w=r,E=b;y;)switch(p=v,v=R()){case 40:if(108!=p&&58==E.charCodeAt(h-1)){-1!=C(E+=T(W(v),"&","&\f"),"&\f")&&(m=-1);break}case 34:case 39:case 91:E+=W(v);break;case 9:case 10:case 13:case 32:E+=H(p);break;case 92:E+=G(P()-1,7);continue;case 47:switch(F()){case 42:case 47:j(et(Z(R(),P()),e,n),c);break;default:E+="/"}break;case 123*g:s[u++]=O(E)*m;case 125*g:case 59:case 0:switch(v){case 0:case 125:y=0;case 59+l:d>0&&O(E)-h&&j(d>32?nt(E+";",r,n,h-1):nt(T(E," ","")+";",r,n,h-2),c);break;case 59:E+=";";default:if(j(w=tt(E,e,n,u,l,i,s,b,_=[],k=[],h),a),123===v)if(0===l)J(E,e,w,w,_,a,h,s,k);else switch(f){case 100:case 109:case 115:J(t,w,w,r&&j(tt(t,w,w,0,0,i,s,b,i,_=[],h),k),i,k,h,s,r?_:k);break;default:J(E,w,w,w,[""],k,0,s,k)}}u=l=d=0,g=m=1,b=E="",h=o;break;case 58:h=1+O(E),d=p;default:if(g<1)if(123==v)--g;else if(125==v&&0==g++&&125==I())continue;switch(E+=x(v),v*g){case 38:m=l>0?1:(E+="\f",-1);break;case 44:s[u++]=(O(E)-1)*m,m=1;break;case 64:45===F()&&(E+=W(R())),f=F(),l=h=O(b=E+=K(P())),v++;break;case 45:45===p&&2==O(E)&&(g=0)}}return a}function tt(t,e,n,r,i,o,s,c,u,l,h){for(var f=i-1,d=0===i?o:[""],p=M(d),g=0,y=0,m=0;g<r;++g)for(var v=0,x=A(t,f+1,f=b(y=s[g])),_=t;v<p;++v)(_=w(y>0?d[v]+" "+x:T(x,/&\f/g,d[v])))&&(u[m++]=_);return N(t,e,n,0===i?a:c,u,l,h)}function et(t,e,n){return N(t,e,n,i,x(L()),A(t,2,-2),0)}function nt(t,e,n,r){return N(t,e,n,o,A(t,0,r),A(t,r+1,-1),r)}function rt(t,i,a){switch(k(t,i)){case 5103:return r+"print-"+t+t;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return r+t+t;case 4789:return n+t+t;case 5349:case 4246:case 4810:case 6968:case 2756:return r+t+n+t+e+t+t;case 6828:case 4268:return r+t+e+t+t;case 6165:return r+t+e+"flex-"+t+t;case 5187:return r+t+T(t,/(\w+).+(:[^]+)/,r+"box-$1$2"+e+"flex-$1$2")+t;case 5443:return r+t+e+"flex-item-"+T(t,/flex-|-self/g,"")+(E(t,/flex-|baseline/)?"":e+"grid-row-"+T(t,/flex-|-self/g,""))+t;case 4675:return r+t+e+"flex-line-pack"+T(t,/align-content|flex-|-self/g,"")+t;case 5548:return r+t+e+T(t,"shrink","negative")+t;case 5292:return r+t+e+T(t,"basis","preferred-size")+t;case 6060:return r+"box-"+T(t,"-grow","")+r+t+e+T(t,"grow","positive")+t;case 4554:return r+T(t,/([^-])(transform)/g,"$1"+r+"$2")+t;case 6187:return T(T(T(t,/(zoom-|grab)/,r+"$1"),/(image-set)/,r+"$1"),t,"")+t;case 5495:case 3959:return T(t,/(image-set\([^]*)/,r+"$1$`$1");case 4968:return T(T(t,/(.+:)(flex-)?(.*)/,r+"box-pack:$3"+e+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+r+t+t;case 4200:if(!E(t,/flex-|baseline/))return e+"grid-column-align"+A(t,i)+t;break;case 2592:case 3360:return e+T(t,"template-","")+t;case 4384:case 3616:return a&&a.some((function(t,e){return i=e,E(t.props,/grid-\w+-end/)}))?~C(t+(a=a[i].value),"span")?t:e+T(t,"-start","")+t+e+"grid-row-span:"+(~C(a,"span")?E(a,/\d+/):+E(a,/\d+/)-+E(t,/\d+/))+";":e+T(t,"-start","")+t;case 4896:case 4128:return a&&a.some((function(t){return E(t.props,/grid-\w+-start/)}))?t:e+T(T(t,"-end","-span"),"span ","")+t;case 4095:case 3583:case 4068:case 2532:return T(t,/(.+)-inline(.+)/,r+"$1$2")+t;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(O(t)-1-i>6)switch(S(t,i+1)){case 109:if(45!==S(t,i+4))break;case 102:return T(t,/(.+:)(.+)-([^]+)/,"$1"+r+"$2-$3$1"+n+(108==S(t,i+3)?"$3":"$2-$3"))+t;case 115:return~C(t,"stretch")?rt(T(t,"stretch","fill-available"),i,a)+t:t}break;case 5152:case 5920:return T(t,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,(function(n,r,i,a,o,s,c){return e+r+":"+i+c+(a?e+r+"-span:"+(o?s:+s-+i)+c:"")+t}));case 4949:if(121===S(t,i+6))return T(t,":",":"+r)+t;break;case 6444:switch(S(t,45===S(t,14)?18:11)){case 120:return T(t,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+r+(45===S(t,14)?"inline-":"")+"box$3$1"+r+"$2$3$1"+e+"$2box$3")+t;case 100:return T(t,":",":"+e)+t}break;case 5936:switch(S(t,i+11)){case 114:return r+t+e+T(t,/[svh]\w+-[tblr]{2}/,"tb")+t;case 108:return r+t+e+T(t,/[svh]\w+-[tblr]{2}/,"tb-rl")+t;case 45:return r+t+e+T(t,/[svh]\w+-[tblr]{2}/,"lr")+t}case 2903:return r+t+e+t+t;case 5719:case 2647:case 2135:case 3927:case 2391:return T(t,"scroll-","scroll-snap-")+t}return t}function it(t,e){for(var n="",r=M(t),i=0;i<r;i++)n+=e(t[i],i,t,e)||"";return n}function at(t,e,n,r){switch(t.type){case u:case o:return t.return=t.return||t.value;case i:return"";case g:return t.return=t.value+"{"+it(t.children,r)+"}";case a:t.value=t.props.join(",")}return O(n=it(t.children,r))?t.return=t.value+"{"+n+"}":""}function ot(t){var e=M(t);return function(n,r,i,a){for(var o="",s=0;s<e;s++)o+=t[s](n,r,i,a)||"";return o}}function st(t){return function(e){e.root||(e=e.return)&&t(e)}}function ct(t,i,s,c){if(t.length>-1&&!t.return)switch(t.type){case o:return void(t.return=rt(t.value,t.length,s));case g:return it([B(t,{value:T(t.value,"@","@"+r)})],c);case a:if(t.length)return D(t.props,(function(i){switch(E(i,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return it([B(t,{props:[T(i,/:(read-\w+)/,":"+n+"$1")]})],c);case"::placeholder":return it([B(t,{props:[T(i,/:(plac\w+)/,":"+r+"input-$1")]}),B(t,{props:[T(i,/:(plac\w+)/,":"+n+"$1")]}),B(t,{props:[T(i,/:(plac\w+)/,e+"input-$1")]})],c)}return""}))}}function ut(t){t.type===a&&(t.props=t.props.map((function(e){return D($(e),(function(e,n,r){switch(S(e,0)){case 12:return A(e,1,O(e));case 0:case 40:case 43:case 62:case 126:return e;case 58:"global"===r[++n]&&(r[n]="",r[++n]="\f"+A(r[n],n=1,-1));case 32:return 1===n?"":e;default:switch(n){case 0:return t=e,M(r)>1?"":e;case n=M(r)-1:case 2:return 2===n?e+t+t:e+t;default:return e}}}))})))}t.line=1,t.column=1,t.length=0,t.position=0,t.character=0,t.characters="",t.CHARSET=l,t.COMMENT=i,t.COUNTER_STYLE=m,t.DECLARATION=o,t.DOCUMENT=d,t.FONT_FACE=y,t.FONT_FEATURE_VALUES=v,t.IMPORT=u,t.KEYFRAMES=g,t.MEDIA=c,t.MOZ=n,t.MS=e,t.NAMESPACE=p,t.PAGE=s,t.RULESET=a,t.SUPPORTS=f,t.VIEWPORT=h,t.WEBKIT=r,t.abs=b,t.alloc=U,t.append=j,t.assign=_,t.caret=P,t.char=L,t.charat=S,t.combine=D,t.comment=et,t.commenter=Z,t.compile=Q,t.copy=B,t.dealloc=q,t.declaration=nt,t.delimit=W,t.delimiter=X,t.escaping=G,t.from=x,t.hash=k,t.identifier=K,t.indexof=C,t.match=E,t.middleware=ot,t.namespace=ut,t.next=R,t.node=N,t.parse=J,t.peek=F,t.prefix=rt,t.prefixer=ct,t.prev=I,t.replace=T,t.ruleset=tt,t.rulesheet=st,t.serialize=it,t.sizeof=M,t.slice=z,t.stringify=at,t.strlen=O,t.substr=A,t.token=Y,t.tokenize=$,t.tokenizer=V,t.trim=w,t.whitespace=H,Object.defineProperty(t,"__esModule",{value:!0})}(e)}}]); \ No newline at end of file diff --git a/assets/js/8624.c394d7b9.js.LICENSE.txt b/assets/js/8624.c394d7b9.js.LICENSE.txt new file mode 100644 index 00000000000..fc0a118987c --- /dev/null +++ b/assets/js/8624.c394d7b9.js.LICENSE.txt @@ -0,0 +1,798 @@ +/*! + * Wait for document loaded before starting the execution + */ + +/*! ../../config */ + +/*! ../../dagre-wrapper/index.js */ + +/*! ../../diagrams/common/common */ + +/*! ../../logger */ + +/*! ../../mermaidAPI */ + +/*! ../../utils */ + +/*! ../common/common */ + +/*! ../config */ + +/*! ../createLabel */ + +/*! ../diagrams/class/svgDraw */ + +/*! ../diagrams/common/common */ + +/*! ../intersect/index.js */ + +/*! ../logger */ + +/*! ../package.json */ + +/*! ../utils */ + +/*! ./../../../../node_modules/process/browser.js */ + +/*! ./../../../../node_modules/webpack/buildin/module.js */ + +/*! ./../process/browser.js */ + +/*! ./classDb */ + +/*! ./clusters */ + +/*! ./config */ + +/*! ./createLabel */ + +/*! ./defaultConfig */ + +/*! ./diagrams/class/classDb */ + +/*! ./diagrams/class/classRenderer */ + +/*! ./diagrams/class/classRenderer-v2 */ + +/*! ./diagrams/class/parser/classDiagram */ + +/*! ./diagrams/class/styles */ + +/*! ./diagrams/common/common */ + +/*! ./diagrams/er/erDb */ + +/*! ./diagrams/er/erRenderer */ + +/*! ./diagrams/er/parser/erDiagram */ + +/*! ./diagrams/er/styles */ + +/*! ./diagrams/flowchart/flowDb */ + +/*! ./diagrams/flowchart/flowRenderer */ + +/*! ./diagrams/flowchart/flowRenderer-v2 */ + +/*! ./diagrams/flowchart/parser/flow */ + +/*! ./diagrams/flowchart/styles */ + +/*! ./diagrams/gantt/ganttDb */ + +/*! ./diagrams/gantt/ganttRenderer */ + +/*! ./diagrams/gantt/parser/gantt */ + +/*! ./diagrams/gantt/styles */ + +/*! ./diagrams/git/gitGraphAst */ + +/*! ./diagrams/git/gitGraphRenderer */ + +/*! ./diagrams/git/parser/gitGraph */ + +/*! ./diagrams/git/styles */ + +/*! ./diagrams/info/infoDb */ + +/*! ./diagrams/info/infoRenderer */ + +/*! ./diagrams/info/parser/info */ + +/*! ./diagrams/info/styles */ + +/*! ./diagrams/pie/parser/pie */ + +/*! ./diagrams/pie/pieDb */ + +/*! ./diagrams/pie/pieRenderer */ + +/*! ./diagrams/pie/styles */ + +/*! ./diagrams/requirement/parser/requirementDiagram */ + +/*! ./diagrams/requirement/requirementDb */ + +/*! ./diagrams/requirement/requirementRenderer */ + +/*! ./diagrams/requirement/styles */ + +/*! ./diagrams/sequence/parser/sequenceDiagram */ + +/*! ./diagrams/sequence/sequenceDb */ + +/*! ./diagrams/sequence/sequenceRenderer */ + +/*! ./diagrams/sequence/styles */ + +/*! ./diagrams/state/parser/stateDiagram */ + +/*! ./diagrams/state/stateDb */ + +/*! ./diagrams/state/stateRenderer */ + +/*! ./diagrams/state/stateRenderer-v2 */ + +/*! ./diagrams/state/styles */ + +/*! ./diagrams/user-journey/journeyDb */ + +/*! ./diagrams/user-journey/journeyRenderer */ + +/*! ./diagrams/user-journey/parser/journey */ + +/*! ./diagrams/user-journey/styles */ + +/*! ./edges */ + +/*! ./erDb */ + +/*! ./erMarkers */ + +/*! ./errorRenderer */ + +/*! ./flowChartShapes */ + +/*! ./flowDb */ + +/*! ./ganttDb */ + +/*! ./gitGraphAst */ + +/*! ./id-cache.js */ + +/*! ./infoDb */ + +/*! ./intersect-circle.js */ + +/*! ./intersect-ellipse */ + +/*! ./intersect-ellipse.js */ + +/*! ./intersect-line */ + +/*! ./intersect-node.js */ + +/*! ./intersect-polygon.js */ + +/*! ./intersect-rect.js */ + +/*! ./intersect/index.js */ + +/*! ./intersect/intersect-rect */ + +/*! ./journeyDb */ + +/*! ./logger */ + +/*! ./markers */ + +/*! ./mermaid-graphlib */ + +/*! ./mermaidAPI */ + +/*! ./nodes */ + +/*! ./parser/classDiagram */ + +/*! ./parser/erDiagram */ + +/*! ./parser/flow */ + +/*! ./parser/gantt */ + +/*! ./parser/gitGraph */ + +/*! ./parser/info */ + +/*! ./parser/journey */ + +/*! ./parser/pie */ + +/*! ./parser/requirementDiagram */ + +/*! ./parser/sequenceDiagram */ + +/*! ./parser/stateDiagram */ + +/*! ./pieDb */ + +/*! ./requirementDb */ + +/*! ./requirementMarkers */ + +/*! ./sequenceDb */ + +/*! ./shapes */ + +/*! ./shapes/note */ + +/*! ./shapes/util */ + +/*! ./stateDb */ + +/*! ./styles */ + +/*! ./svgDraw */ + +/*! ./theme-base */ + +/*! ./theme-dark */ + +/*! ./theme-default */ + +/*! ./theme-forest */ + +/*! ./theme-helpers */ + +/*! ./theme-neutral */ + +/*! ./themes */ + +/*! ./util */ + +/*! ./utils */ + +/*! @braintree/sanitize-url */ + +/*! @license DOMPurify 2.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.0/LICENSE */ + +/*! Check if previously processed */ + +/*! d3 */ + +/*! dagre */ + +/*! dagre-d3 */ + +/*! dagre-d3/lib/label/add-html-label.js */ + +/*! dompurify */ + +/*! exports provided: LEVELS, log, setLogLevel */ + +/*! exports provided: addClasses, addRelations, setConf, drawOld, draw, default */ + +/*! exports provided: addToRender, addToRenderV2, default */ + +/*! exports provided: bounds, drawActors, setConf, draw, default */ + +/*! exports provided: calcThemeVariables, default */ + +/*! exports provided: clear, insertEdgeLabel, positionEdgeLabel, intersection, insertEdge */ + +/*! exports provided: clusterDb, clear, extractDecendants, validate, findNonClusterChild, adjustClustersAndEdges, extractor, sortNodesByHierarchy */ + +/*! exports provided: configKeys, default */ + +/*! exports provided: default */ + +/*! exports provided: defaultConfig, updateCurrentConfig, setSiteConfig, saveConfigFromInitilize, updateSiteConfig, getSiteConfig, setConfig, getConfig, sanitize, addDirective, reset */ + +/*! exports provided: detectInit, detectDirective, detectType, isSubstringInArray, interpolateToCurve, formatUrl, runFunc, getStylesFromArray, generateId, random, assignWithDepth, getTextObj, drawSimpleText, wrapLabel, calculateTextHeight, calculateTextWidth, calculateTextDimensions, calculateSvgSizeAttrs, configureSvgSize, initIdGeneratior, entityDecode, directiveSanitizer, default */ + +/*! exports provided: draw, default */ + +/*! exports provided: drawEdge, drawClass, parseMember, default */ + +/*! exports provided: drawRect, drawFace, drawCircle, drawText, drawLabel, drawSection, drawTask, drawBackgroundRect, getTextObj, getNoteRect, default */ + +/*! exports provided: drawRect, drawText, drawLabel, drawActor, anchorElement, drawActivation, drawLoop, drawBackgroundRect, insertArrowHead, insertArrowFilledHead, insertSequenceNumber, insertArrowCrossHead, getTextObj, getNoteRect, default */ + +/*! exports provided: drawStartState, drawDivider, drawSimpleState, drawDescrState, addTitleAndBox, drawText, drawNote, drawState, drawEdge */ + +/*! exports provided: encodeEntities, decodeEntities, default */ + +/*! exports provided: getRows, removeScript, sanitizeCSS, sanitizeText, lineBreakRegex, hasBreaks, splitBreaks, evaluate, default */ + +/*! exports provided: getThemeVariables */ + +/*! exports provided: insertCluster, getClusterTitleWidth, clear, positionCluster */ + +/*! exports provided: insertNode, setNodeElem, clear, positionNode */ + +/*! exports provided: labelHelper, updateNodeBounds, insertPolygonShape */ + +/*! exports provided: mkBorder */ + +/*! exports provided: name, version, description, main, keywords, scripts, repository, author, license, standard, dependencies, devDependencies, files, yarn-upgrade-all, sideEffects, husky, default */ + +/*! exports provided: parseDirective, addActor, addMessage, addSignal, getMessages, getActors, getActor, getActorKeys, getTitle, getTitleWrapped, enableSequenceNumbers, showSequenceNumbers, setWrap, autoWrap, clear, parseMessage, LINETYPE, ARROWTYPE, PLACEMENT, addNote, setTitle, apply, default */ + +/*! exports provided: parseDirective, addClass, lookUpDomId, clear, getClass, getClasses, getRelations, addRelation, addAnnotation, addMember, addMembers, cleanupLabel, setCssClass, setLink, setClickEvent, bindFunctions, lineType, relationType, default */ + +/*! exports provided: parseDirective, addState, clear, getState, getStates, logDocuments, getRelations, addRelation, cleanupLabel, lineType, relationType, default */ + +/*! exports provided: parseDirective, clear, setAxisFormat, getAxisFormat, setTodayMarker, getTodayMarker, setDateFormat, enableInclusiveEndDates, endDatesAreInclusive, enableTopAxis, topAxisEnabled, getDateFormat, setExcludes, getExcludes, setTitle, getTitle, addSection, getSections, getTasks, addTask, findTaskById, addTaskOrg, setLink, setClass, setClickEvent, bindFunctions, default */ + +/*! exports provided: parseDirective, clear, setTitle, getTitle, addSection, getSections, getTasks, addTask, addTaskOrg, default */ + +/*! exports provided: parseDirective, default */ + +/*! exports provided: parseDirective, lookUpDomId, addVertex, addSingleLink, addLink, updateLinkInterpolate, updateLink, addClass, setDirection, setClass, setLink, getTooltip, setClickEvent, bindFunctions, getDirection, getVertices, getEdges, getClasses, clear, setGen, defaultStyle, addSubGraph, getDepthFirstPos, indexNodes, getSubGraphs, firstGraph, default */ + +/*! exports provided: render */ + +/*! exports provided: set, get, keys, size, default */ + +/*! exports provided: setConf, addVertices, addEdges, getClasses, draw, default */ + +/*! exports provided: setConf, draw, bounds, drawTasks, default */ + +/*! exports provided: setConf, draw, default */ + +/*! exports provided: setConf, drawReqs, drawElements, draw, default */ + +/*! exports provided: setConf, getClasses, draw, default */ + +/*! exports provided: setDirection, setOptions, getOptions, commit, branch, merge, checkout, reset, prettyPrint, clear, getBranchesAsObjArray, getBranches, getCommits, getCommitsArray, getCurrentBranch, getDirection, getHead, default */ + +/*! exports provided: setMessage, getMessage, setInfo, getInfo, default */ + +/*! fs */ + +/*! graphlib */ + +/*! khroma */ + +/*! moment-mini */ + +/*! no static exports found */ + +/*! path */ + +/*! sequence config was passed as #1 */ + +/*! stylis */ + +/*!*********************!*\ + !*** external "d3" ***! + \*********************/ + +/*!**********************!*\ + !*** ./package.json ***! + \**********************/ + +/*!**********************!*\ + !*** ./src/utils.js ***! + \**********************/ + +/*!***********************!*\ + !*** ./src/config.js ***! + \***********************/ + +/*!***********************!*\ + !*** ./src/logger.js ***! + \***********************/ + +/*!***********************!*\ + !*** ./src/styles.js ***! + \***********************/ + +/*!************************!*\ + !*** ./src/mermaid.js ***! + \************************/ + +/*!************************!*\ + !*** external "dagre" ***! + \************************/ + +/*!*************************!*\ + !*** external "khroma" ***! + \*************************/ + +/*!*************************!*\ + !*** external "stylis" ***! + \*************************/ + +/*!***************************!*\ + !*** ./src/mermaidAPI.js ***! + \***************************/ + +/*!***************************!*\ + !*** external "dagre-d3" ***! + \***************************/ + +/*!***************************!*\ + !*** external "graphlib" ***! + \***************************/ + +/*!****************************!*\ + !*** external "dompurify" ***! + \****************************/ + +/*!*****************************!*\ + !*** ./src/themes/index.js ***! + \*****************************/ + +/*!******************************!*\ + !*** ./src/defaultConfig.js ***! + \******************************/ + +/*!******************************!*\ + !*** ./src/errorRenderer.js ***! + \******************************/ + +/*!******************************!*\ + !*** external "moment-mini" ***! + \******************************/ + +/*!*********************************!*\ + !*** ./src/diagrams/er/erDb.js ***! + \*********************************/ + +/*!**********************************!*\ + !*** ./src/themes/theme-base.js ***! + \**********************************/ + +/*!**********************************!*\ + !*** ./src/themes/theme-dark.js ***! + \**********************************/ + +/*!***********************************!*\ + !*** (webpack)/buildin/module.js ***! + \***********************************/ + +/*!***********************************!*\ + !*** ./src/diagrams/er/styles.js ***! + \***********************************/ + +/*!***********************************!*\ + !*** ./src/diagrams/pie/pieDb.js ***! + \***********************************/ + +/*!************************************!*\ + !*** ./src/dagre-wrapper/edges.js ***! + \************************************/ + +/*!************************************!*\ + !*** ./src/dagre-wrapper/index.js ***! + \************************************/ + +/*!************************************!*\ + !*** ./src/dagre-wrapper/nodes.js ***! + \************************************/ + +/*!************************************!*\ + !*** ./src/diagrams/git/styles.js ***! + \************************************/ + +/*!************************************!*\ + !*** ./src/diagrams/pie/styles.js ***! + \************************************/ + +/*!************************************!*\ + !*** ./src/themes/theme-forest.js ***! + \************************************/ + +/*!*************************************!*\ + !*** ./src/diagrams/info/infoDb.js ***! + \*************************************/ + +/*!*************************************!*\ + !*** ./src/diagrams/info/styles.js ***! + \*************************************/ + +/*!*************************************!*\ + !*** ./src/themes/theme-default.js ***! + \*************************************/ + +/*!*************************************!*\ + !*** ./src/themes/theme-helpers.js ***! + \*************************************/ + +/*!*************************************!*\ + !*** ./src/themes/theme-neutral.js ***! + \*************************************/ + +/*!**************************************!*\ + !*** ./src/dagre-wrapper/markers.js ***! + \**************************************/ + +/*!**************************************!*\ + !*** ./src/diagrams/class/styles.js ***! + \**************************************/ + +/*!**************************************!*\ + !*** ./src/diagrams/er/erMarkers.js ***! + \**************************************/ + +/*!**************************************!*\ + !*** ./src/diagrams/gantt/styles.js ***! + \**************************************/ + +/*!**************************************!*\ + !*** ./src/diagrams/state/shapes.js ***! + \**************************************/ + +/*!**************************************!*\ + !*** ./src/diagrams/state/styles.js ***! + \**************************************/ + +/*!***************************************!*\ + !*** ./src/dagre-wrapper/clusters.js ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./src/diagrams/class/classDb.js ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./src/diagrams/class/svgDraw.js ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./src/diagrams/common/common.js ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./src/diagrams/er/erRenderer.js ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./src/diagrams/gantt/ganttDb.js ***! + \***************************************/ + +/*!***************************************!*\ + !*** ./src/diagrams/state/stateDb.js ***! + \***************************************/ + +/*!****************************************!*\ + !*** ./src/diagrams/state/id-cache.js ***! + \****************************************/ + +/*!*****************************************!*\ + !*** ./node_modules/process/browser.js ***! + \*****************************************/ + +/*!*****************************************!*\ + !*** ./src/diagrams/git/gitGraphAst.js ***! + \*****************************************/ + +/*!*****************************************!*\ + !*** ./src/diagrams/pie/pieRenderer.js ***! + \*****************************************/ + +/*!*****************************************!*\ + !*** ./src/diagrams/sequence/styles.js ***! + \*****************************************/ + +/*!******************************************!*\ + !*** ./src/dagre-wrapper/createLabel.js ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/dagre-wrapper/shapes/note.js ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/dagre-wrapper/shapes/util.js ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/diagrams/flowchart/flowDb.js ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/diagrams/flowchart/styles.js ***! + \******************************************/ + +/*!******************************************!*\ + !*** ./src/diagrams/sequence/svgDraw.js ***! + \******************************************/ + +/*!******************************************!*\ + !*** external "@braintree/sanitize-url" ***! + \******************************************/ + +/*!*******************************************!*\ + !*** ./src/diagrams/info/infoRenderer.js ***! + \*******************************************/ + +/*!*******************************************!*\ + !*** ./src/diagrams/pie/parser/pie.jison ***! + \*******************************************/ + +/*!********************************************!*\ + !*** ./src/diagrams/requirement/styles.js ***! + \********************************************/ + +/*!*********************************************!*\ + !*** ./src/diagrams/class/classRenderer.js ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/diagrams/gantt/ganttRenderer.js ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/diagrams/info/parser/info.jison ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/diagrams/sequence/sequenceDb.js ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/diagrams/state/stateRenderer.js ***! + \*********************************************/ + +/*!*********************************************!*\ + !*** ./src/diagrams/user-journey/styles.js ***! + \*********************************************/ + +/*!**********************************************!*\ + !*** ./src/dagre-wrapper/intersect/index.js ***! + \**********************************************/ + +/*!**********************************************!*\ + !*** ./src/diagrams/git/gitGraphRenderer.js ***! + \**********************************************/ + +/*!**********************************************!*\ + !*** ./src/diagrams/user-journey/svgDraw.js ***! + \**********************************************/ + +/*!***********************************************!*\ + !*** ./node_modules/path-browserify/index.js ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./src/dagre-wrapper/mermaid-graphlib.js ***! + \***********************************************/ + +/*!***********************************************!*\ + !*** ./src/diagrams/gantt/parser/gantt.jison ***! + \***********************************************/ + +/*!************************************************!*\ + !*** ./src/diagrams/class/classRenderer-v2.js ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/diagrams/er/parser/erDiagram.jison ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/diagrams/flowchart/flowRenderer.js ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/diagrams/git/parser/gitGraph.jison ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/diagrams/state/stateRenderer-v2.js ***! + \************************************************/ + +/*!************************************************!*\ + !*** ./src/diagrams/user-journey/journeyDb.js ***! + \************************************************/ + +/*!**************************************************!*\ + !*** ./src/diagrams/flowchart/parser/flow.jison ***! + \**************************************************/ + +/*!***************************************************!*\ + !*** ./src/diagrams/flowchart/flowChartShapes.js ***! + \***************************************************/ + +/*!***************************************************!*\ + !*** ./src/diagrams/flowchart/flowRenderer-v2.js ***! + \***************************************************/ + +/*!***************************************************!*\ + !*** ./src/diagrams/requirement/requirementDb.js ***! + \***************************************************/ + +/*!***************************************************!*\ + !*** ./src/diagrams/sequence/sequenceRenderer.js ***! + \***************************************************/ + +/*!******************************************************!*\ + !*** ./node_modules/node-libs-browser/mock/empty.js ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/diagrams/class/parser/classDiagram.jison ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/diagrams/state/parser/stateDiagram.jison ***! + \******************************************************/ + +/*!******************************************************!*\ + !*** ./src/diagrams/user-journey/journeyRenderer.js ***! + \******************************************************/ + +/*!*******************************************************!*\ + !*** ./src/dagre-wrapper/intersect/intersect-line.js ***! + \*******************************************************/ + +/*!*******************************************************!*\ + !*** ./src/dagre-wrapper/intersect/intersect-node.js ***! + \*******************************************************/ + +/*!*******************************************************!*\ + !*** ./src/dagre-wrapper/intersect/intersect-rect.js ***! + \*******************************************************/ + +/*!*******************************************************!*\ + !*** external "dagre-d3/lib/label/add-html-label.js" ***! + \*******************************************************/ + +/*!********************************************************!*\ + !*** ./src/diagrams/requirement/requirementMarkers.js ***! + \********************************************************/ + +/*!********************************************************!*\ + !*** ./src/diagrams/user-journey/parser/journey.jison ***! + \********************************************************/ + +/*!*********************************************************!*\ + !*** ./src/dagre-wrapper/intersect/intersect-circle.js ***! + \*********************************************************/ + +/*!*********************************************************!*\ + !*** ./src/diagrams/requirement/requirementRenderer.js ***! + \*********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/dagre-wrapper/intersect/intersect-ellipse.js ***! + \**********************************************************/ + +/*!**********************************************************!*\ + !*** ./src/dagre-wrapper/intersect/intersect-polygon.js ***! + \**********************************************************/ + +/*!************************************************************!*\ + !*** ./src/diagrams/sequence/parser/sequenceDiagram.jison ***! + \************************************************************/ + +/*!******************************************************************!*\ + !*** ./src/diagrams/requirement/parser/requirementDiagram.jison ***! + \******************************************************************/ + +/** + * @license + * Copyright (c) 2012-2013 Chris Pettitt + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ diff --git a/assets/js/8663f307.785ade51.js b/assets/js/8663f307.785ade51.js new file mode 100644 index 00000000000..5ca409a0d49 --- /dev/null +++ b/assets/js/8663f307.785ade51.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4939],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>k});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=n.createContext({}),d=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},l=function(e){var t=d(e.components);return n.createElement(p.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,p=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),u=d(r),k=o,f=u["".concat(p,".").concat(k)]||u[k]||s[k]||a;return r?n.createElement(f,i(i({ref:t},l),{},{components:r})):n.createElement(f,i({ref:t},l))}));function k(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=u;var c={};for(var p in t)hasOwnProperty.call(t,p)&&(c[p]=t[p]);c.originalType=e,c.mdxType="string"==typeof e?e:o,i[1]=c;for(var d=2;d<a;d++)i[d]=r[d];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},83677:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>s,frontMatter:()=>a,metadata:()=>c,toc:()=>d});var n=r(87462),o=(r(67294),r(3905));const a={id:"Mirage.Sockets.Udp",title:"Mirage.Sockets.Udp"},i="Mirage.Sockets.Udp",c={unversionedId:"reference/Mirage.Sockets.Udp/Mirage.Sockets.Udp",id:"reference/Mirage.Sockets.Udp/Mirage.Sockets.Udp",title:"Mirage.Sockets.Udp",description:"Classes",source:"@site/docs/reference/Mirage.Sockets.Udp/index.md",sourceDirName:"reference/Mirage.Sockets.Udp",slug:"/reference/Mirage.Sockets.Udp/",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Sockets.Udp/index.md",tags:[],version:"current",frontMatter:{id:"Mirage.Sockets.Udp",title:"Mirage.Sockets.Udp"},sidebar:"api",previous:{title:"SocketFactory",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/SocketFactory"},next:{title:"EndPointWrapper",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/EndPointWrapper"}},p={},d=[{value:"Classes",id:"classes",level:2},{value:"EndPointWrapper",id:"endpointwrapper",level:4},{value:"InitUDP",id:"initudp",level:4},{value:"NanoEndPoint",id:"nanoendpoint",level:4},{value:"NanoSocket",id:"nanosocket",level:4},{value:"NanoSocketException",id:"nanosocketexception",level:4},{value:"UdpMTU",id:"udpmtu",level:4},{value:"UdpSocket",id:"udpsocket",level:4},{value:"UdpSocketFactory",id:"udpsocketfactory",level:4},{value:"Enums",id:"enums",level:2},{value:"SocketLib",id:"socketlib",level:4}],l={toc:d};function s(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"miragesocketsudp"},"Mirage.Sockets.Udp"),(0,o.kt)("h2",{id:"classes"},"Classes"),(0,o.kt)("h4",{id:"endpointwrapper"},(0,o.kt)("a",{parentName:"h4",href:"./EndPointWrapper"},"EndPointWrapper")),(0,o.kt)("h4",{id:"initudp"},(0,o.kt)("a",{parentName:"h4",href:"./InitUDP"},"InitUDP")),(0,o.kt)("h4",{id:"nanoendpoint"},(0,o.kt)("a",{parentName:"h4",href:"./NanoEndPoint"},"NanoEndPoint")),(0,o.kt)("h4",{id:"nanosocket"},(0,o.kt)("a",{parentName:"h4",href:"./NanoSocket"},"NanoSocket")),(0,o.kt)("h4",{id:"nanosocketexception"},(0,o.kt)("a",{parentName:"h4",href:"./NanoSocketException"},"NanoSocketException")),(0,o.kt)("h4",{id:"udpmtu"},(0,o.kt)("a",{parentName:"h4",href:"./UdpMTU"},"UdpMTU")),(0,o.kt)("h4",{id:"udpsocket"},(0,o.kt)("a",{parentName:"h4",href:"./UdpSocket"},"UdpSocket")),(0,o.kt)("h4",{id:"udpsocketfactory"},(0,o.kt)("a",{parentName:"h4",href:"./UdpSocketFactory"},"UdpSocketFactory")),(0,o.kt)("h2",{id:"enums"},"Enums"),(0,o.kt)("h4",{id:"socketlib"},(0,o.kt)("a",{parentName:"h4",href:"./SocketLib"},"SocketLib")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/866d302e.aa6f7aa7.js b/assets/js/866d302e.aa6f7aa7.js new file mode 100644 index 00000000000..4028c740944 --- /dev/null +++ b/assets/js/866d302e.aa6f7aa7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2855],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function s(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=r.createContext({}),d=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},c=function(e){var t=d(e.components);return r.createElement(p.Provider,{value:t},e.children)},o={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},k=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,p=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),k=d(a),u=n,m=k["".concat(p,".").concat(u)]||k[u]||o[u]||l;return a?r.createElement(m,i(i({ref:t},c),{},{components:a})):r.createElement(m,i({ref:t},c))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=k;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s.mdxType="string"==typeof e?e:n,i[1]=s;for(var d=2;d<l;d++)i[d]=a[d];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}k.displayName="MDXCreateElement"},70712:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>o,frontMatter:()=>l,metadata:()=>s,toc:()=>d});var r=a(87462),n=(a(67294),a(3905));const l={id:"MessagePacker",title:"MessagePacker"},i="Class MessagePacker",s={unversionedId:"reference/Mirage.Serialization/MessagePacker",id:"reference/Mirage.Serialization/MessagePacker",title:"MessagePacker",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/MessagePacker.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/MessagePacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/MessagePacker",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/MessagePacker.md",tags:[],version:"current",frontMatter:{id:"MessagePacker",title:"MessagePacker"},sidebar:"api",previous:{title:"MessageIdCache<T>",permalink:"/Mirage/docs/reference/Mirage.Serialization/MessageIdCache-1"},next:{title:"MirageNetworkReader",permalink:"/Mirage/docs/reference/Mirage.Serialization/MirageNetworkReader"}},p={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"MessageTypes",id:"messagetypes",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Methods",id:"methods",level:3},{value:"RegisterMessage<T>()",id:"registermessaget",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"GetId<T>()",id:"getidt",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Returns",id:"returns",level:5},{value:"GetId(Type)",id:"getidtype",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Pack<T>(T, NetworkWriter)",id:"packtt-networkwriter",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Pack<T>(T)",id:"packtt",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-2",level:5},{value:"Unpack<T>(Byte[], IObjectLocator)",id:"unpacktbyte-iobjectlocator",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-3",level:5},{value:"UnpackId(NetworkReader)",id:"unpackidnetworkreader",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns-4",level:5}],c={toc:d};function o(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-messagepacker"},"Class MessagePacker"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class MessagePacker\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"messagetypes"},"MessageTypes"),(0,n.kt)("p",null,"Map of Message Id => Type\nWhen we receive a message, we can lookup here to find out what type it was.\nThis is populated by the weaver."),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static IReadOnlyDictionary<int, Type> MessageTypes { get; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"registermessaget"},"RegisterMessage","<","T",">","()"),(0,n.kt)("p",null,"Registers a message with its ID, Useful for debugging if a message handler is missing\nUsed by weaver"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void RegisterMessage<T>()\n")),(0,n.kt)("h4",{id:"getidt"},"GetId","<","T",">","()"),(0,n.kt)("p",null,"Gets the Id from for T"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static int GetId<T>()\n")),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"getidtype"},"GetId(Type)"),(0,n.kt)("p",null,"Used to calculate new hash for type"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static int GetId(Type type)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Type"),(0,n.kt)("td",{parentName:"tr",align:null},"type"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"packtt-networkwriter"},"Pack","<","T",">","(T, NetworkWriter)"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void Pack<T>(T message, NetworkWriter writer)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"message"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"packtt"},"Pack","<","T",">","(T)"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static byte[] Pack<T>(T message)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"message"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-2"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpacktbyte-iobjectlocator"},"Unpack","<","T",">","(Byte[], IObjectLocator)"),(0,n.kt)("p",null,"unpack a message we received"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static T Unpack<T>(byte[] data, IObjectLocator objectLocator)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null},"data"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.IObjectLocator"),(0,n.kt)("td",{parentName:"tr",align:null},"objectLocator"),(0,n.kt)("td",{parentName:"tr",align:null},"Can be null, but must be set in order to read NetworkIdentity Values")))),(0,n.kt)("h5",{id:"returns-3"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpackidnetworkreader"},"UnpackId(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static int UnpackId(NetworkReader messageReader)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"messageReader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-4"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null})))))}o.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/86943c9d.cb65a9b4.js b/assets/js/86943c9d.cb65a9b4.js new file mode 100644 index 00000000000..e90866ae962 --- /dev/null +++ b/assets/js/86943c9d.cb65a9b4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4698],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>g});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function l(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function c(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?l(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function o(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)t=l[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)t=l[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var i=n.createContext({}),s=function(e){var r=n.useContext(i),t=r;return e&&(t="function"==typeof e?e(r):c(c({},r),e)),t},p=function(e){var r=s(e.components);return n.createElement(i.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},d=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,l=e.originalType,i=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),d=s(t),g=a,m=d["".concat(i,".").concat(g)]||d[g]||u[g]||l;return t?n.createElement(m,c(c({ref:r},p),{},{components:t})):n.createElement(m,c({ref:r},p))}));function g(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var l=t.length,c=new Array(l);c[0]=d;var o={};for(var i in r)hasOwnProperty.call(r,i)&&(o[i]=r[i]);o.originalType=e,o.mdxType="string"==typeof e?e:a,c[1]=o;for(var s=2;s<l;s++)c[s]=t[s];return n.createElement.apply(null,c)}return n.createElement.apply(null,t)}d.displayName="MDXCreateElement"},27753:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>i,contentTitle:()=>c,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>s});var n=t(87462),a=(t(67294),t(3905));const l={id:"RpcTarget",title:"RpcTarget"},c="Enum RpcTarget",o={unversionedId:"reference/Mirage/RpcTarget",id:"reference/Mirage/RpcTarget",title:"RpcTarget",description:"Used by ClientRpc to tell mirage who to send remote call to",source:"@site/docs/reference/Mirage/RpcTarget.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/RpcTarget",permalink:"/Mirage/docs/reference/Mirage/RpcTarget",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/RpcTarget.md",tags:[],version:"current",frontMatter:{id:"RpcTarget",title:"RpcTarget"},sidebar:"api",previous:{title:"RemoveCharacterMessage",permalink:"/Mirage/docs/reference/Mirage/RemoveCharacterMessage"},next:{title:"SceneAttribute",permalink:"/Mirage/docs/reference/Mirage/SceneAttribute"}},i={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Owner",id:"owner",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Observers",id:"observers",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Player",id:"player",level:4},{value:"Declaration",id:"declaration-2",level:5}],p={toc:s};function u(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"enum-rpctarget"},"Enum RpcTarget"),(0,a.kt)("p",null,"Used by ClientRpc to tell mirage who to send remote call to"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public enum RpcTarget\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"owner"},"Owner"),(0,a.kt)("p",null,"Sends to the that owns the object"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Owner = 0\n")),(0,a.kt)("h4",{id:"observers"},"Observers"),(0,a.kt)("p",null,"Sends to all that can see the object"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Observers = 1\n")),(0,a.kt)("h4",{id:"player"},"Player"),(0,a.kt)("p",null,"Sends to the that is given as an argument in the RPC function (requires target to be an observer)"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Player = 2\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/88132b57.11d4a230.js b/assets/js/88132b57.11d4a230.js new file mode 100644 index 00000000000..17123aed7f7 --- /dev/null +++ b/assets/js/88132b57.11d4a230.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4076],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>g});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=l(r),g=a,m=u["".concat(c,".").concat(g)]||u[g]||d[g]||o;return r?n.createElement(m,s(s({ref:t},p),{},{components:r})):n.createElement(m,s({ref:t},p))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,s=new Array(o);s[0]=u;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:a,s[1]=i;for(var l=2;l<o;l++)s[l]=r[l];return n.createElement.apply(null,s)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},19719:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const o={sidebar_position:4},s="Network Messages",i={unversionedId:"guides/remote-actions/network-messages",id:"guides/remote-actions/network-messages",title:"Network Messages",description:"For the most part, we recommend the high-level ServerRpc/ClientRpc calls and SyncVar, but you can also send low-level network messages. This can be useful if you want clients to send messages that are not tied to game objects, such as logging, analytics, or profiling information.",source:"@site/docs/guides/remote-actions/network-messages.md",sourceDirName:"guides/remote-actions",slug:"/guides/remote-actions/network-messages",permalink:"/Mirage/docs/guides/remote-actions/network-messages",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/remote-actions/network-messages.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"docs",previous:{title:"Server RPC",permalink:"/Mirage/docs/guides/remote-actions/server-rpc"},next:{title:"RPC Examples",permalink:"/Mirage/docs/guides/remote-actions/rpc-examples"}},c={},l=[{value:"Usage",id:"usage",level:2},{value:"Example",id:"example",level:2}],p={toc:l};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"network-messages"},"Network Messages"),(0,a.kt)("p",null,"For the most part, we recommend the high-level ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/server-rpc"},"ServerRpc"),"/",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/client-rpc"},"ClientRpc")," calls and ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/sync/sync-var"},"SyncVar"),", but you can also send low-level network messages. This can be useful if you want clients to send messages that are not tied to game objects, such as logging, analytics, or profiling information."),(0,a.kt)("h2",{id:"usage"},"Usage"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Define a new struct (rather than a class to prevent GC allocations) that will represent your message."),(0,a.kt)("li",{parentName:"ol"},"Add any ",(0,a.kt)("a",{parentName:"li",href:"/docs/guides/serialization/data-types"},"supported Mirage types")," as public fields of that struct. This will be the data you want to send."),(0,a.kt)("li",{parentName:"ol"},"Register a handler for that message on the ",(0,a.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkServer"},"NetworkServer")," and/or ",(0,a.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkClient"},"NetworkClient"),"'s ",(0,a.kt)("inlineCode",{parentName:"li"},"MessageHandler")," depending on where you want to listen for that message being received."),(0,a.kt)("li",{parentName:"ol"},"Use the ",(0,a.kt)("inlineCode",{parentName:"li"},"Send()")," method on the ",(0,a.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkClient"},"NetworkClient"),", ",(0,a.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkServer"},"NetworkServer"),", or ",(0,a.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkPlayer"},"NetworkPlayer")," classes depending on which way you want to send the message.")),(0,a.kt)("h2",{id:"example"},"Example"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},'// optional: add NetworkMessage attribute so that it is easier for Mirage to find\n[NetworkMessage]\n// using structs to prevent GC allocations\npublic struct ScoreMessage\n{\n public int score;\n public Vector3 scorePos;\n public int lives;\n}\n\npublic class Scores : MonoBehaviour\n{\n // attach these in the inspector\n public NetworkServer Server;\n public NetworkClient Client;\n\n private void Awake()\n {\n Client.Started.AddListener(ClientStarted);\n }\n\n private void ClientStarted()\n {\n // Register Client to listen for the ScoreMessage\n Client.MessageHandler.RegisterHandler<ScoreMessage>(OnScore);\n }\n\n\n private void OnScore(INetworkPlayer player, ScoreMessage msg)\n {\n Debug.Log("ScoreMessage received on client with score " + msg.score);\n }\n\n // Send from server\n public void SendScore(int score, Vector3 scorePos, int lives)\n {\n var msg = new ScoreMessage()\n {\n score = score,\n scorePos = scorePos,\n lives = lives\n };\n\n // also send to host player so we can update ui\n Server.SendToAll(msg, authenticatedOnly: true, excludeLocalPlayer: false);\n }\n}\n')),(0,a.kt)("p",null,"Note that there is no serialization code for the ",(0,a.kt)("inlineCode",{parentName:"p"},"ScoreMessage")," struct in this source code example. Mirage will generate a reader and writer for ScoreMessage when it sees that it is being sent."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/884605ab.290d0c3e.js b/assets/js/884605ab.290d0c3e.js new file mode 100644 index 00000000000..b9603094def --- /dev/null +++ b/assets/js/884605ab.290d0c3e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6714],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=a.createContext({}),c=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=c(r),m=n,k=u["".concat(s,".").concat(m)]||u[m]||d[m]||i;return r?a.createElement(k,l(l({ref:t},p),{},{components:r})):a.createElement(k,l({ref:t},p))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,l=new Array(i);l[0]=u;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:n,l[1]=o;for(var c=2;c<i;c++)l[c]=r[c];return a.createElement.apply(null,l)}return a.createElement.apply(null,r)}u.displayName="MDXCreateElement"},36537:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const i={id:"GenericTypesSerializationExtensions",title:"GenericTypesSerializationExtensions"},l="Class GenericTypesSerializationExtensions",o={unversionedId:"reference/Mirage.Serialization/GenericTypesSerializationExtensions",id:"reference/Mirage.Serialization/GenericTypesSerializationExtensions",title:"GenericTypesSerializationExtensions",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/GenericTypesSerializationExtensions.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/GenericTypesSerializationExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/GenericTypesSerializationExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/GenericTypesSerializationExtensions.md",tags:[],version:"current",frontMatter:{id:"GenericTypesSerializationExtensions",title:"GenericTypesSerializationExtensions"},sidebar:"api",previous:{title:"FromBitCount",permalink:"/Mirage/docs/reference/Mirage.Serialization/FromBitCount"},next:{title:"MessageIdCache<T>",permalink:"/Mirage/docs/reference/Mirage.Serialization/MessageIdCache-1"}},s={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"Write<T>(NetworkWriter, T)",id:"writetnetworkwriter-t",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Read<T>(NetworkReader)",id:"readtnetworkreader",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5}],p={toc:c};function d(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-generictypesserializationextensions"},"Class GenericTypesSerializationExtensions"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class GenericTypesSerializationExtensions\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"writetnetworkwriter-t"},"Write","<","T",">","(NetworkWriter, T)"),(0,n.kt)("p",null,"Writes any type that mirage supports"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void Write<T>(this NetworkWriter writer, T value)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readtnetworkreader"},"Read","<","T",">","(NetworkReader)"),(0,n.kt)("p",null,"Reads any data type that mirage supports"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static T Read<T>(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/888e8919.088aed0d.js b/assets/js/888e8919.088aed0d.js new file mode 100644 index 00000000000..e84db4edf8c --- /dev/null +++ b/assets/js/888e8919.088aed0d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7228],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function c(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var d=n.createContext({}),s=function(e){var t=n.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=s(e.components);return n.createElement(d.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},o=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,d=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),o=s(a),u=r,k=o["".concat(d,".").concat(u)]||o[u]||m[u]||l;return a?n.createElement(k,i(i({ref:t},p),{},{components:a})):n.createElement(k,i({ref:t},p))}));function u(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=o;var c={};for(var d in t)hasOwnProperty.call(t,d)&&(c[d]=t[d]);c.originalType=e,c.mdxType="string"==typeof e?e:r,i[1]=c;for(var s=2;s<l;s++)i[s]=a[s];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}o.displayName="MDXCreateElement"},69643:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>c,toc:()=>s});var n=a(87462),r=(a(67294),a(3905));const l={id:"Metrics",title:"Metrics"},i="Class Metrics",c={unversionedId:"reference/Mirage.SocketLayer/Metrics",id:"reference/Mirage.SocketLayer/Metrics",title:"Metrics",description:"Inheritance",source:"@site/docs/reference/Mirage.SocketLayer/Metrics.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/Metrics",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Metrics",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/Metrics.md",tags:[],version:"current",frontMatter:{id:"Metrics",title:"Metrics"},sidebar:"api",previous:{title:"Metrics.Frame",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Metrics.Frame"},next:{title:"NotifyToken",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/NotifyToken"}},d={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"Metrics(Int32)",id:"metricsint32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"Sequencer",id:"sequencer",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"buffer",id:"buffer",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"tick",id:"tick",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Methods",id:"methods",level:3},{value:"OnTick(Int32)",id:"ontickint32",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"OnSend(Int32)",id:"onsendint32",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"OnResend(Int32)",id:"onresendint32",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"OnReceive(Int32)",id:"onreceiveint32",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"OnReceiveUnconnected(Int32)",id:"onreceiveunconnectedint32",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"OnSendMessageUnreliable(Int32)",id:"onsendmessageunreliableint32",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"OnReceiveMessageUnreliable(Int32)",id:"onreceivemessageunreliableint32",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"OnSendMessageReliable(Int32)",id:"onsendmessagereliableint32",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"OnReceiveMessageReliable(Int32)",id:"onreceivemessagereliableint32",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"OnSendMessageNotify(Int32)",id:"onsendmessagenotifyint32",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Parameters",id:"parameters-10",level:5},{value:"OnReceiveMessageNotify(Int32)",id:"onreceivemessagenotifyint32",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Parameters",id:"parameters-11",level:5},{value:"OnReceiveMessage(PacketType, Int32)",id:"onreceivemessagepackettype-int32",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Parameters",id:"parameters-12",level:5}],p={toc:s};function m(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-metrics"},"Class Metrics"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class Metrics\n")),(0,r.kt)("h3",{id:"constructors"},"Constructors"),(0,r.kt)("h4",{id:"metricsint32"},"Metrics(Int32)"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public Metrics(int bitSize = 10)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"bitSize"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"sequencer"},"Sequencer"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly Sequencer Sequencer\n")),(0,r.kt)("h4",{id:"buffer"},"buffer"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly Metrics.Frame[] buffer\n")),(0,r.kt)("h4",{id:"tick"},"tick"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public uint tick\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"ontickint32"},"OnTick(Int32)"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnTick(int connectionCount)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"connectionCount"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"onsendint32"},"OnSend(Int32)"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnSend(int length)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"onresendint32"},"OnResend(Int32)"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnResend(int length)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"onreceiveint32"},"OnReceive(Int32)"),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnReceive(int length)\n")),(0,r.kt)("h5",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"onreceiveunconnectedint32"},"OnReceiveUnconnected(Int32)"),(0,r.kt)("h5",{id:"declaration-8"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnReceiveUnconnected(int length)\n")),(0,r.kt)("h5",{id:"parameters-5"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"onsendmessageunreliableint32"},"OnSendMessageUnreliable(Int32)"),(0,r.kt)("h5",{id:"declaration-9"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnSendMessageUnreliable(int length)\n")),(0,r.kt)("h5",{id:"parameters-6"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"onreceivemessageunreliableint32"},"OnReceiveMessageUnreliable(Int32)"),(0,r.kt)("h5",{id:"declaration-10"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnReceiveMessageUnreliable(int length)\n")),(0,r.kt)("h5",{id:"parameters-7"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"onsendmessagereliableint32"},"OnSendMessageReliable(Int32)"),(0,r.kt)("h5",{id:"declaration-11"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnSendMessageReliable(int length)\n")),(0,r.kt)("h5",{id:"parameters-8"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"onreceivemessagereliableint32"},"OnReceiveMessageReliable(Int32)"),(0,r.kt)("h5",{id:"declaration-12"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnReceiveMessageReliable(int length)\n")),(0,r.kt)("h5",{id:"parameters-9"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"onsendmessagenotifyint32"},"OnSendMessageNotify(Int32)"),(0,r.kt)("h5",{id:"declaration-13"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnSendMessageNotify(int length)\n")),(0,r.kt)("h5",{id:"parameters-10"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"onreceivemessagenotifyint32"},"OnReceiveMessageNotify(Int32)"),(0,r.kt)("h5",{id:"declaration-14"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnReceiveMessageNotify(int length)\n")),(0,r.kt)("h5",{id:"parameters-11"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"onreceivemessagepackettype-int32"},"OnReceiveMessage(PacketType, Int32)"),(0,r.kt)("h5",{id:"declaration-15"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnReceiveMessage(PacketType packetType, int length)\n")),(0,r.kt)("h5",{id:"parameters-12"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.PacketType"),(0,r.kt)("td",{parentName:"tr",align:null},"packetType"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null})))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/88eadf9d.e8dc490e.js b/assets/js/88eadf9d.e8dc490e.js new file mode 100644 index 00000000000..d2874ee185c --- /dev/null +++ b/assets/js/88eadf9d.e8dc490e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7459],{3905:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>g});var o=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,o,i=function(e,t){if(null==e)return{};var n,o,i={},r=Object.keys(e);for(o=0;o<r.length;o++)n=r[o],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o<r.length;o++)n=r[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=o.createContext({}),d=function(e){var t=o.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},m=function(e){var t=d(e.components);return o.createElement(c.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,c=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),p=d(n),g=i,h=p["".concat(c,".").concat(g)]||p[g]||l[g]||r;return n?o.createElement(h,a(a({ref:t},m),{},{components:n})):o.createElement(h,a({ref:t},m))}));function g(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,a=new Array(r);a[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,a[1]=s;for(var d=2;d<r;d++)a[d]=n[d];return o.createElement.apply(null,a)}return o.createElement.apply(null,n)}p.displayName="MDXCreateElement"},67984:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>r,metadata:()=>s,toc:()=>d});var o=n(87462),i=(n(67294),n(3905));const r={},a="Network Identity",s={unversionedId:"components/network-identity",id:"components/network-identity",title:"Network Identity",description:"See also NetworkIdentity in the API Reference.",source:"@site/docs/components/network-identity.md",sourceDirName:"components",slug:"/components/network-identity",permalink:"/Mirage/docs/components/network-identity",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/network-identity.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Discovery",permalink:"/Mirage/docs/components/network-discovery"},next:{title:"Network Log Settings",permalink:"/Mirage/docs/components/network-log-settings"}},c={},d=[{value:"Instantiated Network Game Objects",id:"instantiated-network-game-objects",level:2},{value:"Scene-based Network Game Objects",id:"scene-based-network-game-objects",level:2},{value:"Preview Pane Information",id:"preview-pane-information",level:2}],m={toc:d};function l(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,o.Z)({},m,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"network-identity"},"Network Identity"),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"See also ",(0,i.kt)("a",{parentName:"strong",href:"/docs/reference/Mirage/NetworkIdentity"},"NetworkIdentity")," in the API Reference.")),(0,i.kt)("p",null,"The Network Identity component is at the heart of the Unity networking high-level API. It controls a game object\u2019s unique identity on the network, and it uses that identity to make the networking system aware of the game object. It offers two different options for configuration and they are mutually exclusive, which means either one of the options or none can be checked."),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Server Only"),(0,i.kt)("br",{parentName:"li"}),"Tick this checkbox to ensure that Unity only spawns the game object on the server, and not on clients.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Inspector",src:n(60731).Z,width:"405",height:"145"})),(0,i.kt)("h2",{id:"instantiated-network-game-objects"},"Instantiated Network Game Objects"),(0,i.kt)("p",null,"With Mirage\u2019s server-authoritative networking system, the server must spawn networked game objects with network identities, using ",(0,i.kt)("inlineCode",{parentName:"p"},"NetworkServer.Spawn"),". This automatically creates them on clients that are connected to the server and assign them a ",(0,i.kt)("inlineCode",{parentName:"p"},"NetId"),"."),(0,i.kt)("p",null,"You must put a Network Identity component on any Prefabs that spawn at runtime for the network system to use them. See ",(0,i.kt)("a",{parentName:"p",href:"/docs/guides/game-objects/spawn-object"},"Object Spawning")," for more information."),(0,i.kt)("h2",{id:"scene-based-network-game-objects"},"Scene-based Network Game Objects"),(0,i.kt)("p",null,"You can also network game objects that are saved as part of your Scene (for example, environmental props). Networking game objects makes them behave slightly differently because you need to have them spawn across the network."),(0,i.kt)("p",null,"When building your game, Unity disables all Scene-based game objects with Network Identity components. When a client connects to the server, the server sends spawn messages to tell the client which Scene game objects to enable and what their most up-to-date state information is. This ensures the client\u2019s game does not contain game objects at incorrect locations when they start playing, or that Unity does not spawn and immediately destroy game objects on the connection (for example, if an event removed the game object before that client connected). See ",(0,i.kt)("a",{parentName:"p",href:"/docs/guides/game-objects/scene-objects"},"Networked Scene Game Objects")," for more information."),(0,i.kt)("h2",{id:"preview-pane-information"},"Preview Pane Information"),(0,i.kt)("p",null,"This component contains network tracking information and displays that information in the preview pane. For example, the scene ID, network ID and asset ID the object has been assigned. This allows you to inspect the information which can be useful for investigation and debugging."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Preview",src:n(25412).Z,width:"351",height:"75"})),(0,i.kt)("p",null,"At runtime there is more information to display here (a disabled NetworkBehaviour is displayed non-bold):"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Runtime Preview",src:n(40957).Z,width:"355",height:"259"})))}l.isMDXComponent=!0},60731:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/NetworkIdentity-8f4ebfa1bbabf22dc5633017d5538775.PNG"},25412:(e,t,n)=>{n.d(t,{Z:()=>o});const o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV8AAABLCAIAAABY5xPvAAAAAXNSR0IArs4c6QAAFONJREFUeAHtnQm0V9MXxz39JJkl9fxFZUgaVoVCEckUReZoUElC0bJkabBMERYKRS1JiqRMoQwpFYVKRVKGRIaQeYx67/957RzHOffed9997/Vev7vvW+u+89t3n3P2/p6z99nn3OHkHHbYYVvpUT4Q+OOPP3bcccdtttnGiJOTk1OhQoX169fblO233/63337Lz883RE0oAmEI/P3337/88st2221nGL777rvc3OpbbZWTn5eXl5+ft2HDhrw8+ljehoK/gl8bT3n5eTkNGjQw2TShCCgCioBBILPPPvvIj08//dSkzWVNlBUC2hxlhbzWaxDI/P777+aHnTZETZQVAtocZYW81isIZMz0lYRJKzpljoA2R5k3gQpQoWbNmoICI1XlypXLFpFOnTpVrFjxiy++SCzGtttue/rpp7dq1YrlvZUrVyYuJ37Ggw46iIXDX3/9NX6WQE4EXrdunblUHprDCKOJdCJQwaw1sGBuL2y+8MILjRs3fumllySgGD16dCaTWbZsWSBMLLOzzBl4qUjEYcOGYWZvvPFGWC6kys3Nff3118MYevfuffbZZ7/66qtY7PLly8PYik83Kk+aNIm6ImSOU9dOO+106aWXLlmyxDgIpzniFKI8ikDJIhA6s6hUqdLBBx98xhln0PupEseBdzBTD+60mTQMS5cuvf766+NIZme0+bfeemturwjFlGwzSBqpCC4cBrvMevXqrVixQmQ22W0GQyRhV8pPm81OSxabYqt85plnYsm2SDanXV0YHZ4TTzyR2IHzxIkTJQsF2mXa5WhaEdg8CGRsmzRpqZthvEePHnPnzl29erV0Vhhat27ds2fPKlWqvP322zfccEOHDh2qVq3avHnzMWPGPPvss5gKswNusd53333cVh04cCBXiQg6d+4MDxkZ+desWTNq1KiZM2dSy5NPPjl79uzatWsz/DJ4QqEiaunateu+++577bXXOiIZBslLIRRIyQsWLOjXr9/ll19eq1YtskyePJm8+KyWLVsWWikyECLhVho2bIiyTzzxxIABA3bYYYebb76Z8okR7rnnHoRBwoULFw4aNKhLly5GZdJoOnXq1AceeACRwqpz5HTirDp16jRq1IjsnOfNm7dq1SrSggMJjgMOOEASelYESgmBDz74wC/533CAa85gxWyie/fumEqvXr3kKraHeYwYMWLatGkTJkwgshg3blz79u3xFLfddtv/Nh48QPHtt9/Wr18fH8EqAKb72WefcYXgglwXXHABNnzddddB/OijjzCztm3bjh8//t133zW1N23alLWDbt26OVZkpBdO8rZr12748OE//fTTKaecQo0jR4489NBDf/zxx/79+/MECJOmOJVKOUOHDsWdHXvsscQmQ4YMwbm0adNmxowZ+BrsH/HQ695770UdW2UkITvDPglWcMKqc+RcvHix0YUEMyBcm02RtAEE/+VfVYoiUIIIMDr6pUXFDt988w02w/hPgEBOOiu2RzS+9957Q8H469atixFCZ7aMaf3www/8bNasGek5c+YceeSRWBTmNGvWLIiMvc888wxB+NNPP4218IymuCuWEmTgFeGqVauGZTJcE2L44ooYJqBgzGeob9GiBd6Buc/PP//MJQRbu3YtnPErnTJlCp6LMAHvcOedd+K5CJdwbZT2119/4X06duyIg6NMnlO0VRYJQQDOiOocOY38kh2fK3ETdBwQtUOXMoUBnCWhZ0WglBBw+qTUEhU7wPH8888fffTRF154ISZnxML2vvzyS0ZU3AGdWOgkGOrnz5+P2WNORBaYE5E2ixeE6McffzxsMMAmReFlJC/mZwqBB0cD21lnnYVF2ZWa2kkYfskrikE0dEkwz49ZKRVtzF2giy0PxCZNmuCqHnvsMcIHognDZoshxEKr8+WkEA7urRB8URFLmzwEJUTOFCtpbosYoiYUgdJAIPCGw7+xA1U6/oOfHLfccgumzqI66bfeeotRrnr16mPHjsWiatSoAZF7b1DEQpg2czeRAOHNN9+ku2PkTB++/vpr1gVgOOaYY9577z2GeuqiKPKKnibBz++///7GG2+86667+vTpc/vttwuDfaYcm5+0WJHQOUuCLPErlSycyUWBHCSEiHfDkeEdWHqAKAGFrTJEDrIUWp2UL8VKLnMmeGEehC+WqoVu0jqzMEBpopQQCFzb+jd2oNdyOHVDYREBK8ViucRcYPDgwSwcsLrOT3xB3759WWbHZTB9ICyHAn3RokXiIM4999zXXnuNQvBMd9xxxyWXXMIUAAMj/c4770hdBbVa9ZLmhuXjjz/OjUlG1OnTpwubfTb8BTk3Hlw1CUlzjl+pnX1TiRtFIs3NUSRhNkQsw4MYqPDcc8/ZKpu8hVZHaYaZhH2wVgImOB1DtNXZf//9DV0TikBpICCd0yk555BDDhES02lW15zLgT8JoXffffc///yTLMLAbJxlBab9gfyGyCC82267ER2YUdFcKr1E8SvFnXGgHToCEZaMtGEqF786gSJ+c5QedFpyyhHIIXIWCLh/yW28lMNRftTX5ig/bZFaSaLWHVILSjlRfHNGWOVEZRWjXCGQ4TsiRiA7bYiaKCsEtDnKCnmtVxDIyCxa7sYpKIqAIqAImBXKjPgF9Q7aJxQBRcBBIMA7qKdwMNKfikDWI2DiBVvTAu8g7kDO9jVNKwKKQEoQMOaPmyAtziLD/Xn0N9dMIiWgqJqKgCIgCIhHENcgZzd2UO+gfUURSCcC4h3+EzvgDswhoPAzneio1opAahEQp4D6JDgEh02xg+MgUouRKq4IpBMBiQmMXxAQAryDxg7p7B+qdZoRcPyCeoc0dwbVXREoHAGNHQrHSDkUgXQioN4hne2uWisChSDAXKPgYQf70EUHGw1NKwIpQSDQ8DMozwVzyM+UIKJqKgKKgCBApIATMGjITzd2MJc1oQgoAilHQL1DyjuAqq8IhCKg3iEUGr2gCKQcAfUOKe8Aqr4iEIqAeodQaPSCIpByBNQ7pLwDqPqKQCgC6h1CodELikDKEaiw6667mocd5Ianfdsz5eiUQ/XZZYdtR2Tjz5jitW7dmg2E2fo4Jj/MCT6WX6lSJWRjF1K7FvrSzjvvzBeG1q9fb9NJ27UUVUKnqJg/EYYNH9ml1daucuXK4Il4NpECw3AuQbEpip2oGzVqRF1fffUVlcaUMDCjj7PfImEZHUyQRF7KKngaKvHB3lBXX301+9mxj3biQiIysj3f3XffzVZ97HzP1ntw0s8+//xzqmN/8IiMWXlpl112Oe+889gAnY1w6NPsrBfT4E844YS5c+euWLEiGpY999yTHZLZLpRNkkeNGhXGfP7559u7/n7yySdsoX7VVVchHgbGwU7rdAmyU2CnTp0qVqyItOxRzF6kXA2sJUJCthdlk+fFixez2XqYSNALZTvwwAPZ8ZBOz7Zm9B82cCRXjx492AsaImbDBojscgwxEOcSEdsRsm3btmxqP3XqVESi3vgSOhkDcQ5sET9j586d2bwes2KvVmk1JDFHsbxDvXr1gLVp06bsMUnDm0ITJPr16zdmzBgcgZ2XjiWBDInhw4fjEaiO3TrZtvPWW2+1d520c2VrGtfAIIPHZJ8LNuxjp0KjKSiJs4+gcCmajV7CDuC25QeWhqNhq2S5xNbq7HtImn1G2U6Z8nv27IkR4guIbthslQ2WH3roITzOxRdfPHv2bDx7RC2+hKiJf0G1TOY/HdVRpFA2KsWpsfMzLgCDZPPnjz/+mOF68uTJ7CMvYrPDq3iHQJyLL7YvJM4CQObMmYPiRZLQzkjeQJwDW8TOiNZoisWNHj2a7a/POeccMJH9KyhTjv+A/g8x7v9mzZo99dRTp556Kl1q6dKlko1xAK+Bs2BH6Q8//BCiT2HbWDoWNs9O3Oype9xxx1WpUqVLly7Lly+n/SKqp8+9+OKLdevWpeqZM2dGcGbZpb322qtWrVqTJk3CKRAxyg6m2AxWx9CB7wfqcePGAbtDkVCfLNht7dq1V65cCRtEn43OAWi0hQ0dTXnSSSdVrVoVlzR+/HiyEywIAyExPYxW5qc0NGZM3IEwOHFaioPuiHiMxrhyiXQCa6EER0L4Kadjx44MaOguNfr6okgcttzcXMoXyfFc+C82iKSn4RooGS0YvUW8QJzhKY7YZPeFbN++vexcP3DgQFqEMDymhE5GHHogzn6L4P6cGqtVqyZGRGjWpk0bGeYFajkn9w7sl0vpOAViM2xVvAMxZMuWLQcNGsRMBkSow6cwANI8Q4cOpWmJfxiIXn755cMPP/zhhx+OM1+gC65atYqqbTWyPi36so061svkGbQfeeQRoCAuBY2aNWv26tULH03Xdyg0POBwacqUKfQYTJ2BgtA6kM2BcY899mDoZuP1kSNHYj/r1q0zDMhAN33wwQdtIkbYoEEDhmgJ66iR7do56AxEEDI3NCU4CUdCnM7JJ59Mv582bRrxvzD7+qJdHLbVq1eTF/dKZ2NqRmn0Xs7M1U877TT8F5M1JIQSiHNEXBxHbIr1hUQvWhOfO3bsWODCgcaU0MlI4RE42y3iZJTttWVnbDmzdTal2UfyexZ4miVLljBKcEZPgKZcegDBJBNFhinB1KdwCW9NHyWmIAvOxRYoTprscdiyiYc4C3XoRoMHD8YvNGzYkNbF6oC3VatWRMtcJTr1KQICI/D8+fMZKAg9atSoEcbmIMZMmDFtxowZhCpr1641W67DRnD+/vvvM3CZLLgS2p1aCCeFSBPjO3D9/CRwZf3bMPsJR0Ks7ogjjqBrEbywakhe7NYXOyYbcQEh51FHHcVo1KJFC+xQnBpoSL0U3q5dO/pVIM6+tIYSR+xAIakaMdAIVDnHl9DJiCRhODst4mc0WiAJad+sEsYOxAX0ThQjQKVc+igddPr06VTDAgGOgzGHXsWcyqcgBL2cvkVGznHiBaOGJHD/9EKHmN0/JQZmGEdNWV/E0zOfv+iiiwAZK5WhwKfYsEgnYH0+ms1kkehPchkiiSZNmtSpU2fIkCGGSEDOCD9r1iwaXYhMFZs3bz5hwgTsByPv27cvP6OnjWQ0EuIO6F0yzWHGzkhTv3593ISjb0w2Sn7llVfmzZtHBET3u+aaaxjDIOIjiLY4SDNWoUUgzlyNPqLFxix9XUQAu9iYEhIH2bnCcPZbxM5FGnfPGWw5EwkaCglzJPQOuEOs2qxsN27cmJAV9ehPNCQLV8SEjG90XAYfh0IkTKABXrZfoMvSckassATlM1QyW1m4cGEYT1bSmfeCGIM5cwoGf3TEI+y3334AwvI780koxHE+RdBg4YBJO1eZ3LJ2EMbmQMdCI/2eqeKjjz5KgvLp6FgXc1T8lKxHkoWpYrdu3QiSEQm/A4WEGAzDFz+RnP4g0w2nCvPTkZDVKA65yiI0XZnehQE7+rLSGYeNcgisEIBhjCgGLVjwgohVSFCNjfGTq2vWrPFxFjECz3HEJqMvpF9aTAmdjIE4B7aIc1OZVRhQZSaI+8ZUMdIFCxY4hSf0Diw0ML00ZeF9mb+x1sgSKGMIZ1Bj1RQGGsCh0B6srnXv3h02PAKRJ10NyVhVxrsz/phi7QT8KEDgh52MGDGCBravZn0a6wK0Dh06YNhAilUwhWYJkDi5f//+ixYtIjTFaLm56FCkyelDDJgMFEBNT6V1fDZWGTE/+ihzYG4hT5w4cdmyZdyexO/fdNNNIMyqpCwz4dxleV9gZwCnZA4JJCHCj+8gmOcGE/2PMZ8hQRbnmS/4tZDFkVBKds6o7IvtO51Att69e1Ma/Y1exCqg5LriiisAFo+DObHSIcOpjzMZiyO2o0XYzz59+sSU0C4hEGcmSn6L0FvsjOBAE3MrYMCAAaiPtRp3b9hyWAUAHQYEObhAwlxOkKA0JGOZh9mUZPcpUgtsNJJxaYjIOiWtlaDSlGRh/GdCQTMzyonKjOcQ+QnIGDYDuE8RToI4bMPYUhibjyT9AX+EO7YXIH22QAo14mvoDAgWyGATHQntSyYdU2yfDZRkJZIxScZbyhQiCjKhoO+ZWnyczSU/EUdsP5dPKZKETvYi4WznpVKGCm5kSscAGTnwHSRK3jvYdWtaEVAEtggE8AXIuck35OeLd0h+z2KL0FmFVAQUgcQIqHdIDJ1mVASyHAH1DlnewKqeIpAYAfUOiaHTjIpAliOg3iHLG1jVUwQSI1As78BTSdyVTFy3ZiwqAtx741kD7kIVNaPyKwIJEEjYz7jHy/tzPAbD4wncW+aVqgR1x8min3gwKPGykHkbn3cZeMTNXNKEIlAaCCT0Drwbw8NL4hR4EqM0JJMyeThSns4ikeZPPACC/TY+L7nyzKjz9FvptYKWnE4EEnoHnoPkyTNiBx4yM4/Q8Yw9T91ixjxKgSUTVjjfcQDiyy67jGelebsG58K3N+RdLJ8tojEoNoWfeODtYx6Ptd/Gl9feIoDSS4pAMRFI6B14Ap8Xsa688krey+SZf9wBz9J37dqVr4PxKD7zDijYv/MdBx7YpIvzht/999/PF1x4CB/vEMgWrRVPdPHcPkVFs2XTVR53RR37bXyhZJOOqkt5QyChd8A+eVlFXr7CznlZk8GNx+lxDWgob1iY7ziIznzHQb5LxccqeKibVz54X5BLYWzRSMl0I5onW6/KQ6/Zqp3qVX4QSOgdRAE+9DZs2DA+PMvb/piree1KrkLBC8jcgbN5X5uwwtY/jM3m8dNp+8SD/zY+L2X6sChFEShBBBJ6B6YDWD6DmLxVyQt8dF/exiOCkK/3YfME//53HHzRY7KZjLyMmMJPPMR5G99ApAlFoEQQSOgd+BYA36vii7qsTfI6PR8UQRpeF+eWG26CV4n5EmHgdxx8oWOykTHNn3gg4Cr0bXwfW6UoAsVBIPkb3DwKRWjATTV5M1yEkE858HUdM30giHC+4xAobky2wLzpIZq38c33HdKju2paqgjIYhZnObBfEsm9Q6nKqoUrAorA5kQAX0B1m3yDft9hc0KvdSkCWyICxXrPYktUWGVWBBSBmAiod4gJlLIpAqlDQL1D6ppcFVYEYiKg3iEmUMqmCKQOAfUOqWtyVVgRiImAeoeYQCmbIpA6BNQ7pK7JVWFFICYC6h1iAqVsikDqEPg/3oyeXleNyI8AAAAASUVORK5CYII="},40957:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/NetworkIdentityPreviewRuntime-271cc83fa155e57064242394dc024396.png"}}]); \ No newline at end of file diff --git a/assets/js/89bce9de.6a7d4cf9.js b/assets/js/89bce9de.6a7d4cf9.js new file mode 100644 index 00000000000..b79926378f7 --- /dev/null +++ b/assets/js/89bce9de.6a7d4cf9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4201],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function s(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var o=n.createContext({}),d=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},c=function(e){var t=d(e.components);return n.createElement(o.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,o=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),m=d(a),u=r,k=m["".concat(o,".").concat(u)]||m[u]||p[u]||l;return a?n.createElement(k,i(i({ref:t},c),{},{components:a})):n.createElement(k,i({ref:t},c))}));function u(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=m;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s.mdxType="string"==typeof e?e:r,i[1]=s;for(var d=2;d<l;d++)i[d]=a[d];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}m.displayName="MDXCreateElement"},83609:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>s,toc:()=>d});var n=a(87462),r=(a(67294),a(3905));const l={id:"NetworkSceneManager",title:"NetworkSceneManager"},i="Class NetworkSceneManager",s={unversionedId:"reference/Mirage/NetworkSceneManager",id:"reference/Mirage/NetworkSceneManager",title:"NetworkSceneManager",description:"NetworkSceneManager is an optional component that helps keep scene in sync between server and client.",source:"@site/docs/reference/Mirage/NetworkSceneManager.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkSceneManager",permalink:"/Mirage/docs/reference/Mirage/NetworkSceneManager",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkSceneManager.md",tags:[],version:"current",frontMatter:{id:"NetworkSceneManager",title:"NetworkSceneManager"},sidebar:"api",previous:{title:"NetworkSceneChecker",permalink:"/Mirage/docs/reference/Mirage/NetworkSceneChecker"},next:{title:"NetworkServer",permalink:"/Mirage/docs/reference/Mirage/NetworkServer"}},o={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Client",id:"client",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Server",id:"server",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"ServerObjectManager",id:"serverobjectmanager",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"ClientObjectManager",id:"clientobjectmanager",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"SendAdditiveScenesOnAuthenticate",id:"sendadditivescenesonauthenticate",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"DontDestroy",id:"dontdestroy",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"SceneLoadingAsyncOperationInfo",id:"sceneloadingasyncoperationinfo",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Properties",id:"properties",level:3},{value:"ActiveScenePath",id:"activescenepath",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"ServerSceneData",id:"serverscenedata",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"OnClientStartedSceneChange",id:"onclientstartedscenechange",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"OnClientFinishedSceneChange",id:"onclientfinishedscenechange",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"OnServerStartedSceneChange",id:"onserverstartedscenechange",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"OnServerFinishedSceneChange",id:"onserverfinishedscenechange",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"OnPlayerSceneReady",id:"onplayersceneready",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Methods",id:"methods",level:3},{value:"Start()",id:"start",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"OnDestroy()",id:"ondestroy",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"IsPlayerInScene(Scene, INetworkPlayer)",id:"isplayerinscenescene-inetworkplayer",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"ScenesPlayerIsIn(INetworkPlayer)",id:"scenesplayerisininetworkplayer",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"ScenesPlayerIsInNonAlloc(INetworkPlayer, List<Scene>)",id:"scenesplayerisinnonallocinetworkplayer-listscene",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"ClientStartSceneMessage(INetworkPlayer, SceneMessage)",id:"clientstartscenemessageinetworkplayer-scenemessage",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"ClientFinishedLoadingSceneMessage(INetworkPlayer, SceneReadyMessage)",id:"clientfinishedloadingscenemessageinetworkplayer-scenereadymessage",level:4},{value:"Declaration",id:"declaration-20",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"ClientNotReadyMessage(INetworkPlayer, SceneNotReadyMessage)",id:"clientnotreadymessageinetworkplayer-scenenotreadymessage",level:4},{value:"Declaration",id:"declaration-21",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"SetSceneIsReady()",id:"setsceneisready",level:4},{value:"Declaration",id:"declaration-22",level:5},{value:"ServerLoadForPlayers(String, IEnumerable<INetworkPlayer>, Boolean, SceneOperation)",id:"serverloadforplayersstring-ienumerableinetworkplayer-boolean-sceneoperation",level:4},{value:"Declaration",id:"declaration-23",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"ServerSceneUnLoading(Scene, IEnumerable<INetworkPlayer>)",id:"serversceneunloadingscene-ienumerableinetworkplayer",level:4},{value:"Declaration",id:"declaration-24",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"ServerSceneUnLoadingAsync(Scene, IEnumerable<INetworkPlayer>)",id:"serversceneunloadingasyncscene-ienumerableinetworkplayer",level:4},{value:"Declaration",id:"declaration-25",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"Returns",id:"returns-2",level:5},{value:"ServerLoadSceneNormal(String, Nullable<LoadSceneParameters>)",id:"serverloadscenenormalstring-nullableloadsceneparameters",level:4},{value:"Declaration",id:"declaration-26",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"ServerLoadSceneNormalAsync(String, Nullable<LoadSceneParameters>)",id:"serverloadscenenormalasyncstring-nullableloadsceneparameters",level:4},{value:"Declaration",id:"declaration-27",level:5},{value:"Parameters",id:"parameters-10",level:5},{value:"Returns",id:"returns-3",level:5},{value:"ServerLoadSceneAdditively(String, IEnumerable<INetworkPlayer>, Boolean, Nullable<LoadSceneParameters>)",id:"serverloadsceneadditivelystring-ienumerableinetworkplayer-boolean-nullableloadsceneparameters",level:4},{value:"Declaration",id:"declaration-28",level:5},{value:"Parameters",id:"parameters-11",level:5},{value:"ServerLoadSceneAdditivelyAsync(String, IEnumerable<INetworkPlayer>, Boolean, Nullable<LoadSceneParameters>)",id:"serverloadsceneadditivelyasyncstring-ienumerableinetworkplayer-boolean-nullableloadsceneparameters",level:4},{value:"Declaration",id:"declaration-29",level:5},{value:"Parameters",id:"parameters-12",level:5},{value:"Returns",id:"returns-4",level:5},{value:"ServerUnloadSceneAdditively(Scene, IEnumerable<INetworkPlayer>)",id:"serverunloadsceneadditivelyscene-ienumerableinetworkplayer",level:4},{value:"Declaration",id:"declaration-30",level:5},{value:"Parameters",id:"parameters-13",level:5},{value:"ServerUnloadSceneAdditivelyAsync(Scene, IEnumerable<INetworkPlayer>)",id:"serverunloadsceneadditivelyasyncscene-ienumerableinetworkplayer",level:4},{value:"Declaration",id:"declaration-31",level:5},{value:"Parameters",id:"parameters-14",level:5},{value:"Returns",id:"returns-5",level:5},{value:"OnServerAuthenticated(INetworkPlayer)",id:"onserverauthenticatedinetworkplayer",level:4},{value:"Declaration",id:"declaration-32",level:5},{value:"Parameters",id:"parameters-15",level:5},{value:"OnServerPlayerDisconnected(INetworkPlayer)",id:"onserverplayerdisconnectedinetworkplayer",level:4},{value:"Declaration",id:"declaration-33",level:5},{value:"Parameters",id:"parameters-16",level:5},{value:"SetAllClientsNotReady(IEnumerable<INetworkPlayer>)",id:"setallclientsnotreadyienumerableinetworkplayer",level:4},{value:"Declaration",id:"declaration-34",level:5},{value:"Parameters",id:"parameters-17",level:5},{value:"SetClientNotReady(INetworkPlayer)",id:"setclientnotreadyinetworkplayer",level:4},{value:"Declaration",id:"declaration-35",level:5},{value:"Parameters",id:"parameters-18",level:5},{value:"GetSceneByPathOrName(String)",id:"getscenebypathornamestring",level:4},{value:"Declaration",id:"declaration-36",level:5},{value:"Parameters",id:"parameters-19",level:5},{value:"Returns",id:"returns-6",level:5}],c={toc:d};function p(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-networkscenemanager"},"Class NetworkSceneManager"),(0,r.kt)("p",null,"NetworkSceneManager is an optional component that helps keep scene in sync between server and client.\nThe loads scenes as instructed by the .\nThe controls the currently active Scene and any additive Load/Unload.\nwhen a client connect NetworkSceneManager will send a message telling the new client to load the scene that is active on the server"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class NetworkSceneManager : MonoBehaviour\n")),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"client"},"Client"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkClient Client\n")),(0,r.kt)("h4",{id:"server"},"Server"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkServer Server\n")),(0,r.kt)("h4",{id:"serverobjectmanager"},"ServerObjectManager"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public ServerObjectManager ServerObjectManager\n")),(0,r.kt)("h4",{id:"clientobjectmanager"},"ClientObjectManager"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public ClientObjectManager ClientObjectManager\n")),(0,r.kt)("h4",{id:"sendadditivescenesonauthenticate"},"SendAdditiveScenesOnAuthenticate"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool SendAdditiveScenesOnAuthenticate\n")),(0,r.kt)("h4",{id:"dontdestroy"},"DontDestroy"),(0,r.kt)("p",null,"Sets the NetworksSceneManagers GameObject to DontDestroyOnLoad. Default = true."),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool DontDestroy\n")),(0,r.kt)("h4",{id:"sceneloadingasyncoperationinfo"},"SceneLoadingAsyncOperationInfo"),(0,r.kt)("p",null,"Information on any scene that is currently being loaded."),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public AsyncOperation SceneLoadingAsyncOperationInfo\n")),(0,r.kt)("h3",{id:"properties"},"Properties"),(0,r.kt)("h4",{id:"activescenepath"},"ActiveScenePath"),(0,r.kt)("p",null,"The path of the current active scene.\nIf using additive scenes this will be the first scene.\nValue from "),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public string ActiveScenePath { get; }\n")),(0,r.kt)("h4",{id:"serverscenedata"},"ServerSceneData"),(0,r.kt)("p",null,"Collection of scenes and which player","'","s are in those scenes."),(0,r.kt)("h5",{id:"declaration-8"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public IReadOnlyDictionary<Scene, HashSet<INetworkPlayer>> ServerSceneData { get; }\n")),(0,r.kt)("h4",{id:"onclientstartedscenechange"},"OnClientStartedSceneChange"),(0,r.kt)("p",null,"Event fires when the Client starts changing scene."),(0,r.kt)("h5",{id:"declaration-9"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SceneChangeStartedEvent OnClientStartedSceneChange { get; }\n")),(0,r.kt)("h4",{id:"onclientfinishedscenechange"},"OnClientFinishedSceneChange"),(0,r.kt)("p",null,"Event fires after the Client has completed its scene change."),(0,r.kt)("h5",{id:"declaration-10"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SceneChangeFinishedEvent OnClientFinishedSceneChange { get; }\n")),(0,r.kt)("h4",{id:"onserverstartedscenechange"},"OnServerStartedSceneChange"),(0,r.kt)("p",null,"Event fires before Server changes scene."),(0,r.kt)("h5",{id:"declaration-11"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SceneChangeStartedEvent OnServerStartedSceneChange { get; }\n")),(0,r.kt)("h4",{id:"onserverfinishedscenechange"},"OnServerFinishedSceneChange"),(0,r.kt)("p",null,"Event fires after Server has completed scene change."),(0,r.kt)("h5",{id:"declaration-12"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SceneChangeFinishedEvent OnServerFinishedSceneChange { get; }\n")),(0,r.kt)("h4",{id:"onplayersceneready"},"OnPlayerSceneReady"),(0,r.kt)("p",null,"Event fires On the server, after Client sends to the server"),(0,r.kt)("h5",{id:"declaration-13"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public PlayerSceneChangeEvent OnPlayerSceneReady { get; }\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"start"},"Start()"),(0,r.kt)("h5",{id:"declaration-14"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual void Start()\n")),(0,r.kt)("h4",{id:"ondestroy"},"OnDestroy()"),(0,r.kt)("h5",{id:"declaration-15"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual void OnDestroy()\n")),(0,r.kt)("h4",{id:"isplayerinscenescene-inetworkplayer"},"IsPlayerInScene(Scene, INetworkPlayer)"),(0,r.kt)("p",null,"Check whether or not the player is in a specific scene or not."),(0,r.kt)("h5",{id:"declaration-16"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsPlayerInScene(Scene scene, INetworkPlayer player)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Scene"),(0,r.kt)("td",{parentName:"tr",align:null},"scene"),(0,r.kt)("td",{parentName:"tr",align:null},"The scene we want to check in.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,r.kt)("td",{parentName:"tr",align:null},"player"),(0,r.kt)("td",{parentName:"tr",align:null},"The player we want to check for.")))),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"Returns true or false if the player is in the scene specified.")))),(0,r.kt)("h4",{id:"scenesplayerisininetworkplayer"},"ScenesPlayerIsIn(INetworkPlayer)"),(0,r.kt)("p",null,"What scene is this specific player currently in."),(0,r.kt)("h5",{id:"declaration-17"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public Scene[] ScenesPlayerIsIn(INetworkPlayer player)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,r.kt)("td",{parentName:"tr",align:null},"player"),(0,r.kt)("td",{parentName:"tr",align:null},"The player we want to check against.")))),(0,r.kt)("h5",{id:"returns-1"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Scene[]"),(0,r.kt)("td",{parentName:"tr",align:null},"Returns back a array of scene","'","s the player is currently in.")))),(0,r.kt)("h4",{id:"scenesplayerisinnonallocinetworkplayer-listscene"},"ScenesPlayerIsInNonAlloc(INetworkPlayer, List","<","Scene",">",")"),(0,r.kt)("h5",{id:"declaration-18"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void ScenesPlayerIsInNonAlloc(INetworkPlayer player, List<Scene> scenes)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,r.kt)("td",{parentName:"tr",align:null},"player"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.List","<","Scene",">"),(0,r.kt)("td",{parentName:"tr",align:null},"scenes"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"clientstartscenemessageinetworkplayer-scenemessage"},"ClientStartSceneMessage(INetworkPlayer, SceneMessage)"),(0,r.kt)("p",null,"Received message from server to start loading scene or scenes."),(0,r.kt)("p",null,"Default implementation is to load main activate scene server is using and load any\nother additive scenes in background and notify event handler. If this is not intended\nbehavior you need please override this function."),(0,r.kt)("h5",{id:"declaration-19"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual void ClientStartSceneMessage(INetworkPlayer player, SceneMessage message)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,r.kt)("td",{parentName:"tr",align:null},"player"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SceneMessage"),(0,r.kt)("td",{parentName:"tr",align:null},"message"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"clientfinishedloadingscenemessageinetworkplayer-scenereadymessage"},"ClientFinishedLoadingSceneMessage(INetworkPlayer, SceneReadyMessage)"),(0,r.kt)("p",null,"Received message from server that it has finished loading the scene."),(0,r.kt)("p",null,"Default implementation will set AllowSceneActivation = true and invoke event handler.\nIf this is not good enough intended behavior then override this method."),(0,r.kt)("h5",{id:"declaration-20"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected virtual void ClientFinishedLoadingSceneMessage(INetworkPlayer player, SceneReadyMessage message)\n")),(0,r.kt)("h5",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,r.kt)("td",{parentName:"tr",align:null},"player"),(0,r.kt)("td",{parentName:"tr",align:null},"The player who sent the message.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SceneReadyMessage"),(0,r.kt)("td",{parentName:"tr",align:null},"message"),(0,r.kt)("td",{parentName:"tr",align:null},"The message data coming back from server.")))),(0,r.kt)("h4",{id:"clientnotreadymessageinetworkplayer-scenenotreadymessage"},"ClientNotReadyMessage(INetworkPlayer, SceneNotReadyMessage)"),(0,r.kt)("p",null,"Received message that player is not ready."),(0,r.kt)("p",null,"Default implementation is to set player to not ready."),(0,r.kt)("h5",{id:"declaration-21"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected virtual void ClientNotReadyMessage(INetworkPlayer player, SceneNotReadyMessage message)\n")),(0,r.kt)("h5",{id:"parameters-5"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,r.kt)("td",{parentName:"tr",align:null},"player"),(0,r.kt)("td",{parentName:"tr",align:null},"The player that is currently not ready.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SceneNotReadyMessage"),(0,r.kt)("td",{parentName:"tr",align:null},"message"),(0,r.kt)("td",{parentName:"tr",align:null},"The message data coming in.")))),(0,r.kt)("h4",{id:"setsceneisready"},"SetSceneIsReady()"),(0,r.kt)("p",null,"Signal that the client connection is ready to enter the game.\nThis could be for example when a client enters an ongoing game and has finished loading the current scene. The server should respond to the message with an appropriate handler which instantiates the players object for example."),(0,r.kt)("h5",{id:"declaration-22"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void SetSceneIsReady()\n")),(0,r.kt)("h4",{id:"serverloadforplayersstring-ienumerableinetworkplayer-boolean-sceneoperation"},"ServerLoadForPlayers(String, IEnumerable","<","INetworkPlayer",">",", Boolean, SceneOperation)"),(0,r.kt)("p",null,"Loads a scene on players but NOT on server\nNote: does not load for Host player, they should be loaded using server methods instead"),(0,r.kt)("h5",{id:"declaration-23"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void ServerLoadForPlayers(string scenePath, IEnumerable<INetworkPlayer> players, bool shouldClientLoadOrUnloadNormally, SceneOperation sceneOperation = SceneOperation.Normal)\n")),(0,r.kt)("h5",{id:"parameters-6"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null},"scenePath"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","Mirage.INetworkPlayer",">"),(0,r.kt)("td",{parentName:"tr",align:null},"players"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"shouldClientLoadOrUnloadNormally"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SceneOperation"),(0,r.kt)("td",{parentName:"tr",align:null},"sceneOperation"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"serversceneunloadingscene-ienumerableinetworkplayer"},"ServerSceneUnLoading(Scene, IEnumerable","<","INetworkPlayer",">",")"),(0,r.kt)("p",null,"Unload a specific scene from server and clients"),(0,r.kt)("h5",{id:"declaration-24"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void ServerSceneUnLoading(Scene scene, IEnumerable<INetworkPlayer> players)\n")),(0,r.kt)("h5",{id:"parameters-7"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Scene"),(0,r.kt)("td",{parentName:"tr",align:null},"scene"),(0,r.kt)("td",{parentName:"tr",align:null},"What scene do we want to tell server and clients to unload.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","Mirage.INetworkPlayer",">"),(0,r.kt)("td",{parentName:"tr",align:null},"players"),(0,r.kt)("td",{parentName:"tr",align:null},"The players we want to tell to unload the scene.")))),(0,r.kt)("h4",{id:"serversceneunloadingasyncscene-ienumerableinetworkplayer"},"ServerSceneUnLoadingAsync(Scene, IEnumerable","<","INetworkPlayer",">",")"),(0,r.kt)("p",null,"Unload a specific scene from server and clients"),(0,r.kt)("h5",{id:"declaration-25"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public UniTask ServerSceneUnLoadingAsync(Scene scene, IEnumerable<INetworkPlayer> players)\n")),(0,r.kt)("h5",{id:"parameters-8"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Scene"),(0,r.kt)("td",{parentName:"tr",align:null},"scene"),(0,r.kt)("td",{parentName:"tr",align:null},"What scene do we want to tell server and clients to unload.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","Mirage.INetworkPlayer",">"),(0,r.kt)("td",{parentName:"tr",align:null},"players"),(0,r.kt)("td",{parentName:"tr",align:null},"The players we want to tell to unload the scene.")))),(0,r.kt)("h5",{id:"returns-2"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cysharp.Threading.Tasks.UniTask"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"serverloadscenenormalstring-nullableloadsceneparameters"},"ServerLoadSceneNormal(String, Nullable","<","LoadSceneParameters",">",")"),(0,r.kt)("p",null,"Allows server to fully load in a new scene and override current active scene."),(0,r.kt)("h5",{id:"declaration-26"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void ServerLoadSceneNormal(string scenePath, LoadSceneParameters? sceneLoadParameters = default(LoadSceneParameters? ))\n")),(0,r.kt)("h5",{id:"parameters-9"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null},"scenePath"),(0,r.kt)("td",{parentName:"tr",align:null},"The full path to the scene file or the name of the scene.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Nullable","<","LoadSceneParameters",">"),(0,r.kt)("td",{parentName:"tr",align:null},"sceneLoadParameters"),(0,r.kt)("td",{parentName:"tr",align:null},"What settings should we be using for physics scene loading.")))),(0,r.kt)("h4",{id:"serverloadscenenormalasyncstring-nullableloadsceneparameters"},"ServerLoadSceneNormalAsync(String, Nullable","<","LoadSceneParameters",">",")"),(0,r.kt)("p",null,"Allows server to fully load in a new scene and override current active scene."),(0,r.kt)("h5",{id:"declaration-27"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public UniTask ServerLoadSceneNormalAsync(string scenePath, LoadSceneParameters? sceneLoadParameters = default(LoadSceneParameters? ))\n")),(0,r.kt)("h5",{id:"parameters-10"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null},"scenePath"),(0,r.kt)("td",{parentName:"tr",align:null},"The full path to the scene file or the name of the scene.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Nullable","<","LoadSceneParameters",">"),(0,r.kt)("td",{parentName:"tr",align:null},"sceneLoadParameters"),(0,r.kt)("td",{parentName:"tr",align:null},"What settings should we be using for physics scene loading.")))),(0,r.kt)("h5",{id:"returns-3"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cysharp.Threading.Tasks.UniTask"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"serverloadsceneadditivelystring-ienumerableinetworkplayer-boolean-nullableloadsceneparameters"},"ServerLoadSceneAdditively(String, IEnumerable","<","INetworkPlayer",">",", Boolean, Nullable","<","LoadSceneParameters",">",")"),(0,r.kt)("p",null,"Allows server to fully load in another scene on top of current active scene."),(0,r.kt)("h5",{id:"declaration-28"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void ServerLoadSceneAdditively(string scenePath, IEnumerable<INetworkPlayer> players, bool shouldClientLoadNormally = false, LoadSceneParameters? sceneLoadParameters = default(LoadSceneParameters? ))\n")),(0,r.kt)("h5",{id:"parameters-11"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null},"scenePath"),(0,r.kt)("td",{parentName:"tr",align:null},"The full path to the scene file or the name of the scene.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","Mirage.INetworkPlayer",">"),(0,r.kt)("td",{parentName:"tr",align:null},"players"),(0,r.kt)("td",{parentName:"tr",align:null},"Collection of player","'","s that are receiving the new scene load.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"shouldClientLoadNormally"),(0,r.kt)("td",{parentName:"tr",align:null},"Should the clients load this additively too or load it full normal scene change.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Nullable","<","LoadSceneParameters",">"),(0,r.kt)("td",{parentName:"tr",align:null},"sceneLoadParameters"),(0,r.kt)("td",{parentName:"tr",align:null},"What settings should we be using for physics scene loading.")))),(0,r.kt)("h4",{id:"serverloadsceneadditivelyasyncstring-ienumerableinetworkplayer-boolean-nullableloadsceneparameters"},"ServerLoadSceneAdditivelyAsync(String, IEnumerable","<","INetworkPlayer",">",", Boolean, Nullable","<","LoadSceneParameters",">",")"),(0,r.kt)("p",null,"Allows server to fully load in another scene on top of current active scene."),(0,r.kt)("h5",{id:"declaration-29"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public UniTask ServerLoadSceneAdditivelyAsync(string scenePath, IEnumerable<INetworkPlayer> players, bool shouldClientLoadNormally = false, LoadSceneParameters? sceneLoadParameters = default(LoadSceneParameters? ))\n")),(0,r.kt)("h5",{id:"parameters-12"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null},"scenePath"),(0,r.kt)("td",{parentName:"tr",align:null},"The full path to the scene file or the name of the scene.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","Mirage.INetworkPlayer",">"),(0,r.kt)("td",{parentName:"tr",align:null},"players"),(0,r.kt)("td",{parentName:"tr",align:null},"Collection of player","'","s that are receiving the new scene load.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"shouldClientLoadNormally"),(0,r.kt)("td",{parentName:"tr",align:null},"Should the clients load this additively too or load it full normal scene change.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Nullable","<","LoadSceneParameters",">"),(0,r.kt)("td",{parentName:"tr",align:null},"sceneLoadParameters"),(0,r.kt)("td",{parentName:"tr",align:null},"What settings should we be using for physics scene loading.")))),(0,r.kt)("h5",{id:"returns-4"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cysharp.Threading.Tasks.UniTask"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"serverunloadsceneadditivelyscene-ienumerableinetworkplayer"},"ServerUnloadSceneAdditively(Scene, IEnumerable","<","INetworkPlayer",">",")"),(0,r.kt)("p",null,"Allows server to fully unload a scene additively."),(0,r.kt)("h5",{id:"declaration-30"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void ServerUnloadSceneAdditively(Scene scene, IEnumerable<INetworkPlayer> players)\n")),(0,r.kt)("h5",{id:"parameters-13"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Scene"),(0,r.kt)("td",{parentName:"tr",align:null},"scene"),(0,r.kt)("td",{parentName:"tr",align:null},"The scene handle which we want to unload additively.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","Mirage.INetworkPlayer",">"),(0,r.kt)("td",{parentName:"tr",align:null},"players"),(0,r.kt)("td",{parentName:"tr",align:null},"Collection of player","'","s that are receiving the new scene unload.")))),(0,r.kt)("h4",{id:"serverunloadsceneadditivelyasyncscene-ienumerableinetworkplayer"},"ServerUnloadSceneAdditivelyAsync(Scene, IEnumerable","<","INetworkPlayer",">",")"),(0,r.kt)("p",null,"Allows server to fully unload a scene additively."),(0,r.kt)("h5",{id:"declaration-31"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public UniTask ServerUnloadSceneAdditivelyAsync(Scene scene, IEnumerable<INetworkPlayer> players)\n")),(0,r.kt)("h5",{id:"parameters-14"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Scene"),(0,r.kt)("td",{parentName:"tr",align:null},"scene"),(0,r.kt)("td",{parentName:"tr",align:null},"The scene handle which we want to unload additively.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","Mirage.INetworkPlayer",">"),(0,r.kt)("td",{parentName:"tr",align:null},"players"),(0,r.kt)("td",{parentName:"tr",align:null},"Collection of player","'","s that are receiving the new scene unload.")))),(0,r.kt)("h5",{id:"returns-5"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cysharp.Threading.Tasks.UniTask"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"onserverauthenticatedinetworkplayer"},"OnServerAuthenticated(INetworkPlayer)"),(0,r.kt)("p",null,"When player authenticates to server we send a message to them to load up main scene and\nany other scenes that are loaded on server."),(0,r.kt)("p",null,"Default implementation takes main activate scene as main and any other loaded scenes and sends it to player","'","s\nPlease override this function if this is not intended behavior for you."),(0,r.kt)("h5",{id:"declaration-32"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected virtual void OnServerAuthenticated(INetworkPlayer player)\n")),(0,r.kt)("h5",{id:"parameters-15"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,r.kt)("td",{parentName:"tr",align:null},"player"),(0,r.kt)("td",{parentName:"tr",align:null},"The current player that finished authenticating.")))),(0,r.kt)("h4",{id:"onserverplayerdisconnectedinetworkplayer"},"OnServerPlayerDisconnected(INetworkPlayer)"),(0,r.kt)("p",null,"When player disconnects from server we will need to clean up info in scenes related to user.\nDefault implementation we loop through list of scenes and find where this player was in and removed them from list."),(0,r.kt)("h5",{id:"declaration-33"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected virtual void OnServerPlayerDisconnected(INetworkPlayer disconnectedPlayer)\n")),(0,r.kt)("h5",{id:"parameters-16"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,r.kt)("td",{parentName:"tr",align:null},"disconnectedPlayer"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"setallclientsnotreadyienumerableinetworkplayer"},"SetAllClientsNotReady(IEnumerable","<","INetworkPlayer",">",")"),(0,r.kt)("p",null,"Marks all connected clients as no longer ready."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"All clients will no longer be sent state synchronization updates.\nThe player's clients can call ClientManager.Ready() again to re-enter the ready state.\nThis is useful when switching scenes.\n")),(0,r.kt)("h5",{id:"declaration-34"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void SetAllClientsNotReady(IEnumerable<INetworkPlayer> players = null)\n")),(0,r.kt)("h5",{id:"parameters-17"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","Mirage.INetworkPlayer",">"),(0,r.kt)("td",{parentName:"tr",align:null},"players"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"setclientnotreadyinetworkplayer"},"SetClientNotReady(INetworkPlayer)"),(0,r.kt)("p",null,"Sets a player as not ready and removes all visible objects\nPlayers that are not ready will not be sent spawn message or state updates.\nPlayers that are not ready do not receive spawned objects or state synchronization updates. They client can be made ready again by calling SetClientReady()."),(0,r.kt)("h5",{id:"declaration-35"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void SetClientNotReady(INetworkPlayer player)\n")),(0,r.kt)("h5",{id:"parameters-18"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,r.kt)("td",{parentName:"tr",align:null},"player"),(0,r.kt)("td",{parentName:"tr",align:null},"The player to make not ready.")))),(0,r.kt)("h4",{id:"getscenebypathornamestring"},"GetSceneByPathOrName(String)"),(0,r.kt)("p",null,"Let","'","s us get scene by full path or by its name."),(0,r.kt)("h5",{id:"declaration-36"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public Scene GetSceneByPathOrName(string scenePath)\n")),(0,r.kt)("h5",{id:"parameters-19"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null},"scenePath"),(0,r.kt)("td",{parentName:"tr",align:null},"The path or name representing the scene.")))),(0,r.kt)("h5",{id:"returns-6"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Scene"),(0,r.kt)("td",{parentName:"tr",align:null},"Returns back correct scene data.")))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8a1d5087.363882ef.js b/assets/js/8a1d5087.363882ef.js new file mode 100644 index 00000000000..c3dfb5e46c2 --- /dev/null +++ b/assets/js/8a1d5087.363882ef.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[817],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>k});var r=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function c(e,t){if(null==e)return{};var a,r,l=function(e,t){if(null==e)return{};var a,r,l={},n=Object.keys(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var o=r.createContext({}),s=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},d=function(e){var t=s(e.components);return r.createElement(o.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,l=e.mdxType,n=e.originalType,o=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),u=s(a),k=l,m=u["".concat(o,".").concat(k)]||u[k]||p[k]||n;return a?r.createElement(m,i(i({ref:t},d),{},{components:a})):r.createElement(m,i({ref:t},d))}));function k(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var n=a.length,i=new Array(n);i[0]=u;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:l,i[1]=c;for(var s=2;s<n;s++)i[s]=a[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}u.displayName="MDXCreateElement"},47395:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>n,metadata:()=>c,toc:()=>s});var r=a(87462),l=(a(67294),a(3905));const n={id:"ReliableBatch",title:"ReliableBatch"},i="Class ReliableBatch",c={unversionedId:"reference/Mirage.SocketLayer/ReliableBatch",id:"reference/Mirage.SocketLayer/ReliableBatch",title:"ReliableBatch",description:"Inheritance",source:"@site/docs/reference/Mirage.SocketLayer/ReliableBatch.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/ReliableBatch",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ReliableBatch",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/ReliableBatch.md",tags:[],version:"current",frontMatter:{id:"ReliableBatch",title:"ReliableBatch"},sidebar:"api",previous:{title:"RejectReason",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/RejectReason"},next:{title:"RingBuffer<T>",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/RingBuffer-1"}},o={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"ReliableBatch(Int32, Func<PacketType, AckSystem.ReliablePacket>, Action<AckSystem.ReliablePacket>)",id:"reliablebatchint32-funcpackettype-acksystemreliablepacket-actionacksystemreliablepacket",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Properties",id:"properties",level:3},{value:"Created",id:"created",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Methods",id:"methods",level:3},{value:"GetBatch()",id:"getbatch",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Returns",id:"returns",level:5},{value:"GetBatchLength()",id:"getbatchlength",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Returns",id:"returns-1",level:5},{value:"CreateNewBatch()",id:"createnewbatch",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"SendAndReset()",id:"sendandreset",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"IDisposable.Dispose()",id:"idisposabledispose",level:4},{value:"Declaration",id:"declaration-6",level:5}],d={toc:s};function p(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-reliablebatch"},"Class ReliableBatch"),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,l.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.SocketLayer.Batch")),(0,l.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Show"),(0,l.kt)("p",null,"Mirage.SocketLayer.Batch.MESSAGE_LENGTH_SIZE"),(0,l.kt)("p",null,"Mirage.SocketLayer.Batch.Flush()")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public class ReliableBatch : Batch, IDisposable\n")),(0,l.kt)("h3",{id:"constructors"},"Constructors"),(0,l.kt)("h4",{id:"reliablebatchint32-funcpackettype-acksystemreliablepacket-actionacksystemreliablepacket"},"ReliableBatch(Int32, Func","<","PacketType, AckSystem.ReliablePacket",">",", Action","<","AckSystem.ReliablePacket",">",")"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public ReliableBatch(int maxPacketSize, Func<PacketType, AckSystem.ReliablePacket> createReliableBuffer, Action<AckSystem.ReliablePacket> sendReliablePacket)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"maxPacketSize"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Func","<","Mirage.SocketLayer.PacketType, Mirage.SocketLayer.AckSystem.ReliablePacket",">"),(0,l.kt)("td",{parentName:"tr",align:null},"createReliableBuffer"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Action","<","Mirage.SocketLayer.AckSystem.ReliablePacket",">"),(0,l.kt)("td",{parentName:"tr",align:null},"sendReliablePacket"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h3",{id:"properties"},"Properties"),(0,l.kt)("h4",{id:"created"},"Created"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"protected override bool Created { get; }\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"getbatch"},"GetBatch()"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"protected override byte[] GetBatch()\n")),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"getbatchlength"},"GetBatchLength()"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"protected override int GetBatchLength()\n")),(0,l.kt)("h5",{id:"returns-1"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"createnewbatch"},"CreateNewBatch()"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"protected override void CreateNewBatch()\n")),(0,l.kt)("h4",{id:"sendandreset"},"SendAndReset()"),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"protected override void SendAndReset()\n")),(0,l.kt)("h4",{id:"idisposabledispose"},"IDisposable.Dispose()"),(0,l.kt)("h5",{id:"declaration-6"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"void IDisposable.Dispose()\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8a37668a.5d035a1e.js b/assets/js/8a37668a.5d035a1e.js new file mode 100644 index 00000000000..3a47abd1fb3 --- /dev/null +++ b/assets/js/8a37668a.5d035a1e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8442],{3905:(e,r,n)=>{n.d(r,{Zo:()=>s,kt:()=>m});var t=n(67294);function a(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function o(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function c(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?o(Object(n),!0).forEach((function(r){a(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function i(e,r){if(null==e)return{};var n,t,a=function(e,r){if(null==e)return{};var n,t,a={},o=Object.keys(e);for(t=0;t<o.length;t++)n=o[t],r.indexOf(n)>=0||(a[n]=e[n]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t<o.length;t++)n=o[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=t.createContext({}),p=function(e){var r=t.useContext(l),n=r;return e&&(n="function"==typeof e?e(r):c(c({},r),e)),n},s=function(e){var r=p(e.components);return t.createElement(l.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},d=t.forwardRef((function(e,r){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),d=p(n),m=a,y=d["".concat(l,".").concat(m)]||d[m]||u[m]||o;return n?t.createElement(y,c(c({ref:r},s),{},{components:n})):t.createElement(y,c({ref:r},s))}));function m(e,r){var n=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=n.length,c=new Array(o);c[0]=d;var i={};for(var l in r)hasOwnProperty.call(r,l)&&(i[l]=r[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,c[1]=i;for(var p=2;p<o;p++)c[p]=n[p];return t.createElement.apply(null,c)}return t.createElement.apply(null,n)}d.displayName="MDXCreateElement"},51732:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>p});var t=n(87462),a=(n(67294),n(3905));const o={id:"SyncFrom",title:"SyncFrom"},c="Enum SyncFrom",i={unversionedId:"reference/Mirage/SyncFrom",id:"reference/Mirage/SyncFrom",title:"SyncFrom",description:"Syntax",source:"@site/docs/reference/Mirage/SyncFrom.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SyncFrom",permalink:"/Mirage/docs/reference/Mirage/SyncFrom",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SyncFrom.md",tags:[],version:"current",frontMatter:{id:"SyncFrom",title:"SyncFrom"},sidebar:"api",previous:{title:"SyncActiveOption",permalink:"/Mirage/docs/reference/Mirage/SyncActiveOption"},next:{title:"SyncHookType",permalink:"/Mirage/docs/reference/Mirage/SyncHookType"}},l={},p=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"None",id:"none",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Owner",id:"owner",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Server",id:"server",level:4},{value:"Declaration",id:"declaration-2",level:5}],s={toc:p};function u(e){let{components:r,...n}=e;return(0,a.kt)("wrapper",(0,t.Z)({},s,n,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"enum-syncfrom"},"Enum SyncFrom"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[Flags]\npublic enum SyncFrom : byte\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"none"},"None"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"None = 0\n")),(0,a.kt)("h4",{id:"owner"},"Owner"),(0,a.kt)("p",null,"syncs from Owner to Server or "),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Owner = 1\n")),(0,a.kt)("h4",{id:"server"},"Server"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Server = 2\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8adcb82a.8fadc205.js b/assets/js/8adcb82a.8fadc205.js new file mode 100644 index 00000000000..50a6e009955 --- /dev/null +++ b/assets/js/8adcb82a.8fadc205.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3421],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=a.createContext({}),c=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},p=function(e){var t=c(e.components);return a.createElement(l.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(n),m=r,g=d["".concat(l,".").concat(m)]||d[m]||h[m]||i;return n?a.createElement(g,o(o({ref:t},p),{},{components:n})):a.createElement(g,o({ref:t},p))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=d;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:r,o[1]=s;for(var c=2;c<i;c++)o[c]=n[c];return a.createElement.apply(null,o)}return a.createElement.apply(null,n)}d.displayName="MDXCreateElement"},11504:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var a=n(87462),r=(n(67294),n(3905));const i={sidebar_position:5,title:"Spawn Object"},o="Spawning Game Objects",s={unversionedId:"guides/game-objects/spawn-object",id:"guides/game-objects/spawn-object",title:"Spawn Object",description:"In Unity, you usually \u201cspawn\u201d (that is, create) new game objects with Instantiate. However, in Mirage, the word \u201cspawn\u201d means something more specific. In the server-authoritative model of the Mirage, to \u201cspawn\u201d a game object on the server means that the game object is created on clients connected to the server, and is managed by the spawning system.",source:"@site/docs/guides/game-objects/spawn-object.md",sourceDirName:"guides/game-objects",slug:"/guides/game-objects/spawn-object",permalink:"/Mirage/docs/guides/game-objects/spawn-object",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/game-objects/spawn-object.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"Spawn Object"},sidebar:"docs",previous:{title:"Spawn Player - Custom",permalink:"/Mirage/docs/guides/game-objects/spawn-player-custom"},next:{title:"Spawn Object - Custom",permalink:"/Mirage/docs/guides/game-objects/spawn-object-custom"}},l={},c=[{value:"Spawning Without Network Manager",id:"spawning-without-network-manager",level:2},{value:"Constraints",id:"constraints",level:3},{value:"Game Object Creation Flow",id:"game-object-creation-flow",level:2},{value:"Player Game Objects",id:"player-game-objects",level:3},{value:"Spawning Game Objects with Client Authority",id:"spawning-game-objects-with-client-authority",level:2}],p={toc:c};function h(e){let{components:t,...i}=e;return(0,r.kt)("wrapper",(0,a.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"spawning-game-objects"},"Spawning Game Objects"),(0,r.kt)("p",null,"In Unity, you usually \u201cspawn\u201d (that is, create) new game objects with ",(0,r.kt)("inlineCode",{parentName:"p"},"Instantiate"),". However, in Mirage, the word \u201cspawn\u201d means something more specific. In the server-authoritative model of the Mirage, to \u201cspawn\u201d a game object on the server means that the game object is created on clients connected to the server, and is managed by the spawning system."),(0,r.kt)("p",null,"To spawn an object on the server you need to ",(0,r.kt)("inlineCode",{parentName:"p"},"Instantiate")," the prefab and then call ",(0,r.kt)("inlineCode",{parentName:"p"},"Spawn")," on the new object. This will assign a ",(0,r.kt)("inlineCode",{parentName:"p"},"NetId")," to the object and send a ",(0,r.kt)("inlineCode",{parentName:"p"},"SpawnMessage")," to clients."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"var boxGo = Instantiate(boxPrefab);\nServerObjectManager.Spawn(boxGo);\n")),(0,r.kt)("p",null,"Once the game object is spawned using this system, state updates are sent to clients whenever the game object changes on the server. When Mirage destroys the game object on the server, it also destroys it on the clients. The server manages spawned game objects alongside all other networked game objects so that if another client joins the game later, the server can spawn the game objects on that client. These spawned game objects have a unique network instance ID called ",(0,r.kt)("inlineCode",{parentName:"p"},"NetId")," that is the same on the server and clients for each game object. The unique network instance ID is used to route messages sent across the network to game objects and to identify game objects."),(0,r.kt)("p",null,"When the server spawns a game object with a Network Identity component, the game object spawned on the client has the same \u201cstate\u201d. This means it is identical to the game object on the server; it has the same Transform, movement state, and (if Network Transform and SyncVars are used) synchronized variables. Therefore, client game objects are always up-to-date when Mirage creates them. This avoids issues such as game objects spawning at the wrong initial location, then reappearing at their correct position when a state update arrives."),(0,r.kt)("p",null,"A game object Prefab must have a Network Identity component before trying to register it with the Network Manager."),(0,r.kt)("p",null,"To register a Prefab with the Client Object Manager in the Editor, select the Network Manager game object, and in the Inspector, navigate to the Client Object Manager component. Click the triangle next to Spawn Prefabs to open the settings, and click the plus (+) button. Drag and drop Prefabs into the empty field to assign them to the list.\nFor automatic registering click the 'Register All Prefabs' button."),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"This searches the entire project for prefabs/objects that have a network identity component on them and register it for you.")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Registered Spawnable Prefabs",src:n(26269).Z,width:"592",height:"231"})),(0,r.kt)("h2",{id:"spawning-without-network-manager"},"Spawning Without Network Manager"),(0,r.kt)("p",null,"For more advanced users, you may find that you want to register Prefabs and spawn game objects without using the Network Manager component."),(0,r.kt)("p",null,"To spawn game objects without using the Network Manager, you can handle the Prefab registration yourself via script. Use the ",(0,r.kt)("inlineCode",{parentName:"p"},"ClientScene.RegisterPrefab")," method to register Prefabs to the Network Manager."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'using UnityEngine;\nusing Mirage;\n\npublic class MyNetworkManager : MonoBehaviour \n{\n public GameObject treePrefab;\n public ClientObjectManager;\n public NetworkClient;\n public NetworkServer;\n public ServerObjectManager;\n\n void Start()\n {\n ClientObjectManager = FindObjectOfType<ClientObjectManager>();\n NetworkClient = FindObjectOfType<NetworkClient>();\n NetworkServer = FindObjectOfType<NetworkServer>();\n ServerObjectManager = FindObjectOfType<NetworkServer>();\n }\n\n // Register prefab and connect to the server \n public void ClientConnect()\n {\n ClientObjectManager.spawnPrefabs.Add(treePrefab);\n NetworkClient.Connect("localhost");\n NetworkClient.MessageHandler.RegisterHandler<ConnectMessage>(OnClientConnect);\n }\n\n void OnClientConnect(NetworkConnection conn, ConnectMessage msg)\n {\n Debug.Log("Connected to server: " + conn);\n }\n}\n')),(0,r.kt)("p",null,"In this example, you create an empty game object to act as the Network Manager, then create and attach the ",(0,r.kt)("inlineCode",{parentName:"p"},"MyNetworkManager")," script (above) to that game object. Create a prefab that has a Network Identity component attached to it, and drag that onto the ",(0,r.kt)("inlineCode",{parentName:"p"},"treePrefab")," slot on the ",(0,r.kt)("inlineCode",{parentName:"p"},"MyNetworkManager")," component in the Inspector. This ensures that when the server spawns the tree game object, it also creates the same kind of game object on the clients."),(0,r.kt)("p",null,"Registering prefabs ensures that there is no stalling or loading time for creating the Asset."),(0,r.kt)("p",null,"For the script to work, you also need to add code for the server. Add this to the ",(0,r.kt)("inlineCode",{parentName:"p"},"MyNetworkManager")," script:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'public void ServerListen()\n{\n // start listening, and allow up to 4 connections\n NetworkServer.StartServer();\n\n NetworkServer.MessageHandler.RegisterHandler<ConnectMessage>(OnServerConnect);\n NetworkServer.MessageHandler.RegisterHandler<ReadyMessage>(OnClientReady);\n}\n\n// When client is ready spawn a few trees \nvoid OnClientReady(NetworkConnection conn, ReadyMessage msg)\n{\n Debug.Log("Client is ready to start: " + conn);\n SpawnTrees();\n}\n\nvoid SpawnTrees()\n{\n int x = 0;\n for (int i = 0; i < 5; ++i)\n {\n GameObject treeGo = Instantiate(treePrefab, new Vector3(x++, 0, 0), Quaternion.identity);\n ServerObjectManager.Spawn(treeGo);\n }\n}\n\nvoid OnServerConnect(NetworkConnection conn, ConnectMessage msg)\n{\n Debug.Log("New client connected: " + conn);\n}\n')),(0,r.kt)("p",null,"The server does not need to register anything, as it knows what game object is being spawned (and the asset ID is sent in the spawn message). The client needs to be able to look up the game object, so it must be registered on the client."),(0,r.kt)("p",null,"When writing your own network manager, it\u2019s important to make the client ready to receive state updates before calling the spawn command on the server, otherwise, they won\u2019t be sent. If you\u2019re using Mirage\u2019s built-in Network Manager component, this happens automatically."),(0,r.kt)("p",null,"For more advanced uses, such as object pools or dynamically created Assets, you can use the ",(0,r.kt)("inlineCode",{parentName:"p"},"ClientObjectManager.RegisterSpawnHandler")," method, which allows callback functions to be registered for client-side spawning. See the documentation on ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/game-objects/spawn-object-custom"},"Custom Spawn Functions")," for an example of this."),(0,r.kt)("p",null,"If the game object has a network state like synchronized variables, then that state is synchronized with the spawn message. In the following example, this script is attached to the tree Prefab:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'using UnityEngine;\nusing Mirage;\n\npublic class Tree : NetworkBehaviour\n{\n [SyncVar]\n public int numLeaves;\n\n void Start()\n {\n Identity.OnStartClient.AddLisenter(OnStartClient);\n }\n\n public override void OnStartClient()\n {\n Debug.Log("Tree spawned with leaf count " + numLeaves);\n }\n}\n')),(0,r.kt)("p",null,"With this script attached, you can change the ",(0,r.kt)("inlineCode",{parentName:"p"},"numLeaves")," variable and modify the ",(0,r.kt)("inlineCode",{parentName:"p"},"SpawnTrees")," function to see it accurately reflected on the client:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'void SpawnTrees()\n{\n int x = 0;\n for (int i = 0; i < 5; ++i)\n {\n GameObject treeGo = Instantiate(treePrefab, new Vector3(x++, 0, 0), Quaternion.identity);\n Tree tree = treeGo.GetComponent<Tree>();\n tree.numLeaves = Random.Range(10,200);\n Debug.Log("Spawning leaf with leaf count " + tree.numLeaves);\n ServerObjectManager.Spawn(treeGo);\n }\n}\n')),(0,r.kt)("p",null,"Attach the ",(0,r.kt)("inlineCode",{parentName:"p"},"Tree")," script to the ",(0,r.kt)("inlineCode",{parentName:"p"},"treePrefab")," script created earlier to see this in action."),(0,r.kt)("h3",{id:"constraints"},"Constraints"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"A NetworkIdentity must be on the root game object of a spawnable Prefab. Without this, the Network Manager can\u2019t register the Prefab.")),(0,r.kt)("h2",{id:"game-object-creation-flow"},"Game Object Creation Flow"),(0,r.kt)("p",null,"The actual flow of internal operations that takes place for spawning game objects is:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Prefab with Network Identity component is registered as spawnable."),(0,r.kt)("li",{parentName:"ul"},"A game object is instantiated from the Prefab on the server."),(0,r.kt)("li",{parentName:"ul"},"The game code sets initial values on the instance (note that 3D physics forces applied here do not take effect immediately)."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"ServerObjectManager.Spawn")," is called with the instance."),(0,r.kt)("li",{parentName:"ul"},"The state of the SyncVars on the instance on the server is collected by calling ",(0,r.kt)("inlineCode",{parentName:"li"},"OnSerialize")," on ","[Network Behaviour]"," components."),(0,r.kt)("li",{parentName:"ul"},"A network message of the type ",(0,r.kt)("inlineCode",{parentName:"li"},"ObjectSpawn")," is sent to connected clients that include the SyncVar data."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"OnStartServer")," is called on the instance on the server, and ",(0,r.kt)("inlineCode",{parentName:"li"},"IsServer")," is set to ",(0,r.kt)("inlineCode",{parentName:"li"},"true")),(0,r.kt)("li",{parentName:"ul"},"Clients receive the ",(0,r.kt)("inlineCode",{parentName:"li"},"ObjectSpawn")," message and create a new instance from the registered Prefab."),(0,r.kt)("li",{parentName:"ul"},"The SyncVar data is applied to the new instance on the client by calling OnDeserialize on Network Behaviour components."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"OnStartClient")," is called on the instance on each client, and ",(0,r.kt)("inlineCode",{parentName:"li"},"IsClient")," is set to ",(0,r.kt)("inlineCode",{parentName:"li"},"true")),(0,r.kt)("li",{parentName:"ul"},"As game-play progresses, changes to SyncVar values are automatically synchronized to clients. This continues until the game ends."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"ServerObjectManager.Destroy")," is called on the instance on the server."),(0,r.kt)("li",{parentName:"ul"},"A network message of the type ",(0,r.kt)("inlineCode",{parentName:"li"},"ObjectDestroy")," is sent to clients."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"OnNetworkDestroy")," is called on the instance on clients, then the instance is destroyed.")),(0,r.kt)("h3",{id:"player-game-objects"},"Player Game Objects"),(0,r.kt)("p",null,"Player game objects in the HLAPI work slightly differently from non-player game objects. The flow for spawning player game objects with the Network Manager is:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Prefab with ",(0,r.kt)("inlineCode",{parentName:"li"},"NetworkIdentity")," is registered as the ",(0,r.kt)("inlineCode",{parentName:"li"},"PlayerPrefab")),(0,r.kt)("li",{parentName:"ul"},"The client connects to the server"),(0,r.kt)("li",{parentName:"ul"},"Client calls ",(0,r.kt)("inlineCode",{parentName:"li"},"AddPlayer"),", network message of type ",(0,r.kt)("inlineCode",{parentName:"li"},"MsgType.AddPlayer")," is sent to the server"),(0,r.kt)("li",{parentName:"ul"},"The server receives the message and calls ",(0,r.kt)("inlineCode",{parentName:"li"},"CharacterSpawner.OnServerAddPlayer")),(0,r.kt)("li",{parentName:"ul"},"A game object is instantiated from the Player Prefab on the server"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"ServerObjectManager.AddCharacter")," is called with the new player instance on the server"),(0,r.kt)("li",{parentName:"ul"},"The player instance is spawned - you do not have to call ",(0,r.kt)("inlineCode",{parentName:"li"},"ServerObjectManager.Spawn")," for the player instance. The spawn message is sent to all clients like on a normal spawn."),(0,r.kt)("li",{parentName:"ul"},"A network message of type ",(0,r.kt)("inlineCode",{parentName:"li"},"Owner")," is sent to the client that added the player (only that client!)"),(0,r.kt)("li",{parentName:"ul"},"The original client receives the network message"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"OnStartLocalPlayer")," is called on the player instance on the original client, and ",(0,r.kt)("inlineCode",{parentName:"li"},"IsLocalPlayer")," is set to true")),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},(0,r.kt)("inlineCode",{parentName:"p"},"OnStartLocalPlayer")," is called after ",(0,r.kt)("inlineCode",{parentName:"p"},"OnStartClient"),", because it only happens when the ownership message arrives from the server after the player game object is spawned, so ",(0,r.kt)("inlineCode",{parentName:"p"},"IsLocalPlayer")," is not set in ",(0,r.kt)("inlineCode",{parentName:"p"},"OnStartClient"),".",(0,r.kt)("br",{parentName:"p"}),"\n","Because ",(0,r.kt)("inlineCode",{parentName:"p"},"OnStartLocalPlayer")," is only called for the client\u2019s local player game object, it is a good place to perform initialization that should only be done for the local player. This could include enabling input processing and enabling camera tracking for the player game object.")),(0,r.kt)("h2",{id:"spawning-game-objects-with-client-authority"},"Spawning Game Objects with Client Authority"),(0,r.kt)("p",null,"To spawn game objects and assign authority of those game objects to a particular client, use ",(0,r.kt)("inlineCode",{parentName:"p"},"ServerObjectManager.Spawn"),", which takes as an argument the ",(0,r.kt)("inlineCode",{parentName:"p"},"INetworkPlayer")," of the client that is to be made the authority."),(0,r.kt)("p",null,"For these game objects, the property ",(0,r.kt)("inlineCode",{parentName:"p"},"HasAuthority")," is true on the client with authority, and ",(0,r.kt)("inlineCode",{parentName:"p"},"OnStartAuthority")," is called on the client with authority. That client can issue Server RPCs for that game object. On other clients (and on the host), ",(0,r.kt)("inlineCode",{parentName:"p"},"HasAuthority")," is false."),(0,r.kt)("p",null,"For example, the tree spawn example above can be modified to allow the tree to have client authority like this (note that we now need to pass in a Network Player game object for the owning client\u2019s connection):"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'void SpawnTrees(INetworkPlayer player)\n{\n int x = 0;\n for (int i = 0; i < 5; ++i)\n {\n GameObject treeGo = Instantiate(treePrefab, new Vector3(x++, 0, 0), Quaternion.identity);\n Tree tree = treeGo.GetComponent<Tree>();\n tree.numLeaves = Random.Range(10,200);\n Debug.Log("Spawning leaf with leaf count " + tree.numLeaves);\n ServerObjectManager.Spawn(treeGo, player);\n }\n}\n')),(0,r.kt)("p",null,"The Tree script can now be modified to send a Server RPC Call to the server:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},' public void ClientConnect()\n {\n ClientObjectManager.spawnPrefabs.Add(treePrefab);\n NetworkClient.Connect("localhost");\n NetworkClient.MessageHandler.RegisterHandler<ConnectMessage>(OnClientConnect);\n\n NetworkClient.Player.Identity.OnAuthorityChanged.AddListener(OnStartAuthority);\n }\n\npublic override void OnStartAuthority(bool changed)\n{\n CmdMessageFromTree("Tree with " + numLeaves + " reporting in");\n}\n\n[ServerRpc]\nvoid CmdMessageFromTree(string msg)\n{\n Debug.Log("Client sent a tree message: " + msg);\n}\n')),(0,r.kt)("p",null,"Note that you can\u2019t just add the ",(0,r.kt)("inlineCode",{parentName:"p"},"CmdMessageFromTree")," call into ",(0,r.kt)("inlineCode",{parentName:"p"},"OnStartClient"),", because at that point the authority has not been set yet, so the call would fail."))}h.isMDXComponent=!0},26269:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/spawn-objects-6ae976e2c154a524d14a4205dfb220d9.png"}}]); \ No newline at end of file diff --git a/assets/js/8b61a806.96b56b88.js b/assets/js/8b61a806.96b56b88.js new file mode 100644 index 00000000000..111a9045458 --- /dev/null +++ b/assets/js/8b61a806.96b56b88.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4989],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function i(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var d=n.createContext({}),c=function(e){var t=n.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},s=function(e){var t=c(e.components);return n.createElement(d.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,d=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),y=c(a),u=r,m=y["".concat(d,".").concat(u)]||y[u]||p[u]||l;return a?n.createElement(m,o(o({ref:t},s),{},{components:a})):n.createElement(m,o({ref:t},s))}));function u(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,o=new Array(l);o[0]=y;var i={};for(var d in t)hasOwnProperty.call(t,d)&&(i[d]=t[d]);i.originalType=e,i.mdxType="string"==typeof e?e:r,o[1]=i;for(var c=2;c<l;c++)o[c]=a[c];return n.createElement.apply(null,o)}return n.createElement.apply(null,a)}y.displayName="MDXCreateElement"},34385:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var n=a(87462),r=(a(67294),a(3905));const l={id:"LobbyReady",title:"LobbyReady"},o="Class LobbyReady",i={unversionedId:"reference/Mirage.Components/LobbyReady",id:"reference/Mirage.Components/LobbyReady",title:"LobbyReady",description:"Inheritance",source:"@site/docs/reference/Mirage.Components/LobbyReady.md",sourceDirName:"reference/Mirage.Components",slug:"/reference/Mirage.Components/LobbyReady",permalink:"/Mirage/docs/reference/Mirage.Components/LobbyReady",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Components/LobbyReady.md",tags:[],version:"current",frontMatter:{id:"LobbyReady",title:"LobbyReady"},sidebar:"api",previous:{title:"Mirage.Components",permalink:"/Mirage/docs/reference/Mirage.Components/"},next:{title:"ReadyCheck",permalink:"/Mirage/docs/reference/Mirage.Components/ReadyCheck"}},d={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Server",id:"server",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Players",id:"players",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Methods",id:"methods",level:3},{value:"SetAllClientsNotReady()",id:"setallclientsnotready",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"SendToReady<T>(T, Boolean, NetworkIdentity, Channel)",id:"sendtoreadytt-boolean-networkidentity-channel",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters",level:5}],s={toc:c};function p(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-lobbyready"},"Class LobbyReady"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class LobbyReady : MonoBehaviour\n")),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"server"},"Server"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkServer Server\n")),(0,r.kt)("h4",{id:"players"},"Players"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public Dictionary<NetworkIdentity, ReadyCheck> Players\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"setallclientsnotready"},"SetAllClientsNotReady()"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void SetAllClientsNotReady()\n")),(0,r.kt)("h4",{id:"sendtoreadytt-boolean-networkidentity-channel"},"SendToReady","<","T",">","(T, Boolean, NetworkIdentity, Channel)"),(0,r.kt)("p",null,"Send a message to players that are ready on check, or not ready if sendToReady fakse"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendToReady<T>(T msg, bool sendToReady = true, NetworkIdentity exclude = null, Channel channelId = Channel.Reliable)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T"),(0,r.kt)("td",{parentName:"tr",align:null},"msg"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"sendToReady"),(0,r.kt)("td",{parentName:"tr",align:null},"Use to send message no not ready players instead, not this doesn","'","t check server for players with out character, only players with PlayerReadyCheck on their character")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,r.kt)("td",{parentName:"tr",align:null},"exclude"),(0,r.kt)("td",{parentName:"tr",align:null},"Add Identity to exclude here, useful when you want to send to all players except the owner")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,r.kt)("td",{parentName:"tr",align:null},"channelId"),(0,r.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8bcc25e3.6c5d92c7.js b/assets/js/8bcc25e3.6c5d92c7.js new file mode 100644 index 00000000000..e17505db22c --- /dev/null +++ b/assets/js/8bcc25e3.6c5d92c7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5745],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>m});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function u(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var c=n.createContext({}),o=function(e){var t=n.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},s=function(e){var t=o(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,c=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),d=o(a),m=r,k=d["".concat(c,".").concat(m)]||d[m]||p[m]||l;return a?n.createElement(k,i(i({ref:t},s),{},{components:a})):n.createElement(k,i({ref:t},s))}));function m(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=d;var u={};for(var c in t)hasOwnProperty.call(t,c)&&(u[c]=t[c]);u.originalType=e,u.mdxType="string"==typeof e?e:r,i[1]=u;for(var o=2;o<l;o++)i[o]=a[o];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}d.displayName="MDXCreateElement"},25713:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>u,toc:()=>o});var n=a(87462),r=(a(67294),a(3905));const l={id:"Sequencer",title:"Sequencer"},i="Class Sequencer",u={unversionedId:"reference/Mirage.SocketLayer/Sequencer",id:"reference/Mirage.SocketLayer/Sequencer",title:"Sequencer",description:"A sequence generator that can wrap.",source:"@site/docs/reference/Mirage.SocketLayer/Sequencer.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/Sequencer",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Sequencer",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/Sequencer.md",tags:[],version:"current",frontMatter:{id:"Sequencer",title:"Sequencer"},sidebar:"api",previous:{title:"RingBuffer<T>",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/RingBuffer-1"},next:{title:"SocketFactory",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/SocketFactory"}},c={},o=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"Sequencer(Int32)",id:"sequencerint32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Properties",id:"properties",level:3},{value:"Bits",id:"bits",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Methods",id:"methods",level:3},{value:"Next()",id:"next",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Returns",id:"returns",level:5},{value:"NextAfter(UInt64)",id:"nextafteruint64",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"MoveInBounds(UInt64)",id:"moveinboundsuint64",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-2",level:5},{value:"Distance(UInt64, UInt64)",id:"distanceuint64-uint64",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-3",level:5}],s={toc:o};function p(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-sequencer"},"Class Sequencer"),(0,r.kt)("p",null,"A sequence generator that can wrap.\nFor example a 2 bit sequencer would generate\nthe following numbers:\n0,1,2,3,0,1,2,3,0,1,2,3..."),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class Sequencer\n")),(0,r.kt)("h3",{id:"constructors"},"Constructors"),(0,r.kt)("h4",{id:"sequencerint32"},"Sequencer(Int32)"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public Sequencer(int bits)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"bits"),(0,r.kt)("td",{parentName:"tr",align:null},"amount of bits for the sequence")))),(0,r.kt)("h3",{id:"properties"},"Properties"),(0,r.kt)("h4",{id:"bits"},"Bits"),(0,r.kt)("p",null,"Number of bits used for the sequence generator up to 64"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public int Bits { get; }\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"next"},"Next()"),(0,r.kt)("p",null,"Generates the next value in the sequence\nstarts with 0"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public ulong Next()\n")),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,r.kt)("td",{parentName:"tr",align:null},"0, 1, 2, ..., (2^n)-1, 0, 1, 2, ...")))),(0,r.kt)("h4",{id:"nextafteruint64"},"NextAfter(UInt64)"),(0,r.kt)("p",null,"Gets the next sequence value after a given sequence\nwraps if necessary"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public ulong NextAfter(ulong sequence)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,r.kt)("td",{parentName:"tr",align:null},"sequence"),(0,r.kt)("td",{parentName:"tr",align:null},"current sequence value")))),(0,r.kt)("h5",{id:"returns-1"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,r.kt)("td",{parentName:"tr",align:null},"the next sequence value")))),(0,r.kt)("h4",{id:"moveinboundsuint64"},"MoveInBounds(UInt64)"),(0,r.kt)("p",null,"returns a sequence value from the given value\nwraps if necessary"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public ulong MoveInBounds(ulong sequence)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,r.kt)("td",{parentName:"tr",align:null},"sequence"),(0,r.kt)("td",{parentName:"tr",align:null},"current sequence value")))),(0,r.kt)("h5",{id:"returns-2"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,r.kt)("td",{parentName:"tr",align:null},"the next sequence value")))),(0,r.kt)("h4",{id:"distanceuint64-uint64"},"Distance(UInt64, UInt64)"),(0,r.kt)("p",null,"Calculates the distance between 2 sequences, taking into account\nwrapping"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public long Distance(ulong from, ulong to)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,r.kt)("td",{parentName:"tr",align:null},"from"),(0,r.kt)("td",{parentName:"tr",align:null},"current sequence value")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,r.kt)("td",{parentName:"tr",align:null},"to"),(0,r.kt)("td",{parentName:"tr",align:null},"previous sequence value")))),(0,r.kt)("h5",{id:"returns-3"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int64"),(0,r.kt)("td",{parentName:"tr",align:null},"from - to, adjusted for wrapping")))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8c2257c1.21e1295a.js b/assets/js/8c2257c1.21e1295a.js new file mode 100644 index 00000000000..1ed134e6ccc --- /dev/null +++ b/assets/js/8c2257c1.21e1295a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8268],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var i=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,i,n=function(e,t){if(null==e)return{};var r,i,n={},a=Object.keys(e);for(i=0;i<a.length;i++)r=a[i],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var o=i.createContext({}),l=function(e){var t=i.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},u=function(e){var t=l(e.components);return i.createElement(o.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},p=i.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,o=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),p=l(r),f=n,b=p["".concat(o,".").concat(f)]||p[f]||d[f]||a;return r?i.createElement(b,s(s({ref:t},u),{},{components:r})):i.createElement(b,s({ref:t},u))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,s=new Array(a);s[0]=p;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:n,s[1]=c;for(var l=2;l<a;l++)s[l]=r[l];return i.createElement.apply(null,s)}return i.createElement.apply(null,r)}p.displayName="MDXCreateElement"},47423:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>s,default:()=>d,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var i=r(87462),n=(r(67294),r(3905));const a={id:"WeaverWriteAsGenericAttribute",title:"WeaverWriteAsGenericAttribute"},s="Class WeaverWriteAsGenericAttribute",c={unversionedId:"reference/Mirage.Serialization/WeaverWriteAsGenericAttribute",id:"reference/Mirage.Serialization/WeaverWriteAsGenericAttribute",title:"WeaverWriteAsGenericAttribute",description:"Tells Weaver to serialize a type as generic instead of creating a custom functions.",source:"@site/docs/reference/Mirage.Serialization/WeaverWriteAsGenericAttribute.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/WeaverWriteAsGenericAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/WeaverWriteAsGenericAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/WeaverWriteAsGenericAttribute.md",tags:[],version:"current",frontMatter:{id:"WeaverWriteAsGenericAttribute",title:"WeaverWriteAsGenericAttribute"},sidebar:"api",previous:{title:"WeaverSerializeCollectionAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/WeaverSerializeCollectionAttribute"},next:{title:"Writer<T>",permalink:"/Mirage/docs/reference/Mirage.Serialization/Writer-1"}},o={},l=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5}],u={toc:l};function d(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,i.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-weaverwriteasgenericattribute"},"Class WeaverWriteAsGenericAttribute"),(0,n.kt)("p",null,"Tells Weaver to serialize a type as generic instead of creating a custom functions."),(0,n.kt)("p",null,"Use this when you have created and assigned your own Read/Write functions\nor when you can","'","t use extension methods for types and need to manually assign them."),(0,n.kt)("p",null,"This will cause Weaver to use the and generic functions instead of creating new ones.\nYou must set these functions manually when using this attribute."),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Class | AttributeTargets.Enum | AttributeTargets.Interface | AttributeTargets.Struct)]\npublic sealed class WeaverWriteAsGenericAttribute : Attribute, _Attribute\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8c338613.25389548.js b/assets/js/8c338613.25389548.js new file mode 100644 index 00000000000..3a831d671bb --- /dev/null +++ b/assets/js/8c338613.25389548.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6952],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),u=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},s=function(e){var t=u(e.components);return n.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),h=u(r),d=a,f=h["".concat(l,".").concat(d)]||h[d]||p[d]||i;return r?n.createElement(f,o(o({ref:t},s),{},{components:r})):n.createElement(f,o({ref:t},s))}));function d(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=h;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var u=2;u<i;u++)o[u]=r[u];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}h.displayName="MDXCreateElement"},17263:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var n=r(87462),a=(r(67294),r(3905));const i={id:"NetworkAuthenticator",title:"NetworkAuthenticator"},o="Class NetworkAuthenticator",c={unversionedId:"reference/Mirage.Authentication/NetworkAuthenticator",id:"reference/Mirage.Authentication/NetworkAuthenticator",title:"NetworkAuthenticator",description:"Inheritance",source:"@site/docs/reference/Mirage.Authentication/NetworkAuthenticator.md",sourceDirName:"reference/Mirage.Authentication",slug:"/reference/Mirage.Authentication/NetworkAuthenticator",permalink:"/Mirage/docs/reference/Mirage.Authentication/NetworkAuthenticator",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authentication/NetworkAuthenticator.md",tags:[],version:"current",frontMatter:{id:"NetworkAuthenticator",title:"NetworkAuthenticator"},sidebar:"api",previous:{title:"NetworkAuthenticator<T>",permalink:"/Mirage/docs/reference/Mirage.Authentication/NetworkAuthenticator-1"},next:{title:"PlayerAuthentication",permalink:"/Mirage/docs/reference/Mirage.Authentication/PlayerAuthentication"}},l={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"AuthenticatorName",id:"authenticatorname",level:4},{value:"Declaration",id:"declaration",level:5}],s={toc:u};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-networkauthenticator"},"Class NetworkAuthenticator"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public abstract class NetworkAuthenticator : MonoBehaviour, INetworkAuthenticator\n")),(0,a.kt)("h3",{id:"properties"},"Properties"),(0,a.kt)("h4",{id:"authenticatorname"},"AuthenticatorName"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual string AuthenticatorName { get; }\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8cf8a272.5fbd18dc.js b/assets/js/8cf8a272.5fbd18dc.js new file mode 100644 index 00000000000..aa1db54df3b --- /dev/null +++ b/assets/js/8cf8a272.5fbd18dc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6899],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>m});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,i=function(e,t){if(null==e)return{};var r,a,i={},n=Object.keys(e);for(a=0;a<n.length;a++)r=n[a],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)r=n[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=a.createContext({}),s=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var r=e.components,i=e.mdxType,n=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),d=s(r),m=i,f=d["".concat(c,".").concat(m)]||d[m]||u[m]||n;return r?a.createElement(f,l(l({ref:t},p),{},{components:r})):a.createElement(f,l({ref:t},p))}));function m(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var n=r.length,l=new Array(n);l[0]=d;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:i,l[1]=o;for(var s=2;s<n;s++)l[s]=r[s];return a.createElement.apply(null,l)}return a.createElement.apply(null,r)}d.displayName="MDXCreateElement"},99212:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>n,metadata:()=>o,toc:()=>s});var a=r(87462),i=(r(67294),r(3905));const n={id:"Writer-1",title:"Writer<T>"},l="Class Writer<T>",o={unversionedId:"reference/Mirage.Serialization/Writer-1",id:"reference/Mirage.Serialization/Writer-1",title:"Writer<T>",description:"a class that holds writers for the different types",source:"@site/docs/reference/Mirage.Serialization/Writer-1.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/Writer-1",permalink:"/Mirage/docs/reference/Mirage.Serialization/Writer-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/Writer-1.md",tags:[],version:"current",frontMatter:{id:"Writer-1",title:"Writer<T>"},sidebar:"api",previous:{title:"WeaverWriteAsGenericAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/WeaverWriteAsGenericAttribute"},next:{title:"ZigZag",permalink:"/Mirage/docs/reference/Mirage.Serialization/ZigZag"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Properties",id:"properties",level:3},{value:"Write",id:"write",level:4},{value:"Declaration",id:"declaration",level:5}],p={toc:s};function u(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-writert"},"Class Writer","<","T",">"),(0,i.kt)("p",null,"a class that holds writers for the different types\nNote that c# creates a different static variable for each\ntype\nThis will be populated by the weaver"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public static class Writer<T>\n")),(0,i.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Name"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"T"),(0,i.kt)("td",{parentName:"tr",align:null})))),(0,i.kt)("h3",{id:"properties"},"Properties"),(0,i.kt)("h4",{id:"write"},"Write"),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public static Action<NetworkWriter, T> Write { set; }\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8d036df7.9ecaafde.js b/assets/js/8d036df7.9ecaafde.js new file mode 100644 index 00000000000..c7473a41a00 --- /dev/null +++ b/assets/js/8d036df7.9ecaafde.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9666],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>c});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=r.createContext({}),k=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},d=function(e){var t=k(e.components);return r.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,p=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),m=k(a),c=n,N=m["".concat(p,".").concat(c)]||m[c]||u[c]||l;return a?r.createElement(N,i(i({ref:t},d),{},{components:a})):r.createElement(N,i({ref:t},d))}));function c(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=m;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var k=2;k<l;k++)i[k]=a[k];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},53934:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>k});var r=a(87462),n=(a(67294),a(3905));const l={id:"ClientRpcSender",title:"ClientRpcSender"},i="Class ClientRpcSender",o={unversionedId:"reference/Mirage.RemoteCalls/ClientRpcSender",id:"reference/Mirage.RemoteCalls/ClientRpcSender",title:"ClientRpcSender",description:"Inheritance",source:"@site/docs/reference/Mirage.RemoteCalls/ClientRpcSender.md",sourceDirName:"reference/Mirage.RemoteCalls",slug:"/reference/Mirage.RemoteCalls/ClientRpcSender",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/ClientRpcSender",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.RemoteCalls/ClientRpcSender.md",tags:[],version:"current",frontMatter:{id:"ClientRpcSender",title:"ClientRpcSender"},sidebar:"api",previous:{title:"Mirage.RemoteCalls",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/"},next:{title:"RemoteCall",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RemoteCall"}},p={},k=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"Send(NetworkBehaviour, Int32, NetworkWriter, Channel, Boolean)",id:"sendnetworkbehaviour-int32-networkwriter-channel-boolean",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"SendTarget(NetworkBehaviour, Int32, NetworkWriter, Channel, INetworkPlayer)",id:"sendtargetnetworkbehaviour-int32-networkwriter-channel-inetworkplayer",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"SendTargetWithReturn<T>(NetworkBehaviour, Int32, NetworkWriter, INetworkPlayer)",id:"sendtargetwithreturntnetworkbehaviour-int32-networkwriter-inetworkplayer",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns",level:5},{value:"ShouldInvokeLocally(NetworkBehaviour, RpcTarget, INetworkPlayer, Boolean)",id:"shouldinvokelocallynetworkbehaviour-rpctarget-inetworkplayer-boolean",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-1",level:5},{value:"IsLocalPlayerObserver(NetworkBehaviour, Boolean)",id:"islocalplayerobservernetworkbehaviour-boolean",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns-2",level:5},{value:"IsLocalPlayerTarget(NetworkBehaviour, INetworkPlayer)",id:"islocalplayertargetnetworkbehaviour-inetworkplayer",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"Returns",id:"returns-3",level:5}],d={toc:k};function u(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-clientrpcsender"},"Class ClientRpcSender"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class ClientRpcSender\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"sendnetworkbehaviour-int32-networkwriter-channel-boolean"},"Send(NetworkBehaviour, Int32, NetworkWriter, Channel, Boolean)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void Send(NetworkBehaviour behaviour, int relativeIndex, NetworkWriter writer, Channel channelId, bool excludeOwner)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,n.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"relativeIndex"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,n.kt)("td",{parentName:"tr",align:null},"channelId"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"excludeOwner"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"sendtargetnetworkbehaviour-int32-networkwriter-channel-inetworkplayer"},"SendTarget(NetworkBehaviour, Int32, NetworkWriter, Channel, INetworkPlayer)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void SendTarget(NetworkBehaviour behaviour, int relativeIndex, NetworkWriter writer, Channel channelId, INetworkPlayer player)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,n.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"relativeIndex"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,n.kt)("td",{parentName:"tr",align:null},"channelId"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"sendtargetwithreturntnetworkbehaviour-int32-networkwriter-inetworkplayer"},"SendTargetWithReturn","<","T",">","(NetworkBehaviour, Int32, NetworkWriter, INetworkPlayer)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static UniTask<T> SendTargetWithReturn<T>(NetworkBehaviour behaviour, int relativeIndex, NetworkWriter writer, INetworkPlayer player)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,n.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"relativeIndex"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Cysharp.Threading.Tasks.UniTask","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"shouldinvokelocallynetworkbehaviour-rpctarget-inetworkplayer-boolean"},"ShouldInvokeLocally(NetworkBehaviour, RpcTarget, INetworkPlayer, Boolean)"),(0,n.kt)("p",null,"Used by weaver to check if ClientRPC should be invoked locally in host mode"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static bool ShouldInvokeLocally(NetworkBehaviour behaviour, RpcTarget target, INetworkPlayer player, bool excludeOwner)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,n.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.RpcTarget"),(0,n.kt)("td",{parentName:"tr",align:null},"target"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"player used for RpcTarget.Player")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"excludeOwner"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"islocalplayerobservernetworkbehaviour-boolean"},"IsLocalPlayerObserver(NetworkBehaviour, Boolean)"),(0,n.kt)("p",null,"Checks if host player can see the object\nWeaver uses this to check if RPC should be invoked locally"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static bool IsLocalPlayerObserver(NetworkBehaviour behaviour, bool excludeOwner)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,n.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"excludeOwner"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-2"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"islocalplayertargetnetworkbehaviour-inetworkplayer"},"IsLocalPlayerTarget(NetworkBehaviour, INetworkPlayer)"),(0,n.kt)("p",null,"Checks if host player is the target player\nWeaver uses this to check if RPC should be invoked locally"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static bool IsLocalPlayerTarget(NetworkBehaviour behaviour, INetworkPlayer target)\n")),(0,n.kt)("h5",{id:"parameters-5"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,n.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"target"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-3"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8dcc4ea6.6150d66d.js b/assets/js/8dcc4ea6.6150d66d.js new file mode 100644 index 00000000000..4668376af74 --- /dev/null +++ b/assets/js/8dcc4ea6.6150d66d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8002],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>u});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},a=Object.keys(e);for(o=0;o<a.length;o++)r=a[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)r=a[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=o.createContext({}),p=function(e){var t=o.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},s=function(e){var t=p(e.components);return o.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),d=p(r),u=n,y=d["".concat(c,".").concat(u)]||d[u]||m[u]||a;return r?o.createElement(y,i(i({ref:t},s),{},{components:r})):o.createElement(y,i({ref:t},s))}));function u(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,i=new Array(a);i[0]=d;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:n,i[1]=l;for(var p=2;p<a;p++)i[p]=r[p];return o.createElement.apply(null,i)}return o.createElement.apply(null,r)}d.displayName="MDXCreateElement"},59224:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>l,toc:()=>p});var o=r(87462),n=(r(67294),r(3905));const a={},i="Network Room Player",l={unversionedId:"components/network-room-player",id:"components/network-room-player",title:"Network Room Player",description:"The Network Room Player stores per-player state for the Network Room Manager while in the room. When using this component, you need to write a script that allows players to indicate they are ready to begin playing, which sets the ReadyToBegin property.",source:"@site/docs/components/network-room-player.md",sourceDirName:"components",slug:"/components/network-room-player",permalink:"/Mirage/docs/components/network-room-player",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/network-room-player.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Room Manager",permalink:"/Mirage/docs/components/network-room-manager"},next:{title:"Network Scene Checker",permalink:"/Mirage/docs/components/network-scene-checker"}},c={},p=[{value:"Methods",id:"methods",level:2},{value:"Client Virtual Methods",id:"client-virtual-methods",level:3}],s={toc:p};function m(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,o.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"network-room-player"},"Network Room Player"),(0,n.kt)("p",null,"The Network Room Player stores per-player state for the ",(0,n.kt)("a",{parentName:"p",href:"/docs/components/network-room-manager"},"Network Room Manager")," while in the room. When using this component, you need to write a script that allows players to indicate they are ready to begin playing, which sets the ReadyToBegin property."),(0,n.kt)("p",null,"A game object with a Network Room Player component must also have a Network Identity component. When you create a Network Room Player component on a game object, Unity also creates a Network Identity component on that game object if it does not already have one."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Network Room Player",src:r(9991).Z,width:"415",height:"310"})),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Show Room GUI"),(0,n.kt)("br",{parentName:"li"}),"Enable this to show the developer GUI for players in the room. This UI is only intended to be used for ease of development. This is enabled by default."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Ready To Begin"),(0,n.kt)("br",{parentName:"li"}),"A diagnostic indicator that a player is Ready."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Index"),(0,n.kt)("br",{parentName:"li"}),"A diagnostic index of the player, e.g. Player 1, Player 2, etc."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Network Sync Interval"),(0,n.kt)("br",{parentName:"li"}),"The rate at which information is sent from the Network Room Player to the server.")),(0,n.kt)("h2",{id:"methods"},"Methods"),(0,n.kt)("h3",{id:"client-virtual-methods"},"Client Virtual Methods"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual void OnClientEnterRoom() {}\n\npublic virtual void OnClientExitRoom() {}\n\npublic virtual void OnClientReady(bool readyState) {}\n")))}m.isMDXComponent=!0},9991:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/NetworkRoomPlayer-2dd94481e3dae1a7b83e34f49353fe46.png"}}]); \ No newline at end of file diff --git a/assets/js/8e6c0a40.476f2bfb.js b/assets/js/8e6c0a40.476f2bfb.js new file mode 100644 index 00000000000..fc6df158247 --- /dev/null +++ b/assets/js/8e6c0a40.476f2bfb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5195],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>y});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),l=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=l(n),y=o,f=p["".concat(c,".").concat(y)]||p[y]||d[y]||a;return n?r.createElement(f,i(i({ref:t},u),{},{components:n})):r.createElement(f,i({ref:t},u))}));function y(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,i[1]=s;for(var l=2;l<a;l++)i[l]=n[l];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}p.displayName="MDXCreateElement"},5570:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>l});var r=n(87462),o=(n(67294),n(3905));const a={sidebar_position:1},i="State Synchronization",s={unversionedId:"guides/sync/index",id:"guides/sync/index",title:"State Synchronization",description:"State synchronization refers to the synchronization of values such as integers, floating point numbers, strings, and boolean values belonging to scripts.",source:"@site/docs/guides/sync/index.md",sourceDirName:"guides/sync",slug:"/guides/sync/",permalink:"/Mirage/docs/guides/sync/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/sync/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"docs",previous:{title:"Google Cloud Services",permalink:"/Mirage/docs/guides/development-servers/google-cloud"},next:{title:"Sync Var",permalink:"/Mirage/docs/guides/sync/sync-var"}},c={},l=[],u={toc:l};function d(e){let{components:t,...n}=e;return(0,o.kt)("wrapper",(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"state-synchronization"},"State Synchronization"),(0,o.kt)("p",null,"State synchronization refers to the synchronization of values such as integers, floating point numbers, strings, and boolean values belonging to scripts."),(0,o.kt)("p",null,"State synchronization is done from the server to remote clients. The local client does not have data serialized to it. It does not need it, because it shares the scene with the server. However, ",(0,o.kt)("inlineCode",{parentName:"p"},"SyncVar")," hooks are called on local clients."),(0,o.kt)("p",null,"Data is not synchronized in the opposite direction - from remote clients to the server. To do this, you need to use Server RPC calls."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/docs/guides/sync/sync-var"},"SyncVar"),(0,o.kt)("br",{parentName:"li"}),"SyncVars are variables of scripts that inherit from ",(0,o.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkBehaviour"},(0,o.kt)("inlineCode",{parentName:"a"},"NetworkBehaviour")),", which are synchronized from the server to clients. "),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/docs/guides/sync/sync-objects/sync-list"},"SyncList"),(0,o.kt)("br",{parentName:"li"}),"SyncLists contain lists of values and synchronize data from servers to clients."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/docs/guides/sync/sync-objects/sync-dictionary"},"SyncDictionary"),(0,o.kt)("br",{parentName:"li"}),"A SyncDictionary is an associative array containing an unordered list of key, value pairs."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/docs/guides/sync/sync-objects/sync-hash-set"},"SyncHashSet"),(0,o.kt)("br",{parentName:"li"}),"An unordered set of values that do not repeat."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/docs/guides/sync/sync-objects/sync-sorted-set"},"SyncSortedSet"),(0,o.kt)("br",{parentName:"li"}),"A sorted set of values that do not repeat.")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8ef8a6f4.ce5c9287.js b/assets/js/8ef8a6f4.ce5c9287.js new file mode 100644 index 00000000000..4f89fc83637 --- /dev/null +++ b/assets/js/8ef8a6f4.ce5c9287.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6357],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>d});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function g(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},l=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,o=e.originalType,c=e.parentName,l=g(e,["components","mdxType","originalType","parentName"]),u=s(r),d=i,f=u["".concat(c,".").concat(d)]||u[d]||p[d]||o;return r?n.createElement(f,a(a({ref:t},l),{},{components:r})):n.createElement(f,a({ref:t},l))}));function d(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=r.length,a=new Array(o);a[0]=u;var g={};for(var c in t)hasOwnProperty.call(t,c)&&(g[c]=t[c]);g.originalType=e,g.mdxType="string"==typeof e?e:i,a[1]=g;for(var s=2;s<o;s++)a[s]=r[s];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},9024:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>g,toc:()=>s});var n=r(87462),i=(r(67294),r(3905));const o={id:"LogSettings",title:"LogSettings"},a="Class LogSettings",g={unversionedId:"reference/Mirage.Logging/LogSettings",id:"reference/Mirage.Logging/LogSettings",title:"LogSettings",description:"Used to load LogSettings in build",source:"@site/docs/reference/Mirage.Logging/LogSettings.md",sourceDirName:"reference/Mirage.Logging",slug:"/reference/Mirage.Logging/LogSettings",permalink:"/Mirage/docs/reference/Mirage.Logging/LogSettings",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Logging/LogSettings.md",tags:[],version:"current",frontMatter:{id:"LogSettings",title:"LogSettings"},sidebar:"api",previous:{title:"LogFactory",permalink:"/Mirage/docs/reference/Mirage.Logging/LogFactory"},next:{title:"LogSettingsExtensions",permalink:"/Mirage/docs/reference/Mirage.Logging/LogSettingsExtensions"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5}],l={toc:s};function p(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-logsettings"},"Class LogSettings"),(0,i.kt)("p",null,"Used to load LogSettings in build"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public class LogSettings : MonoBehaviour\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8f75e97d.ae210cb4.js b/assets/js/8f75e97d.ae210cb4.js new file mode 100644 index 00000000000..c604f784b25 --- /dev/null +++ b/assets/js/8f75e97d.ae210cb4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3559],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>p});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),f=l(r),p=a,b=f["".concat(s,".").concat(p)]||f[p]||d[p]||i;return r?n.createElement(b,o(o({ref:t},u),{},{components:r})):n.createElement(b,o({ref:t},u))}));function p(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=f;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var l=2;l<i;l++)o[l]=r[l];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},6977:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const i={id:"NetworkedPrefabAttribute",title:"NetworkedPrefabAttribute"},o="Class NetworkedPrefabAttribute",c={unversionedId:"reference/Mirage/NetworkedPrefabAttribute",id:"reference/Mirage/NetworkedPrefabAttribute",title:"NetworkedPrefabAttribute",description:"Forces the user to provide a prefab that has a NetworkIdentity component and is registered.",source:"@site/docs/reference/Mirage/NetworkedPrefabAttribute.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkedPrefabAttribute",permalink:"/Mirage/docs/reference/Mirage/NetworkedPrefabAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkedPrefabAttribute.md",tags:[],version:"current",frontMatter:{id:"NetworkedPrefabAttribute",title:"NetworkedPrefabAttribute"},sidebar:"api",previous:{title:"NetworkWorldExtensions",permalink:"/Mirage/docs/reference/Mirage/NetworkWorldExtensions"},next:{title:"ObjectDestroyMessage",permalink:"/Mirage/docs/reference/Mirage/ObjectDestroyMessage"}},s={},l=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5}],u={toc:l};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-networkedprefabattribute"},"Class NetworkedPrefabAttribute"),(0,a.kt)("p",null,"Forces the user to provide a prefab that has a NetworkIdentity component and is registered.\nAlso provides a fix button to fix the prefab if it hasn","'","t been networked."),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Field)]\npublic sealed class NetworkedPrefabAttribute : PropertyAttribute\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/917b243f.a09a15b0.js b/assets/js/917b243f.a09a15b0.js new file mode 100644 index 00000000000..97bac94dccc --- /dev/null +++ b/assets/js/917b243f.a09a15b0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4276],{3905:(e,t,r)=>{r.d(t,{Zo:()=>k,kt:()=>y});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function n(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,i=function(e,t){if(null==e)return{};var r,a,i={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var s=a.createContext({}),u=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):n(n({},t),e)),r},k=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},c=a.forwardRef((function(e,t){var r=e.components,i=e.mdxType,l=e.originalType,s=e.parentName,k=o(e,["components","mdxType","originalType","parentName"]),c=u(r),y=i,d=c["".concat(s,".").concat(y)]||c[y]||p[y]||l;return r?a.createElement(d,n(n({ref:t},k),{},{components:r})):a.createElement(d,n({ref:t},k))}));function y(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var l=r.length,n=new Array(l);n[0]=c;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:i,n[1]=o;for(var u=2;u<l;u++)n[u]=r[u];return a.createElement.apply(null,n)}return a.createElement.apply(null,r)}c.displayName="MDXCreateElement"},54767:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>n,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>u});var a=r(87462),i=(r(67294),r(3905));const l={id:"AlwaysNetworkVisibility",title:"AlwaysNetworkVisibility"},n="Class AlwaysNetworkVisibility",o={unversionedId:"reference/Mirage.Visibility/AlwaysNetworkVisibility",id:"reference/Mirage.Visibility/AlwaysNetworkVisibility",title:"AlwaysNetworkVisibility",description:"Always shows an object, even if player is loading scene",source:"@site/docs/reference/Mirage.Visibility/AlwaysNetworkVisibility.md",sourceDirName:"reference/Mirage.Visibility",slug:"/reference/Mirage.Visibility/AlwaysNetworkVisibility",permalink:"/Mirage/docs/reference/Mirage.Visibility/AlwaysNetworkVisibility",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Visibility/AlwaysNetworkVisibility.md",tags:[],version:"current",frontMatter:{id:"AlwaysNetworkVisibility",title:"AlwaysNetworkVisibility"},sidebar:"api",previous:{title:"Mirage.Visibility",permalink:"/Mirage/docs/reference/Mirage.Visibility/"}},s={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"OnCheckObserver(INetworkPlayer)",id:"oncheckobserverinetworkplayer",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"OnRebuildObservers(HashSet<INetworkPlayer>, Boolean)",id:"onrebuildobservershashsetinetworkplayer-boolean",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],k={toc:u};function p(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,a.Z)({},k,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-alwaysnetworkvisibility"},"Class AlwaysNetworkVisibility"),(0,i.kt)("p",null,"Always shows an object, even if player is loading scene\nThis can be used to make sure that Managers in DontDestoryOnLoad dont get despawned"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,i.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.NetworkBehaviour"),(0,i.kt)("div",{class:"level",style:{"--data-index":2}},"Mirage.NetworkVisibility")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show"),(0,i.kt)("p",null,"Mirage.NetworkVisibility.OnVisibilityChanged"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour._nextSyncTime"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SyncSettings"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsServer"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsClient"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalClient"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsHost"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalPlayer"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsServerOnly"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.IsClientOnly"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.HasAuthority"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.NetId"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.Server"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.ServerObjectManager"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.Client"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.ClientObjectManager"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.Owner"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.World"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.NetworkTime"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.BehaviourId"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarDirtyBits"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.AnySyncObjectDirty"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.syncObjects"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.Identity"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.ComponentIndex"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarEqual","<","T",">","(T, T)"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.ClearDirtyBits()"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.AnyDirtyBits()"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.GetRpcCount()"),(0,i.kt)("p",null,"Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public class AlwaysNetworkVisibility : NetworkVisibility, INetworkVisibility\n")),(0,i.kt)("h3",{id:"methods"},"Methods"),(0,i.kt)("h4",{id:"oncheckobserverinetworkplayer"},"OnCheckObserver(INetworkPlayer)"),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public override bool OnCheckObserver(INetworkPlayer player)\n")),(0,i.kt)("h5",{id:"parameters"},"Parameters"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Name"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,i.kt)("td",{parentName:"tr",align:null},"player"),(0,i.kt)("td",{parentName:"tr",align:null})))),(0,i.kt)("h5",{id:"returns"},"Returns"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,i.kt)("td",{parentName:"tr",align:null})))),(0,i.kt)("h4",{id:"onrebuildobservershashsetinetworkplayer-boolean"},"OnRebuildObservers(HashSet","<","INetworkPlayer",">",", Boolean)"),(0,i.kt)("h5",{id:"declaration-1"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public override void OnRebuildObservers(HashSet<INetworkPlayer> observers, bool initialize)\n")),(0,i.kt)("h5",{id:"parameters-1"},"Parameters"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Name"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.HashSet","<","Mirage.INetworkPlayer",">"),(0,i.kt)("td",{parentName:"tr",align:null},"observers"),(0,i.kt)("td",{parentName:"tr",align:null})),(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,i.kt)("td",{parentName:"tr",align:null},"initialize"),(0,i.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/91848592.e77e5674.js b/assets/js/91848592.e77e5674.js new file mode 100644 index 00000000000..ece3e92b081 --- /dev/null +++ b/assets/js/91848592.e77e5674.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[431],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>g});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=l(r),g=a,b=d["".concat(c,".").concat(g)]||d[g]||p[g]||i;return r?n.createElement(b,o(o({ref:t},u),{},{components:r})):n.createElement(b,o({ref:t},u))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var l=2;l<i;l++)o[l]=r[l];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},69412:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const i={id:"NetworkMessageAttribute",title:"NetworkMessageAttribute"},o="Class NetworkMessageAttribute",s={unversionedId:"reference/Mirage/NetworkMessageAttribute",id:"reference/Mirage/NetworkMessageAttribute",title:"NetworkMessageAttribute",description:"Tell the weaver to generate reader and writer for a class",source:"@site/docs/reference/Mirage/NetworkMessageAttribute.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkMessageAttribute",permalink:"/Mirage/docs/reference/Mirage/NetworkMessageAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkMessageAttribute.md",tags:[],version:"current",frontMatter:{id:"NetworkMessageAttribute",title:"NetworkMessageAttribute"},sidebar:"api",previous:{title:"NetworkMatchChecker",permalink:"/Mirage/docs/reference/Mirage/NetworkMatchChecker"},next:{title:"NetworkMethodAttribute",permalink:"/Mirage/docs/reference/Mirage/NetworkMethodAttribute"}},c={},l=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5}],u={toc:l};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-networkmessageattribute"},"Class NetworkMessageAttribute"),(0,a.kt)("p",null,"Tell the weaver to generate reader and writer for a class"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,a.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct)]\npublic class NetworkMessageAttribute : Attribute, _Attribute\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/91995dc1.80165a10.js b/assets/js/91995dc1.80165a10.js new file mode 100644 index 00000000000..e6dff8fad77 --- /dev/null +++ b/assets/js/91995dc1.80165a10.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5717],{3905:(e,t,a)=>{a.d(t,{Zo:()=>k,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),p=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},k=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,k=o(e,["components","mdxType","originalType","parentName"]),m=p(a),u=n,s=m["".concat(c,".").concat(u)]||m[u]||d[u]||l;return a?r.createElement(s,i(i({ref:t},k),{},{components:a})):r.createElement(s,i({ref:t},k))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=m;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var p=2;p<l;p++)i[p]=a[p];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},10677:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var r=a(87462),n=(a(67294),a(3905));const l={id:"Vector3Packer",title:"Vector3Packer"},i="Class Vector3Packer",o={unversionedId:"reference/Mirage.Serialization/Vector3Packer",id:"reference/Mirage.Serialization/Vector3Packer",title:"Vector3Packer",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/Vector3Packer.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/Vector3Packer",permalink:"/Mirage/docs/reference/Mirage.Serialization/Vector3Packer",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/Vector3Packer.md",tags:[],version:"current",frontMatter:{id:"Vector3Packer",title:"Vector3Packer"},sidebar:"api",previous:{title:"Vector3PackAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/Vector3PackAttribute"},next:{title:"WeaverIgnoreAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/WeaverIgnoreAttribute"}},c={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"Vector3Packer(Single, Single, Single, Int32, Int32, Int32)",id:"vector3packersingle-single-single-int32-int32-int32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Vector3Packer(Single, Single, Single, Single, Single, Single)",id:"vector3packersingle-single-single-single-single-single",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Vector3Packer(Vector3, Vector3)",id:"vector3packervector3-vector3",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Methods",id:"methods",level:3},{value:"Pack(NetworkWriter, Vector3)",id:"packnetworkwriter-vector3",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Unpack(NetworkReader)",id:"unpacknetworkreader",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns",level:5}],k={toc:p};function d(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},k,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-vector3packer"},"Class Vector3Packer"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class Vector3Packer\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"vector3packersingle-single-single-int32-int32-int32"},"Vector3Packer(Single, Single, Single, Int32, Int32, Int32)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector3Packer(float xMax, float yMax, float zMax, int xBitCount, int yBitCount, int zBitCount)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"xMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"yMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"zMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"xBitCount"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"yBitCount"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"zBitCount"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"vector3packersingle-single-single-single-single-single"},"Vector3Packer(Single, Single, Single, Single, Single, Single)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector3Packer(float xMax, float yMax, float zMax, float xPrecision, float yPrecision, float zPrecision)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"xMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"yMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"zMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"xPrecision"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"yPrecision"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"zPrecision"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"vector3packervector3-vector3"},"Vector3Packer(Vector3, Vector3)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector3Packer(Vector3 max, Vector3 precision)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Vector3"),(0,n.kt)("td",{parentName:"tr",align:null},"max"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Vector3"),(0,n.kt)("td",{parentName:"tr",align:null},"precision"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"packnetworkwriter-vector3"},"Pack(NetworkWriter, Vector3)"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Pack(NetworkWriter writer, Vector3 value)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Vector3"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpacknetworkreader"},"Unpack(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector3 Unpack(NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Vector3"),(0,n.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/922c6cfd.1fbd7ae5.js b/assets/js/922c6cfd.1fbd7ae5.js new file mode 100644 index 00000000000..24ba419b64c --- /dev/null +++ b/assets/js/922c6cfd.1fbd7ae5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[670],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=s(n),m=a,k=u["".concat(l,".").concat(m)]||u[m]||d[m]||o;return n?r.createElement(k,c(c({ref:t},p),{},{components:n})):r.createElement(k,c({ref:t},p))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,c=new Array(o);c[0]=u;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,c[1]=i;for(var s=2;s<o;s++)c[s]=n[s];return r.createElement.apply(null,c)}return r.createElement.apply(null,n)}u.displayName="MDXCreateElement"},91820:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>s});var r=n(87462),a=(n(67294),n(3905));const o={id:"NanoSocketException",title:"NanoSocketException"},c="Class NanoSocketException",i={unversionedId:"reference/Mirage.Sockets.Udp/NanoSocketException",id:"reference/Mirage.Sockets.Udp/NanoSocketException",title:"NanoSocketException",description:"Inheritance",source:"@site/docs/reference/Mirage.Sockets.Udp/NanoSocketException.md",sourceDirName:"reference/Mirage.Sockets.Udp",slug:"/reference/Mirage.Sockets.Udp/NanoSocketException",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoSocketException",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Sockets.Udp/NanoSocketException.md",tags:[],version:"current",frontMatter:{id:"NanoSocketException",title:"NanoSocketException"},sidebar:"api",previous:{title:"NanoSocket",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoSocket"},next:{title:"SocketLib",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/SocketLib"}},l={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"NanoSocketException(String)",id:"nanosocketexceptionstring",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5}],p={toc:s};function d(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-nanosocketexception"},"Class NanoSocketException"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,a.kt)("div",{class:"level",style:{"--data-index":1}},"System.Exception")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class NanoSocketException : Exception, _Exception, ISerializable\n")),(0,a.kt)("h3",{id:"constructors"},"Constructors"),(0,a.kt)("h4",{id:"nanosocketexceptionstring"},"NanoSocketException(String)"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public NanoSocketException(string message)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.String"),(0,a.kt)("td",{parentName:"tr",align:null},"message"),(0,a.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/92b7d40b.fa36475b.js b/assets/js/92b7d40b.fa36475b.js new file mode 100644 index 00000000000..6644b448513 --- /dev/null +++ b/assets/js/92b7d40b.fa36475b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6669],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>f});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),p=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},l=function(e){var t=p(e.components);return n.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),m=p(r),f=o,d=m["".concat(s,".").concat(f)]||m[f]||u[f]||a;return r?n.createElement(d,c(c({ref:t},l),{},{components:r})):n.createElement(d,c({ref:t},l))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=m;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:o,c[1]=i;for(var p=2;p<a;p++)c[p]=r[p];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"},65882:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>u,frontMatter:()=>a,metadata:()=>i,toc:()=>p});var n=r(87462),o=(r(67294),r(3905));const a={},c="Tanks",i={unversionedId:"examples/tanks",id:"examples/tanks",title:"Tanks",description:"General description of Tanks example.",source:"@site/docs/examples/tanks.md",sourceDirName:"examples",slug:"/examples/tanks",permalink:"/Mirage/docs/examples/tanks",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/examples/tanks.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Room",permalink:"/Mirage/docs/examples/room"},next:{title:"Components",permalink:"/Mirage/docs/category/components"}},s={},p=[],l={toc:p};function u(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"tanks"},"Tanks"),(0,o.kt)("p",null,"General description of Tanks example."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.9bc06ce1.js b/assets/js/935f2afb.9bc06ce1.js new file mode 100644 index 00000000000..28a2334fc36 --- /dev/null +++ b/assets/js/935f2afb.9bc06ce1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"category","label":"General","collapsed":false,"items":[{"type":"link","label":"Overview","href":"/Mirage/docs/general/overview","docId":"general/overview"},{"type":"link","label":"Getting Started","href":"/Mirage/docs/general/getting-started","docId":"general/getting-started"},{"type":"link","label":"Sockets","href":"/Mirage/docs/general/sockets","docId":"general/sockets"},{"type":"link","label":"Showcase","href":"/Mirage/docs/general/showcase","docId":"general/showcase"},{"type":"link","label":"Troubleshooting","href":"/Mirage/docs/general/troubleshooting","docId":"general/troubleshooting"},{"type":"link","label":"Support","href":"/Mirage/docs/general/support","docId":"general/support"},{"type":"link","label":"Change Log","href":"/Mirage/docs/general/CHANGELOG","docId":"general/CHANGELOG"}],"collapsible":true,"href":"/Mirage/docs/category/general"},{"type":"category","label":"Guides","collapsed":false,"items":[{"type":"link","label":"Networking Concepts Overview","href":"/Mirage/docs/guides/overview","docId":"guides/overview"},{"type":"link","label":"Network Authority","href":"/Mirage/docs/guides/authority","docId":"guides/authority"},{"type":"link","label":"About IDs","href":"/Mirage/docs/guides/about-ids","docId":"guides/about-ids"},{"type":"link","label":"Attributes","href":"/Mirage/docs/guides/attributes","docId":"guides/attributes"},{"type":"link","label":"Clock Synchronization","href":"/Mirage/docs/guides/clock-sync","docId":"guides/clock-sync"},{"type":"link","label":"Network Visibility","href":"/Mirage/docs/guides/network-visibility","docId":"guides/network-visibility"},{"type":"link","label":"Mirror Migration Guide","href":"/Mirage/docs/guides/mirror-migration","docId":"guides/mirror-migration"},{"type":"link","label":"Best Practices","href":"/Mirage/docs/guides/best-practices","docId":"guides/best-practices"},{"type":"link","label":"Resources","href":"/Mirage/docs/guides/resources","docId":"guides/resources"},{"type":"link","label":"FAQ","href":"/Mirage/docs/guides/faq","docId":"guides/faq"},{"type":"category","label":"Development Servers","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Amazon Web Services (AWS)","href":"/Mirage/docs/guides/development-servers/aws","docId":"guides/development-servers/aws"},{"type":"link","label":"Google Cloud Services","href":"/Mirage/docs/guides/development-servers/google-cloud","docId":"guides/development-servers/google-cloud"}],"href":"/Mirage/docs/guides/development-servers/"},{"type":"category","label":"Synchronization","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Sync Var","href":"/Mirage/docs/guides/sync/sync-var","docId":"guides/sync/sync-var"},{"type":"link","label":"Sync Var Hooks","href":"/Mirage/docs/guides/sync/sync-var-hooks","docId":"guides/sync/sync-var-hooks"},{"type":"category","label":"Sync Objects","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Sync List","href":"/Mirage/docs/guides/sync/sync-objects/sync-list","docId":"guides/sync/sync-objects/sync-list"},{"type":"link","label":"Sync Dictionary","href":"/Mirage/docs/guides/sync/sync-objects/sync-dictionary","docId":"guides/sync/sync-objects/sync-dictionary"},{"type":"link","label":"Sync Hash Set","href":"/Mirage/docs/guides/sync/sync-objects/sync-hash-set","docId":"guides/sync/sync-objects/sync-hash-set"},{"type":"link","label":"Sync Sorted Set","href":"/Mirage/docs/guides/sync/sync-objects/sync-sorted-set","docId":"guides/sync/sync-objects/sync-sorted-set"}]},{"type":"link","label":"Sync Settings","href":"/Mirage/docs/guides/sync/sync-settings","docId":"guides/sync/sync-settings"},{"type":"link","label":"serialization-flow","href":"/Mirage/docs/guides/sync/serialization-flow","docId":"guides/sync/serialization-flow"},{"type":"link","label":"Code Generation","href":"/Mirage/docs/guides/sync/code-generation","docId":"guides/sync/code-generation"},{"type":"link","label":"Advanced Synchronization","href":"/Mirage/docs/guides/sync/custom-serialization","docId":"guides/sync/custom-serialization"}],"href":"/Mirage/docs/guides/sync/"},{"type":"category","label":"Remote Actions","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Client RPC","href":"/Mirage/docs/guides/remote-actions/client-rpc","docId":"guides/remote-actions/client-rpc"},{"type":"link","label":"Server RPC","href":"/Mirage/docs/guides/remote-actions/server-rpc","docId":"guides/remote-actions/server-rpc"},{"type":"link","label":"Network Messages","href":"/Mirage/docs/guides/remote-actions/network-messages","docId":"guides/remote-actions/network-messages"},{"type":"link","label":"RPC Examples","href":"/Mirage/docs/guides/remote-actions/rpc-examples","docId":"guides/remote-actions/rpc-examples"}],"href":"/Mirage/docs/guides/remote-actions/"},{"type":"category","label":"Callbacks","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Network Behaviour","href":"/Mirage/docs/guides/callbacks/network-behaviour","docId":"guides/callbacks/network-behaviour"},{"type":"link","label":"Network Manager","href":"/Mirage/docs/guides/callbacks/network-manager","docId":"guides/callbacks/network-manager"}],"href":"/Mirage/docs/guides/callbacks/"},{"type":"category","label":"Game Objects","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Lifecycle","href":"/Mirage/docs/guides/game-objects/lifecycle","docId":"guides/game-objects/lifecycle"},{"type":"link","label":"Network Behaviour","href":"/Mirage/docs/guides/game-objects/network-behaviour","docId":"guides/game-objects/network-behaviour"},{"type":"link","label":"Spawn Player","href":"/Mirage/docs/guides/game-objects/spawn-player","docId":"guides/game-objects/spawn-player"},{"type":"link","label":"Spawn Player - Custom","href":"/Mirage/docs/guides/game-objects/spawn-player-custom","docId":"guides/game-objects/spawn-player-custom"},{"type":"link","label":"Spawn Object","href":"/Mirage/docs/guides/game-objects/spawn-object","docId":"guides/game-objects/spawn-object"},{"type":"link","label":"Spawn Object - Custom","href":"/Mirage/docs/guides/game-objects/spawn-object-custom","docId":"guides/game-objects/spawn-object-custom"},{"type":"link","label":"Spawn Object - Pooling","href":"/Mirage/docs/guides/game-objects/spawn-object-pooling","docId":"guides/game-objects/spawn-object-pooling"},{"type":"link","label":"Scene Objects","href":"/Mirage/docs/guides/game-objects/scene-objects","docId":"guides/game-objects/scene-objects"},{"type":"link","label":"Pickups, Drops, and Child Objects","href":"/Mirage/docs/guides/game-objects/pickup-drop-child","docId":"guides/game-objects/pickup-drop-child"}],"href":"/Mirage/docs/guides/game-objects/"},{"type":"category","label":"Scene Loading","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manual Scene Loading","href":"/Mirage/docs/guides/scene-loading/manual-scene-loading","docId":"guides/scene-loading/manual-scene-loading"},{"type":"link","label":"Network Scene Manager","href":"/Mirage/docs/guides/scene-loading/network-scene-manager","docId":"guides/scene-loading/network-scene-manager"}],"href":"/Mirage/docs/guides/scene-loading/"},{"type":"category","label":"Serialization","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Data Types","href":"/Mirage/docs/guides/serialization/data-types","docId":"guides/serialization/data-types"},{"type":"link","label":"Advanced Serialization","href":"/Mirage/docs/guides/serialization/advanced","docId":"guides/serialization/advanced"},{"type":"link","label":"Generics","href":"/Mirage/docs/guides/serialization/generics","docId":"guides/serialization/generics"},{"type":"link","label":"SyncPrefab","href":"/Mirage/docs/guides/serialization/sync-prefab","docId":"guides/serialization/sync-prefab"}],"href":"/Mirage/docs/guides/serialization/"},{"type":"category","label":"Bit Packing","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Bit Count From Range","href":"/Mirage/docs/guides/bit-packing/bit-count-from-range","docId":"guides/bit-packing/bit-count-from-range"},{"type":"link","label":"Bit Count","href":"/Mirage/docs/guides/bit-packing/bit-count","docId":"guides/bit-packing/bit-count"},{"type":"link","label":"Float Pack","href":"/Mirage/docs/guides/bit-packing/float-pack","docId":"guides/bit-packing/float-pack"},{"type":"link","label":"Quaternion Pack","href":"/Mirage/docs/guides/bit-packing/quaternion-pack","docId":"guides/bit-packing/quaternion-pack"},{"type":"link","label":"Variable Sized Integer Blocks","href":"/Mirage/docs/guides/bit-packing/var-int-blocks","docId":"guides/bit-packing/var-int-blocks"},{"type":"link","label":"Variable Sized Integer","href":"/Mirage/docs/guides/bit-packing/var-int","docId":"guides/bit-packing/var-int"},{"type":"link","label":"Vector Pack","href":"/Mirage/docs/guides/bit-packing/vector-pack","docId":"guides/bit-packing/vector-pack"},{"type":"link","label":"ZigZag Encode","href":"/Mirage/docs/guides/bit-packing/zig-zag-encode","docId":"guides/bit-packing/zig-zag-encode"}],"href":"/Mirage/docs/guides/bit-packing/"},{"type":"category","label":"Authentication","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Authenticator Settings","href":"/Mirage/docs/guides/authentication/authenticator-settings","docId":"guides/authentication/authenticator-settings"},{"type":"link","label":"Custom Authenticator","href":"/Mirage/docs/guides/authentication/custom-authenticator","docId":"guides/authentication/custom-authenticator"},{"type":"link","label":"Basic Authenticator","href":"/Mirage/docs/guides/authentication/basic-authenticator","docId":"guides/authentication/basic-authenticator"},{"type":"link","label":"Session Id Authenticator","href":"/Mirage/docs/guides/authentication/session-id","docId":"guides/authentication/session-id"}],"href":"/Mirage/docs/guides/authentication/"},{"type":"category","label":"Community Guides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Mirage Quick Start Guide V0.1","href":"/Mirage/docs/guides/community-guides/mirage-quick-start-guide","docId":"guides/community-guides/mirage-quick-start-guide"}],"href":"/Mirage/docs/guides/community-guides/"}],"collapsible":true,"href":"/Mirage/docs/category/guides"},{"type":"category","label":"Examples","collapsed":true,"items":[{"type":"link","label":"Samples Overview","href":"/Mirage/docs/examples/","docId":"examples/index"},{"type":"link","label":"Additive Scenes Example","href":"/Mirage/docs/examples/additive-scenes","docId":"examples/additive-scenes"},{"type":"link","label":"Basic","href":"/Mirage/docs/examples/basic","docId":"examples/basic"},{"type":"link","label":"ChangeScene","href":"/Mirage/docs/examples/change-scene","docId":"examples/change-scene"},{"type":"link","label":"Chat","href":"/Mirage/docs/examples/chat","docId":"examples/chat"},{"type":"link","label":"Multiple Additive Scenes Example","href":"/Mirage/docs/examples/multiple-additive-scenes","docId":"examples/multiple-additive-scenes"},{"type":"link","label":"Pong","href":"/Mirage/docs/examples/pong","docId":"examples/pong"},{"type":"link","label":"Room","href":"/Mirage/docs/examples/room","docId":"examples/room"},{"type":"link","label":"Tanks","href":"/Mirage/docs/examples/tanks","docId":"examples/tanks"}],"collapsible":true,"href":"/Mirage/docs/category/examples"},{"type":"category","label":"Components","collapsed":true,"items":[{"type":"link","label":"Overview","href":"/Mirage/docs/components/","docId":"components/index"},{"type":"link","label":"Network Animator","href":"/Mirage/docs/components/network-animator","docId":"components/network-animator"},{"type":"link","label":"Network Discovery","href":"/Mirage/docs/components/network-discovery","docId":"components/network-discovery"},{"type":"link","label":"Network Identity","href":"/Mirage/docs/components/network-identity","docId":"components/network-identity"},{"type":"link","label":"Network Log Settings","href":"/Mirage/docs/components/network-log-settings","docId":"components/network-log-settings"},{"type":"link","label":"Network Manager HUD","href":"/Mirage/docs/components/network-manager-hud","docId":"components/network-manager-hud"},{"type":"link","label":"Network Manager","href":"/Mirage/docs/components/network-manager","docId":"components/network-manager"},{"type":"link","label":"Network Match Checker","href":"/Mirage/docs/components/network-match-checker","docId":"components/network-match-checker"},{"type":"link","label":"Network Ping Display","href":"/Mirage/docs/components/network-ping-display","docId":"components/network-ping-display"},{"type":"link","label":"Network Proximity Checker","href":"/Mirage/docs/components/network-proximity-checker","docId":"components/network-proximity-checker"},{"type":"link","label":"Network Room Manager","href":"/Mirage/docs/components/network-room-manager","docId":"components/network-room-manager"},{"type":"link","label":"Network Room Player","href":"/Mirage/docs/components/network-room-player","docId":"components/network-room-player"},{"type":"link","label":"Network Scene Checker","href":"/Mirage/docs/components/network-scene-checker","docId":"components/network-scene-checker"},{"type":"link","label":"Network Scene Manager","href":"/Mirage/docs/components/network-scene-manager","docId":"components/network-scene-manager"},{"type":"link","label":"Network Start Position","href":"/Mirage/docs/components/network-start-position","docId":"components/network-start-position"},{"type":"link","label":"Network Transform Child","href":"/Mirage/docs/components/network-transform-child","docId":"components/network-transform-child"},{"type":"link","label":"Network Transform","href":"/Mirage/docs/components/network-transform","docId":"components/network-transform"},{"type":"link","label":"Ready Check and Lobby Ready","href":"/Mirage/docs/components/ready-check","docId":"components/ready-check"}],"collapsible":true,"href":"/Mirage/docs/category/components"}],"api":[{"type":"category","label":"Mirage","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"AddCharacterMessage","href":"/Mirage/docs/reference/Mirage/AddCharacterMessage","docId":"reference/Mirage/AddCharacterMessage"},{"type":"link","label":"AuthorityChanged","href":"/Mirage/docs/reference/Mirage/AuthorityChanged","docId":"reference/Mirage/AuthorityChanged"},{"type":"link","label":"AutoPool<T>.Wrapper","href":"/Mirage/docs/reference/Mirage/AutoPool-1.Wrapper","docId":"reference/Mirage/AutoPool-1.Wrapper"},{"type":"link","label":"AutoPool<T>","href":"/Mirage/docs/reference/Mirage/AutoPool-1","docId":"reference/Mirage/AutoPool-1"},{"type":"link","label":"Channel","href":"/Mirage/docs/reference/Mirage/Channel","docId":"reference/Mirage/Channel"},{"type":"link","label":"CharacterSpawner.PlayerSpawnMethod","href":"/Mirage/docs/reference/Mirage/CharacterSpawner.PlayerSpawnMethod","docId":"reference/Mirage/CharacterSpawner.PlayerSpawnMethod"},{"type":"link","label":"CharacterSpawner","href":"/Mirage/docs/reference/Mirage/CharacterSpawner","docId":"reference/Mirage/CharacterSpawner"},{"type":"link","label":"ClientAttribute","href":"/Mirage/docs/reference/Mirage/ClientAttribute","docId":"reference/Mirage/ClientAttribute"},{"type":"link","label":"ClientObjectManager","href":"/Mirage/docs/reference/Mirage/ClientObjectManager","docId":"reference/Mirage/ClientObjectManager"},{"type":"link","label":"ClientRpcAttribute","href":"/Mirage/docs/reference/Mirage/ClientRpcAttribute","docId":"reference/Mirage/ClientRpcAttribute"},{"type":"link","label":"ClientStoppedReason","href":"/Mirage/docs/reference/Mirage/ClientStoppedReason","docId":"reference/Mirage/ClientStoppedReason"},{"type":"link","label":"ConnectState","href":"/Mirage/docs/reference/Mirage/ConnectState","docId":"reference/Mirage/ConnectState"},{"type":"link","label":"DeserializeFailedException","href":"/Mirage/docs/reference/Mirage/DeserializeFailedException","docId":"reference/Mirage/DeserializeFailedException"},{"type":"link","label":"DynamicSpawnHandlerDelegate","href":"/Mirage/docs/reference/Mirage/DynamicSpawnHandlerDelegate","docId":"reference/Mirage/DynamicSpawnHandlerDelegate"},{"type":"link","label":"ExponentialMovingAverage","href":"/Mirage/docs/reference/Mirage/ExponentialMovingAverage","docId":"reference/Mirage/ExponentialMovingAverage"},{"type":"link","label":"FoldoutEventAttribute","href":"/Mirage/docs/reference/Mirage/FoldoutEventAttribute","docId":"reference/Mirage/FoldoutEventAttribute"},{"type":"link","label":"GameObjectExtensions","href":"/Mirage/docs/reference/Mirage/GameObjectExtensions","docId":"reference/Mirage/GameObjectExtensions"},{"type":"link","label":"GameObjectSerializers","href":"/Mirage/docs/reference/Mirage/GameObjectSerializers","docId":"reference/Mirage/GameObjectSerializers"},{"type":"link","label":"GameObjectSyncvar","href":"/Mirage/docs/reference/Mirage/GameObjectSyncvar","docId":"reference/Mirage/GameObjectSyncvar"},{"type":"link","label":"HasAuthorityAttribute","href":"/Mirage/docs/reference/Mirage/HasAuthorityAttribute","docId":"reference/Mirage/HasAuthorityAttribute"},{"type":"link","label":"HeadlessAutoStart","href":"/Mirage/docs/reference/Mirage/HeadlessAutoStart","docId":"reference/Mirage/HeadlessAutoStart"},{"type":"link","label":"HeadlessFrameLimiter","href":"/Mirage/docs/reference/Mirage/HeadlessFrameLimiter","docId":"reference/Mirage/HeadlessFrameLimiter"},{"type":"link","label":"HostRendererVisibility","href":"/Mirage/docs/reference/Mirage/HostRendererVisibility","docId":"reference/Mirage/HostRendererVisibility"},{"type":"link","label":"IMessageReceiver","href":"/Mirage/docs/reference/Mirage/IMessageReceiver","docId":"reference/Mirage/IMessageReceiver"},{"type":"link","label":"IMessageSender","href":"/Mirage/docs/reference/Mirage/IMessageSender","docId":"reference/Mirage/IMessageSender"},{"type":"link","label":"INetIdGenerator","href":"/Mirage/docs/reference/Mirage/INetIdGenerator","docId":"reference/Mirage/INetIdGenerator"},{"type":"link","label":"INetworkPlayer","href":"/Mirage/docs/reference/Mirage/INetworkPlayer","docId":"reference/Mirage/INetworkPlayer"},{"type":"link","label":"INetworkVisibility","href":"/Mirage/docs/reference/Mirage/INetworkVisibility","docId":"reference/Mirage/INetworkVisibility"},{"type":"link","label":"IObjectLocator","href":"/Mirage/docs/reference/Mirage/IObjectLocator","docId":"reference/Mirage/IObjectLocator"},{"type":"link","label":"IObjectOwner","href":"/Mirage/docs/reference/Mirage/IObjectOwner","docId":"reference/Mirage/IObjectOwner"},{"type":"link","label":"ISceneLoader","href":"/Mirage/docs/reference/Mirage/ISceneLoader","docId":"reference/Mirage/ISceneLoader"},{"type":"link","label":"IVisibilityTracker","href":"/Mirage/docs/reference/Mirage/IVisibilityTracker","docId":"reference/Mirage/IVisibilityTracker"},{"type":"link","label":"LocalPlayerAttribute","href":"/Mirage/docs/reference/Mirage/LocalPlayerAttribute","docId":"reference/Mirage/LocalPlayerAttribute"},{"type":"link","label":"MessageDelegate<T>","href":"/Mirage/docs/reference/Mirage/MessageDelegate-1","docId":"reference/Mirage/MessageDelegate-1"},{"type":"link","label":"MessageDelegateAsync<T>","href":"/Mirage/docs/reference/Mirage/MessageDelegateAsync-1","docId":"reference/Mirage/MessageDelegateAsync-1"},{"type":"link","label":"MessageDelegateWithPlayer<T>","href":"/Mirage/docs/reference/Mirage/MessageDelegateWithPlayer-1","docId":"reference/Mirage/MessageDelegateWithPlayer-1"},{"type":"link","label":"MessageDelegateWithPlayerAsync<T>","href":"/Mirage/docs/reference/Mirage/MessageDelegateWithPlayerAsync-1","docId":"reference/Mirage/MessageDelegateWithPlayerAsync-1"},{"type":"link","label":"MessageHandler","href":"/Mirage/docs/reference/Mirage/MessageHandler","docId":"reference/Mirage/MessageHandler"},{"type":"link","label":"MessageReceiverExtensions","href":"/Mirage/docs/reference/Mirage/MessageReceiverExtensions","docId":"reference/Mirage/MessageReceiverExtensions"},{"type":"link","label":"MessageWaiter<T>","href":"/Mirage/docs/reference/Mirage/MessageWaiter-1","docId":"reference/Mirage/MessageWaiter-1"},{"type":"link","label":"MethodInvocationException","href":"/Mirage/docs/reference/Mirage/MethodInvocationException","docId":"reference/Mirage/MethodInvocationException"},{"type":"link","label":"NetworkAnimator","href":"/Mirage/docs/reference/Mirage/NetworkAnimator","docId":"reference/Mirage/NetworkAnimator"},{"type":"link","label":"NetworkBehaviorSerializers","href":"/Mirage/docs/reference/Mirage/NetworkBehaviorSerializers","docId":"reference/Mirage/NetworkBehaviorSerializers"},{"type":"link","label":"NetworkBehaviorSyncvar<T>","href":"/Mirage/docs/reference/Mirage/NetworkBehaviorSyncvar-1","docId":"reference/Mirage/NetworkBehaviorSyncvar-1"},{"type":"link","label":"NetworkBehaviorSyncvar","href":"/Mirage/docs/reference/Mirage/NetworkBehaviorSyncvar","docId":"reference/Mirage/NetworkBehaviorSyncvar"},{"type":"link","label":"NetworkBehaviour.Id","href":"/Mirage/docs/reference/Mirage/NetworkBehaviour.Id","docId":"reference/Mirage/NetworkBehaviour.Id"},{"type":"link","label":"NetworkBehaviour","href":"/Mirage/docs/reference/Mirage/NetworkBehaviour","docId":"reference/Mirage/NetworkBehaviour"},{"type":"link","label":"NetworkClient","href":"/Mirage/docs/reference/Mirage/NetworkClient","docId":"reference/Mirage/NetworkClient"},{"type":"link","label":"NetworkDiagnostics.MessageInfo","href":"/Mirage/docs/reference/Mirage/NetworkDiagnostics.MessageInfo","docId":"reference/Mirage/NetworkDiagnostics.MessageInfo"},{"type":"link","label":"NetworkDiagnostics","href":"/Mirage/docs/reference/Mirage/NetworkDiagnostics","docId":"reference/Mirage/NetworkDiagnostics"},{"type":"link","label":"NetworkExtensions","href":"/Mirage/docs/reference/Mirage/NetworkExtensions","docId":"reference/Mirage/NetworkExtensions"},{"type":"link","label":"NetworkFlags","href":"/Mirage/docs/reference/Mirage/NetworkFlags","docId":"reference/Mirage/NetworkFlags"},{"type":"link","label":"NetworkIdentity","href":"/Mirage/docs/reference/Mirage/NetworkIdentity","docId":"reference/Mirage/NetworkIdentity"},{"type":"link","label":"NetworkIdentitySerializers","href":"/Mirage/docs/reference/Mirage/NetworkIdentitySerializers","docId":"reference/Mirage/NetworkIdentitySerializers"},{"type":"link","label":"NetworkIdentitySyncvar","href":"/Mirage/docs/reference/Mirage/NetworkIdentitySyncvar","docId":"reference/Mirage/NetworkIdentitySyncvar"},{"type":"link","label":"NetworkInspectorCallbacks","href":"/Mirage/docs/reference/Mirage/NetworkInspectorCallbacks","docId":"reference/Mirage/NetworkInspectorCallbacks"},{"type":"link","label":"NetworkManager","href":"/Mirage/docs/reference/Mirage/NetworkManager","docId":"reference/Mirage/NetworkManager"},{"type":"link","label":"NetworkManagerGUI","href":"/Mirage/docs/reference/Mirage/NetworkManagerGUI","docId":"reference/Mirage/NetworkManagerGUI"},{"type":"link","label":"NetworkManagerHud","href":"/Mirage/docs/reference/Mirage/NetworkManagerHud","docId":"reference/Mirage/NetworkManagerHud"},{"type":"link","label":"NetworkManagerMode","href":"/Mirage/docs/reference/Mirage/NetworkManagerMode","docId":"reference/Mirage/NetworkManagerMode"},{"type":"link","label":"NetworkMatchChecker","href":"/Mirage/docs/reference/Mirage/NetworkMatchChecker","docId":"reference/Mirage/NetworkMatchChecker"},{"type":"link","label":"NetworkMessageAttribute","href":"/Mirage/docs/reference/Mirage/NetworkMessageAttribute","docId":"reference/Mirage/NetworkMessageAttribute"},{"type":"link","label":"NetworkMethodAttribute","href":"/Mirage/docs/reference/Mirage/NetworkMethodAttribute","docId":"reference/Mirage/NetworkMethodAttribute"},{"type":"link","label":"NetworkPingDisplay","href":"/Mirage/docs/reference/Mirage/NetworkPingDisplay","docId":"reference/Mirage/NetworkPingDisplay"},{"type":"link","label":"NetworkPingMessage","href":"/Mirage/docs/reference/Mirage/NetworkPingMessage","docId":"reference/Mirage/NetworkPingMessage"},{"type":"link","label":"NetworkPlayer","href":"/Mirage/docs/reference/Mirage/NetworkPlayer","docId":"reference/Mirage/NetworkPlayer"},{"type":"link","label":"NetworkPongMessage","href":"/Mirage/docs/reference/Mirage/NetworkPongMessage","docId":"reference/Mirage/NetworkPongMessage"},{"type":"link","label":"NetworkPrefabs","href":"/Mirage/docs/reference/Mirage/NetworkPrefabs","docId":"reference/Mirage/NetworkPrefabs"},{"type":"link","label":"NetworkProximityChecker","href":"/Mirage/docs/reference/Mirage/NetworkProximityChecker","docId":"reference/Mirage/NetworkProximityChecker"},{"type":"link","label":"NetworkSceneChecker","href":"/Mirage/docs/reference/Mirage/NetworkSceneChecker","docId":"reference/Mirage/NetworkSceneChecker"},{"type":"link","label":"NetworkSceneManager","href":"/Mirage/docs/reference/Mirage/NetworkSceneManager","docId":"reference/Mirage/NetworkSceneManager"},{"type":"link","label":"NetworkServer","href":"/Mirage/docs/reference/Mirage/NetworkServer","docId":"reference/Mirage/NetworkServer"},{"type":"link","label":"NetworkSpawnSettings","href":"/Mirage/docs/reference/Mirage/NetworkSpawnSettings","docId":"reference/Mirage/NetworkSpawnSettings"},{"type":"link","label":"NetworkTime","href":"/Mirage/docs/reference/Mirage/NetworkTime","docId":"reference/Mirage/NetworkTime"},{"type":"link","label":"NetworkTransform","href":"/Mirage/docs/reference/Mirage/NetworkTransform","docId":"reference/Mirage/NetworkTransform"},{"type":"link","label":"NetworkTransformBase.DataPoint","href":"/Mirage/docs/reference/Mirage/NetworkTransformBase.DataPoint","docId":"reference/Mirage/NetworkTransformBase.DataPoint"},{"type":"link","label":"NetworkTransformBase","href":"/Mirage/docs/reference/Mirage/NetworkTransformBase","docId":"reference/Mirage/NetworkTransformBase"},{"type":"link","label":"NetworkTransformChild","href":"/Mirage/docs/reference/Mirage/NetworkTransformChild","docId":"reference/Mirage/NetworkTransformChild"},{"type":"link","label":"NetworkVisibility.VisibilityChanged","href":"/Mirage/docs/reference/Mirage/NetworkVisibility.VisibilityChanged","docId":"reference/Mirage/NetworkVisibility.VisibilityChanged"},{"type":"link","label":"NetworkVisibility","href":"/Mirage/docs/reference/Mirage/NetworkVisibility","docId":"reference/Mirage/NetworkVisibility"},{"type":"link","label":"NetworkWorld","href":"/Mirage/docs/reference/Mirage/NetworkWorld","docId":"reference/Mirage/NetworkWorld"},{"type":"link","label":"NetworkWorldExtensions","href":"/Mirage/docs/reference/Mirage/NetworkWorldExtensions","docId":"reference/Mirage/NetworkWorldExtensions"},{"type":"link","label":"NetworkedPrefabAttribute","href":"/Mirage/docs/reference/Mirage/NetworkedPrefabAttribute","docId":"reference/Mirage/NetworkedPrefabAttribute"},{"type":"link","label":"ObjectDestroyMessage","href":"/Mirage/docs/reference/Mirage/ObjectDestroyMessage","docId":"reference/Mirage/ObjectDestroyMessage"},{"type":"link","label":"ObjectHideMessage","href":"/Mirage/docs/reference/Mirage/ObjectHideMessage","docId":"reference/Mirage/ObjectHideMessage"},{"type":"link","label":"OnlineOfflineScene","href":"/Mirage/docs/reference/Mirage/OnlineOfflineScene","docId":"reference/Mirage/OnlineOfflineScene"},{"type":"link","label":"PipePeerConnection.PipeEndPoint","href":"/Mirage/docs/reference/Mirage/PipePeerConnection.PipeEndPoint","docId":"reference/Mirage/PipePeerConnection.PipeEndPoint"},{"type":"link","label":"PipePeerConnection","href":"/Mirage/docs/reference/Mirage/PipePeerConnection","docId":"reference/Mirage/PipePeerConnection"},{"type":"link","label":"PlayerSceneChangeEvent","href":"/Mirage/docs/reference/Mirage/PlayerSceneChangeEvent","docId":"reference/Mirage/PlayerSceneChangeEvent"},{"type":"link","label":"ReadOnlyInspectorAttribute","href":"/Mirage/docs/reference/Mirage/ReadOnlyInspectorAttribute","docId":"reference/Mirage/ReadOnlyInspectorAttribute"},{"type":"link","label":"RemoveAuthorityMessage","href":"/Mirage/docs/reference/Mirage/RemoveAuthorityMessage","docId":"reference/Mirage/RemoveAuthorityMessage"},{"type":"link","label":"RemoveCharacterMessage","href":"/Mirage/docs/reference/Mirage/RemoveCharacterMessage","docId":"reference/Mirage/RemoveCharacterMessage"},{"type":"link","label":"RpcTarget","href":"/Mirage/docs/reference/Mirage/RpcTarget","docId":"reference/Mirage/RpcTarget"},{"type":"link","label":"SceneAttribute","href":"/Mirage/docs/reference/Mirage/SceneAttribute","docId":"reference/Mirage/SceneAttribute"},{"type":"link","label":"SceneChangeFinishedEvent","href":"/Mirage/docs/reference/Mirage/SceneChangeFinishedEvent","docId":"reference/Mirage/SceneChangeFinishedEvent"},{"type":"link","label":"SceneChangeStartedEvent","href":"/Mirage/docs/reference/Mirage/SceneChangeStartedEvent","docId":"reference/Mirage/SceneChangeStartedEvent"},{"type":"link","label":"SceneMessage","href":"/Mirage/docs/reference/Mirage/SceneMessage","docId":"reference/Mirage/SceneMessage"},{"type":"link","label":"SceneNotReadyMessage","href":"/Mirage/docs/reference/Mirage/SceneNotReadyMessage","docId":"reference/Mirage/SceneNotReadyMessage"},{"type":"link","label":"SceneOperation","href":"/Mirage/docs/reference/Mirage/SceneOperation","docId":"reference/Mirage/SceneOperation"},{"type":"link","label":"SceneReadyMessage","href":"/Mirage/docs/reference/Mirage/SceneReadyMessage","docId":"reference/Mirage/SceneReadyMessage"},{"type":"link","label":"SceneVisibilityChecker","href":"/Mirage/docs/reference/Mirage/SceneVisibilityChecker","docId":"reference/Mirage/SceneVisibilityChecker"},{"type":"link","label":"ServerAttribute","href":"/Mirage/docs/reference/Mirage/ServerAttribute","docId":"reference/Mirage/ServerAttribute"},{"type":"link","label":"ServerObjectManager","href":"/Mirage/docs/reference/Mirage/ServerObjectManager","docId":"reference/Mirage/ServerObjectManager"},{"type":"link","label":"ServerObjectManagerExtensions","href":"/Mirage/docs/reference/Mirage/ServerObjectManagerExtensions","docId":"reference/Mirage/ServerObjectManagerExtensions"},{"type":"link","label":"ServerRpcAttribute","href":"/Mirage/docs/reference/Mirage/ServerRpcAttribute","docId":"reference/Mirage/ServerRpcAttribute"},{"type":"link","label":"ShowInInspectorAttribute","href":"/Mirage/docs/reference/Mirage/ShowInInspectorAttribute","docId":"reference/Mirage/ShowInInspectorAttribute"},{"type":"link","label":"SpawnEvent","href":"/Mirage/docs/reference/Mirage/SpawnEvent","docId":"reference/Mirage/SpawnEvent"},{"type":"link","label":"SpawnHandler","href":"/Mirage/docs/reference/Mirage/SpawnHandler","docId":"reference/Mirage/SpawnHandler"},{"type":"link","label":"SpawnHandlerAsyncDelegate","href":"/Mirage/docs/reference/Mirage/SpawnHandlerAsyncDelegate","docId":"reference/Mirage/SpawnHandlerAsyncDelegate"},{"type":"link","label":"SpawnHandlerDelegate","href":"/Mirage/docs/reference/Mirage/SpawnHandlerDelegate","docId":"reference/Mirage/SpawnHandlerDelegate"},{"type":"link","label":"SpawnMessage","href":"/Mirage/docs/reference/Mirage/SpawnMessage","docId":"reference/Mirage/SpawnMessage"},{"type":"link","label":"SpawnObjectException","href":"/Mirage/docs/reference/Mirage/SpawnObjectException","docId":"reference/Mirage/SpawnObjectException"},{"type":"link","label":"SpawnValues","href":"/Mirage/docs/reference/Mirage/SpawnValues","docId":"reference/Mirage/SpawnValues"},{"type":"link","label":"StringHash","href":"/Mirage/docs/reference/Mirage/StringHash","docId":"reference/Mirage/StringHash"},{"type":"link","label":"SyncActiveOption","href":"/Mirage/docs/reference/Mirage/SyncActiveOption","docId":"reference/Mirage/SyncActiveOption"},{"type":"link","label":"SyncFrom","href":"/Mirage/docs/reference/Mirage/SyncFrom","docId":"reference/Mirage/SyncFrom"},{"type":"link","label":"SyncHookType","href":"/Mirage/docs/reference/Mirage/SyncHookType","docId":"reference/Mirage/SyncHookType"},{"type":"link","label":"SyncPrefab","href":"/Mirage/docs/reference/Mirage/SyncPrefab","docId":"reference/Mirage/SyncPrefab"},{"type":"link","label":"SyncPrefabSerialize","href":"/Mirage/docs/reference/Mirage/SyncPrefabSerialize","docId":"reference/Mirage/SyncPrefabSerialize"},{"type":"link","label":"SyncSettings","href":"/Mirage/docs/reference/Mirage/SyncSettings","docId":"reference/Mirage/SyncSettings"},{"type":"link","label":"SyncTiming","href":"/Mirage/docs/reference/Mirage/SyncTiming","docId":"reference/Mirage/SyncTiming"},{"type":"link","label":"SyncTo","href":"/Mirage/docs/reference/Mirage/SyncTo","docId":"reference/Mirage/SyncTo"},{"type":"link","label":"SyncVarAttribute","href":"/Mirage/docs/reference/Mirage/SyncVarAttribute","docId":"reference/Mirage/SyncVarAttribute"},{"type":"link","label":"SyncVarReceiver","href":"/Mirage/docs/reference/Mirage/SyncVarReceiver","docId":"reference/Mirage/SyncVarReceiver"},{"type":"link","label":"SyncVarSender","href":"/Mirage/docs/reference/Mirage/SyncVarSender","docId":"reference/Mirage/SyncVarSender"},{"type":"link","label":"UnSpawnDelegate","href":"/Mirage/docs/reference/Mirage/UnSpawnDelegate","docId":"reference/Mirage/UnSpawnDelegate"},{"type":"link","label":"UpdateVarsMessage","href":"/Mirage/docs/reference/Mirage/UpdateVarsMessage","docId":"reference/Mirage/UpdateVarsMessage"},{"type":"link","label":"Version","href":"/Mirage/docs/reference/Mirage/Version","docId":"reference/Mirage/Version"}],"href":"/Mirage/docs/reference/Mirage/"},{"type":"category","label":"Mirage.Authentication","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"AuthMessage","href":"/Mirage/docs/reference/Mirage.Authentication/AuthMessage","docId":"reference/Mirage.Authentication/AuthMessage"},{"type":"link","label":"AuthSuccessMessage","href":"/Mirage/docs/reference/Mirage.Authentication/AuthSuccessMessage","docId":"reference/Mirage.Authentication/AuthSuccessMessage"},{"type":"link","label":"AuthenticationResult","href":"/Mirage/docs/reference/Mirage.Authentication/AuthenticationResult","docId":"reference/Mirage.Authentication/AuthenticationResult"},{"type":"link","label":"AuthenticatorSettings","href":"/Mirage/docs/reference/Mirage.Authentication/AuthenticatorSettings","docId":"reference/Mirage.Authentication/AuthenticatorSettings"},{"type":"link","label":"IAuthenticationDataWrapper","href":"/Mirage/docs/reference/Mirage.Authentication/IAuthenticationDataWrapper","docId":"reference/Mirage.Authentication/IAuthenticationDataWrapper"},{"type":"link","label":"INetworkAuthenticator","href":"/Mirage/docs/reference/Mirage.Authentication/INetworkAuthenticator","docId":"reference/Mirage.Authentication/INetworkAuthenticator"},{"type":"link","label":"NetworkAuthenticator<T>","href":"/Mirage/docs/reference/Mirage.Authentication/NetworkAuthenticator-1","docId":"reference/Mirage.Authentication/NetworkAuthenticator-1"},{"type":"link","label":"NetworkAuthenticator","href":"/Mirage/docs/reference/Mirage.Authentication/NetworkAuthenticator","docId":"reference/Mirage.Authentication/NetworkAuthenticator"},{"type":"link","label":"PlayerAuthentication","href":"/Mirage/docs/reference/Mirage.Authentication/PlayerAuthentication","docId":"reference/Mirage.Authentication/PlayerAuthentication"}],"href":"/Mirage/docs/reference/Mirage.Authentication/"},{"type":"category","label":"Mirage.Authenticators","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"BasicAuthenticator.JoinMessage","href":"/Mirage/docs/reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage","docId":"reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage"},{"type":"link","label":"BasicAuthenticator","href":"/Mirage/docs/reference/Mirage.Authenticators/BasicAuthenticator","docId":"reference/Mirage.Authenticators/BasicAuthenticator"}],"href":"/Mirage/docs/reference/Mirage.Authenticators/"},{"type":"category","label":"Mirage.Authenticators.SessionId","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"ClientSession","href":"/Mirage/docs/reference/Mirage.Authenticators.SessionId/ClientSession","docId":"reference/Mirage.Authenticators.SessionId/ClientSession"},{"type":"link","label":"CreateSession","href":"/Mirage/docs/reference/Mirage.Authenticators.SessionId/CreateSession","docId":"reference/Mirage.Authenticators.SessionId/CreateSession"},{"type":"link","label":"ISessionIdStore","href":"/Mirage/docs/reference/Mirage.Authenticators.SessionId/ISessionIdStore","docId":"reference/Mirage.Authenticators.SessionId/ISessionIdStore"},{"type":"link","label":"RequestSessionMessage","href":"/Mirage/docs/reference/Mirage.Authenticators.SessionId/RequestSessionMessage","docId":"reference/Mirage.Authenticators.SessionId/RequestSessionMessage"},{"type":"link","label":"SessionData","href":"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionData","docId":"reference/Mirage.Authenticators.SessionId/SessionData"},{"type":"link","label":"SessionIdAuthenticator","href":"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator","docId":"reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator"},{"type":"link","label":"SessionKeyMessage","href":"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionKeyMessage","docId":"reference/Mirage.Authenticators.SessionId/SessionKeyMessage"}],"href":"/Mirage/docs/reference/Mirage.Authenticators.SessionId/"},{"type":"category","label":"Mirage.Collections","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"ISyncObject","href":"/Mirage/docs/reference/Mirage.Collections/ISyncObject","docId":"reference/Mirage.Collections/ISyncObject"},{"type":"link","label":"SyncDictionary<TKey, TValue>","href":"/Mirage/docs/reference/Mirage.Collections/SyncDictionary-2","docId":"reference/Mirage.Collections/SyncDictionary-2"},{"type":"link","label":"SyncHashSet<T>","href":"/Mirage/docs/reference/Mirage.Collections/SyncHashSet-1","docId":"reference/Mirage.Collections/SyncHashSet-1"},{"type":"link","label":"SyncIDictionary<TKey, TValue>","href":"/Mirage/docs/reference/Mirage.Collections/SyncIDictionary-2","docId":"reference/Mirage.Collections/SyncIDictionary-2"},{"type":"link","label":"SyncList<T>.Enumerator","href":"/Mirage/docs/reference/Mirage.Collections/SyncList-1.Enumerator","docId":"reference/Mirage.Collections/SyncList-1.Enumerator"},{"type":"link","label":"SyncList<T>","href":"/Mirage/docs/reference/Mirage.Collections/SyncList-1","docId":"reference/Mirage.Collections/SyncList-1"},{"type":"link","label":"SyncObjectUtils","href":"/Mirage/docs/reference/Mirage.Collections/SyncObjectUtils","docId":"reference/Mirage.Collections/SyncObjectUtils"},{"type":"link","label":"SyncSet<T>","href":"/Mirage/docs/reference/Mirage.Collections/SyncSet-1","docId":"reference/Mirage.Collections/SyncSet-1"},{"type":"link","label":"SyncSortedSet<T>","href":"/Mirage/docs/reference/Mirage.Collections/SyncSortedSet-1","docId":"reference/Mirage.Collections/SyncSortedSet-1"},{"type":"link","label":"SyncStack<T>","href":"/Mirage/docs/reference/Mirage.Collections/SyncStack-1","docId":"reference/Mirage.Collections/SyncStack-1"}],"href":"/Mirage/docs/reference/Mirage.Collections/"},{"type":"category","label":"Mirage.Components","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"LobbyReady","href":"/Mirage/docs/reference/Mirage.Components/LobbyReady","docId":"reference/Mirage.Components/LobbyReady"},{"type":"link","label":"ReadyCheck","href":"/Mirage/docs/reference/Mirage.Components/ReadyCheck","docId":"reference/Mirage.Components/ReadyCheck"},{"type":"link","label":"SyncObjectActive","href":"/Mirage/docs/reference/Mirage.Components/SyncObjectActive","docId":"reference/Mirage.Components/SyncObjectActive"}],"href":"/Mirage/docs/reference/Mirage.Components/"},{"type":"category","label":"Mirage.DisplayMetrics","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"DisplayMetricsAverageGui","href":"/Mirage/docs/reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui","docId":"reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui"},{"type":"link","label":"RequestServerMetrics","href":"/Mirage/docs/reference/Mirage.DisplayMetrics/RequestServerMetrics","docId":"reference/Mirage.DisplayMetrics/RequestServerMetrics"},{"type":"link","label":"SetDisplayMetrics","href":"/Mirage/docs/reference/Mirage.DisplayMetrics/SetDisplayMetrics","docId":"reference/Mirage.DisplayMetrics/SetDisplayMetrics"}],"href":"/Mirage/docs/reference/Mirage.DisplayMetrics/"},{"type":"category","label":"Mirage.Events","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"AddLateEvent<T0>","href":"/Mirage/docs/reference/Mirage.Events/AddLateEvent-1","docId":"reference/Mirage.Events/AddLateEvent-1"},{"type":"link","label":"AddLateEvent<T0, T1>","href":"/Mirage/docs/reference/Mirage.Events/AddLateEvent-2","docId":"reference/Mirage.Events/AddLateEvent-2"},{"type":"link","label":"AddLateEvent","href":"/Mirage/docs/reference/Mirage.Events/AddLateEvent","docId":"reference/Mirage.Events/AddLateEvent"},{"type":"link","label":"AddLateEventBase","href":"/Mirage/docs/reference/Mirage.Events/AddLateEventBase","docId":"reference/Mirage.Events/AddLateEventBase"},{"type":"link","label":"AddLateEventUnity<T0, TEvent>","href":"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-2","docId":"reference/Mirage.Events/AddLateEventUnity-2"},{"type":"link","label":"AddLateEventUnity<T0, T1, TEvent>","href":"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-3","docId":"reference/Mirage.Events/AddLateEventUnity-3"},{"type":"link","label":"AddLateEventUnity","href":"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity","docId":"reference/Mirage.Events/AddLateEventUnity"},{"type":"link","label":"BoolAddLateEvent","href":"/Mirage/docs/reference/Mirage.Events/BoolAddLateEvent","docId":"reference/Mirage.Events/BoolAddLateEvent"},{"type":"link","label":"BoolUnityEvent","href":"/Mirage/docs/reference/Mirage.Events/BoolUnityEvent","docId":"reference/Mirage.Events/BoolUnityEvent"},{"type":"link","label":"DisconnectAddLateEvent","href":"/Mirage/docs/reference/Mirage.Events/DisconnectAddLateEvent","docId":"reference/Mirage.Events/DisconnectAddLateEvent"},{"type":"link","label":"DisconnectEvent","href":"/Mirage/docs/reference/Mirage.Events/DisconnectEvent","docId":"reference/Mirage.Events/DisconnectEvent"},{"type":"link","label":"IAddLateEvent<T0>","href":"/Mirage/docs/reference/Mirage.Events/IAddLateEvent-1","docId":"reference/Mirage.Events/IAddLateEvent-1"},{"type":"link","label":"IAddLateEvent<T0, T1>","href":"/Mirage/docs/reference/Mirage.Events/IAddLateEvent-2","docId":"reference/Mirage.Events/IAddLateEvent-2"},{"type":"link","label":"IAddLateEvent","href":"/Mirage/docs/reference/Mirage.Events/IAddLateEvent","docId":"reference/Mirage.Events/IAddLateEvent"},{"type":"link","label":"IAddLateEventUnity<T0>","href":"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-1","docId":"reference/Mirage.Events/IAddLateEventUnity-1"},{"type":"link","label":"IAddLateEventUnity<T0, T1>","href":"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-2","docId":"reference/Mirage.Events/IAddLateEventUnity-2"},{"type":"link","label":"IAddLateEventUnity","href":"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity","docId":"reference/Mirage.Events/IAddLateEventUnity"},{"type":"link","label":"NetworkPlayerAddLateEvent","href":"/Mirage/docs/reference/Mirage.Events/NetworkPlayerAddLateEvent","docId":"reference/Mirage.Events/NetworkPlayerAddLateEvent"},{"type":"link","label":"NetworkPlayerEvent","href":"/Mirage/docs/reference/Mirage.Events/NetworkPlayerEvent","docId":"reference/Mirage.Events/NetworkPlayerEvent"}],"href":"/Mirage/docs/reference/Mirage.Events/"},{"type":"category","label":"Mirage.Logging","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"ILoggerExtensions","href":"/Mirage/docs/reference/Mirage.Logging/ILoggerExtensions","docId":"reference/Mirage.Logging/ILoggerExtensions"},{"type":"link","label":"LogFactory","href":"/Mirage/docs/reference/Mirage.Logging/LogFactory","docId":"reference/Mirage.Logging/LogFactory"},{"type":"link","label":"LogSettings","href":"/Mirage/docs/reference/Mirage.Logging/LogSettings","docId":"reference/Mirage.Logging/LogSettings"},{"type":"link","label":"LogSettingsExtensions","href":"/Mirage/docs/reference/Mirage.Logging/LogSettingsExtensions","docId":"reference/Mirage.Logging/LogSettingsExtensions"},{"type":"link","label":"LogSettingsSO.LoggerSettings","href":"/Mirage/docs/reference/Mirage.Logging/LogSettingsSO.LoggerSettings","docId":"reference/Mirage.Logging/LogSettingsSO.LoggerSettings"},{"type":"link","label":"LogSettingsSO","href":"/Mirage/docs/reference/Mirage.Logging/LogSettingsSO","docId":"reference/Mirage.Logging/LogSettingsSO"},{"type":"link","label":"MirageLogHandler.Settings","href":"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler.Settings","docId":"reference/Mirage.Logging/MirageLogHandler.Settings"},{"type":"link","label":"MirageLogHandler.TimePrefix","href":"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler.TimePrefix","docId":"reference/Mirage.Logging/MirageLogHandler.TimePrefix"},{"type":"link","label":"MirageLogHandler","href":"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler","docId":"reference/Mirage.Logging/MirageLogHandler"}],"href":"/Mirage/docs/reference/Mirage.Logging/"},{"type":"category","label":"Mirage.RemoteCalls","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"ClientRpcSender","href":"/Mirage/docs/reference/Mirage.RemoteCalls/ClientRpcSender","docId":"reference/Mirage.RemoteCalls/ClientRpcSender"},{"type":"link","label":"RemoteCall","href":"/Mirage/docs/reference/Mirage.RemoteCalls/RemoteCall","docId":"reference/Mirage.RemoteCalls/RemoteCall"},{"type":"link","label":"RemoteCallCollection","href":"/Mirage/docs/reference/Mirage.RemoteCalls/RemoteCallCollection","docId":"reference/Mirage.RemoteCalls/RemoteCallCollection"},{"type":"link","label":"RequestDelegate<T>","href":"/Mirage/docs/reference/Mirage.RemoteCalls/RequestDelegate-1","docId":"reference/Mirage.RemoteCalls/RequestDelegate-1"},{"type":"link","label":"RpcDelegate","href":"/Mirage/docs/reference/Mirage.RemoteCalls/RpcDelegate","docId":"reference/Mirage.RemoteCalls/RpcDelegate"},{"type":"link","label":"RpcInvokeType","href":"/Mirage/docs/reference/Mirage.RemoteCalls/RpcInvokeType","docId":"reference/Mirage.RemoteCalls/RpcInvokeType"},{"type":"link","label":"RpcMessage","href":"/Mirage/docs/reference/Mirage.RemoteCalls/RpcMessage","docId":"reference/Mirage.RemoteCalls/RpcMessage"},{"type":"link","label":"RpcReply","href":"/Mirage/docs/reference/Mirage.RemoteCalls/RpcReply","docId":"reference/Mirage.RemoteCalls/RpcReply"},{"type":"link","label":"RpcWithReplyMessage","href":"/Mirage/docs/reference/Mirage.RemoteCalls/RpcWithReplyMessage","docId":"reference/Mirage.RemoteCalls/RpcWithReplyMessage"},{"type":"link","label":"ServerRpcSender","href":"/Mirage/docs/reference/Mirage.RemoteCalls/ServerRpcSender","docId":"reference/Mirage.RemoteCalls/ServerRpcSender"}],"href":"/Mirage/docs/reference/Mirage.RemoteCalls/"},{"type":"category","label":"Mirage.Serialization","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"AnglePacker","href":"/Mirage/docs/reference/Mirage.Serialization/AnglePacker","docId":"reference/Mirage.Serialization/AnglePacker"},{"type":"link","label":"BitCountAttribute","href":"/Mirage/docs/reference/Mirage.Serialization/BitCountAttribute","docId":"reference/Mirage.Serialization/BitCountAttribute"},{"type":"link","label":"BitCountFromRangeAttribute","href":"/Mirage/docs/reference/Mirage.Serialization/BitCountFromRangeAttribute","docId":"reference/Mirage.Serialization/BitCountFromRangeAttribute"},{"type":"link","label":"BitHelper","href":"/Mirage/docs/reference/Mirage.Serialization/BitHelper","docId":"reference/Mirage.Serialization/BitHelper"},{"type":"link","label":"BitMask","href":"/Mirage/docs/reference/Mirage.Serialization/BitMask","docId":"reference/Mirage.Serialization/BitMask"},{"type":"link","label":"CollectionExtensions","href":"/Mirage/docs/reference/Mirage.Serialization/CollectionExtensions","docId":"reference/Mirage.Serialization/CollectionExtensions"},{"type":"link","label":"CompressedExtensions","href":"/Mirage/docs/reference/Mirage.Serialization/CompressedExtensions","docId":"reference/Mirage.Serialization/CompressedExtensions"},{"type":"link","label":"FloatPackAttribute","href":"/Mirage/docs/reference/Mirage.Serialization/FloatPackAttribute","docId":"reference/Mirage.Serialization/FloatPackAttribute"},{"type":"link","label":"FloatPacker","href":"/Mirage/docs/reference/Mirage.Serialization/FloatPacker","docId":"reference/Mirage.Serialization/FloatPacker"},{"type":"link","label":"FromBitCount","href":"/Mirage/docs/reference/Mirage.Serialization/FromBitCount","docId":"reference/Mirage.Serialization/FromBitCount"},{"type":"link","label":"GenericTypesSerializationExtensions","href":"/Mirage/docs/reference/Mirage.Serialization/GenericTypesSerializationExtensions","docId":"reference/Mirage.Serialization/GenericTypesSerializationExtensions"},{"type":"link","label":"MessageIdCache<T>","href":"/Mirage/docs/reference/Mirage.Serialization/MessageIdCache-1","docId":"reference/Mirage.Serialization/MessageIdCache-1"},{"type":"link","label":"MessagePacker","href":"/Mirage/docs/reference/Mirage.Serialization/MessagePacker","docId":"reference/Mirage.Serialization/MessagePacker"},{"type":"link","label":"MirageNetworkReader","href":"/Mirage/docs/reference/Mirage.Serialization/MirageNetworkReader","docId":"reference/Mirage.Serialization/MirageNetworkReader"},{"type":"link","label":"MirageTypesExtensions","href":"/Mirage/docs/reference/Mirage.Serialization/MirageTypesExtensions","docId":"reference/Mirage.Serialization/MirageTypesExtensions"},{"type":"link","label":"NetworkReader","href":"/Mirage/docs/reference/Mirage.Serialization/NetworkReader","docId":"reference/Mirage.Serialization/NetworkReader"},{"type":"link","label":"NetworkReaderPool","href":"/Mirage/docs/reference/Mirage.Serialization/NetworkReaderPool","docId":"reference/Mirage.Serialization/NetworkReaderPool"},{"type":"link","label":"NetworkWriter","href":"/Mirage/docs/reference/Mirage.Serialization/NetworkWriter","docId":"reference/Mirage.Serialization/NetworkWriter"},{"type":"link","label":"NetworkWriterPool","href":"/Mirage/docs/reference/Mirage.Serialization/NetworkWriterPool","docId":"reference/Mirage.Serialization/NetworkWriterPool"},{"type":"link","label":"PackedExtensions","href":"/Mirage/docs/reference/Mirage.Serialization/PackedExtensions","docId":"reference/Mirage.Serialization/PackedExtensions"},{"type":"link","label":"PooledNetworkReader","href":"/Mirage/docs/reference/Mirage.Serialization/PooledNetworkReader","docId":"reference/Mirage.Serialization/PooledNetworkReader"},{"type":"link","label":"PooledNetworkWriter","href":"/Mirage/docs/reference/Mirage.Serialization/PooledNetworkWriter","docId":"reference/Mirage.Serialization/PooledNetworkWriter"},{"type":"link","label":"QuaternionPackAttribute","href":"/Mirage/docs/reference/Mirage.Serialization/QuaternionPackAttribute","docId":"reference/Mirage.Serialization/QuaternionPackAttribute"},{"type":"link","label":"QuaternionPacker","href":"/Mirage/docs/reference/Mirage.Serialization/QuaternionPacker","docId":"reference/Mirage.Serialization/QuaternionPacker"},{"type":"link","label":"Reader<T>","href":"/Mirage/docs/reference/Mirage.Serialization/Reader-1","docId":"reference/Mirage.Serialization/Reader-1"},{"type":"link","label":"StringExtensions","href":"/Mirage/docs/reference/Mirage.Serialization/StringExtensions","docId":"reference/Mirage.Serialization/StringExtensions"},{"type":"link","label":"SystemTypesExtensions","href":"/Mirage/docs/reference/Mirage.Serialization/SystemTypesExtensions","docId":"reference/Mirage.Serialization/SystemTypesExtensions"},{"type":"link","label":"UnityTypesExtensions","href":"/Mirage/docs/reference/Mirage.Serialization/UnityTypesExtensions","docId":"reference/Mirage.Serialization/UnityTypesExtensions"},{"type":"link","label":"VarDoublePacker","href":"/Mirage/docs/reference/Mirage.Serialization/VarDoublePacker","docId":"reference/Mirage.Serialization/VarDoublePacker"},{"type":"link","label":"VarFloatPacker","href":"/Mirage/docs/reference/Mirage.Serialization/VarFloatPacker","docId":"reference/Mirage.Serialization/VarFloatPacker"},{"type":"link","label":"VarIntAttribute","href":"/Mirage/docs/reference/Mirage.Serialization/VarIntAttribute","docId":"reference/Mirage.Serialization/VarIntAttribute"},{"type":"link","label":"VarIntBlocksAttribute","href":"/Mirage/docs/reference/Mirage.Serialization/VarIntBlocksAttribute","docId":"reference/Mirage.Serialization/VarIntBlocksAttribute"},{"type":"link","label":"VarIntBlocksPacker","href":"/Mirage/docs/reference/Mirage.Serialization/VarIntBlocksPacker","docId":"reference/Mirage.Serialization/VarIntBlocksPacker"},{"type":"link","label":"VarIntPacker","href":"/Mirage/docs/reference/Mirage.Serialization/VarIntPacker","docId":"reference/Mirage.Serialization/VarIntPacker"},{"type":"link","label":"VarVector2Packer","href":"/Mirage/docs/reference/Mirage.Serialization/VarVector2Packer","docId":"reference/Mirage.Serialization/VarVector2Packer"},{"type":"link","label":"VarVector3Packer","href":"/Mirage/docs/reference/Mirage.Serialization/VarVector3Packer","docId":"reference/Mirage.Serialization/VarVector3Packer"},{"type":"link","label":"Vector2PackAttribute","href":"/Mirage/docs/reference/Mirage.Serialization/Vector2PackAttribute","docId":"reference/Mirage.Serialization/Vector2PackAttribute"},{"type":"link","label":"Vector2Packer","href":"/Mirage/docs/reference/Mirage.Serialization/Vector2Packer","docId":"reference/Mirage.Serialization/Vector2Packer"},{"type":"link","label":"Vector3PackAttribute","href":"/Mirage/docs/reference/Mirage.Serialization/Vector3PackAttribute","docId":"reference/Mirage.Serialization/Vector3PackAttribute"},{"type":"link","label":"Vector3Packer","href":"/Mirage/docs/reference/Mirage.Serialization/Vector3Packer","docId":"reference/Mirage.Serialization/Vector3Packer"},{"type":"link","label":"WeaverIgnoreAttribute","href":"/Mirage/docs/reference/Mirage.Serialization/WeaverIgnoreAttribute","docId":"reference/Mirage.Serialization/WeaverIgnoreAttribute"},{"type":"link","label":"WeaverSerializeCollectionAttribute","href":"/Mirage/docs/reference/Mirage.Serialization/WeaverSerializeCollectionAttribute","docId":"reference/Mirage.Serialization/WeaverSerializeCollectionAttribute"},{"type":"link","label":"WeaverWriteAsGenericAttribute","href":"/Mirage/docs/reference/Mirage.Serialization/WeaverWriteAsGenericAttribute","docId":"reference/Mirage.Serialization/WeaverWriteAsGenericAttribute"},{"type":"link","label":"Writer<T>","href":"/Mirage/docs/reference/Mirage.Serialization/Writer-1","docId":"reference/Mirage.Serialization/Writer-1"},{"type":"link","label":"ZigZag","href":"/Mirage/docs/reference/Mirage.Serialization/ZigZag","docId":"reference/Mirage.Serialization/ZigZag"},{"type":"link","label":"ZigZagEncodeAttribute","href":"/Mirage/docs/reference/Mirage.Serialization/ZigZagEncodeAttribute","docId":"reference/Mirage.Serialization/ZigZagEncodeAttribute"}],"href":"/Mirage/docs/reference/Mirage.Serialization/"},{"type":"category","label":"Mirage.SocketLayer","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"AckSystem.ReliablePacket","href":"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem.ReliablePacket","docId":"reference/Mirage.SocketLayer/AckSystem.ReliablePacket"},{"type":"link","label":"AckSystem.ReliableReceived","href":"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem.ReliableReceived","docId":"reference/Mirage.SocketLayer/AckSystem.ReliableReceived"},{"type":"link","label":"AckSystem","href":"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem","docId":"reference/Mirage.SocketLayer/AckSystem"},{"type":"link","label":"ArrayBatch","href":"/Mirage/docs/reference/Mirage.SocketLayer/ArrayBatch","docId":"reference/Mirage.SocketLayer/ArrayBatch"},{"type":"link","label":"AutoCompleteToken","href":"/Mirage/docs/reference/Mirage.SocketLayer/AutoCompleteToken","docId":"reference/Mirage.SocketLayer/AutoCompleteToken"},{"type":"link","label":"Batch","href":"/Mirage/docs/reference/Mirage.SocketLayer/Batch","docId":"reference/Mirage.SocketLayer/Batch"},{"type":"link","label":"ByteBuffer","href":"/Mirage/docs/reference/Mirage.SocketLayer/ByteBuffer","docId":"reference/Mirage.SocketLayer/ByteBuffer"},{"type":"link","label":"ByteUtils","href":"/Mirage/docs/reference/Mirage.SocketLayer/ByteUtils","docId":"reference/Mirage.SocketLayer/ByteUtils"},{"type":"link","label":"Commands","href":"/Mirage/docs/reference/Mirage.SocketLayer/Commands","docId":"reference/Mirage.SocketLayer/Commands"},{"type":"link","label":"Config","href":"/Mirage/docs/reference/Mirage.SocketLayer/Config","docId":"reference/Mirage.SocketLayer/Config"},{"type":"link","label":"ConnectionExtensions","href":"/Mirage/docs/reference/Mirage.SocketLayer/ConnectionExtensions","docId":"reference/Mirage.SocketLayer/ConnectionExtensions"},{"type":"link","label":"ConnectionState","href":"/Mirage/docs/reference/Mirage.SocketLayer/ConnectionState","docId":"reference/Mirage.SocketLayer/ConnectionState"},{"type":"link","label":"DisconnectReason","href":"/Mirage/docs/reference/Mirage.SocketLayer/DisconnectReason","docId":"reference/Mirage.SocketLayer/DisconnectReason"},{"type":"link","label":"IConnection","href":"/Mirage/docs/reference/Mirage.SocketLayer/IConnection","docId":"reference/Mirage.SocketLayer/IConnection"},{"type":"link","label":"IDataHandler","href":"/Mirage/docs/reference/Mirage.SocketLayer/IDataHandler","docId":"reference/Mirage.SocketLayer/IDataHandler"},{"type":"link","label":"IEndPoint","href":"/Mirage/docs/reference/Mirage.SocketLayer/IEndPoint","docId":"reference/Mirage.SocketLayer/IEndPoint"},{"type":"link","label":"IHasAddress","href":"/Mirage/docs/reference/Mirage.SocketLayer/IHasAddress","docId":"reference/Mirage.SocketLayer/IHasAddress"},{"type":"link","label":"IHasPort","href":"/Mirage/docs/reference/Mirage.SocketLayer/IHasPort","docId":"reference/Mirage.SocketLayer/IHasPort"},{"type":"link","label":"INotifyCallBack","href":"/Mirage/docs/reference/Mirage.SocketLayer/INotifyCallBack","docId":"reference/Mirage.SocketLayer/INotifyCallBack"},{"type":"link","label":"INotifyCallBackExtensions","href":"/Mirage/docs/reference/Mirage.SocketLayer/INotifyCallBackExtensions","docId":"reference/Mirage.SocketLayer/INotifyCallBackExtensions"},{"type":"link","label":"INotifyToken","href":"/Mirage/docs/reference/Mirage.SocketLayer/INotifyToken","docId":"reference/Mirage.SocketLayer/INotifyToken"},{"type":"link","label":"IPeer","href":"/Mirage/docs/reference/Mirage.SocketLayer/IPeer","docId":"reference/Mirage.SocketLayer/IPeer"},{"type":"link","label":"IRawConnection","href":"/Mirage/docs/reference/Mirage.SocketLayer/IRawConnection","docId":"reference/Mirage.SocketLayer/IRawConnection"},{"type":"link","label":"ISocket","href":"/Mirage/docs/reference/Mirage.SocketLayer/ISocket","docId":"reference/Mirage.SocketLayer/ISocket"},{"type":"link","label":"ITime","href":"/Mirage/docs/reference/Mirage.SocketLayer/ITime","docId":"reference/Mirage.SocketLayer/ITime"},{"type":"link","label":"Metrics.Frame","href":"/Mirage/docs/reference/Mirage.SocketLayer/Metrics.Frame","docId":"reference/Mirage.SocketLayer/Metrics.Frame"},{"type":"link","label":"Metrics","href":"/Mirage/docs/reference/Mirage.SocketLayer/Metrics","docId":"reference/Mirage.SocketLayer/Metrics"},{"type":"link","label":"NotifyToken","href":"/Mirage/docs/reference/Mirage.SocketLayer/NotifyToken","docId":"reference/Mirage.SocketLayer/NotifyToken"},{"type":"link","label":"PacketType","href":"/Mirage/docs/reference/Mirage.SocketLayer/PacketType","docId":"reference/Mirage.SocketLayer/PacketType"},{"type":"link","label":"Peer","href":"/Mirage/docs/reference/Mirage.SocketLayer/Peer","docId":"reference/Mirage.SocketLayer/Peer"},{"type":"link","label":"Pool<T>.CreateNewItem","href":"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItem","docId":"reference/Mirage.SocketLayer/Pool-1.CreateNewItem"},{"type":"link","label":"Pool<T>.CreateNewItemNoCount","href":"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount","docId":"reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount"},{"type":"link","label":"Pool<T>","href":"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1","docId":"reference/Mirage.SocketLayer/Pool-1"},{"type":"link","label":"PoolMetrics","href":"/Mirage/docs/reference/Mirage.SocketLayer/PoolMetrics","docId":"reference/Mirage.SocketLayer/PoolMetrics"},{"type":"link","label":"RejectReason","href":"/Mirage/docs/reference/Mirage.SocketLayer/RejectReason","docId":"reference/Mirage.SocketLayer/RejectReason"},{"type":"link","label":"ReliableBatch","href":"/Mirage/docs/reference/Mirage.SocketLayer/ReliableBatch","docId":"reference/Mirage.SocketLayer/ReliableBatch"},{"type":"link","label":"RingBuffer<T>","href":"/Mirage/docs/reference/Mirage.SocketLayer/RingBuffer-1","docId":"reference/Mirage.SocketLayer/RingBuffer-1"},{"type":"link","label":"Sequencer","href":"/Mirage/docs/reference/Mirage.SocketLayer/Sequencer","docId":"reference/Mirage.SocketLayer/Sequencer"},{"type":"link","label":"SocketFactory","href":"/Mirage/docs/reference/Mirage.SocketLayer/SocketFactory","docId":"reference/Mirage.SocketLayer/SocketFactory"}],"href":"/Mirage/docs/reference/Mirage.SocketLayer/"},{"type":"category","label":"Mirage.Sockets.Udp","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"EndPointWrapper","href":"/Mirage/docs/reference/Mirage.Sockets.Udp/EndPointWrapper","docId":"reference/Mirage.Sockets.Udp/EndPointWrapper"},{"type":"link","label":"InitUDP","href":"/Mirage/docs/reference/Mirage.Sockets.Udp/InitUDP","docId":"reference/Mirage.Sockets.Udp/InitUDP"},{"type":"link","label":"NanoEndPoint","href":"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoEndPoint","docId":"reference/Mirage.Sockets.Udp/NanoEndPoint"},{"type":"link","label":"NanoSocket","href":"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoSocket","docId":"reference/Mirage.Sockets.Udp/NanoSocket"},{"type":"link","label":"NanoSocketException","href":"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoSocketException","docId":"reference/Mirage.Sockets.Udp/NanoSocketException"},{"type":"link","label":"SocketLib","href":"/Mirage/docs/reference/Mirage.Sockets.Udp/SocketLib","docId":"reference/Mirage.Sockets.Udp/SocketLib"},{"type":"link","label":"UdpMTU","href":"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpMTU","docId":"reference/Mirage.Sockets.Udp/UdpMTU"},{"type":"link","label":"UdpSocket","href":"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpSocket","docId":"reference/Mirage.Sockets.Udp/UdpSocket"},{"type":"link","label":"UdpSocketFactory","href":"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpSocketFactory","docId":"reference/Mirage.Sockets.Udp/UdpSocketFactory"}],"href":"/Mirage/docs/reference/Mirage.Sockets.Udp/"},{"type":"category","label":"Mirage.Visibility","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"AlwaysNetworkVisibility","href":"/Mirage/docs/reference/Mirage.Visibility/AlwaysNetworkVisibility","docId":"reference/Mirage.Visibility/AlwaysNetworkVisibility"}],"href":"/Mirage/docs/reference/Mirage.Visibility/"}]},"docs":{"components/index":{"id":"components/index","title":"Overview","description":"These core components are included in Mirage:","sidebar":"docs"},"components/network-animator":{"id":"components/network-animator","title":"Network Animator","description":"The Network Animator component allows you to synchronize animation states for networked objects. It synchronizes state and parameters from an Animator Controller.","sidebar":"docs"},"components/network-discovery":{"id":"components/network-discovery","title":"Network Discovery","description":"Suppose you are next to a friend. He starts a game in host mode and you want to join him. How will your phone locate his? Finding out his IP address is not exactly intuitive or something kids can do.","sidebar":"docs"},"components/network-identity":{"id":"components/network-identity","title":"Network Identity","description":"See also NetworkIdentity in the API Reference.","sidebar":"docs"},"components/network-log-settings":{"id":"components/network-log-settings","title":"Network Log Settings","description":"See also LogFactory in the API Reference.","sidebar":"docs"},"components/network-manager":{"id":"components/network-manager","title":"Network Manager","description":"NetworkManager is a helper class with instance references to the other major parts of the Mirage network.","sidebar":"docs"},"components/network-manager-hud":{"id":"components/network-manager-hud","title":"Network Manager HUD","description":"The Network Manager HUD (\\"heads-up display\\") is a quick-start tool to help you start building your multiplayer game straight away, without first having to build a user interface for game creation/connection/joining. It allows you to jump straight into your gameplay programming and means you can build your own version of these controls later in your development schedule.","sidebar":"docs"},"components/network-match-checker":{"id":"components/network-match-checker","title":"Network Match Checker","description":"The Network Match Checker component controls the visibility of networked objects based on match id.","sidebar":"docs"},"components/network-ping-display":{"id":"components/network-ping-display","title":"Network Ping Display","description":"Network Ping Display shows the ping time for clients using OnGUI.","sidebar":"docs"},"components/network-proximity-checker":{"id":"components/network-proximity-checker","title":"Network Proximity Checker","description":"The Network Proximity Checker component controls the visibility of game objects for network clients, based on proximity to players.","sidebar":"docs"},"components/network-room-manager":{"id":"components/network-room-manager","title":"Network Room Manager","description":"Please see the Room example in the Examples folder in your Mirage folder","sidebar":"docs"},"components/network-room-player":{"id":"components/network-room-player","title":"Network Room Player","description":"The Network Room Player stores per-player state for the Network Room Manager while in the room. When using this component, you need to write a script that allows players to indicate they are ready to begin playing, which sets the ReadyToBegin property.","sidebar":"docs"},"components/network-scene-checker":{"id":"components/network-scene-checker","title":"Network Scene Checker","description":"The Network Scene Checker component controls the visibility of game objects for network clients, based on which scene they\'re in.","sidebar":"docs"},"components/network-scene-manager":{"id":"components/network-scene-manager","title":"Network Scene Manager","description":"The Network Scene Manager component controls the Unity Scenes running over the network.","sidebar":"docs"},"components/network-start-position":{"id":"components/network-start-position","title":"Network Start Position","description":"To control where players are spawned, you can use the Network Start Position component.","sidebar":"docs"},"components/network-transform":{"id":"components/network-transform","title":"Network Transform","description":"The Network Transform component synchronizes the position, rotation, and scale of networked game objects across the network.","sidebar":"docs"},"components/network-transform-child":{"id":"components/network-transform-child","title":"Network Transform Child","description":"The Network Transform Child component synchronizes the position and rotation of the child game object of a game object with a Network Transform component. You should use this component in situations where you need to synchronize an independently-moving child object with a Networked game object.","sidebar":"docs"},"components/ready-check":{"id":"components/ready-check","title":"Ready Check and Lobby Ready","description":"See the API reference for more details","sidebar":"docs"},"examples/additive-scenes":{"id":"examples/additive-scenes","title":"Additive Scenes Example","description":"IMPORTANT: Make sure you have a layer in project settings called Player for this example to work well.","sidebar":"docs"},"examples/basic":{"id":"examples/basic","title":"Basic","description":"General description of Basic example.","sidebar":"docs"},"examples/change-scene":{"id":"examples/change-scene","title":"ChangeScene","description":"ChangeScene Example","sidebar":"docs"},"examples/chat":{"id":"examples/chat","title":"Chat","description":"Chat Example","sidebar":"docs"},"examples/index":{"id":"examples/index","title":"Samples Overview","description":"Mirage includes several small examples to help you learn how to use various features and how to set things up so they work together.","sidebar":"docs"},"examples/multiple-additive-scenes":{"id":"examples/multiple-additive-scenes","title":"Multiple Additive Scenes Example","description":"In Build Settings, remove all scenes and add both of the scenes from the Scenes folder in the following order:","sidebar":"docs"},"examples/pong":{"id":"examples/pong","title":"Pong","description":"A simple example of \\"How to build a multiplayer game with Mirage\\" is Pong,","sidebar":"docs"},"examples/room":{"id":"examples/room","title":"Room","description":"General description of Room example.","sidebar":"docs"},"examples/tanks":{"id":"examples/tanks","title":"Tanks","description":"General description of Tanks example.","sidebar":"docs"},"general/CHANGELOG":{"id":"general/CHANGELOG","title":"Change Log","description":"Features","sidebar":"docs"},"general/getting-started":{"id":"general/getting-started","title":"Getting Started","description":"This document describes the steps to creating a multiplayer game with Mirage. The process described here is a simplified, higher-level version of the actual process for a real game; it doesn\u2019t always work exactly like this, but it provides a basic recipe for the process.","sidebar":"docs"},"general/overview":{"id":"general/overview","title":"Overview","description":"Mirage is a high-level multiplayer library for Unity games. The goal is to make it as easy as possible to add multiplayer to your game.","sidebar":"docs"},"general/showcase":{"id":"general/showcase","title":"Showcase","description":"- Cubica | Showcase video | The multiplayer version of Block Story","sidebar":"docs"},"general/sockets":{"id":"general/sockets","title":"Sockets","description":"Sockets are low-level objects that are responsible for sending and receiving raw data over the network.","sidebar":"docs"},"general/support":{"id":"general/support","title":"Support","description":"Discord","sidebar":"docs"},"general/troubleshooting":{"id":"general/troubleshooting","title":"Troubleshooting","description":"No Writer found for X","sidebar":"docs"},"guides/about-ids":{"id":"guides/about-ids","title":"About IDs","description":"NetId","sidebar":"docs"},"guides/attributes":{"id":"guides/attributes","title":"Attributes","description":"Networking attributes are added to members of NetworkBehaviour scripts to tell Mirage to do different things.","sidebar":"docs"},"guides/authentication/authenticator-settings":{"id":"guides/authentication/authenticator-settings","title":"Authenticator Settings","description":"Add AuthenticatorSettings to your NetworkManager and assign a reference to NetworkServer and NetworkClient.","sidebar":"docs"},"guides/authentication/basic-authenticator":{"id":"guides/authentication/basic-authenticator","title":"Basic Authenticator","description":"Mirage includes a Basic Authenticator in the Mirage/Authenticators folder, which provides a simple authentication mechanism using a server code.","sidebar":"docs"},"guides/authentication/custom-authenticator":{"id":"guides/authentication/custom-authenticator","title":"Custom Authenticator","description":"To create a custom Authenticator, follow these steps:","sidebar":"docs"},"guides/authentication/index":{"id":"guides/authentication/index","title":"Authentication","description":"Authentication is the process of verifying the validity and identity of a user. It allows you to control who can join your game and enables features like saving stats and communicating with friends. Mirage supports authentication through various common methods, which can be implemented using a custom authenticator. Some examples include:","sidebar":"docs"},"guides/authentication/session-id":{"id":"guides/authentication/session-id","title":"Session Id Authenticator","description":"Session Id Authenticator is a built in Authenticator that will allow clients to reconnect to a server without requiring them to fully authenticate again.","sidebar":"docs"},"guides/authority":{"id":"guides/authority","title":"Network Authority","description":"Authority is a way of deciding who owns an object and has control over it.","sidebar":"docs"},"guides/best-practices":{"id":"guides/best-practices","title":"Best Practices","description":"This page is a work in progress","sidebar":"docs"},"guides/bit-packing/bit-count":{"id":"guides/bit-packing/bit-count","title":"Bit Count","description":"The bit count of Integer based fields can be set using the BitCountAttribute.","sidebar":"docs"},"guides/bit-packing/bit-count-from-range":{"id":"guides/bit-packing/bit-count-from-range","title":"Bit Count From Range","description":"The bit count of Integer based fields can be set using BitCountFromRangeAttribute It will use the given range to calculate the required bit count. This works in a similar way to BitCount","sidebar":"docs"},"guides/bit-packing/float-pack":{"id":"guides/bit-packing/float-pack","title":"Float Pack","description":"A float value can be compressed using FloatPackAttribute","sidebar":"docs"},"guides/bit-packing/index":{"id":"guides/bit-packing/index","title":"Bit Packing","description":"Bit packing is a form of data compression that reduces the number of bits it takes to serialize a value.","sidebar":"docs"},"guides/bit-packing/quaternion-pack":{"id":"guides/bit-packing/quaternion-pack","title":"Quaternion Pack","description":"This page is a work in progress","sidebar":"docs"},"guides/bit-packing/var-int":{"id":"guides/bit-packing/var-int","title":"Variable Sized Integer","description":"This page is a work in progress","sidebar":"docs"},"guides/bit-packing/var-int-blocks":{"id":"guides/bit-packing/var-int-blocks","title":"Variable Sized Integer Blocks","description":"This page is a work in progress","sidebar":"docs"},"guides/bit-packing/vector-pack":{"id":"guides/bit-packing/vector-pack","title":"Vector Pack","description":"A Vector2 or Vector3 can be compressed using Vector2PackAttribute or Vector3PackAttribute","sidebar":"docs"},"guides/bit-packing/zig-zag-encode":{"id":"guides/bit-packing/zig-zag-encode","title":"ZigZag Encode","description":"To encode a value using ZigZag Encoding you can use the ZigZagEncodeAttribute","sidebar":"docs"},"guides/callbacks/index":{"id":"guides/callbacks/index","title":"Callbacks Overview","description":"When you are making a multiplayer game, In addition to synchronizing the properties of networked game objects, you are likely to need to send, receive, and react to other pieces of information - such as when the match starts, when a player joins, or leaves the match, or other information specific to your type of game, for example, a notification to all players that a flag has been captured in a \u201ccapture-the-flag\u201d style game.","sidebar":"docs"},"guides/callbacks/network-behaviour":{"id":"guides/callbacks/network-behaviour","title":"Network Behaviour","description":"See also NetworkBehaviour in the API Reference.","sidebar":"docs"},"guides/callbacks/network-manager":{"id":"guides/callbacks/network-manager","title":"Network Manager","description":"See also NetworkManager in the API Reference.","sidebar":"docs"},"guides/clock-sync":{"id":"guides/clock-sync","title":"Clock Synchronization","description":"For many features, you need the clock to be synchronized between the client and the server. Mirage does that automatically for you.","sidebar":"docs"},"guides/community-guides/index":{"id":"guides/community-guides/index","title":"Community Guides","description":"This section contains guides written by the community rather than by the developers themselves","sidebar":"docs"},"guides/community-guides/mirage-quick-start-guide":{"id":"guides/community-guides/mirage-quick-start-guide","title":"Mirage Quick Start Guide V0.1","description":"This guide covers the following topics:","sidebar":"docs"},"guides/development-servers/aws":{"id":"guides/development-servers/aws","title":"Amazon Web Services (AWS)","description":"During this section, we will focus on using a Windows instance and connecting from a Windows computer.","sidebar":"docs"},"guides/development-servers/google-cloud":{"id":"guides/development-servers/google-cloud","title":"Google Cloud Services","description":"This guide will explain how to set up a Linux server running on Google Cloud.","sidebar":"docs"},"guides/development-servers/index":{"id":"guides/development-servers/index","title":"Overview","description":"During this guide, we will set up a dedicated server and place the server build of our project on the dedicated server.","sidebar":"docs"},"guides/faq":{"id":"guides/faq","title":"FAQ","description":"This page is a work in progress","sidebar":"docs"},"guides/game-objects/index":{"id":"guides/game-objects/index","title":"Networked Game Objects","description":"Networked game objects are game objects which are controlled and synchronized by Mirage\u2019s networking system. Using synchronized networked game objects, you can create a shared experience for all the players who are playing an instance of your game. They see and hear the same events and actions - even though that may be from their own unique viewpoints within your game.","sidebar":"docs"},"guides/game-objects/lifecycle":{"id":"guides/game-objects/lifecycle","title":"Lifecycle","description":"Networked GameObjects go through several lifecycle states.","sidebar":"docs"},"guides/game-objects/network-behaviour":{"id":"guides/game-objects/network-behaviour","title":"Network Behaviour","description":"See also NetworkBehaviour in the API Reference.","sidebar":"docs"},"guides/game-objects/pickup-drop-child":{"id":"guides/game-objects/pickup-drop-child","title":"Pickups, Drops, and Child Objects","description":"Frequently the question comes up about how to handle objects that are attached as children of the player prefab that all clients need to know about and synchronize, such as which weapon is equipped, picking up networked scene objects, and players dropping objects into the scene.","sidebar":"docs"},"guides/game-objects/scene-objects":{"id":"guides/game-objects/scene-objects","title":"Scene Objects","description":"There are two types of networked game objects in Mirage\u2019s multiplayer system:","sidebar":"docs"},"guides/game-objects/spawn-object":{"id":"guides/game-objects/spawn-object","title":"Spawn Object","description":"In Unity, you usually \u201cspawn\u201d (that is, create) new game objects with Instantiate. However, in Mirage, the word \u201cspawn\u201d means something more specific. In the server-authoritative model of the Mirage, to \u201cspawn\u201d a game object on the server means that the game object is created on clients connected to the server, and is managed by the spawning system.","sidebar":"docs"},"guides/game-objects/spawn-object-custom":{"id":"guides/game-objects/spawn-object-custom","title":"Spawn Object - Custom","description":"You can use spawn handler functions to customize the default behavior when creating spawned game objects on the client. Spawn handler functions ensure you have full control of how you spawn the game object, as well as how you destroy it.","sidebar":"docs"},"guides/game-objects/spawn-object-pooling":{"id":"guides/game-objects/spawn-object-pooling","title":"Spawn Object - Pooling","description":"Setting Up a Game Object Pool with Custom Spawn Handlers","sidebar":"docs"},"guides/game-objects/spawn-player":{"id":"guides/game-objects/spawn-player","title":"Spawn Player","description":"Mirage\u2019s multiplayer HLAPI system handles player game objects differently than non-player game objects. When a new player joins the game (when a new client connects to the server), that player\u2019s game object becomes a \\"local player\\" game object on the client of that player, and Unity associates the player\u2019s connection with the player\u2019s game object. Unity associates one player game object for each person playing the game, and routes networking Server RPC Calls to that individual game object. A player cannot invoke a Server RPC Call on another player\u2019s game object, only their own.","sidebar":"docs"},"guides/game-objects/spawn-player-custom":{"id":"guides/game-objects/spawn-player-custom","title":"Spawn Player - Custom","description":"Full scripts for this page can be found in the SpawnCustomPlayer sample in the package manager or on GitHub","sidebar":"docs"},"guides/mirror-migration":{"id":"guides/mirror-migration","title":"Mirror Migration Guide","description":"This is a simple guide describing how to convert your Mirror project to Mirage.","sidebar":"docs"},"guides/network-visibility":{"id":"guides/network-visibility","title":"Network Visibility","description":"Multiplayer games use the concept of network visibility to determine which players can see which game objects at any given time during gameplay. In a game that has a moving viewpoint and moving game objects, it\u2019s common that players cannot see everything that is happening in the game at once.","sidebar":"docs"},"guides/overview":{"id":"guides/overview","title":"Networking Concepts Overview","description":"High-level scripting API","sidebar":"docs"},"guides/remote-actions/client-rpc":{"id":"guides/remote-actions/client-rpc","title":"Client RPC","description":"ClientRpcs are sent from NetworkBehaviours on the server to Behaviours on the client. They can be sent from any NetworkBehaviour that has been spawned.","sidebar":"docs"},"guides/remote-actions/index":{"id":"guides/remote-actions/index","title":"Overview","description":"To invoke code across the network you can use RPC (remote procedure call) and messages.","sidebar":"docs"},"guides/remote-actions/network-messages":{"id":"guides/remote-actions/network-messages","title":"Network Messages","description":"For the most part, we recommend the high-level ServerRpc/ClientRpc calls and SyncVar, but you can also send low-level network messages. This can be useful if you want clients to send messages that are not tied to game objects, such as logging, analytics, or profiling information.","sidebar":"docs"},"guides/remote-actions/rpc-examples":{"id":"guides/remote-actions/rpc-examples","title":"RPC Examples","description":"Examples of RPC and generated code.","sidebar":"docs"},"guides/remote-actions/server-rpc":{"id":"guides/remote-actions/server-rpc","title":"Server RPC","description":"Server RPC Calls are sent from character objects on the client to character objects on the server. For security, Server RPC Calls can only be sent from YOUR character object by default, so you cannot control the objects of other players. You can bypass the authority check using [ServerRpc(requireAuthority = false)].","sidebar":"docs"},"guides/resources":{"id":"guides/resources","title":"Resources","description":"This page is a work in progress","sidebar":"docs"},"guides/scene-loading/index":{"id":"guides/scene-loading/index","title":"Loading scenes in Mirage","description":"Use NetworkSceneManager to help load scenes and sync them between server and client.","sidebar":"docs"},"guides/scene-loading/manual-scene-loading":{"id":"guides/scene-loading/manual-scene-loading","title":"Manual Scene Loading","description":"If NetworkSceneManager doesn\'t work for your case you can control everything yourself.","sidebar":"docs"},"guides/scene-loading/network-scene-manager":{"id":"guides/scene-loading/network-scene-manager","title":"Network Scene Manager","description":"NetworkSceneManager contains methods and logic to help keep the scene in sync between server and client.","sidebar":"docs"},"guides/serialization/advanced":{"id":"guides/serialization/advanced","title":"Advanced Serialization","description":"This page goes into depth about Serialization, for the basics see Data Types.","sidebar":"docs"},"guides/serialization/data-types":{"id":"guides/serialization/data-types","title":"Data Types","description":"The client and server can pass data to each other via RPC Methods, State Synchronization, or Network Messages.","sidebar":"docs"},"guides/serialization/generics":{"id":"guides/serialization/generics","title":"Generics","description":"Mirage supports generic types for SyncVar, Rpcs, and fields in NetworkMessages.","sidebar":"docs"},"guides/serialization/index":{"id":"guides/serialization/index","title":"Serialization","description":"This section of the Mirage documentation covers different aspects of how data is serialized, including the types of data that Mirage supports, advanced serialization techniques, the use of generics, and the SyncPrefab struct for synchronizing prefabs over the network.","sidebar":"docs"},"guides/serialization/sync-prefab":{"id":"guides/serialization/sync-prefab","title":"SyncPrefab","description":"Overview","sidebar":"docs"},"guides/sync/code-generation":{"id":"guides/sync/code-generation","title":"Code Generation","description":"So for this script:","sidebar":"docs"},"guides/sync/custom-serialization":{"id":"guides/sync/custom-serialization","title":"Advanced Synchronization","description":"In most cases, the use of SyncVars is enough for your game scripts to serialize their state to clients. However, in some cases, you might require more complex serialization code. This page is only relevant for advanced developers who need customized synchronization solutions that go beyond Mirage\u2019s normal SyncVar feature.","sidebar":"docs"},"guides/sync/index":{"id":"guides/sync/index","title":"State Synchronization","description":"State synchronization refers to the synchronization of values such as integers, floating point numbers, strings, and boolean values belonging to scripts.","sidebar":"docs"},"guides/sync/serialization-flow":{"id":"guides/sync/serialization-flow","title":"serialization-flow","description":"Serialization Flow","sidebar":"docs"},"guides/sync/sync-objects/sync-dictionary":{"id":"guides/sync/sync-objects/sync-dictionary","title":"Sync Dictionary","description":"SyncDictionary is an associative array containing an unordered list of key, value pairs. Keys and values can be any of Mirage supported types.","sidebar":"docs"},"guides/sync/sync-objects/sync-hash-set":{"id":"guides/sync/sync-objects/sync-hash-set","title":"Sync Hash Set","description":"SyncHashSet is a set similar to C\\\\# HashSet that synchronizes its contents from the server to the clients.","sidebar":"docs"},"guides/sync/sync-objects/sync-list":{"id":"guides/sync/sync-objects/sync-list","title":"Sync List","description":"SyncList is an array-based list similar to C\\\\# List that synchronizes its contents from the server to the clients.","sidebar":"docs"},"guides/sync/sync-objects/sync-sorted-set":{"id":"guides/sync/sync-objects/sync-sorted-set","title":"Sync Sorted Set","description":"SyncSortedSet is a set similar to C\\\\# SortedSet that synchronizes its contents from the server to the clients.","sidebar":"docs"},"guides/sync/sync-settings":{"id":"guides/sync/sync-settings","title":"Sync Settings","description":"The Sync Settings can be found in each NetworkBehaviour component. It is only visible in the inspector when there are either SyncVar, SyncObject, or if OnSerialize is overridden. These settings allow you to configure how and when data is synchronized across the network.","sidebar":"docs"},"guides/sync/sync-var":{"id":"guides/sync/sync-var","title":"Sync Var","description":"SyncVars are properties of classes that inherit from NetworkBehaviour, which are synchronized from the server to clients. When a game object is spawned, or a new player joins a game in progress, they are sent the latest state of all SyncVars on networked objects that are visible to them. Use the [SyncVar] custom attribute to specify which variables in your script you want to synchronize.","sidebar":"docs"},"guides/sync/sync-var-hooks":{"id":"guides/sync/sync-var-hooks","title":"Sync Var Hooks","description":"SyncVar can have hooks that are invoked when the values changes.","sidebar":"docs"},"reference/Mirage.Authentication/AuthenticationResult":{"id":"reference/Mirage.Authentication/AuthenticationResult","title":"AuthenticationResult","description":"Result from Authentication, Use static methods to create new instance","sidebar":"api"},"reference/Mirage.Authentication/AuthenticatorSettings":{"id":"reference/Mirage.Authentication/AuthenticatorSettings","title":"AuthenticatorSettings","description":"Inheritance","sidebar":"api"},"reference/Mirage.Authentication/AuthMessage":{"id":"reference/Mirage.Authentication/AuthMessage","title":"AuthMessage","description":"Wrapper message around auth message sent by a","sidebar":"api"},"reference/Mirage.Authentication/AuthSuccessMessage":{"id":"reference/Mirage.Authentication/AuthSuccessMessage","title":"AuthSuccessMessage","description":"Syntax","sidebar":"api"},"reference/Mirage.Authentication/IAuthenticationDataWrapper":{"id":"reference/Mirage.Authentication/IAuthenticationDataWrapper","title":"IAuthenticationDataWrapper","description":"Auth data might be a wrapper around another Authenticator's data.","sidebar":"api"},"reference/Mirage.Authentication/INetworkAuthenticator":{"id":"reference/Mirage.Authentication/INetworkAuthenticator","title":"INetworkAuthenticator","description":"Syntax","sidebar":"api"},"reference/Mirage.Authentication/Mirage.Authentication":{"id":"reference/Mirage.Authentication/Mirage.Authentication","title":"Mirage.Authentication","description":"Classes","sidebar":"api"},"reference/Mirage.Authentication/NetworkAuthenticator":{"id":"reference/Mirage.Authentication/NetworkAuthenticator","title":"NetworkAuthenticator","description":"Inheritance","sidebar":"api"},"reference/Mirage.Authentication/NetworkAuthenticator-1":{"id":"reference/Mirage.Authentication/NetworkAuthenticator-1","title":"NetworkAuthenticator<T>","description":"Inheritance","sidebar":"api"},"reference/Mirage.Authentication/PlayerAuthentication":{"id":"reference/Mirage.Authentication/PlayerAuthentication","title":"PlayerAuthentication","description":"Inheritance","sidebar":"api"},"reference/Mirage.Authenticators.SessionId/ClientSession":{"id":"reference/Mirage.Authenticators.SessionId/ClientSession","title":"ClientSession","description":"Inheritance","sidebar":"api"},"reference/Mirage.Authenticators.SessionId/CreateSession":{"id":"reference/Mirage.Authenticators.SessionId/CreateSession","title":"CreateSession","description":"Creates a session to be used by","sidebar":"api"},"reference/Mirage.Authenticators.SessionId/ISessionIdStore":{"id":"reference/Mirage.Authenticators.SessionId/ISessionIdStore","title":"ISessionIdStore","description":"Syntax","sidebar":"api"},"reference/Mirage.Authenticators.SessionId/Mirage.Authenticators.SessionId":{"id":"reference/Mirage.Authenticators.SessionId/Mirage.Authenticators.SessionId","title":"Mirage.Authenticators.SessionId","description":"Classes","sidebar":"api"},"reference/Mirage.Authenticators.SessionId/RequestSessionMessage":{"id":"reference/Mirage.Authenticators.SessionId/RequestSessionMessage","title":"RequestSessionMessage","description":"Syntax","sidebar":"api"},"reference/Mirage.Authenticators.SessionId/SessionData":{"id":"reference/Mirage.Authenticators.SessionId/SessionData","title":"SessionData","description":"Inheritance","sidebar":"api"},"reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator":{"id":"reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator","title":"SessionIdAuthenticator","description":"Inheritance","sidebar":"api"},"reference/Mirage.Authenticators.SessionId/SessionKeyMessage":{"id":"reference/Mirage.Authenticators.SessionId/SessionKeyMessage","title":"SessionKeyMessage","description":"Syntax","sidebar":"api"},"reference/Mirage.Authenticators/BasicAuthenticator":{"id":"reference/Mirage.Authenticators/BasicAuthenticator","title":"BasicAuthenticator","description":"Inheritance","sidebar":"api"},"reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage":{"id":"reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage","title":"BasicAuthenticator.JoinMessage","description":"Syntax","sidebar":"api"},"reference/Mirage.Authenticators/Mirage.Authenticators":{"id":"reference/Mirage.Authenticators/Mirage.Authenticators","title":"Mirage.Authenticators","description":"Classes","sidebar":"api"},"reference/Mirage.Collections/ISyncObject":{"id":"reference/Mirage.Collections/ISyncObject","title":"ISyncObject","description":"A sync object is an object that can synchronize it's state","sidebar":"api"},"reference/Mirage.Collections/Mirage.Collections":{"id":"reference/Mirage.Collections/Mirage.Collections","title":"Mirage.Collections","description":"Classes","sidebar":"api"},"reference/Mirage.Collections/SyncDictionary-2":{"id":"reference/Mirage.Collections/SyncDictionary-2","title":"SyncDictionary<TKey, TValue>","description":"Inheritance","sidebar":"api"},"reference/Mirage.Collections/SyncHashSet-1":{"id":"reference/Mirage.Collections/SyncHashSet-1","title":"SyncHashSet<T>","description":"Inheritance","sidebar":"api"},"reference/Mirage.Collections/SyncIDictionary-2":{"id":"reference/Mirage.Collections/SyncIDictionary-2","title":"SyncIDictionary<TKey, TValue>","description":"Inheritance","sidebar":"api"},"reference/Mirage.Collections/SyncList-1":{"id":"reference/Mirage.Collections/SyncList-1","title":"SyncList<T>","description":"Inheritance","sidebar":"api"},"reference/Mirage.Collections/SyncList-1.Enumerator":{"id":"reference/Mirage.Collections/SyncList-1.Enumerator","title":"SyncList<T>.Enumerator","description":"Syntax","sidebar":"api"},"reference/Mirage.Collections/SyncObjectUtils":{"id":"reference/Mirage.Collections/SyncObjectUtils","title":"SyncObjectUtils","description":"Inheritance","sidebar":"api"},"reference/Mirage.Collections/SyncSet-1":{"id":"reference/Mirage.Collections/SyncSet-1","title":"SyncSet<T>","description":"Inheritance","sidebar":"api"},"reference/Mirage.Collections/SyncSortedSet-1":{"id":"reference/Mirage.Collections/SyncSortedSet-1","title":"SyncSortedSet<T>","description":"Inheritance","sidebar":"api"},"reference/Mirage.Collections/SyncStack-1":{"id":"reference/Mirage.Collections/SyncStack-1","title":"SyncStack<T>","description":"Inheritance","sidebar":"api"},"reference/Mirage.Components/LobbyReady":{"id":"reference/Mirage.Components/LobbyReady","title":"LobbyReady","description":"Inheritance","sidebar":"api"},"reference/Mirage.Components/Mirage.Components":{"id":"reference/Mirage.Components/Mirage.Components","title":"Mirage.Components","description":"Classes","sidebar":"api"},"reference/Mirage.Components/ReadyCheck":{"id":"reference/Mirage.Components/ReadyCheck","title":"ReadyCheck","description":"Simple component to track if a player is ready in a lobby","sidebar":"api"},"reference/Mirage.Components/SyncObjectActive":{"id":"reference/Mirage.Components/SyncObjectActive","title":"SyncObjectActive","description":"Inheritance","sidebar":"api"},"reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui":{"id":"reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui","title":"DisplayMetricsAverageGui","description":"This is an example of how to show metrics, It only shows some of the values inside","sidebar":"api"},"reference/Mirage.DisplayMetrics/Mirage.DisplayMetrics":{"id":"reference/Mirage.DisplayMetrics/Mirage.DisplayMetrics","title":"Mirage.DisplayMetrics","description":"Classes","sidebar":"api"},"reference/Mirage.DisplayMetrics/RequestServerMetrics":{"id":"reference/Mirage.DisplayMetrics/RequestServerMetrics","title":"RequestServerMetrics","description":"Inheritance","sidebar":"api"},"reference/Mirage.DisplayMetrics/SetDisplayMetrics":{"id":"reference/Mirage.DisplayMetrics/SetDisplayMetrics","title":"SetDisplayMetrics","description":"Inheritance","sidebar":"api"},"reference/Mirage.Events/AddLateEvent":{"id":"reference/Mirage.Events/AddLateEvent","title":"AddLateEvent","description":"An event that will invoke handlers immediately if they are added after has been called","sidebar":"api"},"reference/Mirage.Events/AddLateEvent-1":{"id":"reference/Mirage.Events/AddLateEvent-1","title":"AddLateEvent<T0>","description":"Version of with 1 argument","sidebar":"api"},"reference/Mirage.Events/AddLateEvent-2":{"id":"reference/Mirage.Events/AddLateEvent-2","title":"AddLateEvent<T0, T1>","description":"Version of with 2 arguments","sidebar":"api"},"reference/Mirage.Events/AddLateEventBase":{"id":"reference/Mirage.Events/AddLateEventBase","title":"AddLateEventBase","description":"Inheritance","sidebar":"api"},"reference/Mirage.Events/AddLateEventUnity":{"id":"reference/Mirage.Events/AddLateEventUnity","title":"AddLateEventUnity","description":"An event that will invoke handlers immediately if they are added after has been called","sidebar":"api"},"reference/Mirage.Events/AddLateEventUnity-2":{"id":"reference/Mirage.Events/AddLateEventUnity-2","title":"AddLateEventUnity<T0, TEvent>","description":"Version of with 1 argument","sidebar":"api"},"reference/Mirage.Events/AddLateEventUnity-3":{"id":"reference/Mirage.Events/AddLateEventUnity-3","title":"AddLateEventUnity<T0, T1, TEvent>","description":"Version of with 2 arguments","sidebar":"api"},"reference/Mirage.Events/BoolAddLateEvent":{"id":"reference/Mirage.Events/BoolAddLateEvent","title":"BoolAddLateEvent","description":"Inheritance","sidebar":"api"},"reference/Mirage.Events/BoolUnityEvent":{"id":"reference/Mirage.Events/BoolUnityEvent","title":"BoolUnityEvent","description":"Inheritance","sidebar":"api"},"reference/Mirage.Events/DisconnectAddLateEvent":{"id":"reference/Mirage.Events/DisconnectAddLateEvent","title":"DisconnectAddLateEvent","description":"Event fires from a when it fails to connect to the server","sidebar":"api"},"reference/Mirage.Events/DisconnectEvent":{"id":"reference/Mirage.Events/DisconnectEvent","title":"DisconnectEvent","description":"Inheritance","sidebar":"api"},"reference/Mirage.Events/IAddLateEvent":{"id":"reference/Mirage.Events/IAddLateEvent","title":"IAddLateEvent","description":"Event that can only run once, adding handler late will it invoke right away","sidebar":"api"},"reference/Mirage.Events/IAddLateEvent-1":{"id":"reference/Mirage.Events/IAddLateEvent-1","title":"IAddLateEvent<T0>","description":"Version of with 1 argument","sidebar":"api"},"reference/Mirage.Events/IAddLateEvent-2":{"id":"reference/Mirage.Events/IAddLateEvent-2","title":"IAddLateEvent<T0, T1>","description":"Version of with 2 arguments","sidebar":"api"},"reference/Mirage.Events/IAddLateEventUnity":{"id":"reference/Mirage.Events/IAddLateEventUnity","title":"IAddLateEventUnity","description":"Event that can only run once, adding handler late will it invoke right away","sidebar":"api"},"reference/Mirage.Events/IAddLateEventUnity-1":{"id":"reference/Mirage.Events/IAddLateEventUnity-1","title":"IAddLateEventUnity<T0>","description":"Version of with 1 argument","sidebar":"api"},"reference/Mirage.Events/IAddLateEventUnity-2":{"id":"reference/Mirage.Events/IAddLateEventUnity-2","title":"IAddLateEventUnity<T0, T1>","description":"Version of with 2 arguments","sidebar":"api"},"reference/Mirage.Events/Mirage.Events":{"id":"reference/Mirage.Events/Mirage.Events","title":"Mirage.Events","description":"Classes","sidebar":"api"},"reference/Mirage.Events/NetworkPlayerAddLateEvent":{"id":"reference/Mirage.Events/NetworkPlayerAddLateEvent","title":"NetworkPlayerAddLateEvent","description":"Event fires from a or during a new connection, a new authentication, or a disconnection.","sidebar":"api"},"reference/Mirage.Events/NetworkPlayerEvent":{"id":"reference/Mirage.Events/NetworkPlayerEvent","title":"NetworkPlayerEvent","description":"Inheritance","sidebar":"api"},"reference/Mirage.Logging/ILoggerExtensions":{"id":"reference/Mirage.Logging/ILoggerExtensions","title":"ILoggerExtensions","description":"Inheritance","sidebar":"api"},"reference/Mirage.Logging/LogFactory":{"id":"reference/Mirage.Logging/LogFactory","title":"LogFactory","description":"Inheritance","sidebar":"api"},"reference/Mirage.Logging/LogSettings":{"id":"reference/Mirage.Logging/LogSettings","title":"LogSettings","description":"Used to load LogSettings in build","sidebar":"api"},"reference/Mirage.Logging/LogSettingsExtensions":{"id":"reference/Mirage.Logging/LogSettingsExtensions","title":"LogSettingsExtensions","description":"Inheritance","sidebar":"api"},"reference/Mirage.Logging/LogSettingsSO":{"id":"reference/Mirage.Logging/LogSettingsSO","title":"LogSettingsSO","description":"Inheritance","sidebar":"api"},"reference/Mirage.Logging/LogSettingsSO.LoggerSettings":{"id":"reference/Mirage.Logging/LogSettingsSO.LoggerSettings","title":"LogSettingsSO.LoggerSettings","description":"Inheritance","sidebar":"api"},"reference/Mirage.Logging/Mirage.Logging":{"id":"reference/Mirage.Logging/Mirage.Logging","title":"Mirage.Logging","description":"Classes","sidebar":"api"},"reference/Mirage.Logging/MirageLogHandler":{"id":"reference/Mirage.Logging/MirageLogHandler","title":"MirageLogHandler","description":"Log handler that adds prefixes to logging","sidebar":"api"},"reference/Mirage.Logging/MirageLogHandler.Settings":{"id":"reference/Mirage.Logging/MirageLogHandler.Settings","title":"MirageLogHandler.Settings","description":"Inheritance","sidebar":"api"},"reference/Mirage.Logging/MirageLogHandler.TimePrefix":{"id":"reference/Mirage.Logging/MirageLogHandler.TimePrefix","title":"MirageLogHandler.TimePrefix","description":"Syntax","sidebar":"api"},"reference/Mirage.RemoteCalls/ClientRpcSender":{"id":"reference/Mirage.RemoteCalls/ClientRpcSender","title":"ClientRpcSender","description":"Inheritance","sidebar":"api"},"reference/Mirage.RemoteCalls/Mirage.RemoteCalls":{"id":"reference/Mirage.RemoteCalls/Mirage.RemoteCalls","title":"Mirage.RemoteCalls","description":"Classes","sidebar":"api"},"reference/Mirage.RemoteCalls/RemoteCall":{"id":"reference/Mirage.RemoteCalls/RemoteCall","title":"RemoteCall","description":"Used for invoking a RPC methods","sidebar":"api"},"reference/Mirage.RemoteCalls/RemoteCallCollection":{"id":"reference/Mirage.RemoteCalls/RemoteCallCollection","title":"RemoteCallCollection","description":"Inheritance","sidebar":"api"},"reference/Mirage.RemoteCalls/RequestDelegate-1":{"id":"reference/Mirage.RemoteCalls/RequestDelegate-1","title":"RequestDelegate<T>","description":"Syntax","sidebar":"api"},"reference/Mirage.RemoteCalls/RpcDelegate":{"id":"reference/Mirage.RemoteCalls/RpcDelegate","title":"RpcDelegate","description":"Delegate for ServerRpc functions.","sidebar":"api"},"reference/Mirage.RemoteCalls/RpcInvokeType":{"id":"reference/Mirage.RemoteCalls/RpcInvokeType","title":"RpcInvokeType","description":"Syntax","sidebar":"api"},"reference/Mirage.RemoteCalls/RpcMessage":{"id":"reference/Mirage.RemoteCalls/RpcMessage","title":"RpcMessage","description":"Syntax","sidebar":"api"},"reference/Mirage.RemoteCalls/RpcReply":{"id":"reference/Mirage.RemoteCalls/RpcReply","title":"RpcReply","description":"Syntax","sidebar":"api"},"reference/Mirage.RemoteCalls/RpcWithReplyMessage":{"id":"reference/Mirage.RemoteCalls/RpcWithReplyMessage","title":"RpcWithReplyMessage","description":"Syntax","sidebar":"api"},"reference/Mirage.RemoteCalls/ServerRpcSender":{"id":"reference/Mirage.RemoteCalls/ServerRpcSender","title":"ServerRpcSender","description":"Methods used by weaver to send RPCs","sidebar":"api"},"reference/Mirage.Serialization/AnglePacker":{"id":"reference/Mirage.Serialization/AnglePacker","title":"AnglePacker","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/BitCountAttribute":{"id":"reference/Mirage.Serialization/BitCountAttribute","title":"BitCountAttribute","description":"Tells weaver how many bits to sue for field","sidebar":"api"},"reference/Mirage.Serialization/BitCountFromRangeAttribute":{"id":"reference/Mirage.Serialization/BitCountFromRangeAttribute","title":"BitCountFromRangeAttribute","description":"Calculates bitcount from then given min/max values and then packs using","sidebar":"api"},"reference/Mirage.Serialization/BitHelper":{"id":"reference/Mirage.Serialization/BitHelper","title":"BitHelper","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/BitMask":{"id":"reference/Mirage.Serialization/BitMask","title":"BitMask","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/CollectionExtensions":{"id":"reference/Mirage.Serialization/CollectionExtensions","title":"CollectionExtensions","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/CompressedExtensions":{"id":"reference/Mirage.Serialization/CompressedExtensions","title":"CompressedExtensions","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/FloatPackAttribute":{"id":"reference/Mirage.Serialization/FloatPackAttribute","title":"FloatPackAttribute","description":"Packs a float field, clamped from -max to +max, with","sidebar":"api"},"reference/Mirage.Serialization/FloatPacker":{"id":"reference/Mirage.Serialization/FloatPacker","title":"FloatPacker","description":"Helps compresses a float into a reduced number of bits","sidebar":"api"},"reference/Mirage.Serialization/FromBitCount":{"id":"reference/Mirage.Serialization/FromBitCount","title":"FromBitCount","description":"The max value for N number of bits","sidebar":"api"},"reference/Mirage.Serialization/GenericTypesSerializationExtensions":{"id":"reference/Mirage.Serialization/GenericTypesSerializationExtensions","title":"GenericTypesSerializationExtensions","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/MessageIdCache-1":{"id":"reference/Mirage.Serialization/MessageIdCache-1","title":"MessageIdCache<T>","description":"Class that will cache the ID for type T","sidebar":"api"},"reference/Mirage.Serialization/MessagePacker":{"id":"reference/Mirage.Serialization/MessagePacker","title":"MessagePacker","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/Mirage.Serialization":{"id":"reference/Mirage.Serialization/Mirage.Serialization","title":"Mirage.Serialization","description":"Classes","sidebar":"api"},"reference/Mirage.Serialization/MirageNetworkReader":{"id":"reference/Mirage.Serialization/MirageNetworkReader","title":"MirageNetworkReader","description":"NetworkReader but has a ObjectLocator field that can be used by Reader functions to fetch NetworkIdentity","sidebar":"api"},"reference/Mirage.Serialization/MirageTypesExtensions":{"id":"reference/Mirage.Serialization/MirageTypesExtensions","title":"MirageTypesExtensions","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/NetworkReader":{"id":"reference/Mirage.Serialization/NetworkReader","title":"NetworkReader","description":"Bit writer, writes values to a buffer on a bit level","sidebar":"api"},"reference/Mirage.Serialization/NetworkReaderPool":{"id":"reference/Mirage.Serialization/NetworkReaderPool","title":"NetworkReaderPool","description":"Holds static reference to of","sidebar":"api"},"reference/Mirage.Serialization/NetworkWriter":{"id":"reference/Mirage.Serialization/NetworkWriter","title":"NetworkWriter","description":"Bit writer, writes values to a buffer on a bit level","sidebar":"api"},"reference/Mirage.Serialization/NetworkWriterPool":{"id":"reference/Mirage.Serialization/NetworkWriterPool","title":"NetworkWriterPool","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/PackedExtensions":{"id":"reference/Mirage.Serialization/PackedExtensions","title":"PackedExtensions","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/PooledNetworkReader":{"id":"reference/Mirage.Serialization/PooledNetworkReader","title":"PooledNetworkReader","description":"NetworkReader to be used with","sidebar":"api"},"reference/Mirage.Serialization/PooledNetworkWriter":{"id":"reference/Mirage.Serialization/PooledNetworkWriter","title":"PooledNetworkWriter","description":"NetworkWriter to be used with","sidebar":"api"},"reference/Mirage.Serialization/QuaternionPackAttribute":{"id":"reference/Mirage.Serialization/QuaternionPackAttribute","title":"QuaternionPackAttribute","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/QuaternionPacker":{"id":"reference/Mirage.Serialization/QuaternionPacker","title":"QuaternionPacker","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/Reader-1":{"id":"reference/Mirage.Serialization/Reader-1","title":"Reader<T>","description":"a class that holds readers for the different types","sidebar":"api"},"reference/Mirage.Serialization/StringExtensions":{"id":"reference/Mirage.Serialization/StringExtensions","title":"StringExtensions","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/SystemTypesExtensions":{"id":"reference/Mirage.Serialization/SystemTypesExtensions","title":"SystemTypesExtensions","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/UnityTypesExtensions":{"id":"reference/Mirage.Serialization/UnityTypesExtensions","title":"UnityTypesExtensions","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/VarDoublePacker":{"id":"reference/Mirage.Serialization/VarDoublePacker","title":"VarDoublePacker","description":"Packs a double using and","sidebar":"api"},"reference/Mirage.Serialization/VarFloatPacker":{"id":"reference/Mirage.Serialization/VarFloatPacker","title":"VarFloatPacker","description":"Packs a float using and","sidebar":"api"},"reference/Mirage.Serialization/VarIntAttribute":{"id":"reference/Mirage.Serialization/VarIntAttribute","title":"VarIntAttribute","description":"Tells weaver the max range for small, medium and large values.","sidebar":"api"},"reference/Mirage.Serialization/VarIntBlocksAttribute":{"id":"reference/Mirage.Serialization/VarIntBlocksAttribute","title":"VarIntBlocksAttribute","description":"Tells weaver the block size to use for packing int values","sidebar":"api"},"reference/Mirage.Serialization/VarIntBlocksPacker":{"id":"reference/Mirage.Serialization/VarIntBlocksPacker","title":"VarIntBlocksPacker","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/VarIntPacker":{"id":"reference/Mirage.Serialization/VarIntPacker","title":"VarIntPacker","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/VarVector2Packer":{"id":"reference/Mirage.Serialization/VarVector2Packer","title":"VarVector2Packer","description":"Packs a vector3 using and","sidebar":"api"},"reference/Mirage.Serialization/VarVector3Packer":{"id":"reference/Mirage.Serialization/VarVector3Packer","title":"VarVector3Packer","description":"Packs a vector3 using and","sidebar":"api"},"reference/Mirage.Serialization/Vector2PackAttribute":{"id":"reference/Mirage.Serialization/Vector2PackAttribute","title":"Vector2PackAttribute","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/Vector2Packer":{"id":"reference/Mirage.Serialization/Vector2Packer","title":"Vector2Packer","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/Vector3PackAttribute":{"id":"reference/Mirage.Serialization/Vector3PackAttribute","title":"Vector3PackAttribute","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/Vector3Packer":{"id":"reference/Mirage.Serialization/Vector3Packer","title":"Vector3Packer","description":"Inheritance","sidebar":"api"},"reference/Mirage.Serialization/WeaverIgnoreAttribute":{"id":"reference/Mirage.Serialization/WeaverIgnoreAttribute","title":"WeaverIgnoreAttribute","description":"Tells Weaver to ignore an Extension method","sidebar":"api"},"reference/Mirage.Serialization/WeaverSerializeCollectionAttribute":{"id":"reference/Mirage.Serialization/WeaverSerializeCollectionAttribute","title":"WeaverSerializeCollectionAttribute","description":"Tells weaver to use this method to write a generic type or collection","sidebar":"api"},"reference/Mirage.Serialization/WeaverWriteAsGenericAttribute":{"id":"reference/Mirage.Serialization/WeaverWriteAsGenericAttribute","title":"WeaverWriteAsGenericAttribute","description":"Tells Weaver to serialize a type as generic instead of creating a custom functions.","sidebar":"api"},"reference/Mirage.Serialization/Writer-1":{"id":"reference/Mirage.Serialization/Writer-1","title":"Writer<T>","description":"a class that holds writers for the different types","sidebar":"api"},"reference/Mirage.Serialization/ZigZag":{"id":"reference/Mirage.Serialization/ZigZag","title":"ZigZag","description":"See zigzag encoding","sidebar":"api"},"reference/Mirage.Serialization/ZigZagEncodeAttribute":{"id":"reference/Mirage.Serialization/ZigZagEncodeAttribute","title":"ZigZagEncodeAttribute","description":"Used along size to encodes a integer value using so that both positive and negative values can be sent","sidebar":"api"},"reference/Mirage.SocketLayer/AckSystem":{"id":"reference/Mirage.SocketLayer/AckSystem","title":"AckSystem","description":"Inheritance","sidebar":"api"},"reference/Mirage.SocketLayer/AckSystem.ReliablePacket":{"id":"reference/Mirage.SocketLayer/AckSystem.ReliablePacket","title":"AckSystem.ReliablePacket","description":"Inheritance","sidebar":"api"},"reference/Mirage.SocketLayer/AckSystem.ReliableReceived":{"id":"reference/Mirage.SocketLayer/AckSystem.ReliableReceived","title":"AckSystem.ReliableReceived","description":"Syntax","sidebar":"api"},"reference/Mirage.SocketLayer/ArrayBatch":{"id":"reference/Mirage.SocketLayer/ArrayBatch","title":"ArrayBatch","description":"Inheritance","sidebar":"api"},"reference/Mirage.SocketLayer/AutoCompleteToken":{"id":"reference/Mirage.SocketLayer/AutoCompleteToken","title":"AutoCompleteToken","description":"Token that invokes immediately","sidebar":"api"},"reference/Mirage.SocketLayer/Batch":{"id":"reference/Mirage.SocketLayer/Batch","title":"Batch","description":"Inheritance","sidebar":"api"},"reference/Mirage.SocketLayer/ByteBuffer":{"id":"reference/Mirage.SocketLayer/ByteBuffer","title":"ByteBuffer","description":"Warpper around a byte[] that belongs to a","sidebar":"api"},"reference/Mirage.SocketLayer/ByteUtils":{"id":"reference/Mirage.SocketLayer/ByteUtils","title":"ByteUtils","description":"Inheritance","sidebar":"api"},"reference/Mirage.SocketLayer/Commands":{"id":"reference/Mirage.SocketLayer/Commands","title":"Commands","description":"Small message used to control a connection","sidebar":"api"},"reference/Mirage.SocketLayer/Config":{"id":"reference/Mirage.SocketLayer/Config","title":"Config","description":"Inheritance","sidebar":"api"},"reference/Mirage.SocketLayer/ConnectionExtensions":{"id":"reference/Mirage.SocketLayer/ConnectionExtensions","title":"ConnectionExtensions","description":"Inheritance","sidebar":"api"},"reference/Mirage.SocketLayer/ConnectionState":{"id":"reference/Mirage.SocketLayer/ConnectionState","title":"ConnectionState","description":"Syntax","sidebar":"api"},"reference/Mirage.SocketLayer/DisconnectReason":{"id":"reference/Mirage.SocketLayer/DisconnectReason","title":"DisconnectReason","description":"Reason why a connection was disconnected","sidebar":"api"},"reference/Mirage.SocketLayer/IConnection":{"id":"reference/Mirage.SocketLayer/IConnection","title":"IConnection","description":"Connection for","sidebar":"api"},"reference/Mirage.SocketLayer/IDataHandler":{"id":"reference/Mirage.SocketLayer/IDataHandler","title":"IDataHandler","description":"Handles data from SocketLayer","sidebar":"api"},"reference/Mirage.SocketLayer/IEndPoint":{"id":"reference/Mirage.SocketLayer/IEndPoint","title":"IEndPoint","description":"Object that can be used as an endpoint for and","sidebar":"api"},"reference/Mirage.SocketLayer/IHasAddress":{"id":"reference/Mirage.SocketLayer/IHasAddress","title":"IHasAddress","description":"Can be added to SocketFactory that have an Address Setting","sidebar":"api"},"reference/Mirage.SocketLayer/IHasPort":{"id":"reference/Mirage.SocketLayer/IHasPort","title":"IHasPort","description":"Can be added to SocketFactory that have a Port Setting","sidebar":"api"},"reference/Mirage.SocketLayer/INotifyCallBack":{"id":"reference/Mirage.SocketLayer/INotifyCallBack","title":"INotifyCallBack","description":"Can be passed into and methods will be invoked when notify is delivered or lost","sidebar":"api"},"reference/Mirage.SocketLayer/INotifyCallBackExtensions":{"id":"reference/Mirage.SocketLayer/INotifyCallBackExtensions","title":"INotifyCallBackExtensions","description":"Inheritance","sidebar":"api"},"reference/Mirage.SocketLayer/INotifyToken":{"id":"reference/Mirage.SocketLayer/INotifyToken","title":"INotifyToken","description":"Object returned from with events for when packet is Lost or Delivered","sidebar":"api"},"reference/Mirage.SocketLayer/IPeer":{"id":"reference/Mirage.SocketLayer/IPeer","title":"IPeer","description":"Syntax","sidebar":"api"},"reference/Mirage.SocketLayer/IRawConnection":{"id":"reference/Mirage.SocketLayer/IRawConnection","title":"IRawConnection","description":"A connection that can send data directly to sockets","sidebar":"api"},"reference/Mirage.SocketLayer/ISocket":{"id":"reference/Mirage.SocketLayer/ISocket","title":"ISocket","description":"Link between Mirage and the outside world","sidebar":"api"},"reference/Mirage.SocketLayer/ITime":{"id":"reference/Mirage.SocketLayer/ITime","title":"ITime","description":"Syntax","sidebar":"api"},"reference/Mirage.SocketLayer/Metrics":{"id":"reference/Mirage.SocketLayer/Metrics","title":"Metrics","description":"Inheritance","sidebar":"api"},"reference/Mirage.SocketLayer/Metrics.Frame":{"id":"reference/Mirage.SocketLayer/Metrics.Frame","title":"Metrics.Frame","description":"Syntax","sidebar":"api"},"reference/Mirage.SocketLayer/Mirage.SocketLayer":{"id":"reference/Mirage.SocketLayer/Mirage.SocketLayer","title":"Mirage.SocketLayer","description":"Classes","sidebar":"api"},"reference/Mirage.SocketLayer/NotifyToken":{"id":"reference/Mirage.SocketLayer/NotifyToken","title":"NotifyToken","description":"Object returned from with events for when packet is Lost or Delivered","sidebar":"api"},"reference/Mirage.SocketLayer/PacketType":{"id":"reference/Mirage.SocketLayer/PacketType","title":"PacketType","description":"Syntax","sidebar":"api"},"reference/Mirage.SocketLayer/Peer":{"id":"reference/Mirage.SocketLayer/Peer","title":"Peer","description":"Controls flow of data in/out of mirage, Uses","sidebar":"api"},"reference/Mirage.SocketLayer/Pool-1":{"id":"reference/Mirage.SocketLayer/Pool-1","title":"Pool<T>","description":"Holds a collection of so they can be re-used without allocations","sidebar":"api"},"reference/Mirage.SocketLayer/Pool-1.CreateNewItem":{"id":"reference/Mirage.SocketLayer/Pool-1.CreateNewItem","title":"Pool<T>.CreateNewItem","description":"Syntax","sidebar":"api"},"reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount":{"id":"reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount","title":"Pool<T>.CreateNewItemNoCount","description":"Syntax","sidebar":"api"},"reference/Mirage.SocketLayer/PoolMetrics":{"id":"reference/Mirage.SocketLayer/PoolMetrics","title":"PoolMetrics","description":"Syntax","sidebar":"api"},"reference/Mirage.SocketLayer/RejectReason":{"id":"reference/Mirage.SocketLayer/RejectReason","title":"RejectReason","description":"Reason for reject sent from server","sidebar":"api"},"reference/Mirage.SocketLayer/ReliableBatch":{"id":"reference/Mirage.SocketLayer/ReliableBatch","title":"ReliableBatch","description":"Inheritance","sidebar":"api"},"reference/Mirage.SocketLayer/RingBuffer-1":{"id":"reference/Mirage.SocketLayer/RingBuffer-1","title":"RingBuffer<T>","description":"Inheritance","sidebar":"api"},"reference/Mirage.SocketLayer/Sequencer":{"id":"reference/Mirage.SocketLayer/Sequencer","title":"Sequencer","description":"A sequence generator that can wrap.","sidebar":"api"},"reference/Mirage.SocketLayer/SocketFactory":{"id":"reference/Mirage.SocketLayer/SocketFactory","title":"SocketFactory","description":"Creates an instance of","sidebar":"api"},"reference/Mirage.Sockets.Udp/EndPointWrapper":{"id":"reference/Mirage.Sockets.Udp/EndPointWrapper","title":"EndPointWrapper","description":"Inheritance","sidebar":"api"},"reference/Mirage.Sockets.Udp/InitUDP":{"id":"reference/Mirage.Sockets.Udp/InitUDP","title":"InitUDP","description":"Inheritance","sidebar":"api"},"reference/Mirage.Sockets.Udp/Mirage.Sockets.Udp":{"id":"reference/Mirage.Sockets.Udp/Mirage.Sockets.Udp","title":"Mirage.Sockets.Udp","description":"Classes","sidebar":"api"},"reference/Mirage.Sockets.Udp/NanoEndPoint":{"id":"reference/Mirage.Sockets.Udp/NanoEndPoint","title":"NanoEndPoint","description":"Inheritance","sidebar":"api"},"reference/Mirage.Sockets.Udp/NanoSocket":{"id":"reference/Mirage.Sockets.Udp/NanoSocket","title":"NanoSocket","description":"Inheritance","sidebar":"api"},"reference/Mirage.Sockets.Udp/NanoSocketException":{"id":"reference/Mirage.Sockets.Udp/NanoSocketException","title":"NanoSocketException","description":"Inheritance","sidebar":"api"},"reference/Mirage.Sockets.Udp/SocketLib":{"id":"reference/Mirage.Sockets.Udp/SocketLib","title":"SocketLib","description":"Syntax","sidebar":"api"},"reference/Mirage.Sockets.Udp/UdpMTU":{"id":"reference/Mirage.Sockets.Udp/UdpMTU","title":"UdpMTU","description":"Inheritance","sidebar":"api"},"reference/Mirage.Sockets.Udp/UdpSocket":{"id":"reference/Mirage.Sockets.Udp/UdpSocket","title":"UdpSocket","description":"Inheritance","sidebar":"api"},"reference/Mirage.Sockets.Udp/UdpSocketFactory":{"id":"reference/Mirage.Sockets.Udp/UdpSocketFactory","title":"UdpSocketFactory","description":"Inheritance","sidebar":"api"},"reference/Mirage.Visibility/AlwaysNetworkVisibility":{"id":"reference/Mirage.Visibility/AlwaysNetworkVisibility","title":"AlwaysNetworkVisibility","description":"Always shows an object, even if player is loading scene","sidebar":"api"},"reference/Mirage.Visibility/Mirage.Visibility":{"id":"reference/Mirage.Visibility/Mirage.Visibility","title":"Mirage.Visibility","description":"Classes","sidebar":"api"},"reference/Mirage/AddCharacterMessage":{"id":"reference/Mirage/AddCharacterMessage","title":"AddCharacterMessage","description":"Syntax","sidebar":"api"},"reference/Mirage/AuthorityChanged":{"id":"reference/Mirage/AuthorityChanged","title":"AuthorityChanged","description":"Event that can be used to check authority","sidebar":"api"},"reference/Mirage/AutoPool-1":{"id":"reference/Mirage/AutoPool-1","title":"AutoPool<T>","description":"Pool class that will create a Disposable wrapper around T so it can be used with any class automatically without additional setup","sidebar":"api"},"reference/Mirage/AutoPool-1.Wrapper":{"id":"reference/Mirage/AutoPool-1.Wrapper","title":"AutoPool<T>.Wrapper","description":"Inheritance","sidebar":"api"},"reference/Mirage/Channel":{"id":"reference/Mirage/Channel","title":"Channel","description":"Syntax","sidebar":"api"},"reference/Mirage/CharacterSpawner":{"id":"reference/Mirage/CharacterSpawner","title":"CharacterSpawner","description":"Spawns a player as soon as the connection is authenticated","sidebar":"api"},"reference/Mirage/CharacterSpawner.PlayerSpawnMethod":{"id":"reference/Mirage/CharacterSpawner.PlayerSpawnMethod","title":"CharacterSpawner.PlayerSpawnMethod","description":"Enumeration of methods of where to spawn player objects in multiplayer games.","sidebar":"api"},"reference/Mirage/ClientAttribute":{"id":"reference/Mirage/ClientAttribute","title":"ClientAttribute","description":"Prevents this method from running if client is not active.","sidebar":"api"},"reference/Mirage/ClientObjectManager":{"id":"reference/Mirage/ClientObjectManager","title":"ClientObjectManager","description":"Inheritance","sidebar":"api"},"reference/Mirage/ClientRpcAttribute":{"id":"reference/Mirage/ClientRpcAttribute","title":"ClientRpcAttribute","description":"The server uses a Remote Procedure Call (RPC) to run this function on specific clients.","sidebar":"api"},"reference/Mirage/ClientStoppedReason":{"id":"reference/Mirage/ClientStoppedReason","title":"ClientStoppedReason","description":"Reason why Client was stopped or disconnected","sidebar":"api"},"reference/Mirage/ConnectState":{"id":"reference/Mirage/ConnectState","title":"ConnectState","description":"Syntax","sidebar":"api"},"reference/Mirage/DeserializeFailedException":{"id":"reference/Mirage/DeserializeFailedException","title":"DeserializeFailedException","description":"Inheritance","sidebar":"api"},"reference/Mirage/DynamicSpawnHandlerDelegate":{"id":"reference/Mirage/DynamicSpawnHandlerDelegate","title":"DynamicSpawnHandlerDelegate","description":"Syntax","sidebar":"api"},"reference/Mirage/ExponentialMovingAverage":{"id":"reference/Mirage/ExponentialMovingAverage","title":"ExponentialMovingAverage","description":"Inheritance","sidebar":"api"},"reference/Mirage/FoldoutEventAttribute":{"id":"reference/Mirage/FoldoutEventAttribute","title":"FoldoutEventAttribute","description":"Draws UnityEvent as a foldout","sidebar":"api"},"reference/Mirage/GameObjectExtensions":{"id":"reference/Mirage/GameObjectExtensions","title":"GameObjectExtensions","description":"Inheritance","sidebar":"api"},"reference/Mirage/GameObjectSerializers":{"id":"reference/Mirage/GameObjectSerializers","title":"GameObjectSerializers","description":"Inheritance","sidebar":"api"},"reference/Mirage/GameObjectSyncvar":{"id":"reference/Mirage/GameObjectSyncvar","title":"GameObjectSyncvar","description":"backing struct for a NetworkIdentity when used as a syncvar","sidebar":"api"},"reference/Mirage/HasAuthorityAttribute":{"id":"reference/Mirage/HasAuthorityAttribute","title":"HasAuthorityAttribute","description":"Prevents players without authority from running this method.","sidebar":"api"},"reference/Mirage/HeadlessAutoStart":{"id":"reference/Mirage/HeadlessAutoStart","title":"HeadlessAutoStart","description":"Inheritance","sidebar":"api"},"reference/Mirage/HeadlessFrameLimiter":{"id":"reference/Mirage/HeadlessFrameLimiter","title":"HeadlessFrameLimiter","description":"Inheritance","sidebar":"api"},"reference/Mirage/HostRendererVisibility":{"id":"reference/Mirage/HostRendererVisibility","title":"HostRendererVisibility","description":"Disables all Renders on GameObject when the NetworkIdentity is not visible too the host player because of a","sidebar":"api"},"reference/Mirage/IMessageReceiver":{"id":"reference/Mirage/IMessageReceiver","title":"IMessageReceiver","description":"An object that can receive messages","sidebar":"api"},"reference/Mirage/IMessageSender":{"id":"reference/Mirage/IMessageSender","title":"IMessageSender","description":"An object that can send messages","sidebar":"api"},"reference/Mirage/INetIdGenerator":{"id":"reference/Mirage/INetIdGenerator","title":"INetIdGenerator","description":"Syntax","sidebar":"api"},"reference/Mirage/INetworkPlayer":{"id":"reference/Mirage/INetworkPlayer","title":"INetworkPlayer","description":"An object owned by a player that can: send/receive messages, have network visibility, be an object owner, authenticated permissions, and load scenes.","sidebar":"api"},"reference/Mirage/INetworkVisibility":{"id":"reference/Mirage/INetworkVisibility","title":"INetworkVisibility","description":"Syntax","sidebar":"api"},"reference/Mirage/IObjectLocator":{"id":"reference/Mirage/IObjectLocator","title":"IObjectLocator","description":"An object that implements this interface can find objects by their net id","sidebar":"api"},"reference/Mirage/IObjectOwner":{"id":"reference/Mirage/IObjectOwner","title":"IObjectOwner","description":"An object that can own networked objects","sidebar":"api"},"reference/Mirage/ISceneLoader":{"id":"reference/Mirage/ISceneLoader","title":"ISceneLoader","description":"Syntax","sidebar":"api"},"reference/Mirage/IVisibilityTracker":{"id":"reference/Mirage/IVisibilityTracker","title":"IVisibilityTracker","description":"An object that can observe NetworkIdentities.","sidebar":"api"},"reference/Mirage/LocalPlayerAttribute":{"id":"reference/Mirage/LocalPlayerAttribute","title":"LocalPlayerAttribute","description":"Prevents nonlocal players from running this method.","sidebar":"api"},"reference/Mirage/MessageDelegate-1":{"id":"reference/Mirage/MessageDelegate-1","title":"MessageDelegate<T>","description":"Syntax","sidebar":"api"},"reference/Mirage/MessageDelegateAsync-1":{"id":"reference/Mirage/MessageDelegateAsync-1","title":"MessageDelegateAsync<T>","description":"Syntax","sidebar":"api"},"reference/Mirage/MessageDelegateWithPlayer-1":{"id":"reference/Mirage/MessageDelegateWithPlayer-1","title":"MessageDelegateWithPlayer<T>","description":"Syntax","sidebar":"api"},"reference/Mirage/MessageDelegateWithPlayerAsync-1":{"id":"reference/Mirage/MessageDelegateWithPlayerAsync-1","title":"MessageDelegateWithPlayerAsync<T>","description":"Syntax","sidebar":"api"},"reference/Mirage/MessageHandler":{"id":"reference/Mirage/MessageHandler","title":"MessageHandler","description":"Inheritance","sidebar":"api"},"reference/Mirage/MessageReceiverExtensions":{"id":"reference/Mirage/MessageReceiverExtensions","title":"MessageReceiverExtensions","description":"Inheritance","sidebar":"api"},"reference/Mirage/MessageWaiter-1":{"id":"reference/Mirage/MessageWaiter-1","title":"MessageWaiter<T>","description":"Register handler just for 1 message","sidebar":"api"},"reference/Mirage/MethodInvocationException":{"id":"reference/Mirage/MethodInvocationException","title":"MethodInvocationException","description":"Exception thrown if a guarded method is invoked incorrectly","sidebar":"api"},"reference/Mirage/Mirage":{"id":"reference/Mirage/Mirage","title":"Mirage","description":"Classes","sidebar":"api"},"reference/Mirage/NetworkAnimator":{"id":"reference/Mirage/NetworkAnimator","title":"NetworkAnimator","description":"A component to synchronize animation states for networked objects.","sidebar":"api"},"reference/Mirage/NetworkBehaviorSerializers":{"id":"reference/Mirage/NetworkBehaviorSerializers","title":"NetworkBehaviorSerializers","description":"Inheritance","sidebar":"api"},"reference/Mirage/NetworkBehaviorSyncvar":{"id":"reference/Mirage/NetworkBehaviorSyncvar","title":"NetworkBehaviorSyncvar","description":"backing struct for a NetworkIdentity when used as a syncvar","sidebar":"api"},"reference/Mirage/NetworkBehaviorSyncvar-1":{"id":"reference/Mirage/NetworkBehaviorSyncvar-1","title":"NetworkBehaviorSyncvar<T>","description":"Syntax","sidebar":"api"},"reference/Mirage/NetworkBehaviour":{"id":"reference/Mirage/NetworkBehaviour","title":"NetworkBehaviour","description":"Base class which should be inherited by scripts which contain networking functionality.","sidebar":"api"},"reference/Mirage/NetworkBehaviour.Id":{"id":"reference/Mirage/NetworkBehaviour.Id","title":"NetworkBehaviour.Id","description":"Syntax","sidebar":"api"},"reference/Mirage/NetworkClient":{"id":"reference/Mirage/NetworkClient","title":"NetworkClient","description":"This is a network client class used by the networking system. It contains a NetworkConnection that is used to connect to a network server.","sidebar":"api"},"reference/Mirage/NetworkDiagnostics":{"id":"reference/Mirage/NetworkDiagnostics","title":"NetworkDiagnostics","description":"Provides profiling information from mirror","sidebar":"api"},"reference/Mirage/NetworkDiagnostics.MessageInfo":{"id":"reference/Mirage/NetworkDiagnostics.MessageInfo","title":"NetworkDiagnostics.MessageInfo","description":"Describes an outgoing message","sidebar":"api"},"reference/Mirage/NetworkedPrefabAttribute":{"id":"reference/Mirage/NetworkedPrefabAttribute","title":"NetworkedPrefabAttribute","description":"Forces the user to provide a prefab that has a NetworkIdentity component and is registered.","sidebar":"api"},"reference/Mirage/NetworkExtensions":{"id":"reference/Mirage/NetworkExtensions","title":"NetworkExtensions","description":"Inheritance","sidebar":"api"},"reference/Mirage/NetworkFlags":{"id":"reference/Mirage/NetworkFlags","title":"NetworkFlags","description":"Syntax","sidebar":"api"},"reference/Mirage/NetworkIdentity":{"id":"reference/Mirage/NetworkIdentity","title":"NetworkIdentity","description":"The NetworkIdentity identifies objects across the network, between server and clients.","sidebar":"api"},"reference/Mirage/NetworkIdentitySerializers":{"id":"reference/Mirage/NetworkIdentitySerializers","title":"NetworkIdentitySerializers","description":"Inheritance","sidebar":"api"},"reference/Mirage/NetworkIdentitySyncvar":{"id":"reference/Mirage/NetworkIdentitySyncvar","title":"NetworkIdentitySyncvar","description":"backing struct for a NetworkIdentity when used as a syncvar","sidebar":"api"},"reference/Mirage/NetworkInspectorCallbacks":{"id":"reference/Mirage/NetworkInspectorCallbacks","title":"NetworkInspectorCallbacks","description":"Callbacks for","sidebar":"api"},"reference/Mirage/NetworkManager":{"id":"reference/Mirage/NetworkManager","title":"NetworkManager","description":"Inheritance","sidebar":"api"},"reference/Mirage/NetworkManagerGUI":{"id":"reference/Mirage/NetworkManagerGUI","title":"NetworkManagerGUI","description":"Inheritance","sidebar":"api"},"reference/Mirage/NetworkManagerHud":{"id":"reference/Mirage/NetworkManagerHud","title":"NetworkManagerHud","description":"Inheritance","sidebar":"api"},"reference/Mirage/NetworkManagerMode":{"id":"reference/Mirage/NetworkManagerMode","title":"NetworkManagerMode","description":"Syntax","sidebar":"api"},"reference/Mirage/NetworkMatchChecker":{"id":"reference/Mirage/NetworkMatchChecker","title":"NetworkMatchChecker","description":"Component that controls visibility of networked objects based on match id.","sidebar":"api"},"reference/Mirage/NetworkMessageAttribute":{"id":"reference/Mirage/NetworkMessageAttribute","title":"NetworkMessageAttribute","description":"Tell the weaver to generate reader and writer for a class","sidebar":"api"},"reference/Mirage/NetworkMethodAttribute":{"id":"reference/Mirage/NetworkMethodAttribute","title":"NetworkMethodAttribute","description":"Prevents this method from running unless the NetworkFlags match the current state","sidebar":"api"},"reference/Mirage/NetworkPingDisplay":{"id":"reference/Mirage/NetworkPingDisplay","title":"NetworkPingDisplay","description":"Component that will display the clients ping in milliseconds","sidebar":"api"},"reference/Mirage/NetworkPingMessage":{"id":"reference/Mirage/NetworkPingMessage","title":"NetworkPingMessage","description":"Syntax","sidebar":"api"},"reference/Mirage/NetworkPlayer":{"id":"reference/Mirage/NetworkPlayer","title":"NetworkPlayer","description":"A High level network connection. This is used for connections from client-to-server and for connection from server-to-client.","sidebar":"api"},"reference/Mirage/NetworkPongMessage":{"id":"reference/Mirage/NetworkPongMessage","title":"NetworkPongMessage","description":"Syntax","sidebar":"api"},"reference/Mirage/NetworkPrefabs":{"id":"reference/Mirage/NetworkPrefabs","title":"NetworkPrefabs","description":"A scriptable object that contains a list of prefabs that can be spawned on the network.","sidebar":"api"},"reference/Mirage/NetworkProximityChecker":{"id":"reference/Mirage/NetworkProximityChecker","title":"NetworkProximityChecker","description":"Component that controls visibility of networked objects for players.","sidebar":"api"},"reference/Mirage/NetworkSceneChecker":{"id":"reference/Mirage/NetworkSceneChecker","title":"NetworkSceneChecker","description":"Component that controls visibility of networked objects between scenes.","sidebar":"api"},"reference/Mirage/NetworkSceneManager":{"id":"reference/Mirage/NetworkSceneManager","title":"NetworkSceneManager","description":"NetworkSceneManager is an optional component that helps keep scene in sync between server and client.","sidebar":"api"},"reference/Mirage/NetworkServer":{"id":"reference/Mirage/NetworkServer","title":"NetworkServer","description":"The NetworkServer.","sidebar":"api"},"reference/Mirage/NetworkSpawnSettings":{"id":"reference/Mirage/NetworkSpawnSettings","title":"NetworkSpawnSettings","description":"Spawn Settings for","sidebar":"api"},"reference/Mirage/NetworkTime":{"id":"reference/Mirage/NetworkTime","title":"NetworkTime","description":"Synchronize time between the server and the clients","sidebar":"api"},"reference/Mirage/NetworkTransform":{"id":"reference/Mirage/NetworkTransform","title":"NetworkTransform","description":"Inheritance","sidebar":"api"},"reference/Mirage/NetworkTransformBase":{"id":"reference/Mirage/NetworkTransformBase","title":"NetworkTransformBase","description":"Inheritance","sidebar":"api"},"reference/Mirage/NetworkTransformBase.DataPoint":{"id":"reference/Mirage/NetworkTransformBase.DataPoint","title":"NetworkTransformBase.DataPoint","description":"Inheritance","sidebar":"api"},"reference/Mirage/NetworkTransformChild":{"id":"reference/Mirage/NetworkTransformChild","title":"NetworkTransformChild","description":"A component to synchronize the position of child transforms of networked objects.","sidebar":"api"},"reference/Mirage/NetworkVisibility":{"id":"reference/Mirage/NetworkVisibility","title":"NetworkVisibility","description":"NetworkBehaviour that calculates if the gameObject should be visible to different players or not","sidebar":"api"},"reference/Mirage/NetworkVisibility.VisibilityChanged":{"id":"reference/Mirage/NetworkVisibility.VisibilityChanged","title":"NetworkVisibility.VisibilityChanged","description":"Syntax","sidebar":"api"},"reference/Mirage/NetworkWorld":{"id":"reference/Mirage/NetworkWorld","title":"NetworkWorld","description":"Holds collection of spawned network objects","sidebar":"api"},"reference/Mirage/NetworkWorldExtensions":{"id":"reference/Mirage/NetworkWorldExtensions","title":"NetworkWorldExtensions","description":"Inheritance","sidebar":"api"},"reference/Mirage/ObjectDestroyMessage":{"id":"reference/Mirage/ObjectDestroyMessage","title":"ObjectDestroyMessage","description":"Syntax","sidebar":"api"},"reference/Mirage/ObjectHideMessage":{"id":"reference/Mirage/ObjectHideMessage","title":"ObjectHideMessage","description":"Syntax","sidebar":"api"},"reference/Mirage/OnlineOfflineScene":{"id":"reference/Mirage/OnlineOfflineScene","title":"OnlineOfflineScene","description":"Inheritance","sidebar":"api"},"reference/Mirage/PipePeerConnection":{"id":"reference/Mirage/PipePeerConnection","title":"PipePeerConnection","description":"A that is directly sends data to a","sidebar":"api"},"reference/Mirage/PipePeerConnection.PipeEndPoint":{"id":"reference/Mirage/PipePeerConnection.PipeEndPoint","title":"PipePeerConnection.PipeEndPoint","description":"Inheritance","sidebar":"api"},"reference/Mirage/PlayerSceneChangeEvent":{"id":"reference/Mirage/PlayerSceneChangeEvent","title":"PlayerSceneChangeEvent","description":"Inheritance","sidebar":"api"},"reference/Mirage/ReadOnlyInspectorAttribute":{"id":"reference/Mirage/ReadOnlyInspectorAttribute","title":"ReadOnlyInspectorAttribute","description":"Makes field readonly in inspector.","sidebar":"api"},"reference/Mirage/RemoveAuthorityMessage":{"id":"reference/Mirage/RemoveAuthorityMessage","title":"RemoveAuthorityMessage","description":"Syntax","sidebar":"api"},"reference/Mirage/RemoveCharacterMessage":{"id":"reference/Mirage/RemoveCharacterMessage","title":"RemoveCharacterMessage","description":"Syntax","sidebar":"api"},"reference/Mirage/RpcTarget":{"id":"reference/Mirage/RpcTarget","title":"RpcTarget","description":"Used by ClientRpc to tell mirage who to send remote call to","sidebar":"api"},"reference/Mirage/SceneAttribute":{"id":"reference/Mirage/SceneAttribute","title":"SceneAttribute","description":"Converts a string property into a Scene property in the inspector","sidebar":"api"},"reference/Mirage/SceneChangeFinishedEvent":{"id":"reference/Mirage/SceneChangeFinishedEvent","title":"SceneChangeFinishedEvent","description":"Event fires from INetworkSceneManager when a scene change finishes on either Server or Client.","sidebar":"api"},"reference/Mirage/SceneChangeStartedEvent":{"id":"reference/Mirage/SceneChangeStartedEvent","title":"SceneChangeStartedEvent","description":"Event fires from INetworkSceneManager when a scene change begins on either Server or Client.","sidebar":"api"},"reference/Mirage/SceneMessage":{"id":"reference/Mirage/SceneMessage","title":"SceneMessage","description":"Syntax","sidebar":"api"},"reference/Mirage/SceneNotReadyMessage":{"id":"reference/Mirage/SceneNotReadyMessage","title":"SceneNotReadyMessage","description":"Sent to client to mark their scene as not ready","sidebar":"api"},"reference/Mirage/SceneOperation":{"id":"reference/Mirage/SceneOperation","title":"SceneOperation","description":"Syntax","sidebar":"api"},"reference/Mirage/SceneReadyMessage":{"id":"reference/Mirage/SceneReadyMessage","title":"SceneReadyMessage","description":"Sent to indicate the scene is finished loading","sidebar":"api"},"reference/Mirage/SceneVisibilityChecker":{"id":"reference/Mirage/SceneVisibilityChecker","title":"SceneVisibilityChecker","description":"Inheritance","sidebar":"api"},"reference/Mirage/ServerAttribute":{"id":"reference/Mirage/ServerAttribute","title":"ServerAttribute","description":"Prevents a method from running if server is not active.","sidebar":"api"},"reference/Mirage/ServerObjectManager":{"id":"reference/Mirage/ServerObjectManager","title":"ServerObjectManager","description":"The ServerObjectManager.","sidebar":"api"},"reference/Mirage/ServerObjectManagerExtensions":{"id":"reference/Mirage/ServerObjectManagerExtensions","title":"ServerObjectManagerExtensions","description":"Extra helper methods for that dont add any extra logic","sidebar":"api"},"reference/Mirage/ServerRpcAttribute":{"id":"reference/Mirage/ServerRpcAttribute","title":"ServerRpcAttribute","description":"Call this from a client to run this function on the server.","sidebar":"api"},"reference/Mirage/ShowInInspectorAttribute":{"id":"reference/Mirage/ShowInInspectorAttribute","title":"ShowInInspectorAttribute","description":"Used to show private SyncList in the inspector,","sidebar":"api"},"reference/Mirage/SpawnEvent":{"id":"reference/Mirage/SpawnEvent","title":"SpawnEvent","description":"Inheritance","sidebar":"api"},"reference/Mirage/SpawnHandler":{"id":"reference/Mirage/SpawnHandler","title":"SpawnHandler","description":"Inheritance","sidebar":"api"},"reference/Mirage/SpawnHandlerAsyncDelegate":{"id":"reference/Mirage/SpawnHandlerAsyncDelegate","title":"SpawnHandlerAsyncDelegate","description":"Syntax","sidebar":"api"},"reference/Mirage/SpawnHandlerDelegate":{"id":"reference/Mirage/SpawnHandlerDelegate","title":"SpawnHandlerDelegate","description":"Syntax","sidebar":"api"},"reference/Mirage/SpawnMessage":{"id":"reference/Mirage/SpawnMessage","title":"SpawnMessage","description":"Syntax","sidebar":"api"},"reference/Mirage/SpawnObjectException":{"id":"reference/Mirage/SpawnObjectException","title":"SpawnObjectException","description":"Exception thrown when spawning fails","sidebar":"api"},"reference/Mirage/SpawnValues":{"id":"reference/Mirage/SpawnValues","title":"SpawnValues","description":"Syntax","sidebar":"api"},"reference/Mirage/StringHash":{"id":"reference/Mirage/StringHash","title":"StringHash","description":"Inheritance","sidebar":"api"},"reference/Mirage/SyncActiveOption":{"id":"reference/Mirage/SyncActiveOption","title":"SyncActiveOption","description":"Syntax","sidebar":"api"},"reference/Mirage/SyncFrom":{"id":"reference/Mirage/SyncFrom","title":"SyncFrom","description":"Syntax","sidebar":"api"},"reference/Mirage/SyncHookType":{"id":"reference/Mirage/SyncHookType","title":"SyncHookType","description":"Syntax","sidebar":"api"},"reference/Mirage/SyncPrefab":{"id":"reference/Mirage/SyncPrefab","title":"SyncPrefab","description":"Syntax","sidebar":"api"},"reference/Mirage/SyncPrefabSerialize":{"id":"reference/Mirage/SyncPrefabSerialize","title":"SyncPrefabSerialize","description":"Inheritance","sidebar":"api"},"reference/Mirage/SyncSettings":{"id":"reference/Mirage/SyncSettings","title":"SyncSettings","description":"Syntax","sidebar":"api"},"reference/Mirage/SyncTiming":{"id":"reference/Mirage/SyncTiming","title":"SyncTiming","description":"Syntax","sidebar":"api"},"reference/Mirage/SyncTo":{"id":"reference/Mirage/SyncTo","title":"SyncTo","description":"Syntax","sidebar":"api"},"reference/Mirage/SyncVarAttribute":{"id":"reference/Mirage/SyncVarAttribute","title":"SyncVarAttribute","description":"SyncVars are used to synchronize a variable from the server to all clients automatically.","sidebar":"api"},"reference/Mirage/SyncVarReceiver":{"id":"reference/Mirage/SyncVarReceiver","title":"SyncVarReceiver","description":"Class that handles syncvar message and passes it to correct","sidebar":"api"},"reference/Mirage/SyncVarSender":{"id":"reference/Mirage/SyncVarSender","title":"SyncVarSender","description":"Class that Syncs syncvar and other State","sidebar":"api"},"reference/Mirage/UnSpawnDelegate":{"id":"reference/Mirage/UnSpawnDelegate","title":"UnSpawnDelegate","description":"Syntax","sidebar":"api"},"reference/Mirage/UpdateVarsMessage":{"id":"reference/Mirage/UpdateVarsMessage","title":"UpdateVarsMessage","description":"Syntax","sidebar":"api"},"reference/Mirage/Version":{"id":"reference/Mirage/Version","title":"Version","description":"Inheritance","sidebar":"api"}}}')}}]); \ No newline at end of file diff --git a/assets/js/9374470d.e3339572.js b/assets/js/9374470d.e3339572.js new file mode 100644 index 00000000000..4f56ec19638 --- /dev/null +++ b/assets/js/9374470d.e3339572.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6539],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>f});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function c(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function i(e,r){if(null==e)return{};var t,a,n=function(e,r){if(null==e)return{};var t,a,n={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var l=a.createContext({}),s=function(e){var r=a.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):c(c({},r),e)),t},p=function(e){var r=s(e.components);return a.createElement(l.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},d=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,o=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=s(t),f=n,y=d["".concat(l,".").concat(f)]||d[f]||u[f]||o;return t?a.createElement(y,c(c({ref:r},p),{},{components:t})):a.createElement(y,c({ref:r},p))}));function f(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var o=t.length,c=new Array(o);c[0]=d;var i={};for(var l in r)hasOwnProperty.call(r,l)&&(i[l]=r[l]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var s=2;s<o;s++)c[s]=t[s];return a.createElement.apply(null,c)}return a.createElement.apply(null,t)}d.displayName="MDXCreateElement"},60997:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>s});var a=t(87462),n=(t(67294),t(3905));const o={id:"IHasPort",title:"IHasPort"},c="Interface IHasPort",i={unversionedId:"reference/Mirage.SocketLayer/IHasPort",id:"reference/Mirage.SocketLayer/IHasPort",title:"IHasPort",description:"Can be added to SocketFactory that have a Port Setting",source:"@site/docs/reference/Mirage.SocketLayer/IHasPort.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/IHasPort",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IHasPort",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/IHasPort.md",tags:[],version:"current",frontMatter:{id:"IHasPort",title:"IHasPort"},sidebar:"api",previous:{title:"IHasAddress",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IHasAddress"},next:{title:"INotifyCallBack",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/INotifyCallBack"}},l={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"Port",id:"port",level:4},{value:"Declaration",id:"declaration",level:5}],p={toc:s};function u(e){let{components:r,...t}=e;return(0,n.kt)("wrapper",(0,a.Z)({},p,t,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"interface-ihasport"},"Interface IHasPort"),(0,n.kt)("p",null,"Can be added to SocketFactory that have a Port Setting"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IHasPort\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"port"},"Port"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"int Port { get; set; }\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/945dafc1.f841db76.js b/assets/js/945dafc1.f841db76.js new file mode 100644 index 00000000000..7a08d1dd618 --- /dev/null +++ b/assets/js/945dafc1.f841db76.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6804],{3905:(e,r,a)=>{a.d(r,{Zo:()=>d,kt:()=>p});var t=a(67294);function n(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}function o(e,r){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),a.push.apply(a,t)}return a}function l(e){for(var r=1;r<arguments.length;r++){var a=null!=arguments[r]?arguments[r]:{};r%2?o(Object(a),!0).forEach((function(r){n(e,r,a[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(a,r))}))}return e}function i(e,r){if(null==e)return{};var a,t,n=function(e,r){if(null==e)return{};var a,t,n={},o=Object.keys(e);for(t=0;t<o.length;t++)a=o[t],r.indexOf(a)>=0||(n[a]=e[a]);return n}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t<o.length;t++)a=o[t],r.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=t.createContext({}),s=function(e){var r=t.useContext(c),a=r;return e&&(a="function"==typeof e?e(r):l(l({},r),e)),a},d=function(e){var r=s(e.components);return t.createElement(c.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},g=t.forwardRef((function(e,r){var a=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),g=s(a),p=n,k=g["".concat(c,".").concat(p)]||g[p]||u[p]||o;return a?t.createElement(k,l(l({ref:r},d),{},{components:a})):t.createElement(k,l({ref:r},d))}));function p(e,r){var a=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var o=a.length,l=new Array(o);l[0]=g;var i={};for(var c in r)hasOwnProperty.call(r,c)&&(i[c]=r[c]);i.originalType=e,i.mdxType="string"==typeof e?e:n,l[1]=i;for(var s=2;s<o;s++)l[s]=a[s];return t.createElement.apply(null,l)}return t.createElement.apply(null,a)}g.displayName="MDXCreateElement"},96480:(e,r,a)=>{a.r(r),a.d(r,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>s});var t=a(87462),n=(a(67294),a(3905));const o={id:"NetworkManagerGUI",title:"NetworkManagerGUI"},l="Class NetworkManagerGUI",i={unversionedId:"reference/Mirage/NetworkManagerGUI",id:"reference/Mirage/NetworkManagerGUI",title:"NetworkManagerGUI",description:"Inheritance",source:"@site/docs/reference/Mirage/NetworkManagerGUI.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkManagerGUI",permalink:"/Mirage/docs/reference/Mirage/NetworkManagerGUI",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkManagerGUI.md",tags:[],version:"current",frontMatter:{id:"NetworkManagerGUI",title:"NetworkManagerGUI"},sidebar:"api",previous:{title:"NetworkManager",permalink:"/Mirage/docs/reference/Mirage/NetworkManager"},next:{title:"NetworkManagerHud",permalink:"/Mirage/docs/reference/Mirage/NetworkManagerHud"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"NetworkAddress",id:"networkaddress",level:4},{value:"Declaration",id:"declaration",level:5},{value:"AutoConfigureNetworkManager",id:"autoconfigurenetworkmanager",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"NetworkManager",id:"networkmanager",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Scale",id:"scale",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"GUIAnchor",id:"guianchor",level:4},{value:"Declaration",id:"declaration-4",level:5}],d={toc:s};function u(e){let{components:r,...a}=e;return(0,n.kt)("wrapper",(0,t.Z)({},d,a,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networkmanagergui"},"Class NetworkManagerGUI"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class NetworkManagerGUI : MonoBehaviour\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"networkaddress"},"NetworkAddress"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public string NetworkAddress\n")),(0,n.kt)("h4",{id:"autoconfigurenetworkmanager"},"AutoConfigureNetworkManager"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool AutoConfigureNetworkManager\n")),(0,n.kt)("h4",{id:"networkmanager"},"NetworkManager"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkManager NetworkManager\n")),(0,n.kt)("h4",{id:"scale"},"Scale"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public float Scale\n")),(0,n.kt)("h4",{id:"guianchor"},"GUIAnchor"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public TextAnchor GUIAnchor\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/95800a96.e44cf4a0.js b/assets/js/95800a96.e44cf4a0.js new file mode 100644 index 00000000000..c04ba2430a4 --- /dev/null +++ b/assets/js/95800a96.e44cf4a0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2246],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>h});var a=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function r(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,a,i=function(e,t){if(null==e)return{};var n,a,i={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=a.createContext({}),s=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},d=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,o=e.originalType,c=e.parentName,d=p(e,["components","mdxType","originalType","parentName"]),u=s(n),h=i,m=u["".concat(c,".").concat(h)]||u[h]||l[h]||o;return n?a.createElement(m,r(r({ref:t},d),{},{components:n})):a.createElement(m,r({ref:t},d))}));function h(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=n.length,r=new Array(o);r[0]=u;var p={};for(var c in t)hasOwnProperty.call(t,c)&&(p[c]=t[c]);p.originalType=e,p.mdxType="string"==typeof e?e:i,r[1]=p;for(var s=2;s<o;s++)r[s]=n[s];return a.createElement.apply(null,r)}return a.createElement.apply(null,n)}u.displayName="MDXCreateElement"},98198:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>l,frontMatter:()=>o,metadata:()=>p,toc:()=>s});var a=n(87462),i=(n(67294),n(3905));const o={sidebar_position:9},r="Pickups, Drops, and Child Objects",p={unversionedId:"guides/game-objects/pickup-drop-child",id:"guides/game-objects/pickup-drop-child",title:"Pickups, Drops, and Child Objects",description:"Frequently the question comes up about how to handle objects that are attached as children of the player prefab that all clients need to know about and synchronize, such as which weapon is equipped, picking up networked scene objects, and players dropping objects into the scene.",source:"@site/docs/guides/game-objects/pickup-drop-child.md",sourceDirName:"guides/game-objects",slug:"/guides/game-objects/pickup-drop-child",permalink:"/Mirage/docs/guides/game-objects/pickup-drop-child",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/game-objects/pickup-drop-child.md",tags:[],version:"current",sidebarPosition:9,frontMatter:{sidebar_position:9},sidebar:"docs",previous:{title:"Scene Objects",permalink:"/Mirage/docs/guides/game-objects/scene-objects"},next:{title:"Loading scenes in Mirage",permalink:"/Mirage/docs/guides/scene-loading/"}},c={},s=[{value:"Child Objects",id:"child-objects",level:2},{value:"Dropping Items",id:"dropping-items",level:2},{value:"Pickup Items",id:"pickup-items",level:2}],d={toc:s};function l(e){let{components:t,...o}=e;return(0,i.kt)("wrapper",(0,a.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"pickups-drops-and-child-objects"},"Pickups, Drops, and Child Objects"),(0,i.kt)("p",null,"Frequently the question comes up about how to handle objects that are attached as children of the player prefab that all clients need to know about and synchronize, such as which weapon is equipped, picking up networked scene objects, and players dropping objects into the scene."),(0,i.kt)("admonition",{type:"caution"},(0,i.kt)("p",{parentName:"admonition"},"Mirage cannot support multiple Network Identity components within an object hierarchy. Since the character object must have a Network Identity, none of its descendant objects can have one.")),(0,i.kt)("h2",{id:"child-objects"},"Child Objects"),(0,i.kt)("p",null,"Let's start with the simple case of a single attachment point that is somewhere down the hierarchy of our Player, such as a hand at the end of an arm. In a script that inherits from NetworkBehaviour on the Player Prefab, we'd have a ",(0,i.kt)("inlineCode",{parentName:"p"},"GameObject")," reference where the attachment point can be assigned in the inspector, a SyncVar enum with various choices of what the player is holding, and a Hook for the SyncVar to swap out the art of the held item based on the new value."),(0,i.kt)("p",null,"In the image below, Kyle has an empty game object, ",(0,i.kt)("inlineCode",{parentName:"p"},"RightHand"),", added to the wrist, and some prefabs to be equipped (Ball, Box, Cylinder), and a Player Equip script to handle them."),(0,i.kt)("p",null,"The inspector shows ",(0,i.kt)("inlineCode",{parentName:"p"},"RightHand")," assigned in 2 places, the Player Equip script, as well as the target of the Network Transform Child component, so we could adjust the relative position of the attachment point (not the art) for all clients as needed."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Screenshot of Player with Equip Script",src:n(30536).Z,width:"1218",height:"725"})),(0,i.kt)("p",null,"Below is the Player Equip script to handle the changing of the equipped item, and some notes for consideration:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"While we could just have all the art items attached at design time and just enable/disable them based on the enum, this doesn't scale well to a lot of items and if they have scripts on them for how they behave in the game, such as animations, special effects, etc. it could get ugly pretty fast, so this example locally instantiates and destroys instead as a design choice."),(0,i.kt)("li",{parentName:"ul"},"The example makes no effort to deal with position offset between the item and the attach point, e.g. having the grip or handle of an item aligns with the hand. This is best dealt with in a MonoBehaviour script on the item that has public fields for the local position and rotation that can be set in the designer and a bit of code in Start to apply those values in local coordinates relative to the parent attach point.")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"using UnityEngine;\nusing System.Collections;\nusing Mirage;\n\npublic enum EquippedItem : byte\n{\n nothing,\n ball,\n box,\n cylinder\n}\n\npublic class PlayerEquip : NetworkBehaviour\n{\n public GameObject sceneObjectPrefab;\n\n public GameObject rightHand;\n\n public GameObject ballPrefab;\n public GameObject boxPrefab;\n public GameObject cylinderPrefab;\n\n [SyncVar(hook = nameof(OnChangeEquipment))]\n public EquippedItem equippedItem;\n\n void OnChangeEquipment(EquippedItem oldEquippedItem, EquippedItem newEquippedItem)\n {\n StartCoroutine(ChangeEquipment(newEquippedItem));\n }\n\n // Since Destroy is delayed to the end of the current frame, we use a coroutine\n // to clear out any child objects before instantiating the new one\n IEnumerator ChangeEquipment(EquippedItem newEquippedItem)\n {\n while (rightHand.transform.childCount > 0)\n {\n Destroy(rightHand.transform.GetChild(0).gameObject);\n yield return null;\n }\n\n switch (newEquippedItem)\n {\n case EquippedItem.ball:\n Instantiate(ballPrefab, rightHand.transform);\n break;\n case EquippedItem.box:\n Instantiate(boxPrefab, rightHand.transform);\n break;\n case EquippedItem.cylinder:\n Instantiate(cylinderPrefab, rightHand.transform);\n break;\n }\n }\n\n void Update()\n {\n if (!IsLocalPlayer) return;\n\n if (Input.GetKeyDown(KeyCode.Alpha0) && equippedItem != EquippedItem.nothing)\n CmdChangeEquippedItem(EquippedItem.nothing);\n if (Input.GetKeyDown(KeyCode.Alpha1) && equippedItem != EquippedItem.ball)\n CmdChangeEquippedItem(EquippedItem.ball);\n if (Input.GetKeyDown(KeyCode.Alpha2) && equippedItem != EquippedItem.box)\n CmdChangeEquippedItem(EquippedItem.box);\n if (Input.GetKeyDown(KeyCode.Alpha3) && equippedItem != EquippedItem.cylinder)\n CmdChangeEquippedItem(EquippedItem.cylinder);\n }\n\n [ServerRpc]\n void CmdChangeEquippedItem(EquippedItem selectedItem)\n {\n equippedItem = selectedItem;\n }\n}\n")),(0,i.kt)("h2",{id:"dropping-items"},"Dropping Items"),(0,i.kt)("p",null,"Now that we can equip the items, we need a way to drop the current item into the world as a networked item. Remember that, as child art, the item prefabs have no networking components on them at all."),(0,i.kt)("p",null,"First, let's add one more Input to the Update method above and a ",(0,i.kt)("inlineCode",{parentName:"p"},"CmdDropItem")," method:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"void Update()\n{\n if (!IsLocalPlayer) return;\n\n if (Input.GetKeyDown(KeyCode.Alpha0) && equippedItem != EquippedItem.nothing)\n CmdChangeEquippedItem(EquippedItem.nothing);\n if (Input.GetKeyDown(KeyCode.Alpha1) && equippedItem != EquippedItem.ball)\n CmdChangeEquippedItem(EquippedItem.ball);\n if (Input.GetKeyDown(KeyCode.Alpha2) && equippedItem != EquippedItem.box)\n CmdChangeEquippedItem(EquippedItem.box);\n if (Input.GetKeyDown(KeyCode.Alpha3) && equippedItem != EquippedItem.cylinder)\n CmdChangeEquippedItem(EquippedItem.cylinder);\n\n if (Input.GetKeyDown(KeyCode.X) && equippedItem != EquippedItem.nothing)\n CmdDropItem();\n}\n")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"[ServerRpc]\nvoid CmdDropItem()\n{\n // Instantiate the scene object on the server\n Vector3 pos = rightHand.transform.position;\n Quaternion rot = rightHand.transform.rotation;\n GameObject newSceneObject = Instantiate(sceneObjectPrefab, pos, rot);\n\n // set the RigidBody as non-kinematic on the server only (isKinematic = true in prefab)\n newSceneObject.GetComponent<Rigidbody>().isKinematic = false;\n\n SceneObject sceneObject = newSceneObject.GetComponent<SceneObject>();\n\n // set the child object on the server\n sceneObject.SetEquippedItem(equippedItem);\n\n // set the SyncVar on the scene object for clients\n sceneObject.equippedItem = equippedItem;\n\n // set the player's SyncVar to nothing so clients will destroy the equipped child item\n equippedItem = EquippedItem.nothing;\n\n // Spawn the scene object on the network for all to see\n ServerObjectManager.Spawn(newSceneObject);\n}\n")),(0,i.kt)("p",null,"In the image above, there's a ",(0,i.kt)("inlineCode",{parentName:"p"},"sceneObjectPrefab")," field that is assigned to a prefab that will act as a container for our item prefabs. The SceneObject prefab has a SceneObject script with a SyncVar like the Player Equip script, and a SetEquippedItem method that takes the shared enum value as a parameter."),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"using UnityEngine;\nusing System.Collections;\nusing Mirage;\n\npublic class SceneObject : NetworkBehaviour\n{\n [SyncVar(hook = nameof(OnChangeEquipment))]\n public EquippedItem equippedItem;\n\n public GameObject ballPrefab;\n public GameObject boxPrefab;\n public GameObject cylinderPrefab;\n\n void OnChangeEquipment(EquippedItem oldEquippedItem, EquippedItem newEquippedItem)\n {\n StartCoroutine(ChangeEquipment(newEquippedItem));\n }\n\n // Since Destroy is delayed to the end of the current frame, we use a coroutine\n // to clear out any child objects before instantiating the new one\n IEnumerator ChangeEquipment(EquippedItem newEquippedItem)\n {\n while (transform.childCount > 0)\n {\n Destroy(transform.GetChild(0).gameObject);\n yield return null;\n }\n\n // Use the new value, not the SyncVar property value\n SetEquippedItem(newEquippedItem);\n }\n\n // SetEquippedItem is called on the client from OnChangeEquipment (above),\n // and on the server from CmdDropItem in the PlayerEquip script.\n public void SetEquippedItem(EquippedItem newEquippedItem)\n {\n switch (newEquippedItem)\n {\n case EquippedItem.ball:\n Instantiate(ballPrefab, transform);\n break;\n case EquippedItem.box:\n Instantiate(boxPrefab, transform);\n break;\n case EquippedItem.cylinder:\n Instantiate(cylinderPrefab, transform);\n break;\n }\n }\n}\n")),(0,i.kt)("p",null,"In the run-time image below, the Ball(Clone) is attached to the ",(0,i.kt)("inlineCode",{parentName:"p"},"RightHand")," object, and the Box(Clone) is attached to the SceneObject(Clone), which is shown in the inspector."),(0,i.kt)("p",null,"The art prefabs have simple colliders on them (sphere, box, capsule). If your art item has a mesh collider, it must be marked as Convex to work with the RigidBody on the SceneObject container."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Screenshot of Kyle with equipped item and scene object",src:n(19089).Z,width:"1231",height:"659"})),(0,i.kt)("h2",{id:"pickup-items"},"Pickup Items"),(0,i.kt)("p",null,"Now that we have a box dropped in the scene, we need to pick it up again. To do that, a ",(0,i.kt)("inlineCode",{parentName:"p"},"CmdPickupItem")," method is added to the Player Equip script:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"// CmdPickupItem is public because it's called from a script on the SceneObject\n[ServerRpc]\npublic void CmdPickupItem(GameObject sceneObject)\n{\n // set the player's SyncVar so clients can show the equipped item\n equippedItem = sceneObject.GetComponent<SceneObject>().equippedItem;\n\n // Destroy the scene object\n ServerObjectManager.Destroy(sceneObject);\n}\n")),(0,i.kt)("p",null,"This method is simply called from ",(0,i.kt)("inlineCode",{parentName:"p"},"OnMouseDown")," in the Scene Object script:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"private void OnMouseDown()\n{\n Client.Player.Identity.GetComponent<PlayerEquip>().CmdPickupItem(gameObject);\n}\n")),(0,i.kt)("p",null,"Since the SceneObject(Clone) is networked, we can pass it directly through to ",(0,i.kt)("inlineCode",{parentName:"p"},"CmdPickupItem")," on the character object to set the equipped item SyncVar and destroy the scene object."),(0,i.kt)("p",null,"For this entire example, the only prefab that needs to be registered with Network Manager besides the Player is the SceneObject prefab."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Screenshot of inspector",src:n(45648).Z,width:"420",height:"561"})))}l.isMDXComponent=!0},30536:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/child-objects1-cacb0aebef9b0a5cc31911c10cacf626.png"},19089:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/child-objects2-4aee0695e2d49dba533e3f96c106d7a0.png"},45648:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/child-objects3-76306f96399ff8d8d8547738f485e505.png"}}]); \ No newline at end of file diff --git a/assets/js/95cbe481.befee815.js b/assets/js/95cbe481.befee815.js new file mode 100644 index 00000000000..0e46e326d51 --- /dev/null +++ b/assets/js/95cbe481.befee815.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5546],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>h});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),s=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},u=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),p=s(a),h=n,m=p["".concat(c,".").concat(h)]||p[h]||d[h]||i;return a?r.createElement(m,l(l({ref:t},u),{},{components:a})):r.createElement(m,l({ref:t},u))}));function h(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,l=new Array(i);l[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,l[1]=o;for(var s=2;s<i;s++)l[s]=a[s];return r.createElement.apply(null,l)}return r.createElement.apply(null,a)}p.displayName="MDXCreateElement"},18422:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var r=a(87462),n=(a(67294),a(3905));const i={id:"BasicAuthenticator",title:"BasicAuthenticator"},l="Class BasicAuthenticator",o={unversionedId:"reference/Mirage.Authenticators/BasicAuthenticator",id:"reference/Mirage.Authenticators/BasicAuthenticator",title:"BasicAuthenticator",description:"Inheritance",source:"@site/docs/reference/Mirage.Authenticators/BasicAuthenticator.md",sourceDirName:"reference/Mirage.Authenticators",slug:"/reference/Mirage.Authenticators/BasicAuthenticator",permalink:"/Mirage/docs/reference/Mirage.Authenticators/BasicAuthenticator",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authenticators/BasicAuthenticator.md",tags:[],version:"current",frontMatter:{id:"BasicAuthenticator",title:"BasicAuthenticator"},sidebar:"api",previous:{title:"BasicAuthenticator.JoinMessage",permalink:"/Mirage/docs/reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage"},next:{title:"Mirage.Authenticators.SessionId",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"ServerCode",id:"servercode",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Methods",id:"methods",level:3},{value:"Authenticate(INetworkPlayer, BasicAuthenticator.JoinMessage)",id:"authenticateinetworkplayer-basicauthenticatorjoinmessage",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"SendCode(NetworkClient, String)",id:"sendcodenetworkclient-string",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-1",level:5}],u={toc:s};function d(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-basicauthenticator"},"Class BasicAuthenticator"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Authentication.NetworkAuthenticator"),(0,n.kt)("div",{class:"level",style:{"--data-index":2}},"Mirage.Authentication.NetworkAuthenticator<Mirage.Authenticators.BasicAuthenticator.JoinMessage>")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show"),(0,n.kt)("p",null,"Mirage.Authentication.NetworkAuthenticator","<","Mirage.Authenticators.BasicAuthenticator.JoinMessage",">",".AuthenticateAsync(Mirage.INetworkPlayer, Mirage.Authenticators.BasicAuthenticator.JoinMessage)"),(0,n.kt)("p",null,"Mirage.Authentication.NetworkAuthenticator","<","Mirage.Authenticators.BasicAuthenticator.JoinMessage",">",".SendAuthentication(Mirage.NetworkClient, Mirage.Authenticators.BasicAuthenticator.JoinMessage)"),(0,n.kt)("p",null,"Mirage.Authentication.NetworkAuthenticator.AuthenticatorName")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class BasicAuthenticator : NetworkAuthenticator<BasicAuthenticator.JoinMessage>, INetworkAuthenticator\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"servercode"},"ServerCode"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public string ServerCode\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"authenticateinetworkplayer-basicauthenticatorjoinmessage"},"Authenticate(INetworkPlayer, BasicAuthenticator.JoinMessage)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected override AuthenticationResult Authenticate(INetworkPlayer player, BasicAuthenticator.JoinMessage message)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Authenticators.BasicAuthenticator.JoinMessage"),(0,n.kt)("td",{parentName:"tr",align:null},"message"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Authentication.AuthenticationResult"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"sendcodenetworkclient-string"},"SendCode(NetworkClient, String)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendCode(NetworkClient client, string serverCode = null)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkClient"),(0,n.kt)("td",{parentName:"tr",align:null},"client"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.String"),(0,n.kt)("td",{parentName:"tr",align:null},"serverCode"),(0,n.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/95d6d710.de3f69c1.js b/assets/js/95d6d710.de3f69c1.js new file mode 100644 index 00000000000..f02cb348d5a --- /dev/null +++ b/assets/js/95d6d710.de3f69c1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[765],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>u});var r=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,l=function(e,t){if(null==e)return{};var a,r,l={},n=Object.keys(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var d=r.createContext({}),g=function(e){var t=r.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},c=function(e){var t=g(e.components);return r.createElement(d.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,l=e.mdxType,n=e.originalType,d=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),m=g(a),u=l,p=m["".concat(d,".").concat(u)]||m[u]||s[u]||n;return a?r.createElement(p,i(i({ref:t},c),{},{components:a})):r.createElement(p,i({ref:t},c))}));function u(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var n=a.length,i=new Array(n);i[0]=m;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:l,i[1]=o;for(var g=2;g<n;g++)i[g]=a[g];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},77131:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>s,frontMatter:()=>n,metadata:()=>o,toc:()=>g});var r=a(87462),l=(a(67294),a(3905));const n={id:"MirageLogHandler.Settings",title:"MirageLogHandler.Settings"},i="Class MirageLogHandler.Settings",o={unversionedId:"reference/Mirage.Logging/MirageLogHandler.Settings",id:"reference/Mirage.Logging/MirageLogHandler.Settings",title:"MirageLogHandler.Settings",description:"Inheritance",source:"@site/docs/reference/Mirage.Logging/MirageLogHandler.Settings.md",sourceDirName:"reference/Mirage.Logging",slug:"/reference/Mirage.Logging/MirageLogHandler.Settings",permalink:"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler.Settings",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Logging/MirageLogHandler.Settings.md",tags:[],version:"current",frontMatter:{id:"MirageLogHandler.Settings",title:"MirageLogHandler.Settings"},sidebar:"api",previous:{title:"LogSettingsSO",permalink:"/Mirage/docs/reference/Mirage.Logging/LogSettingsSO"},next:{title:"MirageLogHandler.TimePrefix",permalink:"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler.TimePrefix"}},d={},g=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"Settings(MirageLogHandler.TimePrefix, Boolean, Boolean)",id:"settingsmirageloghandlertimeprefix-boolean-boolean",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"TimePrefix",id:"timeprefix",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"ColoredLabel",id:"coloredlabel",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Label",id:"label",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"ColorSeed",id:"colorseed",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"ColorSaturation",id:"colorsaturation",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"ColorValue",id:"colorvalue",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Methods",id:"methods",level:3},{value:"AllowColorToLabel(String, String)",id:"allowcolortolabelstring-string",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"ColorFromName(String)",id:"colorfromnamestring",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-1",level:5}],c={toc:g};function s(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,r.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-mirageloghandlersettings"},"Class MirageLogHandler.Settings"),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,l.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Show")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class Settings\n")),(0,l.kt)("h3",{id:"constructors"},"Constructors"),(0,l.kt)("h4",{id:"settingsmirageloghandlertimeprefix-boolean-boolean"},"Settings(MirageLogHandler.TimePrefix, Boolean, Boolean)"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public Settings(MirageLogHandler.TimePrefix timePrefix, bool coloredLabel, bool label)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Logging.MirageLogHandler.TimePrefix"),(0,l.kt)("td",{parentName:"tr",align:null},"timePrefix"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"coloredLabel"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"label"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h3",{id:"fields"},"Fields"),(0,l.kt)("h4",{id:"timeprefix"},"TimePrefix"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public MirageLogHandler.TimePrefix TimePrefix\n")),(0,l.kt)("h4",{id:"coloredlabel"},"ColoredLabel"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly bool ColoredLabel\n")),(0,l.kt)("h4",{id:"label"},"Label"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly bool Label\n")),(0,l.kt)("h4",{id:"colorseed"},"ColorSeed"),(0,l.kt)("p",null,"Used to change the colors of names\nnumber is multiple by hash unchecked, so small changes to seed will cause large changes in result\n403 seems like a good starting seed, common class like NetworkServer and NetworkClient have different colors"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int ColorSeed\n")),(0,l.kt)("h4",{id:"colorsaturation"},"ColorSaturation"),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public float ColorSaturation\n")),(0,l.kt)("h4",{id:"colorvalue"},"ColorValue"),(0,l.kt)("h5",{id:"declaration-6"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public float ColorValue\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"allowcolortolabelstring-string"},"AllowColorToLabel(String, String)"),(0,l.kt)("h5",{id:"declaration-7"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public string AllowColorToLabel(string fullname, string label)\n")),(0,l.kt)("h5",{id:"parameters-1"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.String"),(0,l.kt)("td",{parentName:"tr",align:null},"fullname"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.String"),(0,l.kt)("td",{parentName:"tr",align:null},"label"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.String"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"colorfromnamestring"},"ColorFromName(String)"),(0,l.kt)("h5",{id:"declaration-8"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public Color ColorFromName(string fullName)\n")),(0,l.kt)("h5",{id:"parameters-2"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.String"),(0,l.kt)("td",{parentName:"tr",align:null},"fullName"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-1"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Color"),(0,l.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9654b5f5.145269d9.js b/assets/js/9654b5f5.145269d9.js new file mode 100644 index 00000000000..3ee790f4ad2 --- /dev/null +++ b/assets/js/9654b5f5.145269d9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8793],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>m});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),u=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=u(e.components);return n.createElement(s.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),d=u(r),m=o,f=d["".concat(s,".").concat(m)]||d[m]||c[m]||a;return r?n.createElement(f,i(i({ref:t},p),{},{components:r})):n.createElement(f,i({ref:t},p))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=d;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:o,i[1]=l;for(var u=2;u<a;u++)i[u]=r[u];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},15509:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>c,frontMatter:()=>a,metadata:()=>l,toc:()=>u});var n=r(87462),o=(r(67294),r(3905));const a={sidebar_position:13},i="FAQ",l={unversionedId:"guides/faq",id:"guides/faq",title:"FAQ",description:"This page is a work in progress",source:"@site/docs/guides/faq.md",sourceDirName:"guides",slug:"/guides/faq",permalink:"/Mirage/docs/guides/faq",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/faq.md",tags:[],version:"current",sidebarPosition:13,frontMatter:{sidebar_position:13},sidebar:"docs",previous:{title:"Resources",permalink:"/Mirage/docs/guides/resources"},next:{title:"Overview",permalink:"/Mirage/docs/guides/development-servers/"}},s={},u=[{value:"How do I use this feature?",id:"how-do-i-use-this-feature",level:3},{value:"How to Connect",id:"how-to-connect",level:3}],p={toc:u};function c(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"faq"},"FAQ"),(0,o.kt)("admonition",{title:"Work In Progress",type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"This page is a work in progress")),(0,o.kt)("h3",{id:"how-do-i-use-this-feature"},"How do I use this feature?"),(0,o.kt)("details",null,(0,o.kt)("summary",null,"How to send/sync custom data types?"),"Mirage can automatically create serialization functions for many custom data types when your scripts are compiled.",(0,o.kt)("p",null," For example, Mirage will automatically create a function for ",(0,o.kt)("inlineCode",{parentName:"p"},"MyCustomStruct")," so that it can be sent without any extra work."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"[ClientRpc]\npublic void RpcDoSomething(MyCustomStruct data)\n{\n // do stuff here\n}\n\nstruct MyCustomStruct\n{\n int someNumber;\n Vector3 somePosition;\n}\n")),(0,o.kt)("p",null," For More details "),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/docs/guides/serialization/data-types"},"Data Types")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/docs/guides/serialization/advanced"},"Serialization")))),(0,o.kt)("h3",{id:"how-to-connect"},"How to Connect"),(0,o.kt)("details",null,(0,o.kt)("summary",null,"How to connect to games on same PC"),(0,o.kt)("p",null," Make sure the Network Address field on NetworkManager or the Hud is set up ",(0,o.kt)("inlineCode",{parentName:"p"},"localHost"))),(0,o.kt)("details",null,(0,o.kt)("summary",null,"How to connect to a different PC/Device on same network"),(0,o.kt)("p",null," Set the Network Address field to the LAN IP of the host ",(0,o.kt)("inlineCode",{parentName:"p"},"192.168.x.x")),(0,o.kt)("p",null," ",(0,o.kt)("em",{parentName:"p"},"In some cases, you may need additional steps, check below")),(0,o.kt)("p",null," To check IP on Windows you can open PowerShell and use the ",(0,o.kt)("inlineCode",{parentName:"p"},"ipconfig")," command, then under your current adapter (ethernet/wifi/etc) look for ",(0,o.kt)("inlineCode",{parentName:"p"},"IPv4 Address")),(0,o.kt)("p",null," ",(0,o.kt)("inlineCode",{parentName:"p"},"IPv4 Address. . . . . . . . . . . : 192.168.x.x"))),(0,o.kt)("details",null,(0,o.kt)("summary",null,"How to connect to a different PC/Device over the internet"),(0,o.kt)("p",null," Set the Network Address field to be the IP address of the host (google 'whats my IP')"),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"This section does not cover relays/dedicated vps/headless features")),(0,o.kt)("p",null," For this to work, you will need to do ",(0,o.kt)("strong",{parentName:"p"},"some")," of the following, most of these depend on your set-up and router"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("strong",{parentName:"p"},"Port forward"),":",(0,o.kt)("br",{parentName:"p"}),"\n","You'll have to log in to your router."),(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},"Forward your game port (default is 7777) for your PC's local IP. (192.168.1.20 for example) "))),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("strong",{parentName:"p"},"PC Firewalls"),": "),(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},"You can turn it off for a quick test (And turn it back on later)"),(0,o.kt)("li",{parentName:"ul"},"manually allow the editor and any builds you create in firewalls settings."))),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Try from a build rather than the Unity Editor")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Some anti-virus/phones may have additional blocking."),(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},"You can turn it off for a quick test (And turn it back on later)"))),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"In rare cases ISPs or companies/schools block ports and connections, this is harder to adjust yourself.\nIf you need more help it is best to google for a guide for your setup and router.\nAn alternative to the above is to use a dedicated server (VPS) or use a relay.")))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/983360fd.f0012377.js b/assets/js/983360fd.f0012377.js new file mode 100644 index 00000000000..876353463cc --- /dev/null +++ b/assets/js/983360fd.f0012377.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9343],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>d});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},u=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},g={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=c(n),d=a,m=p["".concat(l,".").concat(d)]||p[d]||g[d]||o;return n?r.createElement(m,s(s({ref:t},u),{},{components:n})):r.createElement(m,s({ref:t},u))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,s=new Array(o);s[0]=p;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,s[1]=i;for(var c=2;c<o;c++)s[c]=n[c];return r.createElement.apply(null,s)}return r.createElement.apply(null,n)}p.displayName="MDXCreateElement"},99146:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>g,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const o={id:"NetworkDiagnostics.MessageInfo",title:"NetworkDiagnostics.MessageInfo"},s="Struct NetworkDiagnostics.MessageInfo",i={unversionedId:"reference/Mirage/NetworkDiagnostics.MessageInfo",id:"reference/Mirage/NetworkDiagnostics.MessageInfo",title:"NetworkDiagnostics.MessageInfo",description:"Describes an outgoing message",source:"@site/docs/reference/Mirage/NetworkDiagnostics.MessageInfo.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkDiagnostics.MessageInfo",permalink:"/Mirage/docs/reference/Mirage/NetworkDiagnostics.MessageInfo",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkDiagnostics.MessageInfo.md",tags:[],version:"current",frontMatter:{id:"NetworkDiagnostics.MessageInfo",title:"NetworkDiagnostics.MessageInfo"},sidebar:"api",previous:{title:"NetworkClient",permalink:"/Mirage/docs/reference/Mirage/NetworkClient"},next:{title:"NetworkDiagnostics",permalink:"/Mirage/docs/reference/Mirage/NetworkDiagnostics"}},l={},c=[{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"MessageInfo(Object, Int32, Int32)",id:"messageinfoobject-int32-int32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"message",id:"message",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"bytes",id:"bytes",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"count",id:"count",level:4},{value:"Declaration",id:"declaration-3",level:5}],u={toc:c};function g(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-networkdiagnosticsmessageinfo"},"Struct NetworkDiagnostics.MessageInfo"),(0,a.kt)("p",null,"Describes an outgoing message"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct MessageInfo\n")),(0,a.kt)("h3",{id:"constructors"},"Constructors"),(0,a.kt)("h4",{id:"messageinfoobject-int32-int32"},"MessageInfo(Object, Int32, Int32)"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public MessageInfo(object message, int bytes, int count)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Object"),(0,a.kt)("td",{parentName:"tr",align:null},"message"),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,a.kt)("td",{parentName:"tr",align:null},"bytes"),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,a.kt)("td",{parentName:"tr",align:null},"count"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"message"},"message"),(0,a.kt)("p",null,"The message being sent"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly object message\n")),(0,a.kt)("h4",{id:"bytes"},"bytes"),(0,a.kt)("p",null,"how big was the message (does not include transport headers)"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly int bytes\n")),(0,a.kt)("h4",{id:"count"},"count"),(0,a.kt)("p",null,"How many connections was the message sent to\nIf an object has a lot of observers this count could be high"),(0,a.kt)("h5",{id:"declaration-3"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly int count\n")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/98576e8e.a1119226.js b/assets/js/98576e8e.a1119226.js new file mode 100644 index 00000000000..26c191a9f1b --- /dev/null +++ b/assets/js/98576e8e.a1119226.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5004],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},c=Object.keys(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,c=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),d=l(r),f=a,g=d["".concat(s,".").concat(f)]||d[f]||p[f]||c;return r?n.createElement(g,o(o({ref:t},u),{},{components:r})):n.createElement(g,o({ref:t},u))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var c=r.length,o=new Array(c);o[0]=d;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:a,o[1]=i;for(var l=2;l<c;l++)o[l]=r[l];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},16324:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>p,frontMatter:()=>c,metadata:()=>i,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const c={id:"ObjectDestroyMessage",title:"ObjectDestroyMessage"},o="Struct ObjectDestroyMessage",i={unversionedId:"reference/Mirage/ObjectDestroyMessage",id:"reference/Mirage/ObjectDestroyMessage",title:"ObjectDestroyMessage",description:"Syntax",source:"@site/docs/reference/Mirage/ObjectDestroyMessage.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/ObjectDestroyMessage",permalink:"/Mirage/docs/reference/Mirage/ObjectDestroyMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/ObjectDestroyMessage.md",tags:[],version:"current",frontMatter:{id:"ObjectDestroyMessage",title:"ObjectDestroyMessage"},sidebar:"api",previous:{title:"NetworkedPrefabAttribute",permalink:"/Mirage/docs/reference/Mirage/NetworkedPrefabAttribute"},next:{title:"ObjectHideMessage",permalink:"/Mirage/docs/reference/Mirage/ObjectHideMessage"}},s={},l=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"NetId",id:"netid",level:4},{value:"Declaration",id:"declaration",level:5}],u={toc:l};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-objectdestroymessage"},"Struct ObjectDestroyMessage"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct ObjectDestroyMessage\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"netid"},"NetId"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public uint NetId\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9878.f2faa2ed.js b/assets/js/9878.f2faa2ed.js new file mode 100644 index 00000000000..961f91834d8 --- /dev/null +++ b/assets/js/9878.f2faa2ed.js @@ -0,0 +1,2 @@ +/*! For license information please see 9878.f2faa2ed.js.LICENSE.txt */ +(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9878],{71639:(e,t,n)=>{"use strict";e.exports=n(29281)},47114:(e,t,n)=>{"use strict";var i=n(85670),r={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:"0"},defaultClasses:{root:"algolia-autocomplete",prefix:"aa",noPrefix:!1,dropdownMenu:"dropdown-menu",input:"input",hint:"hint",suggestions:"suggestions",suggestion:"suggestion",cursor:"cursor",dataset:"dataset",empty:"empty"},appendTo:{wrapper:{position:"absolute",zIndex:"100",display:"none"},input:{},inputWithNoHint:{},dropdown:{display:"block"}}};i.isMsie()&&i.mixin(r.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),i.isMsie()&&i.isMsie()<=7&&i.mixin(r.input,{marginTop:"-1px"}),e.exports=r},13312:(e,t,n)=>{"use strict";var i="aaDataset",r="aaValue",s="aaDatum",o=n(85670),a=n(33855),u=n(26619),c=n(47114),l=n(6823);function h(e){var t;(e=e||{}).templates=e.templates||{},e.source||o.error("missing source"),e.name&&(t=e.name,!/^[_a-zA-Z0-9-]+$/.test(t))&&o.error("invalid dataset name: "+e.name),this.query=null,this._isEmpty=!0,this.highlight=!!e.highlight,this.name=void 0===e.name||null===e.name?o.getUniqueId():e.name,this.source=e.source,this.displayFn=function(e){return e=e||"value",o.isFunction(e)?e:t;function t(t){return t[e]}}(e.display||e.displayKey),this.debounce=e.debounce,this.cache=!1!==e.cache,this.templates=function(e,t){return{empty:e.empty&&o.templatify(e.empty),header:e.header&&o.templatify(e.header),footer:e.footer&&o.templatify(e.footer),suggestion:e.suggestion||n};function n(e){return"<p>"+t(e)+"</p>"}}(e.templates,this.displayFn),this.css=o.mixin({},c,e.appendTo?c.appendTo:{}),this.cssClasses=e.cssClasses=o.mixin({},c.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix||o.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix);var n=o.className(this.cssClasses.prefix,this.cssClasses.dataset);this.$el=e.$menu&&e.$menu.find(n+"-"+this.name).length>0?a.element(e.$menu.find(n+"-"+this.name)[0]):a.element(u.dataset.replace("%CLASS%",this.name).replace("%PREFIX%",this.cssClasses.prefix).replace("%DATASET%",this.cssClasses.dataset)),this.$menu=e.$menu,this.clearCachedSuggestions()}h.extractDatasetName=function(e){return a.element(e).data(i)},h.extractValue=function(e){return a.element(e).data(r)},h.extractDatum=function(e){var t=a.element(e).data(s);return"string"==typeof t&&(t=JSON.parse(t)),t},o.mixin(h.prototype,l,{_render:function(e,t){if(this.$el){var n,c=this,l=[].slice.call(arguments,2);if(this.$el.empty(),n=t&&t.length,this._isEmpty=!n,!n&&this.templates.empty)this.$el.html(h.apply(this,l)).prepend(c.templates.header?f.apply(this,l):null).append(c.templates.footer?d.apply(this,l):null);else if(n)this.$el.html(p.apply(this,l)).prepend(c.templates.header?f.apply(this,l):null).append(c.templates.footer?d.apply(this,l):null);else if(t&&!Array.isArray(t))throw new TypeError("suggestions must be an array");this.$menu&&this.$menu.addClass(this.cssClasses.prefix+(n?"with":"without")+"-"+this.name).removeClass(this.cssClasses.prefix+(n?"without":"with")+"-"+this.name),this.trigger("rendered",e)}function h(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!0}].concat(t),c.templates.empty.apply(this,t)}function p(){var e,n,l=[].slice.call(arguments,0),h=this,p=u.suggestions.replace("%PREFIX%",this.cssClasses.prefix).replace("%SUGGESTIONS%",this.cssClasses.suggestions);return e=a.element(p).css(this.css.suggestions),n=o.map(t,f),e.append.apply(e,n),e;function f(e){var t,n=u.suggestion.replace("%PREFIX%",h.cssClasses.prefix).replace("%SUGGESTION%",h.cssClasses.suggestion);return(t=a.element(n).attr({role:"option",id:["option",Math.floor(1e8*Math.random())].join("-")}).append(c.templates.suggestion.apply(this,[e].concat(l)))).data(i,c.name),t.data(r,c.displayFn(e)||void 0),t.data(s,JSON.stringify(e)),t.children().each((function(){a.element(this).css(h.css.suggestionChild)})),t}}function f(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!n}].concat(t),c.templates.header.apply(this,t)}function d(){var t=[].slice.call(arguments,0);return t=[{query:e,isEmpty:!n}].concat(t),c.templates.footer.apply(this,t)}},getRoot:function(){return this.$el},update:function(e){function t(t){if(!this.canceled&&e===this.query){var n=[].slice.call(arguments,1);this.cacheSuggestions(e,t,n),this._render.apply(this,[e,t].concat(n))}}if(this.query=e,this.canceled=!1,this.shouldFetchFromCache(e))t.apply(this,[this.cachedSuggestions].concat(this.cachedRenderExtraArgs));else{var n=this,i=function(){n.canceled||n.source(e,t.bind(n))};if(this.debounce){clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout((function(){n.debounceTimeout=null,i()}),this.debounce)}else i()}},cacheSuggestions:function(e,t,n){this.cachedQuery=e,this.cachedSuggestions=t,this.cachedRenderExtraArgs=n},shouldFetchFromCache:function(e){return this.cache&&this.cachedQuery===e&&this.cachedSuggestions&&this.cachedSuggestions.length},clearCachedSuggestions:function(){delete this.cachedQuery,delete this.cachedSuggestions,delete this.cachedRenderExtraArgs},cancel:function(){this.canceled=!0},clear:function(){this.$el&&(this.cancel(),this.$el.empty(),this.trigger("rendered",""))},isEmpty:function(){return this._isEmpty},destroy:function(){this.clearCachedSuggestions(),this.$el=null}}),e.exports=h},35445:(e,t,n)=>{"use strict";var i=n(85670),r=n(33855),s=n(6823),o=n(13312),a=n(47114);function u(e){var t,n,s,o=this;(e=e||{}).menu||i.error("menu is required"),i.isArray(e.datasets)||i.isObject(e.datasets)||i.error("1 or more datasets required"),e.datasets||i.error("datasets is required"),this.isOpen=!1,this.isEmpty=!0,this.minLength=e.minLength||0,this.templates={},this.appendTo=e.appendTo||!1,this.css=i.mixin({},a,e.appendTo?a.appendTo:{}),this.cssClasses=e.cssClasses=i.mixin({},a.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix||i.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),t=i.bind(this._onSuggestionClick,this),n=i.bind(this._onSuggestionMouseEnter,this),s=i.bind(this._onSuggestionMouseLeave,this);var c=i.className(this.cssClasses.prefix,this.cssClasses.suggestion);this.$menu=r.element(e.menu).on("mouseenter.aa",c,n).on("mouseleave.aa",c,s).on("click.aa",c,t),this.$container=e.appendTo?e.wrapper:this.$menu,e.templates&&e.templates.header&&(this.templates.header=i.templatify(e.templates.header),this.$menu.prepend(this.templates.header())),e.templates&&e.templates.empty&&(this.templates.empty=i.templatify(e.templates.empty),this.$empty=r.element('<div class="'+i.className(this.cssClasses.prefix,this.cssClasses.empty,!0)+'"></div>'),this.$menu.append(this.$empty),this.$empty.hide()),this.datasets=i.map(e.datasets,(function(t){return function(e,t,n){return new u.Dataset(i.mixin({$menu:e,cssClasses:n},t))}(o.$menu,t,e.cssClasses)})),i.each(this.datasets,(function(e){var t=e.getRoot();t&&0===t.parent().length&&o.$menu.append(t),e.onSync("rendered",o._onRendered,o)})),e.templates&&e.templates.footer&&(this.templates.footer=i.templatify(e.templates.footer),this.$menu.append(this.templates.footer()));var l=this;r.element(window).resize((function(){l._redraw()}))}i.mixin(u.prototype,s,{_onSuggestionClick:function(e){this.trigger("suggestionClicked",r.element(e.currentTarget))},_onSuggestionMouseEnter:function(e){var t=r.element(e.currentTarget);if(!t.hasClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0))){this._removeCursor();var n=this;setTimeout((function(){n._setCursor(t,!1)}),0)}},_onSuggestionMouseLeave:function(e){if(e.relatedTarget&&r.element(e.relatedTarget).closest("."+i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).length>0)return;this._removeCursor(),this.trigger("cursorRemoved")},_onRendered:function(e,t){if(this.isEmpty=i.every(this.datasets,(function(e){return e.isEmpty()})),this.isEmpty)if(t.length>=this.minLength&&this.trigger("empty"),this.$empty)if(t.length<this.minLength)this._hide();else{var n=this.templates.empty({query:this.datasets[0]&&this.datasets[0].query});this.$empty.html(n),this.$empty.show(),this._show()}else i.any(this.datasets,(function(e){return e.templates&&e.templates.empty}))?t.length<this.minLength?this._hide():this._show():this._hide();else this.isOpen&&(this.$empty&&(this.$empty.empty(),this.$empty.hide()),t.length>=this.minLength?this._show():this._hide());this.trigger("datasetRendered")},_hide:function(){this.$container.hide()},_show:function(){this.$container.css("display","block"),this._redraw(),this.trigger("shown")},_redraw:function(){this.isOpen&&this.appendTo&&this.trigger("redrawn")},_getSuggestions:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.suggestion))},_getCursor:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.cursor)).first()},_setCursor:function(e,t){e.first().addClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).attr("aria-selected","true"),this.trigger("cursorMoved",t)},_removeCursor:function(){this._getCursor().removeClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).removeAttr("aria-selected")},_moveCursor:function(e){var t,n,i,r;this.isOpen&&(n=this._getCursor(),t=this._getSuggestions(),this._removeCursor(),-1!==(i=((i=t.index(n)+e)+1)%(t.length+1)-1)?(i<-1&&(i=t.length-1),this._setCursor(r=t.eq(i),!0),this._ensureVisible(r)):this.trigger("cursorRemoved"))},_ensureVisible:function(e){var t,n,i,r;n=(t=e.position().top)+e.height()+parseInt(e.css("margin-top"),10)+parseInt(e.css("margin-bottom"),10),i=this.$menu.scrollTop(),r=this.$menu.height()+parseInt(this.$menu.css("padding-top"),10)+parseInt(this.$menu.css("padding-bottom"),10),t<0?this.$menu.scrollTop(i+t):r<n&&this.$menu.scrollTop(i+(n-r))},close:function(){this.isOpen&&(this.isOpen=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,this.isEmpty||this._show(),this.trigger("opened"))},setLanguageDirection:function(e){this.$menu.css("ltr"===e?this.css.ltr:this.css.rtl)},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(e){var t=null;return e.length&&(t={raw:o.extractDatum(e),value:o.extractValue(e),datasetName:o.extractDatasetName(e)}),t},getCurrentCursor:function(){return this._getCursor().first()},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},cursorTopSuggestion:function(){this._setCursor(this._getSuggestions().first(),!1)},update:function(e){i.each(this.datasets,(function(t){t.update(e)}))},empty:function(){i.each(this.datasets,(function(e){e.clear()})),this.isEmpty=!0},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){this.$menu.off(".aa"),this.$menu=null,i.each(this.datasets,(function(e){e.destroy()}))}}),u.Dataset=o,e.exports=u},47368:(e,t,n)=>{"use strict";var i=n(85670),r=n(33855);function s(e){e&&e.el||i.error("EventBus initialized without el"),this.$el=r.element(e.el)}i.mixin(s.prototype,{trigger:function(e,t,n,r){var s=i.Event("autocomplete:"+e);return this.$el.trigger(s,[t,n,r]),s}}),e.exports=s},6823:(e,t,n)=>{"use strict";var i=n(70624),r=/\s+/;function s(e,t,n,i){var s;if(!n)return this;for(t=t.split(r),n=i?function(e,t){return e.bind?e.bind(t):function(){e.apply(t,[].slice.call(arguments,0))}}(n,i):n,this._callbacks=this._callbacks||{};s=t.shift();)this._callbacks[s]=this._callbacks[s]||{sync:[],async:[]},this._callbacks[s][e].push(n);return this}function o(e,t,n){return function(){for(var i,r=0,s=e.length;!i&&r<s;r+=1)i=!1===e[r].apply(t,n);return!i}}e.exports={onSync:function(e,t,n){return s.call(this,"sync",e,t,n)},onAsync:function(e,t,n){return s.call(this,"async",e,t,n)},off:function(e){var t;if(!this._callbacks)return this;e=e.split(r);for(;t=e.shift();)delete this._callbacks[t];return this},trigger:function(e){var t,n,s,a,u;if(!this._callbacks)return this;e=e.split(r),s=[].slice.call(arguments,1);for(;(t=e.shift())&&(n=this._callbacks[t]);)a=o(n.sync,this,[t].concat(s)),u=o(n.async,this,[t].concat(s)),a()&&i(u);return this}}},26619:e=>{"use strict";e.exports={wrapper:'<span class="%ROOT%"></span>',dropdown:'<span class="%PREFIX%%DROPDOWN_MENU%"></span>',dataset:'<div class="%PREFIX%%DATASET%-%CLASS%"></div>',suggestions:'<span class="%PREFIX%%SUGGESTIONS%"></span>',suggestion:'<div class="%PREFIX%%SUGGESTION%"></div>'}},21286:(e,t,n)=>{"use strict";var i;i={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};var r=n(85670),s=n(33855),o=n(6823);function a(e){var t,n,o,a,u,c=this;(e=e||{}).input||r.error("input is missing"),t=r.bind(this._onBlur,this),n=r.bind(this._onFocus,this),o=r.bind(this._onKeydown,this),a=r.bind(this._onInput,this),this.$hint=s.element(e.hint),this.$input=s.element(e.input).on("blur.aa",t).on("focus.aa",n).on("keydown.aa",o),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=r.noop),r.isMsie()?this.$input.on("keydown.aa keypress.aa cut.aa paste.aa",(function(e){i[e.which||e.keyCode]||r.defer(r.bind(c._onInput,c,e))})):this.$input.on("input.aa",a),this.query=this.$input.val(),this.$overflowHelper=(u=this.$input,s.element('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:u.css("font-family"),fontSize:u.css("font-size"),fontStyle:u.css("font-style"),fontVariant:u.css("font-variant"),fontWeight:u.css("font-weight"),wordSpacing:u.css("word-spacing"),letterSpacing:u.css("letter-spacing"),textIndent:u.css("text-indent"),textRendering:u.css("text-rendering"),textTransform:u.css("text-transform")}).insertAfter(u))}function u(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}a.normalizeQuery=function(e){return(e||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},r.mixin(a.prototype,o,{_onBlur:function(){this.resetInputValue(),this.$input.removeAttr("aria-activedescendant"),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(e){var t=i[e.which||e.keyCode];this._managePreventDefault(t,e),t&&this._shouldTrigger(t,e)&&this.trigger(t+"Keyed",e)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(e,t){var n,i,r;switch(e){case"tab":i=this.getHint(),r=this.getInputValue(),n=i&&i!==r&&!u(t);break;case"up":case"down":n=!u(t);break;default:n=!1}n&&t.preventDefault()},_shouldTrigger:function(e,t){var n;if("tab"===e)n=!u(t);else n=!0;return n},_checkInputValue:function(){var e,t,n,i,r;e=this.getInputValue(),i=e,r=this.query,n=!(!(t=a.normalizeQuery(i)===a.normalizeQuery(r))||!this.query)&&this.query.length!==e.length,this.query=e,t?n&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(e){this.query=e},getInputValue:function(){return this.$input.val()},setInputValue:function(e,t){void 0===e&&(e=this.query),this.$input.val(e),t?this.clearHint():this._checkInputValue()},expand:function(){this.$input.attr("aria-expanded","true")},collapse:function(){this.$input.attr("aria-expanded","false")},setActiveDescendant:function(e){this.$input.attr("aria-activedescendant",e)},removeActiveDescendant:function(){this.$input.removeAttr("aria-activedescendant")},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(e){this.$hint.val(e)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var e,t,n;n=(e=this.getInputValue())!==(t=this.getHint())&&0===t.indexOf(e),""!==e&&n&&!this.hasOverflow()||this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var e=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=e},isCursorAtEnd:function(){var e,t,n;return e=this.$input.val().length,t=this.$input[0].selectionStart,r.isNumber(t)?t===e:!document.selection||((n=document.selection.createRange()).moveStart("character",-e),e===n.text.length)},destroy:function(){this.$hint.off(".aa"),this.$input.off(".aa"),this.$hint=this.$input=this.$overflowHelper=null}}),e.exports=a},4520:(e,t,n)=>{"use strict";var i="aaAttrs",r=n(85670),s=n(33855),o=n(47368),a=n(21286),u=n(35445),c=n(26619),l=n(47114);function h(e){var t,n;if((e=e||{}).input||r.error("missing input"),this.isActivated=!1,this.debug=!!e.debug,this.autoselect=!!e.autoselect,this.autoselectOnBlur=!!e.autoselectOnBlur,this.openOnFocus=!!e.openOnFocus,this.minLength=r.isNumber(e.minLength)?e.minLength:1,this.autoWidth=void 0===e.autoWidth||!!e.autoWidth,this.clearOnSelected=!!e.clearOnSelected,this.tabAutocomplete=void 0===e.tabAutocomplete||!!e.tabAutocomplete,e.hint=!!e.hint,e.hint&&e.appendTo)throw new Error("[autocomplete.js] hint and appendTo options can't be used at the same time");this.css=e.css=r.mixin({},l,e.appendTo?l.appendTo:{}),this.cssClasses=e.cssClasses=r.mixin({},l.defaultClasses,e.cssClasses||{}),this.cssClasses.prefix=e.cssClasses.formattedPrefix=r.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),this.listboxId=e.listboxId=[this.cssClasses.root,"listbox",r.getUniqueId()].join("-");var a=function(e){var t,n,o,a;t=s.element(e.input),n=s.element(c.wrapper.replace("%ROOT%",e.cssClasses.root)).css(e.css.wrapper),e.appendTo||"block"!==t.css("display")||"table"!==t.parent().css("display")||n.css("display","table-cell");var u=c.dropdown.replace("%PREFIX%",e.cssClasses.prefix).replace("%DROPDOWN_MENU%",e.cssClasses.dropdownMenu);o=s.element(u).css(e.css.dropdown).attr({role:"listbox",id:e.listboxId}),e.templates&&e.templates.dropdownMenu&&o.html(r.templatify(e.templates.dropdownMenu)());(a=t.clone().css(e.css.hint).css(function(e){return{backgroundAttachment:e.css("background-attachment"),backgroundClip:e.css("background-clip"),backgroundColor:e.css("background-color"),backgroundImage:e.css("background-image"),backgroundOrigin:e.css("background-origin"),backgroundPosition:e.css("background-position"),backgroundRepeat:e.css("background-repeat"),backgroundSize:e.css("background-size")}}(t))).val("").addClass(r.className(e.cssClasses.prefix,e.cssClasses.hint,!0)).removeAttr("id name placeholder required").prop("readonly",!0).attr({"aria-hidden":"true",autocomplete:"off",spellcheck:"false",tabindex:-1}),a.removeData&&a.removeData();t.data(i,{"aria-autocomplete":t.attr("aria-autocomplete"),"aria-expanded":t.attr("aria-expanded"),"aria-owns":t.attr("aria-owns"),autocomplete:t.attr("autocomplete"),dir:t.attr("dir"),role:t.attr("role"),spellcheck:t.attr("spellcheck"),style:t.attr("style"),type:t.attr("type")}),t.addClass(r.className(e.cssClasses.prefix,e.cssClasses.input,!0)).attr({autocomplete:"off",spellcheck:!1,role:"combobox","aria-autocomplete":e.datasets&&e.datasets[0]&&e.datasets[0].displayKey?"both":"list","aria-expanded":"false","aria-label":e.ariaLabel,"aria-owns":e.listboxId}).css(e.hint?e.css.input:e.css.inputWithNoHint);try{t.attr("dir")||t.attr("dir","auto")}catch(l){}return(n=e.appendTo?n.appendTo(s.element(e.appendTo).eq(0)).eq(0):t.wrap(n).parent()).prepend(e.hint?a:null).append(o),{wrapper:n,input:t,hint:a,menu:o}}(e);this.$node=a.wrapper;var u=this.$input=a.input;t=a.menu,n=a.hint,e.dropdownMenuContainer&&s.element(e.dropdownMenuContainer).css("position","relative").append(t.css("top","0")),u.on("blur.aa",(function(e){var n=document.activeElement;r.isMsie()&&(t[0]===n||t[0].contains(n))&&(e.preventDefault(),e.stopImmediatePropagation(),r.defer((function(){u.focus()})))})),t.on("mousedown.aa",(function(e){e.preventDefault()})),this.eventBus=e.eventBus||new o({el:u}),this.dropdown=new h.Dropdown({appendTo:e.appendTo,wrapper:this.$node,menu:t,datasets:e.datasets,templates:e.templates,cssClasses:e.cssClasses,minLength:this.minLength}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onSync("shown",this._onShown,this).onSync("empty",this._onEmpty,this).onSync("redrawn",this._onRedrawn,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new h.Input({input:u,hint:n}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._bindKeyboardShortcuts(e),this._setLanguageDirection()}r.mixin(h.prototype,{_bindKeyboardShortcuts:function(e){if(e.keyboardShortcuts){var t=this.$input,n=[];r.each(e.keyboardShortcuts,(function(e){"string"==typeof e&&(e=e.toUpperCase().charCodeAt(0)),n.push(e)})),s.element(document).keydown((function(e){var i=e.target||e.srcElement,r=i.tagName;if(!i.isContentEditable&&"INPUT"!==r&&"SELECT"!==r&&"TEXTAREA"!==r){var s=e.which||e.keyCode;-1!==n.indexOf(s)&&(t.focus(),e.stopPropagation(),e.preventDefault())}}))}},_onSuggestionClicked:function(e,t){var n;(n=this.dropdown.getDatumForSuggestion(t))&&this._select(n,{selectionMethod:"click"})},_onCursorMoved:function(e,t){var n=this.dropdown.getDatumForCursor(),i=this.dropdown.getCurrentCursor().attr("id");this.input.setActiveDescendant(i),n&&(t&&this.input.setInputValue(n.value,!0),this.eventBus.trigger("cursorchanged",n.raw,n.datasetName))},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint(),this.eventBus.trigger("cursorremoved")},_onDatasetRendered:function(){this._updateHint(),this.eventBus.trigger("updated")},_onOpened:function(){this._updateHint(),this.input.expand(),this.eventBus.trigger("opened")},_onEmpty:function(){this.eventBus.trigger("empty")},_onRedrawn:function(){this.$node.css("top","0px"),this.$node.css("left","0px");var e=this.$input[0].getBoundingClientRect();this.autoWidth&&this.$node.css("width",e.width+"px");var t=this.$node[0].getBoundingClientRect(),n=e.bottom-t.top;this.$node.css("top",n+"px");var i=e.left-t.left;this.$node.css("left",i+"px"),this.eventBus.trigger("redrawn")},_onShown:function(){this.eventBus.trigger("shown"),this.autoselect&&this.dropdown.cursorTopSuggestion()},_onClosed:function(){this.input.clearHint(),this.input.removeActiveDescendant(),this.input.collapse(),this.eventBus.trigger("closed")},_onFocused:function(){if(this.isActivated=!0,this.openOnFocus){var e=this.input.getQuery();e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty(),this.dropdown.open()}},_onBlurred:function(){var e,t;e=this.dropdown.getDatumForCursor(),t=this.dropdown.getDatumForTopSuggestion();var n={selectionMethod:"blur"};this.debug||(this.autoselectOnBlur&&e?this._select(e,n):this.autoselectOnBlur&&t?this._select(t,n):(this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()))},_onEnterKeyed:function(e,t){var n,i;n=this.dropdown.getDatumForCursor(),i=this.dropdown.getDatumForTopSuggestion();var r={selectionMethod:"enterKey"};n?(this._select(n,r),t.preventDefault()):this.autoselect&&i&&(this._select(i,r),t.preventDefault())},_onTabKeyed:function(e,t){if(this.tabAutocomplete){var n;(n=this.dropdown.getDatumForCursor())?(this._select(n,{selectionMethod:"tabKey"}),t.preventDefault()):this._autocomplete(!0)}else this.dropdown.close()},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var e=this.input.getQuery();this.dropdown.isEmpty&&e.length>=this.minLength?this.dropdown.update(e):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var e=this.input.getQuery();this.dropdown.isEmpty&&e.length>=this.minLength?this.dropdown.update(e):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(e,t){this.input.clearHintIfInvalid(),t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var e=this.input.getLanguageDirection();this.dir!==e&&(this.dir=e,this.$node.css("direction",e),this.dropdown.setLanguageDirection(e))},_updateHint:function(){var e,t,n,i,s;(e=this.dropdown.getDatumForTopSuggestion())&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(t=this.input.getInputValue(),n=a.normalizeQuery(t),i=r.escapeRegExChars(n),(s=new RegExp("^(?:"+i+")(.+$)","i").exec(e.value))?this.input.setHint(t+s[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(e){var t,n,i,r;t=this.input.getHint(),n=this.input.getQuery(),i=e||this.input.isCursorAtEnd(),t&&n!==t&&i&&((r=this.dropdown.getDatumForTopSuggestion())&&this.input.setInputValue(r.value),this.eventBus.trigger("autocompleted",r.raw,r.datasetName))},_select:function(e,t){void 0!==e.value&&this.input.setQuery(e.value),this.clearOnSelected?this.setVal(""):this.input.setInputValue(e.value,!0),this._setLanguageDirection(),!1===this.eventBus.trigger("selected",e.raw,e.datasetName,t).isDefaultPrevented()&&(this.dropdown.close(),r.defer(r.bind(this.dropdown.empty,this.dropdown)))},open:function(){if(!this.isActivated){var e=this.input.getInputValue();e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty()}this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(e){e=r.toStr(e),this.isActivated?this.input.setInputValue(e):(this.input.setQuery(e),this.input.setInputValue(e,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),function(e,t){var n=e.find(r.className(t.prefix,t.input));r.each(n.data(i),(function(e,t){void 0===e?n.removeAttr(t):n.attr(t,e)})),n.detach().removeClass(r.className(t.prefix,t.input,!0)).insertAfter(e),n.removeData&&n.removeData(i);e.remove()}(this.$node,this.cssClasses),this.$node=null},getWrapper:function(){return this.dropdown.$container[0]}}),h.Dropdown=u,h.Input=a,h.sources=n(86331),e.exports=h},33855:e=>{"use strict";e.exports={element:null}},22926:e=>{"use strict";e.exports=function(e){var t=e.match(/Algolia for JavaScript \((\d+\.)(\d+\.)(\d+)\)/)||e.match(/Algolia for vanilla JavaScript (\d+\.)(\d+\.)(\d+)/);if(t)return[t[1],t[2],t[3]]}},85670:(e,t,n)=>{"use strict";var i,r=n(33855);function s(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}e.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(e){if(void 0===e&&(e=navigator.userAgent),/(msie|trident)/i.test(e)){var t=e.match(/(msie |rv:)(\d+(.\d+)?)/i);if(t)return t[2]}return!1},escapeRegExChars:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(e){return"number"==typeof e},toStr:function(e){return null==e?"":e+""},cloneDeep:function(e){var t=this.mixin({},e),n=this;return this.each(t,(function(e,i){e&&(n.isArray(e)?t[i]=[].concat(e):n.isObject(e)&&(t[i]=n.cloneDeep(e)))})),t},error:function(e){throw new Error(e)},every:function(e,t){var n=!0;return e?(this.each(e,(function(i,r){n&&(n=t.call(null,i,r,e)&&n)})),!!n):n},any:function(e,t){var n=!1;return e?(this.each(e,(function(i,r){if(t.call(null,i,r,e))return n=!0,!1})),n):n},getUniqueId:(i=0,function(){return i++}),templatify:function(e){if(this.isFunction(e))return e;var t=r.element(e);return"SCRIPT"===t.prop("tagName")?function(){return t.text()}:function(){return String(e)}},defer:function(e){setTimeout(e,0)},noop:function(){},formatPrefix:function(e,t){return t?"":e+"-"},className:function(e,t,n){return(n?"":".")+e+t},escapeHighlightedString:function(e,t,n){t=t||"<em>";var i=document.createElement("div");i.appendChild(document.createTextNode(t)),n=n||"</em>";var r=document.createElement("div");r.appendChild(document.createTextNode(n));var o=document.createElement("div");return o.appendChild(document.createTextNode(e)),o.innerHTML.replace(RegExp(s(i.innerHTML),"g"),t).replace(RegExp(s(r.innerHTML),"g"),n)}}},42683:(e,t,n)=>{"use strict";var i=n(85670),r=n(93489),s=n(22926);e.exports=function(e,t){var n=s(e.as._ua);return n&&n[0]>=3&&n[1]>20&&((t=t||{}).additionalUA="autocomplete.js "+r),function(n,r){e.search(n,t,(function(e,t){e?i.error(e.message):r(t.hits,t)}))}}},86331:(e,t,n)=>{"use strict";e.exports={hits:n(42683),popularIn:n(82226)}},82226:(e,t,n)=>{"use strict";var i=n(85670),r=n(93489),s=n(22926);e.exports=function(e,t,n,o){var a=s(e.as._ua);if(a&&a[0]>=3&&a[1]>20&&((t=t||{}).additionalUA="autocomplete.js "+r),!n.source)return i.error("Missing 'source' key");var u=i.isFunction(n.source)?n.source:function(e){return e[n.source]};if(!n.index)return i.error("Missing 'index' key");var c=n.index;return o=o||{},function(a,l){e.search(a,t,(function(e,a){if(e)i.error(e.message);else{if(a.hits.length>0){var h=a.hits[0],p=i.mixin({hitsPerPage:0},n);delete p.source,delete p.index;var f=s(c.as._ua);return f&&f[0]>=3&&f[1]>20&&(t.additionalUA="autocomplete.js "+r),void c.search(u(h),p,(function(e,t){if(e)i.error(e.message);else{var n=[];if(o.includeAll){var r=o.allTitle||"All departments";n.push(i.mixin({facet:{value:r,count:t.nbHits}},i.cloneDeep(h)))}i.each(t.facets,(function(e,t){i.each(e,(function(e,r){n.push(i.mixin({facet:{facet:t,value:r,count:e}},i.cloneDeep(h)))}))}));for(var s=1;s<a.hits.length;++s)n.push(a.hits[s]);l(n,a)}}))}l([])}}))}}},29281:(e,t,n)=>{"use strict";var i=n(7939);n(33855).element=i;var r=n(85670);r.isArray=i.isArray,r.isFunction=i.isFunction,r.isObject=i.isPlainObject,r.bind=i.proxy,r.each=function(e,t){i.each(e,(function(e,n){return t(n,e)}))},r.map=i.map,r.mixin=i.extend,r.Event=i.Event;var s="aaAutocomplete",o=n(4520),a=n(47368);function u(e,t,n,u){n=r.isArray(n)?n:[].slice.call(arguments,2);var c=i(e).each((function(e,r){var c=i(r),l=new a({el:c}),h=u||new o({input:c,eventBus:l,dropdownMenuContainer:t.dropdownMenuContainer,hint:void 0===t.hint||!!t.hint,minLength:t.minLength,autoselect:t.autoselect,autoselectOnBlur:t.autoselectOnBlur,tabAutocomplete:t.tabAutocomplete,openOnFocus:t.openOnFocus,templates:t.templates,debug:t.debug,clearOnSelected:t.clearOnSelected,cssClasses:t.cssClasses,datasets:n,keyboardShortcuts:t.keyboardShortcuts,appendTo:t.appendTo,autoWidth:t.autoWidth,ariaLabel:t.ariaLabel||r.getAttribute("aria-label")});c.data(s,h)}));return c.autocomplete={},r.each(["open","close","getVal","setVal","destroy","getWrapper"],(function(e){c.autocomplete[e]=function(){var t,n=arguments;return c.each((function(r,o){var a=i(o).data(s);t=a[e].apply(a,n)})),t}})),c}u.sources=o.sources,u.escapeHighlightedString=r.escapeHighlightedString;var c="autocomplete"in window,l=window.autocomplete;u.noConflict=function(){return c?window.autocomplete=l:delete window.autocomplete,u},e.exports=u},93489:e=>{e.exports="0.37.1"},7939:e=>{var t;t=window,e.exports=function(e){var t,n,i=function(){var t,n,i,r,s,o,a=[],u=a.concat,c=a.filter,l=a.slice,h=e.document,p={},f={},d={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},g=/^\s*<(\w+|!)[^>]*>/,m=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,v=/^(?:body|html)$/i,x=/([A-Z])/g,w=["val","css","html","text","data","width","height","offset"],b=["after","prepend","before","append"],S=h.createElement("table"),C=h.createElement("tr"),E={tr:h.createElement("tbody"),tbody:S,thead:S,tfoot:S,td:C,th:C,"*":h.createElement("div")},k=/complete|loaded|interactive/,T=/^[\w-]*$/,_={},O=_.toString,A={},P=h.createElement("div"),L={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},Q=Array.isArray||function(e){return e instanceof Array};function I(e){return null==e?String(e):_[O.call(e)]||"object"}function N(e){return"function"==I(e)}function $(e){return null!=e&&e==e.window}function D(e){return null!=e&&e.nodeType==e.DOCUMENT_NODE}function R(e){return"object"==I(e)}function F(e){return R(e)&&!$(e)&&Object.getPrototypeOf(e)==Object.prototype}function j(e){var t=!!e&&"length"in e&&e.length,n=i.type(e);return"function"!=n&&!$(e)&&("array"==n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function M(e){return c.call(e,(function(e){return null!=e}))}function V(e){return e.length>0?i.fn.concat.apply([],e):e}function B(e){return e.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function q(e){return e in f?f[e]:f[e]=new RegExp("(^|\\s)"+e+"(\\s|$)")}function z(e,t){return"number"!=typeof t||d[B(e)]?t:t+"px"}function H(e){var t,n;return p[e]||(t=h.createElement(e),h.body.appendChild(t),n=getComputedStyle(t,"").getPropertyValue("display"),t.parentNode.removeChild(t),"none"==n&&(n="block"),p[e]=n),p[e]}function K(e){return"children"in e?l.call(e.children):i.map(e.childNodes,(function(e){if(1==e.nodeType)return e}))}function W(e,t){var n,i=e?e.length:0;for(n=0;n<i;n++)this[n]=e[n];this.length=i,this.selector=t||""}function U(e,i,r){for(n in i)r&&(F(i[n])||Q(i[n]))?(F(i[n])&&!F(e[n])&&(e[n]={}),Q(i[n])&&!Q(e[n])&&(e[n]=[]),U(e[n],i[n],r)):i[n]!==t&&(e[n]=i[n])}function G(e,t){return null==t?i(e):i(e).filter(t)}function Z(e,t,n,i){return N(t)?t.call(e,n,i):t}function X(e,t,n){null==n?e.removeAttribute(t):e.setAttribute(t,n)}function J(e,n){var i=e.className||"",r=i&&i.baseVal!==t;if(n===t)return r?i.baseVal:i;r?i.baseVal=n:e.className=n}function Y(e){try{return e?"true"==e||"false"!=e&&("null"==e?null:+e+""==e?+e:/^[\[\{]/.test(e)?i.parseJSON(e):e):e}catch(t){return e}}function ee(e,t){t(e);for(var n=0,i=e.childNodes.length;n<i;n++)ee(e.childNodes[n],t)}return A.matches=function(e,t){if(!t||!e||1!==e.nodeType)return!1;var n=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.matchesSelector;if(n)return n.call(e,t);var i,r=e.parentNode,s=!r;return s&&(r=P).appendChild(e),i=~A.qsa(r,t).indexOf(e),s&&P.removeChild(e),i},s=function(e){return e.replace(/-+(.)?/g,(function(e,t){return t?t.toUpperCase():""}))},o=function(e){return c.call(e,(function(t,n){return e.indexOf(t)==n}))},A.fragment=function(e,n,r){var s,o,a;return m.test(e)&&(s=i(h.createElement(RegExp.$1))),s||(e.replace&&(e=e.replace(y,"<$1></$2>")),n===t&&(n=g.test(e)&&RegExp.$1),n in E||(n="*"),(a=E[n]).innerHTML=""+e,s=i.each(l.call(a.childNodes),(function(){a.removeChild(this)}))),F(r)&&(o=i(s),i.each(r,(function(e,t){w.indexOf(e)>-1?o[e](t):o.attr(e,t)}))),s},A.Z=function(e,t){return new W(e,t)},A.isZ=function(e){return e instanceof A.Z},A.init=function(e,n){var r;if(!e)return A.Z();if("string"==typeof e)if("<"==(e=e.trim())[0]&&g.test(e))r=A.fragment(e,RegExp.$1,n),e=null;else{if(n!==t)return i(n).find(e);r=A.qsa(h,e)}else{if(N(e))return i(h).ready(e);if(A.isZ(e))return e;if(Q(e))r=M(e);else if(R(e))r=[e],e=null;else if(g.test(e))r=A.fragment(e.trim(),RegExp.$1,n),e=null;else{if(n!==t)return i(n).find(e);r=A.qsa(h,e)}}return A.Z(r,e)},(i=function(e,t){return A.init(e,t)}).extend=function(e){var t,n=l.call(arguments,1);return"boolean"==typeof e&&(t=e,e=n.shift()),n.forEach((function(n){U(e,n,t)})),e},A.qsa=function(e,t){var n,i="#"==t[0],r=!i&&"."==t[0],s=i||r?t.slice(1):t,o=T.test(s);return e.getElementById&&o&&i?(n=e.getElementById(s))?[n]:[]:1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType?[]:l.call(o&&!i&&e.getElementsByClassName?r?e.getElementsByClassName(s):e.getElementsByTagName(t):e.querySelectorAll(t))},i.contains=h.documentElement.contains?function(e,t){return e!==t&&e.contains(t)}:function(e,t){for(;t&&(t=t.parentNode);)if(t===e)return!0;return!1},i.type=I,i.isFunction=N,i.isWindow=$,i.isArray=Q,i.isPlainObject=F,i.isEmptyObject=function(e){var t;for(t in e)return!1;return!0},i.isNumeric=function(e){var t=Number(e),n=typeof e;return null!=e&&"boolean"!=n&&("string"!=n||e.length)&&!isNaN(t)&&isFinite(t)||!1},i.inArray=function(e,t,n){return a.indexOf.call(t,e,n)},i.camelCase=s,i.trim=function(e){return null==e?"":String.prototype.trim.call(e)},i.uuid=0,i.support={},i.expr={},i.noop=function(){},i.map=function(e,t){var n,i,r,s=[];if(j(e))for(i=0;i<e.length;i++)null!=(n=t(e[i],i))&&s.push(n);else for(r in e)null!=(n=t(e[r],r))&&s.push(n);return V(s)},i.each=function(e,t){var n,i;if(j(e)){for(n=0;n<e.length;n++)if(!1===t.call(e[n],n,e[n]))return e}else for(i in e)if(!1===t.call(e[i],i,e[i]))return e;return e},i.grep=function(e,t){return c.call(e,t)},e.JSON&&(i.parseJSON=JSON.parse),i.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),(function(e,t){_["[object "+t+"]"]=t.toLowerCase()})),i.fn={constructor:A.Z,length:0,forEach:a.forEach,reduce:a.reduce,push:a.push,sort:a.sort,splice:a.splice,indexOf:a.indexOf,concat:function(){var e,t,n=[];for(e=0;e<arguments.length;e++)t=arguments[e],n[e]=A.isZ(t)?t.toArray():t;return u.apply(A.isZ(this)?this.toArray():this,n)},map:function(e){return i(i.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return i(l.apply(this,arguments))},ready:function(e){return k.test(h.readyState)&&h.body?e(i):h.addEventListener("DOMContentLoaded",(function(){e(i)}),!1),this},get:function(e){return e===t?l.call(this):this[e>=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each((function(){null!=this.parentNode&&this.parentNode.removeChild(this)}))},each:function(e){return a.every.call(this,(function(t,n){return!1!==e.call(t,n,t)})),this},filter:function(e){return N(e)?this.not(this.not(e)):i(c.call(this,(function(t){return A.matches(t,e)})))},add:function(e,t){return i(o(this.concat(i(e,t))))},is:function(e){return this.length>0&&A.matches(this[0],e)},not:function(e){var n=[];if(N(e)&&e.call!==t)this.each((function(t){e.call(this,t)||n.push(this)}));else{var r="string"==typeof e?this.filter(e):j(e)&&N(e.item)?l.call(e):i(e);this.forEach((function(e){r.indexOf(e)<0&&n.push(e)}))}return i(n)},has:function(e){return this.filter((function(){return R(e)?i.contains(this,e):i(this).find(e).size()}))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},first:function(){var e=this[0];return e&&!R(e)?e:i(e)},last:function(){var e=this[this.length-1];return e&&!R(e)?e:i(e)},find:function(e){var t=this;return e?"object"==typeof e?i(e).filter((function(){var e=this;return a.some.call(t,(function(t){return i.contains(t,e)}))})):1==this.length?i(A.qsa(this[0],e)):this.map((function(){return A.qsa(this,e)})):i()},closest:function(e,t){var n=[],r="object"==typeof e&&i(e);return this.each((function(i,s){for(;s&&!(r?r.indexOf(s)>=0:A.matches(s,e));)s=s!==t&&!D(s)&&s.parentNode;s&&n.indexOf(s)<0&&n.push(s)})),i(n)},parents:function(e){for(var t=[],n=this;n.length>0;)n=i.map(n,(function(e){if((e=e.parentNode)&&!D(e)&&t.indexOf(e)<0)return t.push(e),e}));return G(t,e)},parent:function(e){return G(o(this.pluck("parentNode")),e)},children:function(e){return G(this.map((function(){return K(this)})),e)},contents:function(){return this.map((function(){return this.contentDocument||l.call(this.childNodes)}))},siblings:function(e){return G(this.map((function(e,t){return c.call(K(t.parentNode),(function(e){return e!==t}))})),e)},empty:function(){return this.each((function(){this.innerHTML=""}))},pluck:function(e){return i.map(this,(function(t){return t[e]}))},show:function(){return this.each((function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=H(this.nodeName))}))},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){var t=N(e);if(this[0]&&!t)var n=i(e).get(0),r=n.parentNode||this.length>1;return this.each((function(s){i(this).wrapAll(t?e.call(this,s):r?n.cloneNode(!0):n)}))},wrapAll:function(e){if(this[0]){var t;for(i(this[0]).before(e=i(e));(t=e.children()).length;)e=t.first();i(e).append(this)}return this},wrapInner:function(e){var t=N(e);return this.each((function(n){var r=i(this),s=r.contents(),o=t?e.call(this,n):e;s.length?s.wrapAll(o):r.append(o)}))},unwrap:function(){return this.parent().each((function(){i(this).replaceWith(i(this).children())})),this},clone:function(){return this.map((function(){return this.cloneNode(!0)}))},hide:function(){return this.css("display","none")},toggle:function(e){return this.each((function(){var n=i(this);(e===t?"none"==n.css("display"):e)?n.show():n.hide()}))},prev:function(e){return i(this.pluck("previousElementSibling")).filter(e||"*")},next:function(e){return i(this.pluck("nextElementSibling")).filter(e||"*")},html:function(e){return 0 in arguments?this.each((function(t){var n=this.innerHTML;i(this).empty().append(Z(this,e,t,n))})):0 in this?this[0].innerHTML:null},text:function(e){return 0 in arguments?this.each((function(t){var n=Z(this,e,t,this.textContent);this.textContent=null==n?"":""+n})):0 in this?this.pluck("textContent").join(""):null},attr:function(e,i){var r;return"string"!=typeof e||1 in arguments?this.each((function(t){if(1===this.nodeType)if(R(e))for(n in e)X(this,n,e[n]);else X(this,e,Z(this,i,t,this.getAttribute(e)))})):0 in this&&1==this[0].nodeType&&null!=(r=this[0].getAttribute(e))?r:t},removeAttr:function(e){return this.each((function(){1===this.nodeType&&e.split(" ").forEach((function(e){X(this,e)}),this)}))},prop:function(e,t){return e=L[e]||e,1 in arguments?this.each((function(n){this[e]=Z(this,t,n,this[e])})):this[0]&&this[0][e]},removeProp:function(e){return e=L[e]||e,this.each((function(){delete this[e]}))},data:function(e,n){var i="data-"+e.replace(x,"-$1").toLowerCase(),r=1 in arguments?this.attr(i,n):this.attr(i);return null!==r?Y(r):t},val:function(e){return 0 in arguments?(null==e&&(e=""),this.each((function(t){this.value=Z(this,e,t,this.value)}))):this[0]&&(this[0].multiple?i(this[0]).find("option").filter((function(){return this.selected})).pluck("value"):this[0].value)},offset:function(t){if(t)return this.each((function(e){var n=i(this),r=Z(this,t,e,n.offset()),s=n.offsetParent().offset(),o={top:r.top-s.top,left:r.left-s.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)}));if(!this.length)return null;if(h.documentElement!==this[0]&&!i.contains(h.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+e.pageXOffset,top:n.top+e.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(e,t){if(arguments.length<2){var r=this[0];if("string"==typeof e){if(!r)return;return r.style[s(e)]||getComputedStyle(r,"").getPropertyValue(e)}if(Q(e)){if(!r)return;var o={},a=getComputedStyle(r,"");return i.each(e,(function(e,t){o[t]=r.style[s(t)]||a.getPropertyValue(t)})),o}}var u="";if("string"==I(e))t||0===t?u=B(e)+":"+z(e,t):this.each((function(){this.style.removeProperty(B(e))}));else for(n in e)e[n]||0===e[n]?u+=B(n)+":"+z(n,e[n])+";":this.each((function(){this.style.removeProperty(B(n))}));return this.each((function(){this.style.cssText+=";"+u}))},index:function(e){return e?this.indexOf(i(e)[0]):this.parent().children().indexOf(this[0])},hasClass:function(e){return!!e&&a.some.call(this,(function(e){return this.test(J(e))}),q(e))},addClass:function(e){return e?this.each((function(t){if("className"in this){r=[];var n=J(this);Z(this,e,t,n).split(/\s+/g).forEach((function(e){i(this).hasClass(e)||r.push(e)}),this),r.length&&J(this,n+(n?" ":"")+r.join(" "))}})):this},removeClass:function(e){return this.each((function(n){if("className"in this){if(e===t)return J(this,"");r=J(this),Z(this,e,n,r).split(/\s+/g).forEach((function(e){r=r.replace(q(e)," ")})),J(this,r.trim())}}))},toggleClass:function(e,n){return e?this.each((function(r){var s=i(this);Z(this,e,r,J(this)).split(/\s+/g).forEach((function(e){(n===t?!s.hasClass(e):n)?s.addClass(e):s.removeClass(e)}))})):this},scrollTop:function(e){if(this.length){var n="scrollTop"in this[0];return e===t?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var n="scrollLeft"in this[0];return e===t?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var e=this[0],t=this.offsetParent(),n=this.offset(),r=v.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(i(e).css("margin-top"))||0,n.left-=parseFloat(i(e).css("margin-left"))||0,r.top+=parseFloat(i(t[0]).css("border-top-width"))||0,r.left+=parseFloat(i(t[0]).css("border-left-width"))||0,{top:n.top-r.top,left:n.left-r.left}}},offsetParent:function(){return this.map((function(){for(var e=this.offsetParent||h.body;e&&!v.test(e.nodeName)&&"static"==i(e).css("position");)e=e.offsetParent;return e}))}},i.fn.detach=i.fn.remove,["width","height"].forEach((function(e){var n=e.replace(/./,(function(e){return e[0].toUpperCase()}));i.fn[e]=function(r){var s,o=this[0];return r===t?$(o)?o["inner"+n]:D(o)?o.documentElement["scroll"+n]:(s=this.offset())&&s[e]:this.each((function(t){(o=i(this)).css(e,Z(this,r,t,o[e]()))}))}})),b.forEach((function(n,r){var s=r%2;i.fn[n]=function(){var n,o,a=i.map(arguments,(function(e){var r=[];return"array"==(n=I(e))?(e.forEach((function(e){return e.nodeType!==t?r.push(e):i.zepto.isZ(e)?r=r.concat(e.get()):void(r=r.concat(A.fragment(e)))})),r):"object"==n||null==e?e:A.fragment(e)})),u=this.length>1;return a.length<1?this:this.each((function(t,n){o=s?n:n.parentNode,n=0==r?n.nextSibling:1==r?n.firstChild:2==r?n:null;var c=i.contains(h.documentElement,o);a.forEach((function(t){if(u)t=t.cloneNode(!0);else if(!o)return i(t).remove();o.insertBefore(t,n),c&&ee(t,(function(t){if(!(null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src)){var n=t.ownerDocument?t.ownerDocument.defaultView:e;n.eval.call(n,t.innerHTML)}}))}))}))},i.fn[s?n+"To":"insert"+(r?"Before":"After")]=function(e){return i(e)[n](this),this}})),A.Z.prototype=W.prototype=i.fn,A.uniq=o,A.deserializeValue=Y,i.zepto=A,i}();return function(t){var n,i=1,r=Array.prototype.slice,s=t.isFunction,o=function(e){return"string"==typeof e},a={},u={},c="onfocusin"in e,l={focus:"focusin",blur:"focusout"},h={mouseenter:"mouseover",mouseleave:"mouseout"};function p(e){return e._zid||(e._zid=i++)}function f(e,t,n,i){if((t=d(t)).ns)var r=g(t.ns);return(a[p(e)]||[]).filter((function(e){return e&&(!t.e||e.e==t.e)&&(!t.ns||r.test(e.ns))&&(!n||p(e.fn)===p(n))&&(!i||e.sel==i)}))}function d(e){var t=(""+e).split(".");return{e:t[0],ns:t.slice(1).sort().join(" ")}}function g(e){return new RegExp("(?:^| )"+e.replace(" "," .* ?")+"(?: |$)")}function m(e,t){return e.del&&!c&&e.e in l||!!t}function y(e){return h[e]||c&&l[e]||e}function v(e,i,r,s,o,u,c){var l=p(e),f=a[l]||(a[l]=[]);i.split(/\s/).forEach((function(i){if("ready"==i)return t(document).ready(r);var a=d(i);a.fn=r,a.sel=o,a.e in h&&(r=function(e){var n=e.relatedTarget;if(!n||n!==this&&!t.contains(this,n))return a.fn.apply(this,arguments)}),a.del=u;var l=u||r;a.proxy=function(t){if(!(t=E(t)).isImmediatePropagationStopped()){try{var i=Object.getOwnPropertyDescriptor(t,"data");i&&!i.writable||(t.data=s)}catch(t){}var r=l.apply(e,t._args==n?[t]:[t].concat(t._args));return!1===r&&(t.preventDefault(),t.stopPropagation()),r}},a.i=f.length,f.push(a),"addEventListener"in e&&e.addEventListener(y(a.e),a.proxy,m(a,c))}))}function x(e,t,n,i,r){var s=p(e);(t||"").split(/\s/).forEach((function(t){f(e,t,n,i).forEach((function(t){delete a[s][t.i],"removeEventListener"in e&&e.removeEventListener(y(t.e),t.proxy,m(t,r))}))}))}u.click=u.mousedown=u.mouseup=u.mousemove="MouseEvents",t.event={add:v,remove:x},t.proxy=function(e,n){var i=2 in arguments&&r.call(arguments,2);if(s(e)){var a=function(){return e.apply(n,i?i.concat(r.call(arguments)):arguments)};return a._zid=p(e),a}if(o(n))return i?(i.unshift(e[n],e),t.proxy.apply(null,i)):t.proxy(e[n],e);throw new TypeError("expected function")},t.fn.bind=function(e,t,n){return this.on(e,t,n)},t.fn.unbind=function(e,t){return this.off(e,t)},t.fn.one=function(e,t,n,i){return this.on(e,t,n,i,1)};var w=function(){return!0},b=function(){return!1},S=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,C={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};function E(e,i){if(i||!e.isDefaultPrevented){i||(i=e),t.each(C,(function(t,n){var r=i[t];e[t]=function(){return this[n]=w,r&&r.apply(i,arguments)},e[n]=b}));try{e.timeStamp||(e.timeStamp=Date.now())}catch(r){}(i.defaultPrevented!==n?i.defaultPrevented:"returnValue"in i?!1===i.returnValue:i.getPreventDefault&&i.getPreventDefault())&&(e.isDefaultPrevented=w)}return e}function k(e){var t,i={originalEvent:e};for(t in e)S.test(t)||e[t]===n||(i[t]=e[t]);return E(i,e)}t.fn.delegate=function(e,t,n){return this.on(t,e,n)},t.fn.undelegate=function(e,t,n){return this.off(t,e,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,i,a,u,c){var l,h,p=this;return e&&!o(e)?(t.each(e,(function(e,t){p.on(e,i,a,t,c)})),p):(o(i)||s(u)||!1===u||(u=a,a=i,i=n),u!==n&&!1!==a||(u=a,a=n),!1===u&&(u=b),p.each((function(n,s){c&&(l=function(e){return x(s,e.type,u),u.apply(this,arguments)}),i&&(h=function(e){var n,o=t(e.target).closest(i,s).get(0);if(o&&o!==s)return n=t.extend(k(e),{currentTarget:o,liveFired:s}),(l||u).apply(o,[n].concat(r.call(arguments,1)))}),v(s,e,u,a,i,h||l)})))},t.fn.off=function(e,i,r){var a=this;return e&&!o(e)?(t.each(e,(function(e,t){a.off(e,i,t)})),a):(o(i)||s(r)||!1===r||(r=i,i=n),!1===r&&(r=b),a.each((function(){x(this,e,r,i)})))},t.fn.trigger=function(e,n){return(e=o(e)||t.isPlainObject(e)?t.Event(e):E(e))._args=n,this.each((function(){e.type in l&&"function"==typeof this[e.type]?this[e.type]():"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)}))},t.fn.triggerHandler=function(e,n){var i,r;return this.each((function(s,a){(i=k(o(e)?t.Event(e):e))._args=n,i.target=a,t.each(f(a,e.type||e),(function(e,t){if(r=t.proxy(i),i.isImmediatePropagationStopped())return!1}))})),r},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach((function(e){t.fn[e]=function(t){return 0 in arguments?this.bind(e,t):this.trigger(e)}})),t.Event=function(e,t){o(e)||(e=(t=e).type);var n=document.createEvent(u[e]||"Events"),i=!0;if(t)for(var r in t)"bubbles"==r?i=!!t[r]:n[r]=t[r];return n.initEvent(e,i,!0),E(n)}}(i),n=[],i.fn.remove=function(){return this.each((function(){this.parentNode&&("IMG"===this.tagName&&(n.push(this),this.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",t&&clearTimeout(t),t=setTimeout((function(){n=[]}),6e4)),this.parentNode.removeChild(this))}))},function(e){var t={},n=e.fn.data,i=e.camelCase,r=e.expando="Zepto"+ +new Date,s=[];function o(s,o){var u=s[r],c=u&&t[u];if(void 0===o)return c||a(s);if(c){if(o in c)return c[o];var l=i(o);if(l in c)return c[l]}return n.call(e(s),o)}function a(n,s,o){var a=n[r]||(n[r]=++e.uuid),c=t[a]||(t[a]=u(n));return void 0!==s&&(c[i(s)]=o),c}function u(t){var n={};return e.each(t.attributes||s,(function(t,r){0==r.name.indexOf("data-")&&(n[i(r.name.replace("data-",""))]=e.zepto.deserializeValue(r.value))})),n}e.fn.data=function(t,n){return void 0===n?e.isPlainObject(t)?this.each((function(n,i){e.each(t,(function(e,t){a(i,e,t)}))})):0 in this?o(this[0],t):void 0:this.each((function(){a(this,t,n)}))},e.data=function(t,n,i){return e(t).data(n,i)},e.hasData=function(n){var i=n[r],s=i&&t[i];return!!s&&!e.isEmptyObject(s)},e.fn.removeData=function(n){return"string"==typeof n&&(n=n.split(/\s+/)),this.each((function(){var s=this[r],o=s&&t[s];o&&e.each(n||o,(function(e){delete o[n?i(this):e]}))}))},["remove","empty"].forEach((function(t){var n=e.fn[t];e.fn[t]=function(){var e=this.find("*");return"remove"===t&&(e=e.add(this)),e.removeData(),n.call(this)}}))}(i),i}(t)},49397:(e,t)=>{!function(e){var t=/\S/,n=/\"/g,i=/\n/g,r=/\r/g,s=/\\/g,o=/\u2028/,a=/\u2029/;function u(e){"}"===e.n.substr(e.n.length-1)&&(e.n=e.n.substring(0,e.n.length-1))}function c(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function l(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var i=1,r=e.length;i<r;i++)if(t.charAt(n+i)!=e.charAt(i))return!1;return!0}e.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(n,i){var r=n.length,s=0,o=null,a=null,h="",p=[],f=!1,d=0,g=0,m="{{",y="}}";function v(){h.length>0&&(p.push({tag:"_t",text:new String(h)}),h="")}function x(n,i){if(v(),n&&function(){for(var n=!0,i=g;i<p.length;i++)if(!(n=e.tags[p[i].tag]<e.tags._v||"_t"==p[i].tag&&null===p[i].text.match(t)))return!1;return n}())for(var r,s=g;s<p.length;s++)p[s].text&&((r=p[s+1])&&">"==r.tag&&(r.indent=p[s].text.toString()),p.splice(s,1));else i||p.push({tag:"\n"});f=!1,g=p.length}function w(e,t){var n="="+y,i=e.indexOf(n,t),r=c(e.substring(e.indexOf("=",t)+1,i)).split(" ");return m=r[0],y=r[r.length-1],i+n.length-1}for(i&&(i=i.split(" "),m=i[0],y=i[1]),d=0;d<r;d++)0==s?l(m,n,d)?(--d,v(),s=1):"\n"==n.charAt(d)?x(f):h+=n.charAt(d):1==s?(d+=m.length-1,"="==(o=(a=e.tags[n.charAt(d+1)])?n.charAt(d+1):"_v")?(d=w(n,d),s=0):(a&&d++,s=2),f=d):l(y,n,d)?(p.push({tag:o,n:c(h),otag:m,ctag:y,i:"/"==o?f-m.length:d+y.length}),h="",d+=y.length-1,s=0,"{"==o&&("}}"==y?d++:u(p[p.length-1]))):h+=n.charAt(d);return x(f,!0),p};var h={_t:!0,"\n":!0,$:!0,"/":!0};function p(t,n,i,r){var s,o=[],a=null,u=null;for(s=i[i.length-1];t.length>0;){if(u=t.shift(),s&&"<"==s.tag&&!(u.tag in h))throw new Error("Illegal content in < super tag.");if(e.tags[u.tag]<=e.tags.$||f(u,r))i.push(u),u.nodes=p(t,u.tag,i,r);else{if("/"==u.tag){if(0===i.length)throw new Error("Closing tag without opener: /"+u.n);if(a=i.pop(),u.n!=a.n&&!d(u.n,a.n,r))throw new Error("Nesting error: "+a.n+" vs. "+u.n);return a.end=u.i,o}"\n"==u.tag&&(u.last=0==t.length||"\n"==t[0].tag)}o.push(u)}if(i.length>0)throw new Error("missing closing tag: "+i.pop().n);return o}function f(e,t){for(var n=0,i=t.length;n<i;n++)if(t[n].o==e.n)return e.tag="#",!0}function d(e,t,n){for(var i=0,r=n.length;i<r;i++)if(n[i].c==e&&n[i].o==t)return!0}function g(e){var t=[];for(var n in e.partials)t.push('"'+y(n)+'":{name:"'+y(e.partials[n].name)+'", '+g(e.partials[n])+"}");return"partials: {"+t.join(",")+"}, subs: "+function(e){var t=[];for(var n in e)t.push('"'+y(n)+'": function(c,p,t,i) {'+e[n]+"}");return"{ "+t.join(",")+" }"}(e.subs)}e.stringify=function(t,n,i){return"{code: function (c,p,i) { "+e.wrapMain(t.code)+" },"+g(t)+"}"};var m=0;function y(e){return e.replace(s,"\\\\").replace(n,'\\"').replace(i,"\\n").replace(r,"\\r").replace(o,"\\u2028").replace(a,"\\u2029")}function v(e){return~e.indexOf(".")?"d":"f"}function x(e,t){var n="<"+(t.prefix||"")+e.n+m++;return t.partials[n]={name:e.n,partials:{}},t.code+='t.b(t.rp("'+y(n)+'",c,p,"'+(e.indent||"")+'"));',n}function w(e,t){t.code+="t.b(t.t(t."+v(e.n)+'("'+y(e.n)+'",c,p,0)));'}function b(e){return"t.b("+e+");"}e.generate=function(t,n,i){m=0;var r={code:"",subs:{},partials:{}};return e.walk(t,r),i.asString?this.stringify(r,n,i):this.makeTemplate(r,n,i)},e.wrapMain=function(e){return'var t=this;t.b(i=i||"");'+e+"return t.fl();"},e.template=e.Template,e.makeTemplate=function(e,t,n){var i=this.makePartials(e);return i.code=new Function("c","p","i",this.wrapMain(e.code)),new this.template(i,t,this,n)},e.makePartials=function(e){var t,n={subs:{},partials:e.partials,name:e.name};for(t in n.partials)n.partials[t]=this.makePartials(n.partials[t]);for(t in e.subs)n.subs[t]=new Function("c","p","t","i",e.subs[t]);return n},e.codegen={"#":function(t,n){n.code+="if(t.s(t."+v(t.n)+'("'+y(t.n)+'",c,p,1),c,p,0,'+t.i+","+t.end+',"'+t.otag+" "+t.ctag+'")){t.rs(c,p,function(c,p,t){',e.walk(t.nodes,n),n.code+="});c.pop();}"},"^":function(t,n){n.code+="if(!t.s(t."+v(t.n)+'("'+y(t.n)+'",c,p,1),c,p,1,0,0,"")){',e.walk(t.nodes,n),n.code+="};"},">":x,"<":function(t,n){var i={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,i);var r=n.partials[x(t,n)];r.subs=i.subs,r.partials=i.partials},$:function(t,n){var i={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,i),n.subs[t.n]=i.code,n.inPartial||(n.code+='t.sub("'+y(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=b('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+v(e.n)+'("'+y(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=b('"'+y(e.text)+'"')},"{":w,"&":w},e.walk=function(t,n){for(var i,r=0,s=t.length;r<s;r++)(i=e.codegen[t[r].tag])&&i(t[r],n);return n},e.parse=function(e,t,n){return p(e,0,[],(n=n||{}).sectionTags||[])},e.cache={},e.cacheKey=function(e,t){return[e,!!t.asString,!!t.disableLambda,t.delimiters,!!t.modelGet].join("||")},e.compile=function(t,n){n=n||{};var i=e.cacheKey(t,n),r=this.cache[i];if(r){var s=r.partials;for(var o in s)delete s[o].instance;return r}return r=this.generate(this.parse(this.scan(t,n.delimiters),t,n),t,n),this.cache[i]=r}}(t)},5485:(e,t,n)=>{var i=n(49397);i.Template=n(22882).Template,i.template=i.Template,e.exports=i},22882:(e,t)=>{!function(e){function t(e,t,n){var i;return t&&"object"==typeof t&&(void 0!==t[e]?i=t[e]:n&&t.get&&"function"==typeof t.get&&(i=t.get(e))),i}e.Template=function(e,t,n,i){e=e||{},this.r=e.code||this.r,this.c=n,this.options=i||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:function(e){return e=u(e),a.test(e)?e.replace(n,"&").replace(i,"<").replace(r,">").replace(s,"'").replace(o,"""):e},t:u,render:function(e,t,n){return this.ri([e],t||{},n)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var n=this.partials[e],i=t[n.name];if(n.instance&&n.base==i)return n.instance;if("string"==typeof i){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;if(this.partials[e].base=i,n.subs){for(key in t.stackText||(t.stackText={}),n.subs)t.stackText[key]||(t.stackText[key]=void 0!==this.activeSub&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);i=function(e,t,n,i,r,s){function o(){}function a(){}var u;o.prototype=e,a.prototype=e.subs;var c=new o;for(u in c.subs=new a,c.subsText={},c.buf="",i=i||{},c.stackSubs=i,c.subsText=s,t)i[u]||(i[u]=t[u]);for(u in i)c.subs[u]=i[u];for(u in r=r||{},c.stackPartials=r,n)r[u]||(r[u]=n[u]);for(u in r)c.partials[u]=r[u];return c}(i,n.subs,n.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=i,i},rp:function(e,t,n,i){var r=this.ep(e,n);return r?r.ri(t,n,i):""},rs:function(e,t,n){var i=e[e.length-1];if(c(i))for(var r=0;r<i.length;r++)e.push(i[r]),n(e,t,this),e.pop();else n(e,t,this)},s:function(e,t,n,i,r,s,o){var a;return(!c(e)||0!==e.length)&&("function"==typeof e&&(e=this.ms(e,t,n,i,r,s,o)),a=!!e,!i&&a&&t&&t.push("object"==typeof e?e:t[t.length-1]),a)},d:function(e,n,i,r){var s,o=e.split("."),a=this.f(o[0],n,i,r),u=this.options.modelGet,l=null;if("."===e&&c(n[n.length-2]))a=n[n.length-1];else for(var h=1;h<o.length;h++)void 0!==(s=t(o[h],a,u))?(l=a,a=s):a="";return!(r&&!a)&&(r||"function"!=typeof a||(n.push(l),a=this.mv(a,n,i),n.pop()),a)},f:function(e,n,i,r){for(var s=!1,o=!1,a=this.options.modelGet,u=n.length-1;u>=0;u--)if(void 0!==(s=t(e,n[u],a))){o=!0;break}return o?(r||"function"!=typeof s||(s=this.mv(s,n,i)),s):!r&&""},ls:function(e,t,n,i,r){var s=this.options.delimiters;return this.options.delimiters=r,this.b(this.ct(u(e.call(t,i)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,i,r,s,o){var a,u=t[t.length-1],c=e.call(u);return"function"==typeof c?!!i||(a=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(c,u,n,a.substring(r,s),o)):c},mv:function(e,t,n){var i=t[t.length-1],r=e.call(i);return"function"==typeof r?this.ct(u(r.call(i)),i,n):r},sub:function(e,t,n,i){var r=this.subs[e];r&&(this.activeSub=e,r(t,n,this,i),this.activeSub=!1)}};var n=/&/g,i=/</g,r=/>/g,s=/\'/g,o=/\"/g,a=/[&<>\"\']/;function u(e){return String(null==e?"":e)}var c=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}}(t)},70624:(e,t,n)=>{"use strict";var i,r,s,o=[n(15525),n(64785),n(28291),n(2709),n(42506),n(79176)],a=-1,u=[],c=!1;function l(){i&&r&&(i=!1,r.length?u=r.concat(u):a=-1,u.length&&h())}function h(){if(!i){c=!1,i=!0;for(var e=u.length,t=setTimeout(l);e;){for(r=u,u=[];r&&++a<e;)r[a].run();a=-1,e=u.length}r=null,a=-1,i=!1,clearTimeout(t)}}for(var p=-1,f=o.length;++p<f;)if(o[p]&&o[p].test&&o[p].test()){s=o[p].install(h);break}function d(e,t){this.fun=e,this.array=t}d.prototype.run=function(){var e=this.fun,t=this.array;switch(t.length){case 0:return e();case 1:return e(t[0]);case 2:return e(t[0],t[1]);case 3:return e(t[0],t[1],t[2]);default:return e.apply(null,t)}},e.exports=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new d(e,t)),c||i||(c=!0,s())}},2709:(e,t,n)=>{"use strict";t.test=function(){return!n.g.setImmediate&&void 0!==n.g.MessageChannel},t.install=function(e){var t=new n.g.MessageChannel;return t.port1.onmessage=e,function(){t.port2.postMessage(0)}}},28291:(e,t,n)=>{"use strict";var i=n.g.MutationObserver||n.g.WebKitMutationObserver;t.test=function(){return i},t.install=function(e){var t=0,r=new i(e),s=n.g.document.createTextNode("");return r.observe(s,{characterData:!0}),function(){s.data=t=++t%2}}},64785:(e,t,n)=>{"use strict";t.test=function(){return"function"==typeof n.g.queueMicrotask},t.install=function(e){return function(){n.g.queueMicrotask(e)}}},42506:(e,t,n)=>{"use strict";t.test=function(){return"document"in n.g&&"onreadystatechange"in n.g.document.createElement("script")},t.install=function(e){return function(){var t=n.g.document.createElement("script");return t.onreadystatechange=function(){e(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},n.g.document.documentElement.appendChild(t),e}}},79176:(e,t)=>{"use strict";t.test=function(){return!0},t.install=function(e){return function(){setTimeout(e,0)}}},31336:(e,t,n)=>{var i,r;!function(){var s,o,a,u,c,l,h,p,f,d,g,m,y,v,x,w,b,S,C,E,k,T,_,O,A,P,L=function(e){var t=new L.Builder;return t.pipeline.add(L.trimmer,L.stopWordFilter,L.stemmer),t.searchPipeline.add(L.stemmer),e.call(t,t),t.build()};L.version="2.3.9",L.utils={},L.utils.warn=(s=this,function(e){s.console&&console.warn&&console.warn(e)}),L.utils.asString=function(e){return null==e?"":e.toString()},L.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),i=0;i<n.length;i++){var r=n[i],s=e[r];if(Array.isArray(s))t[r]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[r]=s}}return t},L.FieldRef=function(e,t,n){this.docRef=e,this.fieldName=t,this._stringValue=n},L.FieldRef.joiner="/",L.FieldRef.fromString=function(e){var t=e.indexOf(L.FieldRef.joiner);if(-1===t)throw"malformed field ref string";var n=e.slice(0,t),i=e.slice(t+1);return new L.FieldRef(i,n,e)},L.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+L.FieldRef.joiner+this.docRef),this._stringValue},L.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},L.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},L.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},L.Set.prototype.contains=function(e){return!!this.elements[e]},L.Set.prototype.intersect=function(e){var t,n,i,r=[];if(e===L.Set.complete)return this;if(e===L.Set.empty)return e;this.length<e.length?(t=this,n=e):(t=e,n=this),i=Object.keys(t.elements);for(var s=0;s<i.length;s++){var o=i[s];o in n.elements&&r.push(o)}return new L.Set(r)},L.Set.prototype.union=function(e){return e===L.Set.complete?L.Set.complete:e===L.Set.empty?this:new L.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},L.idf=function(e,t){var n=0;for(var i in e)"_index"!=i&&(n+=Object.keys(e[i]).length);var r=(t-n+.5)/(n+.5);return Math.log(1+Math.abs(r))},L.Token=function(e,t){this.str=e||"",this.metadata=t||{}},L.Token.prototype.toString=function(){return this.str},L.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},L.Token.prototype.clone=function(e){return e=e||function(e){return e},new L.Token(e(this.str,this.metadata),this.metadata)},L.tokenizer=function(e,t){if(null==e||null==e)return[];if(Array.isArray(e))return e.map((function(e){return new L.Token(L.utils.asString(e).toLowerCase(),L.utils.clone(t))}));for(var n=e.toString().toLowerCase(),i=n.length,r=[],s=0,o=0;s<=i;s++){var a=s-o;if(n.charAt(s).match(L.tokenizer.separator)||s==i){if(a>0){var u=L.utils.clone(t)||{};u.position=[o,a],u.index=r.length,r.push(new L.Token(n.slice(o,s),u))}o=s+1}}return r},L.tokenizer.separator=/[\s\-]+/,L.Pipeline=function(){this._stack=[]},L.Pipeline.registeredFunctions=Object.create(null),L.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&L.utils.warn("Overwriting existing registered function: "+t),e.label=t,L.Pipeline.registeredFunctions[e.label]=e},L.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||L.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},L.Pipeline.load=function(e){var t=new L.Pipeline;return e.forEach((function(e){var n=L.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},L.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach((function(e){L.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},L.Pipeline.prototype.after=function(e,t){L.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},L.Pipeline.prototype.before=function(e,t){L.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},L.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},L.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n<t;n++){for(var i=this._stack[n],r=[],s=0;s<e.length;s++){var o=i(e[s],s,e);if(null!=o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)r.push(o[a]);else r.push(o)}e=r}return e},L.Pipeline.prototype.runString=function(e,t){var n=new L.Token(e,t);return this.run([n]).map((function(e){return e.toString()}))},L.Pipeline.prototype.reset=function(){this._stack=[]},L.Pipeline.prototype.toJSON=function(){return this._stack.map((function(e){return L.Pipeline.warnIfFunctionNotRegistered(e),e.label}))},L.Vector=function(e){this._magnitude=0,this.elements=e||[]},L.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,n=this.elements.length/2,i=n-t,r=Math.floor(i/2),s=this.elements[2*r];i>1&&(s<e&&(t=r),s>e&&(n=r),s!=e);)i=n-t,r=t+Math.floor(i/2),s=this.elements[2*r];return s==e||s>e?2*r:s<e?2*(r+1):void 0},L.Vector.prototype.insert=function(e,t){this.upsert(e,t,(function(){throw"duplicate index"}))},L.Vector.prototype.upsert=function(e,t,n){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=n(this.elements[i+1],t):this.elements.splice(i,0,e,t)},L.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,n=1;n<t;n+=2){var i=this.elements[n];e+=i*i}return this._magnitude=Math.sqrt(e)},L.Vector.prototype.dot=function(e){for(var t=0,n=this.elements,i=e.elements,r=n.length,s=i.length,o=0,a=0,u=0,c=0;u<r&&c<s;)(o=n[u])<(a=i[c])?u+=2:o>a?c+=2:o==a&&(t+=n[u+1]*i[c+1],u+=2,c+=2);return t},L.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},L.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t<this.elements.length;t+=2,n++)e[n]=this.elements[t];return e},L.Vector.prototype.toJSON=function(){return this.elements},L.stemmer=(o={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},a={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},u="[aeiouy]",c="[^aeiou][^aeiouy]*",l=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),p=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),d=/^(.+?)(ss|i)es$/,g=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,v=/.$/,x=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),b=new RegExp("^"+c+u+"[^aeiouwxy]$"),S=/^(.+?[^aeiou])y$/,C=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,k=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,T=/^(.+?)(s|t)(ion)$/,_=/^(.+?)e$/,O=/ll$/,A=new RegExp("^"+c+u+"[^aeiouwxy]$"),P=function(e){var t,n,i,r,s,u,c;if(e.length<3)return e;if("y"==(i=e.substr(0,1))&&(e=i.toUpperCase()+e.substr(1)),s=g,(r=d).test(e)?e=e.replace(r,"$1$2"):s.test(e)&&(e=e.replace(s,"$1$2")),s=y,(r=m).test(e)){var P=r.exec(e);(r=l).test(P[1])&&(r=v,e=e.replace(r,""))}else s.test(e)&&(t=(P=s.exec(e))[1],(s=f).test(t)&&(u=w,c=b,(s=x).test(e=t)?e+="e":u.test(e)?(r=v,e=e.replace(r,"")):c.test(e)&&(e+="e")));return(r=S).test(e)&&(e=(t=(P=r.exec(e))[1])+"i"),(r=C).test(e)&&(t=(P=r.exec(e))[1],n=P[2],(r=l).test(t)&&(e=t+o[n])),(r=E).test(e)&&(t=(P=r.exec(e))[1],n=P[2],(r=l).test(t)&&(e=t+a[n])),s=T,(r=k).test(e)?(t=(P=r.exec(e))[1],(r=h).test(t)&&(e=t)):s.test(e)&&(t=(P=s.exec(e))[1]+P[2],(s=h).test(t)&&(e=t)),(r=_).test(e)&&(t=(P=r.exec(e))[1],s=p,u=A,((r=h).test(t)||s.test(t)&&!u.test(t))&&(e=t)),s=h,(r=O).test(e)&&s.test(e)&&(r=v,e=e.replace(r,"")),"y"==i&&(e=i.toLowerCase()+e.substr(1)),e},function(e){return e.update(P)}),L.Pipeline.registerFunction(L.stemmer,"stemmer"),L.generateStopWordFilter=function(e){var t=e.reduce((function(e,t){return e[t]=t,e}),{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},L.stopWordFilter=L.generateStopWordFilter(["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"]),L.Pipeline.registerFunction(L.stopWordFilter,"stopWordFilter"),L.trimmer=function(e){return e.update((function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")}))},L.Pipeline.registerFunction(L.trimmer,"trimmer"),L.TokenSet=function(){this.final=!1,this.edges={},this.id=L.TokenSet._nextId,L.TokenSet._nextId+=1},L.TokenSet._nextId=1,L.TokenSet.fromArray=function(e){for(var t=new L.TokenSet.Builder,n=0,i=e.length;n<i;n++)t.insert(e[n]);return t.finish(),t.root},L.TokenSet.fromClause=function(e){return"editDistance"in e?L.TokenSet.fromFuzzyString(e.term,e.editDistance):L.TokenSet.fromString(e.term)},L.TokenSet.fromFuzzyString=function(e,t){for(var n=new L.TokenSet,i=[{node:n,editsRemaining:t,str:e}];i.length;){var r=i.pop();if(r.str.length>0){var s,o=r.str.charAt(0);o in r.node.edges?s=r.node.edges[o]:(s=new L.TokenSet,r.node.edges[o]=s),1==r.str.length&&(s.final=!0),i.push({node:s,editsRemaining:r.editsRemaining,str:r.str.slice(1)})}if(0!=r.editsRemaining){if("*"in r.node.edges)var a=r.node.edges["*"];else{a=new L.TokenSet;r.node.edges["*"]=a}if(0==r.str.length&&(a.final=!0),i.push({node:a,editsRemaining:r.editsRemaining-1,str:r.str}),r.str.length>1&&i.push({node:r.node,editsRemaining:r.editsRemaining-1,str:r.str.slice(1)}),1==r.str.length&&(r.node.final=!0),r.str.length>=1){if("*"in r.node.edges)var u=r.node.edges["*"];else{u=new L.TokenSet;r.node.edges["*"]=u}1==r.str.length&&(u.final=!0),i.push({node:u,editsRemaining:r.editsRemaining-1,str:r.str.slice(1)})}if(r.str.length>1){var c,l=r.str.charAt(0),h=r.str.charAt(1);h in r.node.edges?c=r.node.edges[h]:(c=new L.TokenSet,r.node.edges[h]=c),1==r.str.length&&(c.final=!0),i.push({node:c,editsRemaining:r.editsRemaining-1,str:l+r.str.slice(2)})}}}return n},L.TokenSet.fromString=function(e){for(var t=new L.TokenSet,n=t,i=0,r=e.length;i<r;i++){var s=e[i],o=i==r-1;if("*"==s)t.edges[s]=t,t.final=o;else{var a=new L.TokenSet;a.final=o,t.edges[s]=a,t=a}}return n},L.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var n=t.pop(),i=Object.keys(n.node.edges),r=i.length;n.node.final&&(n.prefix.charAt(0),e.push(n.prefix));for(var s=0;s<r;s++){var o=i[s];t.push({prefix:n.prefix.concat(o),node:n.node.edges[o]})}}return e},L.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),n=t.length,i=0;i<n;i++){var r=t[i];e=e+r+this.edges[r].id}return e},L.TokenSet.prototype.intersect=function(e){for(var t=new L.TokenSet,n=void 0,i=[{qNode:e,output:t,node:this}];i.length;){n=i.pop();for(var r=Object.keys(n.qNode.edges),s=r.length,o=Object.keys(n.node.edges),a=o.length,u=0;u<s;u++)for(var c=r[u],l=0;l<a;l++){var h=o[l];if(h==c||"*"==c){var p=n.node.edges[h],f=n.qNode.edges[c],d=p.final&&f.final,g=void 0;h in n.output.edges?(g=n.output.edges[h]).final=g.final||d:((g=new L.TokenSet).final=d,n.output.edges[h]=g),i.push({qNode:f,output:g,node:p})}}}return t},L.TokenSet.Builder=function(){this.previousWord="",this.root=new L.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},L.TokenSet.Builder.prototype.insert=function(e){var t,n=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)n++;this.minimize(n),t=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(i=n;i<e.length;i++){var r=new L.TokenSet,s=e[i];t.edges[s]=r,this.uncheckedNodes.push({parent:t,char:s,child:r}),t=r}t.final=!0,this.previousWord=e},L.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},L.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;t>=e;t--){var n=this.uncheckedNodes[t],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}},L.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},L.Index.prototype.search=function(e){return this.query((function(t){new L.QueryParser(e,t).parse()}))},L.Index.prototype.query=function(e){for(var t=new L.Query(this.fields),n=Object.create(null),i=Object.create(null),r=Object.create(null),s=Object.create(null),o=Object.create(null),a=0;a<this.fields.length;a++)i[this.fields[a]]=new L.Vector;e.call(t,t);for(a=0;a<t.clauses.length;a++){var u=t.clauses[a],c=null,l=L.Set.empty;c=u.usePipeline?this.pipeline.runString(u.term,{fields:u.fields}):[u.term];for(var h=0;h<c.length;h++){var p=c[h];u.term=p;var f=L.TokenSet.fromClause(u),d=this.tokenSet.intersect(f).toArray();if(0===d.length&&u.presence===L.Query.presence.REQUIRED){for(var g=0;g<u.fields.length;g++){s[Q=u.fields[g]]=L.Set.empty}break}for(var m=0;m<d.length;m++){var y=d[m],v=this.invertedIndex[y],x=v._index;for(g=0;g<u.fields.length;g++){var w=v[Q=u.fields[g]],b=Object.keys(w),S=y+"/"+Q,C=new L.Set(b);if(u.presence==L.Query.presence.REQUIRED&&(l=l.union(C),void 0===s[Q]&&(s[Q]=L.Set.complete)),u.presence!=L.Query.presence.PROHIBITED){if(i[Q].upsert(x,u.boost,(function(e,t){return e+t})),!r[S]){for(var E=0;E<b.length;E++){var k,T=b[E],_=new L.FieldRef(T,Q),O=w[T];void 0===(k=n[_])?n[_]=new L.MatchData(y,Q,O):k.add(y,Q,O)}r[S]=!0}}else void 0===o[Q]&&(o[Q]=L.Set.empty),o[Q]=o[Q].union(C)}}}if(u.presence===L.Query.presence.REQUIRED)for(g=0;g<u.fields.length;g++){s[Q=u.fields[g]]=s[Q].intersect(l)}}var A=L.Set.complete,P=L.Set.empty;for(a=0;a<this.fields.length;a++){var Q;s[Q=this.fields[a]]&&(A=A.intersect(s[Q])),o[Q]&&(P=P.union(o[Q]))}var I=Object.keys(n),N=[],$=Object.create(null);if(t.isNegated()){I=Object.keys(this.fieldVectors);for(a=0;a<I.length;a++){_=I[a];var D=L.FieldRef.fromString(_);n[_]=new L.MatchData}}for(a=0;a<I.length;a++){var R=(D=L.FieldRef.fromString(I[a])).docRef;if(A.contains(R)&&!P.contains(R)){var F,j=this.fieldVectors[D],M=i[D.fieldName].similarity(j);if(void 0!==(F=$[R]))F.score+=M,F.matchData.combine(n[D]);else{var V={ref:R,score:M,matchData:n[D]};$[R]=V,N.push(V)}}}return N.sort((function(e,t){return t.score-e.score}))},L.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map((function(e){return[e,this.invertedIndex[e]]}),this),t=Object.keys(this.fieldVectors).map((function(e){return[e,this.fieldVectors[e].toJSON()]}),this);return{version:L.version,fields:this.fields,fieldVectors:t,invertedIndex:e,pipeline:this.pipeline.toJSON()}},L.Index.load=function(e){var t={},n={},i=e.fieldVectors,r=Object.create(null),s=e.invertedIndex,o=new L.TokenSet.Builder,a=L.Pipeline.load(e.pipeline);e.version!=L.version&&L.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+L.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<i.length;u++){var c=(h=i[u])[0],l=h[1];n[c]=new L.Vector(l)}for(u=0;u<s.length;u++){var h,p=(h=s[u])[0],f=h[1];o.insert(p),r[p]=f}return o.finish(),t.fields=e.fields,t.fieldVectors=n,t.invertedIndex=r,t.tokenSet=o.root,t.pipeline=a,new L.Index(t)},L.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=L.tokenizer,this.pipeline=new L.Pipeline,this.searchPipeline=new L.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},L.Builder.prototype.ref=function(e){this._ref=e},L.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},L.Builder.prototype.b=function(e){this._b=e<0?0:e>1?1:e},L.Builder.prototype.k1=function(e){this._k1=e},L.Builder.prototype.add=function(e,t){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var r=0;r<i.length;r++){var s=i[r],o=this._fields[s].extractor,a=o?o(e):e[s],u=this.tokenizer(a,{fields:[s]}),c=this.pipeline.run(u),l=new L.FieldRef(n,s),h=Object.create(null);this.fieldTermFrequencies[l]=h,this.fieldLengths[l]=0,this.fieldLengths[l]+=c.length;for(var p=0;p<c.length;p++){var f=c[p];if(null==h[f]&&(h[f]=0),h[f]+=1,null==this.invertedIndex[f]){var d=Object.create(null);d._index=this.termIndex,this.termIndex+=1;for(var g=0;g<i.length;g++)d[i[g]]=Object.create(null);this.invertedIndex[f]=d}null==this.invertedIndex[f][s][n]&&(this.invertedIndex[f][s][n]=Object.create(null));for(var m=0;m<this.metadataWhitelist.length;m++){var y=this.metadataWhitelist[m],v=f.metadata[y];null==this.invertedIndex[f][s][n][y]&&(this.invertedIndex[f][s][n][y]=[]),this.invertedIndex[f][s][n][y].push(v)}}}},L.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),t=e.length,n={},i={},r=0;r<t;r++){var s=L.FieldRef.fromString(e[r]),o=s.fieldName;i[o]||(i[o]=0),i[o]+=1,n[o]||(n[o]=0),n[o]+=this.fieldLengths[s]}var a=Object.keys(this._fields);for(r=0;r<a.length;r++){var u=a[r];n[u]=n[u]/i[u]}this.averageFieldLength=n},L.Builder.prototype.createFieldVectors=function(){for(var e={},t=Object.keys(this.fieldTermFrequencies),n=t.length,i=Object.create(null),r=0;r<n;r++){for(var s=L.FieldRef.fromString(t[r]),o=s.fieldName,a=this.fieldLengths[s],u=new L.Vector,c=this.fieldTermFrequencies[s],l=Object.keys(c),h=l.length,p=this._fields[o].boost||1,f=this._documents[s.docRef].boost||1,d=0;d<h;d++){var g,m,y,v=l[d],x=c[v],w=this.invertedIndex[v]._index;void 0===i[v]?(g=L.idf(this.invertedIndex[v],this.documentCount),i[v]=g):g=i[v],m=g*((this._k1+1)*x)/(this._k1*(1-this._b+this._b*(a/this.averageFieldLength[o]))+x),m*=p,m*=f,y=Math.round(1e3*m)/1e3,u.insert(w,y)}e[s]=u}this.fieldVectors=e},L.Builder.prototype.createTokenSet=function(){this.tokenSet=L.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},L.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new L.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},L.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},L.MatchData=function(e,t,n){for(var i=Object.create(null),r=Object.keys(n||{}),s=0;s<r.length;s++){var o=r[s];i[o]=n[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=i)},L.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),n=0;n<t.length;n++){var i=t[n],r=Object.keys(e.metadata[i]);null==this.metadata[i]&&(this.metadata[i]=Object.create(null));for(var s=0;s<r.length;s++){var o=r[s],a=Object.keys(e.metadata[i][o]);null==this.metadata[i][o]&&(this.metadata[i][o]=Object.create(null));for(var u=0;u<a.length;u++){var c=a[u];null==this.metadata[i][o][c]?this.metadata[i][o][c]=e.metadata[i][o][c]:this.metadata[i][o][c]=this.metadata[i][o][c].concat(e.metadata[i][o][c])}}}},L.MatchData.prototype.add=function(e,t,n){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=n);if(t in this.metadata[e])for(var i=Object.keys(n),r=0;r<i.length;r++){var s=i[r];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(n[s]):this.metadata[e][t][s]=n[s]}else this.metadata[e][t]=n},L.Query=function(e){this.clauses=[],this.allFields=e},L.Query.wildcard=new String("*"),L.Query.wildcard.NONE=0,L.Query.wildcard.LEADING=1,L.Query.wildcard.TRAILING=2,L.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},L.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=L.Query.wildcard.NONE),e.wildcard&L.Query.wildcard.LEADING&&e.term.charAt(0)!=L.Query.wildcard&&(e.term="*"+e.term),e.wildcard&L.Query.wildcard.TRAILING&&e.term.slice(-1)!=L.Query.wildcard&&(e.term=e.term+"*"),"presence"in e||(e.presence=L.Query.presence.OPTIONAL),this.clauses.push(e),this},L.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=L.Query.presence.PROHIBITED)return!1;return!0},L.Query.prototype.term=function(e,t){if(Array.isArray(e))return e.forEach((function(e){this.term(e,L.utils.clone(t))}),this),this;var n=t||{};return n.term=e.toString(),this.clause(n),this},L.QueryParseError=function(e,t,n){this.name="QueryParseError",this.message=e,this.start=t,this.end=n},L.QueryParseError.prototype=new Error,L.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},L.QueryLexer.prototype.run=function(){for(var e=L.QueryLexer.lexText;e;)e=e(this)},L.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,n=this.pos,i=0;i<this.escapeCharPositions.length;i++)n=this.escapeCharPositions[i],e.push(this.str.slice(t,n)),t=n+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},L.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},L.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},L.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return L.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},L.QueryLexer.prototype.width=function(){return this.pos-this.start},L.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},L.QueryLexer.prototype.backup=function(){this.pos-=1},L.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=L.QueryLexer.EOS&&this.backup()},L.QueryLexer.prototype.more=function(){return this.pos<this.length},L.QueryLexer.EOS="EOS",L.QueryLexer.FIELD="FIELD",L.QueryLexer.TERM="TERM",L.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",L.QueryLexer.BOOST="BOOST",L.QueryLexer.PRESENCE="PRESENCE",L.QueryLexer.lexField=function(e){return e.backup(),e.emit(L.QueryLexer.FIELD),e.ignore(),L.QueryLexer.lexText},L.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(L.QueryLexer.TERM)),e.ignore(),e.more())return L.QueryLexer.lexText},L.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(L.QueryLexer.EDIT_DISTANCE),L.QueryLexer.lexText},L.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(L.QueryLexer.BOOST),L.QueryLexer.lexText},L.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(L.QueryLexer.TERM)},L.QueryLexer.termSeparator=L.tokenizer.separator,L.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==L.QueryLexer.EOS)return L.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return L.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(L.QueryLexer.TERM),L.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(L.QueryLexer.TERM),L.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(L.QueryLexer.PRESENCE),L.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(L.QueryLexer.PRESENCE),L.QueryLexer.lexText;if(t.match(L.QueryLexer.termSeparator))return L.QueryLexer.lexTerm}else e.escapeCharacter()}},L.QueryParser=function(e,t){this.lexer=new L.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},L.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=L.QueryParser.parseClause;e;)e=e(this);return this.query},L.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},L.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},L.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},L.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case L.QueryLexer.PRESENCE:return L.QueryParser.parsePresence;case L.QueryLexer.FIELD:return L.QueryParser.parseField;case L.QueryLexer.TERM:return L.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new L.QueryParseError(n,t.start,t.end)}},L.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=L.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=L.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new L.QueryParseError(n,t.start,t.end)}var i=e.peekLexeme();if(null==i){n="expecting term or field, found nothing";throw new L.QueryParseError(n,t.start,t.end)}switch(i.type){case L.QueryLexer.FIELD:return L.QueryParser.parseField;case L.QueryLexer.TERM:return L.QueryParser.parseTerm;default:n="expecting term or field, found '"+i.type+"'";throw new L.QueryParseError(n,i.start,i.end)}}},L.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),i="unrecognised field '"+t.str+"', possible fields: "+n;throw new L.QueryParseError(i,t.start,t.end)}e.currentClause.fields=[t.str];var r=e.peekLexeme();if(null==r){i="expecting term, found nothing";throw new L.QueryParseError(i,t.start,t.end)}if(r.type===L.QueryLexer.TERM)return L.QueryParser.parseTerm;i="expecting term, found '"+r.type+"'";throw new L.QueryParseError(i,r.start,r.end)}},L.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case L.QueryLexer.TERM:return e.nextClause(),L.QueryParser.parseTerm;case L.QueryLexer.FIELD:return e.nextClause(),L.QueryParser.parseField;case L.QueryLexer.EDIT_DISTANCE:return L.QueryParser.parseEditDistance;case L.QueryLexer.BOOST:return L.QueryParser.parseBoost;case L.QueryLexer.PRESENCE:return e.nextClause(),L.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new L.QueryParseError(i,n.start,n.end)}else e.nextClause()}},L.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new L.QueryParseError(i,t.start,t.end)}e.currentClause.editDistance=n;var r=e.peekLexeme();if(null!=r)switch(r.type){case L.QueryLexer.TERM:return e.nextClause(),L.QueryParser.parseTerm;case L.QueryLexer.FIELD:return e.nextClause(),L.QueryParser.parseField;case L.QueryLexer.EDIT_DISTANCE:return L.QueryParser.parseEditDistance;case L.QueryLexer.BOOST:return L.QueryParser.parseBoost;case L.QueryLexer.PRESENCE:return e.nextClause(),L.QueryParser.parsePresence;default:i="Unexpected lexeme type '"+r.type+"'";throw new L.QueryParseError(i,r.start,r.end)}else e.nextClause()}},L.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var i="boost must be numeric";throw new L.QueryParseError(i,t.start,t.end)}e.currentClause.boost=n;var r=e.peekLexeme();if(null!=r)switch(r.type){case L.QueryLexer.TERM:return e.nextClause(),L.QueryParser.parseTerm;case L.QueryLexer.FIELD:return e.nextClause(),L.QueryParser.parseField;case L.QueryLexer.EDIT_DISTANCE:return L.QueryParser.parseEditDistance;case L.QueryLexer.BOOST:return L.QueryParser.parseBoost;case L.QueryLexer.PRESENCE:return e.nextClause(),L.QueryParser.parsePresence;default:i="Unexpected lexeme type '"+r.type+"'";throw new L.QueryParseError(i,r.start,r.end)}else e.nextClause()}},void 0===(r="function"==typeof(i=function(){return L})?i.call(t,n,t,e):i)||(e.exports=r)}()}}]); \ No newline at end of file diff --git a/assets/js/9878.f2faa2ed.js.LICENSE.txt b/assets/js/9878.f2faa2ed.js.LICENSE.txt new file mode 100644 index 00000000000..1cf473c23ce --- /dev/null +++ b/assets/js/9878.f2faa2ed.js.LICENSE.txt @@ -0,0 +1,61 @@ +/*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + */ + +/*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ diff --git a/assets/js/98df3658.c82c1d0e.js b/assets/js/98df3658.c82c1d0e.js new file mode 100644 index 00000000000..ad90ea5c330 --- /dev/null +++ b/assets/js/98df3658.c82c1d0e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[834],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>s});var r=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,l=function(e,t){if(null==e)return{};var a,r,l={},n=Object.keys(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var p=r.createContext({}),u=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},m=function(e){var t=u(e.components);return r.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},k=r.forwardRef((function(e,t){var a=e.components,l=e.mdxType,n=e.originalType,p=e.parentName,m=o(e,["components","mdxType","originalType","parentName"]),k=u(a),s=l,c=k["".concat(p,".").concat(s)]||k[s]||d[s]||n;return a?r.createElement(c,i(i({ref:t},m),{},{components:a})):r.createElement(c,i({ref:t},m))}));function s(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var n=a.length,i=new Array(n);i[0]=k;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o.mdxType="string"==typeof e?e:l,i[1]=o;for(var u=2;u<n;u++)i[u]=a[u];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}k.displayName="MDXCreateElement"},46963:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>d,frontMatter:()=>n,metadata:()=>o,toc:()=>u});var r=a(87462),l=(a(67294),a(3905));const n={id:"RemoteCallCollection",title:"RemoteCallCollection"},i="Class RemoteCallCollection",o={unversionedId:"reference/Mirage.RemoteCalls/RemoteCallCollection",id:"reference/Mirage.RemoteCalls/RemoteCallCollection",title:"RemoteCallCollection",description:"Inheritance",source:"@site/docs/reference/Mirage.RemoteCalls/RemoteCallCollection.md",sourceDirName:"reference/Mirage.RemoteCalls",slug:"/reference/Mirage.RemoteCalls/RemoteCallCollection",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RemoteCallCollection",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.RemoteCalls/RemoteCallCollection.md",tags:[],version:"current",frontMatter:{id:"RemoteCallCollection",title:"RemoteCallCollection"},sidebar:"api",previous:{title:"RemoteCall",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RemoteCall"},next:{title:"RequestDelegate<T>",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RequestDelegate-1"}},p={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"IndexOffset",id:"indexoffset",level:4},{value:"Declaration",id:"declaration",level:5},{value:"RemoteCalls",id:"remotecalls",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Methods",id:"methods",level:3},{value:"RegisterAll(NetworkBehaviour[])",id:"registerallnetworkbehaviour",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Register(Int32, String, Boolean, RpcInvokeType, NetworkBehaviour, RpcDelegate)",id:"registerint32-string-boolean-rpcinvoketype-networkbehaviour-rpcdelegate",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"RegisterRequest<T>(Int32, String, Boolean, RpcInvokeType, NetworkBehaviour, RequestDelegate<T>)",id:"registerrequesttint32-string-boolean-rpcinvoketype-networkbehaviour-requestdelegatet",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"GetIndexOffset(NetworkBehaviour)",id:"getindexoffsetnetworkbehaviour",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns",level:5},{value:"GetRelative(NetworkBehaviour, Int32)",id:"getrelativenetworkbehaviour-int32",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns-1",level:5},{value:"GetAbsolute(Int32)",id:"getabsoluteint32",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"Returns",id:"returns-2",level:5}],m={toc:u};function d(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,r.Z)({},m,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-remotecallcollection"},"Class RemoteCallCollection"),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,l.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Show")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public class RemoteCallCollection\n")),(0,l.kt)("h3",{id:"fields"},"Fields"),(0,l.kt)("h4",{id:"indexoffset"},"IndexOffset"),(0,l.kt)("p",null,"This is set by NetworkIdentity when we register each NetworkBehaviour so that they can pass their own idnex in"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int[] IndexOffset\n")),(0,l.kt)("h4",{id:"remotecalls"},"RemoteCalls"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public RemoteCall[] RemoteCalls\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"registerallnetworkbehaviour"},"RegisterAll(NetworkBehaviour[])"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void RegisterAll(NetworkBehaviour[] behaviours)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour[]"),(0,l.kt)("td",{parentName:"tr",align:null},"behaviours"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"registerint32-string-boolean-rpcinvoketype-networkbehaviour-rpcdelegate"},"Register(Int32, String, Boolean, RpcInvokeType, NetworkBehaviour, RpcDelegate)"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Register(int index, string name, bool cmdRequireAuthority, RpcInvokeType invokerType, NetworkBehaviour behaviour, RpcDelegate func)\n")),(0,l.kt)("h5",{id:"parameters-1"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"index"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.String"),(0,l.kt)("td",{parentName:"tr",align:null},"name"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"cmdRequireAuthority"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.RemoteCalls.RpcInvokeType"),(0,l.kt)("td",{parentName:"tr",align:null},"invokerType"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,l.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.RemoteCalls.RpcDelegate"),(0,l.kt)("td",{parentName:"tr",align:null},"func"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"registerrequesttint32-string-boolean-rpcinvoketype-networkbehaviour-requestdelegatet"},"RegisterRequest","<","T",">","(Int32, String, Boolean, RpcInvokeType, NetworkBehaviour, RequestDelegate","<","T",">",")"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void RegisterRequest<T>(int index, string name, bool cmdRequireAuthority, RpcInvokeType invokerType, NetworkBehaviour behaviour, RequestDelegate<T> func)\n")),(0,l.kt)("h5",{id:"parameters-2"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"index"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.String"),(0,l.kt)("td",{parentName:"tr",align:null},"name"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"cmdRequireAuthority"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.RemoteCalls.RpcInvokeType"),(0,l.kt)("td",{parentName:"tr",align:null},"invokerType"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,l.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.RemoteCalls.RequestDelegate","<","T",">"),(0,l.kt)("td",{parentName:"tr",align:null},"func"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"getindexoffsetnetworkbehaviour"},"GetIndexOffset(NetworkBehaviour)"),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int GetIndexOffset(NetworkBehaviour behaviour)\n")),(0,l.kt)("h5",{id:"parameters-3"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,l.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"getrelativenetworkbehaviour-int32"},"GetRelative(NetworkBehaviour, Int32)"),(0,l.kt)("h5",{id:"declaration-6"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public RemoteCall GetRelative(NetworkBehaviour behaviour, int index)\n")),(0,l.kt)("h5",{id:"parameters-4"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,l.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"index"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-1"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.RemoteCalls.RemoteCall"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"getabsoluteint32"},"GetAbsolute(Int32)"),(0,l.kt)("h5",{id:"declaration-7"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public RemoteCall GetAbsolute(int index)\n")),(0,l.kt)("h5",{id:"parameters-5"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"index"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-2"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.RemoteCalls.RemoteCall"),(0,l.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/99773e67.efb518aa.js b/assets/js/99773e67.efb518aa.js new file mode 100644 index 00000000000..8d537aa5a0f --- /dev/null +++ b/assets/js/99773e67.efb518aa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8567],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>y});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var o=n.createContext({}),d=function(e){var t=n.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=d(e.components);return n.createElement(o.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=d(r),y=a,m=u["".concat(o,".").concat(y)]||u[y]||p[y]||i;return r?n.createElement(m,c(c({ref:t},s),{},{components:r})):n.createElement(m,c({ref:t},s))}));function y(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,c=new Array(i);c[0]=u;var l={};for(var o in t)hasOwnProperty.call(t,o)&&(l[o]=t[o]);l.originalType=e,l.mdxType="string"==typeof e?e:a,c[1]=l;for(var d=2;d<i;d++)c[d]=r[d];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},96841:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var n=r(87462),a=(r(67294),r(3905));const i={id:"SyncVarSender",title:"SyncVarSender"},c="Class SyncVarSender",l={unversionedId:"reference/Mirage/SyncVarSender",id:"reference/Mirage/SyncVarSender",title:"SyncVarSender",description:"Class that Syncs syncvar and other State",source:"@site/docs/reference/Mirage/SyncVarSender.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SyncVarSender",permalink:"/Mirage/docs/reference/Mirage/SyncVarSender",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SyncVarSender.md",tags:[],version:"current",frontMatter:{id:"SyncVarSender",title:"SyncVarSender"},sidebar:"api",previous:{title:"SyncVarReceiver",permalink:"/Mirage/docs/reference/Mirage/SyncVarReceiver"},next:{title:"UnSpawnDelegate",permalink:"/Mirage/docs/reference/Mirage/UnSpawnDelegate"}},o={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"AddDirtyObject(NetworkIdentity)",id:"adddirtyobjectnetworkidentity",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5}],s={toc:d};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-syncvarsender"},"Class SyncVarSender"),(0,a.kt)("p",null,"Class that Syncs syncvar and other State"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class SyncVarSender\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"adddirtyobjectnetworkidentity"},"AddDirtyObject(NetworkIdentity)"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public void AddDirtyObject(NetworkIdentity dirty)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,a.kt)("td",{parentName:"tr",align:null},"dirty"),(0,a.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9ae3d5a3.1ee33a24.js b/assets/js/9ae3d5a3.1ee33a24.js new file mode 100644 index 00000000000..9f4075c49ad --- /dev/null +++ b/assets/js/9ae3d5a3.1ee33a24.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[80],{3905:(e,r,t)=>{t.d(r,{Zo:()=>d,kt:()=>f});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?c(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):c(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function i(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},c=Object.keys(e);for(n=0;n<c.length;n++)t=c[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)t=c[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=n.createContext({}),s=function(e){var r=n.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},d=function(e){var r=s(e.components);return n.createElement(l.Provider,{value:r},e.children)},p={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},u=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,c=e.originalType,l=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),u=s(t),f=a,y=u["".concat(l,".").concat(f)]||u[f]||p[f]||c;return t?n.createElement(y,o(o({ref:r},d),{},{components:t})):n.createElement(y,o({ref:r},d))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var c=t.length,o=new Array(c);o[0]=u;var i={};for(var l in r)hasOwnProperty.call(r,l)&&(i[l]=r[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,o[1]=i;for(var s=2;s<c;s++)o[s]=t[s];return n.createElement.apply(null,o)}return n.createElement.apply(null,t)}u.displayName="MDXCreateElement"},65704:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>c,metadata:()=>i,toc:()=>s});var n=t(87462),a=(t(67294),t(3905));const c={id:"ISceneLoader",title:"ISceneLoader"},o="Interface ISceneLoader",i={unversionedId:"reference/Mirage/ISceneLoader",id:"reference/Mirage/ISceneLoader",title:"ISceneLoader",description:"Syntax",source:"@site/docs/reference/Mirage/ISceneLoader.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/ISceneLoader",permalink:"/Mirage/docs/reference/Mirage/ISceneLoader",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/ISceneLoader.md",tags:[],version:"current",frontMatter:{id:"ISceneLoader",title:"ISceneLoader"},sidebar:"api",previous:{title:"IObjectOwner",permalink:"/Mirage/docs/reference/Mirage/IObjectOwner"},next:{title:"IVisibilityTracker",permalink:"/Mirage/docs/reference/Mirage/IVisibilityTracker"}},l={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"SceneIsReady",id:"sceneisready",level:4},{value:"Declaration",id:"declaration",level:5}],d={toc:s};function p(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},d,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"interface-isceneloader"},"Interface ISceneLoader"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public interface ISceneLoader\n")),(0,a.kt)("h3",{id:"properties"},"Properties"),(0,a.kt)("h4",{id:"sceneisready"},"SceneIsReady"),(0,a.kt)("p",null,"Scene is fully loaded and we now can do things with player."),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"bool SceneIsReady { get; set; }\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9ba34e8e.fdd07149.js b/assets/js/9ba34e8e.fdd07149.js new file mode 100644 index 00000000000..af8ce101346 --- /dev/null +++ b/assets/js/9ba34e8e.fdd07149.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[976],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),s=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},d=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),u=s(r),m=n,f=u["".concat(c,".").concat(m)]||u[m]||p[m]||i;return r?a.createElement(f,l(l({ref:t},d),{},{components:r})):a.createElement(f,l({ref:t},d))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,l=new Array(i);l[0]=u;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,l[1]=o;for(var s=2;s<i;s++)l[s]=r[s];return a.createElement.apply(null,l)}return a.createElement.apply(null,r)}u.displayName="MDXCreateElement"},38064:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var a=r(87462),n=(r(67294),r(3905));const i={id:"Reader-1",title:"Reader<T>"},l="Class Reader<T>",o={unversionedId:"reference/Mirage.Serialization/Reader-1",id:"reference/Mirage.Serialization/Reader-1",title:"Reader<T>",description:"a class that holds readers for the different types",source:"@site/docs/reference/Mirage.Serialization/Reader-1.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/Reader-1",permalink:"/Mirage/docs/reference/Mirage.Serialization/Reader-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/Reader-1.md",tags:[],version:"current",frontMatter:{id:"Reader-1",title:"Reader<T>"},sidebar:"api",previous:{title:"QuaternionPacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/QuaternionPacker"},next:{title:"StringExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/StringExtensions"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Properties",id:"properties",level:3},{value:"Read",id:"read",level:4},{value:"Declaration",id:"declaration",level:5}],d={toc:s};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-readert"},"Class Reader","<","T",">"),(0,n.kt)("p",null,"a class that holds readers for the different types\nNote that c# creates a different static variable for each\ntype\nThis will be populated by the weaver"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class Reader<T>\n")),(0,n.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"read"},"Read"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static Func<NetworkReader, T> Read { set; }\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9d2800ec.2bd06fd1.js b/assets/js/9d2800ec.2bd06fd1.js new file mode 100644 index 00000000000..db624598c6f --- /dev/null +++ b/assets/js/9d2800ec.2bd06fd1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5682],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>h});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),u=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},s=function(e){var t=u(e.components);return r.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),d=u(a),h=n,m=d["".concat(c,".").concat(h)]||d[h]||p[h]||i;return a?r.createElement(m,l(l({ref:t},s),{},{components:a})):r.createElement(m,l({ref:t},s))}));function h(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,l=new Array(i);l[0]=d;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,l[1]=o;for(var u=2;u<i;u++)l[u]=a[u];return r.createElement.apply(null,l)}return r.createElement.apply(null,a)}d.displayName="MDXCreateElement"},77094:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var r=a(87462),n=(a(67294),a(3905));const i={id:"AuthenticatorSettings",title:"AuthenticatorSettings"},l="Class AuthenticatorSettings",o={unversionedId:"reference/Mirage.Authentication/AuthenticatorSettings",id:"reference/Mirage.Authentication/AuthenticatorSettings",title:"AuthenticatorSettings",description:"Inheritance",source:"@site/docs/reference/Mirage.Authentication/AuthenticatorSettings.md",sourceDirName:"reference/Mirage.Authentication",slug:"/reference/Mirage.Authentication/AuthenticatorSettings",permalink:"/Mirage/docs/reference/Mirage.Authentication/AuthenticatorSettings",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authentication/AuthenticatorSettings.md",tags:[],version:"current",frontMatter:{id:"AuthenticatorSettings",title:"AuthenticatorSettings"},sidebar:"api",previous:{title:"AuthenticationResult",permalink:"/Mirage/docs/reference/Mirage.Authentication/AuthenticationResult"},next:{title:"IAuthenticationDataWrapper",permalink:"/Mirage/docs/reference/Mirage.Authentication/IAuthenticationDataWrapper"}},c={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"TimeoutSeconds",id:"timeoutseconds",level:4},{value:"Declaration",id:"declaration",level:5},{value:"RequireHostToAuthenticate",id:"requirehosttoauthenticate",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Authenticators",id:"authenticators",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Methods",id:"methods",level:3},{value:"Setup(NetworkServer)",id:"setupnetworkserver",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters",level:5},{value:"ServerAuthenticate(INetworkPlayer)",id:"serverauthenticateinetworkplayer",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5}],s={toc:u};function p(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-authenticatorsettings"},"Class AuthenticatorSettings"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class AuthenticatorSettings : MonoBehaviour\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"timeoutseconds"},"TimeoutSeconds"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public int TimeoutSeconds\n")),(0,n.kt)("h4",{id:"requirehosttoauthenticate"},"RequireHostToAuthenticate"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool RequireHostToAuthenticate\n")),(0,n.kt)("h4",{id:"authenticators"},"Authenticators"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public List<NetworkAuthenticator> Authenticators\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"setupnetworkserver"},"Setup(NetworkServer)"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Setup(NetworkServer server)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkServer"),(0,n.kt)("td",{parentName:"tr",align:null},"server"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"serverauthenticateinetworkplayer"},"ServerAuthenticate(INetworkPlayer)"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public UniTask<AuthenticationResult> ServerAuthenticate(INetworkPlayer player)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Cysharp.Threading.Tasks.UniTask","<","Mirage.Authentication.AuthenticationResult",">"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9ea10303.c0e1e5c9.js b/assets/js/9ea10303.c0e1e5c9.js new file mode 100644 index 00000000000..76ebf265c79 --- /dev/null +++ b/assets/js/9ea10303.c0e1e5c9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9078],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>m});var n=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,l=function(e,t){if(null==e)return{};var a,n,l={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var c=n.createContext({}),s=function(e){var t=n.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},u=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var a=e.components,l=e.mdxType,i=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),p=s(a),m=l,f=p["".concat(c,".").concat(m)]||p[m]||d[m]||i;return a?n.createElement(f,r(r({ref:t},u),{},{components:a})):n.createElement(f,r({ref:t},u))}));function m(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var i=a.length,r=new Array(i);r[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:l,r[1]=o;for(var s=2;s<i;s++)r[s]=a[s];return n.createElement.apply(null,r)}return n.createElement.apply(null,a)}p.displayName="MDXCreateElement"},15824:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var n=a(87462),l=(a(67294),a(3905));const i={id:"Config",title:"Config"},r="Class Config",o={unversionedId:"reference/Mirage.SocketLayer/Config",id:"reference/Mirage.SocketLayer/Config",title:"Config",description:"Inheritance",source:"@site/docs/reference/Mirage.SocketLayer/Config.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/Config",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Config",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/Config.md",tags:[],version:"current",frontMatter:{id:"Config",title:"Config"},sidebar:"api",previous:{title:"Commands",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Commands"},next:{title:"ConnectionExtensions",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ConnectionExtensions"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"MaxConnections",id:"maxconnections",level:4},{value:"Declaration",id:"declaration",level:5},{value:"ConnectAttemptInterval",id:"connectattemptinterval",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"MaxConnectAttempts",id:"maxconnectattempts",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"KeepAliveInterval",id:"keepaliveinterval",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"TimeoutDuration",id:"timeoutduration",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"key",id:"key",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"DisconnectDuration",id:"disconnectduration",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"BufferPoolStartSize",id:"bufferpoolstartsize",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"BufferPoolMaxSize",id:"bufferpoolmaxsize",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"TimeBeforeEmptyAck",id:"timebeforeemptyack",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"ReceivesBeforeEmptyAck",id:"receivesbeforeemptyack",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"EmptyAckLimit",id:"emptyacklimit",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"MaxReliablePacketsInSendBufferPerConnection",id:"maxreliablepacketsinsendbufferperconnection",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"SequenceSize",id:"sequencesize",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"MaxReliableFragments",id:"maxreliablefragments",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"DisableReliableLayer",id:"disablereliablelayer",level:4},{value:"Declaration",id:"declaration-15",level:5}],u={toc:s};function d(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,n.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-config"},"Class Config"),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,l.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Show")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public class Config\n")),(0,l.kt)("h3",{id:"fields"},"Fields"),(0,l.kt)("h4",{id:"maxconnections"},"MaxConnections"),(0,l.kt)("p",null,"Max concurrent connections server will accept"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int MaxConnections\n")),(0,l.kt)("h4",{id:"connectattemptinterval"},"ConnectAttemptInterval"),(0,l.kt)("p",null,"How often connect attempt message will be re-sent if server does not reply"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public float ConnectAttemptInterval\n")),(0,l.kt)("h4",{id:"maxconnectattempts"},"MaxConnectAttempts"),(0,l.kt)("p",null,"How many times attempt to connect before giving up"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int MaxConnectAttempts\n")),(0,l.kt)("h4",{id:"keepaliveinterval"},"KeepAliveInterval"),(0,l.kt)("p",null,"how long after previous send before sending keep alive message\nKeep alive is to stop connection from timing out\nkeep alive is sent over unreliable so this interval should be low enough so that does not timeout if some unreliable packets are missed "),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public float KeepAliveInterval\n")),(0,l.kt)("h4",{id:"timeoutduration"},"TimeoutDuration"),(0,l.kt)("p",null,"how long without a message before disconnecting connection"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public float TimeoutDuration\n")),(0,l.kt)("h4",{id:"key"},"key"),(0,l.kt)("p",null,"Key sent with connection message (defaults to Major version of assmebly)\nUsed to validate that server and client are same application/version\nNOTE: key will be ASCII encoded"),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public string key\n")),(0,l.kt)("h4",{id:"disconnectduration"},"DisconnectDuration"),(0,l.kt)("p",null,"How long after disconnect before connection is fully removed from Peer"),(0,l.kt)("h5",{id:"declaration-6"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public float DisconnectDuration\n")),(0,l.kt)("h4",{id:"bufferpoolstartsize"},"BufferPoolStartSize"),(0,l.kt)("p",null,"How many buffers to create at start"),(0,l.kt)("h5",{id:"declaration-7"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int BufferPoolStartSize\n")),(0,l.kt)("h4",{id:"bufferpoolmaxsize"},"BufferPoolMaxSize"),(0,l.kt)("p",null,"max number of buffers allowed to be stored in pool\nbuffers over this limit will be left for GC"),(0,l.kt)("h5",{id:"declaration-8"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int BufferPoolMaxSize\n")),(0,l.kt)("h4",{id:"timebeforeemptyack"},"TimeBeforeEmptyAck"),(0,l.kt)("p",null,"how long after last send to send ack without a message"),(0,l.kt)("h5",{id:"declaration-9"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public float TimeBeforeEmptyAck\n")),(0,l.kt)("h4",{id:"receivesbeforeemptyack"},"ReceivesBeforeEmptyAck"),(0,l.kt)("p",null,"How many receives before sending an empty ack\nthis is so that acks are still sent even if receives many message before replying"),(0,l.kt)("h5",{id:"declaration-10"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int ReceivesBeforeEmptyAck\n")),(0,l.kt)("h4",{id:"emptyacklimit"},"EmptyAckLimit"),(0,l.kt)("p",null,"How many empty acks to send via\nSend enough acks that there is a high chances that 1 of them reaches other size\nEmpty Ack count resets after receives new message"),(0,l.kt)("h5",{id:"declaration-11"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int EmptyAckLimit\n")),(0,l.kt)("h4",{id:"maxreliablepacketsinsendbufferperconnection"},"MaxReliablePacketsInSendBufferPerConnection"),(0,l.kt)("p",null,"How many packets can exist it ring buffers for Ack and Reliable system\nThis value wont count null packets so can be set lower than ","'","s value to limit actual number of packets waiting to be acked\nExample: (max=2000) ",(0,l.kt)("em",{parentName:"p"}," (MTU=1200) ")," (connections=100) => 240MB"),(0,l.kt)("h5",{id:"declaration-12"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int MaxReliablePacketsInSendBufferPerConnection\n")),(0,l.kt)("h4",{id:"sequencesize"},"SequenceSize"),(0,l.kt)("p",null,"Bit size of sequence used for AckSystem\nthis value also determines the size of ring buffers for Ack and Reliable system\nMax of 16"),(0,l.kt)("h5",{id:"declaration-13"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int SequenceSize\n")),(0,l.kt)("h4",{id:"maxreliablefragments"},"MaxReliableFragments"),(0,l.kt)("p",null,"How many fragments large reliable message can be split into\nif set to 0 then messages over will not be allowed to be sent\nmax value is 255"),(0,l.kt)("h5",{id:"declaration-14"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int MaxReliableFragments\n")),(0,l.kt)("h4",{id:"disablereliablelayer"},"DisableReliableLayer"),(0,l.kt)("p",null,"Enable if the Socket you are using has its own Reliable layer. For example using Websocket, which is TCP."),(0,l.kt)("h5",{id:"declaration-15"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool DisableReliableLayer\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9ed85156.e8fb63c1.js b/assets/js/9ed85156.e8fb63c1.js new file mode 100644 index 00000000000..9a2fe8a220c --- /dev/null +++ b/assets/js/9ed85156.e8fb63c1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2643],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),d=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=d(e.components);return a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},s=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),s=d(r),m=n,k=s["".concat(c,".").concat(m)]||s[m]||u[m]||l;return r?a.createElement(k,i(i({ref:t},p),{},{components:r})):a.createElement(k,i({ref:t},p))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=s;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var d=2;d<l;d++)i[d]=r[d];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}s.displayName="MDXCreateElement"},8089:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var a=r(87462),n=(r(67294),r(3905));const l={id:"IPeer",title:"IPeer"},i="Interface IPeer",o={unversionedId:"reference/Mirage.SocketLayer/IPeer",id:"reference/Mirage.SocketLayer/IPeer",title:"IPeer",description:"Syntax",source:"@site/docs/reference/Mirage.SocketLayer/IPeer.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/IPeer",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IPeer",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/IPeer.md",tags:[],version:"current",frontMatter:{id:"IPeer",title:"IPeer"},sidebar:"api",previous:{title:"INotifyToken",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/INotifyToken"},next:{title:"IRawConnection",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IRawConnection"}},c={},d=[{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"Bind(IEndPoint)",id:"bindiendpoint",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Connect(IEndPoint)",id:"connectiendpoint",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"Close()",id:"close",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"UpdateReceive()",id:"updatereceive",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"UpdateSent()",id:"updatesent",level:4},{value:"Declaration",id:"declaration-4",level:5}],p={toc:d};function u(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"interface-ipeer"},"Interface IPeer"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IPeer\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"bindiendpoint"},"Bind(IEndPoint)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void Bind(IEndPoint endPoint)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,n.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"connectiendpoint"},"Connect(IEndPoint)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"IConnection Connect(IEndPoint endPoint)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,n.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IConnection"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"close"},"Close()"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void Close()\n")),(0,n.kt)("h4",{id:"updatereceive"},"UpdateReceive()"),(0,n.kt)("p",null,"Call this at the start of the frame to receive new messages"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void UpdateReceive()\n")),(0,n.kt)("h4",{id:"updatesent"},"UpdateSent()"),(0,n.kt)("p",null,"Call this at end of frame to send new batches"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void UpdateSent()\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9eeea845.e9b2d09a.js b/assets/js/9eeea845.e9b2d09a.js new file mode 100644 index 00000000000..6da8621d5c1 --- /dev/null +++ b/assets/js/9eeea845.e9b2d09a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7285],{45197:e=>{e.exports=JSON.parse('{"title":"Components","slug":"/category/components","permalink":"/Mirage/docs/category/components","navigation":{"previous":{"title":"Tanks","permalink":"/Mirage/docs/examples/tanks"},"next":{"title":"Overview","permalink":"/Mirage/docs/components/"}}}')}}]); \ No newline at end of file diff --git a/assets/js/a0266dc1.9a9f23e4.js b/assets/js/a0266dc1.9a9f23e4.js new file mode 100644 index 00000000000..3a6bd72be6c --- /dev/null +++ b/assets/js/a0266dc1.9a9f23e4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4915],{3905:(e,t,a)=>{a.d(t,{Zo:()=>k,kt:()=>h});var n=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){o(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function i(e,t){if(null==e)return{};var a,n,o=function(e,t){if(null==e)return{};var a,n,o={},r=Object.keys(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var c=n.createContext({}),s=function(e){var t=n.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},k=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,r=e.originalType,c=e.parentName,k=i(e,["components","mdxType","originalType","parentName"]),u=s(a),h=o,p=u["".concat(c,".").concat(h)]||u[h]||d[h]||r;return a?n.createElement(p,l(l({ref:t},k),{},{components:a})):n.createElement(p,l({ref:t},k))}));function h(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=a.length,l=new Array(r);l[0]=u;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:o,l[1]=i;for(var s=2;s<r;s++)l[s]=a[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,a)}u.displayName="MDXCreateElement"},77356:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>d,frontMatter:()=>r,metadata:()=>i,toc:()=>s});var n=a(87462),o=(a(67294),a(3905));const r={id:"Mirage.SocketLayer",title:"Mirage.SocketLayer"},l="Mirage.SocketLayer",i={unversionedId:"reference/Mirage.SocketLayer/Mirage.SocketLayer",id:"reference/Mirage.SocketLayer/Mirage.SocketLayer",title:"Mirage.SocketLayer",description:"Classes",source:"@site/docs/reference/Mirage.SocketLayer/index.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/index.md",tags:[],version:"current",frontMatter:{id:"Mirage.SocketLayer",title:"Mirage.SocketLayer"},sidebar:"api",previous:{title:"ZigZagEncodeAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/ZigZagEncodeAttribute"},next:{title:"AckSystem.ReliablePacket",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem.ReliablePacket"}},c={},s=[{value:"Classes",id:"classes",level:2},{value:"AckSystem",id:"acksystem",level:4},{value:"AckSystem.ReliablePacket",id:"acksystemreliablepacket",level:4},{value:"ArrayBatch",id:"arraybatch",level:4},{value:"AutoCompleteToken",id:"autocompletetoken",level:4},{value:"Batch",id:"batch",level:4},{value:"ByteBuffer",id:"bytebuffer",level:4},{value:"ByteUtils",id:"byteutils",level:4},{value:"Config",id:"config",level:4},{value:"ConnectionExtensions",id:"connectionextensions",level:4},{value:"INotifyCallBackExtensions",id:"inotifycallbackextensions",level:4},{value:"Metrics",id:"metrics",level:4},{value:"NotifyToken",id:"notifytoken",level:4},{value:"Peer",id:"peer",level:4},{value:"Pool<T>",id:"poolt",level:4},{value:"ReliableBatch",id:"reliablebatch",level:4},{value:"RingBuffer<T>",id:"ringbuffert",level:4},{value:"Sequencer",id:"sequencer",level:4},{value:"SocketFactory",id:"socketfactory",level:4},{value:"Structs",id:"structs",level:2},{value:"AckSystem.ReliableReceived",id:"acksystemreliablereceived",level:4},{value:"Metrics.Frame",id:"metricsframe",level:4},{value:"PoolMetrics",id:"poolmetrics",level:4},{value:"Interfaces",id:"interfaces",level:2},{value:"IConnection",id:"iconnection",level:4},{value:"IDataHandler",id:"idatahandler",level:4},{value:"IEndPoint",id:"iendpoint",level:4},{value:"IHasAddress",id:"ihasaddress",level:4},{value:"IHasPort",id:"ihasport",level:4},{value:"INotifyCallBack",id:"inotifycallback",level:4},{value:"INotifyToken",id:"inotifytoken",level:4},{value:"IPeer",id:"ipeer",level:4},{value:"IRawConnection",id:"irawconnection",level:4},{value:"ISocket",id:"isocket",level:4},{value:"ITime",id:"itime",level:4},{value:"Enums",id:"enums",level:2},{value:"Commands",id:"commands",level:4},{value:"ConnectionState",id:"connectionstate",level:4},{value:"DisconnectReason",id:"disconnectreason",level:4},{value:"PacketType",id:"packettype",level:4},{value:"RejectReason",id:"rejectreason",level:4},{value:"Delegates",id:"delegates",level:2},{value:"Pool<T>.CreateNewItem",id:"pooltcreatenewitem",level:4},{value:"Pool<T>.CreateNewItemNoCount",id:"pooltcreatenewitemnocount",level:4}],k={toc:s};function d(e){let{components:t,...a}=e;return(0,o.kt)("wrapper",(0,n.Z)({},k,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"miragesocketlayer"},"Mirage.SocketLayer"),(0,o.kt)("h2",{id:"classes"},"Classes"),(0,o.kt)("h4",{id:"acksystem"},(0,o.kt)("a",{parentName:"h4",href:"./AckSystem"},"AckSystem")),(0,o.kt)("h4",{id:"acksystemreliablepacket"},(0,o.kt)("a",{parentName:"h4",href:"./AckSystem.ReliablePacket"},"AckSystem.ReliablePacket")),(0,o.kt)("h4",{id:"arraybatch"},(0,o.kt)("a",{parentName:"h4",href:"./ArrayBatch"},"ArrayBatch")),(0,o.kt)("h4",{id:"autocompletetoken"},(0,o.kt)("a",{parentName:"h4",href:"./AutoCompleteToken"},"AutoCompleteToken")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Token that invokes immediately")),(0,o.kt)("h4",{id:"batch"},(0,o.kt)("a",{parentName:"h4",href:"./Batch"},"Batch")),(0,o.kt)("h4",{id:"bytebuffer"},(0,o.kt)("a",{parentName:"h4",href:"./ByteBuffer"},"ByteBuffer")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Warpper around a byte[] that belongs to a ")),(0,o.kt)("h4",{id:"byteutils"},(0,o.kt)("a",{parentName:"h4",href:"./ByteUtils"},"ByteUtils")),(0,o.kt)("h4",{id:"config"},(0,o.kt)("a",{parentName:"h4",href:"./Config"},"Config")),(0,o.kt)("h4",{id:"connectionextensions"},(0,o.kt)("a",{parentName:"h4",href:"./ConnectionExtensions"},"ConnectionExtensions")),(0,o.kt)("h4",{id:"inotifycallbackextensions"},(0,o.kt)("a",{parentName:"h4",href:"./INotifyCallBackExtensions"},"INotifyCallBackExtensions")),(0,o.kt)("h4",{id:"metrics"},(0,o.kt)("a",{parentName:"h4",href:"./Metrics"},"Metrics")),(0,o.kt)("h4",{id:"notifytoken"},(0,o.kt)("a",{parentName:"h4",href:"./NotifyToken"},"NotifyToken")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Object returned from with events for when packet is Lost or Delivered")),(0,o.kt)("h4",{id:"peer"},(0,o.kt)("a",{parentName:"h4",href:"./Peer"},"Peer")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Controls flow of data in/out of mirage, Uses ")),(0,o.kt)("h4",{id:"poolt"},(0,o.kt)("a",{parentName:"h4",href:"./Pool-1"},"Pool","<","T",">")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Holds a collection of so they can be re-used without allocations")),(0,o.kt)("h4",{id:"reliablebatch"},(0,o.kt)("a",{parentName:"h4",href:"./ReliableBatch"},"ReliableBatch")),(0,o.kt)("h4",{id:"ringbuffert"},(0,o.kt)("a",{parentName:"h4",href:"./RingBuffer-1"},"RingBuffer","<","T",">")),(0,o.kt)("h4",{id:"sequencer"},(0,o.kt)("a",{parentName:"h4",href:"./Sequencer"},"Sequencer")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"A sequence generator that can wrap.\nFor example a 2 bit sequencer would generate\nthe following numbers:\n0,1,2,3,0,1,2,3,0,1,2,3...")),(0,o.kt)("h4",{id:"socketfactory"},(0,o.kt)("a",{parentName:"h4",href:"./SocketFactory"},"SocketFactory")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Creates an instance of ")),(0,o.kt)("h2",{id:"structs"},"Structs"),(0,o.kt)("h4",{id:"acksystemreliablereceived"},(0,o.kt)("a",{parentName:"h4",href:"./AckSystem.ReliableReceived"},"AckSystem.ReliableReceived")),(0,o.kt)("h4",{id:"metricsframe"},(0,o.kt)("a",{parentName:"h4",href:"./Metrics.Frame"},"Metrics.Frame")),(0,o.kt)("h4",{id:"poolmetrics"},(0,o.kt)("a",{parentName:"h4",href:"./PoolMetrics"},"PoolMetrics")),(0,o.kt)("h2",{id:"interfaces"},"Interfaces"),(0,o.kt)("h4",{id:"iconnection"},(0,o.kt)("a",{parentName:"h4",href:"./IConnection"},"IConnection")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Connection for ")),(0,o.kt)("h4",{id:"idatahandler"},(0,o.kt)("a",{parentName:"h4",href:"./IDataHandler"},"IDataHandler")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Handles data from SocketLayer\nA high level script should implement this interface give it to Peer when it is created")),(0,o.kt)("h4",{id:"iendpoint"},(0,o.kt)("a",{parentName:"h4",href:"./IEndPoint"},"IEndPoint")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Object that can be used as an endpoint for and ")),(0,o.kt)("p",null,"Implementation of this should override and so that 2 instance wil be equal if they have the same address internally"),(0,o.kt)("p",null,"When a new connection is received by Peer a copy of this endpoint will be created and given to that connection.\nOn future received the incoming endpoint will be compared to active connections inside a dictionary"),(0,o.kt)("h4",{id:"ihasaddress"},(0,o.kt)("a",{parentName:"h4",href:"./IHasAddress"},"IHasAddress")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Can be added to SocketFactory that have an Address Setting")),(0,o.kt)("h4",{id:"ihasport"},(0,o.kt)("a",{parentName:"h4",href:"./IHasPort"},"IHasPort")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Can be added to SocketFactory that have a Port Setting")),(0,o.kt)("h4",{id:"inotifycallback"},(0,o.kt)("a",{parentName:"h4",href:"./INotifyCallBack"},"INotifyCallBack")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Can be passed into and methods will be invoked when notify is delivered or lost")),(0,o.kt)("p",null,"See the Notify Example on how to use this interface"),(0,o.kt)("h4",{id:"inotifytoken"},(0,o.kt)("a",{parentName:"h4",href:"./INotifyToken"},"INotifyToken")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Object returned from with events for when packet is Lost or Delivered")),(0,o.kt)("h4",{id:"ipeer"},(0,o.kt)("a",{parentName:"h4",href:"./IPeer"},"IPeer")),(0,o.kt)("h4",{id:"irawconnection"},(0,o.kt)("a",{parentName:"h4",href:"./IRawConnection"},"IRawConnection")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"A connection that can send data directly to sockets\nOnly things inside socket layer should be sending raw packets. Others should use the methods inside ")),(0,o.kt)("h4",{id:"isocket"},(0,o.kt)("a",{parentName:"h4",href:"./ISocket"},"ISocket")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Link between Mirage and the outside world")),(0,o.kt)("h4",{id:"itime"},(0,o.kt)("a",{parentName:"h4",href:"./ITime"},"ITime")),(0,o.kt)("h2",{id:"enums"},"Enums"),(0,o.kt)("h4",{id:"commands"},(0,o.kt)("a",{parentName:"h4",href:"./Commands"},"Commands")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Small message used to control a connection")),(0,o.kt)("p",null," and Commands uses their own byte/enum to split up the flow and add struture to the code."),(0,o.kt)("h4",{id:"connectionstate"},(0,o.kt)("a",{parentName:"h4",href:"./ConnectionState"},"ConnectionState")),(0,o.kt)("h4",{id:"disconnectreason"},(0,o.kt)("a",{parentName:"h4",href:"./DisconnectReason"},"DisconnectReason")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Reason why a connection was disconnected")),(0,o.kt)("h4",{id:"packettype"},(0,o.kt)("a",{parentName:"h4",href:"./PacketType"},"PacketType")),(0,o.kt)("h4",{id:"rejectreason"},(0,o.kt)("a",{parentName:"h4",href:"./RejectReason"},"RejectReason")),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Reason for reject sent from server")),(0,o.kt)("h2",{id:"delegates"},"Delegates"),(0,o.kt)("h4",{id:"pooltcreatenewitem"},(0,o.kt)("a",{parentName:"h4",href:"./Pool-1.CreateNewItem"},"Pool","<","T",">",".CreateNewItem")),(0,o.kt)("h4",{id:"pooltcreatenewitemnocount"},(0,o.kt)("a",{parentName:"h4",href:"./Pool-1.CreateNewItemNoCount"},"Pool","<","T",">",".CreateNewItemNoCount")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a05b3eb9.8a3c2025.js b/assets/js/a05b3eb9.8a3c2025.js new file mode 100644 index 00000000000..73c198659d1 --- /dev/null +++ b/assets/js/a05b3eb9.8a3c2025.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4430],{3905:(t,e,r)=>{r.d(e,{Zo:()=>c,kt:()=>p});var a=r(67294);function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function l(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,a)}return r}function i(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?l(Object(r),!0).forEach((function(e){n(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function u(t,e){if(null==t)return{};var r,a,n=function(t,e){if(null==t)return{};var r,a,n={},l=Object.keys(t);for(a=0;a<l.length;a++)r=l[a],e.indexOf(r)>=0||(n[r]=t[r]);return n}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(a=0;a<l.length;a++)r=l[a],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}var o=a.createContext({}),s=function(t){var e=a.useContext(o),r=e;return t&&(r="function"==typeof t?t(e):i(i({},e),t)),r},c=function(t){var e=s(t.components);return a.createElement(o.Provider,{value:e},t.children)},m={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},d=a.forwardRef((function(t,e){var r=t.components,n=t.mdxType,l=t.originalType,o=t.parentName,c=u(t,["components","mdxType","originalType","parentName"]),d=s(r),p=n,b=d["".concat(o,".").concat(p)]||d[p]||m[p]||l;return r?a.createElement(b,i(i({ref:e},c),{},{components:r})):a.createElement(b,i({ref:e},c))}));function p(t,e){var r=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var l=r.length,i=new Array(l);i[0]=d;var u={};for(var o in e)hasOwnProperty.call(e,o)&&(u[o]=e[o]);u.originalType=t,u.mdxType="string"==typeof t?t:n,i[1]=u;for(var s=2;s<l;s++)i[s]=r[s];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}d.displayName="MDXCreateElement"},28082:(t,e,r)=>{r.r(e),r.d(e,{assets:()=>o,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>u,toc:()=>s});var a=r(87462),n=(r(67294),r(3905));const l={id:"VarIntAttribute",title:"VarIntAttribute"},i="Class VarIntAttribute",u={unversionedId:"reference/Mirage.Serialization/VarIntAttribute",id:"reference/Mirage.Serialization/VarIntAttribute",title:"VarIntAttribute",description:"Tells weaver the max range for small, medium and large values.",source:"@site/docs/reference/Mirage.Serialization/VarIntAttribute.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/VarIntAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarIntAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/VarIntAttribute.md",tags:[],version:"current",frontMatter:{id:"VarIntAttribute",title:"VarIntAttribute"},sidebar:"api",previous:{title:"VarFloatPacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarFloatPacker"},next:{title:"VarIntBlocksAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarIntBlocksAttribute"}},o={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"VarIntAttribute(UInt64, UInt64)",id:"varintattributeuint64-uint64",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"VarIntAttribute(UInt64, UInt64, UInt64, Boolean)",id:"varintattributeuint64-uint64-uint64-boolean",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],c={toc:s};function m(t){let{components:e,...r}=t;return(0,n.kt)("wrapper",(0,a.Z)({},c,r,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-varintattribute"},"Class VarIntAttribute"),(0,n.kt)("p",null,"Tells weaver the max range for small, medium and large values.\nAllows small values to be sent using less bits\nOnly works with integer fields (byte, int, ulong, enums etc)"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter)]\npublic class VarIntAttribute : Attribute, _Attribute\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"varintattributeuint64-uint64"},"VarIntAttribute(UInt64, UInt64)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public VarIntAttribute(ulong smallMax, ulong mediumMax)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"smallMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"mediumMax"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"varintattributeuint64-uint64-uint64-boolean"},"VarIntAttribute(UInt64, UInt64, UInt64, Boolean)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public VarIntAttribute(ulong smallMax, ulong mediumMax, ulong largeMax, bool throwIfOverLarge = true)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"smallMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"mediumMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"largeMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"throwIfOverLarge"),(0,n.kt)("td",{parentName:"tr",align:null})))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a0badf39.c3f71496.js b/assets/js/a0badf39.c3f71496.js new file mode 100644 index 00000000000..c0a37afa657 --- /dev/null +++ b/assets/js/a0badf39.c3f71496.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5968],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=l(r),m=o,h=p["".concat(c,".").concat(m)]||p[m]||d[m]||a;return r?n.createElement(h,i(i({ref:t},u),{},{components:r})):n.createElement(h,i({ref:t},u))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,i[1]=s;for(var l=2;l<a;l++)i[l]=r[l];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},45841:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>l});var n=r(87462),o=(r(67294),r(3905));const a={sidebar_position:1,title:"Overview"},i="Remote Actions Overview",s={unversionedId:"guides/remote-actions/index",id:"guides/remote-actions/index",title:"Overview",description:"To invoke code across the network you can use RPC (remote procedure call) and messages.",source:"@site/docs/guides/remote-actions/index.md",sourceDirName:"guides/remote-actions",slug:"/guides/remote-actions/",permalink:"/Mirage/docs/guides/remote-actions/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/remote-actions/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Overview"},sidebar:"docs",previous:{title:"Advanced Synchronization",permalink:"/Mirage/docs/guides/sync/custom-serialization"},next:{title:"Client RPC",permalink:"/Mirage/docs/guides/remote-actions/client-rpc"}},c={},l=[{value:"Arguments to Remote Actions",id:"arguments-to-remote-actions",level:2}],u={toc:l};function d(e){let{components:t,...a}=e;return(0,o.kt)("wrapper",(0,n.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"remote-actions-overview"},"Remote Actions Overview"),(0,o.kt)("p",null,"To invoke code across the network you can use RPC (remote procedure call) and messages. "),(0,o.kt)("p",null,"RPC stands for Remote Procedure Calls. They can be used inside ",(0,o.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviours")," to tell either the client or server to do an action. For example, the client sends an RPC to the server to update the player's name."),(0,o.kt)("p",null,"There are 3 types of RPC:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/docs/guides/remote-actions/client-rpc"},"Client Rpc")," | Called on the server, invoked on the client"),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/docs/guides/remote-actions/server-rpc"},"Server Rpc")," | Called on the client, invoked on server, can have return values"),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/docs/guides/remote-actions/network-messages"},"Network Messages")," | Calls on either the server/client and require a handler to be registered")),(0,o.kt)("p",null,"Mirage uses ",(0,o.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/network-messages"},"Network messages")," for sending everything, this includes Spawning, RPC, and SyncVars. Network message serialized into bytes then sent over the network. "),(0,o.kt)("p",null,"Network Message can be used to send data or invoke actions without a NetworkBehaviour. For example, sending character select information before the player's character is spawned. "),(0,o.kt)("p",null,"The diagram below shows the directions that remote actions take:"),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},'"Commands" is the previous name for "ServerRpc"')),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Data Flow Graph",src:r(91624).Z,width:"811",height:"586"})),(0,o.kt)("h2",{id:"arguments-to-remote-actions"},"Arguments to Remote Actions"),(0,o.kt)("p",null,"Mirage serializes RPC arguments to send them over the network. You can use any ",(0,o.kt)("a",{parentName:"p",href:"/docs/guides/serialization/data-types"},"supported Mirage type"),"."),(0,o.kt)("p",null,"There are limits to what can be arguments. GameObject, NetworkIdentity, and NetworkBehaviour can be sent because they have a Network ID. But, Mirage can't send other Unity Objects by itself because it will have no way to find them on the other side."),(0,o.kt)("p",null,"It is also possible to create serializer functions for unsupported types. You can find out more information ",(0,o.kt)("a",{parentName:"p",href:"/docs/guides/serialization/data-types#custom-data-types"},"here"),"."))}d.isMDXComponent=!0},91624:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/unet-directions-f5b45204a697a14ca5f74730d072023d.jpg"}}]); \ No newline at end of file diff --git a/assets/js/a0e32dbc.92f370cf.js b/assets/js/a0e32dbc.92f370cf.js new file mode 100644 index 00000000000..30279f9e544 --- /dev/null +++ b/assets/js/a0e32dbc.92f370cf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7703],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>m});var r=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var p=r.createContext({}),c=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},s=function(e){var t=c(e.components);return r.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,p=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),d=c(n),m=i,k=d["".concat(p,".").concat(m)]||d[m]||u[m]||a;return n?r.createElement(k,l(l({ref:t},s),{},{components:n})):r.createElement(k,l({ref:t},s))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,l=new Array(a);l[0]=d;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o.mdxType="string"==typeof e?e:i,l[1]=o;for(var c=2;c<a;c++)l[c]=n[c];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}d.displayName="MDXCreateElement"},72603:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var r=n(87462),i=(n(67294),n(3905));const a={},l="Variable Sized Integer Blocks",o={unversionedId:"guides/bit-packing/var-int-blocks",id:"guides/bit-packing/var-int-blocks",title:"Variable Sized Integer Blocks",description:"This page is a work in progress",source:"@site/docs/guides/bit-packing/var-int-blocks.md",sourceDirName:"guides/bit-packing",slug:"/guides/bit-packing/var-int-blocks",permalink:"/Mirage/docs/guides/bit-packing/var-int-blocks",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/bit-packing/var-int-blocks.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Quaternion Pack",permalink:"/Mirage/docs/guides/bit-packing/quaternion-pack"},next:{title:"Variable Sized Integer",permalink:"/Mirage/docs/guides/bit-packing/var-int"}},p={},c=[{value:"Supported Types",id:"supported-types",level:3},{value:"Example 1",id:"example-1",level:3},{value:"Example 2",id:"example-2",level:3},{value:"Generated Code",id:"generated-code",level:3}],s={toc:c};function u(e){let{components:t,...n}=e;return(0,i.kt)("wrapper",(0,r.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"variable-sized-integer-blocks"},"Variable Sized Integer Blocks"),(0,i.kt)("admonition",{title:"Work In Progress",type:"caution"},(0,i.kt)("p",{parentName:"admonition"},"This page is a work in progress")),(0,i.kt)("p",null,"Packs an integer value based on its size"),(0,i.kt)("h3",{id:"supported-types"},"Supported Types"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Byte"),(0,i.kt)("li",{parentName:"ul"},"Short"),(0,i.kt)("li",{parentName:"ul"},"UShort"),(0,i.kt)("li",{parentName:"ul"},"Int"),(0,i.kt)("li",{parentName:"ul"},"Uint"),(0,i.kt)("li",{parentName:"ul"},"Long"),(0,i.kt)("li",{parentName:"ul"},"ULong"),(0,i.kt)("li",{parentName:"ul"},"Enum")),(0,i.kt)("h3",{id:"example-1"},"Example 1"),(0,i.kt)("p",null,"A modifier that can be added to a character value to increase or decrease it"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public class MyNetworkBehaviour : NetworkBehaviour \n{\n [SyncVar, VarIntBlocks(-100, 100)]\n public int modifier;\n}\n")),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"Range = 200")," so bit count is 8, causing the real range to be -100 to 155"),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"modifier = 57")," will serialize to ",(0,i.kt)("inlineCode",{parentName:"p"},"1001_1101")),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"modifier = -57")," will serialize to ",(0,i.kt)("inlineCode",{parentName:"p"},"0010_1011")),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"modifier = -110")," ",(0,i.kt)("em",{parentName:"p"},"(out of range)")," will serialize to ",(0,i.kt)("inlineCode",{parentName:"p"},"1111_0110")),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"modifier = 130")," will serialize to ",(0,i.kt)("inlineCode",{parentName:"p"},"1110_0110"),", even tho 130 is out of range there is enough range because bit count rounds up."),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"modifier = 170")," ",(0,i.kt)("em",{parentName:"p"},"(out of range)")," will serialize to ",(0,i.kt)("inlineCode",{parentName:"p"},"0000_1110")),(0,i.kt)("h3",{id:"example-2"},"Example 2"),(0,i.kt)("p",null,"A Direction enum to say which way a model is facing"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public enum MyDirection\n{\n Backwards = -1,\n None = 0,\n Forwards = 1,\n}\npublic class MyNetworkBehaviour : NetworkBehaviour \n{\n [SyncVar, BitCount(-1, 1)]\n public MyDirection direction;\n}\n")),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"Range = 3")," so bit count is ",(0,i.kt)("inlineCode",{parentName:"p"},"2"),", causing the real range to be -1 to 2"),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"direction = -1")," will serialize to ",(0,i.kt)("inlineCode",{parentName:"p"},"00")),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"direction = 1")," will serialize to ",(0,i.kt)("inlineCode",{parentName:"p"},"10")),(0,i.kt)("h3",{id:"generated-code"},"Generated Code"),(0,i.kt)("p",null,"Source:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"[SyncVar, BitCountFromRange(-100, 100)]\npublic int myValue;\n")),(0,i.kt)("p",null,"Generated:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public override bool SerializeSyncVars(NetworkWriter writer, bool initialState)\n{\n ulong syncVarDirtyBits = base.SyncVarDirtyBits;\n bool result = base.SerializeSyncVars(writer, initialize);\n\n if (initialState) \n {\n writer.Write((ulong)(this.myValue - (-100)), 8);\n return true;\n }\n\n writer.Write(syncVarDirtyBits, 1);\n if ((syncVarDirtyBits & 1UL) != 0UL)\n {\n writer.Write((ulong)(this.myValue - (-100)), 8);\n result = true;\n }\n\n return result;\n}\n\npublic override void DeserializeSyncVars(NetworkReader reader, bool initialState)\n{\n base.DeserializeSyncVars(reader, initialState);\n\n if (initialState)\n {\n this.myValue = reader.Read(8) + (-100);\n return;\n }\n \n ulong dirtyMask = reader.Read(1);\n if ((dirtyMask & 1UL) != 0UL)\n {\n this.myValue = reader.Read(8) + (-100);\n }\n}\n")),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},"last updated for Mirage v101.8.0")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a1546f52.466f7cde.js b/assets/js/a1546f52.466f7cde.js new file mode 100644 index 00000000000..ed15d5fafa8 --- /dev/null +++ b/assets/js/a1546f52.466f7cde.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4716],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>d});var n=a(67294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function c(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a,n,i={},r=Object.keys(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var s=n.createContext({}),l=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},p=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),g=l(a),d=i,m=g["".concat(s,".").concat(d)]||g[d]||u[d]||r;return a?n.createElement(m,o(o({ref:t},p),{},{components:a})):n.createElement(m,o({ref:t},p))}));function d(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=a.length,o=new Array(r);o[0]=g;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:i,o[1]=c;for(var l=2;l<r;l++)o[l]=a[l];return n.createElement.apply(null,o)}return n.createElement.apply(null,a)}g.displayName="MDXCreateElement"},81793:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var n=a(87462),i=(a(67294),a(3905));const r={},o="Bit Packing",c={unversionedId:"guides/bit-packing/index",id:"guides/bit-packing/index",title:"Bit Packing",description:"Bit packing is a form of data compression that reduces the number of bits it takes to serialize a value.",source:"@site/docs/guides/bit-packing/index.md",sourceDirName:"guides/bit-packing",slug:"/guides/bit-packing/",permalink:"/Mirage/docs/guides/bit-packing/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/bit-packing/index.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"SyncPrefab",permalink:"/Mirage/docs/guides/serialization/sync-prefab"},next:{title:"Bit Count From Range",permalink:"/Mirage/docs/guides/bit-packing/bit-count-from-range"}},s={},l=[{value:"Bit Packing in Mirage",id:"bit-packing-in-mirage",level:2}],p={toc:l};function u(e){let{components:t,...a}=e;return(0,i.kt)("wrapper",(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"bit-packing"},"Bit Packing"),(0,i.kt)("p",null,"Bit packing is a form of data compression that reduces the number of bits it takes to serialize a value."),(0,i.kt)("p",null,"A simple example of this is an integer that is always between 0 and 100. Normally an integer will be serialized as 32 bits, but knowing its range is 100 it can be packed into only 7 bits."),(0,i.kt)("h2",{id:"bit-packing-in-mirage"},"Bit Packing in Mirage"),(0,i.kt)("p",null,"Mirage has many attributes that can be applied to SyncVars and Rpc parameters"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/docs/guides/bit-packing/bit-count"},"BitCount")," Sets the number of bits on an integer"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/docs/guides/bit-packing/bit-count-from-range"},"BitCountFromRange")," Sets the number of bits from a given range, rounding up."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/docs/guides/bit-packing/zig-zag-encode"},"ZigZagEncode")," Encodes a value using ",(0,i.kt)("a",{parentName:"li",href:"https://gist.github.com/mfuerstenau/ba870a29e16536fdbaba"},"ZigZag Encoding"),". Only useable with ",(0,i.kt)("a",{parentName:"li",href:"/docs/guides/bit-packing/bit-count"},"BitCount")," or ",(0,i.kt)("a",{parentName:"li",href:"/docs/guides/bit-packing/var-int-blocks"},"VarIntBlocks")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/docs/guides/bit-packing/var-int"},"VarInt")," Packs int to different sizes based on their size. Allows for 3 configurable size ranges"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/docs/guides/bit-packing/var-int-blocks"},"VarIntBlocks")," Packs int to different sizes based on their size. Uses block size so can be used over a large range of values"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/docs/guides/bit-packing/float-pack"},"FloatPack")," Compresses a float value"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/docs/guides/bit-packing/vector-pack"},"VectorPack")," Compresses a Vector value"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/docs/guides/bit-packing/quaternion-pack"},"QuaternionPack")," Compresses a Quaternion value")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a1b6e57c.77a34431.js b/assets/js/a1b6e57c.77a34431.js new file mode 100644 index 00000000000..a3856318020 --- /dev/null +++ b/assets/js/a1b6e57c.77a34431.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8742],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>k});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var d=n.createContext({}),c=function(e){var t=n.useContext(d),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},s=function(e){var t=c(e.components);return n.createElement(d.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,l=e.originalType,d=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),u=c(r),k=a,m=u["".concat(d,".").concat(k)]||u[k]||p[k]||l;return r?n.createElement(m,i(i({ref:t},s),{},{components:r})):n.createElement(m,i({ref:t},s))}));function k(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=r.length,i=new Array(l);i[0]=u;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var c=2;c<l;c++)i[c]=r[c];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},97074:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const l={id:"NetworkWorld",title:"NetworkWorld"},i="Class NetworkWorld",o={unversionedId:"reference/Mirage/NetworkWorld",id:"reference/Mirage/NetworkWorld",title:"NetworkWorld",description:"Holds collection of spawned network objects",source:"@site/docs/reference/Mirage/NetworkWorld.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkWorld",permalink:"/Mirage/docs/reference/Mirage/NetworkWorld",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkWorld.md",tags:[],version:"current",frontMatter:{id:"NetworkWorld",title:"NetworkWorld"},sidebar:"api",previous:{title:"NetworkVisibility",permalink:"/Mirage/docs/reference/Mirage/NetworkVisibility"},next:{title:"NetworkWorldExtensions",permalink:"/Mirage/docs/reference/Mirage/NetworkWorldExtensions"}},d={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"NetworkWorld()",id:"networkworld",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Properties",id:"properties",level:3},{value:"Time",id:"time",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"SpawnedIdentities",id:"spawnedidentities",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Methods",id:"methods",level:3},{value:"TryGetIdentity(UInt32, out NetworkIdentity)",id:"trygetidentityuint32-out-networkidentity",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5}],s={toc:c};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-networkworld"},"Class NetworkWorld"),(0,a.kt)("p",null,"Holds collection of spawned network objects\nThis class works on both server and client"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class NetworkWorld : IObjectLocator\n")),(0,a.kt)("h3",{id:"constructors"},"Constructors"),(0,a.kt)("h4",{id:"networkworld"},"NetworkWorld()"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkWorld()\n")),(0,a.kt)("h3",{id:"properties"},"Properties"),(0,a.kt)("h4",{id:"time"},"Time"),(0,a.kt)("p",null,"Time kept in this world"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkTime Time { get; }\n")),(0,a.kt)("h4",{id:"spawnedidentities"},"SpawnedIdentities"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public IReadOnlyCollection<NetworkIdentity> SpawnedIdentities { get; }\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"trygetidentityuint32-out-networkidentity"},"TryGetIdentity(UInt32, out NetworkIdentity)"),(0,a.kt)("h5",{id:"declaration-3"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public bool TryGetIdentity(uint netId, out NetworkIdentity identity)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,a.kt)("td",{parentName:"tr",align:null},"netId"),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,a.kt)("td",{parentName:"tr",align:null},"identity"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h5",{id:"returns"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,a.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a2738a55.a0882e0c.js b/assets/js/a2738a55.a0882e0c.js new file mode 100644 index 00000000000..b1535cfdd1a --- /dev/null +++ b/assets/js/a2738a55.a0882e0c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3754],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>m});var n=r(67294);function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function a(e,t){if(null==e)return{};var r,n,s=function(e,t){if(null==e)return{};var r,n,s={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(s[r]=e[r]);return s}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r])}return s}var c=n.createContext({}),u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,s=e.mdxType,o=e.originalType,c=e.parentName,p=a(e,["components","mdxType","originalType","parentName"]),d=u(r),m=s,g=d["".concat(c,".").concat(m)]||d[m]||l[m]||o;return r?n.createElement(g,i(i({ref:t},p),{},{components:r})):n.createElement(g,i({ref:t},p))}));function m(e,t){var r=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var o=r.length,i=new Array(o);i[0]=d;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:s,i[1]=a;for(var u=2;u<o;u++)i[u]=r[u];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},24105:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>o,metadata:()=>a,toc:()=>u});var n=r(87462),s=(r(67294),r(3905));const o={sidebar_position:11},i="Best Practices",a={unversionedId:"guides/best-practices",id:"guides/best-practices",title:"Best Practices",description:"This page is a work in progress",source:"@site/docs/guides/best-practices.md",sourceDirName:"guides",slug:"/guides/best-practices",permalink:"/Mirage/docs/guides/best-practices",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/best-practices.md",tags:[],version:"current",sidebarPosition:11,frontMatter:{sidebar_position:11},sidebar:"docs",previous:{title:"Mirror Migration Guide",permalink:"/Mirage/docs/guides/mirror-migration"},next:{title:"Resources",permalink:"/Mirage/docs/guides/resources"}},c={},u=[{value:"Custom Messages",id:"custom-messages",level:2}],p={toc:u};function l(e){let{components:t,...r}=e;return(0,s.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,s.kt)("h1",{id:"best-practices"},"Best Practices"),(0,s.kt)("admonition",{title:"Work In Progress",type:"caution"},(0,s.kt)("p",{parentName:"admonition"},"This page is a work in progress")),(0,s.kt)("h2",{id:"custom-messages"},"Custom Messages"),(0,s.kt)("p",null,"If you send custom message regularly then the message should be a struct so that there is no GC/allocations."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-cs"},"struct CreateVisualEffect\n{\n public Vector3 position;\n public Guid prefabId;\n}\n")))}l.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a2c8fbc9.07b3e718.js b/assets/js/a2c8fbc9.07b3e718.js new file mode 100644 index 00000000000..cde31a18b0d --- /dev/null +++ b/assets/js/a2c8fbc9.07b3e718.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2803],{3905:(e,n,t)=>{t.d(n,{Zo:()=>c,kt:()=>h});var a=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,a,i=function(e,n){if(null==e)return{};var t,a,i={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var s=a.createContext({}),d=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},c=function(e){var n=d(e.components);return a.createElement(s.Provider,{value:n},e.children)},p={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),m=d(t),h=i,u=m["".concat(s,".").concat(h)]||m[h]||p[h]||r;return t?a.createElement(u,o(o({ref:n},c),{},{components:t})):a.createElement(u,o({ref:n},c))}));function h(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var r=t.length,o=new Array(r);o[0]=m;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l.mdxType="string"==typeof e?e:i,o[1]=l;for(var d=2;d<r;d++)o[d]=t[d];return a.createElement.apply(null,o)}return a.createElement.apply(null,t)}m.displayName="MDXCreateElement"},6370:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>d});var a=t(87462),i=(t(67294),t(3905));const r={sidebar_position:5},o="Sync Settings",l={unversionedId:"guides/sync/sync-settings",id:"guides/sync/sync-settings",title:"Sync Settings",description:"The Sync Settings can be found in each NetworkBehaviour component. It is only visible in the inspector when there are either SyncVar, SyncObject, or if OnSerialize is overridden. These settings allow you to configure how and when data is synchronized across the network.",source:"@site/docs/guides/sync/sync-settings.md",sourceDirName:"guides/sync",slug:"/guides/sync/sync-settings",permalink:"/Mirage/docs/guides/sync/sync-settings",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/sync/sync-settings.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"docs",previous:{title:"Sync Sorted Set",permalink:"/Mirage/docs/guides/sync/sync-objects/sync-sorted-set"},next:{title:"serialization-flow",permalink:"/Mirage/docs/guides/sync/serialization-flow"}},s={},d=[{value:"Sync Direction",id:"sync-direction",level:2},{value:"When to use Server to Owner",id:"when-to-use-server-to-owner",level:3},{value:"Sync Timing",id:"sync-timing",level:2},{value:"Variable",id:"variable",level:3},{value:"Fixed",id:"fixed",level:3},{value:"Example of Fixed vs Variable",id:"example-of-fixed-vs-variable",level:4},{value:"NoInterval",id:"nointerval",level:3},{value:"When are changes sent?",id:"when-are-changes-sent",level:2}],c={toc:d};function p(e){let{components:n,...t}=e;return(0,i.kt)("wrapper",(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"sync-settings"},"Sync Settings"),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"Sync Settings")," can be found in each ",(0,i.kt)("inlineCode",{parentName:"p"},"NetworkBehaviour")," component. It is only visible in the inspector when there are either ",(0,i.kt)("inlineCode",{parentName:"p"},"SyncVar"),", ",(0,i.kt)("inlineCode",{parentName:"p"},"SyncObject"),", or if ",(0,i.kt)("inlineCode",{parentName:"p"},"OnSerialize")," is overridden. These settings allow you to configure how and when data is synchronized across the network. "),(0,i.kt)("p",null,"Using the ",(0,i.kt)("inlineCode",{parentName:"p"},"Sync Settings"),", you can set the direction values are synced and how often they are sent."),(0,i.kt)("h2",{id:"sync-direction"},"Sync Direction"),(0,i.kt)("p",null,"SyncDirection determines which directions changes are sent. The default sync direction is from ",(0,i.kt)("inlineCode",{parentName:"p"},"Server")," to both ",(0,i.kt)("inlineCode",{parentName:"p"},"Owner")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"Observers"),". "),(0,i.kt)("p",null,"The directions can be set per NetworkBehaviour, which means that different components can have different sync directions. For example, a PlayerName component can be set to sync from the ",(0,i.kt)("inlineCode",{parentName:"p"},"Owner")," and a Health component from the ",(0,i.kt)("inlineCode",{parentName:"p"},"Server"),"."),(0,i.kt)("p",null,"Valid sync directions include:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Sync from ",(0,i.kt)("inlineCode",{parentName:"li"},"Server")," to ",(0,i.kt)("inlineCode",{parentName:"li"},"Owner")," and/or ",(0,i.kt)("inlineCode",{parentName:"li"},"Observers")," (Default)"),(0,i.kt)("li",{parentName:"ul"},"Sync from ",(0,i.kt)("inlineCode",{parentName:"li"},"Owner")," to ",(0,i.kt)("inlineCode",{parentName:"li"},"Server")," and/or ",(0,i.kt)("inlineCode",{parentName:"li"},"Observers")),(0,i.kt)("li",{parentName:"ul"},"Sync from both ",(0,i.kt)("inlineCode",{parentName:"li"},"Owner")," and ",(0,i.kt)("inlineCode",{parentName:"li"},"Server")," to ",(0,i.kt)("inlineCode",{parentName:"li"},"Observers")," only"),(0,i.kt)("li",{parentName:"ul"},"No sync direction (None to None), nothing will be synced.")),(0,i.kt)("p",null,"Invalid sync directions include:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Sync from ",(0,i.kt)("inlineCode",{parentName:"li"},"None")," to any direction"),(0,i.kt)("li",{parentName:"ul"},"Sync from ",(0,i.kt)("inlineCode",{parentName:"li"},"Owner")," to None or ",(0,i.kt)("inlineCode",{parentName:"li"},"Server")," to None"),(0,i.kt)("li",{parentName:"ul"},"Sync from ",(0,i.kt)("inlineCode",{parentName:"li"},"Server")," to Owner only"),(0,i.kt)("li",{parentName:"ul"},"Sync from both Owner and ",(0,i.kt)("inlineCode",{parentName:"li"},"Server")," to Owner only")),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},(0,i.kt)("inlineCode",{parentName:"p"},"ObserversOnly")," excludes the ",(0,i.kt)("inlineCode",{parentName:"p"},"Owner"),". In order too sync too owner the ",(0,i.kt)("inlineCode",{parentName:"p"},"Owner")," Flag must be set.")),(0,i.kt)("p",null,"If syncing from both ",(0,i.kt)("inlineCode",{parentName:"p"},"Owner")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"Server")," at the same time, there will be a race condition. If they both update a value at the same time, they will both send an update to the other side which will set the value and cause them to be out of sync. While this option is allowed, it is advised to only sync from either ",(0,i.kt)("inlineCode",{parentName:"p"},"Server")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"Owner"),"."),(0,i.kt)("h3",{id:"when-to-use-server-to-owner"},"When to use Server to Owner"),(0,i.kt)("p",null,"In some case you don't want some data to be visible to other players. By disabling the ",(0,i.kt)("inlineCode",{parentName:"p"},"ObserversOnly")," flag Mirage will only send data to the Player that owns the object."),(0,i.kt)("p",null,"For example, suppose you are making an inventory system. Suppose players A, B, and C are in the same area. There will be a total of 12 objects in the entire network, objects in bold are owned by that client:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Client A has ",(0,i.kt)("strong",{parentName:"li"},"Player A"),", Player B, and Player C"),(0,i.kt)("li",{parentName:"ul"},"Client B has Player A, ",(0,i.kt)("strong",{parentName:"li"},"Player B"),", and Player C"),(0,i.kt)("li",{parentName:"ul"},"Client C has Player A, Player B, and ",(0,i.kt)("strong",{parentName:"li"},"Player C")),(0,i.kt)("li",{parentName:"ul"},"The server has Player A, Player B, Player C")),(0,i.kt)("p",null,"each one of them would have an Inventory component"),(0,i.kt)("p",null,"Suppose Player A picks up some loot. The server adds the loot to Player's A inventory, which could have a ",(0,i.kt)("a",{parentName:"p",href:"/docs/guides/sync/sync-objects/sync-list"},"SyncLists")," of Items. "),(0,i.kt)("p",null,"By default, Mirage now has to synchronize player A's inventory everywhere, which means sending an update message to client A, client B, and client C, because they all have a copy of Player A. This is wasteful, Client B and Client C do not need to know about Player's A inventory, they never see it on screen. It is also a security problem, someone could hack the client and display other people's inventory and use it to their advantage."),(0,i.kt)("p",null,"By only having ",(0,i.kt)("inlineCode",{parentName:"p"},"SyncTo.Owner")," set the server will only send then Player A's to Client A, Player B's to Client B, etc. "),(0,i.kt)("p",null,"It might not seem like much of a waste with only 3 players, but say if you have 50 instead the that is a lot of extra data to sending to each client."),(0,i.kt)("p",null,"Other typical use cases include quests, player's hand in a card game, skills, experience, or any other data you don't need to share with other players."),(0,i.kt)("h2",{id:"sync-timing"},"Sync Timing"),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"SyncTiming")," determines how the minium time between changes being sent. Values are not sent unless they are changed or manually set as dirty."),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"SyncTiming")," enum has the following values:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"Variable")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"Fixed")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"NoInterval"))),(0,i.kt)("p",null,(0,i.kt)("inlineCode",{parentName:"p"},"Variable")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"Fixed")," will use the Interval field to determine how often changes are sent. ",(0,i.kt)("inlineCode",{parentName:"p"},"NoInterval")," will sent changes next time Update is run"),(0,i.kt)("h3",{id:"variable"},"Variable"),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"Variable")," timing mode waits for at least the specified ",(0,i.kt)("inlineCode",{parentName:"p"},"Interval")," time after the last sync before sending again. This timing mode is best used when values don't change often or for non-time-critical data. Compared to the ",(0,i.kt)("inlineCode",{parentName:"p"},"Fixed")," timing mode, the ",(0,i.kt)("inlineCode",{parentName:"p"},"Variable")," timing mode sends data less often for the same ",(0,i.kt)("inlineCode",{parentName:"p"},"Interval"),". "),(0,i.kt)("h3",{id:"fixed"},"Fixed"),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"Fixed")," timing mode ensures that data is sent every ",(0,i.kt)("inlineCode",{parentName:"p"},"Interval")," if changed. This timing mode is best used for data that changes often and you want exactly ",(0,i.kt)("inlineCode",{parentName:"p"},"(1 / Interval)")," updates per second. The ",(0,i.kt)("inlineCode",{parentName:"p"},"Fixed")," timing mode has a more consistent sync time compared to the ",(0,i.kt)("inlineCode",{parentName:"p"},"Variable")," timing mode. "),(0,i.kt)("h4",{id:"example-of-fixed-vs-variable"},"Example of Fixed vs Variable"),(0,i.kt)("p",null,"For example, if ",(0,i.kt)("inlineCode",{parentName:"p"},"Interval")," is 0.1, the ",(0,i.kt)("inlineCode",{parentName:"p"},"Fixed")," timing mode will send data at a constant rate of 10 times per second, while the ",(0,i.kt)("inlineCode",{parentName:"p"},"Variable")," timing mode will depend more on the deltaTime and may send data at irregular intervals. This means that ",(0,i.kt)("inlineCode",{parentName:"p"},"Variable")," mode will send less often/"),(0,i.kt)("h3",{id:"nointerval"},"NoInterval"),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"NoInterval")," timing mode ignores ",(0,i.kt)("inlineCode",{parentName:"p"},"SyncSettings.Interval")," and sends changes in the next update. This timing mode is best used for scenarios where data changes frequently and sending updates as soon as possible is desired."),(0,i.kt)("h2",{id:"when-are-changes-sent"},"When are changes sent?"),(0,i.kt)("p",null,"When a value is changed, the corresponding ",(0,i.kt)("inlineCode",{parentName:"p"},"NetworkBehaviour")," is added to a list of dirty objects. This list is then looped over during each update, and changes are sent while taking the ",(0,i.kt)("inlineCode",{parentName:"p"},"SyncInterval")," into account."),(0,i.kt)("p",null,"This means that the server only has to loop over a small number of objects each frame - only the objects that have changed. This is a significant improvement in performance, especially when there are a large number of idle network objects."),(0,i.kt)("p",null,"In contrast, other networking solutions like Mirror Networking loop over every object every update, regardless of whether it has changed or not."),(0,i.kt)("p",null,"Because of this improvement, certain tasks can be accomplished more easily in Mirage. For example, if you have a forest with individual trees represented by NetworkIdentity, they will not add any performance cost unless the player interacts with them. This allows you to use RPCs and SyncVars on each tree, making it easier to create network features without needing workarounds for performance reasons."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a3d1556d.f62e9a21.js b/assets/js/a3d1556d.f62e9a21.js new file mode 100644 index 00000000000..7d8de910fb2 --- /dev/null +++ b/assets/js/a3d1556d.f62e9a21.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3372],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>g});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function s(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function o(e,r){if(null==e)return{};var t,a,n=function(e,r){if(null==e)return{};var t,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)t=i[a],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)t=i[a],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var l=a.createContext({}),c=function(e){var r=a.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):s(s({},r),e)),t},p=function(e){var r=c(e.components);return a.createElement(l.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},u=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,i=e.originalType,l=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=c(t),g=n,f=u["".concat(l,".").concat(g)]||u[g]||d[g]||i;return t?a.createElement(f,s(s({ref:r},p),{},{components:t})):a.createElement(f,s({ref:r},p))}));function g(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var i=t.length,s=new Array(i);s[0]=u;var o={};for(var l in r)hasOwnProperty.call(r,l)&&(o[l]=r[l]);o.originalType=e,o.mdxType="string"==typeof e?e:n,s[1]=o;for(var c=2;c<i;c++)s[c]=t[c];return a.createElement.apply(null,s)}return a.createElement.apply(null,t)}u.displayName="MDXCreateElement"},10165:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var a=t(87462),n=(t(67294),t(3905));const i={id:"UpdateVarsMessage",title:"UpdateVarsMessage"},s="Struct UpdateVarsMessage",o={unversionedId:"reference/Mirage/UpdateVarsMessage",id:"reference/Mirage/UpdateVarsMessage",title:"UpdateVarsMessage",description:"Syntax",source:"@site/docs/reference/Mirage/UpdateVarsMessage.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/UpdateVarsMessage",permalink:"/Mirage/docs/reference/Mirage/UpdateVarsMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/UpdateVarsMessage.md",tags:[],version:"current",frontMatter:{id:"UpdateVarsMessage",title:"UpdateVarsMessage"},sidebar:"api",previous:{title:"UnSpawnDelegate",permalink:"/Mirage/docs/reference/Mirage/UnSpawnDelegate"},next:{title:"Version",permalink:"/Mirage/docs/reference/Mirage/Version"}},l={},c=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"NetId",id:"netid",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Payload",id:"payload",level:4},{value:"Declaration",id:"declaration-1",level:5}],p={toc:c};function d(e){let{components:r,...t}=e;return(0,n.kt)("wrapper",(0,a.Z)({},p,t,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"struct-updatevarsmessage"},"Struct UpdateVarsMessage"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public struct UpdateVarsMessage\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"netid"},"NetId"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public uint NetId\n")),(0,n.kt)("h4",{id:"payload"},"Payload"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public ArraySegment<byte> Payload\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a461f4c5.bc22d2b2.js b/assets/js/a461f4c5.bc22d2b2.js new file mode 100644 index 00000000000..980ab8c03a8 --- /dev/null +++ b/assets/js/a461f4c5.bc22d2b2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5502],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>g});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var o=n.createContext({}),s=function(e){var t=n.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=s(e.components);return n.createElement(o.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,l=e.originalType,o=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=s(r),g=a,f=u["".concat(o,".").concat(g)]||u[g]||d[g]||l;return r?n.createElement(f,c(c({ref:t},p),{},{components:r})):n.createElement(f,c({ref:t},p))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=r.length,c=new Array(l);c[0]=u;var i={};for(var o in t)hasOwnProperty.call(t,o)&&(i[o]=t[o]);i.originalType=e,i.mdxType="string"==typeof e?e:a,c[1]=i;for(var s=2;s<l;s++)c[s]=r[s];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},2028:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));const l={id:"RpcMessage",title:"RpcMessage"},c="Struct RpcMessage",i={unversionedId:"reference/Mirage.RemoteCalls/RpcMessage",id:"reference/Mirage.RemoteCalls/RpcMessage",title:"RpcMessage",description:"Syntax",source:"@site/docs/reference/Mirage.RemoteCalls/RpcMessage.md",sourceDirName:"reference/Mirage.RemoteCalls",slug:"/reference/Mirage.RemoteCalls/RpcMessage",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.RemoteCalls/RpcMessage.md",tags:[],version:"current",frontMatter:{id:"RpcMessage",title:"RpcMessage"},sidebar:"api",previous:{title:"RpcInvokeType",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcInvokeType"},next:{title:"RpcReply",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcReply"}},o={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"NetId",id:"netid",level:4},{value:"Declaration",id:"declaration",level:5},{value:"FunctionIndex",id:"functionindex",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Payload",id:"payload",level:4},{value:"Declaration",id:"declaration-2",level:5}],p={toc:s};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-rpcmessage"},"Struct RpcMessage"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct RpcMessage\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"netid"},"NetId"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public uint NetId\n")),(0,a.kt)("h4",{id:"functionindex"},"FunctionIndex"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public int FunctionIndex\n")),(0,a.kt)("h4",{id:"payload"},"Payload"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public ArraySegment<byte> Payload\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a4847e6d.864ae477.js b/assets/js/a4847e6d.864ae477.js new file mode 100644 index 00000000000..25c4e6b9416 --- /dev/null +++ b/assets/js/a4847e6d.864ae477.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4638],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},i=Object.keys(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var l=o.createContext({}),d=function(e){var t=o.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},u=function(e){var t=d(e.components);return o.createElement(l.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=d(r),m=n,v=p["".concat(l,".").concat(m)]||p[m]||c[m]||i;return r?o.createElement(v,a(a({ref:t},u),{},{components:r})):o.createElement(v,a({ref:t},u))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,a=new Array(i);a[0]=p;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:n,a[1]=s;for(var d=2;d<i;d++)a[d]=r[d];return o.createElement.apply(null,a)}return o.createElement.apply(null,r)}p.displayName="MDXCreateElement"},24963:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>c,frontMatter:()=>i,metadata:()=>s,toc:()=>d});var o=r(87462),n=(r(67294),r(3905));const i={sidebar_position:1,title:"Overview"},a="Development Servers Overview",s={unversionedId:"guides/development-servers/index",id:"guides/development-servers/index",title:"Overview",description:"During this guide, we will set up a dedicated server and place the server build of our project on the dedicated server.",source:"@site/docs/guides/development-servers/index.md",sourceDirName:"guides/development-servers",slug:"/guides/development-servers/",permalink:"/Mirage/docs/guides/development-servers/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/development-servers/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Overview"},sidebar:"docs",previous:{title:"FAQ",permalink:"/Mirage/docs/guides/faq"},next:{title:"Amazon Web Services (AWS)",permalink:"/Mirage/docs/guides/development-servers/aws"}},l={},d=[{value:"Introduction",id:"introduction",level:2},{value:"Amazon Web Services (AWS)",id:"amazon-web-services-aws",level:3},{value:"Google Compute Engine",id:"google-compute-engine",level:3},{value:"Microsoft Azure",id:"microsoft-azure",level:3},{value:"Self-Hosted Dedicated Server",id:"self-hosted-dedicated-server",level:3}],u={toc:d};function c(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,o.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"development-servers-overview"},"Development Servers Overview"),(0,n.kt)("p",null,"During this guide, we will set up a dedicated server and place the server build of our project on the dedicated server."),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"IMPORTANT:")," Before we begin, there are some potential problems you may face, as no server is truly 'free':"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Service providers are NOT free."),(0,n.kt)("li",{parentName:"ol"},"Most of the time you can start with free trials for a limited time, after x amount of time or x amount of used resources the trial will end and you might incur a payment."),(0,n.kt)("li",{parentName:"ol"},"Always read the provider's free trial limitations."),(0,n.kt)("li",{parentName:"ol"},"Some providers require a payment method for using a Windows instance, however as long as you do not go over the limitations the provider should not bill you.")),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"Mirage is not affiliated and can not be held responsible for any charges or fees associated with service providers like\n",(0,n.kt)("a",{parentName:"p",href:"https://aws.amazon.com/"},"AWS"),",\n",(0,n.kt)("a",{parentName:"p",href:"https://azure.microsoft.com/en-us/free/"},"Microsoft Azure"),",\n",(0,n.kt)("a",{parentName:"p",href:"https://cloud.google.com/compute/"},"Google Compute Engine"),", and others...")),(0,n.kt)("h2",{id:"introduction"},"Introduction"),(0,n.kt)("p",null,"During your development with Mirage, you will need to test your project as a client and as a server.\nThere are a few possible ways to test your project:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Default build: Host/client as one and connect with another build/editor to the host locally on 1 computer."),(0,n.kt)("li",{parentName:"ol"},"Server build: Server is a separate executable. You can place it on your computer run it and connect to it as a client."),(0,n.kt)("li",{parentName:"ol"},"Dedicated Server: Same as the server build but placed on an external machine, you connect to it with the server's external IP.")),(0,n.kt)("p",null,'This guide will focus on the "Dedicated Server" option. There are multiple providers and even self-hosted dedicated machines.\nAll possibilities still go through the same process to ensure connectivity to clients. A few requirements for a dedicated server:'),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Port forwarding (Not strictly necessary but makes everything a lot easier without needing NAT punch-through)"),(0,n.kt)("li",{parentName:"ol"},"Firewall exceptions"),(0,n.kt)("li",{parentName:"ol"},"Computer/machine that stays online and accessible whenever you need it.")),(0,n.kt)("p",null,"In the upcoming sections, we will go through setting up a provider with the free tier. "),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Always double-check that you do not select a paid feature as this is purely meant as a short-term period to test out basic functionality during the development of your project.")),(0,n.kt)("h3",{id:"amazon-web-services-aws"},"Amazon Web Services (AWS)"),(0,n.kt)("p",null,"See this guide: ",(0,n.kt)("a",{parentName:"p",href:"/docs/guides/development-servers/aws"},"AWS setup")),(0,n.kt)("h3",{id:"google-compute-engine"},"Google Compute Engine"),(0,n.kt)("p",null,"See this guide: ",(0,n.kt)("a",{parentName:"p",href:"/docs/guides/development-servers/google-cloud"},"Google cloud setup")),(0,n.kt)("h3",{id:"microsoft-azure"},"Microsoft Azure"),(0,n.kt)("p",null,"Microsoft Azure (as of the time of writing) allows setting up a windows instance during the free trial without an active payment method."),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"To be added")),(0,n.kt)("h3",{id:"self-hosted-dedicated-server"},"Self-Hosted Dedicated Server"),(0,n.kt)("p",null,"A self-hosted dedicated server is the same as the other providers but you provide the hardware, internet connection, and costs for running the computer.\nMost of the time this is the cheapest option during development if you already have an extra machine.\nPreferably you would put the machine on a different network (to simulate the conditions as the other providers).\nThis would mean you could connect to the machine and put your server build on whenever you need and have access to the router and security settings of the machine for port forwarding and firewall exceptions."),(0,n.kt)("p",null,"In essence, this is the simplest setup but does require extra hardware."))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a4d488d5.97c4824b.js b/assets/js/a4d488d5.97c4824b.js new file mode 100644 index 00000000000..863713b36e5 --- /dev/null +++ b/assets/js/a4d488d5.97c4824b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1883],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},c=Object.keys(e);for(a=0;a<c.length;a++)r=c[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(a=0;a<c.length;a++)r=c[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var o=a.createContext({}),s=function(e){var t=a.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=s(e.components);return a.createElement(o.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,c=e.originalType,o=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=s(r),m=n,v=u["".concat(o,".").concat(m)]||u[m]||d[m]||c;return r?a.createElement(v,l(l({ref:t},p),{},{components:r})):a.createElement(v,l({ref:t},p))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var c=r.length,l=new Array(c);l[0]=u;var i={};for(var o in t)hasOwnProperty.call(t,o)&&(i[o]=t[o]);i.originalType=e,i.mdxType="string"==typeof e?e:n,l[1]=i;for(var s=2;s<c;s++)l[s]=r[s];return a.createElement.apply(null,l)}return a.createElement.apply(null,r)}u.displayName="MDXCreateElement"},5402:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>d,frontMatter:()=>c,metadata:()=>i,toc:()=>s});var a=r(87462),n=(r(67294),r(3905));const c={id:"SyncVarReceiver",title:"SyncVarReceiver"},l="Class SyncVarReceiver",i={unversionedId:"reference/Mirage/SyncVarReceiver",id:"reference/Mirage/SyncVarReceiver",title:"SyncVarReceiver",description:"Class that handles syncvar message and passes it to correct",source:"@site/docs/reference/Mirage/SyncVarReceiver.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SyncVarReceiver",permalink:"/Mirage/docs/reference/Mirage/SyncVarReceiver",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SyncVarReceiver.md",tags:[],version:"current",frontMatter:{id:"SyncVarReceiver",title:"SyncVarReceiver"},sidebar:"api",previous:{title:"SyncVarAttribute",permalink:"/Mirage/docs/reference/Mirage/SyncVarAttribute"},next:{title:"SyncVarSender",permalink:"/Mirage/docs/reference/Mirage/SyncVarSender"}},o={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"SyncVarReceiver(NetworkClient, IObjectLocator)",id:"syncvarreceivernetworkclient-iobjectlocator",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"SyncVarReceiver(NetworkServer, IObjectLocator)",id:"syncvarreceivernetworkserver-iobjectlocator",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],p={toc:s};function d(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-syncvarreceiver"},"Class SyncVarReceiver"),(0,n.kt)("p",null,"Class that handles syncvar message and passes it to correct "),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class SyncVarReceiver\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"syncvarreceivernetworkclient-iobjectlocator"},"SyncVarReceiver(NetworkClient, IObjectLocator)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncVarReceiver(NetworkClient client, IObjectLocator objectLocator)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkClient"),(0,n.kt)("td",{parentName:"tr",align:null},"client"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.IObjectLocator"),(0,n.kt)("td",{parentName:"tr",align:null},"objectLocator"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"syncvarreceivernetworkserver-iobjectlocator"},"SyncVarReceiver(NetworkServer, IObjectLocator)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncVarReceiver(NetworkServer server, IObjectLocator objectLocator)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkServer"),(0,n.kt)("td",{parentName:"tr",align:null},"server"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.IObjectLocator"),(0,n.kt)("td",{parentName:"tr",align:null},"objectLocator"),(0,n.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a52a3c1b.de608168.js b/assets/js/a52a3c1b.de608168.js new file mode 100644 index 00000000000..d5d5cbc1933 --- /dev/null +++ b/assets/js/a52a3c1b.de608168.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6882],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),s=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},p=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),m=s(a),u=n,g=m["".concat(c,".").concat(u)]||m[u]||d[u]||i;return a?r.createElement(g,l(l({ref:t},p),{},{components:a})):r.createElement(g,l({ref:t},p))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,l=new Array(i);l[0]=m;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,l[1]=o;for(var s=2;s<i;s++)l[s]=a[s];return r.createElement.apply(null,l)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},63662:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var r=a(87462),n=(a(67294),a(3905));const i={id:"DeserializeFailedException",title:"DeserializeFailedException"},l="Class DeserializeFailedException",o={unversionedId:"reference/Mirage/DeserializeFailedException",id:"reference/Mirage/DeserializeFailedException",title:"DeserializeFailedException",description:"Inheritance",source:"@site/docs/reference/Mirage/DeserializeFailedException.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/DeserializeFailedException",permalink:"/Mirage/docs/reference/Mirage/DeserializeFailedException",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/DeserializeFailedException.md",tags:[],version:"current",frontMatter:{id:"DeserializeFailedException",title:"DeserializeFailedException"},sidebar:"api",previous:{title:"ConnectState",permalink:"/Mirage/docs/reference/Mirage/ConnectState"},next:{title:"DynamicSpawnHandlerDelegate",permalink:"/Mirage/docs/reference/Mirage/DynamicSpawnHandlerDelegate"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"DeserializeFailedException(String)",id:"deserializefailedexceptionstring",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"DeserializeFailedException(SerializationInfo, StreamingContext)",id:"deserializefailedexceptionserializationinfo-streamingcontext",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],p={toc:s};function d(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-deserializefailedexception"},"Class DeserializeFailedException"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"System.Exception")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class DeserializeFailedException : Exception, _Exception, ISerializable\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"deserializefailedexceptionstring"},"DeserializeFailedException(String)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public DeserializeFailedException(string message)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.String"),(0,n.kt)("td",{parentName:"tr",align:null},"message"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"deserializefailedexceptionserializationinfo-streamingcontext"},"DeserializeFailedException(SerializationInfo, StreamingContext)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected DeserializeFailedException(SerializationInfo info, StreamingContext context)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Runtime.Serialization.SerializationInfo"),(0,n.kt)("td",{parentName:"tr",align:null},"info"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Runtime.Serialization.StreamingContext"),(0,n.kt)("td",{parentName:"tr",align:null},"context"),(0,n.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a5f54a07.f609de80.js b/assets/js/a5f54a07.f609de80.js new file mode 100644 index 00000000000..22cd493e20d --- /dev/null +++ b/assets/js/a5f54a07.f609de80.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9180],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>m});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),d=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=d(e.components);return r.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),p=d(n),m=a,g=p["".concat(l,".").concat(m)]||p[m]||u[m]||o;return n?r.createElement(g,c(c({ref:t},s),{},{components:n})):r.createElement(g,c({ref:t},s))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,c=new Array(o);c[0]=p;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,c[1]=i;for(var d=2;d<o;d++)c[d]=n[d];return r.createElement.apply(null,c)}return r.createElement.apply(null,n)}p.displayName="MDXCreateElement"},44881:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>d});var r=n(87462),a=(n(67294),n(3905));const o={id:"ConnectionState",title:"ConnectionState"},c="Enum ConnectionState",i={unversionedId:"reference/Mirage.SocketLayer/ConnectionState",id:"reference/Mirage.SocketLayer/ConnectionState",title:"ConnectionState",description:"Syntax",source:"@site/docs/reference/Mirage.SocketLayer/ConnectionState.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/ConnectionState",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ConnectionState",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/ConnectionState.md",tags:[],version:"current",frontMatter:{id:"ConnectionState",title:"ConnectionState"},sidebar:"api",previous:{title:"ConnectionExtensions",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ConnectionExtensions"},next:{title:"DisconnectReason",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/DisconnectReason"}},l={},d=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Created",id:"created",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Connecting",id:"connecting",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Connected",id:"connected",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Disconnected",id:"disconnected",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Removing",id:"removing",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Destroyed",id:"destroyed",level:4},{value:"Declaration",id:"declaration-5",level:5}],s={toc:d};function u(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"enum-connectionstate"},"Enum ConnectionState"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public enum ConnectionState\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"created"},"Created"),(0,a.kt)("p",null,"Initial state"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Created = 1\n")),(0,a.kt)("h4",{id:"connecting"},"Connecting"),(0,a.kt)("p",null,"Client is connecting to server"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Connecting = 2\n")),(0,a.kt)("h4",{id:"connected"},"Connected"),(0,a.kt)("p",null,"Server as accepted connection"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Connected = 3\n")),(0,a.kt)("h4",{id:"disconnected"},"Disconnected"),(0,a.kt)("p",null,"Server or client has disconnected the connection and is waiting to be cleaned up"),(0,a.kt)("h5",{id:"declaration-3"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Disconnected = 9\n")),(0,a.kt)("h4",{id:"removing"},"Removing"),(0,a.kt)("p",null,"Marked to be removed from the connection collection"),(0,a.kt)("h5",{id:"declaration-4"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Removing = 10\n")),(0,a.kt)("h4",{id:"destroyed"},"Destroyed"),(0,a.kt)("p",null,"Removed from collection and all state cleaned up"),(0,a.kt)("h5",{id:"declaration-5"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Destroyed = 11\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a6c75258.df4a7bea.js b/assets/js/a6c75258.df4a7bea.js new file mode 100644 index 00000000000..dea07d27d35 --- /dev/null +++ b/assets/js/a6c75258.df4a7bea.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7312],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>u});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=a.createContext({}),c=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},p=function(e){var n=c(e.components);return a.createElement(s.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},y=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),y=c(t),u=r,h=y["".concat(s,".").concat(u)]||y[u]||d[u]||o;return t?a.createElement(h,i(i({ref:n},p),{},{components:t})):a.createElement(h,i({ref:n},p))}));function u(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,i=new Array(o);i[0]=y;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l.mdxType="string"==typeof e?e:r,i[1]=l;for(var c=2;c<o;c++)i[c]=t[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}y.displayName="MDXCreateElement"},64685:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var a=t(87462),r=(t(67294),t(3905));const o={sidebar_position:2},i="Sync Var",l={unversionedId:"guides/sync/sync-var",id:"guides/sync/sync-var",title:"Sync Var",description:"SyncVars are properties of classes that inherit from NetworkBehaviour, which are synchronized from the server to clients. When a game object is spawned, or a new player joins a game in progress, they are sent the latest state of all SyncVars on networked objects that are visible to them. Use the [SyncVar] custom attribute to specify which variables in your script you want to synchronize.",source:"@site/docs/guides/sync/sync-var.md",sourceDirName:"guides/sync",slug:"/guides/sync/sync-var",permalink:"/Mirage/docs/guides/sync/sync-var",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/sync/sync-var.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"docs",previous:{title:"State Synchronization",permalink:"/Mirage/docs/guides/sync/"},next:{title:"Sync Var Hooks",permalink:"/Mirage/docs/guides/sync/sync-var-hooks"}},s={},c=[{value:"Example",id:"example",level:2},{value:"Class inheritance",id:"class-inheritance",level:2},{value:"SyncVar hook",id:"syncvar-hook",level:2},{value:"Example Client Only",id:"example-client-only",level:3},{value:"Example Client & Server",id:"example-client--server",level:3},{value:"SyncVar Initialize Only",id:"syncvar-initialize-only",level:2},{value:"Example",id:"example-1",level:3}],p={toc:c};function d(e){let{components:n,...t}=e;return(0,r.kt)("wrapper",(0,a.Z)({},p,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"sync-var"},"Sync Var"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/SyncVarAttribute"},(0,r.kt)("inlineCode",{parentName:"a"},"SyncVars"))," are properties of classes that inherit from ",(0,r.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour"),", which are synchronized from the server to clients. When a game object is spawned, or a new player joins a game in progress, they are sent the latest state of all SyncVars on networked objects that are visible to them. Use the ",(0,r.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/SyncVarAttribute"},"[SyncVar]")," custom attribute to specify which variables in your script you want to synchronize."),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"The state of SyncVars is applied to game objects on clients before ",(0,r.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkIdentity#onstartclient"},"Identity.OnStartClient")," event is invoked, so the state of the object is always up-to-date in subscribed callbacks.")),(0,r.kt)("p",null,"SyncVars can use any ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/serialization/data-types"},"type supported by Mirage"),". You can have up to 64 SyncVars on a single NetworkBehaviour script, including ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/sync/sync-objects/sync-list"},"SyncLists")," and other sync types."),(0,r.kt)("p",null,"The server automatically sends SyncVar updates when the value of a SyncVar changes, so you do not need to track when they change or send information about the changes yourself. Changing a value in the inspector will not trigger an update."),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"SyncVars are not sent right away or in the order they are set. They will be sent as a group in the next sync update.")),(0,r.kt)("h2",{id:"example"},"Example"),(0,r.kt)("p",null,"Let's have a simple ",(0,r.kt)("inlineCode",{parentName:"p"},"Player")," class with the following code:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"using Mirage;\nusing UnityEngine;\n\npublic class Player : NetworkBehaviour\n{\n [SyncVar]\n public int clickCount;\n\n private void Update()\n {\n if (IsLocalPlayer && Input.GetMouseButtonDown(0))\n {\n ServerRpc_IncreaseClicks();\n }\n }\n\n [ServerRpc]\n public void ServerRpc_IncreaseClicks()\n {\n // This is executed on the server\n clickCount++;\n }\n}\n")),(0,r.kt)("p",null,"In this example, when Player A clicks the left mouse button, he sends a ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/server-rpc"},"ServerRpc")," to the server where the ",(0,r.kt)("inlineCode",{parentName:"p"},"clickCount")," SyncVar is incremented. All other visible players will be informed about Player A's new ",(0,r.kt)("inlineCode",{parentName:"p"},"clickCount")," value."),(0,r.kt)("h2",{id:"class-inheritance"},"Class inheritance"),(0,r.kt)("p",null,"SyncVars work with class inheritance. Consider this example:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"private class Pet : NetworkBehaviour\n{\n [SyncVar] \n private string name;\n}\n\nprivate class Cat : Pet\n{\n [SyncVar]\n private Color32 color;\n}\n")),(0,r.kt)("p",null,"You can attach the Cat component to your cat prefab, and it will synchronize both its ",(0,r.kt)("inlineCode",{parentName:"p"},"name")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"color"),"."),(0,r.kt)("admonition",{type:"caution"},(0,r.kt)("p",{parentName:"admonition"},"Both ",(0,r.kt)("inlineCode",{parentName:"p"},"Cat")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"Pet")," should be in the same assembly. If they are in separate assemblies, make sure not to change ",(0,r.kt)("inlineCode",{parentName:"p"},"name")," from inside ",(0,r.kt)("inlineCode",{parentName:"p"},"Cat")," directly, add a method to ",(0,r.kt)("inlineCode",{parentName:"p"},"Pet")," instead. ")),(0,r.kt)("h2",{id:"syncvar-hook"},"SyncVar hook"),(0,r.kt)("p",null,"The ",(0,r.kt)("inlineCode",{parentName:"p"},"hook")," option of SyncVar attribute can be used to specify a function to be called when the SyncVar changes value on the client and server."),(0,r.kt)("p",null,"For more information on SyncVar hooks see ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/sync/sync-var-hooks"},"Sync Var Hooks")),(0,r.kt)("h3",{id:"example-client-only"},"Example Client Only"),(0,r.kt)("p",null,"Below is a simple example of assigning a random color to each player when they're spawned on the server. All clients will see all players in the correct colors, even if they join later."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"using UnityEngine;\nusing Mirage;\n\npublic class Player : NetworkBehaviour\n{\n [SyncVar(hook = nameof(UpdateColor))]\n private Color playerColor = Color.black;\n\n private Renderer renderer;\n\n // Unity makes a clone of the Material every time renderer.material is used.\n // Cache it here and Destroy it in OnDestroy to prevent a memory leak.\n private Material cachedMaterial;\n\n private void Awake()\n {\n renderer = GetComponent<Renderer>();\n Identity.OnStartServer.AddListener(OnStartServer);\n }\n\n private void OnStartServer()\n {\n playerColor = Random.ColorHSV(0f, 1f, 1f, 1f, 0.5f, 1f);\n }\n\n private void UpdateColor(Color oldColor, Color newColor)\n {\n // this is executed on this player for each client\n if (cachedMaterial == null)\n {\n cachedMaterial = renderer.material;\n }\n\n cachedMaterial.color = newColor;\n }\n\n private void OnDestroy()\n {\n Destroy(cachedMaterial);\n }\n}\n")),(0,r.kt)("h3",{id:"example-client--server"},"Example Client & Server"),(0,r.kt)("p",null,"Below is a simple example of assigning a random color to each player when they're spawned on the server. All clients will see all players in the correct colors, even if they join later, the server will also fire the event."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"using UnityEngine;\nusing Mirage;\n\npublic class Player : NetworkBehaviour\n{\n [SyncVar(hook = nameof(UpdateColor), invokeHookOnServer = true)]\n private Color playerColor = Color.black;\n\n private Renderer renderer;\n\n // Unity makes a clone of the Material every time renderer.material is used.\n // Cache it here and Destroy it in OnDestroy to prevent a memory leak.\n private Material cachedMaterial;\n\n private void Awake()\n {\n renderer = GetComponent<Renderer>();\n Identity.OnStartServer.AddListener(OnStartServer);\n }\n\n private void OnStartServer()\n {\n playerColor = Random.ColorHSV(0f, 1f, 1f, 1f, 0.5f, 1f);\n }\n\n private void UpdateColor(Color oldColor, Color newColor)\n {\n // this is executed on this player for each client\n if (cachedMaterial == null)\n {\n cachedMaterial = renderer.material;\n }\n\n cachedMaterial.color = newColor;\n }\n\n private void OnDestroy()\n {\n Destroy(cachedMaterial);\n }\n}\n")),(0,r.kt)("h2",{id:"syncvar-initialize-only"},"SyncVar Initialize Only"),(0,r.kt)("p",null,"Just like regular SyncVars, when a game object is spawned, or a new player joins a game in progress, they are sent the latest state of all SyncVars on networked objects that are visible to them.\nWith the ",(0,r.kt)("inlineCode",{parentName:"p"},"initialOnly")," flag set to true you will now be able to control the state of the SyncVar manually rather than waiting for Mirage to update them. "),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"Make sure you manually update your observable clients with the new state.",(0,r.kt)("br",{parentName:"p"}),"\n","Syncvar Hooks become redundant, as you are setting the state of the Syncvar directly.")),(0,r.kt)("h3",{id:"example-1"},"Example"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"using Mirage;\nusing UnityEngine;\n\npublic class Player : NetworkBehaviour\n{\n [SyncVar(initialOnly = true)]\n private int weaponId;\n\n private void Awake()\n {\n Identity.OnStartClient.AddListener(OnStartClient);\n }\n\n private void OnStartClient()\n {\n // Update weapon using id from syncvar (sent to client via spawn message\n UpdateWeapon(weaponId);\n }\n\n private void Update()\n {\n if (Input.GetKeyDown(KeyCode.Q))\n {\n // Client Request weapon change\n ServerRpc_SetSyncVarWeaponId(7);\n }\n }\n\n [ServerRpc]\n private void ServerRpc_SetSyncVarWeaponId(int weaponId)\n {\n // Set weapon id on server so new players get it\n this.weaponId = weaponId;\n\n // Tell current players about it\n ClientRpc_SetSyncVarWeaponId(weaponId);\n\n // Update weapon on server\n UpdateWeapon(weaponId);\n }\n\n [ClientRpc]\n private void ClientRpc_SetSyncVarWeaponId(int weaponId)\n {\n // Set id on client\n this.weaponId = weaponId;\n\n // Update weapon on client\n UpdateWeapon(weaponId);\n }\n\n public void UpdateWeapon(int weaponId)\n {\n // Do stuff to update weapon here\n // For example, its spawning model\n }\n}\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a792b1a9.10adc6e8.js b/assets/js/a792b1a9.10adc6e8.js new file mode 100644 index 00000000000..b015e6c3f2c --- /dev/null +++ b/assets/js/a792b1a9.10adc6e8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9461],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>g});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),l=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=l(e.components);return r.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,c=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),u=l(n),g=a,f=u["".concat(s,".").concat(g)]||u[g]||p[g]||c;return n?r.createElement(f,i(i({ref:t},d),{},{components:n})):r.createElement(f,i({ref:t},d))}));function g(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var c=n.length,i=new Array(c);i[0]=u;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var l=2;l<c;l++)i[l]=n[l];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}u.displayName="MDXCreateElement"},74723:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>c,metadata:()=>o,toc:()=>l});var r=n(87462),a=(n(67294),n(3905));const c={id:"SceneMessage",title:"SceneMessage"},i="Struct SceneMessage",o={unversionedId:"reference/Mirage/SceneMessage",id:"reference/Mirage/SceneMessage",title:"SceneMessage",description:"Syntax",source:"@site/docs/reference/Mirage/SceneMessage.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SceneMessage",permalink:"/Mirage/docs/reference/Mirage/SceneMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SceneMessage.md",tags:[],version:"current",frontMatter:{id:"SceneMessage",title:"SceneMessage"},sidebar:"api",previous:{title:"SceneChangeStartedEvent",permalink:"/Mirage/docs/reference/Mirage/SceneChangeStartedEvent"},next:{title:"SceneNotReadyMessage",permalink:"/Mirage/docs/reference/Mirage/SceneNotReadyMessage"}},s={},l=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"MainActivateScene",id:"mainactivatescene",level:4},{value:"Declaration",id:"declaration",level:5},{value:"SceneOperation",id:"sceneoperation",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"AdditiveScenes",id:"additivescenes",level:4},{value:"Declaration",id:"declaration-2",level:5}],d={toc:l};function p(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-scenemessage"},"Struct SceneMessage"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct SceneMessage\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"mainactivatescene"},"MainActivateScene"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public string MainActivateScene\n")),(0,a.kt)("h4",{id:"sceneoperation"},"SceneOperation"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public SceneOperation SceneOperation\n")),(0,a.kt)("h4",{id:"additivescenes"},"AdditiveScenes"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public List<string> AdditiveScenes\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a7f7e7d2.ca598267.js b/assets/js/a7f7e7d2.ca598267.js new file mode 100644 index 00000000000..a4273aef79d --- /dev/null +++ b/assets/js/a7f7e7d2.ca598267.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8066],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>m});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var d=n.createContext({}),c=function(e){var t=n.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=c(e.components);return n.createElement(d.Provider,{value:t},e.children)},k={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=c(a),m=r,s=u["".concat(d,".").concat(m)]||u[m]||k[m]||l;return a?n.createElement(s,i(i({ref:t},p),{},{components:a})):n.createElement(s,i({ref:t},p))}));function m(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=u;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:r,i[1]=o;for(var c=2;c<l;c++)i[c]=a[c];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}u.displayName="MDXCreateElement"},73571:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>k,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var n=a(87462),r=(a(67294),a(3905));const l={id:"ISocket",title:"ISocket"},i="Interface ISocket",o={unversionedId:"reference/Mirage.SocketLayer/ISocket",id:"reference/Mirage.SocketLayer/ISocket",title:"ISocket",description:"Link between Mirage and the outside world",source:"@site/docs/reference/Mirage.SocketLayer/ISocket.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/ISocket",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ISocket",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/ISocket.md",tags:[],version:"current",frontMatter:{id:"ISocket",title:"ISocket"},sidebar:"api",previous:{title:"IRawConnection",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IRawConnection"},next:{title:"ITime",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ITime"}},d={},c=[{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"Bind(IEndPoint)",id:"bindiendpoint",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Connect(IEndPoint)",id:"connectiendpoint",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Close()",id:"close",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Poll()",id:"poll",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Returns",id:"returns",level:5},{value:"Receive(Byte[], out IEndPoint)",id:"receivebyte-out-iendpoint",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Send(IEndPoint, Byte[], Int32)",id:"sendiendpoint-byte-int32",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-3",level:5}],p={toc:c};function k(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"interface-isocket"},"Interface ISocket"),(0,r.kt)("p",null,"Link between Mirage and the outside world"),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public interface ISocket\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"bindiendpoint"},"Bind(IEndPoint)"),(0,r.kt)("p",null,"Starts listens for data on an endpoint\nUsed by Server to allow clients to connect"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void Bind(IEndPoint endPoint)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,r.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,r.kt)("td",{parentName:"tr",align:null},"the endpoint to listen on")))),(0,r.kt)("h4",{id:"connectiendpoint"},"Connect(IEndPoint)"),(0,r.kt)("p",null,"Sets up Socket ready to send data to endpoint as a client"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void Connect(IEndPoint endPoint)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,r.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"close"},"Close()"),(0,r.kt)("p",null,"Closes the socket, stops receiving messages from other peers"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void Close()\n")),(0,r.kt)("h4",{id:"poll"},"Poll()"),(0,r.kt)("p",null,"Checks if a packet is available "),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"bool Poll()\n")),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"true if there is atleast 1 packet to read")))),(0,r.kt)("h4",{id:"receivebyte-out-iendpoint"},"Receive(Byte[], out IEndPoint)"),(0,r.kt)("p",null,"Gets next packet\nShould be called after Poll"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"Implementation should check that incoming packet is within the size of buffer,\nand make sure not to return bytesReceived above that size\n")),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"int Receive(byte[] buffer, out IEndPoint endPoint)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,r.kt)("td",{parentName:"tr",align:null},"buffer"),(0,r.kt)("td",{parentName:"tr",align:null},"buffer to write recevived packet into")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,r.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,r.kt)("td",{parentName:"tr",align:null},"where packet came from")))),(0,r.kt)("h5",{id:"returns-1"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length of packet, should not be above ",(0,r.kt)("code",{"data-dev-comment-type":"paramref",class:"paramref"},"buffer")," length")))),(0,r.kt)("h4",{id:"sendiendpoint-byte-int32"},"Send(IEndPoint, Byte[], Int32)"),(0,r.kt)("p",null,"Sends a packet to an endpoint\nImplementation should use length because packet is a buffer than may contain data from previous packets"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void Send(IEndPoint endPoint, byte[] packet, int length)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,r.kt)("td",{parentName:"tr",align:null},"endPoint"),(0,r.kt)("td",{parentName:"tr",align:null},"where packet is being sent to")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,r.kt)("td",{parentName:"tr",align:null},"packet"),(0,r.kt)("td",{parentName:"tr",align:null},"buffer that contains the packet, starting at index 0")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"length"),(0,r.kt)("td",{parentName:"tr",align:null},"length of the packet")))))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a88632d6.1f0b7c4f.js b/assets/js/a88632d6.1f0b7c4f.js new file mode 100644 index 00000000000..904e75bd63f --- /dev/null +++ b/assets/js/a88632d6.1f0b7c4f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4644],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>E});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),d=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},l=function(e){var t=d(e.components);return r.createElement(c.Provider,{value:t},e.children)},v={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=d(n),E=a,u=p["".concat(c,".").concat(E)]||p[E]||v[E]||i;return n?r.createElement(u,o(o({ref:t},l),{},{components:n})):r.createElement(u,o({ref:t},l))}));function E(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var d=2;d<i;d++)o[d]=n[d];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}p.displayName="MDXCreateElement"},63644:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>v,frontMatter:()=>i,metadata:()=>s,toc:()=>d});var r=n(87462),a=(n(67294),n(3905));const i={id:"DisconnectAddLateEvent",title:"DisconnectAddLateEvent"},o="Class DisconnectAddLateEvent",s={unversionedId:"reference/Mirage.Events/DisconnectAddLateEvent",id:"reference/Mirage.Events/DisconnectAddLateEvent",title:"DisconnectAddLateEvent",description:"Event fires from a when it fails to connect to the server",source:"@site/docs/reference/Mirage.Events/DisconnectAddLateEvent.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/DisconnectAddLateEvent",permalink:"/Mirage/docs/reference/Mirage.Events/DisconnectAddLateEvent",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/DisconnectAddLateEvent.md",tags:[],version:"current",frontMatter:{id:"DisconnectAddLateEvent",title:"DisconnectAddLateEvent"},sidebar:"api",previous:{title:"BoolUnityEvent",permalink:"/Mirage/docs/reference/Mirage.Events/BoolUnityEvent"},next:{title:"DisconnectEvent",permalink:"/Mirage/docs/reference/Mirage.Events/DisconnectEvent"}},c={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5}],l={toc:d};function v(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-disconnectaddlateevent"},"Class DisconnectAddLateEvent"),(0,a.kt)("p",null,"Event fires from a when it fails to connect to the server"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,a.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Events.AddLateEventBase"),(0,a.kt)("div",{class:"level",style:{"--data-index":2}},"Mirage.Events.AddLateEvent<Mirage.ClientStoppedReason>"),(0,a.kt)("div",{class:"level",style:{"--data-index":3}},"Mirage.Events.AddLateEventUnity<Mirage.ClientStoppedReason, Mirage.Events.DisconnectEvent>")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventUnity","<","Mirage.ClientStoppedReason, Mirage.Events.DisconnectEvent",">",".AddListener(UnityAction","<","Mirage.ClientStoppedReason",">",")"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventUnity","<","Mirage.ClientStoppedReason, Mirage.Events.DisconnectEvent",">",".RemoveListener(UnityAction","<","Mirage.ClientStoppedReason",">",")"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventUnity","<","Mirage.ClientStoppedReason, Mirage.Events.DisconnectEvent",">",".Invoke(Mirage.ClientStoppedReason)"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventUnity","<","Mirage.ClientStoppedReason, Mirage.Events.DisconnectEvent",">",".RemoveAllListeners()"),(0,a.kt)("p",null,"Mirage.Events.AddLateEvent","<","Mirage.ClientStoppedReason",">","._arg0"),(0,a.kt)("p",null,"Mirage.Events.AddLateEvent","<","Mirage.ClientStoppedReason",">",".AddListener(System.Action","<","Mirage.ClientStoppedReason",">",")"),(0,a.kt)("p",null,"Mirage.Events.AddLateEvent","<","Mirage.ClientStoppedReason",">",".RemoveListener(System.Action","<","Mirage.ClientStoppedReason",">",")"),(0,a.kt)("p",null,"Mirage.Events.AddLateEvent","<","Mirage.ClientStoppedReason",">",".Invoke(Mirage.ClientStoppedReason)"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventBase.HasInvoked"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventBase.MarkInvoked()"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventBase.Reset()")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class DisconnectAddLateEvent : AddLateEventUnity<ClientStoppedReason, DisconnectEvent>, IAddLateEventUnity<ClientStoppedReason>, IAddLateEvent<ClientStoppedReason>\n")))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a8c3cfa6.00020944.js b/assets/js/a8c3cfa6.00020944.js new file mode 100644 index 00000000000..5ab67376b9c --- /dev/null +++ b/assets/js/a8c3cfa6.00020944.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7944],{3905:(e,r,t)=>{t.d(r,{Zo:()=>s,kt:()=>f});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function c(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=n.createContext({}),p=function(e){var r=n.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},s=function(e){var r=p(e.components);return n.createElement(l.Provider,{value:r},e.children)},g={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},u=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),u=p(t),f=a,d=u["".concat(l,".").concat(f)]||u[f]||g[f]||o;return t?n.createElement(d,i(i({ref:r},s),{},{components:t})):n.createElement(d,i({ref:r},s))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=u;var c={};for(var l in r)hasOwnProperty.call(r,l)&&(c[l]=r[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var p=2;p<o;p++)i[p]=t[p];return n.createElement.apply(null,i)}return n.createElement.apply(null,t)}u.displayName="MDXCreateElement"},2591:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>i,default:()=>g,frontMatter:()=>o,metadata:()=>c,toc:()=>p});var n=t(87462),a=(t(67294),t(3905));const o={id:"UnSpawnDelegate",title:"UnSpawnDelegate"},i="Delegate UnSpawnDelegate",c={unversionedId:"reference/Mirage/UnSpawnDelegate",id:"reference/Mirage/UnSpawnDelegate",title:"UnSpawnDelegate",description:"Syntax",source:"@site/docs/reference/Mirage/UnSpawnDelegate.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/UnSpawnDelegate",permalink:"/Mirage/docs/reference/Mirage/UnSpawnDelegate",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/UnSpawnDelegate.md",tags:[],version:"current",frontMatter:{id:"UnSpawnDelegate",title:"UnSpawnDelegate"},sidebar:"api",previous:{title:"SyncVarSender",permalink:"/Mirage/docs/reference/Mirage/SyncVarSender"},next:{title:"UpdateVarsMessage",permalink:"/Mirage/docs/reference/Mirage/UpdateVarsMessage"}},l={},p=[{value:"Syntax",id:"syntax",level:5}],s={toc:p};function g(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"delegate-unspawndelegate"},"Delegate UnSpawnDelegate"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public delegate void UnSpawnDelegate(NetworkIdentity spawned);\n")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/aad520d2.63dfb556.js b/assets/js/aad520d2.63dfb556.js new file mode 100644 index 00000000000..5488c089801 --- /dev/null +++ b/assets/js/aad520d2.63dfb556.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3195],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>v});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),p=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},d=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},s=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),s=p(a),v=n,g=s["".concat(c,".").concat(v)]||s[v]||u[v]||l;return a?r.createElement(g,i(i({ref:t},d),{},{components:a})):r.createElement(g,i({ref:t},d))}));function v(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=s;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var p=2;p<l;p++)i[p]=a[p];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}s.displayName="MDXCreateElement"},74544:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var r=a(87462),n=(a(67294),a(3905));const l={id:"ExponentialMovingAverage",title:"ExponentialMovingAverage"},i="Class ExponentialMovingAverage",o={unversionedId:"reference/Mirage/ExponentialMovingAverage",id:"reference/Mirage/ExponentialMovingAverage",title:"ExponentialMovingAverage",description:"Inheritance",source:"@site/docs/reference/Mirage/ExponentialMovingAverage.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/ExponentialMovingAverage",permalink:"/Mirage/docs/reference/Mirage/ExponentialMovingAverage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/ExponentialMovingAverage.md",tags:[],version:"current",frontMatter:{id:"ExponentialMovingAverage",title:"ExponentialMovingAverage"},sidebar:"api",previous:{title:"DynamicSpawnHandlerDelegate",permalink:"/Mirage/docs/reference/Mirage/DynamicSpawnHandlerDelegate"},next:{title:"FoldoutEventAttribute",permalink:"/Mirage/docs/reference/Mirage/FoldoutEventAttribute"}},c={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"ExponentialMovingAverage(Int32)",id:"exponentialmovingaverageint32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Properties",id:"properties",level:3},{value:"Value",id:"value",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Var",id:"var",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Methods",id:"methods",level:3},{value:"Reset()",id:"reset",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Add(Double)",id:"adddouble",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-1",level:5}],d={toc:p};function u(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-exponentialmovingaverage"},"Class ExponentialMovingAverage"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class ExponentialMovingAverage\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"exponentialmovingaverageint32"},"ExponentialMovingAverage(Int32)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public ExponentialMovingAverage(int n)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"n"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"value"},"Value"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public double Value { get; }\n")),(0,n.kt)("h4",{id:"var"},"Var"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public double Var { get; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"reset"},"Reset()"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Reset()\n")),(0,n.kt)("h4",{id:"adddouble"},"Add(Double)"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Add(double newValue)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Double"),(0,n.kt)("td",{parentName:"tr",align:null},"newValue"),(0,n.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ab7438d5.b8be9568.js b/assets/js/ab7438d5.b8be9568.js new file mode 100644 index 00000000000..873bd5485c6 --- /dev/null +++ b/assets/js/ab7438d5.b8be9568.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3340],{3905:(e,n,t)=>{t.d(n,{Zo:()=>d,kt:()=>g});var r=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function c(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=r.createContext({}),l=function(e){var n=r.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},d=function(e){var n=l(e.components);return r.createElement(s.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},p=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),p=l(t),g=o,m=p["".concat(s,".").concat(g)]||p[g]||u[g]||a;return t?r.createElement(m,i(i({ref:n},d),{},{components:t})):r.createElement(m,i({ref:n},d))}));function g(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,i=new Array(a);i[0]=p;var c={};for(var s in n)hasOwnProperty.call(n,s)&&(c[s]=n[s]);c.originalType=e,c.mdxType="string"==typeof e?e:o,i[1]=c;for(var l=2;l<a;l++)i[l]=t[l];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}p.displayName="MDXCreateElement"},14838:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var r=t(87462),o=(t(67294),t(3905));const a={},i="Loading scenes in Mirage",c={unversionedId:"guides/scene-loading/index",id:"guides/scene-loading/index",title:"Loading scenes in Mirage",description:"Use NetworkSceneManager to help load scenes and sync them between server and client.",source:"@site/docs/guides/scene-loading/index.md",sourceDirName:"guides/scene-loading",slug:"/guides/scene-loading/",permalink:"/Mirage/docs/guides/scene-loading/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/scene-loading/index.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Pickups, Drops, and Child Objects",permalink:"/Mirage/docs/guides/game-objects/pickup-drop-child"},next:{title:"Manual Scene Loading",permalink:"/Mirage/docs/guides/scene-loading/manual-scene-loading"}},s={},l=[],d={toc:l};function u(e){let{components:n,...t}=e;return(0,o.kt)("wrapper",(0,r.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"loading-scenes-in-mirage"},"Loading scenes in Mirage"),(0,o.kt)("p",null,"Use ",(0,o.kt)("a",{parentName:"p",href:"/docs/guides/scene-loading/network-scene-manager"},"NetworkSceneManager")," to help load scenes and sync them between server and client."),(0,o.kt)("p",null,"To customize scene handling you can make a subclass and override the virtual methods."),(0,o.kt)("p",null,"If you need more unique logic to load scenes you can have full control by following this ",(0,o.kt)("a",{parentName:"p",href:"/docs/guides/scene-loading/manual-scene-loading"},"guide"),"."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/abc915fa.1c88063b.js b/assets/js/abc915fa.1c88063b.js new file mode 100644 index 00000000000..3fd48f27f84 --- /dev/null +++ b/assets/js/abc915fa.1c88063b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3450],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=r.createContext({}),s=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},c=function(e){var t=s(e.components);return r.createElement(o.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,c=d(e,["components","mdxType","originalType","parentName"]),m=s(a),u=n,v=m["".concat(o,".").concat(u)]||m[u]||p[u]||l;return a?r.createElement(v,i(i({ref:t},c),{},{components:a})):r.createElement(v,i({ref:t},c))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=m;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d.mdxType="string"==typeof e?e:n,i[1]=d;for(var s=2;s<l;s++)i[s]=a[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},44657:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>d,toc:()=>s});var r=a(87462),n=(a(67294),a(3905));const l={id:"AddLateEvent-2",title:"AddLateEvent<T0, T1>"},i="Class AddLateEvent<T0, T1>",d={unversionedId:"reference/Mirage.Events/AddLateEvent-2",id:"reference/Mirage.Events/AddLateEvent-2",title:"AddLateEvent<T0, T1>",description:"Version of with 2 arguments",source:"@site/docs/reference/Mirage.Events/AddLateEvent-2.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/AddLateEvent-2",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEvent-2",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/AddLateEvent-2.md",tags:[],version:"current",frontMatter:{id:"AddLateEvent-2",title:"AddLateEvent<T0, T1>"},sidebar:"api",previous:{title:"AddLateEvent<T0>",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEvent-1"},next:{title:"AddLateEvent",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEvent"}},o={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"_arg0",id:"_arg0",level:4},{value:"Declaration",id:"declaration",level:5},{value:"_arg1",id:"_arg1",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Methods",id:"methods",level:3},{value:"AddListener(Action<T0, T1>)",id:"addlisteneractiont0-t1",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RemoveListener(Action<T0, T1>)",id:"removelisteneractiont0-t1",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Invoke(T0, T1)",id:"invoket0-t1",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-2",level:5}],c={toc:s};function p(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-addlateeventt0-t1"},"Class AddLateEvent","<","T0, T1",">"),(0,n.kt)("p",null,"Version of with 2 arguments\nCreate a non-generic class inheriting from this to use in inspector. Same rules as "),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Events.AddLateEventBase")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show"),(0,n.kt)("p",null,"Mirage.Events.AddLateEventBase.HasInvoked"),(0,n.kt)("p",null,"Mirage.Events.AddLateEventBase.MarkInvoked()"),(0,n.kt)("p",null,"Mirage.Events.AddLateEventBase.Reset()")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class AddLateEvent<T0, T1> : AddLateEventBase, IAddLateEvent<T0, T1>\n")),(0,n.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T0"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T1"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"_arg0"},"_arg0"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected T0 _arg0\n")),(0,n.kt)("h4",{id:"_arg1"},"_arg1"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected T1 _arg1\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"addlisteneractiont0-t1"},"AddListener(Action","<","T0, T1",">",")"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void AddListener(Action<T0, T1> handler)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Action","<","T0, T1",">"),(0,n.kt)("td",{parentName:"tr",align:null},"handler"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"removelisteneractiont0-t1"},"RemoveListener(Action","<","T0, T1",">",")"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveListener(Action<T0, T1> handler)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Action","<","T0, T1",">"),(0,n.kt)("td",{parentName:"tr",align:null},"handler"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"invoket0-t1"},"Invoke(T0, T1)"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual void Invoke(T0 arg0, T1 arg1)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T0"),(0,n.kt)("td",{parentName:"tr",align:null},"arg0"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T1"),(0,n.kt)("td",{parentName:"tr",align:null},"arg1"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ac796a7f.e8d17d8f.js b/assets/js/ac796a7f.e8d17d8f.js new file mode 100644 index 00000000000..7a7ea1fb7a1 --- /dev/null +++ b/assets/js/ac796a7f.e8d17d8f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[236],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>d});var r=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=r.createContext({}),c=function(e){var n=r.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},p=function(e){var n=c(e.components);return r.createElement(s.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},k=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),k=c(t),d=a,m=k["".concat(s,".").concat(d)]||k[d]||u[d]||o;return t?r.createElement(m,i(i({ref:n},p),{},{components:t})):r.createElement(m,i({ref:n},p))}));function d(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=k;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l.mdxType="string"==typeof e?e:a,i[1]=l;for(var c=2;c<o;c++)i[c]=t[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}k.displayName="MDXCreateElement"},18088:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=t(87462),a=(t(67294),t(3905));const o={sidebar_position:3},i="Sync Var Hooks",l={unversionedId:"guides/sync/sync-var-hooks",id:"guides/sync/sync-var-hooks",title:"Sync Var Hooks",description:"SyncVar can have hooks that are invoked when the values changes.",source:"@site/docs/guides/sync/sync-var-hooks.md",sourceDirName:"guides/sync",slug:"/guides/sync/sync-var-hooks",permalink:"/Mirage/docs/guides/sync/sync-var-hooks",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/sync/sync-var-hooks.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"docs",previous:{title:"Sync Var",permalink:"/Mirage/docs/guides/sync/sync-var"},next:{title:"Sync List",permalink:"/Mirage/docs/guides/sync/sync-objects/sync-list"}},s={},c=[{value:"When is hook invoked?",id:"when-is-hook-invoked",level:2}],p={toc:c};function u(e){let{components:n,...t}=e;return(0,a.kt)("wrapper",(0,r.Z)({},p,t,{components:n,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"sync-var-hooks"},"Sync Var Hooks"),(0,a.kt)("p",null,(0,a.kt)("inlineCode",{parentName:"p"},"SyncVar")," can have hooks that are invoked when the values changes."),(0,a.kt)("p",null,"Hooks are set using the ",(0,a.kt)("inlineCode",{parentName:"p"},"hook")," option on the ",(0,a.kt)("inlineCode",{parentName:"p"},"SyncVar")," attribute, the hook needs to be in the same class as the ",(0,a.kt)("inlineCode",{parentName:"p"},"SyncVar")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[SyncVar(hook = nameof(HookName))]\n")),(0,a.kt)("p",null,"A hook can be a method or a event, when using an event it should use ",(0,a.kt)("inlineCode",{parentName:"p"},"System.Action"),". "),(0,a.kt)("p",null,"The hook can have 0, 1 or 2 args."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"void hook0() { }\n\nvoid hook1(int newValue) { }\n\nvoid hook2(int oldValue, int newValue) { }\n\nevent Action event0;\n\nevent Action<int> event1;\n\nevent Action<int, int> event2;\n")),(0,a.kt)("h2",{id:"when-is-hook-invoked"},"When is hook invoked?"),(0,a.kt)("p",null,"The following is a list of rules that SyncVar hooks follows for when and where they are invoked:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Hook only invoked if value is changed")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"When settings SyncVar"),(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"both flags false",(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"invokes if host (both Server AND client active)"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"invokeHookOnOwner")," flag true",(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"invokes if owner"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"invokeHookOnServer")," flag true",(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"invokes if server (includes host mode)"))),(0,a.kt)("li",{parentName:"ul"},"both flags true",(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"invokes if owner OR server"))))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("inlineCode",{parentName:"p"},"DeserializeSyncVars")," is never called on host sending update to itself, but is called when owner sends update to server")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"hooks are invoked in ",(0,a.kt)("inlineCode",{parentName:"p"},"DeserializeSyncVars")," if values changes "),(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"always invokes if Only client (eg not host mode)"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"invokeHookOnServer"),(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"invokes on server (eg when an change is send from owner)")))))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ace394d2.d05a18a1.js b/assets/js/ace394d2.d05a18a1.js new file mode 100644 index 00000000000..8b2ecdd93eb --- /dev/null +++ b/assets/js/ace394d2.d05a18a1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4241],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},m=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,m=o(e,["components","mdxType","originalType","parentName"]),p=s(r),u=a,b=p["".concat(c,".").concat(u)]||p[u]||d[u]||i;return r?n.createElement(b,l(l({ref:t},m),{},{components:r})):n.createElement(b,l({ref:t},m))}));function u(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,l=new Array(i);l[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:a,l[1]=o;for(var s=2;s<i;s++)l[s]=r[s];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},70324:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));const i={id:"GameObjectExtensions",title:"GameObjectExtensions"},l="Class GameObjectExtensions",o={unversionedId:"reference/Mirage/GameObjectExtensions",id:"reference/Mirage/GameObjectExtensions",title:"GameObjectExtensions",description:"Inheritance",source:"@site/docs/reference/Mirage/GameObjectExtensions.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/GameObjectExtensions",permalink:"/Mirage/docs/reference/Mirage/GameObjectExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/GameObjectExtensions.md",tags:[],version:"current",frontMatter:{id:"GameObjectExtensions",title:"GameObjectExtensions"},sidebar:"api",previous:{title:"FoldoutEventAttribute",permalink:"/Mirage/docs/reference/Mirage/FoldoutEventAttribute"},next:{title:"GameObjectSerializers",permalink:"/Mirage/docs/reference/Mirage/GameObjectSerializers"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"GetNetworkIdentity(GameObject)",id:"getnetworkidentitygameobject",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5}],m={toc:s};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},m,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-gameobjectextensions"},"Class GameObjectExtensions"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static class GameObjectExtensions\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"getnetworkidentitygameobject"},"GetNetworkIdentity(GameObject)"),(0,a.kt)("p",null,"Gets on a and throws if the GameObject does not have one."),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static NetworkIdentity GetNetworkIdentity(this GameObject gameObject)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"GameObject"),(0,a.kt)("td",{parentName:"tr",align:null},"gameObject"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h5",{id:"returns"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,a.kt)("td",{parentName:"tr",align:null},"attached NetworkIdentity")))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ae89d117.4f346ad1.js b/assets/js/ae89d117.4f346ad1.js new file mode 100644 index 00000000000..783ac5d6c61 --- /dev/null +++ b/assets/js/ae89d117.4f346ad1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4624],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),s=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),p=s(a),m=n,k=p["".concat(c,".").concat(m)]||p[m]||u[m]||i;return a?r.createElement(k,l(l({ref:t},d),{},{components:a})):r.createElement(k,l({ref:t},d))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,l=new Array(i);l[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,l[1]=o;for(var s=2;s<i;s++)l[s]=a[s];return r.createElement.apply(null,l)}return r.createElement.apply(null,a)}p.displayName="MDXCreateElement"},42934:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var r=a(87462),n=(a(67294),a(3905));const i={id:"NetworkTime",title:"NetworkTime"},l="Class NetworkTime",o={unversionedId:"reference/Mirage/NetworkTime",id:"reference/Mirage/NetworkTime",title:"NetworkTime",description:"Synchronize time between the server and the clients",source:"@site/docs/reference/Mirage/NetworkTime.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkTime",permalink:"/Mirage/docs/reference/Mirage/NetworkTime",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkTime.md",tags:[],version:"current",frontMatter:{id:"NetworkTime",title:"NetworkTime"},sidebar:"api",previous:{title:"NetworkSpawnSettings",permalink:"/Mirage/docs/reference/Mirage/NetworkSpawnSettings"},next:{title:"NetworkTransform",permalink:"/Mirage/docs/reference/Mirage/NetworkTransform"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"NetworkTime()",id:"networktime",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Fields",id:"fields",level:3},{value:"PingInterval",id:"pinginterval",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"PingWindowSize",id:"pingwindowsize",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Properties",id:"properties",level:3},{value:"Time",id:"time",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"TimeVar",id:"timevar",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"TimeSd",id:"timesd",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Offset",id:"offset",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Rtt",id:"rtt",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"RttVar",id:"rttvar",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"RttSd",id:"rttsd",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Methods",id:"methods",level:3},{value:"Reset()",id:"reset",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"PingNow(IMessageSender)",id:"pingnowimessagesender",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters",level:5}],d={toc:s};function u(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networktime"},"Class NetworkTime"),(0,n.kt)("p",null,"Synchronize time between the server and the clients"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class NetworkTime\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"networktime"},"NetworkTime()"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkTime()\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"pinginterval"},"PingInterval"),(0,n.kt)("p",null,"how often are we sending ping messages\nused to calculate network time and RTT"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public float PingInterval\n")),(0,n.kt)("h4",{id:"pingwindowsize"},"PingWindowSize"),(0,n.kt)("p",null,"average out the last few results from Ping"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public int PingWindowSize\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"time"},"Time"),(0,n.kt)("p",null,"The time in seconds since the server started."),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public double Time { get; }\n")),(0,n.kt)("h4",{id:"timevar"},"TimeVar"),(0,n.kt)("p",null,"Measurement of the variance of time.\nThe higher the variance, the less accurate the time is"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public double TimeVar { get; }\n")),(0,n.kt)("h4",{id:"timesd"},"TimeSd"),(0,n.kt)("p",null,"standard deviation of time.\nThe higher the variance, the less accurate the time is"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public double TimeSd { get; }\n")),(0,n.kt)("h4",{id:"offset"},"Offset"),(0,n.kt)("p",null,"Clock difference in seconds between the client and the server"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public double Offset { get; }\n")),(0,n.kt)("h4",{id:"rtt"},"Rtt"),(0,n.kt)("p",null,"how long in seconds does it take for a message to go\nto the server and come back"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public double Rtt { get; }\n")),(0,n.kt)("h4",{id:"rttvar"},"RttVar"),(0,n.kt)("p",null,"measure variance of rtt\nthe higher the number, the less accurate rtt is"),(0,n.kt)("h5",{id:"declaration-8"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public double RttVar { get; }\n")),(0,n.kt)("h4",{id:"rttsd"},"RttSd"),(0,n.kt)("p",null,"Measure the standard deviation of rtt\nthe higher the number, the less accurate rtt is"),(0,n.kt)("h5",{id:"declaration-9"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public double RttSd { get; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"reset"},"Reset()"),(0,n.kt)("h5",{id:"declaration-10"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Reset()\n")),(0,n.kt)("h4",{id:"pingnowimessagesender"},"PingNow(IMessageSender)"),(0,n.kt)("p",null,"Sends right away ignoring lastPingTime"),(0,n.kt)("h5",{id:"declaration-11"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void PingNow(IMessageSender client)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.IMessageSender"),(0,n.kt)("td",{parentName:"tr",align:null},"client"),(0,n.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/aeb157ae.524d1291.js b/assets/js/aeb157ae.524d1291.js new file mode 100644 index 00000000000..84d670da7e9 --- /dev/null +++ b/assets/js/aeb157ae.524d1291.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1848],{3905:(t,e,a)=>{a.d(e,{Zo:()=>u,kt:()=>s});var r=a(67294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,r)}return a}function i(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?l(Object(a),!0).forEach((function(e){n(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}function m(t,e){if(null==t)return{};var a,r,n=function(t,e){if(null==t)return{};var a,r,n={},l=Object.keys(t);for(r=0;r<l.length;r++)a=l[r],e.indexOf(a)>=0||(n[a]=t[a]);return n}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(r=0;r<l.length;r++)a=l[r],e.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}var p=r.createContext({}),d=function(t){var e=r.useContext(p),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},u=function(t){var e=d(t.components);return r.createElement(p.Provider,{value:e},t.children)},k={inlineCode:"code",wrapper:function(t){var e=t.children;return r.createElement(r.Fragment,{},e)}},o=r.forwardRef((function(t,e){var a=t.components,n=t.mdxType,l=t.originalType,p=t.parentName,u=m(t,["components","mdxType","originalType","parentName"]),o=d(a),s=n,y=o["".concat(p,".").concat(s)]||o[s]||k[s]||l;return a?r.createElement(y,i(i({ref:e},u),{},{components:a})):r.createElement(y,i({ref:e},u))}));function s(t,e){var a=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var l=a.length,i=new Array(l);i[0]=o;var m={};for(var p in e)hasOwnProperty.call(e,p)&&(m[p]=e[p]);m.originalType=t,m.mdxType="string"==typeof t?t:n,i[1]=m;for(var d=2;d<l;d++)i[d]=a[d];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}o.displayName="MDXCreateElement"},8133:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>p,contentTitle:()=>i,default:()=>k,frontMatter:()=>l,metadata:()=>m,toc:()=>d});var r=a(87462),n=(a(67294),a(3905));const l={id:"ByteUtils",title:"ByteUtils"},i="Class ByteUtils",m={unversionedId:"reference/Mirage.SocketLayer/ByteUtils",id:"reference/Mirage.SocketLayer/ByteUtils",title:"ByteUtils",description:"Inheritance",source:"@site/docs/reference/Mirage.SocketLayer/ByteUtils.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/ByteUtils",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ByteUtils",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/ByteUtils.md",tags:[],version:"current",frontMatter:{id:"ByteUtils",title:"ByteUtils"},sidebar:"api",previous:{title:"ByteBuffer",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ByteBuffer"},next:{title:"Commands",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Commands"}},p={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"WriteByte(Byte[], ref Int32, Byte)",id:"writebytebyte-ref-int32-byte",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"ReadByte(Byte[], ref Int32)",id:"readbytebyte-ref-int32",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"WriteUShort(Byte[], ref Int32, UInt16)",id:"writeushortbyte-ref-int32-uint16",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"ReadUShort(Byte[], ref Int32)",id:"readushortbyte-ref-int32",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-1",level:5},{value:"WriteUInt(Byte[], ref Int32, UInt32)",id:"writeuintbyte-ref-int32-uint32",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"ReadUInt(Byte[], ref Int32)",id:"readuintbyte-ref-int32",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"Returns",id:"returns-2",level:5},{value:"WriteULong(Byte[], ref Int32, UInt64)",id:"writeulongbyte-ref-int32-uint64",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"ReadULong(Byte[], ref Int32)",id:"readulongbyte-ref-int32",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"Returns",id:"returns-3",level:5}],u={toc:d};function k(t){let{components:e,...a}=t;return(0,n.kt)("wrapper",(0,r.Z)({},u,a,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-byteutils"},"Class ByteUtils"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class ByteUtils\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"writebytebyte-ref-int32-byte"},"WriteByte(Byte[], ref Int32, Byte)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteByte(byte[] buffer, ref int offset, byte value)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null},"buffer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"offset"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readbytebyte-ref-int32"},"ReadByte(Byte[], ref Int32)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static byte ReadByte(byte[] buffer, ref int offset)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null},"buffer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"offset"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writeushortbyte-ref-int32-uint16"},"WriteUShort(Byte[], ref Int32, UInt16)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteUShort(byte[] buffer, ref int offset, ushort value)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null},"buffer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"offset"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt16"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readushortbyte-ref-int32"},"ReadUShort(Byte[], ref Int32)"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static ushort ReadUShort(byte[] buffer, ref int offset)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null},"buffer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"offset"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt16"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writeuintbyte-ref-int32-uint32"},"WriteUInt(Byte[], ref Int32, UInt32)"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteUInt(byte[] buffer, ref int offset, uint value)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null},"buffer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"offset"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readuintbyte-ref-int32"},"ReadUInt(Byte[], ref Int32)"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static uint ReadUInt(byte[] buffer, ref int offset)\n")),(0,n.kt)("h5",{id:"parameters-5"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null},"buffer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"offset"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-2"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writeulongbyte-ref-int32-uint64"},"WriteULong(Byte[], ref Int32, UInt64)"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteULong(byte[] buffer, ref int offset, ulong value)\n")),(0,n.kt)("h5",{id:"parameters-6"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null},"buffer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"offset"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readulongbyte-ref-int32"},"ReadULong(Byte[], ref Int32)"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static ulong ReadULong(byte[] buffer, ref int offset)\n")),(0,n.kt)("h5",{id:"parameters-7"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null},"buffer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"offset"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-3"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null})))))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/aec765fc.6028d8ae.js b/assets/js/aec765fc.6028d8ae.js new file mode 100644 index 00000000000..70ee16a7a1e --- /dev/null +++ b/assets/js/aec765fc.6028d8ae.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8405],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),m=l(r),f=a,d=m["".concat(c,".").concat(f)]||m[f]||u[f]||o;return r?n.createElement(d,i(i({ref:t},p),{},{components:r})):n.createElement(d,i({ref:t},p))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:a,i[1]=s;for(var l=2;l<o;l++)i[l]=r[l];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"},68144:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const o={sidebar_position:4},i="Showcase",s={unversionedId:"general/showcase",id:"general/showcase",title:"Showcase",description:"- Cubica | Showcase video | The multiplayer version of Block Story",source:"@site/docs/general/showcase.md",sourceDirName:"general",slug:"/general/showcase",permalink:"/Mirage/docs/general/showcase",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/general/showcase.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"docs",previous:{title:"Sockets",permalink:"/Mirage/docs/general/sockets"},next:{title:"Troubleshooting",permalink:"/Mirage/docs/general/troubleshooting"}},c={},l=[],p={toc:l};function u(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"showcase"},"Showcase"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("a",{parentName:"p",href:"https://www.cubica.net/"},"Cubica")," | ",(0,a.kt)("a",{parentName:"p",href:"https://youtu.be/D_f_MntrLVE"},"Showcase video")," | The multiplayer version of ",(0,a.kt)("a",{parentName:"p",href:"https://play.google.com/store/apps/details?id=com.mindblocks.blocks_light"},"Block Story"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("a",{parentName:"p",href:"https://alteros-online.com"},"Alteros Online")," | Science-Fantasy Post Apo 3D MMORPG")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("a",{parentName:"p",href:"https://store.steampowered.com/app/1529220/BlockEm/"},"Block'Em!")," | Block'Em! is an action-filled block-building party game for 2 to 4 players! ")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("a",{parentName:"p",href:"https://www.hackerfield.net/"},"Hacker Field")," | ",(0,a.kt)("a",{parentName:"p",href:"https://discord.gg/TQfs9hstkn"},"Discord")," | HackerField is a multiplayer strategy tower defense in a futuristic scenario.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("a",{parentName:"p",href:"https://wolvesgame.com/"},"Wolves")," | Wolves is a 3rd person action shooter based on MechAssault"))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b0440449.48546412.js b/assets/js/b0440449.48546412.js new file mode 100644 index 00000000000..060092164a4 --- /dev/null +++ b/assets/js/b0440449.48546412.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[348],{3905:(e,t,n)=>{n.d(t,{Zo:()=>v,kt:()=>E});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),d=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},v=function(e){var t=d(e.components);return r.createElement(s.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,v=l(e,["components","mdxType","originalType","parentName"]),y=d(n),E=a,p=y["".concat(s,".").concat(E)]||y[E]||c[E]||o;return n?r.createElement(p,i(i({ref:t},v),{},{components:n})):r.createElement(p,i({ref:t},v))}));function E(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=y;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:a,i[1]=l;for(var d=2;d<o;d++)i[d]=n[d];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}y.displayName="MDXCreateElement"},32091:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var r=n(87462),a=(n(67294),n(3905));const o={id:"BoolAddLateEvent",title:"BoolAddLateEvent"},i="Class BoolAddLateEvent",l={unversionedId:"reference/Mirage.Events/BoolAddLateEvent",id:"reference/Mirage.Events/BoolAddLateEvent",title:"BoolAddLateEvent",description:"Inheritance",source:"@site/docs/reference/Mirage.Events/BoolAddLateEvent.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/BoolAddLateEvent",permalink:"/Mirage/docs/reference/Mirage.Events/BoolAddLateEvent",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/BoolAddLateEvent.md",tags:[],version:"current",frontMatter:{id:"BoolAddLateEvent",title:"BoolAddLateEvent"},sidebar:"api",previous:{title:"AddLateEventUnity",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity"},next:{title:"BoolUnityEvent",permalink:"/Mirage/docs/reference/Mirage.Events/BoolUnityEvent"}},s={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5}],v={toc:d};function c(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},v,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-booladdlateevent"},"Class BoolAddLateEvent"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,a.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Events.AddLateEventBase"),(0,a.kt)("div",{class:"level",style:{"--data-index":2}},"Mirage.Events.AddLateEvent<System.Boolean>"),(0,a.kt)("div",{class:"level",style:{"--data-index":3}},"Mirage.Events.AddLateEventUnity<System.Boolean, Mirage.Events.BoolUnityEvent>")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventUnity","<","System.Boolean, Mirage.Events.BoolUnityEvent",">",".AddListener(UnityAction","<","System.Boolean",">",")"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventUnity","<","System.Boolean, Mirage.Events.BoolUnityEvent",">",".RemoveListener(UnityAction","<","System.Boolean",">",")"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventUnity","<","System.Boolean, Mirage.Events.BoolUnityEvent",">",".Invoke(System.Boolean)"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventUnity","<","System.Boolean, Mirage.Events.BoolUnityEvent",">",".RemoveAllListeners()"),(0,a.kt)("p",null,"Mirage.Events.AddLateEvent","<","System.Boolean",">","._arg0"),(0,a.kt)("p",null,"Mirage.Events.AddLateEvent","<","System.Boolean",">",".AddListener(System.Action","<","System.Boolean",">",")"),(0,a.kt)("p",null,"Mirage.Events.AddLateEvent","<","System.Boolean",">",".RemoveListener(System.Action","<","System.Boolean",">",")"),(0,a.kt)("p",null,"Mirage.Events.AddLateEvent","<","System.Boolean",">",".Invoke(System.Boolean)"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventBase.HasInvoked"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventBase.MarkInvoked()"),(0,a.kt)("p",null,"Mirage.Events.AddLateEventBase.Reset()")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class BoolAddLateEvent : AddLateEventUnity<bool, BoolUnityEvent>, IAddLateEventUnity<bool>, IAddLateEvent<bool>\n")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b101daec.986078c9.js b/assets/js/b101daec.986078c9.js new file mode 100644 index 00000000000..b00a1022e67 --- /dev/null +++ b/assets/js/b101daec.986078c9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9540],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>m});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var o=r.createContext({}),c=function(e){var t=r.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=c(e.components);return r.createElement(o.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(n),m=a,h=p["".concat(o,".").concat(m)]||p[m]||u[m]||i;return n?r.createElement(h,l(l({ref:t},d),{},{components:n})):r.createElement(h,l({ref:t},d))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,l=new Array(i);l[0]=p;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s.mdxType="string"==typeof e?e:a,l[1]=s;for(var c=2;c<i;c++)l[c]=n[c];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}p.displayName="MDXCreateElement"},76994:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const i={id:"ClientSession",title:"ClientSession"},l="Class ClientSession",s={unversionedId:"reference/Mirage.Authenticators.SessionId/ClientSession",id:"reference/Mirage.Authenticators.SessionId/ClientSession",title:"ClientSession",description:"Inheritance",source:"@site/docs/reference/Mirage.Authenticators.SessionId/ClientSession.md",sourceDirName:"reference/Mirage.Authenticators.SessionId",slug:"/reference/Mirage.Authenticators.SessionId/ClientSession",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/ClientSession",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authenticators.SessionId/ClientSession.md",tags:[],version:"current",frontMatter:{id:"ClientSession",title:"ClientSession"},sidebar:"api",previous:{title:"Mirage.Authenticators.SessionId",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/"},next:{title:"CreateSession",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/CreateSession"}},o={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Timeout",id:"timeout",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Key",id:"key",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Methods",id:"methods",level:3},{value:"NeedsRefreshing(TimeSpan)",id:"needsrefreshingtimespan",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5}],d={toc:c};function u(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-clientsession"},"Class ClientSession"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class ClientSession\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"timeout"},"Timeout"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public DateTime Timeout\n")),(0,a.kt)("h4",{id:"key"},"Key"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public byte[] Key\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"needsrefreshingtimespan"},"NeedsRefreshing(TimeSpan)"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public bool NeedsRefreshing(TimeSpan tillRefresh)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.TimeSpan"),(0,a.kt)("td",{parentName:"tr",align:null},"tillRefresh"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h5",{id:"returns"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,a.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b183603a.df77bfad.js b/assets/js/b183603a.df77bfad.js new file mode 100644 index 00000000000..81997596efa --- /dev/null +++ b/assets/js/b183603a.df77bfad.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[844],{3905:(e,t,n)=>{n.d(t,{Zo:()=>S,kt:()=>d});var r=n(67294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,r,l=function(e,t){if(null==e)return{};var n,r,l={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var c=r.createContext({}),s=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},S=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,l=e.mdxType,a=e.originalType,c=e.parentName,S=o(e,["components","mdxType","originalType","parentName"]),p=s(n),d=l,m=p["".concat(c,".").concat(d)]||p[d]||u[d]||a;return n?r.createElement(m,i(i({ref:t},S),{},{components:n})):r.createElement(m,i({ref:t},S))}));function d(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var a=n.length,i=new Array(a);i[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:l,i[1]=o;for(var s=2;s<a;s++)i[s]=n[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}p.displayName="MDXCreateElement"},5666:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>s});var r=n(87462),l=(n(67294),n(3905));const a={id:"SyncSortedSet-1",title:"SyncSortedSet<T>"},i="Class SyncSortedSet<T>",o={unversionedId:"reference/Mirage.Collections/SyncSortedSet-1",id:"reference/Mirage.Collections/SyncSortedSet-1",title:"SyncSortedSet<T>",description:"Inheritance",source:"@site/docs/reference/Mirage.Collections/SyncSortedSet-1.md",sourceDirName:"reference/Mirage.Collections",slug:"/reference/Mirage.Collections/SyncSortedSet-1",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncSortedSet-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Collections/SyncSortedSet-1.md",tags:[],version:"current",frontMatter:{id:"SyncSortedSet-1",title:"SyncSortedSet<T>"},sidebar:"api",previous:{title:"SyncSet<T>",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncSet-1"},next:{title:"SyncStack<T>",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncStack-1"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Constructors",id:"constructors",level:3},{value:"SyncSortedSet()",id:"syncsortedset",level:4},{value:"Declaration",id:"declaration",level:5},{value:"SyncSortedSet(IComparer<T>)",id:"syncsortedseticomparert",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"GetEnumerator()",id:"getenumerator",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Returns",id:"returns",level:5}],S={toc:s};function u(e){let{components:t,...n}=e;return(0,l.kt)("wrapper",(0,r.Z)({},S,n,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-syncsortedsett"},"Class SyncSortedSet","<","T",">"),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,l.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Collections.SyncSet<T>")),(0,l.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Show"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".objects"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Count"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".IsReadOnly"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Mirage.Collections.ISyncObject.SetShouldSyncFrom(System.Boolean)"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Mirage.Collections.ISyncObject.SetNetworkBehaviour(Mirage.NetworkBehaviour)"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".OnAdd"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".OnClear"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".OnRemove"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".OnChange"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Reset()"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".IsDirty"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Flush()"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".OnSerializeAll(Mirage.Serialization.NetworkWriter)"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".OnSerializeDelta(Mirage.Serialization.NetworkWriter)"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".OnDeserializeAll(Mirage.Serialization.NetworkReader)"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".OnDeserializeDelta(Mirage.Serialization.NetworkReader)"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Add(T)"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".System.Collections.Generic.ICollection","<","T",">",".Add(T)"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Clear()"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Contains(T)"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".CopyTo(T[], System.Int32)"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Remove(T)"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".System.Collections.IEnumerable.GetEnumerator()"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".ExceptWith(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".IntersectWith(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".IsProperSubsetOf(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".IsProperSupersetOf(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".IsSubsetOf(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".IsSupersetOf(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".Overlaps(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".SetEquals(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".SymmetricExceptWith(System.Collections.Generic.IEnumerable","<","T",">",")"),(0,l.kt)("p",null,"Mirage.Collections.SyncSet","<","T",">",".UnionWith(System.Collections.Generic.IEnumerable","<","T",">",")")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public class SyncSortedSet<T> : SyncSet<T>, ISet<T>, ICollection<T>, IEnumerable<T>, IEnumerable, ISyncObject\n")),(0,l.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"T"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h3",{id:"constructors"},"Constructors"),(0,l.kt)("h4",{id:"syncsortedset"},"SyncSortedSet()"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncSortedSet()\n")),(0,l.kt)("h4",{id:"syncsortedseticomparert"},"SyncSortedSet(IComparer","<","T",">",")"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncSortedSet(IComparer<T> comparer)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IComparer","<","T",">"),(0,l.kt)("td",{parentName:"tr",align:null},"comparer"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"getenumerator"},"GetEnumerator()"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public SortedSet<T>.Enumerator GetEnumerator()\n")),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.SortedSet.Enumerator","<",">"),(0,l.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b1aead42.3f76dc5c.js b/assets/js/b1aead42.3f76dc5c.js new file mode 100644 index 00000000000..1e59ad1b7a1 --- /dev/null +++ b/assets/js/b1aead42.3f76dc5c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4073],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>m});var r=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var l=r.createContext({}),c=function(e){var n=r.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},p=function(e){var n=c(e.components);return r.createElement(l.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},d=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(t),m=o,b=d["".concat(l,".").concat(m)]||d[m]||u[m]||a;return t?r.createElement(b,i(i({ref:n},p),{},{components:t})):r.createElement(b,i({ref:n},p))}));function m(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,i=new Array(a);i[0]=d;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s.mdxType="string"==typeof e?e:o,i[1]=s;for(var c=2;c<a;c++)i[c]=t[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}d.displayName="MDXCreateElement"},40340:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var r=t(87462),o=(t(67294),t(3905));const a={sidebar_position:7,title:"Spawn Object - Pooling"},i=void 0,s={unversionedId:"guides/game-objects/spawn-object-pooling",id:"guides/game-objects/spawn-object-pooling",title:"Spawn Object - Pooling",description:"Setting Up a Game Object Pool with Custom Spawn Handlers",source:"@site/docs/guides/game-objects/spawn-object-pooling.md",sourceDirName:"guides/game-objects",slug:"/guides/game-objects/spawn-object-pooling",permalink:"/Mirage/docs/guides/game-objects/spawn-object-pooling",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/game-objects/spawn-object-pooling.md",tags:[],version:"current",sidebarPosition:7,frontMatter:{sidebar_position:7,title:"Spawn Object - Pooling"},sidebar:"docs",previous:{title:"Spawn Object - Custom",permalink:"/Mirage/docs/guides/game-objects/spawn-object-custom"},next:{title:"Scene Objects",permalink:"/Mirage/docs/guides/game-objects/scene-objects"}},l={},c=[{value:"Setting Up a Game Object Pool with Custom Spawn Handlers",id:"setting-up-a-game-object-pool-with-custom-spawn-handlers",level:2}],p={toc:c};function u(e){let{components:n,...t}=e;return(0,o.kt)("wrapper",(0,r.Z)({},p,t,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"setting-up-a-game-object-pool-with-custom-spawn-handlers"},"Setting Up a Game Object Pool with Custom Spawn Handlers"),(0,o.kt)("p",null,"Here is an example of how you might set up a simple game object pooling system with custom spawn handlers. Spawning and unspawning then puts game objects in or out of the pool."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},'using System.Collections.Generic;\nusing Mirage;\nusing UnityEngine;\n\nnamespace Mirage.Examples\n{\n public class PrefabPoolManager : MonoBehaviour\n {\n [Header("Settings")]\n public ClientObjectManager clientObjectManager;\n public int startSize = 5;\n public int maxSize = 20;\n public NetworkIdentity prefab;\n\n [Header("Debug")]\n [SerializeField] int currentCount;\n\n Queue<NetworkIdentity> pool;\n\n void Start()\n {\n InitializePool();\n\n clientObjectManager.RegisterPrefab(prefab, SpawnHandler, UnspawnHandler);\n }\n\n // used by clientObjectManager.RegisterPrefab\n NetworkIdentity SpawnHandler(SpawnMessage msg)\n {\n return GetFromPool(msg.position, msg.rotation);\n }\n\n // used by clientObjectManager.RegisterPrefab\n void UnspawnHandler(NetworkIdentity spawned)\n {\n PutBackInPool(spawned);\n }\n\n void OnDestroy()\n {\n clientObjectManager.UnregisterPrefab(prefab);\n }\n\n private void InitializePool()\n {\n pool = new Queue<NetworkIdentity>();\n for (int i = 0; i < startSize; i++)\n {\n NetworkIdentity next = CreateNew();\n\n pool.Enqueue(next);\n }\n }\n\n NetworkIdentity CreateNew()\n {\n if (currentCount > maxSize)\n {\n Debug.LogError($"Pool has reached max size of {maxSize}");\n return null;\n }\n\n // use this object as parent so that objects dont crowd hierarchy\n NetworkIdentity next = Instantiate(prefab, transform);\n next.name = $"{prefab.name}_pooled_{currentCount}";\n next.gameObject.SetActive(false);\n currentCount++;\n return next;\n }\n\n /// <summary>\n /// Used to take Object from Pool.\n /// <para>Should be used on server to get the next Object</para>\n /// </summary>\n /// <param name="position"></param>\n /// <param name="rotation"></param>\n /// <returns></returns>\n public NetworkIdentity GetFromPool(Vector3 position, Quaternion rotation)\n {\n NetworkIdentity next = pool.Count > 0\n ? pool.Dequeue() // take from pool\n : CreateNew(); // create new because pool is empty\n\n // CreateNew might return null if max size is reached\n if (next == null) { return null; }\n\n // set position/rotation and set active\n next.transform.position = position;\n next.transform.rotation = rotation;\n next.gameObject.SetActive(true);\n return next;\n }\n\n /// <summary>\n /// Used to put object back into pool so they can b\n /// <para>Should be used on server after unspawning an object</para>\n /// </summary>\n /// <param name="spawned"></param>\n public void PutBackInPool(NetworkIdentity spawned)\n {\n // disable object\n spawned.gameObject.SetActive(false);\n\n // add back to pool\n pool.Enqueue(spawned);\n }\n }\n}\n')),(0,o.kt)("p",null,"To use this manager, create a new empty game object and add the ",(0,o.kt)("inlineCode",{parentName:"p"},"PrefabPoolManager")," component (code above). Next, drag a prefab you want to spawn multiple times to the Prefab field, and set ",(0,o.kt)("inlineCode",{parentName:"p"},"startSize")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"maxSize")," fields. ",(0,o.kt)("inlineCode",{parentName:"p"},"startSize")," is how many will be spawned when your game starts. ",(0,o.kt)("inlineCode",{parentName:"p"},"maxSize")," is the max number that can be spawned, if this number is reached then an error will be given when trying to more new objects."),(0,o.kt)("p",null,"Finally, set up a reference to the PrefabPoolManager in the script you are using for player movement:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"PrefabPoolManager prefabPoolManager;\n\nvoid Start()\n{\n prefabPoolManager = FindObjectOfType<PrefabPoolManager>();\n}\n")),(0,o.kt)("p",null,"Your player logic might contain something like this, which moves and fires coins:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},'void Update()\n{\n if (!isLocalPlayer)\n return;\n \n // move\n var x = Input.GetAxis("Horizontal") * 0.1f;\n var z = Input.GetAxis("Vertical") * 0.1f;\n transform.Translate(x, 0, z);\n\n // shoot\n if (Input.GetKeyDown(KeyCode.Space))\n {\n // Server RPC Call function is called on the client, but invoked on the server\n CmdFire();\n }\n}\n')),(0,o.kt)("p",null,"In the firing logic on the player, make it use the game object pool:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"[ServerRpc]\nvoid CmdFire()\n{\n // Set up bullet on server\n NetworkIdentity bullet = prefabPoolManager.GetFromPool(transform.position + transform.forward, Quaternion.identity);\n\n Rigidbody rigidBody = bullet.GetComponent<Rigidbody>();\n rigidBody.velocity = transform.forward * 4;\n\n // tell server to send SpawnMessage, which will call SpawnHandler on client\n ServerObjectManager.Spawn(bullet);\n\n // destroy bullet after 2 seconds\n StartCoroutine(DestroyDelay(bullet, 2.0f));\n}\n\nIEnumerator DestroyDelay(NetworkIdentity go, float delay)\n{\n yield return new WaitForSeconds(delay);\n\n // return object to pool on server\n prefabPoolManager.PutBackInPool(go);\n\n // tell server to send ObjectDestroyMessage, which will call UnspawnHandler on client\n ServerObjectManager.Destroy(go, destroyServerObject: false);\n}\n")),(0,o.kt)("p",null,"The Destroy method above shows how to return game objects to the pool so that they can be re-used when you fire again"))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b1ea56a4.856f93f5.js b/assets/js/b1ea56a4.856f93f5.js new file mode 100644 index 00000000000..5080c8ddebd --- /dev/null +++ b/assets/js/b1ea56a4.856f93f5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3178],{3905:(t,e,a)=>{a.d(e,{Zo:()=>m,kt:()=>c});var r=a(67294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,r)}return a}function i(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?l(Object(a),!0).forEach((function(e){n(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}function k(t,e){if(null==t)return{};var a,r,n=function(t,e){if(null==t)return{};var a,r,n={},l=Object.keys(t);for(r=0;r<l.length;r++)a=l[r],e.indexOf(a)>=0||(n[a]=t[a]);return n}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(r=0;r<l.length;r++)a=l[r],e.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}var p=r.createContext({}),u=function(t){var e=r.useContext(p),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},m=function(t){var e=u(t.components);return r.createElement(p.Provider,{value:e},t.children)},o={inlineCode:"code",wrapper:function(t){var e=t.children;return r.createElement(r.Fragment,{},e)}},d=r.forwardRef((function(t,e){var a=t.components,n=t.mdxType,l=t.originalType,p=t.parentName,m=k(t,["components","mdxType","originalType","parentName"]),d=u(a),c=n,s=d["".concat(p,".").concat(c)]||d[c]||o[c]||l;return a?r.createElement(s,i(i({ref:e},m),{},{components:a})):r.createElement(s,i({ref:e},m))}));function c(t,e){var a=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var l=a.length,i=new Array(l);i[0]=d;var k={};for(var p in e)hasOwnProperty.call(e,p)&&(k[p]=e[p]);k.originalType=t,k.mdxType="string"==typeof t?t:n,i[1]=k;for(var u=2;u<l;u++)i[u]=a[u];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}d.displayName="MDXCreateElement"},44315:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>p,contentTitle:()=>i,default:()=>o,frontMatter:()=>l,metadata:()=>k,toc:()=>u});var r=a(87462),n=(a(67294),a(3905));const l={id:"VarIntPacker",title:"VarIntPacker"},i="Class VarIntPacker",k={unversionedId:"reference/Mirage.Serialization/VarIntPacker",id:"reference/Mirage.Serialization/VarIntPacker",title:"VarIntPacker",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/VarIntPacker.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/VarIntPacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarIntPacker",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/VarIntPacker.md",tags:[],version:"current",frontMatter:{id:"VarIntPacker",title:"VarIntPacker"},sidebar:"api",previous:{title:"VarIntBlocksPacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarIntBlocksPacker"},next:{title:"VarVector2Packer",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarVector2Packer"}},p={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"VarIntPacker(UInt64, UInt64)",id:"varintpackeruint64-uint64",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"VarIntPacker(UInt64, UInt64, UInt64, Boolean)",id:"varintpackeruint64-uint64-uint64-boolean",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Methods",id:"methods",level:3},{value:"FromBitCount(Int32, Int32)",id:"frombitcountint32-int32",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns",level:5},{value:"FromBitCount(Int32, Int32, Int32, Boolean)",id:"frombitcountint32-int32-int32-boolean",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-1",level:5},{value:"PackUlong(NetworkWriter, UInt64)",id:"packulongnetworkwriter-uint64",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"PackUint(NetworkWriter, UInt32)",id:"packuintnetworkwriter-uint32",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"PackUshort(NetworkWriter, UInt16)",id:"packushortnetworkwriter-uint16",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"UnpackUlong(NetworkReader)",id:"unpackulongnetworkreader",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"Returns",id:"returns-2",level:5},{value:"UnpackUint(NetworkReader)",id:"unpackuintnetworkreader",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"Returns",id:"returns-3",level:5},{value:"UnpackUshort(NetworkReader)",id:"unpackushortnetworkreader",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"Returns",id:"returns-4",level:5}],m={toc:u};function o(t){let{components:e,...a}=t;return(0,n.kt)("wrapper",(0,r.Z)({},m,a,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-varintpacker"},"Class VarIntPacker"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class VarIntPacker\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"varintpackeruint64-uint64"},"VarIntPacker(UInt64, UInt64)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public VarIntPacker(ulong smallValue, ulong mediumValue)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"smallValue"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"mediumValue"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"varintpackeruint64-uint64-uint64-boolean"},"VarIntPacker(UInt64, UInt64, UInt64, Boolean)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public VarIntPacker(ulong smallValue, ulong mediumValue, ulong largeValue, bool throwIfOverLarge = true)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"smallValue"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"mediumValue"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"largeValue"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"throwIfOverLarge"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"frombitcountint32-int32"},"FromBitCount(Int32, Int32)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static VarIntPacker FromBitCount(int smallBits, int mediumBits)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"smallBits"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"mediumBits"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.VarIntPacker"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"frombitcountint32-int32-int32-boolean"},"FromBitCount(Int32, Int32, Int32, Boolean)"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static VarIntPacker FromBitCount(int smallBits, int mediumBits, int largeBits, bool throwIfOverLarge = true)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"smallBits"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"mediumBits"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"largeBits"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"throwIfOverLarge"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.VarIntPacker"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"packulongnetworkwriter-uint64"},"PackUlong(NetworkWriter, UInt64)"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void PackUlong(NetworkWriter writer, ulong value)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"packuintnetworkwriter-uint32"},"PackUint(NetworkWriter, UInt32)"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void PackUint(NetworkWriter writer, uint value)\n")),(0,n.kt)("h5",{id:"parameters-5"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"packushortnetworkwriter-uint16"},"PackUshort(NetworkWriter, UInt16)"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void PackUshort(NetworkWriter writer, ushort value)\n")),(0,n.kt)("h5",{id:"parameters-6"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt16"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpackulongnetworkreader"},"UnpackUlong(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public ulong UnpackUlong(NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-7"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-2"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpackuintnetworkreader"},"UnpackUint(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-8"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public uint UnpackUint(NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-8"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-3"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpackushortnetworkreader"},"UnpackUshort(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-9"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public ushort UnpackUshort(NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-9"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-4"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt16"),(0,n.kt)("td",{parentName:"tr",align:null})))))}o.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b2f5f910.6b0df98d.js b/assets/js/b2f5f910.6b0df98d.js new file mode 100644 index 00000000000..a674a80bf11 --- /dev/null +++ b/assets/js/b2f5f910.6b0df98d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5643],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>c});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=a.createContext({}),u=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},s=function(e){var t=u(e.components);return a.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,l=e.originalType,p=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),d=u(n),c=r,g=d["".concat(p,".").concat(c)]||d[c]||m[c]||l;return n?a.createElement(g,i(i({ref:t},s),{},{components:n})):a.createElement(g,i({ref:t},s))}));function c(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=n.length,i=new Array(l);i[0]=d;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o.mdxType="string"==typeof e?e:r,i[1]=o;for(var u=2;u<l;u++)i[u]=n[u];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}d.displayName="MDXCreateElement"},54542:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>o,toc:()=>u});var a=n(87462),r=(n(67294),n(3905));const l={id:"BitHelper",title:"BitHelper"},i="Class BitHelper",o={unversionedId:"reference/Mirage.Serialization/BitHelper",id:"reference/Mirage.Serialization/BitHelper",title:"BitHelper",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/BitHelper.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/BitHelper",permalink:"/Mirage/docs/reference/Mirage.Serialization/BitHelper",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/BitHelper.md",tags:[],version:"current",frontMatter:{id:"BitHelper",title:"BitHelper"},sidebar:"api",previous:{title:"BitCountFromRangeAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/BitCountFromRangeAttribute"},next:{title:"BitMask",permalink:"/Mirage/docs/reference/Mirage.Serialization/BitMask"}},p={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"BitCount(Single, Single)",id:"bitcountsingle-single",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"BitCount(Single, Single, Boolean)",id:"bitcountsingle-single-boolean",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"BitCount(UInt64)",id:"bitcountuint64",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-2",level:5}],s={toc:u};function m(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,a.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-bithelper"},"Class BitHelper"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static class BitHelper\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"bitcountsingle-single"},"BitCount(Single, Single)"),(0,r.kt)("p",null,"Gets the number of bits need for precision in range negative to positive max"),(0,r.kt)("p",null,"WARNING: these methods are not fast, dont use in hotpath"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static int BitCount(float max, float precision)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"max"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"precision"),(0,r.kt)("td",{parentName:"tr",align:null},"lowest precision required, bit count will round up so real precision might be higher")))),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"bitcountsingle-single-boolean"},"BitCount(Single, Single, Boolean)"),(0,r.kt)("p",null,"Gets the number of bits need for precision in range max\nIf signed then range is negative max to positive max, If unsigned then 0 to max"),(0,r.kt)("p",null,"WARNING: these methods are not fast, dont use in hotpath"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static int BitCount(float max, float precision, bool signed)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"max"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"precision"),(0,r.kt)("td",{parentName:"tr",align:null},"lowest precision required, bit count will round up so real precision might be higher")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"signed"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-1"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"bitcountuint64"},"BitCount(UInt64)"),(0,r.kt)("p",null,"Gets the number of bits need for max"),(0,r.kt)("p",null,"WARNING: these methods are not fast, dont use in hotpath"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static int BitCount(ulong max)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,r.kt)("td",{parentName:"tr",align:null},"max"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-2"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null})))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b4a89525.0cff2aad.js b/assets/js/b4a89525.0cff2aad.js new file mode 100644 index 00000000000..85bb7f6d5f4 --- /dev/null +++ b/assets/js/b4a89525.0cff2aad.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9600],{3905:(e,n,t)=>{t.d(n,{Zo:()=>d,kt:()=>m});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var i=a.createContext({}),c=function(e){var n=a.useContext(i),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},d=function(e){var n=c(e.components);return a.createElement(i.Provider,{value:n},e.children)},p={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},u=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=c(t),m=r,g=u["".concat(i,".").concat(m)]||u[m]||p[m]||o;return t?a.createElement(g,l(l({ref:n},d),{},{components:t})):a.createElement(g,l({ref:n},d))}));function m(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,l=new Array(o);l[0]=u;var s={};for(var i in n)hasOwnProperty.call(n,i)&&(s[i]=n[i]);s.originalType=e,s.mdxType="string"==typeof e?e:r,l[1]=s;for(var c=2;c<o;c++)l[c]=t[c];return a.createElement.apply(null,l)}return a.createElement.apply(null,t)}u.displayName="MDXCreateElement"},10719:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var a=t(87462),r=(t(67294),t(3905));const o={title:"Network Scene Manager"},l="Using Network Scene Manager",s={unversionedId:"guides/scene-loading/network-scene-manager",id:"guides/scene-loading/network-scene-manager",title:"Network Scene Manager",description:"NetworkSceneManager contains methods and logic to help keep the scene in sync between server and client.",source:"@site/docs/guides/scene-loading/network-scene-manager.md",sourceDirName:"guides/scene-loading",slug:"/guides/scene-loading/network-scene-manager",permalink:"/Mirage/docs/guides/scene-loading/network-scene-manager",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/scene-loading/network-scene-manager.md",tags:[],version:"current",frontMatter:{title:"Network Scene Manager"},sidebar:"docs",previous:{title:"Manual Scene Loading",permalink:"/Mirage/docs/guides/scene-loading/manual-scene-loading"},next:{title:"Serialization",permalink:"/Mirage/docs/guides/serialization/"}},i={},c=[{value:"How to use",id:"how-to-use",level:3},{value:"Load Scene Normally",id:"load-scene-normally",level:2},{value:"Load Scene Additively",id:"load-scene-additively",level:2},{value:"Virtual Methods",id:"virtual-methods",level:2},{value:"Example - OnServerAuthenticated",id:"example---onserverauthenticated",level:3},{value:"Example - Start",id:"example---start",level:3},{value:"Example - OnDestroy",id:"example---ondestroy",level:3}],d={toc:c};function p(e){let{components:n,...t}=e;return(0,r.kt)("wrapper",(0,a.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"using-network-scene-manager"},"Using Network Scene Manager"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkSceneManager"},"NetworkSceneManager")," contains methods and logic to help keep the scene in sync between server and client."),(0,r.kt)("admonition",{title:"Work In Progress",type:"caution"},(0,r.kt)("p",{parentName:"admonition"},"This page is a work in progress")),(0,r.kt)("h3",{id:"how-to-use"},"How to use"),(0,r.kt)("p",null,"The Network Scene Manager takes care of most of the grunt work that is needed to load unload and network scenes between server and client. The examples below show exactly how to use\nthe network scene manager."),(0,r.kt)("h2",{id:"load-scene-normally"},"Load Scene Normally"),(0,r.kt)("p",null,"This will load up a new scene on the server and tell all current player's loaded on the server to load the scene up."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'public class LoadScene : MonoBehaviour\n{\n public void Start()\n {\n NetworkSceneManager sceneManager = GetComponent<NetworkSceneManager>();\n\n sceneManager.ServerLoadSceneNormal("path to scene asset file.")\n }\n}\n')),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"If you require physics scenes to load up on the server you can override the default parameter like so.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'sceneManager.ServerLoadSceneNormal("path to scene asset file.", new LoadSceneParameters { loadSceneMode = LoadSceneMode.Normal, localPhysicsMode = LocalPhysicsMode.Physics2D });\n')),(0,r.kt)("h2",{id:"load-scene-additively"},"Load Scene Additively"),(0,r.kt)("p",null,"This will load a scene additively on the server and tell specific clients to do the same. Example shows send to everyone."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'public class LoadSceneAdditively : MonoBehaviour\n{\n public void Start()\n {\n NetworkSceneManager sceneManager = GetComponent<NetworkSceneManager>();\n\n sceneManager.ServerLoadSceneAdditively("path to scene asset file.", sceneManager.Server.Players)\n }\n}\n')),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"If you want to send the additive scene to only specific players we can do it like so. You must get the player on your own.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'sceneManager.ServerLoadSceneAdditively("path to scene asset file.", Player)\n')),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"Also if you want to load the scene normally to specific players versus additively like the server you can override the parameter to do so also. The server will still\nload additively, the reason is if you need fully normal loading you can use the above method instead to do it.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'sceneManager.ServerLoadSceneAdditively("path to scene asset file.", Player, true)\n')),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"Also if you want to load the scene in physic's mode you can override another parameter also to do so. You can also make clients load normally in the example below we keep it false to load\nthe client side additively too.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'sceneManager.ServerLoadSceneAdditively("path to scene asset file.", Player, false, new LoadSceneParameters { loadSceneMode = LoadSceneMode.Additively, localPhysicsMode = LocalPhysicsMode.Physics2D )\n')),(0,r.kt)("p",null,"This will unload a scene additively on the server and tell specific clients to do the same. Example shows send to everyone."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'public class UnLoadSceneAdditively : MonoBehaviour\n{\n public void Start()\n {\n NetworkSceneManager sceneManager = GetComponent<NetworkSceneManager>();\n\n sceneManager.ServerUnloadSceneAdditively("path to scene asset file.", sceneManager.Server.Players)\n }\n}\n')),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"If you want to send the additive scene to only specific players we can do it like so. You must get the player on your own.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'sceneManager.ServerLoadSceneAdditively("path to scene asset file.", Player)\n')),(0,r.kt)("h2",{id:"virtual-methods"},"Virtual Methods"),(0,r.kt)("p",null,"Some of the methods in NetworkSceneManager can be overridden to customize how it works"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Start"),(0,r.kt)("li",{parentName:"ul"},"OnDestroy"),(0,r.kt)("li",{parentName:"ul"},"ClientStartSceneMessage"),(0,r.kt)("li",{parentName:"ul"},"ClientFinishedLoadingSceneMessage"),(0,r.kt)("li",{parentName:"ul"},"ClientNotReadyMessage"),(0,r.kt)("li",{parentName:"ul"},"OnServerAuthenticated"),(0,r.kt)("li",{parentName:"ul"},"OnServerPlayerDisconnected")),(0,r.kt)("h3",{id:"example---onserverauthenticated"},"Example - OnServerAuthenticated"),(0,r.kt)("p",null,"By default OnServerAuthenticated sends the active scene and all additive scenes to the client, It can be overridden to only send the active scene:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class MySceneManager : NetworkSceneManager\n{\n protected internal override void OnServerAuthenticated(INetworkPlayer player)\n {\n // just load server's active scene instead of all additive scenes as well\n player.Send(new SceneMessage { MainActivateScene = ActiveScenePath });\n player.Send(new SceneReadyMessage());\n }\n}\n")),(0,r.kt)("h3",{id:"example---start"},"Example - Start"),(0,r.kt)("p",null,"By default, ",(0,r.kt)("inlineCode",{parentName:"p"},"Start")," registers all our listeners for scene management handling. If you need to override it then do this and add your stuff."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class MySceneManager : NetworkSceneManager\n{\n protected internal override void Start()\n {\n // add your stuff before.\n\n base.Start();\n\n // add your stuff after.\n }\n}\n")),(0,r.kt)("h3",{id:"example---ondestroy"},"Example - OnDestroy"),(0,r.kt)("p",null,"By default OnDestroy de-registers all our listener's for scene management handling. If you need to override it then do this and add your stuff."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class MySceneManager : NetworkSceneManager\n{\n protected internal override void OnDestroy()\n {\n // add your stuff before.\n\n base.OnDestroy();\n\n // add your stuff after.\n }\n}\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b5249036.08858600.js b/assets/js/b5249036.08858600.js new file mode 100644 index 00000000000..78c7c740b84 --- /dev/null +++ b/assets/js/b5249036.08858600.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9057],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>u});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var i=r.createContext({}),l=function(e){var t=r.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},p=function(e){var t=l(e.components);return r.createElement(i.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),f=l(n),u=o,d=f["".concat(i,".").concat(u)]||f[u]||m[u]||a;return n?r.createElement(d,s(s({ref:t},p),{},{components:n})):r.createElement(d,s({ref:t},p))}));function u(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,s=new Array(a);s[0]=f;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:o,s[1]=c;for(var l=2;l<a;l++)s[l]=n[l];return r.createElement.apply(null,s)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},47455:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>s,default:()=>m,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var r=n(87462),o=(n(67294),n(3905));const a={},s="Network Transform",c={unversionedId:"components/network-transform",id:"components/network-transform",title:"Network Transform",description:"The Network Transform component synchronizes the position, rotation, and scale of networked game objects across the network.",source:"@site/docs/components/network-transform.md",sourceDirName:"components",slug:"/components/network-transform",permalink:"/Mirage/docs/components/network-transform",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/network-transform.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Transform Child",permalink:"/Mirage/docs/components/network-transform-child"},next:{title:"Ready Check and Lobby Ready",permalink:"/Mirage/docs/components/ready-check"}},i={},l=[],p={toc:l};function m(e){let{components:t,...a}=e;return(0,o.kt)("wrapper",(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"network-transform"},"Network Transform"),(0,o.kt)("p",null,"The Network Transform component synchronizes the position, rotation, and scale of networked game objects across the network."),(0,o.kt)("p",null,"A game object with a Network Transform component must also have a Network Identity component. When you add a Network Transform component to a game object, Mirage also adds a Network Identity component on that game object if it does not already have one."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"The Network Transform component",src:n(85964).Z,width:"466",height:"636"})),(0,o.kt)("p",null,"By default, Network Transform is server-authoritative unless you check the box for ",(0,o.kt)("strong",{parentName:"p"},"Client Authority"),". Client Authority applies to character objects as well as non-character objects that have been specifically assigned to a client but only for this component. With this enabled, position changes are sent from the client to the server."),(0,o.kt)("p",null,"Under ",(0,o.kt)("strong",{parentName:"p"},"Sensitivity"),', you can set the minimum thresholds of change to the transform values in order for network messages to be generated. This helps minimize network "noise" for minor twitch and jitter.'),(0,o.kt)("p",null,"Normally, changes are sent to all observers of the object this component is on. Setting ",(0,o.kt)("strong",{parentName:"p"},"Sync Mode")," to Owner Only makes the changes private between the server and the client owner of the object."),(0,o.kt)("p",null,"You can use the ",(0,o.kt)("strong",{parentName:"p"},"Sync Interval")," to specify how often it syncs (in seconds)."))}m.isMDXComponent=!0},85964:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/NetworkTransform-87bc4e6d6034c82e59059a22d4beee56.png"}}]); \ No newline at end of file diff --git a/assets/js/b62029b6.be290ab7.js b/assets/js/b62029b6.be290ab7.js new file mode 100644 index 00000000000..79b147d1ea5 --- /dev/null +++ b/assets/js/b62029b6.be290ab7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1913],{3905:(e,n,t)=>{t.d(n,{Zo:()=>d,kt:()=>u});var r=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function c(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function o(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var s=r.createContext({}),l=function(e){var n=r.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},d=function(e){var n=l(e.components);return r.createElement(s.Provider,{value:n},e.children)},p={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},h=r.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),h=l(t),u=i,f=h["".concat(s,".").concat(u)]||h[u]||p[u]||a;return t?r.createElement(f,c(c({ref:n},d),{},{components:t})):r.createElement(f,c({ref:n},d))}));function u(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,c=new Array(a);c[0]=h;var o={};for(var s in n)hasOwnProperty.call(n,s)&&(o[s]=n[s]);o.originalType=e,o.mdxType="string"==typeof e?e:i,c[1]=o;for(var l=2;l<a;l++)c[l]=t[l];return r.createElement.apply(null,c)}return r.createElement.apply(null,t)}h.displayName="MDXCreateElement"},78721:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>c,default:()=>p,frontMatter:()=>a,metadata:()=>o,toc:()=>l});var r=t(87462),i=(t(67294),t(3905));const a={id:"SceneChangeFinishedEvent",title:"SceneChangeFinishedEvent"},c="Class SceneChangeFinishedEvent",o={unversionedId:"reference/Mirage/SceneChangeFinishedEvent",id:"reference/Mirage/SceneChangeFinishedEvent",title:"SceneChangeFinishedEvent",description:"Event fires from INetworkSceneManager when a scene change finishes on either Server or Client.",source:"@site/docs/reference/Mirage/SceneChangeFinishedEvent.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SceneChangeFinishedEvent",permalink:"/Mirage/docs/reference/Mirage/SceneChangeFinishedEvent",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SceneChangeFinishedEvent.md",tags:[],version:"current",frontMatter:{id:"SceneChangeFinishedEvent",title:"SceneChangeFinishedEvent"},sidebar:"api",previous:{title:"SceneAttribute",permalink:"/Mirage/docs/reference/Mirage/SceneAttribute"},next:{title:"SceneChangeStartedEvent",permalink:"/Mirage/docs/reference/Mirage/SceneChangeStartedEvent"}},s={},l=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5}],d={toc:l};function p(e){let{components:n,...t}=e;return(0,i.kt)("wrapper",(0,r.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-scenechangefinishedevent"},"Class SceneChangeFinishedEvent"),(0,i.kt)("p",null,"Event fires from INetworkSceneManager when a scene change finishes on either Server or Client.\nScene - Loaded scene\nSceneOperation - Scene change type (Normal, Additive Load, Additive Unload)."),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class SceneChangeFinishedEvent : UnityEvent<Scene, SceneOperation>\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b67206e2.7ab61568.js b/assets/js/b67206e2.7ab61568.js new file mode 100644 index 00000000000..c54eb587495 --- /dev/null +++ b/assets/js/b67206e2.7ab61568.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3518],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>k});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=n.createContext({}),u=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},c=function(e){var t=u(e.components);return n.createElement(p.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),d=u(a),k=r,m=d["".concat(p,".").concat(k)]||d[k]||s[k]||i;return a?n.createElement(m,l(l({ref:t},c),{},{components:a})):n.createElement(m,l({ref:t},c))}));function k(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=a.length,l=new Array(i);l[0]=d;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o.mdxType="string"==typeof e?e:r,l[1]=o;for(var u=2;u<i;u++)l[u]=a[u];return n.createElement.apply(null,l)}return n.createElement.apply(null,a)}d.displayName="MDXCreateElement"},38806:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>s,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var n=a(87462),r=(a(67294),a(3905));const i={},l="Float Pack",o={unversionedId:"guides/bit-packing/float-pack",id:"guides/bit-packing/float-pack",title:"Float Pack",description:"A float value can be compressed using FloatPackAttribute",source:"@site/docs/guides/bit-packing/float-pack.md",sourceDirName:"guides/bit-packing",slug:"/guides/bit-packing/float-pack",permalink:"/Mirage/docs/guides/bit-packing/float-pack",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/bit-packing/float-pack.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Bit Count",permalink:"/Mirage/docs/guides/bit-packing/bit-count"},next:{title:"Quaternion Pack",permalink:"/Mirage/docs/guides/bit-packing/quaternion-pack"}},p={},u=[{value:"Use cases",id:"use-cases",level:3},{value:"Supported Types",id:"supported-types",level:3},{value:"Example 1",id:"example-1",level:3},{value:"Example 2",id:"example-2",level:3},{value:"Generated Code",id:"generated-code",level:3}],c={toc:u};function s(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"float-pack"},"Float Pack"),(0,r.kt)("p",null,"A float value can be compressed using ",(0,r.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Serialization/FloatPackAttribute"},"FloatPackAttribute")),(0,r.kt)("p",null,"The float value will be quantized and turned into an integer with at least the resolution that is given in the attribute."),(0,r.kt)("p",null,"The real resolution used is calculated from the ",(0,r.kt)("inlineCode",{parentName:"p"},"bitcount")," required to pack the value. For example, if the max is ",(0,r.kt)("inlineCode",{parentName:"p"},"100"),", and the resolution is ",(0,r.kt)("inlineCode",{parentName:"p"},"0.1f"),", then there are ",(0,r.kt)("inlineCode",{parentName:"p"},"2000")," discrete values are needed to pack this. This requires 11 bits. 11 bits allow for ",(0,r.kt)("inlineCode",{parentName:"p"},"2047")," discrete values so the real resolution used will be ",(0,r.kt)("inlineCode",{parentName:"p"},"0.0977f"),"."),(0,r.kt)("p",null,"Values are packed so that 0 will unpack are 0, and other values are rounded to the nearest int so that rounding errors stay as low as possible."),(0,r.kt)("p",null,"Values are clamped so values out of range will be packed as min/max values instead"),(0,r.kt)("h3",{id:"use-cases"},"Use cases"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"A Value with a maximum value")),(0,r.kt)("h3",{id:"supported-types"},"Supported Types"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Float")),(0,r.kt)("h3",{id:"example-1"},"Example 1"),(0,r.kt)("p",null,"Health which is between 0 and 100"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class MyNetworkBehaviour : NetworkBehaviour \n{\n [SyncVar, FloatPack(100f, 0.02f)]\n public int Health;\n}\n")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Max = 100"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"resolution = 0.02f")," so bit count is 14"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"health = 57.2f")," will serialize to ",(0,r.kt)("inlineCode",{parentName:"p"},"01_0010_0100_1101")," and deserialize to ",(0,r.kt)("inlineCode",{parentName:"p"},"57.197f")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"health = -13.5f")," will serialize to ",(0,r.kt)("inlineCode",{parentName:"p"},"11_1011_1010_1110")," and deserialize to ",(0,r.kt)("inlineCode",{parentName:"p"},"-13.503f")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"health = 120f")," will be clamped to ",(0,r.kt)("inlineCode",{parentName:"p"},"100f")),(0,r.kt)("h3",{id:"example-2"},"Example 2"),(0,r.kt)("p",null,"A Percent that where you only want to send 8 bits"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class MyNetworkBehaviour : NetworkBehaviour \n{\n [SyncVar, FloatPack(1f, 8)]\n public int Percent;\n}\n")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"Max = 1f"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"bitCount = 8")," so resolution will be ",(0,r.kt)("inlineCode",{parentName:"p"},"0.00787f")),(0,r.kt)("h3",{id:"generated-code"},"Generated Code"),(0,r.kt)("p",null,"Source:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"[SyncVar, FloatPack(100f, 0.02f)]\npublic int myValue;\n")),(0,r.kt)("p",null,"Generated:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"\nprivate FloatPacker myValue__Packer = new FloatPacker(100f, 0.02f);\n\npublic override bool SerializeSyncVars(NetworkWriter writer, bool initialState)\n{\n ulong syncVarDirtyBits = base.SyncVarDirtyBits;\n bool result = base.SerializeSyncVars(writer, initialize);\n\n if (initialState) \n {\n myValue__Packer.Pack(writer, this.myValue);\n return true;\n }\n\n writer.Write(syncVarDirtyBits, 1);\n if ((syncVarDirtyBits & 1UL) != 0UL)\n {\n myValue__Packer.Pack(writer, this.myValue);\n result = true;\n }\n\n return result;\n}\n\npublic override void DeserializeSyncVars(NetworkReader reader, bool initialState)\n{\n base.DeserializeSyncVars(reader, initialState);\n\n if (initialState)\n {\n this.myValue = myValue__Packer.Unpack(reader);\n return;\n }\n\n ulong dirtyMask = reader.Read(1);\n if ((dirtyMask & 1UL) != 0UL)\n {\n this.myValue = myValue__Packer.Unpack(reader);\n }\n}\n")),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"last updated for Mirage v101.8.0")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b74b01f8.5f1b410c.js b/assets/js/b74b01f8.5f1b410c.js new file mode 100644 index 00000000000..d4580d6bd1b --- /dev/null +++ b/assets/js/b74b01f8.5f1b410c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4351],{3905:(e,t,i)=>{i.d(t,{Zo:()=>y,kt:()=>b});var r=i(67294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function o(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?a(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):a(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function s(e,t){if(null==e)return{};var i,r,n=function(e,t){if(null==e)return{};var i,r,n={},a=Object.keys(e);for(r=0;r<a.length;r++)i=a[r],t.indexOf(i)>=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)i=a[r],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var l=r.createContext({}),c=function(e){var t=r.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):o(o({},t),e)),i},y=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,l=e.parentName,y=s(e,["components","mdxType","originalType","parentName"]),u=c(i),b=n,f=u["".concat(l,".").concat(b)]||u[b]||p[b]||a;return i?r.createElement(f,o(o({ref:t},y),{},{components:i})):r.createElement(f,o({ref:t},y))}));function b(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,o=new Array(a);o[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:n,o[1]=s;for(var c=2;c<a;c++)o[c]=i[c];return r.createElement.apply(null,o)}return r.createElement.apply(null,i)}u.displayName="MDXCreateElement"},7002:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var r=i(87462),n=(i(67294),i(3905));const a={id:"Mirage.Visibility",title:"Mirage.Visibility"},o="Mirage.Visibility",s={unversionedId:"reference/Mirage.Visibility/Mirage.Visibility",id:"reference/Mirage.Visibility/Mirage.Visibility",title:"Mirage.Visibility",description:"Classes",source:"@site/docs/reference/Mirage.Visibility/index.md",sourceDirName:"reference/Mirage.Visibility",slug:"/reference/Mirage.Visibility/",permalink:"/Mirage/docs/reference/Mirage.Visibility/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Visibility/index.md",tags:[],version:"current",frontMatter:{id:"Mirage.Visibility",title:"Mirage.Visibility"},sidebar:"api",previous:{title:"UdpSocketFactory",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpSocketFactory"},next:{title:"AlwaysNetworkVisibility",permalink:"/Mirage/docs/reference/Mirage.Visibility/AlwaysNetworkVisibility"}},l={},c=[{value:"Classes",id:"classes",level:2},{value:"AlwaysNetworkVisibility",id:"alwaysnetworkvisibility",level:4}],y={toc:c};function p(e){let{components:t,...i}=e;return(0,n.kt)("wrapper",(0,r.Z)({},y,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"miragevisibility"},"Mirage.Visibility"),(0,n.kt)("h2",{id:"classes"},"Classes"),(0,n.kt)("h4",{id:"alwaysnetworkvisibility"},(0,n.kt)("a",{parentName:"h4",href:"./AlwaysNetworkVisibility"},"AlwaysNetworkVisibility")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Always shows an object, even if player is loading scene\nThis can be used to make sure that Managers in DontDestoryOnLoad dont get despawned")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b79279ef.16add618.js b/assets/js/b79279ef.16add618.js new file mode 100644 index 00000000000..8823eaa1866 --- /dev/null +++ b/assets/js/b79279ef.16add618.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5389],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var o=a.createContext({}),s=function(e){var t=a.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},c=function(e){var t=s(e.components);return a.createElement(o.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},v=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,l=e.originalType,o=e.parentName,c=d(e,["components","mdxType","originalType","parentName"]),v=s(n),m=r,u=v["".concat(o,".").concat(m)]||v[m]||p[m]||l;return n?a.createElement(u,i(i({ref:t},c),{},{components:n})):a.createElement(u,i({ref:t},c))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=n.length,i=new Array(l);i[0]=v;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d.mdxType="string"==typeof e?e:r,i[1]=d;for(var s=2;s<l;s++)i[s]=n[s];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}v.displayName="MDXCreateElement"},17800:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>d,toc:()=>s});var a=n(87462),r=(n(67294),n(3905));const l={id:"AddLateEventUnity-2",title:"AddLateEventUnity<T0, TEvent>"},i="Class AddLateEventUnity<T0, TEvent>",d={unversionedId:"reference/Mirage.Events/AddLateEventUnity-2",id:"reference/Mirage.Events/AddLateEventUnity-2",title:"AddLateEventUnity<T0, TEvent>",description:"Version of with 1 argument",source:"@site/docs/reference/Mirage.Events/AddLateEventUnity-2.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/AddLateEventUnity-2",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-2",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/AddLateEventUnity-2.md",tags:[],version:"current",frontMatter:{id:"AddLateEventUnity-2",title:"AddLateEventUnity<T0, TEvent>"},sidebar:"api",previous:{title:"AddLateEventBase",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEventBase"},next:{title:"AddLateEventUnity<T0, T1, TEvent>",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-3"}},o={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"AddListener(UnityAction<T0>)",id:"addlistenerunityactiont0",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RemoveListener(UnityAction<T0>)",id:"removelistenerunityactiont0",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Invoke(T0)",id:"invoket0",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"RemoveAllListeners()",id:"removealllisteners",level:4},{value:"Declaration",id:"declaration-3",level:5}],c={toc:s};function p(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-addlateeventunityt0-tevent"},"Class AddLateEventUnity","<","T0, TEvent",">"),(0,r.kt)("p",null,"Version of with 1 argument\nCreate a non-generic class inheriting from this to use in inspector. Same rules as "),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,r.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Events.AddLateEventBase"),(0,r.kt)("div",{class:"level",style:{"--data-index":2}},"Mirage.Events.AddLateEvent<T0>")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show"),(0,r.kt)("p",null,"Mirage.Events.AddLateEvent","<","T0",">","._arg0"),(0,r.kt)("p",null,"Mirage.Events.AddLateEvent","<","T0",">",".AddListener(System.Action","<","T0",">",")"),(0,r.kt)("p",null,"Mirage.Events.AddLateEvent","<","T0",">",".RemoveListener(System.Action","<","T0",">",")"),(0,r.kt)("p",null,"Mirage.Events.AddLateEventBase.HasInvoked"),(0,r.kt)("p",null,"Mirage.Events.AddLateEventBase.MarkInvoked()"),(0,r.kt)("p",null,"Mirage.Events.AddLateEventBase.Reset()")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic abstract class AddLateEventUnity<T0, TEvent> : AddLateEvent<T0>, IAddLateEventUnity<T0>, IAddLateEvent<T0> where TEvent : UnityEvent<T0>, new()\n")),(0,r.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T0"),(0,r.kt)("td",{parentName:"tr",align:null},"argument 0")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TEvent"),(0,r.kt)("td",{parentName:"tr",align:null},"UnityEvent")))),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"addlistenerunityactiont0"},"AddListener(UnityAction","<","T0",">",")"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void AddListener(UnityAction<T0> handler)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"UnityAction","<","T0",">"),(0,r.kt)("td",{parentName:"tr",align:null},"handler"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"removelistenerunityactiont0"},"RemoveListener(UnityAction","<","T0",">",")"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveListener(UnityAction<T0> handler)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"UnityAction","<","T0",">"),(0,r.kt)("td",{parentName:"tr",align:null},"handler"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"invoket0"},"Invoke(T0)"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public override void Invoke(T0 arg0)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"T0"),(0,r.kt)("td",{parentName:"tr",align:null},"arg0"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"removealllisteners"},"RemoveAllListeners()"),(0,r.kt)("p",null,"Remove all non-persisent (ie created from script) listeners from the event."),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveAllListeners()\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b7a04171.f89a24ad.js b/assets/js/b7a04171.f89a24ad.js new file mode 100644 index 00000000000..cff323bea6b --- /dev/null +++ b/assets/js/b7a04171.f89a24ad.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3831],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},g=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,c=e.originalType,l=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),g=s(n),u=a,f=g["".concat(l,".").concat(u)]||g[u]||p[u]||c;return n?r.createElement(f,i(i({ref:t},d),{},{components:n})):r.createElement(f,i({ref:t},d))}));function u(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var c=n.length,i=new Array(c);i[0]=g;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var s=2;s<c;s++)i[s]=n[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}g.displayName="MDXCreateElement"},99545:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>c,metadata:()=>o,toc:()=>s});var r=n(87462),a=(n(67294),n(3905));const c={id:"SceneChangeStartedEvent",title:"SceneChangeStartedEvent"},i="Class SceneChangeStartedEvent",o={unversionedId:"reference/Mirage/SceneChangeStartedEvent",id:"reference/Mirage/SceneChangeStartedEvent",title:"SceneChangeStartedEvent",description:"Event fires from INetworkSceneManager when a scene change begins on either Server or Client.",source:"@site/docs/reference/Mirage/SceneChangeStartedEvent.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SceneChangeStartedEvent",permalink:"/Mirage/docs/reference/Mirage/SceneChangeStartedEvent",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SceneChangeStartedEvent.md",tags:[],version:"current",frontMatter:{id:"SceneChangeStartedEvent",title:"SceneChangeStartedEvent"},sidebar:"api",previous:{title:"SceneChangeFinishedEvent",permalink:"/Mirage/docs/reference/Mirage/SceneChangeFinishedEvent"},next:{title:"SceneMessage",permalink:"/Mirage/docs/reference/Mirage/SceneMessage"}},l={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5}],d={toc:s};function p(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-scenechangestartedevent"},"Class SceneChangeStartedEvent"),(0,a.kt)("p",null,"Event fires from INetworkSceneManager when a scene change begins on either Server or Client.\nScene - Name or path of the scene that","'","s about to be loaded\nSceneOperation - Scene change type (Normal, Additive Load, Additive Unload)."),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class SceneChangeStartedEvent : UnityEvent<string, SceneOperation>\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b7a35126.43ccb064.js b/assets/js/b7a35126.43ccb064.js new file mode 100644 index 00000000000..482c063e67c --- /dev/null +++ b/assets/js/b7a35126.43ccb064.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[676],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>u});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var f=n.createContext({}),l=function(e){var t=n.useContext(f),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(f.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,f=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),y=l(r),u=o,d=y["".concat(f,".").concat(u)]||y[u]||s[u]||a;return r?n.createElement(d,i(i({ref:t},p),{},{components:r})):n.createElement(d,i({ref:t},p))}));function u(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=y;var c={};for(var f in t)hasOwnProperty.call(t,f)&&(c[f]=t[f]);c.originalType=e,c.mdxType="string"==typeof e?e:o,i[1]=c;for(var l=2;l<a;l++)i[l]=r[l];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}y.displayName="MDXCreateElement"},12464:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>f,contentTitle:()=>i,default:()=>s,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var n=r(87462),o=(r(67294),r(3905));const a={id:"INotifyToken",title:"INotifyToken"},i="Interface INotifyToken",c={unversionedId:"reference/Mirage.SocketLayer/INotifyToken",id:"reference/Mirage.SocketLayer/INotifyToken",title:"INotifyToken",description:"Object returned from with events for when packet is Lost or Delivered",source:"@site/docs/reference/Mirage.SocketLayer/INotifyToken.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/INotifyToken",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/INotifyToken",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/INotifyToken.md",tags:[],version:"current",frontMatter:{id:"INotifyToken",title:"INotifyToken"},sidebar:"api",previous:{title:"INotifyCallBackExtensions",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/INotifyCallBackExtensions"},next:{title:"IPeer",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IPeer"}},f={},l=[{value:"Syntax",id:"syntax",level:5}],p={toc:l};function s(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"interface-inotifytoken"},"Interface INotifyToken"),(0,o.kt)("p",null,"Object returned from with events for when packet is Lost or Delivered"),(0,o.kt)("h5",{id:"syntax"},"Syntax"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"public interface INotifyToken\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b7a73740.bbbbcd65.js b/assets/js/b7a73740.bbbbcd65.js new file mode 100644 index 00000000000..c0e42f1a78d --- /dev/null +++ b/assets/js/b7a73740.bbbbcd65.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6202],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>d});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),p=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},s=function(e){var t=p(e.components);return r.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),f=p(n),d=a,v=f["".concat(l,".").concat(d)]||f[d]||u[d]||i;return n?r.createElement(v,c(c({ref:t},s),{},{components:n})):r.createElement(v,c({ref:t},s))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,c=new Array(i);c[0]=f;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o.mdxType="string"==typeof e?e:a,c[1]=o;for(var p=2;p<i;p++)c[p]=n[p];return r.createElement.apply(null,c)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},82381:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>p});var r=n(87462),a=(n(67294),n(3905));const i={id:"SpawnEvent",title:"SpawnEvent"},c="Class SpawnEvent",o={unversionedId:"reference/Mirage/SpawnEvent",id:"reference/Mirage/SpawnEvent",title:"SpawnEvent",description:"Inheritance",source:"@site/docs/reference/Mirage/SpawnEvent.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SpawnEvent",permalink:"/Mirage/docs/reference/Mirage/SpawnEvent",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SpawnEvent.md",tags:[],version:"current",frontMatter:{id:"SpawnEvent",title:"SpawnEvent"},sidebar:"api",previous:{title:"ShowInInspectorAttribute",permalink:"/Mirage/docs/reference/Mirage/ShowInInspectorAttribute"},next:{title:"SpawnHandler",permalink:"/Mirage/docs/reference/Mirage/SpawnHandler"}},l={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5}],s={toc:p};function u(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-spawnevent"},"Class SpawnEvent"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class SpawnEvent : UnityEvent<NetworkIdentity>\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b7f3adf9.14332830.js b/assets/js/b7f3adf9.14332830.js new file mode 100644 index 00000000000..3e2a09516bb --- /dev/null +++ b/assets/js/b7f3adf9.14332830.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4261],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=l(r),m=a,h=p["".concat(c,".").concat(m)]||p[m]||d[m]||i;return r?n.createElement(h,o(o({ref:t},u),{},{components:r})):n.createElement(h,o({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var l=2;l<i;l++)o[l]=r[l];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},67727:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const i={id:"SessionData",title:"SessionData"},o="Class SessionData",s={unversionedId:"reference/Mirage.Authenticators.SessionId/SessionData",id:"reference/Mirage.Authenticators.SessionId/SessionData",title:"SessionData",description:"Inheritance",source:"@site/docs/reference/Mirage.Authenticators.SessionId/SessionData.md",sourceDirName:"reference/Mirage.Authenticators.SessionId",slug:"/reference/Mirage.Authenticators.SessionId/SessionData",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionData",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authenticators.SessionId/SessionData.md",tags:[],version:"current",frontMatter:{id:"SessionData",title:"SessionData"},sidebar:"api",previous:{title:"RequestSessionMessage",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/RequestSessionMessage"},next:{title:"SessionIdAuthenticator",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator"}},c={},l=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Timeout",id:"timeout",level:4},{value:"Declaration",id:"declaration",level:5},{value:"PlayerAuthentication",id:"playerauthentication",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Properties",id:"properties",level:3},{value:"IAuthenticationDataWrapper.Inner",id:"iauthenticationdatawrapperinner",level:4},{value:"Declaration",id:"declaration-2",level:5}],u={toc:l};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-sessiondata"},"Class SessionData"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class SessionData : IAuthenticationDataWrapper\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"timeout"},"Timeout"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public DateTime Timeout\n")),(0,a.kt)("h4",{id:"playerauthentication"},"PlayerAuthentication"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public PlayerAuthentication PlayerAuthentication\n")),(0,a.kt)("h3",{id:"properties"},"Properties"),(0,a.kt)("h4",{id:"iauthenticationdatawrapperinner"},"IAuthenticationDataWrapper.Inner"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"object IAuthenticationDataWrapper.Inner { get; }\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b882f839.688205dc.js b/assets/js/b882f839.688205dc.js new file mode 100644 index 00000000000..6235ae53e89 --- /dev/null +++ b/assets/js/b882f839.688205dc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2983],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var o=a.createContext({}),m=function(e){var t=a.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},s=function(e){var t=m(e.components);return a.createElement(o.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),p=m(r),u=n,b=p["".concat(o,".").concat(u)]||p[u]||d[u]||i;return r?a.createElement(b,l(l({ref:t},s),{},{components:r})):a.createElement(b,l({ref:t},s))}));function u(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,l=new Array(i);l[0]=p;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:n,l[1]=c;for(var m=2;m<i;m++)l[m]=r[m];return a.createElement.apply(null,l)}return a.createElement.apply(null,r)}p.displayName="MDXCreateElement"},41231:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>m});var a=r(87462),n=(r(67294),r(3905));const i={id:"GameObjectSerializers",title:"GameObjectSerializers"},l="Class GameObjectSerializers",c={unversionedId:"reference/Mirage/GameObjectSerializers",id:"reference/Mirage/GameObjectSerializers",title:"GameObjectSerializers",description:"Inheritance",source:"@site/docs/reference/Mirage/GameObjectSerializers.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/GameObjectSerializers",permalink:"/Mirage/docs/reference/Mirage/GameObjectSerializers",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/GameObjectSerializers.md",tags:[],version:"current",frontMatter:{id:"GameObjectSerializers",title:"GameObjectSerializers"},sidebar:"api",previous:{title:"GameObjectExtensions",permalink:"/Mirage/docs/reference/Mirage/GameObjectExtensions"},next:{title:"GameObjectSyncvar",permalink:"/Mirage/docs/reference/Mirage/GameObjectSyncvar"}},o={},m=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"WriteGameObjectSyncVar(NetworkWriter, GameObjectSyncvar)",id:"writegameobjectsyncvarnetworkwriter-gameobjectsyncvar",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"ReadGameObjectSyncVar(NetworkReader)",id:"readgameobjectsyncvarnetworkreader",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5}],s={toc:m};function d(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-gameobjectserializers"},"Class GameObjectSerializers"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class GameObjectSerializers\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"writegameobjectsyncvarnetworkwriter-gameobjectsyncvar"},"WriteGameObjectSyncVar(NetworkWriter, GameObjectSyncvar)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteGameObjectSyncVar(this NetworkWriter writer, GameObjectSyncvar id)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.GameObjectSyncvar"),(0,n.kt)("td",{parentName:"tr",align:null},"id"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readgameobjectsyncvarnetworkreader"},"ReadGameObjectSyncVar(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static GameObjectSyncvar ReadGameObjectSyncVar(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.GameObjectSyncvar"),(0,n.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b8e54a0e.d5bdfc2d.js b/assets/js/b8e54a0e.d5bdfc2d.js new file mode 100644 index 00000000000..dc90399b724 --- /dev/null +++ b/assets/js/b8e54a0e.d5bdfc2d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6995],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>s});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),p=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},d=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},k={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),u=p(a),s=n,m=u["".concat(c,".").concat(s)]||u[s]||k[s]||l;return a?r.createElement(m,i(i({ref:t},d),{},{components:a})):r.createElement(m,i({ref:t},d))}));function s(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=u;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var p=2;p<l;p++)i[p]=a[p];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}u.displayName="MDXCreateElement"},50771:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>k,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var r=a(87462),n=(a(67294),a(3905));const l={id:"VarFloatPacker",title:"VarFloatPacker"},i="Class VarFloatPacker",o={unversionedId:"reference/Mirage.Serialization/VarFloatPacker",id:"reference/Mirage.Serialization/VarFloatPacker",title:"VarFloatPacker",description:"Packs a float using and",source:"@site/docs/reference/Mirage.Serialization/VarFloatPacker.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/VarFloatPacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarFloatPacker",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/VarFloatPacker.md",tags:[],version:"current",frontMatter:{id:"VarFloatPacker",title:"VarFloatPacker"},sidebar:"api",previous:{title:"VarDoublePacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarDoublePacker"},next:{title:"VarIntAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarIntAttribute"}},c={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"VarFloatPacker(Single, Int32)",id:"varfloatpackersingle-int32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"Pack(NetworkWriter, Single)",id:"packnetworkwriter-single",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Unpack(NetworkReader)",id:"unpacknetworkreader",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns",level:5}],d={toc:p};function k(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-varfloatpacker"},"Class VarFloatPacker"),(0,n.kt)("p",null,"Packs a float using and "),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class VarFloatPacker\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"varfloatpackersingle-int32"},"VarFloatPacker(Single, Int32)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public VarFloatPacker(float precision, int blockSize)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"precision"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"blockSize"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"packnetworkwriter-single"},"Pack(NetworkWriter, Single)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Pack(NetworkWriter writer, float value)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpacknetworkreader"},"Unpack(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public float Unpack(NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null})))))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b908ce4e.f85a95b7.js b/assets/js/b908ce4e.f85a95b7.js new file mode 100644 index 00000000000..ef1c5723fbf --- /dev/null +++ b/assets/js/b908ce4e.f85a95b7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8185],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var o=a.createContext({}),c=function(e){var t=a.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=c(e.components);return a.createElement(o.Provider,{value:t},e.children)},g={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(r),m=n,u=p["".concat(o,".").concat(m)]||p[m]||g[m]||l;return r?a.createElement(u,i(i({ref:t},d),{},{components:r})):a.createElement(u,i({ref:t},d))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=p;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s.mdxType="string"==typeof e?e:n,i[1]=s;for(var c=2;c<l;c++)i[c]=r[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}p.displayName="MDXCreateElement"},41731:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>g,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const l={id:"IMessageReceiver",title:"IMessageReceiver"},i="Interface IMessageReceiver",s={unversionedId:"reference/Mirage/IMessageReceiver",id:"reference/Mirage/IMessageReceiver",title:"IMessageReceiver",description:"An object that can receive messages",source:"@site/docs/reference/Mirage/IMessageReceiver.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/IMessageReceiver",permalink:"/Mirage/docs/reference/Mirage/IMessageReceiver",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/IMessageReceiver.md",tags:[],version:"current",frontMatter:{id:"IMessageReceiver",title:"IMessageReceiver"},sidebar:"api",previous:{title:"HostRendererVisibility",permalink:"/Mirage/docs/reference/Mirage/HostRendererVisibility"},next:{title:"IMessageSender",permalink:"/Mirage/docs/reference/Mirage/IMessageSender"}},o={},c=[{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"RegisterHandler<T>(MessageDelegateWithPlayer<T>, Boolean)",id:"registerhandlertmessagedelegatewithplayert-boolean",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"UnregisterHandler<T>()",id:"unregisterhandlert",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"ClearHandlers()",id:"clearhandlers",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"HandleMessage(INetworkPlayer, ArraySegment<Byte>)",id:"handlemessageinetworkplayer-arraysegmentbyte",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-1",level:5}],d={toc:c};function g(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"interface-imessagereceiver"},"Interface IMessageReceiver"),(0,n.kt)("p",null,"An object that can receive messages"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IMessageReceiver\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"registerhandlertmessagedelegatewithplayert-boolean"},"RegisterHandler","<","T",">","(MessageDelegateWithPlayer","<","T",">",", Boolean)"),(0,n.kt)("p",null,"Registers a handler for a network message that has INetworkPlayer and T Message parameters"),(0,n.kt)("p",null,"When network message are sent, the first 2 bytes are the Id for the type T.\nWhen message is received the handler with the matching Id is found and invoked"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void RegisterHandler<T>(MessageDelegateWithPlayer<T> handler, bool allowUnauthenticated)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.MessageDelegateWithPlayer","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null},"handler"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"allowUnauthenticated"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unregisterhandlert"},"UnregisterHandler","<","T",">","()"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void UnregisterHandler<T>()\n")),(0,n.kt)("h4",{id:"clearhandlers"},"ClearHandlers()"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void ClearHandlers()\n")),(0,n.kt)("h4",{id:"handlemessageinetworkplayer-arraysegmentbyte"},"HandleMessage(INetworkPlayer, ArraySegment","<","Byte",">",")"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void HandleMessage(INetworkPlayer player, ArraySegment<byte> packet)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,n.kt)("td",{parentName:"tr",align:null},"packet"),(0,n.kt)("td",{parentName:"tr",align:null})))))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b919ef2d.24ec35f3.js b/assets/js/b919ef2d.24ec35f3.js new file mode 100644 index 00000000000..b718af2be9c --- /dev/null +++ b/assets/js/b919ef2d.24ec35f3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[965],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>y});var r=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function o(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=r.createContext({}),l=function(e){var n=r.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},p=function(e){var n=l(e.components);return r.createElement(c.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},d=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),d=l(t),y=a,g=d["".concat(c,".").concat(y)]||d[y]||u[y]||i;return t?r.createElement(g,s(s({ref:n},p),{},{components:t})):r.createElement(g,s({ref:n},p))}));function y(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var i=t.length,s=new Array(i);s[0]=d;var o={};for(var c in n)hasOwnProperty.call(n,c)&&(o[c]=n[c]);o.originalType=e,o.mdxType="string"==typeof e?e:a,s[1]=o;for(var l=2;l<i;l++)s[l]=t[l];return r.createElement.apply(null,s)}return r.createElement.apply(null,t)}d.displayName="MDXCreateElement"},77314:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var r=t(87462),a=(t(67294),t(3905));const i={sidebar_position:4},s="Generics",o={unversionedId:"guides/serialization/generics",id:"guides/serialization/generics",title:"Generics",description:"Mirage supports generic types for SyncVar, Rpcs, and fields in NetworkMessages.",source:"@site/docs/guides/serialization/generics.md",sourceDirName:"guides/serialization",slug:"/guides/serialization/generics",permalink:"/Mirage/docs/guides/serialization/generics",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/serialization/generics.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"docs",previous:{title:"Advanced Serialization",permalink:"/Mirage/docs/guides/serialization/advanced"},next:{title:"SyncPrefab",permalink:"/Mirage/docs/guides/serialization/sync-prefab"}},c={},l=[{value:"NetworkBehaviour",id:"networkbehaviour",level:2},{value:"Ensure Type has Write and Read functions",id:"ensure-type-has-write-and-read-functions",level:2},{value:"Network Messages and other types",id:"network-messages-and-other-types",level:2},{value:"SyncList, SyncDictionary, SyncSet",id:"synclist-syncdictionary-syncset",level:2}],p={toc:l};function u(e){let{components:n,...t}=e;return(0,a.kt)("wrapper",(0,r.Z)({},p,t,{components:n,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"generics"},"Generics"),(0,a.kt)("p",null,"Mirage supports generic types for ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/sync/sync-var"},"SyncVar"),", ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/"},"Rpcs"),", and fields in ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/network-messages"},"NetworkMessages"),"."),(0,a.kt)("h2",{id:"networkbehaviour"},"NetworkBehaviour"),(0,a.kt)("p",null,"By making a ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/game-objects/network-behaviour"},"NetworkBehaviour")," generic you can then use generic SyncVar fields or use the generic in an RPC."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class MyGenericBehaviour<T> : NetworkBehaviour\n{\n [SyncVar]\n public T Value;\n\n public void MyRpc(T value) \n {\n // do stuff\n }\n}\n")),(0,a.kt)("admonition",{type:"warning"},(0,a.kt)("p",{parentName:"admonition"},"Making the RPC itself generic does not work. For example, ",(0,a.kt)("inlineCode",{parentName:"p"},"MyRpc<T>(T value)")," will not work. This is because the receiver will have no idea what generic to invoke the type as.")),(0,a.kt)("h2",{id:"ensure-type-has-write-and-read-functions"},"Ensure Type has Write and Read functions"),(0,a.kt)("p",null,"For a type to work as a generic, it must have a write and read that Mirage can find. For built-in types, this is done automatically (see ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/serialization/advanced"},"Serialization"),")."),(0,a.kt)("p",null,"For custom types Mirage will try to automatically find them and generate functions, however, this does not always work. Adding ",(0,a.kt)("inlineCode",{parentName:"p"},"[NetworkMessage]")," to the type will tell Mirage to generate functions for it."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[NetworkMessage]\npublic struct MyCustomType\n{\n public int Value;\n}\n")),(0,a.kt)("p",null,"Alternatively, you can manually create Write and Read functions for your type"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static class MyCustomTypeExtensions \n{\n public static void Write(this NetworkWriter writer, MyCustomType value) \n {\n // write here\n }\n\n public static MyCustomType Read(this NetworkReader reader) \n {\n // read here\n }\n}\n")),(0,a.kt)("h2",{id:"network-messages-and-other-types"},"Network Messages and other types"),(0,a.kt)("p",null,"Generic messages are partly supported. Generic instances can be used as messages, For example, using ",(0,a.kt)("inlineCode",{parentName:"p"},"MyMessage<int>")," in the example below."),(0,a.kt)("p",null,"This also includes using generic types in RPC or inside other types as long they are generic instances."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct MyMessage<T>\n{\n public T Value;\n}\n\nclass Manager \n{\n void Start() \n {\n Server.MessageHandler.RegisterHandler<MyMessage<int>>(HandleMessage);\n }\n\n void HandleIntMessage(INetworkPlayer player, MyMessage<int> msg)\n {\n // do stuff\n }\n}\n")),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("p",{parentName:"admonition"},"Generic message should not have ",(0,a.kt)("inlineCode",{parentName:"p"},"[NetworkMessage]")," because this cause Mirage to try to make a writer for the generic itself. Only generic instances (eg ",(0,a.kt)("inlineCode",{parentName:"p"},"MyMessage<int>"),") can have serialize functions ")),(0,a.kt)("h2",{id:"synclist-syncdictionary-syncset"},"SyncList, SyncDictionary, SyncSet"),(0,a.kt)("p",null,"SyncList, SyncDictionary, and SyncSet can have generic types as their element type as long as it is a generic instance (eg ",(0,a.kt)("inlineCode",{parentName:"p"},"MyType<int>")," not ",(0,a.kt)("inlineCode",{parentName:"p"},"MyType<T>"),")."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct MyType<T>\n{\n public bool Option;\n public T Value;\n}\n\npublic class MyBehaviour : NetworkBehaviour\n{\n public SyncList<MyType<float>> myList;\n}\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ba52ef73.068aa8a6.js b/assets/js/ba52ef73.068aa8a6.js new file mode 100644 index 00000000000..c9e84a26cd2 --- /dev/null +++ b/assets/js/ba52ef73.068aa8a6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3101],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>v});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),s=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),p=s(r),v=n,g=p["".concat(c,".").concat(v)]||p[v]||u[v]||l;return r?a.createElement(g,i(i({ref:t},d),{},{components:r})):a.createElement(g,i({ref:t},d))}));function v(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var s=2;s<l;s++)i[s]=r[s];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}p.displayName="MDXCreateElement"},2820:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>s});var a=r(87462),n=(r(67294),r(3905));const l={id:"NetworkFlags",title:"NetworkFlags"},i="Enum NetworkFlags",o={unversionedId:"reference/Mirage/NetworkFlags",id:"reference/Mirage/NetworkFlags",title:"NetworkFlags",description:"Syntax",source:"@site/docs/reference/Mirage/NetworkFlags.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkFlags",permalink:"/Mirage/docs/reference/Mirage/NetworkFlags",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkFlags.md",tags:[],version:"current",frontMatter:{id:"NetworkFlags",title:"NetworkFlags"},sidebar:"api",previous:{title:"NetworkExtensions",permalink:"/Mirage/docs/reference/Mirage/NetworkExtensions"},next:{title:"NetworkIdentity",permalink:"/Mirage/docs/reference/Mirage/NetworkIdentity"}},c={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"NotActive",id:"notactive",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Server",id:"server",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Client",id:"client",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Active",id:"active",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"HasAuthority",id:"hasauthority",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"LocalOwner",id:"localowner",level:4},{value:"Declaration",id:"declaration-5",level:5}],d={toc:s};function u(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"enum-networkflags"},"Enum NetworkFlags"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[Flags]\npublic enum NetworkFlags\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"notactive"},"NotActive"),(0,n.kt)("p",null,"If both server and client are not active. Can be used to check for singleplayer or unspawned object"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"NotActive = 1\n")),(0,n.kt)("h4",{id:"server"},"Server"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"Server = 2\n")),(0,n.kt)("h4",{id:"client"},"Client"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"Client = 4\n")),(0,n.kt)("h4",{id:"active"},"Active"),(0,n.kt)("p",null,"If either Server or Client is active."),(0,n.kt)("p",null,"Note this will not check host mode. For host mode you need to use and "),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"Active = 6\n")),(0,n.kt)("h4",{id:"hasauthority"},"HasAuthority"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"HasAuthority = 8\n")),(0,n.kt)("h4",{id:"localowner"},"LocalOwner"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"LocalOwner = 16\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ba841bc4.3d8a92f0.js b/assets/js/ba841bc4.3d8a92f0.js new file mode 100644 index 00000000000..c4c7fb3c6d4 --- /dev/null +++ b/assets/js/ba841bc4.3d8a92f0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[835],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,o=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=l(r),f=i,m=d["".concat(c,".").concat(f)]||d[f]||u[f]||o;return r?n.createElement(m,a(a({ref:t},p),{},{components:r})):n.createElement(m,a({ref:t},p))}));function f(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=r.length,a=new Array(o);a[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,a[1]=s;for(var l=2;l<o;l++)a[l]=r[l];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},44816:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var n=r(87462),i=(r(67294),r(3905));const o={id:"NetworkExtensions",title:"NetworkExtensions"},a="Class NetworkExtensions",s={unversionedId:"reference/Mirage/NetworkExtensions",id:"reference/Mirage/NetworkExtensions",title:"NetworkExtensions",description:"Inheritance",source:"@site/docs/reference/Mirage/NetworkExtensions.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkExtensions",permalink:"/Mirage/docs/reference/Mirage/NetworkExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkExtensions.md",tags:[],version:"current",frontMatter:{id:"NetworkExtensions",title:"NetworkExtensions"},sidebar:"api",previous:{title:"NetworkDiagnostics",permalink:"/Mirage/docs/reference/Mirage/NetworkDiagnostics"},next:{title:"NetworkFlags",permalink:"/Mirage/docs/reference/Mirage/NetworkFlags"}},c={},l=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5}],p={toc:l};function u(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-networkextensions"},"Class NetworkExtensions"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public static class NetworkExtensions\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bae86d55.052002fd.js b/assets/js/bae86d55.052002fd.js new file mode 100644 index 00000000000..2928fb996d6 --- /dev/null +++ b/assets/js/bae86d55.052002fd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9019],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>d});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=a.createContext({}),u=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},c=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},k={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),p=u(r),d=n,m=p["".concat(s,".").concat(d)]||p[d]||k[d]||l;return r?a.createElement(m,i(i({ref:t},c),{},{components:r})):a.createElement(m,i({ref:t},c))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=p;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var u=2;u<l;u++)i[u]=r[u];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}p.displayName="MDXCreateElement"},97182:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>k,frontMatter:()=>l,metadata:()=>o,toc:()=>u});var a=r(87462),n=(r(67294),r(3905));const l={id:"NetworkTransformBase",title:"NetworkTransformBase"},i="Class NetworkTransformBase",o={unversionedId:"reference/Mirage/NetworkTransformBase",id:"reference/Mirage/NetworkTransformBase",title:"NetworkTransformBase",description:"Inheritance",source:"@site/docs/reference/Mirage/NetworkTransformBase.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkTransformBase",permalink:"/Mirage/docs/reference/Mirage/NetworkTransformBase",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkTransformBase.md",tags:[],version:"current",frontMatter:{id:"NetworkTransformBase",title:"NetworkTransformBase"},sidebar:"api",previous:{title:"NetworkTransformBase.DataPoint",permalink:"/Mirage/docs/reference/Mirage/NetworkTransformBase.DataPoint"},next:{title:"NetworkTransformChild",permalink:"/Mirage/docs/reference/Mirage/NetworkTransformChild"}},s={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"ClientAuthority",id:"clientauthority",level:4},{value:"Declaration",id:"declaration",level:5},{value:"LocalPositionSensitivity",id:"localpositionsensitivity",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"LocalRotationSensitivity",id:"localrotationsensitivity",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"LocalScaleSensitivity",id:"localscalesensitivity",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Properties",id:"properties",level:3},{value:"TargetComponent",id:"targetcomponent",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Methods",id:"methods",level:3},{value:"SerializeIntoWriter(NetworkWriter, Vector3, Quaternion, Vector3)",id:"serializeintowriternetworkwriter-vector3-quaternion-vector3",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters",level:5},{value:"OnSerialize(NetworkWriter, Boolean)",id:"onserializenetworkwriter-boolean",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"OnDeserialize(NetworkReader, Boolean)",id:"ondeserializenetworkreader-boolean",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-2",level:5}],c={toc:u};function k(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networktransformbase"},"Class NetworkTransformBase"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.NetworkBehaviour")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour._nextSyncTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncSettings"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsHost"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalPlayer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServerOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClientOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.HasAuthority"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Server"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ServerObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Client"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClientObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Owner"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.World"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetworkTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.BehaviourId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarDirtyBits"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnySyncObjectDirty"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.syncObjects"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Identity"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ComponentIndex"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarEqual","<","T",">","(T, T)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClearDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnyDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.GetRpcCount()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},'[Obsolete("NetworkTransform is not optimzied so should not used in production.")]\npublic abstract class NetworkTransformBase : NetworkBehaviour\n')),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"clientauthority"},"ClientAuthority"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool ClientAuthority\n")),(0,n.kt)("h4",{id:"localpositionsensitivity"},"LocalPositionSensitivity"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public float LocalPositionSensitivity\n")),(0,n.kt)("h4",{id:"localrotationsensitivity"},"LocalRotationSensitivity"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public float LocalRotationSensitivity\n")),(0,n.kt)("h4",{id:"localscalesensitivity"},"LocalScaleSensitivity"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public float LocalScaleSensitivity\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"targetcomponent"},"TargetComponent"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected abstract Transform TargetComponent { get; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"serializeintowriternetworkwriter-vector3-quaternion-vector3"},"SerializeIntoWriter(NetworkWriter, Vector3, Quaternion, Vector3)"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void SerializeIntoWriter(NetworkWriter writer, Vector3 position, Quaternion rotation, Vector3 scale)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Vector3"),(0,n.kt)("td",{parentName:"tr",align:null},"position"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Quaternion"),(0,n.kt)("td",{parentName:"tr",align:null},"rotation"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Vector3"),(0,n.kt)("td",{parentName:"tr",align:null},"scale"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"onserializenetworkwriter-boolean"},"OnSerialize(NetworkWriter, Boolean)"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override bool OnSerialize(NetworkWriter writer, bool initialState)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"initialState"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"ondeserializenetworkreader-boolean"},"OnDeserialize(NetworkReader, Boolean)"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override void OnDeserialize(NetworkReader reader, bool initialState)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"initialState"),(0,n.kt)("td",{parentName:"tr",align:null})))))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/baed4f35.5442b88e.js b/assets/js/baed4f35.5442b88e.js new file mode 100644 index 00000000000..2bb11e7435f --- /dev/null +++ b/assets/js/baed4f35.5442b88e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5473],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>u});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var o=r.createContext({}),c=function(e){var t=r.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=c(e.components);return r.createElement(o.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),m=c(n),u=a,y=m["".concat(o,".").concat(u)]||m[u]||s[u]||i;return n?r.createElement(y,l(l({ref:t},p),{},{components:n})):r.createElement(y,l({ref:t},p))}));function u(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,l=new Array(i);l[0]=m;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d.mdxType="string"==typeof e?e:a,l[1]=d;for(var c=2;c<i;c++)l[c]=n[c];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},61561:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>s,frontMatter:()=>i,metadata:()=>d,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const i={id:"IAddLateEventUnity-1",title:"IAddLateEventUnity<T0>"},l="Interface IAddLateEventUnity<T0>",d={unversionedId:"reference/Mirage.Events/IAddLateEventUnity-1",id:"reference/Mirage.Events/IAddLateEventUnity-1",title:"IAddLateEventUnity<T0>",description:"Version of with 1 argument",source:"@site/docs/reference/Mirage.Events/IAddLateEventUnity-1.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/IAddLateEventUnity-1",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/IAddLateEventUnity-1.md",tags:[],version:"current",frontMatter:{id:"IAddLateEventUnity-1",title:"IAddLateEventUnity<T0>"},sidebar:"api",previous:{title:"IAddLateEvent",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEvent"},next:{title:"IAddLateEventUnity<T0, T1>",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-2"}},o={},c=[{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"AddListener(UnityAction<T0>)",id:"addlistenerunityactiont0",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RemoveListener(UnityAction<T0>)",id:"removelistenerunityactiont0",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],p={toc:c};function s(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"interface-iaddlateeventunityt0"},"Interface IAddLateEventUnity","<","T0",">"),(0,a.kt)("p",null,"Version of with 1 argument"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IAddLateEventUnity<T0> : IAddLateEvent<T0>\n")),(0,a.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"T0"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"addlistenerunityactiont0"},"AddListener(UnityAction","<","T0",">",")"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"void AddListener(UnityAction<T0> handler)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"UnityAction","<","T0",">"),(0,a.kt)("td",{parentName:"tr",align:null},"handler"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h4",{id:"removelistenerunityactiont0"},"RemoveListener(UnityAction","<","T0",">",")"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"void RemoveListener(UnityAction<T0> handler)\n")),(0,a.kt)("h5",{id:"parameters-1"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"UnityAction","<","T0",">"),(0,a.kt)("td",{parentName:"tr",align:null},"handler"),(0,a.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bb9ef7e3.05c56417.js b/assets/js/bb9ef7e3.05c56417.js new file mode 100644 index 00000000000..e4a3c71e72d --- /dev/null +++ b/assets/js/bb9ef7e3.05c56417.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4415],{3905:(e,r,t)=>{t.d(r,{Zo:()=>s,kt:()=>k});var a=t(67294);function i(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function n(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?n(Object(t),!0).forEach((function(r){i(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):n(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function l(e,r){if(null==e)return{};var t,a,i=function(e,r){if(null==e)return{};var t,a,i={},n=Object.keys(e);for(a=0;a<n.length;a++)t=n[a],r.indexOf(t)>=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)t=n[a],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var c=a.createContext({}),d=function(e){var r=a.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},s=function(e){var r=d(e.components);return a.createElement(c.Provider,{value:r},e.children)},p={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},u=a.forwardRef((function(e,r){var t=e.components,i=e.mdxType,n=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=d(t),k=i,g=u["".concat(c,".").concat(k)]||u[k]||p[k]||n;return t?a.createElement(g,o(o({ref:r},s),{},{components:t})):a.createElement(g,o({ref:r},s))}));function k(e,r){var t=arguments,i=r&&r.mdxType;if("string"==typeof e||i){var n=t.length,o=new Array(n);o[0]=u;var l={};for(var c in r)hasOwnProperty.call(r,c)&&(l[c]=r[c]);l.originalType=e,l.mdxType="string"==typeof e?e:i,o[1]=l;for(var d=2;d<n;d++)o[d]=t[d];return a.createElement.apply(null,o)}return a.createElement.apply(null,t)}u.displayName="MDXCreateElement"},19018:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>n,metadata:()=>l,toc:()=>d});var a=t(87462),i=(t(67294),t(3905));const n={id:"MirageNetworkReader",title:"MirageNetworkReader"},o="Class MirageNetworkReader",l={unversionedId:"reference/Mirage.Serialization/MirageNetworkReader",id:"reference/Mirage.Serialization/MirageNetworkReader",title:"MirageNetworkReader",description:"NetworkReader but has a ObjectLocator field that can be used by Reader functions to fetch NetworkIdentity",source:"@site/docs/reference/Mirage.Serialization/MirageNetworkReader.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/MirageNetworkReader",permalink:"/Mirage/docs/reference/Mirage.Serialization/MirageNetworkReader",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/MirageNetworkReader.md",tags:[],version:"current",frontMatter:{id:"MirageNetworkReader",title:"MirageNetworkReader"},sidebar:"api",previous:{title:"MessagePacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/MessagePacker"},next:{title:"MirageTypesExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/MirageTypesExtensions"}},c={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"ObjectLocator",id:"objectlocator",level:4},{value:"Declaration",id:"declaration",level:5}],s={toc:d};function p(e){let{components:r,...t}=e;return(0,i.kt)("wrapper",(0,a.Z)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-miragenetworkreader"},"Class MirageNetworkReader"),(0,i.kt)("p",null,"NetworkReader but has a ObjectLocator field that can be used by Reader functions to fetch NetworkIdentity"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,i.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Serialization.NetworkReader")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.BitLength"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.BitPosition"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.BytePosition"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.Dispose()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.CanRead()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadBoolean()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadBooleanAsUlong()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadSByte()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadByte()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadInt16()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadUInt16()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadInt32()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadUInt32()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadInt64()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadUInt64()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadSingle()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.ReadDouble()"),(0,i.kt)("p",null,"Mirage.Serialization.NetworkReader.PadAndCopy","<","T",">","(T)")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public class MirageNetworkReader : NetworkReader, IDisposable\n")),(0,i.kt)("h3",{id:"properties"},"Properties"),(0,i.kt)("h4",{id:"objectlocator"},"ObjectLocator"),(0,i.kt)("p",null,"Used to find objects by net id"),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public IObjectLocator ObjectLocator { get; set; }\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bbc2f8de.b196649b.js b/assets/js/bbc2f8de.b196649b.js new file mode 100644 index 00000000000..82e2f9d38db --- /dev/null +++ b/assets/js/bbc2f8de.b196649b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9797],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>m});var r=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,l=function(e,t){if(null==e)return{};var a,r,l={},n=Object.keys(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var c=r.createContext({}),u=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=u(e.components);return r.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},s=r.forwardRef((function(e,t){var a=e.components,l=e.mdxType,n=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),s=u(a),m=l,k=s["".concat(c,".").concat(m)]||s[m]||d[m]||n;return a?r.createElement(k,i(i({ref:t},p),{},{components:a})):r.createElement(k,i({ref:t},p))}));function m(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var n=a.length,i=new Array(n);i[0]=s;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:l,i[1]=o;for(var u=2;u<n;u++)i[u]=a[u];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}s.displayName="MDXCreateElement"},5420:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>n,metadata:()=>o,toc:()=>u});var r=a(87462),l=(a(67294),a(3905));const n={id:"RemoteCall",title:"RemoteCall"},i="Class RemoteCall",o={unversionedId:"reference/Mirage.RemoteCalls/RemoteCall",id:"reference/Mirage.RemoteCalls/RemoteCall",title:"RemoteCall",description:"Used for invoking a RPC methods",source:"@site/docs/reference/Mirage.RemoteCalls/RemoteCall.md",sourceDirName:"reference/Mirage.RemoteCalls",slug:"/reference/Mirage.RemoteCalls/RemoteCall",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RemoteCall",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.RemoteCalls/RemoteCall.md",tags:[],version:"current",frontMatter:{id:"RemoteCall",title:"RemoteCall"},sidebar:"api",previous:{title:"ClientRpcSender",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/ClientRpcSender"},next:{title:"RemoteCallCollection",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/RemoteCallCollection"}},c={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"RemoteCall(NetworkBehaviour, RpcInvokeType, RpcDelegate, Boolean, String)",id:"remotecallnetworkbehaviour-rpcinvoketype-rpcdelegate-boolean-string",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"DeclaringType",id:"declaringtype",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"InvokeType",id:"invoketype",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Function",id:"function",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"RequireAuthority",id:"requireauthority",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Name",id:"name",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Behaviour",id:"behaviour",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Methods",id:"methods",level:3},{value:"ToString()",id:"tostring",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Returns",id:"returns",level:5}],p={toc:u};function d(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-remotecall"},"Class RemoteCall"),(0,l.kt)("p",null,"Used for invoking a RPC methods"),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,l.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Show")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public class RemoteCall\n")),(0,l.kt)("h3",{id:"constructors"},"Constructors"),(0,l.kt)("h4",{id:"remotecallnetworkbehaviour-rpcinvoketype-rpcdelegate-boolean-string"},"RemoteCall(NetworkBehaviour, RpcInvokeType, RpcDelegate, Boolean, String)"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public RemoteCall(NetworkBehaviour behaviour, RpcInvokeType invokeType, RpcDelegate function, bool requireAuthority, string name)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,l.kt)("td",{parentName:"tr",align:null},"behaviour"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.RemoteCalls.RpcInvokeType"),(0,l.kt)("td",{parentName:"tr",align:null},"invokeType"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.RemoteCalls.RpcDelegate"),(0,l.kt)("td",{parentName:"tr",align:null},"function"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"requireAuthority"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.String"),(0,l.kt)("td",{parentName:"tr",align:null},"name"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h3",{id:"fields"},"Fields"),(0,l.kt)("h4",{id:"declaringtype"},"DeclaringType"),(0,l.kt)("p",null,"Type that rpc was declared in"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly Type DeclaringType\n")),(0,l.kt)("h4",{id:"invoketype"},"InvokeType"),(0,l.kt)("p",null,"Server rpc or client rpc"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly RpcInvokeType InvokeType\n")),(0,l.kt)("h4",{id:"function"},"Function"),(0,l.kt)("p",null,"Function to be invoked when receiving message"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly RpcDelegate Function\n")),(0,l.kt)("h4",{id:"requireauthority"},"RequireAuthority"),(0,l.kt)("p",null,"Used by ServerRpc"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly bool RequireAuthority\n")),(0,l.kt)("h4",{id:"name"},"Name"),(0,l.kt)("p",null,"User friendly name"),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly string Name\n")),(0,l.kt)("h4",{id:"behaviour"},"Behaviour"),(0,l.kt)("h5",{id:"declaration-6"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly NetworkBehaviour Behaviour\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"tostring"},"ToString()"),(0,l.kt)("p",null,"User friendly name used for debug/error messages"),(0,l.kt)("h5",{id:"declaration-7"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public override string ToString()\n")),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.String"),(0,l.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bbd9f6e1.451be7c5.js b/assets/js/bbd9f6e1.451be7c5.js new file mode 100644 index 00000000000..65827c37fed --- /dev/null +++ b/assets/js/bbd9f6e1.451be7c5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8696],{3905:(e,n,t)=>{t.d(n,{Zo:()=>d,kt:()=>P});var r=t(67294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function c(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var l=r.createContext({}),p=function(e){var n=r.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},d=function(e){var n=p(e.components);return r.createElement(l.Provider,{value:n},e.children)},s={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},u=r.forwardRef((function(e,n){var t=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),u=p(t),P=i,m=u["".concat(l,".").concat(P)]||u[P]||s[P]||a;return t?r.createElement(m,o(o({ref:n},d),{},{components:t})):r.createElement(m,o({ref:n},d))}));function P(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var a=t.length,o=new Array(a);o[0]=u;var c={};for(var l in n)hasOwnProperty.call(n,l)&&(c[l]=n[l]);c.originalType=e,c.mdxType="string"==typeof e?e:i,o[1]=c;for(var p=2;p<a;p++)o[p]=t[p];return r.createElement.apply(null,o)}return r.createElement.apply(null,t)}u.displayName="MDXCreateElement"},49307:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>s,frontMatter:()=>a,metadata:()=>c,toc:()=>p});var r=t(87462),i=(t(67294),t(3905));const a={id:"PipePeerConnection.PipeEndPoint",title:"PipePeerConnection.PipeEndPoint"},o="Class PipePeerConnection.PipeEndPoint",c={unversionedId:"reference/Mirage/PipePeerConnection.PipeEndPoint",id:"reference/Mirage/PipePeerConnection.PipeEndPoint",title:"PipePeerConnection.PipeEndPoint",description:"Inheritance",source:"@site/docs/reference/Mirage/PipePeerConnection.PipeEndPoint.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/PipePeerConnection.PipeEndPoint",permalink:"/Mirage/docs/reference/Mirage/PipePeerConnection.PipeEndPoint",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/PipePeerConnection.PipeEndPoint.md",tags:[],version:"current",frontMatter:{id:"PipePeerConnection.PipeEndPoint",title:"PipePeerConnection.PipeEndPoint"},sidebar:"api",previous:{title:"OnlineOfflineScene",permalink:"/Mirage/docs/reference/Mirage/OnlineOfflineScene"},next:{title:"PipePeerConnection",permalink:"/Mirage/docs/reference/Mirage/PipePeerConnection"}},l={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"IEndPoint.CreateCopy()",id:"iendpointcreatecopy",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Returns",id:"returns",level:5}],d={toc:p};function s(e){let{components:n,...t}=e;return(0,i.kt)("wrapper",(0,r.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-pipepeerconnectionpipeendpoint"},"Class PipePeerConnection.PipeEndPoint"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public class PipeEndPoint : IEndPoint\n")),(0,i.kt)("h3",{id:"methods"},"Methods"),(0,i.kt)("h4",{id:"iendpointcreatecopy"},"IEndPoint.CreateCopy()"),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"IEndPoint IEndPoint.CreateCopy()\n")),(0,i.kt)("h5",{id:"returns"},"Returns"),(0,i.kt)("table",null,(0,i.kt)("thead",{parentName:"table"},(0,i.kt)("tr",{parentName:"thead"},(0,i.kt)("th",{parentName:"tr",align:null},"Type"),(0,i.kt)("th",{parentName:"tr",align:null},"Description"))),(0,i.kt)("tbody",{parentName:"table"},(0,i.kt)("tr",{parentName:"tbody"},(0,i.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IEndPoint"),(0,i.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bbfc0176.b4fc8379.js b/assets/js/bbfc0176.b4fc8379.js new file mode 100644 index 00000000000..40ebe0b7b75 --- /dev/null +++ b/assets/js/bbfc0176.b4fc8379.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5463],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>g});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=n.createContext({}),l=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(u.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},s=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,u=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),s=l(r),g=a,y=s["".concat(u,".").concat(g)]||s[g]||d[g]||o;return r?n.createElement(y,i(i({ref:t},p),{},{components:r})):n.createElement(y,i({ref:t},p))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=s;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var l=2;l<o;l++)i[l]=r[l];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}s.displayName="MDXCreateElement"},60488:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const o={id:"AuthorityChanged",title:"AuthorityChanged"},i="Delegate AuthorityChanged",c={unversionedId:"reference/Mirage/AuthorityChanged",id:"reference/Mirage/AuthorityChanged",title:"AuthorityChanged",description:"Event that can be used to check authority",source:"@site/docs/reference/Mirage/AuthorityChanged.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/AuthorityChanged",permalink:"/Mirage/docs/reference/Mirage/AuthorityChanged",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/AuthorityChanged.md",tags:[],version:"current",frontMatter:{id:"AuthorityChanged",title:"AuthorityChanged"},sidebar:"api",previous:{title:"AddCharacterMessage",permalink:"/Mirage/docs/reference/Mirage/AddCharacterMessage"},next:{title:"AutoPool<T>.Wrapper",permalink:"/Mirage/docs/reference/Mirage/AutoPool-1.Wrapper"}},u={},l=[{value:"Syntax",id:"syntax",level:5}],p={toc:l};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"delegate-authoritychanged"},"Delegate AuthorityChanged"),(0,a.kt)("p",null,"Event that can be used to check authority"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public delegate void AuthorityChanged(NetworkIdentity identity, bool hasAuthority, INetworkPlayer owner);\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bc698184.0104662c.js b/assets/js/bc698184.0104662c.js new file mode 100644 index 00000000000..ca2d8450bd7 --- /dev/null +++ b/assets/js/bc698184.0104662c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9875],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>h});var o=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function r(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,o,i=function(e,t){if(null==e)return{};var n,o,i={},a=Object.keys(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=o.createContext({}),c=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},u=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=c(n),h=i,g=p["".concat(l,".").concat(h)]||p[h]||d[h]||a;return n?o.createElement(g,r(r({ref:t},u),{},{components:n})):o.createElement(g,r({ref:t},u))}));function h(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,r=new Array(a);r[0]=p;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:i,r[1]=s;for(var c=2;c<a;c++)r[c]=n[c];return o.createElement.apply(null,r)}return o.createElement.apply(null,n)}p.displayName="MDXCreateElement"},52842:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var o=n(87462),i=(n(67294),n(3905));const a={sidebar_position:2,title:"Amazon Web Services (AWS)"},r="Amazon Web Services (AWS)",s={unversionedId:"guides/development-servers/aws",id:"guides/development-servers/aws",title:"Amazon Web Services (AWS)",description:"During this section, we will focus on using a Windows instance and connecting from a Windows computer.",source:"@site/docs/guides/development-servers/aws.md",sourceDirName:"guides/development-servers",slug:"/guides/development-servers/aws",permalink:"/Mirage/docs/guides/development-servers/aws",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/development-servers/aws.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Amazon Web Services (AWS)"},sidebar:"docs",previous:{title:"Overview",permalink:"/Mirage/docs/guides/development-servers/"},next:{title:"Google Cloud Services",permalink:"/Mirage/docs/guides/development-servers/google-cloud"}},l={},c=[{value:"1. Account Creation",id:"1-account-creation",level:2},{value:"2. Setting up an instance with the EC2 Management Console",id:"2-setting-up-an-instance-with-the-ec2-management-console",level:2},{value:"Step 1: Choose an Amazon Machine Image",id:"step-1-choose-an-amazon-machine-image",level:4},{value:"Step 2: Choose Instance Type",id:"step-2-choose-instance-type",level:4},{value:"Step 3: Configure Instance",id:"step-3-configure-instance",level:4},{value:"Step 4: Add Storage",id:"step-4-add-storage",level:4},{value:"Step 5: Add Tags",id:"step-5-add-tags",level:4},{value:"Step 6: Configure Security Groups",id:"step-6-configure-security-groups",level:4},{value:"Step 7: Review",id:"step-7-review",level:4},{value:"3. Configuring the server via RDP (Remote Desktop)",id:"3-configuring-the-server-via-rdp-remote-desktop",level:2},{value:"RDP file with the key pair added to it",id:"rdp-file-with-the-key-pair-added-to-it",level:4},{value:"Configure RDP file for easy file access",id:"configure-rdp-file-for-easy-file-access",level:4},{value:"Setting up the firewall to allow connections through",id:"setting-up-the-firewall-to-allow-connections-through",level:4},{value:"4. Testing the connection",id:"4-testing-the-connection",level:2}],u={toc:c};function d(e){let{components:t,...a}=e;return(0,i.kt)("wrapper",(0,o.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"amazon-web-services-aws"},"Amazon Web Services (AWS)"),(0,i.kt)("p",null,"During this section, we will focus on using a Windows instance and connecting from a Windows computer."),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"AWS requires a payment method/credit card added before being able to use a Windows server.")),(0,i.kt)("p",null,"Don't forget to read up on the ",(0,i.kt)("a",{parentName:"p",href:"https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-free-tier.html"},"free tier limitations"),".\nDuring this example, we will be using the free tier of the EC2 option, which gives us the possibility to use a Windows instance (if you have already added a payment method).\nFor more information about which services offer a Free Tier, see ",(0,i.kt)("a",{parentName:"p",href:"https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=tier%2312monthsfree&awsf.Free%20Tier%20Categories=categories%23compute"},"AWS Free Tier"),"."),(0,i.kt)("p",null,"These are the steps we will go through from start to finish:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Account creation"),(0,i.kt)("li",{parentName:"ol"},"Setting up an instance with the EC2 Management Console"),(0,i.kt)("li",{parentName:"ol"},"Configuring the server via RDP (Remote Desktop)"),(0,i.kt)("li",{parentName:"ol"},"Setting up the firewall to allow connections through"),(0,i.kt)("li",{parentName:"ol"},"Testing the connection")),(0,i.kt)("h2",{id:"1-account-creation"},"1. Account Creation"),(0,i.kt)("p",null,"Go to the ",(0,i.kt)("a",{parentName:"p",href:"https://portal.aws.amazon.com/billing/signup?nc2=h_ct&src=default&redirect_url=https%3A%2F%2Faws.amazon.com%2Fregistration-confirmation#/start"},"Account creation page")," and\nsign up with your details and payment method (e.g. credit card). Adding the payment method is necessary to run a Windows instance on AWS."),(0,i.kt)("h2",{id:"2-setting-up-an-instance-with-the-ec2-management-console"},"2. Setting up an instance with the EC2 Management Console"),(0,i.kt)("p",null,"After setting up your account you should be logged in.\nAlways make sure you're in your correct region so it's a good habit to check in the top right corner. Change it to the closest location to you now.\nAfter this click on Services in the top left corner and click on EC2. This will bring you to the EC2 instance dashboard and ready to Launch your instance!"),(0,i.kt)("p",null,"Click on ",(0,i.kt)("strong",{parentName:"p"},'"Launch Instance"'),".\n",(0,i.kt)("img",{alt:"EC2-Management-Dashboard",src:n(16765).Z,width:"2874",height:"1511"})),(0,i.kt)("p",null,"There are 7 steps to creating your AWS Instance:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Choose an Amazon Machine Image (AMI)"),(0,i.kt)("li",{parentName:"ol"},"Choose Instance Type"),(0,i.kt)("li",{parentName:"ol"},"Configure Instance"),(0,i.kt)("li",{parentName:"ol"},"Add Storage"),(0,i.kt)("li",{parentName:"ol"},"Add Tags"),(0,i.kt)("li",{parentName:"ol"},"Configure Security Group"),(0,i.kt)("li",{parentName:"ol"},"Review")),(0,i.kt)("h4",{id:"step-1-choose-an-amazon-machine-image"},"Step 1: Choose an Amazon Machine Image"),(0,i.kt)("p",null,'Scroll down until you see the Microsoft Windows Server 2019 Base (take the newest one if this is outdated).\nMake sure that the option you select has the "Free Tier Eligible" under the icon and click on "Select".\n',(0,i.kt)("img",{alt:"Amazon Machine Image: Microsoft Server 2019",src:n(34861).Z,width:"2309",height:"233"})),(0,i.kt)("h4",{id:"step-2-choose-instance-type"},"Step 2: Choose Instance Type"),(0,i.kt)("p",null,'Make sure you choose the instance type with the "free tier eligible", at the time of writing this is the t2.micro instance.\nClick on ',(0,i.kt)("strong",{parentName:"p"},'"Next: Configure Instance Details"'),". ",(0,i.kt)("strong",{parentName:"p"},"Do not")," click on Review and Launch."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Choose Instance Type",src:n(83398).Z,width:"2835",height:"1263"})),(0,i.kt)("h4",{id:"step-3-configure-instance"},"Step 3: Configure Instance"),(0,i.kt)("p",null,"Nothing has to be changed at this step. Keep it default. Click on ",(0,i.kt)("strong",{parentName:"p"},'"Next: Add Storage"'),"."),(0,i.kt)("h4",{id:"step-4-add-storage"},"Step 4: Add Storage"),(0,i.kt)("p",null,'Nothing has to be changed. Keep it default. The 30GB is more than you need but there will be an error if you choose a lower amount.\nKeep in mind that you can always click "Previous" if you need to return, you do not need to repeat the entire process if you make a mistake (unless you click Launch at the end).'),(0,i.kt)("p",null,"Click on ",(0,i.kt)("strong",{parentName:"p"},'"Next: Add Tags"')," to continue."),(0,i.kt)("h4",{id:"step-5-add-tags"},"Step 5: Add Tags"),(0,i.kt)("p",null,"Nothing has to be changed. Keep it default. Click on ",(0,i.kt)("strong",{parentName:"p"},'"Next: Configure Security Groups"')),(0,i.kt)("h4",{id:"step-6-configure-security-groups"},"Step 6: Configure Security Groups"),(0,i.kt)("admonition",{title:"IMPORTANT STEP",type:"info"},(0,i.kt)("p",{parentName:"admonition"},"This makes it possible to connect to your instance from outside for:"),(0,i.kt)("ul",{parentName:"admonition"},(0,i.kt)("li",{parentName:"ul"},"RDP (needed for this example)"),(0,i.kt)("li",{parentName:"ul"},"For clients connecting through port 7777 for your Mirage Project."),(0,i.kt)("li",{parentName:"ul"},"SSH (if needed)"))),(0,i.kt)("p",null,"Create a new security group and you can give it your own name and description. Add the following rules:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},'RDP with source "Anywhere", Description can be whatever but put it as Remote Desktop Program.'),(0,i.kt)("li",{parentName:"ul"},'Custom UDP Rule with port 7777 and source "Anywhere", Description can be whatever but put it as Mirage.'),(0,i.kt)("li",{parentName:"ul"},'SSH with source "Anywhere", Description can be whatever but put it as SSH.')),(0,i.kt)("p",null,"SSH is not strictly necessary but can be used to remotely connect to it through other means than the RDP."),(0,i.kt)("p",null,"You can ignore the warning about the source as this is just a testing environment. In the future, you might wish to restrict this but you will almost never know the clients' connection IP's beforehand."),(0,i.kt)("p",null,"Click on ",(0,i.kt)("strong",{parentName:"p"},'"Next: Review and Launch"')),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Configuring Security Groups",src:n(18043).Z,width:"2850",height:"1361"})),(0,i.kt)("h4",{id:"step-7-review"},"Step 7: Review"),(0,i.kt)("p",null,"Almost there! Make sure everything is correct and you are using the free tier, then click on ",(0,i.kt)("strong",{parentName:"p"},'"Launch"'),"."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Review Of The Instance",src:n(65800).Z,width:"2852",height:"1281"})),(0,i.kt)("p",null,"One more thing: A window will pop up asking for your key pair. Just create a new one by selecting the dropdown: ",(0,i.kt)("strong",{parentName:"p"},'"Create a new key pair"')," and give it a name, click on ",(0,i.kt)("strong",{parentName:"p"},'"Download Key Pair"'),"."),(0,i.kt)("p",null,"Keep the key file (.PEM File) somewhere secure (To be 100% certain, back it up somewhere). "),(0,i.kt)("admonition",{title:"IMPROTANT NOTICE",type:"danger"},(0,i.kt)("p",{parentName:"admonition"},"You cannot access the created instance without this key!")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Key Pair",src:n(95797).Z,width:"1314",height:"973"})),(0,i.kt)("p",null,"Now you can (finally) click on ",(0,i.kt)("strong",{parentName:"p"},'"Launch Instances"'),"!"),(0,i.kt)("p",null,'Go back to your EC2 dashboard by clicking on "Services" at the top left and clicking on EC2.\nNow you see you have "Running Instances: 1". ',(0,i.kt)("strong",{parentName:"p"},'Click on "Running Instances" to continue'),"."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Your Running Instances",src:n(72622).Z,width:"2454",height:"353"})),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"A new instance might take around 5-10 minutes to set up. Refresh the page after 10 minutes if nothing changes.")),(0,i.kt)("p",null,"Now you did all this but you want to get ON the dedicated server right? Perfect! The next step will get you up and running!"),(0,i.kt)("h2",{id:"3-configuring-the-server-via-rdp-remote-desktop"},"3. Configuring the server via RDP (Remote Desktop)"),(0,i.kt)("p",null,"Time to get the RDP file so you can start connecting. There are a few things we'll need:"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"RDP file with the key pair added to it"),(0,i.kt)("li",{parentName:"ol"},"Configure RDP file once downloaded to allow getting files from our C: drive or other drives (so you can easily get your zip project)"),(0,i.kt)("li",{parentName:"ol"},"Enter the Windows Admin password once you start the RDP file")),(0,i.kt)("p",null,"Once you've done this, you should be able to continue using the same RDP file."),(0,i.kt)("h4",{id:"rdp-file-with-the-key-pair-added-to-it"},"RDP file with the key pair added to it"),(0,i.kt)("admonition",{type:"caution"},(0,i.kt)("p",{parentName:"admonition"},"Get the password ",(0,i.kt)("strong",{parentName:"p"},"before")," clicking Download!")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Connect To Your Instance 1",src:n(30813).Z,width:"1236",height:"855"})),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Copy the Password for later")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Connect To Your Instance 2",src:n(81492).Z,width:"1236",height:"859"})),(0,i.kt)("p",null,"Now click on ",(0,i.kt)("strong",{parentName:"p"},'"Download Remote Desktop File"'),". The RDP file will be downloaded."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Connect To Your Instance 3",src:n(61928).Z,width:"1232",height:"825"})),(0,i.kt)("h4",{id:"configure-rdp-file-for-easy-file-access"},"Configure RDP file for easy file access"),(0,i.kt)("p",null,'Go to your freshly downloaded RDP file and right-click it and then click "Edit".'),(0,i.kt)("p",null,'Go to the third tab "Local sources", at the bottom click "more" under local devices and sources.\nOn the new window select your C: drive or any other drive. This is your own computer your connecting from. For easy file exchange.'),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Configuring the RDP file",src:n(39538).Z,width:"1375",height:"887"})),(0,i.kt)("p",null,'Perfect! Now you can run the RDP file! The RDP file will ask for a password. If you forgot your password you can get it back by right-clicking\nthe instance and clicking on "Get Windows Password". You will be asked to re-enter your key pair (.PEM) file and decrypt the message.\nOnce done you will be able to copy the password.'),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Retrieve Your Default Windows Administrator Password",src:n(74280).Z,width:"1351",height:"945"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Retrieve Your Default Windows Administrator Password 2",src:n(4086).Z,width:"1323",height:"851"})),(0,i.kt)("p",null,"There you have it! Now you have your password and Remote Desktop should show you logging into your dedicated server!"),(0,i.kt)("h4",{id:"setting-up-the-firewall-to-allow-connections-through"},"Setting up the firewall to allow connections through"),(0,i.kt)("p",null,"Go to the windows firewall settings, go to the advanced firewall settings, and go to inbound rules. ",(0,i.kt)("strong",{parentName:"p"},"Add a new rule")," and choose the port type.\nSelect UDP and enter the 7777 port (or any other if you use another port in Mirage). Continue clicking next and keep things default.\nClose all the windows when done."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Windows Firewall Exception",src:n(19818).Z,width:"2728",height:"1581"})),(0,i.kt)("p",null,"AWESOME! You now have everything set up to accept incoming requests on ",(0,i.kt)("strong",{parentName:"p"},"port 7777"),"."),(0,i.kt)("h2",{id:"4-testing-the-connection"},"4. Testing the connection"),(0,i.kt)("p",null,"Before you can (finally) test out the server build of your project you need to get it on the dedicated server!"),(0,i.kt)("p",null,"Place your (zipped) server build at the root of your added drive (C: or another) to make it easier to find it fast."),(0,i.kt)("p",null,"Go to ",(0,i.kt)("strong",{parentName:"p"},'"My Computer"'),' and because of our previous changes to the RDP we should now see your local drive under "Devices and Drives".\nDouble click it and because you placed your zipped server build on that drive, you should see it immediately when it\'s done loading.'),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Your Drive on the dedicated host",src:n(70449).Z,width:"2283",height:"1167"})),(0,i.kt)("p",null,"Now unzip the project in a new folder on the dedicated server's desktop and run it."),(0,i.kt)("p",null,"Want to test if it sees the 7777 port is open after you started your Mirage server?\nGet your IPv4 public IP from the EC2 Management Console from your instance and use it on your client to connect to that IP."),(0,i.kt)("p",null,"Go to ",(0,i.kt)("a",{parentName:"p",href:"https://www.portcheckers.com/"},"PortChecker")," and enter the Dedicated Server IP address and enter port 7777."),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"If you are not running your game/project then the port will be closed. It's only open when the server is running.")))}d.isMDXComponent=!0},16765:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/aws-setup-9b36d01bc52cf92d655388a5514e4ea3.png"},39538:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/configure-rdp-887b883bb322213ade7239de2daff72a.png"},30813:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/connect-instance-1-8278bf6beb0ee88bceceec3ec4a654d1.png"},81492:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/connect-instance-2-2ba744f13f9f167eec8768ee17967e5d.png"},61928:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/connect-instance-3-d0885421e233b29e437f3088df6e7f3c.png"},70449:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/drive-on-host-8387a61f5e7bb323417d1f14537bafa1.png"},19818:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/firewall-exception-76dc4748c007dcef21df7145fb11ef99.png"},95797:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/key-pair-a3114e0ebf34d667e8928740c2491b79.png"},34861:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/microsoft-server-2019-92a500bc3d044c9076b0abc83e6224b8.png"},65800:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/review-0d625f11d117703a06e8baf96020042f.png"},72622:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/running-instances-40b85e7a37007b9e0470331a1cb19c0f.png"},83398:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/step-2-91e61e62dc48080c3e5d2681c19592e1.png"},18043:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/step-6-8bcb1a1a012d28d85a0c43f91320f48e.png"},4086:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/windows-admin-pass-2-2164977395f8e54b25b1a37e02a43512.png"},74280:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/windows-admin-pass-8a69d39da472478a9d9685ecae81a67b.png"}}]); \ No newline at end of file diff --git a/assets/js/bcb4c7e9.c72fecb6.js b/assets/js/bcb4c7e9.c72fecb6.js new file mode 100644 index 00000000000..9e1adf35a5d --- /dev/null +++ b/assets/js/bcb4c7e9.c72fecb6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1762],{3905:(e,t,a)=>{a.d(t,{Zo:()=>k,kt:()=>p});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function l(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},o=Object.keys(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var s=r.createContext({}),c=function(e){var t=r.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},k=function(e){var t=c(e.components);return r.createElement(s.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,s=e.parentName,k=l(e,["components","mdxType","originalType","parentName"]),d=c(a),p=n,u=d["".concat(s,".").concat(p)]||d[p]||h[p]||o;return a?r.createElement(u,i(i({ref:t},k),{},{components:a})):r.createElement(u,i({ref:t},k))}));function p(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,i=new Array(o);i[0]=d;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:n,i[1]=l;for(var c=2;c<o;c++)i[c]=a[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}d.displayName="MDXCreateElement"},90703:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=a(87462),n=(a(67294),a(3905));const o={id:"Mirage",title:"Mirage"},i="Mirage",l={unversionedId:"reference/Mirage/Mirage",id:"reference/Mirage/Mirage",title:"Mirage",description:"Classes",source:"@site/docs/reference/Mirage/index.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/",permalink:"/Mirage/docs/reference/Mirage/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/index.md",tags:[],version:"current",frontMatter:{id:"Mirage",title:"Mirage"},sidebar:"api",next:{title:"AddCharacterMessage",permalink:"/Mirage/docs/reference/Mirage/AddCharacterMessage"}},s={},c=[{value:"Classes",id:"classes",level:2},{value:"AutoPool<T>",id:"autopoolt",level:4},{value:"AutoPool<T>.Wrapper",id:"autopooltwrapper",level:4},{value:"CharacterSpawner",id:"characterspawner",level:4},{value:"ClientAttribute",id:"clientattribute",level:4},{value:"ClientObjectManager",id:"clientobjectmanager",level:4},{value:"ClientRpcAttribute",id:"clientrpcattribute",level:4},{value:"DeserializeFailedException",id:"deserializefailedexception",level:4},{value:"ExponentialMovingAverage",id:"exponentialmovingaverage",level:4},{value:"FoldoutEventAttribute",id:"foldouteventattribute",level:4},{value:"GameObjectExtensions",id:"gameobjectextensions",level:4},{value:"GameObjectSerializers",id:"gameobjectserializers",level:4},{value:"HasAuthorityAttribute",id:"hasauthorityattribute",level:4},{value:"HeadlessAutoStart",id:"headlessautostart",level:4},{value:"HeadlessFrameLimiter",id:"headlessframelimiter",level:4},{value:"HostRendererVisibility",id:"hostrenderervisibility",level:4},{value:"LocalPlayerAttribute",id:"localplayerattribute",level:4},{value:"MessageHandler",id:"messagehandler",level:4},{value:"MessageReceiverExtensions",id:"messagereceiverextensions",level:4},{value:"MessageWaiter<T>",id:"messagewaitert",level:4},{value:"MethodInvocationException",id:"methodinvocationexception",level:4},{value:"NetworkAnimator",id:"networkanimator",level:4},{value:"NetworkBehaviorSerializers",id:"networkbehaviorserializers",level:4},{value:"NetworkBehaviour",id:"networkbehaviour",level:4},{value:"NetworkClient",id:"networkclient",level:4},{value:"NetworkDiagnostics",id:"networkdiagnostics",level:4},{value:"NetworkExtensions",id:"networkextensions",level:4},{value:"NetworkIdentity",id:"networkidentity",level:4},{value:"NetworkIdentitySerializers",id:"networkidentityserializers",level:4},{value:"NetworkInspectorCallbacks",id:"networkinspectorcallbacks",level:4},{value:"NetworkManager",id:"networkmanager",level:4},{value:"NetworkManagerGUI",id:"networkmanagergui",level:4},{value:"NetworkManagerHud",id:"networkmanagerhud",level:4},{value:"NetworkMatchChecker",id:"networkmatchchecker",level:4},{value:"NetworkMessageAttribute",id:"networkmessageattribute",level:4},{value:"NetworkMethodAttribute",id:"networkmethodattribute",level:4},{value:"NetworkPingDisplay",id:"networkpingdisplay",level:4},{value:"NetworkPlayer",id:"networkplayer",level:4},{value:"NetworkPrefabs",id:"networkprefabs",level:4},{value:"NetworkProximityChecker",id:"networkproximitychecker",level:4},{value:"NetworkSceneChecker",id:"networkscenechecker",level:4},{value:"NetworkSceneManager",id:"networkscenemanager",level:4},{value:"NetworkServer",id:"networkserver",level:4},{value:"NetworkTime",id:"networktime",level:4},{value:"NetworkTransform",id:"networktransform",level:4},{value:"NetworkTransformBase",id:"networktransformbase",level:4},{value:"NetworkTransformBase.DataPoint",id:"networktransformbasedatapoint",level:4},{value:"NetworkTransformChild",id:"networktransformchild",level:4},{value:"NetworkVisibility",id:"networkvisibility",level:4},{value:"NetworkWorld",id:"networkworld",level:4},{value:"NetworkWorldExtensions",id:"networkworldextensions",level:4},{value:"NetworkedPrefabAttribute",id:"networkedprefabattribute",level:4},{value:"OnlineOfflineScene",id:"onlineofflinescene",level:4},{value:"PipePeerConnection",id:"pipepeerconnection",level:4},{value:"PipePeerConnection.PipeEndPoint",id:"pipepeerconnectionpipeendpoint",level:4},{value:"PlayerSceneChangeEvent",id:"playerscenechangeevent",level:4},{value:"ReadOnlyInspectorAttribute",id:"readonlyinspectorattribute",level:4},{value:"SceneAttribute",id:"sceneattribute",level:4},{value:"SceneChangeFinishedEvent",id:"scenechangefinishedevent",level:4},{value:"SceneChangeStartedEvent",id:"scenechangestartedevent",level:4},{value:"SceneVisibilityChecker",id:"scenevisibilitychecker",level:4},{value:"ServerAttribute",id:"serverattribute",level:4},{value:"ServerObjectManager",id:"serverobjectmanager",level:4},{value:"ServerObjectManagerExtensions",id:"serverobjectmanagerextensions",level:4},{value:"ServerRpcAttribute",id:"serverrpcattribute",level:4},{value:"ShowInInspectorAttribute",id:"showininspectorattribute",level:4},{value:"SpawnEvent",id:"spawnevent",level:4},{value:"SpawnHandler",id:"spawnhandler",level:4},{value:"SpawnObjectException",id:"spawnobjectexception",level:4},{value:"StringHash",id:"stringhash",level:4},{value:"SyncPrefabSerialize",id:"syncprefabserialize",level:4},{value:"SyncVarAttribute",id:"syncvarattribute",level:4},{value:"SyncVarReceiver",id:"syncvarreceiver",level:4},{value:"SyncVarSender",id:"syncvarsender",level:4},{value:"Version",id:"version",level:4},{value:"Structs",id:"structs",level:2},{value:"AddCharacterMessage",id:"addcharactermessage",level:4},{value:"GameObjectSyncvar",id:"gameobjectsyncvar",level:4},{value:"NetworkBehaviorSyncvar",id:"networkbehaviorsyncvar",level:4},{value:"NetworkBehaviorSyncvar<T>",id:"networkbehaviorsyncvart",level:4},{value:"NetworkBehaviour.Id",id:"networkbehaviourid",level:4},{value:"NetworkDiagnostics.MessageInfo",id:"networkdiagnosticsmessageinfo",level:4},{value:"NetworkIdentitySyncvar",id:"networkidentitysyncvar",level:4},{value:"NetworkPingMessage",id:"networkpingmessage",level:4},{value:"NetworkPongMessage",id:"networkpongmessage",level:4},{value:"NetworkSpawnSettings",id:"networkspawnsettings",level:4},{value:"ObjectDestroyMessage",id:"objectdestroymessage",level:4},{value:"ObjectHideMessage",id:"objecthidemessage",level:4},{value:"RemoveAuthorityMessage",id:"removeauthoritymessage",level:4},{value:"RemoveCharacterMessage",id:"removecharactermessage",level:4},{value:"SceneMessage",id:"scenemessage",level:4},{value:"SceneNotReadyMessage",id:"scenenotreadymessage",level:4},{value:"SceneReadyMessage",id:"scenereadymessage",level:4},{value:"SpawnMessage",id:"spawnmessage",level:4},{value:"SpawnValues",id:"spawnvalues",level:4},{value:"SyncPrefab",id:"syncprefab",level:4},{value:"SyncSettings",id:"syncsettings",level:4},{value:"UpdateVarsMessage",id:"updatevarsmessage",level:4},{value:"Interfaces",id:"interfaces",level:2},{value:"IMessageReceiver",id:"imessagereceiver",level:4},{value:"IMessageSender",id:"imessagesender",level:4},{value:"INetIdGenerator",id:"inetidgenerator",level:4},{value:"INetworkPlayer",id:"inetworkplayer",level:4},{value:"INetworkVisibility",id:"inetworkvisibility",level:4},{value:"IObjectLocator",id:"iobjectlocator",level:4},{value:"IObjectOwner",id:"iobjectowner",level:4},{value:"ISceneLoader",id:"isceneloader",level:4},{value:"IVisibilityTracker",id:"ivisibilitytracker",level:4},{value:"Enums",id:"enums",level:2},{value:"Channel",id:"channel",level:4},{value:"CharacterSpawner.PlayerSpawnMethod",id:"characterspawnerplayerspawnmethod",level:4},{value:"ClientStoppedReason",id:"clientstoppedreason",level:4},{value:"ConnectState",id:"connectstate",level:4},{value:"NetworkFlags",id:"networkflags",level:4},{value:"NetworkManagerMode",id:"networkmanagermode",level:4},{value:"RpcTarget",id:"rpctarget",level:4},{value:"SceneOperation",id:"sceneoperation",level:4},{value:"SyncActiveOption",id:"syncactiveoption",level:4},{value:"SyncFrom",id:"syncfrom",level:4},{value:"SyncHookType",id:"synchooktype",level:4},{value:"SyncTiming",id:"synctiming",level:4},{value:"SyncTo",id:"syncto",level:4},{value:"Delegates",id:"delegates",level:2},{value:"AuthorityChanged",id:"authoritychanged",level:4},{value:"DynamicSpawnHandlerDelegate",id:"dynamicspawnhandlerdelegate",level:4},{value:"MessageDelegate<T>",id:"messagedelegatet",level:4},{value:"MessageDelegateAsync<T>",id:"messagedelegateasynct",level:4},{value:"MessageDelegateWithPlayer<T>",id:"messagedelegatewithplayert",level:4},{value:"MessageDelegateWithPlayerAsync<T>",id:"messagedelegatewithplayerasynct",level:4},{value:"NetworkVisibility.VisibilityChanged",id:"networkvisibilityvisibilitychanged",level:4},{value:"SpawnHandlerAsyncDelegate",id:"spawnhandlerasyncdelegate",level:4},{value:"SpawnHandlerDelegate",id:"spawnhandlerdelegate",level:4},{value:"UnSpawnDelegate",id:"unspawndelegate",level:4}],k={toc:c};function h(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},k,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"mirage"},"Mirage"),(0,n.kt)("h2",{id:"classes"},"Classes"),(0,n.kt)("h4",{id:"autopoolt"},(0,n.kt)("a",{parentName:"h4",href:"./AutoPool-1"},"AutoPool","<","T",">")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Pool class that will create a Disposable wrapper around T so it can be used with any class automatically without additional setup")),(0,n.kt)("h4",{id:"autopooltwrapper"},(0,n.kt)("a",{parentName:"h4",href:"./AutoPool-1.Wrapper"},"AutoPool","<","T",">",".Wrapper")),(0,n.kt)("h4",{id:"characterspawner"},(0,n.kt)("a",{parentName:"h4",href:"./CharacterSpawner"},"CharacterSpawner")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Spawns a player as soon as the connection is authenticated")),(0,n.kt)("h4",{id:"clientattribute"},(0,n.kt)("a",{parentName:"h4",href:"./ClientAttribute"},"ClientAttribute")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prevents this method from running if client is not active.\nCan only be used inside a NetworkBehaviour")),(0,n.kt)("h4",{id:"clientobjectmanager"},(0,n.kt)("a",{parentName:"h4",href:"./ClientObjectManager"},"ClientObjectManager")),(0,n.kt)("h4",{id:"clientrpcattribute"},(0,n.kt)("a",{parentName:"h4",href:"./ClientRpcAttribute"},"ClientRpcAttribute")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"The server uses a Remote Procedure Call (RPC) to run this function on specific clients.\nNote that if you set the target as Connection, you need to pass a specific connection as a parameter of your method")),(0,n.kt)("h4",{id:"deserializefailedexception"},(0,n.kt)("a",{parentName:"h4",href:"./DeserializeFailedException"},"DeserializeFailedException")),(0,n.kt)("h4",{id:"exponentialmovingaverage"},(0,n.kt)("a",{parentName:"h4",href:"./ExponentialMovingAverage"},"ExponentialMovingAverage")),(0,n.kt)("h4",{id:"foldouteventattribute"},(0,n.kt)("a",{parentName:"h4",href:"./FoldoutEventAttribute"},"FoldoutEventAttribute")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Draws UnityEvent as a foldout")),(0,n.kt)("h4",{id:"gameobjectextensions"},(0,n.kt)("a",{parentName:"h4",href:"./GameObjectExtensions"},"GameObjectExtensions")),(0,n.kt)("h4",{id:"gameobjectserializers"},(0,n.kt)("a",{parentName:"h4",href:"./GameObjectSerializers"},"GameObjectSerializers")),(0,n.kt)("h4",{id:"hasauthorityattribute"},(0,n.kt)("a",{parentName:"h4",href:"./HasAuthorityAttribute"},"HasAuthorityAttribute")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prevents players without authority from running this method.\nCan only be used inside a NetworkBehaviour")),(0,n.kt)("h4",{id:"headlessautostart"},(0,n.kt)("a",{parentName:"h4",href:"./HeadlessAutoStart"},"HeadlessAutoStart")),(0,n.kt)("h4",{id:"headlessframelimiter"},(0,n.kt)("a",{parentName:"h4",href:"./HeadlessFrameLimiter"},"HeadlessFrameLimiter")),(0,n.kt)("h4",{id:"hostrenderervisibility"},(0,n.kt)("a",{parentName:"h4",href:"./HostRendererVisibility"},"HostRendererVisibility")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Disables all Renders on GameObject when the NetworkIdentity is not visible too the host player because of a ")),(0,n.kt)("h4",{id:"localplayerattribute"},(0,n.kt)("a",{parentName:"h4",href:"./LocalPlayerAttribute"},"LocalPlayerAttribute")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prevents nonlocal players from running this method.\nCan only be used inside a NetworkBehaviour")),(0,n.kt)("h4",{id:"messagehandler"},(0,n.kt)("a",{parentName:"h4",href:"./MessageHandler"},"MessageHandler")),(0,n.kt)("h4",{id:"messagereceiverextensions"},(0,n.kt)("a",{parentName:"h4",href:"./MessageReceiverExtensions"},"MessageReceiverExtensions")),(0,n.kt)("h4",{id:"messagewaitert"},(0,n.kt)("a",{parentName:"h4",href:"./MessageWaiter-1"},"MessageWaiter","<","T",">")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Register handler just for 1 message\nUseful on client when you want too receive a single auth message")),(0,n.kt)("h4",{id:"methodinvocationexception"},(0,n.kt)("a",{parentName:"h4",href:"./MethodInvocationException"},"MethodInvocationException")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Exception thrown if a guarded method is invoked incorrectly")),(0,n.kt)("h4",{id:"networkanimator"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkAnimator"},"NetworkAnimator")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"A component to synchronize animation states for networked objects.")),(0,n.kt)("h4",{id:"networkbehaviorserializers"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkBehaviorSerializers"},"NetworkBehaviorSerializers")),(0,n.kt)("h4",{id:"networkbehaviour"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkBehaviour"},"NetworkBehaviour")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Base class which should be inherited by scripts which contain networking functionality.")),(0,n.kt)("h4",{id:"networkclient"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkClient"},"NetworkClient")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"This is a network client class used by the networking system. It contains a NetworkConnection that is used to connect to a network server.\nThe handle connection state, messages handlers, and connection configuration. There can be many instances in a process at a time, but only one that is connected to a game server () that uses spawned objects.\nhas an internal update function where it handles events from the transport layer. This includes asynchronous connect events, disconnect events and incoming data from a server.")),(0,n.kt)("h4",{id:"networkdiagnostics"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkDiagnostics"},"NetworkDiagnostics")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Provides profiling information from mirror\nA profiler can subscribe to these events and\npresent the data in a friendly way to the user")),(0,n.kt)("h4",{id:"networkextensions"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkExtensions"},"NetworkExtensions")),(0,n.kt)("h4",{id:"networkidentity"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkIdentity"},"NetworkIdentity")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"The NetworkIdentity identifies objects across the network, between server and clients.\nIts primary data is a NetworkInstanceId which is allocated by the server and then set on clients.\nThis is used in network communications to be able to lookup game objects on different machines.")),(0,n.kt)("h4",{id:"networkidentityserializers"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkIdentitySerializers"},"NetworkIdentitySerializers")),(0,n.kt)("h4",{id:"networkinspectorcallbacks"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkInspectorCallbacks"},"NetworkInspectorCallbacks")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Callbacks for ")),(0,n.kt)("h4",{id:"networkmanager"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkManager"},"NetworkManager")),(0,n.kt)("h4",{id:"networkmanagergui"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkManagerGUI"},"NetworkManagerGUI")),(0,n.kt)("h4",{id:"networkmanagerhud"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkManagerHud"},"NetworkManagerHud")),(0,n.kt)("h4",{id:"networkmatchchecker"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkMatchChecker"},"NetworkMatchChecker")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Component that controls visibility of networked objects based on match id.\nAny object with this component on it will only be visible to other objects in the same match.\nThis would be used to isolate players to their respective matches within a single game server instance. ")),(0,n.kt)("h4",{id:"networkmessageattribute"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkMessageAttribute"},"NetworkMessageAttribute")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Tell the weaver to generate reader and writer for a class")),(0,n.kt)("h4",{id:"networkmethodattribute"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkMethodAttribute"},"NetworkMethodAttribute")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prevents this method from running unless the NetworkFlags match the current state\nCan only be used inside a NetworkBehaviour")),(0,n.kt)("h4",{id:"networkpingdisplay"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkPingDisplay"},"NetworkPingDisplay")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Component that will display the clients ping in milliseconds")),(0,n.kt)("h4",{id:"networkplayer"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkPlayer"},"NetworkPlayer")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"A High level network connection. This is used for connections from client-to-server and for connection from server-to-client.")),(0,n.kt)("h4",{id:"networkprefabs"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkPrefabs"},"NetworkPrefabs")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"A scriptable object that contains a list of prefabs that can be spawned on the network.")),(0,n.kt)("h4",{id:"networkproximitychecker"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkProximityChecker"},"NetworkProximityChecker")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Component that controls visibility of networked objects for players.\nAny object with this component on it will not be visible to players more than a (configurable) distance away.")),(0,n.kt)("h4",{id:"networkscenechecker"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkSceneChecker"},"NetworkSceneChecker")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Component that controls visibility of networked objects between scenes.\nAny object with this component on it will only be visible to other objects in the same scene\nThis would be used when the server has multiple additive subscenes loaded to isolate players to their respective subscenes")),(0,n.kt)("h4",{id:"networkscenemanager"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkSceneManager"},"NetworkSceneManager")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"NetworkSceneManager is an optional component that helps keep scene in sync between server and client.\nThe loads scenes as instructed by the .\nThe controls the currently active Scene and any additive Load/Unload.\nwhen a client connect NetworkSceneManager will send a message telling the new client to load the scene that is active on the server")),(0,n.kt)("h4",{id:"networkserver"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkServer"},"NetworkServer")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"The NetworkServer.")),(0,n.kt)("h4",{id:"networktime"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkTime"},"NetworkTime")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Synchronize time between the server and the clients")),(0,n.kt)("h4",{id:"networktransform"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkTransform"},"NetworkTransform")),(0,n.kt)("h4",{id:"networktransformbase"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkTransformBase"},"NetworkTransformBase")),(0,n.kt)("h4",{id:"networktransformbasedatapoint"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkTransformBase.DataPoint"},"NetworkTransformBase.DataPoint")),(0,n.kt)("h4",{id:"networktransformchild"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkTransformChild"},"NetworkTransformChild")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"A component to synchronize the position of child transforms of networked objects.\nThere must be a NetworkTransform on the root object of the hierarchy. There can be multiple NetworkTransformChild components on an object. This does not use physics for synchronization, it simply synchronizes the localPosition and localRotation of the child transform and lerps towards the received values.")),(0,n.kt)("h4",{id:"networkvisibility"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkVisibility"},"NetworkVisibility")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"NetworkBehaviour that calculates if the gameObject should be visible to different players or not")),(0,n.kt)("h4",{id:"networkworld"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkWorld"},"NetworkWorld")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Holds collection of spawned network objects\nThis class works on both server and client")),(0,n.kt)("h4",{id:"networkworldextensions"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkWorldExtensions"},"NetworkWorldExtensions")),(0,n.kt)("h4",{id:"networkedprefabattribute"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkedPrefabAttribute"},"NetworkedPrefabAttribute")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Forces the user to provide a prefab that has a NetworkIdentity component and is registered.\nAlso provides a fix button to fix the prefab if it hasn","'","t been networked.")),(0,n.kt)("h4",{id:"onlineofflinescene"},(0,n.kt)("a",{parentName:"h4",href:"./OnlineOfflineScene"},"OnlineOfflineScene")),(0,n.kt)("h4",{id:"pipepeerconnection"},(0,n.kt)("a",{parentName:"h4",href:"./PipePeerConnection"},"PipePeerConnection")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"A that is directly sends data to a ")),(0,n.kt)("h4",{id:"pipepeerconnectionpipeendpoint"},(0,n.kt)("a",{parentName:"h4",href:"./PipePeerConnection.PipeEndPoint"},"PipePeerConnection.PipeEndPoint")),(0,n.kt)("h4",{id:"playerscenechangeevent"},(0,n.kt)("a",{parentName:"h4",href:"./PlayerSceneChangeEvent"},"PlayerSceneChangeEvent")),(0,n.kt)("h4",{id:"readonlyinspectorattribute"},(0,n.kt)("a",{parentName:"h4",href:"./ReadOnlyInspectorAttribute"},"ReadOnlyInspectorAttribute")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Makes field readonly in inspector.\nThis is useful for fields that are set by code, but are shown iin inpector for debuggiing")),(0,n.kt)("h4",{id:"sceneattribute"},(0,n.kt)("a",{parentName:"h4",href:"./SceneAttribute"},"SceneAttribute")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Converts a string property into a Scene property in the inspector")),(0,n.kt)("h4",{id:"scenechangefinishedevent"},(0,n.kt)("a",{parentName:"h4",href:"./SceneChangeFinishedEvent"},"SceneChangeFinishedEvent")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Event fires from INetworkSceneManager when a scene change finishes on either Server or Client.\nScene - Loaded scene\nSceneOperation - Scene change type (Normal, Additive Load, Additive Unload).")),(0,n.kt)("h4",{id:"scenechangestartedevent"},(0,n.kt)("a",{parentName:"h4",href:"./SceneChangeStartedEvent"},"SceneChangeStartedEvent")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Event fires from INetworkSceneManager when a scene change begins on either Server or Client.\nScene - Name or path of the scene that","'","s about to be loaded\nSceneOperation - Scene change type (Normal, Additive Load, Additive Unload).")),(0,n.kt)("h4",{id:"scenevisibilitychecker"},(0,n.kt)("a",{parentName:"h4",href:"./SceneVisibilityChecker"},"SceneVisibilityChecker")),(0,n.kt)("h4",{id:"serverattribute"},(0,n.kt)("a",{parentName:"h4",href:"./ServerAttribute"},"ServerAttribute")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prevents a method from running if server is not active.\nCan only be used inside a NetworkBehaviour")),(0,n.kt)("h4",{id:"serverobjectmanager"},(0,n.kt)("a",{parentName:"h4",href:"./ServerObjectManager"},"ServerObjectManager")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"The ServerObjectManager.")),(0,n.kt)("h4",{id:"serverobjectmanagerextensions"},(0,n.kt)("a",{parentName:"h4",href:"./ServerObjectManagerExtensions"},"ServerObjectManagerExtensions")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Extra helper methods for that dont add any extra logic")),(0,n.kt)("h4",{id:"serverrpcattribute"},(0,n.kt)("a",{parentName:"h4",href:"./ServerRpcAttribute"},"ServerRpcAttribute")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Call this from a client to run this function on the server.\nMake sure to validate input etc. It","'","s not possible to call this from a server.")),(0,n.kt)("h4",{id:"showininspectorattribute"},(0,n.kt)("a",{parentName:"h4",href:"./ShowInInspectorAttribute"},"ShowInInspectorAttribute")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Used to show private SyncList in the inspector,\nUse instead of SerializeField for non Serializable types ")),(0,n.kt)("h4",{id:"spawnevent"},(0,n.kt)("a",{parentName:"h4",href:"./SpawnEvent"},"SpawnEvent")),(0,n.kt)("h4",{id:"spawnhandler"},(0,n.kt)("a",{parentName:"h4",href:"./SpawnHandler"},"SpawnHandler")),(0,n.kt)("h4",{id:"spawnobjectexception"},(0,n.kt)("a",{parentName:"h4",href:"./SpawnObjectException"},"SpawnObjectException")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Exception thrown when spawning fails")),(0,n.kt)("h4",{id:"stringhash"},(0,n.kt)("a",{parentName:"h4",href:"./StringHash"},"StringHash")),(0,n.kt)("h4",{id:"syncprefabserialize"},(0,n.kt)("a",{parentName:"h4",href:"./SyncPrefabSerialize"},"SyncPrefabSerialize")),(0,n.kt)("h4",{id:"syncvarattribute"},(0,n.kt)("a",{parentName:"h4",href:"./SyncVarAttribute"},"SyncVarAttribute")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"SyncVars are used to synchronize a variable from the server to all clients automatically.\nValue must be changed on server, not directly by clients. Hook parameter allows you to define a client-side method to be invoked when the client gets an update from the server.")),(0,n.kt)("h4",{id:"syncvarreceiver"},(0,n.kt)("a",{parentName:"h4",href:"./SyncVarReceiver"},"SyncVarReceiver")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Class that handles syncvar message and passes it to correct ")),(0,n.kt)("h4",{id:"syncvarsender"},(0,n.kt)("a",{parentName:"h4",href:"./SyncVarSender"},"SyncVarSender")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Class that Syncs syncvar and other State")),(0,n.kt)("h4",{id:"version"},(0,n.kt)("a",{parentName:"h4",href:"./Version"},"Version")),(0,n.kt)("h2",{id:"structs"},"Structs"),(0,n.kt)("h4",{id:"addcharactermessage"},(0,n.kt)("a",{parentName:"h4",href:"./AddCharacterMessage"},"AddCharacterMessage")),(0,n.kt)("h4",{id:"gameobjectsyncvar"},(0,n.kt)("a",{parentName:"h4",href:"./GameObjectSyncvar"},"GameObjectSyncvar")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"backing struct for a NetworkIdentity when used as a syncvar\nthe weaver will replace the syncvar with this struct.")),(0,n.kt)("h4",{id:"networkbehaviorsyncvar"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkBehaviorSyncvar"},"NetworkBehaviorSyncvar")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"backing struct for a NetworkIdentity when used as a syncvar\nthe weaver will replace the syncvar with this struct.")),(0,n.kt)("h4",{id:"networkbehaviorsyncvart"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkBehaviorSyncvar-1"},"NetworkBehaviorSyncvar","<","T",">")),(0,n.kt)("h4",{id:"networkbehaviourid"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkBehaviour.Id"},"NetworkBehaviour.Id")),(0,n.kt)("h4",{id:"networkdiagnosticsmessageinfo"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkDiagnostics.MessageInfo"},"NetworkDiagnostics.MessageInfo")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Describes an outgoing message")),(0,n.kt)("h4",{id:"networkidentitysyncvar"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkIdentitySyncvar"},"NetworkIdentitySyncvar")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"backing struct for a NetworkIdentity when used as a syncvar\nthe weaver will replace the syncvar with this struct.")),(0,n.kt)("h4",{id:"networkpingmessage"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkPingMessage"},"NetworkPingMessage")),(0,n.kt)("h4",{id:"networkpongmessage"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkPongMessage"},"NetworkPongMessage")),(0,n.kt)("h4",{id:"networkspawnsettings"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkSpawnSettings"},"NetworkSpawnSettings")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Spawn Settings for ")),(0,n.kt)("h4",{id:"objectdestroymessage"},(0,n.kt)("a",{parentName:"h4",href:"./ObjectDestroyMessage"},"ObjectDestroyMessage")),(0,n.kt)("h4",{id:"objecthidemessage"},(0,n.kt)("a",{parentName:"h4",href:"./ObjectHideMessage"},"ObjectHideMessage")),(0,n.kt)("h4",{id:"removeauthoritymessage"},(0,n.kt)("a",{parentName:"h4",href:"./RemoveAuthorityMessage"},"RemoveAuthorityMessage")),(0,n.kt)("h4",{id:"removecharactermessage"},(0,n.kt)("a",{parentName:"h4",href:"./RemoveCharacterMessage"},"RemoveCharacterMessage")),(0,n.kt)("h4",{id:"scenemessage"},(0,n.kt)("a",{parentName:"h4",href:"./SceneMessage"},"SceneMessage")),(0,n.kt)("h4",{id:"scenenotreadymessage"},(0,n.kt)("a",{parentName:"h4",href:"./SceneNotReadyMessage"},"SceneNotReadyMessage")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Sent to client to mark their scene as not ready\nClient can sent once its scene is ready again")),(0,n.kt)("h4",{id:"scenereadymessage"},(0,n.kt)("a",{parentName:"h4",href:"./SceneReadyMessage"},"SceneReadyMessage")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Sent to indicate the scene is finished loading")),(0,n.kt)("h4",{id:"spawnmessage"},(0,n.kt)("a",{parentName:"h4",href:"./SpawnMessage"},"SpawnMessage")),(0,n.kt)("h4",{id:"spawnvalues"},(0,n.kt)("a",{parentName:"h4",href:"./SpawnValues"},"SpawnValues")),(0,n.kt)("h4",{id:"syncprefab"},(0,n.kt)("a",{parentName:"h4",href:"./SyncPrefab"},"SyncPrefab")),(0,n.kt)("h4",{id:"syncsettings"},(0,n.kt)("a",{parentName:"h4",href:"./SyncSettings"},"SyncSettings")),(0,n.kt)("h4",{id:"updatevarsmessage"},(0,n.kt)("a",{parentName:"h4",href:"./UpdateVarsMessage"},"UpdateVarsMessage")),(0,n.kt)("h2",{id:"interfaces"},"Interfaces"),(0,n.kt)("h4",{id:"imessagereceiver"},(0,n.kt)("a",{parentName:"h4",href:"./IMessageReceiver"},"IMessageReceiver")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"An object that can receive messages")),(0,n.kt)("h4",{id:"imessagesender"},(0,n.kt)("a",{parentName:"h4",href:"./IMessageSender"},"IMessageSender")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"An object that can send messages")),(0,n.kt)("h4",{id:"inetidgenerator"},(0,n.kt)("a",{parentName:"h4",href:"./INetIdGenerator"},"INetIdGenerator")),(0,n.kt)("h4",{id:"inetworkplayer"},(0,n.kt)("a",{parentName:"h4",href:"./INetworkPlayer"},"INetworkPlayer")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"An object owned by a player that can: send/receive messages, have network visibility, be an object owner, authenticated permissions, and load scenes.\nMay be from the server to client or from client to server")),(0,n.kt)("h4",{id:"inetworkvisibility"},(0,n.kt)("a",{parentName:"h4",href:"./INetworkVisibility"},"INetworkVisibility")),(0,n.kt)("h4",{id:"iobjectlocator"},(0,n.kt)("a",{parentName:"h4",href:"./IObjectLocator"},"IObjectLocator")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"An object that implements this interface can find objects by their net id\nThis is used by readers when trying to deserialize gameobjects")),(0,n.kt)("h4",{id:"iobjectowner"},(0,n.kt)("a",{parentName:"h4",href:"./IObjectOwner"},"IObjectOwner")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"An object that can own networked objects")),(0,n.kt)("h4",{id:"isceneloader"},(0,n.kt)("a",{parentName:"h4",href:"./ISceneLoader"},"ISceneLoader")),(0,n.kt)("h4",{id:"ivisibilitytracker"},(0,n.kt)("a",{parentName:"h4",href:"./IVisibilityTracker"},"IVisibilityTracker")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"An object that can observe NetworkIdentities.\nthis is useful for interest management")),(0,n.kt)("h2",{id:"enums"},"Enums"),(0,n.kt)("h4",{id:"channel"},(0,n.kt)("a",{parentName:"h4",href:"./Channel"},"Channel")),(0,n.kt)("h4",{id:"characterspawnerplayerspawnmethod"},(0,n.kt)("a",{parentName:"h4",href:"./CharacterSpawner.PlayerSpawnMethod"},"CharacterSpawner.PlayerSpawnMethod")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Enumeration of methods of where to spawn player objects in multiplayer games.")),(0,n.kt)("h4",{id:"clientstoppedreason"},(0,n.kt)("a",{parentName:"h4",href:"./ClientStoppedReason"},"ClientStoppedReason")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Reason why Client was stopped or disconnected")),(0,n.kt)("h4",{id:"connectstate"},(0,n.kt)("a",{parentName:"h4",href:"./ConnectState"},"ConnectState")),(0,n.kt)("h4",{id:"networkflags"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkFlags"},"NetworkFlags")),(0,n.kt)("h4",{id:"networkmanagermode"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkManagerMode"},"NetworkManagerMode")),(0,n.kt)("h4",{id:"rpctarget"},(0,n.kt)("a",{parentName:"h4",href:"./RpcTarget"},"RpcTarget")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Used by ClientRpc to tell mirage who to send remote call to")),(0,n.kt)("h4",{id:"sceneoperation"},(0,n.kt)("a",{parentName:"h4",href:"./SceneOperation"},"SceneOperation")),(0,n.kt)("h4",{id:"syncactiveoption"},(0,n.kt)("a",{parentName:"h4",href:"./SyncActiveOption"},"SyncActiveOption")),(0,n.kt)("h4",{id:"syncfrom"},(0,n.kt)("a",{parentName:"h4",href:"./SyncFrom"},"SyncFrom")),(0,n.kt)("h4",{id:"synchooktype"},(0,n.kt)("a",{parentName:"h4",href:"./SyncHookType"},"SyncHookType")),(0,n.kt)("h4",{id:"synctiming"},(0,n.kt)("a",{parentName:"h4",href:"./SyncTiming"},"SyncTiming")),(0,n.kt)("h4",{id:"syncto"},(0,n.kt)("a",{parentName:"h4",href:"./SyncTo"},"SyncTo")),(0,n.kt)("h2",{id:"delegates"},"Delegates"),(0,n.kt)("h4",{id:"authoritychanged"},(0,n.kt)("a",{parentName:"h4",href:"./AuthorityChanged"},"AuthorityChanged")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Event that can be used to check authority")),(0,n.kt)("h4",{id:"dynamicspawnhandlerdelegate"},(0,n.kt)("a",{parentName:"h4",href:"./DynamicSpawnHandlerDelegate"},"DynamicSpawnHandlerDelegate")),(0,n.kt)("h4",{id:"messagedelegatet"},(0,n.kt)("a",{parentName:"h4",href:"./MessageDelegate-1"},"MessageDelegate","<","T",">")),(0,n.kt)("h4",{id:"messagedelegateasynct"},(0,n.kt)("a",{parentName:"h4",href:"./MessageDelegateAsync-1"},"MessageDelegateAsync","<","T",">")),(0,n.kt)("h4",{id:"messagedelegatewithplayert"},(0,n.kt)("a",{parentName:"h4",href:"./MessageDelegateWithPlayer-1"},"MessageDelegateWithPlayer","<","T",">")),(0,n.kt)("h4",{id:"messagedelegatewithplayerasynct"},(0,n.kt)("a",{parentName:"h4",href:"./MessageDelegateWithPlayerAsync-1"},"MessageDelegateWithPlayerAsync","<","T",">")),(0,n.kt)("h4",{id:"networkvisibilityvisibilitychanged"},(0,n.kt)("a",{parentName:"h4",href:"./NetworkVisibility.VisibilityChanged"},"NetworkVisibility.VisibilityChanged")),(0,n.kt)("h4",{id:"spawnhandlerasyncdelegate"},(0,n.kt)("a",{parentName:"h4",href:"./SpawnHandlerAsyncDelegate"},"SpawnHandlerAsyncDelegate")),(0,n.kt)("h4",{id:"spawnhandlerdelegate"},(0,n.kt)("a",{parentName:"h4",href:"./SpawnHandlerDelegate"},"SpawnHandlerDelegate")),(0,n.kt)("h4",{id:"unspawndelegate"},(0,n.kt)("a",{parentName:"h4",href:"./UnSpawnDelegate"},"UnSpawnDelegate")))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bcd82947.676f12a3.js b/assets/js/bcd82947.676f12a3.js new file mode 100644 index 00000000000..a108cabd4b6 --- /dev/null +++ b/assets/js/bcd82947.676f12a3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5183],{3905:(e,t,s)=>{s.d(t,{Zo:()=>u,kt:()=>f});var r=s(67294);function n(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function i(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,r)}return s}function a(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?i(Object(s),!0).forEach((function(t){n(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):i(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function o(e,t){if(null==e)return{};var s,r,n=function(e,t){if(null==e)return{};var s,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)s=i[r],t.indexOf(s)>=0||(n[s]=e[s]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)s=i[r],t.indexOf(s)>=0||Object.prototype.propertyIsEnumerable.call(e,s)&&(n[s]=e[s])}return n}var c=r.createContext({}),l=function(e){var t=r.useContext(c),s=t;return e&&(s="function"==typeof e?e(t):a(a({},t),e)),s},u=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var s=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),p=l(s),f=n,h=p["".concat(c,".").concat(f)]||p[f]||d[f]||i;return s?r.createElement(h,a(a({ref:t},u),{},{components:s})):r.createElement(h,a({ref:t},u))}));function f(e,t){var s=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=s.length,a=new Array(i);a[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,a[1]=o;for(var l=2;l<i;l++)a[l]=s[l];return r.createElement.apply(null,a)}return r.createElement.apply(null,s)}p.displayName="MDXCreateElement"},43059:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var r=s(87462),n=(s(67294),s(3905));const i={id:"Mirage.Authenticators.SessionId",title:"Mirage.Authenticators.SessionId"},a="Mirage.Authenticators.SessionId",o={unversionedId:"reference/Mirage.Authenticators.SessionId/Mirage.Authenticators.SessionId",id:"reference/Mirage.Authenticators.SessionId/Mirage.Authenticators.SessionId",title:"Mirage.Authenticators.SessionId",description:"Classes",source:"@site/docs/reference/Mirage.Authenticators.SessionId/index.md",sourceDirName:"reference/Mirage.Authenticators.SessionId",slug:"/reference/Mirage.Authenticators.SessionId/",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authenticators.SessionId/index.md",tags:[],version:"current",frontMatter:{id:"Mirage.Authenticators.SessionId",title:"Mirage.Authenticators.SessionId"},sidebar:"api",previous:{title:"BasicAuthenticator",permalink:"/Mirage/docs/reference/Mirage.Authenticators/BasicAuthenticator"},next:{title:"ClientSession",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/ClientSession"}},c={},l=[{value:"Classes",id:"classes",level:2},{value:"ClientSession",id:"clientsession",level:4},{value:"CreateSession",id:"createsession",level:4},{value:"SessionData",id:"sessiondata",level:4},{value:"SessionIdAuthenticator",id:"sessionidauthenticator",level:4},{value:"Structs",id:"structs",level:2},{value:"RequestSessionMessage",id:"requestsessionmessage",level:4},{value:"SessionKeyMessage",id:"sessionkeymessage",level:4},{value:"Interfaces",id:"interfaces",level:2},{value:"ISessionIdStore",id:"isessionidstore",level:4}],u={toc:l};function d(e){let{components:t,...s}=e;return(0,n.kt)("wrapper",(0,r.Z)({},u,s,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"mirageauthenticatorssessionid"},"Mirage.Authenticators.SessionId"),(0,n.kt)("h2",{id:"classes"},"Classes"),(0,n.kt)("h4",{id:"clientsession"},(0,n.kt)("a",{parentName:"h4",href:"./ClientSession"},"ClientSession")),(0,n.kt)("h4",{id:"createsession"},(0,n.kt)("a",{parentName:"h4",href:"./CreateSession"},"CreateSession")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Creates a session to be used by ")),(0,n.kt)("h4",{id:"sessiondata"},(0,n.kt)("a",{parentName:"h4",href:"./SessionData"},"SessionData")),(0,n.kt)("h4",{id:"sessionidauthenticator"},(0,n.kt)("a",{parentName:"h4",href:"./SessionIdAuthenticator"},"SessionIdAuthenticator")),(0,n.kt)("h2",{id:"structs"},"Structs"),(0,n.kt)("h4",{id:"requestsessionmessage"},(0,n.kt)("a",{parentName:"h4",href:"./RequestSessionMessage"},"RequestSessionMessage")),(0,n.kt)("h4",{id:"sessionkeymessage"},(0,n.kt)("a",{parentName:"h4",href:"./SessionKeyMessage"},"SessionKeyMessage")),(0,n.kt)("h2",{id:"interfaces"},"Interfaces"),(0,n.kt)("h4",{id:"isessionidstore"},(0,n.kt)("a",{parentName:"h4",href:"./ISessionIdStore"},"ISessionIdStore")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bce13862.0016bf01.js b/assets/js/bce13862.0016bf01.js new file mode 100644 index 00000000000..15561663f58 --- /dev/null +++ b/assets/js/bce13862.0016bf01.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8396],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>s});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var o=a.createContext({}),p=function(e){var t=a.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=p(e.components);return a.createElement(o.Provider,{value:t},e.children)},k={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),u=p(r),s=n,m=u["".concat(o,".").concat(s)]||u[s]||k[s]||l;return r?a.createElement(m,i(i({ref:t},d),{},{components:r})):a.createElement(m,i({ref:t},d))}));function s(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=u;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var p=2;p<l;p++)i[p]=r[p];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}u.displayName="MDXCreateElement"},19305:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>k,frontMatter:()=>l,metadata:()=>c,toc:()=>p});var a=r(87462),n=(r(67294),r(3905));const l={id:"VarVector3Packer",title:"VarVector3Packer"},i="Class VarVector3Packer",c={unversionedId:"reference/Mirage.Serialization/VarVector3Packer",id:"reference/Mirage.Serialization/VarVector3Packer",title:"VarVector3Packer",description:"Packs a vector3 using and",source:"@site/docs/reference/Mirage.Serialization/VarVector3Packer.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/VarVector3Packer",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarVector3Packer",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/VarVector3Packer.md",tags:[],version:"current",frontMatter:{id:"VarVector3Packer",title:"VarVector3Packer"},sidebar:"api",previous:{title:"VarVector2Packer",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarVector2Packer"},next:{title:"Vector2PackAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/Vector2PackAttribute"}},o={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"VarVector3Packer(Vector3, Int32)",id:"varvector3packervector3-int32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"Pack(NetworkWriter, Vector3)",id:"packnetworkwriter-vector3",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Unpack(NetworkReader)",id:"unpacknetworkreader",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns",level:5}],d={toc:p};function k(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-varvector3packer"},"Class VarVector3Packer"),(0,n.kt)("p",null,"Packs a vector3 using and "),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class VarVector3Packer\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"varvector3packervector3-int32"},"VarVector3Packer(Vector3, Int32)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public VarVector3Packer(Vector3 precision, int blocksize)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Vector3"),(0,n.kt)("td",{parentName:"tr",align:null},"precision"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"blocksize"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"packnetworkwriter-vector3"},"Pack(NetworkWriter, Vector3)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Pack(NetworkWriter writer, Vector3 position)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Vector3"),(0,n.kt)("td",{parentName:"tr",align:null},"position"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpacknetworkreader"},"Unpack(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector3 Unpack(NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Vector3"),(0,n.kt)("td",{parentName:"tr",align:null})))))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bd06e4c1.02fbc194.js b/assets/js/bd06e4c1.02fbc194.js new file mode 100644 index 00000000000..aafff350ee1 --- /dev/null +++ b/assets/js/bd06e4c1.02fbc194.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4570],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=r.createContext({}),k=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},m=function(e){var t=k(e.components);return r.createElement(o.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},s=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,m=d(e,["components","mdxType","originalType","parentName"]),s=k(a),u=n,N=s["".concat(o,".").concat(u)]||s[u]||p[u]||l;return a?r.createElement(N,i(i({ref:t},m),{},{components:a})):r.createElement(N,i({ref:t},m))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=s;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d.mdxType="string"==typeof e?e:n,i[1]=d;for(var k=2;k<l;k++)i[k]=a[k];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}s.displayName="MDXCreateElement"},91879:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>d,toc:()=>k});var r=a(87462),n=(a(67294),a(3905));const l={id:"CollectionExtensions",title:"CollectionExtensions"},i="Class CollectionExtensions",d={unversionedId:"reference/Mirage.Serialization/CollectionExtensions",id:"reference/Mirage.Serialization/CollectionExtensions",title:"CollectionExtensions",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/CollectionExtensions.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/CollectionExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/CollectionExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/CollectionExtensions.md",tags:[],version:"current",frontMatter:{id:"CollectionExtensions",title:"CollectionExtensions"},sidebar:"api",previous:{title:"BitMask",permalink:"/Mirage/docs/reference/Mirage.Serialization/BitMask"},next:{title:"CompressedExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/CompressedExtensions"}},o={},k=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"WriteBytesAndSize(NetworkWriter, Byte[], Int32, Int32)",id:"writebytesandsizenetworkwriter-byte-int32-int32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"WriteBytesAndSize(NetworkWriter, Byte[])",id:"writebytesandsizenetworkwriter-byte",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"WriteBytesAndSizeSegment(NetworkWriter, ArraySegment<Byte>)",id:"writebytesandsizesegmentnetworkwriter-arraysegmentbyte",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"WriteList<T>(NetworkWriter, List<T>)",id:"writelisttnetworkwriter-listt",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"WriteArray<T>(NetworkWriter, T[])",id:"writearraytnetworkwriter-t",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"WriteArraySegment<T>(NetworkWriter, ArraySegment<T>)",id:"writearraysegmenttnetworkwriter-arraysegmentt",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"WriteDictionary<TKey, TValue>(NetworkWriter, Dictionary<TKey, TValue>)",id:"writedictionarytkey-tvaluenetworkwriter-dictionarytkey-tvalue",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"ReadBytesAndSize(NetworkReader)",id:"readbytesandsizenetworkreader",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"Returns",id:"returns",level:5},{value:"ReadBytesAndSizeSegment(NetworkReader)",id:"readbytesandsizesegmentnetworkreader",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"Returns",id:"returns-1",level:5},{value:"ReadBytes(NetworkReader, Int32)",id:"readbytesnetworkreader-int32",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"Returns",id:"returns-2",level:5},{value:"ReadList<T>(NetworkReader)",id:"readlisttnetworkreader",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Parameters",id:"parameters-10",level:5},{value:"Returns",id:"returns-3",level:5},{value:"ReadArray<T>(NetworkReader)",id:"readarraytnetworkreader",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters-11",level:5},{value:"Returns",id:"returns-4",level:5},{value:"ReadArraySegment<T>(NetworkReader)",id:"readarraysegmenttnetworkreader",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Parameters",id:"parameters-12",level:5},{value:"Returns",id:"returns-5",level:5},{value:"ReadDictionary<TKey, TValue>(NetworkReader)",id:"readdictionarytkey-tvaluenetworkreader",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Parameters",id:"parameters-13",level:5},{value:"Returns",id:"returns-6",level:5}],m={toc:k};function p(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},m,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-collectionextensions"},"Class CollectionExtensions"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class CollectionExtensions\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"writebytesandsizenetworkwriter-byte-int32-int32"},"WriteBytesAndSize(NetworkWriter, Byte[], Int32, Int32)"),(0,n.kt)("p",null,"For byte arrays with dynamic size, where the reader doesn","'","t know how many will come "),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteBytesAndSize(this NetworkWriter writer, byte[] buffer, int offset, int count)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null},"buffer"),(0,n.kt)("td",{parentName:"tr",align:null},"array or null")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"offset"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"count"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writebytesandsizenetworkwriter-byte"},"WriteBytesAndSize(NetworkWriter, Byte[])"),(0,n.kt)("p",null,"Write method for weaver to use"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteBytesAndSize(this NetworkWriter writer, byte[] buffer)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null},"buffer"),(0,n.kt)("td",{parentName:"tr",align:null},"array or null")))),(0,n.kt)("h4",{id:"writebytesandsizesegmentnetworkwriter-arraysegmentbyte"},"WriteBytesAndSizeSegment(NetworkWriter, ArraySegment","<","Byte",">",")"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteBytesAndSizeSegment(this NetworkWriter writer, ArraySegment<byte> buffer)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,n.kt)("td",{parentName:"tr",align:null},"buffer"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writelisttnetworkwriter-listt"},"WriteList","<","T",">","(NetworkWriter, List","<","T",">",")"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[WeaverSerializeCollection]\npublic static void WriteList<T>(this NetworkWriter writer, List<T> list)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.List","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null},"list"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writearraytnetworkwriter-t"},"WriteArray","<","T",">","(NetworkWriter, T[])"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteArray<T>(this NetworkWriter writer, T[] array)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"{T}[]"),(0,n.kt)("td",{parentName:"tr",align:null},"array"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writearraysegmenttnetworkwriter-arraysegmentt"},"WriteArraySegment","<","T",">","(NetworkWriter, ArraySegment","<","T",">",")"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[WeaverSerializeCollection]\npublic static void WriteArraySegment<T>(this NetworkWriter writer, ArraySegment<T> segment)\n")),(0,n.kt)("h5",{id:"parameters-5"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null},"segment"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writedictionarytkey-tvaluenetworkwriter-dictionarytkey-tvalue"},"WriteDictionary","<","TKey, TValue",">","(NetworkWriter, Dictionary","<","TKey, TValue",">",")"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[WeaverSerializeCollection]\npublic static void WriteDictionary<TKey, TValue>(this NetworkWriter writer, Dictionary<TKey, TValue> dictionary)\n")),(0,n.kt)("h5",{id:"parameters-6"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.Dictionary","<","TKey, TValue",">"),(0,n.kt)("td",{parentName:"tr",align:null},"dictionary"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readbytesandsizenetworkreader"},"ReadBytesAndSize(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static byte[] ReadBytesAndSize(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-7"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null},"array or null")))),(0,n.kt)("h4",{id:"readbytesandsizesegmentnetworkreader"},"ReadBytesAndSizeSegment(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-8"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static ArraySegment<byte> ReadBytesAndSizeSegment(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-8"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readbytesnetworkreader-int32"},"ReadBytes(NetworkReader, Int32)"),(0,n.kt)("h5",{id:"declaration-9"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static byte[] ReadBytes(this NetworkReader reader, int count)\n")),(0,n.kt)("h5",{id:"parameters-9"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"count"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-2"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readlisttnetworkreader"},"ReadList","<","T",">","(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-10"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[WeaverSerializeCollection]\npublic static List<T> ReadList<T>(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-10"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-3"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.List","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readarraytnetworkreader"},"ReadArray","<","T",">","(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-11"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static T[] ReadArray<T>(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-11"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-4"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"{T}[]"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readarraysegmenttnetworkreader"},"ReadArraySegment","<","T",">","(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-12"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[WeaverSerializeCollection]\npublic static ArraySegment<T> ReadArraySegment<T>(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-12"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-5"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readdictionarytkey-tvaluenetworkreader"},"ReadDictionary","<","TKey, TValue",">","(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-13"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[WeaverSerializeCollection]\npublic static Dictionary<TKey, TValue> ReadDictionary<TKey, TValue>(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-13"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-6"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.Dictionary","<","TKey, TValue",">"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bd77521a.b9f37706.js b/assets/js/bd77521a.b9f37706.js new file mode 100644 index 00000000000..de3b62dff83 --- /dev/null +++ b/assets/js/bd77521a.b9f37706.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1115],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>d});var n=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,l=function(e,t){if(null==e)return{};var a,n,l={},r=Object.keys(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var c=n.createContext({}),y=function(e){var t=n.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},u=function(e){var t=y(e.components);return n.createElement(c.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var a=e.components,l=e.mdxType,r=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),p=y(a),d=l,T=p["".concat(c,".").concat(d)]||p[d]||s[d]||r;return a?n.createElement(T,i(i({ref:t},u),{},{components:a})):n.createElement(T,i({ref:t},u))}));function d(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=a.length,i=new Array(r);i[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:l,i[1]=o;for(var y=2;y<r;y++)i[y]=a[y];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}p.displayName="MDXCreateElement"},76260:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>s,frontMatter:()=>r,metadata:()=>o,toc:()=>y});var n=a(87462),l=(a(67294),a(3905));const r={id:"SyncDictionary-2",title:"SyncDictionary<TKey, TValue>"},i="Class SyncDictionary<TKey, TValue>",o={unversionedId:"reference/Mirage.Collections/SyncDictionary-2",id:"reference/Mirage.Collections/SyncDictionary-2",title:"SyncDictionary<TKey, TValue>",description:"Inheritance",source:"@site/docs/reference/Mirage.Collections/SyncDictionary-2.md",sourceDirName:"reference/Mirage.Collections",slug:"/reference/Mirage.Collections/SyncDictionary-2",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncDictionary-2",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Collections/SyncDictionary-2.md",tags:[],version:"current",frontMatter:{id:"SyncDictionary-2",title:"SyncDictionary<TKey, TValue>"},sidebar:"api",previous:{title:"ISyncObject",permalink:"/Mirage/docs/reference/Mirage.Collections/ISyncObject"},next:{title:"SyncHashSet<T>",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncHashSet-1"}},c={},y=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Constructors",id:"constructors",level:3},{value:"SyncDictionary()",id:"syncdictionary",level:4},{value:"Declaration",id:"declaration",level:5},{value:"SyncDictionary(IEqualityComparer<TKey>)",id:"syncdictionaryiequalitycomparertkey",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Properties",id:"properties",level:3},{value:"Values",id:"values",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Keys",id:"keys",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Methods",id:"methods",level:3},{value:"GetEnumerator()",id:"getenumerator",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Returns",id:"returns",level:5}],u={toc:y};function s(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,n.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-syncdictionarytkey-tvalue"},"Class SyncDictionary","<","TKey, TValue",">"),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,l.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Collections.SyncIDictionary<TKey, TValue>")),(0,l.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Show"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".objects"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".Count"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".IsReadOnly"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".Mirage.Collections.ISyncObject.SetShouldSyncFrom(System.Boolean)"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".Mirage.Collections.ISyncObject.SetNetworkBehaviour(Mirage.NetworkBehaviour)"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".OnInsert"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".OnClear"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".OnRemove"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".OnSet"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".OnChange"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".Reset()"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".IsDirty"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".Keys"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".Values"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".System.Collections.Generic.IReadOnlyDictionary","<","TKey, TValue",">",".Keys"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".System.Collections.Generic.IReadOnlyDictionary","<","TKey, TValue",">",".Values"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".Flush()"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".OnSerializeAll(Mirage.Serialization.NetworkWriter)"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".OnSerializeDelta(Mirage.Serialization.NetworkWriter)"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".OnDeserializeAll(Mirage.Serialization.NetworkReader)"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".OnDeserializeDelta(Mirage.Serialization.NetworkReader)"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".Clear()"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".ContainsKey(TKey)"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".Remove(TKey)"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".Item","[TKey]"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".TryGetValue(TKey, TValue)"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".Add(TKey, TValue)"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".Add(System.Collections.Generic.KeyValuePair","<","TKey, TValue",">",")"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".Contains(System.Collections.Generic.KeyValuePair","<","TKey, TValue",">",")"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".CopyTo(System.Collections.Generic.KeyValuePair","<","TKey, TValue",">","[], System.Int32)"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".Remove(System.Collections.Generic.KeyValuePair","<","TKey, TValue",">",")"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".GetEnumerator()"),(0,l.kt)("p",null,"Mirage.Collections.SyncIDictionary","<","TKey, TValue",">",".System.Collections.IEnumerable.GetEnumerator()")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public class SyncDictionary<TKey, TValue> : SyncIDictionary<TKey, TValue>, IDictionary<TKey, TValue>, ICollection<KeyValuePair<TKey, TValue>>, ISyncObject, IReadOnlyDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable\n")),(0,l.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"TKey"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"TValue"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h3",{id:"constructors"},"Constructors"),(0,l.kt)("h4",{id:"syncdictionary"},"SyncDictionary()"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncDictionary()\n")),(0,l.kt)("h4",{id:"syncdictionaryiequalitycomparertkey"},"SyncDictionary(IEqualityComparer","<","TKey",">",")"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncDictionary(IEqualityComparer<TKey> eq)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEqualityComparer","<","TKey",">"),(0,l.kt)("td",{parentName:"tr",align:null},"eq"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h3",{id:"properties"},"Properties"),(0,l.kt)("h4",{id:"values"},"Values"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public Dictionary<TKey, TValue>.ValueCollection Values { get; }\n")),(0,l.kt)("h4",{id:"keys"},"Keys"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public Dictionary<TKey, TValue>.KeyCollection Keys { get; }\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"getenumerator"},"GetEnumerator()"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public Dictionary<TKey, TValue>.Enumerator GetEnumerator()\n")),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.Dictionary.Enumerator","<",">"),(0,l.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bd783ed9.03836bfa.js b/assets/js/bd783ed9.03836bfa.js new file mode 100644 index 00000000000..1709a27e181 --- /dev/null +++ b/assets/js/bd783ed9.03836bfa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7599],{3905:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>h});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),s=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},m=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},k=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,m=p(e,["components","mdxType","originalType","parentName"]),k=s(n),h=o,u=k["".concat(c,".").concat(h)]||k[h]||l[h]||a;return n?r.createElement(u,i(i({ref:t},m),{},{components:n})):r.createElement(u,i({ref:t},m))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=k;var p={};for(var c in t)hasOwnProperty.call(t,c)&&(p[c]=t[c]);p.originalType=e,p.mdxType="string"==typeof e?e:o,i[1]=p;for(var s=2;s<a;s++)i[s]=n[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}k.displayName="MDXCreateElement"},8453:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>a,metadata:()=>p,toc:()=>s});var r=n(87462),o=(n(67294),n(3905));const a={},i="Overview",p={unversionedId:"components/index",id:"components/index",title:"Overview",description:"These core components are included in Mirage:",source:"@site/docs/components/index.md",sourceDirName:"components",slug:"/components/",permalink:"/Mirage/docs/components/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/index.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Components",permalink:"/Mirage/docs/category/components"},next:{title:"Network Animator",permalink:"/Mirage/docs/components/network-animator"}},c={},s=[],m={toc:s};function l(e){let{components:t,...n}=e;return(0,o.kt)("wrapper",(0,r.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"overview"},"Overview"),(0,o.kt)("p",null,"These core components are included in Mirage:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-animator"},"Network Animator"),(0,o.kt)("br",{parentName:"p"}),"\n","The Network Animator component allows you to synchronize animation states for networked objects. It synchronizes state and parameters from an Animator Controller.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"/docs/guides/authentication/"},"Network Authenticator"),(0,o.kt)("br",{parentName:"p"}),"\n","A list of built-in Authenticator can be found on the authentication page")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-discovery"},"Network Discovery"),(0,o.kt)("br",{parentName:"p"}),"\n","Network Discovery uses a UDP broadcast on the LAN enabling clients to find the running server and connect to it.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-identity"},"Network Identity"),(0,o.kt)("br",{parentName:"p"}),"\n","The Network Identity component is at the heart of the Mirage networking high-level API. It controls a game object\u2019s unique identity on the network, and it uses that identity to make the networking system aware of the game object. It offers two different options for configuration and they are mutually exclusive, which means either one of the options or none can be checked.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-log-settings"},"Network LogSettings"),(0,o.kt)("br",{parentName:"p"}),"\n","Adds logging levels per class for Mirror components")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-manager"},"Network Manager"),(0,o.kt)("br",{parentName:"p"}),"\n","The Network Manager is a component for managing the networking aspects of a multiplayer game.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-manager-hud"},"Network Manager HUD"),(0,o.kt)("br",{parentName:"p"}),"\n","The Network Manager HUD is a quick-start tool to help you start building your multiplayer game straight away, without first having to build a user interface for game creation/connection/joining. It allows you to jump straight into your gameplay programming and means you can build your own version of these controls later in your development schedule.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-match-checker"},"Network Match Checker"),(0,o.kt)("br",{parentName:"p"}),"\n","The Network Match Checker component controls the visibility of networked objects based on match id.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-ping-display"},"Network Ping Display"),"\nNetwork Ping Display shows the Ping time for clients using OnGUI")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-proximity-checker"},"Network Proximity Checker"),(0,o.kt)("br",{parentName:"p"}),"\n","The Network Proximity Checker component controls the visibility of game objects for network clients, based on proximity to players.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-room-manager"},"Network Room Manager"),(0,o.kt)("br",{parentName:"p"}),"\n","The Network Room Manager is an extension component of Network Manager that provides a basic functional room.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-room-player"},"Network Room Player"),(0,o.kt)("br",{parentName:"p"}),"\n","The Network Room Player is a component that's required on Player prefabs used in the Room Scene with the Network Room Manager above.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-scene-checker"},"Network Scene Checker"),(0,o.kt)("br",{parentName:"p"}),"\n","The Network Scene Checker component controls the visibility of networked objects between scenes.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-start-position"},"Network Start Position"),(0,o.kt)("br",{parentName:"p"}),"\n","Network Start Position is used by the Network Manager when creating character objects. The position and rotation of the Network Start Position are used to place the newly created character object.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-transform"},"Network Transform"),(0,o.kt)("br",{parentName:"p"}),"\n","The Network Transform component synchronizes the movement and rotation of game objects across the network. Note that the network Transform component only synchronizes spawned networked game objects.")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},(0,o.kt)("a",{parentName:"p",href:"/docs/components/network-transform-child"},"Network Transform Child"),(0,o.kt)("br",{parentName:"p"}),"\n","The Network Transform Child component synchronizes the position and rotation of the child game object of a game object with a Network Transform component."))))}l.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bd839411.8378a112.js b/assets/js/bd839411.8378a112.js new file mode 100644 index 00000000000..8f10ff7fe33 --- /dev/null +++ b/assets/js/bd839411.8378a112.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9149],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),d=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=d(e.components);return n.createElement(s.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=d(r),m=a,k=u["".concat(s,".").concat(m)]||u[m]||c[m]||i;return r?n.createElement(k,l(l({ref:t},p),{},{components:r})):n.createElement(k,l({ref:t},p))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,l=new Array(i);l[0]=u;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:a,l[1]=o;for(var d=2;d<i;d++)l[d]=r[d];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},50529:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>c,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var n=r(87462),a=(r(67294),r(3905));const i={id:"CompressedExtensions",title:"CompressedExtensions"},l="Class CompressedExtensions",o={unversionedId:"reference/Mirage.Serialization/CompressedExtensions",id:"reference/Mirage.Serialization/CompressedExtensions",title:"CompressedExtensions",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/CompressedExtensions.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/CompressedExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/CompressedExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/CompressedExtensions.md",tags:[],version:"current",frontMatter:{id:"CompressedExtensions",title:"CompressedExtensions"},sidebar:"api",previous:{title:"CollectionExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/CollectionExtensions"},next:{title:"FloatPackAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/FloatPackAttribute"}},s={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"WriteQuaternion(NetworkWriter, Quaternion)",id:"writequaternionnetworkwriter-quaternion",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"ReadQuaternion(NetworkReader)",id:"readquaternionnetworkreader",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5}],p={toc:d};function c(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-compressedextensions"},"Class CompressedExtensions"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static class CompressedExtensions\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"writequaternionnetworkwriter-quaternion"},"WriteQuaternion(NetworkWriter, Quaternion)"),(0,a.kt)("p",null,"Packs Quaternion using "),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteQuaternion(this NetworkWriter writer, Quaternion rotation)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,a.kt)("td",{parentName:"tr",align:null},"writer"),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Quaternion"),(0,a.kt)("td",{parentName:"tr",align:null},"rotation"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h4",{id:"readquaternionnetworkreader"},"ReadQuaternion(NetworkReader)"),(0,a.kt)("p",null,"Unpacks Quaternion using "),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static Quaternion ReadQuaternion(this NetworkReader reader)\n")),(0,a.kt)("h5",{id:"parameters-1"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,a.kt)("td",{parentName:"tr",align:null},"reader"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h5",{id:"returns"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Quaternion"),(0,a.kt)("td",{parentName:"tr",align:null})))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bdbf9329.813c73be.js b/assets/js/bdbf9329.813c73be.js new file mode 100644 index 00000000000..f220c0a9e58 --- /dev/null +++ b/assets/js/bdbf9329.813c73be.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1864],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var o=a.createContext({}),k=function(e){var t=a.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=k(e.components);return a.createElement(o.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),d=k(r),u=n,m=d["".concat(o,".").concat(u)]||d[u]||s[u]||l;return r?a.createElement(m,i(i({ref:t},p),{},{components:r})):a.createElement(m,i({ref:t},p))}));function u(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=d;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var k=2;k<l;k++)i[k]=r[k];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}d.displayName="MDXCreateElement"},39928:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>c,toc:()=>k});var a=r(87462),n=(r(67294),r(3905));const l={id:"VarIntBlocksPacker",title:"VarIntBlocksPacker"},i="Class VarIntBlocksPacker",c={unversionedId:"reference/Mirage.Serialization/VarIntBlocksPacker",id:"reference/Mirage.Serialization/VarIntBlocksPacker",title:"VarIntBlocksPacker",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/VarIntBlocksPacker.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/VarIntBlocksPacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarIntBlocksPacker",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/VarIntBlocksPacker.md",tags:[],version:"current",frontMatter:{id:"VarIntBlocksPacker",title:"VarIntBlocksPacker"},sidebar:"api",previous:{title:"VarIntBlocksAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarIntBlocksAttribute"},next:{title:"VarIntPacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarIntPacker"}},o={},k=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"Pack(NetworkWriter, UInt64, Int32)",id:"packnetworkwriter-uint64-int32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Unpack(NetworkReader, Int32)",id:"unpacknetworkreader-int32",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5}],p={toc:k};function s(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-varintblockspacker"},"Class VarIntBlocksPacker"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class VarIntBlocksPacker\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"packnetworkwriter-uint64-int32"},"Pack(NetworkWriter, UInt64, Int32)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void Pack(NetworkWriter writer, ulong value, int blockSize)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"blockSize"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpacknetworkreader-int32"},"Unpack(NetworkReader, Int32)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static ulong Unpack(NetworkReader reader, int blockSize)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"blockSize"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bf183fc6.677748ae.js b/assets/js/bf183fc6.677748ae.js new file mode 100644 index 00000000000..25317bde19c --- /dev/null +++ b/assets/js/bf183fc6.677748ae.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6215],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=l(r),m=a,h=d["".concat(c,".").concat(m)]||d[m]||p[m]||o;return r?n.createElement(h,i(i({ref:t},u),{},{components:r})):n.createElement(h,i({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=d;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:a,i[1]=s;for(var l=2;l<o;l++)i[l]=r[l];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},96472:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const o={sidebar_position:3},i="Server RPC",s={unversionedId:"guides/remote-actions/server-rpc",id:"guides/remote-actions/server-rpc",title:"Server RPC",description:"Server RPC Calls are sent from character objects on the client to character objects on the server. For security, Server RPC Calls can only be sent from YOUR character object by default, so you cannot control the objects of other players. You can bypass the authority check using [ServerRpc(requireAuthority = false)].",source:"@site/docs/guides/remote-actions/server-rpc.md",sourceDirName:"guides/remote-actions",slug:"/guides/remote-actions/server-rpc",permalink:"/Mirage/docs/guides/remote-actions/server-rpc",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/remote-actions/server-rpc.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"docs",previous:{title:"Client RPC",permalink:"/Mirage/docs/guides/remote-actions/client-rpc"},next:{title:"Network Messages",permalink:"/Mirage/docs/guides/remote-actions/network-messages"}},c={},l=[{value:"Returning values",id:"returning-values",level:3},{value:"ServerRpc and Authority",id:"serverrpc-and-authority",level:3}],u={toc:l};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"server-rpc"},"Server RPC"),(0,a.kt)("p",null,"Server RPC Calls are sent from character objects on the client to character objects on the server. For security, Server RPC Calls can only be sent from YOUR character object by default, so you cannot control the objects of other players. You can bypass the authority check using ",(0,a.kt)("inlineCode",{parentName:"p"},"[ServerRpc(requireAuthority = false)]"),"."),(0,a.kt)("p",null,"To make a function into a Server RPC call, add the ","[ServerRpc]"," custom attribute to it. This function will now be run on the server when it is called on the client. Any parameters of the ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/serialization/data-types"},"allowed data types")," will be automatically passed to the server with the Server RPC Call."),(0,a.kt)("p",null,"Server RPC Calls functions cannot be static. "),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class Player : NetworkBehaviour\n{\n // Assigned in inspector\n public GameObject cubePrefab;\n\n private void Update()\n {\n if (!IsLocalPlayer) \n {\n return;\n }\n\n if (Input.GetKey(KeyCode.X))\n {\n DropCube();\n }\n }\n\n [ServerRpc]\n private void DropCube()\n {\n if (cubePrefab != null)\n {\n Vector3 spawnPos = transform.position + transform.forward * 2;\n Quaternion spawnRot = transform.rotation;\n GameObject cube = Instantiate(cubePrefab, spawnPos, spawnRot);\n NetworkServer.Spawn(cube);\n }\n }\n}\n")),(0,a.kt)("admonition",{type:"caution"},(0,a.kt)("p",{parentName:"admonition"},"Be careful of sending ServerRpcs from the client every frame! This can cause a lot of network traffic.")),(0,a.kt)("h3",{id:"returning-values"},"Returning values"),(0,a.kt)("p",null,"ServerRpcs can return values. It can take a long time for the server to reply, so they must return a UniTask which the client can await.\nTo return a value, add a return value using ",(0,a.kt)("inlineCode",{parentName:"p"},"UniTask<MyReturnType>")," where ",(0,a.kt)("inlineCode",{parentName:"p"},"MyReturnType")," is any ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/serialization/data-types"},"supported Mirage type"),". In the server, you can make your method async, or you can use ",(0,a.kt)("inlineCode",{parentName:"p"},"UniTask.FromResult(myResult);"),". For example:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},'public class Shop : NetworkBehaviour\n {\n [ServerRpc]\n public UniTask<int> GetPrice(string item)\n {\n // do some loop up to get the price of some item\n // this can be from a database, or settings file or whatever\n switch (item)\n {\n case "turnip":\n return UniTask.FromResult(10);\n case "apple":\n return UniTask.FromResult(3);\n default:\n return UniTask.FromResult(int.MaxValue);\n }\n }\n\n [Client]\n public async UniTaskVoid DisplayTurnipPrice()\n {\n // Call the RPC and wait for the response without blocking the main thread\n var price = await GetPrice("turnip");\n Debug.Log($"Turnips price {price}");\n }\n }\n')),(0,a.kt)("h3",{id:"serverrpc-and-authority"},"ServerRpc and Authority"),(0,a.kt)("p",null,"It is possible to invoke ServerRpcs on non-character objects if any of the following are true:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"The object was spawned with client authority"),(0,a.kt)("li",{parentName:"ul"},"The object has client authority set with ",(0,a.kt)("inlineCode",{parentName:"li"},"NetworkIdentity.AssignClientAuthority")),(0,a.kt)("li",{parentName:"ul"},"the Server RPC Call has the ",(0,a.kt)("inlineCode",{parentName:"li"},"requireAuthority")," option set false. ",(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"You can include an optional ",(0,a.kt)("inlineCode",{parentName:"li"},"INetworkPlayer sender = null")," parameter in the Server RPC Call method signature and Mirage will fill in the sending client for you."),(0,a.kt)("li",{parentName:"ul"},"Do not try to set a value for this optional parameter...it will be ignored.")))),(0,a.kt)("p",null,"Server RPC Calls sent from these objects are run on the server instance of the object, not on the associated character object for the client."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public enum DoorState : byte\n{\n Open, Closed\n}\n\npublic class Door : NetworkBehaviour\n{\n [SyncVar]\n public DoorState doorState;\n\n [ServerRpc(requireAuthority = false)]\n public void CmdSetDoorState(DoorState newDoorState, INetworkPlayer sender = null)\n {\n if (sender.identity.GetComponent<Player>().hasDoorKey)\n {\n doorState = newDoorState;\n }\n }\n}\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bf614533.71539c37.js b/assets/js/bf614533.71539c37.js new file mode 100644 index 00000000000..7815ae81897 --- /dev/null +++ b/assets/js/bf614533.71539c37.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1802],{3905:(e,t,r)=>{r.d(t,{Zo:()=>m,kt:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var l=a.createContext({}),p=function(e){var t=a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},m=function(e){var t=p(e.components);return a.createElement(l.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,l=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),d=p(r),u=n,g=d["".concat(l,".").concat(u)]||d[u]||c[u]||i;return r?a.createElement(g,o(o({ref:t},m),{},{components:r})):a.createElement(g,o({ref:t},m))}));function u(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=d;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:n,o[1]=s;for(var p=2;p<i;p++)o[p]=r[p];return a.createElement.apply(null,o)}return a.createElement.apply(null,r)}d.displayName="MDXCreateElement"},5849:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>i,metadata:()=>s,toc:()=>p});var a=r(87462),n=(r(67294),r(3905));const i={sidebar_position:1},o="Samples Overview",s={unversionedId:"examples/index",id:"examples/index",title:"Samples Overview",description:"Mirage includes several small examples to help you learn how to use various features and how to set things up so they work together.",source:"@site/docs/examples/index.md",sourceDirName:"examples",slug:"/examples/",permalink:"/Mirage/docs/examples/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/examples/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"docs",previous:{title:"Examples",permalink:"/Mirage/docs/category/examples"},next:{title:"Additive Scenes Example",permalink:"/Mirage/docs/examples/additive-scenes"}},l={},p=[{value:"Import samples",id:"import-samples",level:2}],m={toc:p};function c(e){let{components:t,...i}=e;return(0,n.kt)("wrapper",(0,a.Z)({},m,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"samples-overview"},"Samples Overview"),(0,n.kt)("p",null,"Mirage includes several small examples to help you learn how to use various features and how to set things up so they work together."),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/docs/examples/additive-scenes"},"Additive Scenes"),(0,n.kt)("br",{parentName:"li"}),"The Additive Scenes example demonstrates a server additively loading a sub-scene into the main scene at startup, and having a server-only trigger that generates a message to any client whose player enters the trigger zone to also load the sub-scene, and subsequently unload it when they leave the trigger zone. Only players inside the trigger zone can see the objects in the sub-scene. Network Proximity Checker components are key to making this scenario work."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/docs/examples/basic"},"Basic"),(0,n.kt)("br",{parentName:"li"}),"Basic is what it sounds like...the most rudimentary baseline of a networked game. Features SyncVars updating random UI data for each player."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/docs/examples/chat"},"Chat"),(0,n.kt)("br",{parentName:"li"}),"A simple text chat for multiple networked clients."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/docs/examples/change-scene"},"ChangeScene"),(0,n.kt)("br",{parentName:"li"}),"Provides examples for Normal and Additive network scene changing."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/docs/examples/pong"},"Pong"),(0,n.kt)("br",{parentName:"li"}),'A simple example of "How to build a multiplayer game with Mirage" is Pong. It illustrates the usage of ',(0,n.kt)("inlineCode",{parentName:"li"},"NetworkManager"),", ",(0,n.kt)("inlineCode",{parentName:"li"},"NetworkManagerHUD"),", NetworkBehaviour, NetworkIdentity, ",(0,n.kt)("inlineCode",{parentName:"li"},"NetworkTransform"),", ",(0,n.kt)("inlineCode",{parentName:"li"},"NetworkStartPosition"),"and various Attributes."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"/docs/examples/tanks"},"Tanks"),(0,n.kt)("br",{parentName:"li"}),"This is a simple scene with animated tanks, networked rigidbody projectiles, and NavMesh movement")),(0,n.kt)("h2",{id:"import-samples"},"Import samples"),(0,n.kt)("p",null,"Sample can be imported using the Unity Package manager. They can be found inside the ",(0,n.kt)("inlineCode",{parentName:"p"},"Samples")," Dropdown."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Sample dropdown",src:r(61416).Z,width:"1005",height:"730"})))}c.isMDXComponent=!0},61416:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/UPM-samples-85e4bd29fd03e955cd0a3629138aedf8.png"}}]); \ No newline at end of file diff --git a/assets/js/bfb14a0f.970aca50.js b/assets/js/bfb14a0f.970aca50.js new file mode 100644 index 00000000000..cdb35f00734 --- /dev/null +++ b/assets/js/bfb14a0f.970aca50.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1239],{3905:(e,t,a)=>{a.d(t,{Zo:()=>k,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function u(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var p=r.createContext({}),o=function(e){var t=r.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},k=function(e){var t=o(e.components);return r.createElement(p.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},c=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,p=e.parentName,k=u(e,["components","mdxType","originalType","parentName"]),c=o(a),m=n,s=c["".concat(p,".").concat(m)]||c[m]||d[m]||l;return a?r.createElement(s,i(i({ref:t},k),{},{components:a})):r.createElement(s,i({ref:t},k))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=c;var u={};for(var p in t)hasOwnProperty.call(t,p)&&(u[p]=t[p]);u.originalType=e,u.mdxType="string"==typeof e?e:n,i[1]=u;for(var o=2;o<l;o++)i[o]=a[o];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}c.displayName="MDXCreateElement"},73934:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>d,frontMatter:()=>l,metadata:()=>u,toc:()=>o});var r=a(87462),n=(a(67294),a(3905));const l={id:"QuaternionPacker",title:"QuaternionPacker"},i="Class QuaternionPacker",u={unversionedId:"reference/Mirage.Serialization/QuaternionPacker",id:"reference/Mirage.Serialization/QuaternionPacker",title:"QuaternionPacker",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/QuaternionPacker.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/QuaternionPacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/QuaternionPacker",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/QuaternionPacker.md",tags:[],version:"current",frontMatter:{id:"QuaternionPacker",title:"QuaternionPacker"},sidebar:"api",previous:{title:"QuaternionPackAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/QuaternionPackAttribute"},next:{title:"Reader<T>",permalink:"/Mirage/docs/reference/Mirage.Serialization/Reader-1"}},p={},o=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"QuaternionPacker(Int32)",id:"quaternionpackerint32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"Default9",id:"default9",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Default10",id:"default10",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Methods",id:"methods",level:3},{value:"PackAsInt(Quaternion)",id:"packasintquaternion",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"UnpackFromInt(UInt32)",id:"unpackfromintuint32",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-1",level:5},{value:"Pack(NetworkWriter, Quaternion)",id:"packnetworkwriter-quaternion",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Pack(Quaternion)",id:"packquaternion",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns-2",level:5},{value:"Unpack(NetworkReader)",id:"unpacknetworkreader",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"Returns",id:"returns-3",level:5},{value:"Unpack(UInt64)",id:"unpackuint64",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"Returns",id:"returns-4",level:5}],k={toc:o};function d(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},k,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-quaternionpacker"},"Class QuaternionPacker"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class QuaternionPacker\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"quaternionpackerint32"},"QuaternionPacker(Int32)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public QuaternionPacker(int quaternionBitLength = 10)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"quaternionBitLength"),(0,n.kt)("td",{parentName:"tr",align:null},"10 per ",'"',"smallest 3",'"'," is good enough for most people")))),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"default9"},"Default9"),(0,n.kt)("p",null,"Default packer using 9 bits per element, 29 bits total"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static readonly QuaternionPacker Default9\n")),(0,n.kt)("h4",{id:"default10"},"Default10"),(0,n.kt)("p",null,"Default packer using 10 bits per element, 32 bits total"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static readonly QuaternionPacker Default10\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"packasintquaternion"},"PackAsInt(Quaternion)"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static uint PackAsInt(Quaternion value)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Quaternion"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpackfromintuint32"},"UnpackFromInt(UInt32)"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static Quaternion UnpackFromInt(uint value)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Quaternion"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"packnetworkwriter-quaternion"},"Pack(NetworkWriter, Quaternion)"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Pack(NetworkWriter writer, Quaternion value)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Quaternion"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"packquaternion"},"Pack(Quaternion)"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public ulong Pack(Quaternion value)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Quaternion"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-2"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpacknetworkreader"},"Unpack(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Quaternion Unpack(NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-5"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-3"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Quaternion"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpackuint64"},"Unpack(UInt64)"),(0,n.kt)("h5",{id:"declaration-8"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Quaternion Unpack(ulong combine)\n")),(0,n.kt)("h5",{id:"parameters-6"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"combine"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-4"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Quaternion"),(0,n.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c0cb6d49.b3a0c9bd.js b/assets/js/c0cb6d49.b3a0c9bd.js new file mode 100644 index 00000000000..9ae941c82fd --- /dev/null +++ b/assets/js/c0cb6d49.b3a0c9bd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1838],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>d});var n=t(67294);function i(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function a(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){i(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function s(e,r){if(null==e)return{};var t,n,i=function(e,r){if(null==e)return{};var t,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var c=n.createContext({}),l=function(e){var r=n.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):a(a({},r),e)),t},p=function(e){var r=l(e.components);return n.createElement(c.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},f=n.forwardRef((function(e,r){var t=e.components,i=e.mdxType,o=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),f=l(t),d=i,g=f["".concat(c,".").concat(d)]||f[d]||u[d]||o;return t?n.createElement(g,a(a({ref:r},p),{},{components:t})):n.createElement(g,a({ref:r},p))}));function d(e,r){var t=arguments,i=r&&r.mdxType;if("string"==typeof e||i){var o=t.length,a=new Array(o);a[0]=f;var s={};for(var c in r)hasOwnProperty.call(r,c)&&(s[c]=r[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,a[1]=s;for(var l=2;l<o;l++)a[l]=t[l];return n.createElement.apply(null,a)}return n.createElement.apply(null,t)}f.displayName="MDXCreateElement"},24423:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var n=t(87462),i=(t(67294),t(3905));const o={id:"NetworkDiagnostics",title:"NetworkDiagnostics"},a="Class NetworkDiagnostics",s={unversionedId:"reference/Mirage/NetworkDiagnostics",id:"reference/Mirage/NetworkDiagnostics",title:"NetworkDiagnostics",description:"Provides profiling information from mirror",source:"@site/docs/reference/Mirage/NetworkDiagnostics.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkDiagnostics",permalink:"/Mirage/docs/reference/Mirage/NetworkDiagnostics",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkDiagnostics.md",tags:[],version:"current",frontMatter:{id:"NetworkDiagnostics",title:"NetworkDiagnostics"},sidebar:"api",previous:{title:"NetworkDiagnostics.MessageInfo",permalink:"/Mirage/docs/reference/Mirage/NetworkDiagnostics.MessageInfo"},next:{title:"NetworkExtensions",permalink:"/Mirage/docs/reference/Mirage/NetworkExtensions"}},c={},l=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5}],p={toc:l};function u(e){let{components:r,...t}=e;return(0,i.kt)("wrapper",(0,n.Z)({},p,t,{components:r,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-networkdiagnostics"},"Class NetworkDiagnostics"),(0,i.kt)("p",null,"Provides profiling information from mirror\nA profiler can subscribe to these events and\npresent the data in a friendly way to the user"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public static class NetworkDiagnostics\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c0cd22d5.5563d791.js b/assets/js/c0cd22d5.5563d791.js new file mode 100644 index 00000000000..594c709f89e --- /dev/null +++ b/assets/js/c0cd22d5.5563d791.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9539],{3905:(e,r,t)=>{t.d(r,{Zo:()=>s,kt:()=>f});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function c(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function i(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=n.createContext({}),p=function(e){var r=n.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):c(c({},r),e)),t},s=function(e){var r=p(e.components);return n.createElement(l.Provider,{value:r},e.children)},m={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},u=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),u=p(t),f=a,g=u["".concat(l,".").concat(f)]||u[f]||m[f]||o;return t?n.createElement(g,c(c({ref:r},s),{},{components:t})):n.createElement(g,c({ref:r},s))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,c=new Array(o);c[0]=u;var i={};for(var l in r)hasOwnProperty.call(r,l)&&(i[l]=r[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,c[1]=i;for(var p=2;p<o;p++)c[p]=t[p];return n.createElement.apply(null,c)}return n.createElement.apply(null,t)}u.displayName="MDXCreateElement"},63253:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>c,default:()=>m,frontMatter:()=>o,metadata:()=>i,toc:()=>p});var n=t(87462),a=(t(67294),t(3905));const o={},c="Network Manager",i={unversionedId:"components/network-manager",id:"components/network-manager",title:"Network Manager",description:"NetworkManager is a helper class with instance references to the other major parts of the Mirage network.",source:"@site/docs/components/network-manager.md",sourceDirName:"components",slug:"/components/network-manager",permalink:"/Mirage/docs/components/network-manager",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/network-manager.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Manager HUD",permalink:"/Mirage/docs/components/network-manager-hud"},next:{title:"Network Match Checker",permalink:"/Mirage/docs/components/network-match-checker"}},l={},p=[],s={toc:p};function m(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"network-manager"},"Network Manager"),(0,a.kt)("p",null,"NetworkManager is a helper class with instance references to the other major parts of the Mirage network."),(0,a.kt)("p",null,"It provides quick access to: "),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkServer"},"NetworkServer")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkClient"},"NetworkClient")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkSceneManager"},"NetworkSceneManager")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/ServerObjectManager"},"ServerObjectManager")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/ClientObjectManager"},"ClientObjectManager"))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c1a5e256.7b7f78b5.js b/assets/js/c1a5e256.7b7f78b5.js new file mode 100644 index 00000000000..4e8a168a876 --- /dev/null +++ b/assets/js/c1a5e256.7b7f78b5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8053],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>f});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),s=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},d=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},y=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),y=s(a),f=n,u=y["".concat(c,".").concat(f)]||y[f]||p[f]||l;return a?r.createElement(u,i(i({ref:t},d),{},{components:a})):r.createElement(u,i({ref:t},d))}));function f(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=y;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var s=2;s<l;s++)i[s]=a[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}y.displayName="MDXCreateElement"},97802:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>s});var r=a(87462),n=(a(67294),a(3905));const l={id:"INotifyCallBackExtensions",title:"INotifyCallBackExtensions"},i="Class INotifyCallBackExtensions",o={unversionedId:"reference/Mirage.SocketLayer/INotifyCallBackExtensions",id:"reference/Mirage.SocketLayer/INotifyCallBackExtensions",title:"INotifyCallBackExtensions",description:"Inheritance",source:"@site/docs/reference/Mirage.SocketLayer/INotifyCallBackExtensions.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/INotifyCallBackExtensions",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/INotifyCallBackExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/INotifyCallBackExtensions.md",tags:[],version:"current",frontMatter:{id:"INotifyCallBackExtensions",title:"INotifyCallBackExtensions"},sidebar:"api",previous:{title:"INotifyCallBack",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/INotifyCallBack"},next:{title:"INotifyToken",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/INotifyToken"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"Notify(INotifyCallBack, Boolean)",id:"notifyinotifycallback-boolean",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5}],d={toc:s};function p(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-inotifycallbackextensions"},"Class INotifyCallBackExtensions"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class INotifyCallBackExtensions\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"notifyinotifycallback-boolean"},"Notify(INotifyCallBack, Boolean)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void Notify(this INotifyCallBack callBack, bool delivered)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyCallBack"),(0,n.kt)("td",{parentName:"tr",align:null},"callBack"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"delivered"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c1ae4c6e.c8536fb6.js b/assets/js/c1ae4c6e.c8536fb6.js new file mode 100644 index 00000000000..167daa38eef --- /dev/null +++ b/assets/js/c1ae4c6e.c8536fb6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4540],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var o=a.createContext({}),p=function(e){var t=a.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=p(e.components);return a.createElement(o.Provider,{value:t},e.children)},k={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},s=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),s=p(r),u=n,m=s["".concat(o,".").concat(u)]||s[u]||k[u]||l;return r?a.createElement(m,i(i({ref:t},d),{},{components:r})):a.createElement(m,i({ref:t},d))}));function u(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=s;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var p=2;p<l;p++)i[p]=r[p];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}s.displayName="MDXCreateElement"},78072:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>k,frontMatter:()=>l,metadata:()=>c,toc:()=>p});var a=r(87462),n=(r(67294),r(3905));const l={id:"VarVector2Packer",title:"VarVector2Packer"},i="Class VarVector2Packer",c={unversionedId:"reference/Mirage.Serialization/VarVector2Packer",id:"reference/Mirage.Serialization/VarVector2Packer",title:"VarVector2Packer",description:"Packs a vector3 using and",source:"@site/docs/reference/Mirage.Serialization/VarVector2Packer.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/VarVector2Packer",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarVector2Packer",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/VarVector2Packer.md",tags:[],version:"current",frontMatter:{id:"VarVector2Packer",title:"VarVector2Packer"},sidebar:"api",previous:{title:"VarIntPacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarIntPacker"},next:{title:"VarVector3Packer",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarVector3Packer"}},o={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"VarVector2Packer(Vector2, Int32)",id:"varvector2packervector2-int32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"Pack(NetworkWriter, Vector2)",id:"packnetworkwriter-vector2",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Unpack(NetworkReader)",id:"unpacknetworkreader",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns",level:5}],d={toc:p};function k(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-varvector2packer"},"Class VarVector2Packer"),(0,n.kt)("p",null,"Packs a vector3 using and "),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class VarVector2Packer\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"varvector2packervector2-int32"},"VarVector2Packer(Vector2, Int32)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public VarVector2Packer(Vector2 precision, int blocksize)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Vector2"),(0,n.kt)("td",{parentName:"tr",align:null},"precision"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"blocksize"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"packnetworkwriter-vector2"},"Pack(NetworkWriter, Vector2)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Pack(NetworkWriter writer, Vector2 position)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Vector2"),(0,n.kt)("td",{parentName:"tr",align:null},"position"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpacknetworkreader"},"Unpack(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector2 Unpack(NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Vector2"),(0,n.kt)("td",{parentName:"tr",align:null})))))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c42d2489.23d0e850.js b/assets/js/c42d2489.23d0e850.js new file mode 100644 index 00000000000..74268e5facb --- /dev/null +++ b/assets/js/c42d2489.23d0e850.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9046],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var s=r.createContext({}),d=function(e){var t=r.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},c=function(e){var t=d(e.components);return r.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},g=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),g=d(a),m=n,u=g["".concat(s,".").concat(m)]||g[m]||p[m]||l;return a?r.createElement(u,i(i({ref:t},c),{},{components:a})):r.createElement(u,i({ref:t},c))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=g;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var d=2;d<l;d++)i[d]=a[d];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}g.displayName="MDXCreateElement"},94774:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var r=a(87462),n=(a(67294),a(3905));const l={id:"MessageHandler",title:"MessageHandler"},i="Class MessageHandler",o={unversionedId:"reference/Mirage/MessageHandler",id:"reference/Mirage/MessageHandler",title:"MessageHandler",description:"Inheritance",source:"@site/docs/reference/Mirage/MessageHandler.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/MessageHandler",permalink:"/Mirage/docs/reference/Mirage/MessageHandler",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/MessageHandler.md",tags:[],version:"current",frontMatter:{id:"MessageHandler",title:"MessageHandler"},sidebar:"api",previous:{title:"MessageDelegateWithPlayerAsync<T>",permalink:"/Mirage/docs/reference/Mirage/MessageDelegateWithPlayerAsync-1"},next:{title:"MessageReceiverExtensions",permalink:"/Mirage/docs/reference/Mirage/MessageReceiverExtensions"}},s={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"MessageHandler(IObjectLocator, Boolean, Boolean)",id:"messagehandleriobjectlocator-boolean-boolean",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"RegisterHandler<T>(MessageDelegateWithPlayer<T>, Boolean)",id:"registerhandlertmessagedelegatewithplayert-boolean",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"UnregisterHandler<T>()",id:"unregisterhandlert",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"ClearHandlers()",id:"clearhandlers",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"HandleMessage(INetworkPlayer, ArraySegment<Byte>)",id:"handlemessageinetworkplayer-arraysegmentbyte",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"LogAndCheckDisconnect(INetworkPlayer, Exception)",id:"logandcheckdisconnectinetworkplayer-exception",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-3",level:5}],c={toc:d};function p(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-messagehandler"},"Class MessageHandler"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class MessageHandler : IMessageReceiver\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"messagehandleriobjectlocator-boolean-boolean"},"MessageHandler(IObjectLocator, Boolean, Boolean)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public MessageHandler(IObjectLocator objectLocator, bool disconnectOnException, bool rethrowException = false)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.IObjectLocator"),(0,n.kt)("td",{parentName:"tr",align:null},"objectLocator"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"disconnectOnException"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"rethrowException"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"registerhandlertmessagedelegatewithplayert-boolean"},"RegisterHandler","<","T",">","(MessageDelegateWithPlayer","<","T",">",", Boolean)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void RegisterHandler<T>(MessageDelegateWithPlayer<T> handler, bool allowUnauthenticated)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.MessageDelegateWithPlayer","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null},"handler"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"allowUnauthenticated"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unregisterhandlert"},"UnregisterHandler","<","T",">","()"),(0,n.kt)("p",null,"Unregister a handler for a particular message type.\nNote: Messages dont need to be unregister when server or client stops as MessageHandler will be re-created next time server or client starts"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void UnregisterHandler<T>()\n")),(0,n.kt)("h4",{id:"clearhandlers"},"ClearHandlers()"),(0,n.kt)("p",null,"Clear all registered callback handlers."),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void ClearHandlers()\n")),(0,n.kt)("h4",{id:"handlemessageinetworkplayer-arraysegmentbyte"},"HandleMessage(INetworkPlayer, ArraySegment","<","Byte",">",")"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void HandleMessage(INetworkPlayer player, ArraySegment<byte> packet)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,n.kt)("td",{parentName:"tr",align:null},"packet"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"logandcheckdisconnectinetworkplayer-exception"},"LogAndCheckDisconnect(INetworkPlayer, Exception)"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void LogAndCheckDisconnect(INetworkPlayer player, Exception e)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Exception"),(0,n.kt)("td",{parentName:"tr",align:null},"e"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c46dad8c.098203c9.js b/assets/js/c46dad8c.098203c9.js new file mode 100644 index 00000000000..008e99aed6f --- /dev/null +++ b/assets/js/c46dad8c.098203c9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3084],{3905:(e,r,t)=>{t.d(r,{Zo:()=>s,kt:()=>u});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function l(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?l(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function i(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)t=l[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)t=l[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=n.createContext({}),p=function(e){var r=n.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},s=function(e){var r=p(e.components);return n.createElement(c.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},g=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,l=e.originalType,c=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),g=p(t),u=a,f=g["".concat(c,".").concat(u)]||g[u]||d[u]||l;return t?n.createElement(f,o(o({ref:r},s),{},{components:t})):n.createElement(f,o({ref:r},s))}));function u(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var l=t.length,o=new Array(l);o[0]=g;var i={};for(var c in r)hasOwnProperty.call(r,c)&&(i[c]=r[c]);i.originalType=e,i.mdxType="string"==typeof e?e:a,o[1]=i;for(var p=2;p<l;p++)o[p]=t[p];return n.createElement.apply(null,o)}return n.createElement.apply(null,t)}g.displayName="MDXCreateElement"},13047:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>p});var n=t(87462),a=(t(67294),t(3905));const l={id:"SpawnHandlerDelegate",title:"SpawnHandlerDelegate"},o="Delegate SpawnHandlerDelegate",i={unversionedId:"reference/Mirage/SpawnHandlerDelegate",id:"reference/Mirage/SpawnHandlerDelegate",title:"SpawnHandlerDelegate",description:"Syntax",source:"@site/docs/reference/Mirage/SpawnHandlerDelegate.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SpawnHandlerDelegate",permalink:"/Mirage/docs/reference/Mirage/SpawnHandlerDelegate",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SpawnHandlerDelegate.md",tags:[],version:"current",frontMatter:{id:"SpawnHandlerDelegate",title:"SpawnHandlerDelegate"},sidebar:"api",previous:{title:"SpawnHandlerAsyncDelegate",permalink:"/Mirage/docs/reference/Mirage/SpawnHandlerAsyncDelegate"},next:{title:"SpawnMessage",permalink:"/Mirage/docs/reference/Mirage/SpawnMessage"}},c={},p=[{value:"Syntax",id:"syntax",level:5}],s={toc:p};function d(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"delegate-spawnhandlerdelegate"},"Delegate SpawnHandlerDelegate"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public delegate NetworkIdentity SpawnHandlerDelegate(SpawnMessage msg);\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c4f5d8e4.f87fae05.js b/assets/js/c4f5d8e4.f87fae05.js new file mode 100644 index 00000000000..21dfa22ee21 --- /dev/null +++ b/assets/js/c4f5d8e4.f87fae05.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4195],{59335:(e,t,n)=>{n.r(t),n.d(t,{default:()=>E});var a=n(67294),r=n(86010),l=n(4194),i=n(39960),s=n(52263);const c="heroBanner_qdFl",o="buttons_AeoN";var m=n(87462);const d="features_xdhU",u=[{title:"Modularity",description:a.createElement(a.Fragment,null,"Mirage is built on top of modular components and is easily extensible. Use only the features that you need.")},{title:"Shared codebase",description:a.createElement(a.Fragment,null,"Both server and client can share the same code in a single project which improves productivity and simplifies development.")},{title:"No static state",description:a.createElement(a.Fragment,null,"Run multiple servers/clients from a single Unity instance.")},{title:"Low bandwidth usage",description:a.createElement(a.Fragment,null,"Use our ",a.createElement("a",{href:"docs/guides/bit-packing/"},"Bit Packing")," features to greatly reduce bandwidth.")},{title:"State synchronization",description:a.createElement(a.Fragment,null,"Use ",a.createElement("a",{href:"docs/guides/sync/"},"SyncVars")," to easily synchronize your game state over the network.")},{title:"Server authoritative",description:a.createElement(a.Fragment,null,"Utilize the ",a.createElement("a",{href:"docs/guides/remote-actions/server-rpc"},"Server RPCs")," to do server-authoritative tasks.")}];function h(e){let{Svg:t,title:n,description:l}=e;return a.createElement("div",{className:(0,r.Z)("col col--4")},a.createElement("div",{className:"text--center padding-horiz--md"},a.createElement("h3",null,n),a.createElement("p",null,l)))}function g(){return a.createElement("section",{className:d},a.createElement("div",{className:"container"},a.createElement("div",{className:"row"},u.map(((e,t)=>a.createElement(h,(0,m.Z)({key:t},e)))))))}function p(){const{siteConfig:e}=(0,s.Z)();return a.createElement("header",{className:(0,r.Z)("hero hero--primary",c,"home-page")},a.createElement("div",{className:"container"},a.createElement("h1",{className:"hero__title"},e.title),a.createElement("p",{className:"hero__subtitle"},e.tagline),a.createElement("div",{className:o},a.createElement(i.Z,{className:"button button--secondary button--lg",to:"/docs/general/getting-started"},"Get Started!"))))}function E(){const{siteConfig:e}=(0,s.Z)();return a.createElement(l.Z,{title:e.title,description:e.tagline},a.createElement(p,null),a.createElement("main",null,a.createElement(g,null)))}}}]); \ No newline at end of file diff --git a/assets/js/c5e4a08a.58098a35.js b/assets/js/c5e4a08a.58098a35.js new file mode 100644 index 00000000000..80fff0e6009 --- /dev/null +++ b/assets/js/c5e4a08a.58098a35.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8266],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>g});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var s=n.createContext({}),c=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,o=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(r),g=i,m=d["".concat(s,".").concat(g)]||d[g]||p[g]||o;return r?n.createElement(m,a(a({ref:t},u),{},{components:r})):n.createElement(m,a({ref:t},u))}));function g(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=r.length,a=new Array(o);a[0]=d;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:i,a[1]=l;for(var c=2;c<o;c++)a[c]=r[c];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},94967:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var n=r(87462),i=(r(67294),r(3905));const o={sidebar_position:1},a="Networking Concepts Overview",l={unversionedId:"guides/overview",id:"guides/overview",title:"Networking Concepts Overview",description:"High-level scripting API",source:"@site/docs/guides/overview.md",sourceDirName:"guides",slug:"/guides/overview",permalink:"/Mirage/docs/guides/overview",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/overview.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"docs",previous:{title:"Guides",permalink:"/Mirage/docs/category/guides"},next:{title:"Network Authority",permalink:"/Mirage/docs/guides/authority"}},s={},c=[{value:"High-level scripting API",id:"high-level-scripting-api",level:2},{value:"Engine and Editor integration",id:"engine-and-editor-integration",level:2}],u={toc:c};function p(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"networking-concepts-overview"},"Networking Concepts Overview"),(0,i.kt)("h2",{id:"high-level-scripting-api"},"High-level scripting API"),(0,i.kt)("p",null,'Mirage\u2019s networking has a "high-level" scripting API (which we\u2019ll refer to as the HLAPI). Using this means you get access to commands which cover most of the common requirements for multiuser games without needing to worry about the "lower level" implementation details. The HLAPI allows you to:'),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},'Control the networked state of the game using a "Network Manager"'),(0,i.kt)("li",{parentName:"ul"},'Operate "client hosted" games, where the host is also a player client'),(0,i.kt)("li",{parentName:"ul"},"Serialize data using a general-purpose serializer"),(0,i.kt)("li",{parentName:"ul"},"Send and receive network messages"),(0,i.kt)("li",{parentName:"ul"},"Send networked commands from clients to servers"),(0,i.kt)("li",{parentName:"ul"},"Make remote procedure calls (RPCs) from servers to clients"),(0,i.kt)("li",{parentName:"ul"},"Send networked events from servers to clients")),(0,i.kt)("h2",{id:"engine-and-editor-integration"},"Engine and Editor integration"),(0,i.kt)("p",null,"Mirage\u2019s networking is integrated into the engine and the editor, allowing you to work with components and visual aids to build your multiplayer game. It provides:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"A NetworkIdentity component for networked objects"),(0,i.kt)("li",{parentName:"ul"},"A NetworkBehaviour for networked scripts"),(0,i.kt)("li",{parentName:"ul"},"Configurable automatic synchronization of object transforms"),(0,i.kt)("li",{parentName:"ul"},"Automatic synchronization of script variables"),(0,i.kt)("li",{parentName:"ul"},"Support for placing networked objects in Unity scenes"),(0,i.kt)("li",{parentName:"ul"},"Network components")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c6182bb9.454cd107.js b/assets/js/c6182bb9.454cd107.js new file mode 100644 index 00000000000..b8ec0403c61 --- /dev/null +++ b/assets/js/c6182bb9.454cd107.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7585],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>d});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,l=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),f=s(r),d=i,b=f["".concat(l,".").concat(d)]||f[d]||u[d]||a;return r?n.createElement(b,c(c({ref:t},p),{},{components:r})):n.createElement(b,c({ref:t},p))}));function d(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,c=new Array(a);c[0]=f;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o.mdxType="string"==typeof e?e:i,c[1]=o;for(var s=2;s<a;s++)c[s]=r[s];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},28798:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>s});var n=r(87462),i=(r(67294),r(3905));const a={id:"SceneAttribute",title:"SceneAttribute"},c="Class SceneAttribute",o={unversionedId:"reference/Mirage/SceneAttribute",id:"reference/Mirage/SceneAttribute",title:"SceneAttribute",description:"Converts a string property into a Scene property in the inspector",source:"@site/docs/reference/Mirage/SceneAttribute.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SceneAttribute",permalink:"/Mirage/docs/reference/Mirage/SceneAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SceneAttribute.md",tags:[],version:"current",frontMatter:{id:"SceneAttribute",title:"SceneAttribute"},sidebar:"api",previous:{title:"RpcTarget",permalink:"/Mirage/docs/reference/Mirage/RpcTarget"},next:{title:"SceneChangeFinishedEvent",permalink:"/Mirage/docs/reference/Mirage/SceneChangeFinishedEvent"}},l={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5}],p={toc:s};function u(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-sceneattribute"},"Class SceneAttribute"),(0,i.kt)("p",null,"Converts a string property into a Scene property in the inspector"),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class SceneAttribute : PropertyAttribute\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c64a7ca8.f6f1cbcb.js b/assets/js/c64a7ca8.f6f1cbcb.js new file mode 100644 index 00000000000..57c727601df --- /dev/null +++ b/assets/js/c64a7ca8.f6f1cbcb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6643],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function d(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var o=a.createContext({}),c=function(e){var t=a.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=c(e.components);return a.createElement(o.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),m=c(r),u=n,v=m["".concat(o,".").concat(u)]||m[u]||s[u]||l;return r?a.createElement(v,i(i({ref:t},p),{},{components:r})):a.createElement(v,i({ref:t},p))}));function u(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=m;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d.mdxType="string"==typeof e?e:n,i[1]=d;for(var c=2;c<l;c++)i[c]=r[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}m.displayName="MDXCreateElement"},56416:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>d,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const l={id:"IAddLateEvent-2",title:"IAddLateEvent<T0, T1>"},i="Interface IAddLateEvent<T0, T1>",d={unversionedId:"reference/Mirage.Events/IAddLateEvent-2",id:"reference/Mirage.Events/IAddLateEvent-2",title:"IAddLateEvent<T0, T1>",description:"Version of with 2 arguments",source:"@site/docs/reference/Mirage.Events/IAddLateEvent-2.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/IAddLateEvent-2",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEvent-2",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/IAddLateEvent-2.md",tags:[],version:"current",frontMatter:{id:"IAddLateEvent-2",title:"IAddLateEvent<T0, T1>"},sidebar:"api",previous:{title:"IAddLateEvent<T0>",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEvent-1"},next:{title:"IAddLateEvent",permalink:"/Mirage/docs/reference/Mirage.Events/IAddLateEvent"}},o={},c=[{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"AddListener(Action<T0, T1>)",id:"addlisteneractiont0-t1",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RemoveListener(Action<T0, T1>)",id:"removelisteneractiont0-t1",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],p={toc:c};function s(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"interface-iaddlateeventt0-t1"},"Interface IAddLateEvent","<","T0, T1",">"),(0,n.kt)("p",null,"Version of with 2 arguments"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IAddLateEvent<T0, T1>\n")),(0,n.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T0"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T1"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"addlisteneractiont0-t1"},"AddListener(Action","<","T0, T1",">",")"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void AddListener(Action<T0, T1> handler)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Action","<","T0, T1",">"),(0,n.kt)("td",{parentName:"tr",align:null},"handler"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"removelisteneractiont0-t1"},"RemoveListener(Action","<","T0, T1",">",")"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void RemoveListener(Action<T0, T1> handler)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Action","<","T0, T1",">"),(0,n.kt)("td",{parentName:"tr",align:null},"handler"),(0,n.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c7556772.530df1b9.js b/assets/js/c7556772.530df1b9.js new file mode 100644 index 00000000000..380c48b9f3a --- /dev/null +++ b/assets/js/c7556772.530df1b9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4511],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),s=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},u=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),d=s(a),m=n,g=d["".concat(c,".").concat(m)]||d[m]||p[m]||l;return a?r.createElement(g,i(i({ref:t},u),{},{components:a})):r.createElement(g,i({ref:t},u))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=d;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var s=2;s<l;s++)i[s]=a[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}d.displayName="MDXCreateElement"},39624:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>s});var r=a(87462),n=(a(67294),a(3905));const l={id:"SpawnValues",title:"SpawnValues"},i="Struct SpawnValues",o={unversionedId:"reference/Mirage/SpawnValues",id:"reference/Mirage/SpawnValues",title:"SpawnValues",description:"Syntax",source:"@site/docs/reference/Mirage/SpawnValues.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SpawnValues",permalink:"/Mirage/docs/reference/Mirage/SpawnValues",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SpawnValues.md",tags:[],version:"current",frontMatter:{id:"SpawnValues",title:"SpawnValues"},sidebar:"api",previous:{title:"SpawnObjectException",permalink:"/Mirage/docs/reference/Mirage/SpawnObjectException"},next:{title:"StringHash",permalink:"/Mirage/docs/reference/Mirage/StringHash"}},c={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Position",id:"position",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Rotation",id:"rotation",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Scale",id:"scale",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Name",id:"name",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"SelfActive",id:"selfactive",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Methods",id:"methods",level:3},{value:"ToString()",id:"tostring",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Returns",id:"returns",level:5}],u={toc:s};function p(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"struct-spawnvalues"},"Struct SpawnValues"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public struct SpawnValues\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"position"},"Position"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector3? Position\n")),(0,n.kt)("h4",{id:"rotation"},"Rotation"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Quaternion? Rotation\n")),(0,n.kt)("h4",{id:"scale"},"Scale"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector3? Scale\n")),(0,n.kt)("h4",{id:"name"},"Name"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public string Name\n")),(0,n.kt)("h4",{id:"selfactive"},"SelfActive"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool? SelfActive\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"tostring"},"ToString()"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override string ToString()\n")),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.String"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c7769688.661d208f.js b/assets/js/c7769688.661d208f.js new file mode 100644 index 00000000000..c2bf1b63d18 --- /dev/null +++ b/assets/js/c7769688.661d208f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6245],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>k});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),s=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},d=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),p=s(a),k=n,m=p["".concat(c,".").concat(k)]||p[k]||u[k]||l;return a?r.createElement(m,i(i({ref:t},d),{},{components:a})):r.createElement(m,i({ref:t},d))}));function k(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var s=2;s<l;s++)i[s]=a[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}p.displayName="MDXCreateElement"},40472:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>s});var r=a(87462),n=(a(67294),a(3905));const l={id:"ISyncObject",title:"ISyncObject"},i="Interface ISyncObject",o={unversionedId:"reference/Mirage.Collections/ISyncObject",id:"reference/Mirage.Collections/ISyncObject",title:"ISyncObject",description:"A sync object is an object that can synchronize it's state",source:"@site/docs/reference/Mirage.Collections/ISyncObject.md",sourceDirName:"reference/Mirage.Collections",slug:"/reference/Mirage.Collections/ISyncObject",permalink:"/Mirage/docs/reference/Mirage.Collections/ISyncObject",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Collections/ISyncObject.md",tags:[],version:"current",frontMatter:{id:"ISyncObject",title:"ISyncObject"},sidebar:"api",previous:{title:"Mirage.Collections",permalink:"/Mirage/docs/reference/Mirage.Collections/"},next:{title:"SyncDictionary<TKey, TValue>",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncDictionary-2"}},c={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"IsDirty",id:"isdirty",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Methods",id:"methods",level:3},{value:"SetShouldSyncFrom(Boolean)",id:"setshouldsyncfromboolean",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Flush()",id:"flush",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"OnSerializeAll(NetworkWriter)",id:"onserializeallnetworkwriter",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"OnSerializeDelta(NetworkWriter)",id:"onserializedeltanetworkwriter",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"OnDeserializeAll(NetworkReader)",id:"ondeserializeallnetworkreader",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"OnDeserializeDelta(NetworkReader)",id:"ondeserializedeltanetworkreader",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Reset()",id:"reset",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"SetNetworkBehaviour(NetworkBehaviour)",id:"setnetworkbehaviournetworkbehaviour",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-5",level:5}],d={toc:s};function u(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"interface-isyncobject"},"Interface ISyncObject"),(0,n.kt)("p",null,"A sync object is an object that can synchronize it","'","s state\nbetween server and client, such as a SyncList"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public interface ISyncObject\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"isdirty"},"IsDirty"),(0,n.kt)("p",null,"true if there are changes since the last flush"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"bool IsDirty { get; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"setshouldsyncfromboolean"},"SetShouldSyncFrom(Boolean)"),(0,n.kt)("p",null,"Are we sending or receiving data from this instance. This is used to determine if we should throw if a change is made on the wrong instance"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void SetShouldSyncFrom(bool shouldSync)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"shouldSync"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"flush"},"Flush()"),(0,n.kt)("p",null,"Discard all the queued changes\nConsider the object fully synchronized with clients"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void Flush()\n")),(0,n.kt)("h4",{id:"onserializeallnetworkwriter"},"OnSerializeAll(NetworkWriter)"),(0,n.kt)("p",null,"Write a full copy of the object"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void OnSerializeAll(NetworkWriter writer)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"onserializedeltanetworkwriter"},"OnSerializeDelta(NetworkWriter)"),(0,n.kt)("p",null,"Write the changes made to the object since last sync"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void OnSerializeDelta(NetworkWriter writer)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"ondeserializeallnetworkreader"},"OnDeserializeAll(NetworkReader)"),(0,n.kt)("p",null,"Reads a full copy of the object"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void OnDeserializeAll(NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"ondeserializedeltanetworkreader"},"OnDeserializeDelta(NetworkReader)"),(0,n.kt)("p",null,"Reads the changes made to the object since last sync"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void OnDeserializeDelta(NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"reset"},"Reset()"),(0,n.kt)("p",null,"Resets the SyncObject so that it can be re-used"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void Reset()\n")),(0,n.kt)("h4",{id:"setnetworkbehaviournetworkbehaviour"},"SetNetworkBehaviour(NetworkBehaviour)"),(0,n.kt)("p",null,"Sets the NetworkBehaviour that owns this SyncObject\nThis can be used by custom syncObjects to listen to events on NetworkBehaviour\nThis will only be called once, the first time the object is spawned (similar to unity","'","s awake call)"),(0,n.kt)("h5",{id:"declaration-8"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void SetNetworkBehaviour(NetworkBehaviour networkBehaviour)\n")),(0,n.kt)("h5",{id:"parameters-5"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,n.kt)("td",{parentName:"tr",align:null},"networkBehaviour"),(0,n.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c82d0717.f5ca8ada.js b/assets/js/c82d0717.f5ca8ada.js new file mode 100644 index 00000000000..afb9bd7d46a --- /dev/null +++ b/assets/js/c82d0717.f5ca8ada.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5665],{3905:(e,t,a)=>{a.d(t,{Zo:()=>o,kt:()=>p});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function i(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var g=r.createContext({}),d=function(e){var t=r.useContext(g),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},o=function(e){var t=d(e.components);return r.createElement(g.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,g=e.parentName,o=i(e,["components","mdxType","originalType","parentName"]),m=d(a),p=n,u=m["".concat(g,".").concat(p)]||m[p]||c[p]||l;return a?r.createElement(u,s(s({ref:t},o),{},{components:a})):r.createElement(u,s({ref:t},o))}));function p(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,s=new Array(l);s[0]=m;var i={};for(var g in t)hasOwnProperty.call(t,g)&&(i[g]=t[g]);i.originalType=e,i.mdxType="string"==typeof e?e:n,s[1]=i;for(var d=2;d<l;d++)s[d]=a[d];return r.createElement.apply(null,s)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},71398:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>g,contentTitle:()=>s,default:()=>c,frontMatter:()=>l,metadata:()=>i,toc:()=>d});var r=a(87462),n=(a(67294),a(3905));const l={id:"MessageReceiverExtensions",title:"MessageReceiverExtensions"},s="Class MessageReceiverExtensions",i={unversionedId:"reference/Mirage/MessageReceiverExtensions",id:"reference/Mirage/MessageReceiverExtensions",title:"MessageReceiverExtensions",description:"Inheritance",source:"@site/docs/reference/Mirage/MessageReceiverExtensions.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/MessageReceiverExtensions",permalink:"/Mirage/docs/reference/Mirage/MessageReceiverExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/MessageReceiverExtensions.md",tags:[],version:"current",frontMatter:{id:"MessageReceiverExtensions",title:"MessageReceiverExtensions"},sidebar:"api",previous:{title:"MessageHandler",permalink:"/Mirage/docs/reference/Mirage/MessageHandler"},next:{title:"MessageWaiter<T>",permalink:"/Mirage/docs/reference/Mirage/MessageWaiter-1"}},g={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"RegisterHandler<T>(IMessageReceiver, MessageDelegateWithPlayer<T>)",id:"registerhandlertimessagereceiver-messagedelegatewithplayert",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RegisterHandler<T>(IMessageReceiver, MessageDelegate<T>, Boolean)",id:"registerhandlertimessagereceiver-messagedelegatet-boolean",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"RegisterHandler<T>(IMessageReceiver, MessageDelegateWithPlayerAsync<T>, Boolean)",id:"registerhandlertimessagereceiver-messagedelegatewithplayerasynct-boolean",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"RegisterHandler<T>(IMessageReceiver, MessageDelegateAsync<T>, Boolean)",id:"registerhandlertimessagereceiver-messagedelegateasynct-boolean",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5}],o={toc:d};function c(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},o,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-messagereceiverextensions"},"Class MessageReceiverExtensions"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class MessageReceiverExtensions\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"registerhandlertimessagereceiver-messagedelegatewithplayert"},"RegisterHandler","<","T",">","(IMessageReceiver, MessageDelegateWithPlayer","<","T",">",")"),(0,n.kt)("p",null,"Registers a handler for a network message that has INetworkPlayer and T Message parameters"),(0,n.kt)("p",null,"When network message are sent, the first 2 bytes are the Id for the type T.\nWhen message is received the handler with the matching Id is found and invoked"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void RegisterHandler<T>(this IMessageReceiver receiver, MessageDelegateWithPlayer<T> handler)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.IMessageReceiver"),(0,n.kt)("td",{parentName:"tr",align:null},"receiver"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.MessageDelegateWithPlayer","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null},"handler"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"registerhandlertimessagereceiver-messagedelegatet-boolean"},"RegisterHandler","<","T",">","(IMessageReceiver, MessageDelegate","<","T",">",", Boolean)"),(0,n.kt)("p",null,"Registers a handler for a network message that has just T Message parameter"),(0,n.kt)("p",null,"When network message are sent, the first 2 bytes are the Id for the type T.\nWhen message is received the handler with the matching Id is found and invoked"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void RegisterHandler<T>(this IMessageReceiver receiver, MessageDelegate<T> handler, bool allowUnauthenticated = false)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.IMessageReceiver"),(0,n.kt)("td",{parentName:"tr",align:null},"receiver"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.MessageDelegate","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null},"handler"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"allowUnauthenticated"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"registerhandlertimessagereceiver-messagedelegatewithplayerasynct-boolean"},"RegisterHandler","<","T",">","(IMessageReceiver, MessageDelegateWithPlayerAsync","<","T",">",", Boolean)"),(0,n.kt)("p",null,"Registers a handler for a network message that has INetworkPlayer and T Message parameters and returns UniTaskVoid."),(0,n.kt)("p",null,"This allows for async handles without allocations"),(0,n.kt)("p",null,"When network message are sent, the first 2 bytes are the Id for the type T.\nWhen message is received the handler with the matching Id is found and invoked"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void RegisterHandler<T>(this IMessageReceiver receiver, MessageDelegateWithPlayerAsync<T> handler, bool allowUnauthenticated = false)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.IMessageReceiver"),(0,n.kt)("td",{parentName:"tr",align:null},"receiver"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.MessageDelegateWithPlayerAsync","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null},"handler"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"allowUnauthenticated"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"registerhandlertimessagereceiver-messagedelegateasynct-boolean"},"RegisterHandler","<","T",">","(IMessageReceiver, MessageDelegateAsync","<","T",">",", Boolean)"),(0,n.kt)("p",null,"Registers a handler for a network message that has just T Message parameter and returns UniTaskVoid."),(0,n.kt)("p",null,"This allows for async handles without allocations"),(0,n.kt)("p",null,"When network message are sent, the first 2 bytes are the Id for the type T.\nWhen message is received the handler with the matching Id is found and invoked"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void RegisterHandler<T>(this IMessageReceiver receiver, MessageDelegateAsync<T> handler, bool allowUnauthenticated = false)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.IMessageReceiver"),(0,n.kt)("td",{parentName:"tr",align:null},"receiver"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.MessageDelegateAsync","<","T",">"),(0,n.kt)("td",{parentName:"tr",align:null},"handler"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"allowUnauthenticated"),(0,n.kt)("td",{parentName:"tr",align:null})))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c8ac775b.aaf64603.js b/assets/js/c8ac775b.aaf64603.js new file mode 100644 index 00000000000..191e0b86a75 --- /dev/null +++ b/assets/js/c8ac775b.aaf64603.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5568],{3905:(e,r,t)=>{t.d(r,{Zo:()=>d,kt:()=>g});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function l(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?l(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function c(e,r){if(null==e)return{};var t,a,n=function(e,r){if(null==e)return{};var t,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)t=l[a],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)t=l[a],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var o=a.createContext({}),s=function(e){var r=a.useContext(o),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},d=function(e){var r=s(e.components);return a.createElement(o.Provider,{value:r},e.children)},p={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},u=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),u=s(t),g=n,k=u["".concat(o,".").concat(g)]||u[g]||p[g]||l;return t?a.createElement(k,i(i({ref:r},d),{},{components:t})):a.createElement(k,i({ref:r},d))}));function g(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var l=t.length,i=new Array(l);i[0]=u;var c={};for(var o in r)hasOwnProperty.call(r,o)&&(c[o]=r[o]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var s=2;s<l;s++)i[s]=t[s];return a.createElement.apply(null,i)}return a.createElement.apply(null,t)}u.displayName="MDXCreateElement"},950:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>c,toc:()=>s});var a=t(87462),n=(t(67294),t(3905));const l={id:"NetworkManager",title:"NetworkManager"},i="Class NetworkManager",c={unversionedId:"reference/Mirage/NetworkManager",id:"reference/Mirage/NetworkManager",title:"NetworkManager",description:"Inheritance",source:"@site/docs/reference/Mirage/NetworkManager.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkManager",permalink:"/Mirage/docs/reference/Mirage/NetworkManager",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkManager.md",tags:[],version:"current",frontMatter:{id:"NetworkManager",title:"NetworkManager"},sidebar:"api",previous:{title:"NetworkInspectorCallbacks",permalink:"/Mirage/docs/reference/Mirage/NetworkInspectorCallbacks"},next:{title:"NetworkManagerGUI",permalink:"/Mirage/docs/reference/Mirage/NetworkManagerGUI"}},o={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Server",id:"server",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Client",id:"client",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"NetworkSceneManager",id:"networkscenemanager",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"ServerObjectManager",id:"serverobjectmanager",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"ClientObjectManager",id:"clientobjectmanager",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"ValidateReferences",id:"validatereferences",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Properties",id:"properties",level:3},{value:"IsNetworkActive",id:"isnetworkactive",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"NetworkMode",id:"networkmode",level:4},{value:"Declaration",id:"declaration-7",level:5}],d={toc:s};function p(e){let{components:r,...t}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,t,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networkmanager"},"Class NetworkManager"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class NetworkManager : MonoBehaviour\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"server"},"Server"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkServer Server\n")),(0,n.kt)("h4",{id:"client"},"Client"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkClient Client\n")),(0,n.kt)("h4",{id:"networkscenemanager"},"NetworkSceneManager"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkSceneManager NetworkSceneManager\n")),(0,n.kt)("h4",{id:"serverobjectmanager"},"ServerObjectManager"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public ServerObjectManager ServerObjectManager\n")),(0,n.kt)("h4",{id:"clientobjectmanager"},"ClientObjectManager"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public ClientObjectManager ClientObjectManager\n")),(0,n.kt)("h4",{id:"validatereferences"},"ValidateReferences"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool ValidateReferences\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"isnetworkactive"},"IsNetworkActive"),(0,n.kt)("p",null,"True if the server or client is started and running\nThis is set True in StartServer / StartClient, and set False in StopServer / StopClient"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsNetworkActive { get; }\n")),(0,n.kt)("h4",{id:"networkmode"},"NetworkMode"),(0,n.kt)("p",null,"helper enum to know if we started the NetworkManager as server/client/host."),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkManagerMode NetworkMode { get; }\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/caea44cb.c0dc81c8.js b/assets/js/caea44cb.c0dc81c8.js new file mode 100644 index 00000000000..e5fac105761 --- /dev/null +++ b/assets/js/caea44cb.c0dc81c8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5056],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),p=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),m=p(r),d=a,f=m["".concat(l,".").concat(d)]||m[d]||u[d]||o;return r?n.createElement(f,c(c({ref:t},s),{},{components:r})):n.createElement(f,c({ref:t},s))}));function d(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,c=new Array(o);c[0]=m;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,c[1]=i;for(var p=2;p<o;p++)c[p]=r[p];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"},38666:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>p});var n=r(87462),a=(r(67294),r(3905));const o={},c="Chat",i={unversionedId:"examples/chat",id:"examples/chat",title:"Chat",description:"Chat Example",source:"@site/docs/examples/chat.md",sourceDirName:"examples",slug:"/examples/chat",permalink:"/Mirage/docs/examples/chat",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/examples/chat.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"ChangeScene",permalink:"/Mirage/docs/examples/change-scene"},next:{title:"Multiple Additive Scenes Example",permalink:"/Mirage/docs/examples/multiple-additive-scenes"}},l={},p=[],s={toc:p};function u(e){let{components:t,...o}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"chat"},"Chat"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Chat Example",src:r(87640).Z,width:"1255",height:"691"})))}u.isMDXComponent=!0},87640:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/Chat-f10d9d1cdeb9c67fede2c3845d35e938.png"}}]); \ No newline at end of file diff --git a/assets/js/cb3b0dec.3c23e3db.js b/assets/js/cb3b0dec.3c23e3db.js new file mode 100644 index 00000000000..dbf632685e1 --- /dev/null +++ b/assets/js/cb3b0dec.3c23e3db.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5583],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),d=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},s=function(e){var t=d(e.components);return a.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),u=d(r),m=n,b=u["".concat(c,".").concat(m)]||u[m]||p[m]||l;return r?a.createElement(b,o(o({ref:t},s),{},{components:r})):a.createElement(b,o({ref:t},s))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,o=new Array(l);o[0]=u;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:n,o[1]=i;for(var d=2;d<l;d++)o[d]=r[d];return a.createElement.apply(null,o)}return a.createElement.apply(null,r)}u.displayName="MDXCreateElement"},32838:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>l,metadata:()=>i,toc:()=>d});var a=r(87462),n=(r(67294),r(3905));const l={id:"IObjectOwner",title:"IObjectOwner"},o="Interface IObjectOwner",i={unversionedId:"reference/Mirage/IObjectOwner",id:"reference/Mirage/IObjectOwner",title:"IObjectOwner",description:"An object that can own networked objects",source:"@site/docs/reference/Mirage/IObjectOwner.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/IObjectOwner",permalink:"/Mirage/docs/reference/Mirage/IObjectOwner",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/IObjectOwner.md",tags:[],version:"current",frontMatter:{id:"IObjectOwner",title:"IObjectOwner"},sidebar:"api",previous:{title:"IObjectLocator",permalink:"/Mirage/docs/reference/Mirage/IObjectLocator"},next:{title:"ISceneLoader",permalink:"/Mirage/docs/reference/Mirage/ISceneLoader"}},c={},d=[{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"Identity",id:"identity",level:4},{value:"Declaration",id:"declaration",level:5},{value:"HasCharacter",id:"hascharacter",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"OwnedObjects",id:"ownedobjects",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Methods",id:"methods",level:3},{value:"AddOwnedObject(NetworkIdentity)",id:"addownedobjectnetworkidentity",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RemoveOwnedObject(NetworkIdentity)",id:"removeownedobjectnetworkidentity",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"RemoveAllOwnedObject(Boolean)",id:"removeallownedobjectboolean",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"DestroyOwnedObjects()",id:"destroyownedobjects",level:4},{value:"Declaration",id:"declaration-6",level:5}],s={toc:d};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"interface-iobjectowner"},"Interface IObjectOwner"),(0,n.kt)("p",null,"An object that can own networked objects"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IObjectOwner\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"identity"},"Identity"),(0,n.kt)("p",null,"The main object owned by this player, normally the player","'","s character"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"NetworkIdentity Identity { get; set; }\n")),(0,n.kt)("h4",{id:"hascharacter"},"HasCharacter"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"bool HasCharacter { get; }\n")),(0,n.kt)("h4",{id:"ownedobjects"},"OwnedObjects"),(0,n.kt)("p",null,"All the objects owned by the player"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"IReadOnlyCollection<NetworkIdentity> OwnedObjects { get; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"addownedobjectnetworkidentity"},"AddOwnedObject(NetworkIdentity)"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void AddOwnedObject(NetworkIdentity networkIdentity)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"networkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"removeownedobjectnetworkidentity"},"RemoveOwnedObject(NetworkIdentity)"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void RemoveOwnedObject(NetworkIdentity networkIdentity)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"networkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"removeallownedobjectboolean"},"RemoveAllOwnedObject(Boolean)"),(0,n.kt)("p",null,"Removes all owned objects. This is useful to call when player disconnects to avoid objects being destroyed"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void RemoveAllOwnedObject(bool sendAuthorityChangeEvent)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"sendAuthorityChangeEvent"),(0,n.kt)("td",{parentName:"tr",align:null},"Should message be send to owner client? If player is disconnecting you should set this false")))),(0,n.kt)("h4",{id:"destroyownedobjects"},"DestroyOwnedObjects()"),(0,n.kt)("p",null,"Destroys or unspawns all owned objects.\nThis is called when the player is disconnects.\nIt will be called after , so Disconnected can be used to remove any owned objects from the list before they are destroyed."),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void DestroyOwnedObjects()\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cb7824aa.fb5c6514.js b/assets/js/cb7824aa.fb5c6514.js new file mode 100644 index 00000000000..f79197d77a3 --- /dev/null +++ b/assets/js/cb7824aa.fb5c6514.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1105],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>b});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,o=e.originalType,s=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),d=l(r),b=i,f=d["".concat(s,".").concat(b)]||d[b]||u[b]||o;return r?n.createElement(f,a(a({ref:t},p),{},{components:r})):n.createElement(f,a({ref:t},p))}));function b(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=r.length,a=new Array(o);a[0]=d;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c.mdxType="string"==typeof e?e:i,a[1]=c;for(var l=2;l<o;l++)a[l]=r[l];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},74:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var n=r(87462),i=(r(67294),r(3905));const o={id:"ShowInInspectorAttribute",title:"ShowInInspectorAttribute"},a="Class ShowInInspectorAttribute",c={unversionedId:"reference/Mirage/ShowInInspectorAttribute",id:"reference/Mirage/ShowInInspectorAttribute",title:"ShowInInspectorAttribute",description:"Used to show private SyncList in the inspector,",source:"@site/docs/reference/Mirage/ShowInInspectorAttribute.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/ShowInInspectorAttribute",permalink:"/Mirage/docs/reference/Mirage/ShowInInspectorAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/ShowInInspectorAttribute.md",tags:[],version:"current",frontMatter:{id:"ShowInInspectorAttribute",title:"ShowInInspectorAttribute"},sidebar:"api",previous:{title:"ServerRpcAttribute",permalink:"/Mirage/docs/reference/Mirage/ServerRpcAttribute"},next:{title:"SpawnEvent",permalink:"/Mirage/docs/reference/Mirage/SpawnEvent"}},s={},l=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5}],p={toc:l};function u(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-showininspectorattribute"},"Class ShowInInspectorAttribute"),(0,i.kt)("p",null,"Used to show private SyncList in the inspector,\nUse instead of SerializeField for non Serializable types "),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,i.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Field)]\npublic sealed class ShowInInspectorAttribute : Attribute, _Attribute\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cb7b6e07.597aaf65.js b/assets/js/cb7b6e07.597aaf65.js new file mode 100644 index 00000000000..aa0004d56f7 --- /dev/null +++ b/assets/js/cb7b6e07.597aaf65.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1989],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>u});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?g(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):g(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function a(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},g=Object.keys(e);for(n=0;n<g.length;n++)r=g[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var g=Object.getOwnPropertySymbols(e);for(n=0;n<g.length;n++)r=g[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},c=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,g=e.originalType,l=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),p=s(r),u=i,f=p["".concat(l,".").concat(u)]||p[u]||d[u]||g;return r?n.createElement(f,o(o({ref:t},c),{},{components:r})):n.createElement(f,o({ref:t},c))}));function u(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var g=r.length,o=new Array(g);o[0]=p;var a={};for(var l in t)hasOwnProperty.call(t,l)&&(a[l]=t[l]);a.originalType=e,a.mdxType="string"==typeof e?e:i,o[1]=a;for(var s=2;s<g;s++)o[s]=r[s];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},5931:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>g,metadata:()=>a,toc:()=>s});var n=r(87462),i=(r(67294),r(3905));const g={id:"Mirage.Logging",title:"Mirage.Logging"},o="Mirage.Logging",a={unversionedId:"reference/Mirage.Logging/Mirage.Logging",id:"reference/Mirage.Logging/Mirage.Logging",title:"Mirage.Logging",description:"Classes",source:"@site/docs/reference/Mirage.Logging/index.md",sourceDirName:"reference/Mirage.Logging",slug:"/reference/Mirage.Logging/",permalink:"/Mirage/docs/reference/Mirage.Logging/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Logging/index.md",tags:[],version:"current",frontMatter:{id:"Mirage.Logging",title:"Mirage.Logging"},sidebar:"api",previous:{title:"NetworkPlayerEvent",permalink:"/Mirage/docs/reference/Mirage.Events/NetworkPlayerEvent"},next:{title:"ILoggerExtensions",permalink:"/Mirage/docs/reference/Mirage.Logging/ILoggerExtensions"}},l={},s=[{value:"Classes",id:"classes",level:2},{value:"ILoggerExtensions",id:"iloggerextensions",level:4},{value:"LogFactory",id:"logfactory",level:4},{value:"LogSettings",id:"logsettings",level:4},{value:"LogSettingsExtensions",id:"logsettingsextensions",level:4},{value:"LogSettingsSO",id:"logsettingsso",level:4},{value:"LogSettingsSO.LoggerSettings",id:"logsettingssologgersettings",level:4},{value:"MirageLogHandler",id:"mirageloghandler",level:4},{value:"MirageLogHandler.Settings",id:"mirageloghandlersettings",level:4},{value:"Enums",id:"enums",level:2},{value:"MirageLogHandler.TimePrefix",id:"mirageloghandlertimeprefix",level:4}],c={toc:s};function d(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"miragelogging"},"Mirage.Logging"),(0,i.kt)("h2",{id:"classes"},"Classes"),(0,i.kt)("h4",{id:"iloggerextensions"},(0,i.kt)("a",{parentName:"h4",href:"./ILoggerExtensions"},"ILoggerExtensions")),(0,i.kt)("h4",{id:"logfactory"},(0,i.kt)("a",{parentName:"h4",href:"./LogFactory"},"LogFactory")),(0,i.kt)("h4",{id:"logsettings"},(0,i.kt)("a",{parentName:"h4",href:"./LogSettings"},"LogSettings")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Used to load LogSettings in build")),(0,i.kt)("h4",{id:"logsettingsextensions"},(0,i.kt)("a",{parentName:"h4",href:"./LogSettingsExtensions"},"LogSettingsExtensions")),(0,i.kt)("h4",{id:"logsettingsso"},(0,i.kt)("a",{parentName:"h4",href:"./LogSettingsSO"},"LogSettingsSO")),(0,i.kt)("h4",{id:"logsettingssologgersettings"},(0,i.kt)("a",{parentName:"h4",href:"./LogSettingsSO.LoggerSettings"},"LogSettingsSO.LoggerSettings")),(0,i.kt)("h4",{id:"mirageloghandler"},(0,i.kt)("a",{parentName:"h4",href:"./MirageLogHandler"},"MirageLogHandler")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Log handler that adds prefixes to logging")),(0,i.kt)("h4",{id:"mirageloghandlersettings"},(0,i.kt)("a",{parentName:"h4",href:"./MirageLogHandler.Settings"},"MirageLogHandler.Settings")),(0,i.kt)("h2",{id:"enums"},"Enums"),(0,i.kt)("h4",{id:"mirageloghandlertimeprefix"},(0,i.kt)("a",{parentName:"h4",href:"./MirageLogHandler.TimePrefix"},"MirageLogHandler.TimePrefix")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cbb29ae8.5ce2d933.js b/assets/js/cbb29ae8.5ce2d933.js new file mode 100644 index 00000000000..c15d2962293 --- /dev/null +++ b/assets/js/cbb29ae8.5ce2d933.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4665],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>p});var r=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function c(e,t){if(null==e)return{};var a,r,l=function(e,t){if(null==e)return{};var a,r,l={},n=Object.keys(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var o=r.createContext({}),d=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},u=function(e){var t=d(e.components);return r.createElement(o.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},k=r.forwardRef((function(e,t){var a=e.components,l=e.mdxType,n=e.originalType,o=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),k=d(a),p=l,m=k["".concat(o,".").concat(p)]||k[p]||s[p]||n;return a?r.createElement(m,i(i({ref:t},u),{},{components:a})):r.createElement(m,i({ref:t},u))}));function p(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var n=a.length,i=new Array(n);i[0]=k;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:l,i[1]=c;for(var d=2;d<n;d++)i[d]=a[d];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}k.displayName="MDXCreateElement"},38180:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>s,frontMatter:()=>n,metadata:()=>c,toc:()=>d});var r=a(87462),l=(a(67294),a(3905));const n={id:"AckSystem.ReliablePacket",title:"AckSystem.ReliablePacket"},i="Class AckSystem.ReliablePacket",c={unversionedId:"reference/Mirage.SocketLayer/AckSystem.ReliablePacket",id:"reference/Mirage.SocketLayer/AckSystem.ReliablePacket",title:"AckSystem.ReliablePacket",description:"Inheritance",source:"@site/docs/reference/Mirage.SocketLayer/AckSystem.ReliablePacket.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/AckSystem.ReliablePacket",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem.ReliablePacket",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/AckSystem.ReliablePacket.md",tags:[],version:"current",frontMatter:{id:"AckSystem.ReliablePacket",title:"AckSystem.ReliablePacket"},sidebar:"api",previous:{title:"Mirage.SocketLayer",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/"},next:{title:"AckSystem.ReliableReceived",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem.ReliableReceived"}},o={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"LastSequence",id:"lastsequence",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Length",id:"length",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Buffer",id:"buffer",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Order",id:"order",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Sequences",id:"sequences",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Methods",id:"methods",level:3},{value:"OnSend(UInt16)",id:"onsenduint16",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters",level:5},{value:"OnAck()",id:"onack",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Setup(UInt16, ByteBuffer, Int32)",id:"setupuint16-bytebuffer-int32",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"GetHashCode()",id:"gethashcode",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Returns",id:"returns",level:5},{value:"Equals(Object)",id:"equalsobject",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns-1",level:5},{value:"CreateNew(Pool<AckSystem.ReliablePacket>)",id:"createnewpoolacksystemreliablepacket",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-2",level:5}],u={toc:d};function s(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,r.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-acksystemreliablepacket"},"Class AckSystem.ReliablePacket"),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,l.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Show")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public class ReliablePacket\n")),(0,l.kt)("h3",{id:"fields"},"Fields"),(0,l.kt)("h4",{id:"lastsequence"},"LastSequence"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public ushort LastSequence\n")),(0,l.kt)("h4",{id:"length"},"Length"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int Length\n")),(0,l.kt)("h4",{id:"buffer"},"Buffer"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public ByteBuffer Buffer\n")),(0,l.kt)("h4",{id:"order"},"Order"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public ushort Order\n")),(0,l.kt)("h4",{id:"sequences"},"Sequences"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly List<ushort> Sequences\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"onsenduint16"},"OnSend(UInt16)"),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnSend(ushort sequence)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.UInt16"),(0,l.kt)("td",{parentName:"tr",align:null},"sequence"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"onack"},"OnAck()"),(0,l.kt)("h5",{id:"declaration-6"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnAck()\n")),(0,l.kt)("h4",{id:"setupuint16-bytebuffer-int32"},"Setup(UInt16, ByteBuffer, Int32)"),(0,l.kt)("h5",{id:"declaration-7"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Setup(ushort order, ByteBuffer buffer, int length)\n")),(0,l.kt)("h5",{id:"parameters-1"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.UInt16"),(0,l.kt)("td",{parentName:"tr",align:null},"order"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.ByteBuffer"),(0,l.kt)("td",{parentName:"tr",align:null},"buffer"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"length"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"gethashcode"},"GetHashCode()"),(0,l.kt)("h5",{id:"declaration-8"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public override int GetHashCode()\n")),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"equalsobject"},"Equals(Object)"),(0,l.kt)("h5",{id:"declaration-9"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public override bool Equals(object obj)\n")),(0,l.kt)("h5",{id:"parameters-2"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Object"),(0,l.kt)("td",{parentName:"tr",align:null},"obj"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-1"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"createnewpoolacksystemreliablepacket"},"CreateNew(Pool","<","AckSystem.ReliablePacket",">",")"),(0,l.kt)("h5",{id:"declaration-10"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static AckSystem.ReliablePacket CreateNew(Pool<AckSystem.ReliablePacket> pool)\n")),(0,l.kt)("h5",{id:"parameters-3"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.Pool","<","Mirage.SocketLayer.AckSystem.ReliablePacket",">"),(0,l.kt)("td",{parentName:"tr",align:null},"pool"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-2"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.AckSystem.ReliablePacket"),(0,l.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cbfe22ae.5cee2c25.js b/assets/js/cbfe22ae.5cee2c25.js new file mode 100644 index 00000000000..57b9a015311 --- /dev/null +++ b/assets/js/cbfe22ae.5cee2c25.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4105],{3905:(e,t,a)=>{a.d(t,{Zo:()=>g,kt:()=>o});var i=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}return a}function m(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function n(e,t){if(null==e)return{};var a,i,r=function(e,t){if(null==e)return{};var a,i,r={},l=Object.keys(e);for(i=0;i<l.length;i++)a=l[i],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i<l.length;i++)a=l[i],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var s=i.createContext({}),c=function(e){var t=i.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):m(m({},t),e)),a},g=function(e){var t=c(e.components);return i.createElement(s.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},u=i.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,s=e.parentName,g=n(e,["components","mdxType","originalType","parentName"]),u=c(a),o=r,p=u["".concat(s,".").concat(o)]||u[o]||h[o]||l;return a?i.createElement(p,m(m({ref:t},g),{},{components:a})):i.createElement(p,m({ref:t},g))}));function o(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,m=new Array(l);m[0]=u;var n={};for(var s in t)hasOwnProperty.call(t,s)&&(n[s]=t[s]);n.originalType=e,n.mdxType="string"==typeof e?e:r,m[1]=n;for(var c=2;c<l;c++)m[c]=a[c];return i.createElement.apply(null,m)}return i.createElement.apply(null,a)}u.displayName="MDXCreateElement"},96514:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>m,default:()=>h,frontMatter:()=>l,metadata:()=>n,toc:()=>c});var i=a(87462),r=(a(67294),a(3905));const l={title:"Change Log"},m="[149.1.0](https://github.com/MirageNet/Mirage/compare/v149.0.1...v149.1.0) (2024-05-06)",n={unversionedId:"general/CHANGELOG",id:"general/CHANGELOG",title:"Change Log",description:"Features",source:"@site/docs/general/CHANGELOG.md",sourceDirName:"general",slug:"/general/CHANGELOG",permalink:"/Mirage/docs/general/CHANGELOG",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/general/CHANGELOG.md",tags:[],version:"current",frontMatter:{title:"Change Log"},sidebar:"docs",previous:{title:"Support",permalink:"/Mirage/docs/general/support"},next:{title:"Guides",permalink:"/Mirage/docs/category/guides"}},s={},c=[{value:"Features",id:"features",level:3},{value:"149.0.1 (2024-05-03)",id:"14901-2024-05-03",level:2},{value:"Bug Fixes",id:"bug-fixes",level:3},{value:"Features",id:"features-1",level:3},{value:"BREAKING CHANGES",id:"breaking-changes",level:3},{value:"148.4.3 (2024-04-26)",id:"14843-2024-04-26",level:2},{value:"Bug Fixes",id:"bug-fixes-1",level:3},{value:"148.4.2 (2024-04-26)",id:"14842-2024-04-26",level:2},{value:"Performance Improvements",id:"performance-improvements",level:3},{value:"148.4.1 (2024-04-19)",id:"14841-2024-04-19",level:2},{value:"Bug Fixes",id:"bug-fixes-2",level:3},{value:"Features",id:"features-2",level:3},{value:"Features",id:"features-3",level:3},{value:"Features",id:"features-4",level:3},{value:"148.1.1 (2024-04-03)",id:"14811-2024-04-03",level:2},{value:"Bug Fixes",id:"bug-fixes-3",level:3},{value:"Bug Fixes",id:"bug-fixes-4",level:3},{value:"Features",id:"features-5",level:3},{value:"148.0.2 (2024-03-29)",id:"14802-2024-03-29",level:2},{value:"Bug Fixes",id:"bug-fixes-5",level:3},{value:"148.0.1 (2024-03-28)",id:"14801-2024-03-28",level:2},{value:"Bug Fixes",id:"bug-fixes-6",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-1",level:3},{value:"147.4.2 (2024-03-25)",id:"14742-2024-03-25",level:2},{value:"Bug Fixes",id:"bug-fixes-7",level:3},{value:"147.4.1 (2024-03-25)",id:"14741-2024-03-25",level:2},{value:"Bug Fixes",id:"bug-fixes-8",level:3},{value:"Bug Fixes",id:"bug-fixes-9",level:3},{value:"Features",id:"features-6",level:3},{value:"Features",id:"features-7",level:3},{value:"147.2.1 (2024-03-18)",id:"14721-2024-03-18",level:2},{value:"Bug Fixes",id:"bug-fixes-10",level:3},{value:"Bug Fixes",id:"bug-fixes-11",level:3},{value:"Features",id:"features-8",level:3},{value:"Features",id:"features-9",level:3},{value:"147.0.3 (2024-02-16)",id:"14703-2024-02-16",level:2},{value:"Bug Fixes",id:"bug-fixes-12",level:3},{value:"147.0.2 (2024-02-13)",id:"14702-2024-02-13",level:2},{value:"Bug Fixes",id:"bug-fixes-13",level:3},{value:"147.0.1 (2024-02-05)",id:"14701-2024-02-05",level:2},{value:"Bug Fixes",id:"bug-fixes-14",level:3},{value:"Bug Fixes",id:"bug-fixes-15",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-2",level:3},{value:"Features",id:"features-10",level:3},{value:"146.6.4 (2023-12-20)",id:"14664-2023-12-20",level:2},{value:"Bug Fixes",id:"bug-fixes-16",level:3},{value:"146.6.3 (2023-12-03)",id:"14663-2023-12-03",level:2},{value:"Bug Fixes",id:"bug-fixes-17",level:3},{value:"146.6.2 (2023-12-02)",id:"14662-2023-12-02",level:2},{value:"Bug Fixes",id:"bug-fixes-18",level:3},{value:"146.6.1 (2023-11-20)",id:"14661-2023-11-20",level:2},{value:"Bug Fixes",id:"bug-fixes-19",level:3},{value:"Features",id:"features-11",level:3},{value:"146.5.1 (2023-11-05)",id:"14651-2023-11-05",level:2},{value:"Bug Fixes",id:"bug-fixes-20",level:3},{value:"Features",id:"features-12",level:3},{value:"Features",id:"features-13",level:3},{value:"146.3.2 (2023-10-14)",id:"14632-2023-10-14",level:2},{value:"Bug Fixes",id:"bug-fixes-21",level:3},{value:"146.3.1 (2023-10-05)",id:"14631-2023-10-05",level:2},{value:"Bug Fixes",id:"bug-fixes-22",level:3},{value:"Features",id:"features-14",level:3},{value:"146.2.2 (2023-08-21)",id:"14622-2023-08-21",level:2},{value:"Bug Fixes",id:"bug-fixes-23",level:3},{value:"Performance Improvements",id:"performance-improvements-1",level:3},{value:"146.2.1 (2023-08-02)",id:"14621-2023-08-02",level:2},{value:"Bug Fixes",id:"bug-fixes-24",level:3},{value:"Features",id:"features-15",level:3},{value:"146.1.1 (2023-07-24)",id:"14611-2023-07-24",level:2},{value:"Reverts",id:"reverts",level:3},{value:"Features",id:"features-16",level:3},{value:"Features",id:"features-17",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-3",level:3},{value:"Features",id:"features-18",level:3},{value:"Features",id:"features-19",level:3},{value:"Bug Fixes",id:"bug-fixes-25",level:3},{value:"Features",id:"features-20",level:3},{value:"145.0.4 (2023-07-07)",id:"14504-2023-07-07",level:2},{value:"Bug Fixes",id:"bug-fixes-26",level:3},{value:"145.0.3 (2023-07-06)",id:"14503-2023-07-06",level:2},{value:"Bug Fixes",id:"bug-fixes-27",level:3},{value:"145.0.2 (2023-07-05)",id:"14502-2023-07-05",level:2},{value:"Bug Fixes",id:"bug-fixes-28",level:3},{value:"145.0.1 (2023-06-29)",id:"14501-2023-06-29",level:2},{value:"Bug Fixes",id:"bug-fixes-29",level:3},{value:"Features",id:"features-21",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-4",level:3},{value:"Bug Fixes",id:"bug-fixes-30",level:3},{value:"Code Refactoring",id:"code-refactoring",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-5",level:3},{value:"143.2.3 (2023-06-23)",id:"14323-2023-06-23",level:2},{value:"Bug Fixes",id:"bug-fixes-31",level:3},{value:"143.2.2 (2023-06-21)",id:"14322-2023-06-21",level:2},{value:"Bug Fixes",id:"bug-fixes-32",level:3},{value:"143.2.1 (2023-06-20)",id:"14321-2023-06-20",level:2},{value:"Bug Fixes",id:"bug-fixes-33",level:3},{value:"Features",id:"features-22",level:3},{value:"Features",id:"features-23",level:3},{value:"Features",id:"features-24",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-6",level:3},{value:"Features",id:"features-25",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-7",level:3},{value:"Features",id:"features-26",level:3},{value:"Features",id:"features-27",level:3},{value:"141.0.2 (2023-06-13)",id:"14102-2023-06-13",level:2},{value:"Bug Fixes",id:"bug-fixes-34",level:3},{value:"141.0.1 (2023-06-12)",id:"14101-2023-06-12",level:2},{value:"Bug Fixes",id:"bug-fixes-35",level:3},{value:"Features",id:"features-28",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-8",level:3},{value:"Features",id:"features-29",level:3},{value:"Performance Improvements",id:"performance-improvements-2",level:3},{value:"Features",id:"features-30",level:3},{value:"Features",id:"features-31",level:3},{value:"Features",id:"features-32",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-9",level:3},{value:"Bug Fixes",id:"bug-fixes-36",level:3},{value:"Features",id:"features-33",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-10",level:3},{value:"Bug Fixes",id:"bug-fixes-37",level:3},{value:"Features",id:"features-34",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-11",level:3},{value:"137.0.3 (2023-05-17)",id:"13703-2023-05-17",level:2},{value:"Bug Fixes",id:"bug-fixes-38",level:3},{value:"137.0.2 (2023-05-09)",id:"13702-2023-05-09",level:2},{value:"Bug Fixes",id:"bug-fixes-39",level:3},{value:"137.0.1 (2023-05-05)",id:"13701-2023-05-05",level:2},{value:"Bug Fixes",id:"bug-fixes-40",level:3},{value:"Bug Fixes",id:"bug-fixes-41",level:3},{value:"Code Refactoring",id:"code-refactoring-1",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-12",level:3},{value:"Features",id:"features-35",level:3},{value:"Features",id:"features-36",level:3},{value:"Bug Fixes",id:"bug-fixes-42",level:3},{value:"Code Refactoring",id:"code-refactoring-2",level:3},{value:"Features",id:"features-37",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-13",level:3},{value:"Bug Fixes",id:"bug-fixes-43",level:3},{value:"Features",id:"features-38",level:3},{value:"Code Refactoring",id:"code-refactoring-3",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-14",level:3},{value:"Code Refactoring",id:"code-refactoring-4",level:3},{value:"Features",id:"features-39",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-15",level:3},{value:"Features",id:"features-40",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-16",level:3},{value:"132.0.3 (2023-04-14)",id:"13203-2023-04-14",level:2},{value:"Bug Fixes",id:"bug-fixes-44",level:3},{value:"132.0.2 (2023-04-11)",id:"13202-2023-04-11",level:2},{value:"Bug Fixes",id:"bug-fixes-45",level:3},{value:"132.0.1 (2023-04-10)",id:"13201-2023-04-10",level:2},{value:"Bug Fixes",id:"bug-fixes-46",level:3},{value:"Bug Fixes",id:"bug-fixes-47",level:3},{value:"Code Refactoring",id:"code-refactoring-5",level:3},{value:"Features",id:"features-41",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-17",level:3},{value:"131.1.3 (2023-04-10)",id:"13113-2023-04-10",level:2},{value:"Bug Fixes",id:"bug-fixes-48",level:3},{value:"131.1.2 (2023-04-05)",id:"13112-2023-04-05",level:2},{value:"Bug Fixes",id:"bug-fixes-49",level:3},{value:"131.1.1 (2023-04-04)",id:"13111-2023-04-04",level:2},{value:"Bug Fixes",id:"bug-fixes-50",level:3},{value:"Bug Fixes",id:"bug-fixes-51",level:3},{value:"Features",id:"features-42",level:3},{value:"131.0.2 (2023-04-01)",id:"13102-2023-04-01",level:2},{value:"Bug Fixes",id:"bug-fixes-52",level:3},{value:"131.0.1 (2023-03-31)",id:"13101-2023-03-31",level:2},{value:"Bug Fixes",id:"bug-fixes-53",level:3},{value:"Bug Fixes",id:"bug-fixes-54",level:3},{value:"Features",id:"features-43",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-18",level:3},{value:"130.4.1 (2023-03-21)",id:"13041-2023-03-21",level:2},{value:"Bug Fixes",id:"bug-fixes-55",level:3},{value:"Features",id:"features-44",level:3},{value:"Features",id:"features-45",level:3},{value:"Bug Fixes",id:"bug-fixes-56",level:3},{value:"Features",id:"features-46",level:3},{value:"Bug Fixes",id:"bug-fixes-57",level:3},{value:"Features",id:"features-47",level:3},{value:"Bug Fixes",id:"bug-fixes-58",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-19",level:3},{value:"129.6.2 (2023-02-03)",id:"12962-2023-02-03",level:2},{value:"Bug Fixes",id:"bug-fixes-59",level:3},{value:"129.6.1 (2023-02-03)",id:"12961-2023-02-03",level:2},{value:"Bug Fixes",id:"bug-fixes-60",level:3},{value:"Bug Fixes",id:"bug-fixes-61",level:3},{value:"Features",id:"features-48",level:3},{value:"Bug Fixes",id:"bug-fixes-62",level:3},{value:"Features",id:"features-49",level:3},{value:"Features",id:"features-50",level:3},{value:"129.3.2 (2022-12-22)",id:"12932-2022-12-22",level:2},{value:"Bug Fixes",id:"bug-fixes-63",level:3},{value:"129.3.1 (2022-12-21)",id:"12931-2022-12-21",level:2},{value:"Bug Fixes",id:"bug-fixes-64",level:3},{value:"Features",id:"features-51",level:3},{value:"129.2.1 (2022-12-15)",id:"12921-2022-12-15",level:2},{value:"Bug Fixes",id:"bug-fixes-65",level:3},{value:"Features",id:"features-52",level:3},{value:"129.1.4 (2022-12-11)",id:"12914-2022-12-11",level:2},{value:"Bug Fixes",id:"bug-fixes-66",level:3},{value:"129.1.3 (2022-12-10)",id:"12913-2022-12-10",level:2},{value:"Bug Fixes",id:"bug-fixes-67",level:3},{value:"129.1.2 (2022-12-10)",id:"12912-2022-12-10",level:2},{value:"Bug Fixes",id:"bug-fixes-68",level:3},{value:"129.1.1 (2022-12-10)",id:"12911-2022-12-10",level:2},{value:"Bug Fixes",id:"bug-fixes-69",level:3},{value:"Features",id:"features-53",level:3},{value:"129.0.3 (2022-11-27)",id:"12903-2022-11-27",level:2},{value:"Bug Fixes",id:"bug-fixes-70",level:3},{value:"129.0.2 (2022-11-27)",id:"12902-2022-11-27",level:2},{value:"Bug Fixes",id:"bug-fixes-71",level:3},{value:"129.0.1 (2022-11-26)",id:"12901-2022-11-26",level:2},{value:"Bug Fixes",id:"bug-fixes-72",level:3},{value:"Bug Fixes",id:"bug-fixes-73",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-20",level:3},{value:"Features",id:"features-54",level:3},{value:"Bug Fixes",id:"bug-fixes-74",level:3},{value:"Features",id:"features-55",level:3},{value:"Bug Fixes",id:"bug-fixes-75",level:3},{value:"Features",id:"features-56",level:3},{value:"128.4.1 (2022-10-08)",id:"12841-2022-10-08",level:2},{value:"Bug Fixes",id:"bug-fixes-76",level:3},{value:"Features",id:"features-57",level:3},{value:"128.3.1 (2022-09-21)",id:"12831-2022-09-21",level:2},{value:"Bug Fixes",id:"bug-fixes-77",level:3},{value:"Bug Fixes",id:"bug-fixes-78",level:3},{value:"Features",id:"features-58",level:3},{value:"Features",id:"features-59",level:3},{value:"Performance Improvements",id:"performance-improvements-3",level:3},{value:"128.1.1 (2022-09-01)",id:"12811-2022-09-01",level:2},{value:"Bug Fixes",id:"bug-fixes-79",level:3},{value:"Features",id:"features-60",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-21",level:3},{value:"Features",id:"features-61",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-22",level:3},{value:"Bug Fixes",id:"bug-fixes-80",level:3},{value:"Features",id:"features-62",level:3},{value:"126.0.1 (2022-08-08)",id:"12601-2022-08-08",level:2},{value:"Bug Fixes",id:"bug-fixes-81",level:3},{value:"Features",id:"features-63",level:3},{value:"Performance Improvements",id:"performance-improvements-4",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-23",level:3},{value:"Bug Fixes",id:"bug-fixes-82",level:3},{value:"Features",id:"features-64",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-24",level:3},{value:"Bug Fixes",id:"bug-fixes-83",level:3},{value:"Code Refactoring",id:"code-refactoring-6",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-25",level:3},{value:"Bug Fixes",id:"bug-fixes-84",level:3},{value:"Features",id:"features-65",level:3},{value:"123.3.3 (2022-07-23)",id:"12333-2022-07-23",level:2},{value:"Bug Fixes",id:"bug-fixes-85",level:3},{value:"123.3.2 (2022-07-16)",id:"12332-2022-07-16",level:2},{value:"Bug Fixes",id:"bug-fixes-86",level:3},{value:"Performance Improvements",id:"performance-improvements-5",level:3},{value:"123.3.1 (2022-06-29)",id:"12331-2022-06-29",level:2},{value:"Bug Fixes",id:"bug-fixes-87",level:3},{value:"Features",id:"features-66",level:3},{value:"123.2.4 (2022-06-03)",id:"12324-2022-06-03",level:2},{value:"Bug Fixes",id:"bug-fixes-88",level:3},{value:"123.2.3 (2022-05-31)",id:"12323-2022-05-31",level:2},{value:"Bug Fixes",id:"bug-fixes-89",level:3},{value:"123.2.2 (2022-05-31)",id:"12322-2022-05-31",level:2},{value:"Bug Fixes",id:"bug-fixes-90",level:3},{value:"123.2.1 (2022-05-29)",id:"12321-2022-05-29",level:2},{value:"Bug Fixes",id:"bug-fixes-91",level:3},{value:"Bug Fixes",id:"bug-fixes-92",level:3},{value:"Features",id:"features-67",level:3},{value:"123.1.5 (2022-05-25)",id:"12315-2022-05-25",level:2},{value:"Bug Fixes",id:"bug-fixes-93",level:3},{value:"123.1.4 (2022-05-25)",id:"12314-2022-05-25",level:2},{value:"Bug Fixes",id:"bug-fixes-94",level:3},{value:"123.1.3 (2022-05-24)",id:"12313-2022-05-24",level:2},{value:"Bug Fixes",id:"bug-fixes-95",level:3},{value:"123.1.2 (2022-05-20)",id:"12312-2022-05-20",level:2},{value:"Bug Fixes",id:"bug-fixes-96",level:3},{value:"123.1.1 (2022-05-19)",id:"12311-2022-05-19",level:2},{value:"Bug Fixes",id:"bug-fixes-97",level:3},{value:"Features",id:"features-68",level:3},{value:"123.0.6 (2022-05-12)",id:"12306-2022-05-12",level:2},{value:"Bug Fixes",id:"bug-fixes-98",level:3},{value:"123.0.5 (2022-05-09)",id:"12305-2022-05-09",level:2},{value:"Bug Fixes",id:"bug-fixes-99",level:3},{value:"123.0.4 (2022-05-09)",id:"12304-2022-05-09",level:2},{value:"Bug Fixes",id:"bug-fixes-100",level:3},{value:"123.0.3 (2022-05-06)",id:"12303-2022-05-06",level:2},{value:"Bug Fixes",id:"bug-fixes-101",level:3},{value:"123.0.2 (2022-04-27)",id:"12302-2022-04-27",level:2},{value:"Performance Improvements",id:"performance-improvements-6",level:3},{value:"123.0.1 (2022-04-24)",id:"12301-2022-04-24",level:2},{value:"Bug Fixes",id:"bug-fixes-102",level:3},{value:"Bug Fixes",id:"bug-fixes-103",level:3},{value:"Code Refactoring",id:"code-refactoring-7",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-26",level:3},{value:"Bug Fixes",id:"bug-fixes-104",level:3},{value:"Features",id:"features-69",level:3},{value:"122.0.2 (2022-04-14)",id:"12202-2022-04-14",level:2},{value:"Bug Fixes",id:"bug-fixes-105",level:3},{value:"Performance Improvements",id:"performance-improvements-7",level:3},{value:"122.0.1 (2022-04-13)",id:"12201-2022-04-13",level:2},{value:"Performance Improvements",id:"performance-improvements-8",level:3},{value:"Bug Fixes",id:"bug-fixes-106",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-27",level:3},{value:"121.0.1 (2022-04-06)",id:"12101-2022-04-06",level:2},{value:"Bug Fixes",id:"bug-fixes-107",level:3},{value:"Features",id:"features-70",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-28",level:3},{value:"120.1.2 (2022-03-25)",id:"12012-2022-03-25",level:2},{value:"Bug Fixes",id:"bug-fixes-108",level:3},{value:"120.1.1 (2022-03-23)",id:"12011-2022-03-23",level:2},{value:"Bug Fixes",id:"bug-fixes-109",level:3},{value:"Features",id:"features-71",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-29",level:3},{value:"119.1.4 (2022-03-17)",id:"11914-2022-03-17",level:2},{value:"Bug Fixes",id:"bug-fixes-110",level:3},{value:"119.1.3 (2022-03-02)",id:"11913-2022-03-02",level:2},{value:"Bug Fixes",id:"bug-fixes-111",level:3},{value:"119.1.2 (2022-03-01)",id:"11912-2022-03-01",level:2},{value:"Bug Fixes",id:"bug-fixes-112",level:3},{value:"119.1.1 (2022-02-19)",id:"11911-2022-02-19",level:2},{value:"Bug Fixes",id:"bug-fixes-113",level:3},{value:"Features",id:"features-72",level:3},{value:"119.0.1 (2022-02-16)",id:"11901-2022-02-16",level:2},{value:"Performance Improvements",id:"performance-improvements-9",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-30",level:3},{value:"Features",id:"features-73",level:3},{value:"Performance Improvements",id:"performance-improvements-10",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-31",level:3},{value:"Bug Fixes",id:"bug-fixes-114",level:3},{value:"Features",id:"features-74",level:3},{value:"117.1.1 (2022-02-07)",id:"11711-2022-02-07",level:2},{value:"Bug Fixes",id:"bug-fixes-115",level:3},{value:"Bug Fixes",id:"bug-fixes-116",level:3},{value:"Features",id:"features-75",level:3},{value:"Bug Fixes",id:"bug-fixes-117",level:3},{value:"Code Refactoring",id:"code-refactoring-8",level:3},{value:"Features",id:"features-76",level:3},{value:"Performance Improvements",id:"performance-improvements-11",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-32",level:3},{value:"Features",id:"features-77",level:3},{value:"116.1.1 (2022-02-01)",id:"11611-2022-02-01",level:2},{value:"Bug Fixes",id:"bug-fixes-118",level:3},{value:"Bug Fixes",id:"bug-fixes-119",level:3},{value:"Features",id:"features-78",level:3},{value:"Bug Fixes",id:"bug-fixes-120",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-33",level:3},{value:"Bug Fixes",id:"bug-fixes-121",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-34",level:3},{value:"114.1.1 (2022-01-19)",id:"11411-2022-01-19",level:2},{value:"Bug Fixes",id:"bug-fixes-122",level:3},{value:"Features",id:"features-79",level:3},{value:"114.0.3 (2022-01-13)",id:"11403-2022-01-13",level:2},{value:"Bug Fixes",id:"bug-fixes-123",level:3},{value:"114.0.2 (2022-01-03)",id:"11402-2022-01-03",level:2},{value:"Bug Fixes",id:"bug-fixes-124",level:3},{value:"114.0.1 (2021-12-31)",id:"11401-2021-12-31",level:2},{value:"Bug Fixes",id:"bug-fixes-125",level:3},{value:"Bug Fixes",id:"bug-fixes-126",level:3},{value:"Code Refactoring",id:"code-refactoring-9",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-35",level:3},{value:"113.3.4 (2021-12-31)",id:"11334-2021-12-31",level:2},{value:"Bug Fixes",id:"bug-fixes-127",level:3},{value:"113.3.3 (2021-12-29)",id:"11333-2021-12-29",level:2},{value:"Bug Fixes",id:"bug-fixes-128",level:3},{value:"113.3.2 (2021-12-29)",id:"11332-2021-12-29",level:2},{value:"Bug Fixes",id:"bug-fixes-129",level:3},{value:"113.3.1 (2021-12-29)",id:"11331-2021-12-29",level:2},{value:"Bug Fixes",id:"bug-fixes-130",level:3},{value:"Bug Fixes",id:"bug-fixes-131",level:3},{value:"Features",id:"features-80",level:3},{value:"Bug Fixes",id:"bug-fixes-132",level:3},{value:"Features",id:"features-81",level:3},{value:"113.1.3 (2021-12-20)",id:"11313-2021-12-20",level:2},{value:"Bug Fixes",id:"bug-fixes-133",level:3},{value:"113.1.2 (2021-12-08)",id:"11312-2021-12-08",level:2},{value:"Bug Fixes",id:"bug-fixes-134",level:3},{value:"113.1.1 (2021-12-07)",id:"11311-2021-12-07",level:2},{value:"Bug Fixes",id:"bug-fixes-135",level:3},{value:"Features",id:"features-82",level:3},{value:"113.0.4 (2021-12-04)",id:"11304-2021-12-04",level:2},{value:"Performance Improvements",id:"performance-improvements-12",level:3},{value:"113.0.3 (2021-12-04)",id:"11303-2021-12-04",level:2},{value:"Bug Fixes",id:"bug-fixes-136",level:3},{value:"113.0.2 (2021-12-04)",id:"11302-2021-12-04",level:2},{value:"Bug Fixes",id:"bug-fixes-137",level:3},{value:"113.0.1 (2021-12-04)",id:"11301-2021-12-04",level:2},{value:"Bug Fixes",id:"bug-fixes-138",level:3},{value:"Bug Fixes",id:"bug-fixes-139",level:3},{value:"Features",id:"features-83",level:3},{value:"Performance Improvements",id:"performance-improvements-13",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-36",level:3},{value:"112.0.2 (2021-11-22)",id:"11202-2021-11-22",level:2},{value:"Bug Fixes",id:"bug-fixes-140",level:3},{value:"112.0.1 (2021-11-07)",id:"11201-2021-11-07",level:2},{value:"Bug Fixes",id:"bug-fixes-141",level:3},{value:"Bug Fixes",id:"bug-fixes-142",level:3},{value:"Code Refactoring",id:"code-refactoring-10",level:3},{value:"Features",id:"features-84",level:3},{value:"Performance Improvements",id:"performance-improvements-14",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-37",level:3},{value:"111.1.1 (2021-11-06)",id:"11111-2021-11-06",level:2},{value:"Bug Fixes",id:"bug-fixes-143",level:3},{value:"Features",id:"features-85",level:3},{value:"Code Refactoring",id:"code-refactoring-11",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-38",level:3},{value:"Bug Fixes",id:"bug-fixes-144",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-39",level:3},{value:"109.0.3 (2021-10-31)",id:"10903-2021-10-31",level:2},{value:"Bug Fixes",id:"bug-fixes-145",level:3},{value:"109.0.2 (2021-10-29)",id:"10902-2021-10-29",level:2},{value:"Bug Fixes",id:"bug-fixes-146",level:3},{value:"109.0.1 (2021-10-27)",id:"10901-2021-10-27",level:2},{value:"Bug Fixes",id:"bug-fixes-147",level:3},{value:"Performance Improvements",id:"performance-improvements-15",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-40",level:3},{value:"108.0.1 (2021-10-21)",id:"10801-2021-10-21",level:2},{value:"Bug Fixes",id:"bug-fixes-148",level:3},{value:"Bug Fixes",id:"bug-fixes-149",level:3},{value:"Code Refactoring",id:"code-refactoring-12",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-41",level:3},{value:"107.1.3 (2021-10-20)",id:"10713-2021-10-20",level:2},{value:"Bug Fixes",id:"bug-fixes-150",level:3},{value:"107.1.2 (2021-10-19)",id:"10712-2021-10-19",level:2},{value:"Bug Fixes",id:"bug-fixes-151",level:3},{value:"107.1.1 (2021-10-12)",id:"10711-2021-10-12",level:2},{value:"Bug Fixes",id:"bug-fixes-152",level:3},{value:"Bug Fixes",id:"bug-fixes-153",level:3},{value:"Features",id:"features-86",level:3},{value:"107.0.1 (2021-10-09)",id:"10701-2021-10-09",level:2},{value:"Bug Fixes",id:"bug-fixes-154",level:3},{value:"Performance Improvements",id:"performance-improvements-16",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-42",level:3},{value:"106.2.4 (2021-10-06)",id:"10624-2021-10-06",level:2},{value:"Bug Fixes",id:"bug-fixes-155",level:3},{value:"106.2.3 (2021-10-06)",id:"10623-2021-10-06",level:2},{value:"Bug Fixes",id:"bug-fixes-156",level:3},{value:"106.2.2 (2021-10-05)",id:"10622-2021-10-05",level:2},{value:"Performance Improvements",id:"performance-improvements-17",level:3},{value:"106.2.1 (2021-10-02)",id:"10621-2021-10-02",level:2},{value:"Bug Fixes",id:"bug-fixes-157",level:3},{value:"Bug Fixes",id:"bug-fixes-158",level:3},{value:"Features",id:"features-87",level:3},{value:"Features",id:"features-88",level:3},{value:"Bug Fixes",id:"bug-fixes-159",level:3},{value:"Features",id:"features-89",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-43",level:3},{value:"105.1.3 (2021-10-01)",id:"10513-2021-10-01",level:2},{value:"Bug Fixes",id:"bug-fixes-160",level:3},{value:"105.1.2 (2021-09-30)",id:"10512-2021-09-30",level:2},{value:"Bug Fixes",id:"bug-fixes-161",level:3},{value:"105.1.1 (2021-09-25)",id:"10511-2021-09-25",level:2},{value:"Bug Fixes",id:"bug-fixes-162",level:3},{value:"Bug Fixes",id:"bug-fixes-163",level:3},{value:"Features",id:"features-90",level:3},{value:"105.0.1 (2021-09-22)",id:"10501-2021-09-22",level:2},{value:"Bug Fixes",id:"bug-fixes-164",level:3},{value:"Reverts",id:"reverts-1",level:3},{value:"Bug Fixes",id:"bug-fixes-165",level:3},{value:"Code Refactoring",id:"code-refactoring-13",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-44",level:3},{value:"Features",id:"features-91",level:3},{value:"Bug Fixes",id:"bug-fixes-166",level:3},{value:"Features",id:"features-92",level:3},{value:"Performance Improvements",id:"performance-improvements-18",level:3},{value:"Features",id:"features-93",level:3},{value:"104.0.4 (2021-09-16)",id:"10404-2021-09-16",level:2},{value:"Performance Improvements",id:"performance-improvements-19",level:3},{value:"104.0.3 (2021-09-14)",id:"10403-2021-09-14",level:2},{value:"Performance Improvements",id:"performance-improvements-20",level:3},{value:"104.0.2 (2021-09-13)",id:"10402-2021-09-13",level:2},{value:"Performance Improvements",id:"performance-improvements-21",level:3},{value:"104.0.1 (2021-09-13)",id:"10401-2021-09-13",level:2},{value:"Performance Improvements",id:"performance-improvements-22",level:3},{value:"Bug Fixes",id:"bug-fixes-167",level:3},{value:"Code Refactoring",id:"code-refactoring-14",level:3},{value:"Features",id:"features-94",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-45",level:3},{value:"103.1.1 (2021-09-08)",id:"10311-2021-09-08",level:2},{value:"Bug Fixes",id:"bug-fixes-168",level:3},{value:"Features",id:"features-95",level:3},{value:"103.0.1 (2021-09-06)",id:"10301-2021-09-06",level:2},{value:"Bug Fixes",id:"bug-fixes-169",level:3},{value:"Code Refactoring",id:"code-refactoring-15",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-46",level:3},{value:"Features",id:"features-96",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-47",level:3},{value:"Features",id:"features-97",level:3},{value:"101.9.2 (2021-08-29)",id:"10192-2021-08-29",level:2},{value:"Bug Fixes",id:"bug-fixes-170",level:3},{value:"101.9.1 (2021-08-29)",id:"10191-2021-08-29",level:2},{value:"Bug Fixes",id:"bug-fixes-171",level:3},{value:"Bug Fixes",id:"bug-fixes-172",level:3},{value:"Features",id:"features-98",level:3},{value:"Features",id:"features-99",level:3},{value:"Features",id:"features-100",level:3},{value:"Features",id:"features-101",level:3},{value:"101.5.1 (2021-08-22)",id:"10151-2021-08-22",level:2},{value:"Performance Improvements",id:"performance-improvements-23",level:3},{value:"Features",id:"features-102",level:3},{value:"Performance Improvements",id:"performance-improvements-24",level:3},{value:"101.4.2 (2021-08-21)",id:"10142-2021-08-21",level:2},{value:"Bug Fixes",id:"bug-fixes-173",level:3},{value:"101.4.1 (2021-08-19)",id:"10141-2021-08-19",level:2},{value:"Bug Fixes",id:"bug-fixes-174",level:3},{value:"Bug Fixes",id:"bug-fixes-175",level:3},{value:"Features",id:"features-103",level:3},{value:"Bug Fixes",id:"bug-fixes-176",level:3},{value:"Features",id:"features-104",level:3},{value:"Bug Fixes",id:"bug-fixes-177",level:3},{value:"Features",id:"features-105",level:3},{value:"Features",id:"features-106",level:3},{value:"101.0.2 (2021-08-01)",id:"10102-2021-08-01",level:2},{value:"Bug Fixes",id:"bug-fixes-178",level:3},{value:"101.0.1 (2021-07-29)",id:"10101-2021-07-29",level:2},{value:"Bug Fixes",id:"bug-fixes-179",level:3},{value:"Code Refactoring",id:"code-refactoring-16",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-48",level:3},{value:"100.0.2 (2021-07-25)",id:"10002-2021-07-25",level:2},{value:"Performance Improvements",id:"performance-improvements-25",level:3},{value:"100.0.1 (2021-07-19)",id:"10001-2021-07-19",level:2},{value:"Bug Fixes",id:"bug-fixes-180",level:3},{value:"Performance Improvements",id:"performance-improvements-26",level:3},{value:"Code Refactoring",id:"code-refactoring-17",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-49",level:3},{value:"Features",id:"features-107",level:3},{value:"99.0.2 (2021-07-05)",id:"9902-2021-07-05",level:2},{value:"Bug Fixes",id:"bug-fixes-181",level:3},{value:"99.0.1 (2021-07-03)",id:"9901-2021-07-03",level:2},{value:"Bug Fixes",id:"bug-fixes-182",level:3},{value:"Performance Improvements",id:"performance-improvements-27",level:3},{value:"Performance Improvements",id:"performance-improvements-28",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-50",level:3},{value:"98.0.1 (2021-07-02)",id:"9801-2021-07-02",level:2},{value:"Performance Improvements",id:"performance-improvements-29",level:3},{value:"Performance Improvements",id:"performance-improvements-30",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-51",level:3},{value:"97.1.2 (2021-07-01)",id:"9712-2021-07-01",level:2},{value:"Performance Improvements",id:"performance-improvements-31",level:3},{value:"97.1.1 (2021-06-28)",id:"9711-2021-06-28",level:2},{value:"Bug Fixes",id:"bug-fixes-183",level:3},{value:"Features",id:"features-108",level:3},{value:"97.0.1 (2021-06-27)",id:"9701-2021-06-27",level:2},{value:"Bug Fixes",id:"bug-fixes-184",level:3},{value:"Code Refactoring",id:"code-refactoring-18",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-52",level:3},{value:"96.5.2 (2021-06-27)",id:"9652-2021-06-27",level:2},{value:"Bug Fixes",id:"bug-fixes-185",level:3},{value:"96.5.1 (2021-06-27)",id:"9651-2021-06-27",level:2},{value:"Bug Fixes",id:"bug-fixes-186",level:3},{value:"Bug Fixes",id:"bug-fixes-187",level:3},{value:"Features",id:"features-109",level:3},{value:"Performance Improvements",id:"performance-improvements-32",level:3},{value:"96.4.3 (2021-06-23)",id:"9643-2021-06-23",level:2},{value:"Bug Fixes",id:"bug-fixes-188",level:3},{value:"96.4.2 (2021-06-21)",id:"9642-2021-06-21",level:2},{value:"Bug Fixes",id:"bug-fixes-189",level:3},{value:"96.4.1 (2021-06-21)",id:"9641-2021-06-21",level:2},{value:"Bug Fixes",id:"bug-fixes-190",level:3},{value:"Features",id:"features-110",level:3},{value:"96.3.1 (2021-06-17)",id:"9631-2021-06-17",level:2},{value:"Bug Fixes",id:"bug-fixes-191",level:3},{value:"Bug Fixes",id:"bug-fixes-192",level:3},{value:"Features",id:"features-111",level:3},{value:"96.2.1 (2021-06-04)",id:"9621-2021-06-04",level:2},{value:"Bug Fixes",id:"bug-fixes-193",level:3},{value:"Features",id:"features-112",level:3},{value:"96.1.2 (2021-06-02)",id:"9612-2021-06-02",level:2},{value:"Bug Fixes",id:"bug-fixes-194",level:3},{value:"96.1.1 (2021-06-02)",id:"9611-2021-06-02",level:2},{value:"Bug Fixes",id:"bug-fixes-195",level:3},{value:"Bug Fixes",id:"bug-fixes-196",level:3},{value:"Features",id:"features-113",level:3},{value:"Features",id:"features-114",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-53",level:3},{value:"95.1.1 (2021-05-30)",id:"9511-2021-05-30",level:2},{value:"Bug Fixes",id:"bug-fixes-197",level:3},{value:"Features",id:"features-115",level:3},{value:"Code Refactoring",id:"code-refactoring-19",level:3},{value:"Features",id:"features-116",level:3},{value:"Performance Improvements",id:"performance-improvements-33",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-54",level:3},{value:"Bug Fixes",id:"bug-fixes-198",level:3},{value:"Code Refactoring",id:"code-refactoring-20",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-55",level:3},{value:"93.0.2 (2021-05-24)",id:"9302-2021-05-24",level:2},{value:"Bug Fixes",id:"bug-fixes-199",level:3},{value:"93.0.1 (2021-05-23)",id:"9301-2021-05-23",level:2},{value:"Bug Fixes",id:"bug-fixes-200",level:3},{value:"Features",id:"features-117",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-56",level:3},{value:"Code Refactoring",id:"code-refactoring-21",level:3},{value:"Features",id:"features-118",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-57",level:3},{value:"Features",id:"features-119",level:3},{value:"Bug Fixes",id:"bug-fixes-201",level:3},{value:"Features",id:"features-120",level:3},{value:"91.0.1 (2021-05-04)",id:"9101-2021-05-04",level:2},{value:"Bug Fixes",id:"bug-fixes-202",level:3},{value:"Code Refactoring",id:"code-refactoring-22",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-58",level:3},{value:"Code Refactoring",id:"code-refactoring-23",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-59",level:3},{value:"Code Refactoring",id:"code-refactoring-24",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-60",level:3},{value:"88.1.3 (2021-04-28)",id:"8813-2021-04-28",level:2},{value:"Bug Fixes",id:"bug-fixes-203",level:3},{value:"88.1.2 (2021-04-27)",id:"8812-2021-04-27",level:2},{value:"Bug Fixes",id:"bug-fixes-204",level:3},{value:"88.1.1 (2021-04-21)",id:"8811-2021-04-21",level:2},{value:"Bug Fixes",id:"bug-fixes-205",level:3},{value:"Features",id:"features-121",level:3},{value:"Code Refactoring",id:"code-refactoring-25",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-61",level:3},{value:"87.2.4 (2021-04-16)",id:"8724-2021-04-16",level:2},{value:"Bug Fixes",id:"bug-fixes-206",level:3},{value:"87.2.3 (2021-04-16)",id:"8723-2021-04-16",level:2},{value:"Bug Fixes",id:"bug-fixes-207",level:3},{value:"87.2.2 (2021-04-16)",id:"8722-2021-04-16",level:2},{value:"Bug Fixes",id:"bug-fixes-208",level:3},{value:"87.2.1 (2021-04-14)",id:"8721-2021-04-14",level:2},{value:"Bug Fixes",id:"bug-fixes-209",level:3},{value:"Features",id:"features-122",level:3},{value:"87.1.2 (2021-04-12)",id:"8712-2021-04-12",level:2},{value:"Bug Fixes",id:"bug-fixes-210",level:3},{value:"87.1.1 (2021-04-10)",id:"8711-2021-04-10",level:2},{value:"Bug Fixes",id:"bug-fixes-211",level:3},{value:"Features",id:"features-123",level:3},{value:"87.0.1 (2021-04-08)",id:"8701-2021-04-08",level:2},{value:"Bug Fixes",id:"bug-fixes-212",level:3},{value:"Bug Fixes",id:"bug-fixes-213",level:3},{value:"Features",id:"features-124",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-62",level:3},{value:"86.0.2 (2021-04-05)",id:"8602-2021-04-05",level:2},{value:"Bug Fixes",id:"bug-fixes-214",level:3},{value:"86.0.1 (2021-04-02)",id:"8601-2021-04-02",level:2},{value:"Bug Fixes",id:"bug-fixes-215",level:3},{value:"Bug Fixes",id:"bug-fixes-216",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-63",level:3},{value:"Code Refactoring",id:"code-refactoring-26",level:3},{value:"Features",id:"features-125",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-64",level:3},{value:"84.3.1 (2021-03-29)",id:"8431-2021-03-29",level:2},{value:"Bug Fixes",id:"bug-fixes-217",level:3},{value:"Features",id:"features-126",level:3},{value:"84.2.1 (2021-03-27)",id:"8421-2021-03-27",level:2},{value:"Bug Fixes",id:"bug-fixes-218",level:3},{value:"Features",id:"features-127",level:3},{value:"84.1.1 (2021-03-26)",id:"8411-2021-03-26",level:2},{value:"Bug Fixes",id:"bug-fixes-219",level:3},{value:"Features",id:"features-128",level:3},{value:"Code Refactoring",id:"code-refactoring-27",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-65",level:3},{value:"Code Refactoring",id:"code-refactoring-28",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-66",level:3},{value:"Code Refactoring",id:"code-refactoring-29",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-67",level:3},{value:"81.0.2 (2021-03-22)",id:"8102-2021-03-22",level:2},{value:"Bug Fixes",id:"bug-fixes-220",level:3},{value:"81.0.1 (2021-03-20)",id:"8101-2021-03-20",level:2},{value:"Performance Improvements",id:"performance-improvements-34",level:3},{value:"Performance Improvements",id:"performance-improvements-35",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-68",level:3},{value:"80.0.1 (2021-03-17)",id:"8001-2021-03-17",level:2},{value:"Bug Fixes",id:"bug-fixes-221",level:3},{value:"Code Refactoring",id:"code-refactoring-30",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-69",level:3},{value:"Code Refactoring",id:"code-refactoring-31",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-70",level:3},{value:"Code Refactoring",id:"code-refactoring-32",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-71",level:3},{value:"Code Refactoring",id:"code-refactoring-33",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-72",level:3},{value:"Code Refactoring",id:"code-refactoring-34",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-73",level:3},{value:"Features",id:"features-129",level:3},{value:"Bug Fixes",id:"bug-fixes-222",level:3},{value:"Code Refactoring",id:"code-refactoring-35",level:3},{value:"Features",id:"features-130",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-74",level:3},{value:"Bug Fixes",id:"bug-fixes-223",level:3},{value:"Code Refactoring",id:"code-refactoring-36",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-75",level:3},{value:"Code Refactoring",id:"code-refactoring-37",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-76",level:3},{value:"72.0.1 (2021-03-06)",id:"7201-2021-03-06",level:2},{value:"Bug Fixes",id:"bug-fixes-224",level:3},{value:"Code Refactoring",id:"code-refactoring-38",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-77",level:3},{value:"Styles",id:"styles",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-78",level:3},{value:"Code Refactoring",id:"code-refactoring-39",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-79",level:3},{value:"69.1.2 (2021-03-03)",id:"6912-2021-03-03",level:2},{value:"Bug Fixes",id:"bug-fixes-225",level:3},{value:"69.1.1 (2021-03-02)",id:"6911-2021-03-02",level:2},{value:"Bug Fixes",id:"bug-fixes-226",level:3},{value:"Features",id:"features-131",level:3},{value:"Styles",id:"styles-1",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-80",level:3},{value:"68.0.3 (2021-02-25)",id:"6803-2021-02-25",level:2},{value:"Bug Fixes",id:"bug-fixes-227",level:3},{value:"68.0.2 (2021-02-24)",id:"6802-2021-02-24",level:2},{value:"Bug Fixes",id:"bug-fixes-228",level:3},{value:"68.0.1 (2021-02-23)",id:"6801-2021-02-23",level:2},{value:"Bug Fixes",id:"bug-fixes-229",level:3},{value:"Code Refactoring",id:"code-refactoring-40",level:3},{value:"Features",id:"features-132",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-81",level:3},{value:"Features",id:"features-133",level:3},{value:"67.3.2 (2021-02-21)",id:"6732-2021-02-21",level:2},{value:"Bug Fixes",id:"bug-fixes-230",level:3},{value:"67.3.1 (2021-02-21)",id:"6731-2021-02-21",level:2},{value:"Bug Fixes",id:"bug-fixes-231",level:3},{value:"Features",id:"features-134",level:3},{value:"67.2.7 (2021-02-21)",id:"6727-2021-02-21",level:2},{value:"Bug Fixes",id:"bug-fixes-232",level:3},{value:"67.2.6 (2021-02-20)",id:"6726-2021-02-20",level:2},{value:"Bug Fixes",id:"bug-fixes-233",level:3},{value:"67.2.5 (2021-02-20)",id:"6725-2021-02-20",level:2},{value:"Bug Fixes",id:"bug-fixes-234",level:3},{value:"67.2.4 (2021-02-20)",id:"6724-2021-02-20",level:2},{value:"Bug Fixes",id:"bug-fixes-235",level:3},{value:"67.2.3 (2021-02-19)",id:"6723-2021-02-19",level:2},{value:"Bug Fixes",id:"bug-fixes-236",level:3},{value:"67.2.2 (2021-02-19)",id:"6722-2021-02-19",level:2},{value:"Bug Fixes",id:"bug-fixes-237",level:3},{value:"67.2.1 (2021-02-19)",id:"6721-2021-02-19",level:2},{value:"Bug Fixes",id:"bug-fixes-238",level:3},{value:"Features",id:"features-135",level:3},{value:"Features",id:"features-136",level:3},{value:"67.0.2 (2021-02-19)",id:"6702-2021-02-19",level:2},{value:"Bug Fixes",id:"bug-fixes-239",level:3},{value:"67.0.1 (2021-02-19)",id:"6701-2021-02-19",level:2},{value:"Bug Fixes",id:"bug-fixes-240",level:3},{value:"Code Refactoring",id:"code-refactoring-41",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-82",level:3},{value:"66.2.2 (2021-02-19)",id:"6622-2021-02-19",level:2},{value:"Bug Fixes",id:"bug-fixes-241",level:3},{value:"66.2.1 (2021-02-17)",id:"6621-2021-02-17",level:2},{value:"Bug Fixes",id:"bug-fixes-242",level:3},{value:"Features",id:"features-137",level:3},{value:"Features",id:"features-138",level:3},{value:"Bug Fixes",id:"bug-fixes-243",level:3},{value:"Code Refactoring",id:"code-refactoring-42",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-83",level:3},{value:"Features",id:"features-139",level:3},{value:"Code Refactoring",id:"code-refactoring-43",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-84",level:3},{value:"Code Refactoring",id:"code-refactoring-44",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-85",level:3},{value:"Features",id:"features-140",level:3},{value:"Performance Improvements",id:"performance-improvements-36",level:3},{value:"Features",id:"features-141",level:3},{value:"63.3.5 (2021-02-07)",id:"6335-2021-02-07",level:2},{value:"Bug Fixes",id:"bug-fixes-244",level:3},{value:"63.3.4 (2021-02-07)",id:"6334-2021-02-07",level:2},{value:"Bug Fixes",id:"bug-fixes-245",level:3},{value:"63.3.3 (2021-02-05)",id:"6333-2021-02-05",level:2},{value:"Reverts",id:"reverts-2",level:3},{value:"63.3.2 (2021-02-04)",id:"6332-2021-02-04",level:2},{value:"Bug Fixes",id:"bug-fixes-246",level:3},{value:"63.3.1 (2021-02-04)",id:"6331-2021-02-04",level:2},{value:"Bug Fixes",id:"bug-fixes-247",level:3},{value:"Bug Fixes",id:"bug-fixes-248",level:3},{value:"Features",id:"features-142",level:3},{value:"63.2.1 (2021-02-03)",id:"6321-2021-02-03",level:2},{value:"Bug Fixes",id:"bug-fixes-249",level:3},{value:"Features",id:"features-143",level:3},{value:"Features",id:"features-144",level:3},{value:"63.0.1 (2021-02-03)",id:"6301-2021-02-03",level:2},{value:"Bug Fixes",id:"bug-fixes-250",level:3},{value:"Bug Fixes",id:"bug-fixes-251",level:3},{value:"Styles",id:"styles-2",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-86",level:3},{value:"Features",id:"features-145",level:3},{value:"62.9.8 (2021-02-01)",id:"6298-2021-02-01",level:2},{value:"Bug Fixes",id:"bug-fixes-252",level:3},{value:"62.9.7 (2021-02-01)",id:"6297-2021-02-01",level:2},{value:"Bug Fixes",id:"bug-fixes-253",level:3},{value:"62.9.6 (2021-01-31)",id:"6296-2021-01-31",level:2},{value:"Bug Fixes",id:"bug-fixes-254",level:3},{value:"62.9.5 (2021-01-30)",id:"6295-2021-01-30",level:2},{value:"Bug Fixes",id:"bug-fixes-255",level:3},{value:"62.9.4 (2021-01-29)",id:"6294-2021-01-29",level:2},{value:"Bug Fixes",id:"bug-fixes-256",level:3},{value:"62.9.3 (2021-01-27)",id:"6293-2021-01-27",level:2},{value:"Bug Fixes",id:"bug-fixes-257",level:3},{value:"62.9.2 (2021-01-27)",id:"6292-2021-01-27",level:2},{value:"Bug Fixes",id:"bug-fixes-258",level:3},{value:"62.9.1 (2021-01-26)",id:"6291-2021-01-26",level:2},{value:"Performance Improvements",id:"performance-improvements-37",level:3},{value:"Features",id:"features-146",level:3},{value:"Features",id:"features-147",level:3},{value:"62.7.2 (2021-01-24)",id:"6272-2021-01-24",level:2},{value:"Bug Fixes",id:"bug-fixes-259",level:3},{value:"62.7.1 (2021-01-22)",id:"6271-2021-01-22",level:2},{value:"Bug Fixes",id:"bug-fixes-260",level:3},{value:"Features",id:"features-148",level:3},{value:"62.6.1 (2021-01-20)",id:"6261-2021-01-20",level:2},{value:"Bug Fixes",id:"bug-fixes-261",level:3},{value:"Features",id:"features-149",level:3},{value:"62.5.5 (2021-01-20)",id:"6255-2021-01-20",level:2},{value:"Bug Fixes",id:"bug-fixes-262",level:3},{value:"62.5.4 (2021-01-19)",id:"6254-2021-01-19",level:2},{value:"Bug Fixes",id:"bug-fixes-263",level:3},{value:"62.5.3 (2021-01-19)",id:"6253-2021-01-19",level:2},{value:"Performance Improvements",id:"performance-improvements-38",level:3},{value:"62.5.2 (2021-01-19)",id:"6252-2021-01-19",level:2},{value:"Bug Fixes",id:"bug-fixes-264",level:3},{value:"62.5.1 (2021-01-19)",id:"6251-2021-01-19",level:2},{value:"Bug Fixes",id:"bug-fixes-265",level:3},{value:"Features",id:"features-150",level:3},{value:"62.4.1 (2021-01-15)",id:"6241-2021-01-15",level:2},{value:"Bug Fixes",id:"bug-fixes-266",level:3},{value:"Features",id:"features-151",level:3},{value:"Features",id:"features-152",level:3},{value:"Features",id:"features-153",level:3},{value:"Features",id:"features-154",level:3},{value:"62.0.1 (2021-01-11)",id:"6201-2021-01-11",level:2},{value:"Bug Fixes",id:"bug-fixes-267",level:3},{value:"Features",id:"features-155",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-87",level:3},{value:"61.1.2 (2021-01-09)",id:"6112-2021-01-09",level:2},{value:"Bug Fixes",id:"bug-fixes-268",level:3},{value:"61.1.1 (2021-01-08)",id:"6111-2021-01-08",level:2},{value:"Bug Fixes",id:"bug-fixes-269",level:3},{value:"Features",id:"features-156",level:3},{value:"61.0.2 (2021-01-02)",id:"6102-2021-01-02",level:2},{value:"Bug Fixes",id:"bug-fixes-270",level:3},{value:"61.0.1 (2020-12-31)",id:"6101-2020-12-31",level:2},{value:"Bug Fixes",id:"bug-fixes-271",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-88",level:3},{value:"60.4.1 (2020-12-30)",id:"6041-2020-12-30",level:2},{value:"Bug Fixes",id:"bug-fixes-272",level:3},{value:"Features",id:"features-157",level:3},{value:"Features",id:"features-158",level:3},{value:"Features",id:"features-159",level:3},{value:"60.1.1 (2020-12-27)",id:"6011-2020-12-27",level:2},{value:"Bug Fixes",id:"bug-fixes-273",level:3},{value:"Features",id:"features-160",level:3},{value:"60.0.1 (2020-12-19)",id:"6001-2020-12-19",level:2},{value:"Bug Fixes",id:"bug-fixes-274",level:3},{value:"Bug Fixes",id:"bug-fixes-275",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-89",level:3},{value:"59.2.1 (2020-11-30)",id:"5921-2020-11-30",level:2},{value:"Bug Fixes",id:"bug-fixes-276",level:3},{value:"Performance Improvements",id:"performance-improvements-39",level:3},{value:"Features",id:"features-161",level:3},{value:"Features",id:"features-162",level:3},{value:"59.0.8 (2020-11-23)",id:"5908-2020-11-23",level:2},{value:"Bug Fixes",id:"bug-fixes-277",level:3},{value:"59.0.7 (2020-11-23)",id:"5907-2020-11-23",level:2},{value:"Bug Fixes",id:"bug-fixes-278",level:3},{value:"59.0.6 (2020-11-20)",id:"5906-2020-11-20",level:2},{value:"Bug Fixes",id:"bug-fixes-279",level:3},{value:"59.0.5 (2020-11-14)",id:"5905-2020-11-14",level:2},{value:"Bug Fixes",id:"bug-fixes-280",level:3},{value:"59.0.4 (2020-11-14)",id:"5904-2020-11-14",level:2},{value:"Bug Fixes",id:"bug-fixes-281",level:3},{value:"59.0.3 (2020-11-10)",id:"5903-2020-11-10",level:2},{value:"Bug Fixes",id:"bug-fixes-282",level:3},{value:"59.0.2 (2020-11-10)",id:"5902-2020-11-10",level:2},{value:"Bug Fixes",id:"bug-fixes-283",level:3},{value:"59.0.1 (2020-11-07)",id:"5901-2020-11-07",level:2},{value:"Bug Fixes",id:"bug-fixes-284",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-90",level:3},{value:"58.0.1 (2020-11-05)",id:"5801-2020-11-05",level:2},{value:"Bug Fixes",id:"bug-fixes-285",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-91",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-92",level:3},{value:"Features",id:"features-163",level:3},{value:"56.4.4 (2020-11-04)",id:"5644-2020-11-04",level:2},{value:"Bug Fixes",id:"bug-fixes-286",level:3},{value:"56.4.3 (2020-11-03)",id:"5643-2020-11-03",level:2},{value:"Bug Fixes",id:"bug-fixes-287",level:3},{value:"56.4.2 (2020-11-03)",id:"5642-2020-11-03",level:2},{value:"Bug Fixes",id:"bug-fixes-288",level:3},{value:"56.4.1 (2020-11-03)",id:"5641-2020-11-03",level:2},{value:"Bug Fixes",id:"bug-fixes-289",level:3},{value:"Features",id:"features-164",level:3},{value:"56.3.4 (2020-11-03)",id:"5634-2020-11-03",level:2},{value:"Bug Fixes",id:"bug-fixes-290",level:3},{value:"56.3.3 (2020-11-02)",id:"5633-2020-11-02",level:2},{value:"Bug Fixes",id:"bug-fixes-291",level:3},{value:"56.3.2 (2020-11-02)",id:"5632-2020-11-02",level:2},{value:"Bug Fixes",id:"bug-fixes-292",level:3},{value:"56.3.1 (2020-11-02)",id:"5631-2020-11-02",level:2},{value:"Bug Fixes",id:"bug-fixes-293",level:3},{value:"Features",id:"features-165",level:3},{value:"Features",id:"features-166",level:3},{value:"56.1.2 (2020-10-31)",id:"5612-2020-10-31",level:2},{value:"Bug Fixes",id:"bug-fixes-294",level:3},{value:"56.1.1 (2020-10-30)",id:"5611-2020-10-30",level:2},{value:"Bug Fixes",id:"bug-fixes-295",level:3},{value:"Features",id:"features-167",level:3},{value:"56.0.2 (2020-10-30)",id:"5602-2020-10-30",level:2},{value:"Bug Fixes",id:"bug-fixes-296",level:3},{value:"56.0.1 (2020-10-29)",id:"5601-2020-10-29",level:2},{value:"Bug Fixes",id:"bug-fixes-297",level:3},{value:"breaking",id:"breaking",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-93",level:3},{value:"55.0.1 (2020-10-27)",id:"5501-2020-10-27",level:2},{value:"Bug Fixes",id:"bug-fixes-298",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-94",level:3},{value:"54.1.1 (2020-10-26)",id:"5411-2020-10-26",level:2},{value:"Bug Fixes",id:"bug-fixes-299",level:3},{value:"Features",id:"features-168",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-95",level:3},{value:"53.0.1 (2020-10-24)",id:"5301-2020-10-24",level:2},{value:"Performance Improvements",id:"performance-improvements-40",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-96",level:3},{value:"52.1.1 (2020-10-23)",id:"5211-2020-10-23",level:2},{value:"Performance Improvements",id:"performance-improvements-41",level:3},{value:"Features",id:"features-169",level:3},{value:"Features",id:"features-170",level:3},{value:"52.0.1 (2020-10-23)",id:"5201-2020-10-23",level:2},{value:"Bug Fixes",id:"bug-fixes-300",level:3},{value:"Bug Fixes",id:"bug-fixes-301",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-97",level:3},{value:"51.1.5 (2020-10-22)",id:"5115-2020-10-22",level:2},{value:"Bug Fixes",id:"bug-fixes-302",level:3},{value:"51.1.4 (2020-10-22)",id:"5114-2020-10-22",level:2},{value:"Bug Fixes",id:"bug-fixes-303",level:3},{value:"51.1.3 (2020-10-22)",id:"5113-2020-10-22",level:2},{value:"Performance Improvements",id:"performance-improvements-42",level:3},{value:"51.1.2 (2020-10-21)",id:"5112-2020-10-21",level:2},{value:"Bug Fixes",id:"bug-fixes-304",level:3},{value:"51.1.1 (2020-10-21)",id:"5111-2020-10-21",level:2},{value:"Bug Fixes",id:"bug-fixes-305",level:3},{value:"Features",id:"features-171",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-98",level:3},{value:"Bug Fixes",id:"bug-fixes-306",level:3},{value:"Features",id:"features-172",level:3},{value:"50.1.5 (2020-10-20)",id:"5015-2020-10-20",level:2},{value:"Bug Fixes",id:"bug-fixes-307",level:3},{value:"50.1.4 (2020-10-20)",id:"5014-2020-10-20",level:2},{value:"Bug Fixes",id:"bug-fixes-308",level:3},{value:"50.1.3 (2020-10-20)",id:"5013-2020-10-20",level:2},{value:"Bug Fixes",id:"bug-fixes-309",level:3},{value:"50.1.2 (2020-10-19)",id:"5012-2020-10-19",level:2},{value:"Bug Fixes",id:"bug-fixes-310",level:3},{value:"50.1.1 (2020-10-19)",id:"5011-2020-10-19",level:2},{value:"Performance Improvements",id:"performance-improvements-43",level:3},{value:"Features",id:"features-173",level:3},{value:"50.0.2 (2020-10-18)",id:"5002-2020-10-18",level:2},{value:"Bug Fixes",id:"bug-fixes-311",level:3},{value:"50.0.1 (2020-10-18)",id:"5001-2020-10-18",level:2},{value:"Bug Fixes",id:"bug-fixes-312",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-99",level:3},{value:"Features",id:"features-174",level:3},{value:"49.3.3 (2020-10-16)",id:"4933-2020-10-16",level:2},{value:"Bug Fixes",id:"bug-fixes-313",level:3},{value:"49.3.2 (2020-10-16)",id:"4932-2020-10-16",level:2},{value:"Performance Improvements",id:"performance-improvements-44",level:3},{value:"49.3.1 (2020-10-15)",id:"4931-2020-10-15",level:2},{value:"Bug Fixes",id:"bug-fixes-314",level:3},{value:"Bug Fixes",id:"bug-fixes-315",level:3},{value:"Features",id:"features-175",level:3},{value:"Performance Improvements",id:"performance-improvements-45",level:3},{value:"49.2.1 (2020-10-15)",id:"4921-2020-10-15",level:2},{value:"Bug Fixes",id:"bug-fixes-316",level:3},{value:"Performance Improvements",id:"performance-improvements-46",level:3},{value:"49.2.1 (2020-10-15)",id:"4921-2020-10-15-1",level:2},{value:"Bug Fixes",id:"bug-fixes-317",level:3},{value:"Performance Improvements",id:"performance-improvements-47",level:3},{value:"Bug Fixes",id:"bug-fixes-318",level:3},{value:"Features",id:"features-176",level:3},{value:"49.1.1 (2020-10-14)",id:"4911-2020-10-14",level:2},{value:"Bug Fixes",id:"bug-fixes-319",level:3},{value:"Features",id:"features-177",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-100",level:3},{value:"48.0.1 (2020-10-12)",id:"4801-2020-10-12",level:2},{value:"Bug Fixes",id:"bug-fixes-320",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-101",level:3},{value:"47.0.3 (2020-10-10)",id:"4703-2020-10-10",level:2},{value:"Bug Fixes",id:"bug-fixes-321",level:3},{value:"47.0.2 (2020-10-09)",id:"4702-2020-10-09",level:2},{value:"Bug Fixes",id:"bug-fixes-322",level:3},{value:"47.0.1 (2020-10-08)",id:"4701-2020-10-08",level:2},{value:"Bug Fixes",id:"bug-fixes-323",level:3},{value:"breaking",id:"breaking-1",level:3},{value:"Bug Fixes",id:"bug-fixes-324",level:3},{value:"Features",id:"features-178",level:3},{value:"Performance Improvements",id:"performance-improvements-48",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-102",level:3},{value:"breaking",id:"breaking-2",level:3},{value:"Bug Fixes",id:"bug-fixes-325",level:3},{value:"Features",id:"features-179",level:3},{value:"Performance Improvements",id:"performance-improvements-49",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-103",level:3},{value:"breaking",id:"breaking-3",level:3},{value:"Bug Fixes",id:"bug-fixes-326",level:3},{value:"Features",id:"features-180",level:3},{value:"Performance Improvements",id:"performance-improvements-50",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-104",level:3},{value:"breaking",id:"breaking-4",level:3},{value:"Bug Fixes",id:"bug-fixes-327",level:3},{value:"Features",id:"features-181",level:3},{value:"Performance Improvements",id:"performance-improvements-51",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-105",level:3},{value:"breaking",id:"breaking-5",level:3},{value:"Bug Fixes",id:"bug-fixes-328",level:3},{value:"Features",id:"features-182",level:3},{value:"Performance Improvements",id:"performance-improvements-52",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-106",level:3},{value:"breaking",id:"breaking-6",level:3},{value:"Bug Fixes",id:"bug-fixes-329",level:3},{value:"Features",id:"features-183",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-107",level:3},{value:"breaking",id:"breaking-7",level:3},{value:"Bug Fixes",id:"bug-fixes-330",level:3},{value:"Features",id:"features-184",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-108",level:3},{value:"breaking",id:"breaking-8",level:3},{value:"Bug Fixes",id:"bug-fixes-331",level:3},{value:"Features",id:"features-185",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-109",level:3},{value:"breaking",id:"breaking-9",level:3},{value:"Bug Fixes",id:"bug-fixes-332",level:3},{value:"Features",id:"features-186",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-110",level:3},{value:"breaking",id:"breaking-10",level:3},{value:"Bug Fixes",id:"bug-fixes-333",level:3},{value:"Features",id:"features-187",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-111",level:3},{value:"breaking",id:"breaking-11",level:3},{value:"Bug Fixes",id:"bug-fixes-334",level:3},{value:"Features",id:"features-188",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-112",level:3},{value:"breaking",id:"breaking-12",level:3},{value:"Bug Fixes",id:"bug-fixes-335",level:3},{value:"Features",id:"features-189",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-113",level:3},{value:"breaking",id:"breaking-13",level:3},{value:"Bug Fixes",id:"bug-fixes-336",level:3},{value:"Features",id:"features-190",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-114",level:3},{value:"breaking",id:"breaking-14",level:3},{value:"Bug Fixes",id:"bug-fixes-337",level:3},{value:"Features",id:"features-191",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-115",level:3},{value:"breaking",id:"breaking-15",level:3},{value:"Bug Fixes",id:"bug-fixes-338",level:3},{value:"Features",id:"features-192",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-116",level:3},{value:"breaking",id:"breaking-16",level:3},{value:"Bug Fixes",id:"bug-fixes-339",level:3},{value:"Features",id:"features-193",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-117",level:3},{value:"breaking",id:"breaking-17",level:3},{value:"Bug Fixes",id:"bug-fixes-340",level:3},{value:"Features",id:"features-194",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-118",level:3},{value:"breaking",id:"breaking-18",level:3},{value:"Bug Fixes",id:"bug-fixes-341",level:3},{value:"Features",id:"features-195",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-119",level:3},{value:"breaking",id:"breaking-19",level:3},{value:"Bug Fixes",id:"bug-fixes-342",level:3},{value:"Features",id:"features-196",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-120",level:3},{value:"breaking",id:"breaking-20",level:3},{value:"Bug Fixes",id:"bug-fixes-343",level:3},{value:"Features",id:"features-197",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-121",level:3},{value:"breaking",id:"breaking-21",level:3},{value:"Bug Fixes",id:"bug-fixes-344",level:3},{value:"Features",id:"features-198",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-122",level:3},{value:"breaking",id:"breaking-22",level:3},{value:"Features",id:"features-199",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-123",level:3},{value:"Features",id:"features-200",level:3},{value:"Bug Fixes",id:"bug-fixes-345",level:3},{value:"Features",id:"features-201",level:3},{value:"46.0.2 (2020-09-30)",id:"4602-2020-09-30",level:2},{value:"Bug Fixes",id:"bug-fixes-346",level:3},{value:"46.0.1 (2020-09-30)",id:"4601-2020-09-30",level:2},{value:"Bug Fixes",id:"bug-fixes-347",level:3},{value:"Bug Fixes",id:"bug-fixes-348",level:3},{value:"Features",id:"features-202",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-124",level:3},{value:"45.0.1 (2020-09-30)",id:"4501-2020-09-30",level:2},{value:"Bug Fixes",id:"bug-fixes-349",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-125",level:3},{value:"44.3.1 (2020-09-29)",id:"4431-2020-09-29",level:2},{value:"Bug Fixes",id:"bug-fixes-350",level:3},{value:"Features",id:"features-203",level:3},{value:"Features",id:"features-204",level:3},{value:"Bug Fixes",id:"bug-fixes-351",level:3},{value:"Features",id:"features-205",level:3},{value:"Features",id:"features-206",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-126",level:3},{value:"43.9.1 (2020-09-25)",id:"4391-2020-09-25",level:2},{value:"Bug Fixes",id:"bug-fixes-352",level:3},{value:"Features",id:"features-207",level:3},{value:"Features",id:"features-208",level:3},{value:"Bug Fixes",id:"bug-fixes-353",level:3},{value:"Features",id:"features-209",level:3},{value:"Performance Improvements",id:"performance-improvements-53",level:3},{value:"Features",id:"features-210",level:3},{value:"Features",id:"features-211",level:3},{value:"43.4.2 (2020-08-24)",id:"4342-2020-08-24",level:2},{value:"Bug Fixes",id:"bug-fixes-354",level:3},{value:"breaking",id:"breaking-23",level:3},{value:"Bug Fixes",id:"bug-fixes-355",level:3},{value:"Code Refactoring",id:"code-refactoring-45",level:3},{value:"Features",id:"features-212",level:3},{value:"Performance Improvements",id:"performance-improvements-54",level:3},{value:"Reverts",id:"reverts-3",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-127",level:3},{value:"43.3.2 (2020-08-10)",id:"4332-2020-08-10",level:2},{value:"Bug Fixes",id:"bug-fixes-356",level:3},{value:"43.3.1 (2020-08-07)",id:"4331-2020-08-07",level:2},{value:"Bug Fixes",id:"bug-fixes-357",level:3},{value:"Features",id:"features-213",level:3},{value:"43.2.1 (2020-08-02)",id:"4321-2020-08-02",level:2},{value:"Bug Fixes",id:"bug-fixes-358",level:3},{value:"Features",id:"features-214",level:3},{value:"43.1.4 (2020-08-01)",id:"4314-2020-08-01",level:2},{value:"Bug Fixes",id:"bug-fixes-359",level:3},{value:"43.1.3 (2020-07-31)",id:"4313-2020-07-31",level:2},{value:"Bug Fixes",id:"bug-fixes-360",level:3},{value:"43.1.2 (2020-07-28)",id:"4312-2020-07-28",level:2},{value:"Bug Fixes",id:"bug-fixes-361",level:3},{value:"43.1.1 (2020-07-22)",id:"4311-2020-07-22",level:2},{value:"Bug Fixes",id:"bug-fixes-362",level:3},{value:"Bug Fixes",id:"bug-fixes-363",level:3},{value:"Features",id:"features-215",level:3},{value:"43.0.1 (2020-07-20)",id:"4301-2020-07-20",level:2},{value:"Bug Fixes",id:"bug-fixes-364",level:3},{value:"breaking",id:"breaking-24",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-128",level:3},{value:"Features",id:"features-216",level:3},{value:"42.1.5 (2020-07-18)",id:"4215-2020-07-18",level:2},{value:"Bug Fixes",id:"bug-fixes-365",level:3},{value:"42.1.4 (2020-07-18)",id:"4214-2020-07-18",level:2},{value:"Bug Fixes",id:"bug-fixes-366",level:3},{value:"42.1.3 (2020-07-17)",id:"4213-2020-07-17",level:2},{value:"Bug Fixes",id:"bug-fixes-367",level:3},{value:"42.1.2 (2020-07-17)",id:"4212-2020-07-17",level:2},{value:"Bug Fixes",id:"bug-fixes-368",level:3},{value:"42.1.1 (2020-07-16)",id:"4211-2020-07-16",level:2},{value:"Bug Fixes",id:"bug-fixes-369",level:3},{value:"Features",id:"features-217",level:3},{value:"breaking",id:"breaking-25",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-129",level:3},{value:"Features",id:"features-218",level:3},{value:"breaking",id:"breaking-26",level:3},{value:"Features",id:"features-219",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-130",level:3},{value:"Bug Fixes",id:"bug-fixes-370",level:3},{value:"Features",id:"features-220",level:3},{value:"Features",id:"features-221",level:3},{value:"40.1.1 (2020-07-14)",id:"4011-2020-07-14",level:2},{value:"Bug Fixes",id:"bug-fixes-371",level:3},{value:"Features",id:"features-222",level:3},{value:"Features",id:"features-223",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-131",level:3},{value:"Features",id:"features-224",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-132",level:3},{value:"Features",id:"features-225",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-133",level:3},{value:"37.0.1 (2020-07-14)",id:"3701-2020-07-14",level:2},{value:"Bug Fixes",id:"bug-fixes-372",level:3},{value:"Features",id:"features-226",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-134",level:3},{value:"breaking",id:"breaking-27",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-135",level:3},{value:"35.3.4 (2020-07-13)",id:"3534-2020-07-13",level:2},{value:"Bug Fixes",id:"bug-fixes-373",level:3},{value:"35.3.3 (2020-07-13)",id:"3533-2020-07-13",level:2},{value:"Bug Fixes",id:"bug-fixes-374",level:3},{value:"35.3.2 (2020-07-13)",id:"3532-2020-07-13",level:2},{value:"Bug Fixes",id:"bug-fixes-375",level:3},{value:"35.3.1 (2020-07-13)",id:"3531-2020-07-13",level:2},{value:"Bug Fixes",id:"bug-fixes-376",level:3},{value:"Bug Fixes",id:"bug-fixes-377",level:3},{value:"Features",id:"features-227",level:3},{value:"Performance Improvements",id:"performance-improvements-55",level:3},{value:"Bug Fixes",id:"bug-fixes-378",level:3},{value:"Features",id:"features-228",level:3},{value:"Features",id:"features-229",level:3},{value:"35.0.3 (2020-07-11)",id:"3503-2020-07-11",level:2},{value:"Bug Fixes",id:"bug-fixes-379",level:3},{value:"35.0.2 (2020-07-11)",id:"3502-2020-07-11",level:2},{value:"Bug Fixes",id:"bug-fixes-380",level:3},{value:"35.0.1 (2020-07-11)",id:"3501-2020-07-11",level:2},{value:"Bug Fixes",id:"bug-fixes-381",level:3},{value:"Features",id:"features-230",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-136",level:3},{value:"Features",id:"features-231",level:3},{value:"Features",id:"features-232",level:3},{value:"Bug Fixes",id:"bug-fixes-382",level:3},{value:"Features",id:"features-233",level:3},{value:"34.10.1 (2020-07-04)",id:"34101-2020-07-04",level:2},{value:"Bug Fixes",id:"bug-fixes-383",level:3},{value:"Bug Fixes",id:"bug-fixes-384",level:3},{value:"Features",id:"features-234",level:3},{value:"Performance Improvements",id:"performance-improvements-56",level:3},{value:"34.9.4 (2020-06-27)",id:"3494-2020-06-27",level:2},{value:"Bug Fixes",id:"bug-fixes-385",level:3},{value:"34.9.3 (2020-06-25)",id:"3493-2020-06-25",level:2},{value:"Bug Fixes",id:"bug-fixes-386",level:3},{value:"34.9.2 (2020-06-14)",id:"3492-2020-06-14",level:2},{value:"Bug Fixes",id:"bug-fixes-387",level:3},{value:"34.9.1 (2020-05-24)",id:"3491-2020-05-24",level:2},{value:"Bug Fixes",id:"bug-fixes-388",level:3},{value:"Bug Fixes",id:"bug-fixes-389",level:3},{value:"Features",id:"features-235",level:3},{value:"34.8.1 (2020-04-21)",id:"3481-2020-04-21",level:2},{value:"Bug Fixes",id:"bug-fixes-390",level:3},{value:"Bug Fixes",id:"bug-fixes-391",level:3},{value:"Features",id:"features-236",level:3},{value:"Features",id:"features-237",level:3},{value:"Features",id:"features-238",level:3},{value:"Features",id:"features-239",level:3},{value:"Performance Improvements",id:"performance-improvements-57",level:3},{value:"34.4.1 (2020-04-15)",id:"3441-2020-04-15",level:2},{value:"Bug Fixes",id:"bug-fixes-392",level:3},{value:"Features",id:"features-240",level:3},{value:"Features",id:"features-241",level:3},{value:"Features",id:"features-242",level:3},{value:"Bug Fixes",id:"bug-fixes-393",level:3},{value:"Features",id:"features-243",level:3},{value:"Performance Improvements",id:"performance-improvements-58",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-137",level:3},{value:"33.1.1 (2020-04-09)",id:"3311-2020-04-09",level:2},{value:"Bug Fixes",id:"bug-fixes-394",level:3},{value:"Features",id:"features-244",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-138",level:3},{value:"32.0.1 (2020-04-08)",id:"3201-2020-04-08",level:2},{value:"Performance Improvements",id:"performance-improvements-59",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-139",level:3},{value:"Bug Fixes",id:"bug-fixes-395",level:3},{value:"Features",id:"features-245",level:3},{value:"31.3.1 (2020-04-03)",id:"3131-2020-04-03",level:2},{value:"Performance Improvements",id:"performance-improvements-60",level:3},{value:"Bug Fixes",id:"bug-fixes-396",level:3},{value:"Features",id:"features-246",level:3},{value:"Performance Improvements",id:"performance-improvements-61",level:3},{value:"31.2.1 (2020-04-01)",id:"3121-2020-04-01",level:2},{value:"Bug Fixes",id:"bug-fixes-397",level:3},{value:"Features",id:"features-247",level:3},{value:"Features",id:"features-248",level:3},{value:"Bug Fixes",id:"bug-fixes-398",level:3},{value:"Features",id:"features-249",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-140",level:3},{value:"30.3.3 (2020-03-31)",id:"3033-2020-03-31",level:2},{value:"Bug Fixes",id:"bug-fixes-399",level:3},{value:"30.3.2 (2020-03-31)",id:"3032-2020-03-31",level:2},{value:"Bug Fixes",id:"bug-fixes-400",level:3},{value:"30.3.1 (2020-03-30)",id:"3031-2020-03-30",level:2},{value:"Bug Fixes",id:"bug-fixes-401",level:3},{value:"Features",id:"features-250",level:3},{value:"Features",id:"features-251",level:3},{value:"30.1.2 (2020-03-29)",id:"3012-2020-03-29",level:2},{value:"Bug Fixes",id:"bug-fixes-402",level:3},{value:"30.1.1 (2020-03-29)",id:"3011-2020-03-29",level:2},{value:"Performance Improvements",id:"performance-improvements-62",level:3},{value:"Features",id:"features-252",level:3},{value:"Features",id:"features-253",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-141",level:3},{value:"29.1.1 (2020-03-29)",id:"2911-2020-03-29",level:2},{value:"Reverts",id:"reverts-4",level:3},{value:"Features",id:"features-254",level:3},{value:"29.0.3 (2020-03-28)",id:"2903-2020-03-28",level:2},{value:"Performance Improvements",id:"performance-improvements-63",level:3},{value:"29.0.2 (2020-03-27)",id:"2902-2020-03-27",level:2},{value:"Performance Improvements",id:"performance-improvements-64",level:3},{value:"29.0.1 (2020-03-27)",id:"2901-2020-03-27",level:2},{value:"Bug Fixes",id:"bug-fixes-403",level:3},{value:"Performance Improvements",id:"performance-improvements-65",level:3},{value:"Features",id:"features-255",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-142",level:3},{value:"Bug Fixes",id:"bug-fixes-404",level:3},{value:"Features",id:"features-256",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-143",level:3},{value:"27.0.1 (2020-03-26)",id:"2701-2020-03-26",level:2},{value:"Bug Fixes",id:"bug-fixes-405",level:3},{value:"Code Refactoring",id:"code-refactoring-46",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-144",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-145",level:3},{value:"Features",id:"features-257",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-146",level:3},{value:"24.1.1 (2020-03-25)",id:"2411-2020-03-25",level:2},{value:"Bug Fixes",id:"bug-fixes-406",level:3},{value:"Features",id:"features-258",level:3},{value:"24.0.1 (2020-03-23)",id:"2401-2020-03-23",level:2},{value:"Bug Fixes",id:"bug-fixes-407",level:3},{value:"Features",id:"features-259",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-147",level:3},{value:"Features",id:"features-260",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-148",level:3},{value:"Features",id:"features-261",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-149",level:3},{value:"21.2.1 (2020-03-23)",id:"2121-2020-03-23",level:2},{value:"Bug Fixes",id:"bug-fixes-408",level:3},{value:"Features",id:"features-262",level:3},{value:"Features",id:"features-263",level:3},{value:"21.0.1 (2020-03-22)",id:"2101-2020-03-22",level:2},{value:"Bug Fixes",id:"bug-fixes-409",level:3},{value:"Features",id:"features-264",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-150",level:3},{value:"Bug Fixes",id:"bug-fixes-410",level:3},{value:"Features",id:"features-265",level:3},{value:"20.0.6 (2020-03-22)",id:"2006-2020-03-22",level:2},{value:"Bug Fixes",id:"bug-fixes-411",level:3},{value:"20.0.5 (2020-03-21)",id:"2005-2020-03-21",level:2},{value:"Bug Fixes",id:"bug-fixes-412",level:3},{value:"20.0.4 (2020-03-21)",id:"2004-2020-03-21",level:2},{value:"Bug Fixes",id:"bug-fixes-413",level:3},{value:"20.0.3 (2020-03-21)",id:"2003-2020-03-21",level:2},{value:"Bug Fixes",id:"bug-fixes-414",level:3},{value:"20.0.2 (2020-03-21)",id:"2002-2020-03-21",level:2},{value:"Bug Fixes",id:"bug-fixes-415",level:3},{value:"20.0.1 (2020-03-20)",id:"2001-2020-03-20",level:2},{value:"Bug Fixes",id:"bug-fixes-416",level:3},{value:"Bug Fixes",id:"bug-fixes-417",level:3},{value:"Features",id:"features-266",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-151",level:3},{value:"19.1.2 (2020-03-20)",id:"1912-2020-03-20",level:2},{value:"Bug Fixes",id:"bug-fixes-418",level:3},{value:"19.1.1 (2020-03-20)",id:"1911-2020-03-20",level:2},{value:"Bug Fixes",id:"bug-fixes-419",level:3},{value:"Features",id:"features-267",level:3},{value:"19.0.1 (2020-03-17)",id:"1901-2020-03-17",level:2},{value:"Bug Fixes",id:"bug-fixes-420",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-152",level:3},{value:"Features",id:"features-268",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-153",level:3},{value:"17.0.2 (2020-03-17)",id:"1702-2020-03-17",level:2},{value:"Bug Fixes",id:"bug-fixes-421",level:3},{value:"17.0.1 (2020-03-15)",id:"1701-2020-03-15",level:2},{value:"Bug Fixes",id:"bug-fixes-422",level:3},{value:"Code Refactoring",id:"code-refactoring-47",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-154",level:3},{value:"Code Refactoring",id:"code-refactoring-48",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-155",level:3},{value:"15.0.7 (2020-03-10)",id:"1507-2020-03-10",level:2},{value:"Bug Fixes",id:"bug-fixes-423",level:3},{value:"15.0.6 (2020-03-09)",id:"1506-2020-03-09",level:2},{value:"Bug Fixes",id:"bug-fixes-424",level:3},{value:"15.0.5 (2020-03-08)",id:"1505-2020-03-08",level:2},{value:"Bug Fixes",id:"bug-fixes-425",level:3},{value:"15.0.4 (2020-03-08)",id:"1504-2020-03-08",level:2},{value:"Bug Fixes",id:"bug-fixes-426",level:3},{value:"15.0.3 (2020-03-08)",id:"1503-2020-03-08",level:2},{value:"Bug Fixes",id:"bug-fixes-427",level:3},{value:"15.0.2 (2020-03-06)",id:"1502-2020-03-06",level:2},{value:"Bug Fixes",id:"bug-fixes-428",level:3},{value:"15.0.1 (2020-03-06)",id:"1501-2020-03-06",level:2},{value:"Bug Fixes",id:"bug-fixes-429",level:3},{value:"Code Refactoring",id:"code-refactoring-49",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-156",level:3},{value:"14.0.1 (2020-03-04)",id:"1401-2020-03-04",level:2},{value:"Bug Fixes",id:"bug-fixes-430",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-157",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-158",level:3},{value:"12.0.2 (2020-02-29)",id:"1202-2020-02-29",level:2},{value:"Bug Fixes",id:"bug-fixes-431",level:3},{value:"12.0.1 (2020-02-29)",id:"1201-2020-02-29",level:2},{value:"Bug Fixes",id:"bug-fixes-432",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-159",level:3},{value:"Bug Fixes",id:"bug-fixes-433",level:3},{value:"Features",id:"features-269",level:3},{value:"Features",id:"features-270",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-160",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-161",level:3},{value:"Bug Fixes",id:"bug-fixes-434",level:3},{value:"Features",id:"features-271",level:3},{value:"Bug Fixes",id:"bug-fixes-435",level:3},{value:"Features",id:"features-272",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-162",level:3},{value:"8.0.1 (2020-02-06)",id:"801-2020-02-06",level:2},{value:"Bug Fixes",id:"bug-fixes-436",level:3},{value:"Bug Fixes",id:"bug-fixes-437",level:3},{value:"breaking",id:"breaking-28",level:3},{value:"Features",id:"features-273",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-163",level:3},{value:"Features",id:"features-274",level:3},{value:"BREAKING CHANGES",id:"breaking-changes-164",level:3},{value:"Bug Fixes",id:"bug-fixes-438",level:3},{value:"Bug Fixes",id:"bug-fixes-439",level:3},{value:"Features",id:"features-275",level:3},{value:"3.0.4 (2020-01-12)",id:"304-2020-01-12",level:2},{value:"Bug Fixes",id:"bug-fixes-440",level:3},{value:"3.0.3 (2020-01-12)",id:"303-2020-01-12",level:2},{value:"Bug Fixes",id:"bug-fixes-441",level:3},{value:"3.0.2 (2020-01-12)",id:"302-2020-01-12",level:2},{value:"Bug Fixes",id:"bug-fixes-442",level:3},{value:"3.0.1 (2020-01-11)",id:"301-2020-01-11",level:2},{value:"Bug Fixes",id:"bug-fixes-443",level:3},{value:"Bug Fixes",id:"bug-fixes-444",level:3},{value:"Features",id:"features-276",level:3},{value:"Performance Improvements",id:"performance-improvements-66",level:3},{value:"1.1.2 (2020-01-09)",id:"112-2020-01-09",level:2},{value:"Bug Fixes",id:"bug-fixes-445",level:3},{value:"1.1.1 (2020-01-05)",id:"111-2020-01-05",level:2},{value:"Bug Fixes",id:"bug-fixes-446",level:3},{value:"Features",id:"features-277",level:3}],g={toc:c};function h(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,i.Z)({},g,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"14910-2024-05-06"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v149.0.1...v149.1.0"},"149.1.0")," (2024-05-06)"),(0,r.kt)("h3",{id:"features"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding authenticatedOnly to SendToAll (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8b1117b4c64b529d0ea412e3539ef2b284083012"},"8b1117b"),")"),(0,r.kt)("li",{parentName:"ul"},"adding list for AuthenticatedPlayers in NetworkServer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dc07c384d2998f1afa544fa631bb5d2293b6d76f"},"dc07c38"),")")),(0,r.kt)("h2",{id:"14901-2024-05-03"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v149.0.0...v149.0.1"},"149.0.1")," (2024-05-03)"),(0,r.kt)("h3",{id:"bug-fixes"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"SocketLayer:")," fixing socket receive trying to handle message when length is negative (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b0783879cd68c6881b5b32e0d32a5e725f5895ab"},"b078387"),")")),(0,r.kt)("h1",{id:"14900-2024-04-28"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v148.4.3...v149.0.0"},"149.0.0")," (2024-04-28)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fix!: changing all time fields to be double (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/432af2e1afde117d2a8c91fbf2507374578a2dbb"},"432af2e"),")")),(0,r.kt)("h3",{id:"features-1"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding VarDoublePacker (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3e9e2a3ac4ce35d49b6e9ad96b4dafc59d257da0"},"3e9e2a3"),")")),(0,r.kt)("h3",{id:"breaking-changes"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"time fields are now double instead of float")),(0,r.kt)("h2",{id:"14843-2024-04-26"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v148.4.2...v148.4.3"},"148.4.3")," (2024-04-26)"),(0,r.kt)("h3",{id:"bug-fixes-1"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing possible NRE (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dc4d6e68bc1d97c419032dc38f4e80215586c8d9"},"dc4d6e6"),")")),(0,r.kt)("h2",{id:"14842-2024-04-26"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v148.4.1...v148.4.2"},"148.4.2")," (2024-04-26)"),(0,r.kt)("h3",{id:"performance-improvements"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding batching to unreliable messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c77bf7805d808024cc08f567f608b8660c608a37"},"c77bf78"),")")),(0,r.kt)("h2",{id:"14841-2024-04-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v148.4.0...v148.4.1"},"148.4.1")," (2024-04-19)"),(0,r.kt)("h3",{id:"bug-fixes-2"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing return RPC not generating serialize functions (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3d162b8692c69a961feef1432f3981241f0de7a3"},"3d162b8"),")")),(0,r.kt)("h1",{id:"14840-2024-04-16"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v148.3.0...v148.4.0"},"148.4.0")," (2024-04-16)"),(0,r.kt)("h3",{id:"features-2"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding callback that can be used to handle Authentication Failed (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1cdbfb69caeea2270bb774b4c2df2983dd79953a"},"1cdbfb6"),")")),(0,r.kt)("h1",{id:"14830-2024-04-15"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v148.2.0...v148.3.0"},"148.3.0")," (2024-04-15)"),(0,r.kt)("h3",{id:"features-3"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"making NetworkIdentity.PrefabHash public (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0ec3753c09f5dd9857194e14e8b337b0d7dcc744"},"0ec3753"),")")),(0,r.kt)("h1",{id:"14820-2024-04-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v148.1.1...v148.2.0"},"148.2.0")," (2024-04-14)"),(0,r.kt)("h3",{id:"features-4"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding generic NetworkBehaviorSyncvar for ease of use (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5caabd9bf60798a3112a359646d9d1af2b96c957"},"5caabd9"),")")),(0,r.kt)("h2",{id:"14811-2024-04-03"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v148.1.0...v148.1.1"},"148.1.1")," (2024-04-03)"),(0,r.kt)("h3",{id:"bug-fixes-3"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing disconnected player from observer lists (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ece4500d9c6b004ce2a3f9749b8d4a5935154ec3"},"ece4500"),")")),(0,r.kt)("h1",{id:"14810-2024-03-31"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v148.0.2...v148.1.0"},"148.1.0")," (2024-03-31)"),(0,r.kt)("h3",{id:"bug-fixes-4"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding error message if attribute is used on static method (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dc66a544586f3f3ded4ca20f0c6753529db74a32"},"dc66a54"),")"),(0,r.kt)("li",{parentName:"ul"},"trying to fix import issues after file renames (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7a0b3f347df91043e82ecd2ec0e6fb26d70e56c3"},"7a0b3f3"),")")),(0,r.kt)("h3",{id:"features-5"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"support for jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2ec6d3afc16f7560844697585d92b33a8239019f"},"2ec6d3a"),")")),(0,r.kt)("h2",{id:"14802-2024-03-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v148.0.1...v148.0.2"},"148.0.2")," (2024-03-29)"),(0,r.kt)("h3",{id:"bug-fixes-5"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing AddLateEvent tmp list (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/619b91d49aa2c0aba0d2605d00c8ae4d0d1a27f1"},"619b91d"),")")),(0,r.kt)("h2",{id:"14801-2024-03-28"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v148.0.0...v148.0.1"},"148.0.1")," (2024-03-28)"),(0,r.kt)("h3",{id:"bug-fixes-6"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing use of GO/NI/NB inside Constructor (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2f5db3de45cd985ba6af428c9cf521dfd4b3cfc3"},"2f5db3d"),")")),(0,r.kt)("h1",{id:"14800-2024-03-25"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v147.4.2...v148.0.0"},"148.0.0")," (2024-03-25)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"refactor!: renaming AddLateEvent_new to AddLateEvent (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5d92eba1e3775b1be06f6f79b2a60c6dd1a769dc"},"5d92eba"),")"),(0,r.kt)("li",{parentName:"ul"},"refactor!: renaming AddLateEvent to AddLateEventUnity (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/169720ca024bd9a40c2b2bd312d26f101e344822"},"169720c"),")"),(0,r.kt)("li",{parentName:"ul"},"perf!: changing NetworkIdentity events to use new c# only events (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3aaab68b93ab610f88b15f09a9cd00a33bc8a794"},"3aaab68"),")")),(0,r.kt)("h3",{id:"breaking-changes-1"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"renaming from AddLateEvent_new placeholder to just AddLateEvent"),(0,r.kt)("li",{parentName:"ul"},"renaming AddLateEvent which contains UnityEvent and UnityAction to AddLateEventUnity"),(0,r.kt)("li",{parentName:"ul"},"Inspector events removed from NetworkIdentity, use Mirage v147.4.0 first to convert before updating to next version")),(0,r.kt)("h2",{id:"14742-2024-03-25"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v147.4.1...v147.4.2"},"147.4.2")," (2024-03-25)"),(0,r.kt)("h3",{id:"bug-fixes-7"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing file name (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d6de4cb51c9954bd7bd5a8bb3c3a2502718a18a4"},"d6de4cb"),")")),(0,r.kt)("h2",{id:"14741-2024-03-25"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v147.4.0...v147.4.1"},"147.4.1")," (2024-03-25)"),(0,r.kt)("h3",{id:"bug-fixes-8"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"changing button text (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0f55b2ba207ed64c1eb41cdd4bdd75b71dfcfcf9"},"0f55b2b"),")")),(0,r.kt)("h1",{id:"14740-2024-03-25"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v147.3.0...v147.4.0"},"147.4.0")," (2024-03-25)"),(0,r.kt)("h3",{id:"bug-fixes-9"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing misplaced #if (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f663543a50c3889fd6c11790f42256b1500b2177"},"f663543"),")"),(0,r.kt)("li",{parentName:"ul"},"new events should not be abstract (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e1072d0dda0818bc6a02632fac36d68b920a7851"},"e1072d0"),")")),(0,r.kt)("h3",{id:"features-6"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"create new c# only events (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1c9f2d84ca77b9ef7859cfa13870677b952a6ec4"},"1c9f2d8"),")"),(0,r.kt)("li",{parentName:"ul"},"new NetworkInspectorCallbacks component (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a8051c4e4097ab85dfffe029f08938b5456074fc"},"a8051c4"),")")),(0,r.kt)("h1",{id:"14730-2024-03-23"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v147.2.1...v147.3.0"},"147.3.0")," (2024-03-23)"),(0,r.kt)("h3",{id:"features-7"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding public OwnedObjects list and RemoveAllOwnedObject helper method to NetworkPlayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5a611baefc363f1afaec03dc04f17b3c2aadf4f5"},"5a611ba"),")")),(0,r.kt)("h2",{id:"14721-2024-03-18"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v147.2.0...v147.2.1"},"147.2.1")," (2024-03-18)"),(0,r.kt)("h3",{id:"bug-fixes-10"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"releasing buffers that are in acksystem when disconnecting (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/42691a6089d7753d60efdc6b7bc1597b675cb7e3"},"42691a6"),")"),(0,r.kt)("li",{parentName:"ul"},"stopping error when adding handlers for prefab that is already registered (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/002ec4819d1859da5b9538b4f758194759b1886e"},"002ec48"),")")),(0,r.kt)("h1",{id:"14720-2024-03-12"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v147.1.0...v147.2.0"},"147.2.0")," (2024-03-12)"),(0,r.kt)("h3",{id:"bug-fixes-11"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing span support UNITY_2021_3_OR_NEWER (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7bf28ed1537fe4fc4e3c389e1086149ea6d970eb"},"7bf28ed"),")")),(0,r.kt)("h3",{id:"features-8"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding support for Span","<","T",">"," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3c48db8d32880c827dcd7fe7254534bf5a265b60"},"3c48db8"),")")),(0,r.kt)("h1",{id:"14710-2024-03-12"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v147.0.3...v147.1.0"},"147.1.0")," (2024-03-12)"),(0,r.kt)("h3",{id:"features-9"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding excludeHost to ClientRpc (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a35ed9df2238e282309b3b3f4b5aa026185d5ba4"},"a35ed9d"),")")),(0,r.kt)("h2",{id:"14703-2024-02-16"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v147.0.2...v147.0.3"},"147.0.3")," (2024-02-16)"),(0,r.kt)("h3",{id:"bug-fixes-12"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"ClientObjectManager:")," add prefab to SpawnHandler when registering (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1171"},"#1171"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7a8ff466f2fb227a78c2f8e98e70a80ec66d0f2c"},"7a8ff46"),")")),(0,r.kt)("h2",{id:"14702-2024-02-13"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v147.0.1...v147.0.2"},"147.0.2")," (2024-02-13)"),(0,r.kt)("h3",{id:"bug-fixes-13"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing unspawn handlers not being used in disconnect cleanup (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/915f307a3e51b4dacea79e57b8db549d9a47230a"},"915f307"),")")),(0,r.kt)("h2",{id:"14701-2024-02-05"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v147.0.0...v147.0.1"},"147.0.1")," (2024-02-05)"),(0,r.kt)("h3",{id:"bug-fixes-14"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing SocketFactory errors when Listening is false (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7ead25678c38edda4a513addff19014c875c96c2"},"7ead256"),")")),(0,r.kt)("h1",{id:"14700-2024-01-31"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v146.7.0...v147.0.0"},"147.0.0")," (2024-01-31)"),(0,r.kt)("h3",{id:"bug-fixes-15"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing scene object spawning in host mode for 1 scene setup (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2736fe0def7d22c18e878bcdd4cc845bd8f3e746"},"2736fe0"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing use of is not in unity 2020 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/61b7f68e2d834c301e0a6ea4ca5cdf2859ed14f0"},"61b7f68"),")")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fix!: fixing spawning for unauthenticated code (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b25f2f98f11d8ea7930e823ae5c05a86ee41dd7f"},"b25f2f9"),")")),(0,r.kt)("h3",{id:"breaking-changes-2"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing ServerObjectManager.OnlySpawnOnAuthenticated field")),(0,r.kt)("h1",{id:"14670-2023-12-28"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v146.6.4...v146.7.0"},"146.7.0")," (2023-12-28)"),(0,r.kt)("h3",{id:"features-10"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"renaming IsLocalClient to IsHost (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/39557cdc16c9487589bfa990f03e37994c70440b"},"39557cd"),")")),(0,r.kt)("h2",{id:"14664-2023-12-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v146.6.3...v146.6.4"},"146.6.4")," (2023-12-20)"),(0,r.kt)("h3",{id:"bug-fixes-16"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing owner not being excluded when host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/787e55a79f9a67cd2073da33934ff8b2a9cf58b6"},"787e55a"),")")),(0,r.kt)("h2",{id:"14663-2023-12-03"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v146.6.2...v146.6.3"},"146.6.3")," (2023-12-03)"),(0,r.kt)("h3",{id:"bug-fixes-17"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing time not being sent on connect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/66e0978f84bc783750818ad4c1ccd40205984547"},"66e0978"),")")),(0,r.kt)("h2",{id:"14662-2023-12-02"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v146.6.1...v146.6.2"},"146.6.2")," (2023-12-02)"),(0,r.kt)("h3",{id:"bug-fixes-18"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"SocketLayer:")," increase default fragment size to 50 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1fdaa43ab685c96e1911f6bc114e4dc8d8981c9f"},"1fdaa43"),")")),(0,r.kt)("h2",{id:"14661-2023-11-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v146.6.0...v146.6.1"},"146.6.1")," (2023-11-20)"),(0,r.kt)("h3",{id:"bug-fixes-19"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Weaver:")," fixing lookup for collection methods (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b53036088d1668d9cd537b0d42e1655998537608"},"b530360"),")")),(0,r.kt)("h1",{id:"14660-2023-11-05"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v146.5.1...v146.6.0"},"146.6.0")," (2023-11-05)"),(0,r.kt)("h3",{id:"features-11"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding writer for dictionary (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f89d59687d9dd4d9b74212e2312b837437740b29"},"f89d596"),")")),(0,r.kt)("h2",{id:"14651-2023-11-05"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v146.5.0...v146.5.1"},"146.5.1")," (2023-11-05)"),(0,r.kt)("h3",{id:"bug-fixes-20"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing debug log (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/28d04476b7c3da7f857ed9158ba329d195b49408"},"28d0447"),")")),(0,r.kt)("h1",{id:"14650-2023-11-05"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v146.4.0...v146.5.0"},"146.5.0")," (2023-11-05)"),(0,r.kt)("h3",{id:"features-12"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding WeaverSerializeCollection that can be added to generic writers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/00d476b4b9784e53140eb0dff54b09ed61eaa9a0"},"00d476b"),")")),(0,r.kt)("h1",{id:"14640-2023-10-20"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v146.3.2...v146.4.0"},"146.4.0")," (2023-10-20)"),(0,r.kt)("h3",{id:"features-13"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"sending secure hash of connect key (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f8901c2608edf9e01ff30fc446a4702eeff163b8"},"f8901c2"),")")),(0,r.kt)("h2",{id:"14632-2023-10-14"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v146.3.1...v146.3.2"},"146.3.2")," (2023-10-14)"),(0,r.kt)("h3",{id:"bug-fixes-21"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing syncDirection for syncObjects in host mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ec45074cb303fc200baa91a7397adad5650de7b3"},"ec45074"),")")),(0,r.kt)("h2",{id:"14631-2023-10-05"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v146.3.0...v146.3.1"},"146.3.1")," (2023-10-05)"),(0,r.kt)("h3",{id:"bug-fixes-22"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing null ref when using syncObject (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/362044ab6d265303eb61e2dacc7c9dc28f54ff44"},"362044a"),")")),(0,r.kt)("h1",{id:"14630-2023-10-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v146.2.2...v146.3.0"},"146.3.0")," (2023-10-02)"),(0,r.kt)("h3",{id:"features-14"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Example:")," adding scene per match example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5e7911ff8b951bb039a341726633c70693995a30"},"5e7911f"),")")),(0,r.kt)("h2",{id:"14622-2023-08-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v146.2.1...v146.2.2"},"146.2.2")," (2023-08-21)"),(0,r.kt)("h3",{id:"bug-fixes-23"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Weaver:")," fixing serialize methods for when type is not resolved (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/21f1aee3ce2a2c000f8952cf12ad17ccbab5a6ce"},"21f1aee"),")")),(0,r.kt)("h3",{id:"performance-improvements-1"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"using cached Id for value types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dccdbf335a13a4c853f8e56616169cab2d376578"},"dccdbf3"),")")),(0,r.kt)("h2",{id:"14621-2023-08-02"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v146.2.0...v146.2.1"},"146.2.1")," (2023-08-02)"),(0,r.kt)("h3",{id:"bug-fixes-24"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"also removing character when it is removed as owned (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b96ed68a85b2f362212c71c1294904d1e65f8da3"},"b96ed68"),")"),(0,r.kt)("li",{parentName:"ul"},"updating syncObject ReadOnly before StartServer/Client (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/67a1d067b621241e9cee3fcb899a068b108ba8a7"},"67a1d06"),")")),(0,r.kt)("h1",{id:"14620-2023-07-27"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v146.1.1...v146.2.0"},"146.2.0")," (2023-07-27)"),(0,r.kt)("h3",{id:"features-15"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding emit methods for weaver extensions (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6b57cd708bf2be6b32fda12b9b3384a165df4770"},"6b57cd7"),")"),(0,r.kt)("li",{parentName:"ul"},"making ackSystem public so const fields can be used (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/63f62bfba32b9c458253a86ac530a40a6a99aaaf"},"63f62bf"),")")),(0,r.kt)("h2",{id:"14611-2023-07-24"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v146.1.0...v146.1.1"},"146.1.1")," (2023-07-24)"),(0,r.kt)("h3",{id:"reverts"},"Reverts"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},'"pref: using deferred mode for reading, this will speed up other Weavers which dont need to read everything" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6bff2e3cd433c37682427215a644d69c50320b31"},"6bff2e3"),")")),(0,r.kt)("h1",{id:"14610-2023-07-21"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v146.0.0...v146.1.0"},"146.1.0")," (2023-07-21)"),(0,r.kt)("h3",{id:"features-16"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding attribute that allows for combination of checks (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/18852f647e7b67258d5a84b1bbf01a2420ed324c"},"18852f6"),")")),(0,r.kt)("h1",{id:"14600-2023-07-20"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v145.3.0...v146.0.0"},"146.0.0")," (2023-07-20)"),(0,r.kt)("h3",{id:"features-17"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"INetworkPlayer now has a IsHost property (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5d7e5b79bffcfab9509d3425caaba8a7b5ca748b"},"5d7e5b7"),")")),(0,r.kt)("h3",{id:"breaking-changes-3"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkPlayer constructor now requires isHost parameter")),(0,r.kt)("h1",{id:"14530-2023-07-17"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v145.2.0...v145.3.0"},"145.3.0")," (2023-07-17)"),(0,r.kt)("h3",{id:"features-18"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Cecil:")," adding AddProperty to cecil extensions (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/328912ad6707f18aab8ba6f050c5255c4340beba"},"328912a"),")")),(0,r.kt)("h1",{id:"14520-2023-07-16"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v145.1.0...v145.2.0"},"145.2.0")," (2023-07-16)"),(0,r.kt)("h3",{id:"features-19"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding code gen extensions asmdef (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1d7363d59aa0d63c3d7c6364c83a7cfaf3f5711c"},"1d7363d"),")")),(0,r.kt)("h1",{id:"14510-2023-07-09"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v145.0.4...v145.1.0"},"145.1.0")," (2023-07-09)"),(0,r.kt)("h3",{id:"bug-fixes-25"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add missing CompMenu for CharacterSpawner (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/87c6204aa7b6d16294b689f02d46d60f68648ea6"},"87c6204"),")"),(0,r.kt)("li",{parentName:"ul"},"add missing HelpUrl for CharacterSpawner (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5cd704ac42249ffd89742bc88a53c8d8e34624e5"},"5cd704a"),")"),(0,r.kt)("li",{parentName:"ul"},"add missing HelpUrl for ClientObjectManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1186cf690256eb87f5e654d7e28cdec5443eefcb"},"1186cf6"),")"),(0,r.kt)("li",{parentName:"ul"},"add missing HelpUrl for NetworkClient (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/daec3a1a1e46422dda798a5ba0c9a1f818b532d2"},"daec3a1"),")"),(0,r.kt)("li",{parentName:"ul"},"add missing HelpUrl for NetworkSceneManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cd5c7531d88c1c3acc0e3823df5ed3e4b3c4dbcd"},"cd5c753"),")"),(0,r.kt)("li",{parentName:"ul"},"add missing HelpUrl for NetworkServer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/35d217ea613281cf3cd196d2bd5c256ab1fdd820"},"35d217e"),")"),(0,r.kt)("li",{parentName:"ul"},"add missing HelpUrl for ServerObjectManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/127a883a4967116ecd95f36f2d9b5bee476e7477"},"127a883"),")"),(0,r.kt)("li",{parentName:"ul"},"add missing HelpUrl for SocketFactory (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a29b1b7446578d5d732e3ca33c28a6f34a5fa9e9"},"a29b1b7"),")"),(0,r.kt)("li",{parentName:"ul"},"measuring time not distance. add s (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fbcdf1ef7e7260a88ef30fb9925d12506aec0239"},"fbcdf1e"),")")),(0,r.kt)("h3",{id:"features-20"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding function to skip bits (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0bcbc7f945415e7d073615c35509fda686715761"},"0bcbc7f"),")")),(0,r.kt)("h2",{id:"14504-2023-07-07"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v145.0.3...v145.0.4"},"145.0.4")," (2023-07-07)"),(0,r.kt)("h3",{id:"bug-fixes-26"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Cleaning up name used for generic types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d846f137651a5375eb77042b6f81426e695fd562"},"d846f13"),")")),(0,r.kt)("h2",{id:"14503-2023-07-06"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v145.0.2...v145.0.3"},"145.0.3")," (2023-07-06)"),(0,r.kt)("h3",{id:"bug-fixes-27"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding warning if spawned Identity already has netid (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/22478f4b7b5b6f665a73ac97b0864fb621759f98"},"22478f4"),")")),(0,r.kt)("h2",{id:"14502-2023-07-05"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v145.0.1...v145.0.2"},"145.0.2")," (2023-07-05)"),(0,r.kt)("h3",{id:"bug-fixes-28"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"calling NetworkReset with custom unspawn handlers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/94a919970b8ec33f5b5c59aaa708dce75bfafdbb"},"94a9199"),")"),(0,r.kt)("li",{parentName:"ul"},"checking if scene object before destroying owned object (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d6ced44793d4704dde51bf7f585fb8eacf70a42b"},"d6ced44"),")")),(0,r.kt)("h2",{id:"14501-2023-06-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v145.0.0...v145.0.1"},"145.0.1")," (2023-06-29)"),(0,r.kt)("h3",{id:"bug-fixes-29"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"logging for notify send (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/929686c9f6718ffffcd2fc2317c64874749a4e87"},"929686c"),")")),(0,r.kt)("h1",{id:"14500-2023-06-27"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v144.0.0...v145.0.0"},"145.0.0")," (2023-06-27)"),(0,r.kt)("h3",{id:"features-21"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding function to SyncObjects so that they can use the NetworkBehaviour that are a part of (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b6f35264d282ebacbc6d24e54808872cebc50c4a"},"b6f3526"),")")),(0,r.kt)("h3",{id:"breaking-changes-4"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ISyncObject now needs to implement the SetNetworkBehaviour function")),(0,r.kt)("h1",{id:"14400-2023-06-26"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v143.2.3...v144.0.0"},"144.0.0")," (2023-06-26)"),(0,r.kt)("h3",{id:"bug-fixes-30"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding check to SyncObjects to make sure they are IEnumerable before drawing them as list. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/907d8cece89774cba21511478e4c675e6f60d49e"},"907d8ce"),")"),(0,r.kt)("li",{parentName:"ul"},"logging prefab hash as hex (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8289f2074c2681a4cefaad8001b8f59c94970d4c"},"8289f20"),")"),(0,r.kt)("li",{parentName:"ul"},"removing debug log from welcomewindow (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3be3f423689c91e9fd75b1fd62db5bc84c42c9ee"},"3be3f42"),")")),(0,r.kt)("h3",{id:"code-refactoring"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"moving SyncsAnything to InspectorHelper (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f3755d9b296b11e96a206ed01c1bfb4644cbcf7f"},"f3755d9"),")")),(0,r.kt)("h3",{id:"breaking-changes-5"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"SyncsAnything for editor scripts moved to InspectorHelper")),(0,r.kt)("h2",{id:"14323-2023-06-23"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v143.2.2...v143.2.3"},"143.2.3")," (2023-06-23)"),(0,r.kt)("h3",{id:"bug-fixes-31"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"use of await AsyncOperation in unity 2023 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1151"},"#1151"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5af14359f07f50c848fc784c201ac86ca43a0262"},"5af1435"),")")),(0,r.kt)("h2",{id:"14322-2023-06-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v143.2.1...v143.2.2"},"143.2.2")," (2023-06-21)"),(0,r.kt)("h3",{id:"bug-fixes-32"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing host authentication using Connected event (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6bb6bed48d7facf5683c501df364c0d0f39ce4e1"},"6bb6bed"),")")),(0,r.kt)("h2",{id:"14321-2023-06-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v143.2.0...v143.2.1"},"143.2.1")," (2023-06-20)"),(0,r.kt)("h3",{id:"bug-fixes-33"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing path of change log (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1150"},"#1150"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/77168097c755d4d3778b87822464b042305d03eb"},"7716809"),")")),(0,r.kt)("h1",{id:"14320-2023-06-19"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v143.1.0...v143.2.0"},"143.2.0")," (2023-06-19)"),(0,r.kt)("h3",{id:"features-22"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding script that will make sure object is always visible (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0b763cf6209f2570750140795171549ab6781a16"},"0b763cf"),")")),(0,r.kt)("h1",{id:"14310-2023-06-19"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v143.0.0...v143.1.0"},"143.1.0")," (2023-06-19)"),(0,r.kt)("h3",{id:"features-23"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding attribute that instructs Weaver to write a type as generic (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1b1e4e6de6e7a0137e1796eccf2d92059c512d88"},"1b1e4e6"),")")),(0,r.kt)("h1",{id:"14300-2023-06-18"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v142.0.0...v143.0.0"},"143.0.0")," (2023-06-18)"),(0,r.kt)("h3",{id:"features-24"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding INetworkPlayer to Authenticate (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ba54dd27ab5da796a2f3d39e6fc891abffeec4fd"},"ba54dd2"),")")),(0,r.kt)("h3",{id:"breaking-changes-6"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Authenticate overrides now require INetworkPlayer argument")),(0,r.kt)("h1",{id:"14200-2023-06-17"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v141.2.0...v142.0.0"},"142.0.0")," (2023-06-17)"),(0,r.kt)("h3",{id:"features-25"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding support for Reply Rpc on server side (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dc56f2761745438d2d1ae883c1204c5a5ed8503c"},"dc56f27"),")")),(0,r.kt)("h3",{id:"breaking-changes-7"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Rpc messages renamed")),(0,r.kt)("h1",{id:"14120-2023-06-17"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v141.1.0...v141.2.0"},"141.2.0")," (2023-06-17)"),(0,r.kt)("h3",{id:"features-26"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding syncList methods to set an index as dirty (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4dfe8df162cba4bdeb6c1331afba81d5065c5cf0"},"4dfe8df"),")")),(0,r.kt)("h1",{id:"14110-2023-06-16"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v141.0.2...v141.1.0"},"141.1.0")," (2023-06-16)"),(0,r.kt)("h3",{id:"features-27"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkManagerGUI:")," overhaul the debug controls (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1149"},"#1149"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8b97f36399a8c1e1165e47011f9334df3bdcf28b"},"8b97f36"),")")),(0,r.kt)("h2",{id:"14102-2023-06-13"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v141.0.1...v141.0.2"},"141.0.2")," (2023-06-13)"),(0,r.kt)("h3",{id:"bug-fixes-34"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing scene objects not being removed from NetworkWorld (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/546dd3c0f1b025d76e5ccc2deb8790025b6a5dbe"},"546dd3c"),")")),(0,r.kt)("h2",{id:"14101-2023-06-12"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v141.0.0...v141.0.1"},"141.0.1")," (2023-06-12)"),(0,r.kt)("h3",{id:"bug-fixes-35"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing RPC with multiple components (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2ae9ddc00fb008d969e5f3c1172f182049152fd4"},"2ae9ddc"),")")),(0,r.kt)("h1",{id:"14100-2023-06-12"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v140.3.0...v141.0.0"},"141.0.0")," (2023-06-12)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"feat!: adding extra SendTo functions on NetworkServer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c5ba5617aa53c723d168bf48581d285aebd1474a"},"c5ba561"),")")),(0,r.kt)("h3",{id:"features-28"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding overload to create pools without requiring buffer size (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9842b406232df6f1d997d4225465ea7c5b3a0389"},"9842b40"),")")),(0,r.kt)("h3",{id:"breaking-changes-8"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Server.SendToMany functions reworked")),(0,r.kt)("h1",{id:"14030-2023-06-11"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v140.2.0...v140.3.0"},"140.3.0")," (2023-06-11)"),(0,r.kt)("h3",{id:"features-29"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding option to rethrow exception throw message handler (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/15f27a4b6931fb5c87af0d8cdf2f5d66bd5ebf56"},"15f27a4"),")")),(0,r.kt)("h3",{id:"performance-improvements-2"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"moving RPC collection to NetworkIdentity (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/773910cd31f0f034ede9930470262307c935ba5e"},"773910c"),")")),(0,r.kt)("h1",{id:"14020-2023-06-10"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v140.1.0...v140.2.0"},"140.2.0")," (2023-06-10)"),(0,r.kt)("h3",{id:"features-30"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"option to invoke hook on owner when they are sending syncvar (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/36c1b373711349fdd9533c8f59a02fc6c2615d5b"},"36c1b37"),")")),(0,r.kt)("h1",{id:"14010-2023-06-09"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v140.0.0...v140.1.0"},"140.1.0")," (2023-06-09)"),(0,r.kt)("h3",{id:"features-31"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding syncvar hook with 0 args (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d17576a6e6168fd2fcfcc7e8963231d11124b879"},"d17576a"),")")),(0,r.kt)("h1",{id:"14000-2023-06-04"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v139.0.0...v140.0.0"},"140.0.0")," (2023-06-04)"),(0,r.kt)("h3",{id:"features-32"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"updating syncLists to use new SyncDirection (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f6f78a8e642d72df17de5a85b204dbbc45b9ffe2"},"f6f78a8"),")")),(0,r.kt)("h3",{id:"breaking-changes-9"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"SyncObjects now need to implement SetShouldSyncFrom")),(0,r.kt)("h1",{id:"13900-2023-05-24"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v138.0.0...v139.0.0"},"139.0.0")," (2023-05-24)"),(0,r.kt)("h3",{id:"bug-fixes-36"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"avoiding disconnect being called twice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ce36e5839779eaf140bb68ea27aaf5bbd0e0af05"},"ce36e58"),")")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"feat!: new authentication (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b9b490fe9eaba47376fed369c08610ed724f4f1b"},"b9b490f"),")")),(0,r.kt)("h3",{id:"features-33"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding flag to set if message is only allowed if authenticated (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d710f455b134eee157d013cddc89a73d949ce24c"},"d710f45"),")"),(0,r.kt)("li",{parentName:"ul"},"adding log for receiving message (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e73c9d5fe7779b0367274da98d264ceac3c6d39a"},"e73c9d5"),")"),(0,r.kt)("li",{parentName:"ul"},"adding log handler that adds label and color to messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bb264718a97a50a68aa3aeda99612d2cb1de6238"},"bb26471"),")"),(0,r.kt)("li",{parentName:"ul"},"adding send log to network player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/af7104c434e8153825d24562a5ffee86e99a45a1"},"af7104c"),")"),(0,r.kt)("li",{parentName:"ul"},"adding session authenticator (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ae1ef69ec7ceba406df1ccaf9cb9989c58b58996"},"ae1ef69"),")"),(0,r.kt)("li",{parentName:"ul"},"improving log for RegisterHandler (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c6d4efdf1a7b103e7b593971b74f6be8dd645b8b"},"c6d4efd"),")"),(0,r.kt)("li",{parentName:"ul"},"updating Authenticators (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b35560496a85974f3fd068d4c48b290082a4bc96"},"b355604"),")")),(0,r.kt)("h3",{id:"breaking-changes-10"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"complete NetworkAuthenticator rework see docs for changes"),(0,r.kt)("li",{parentName:"ul"},"by default message will disconnect player if unauthenticated. Use allowUnauthenticated flag to avoid this")),(0,r.kt)("h1",{id:"13800-2023-05-23"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v137.0.3...v138.0.0"},"138.0.0")," (2023-05-23)"),(0,r.kt)("h3",{id:"bug-fixes-37"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"stopping protected fields from being written by weaver (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9e2d74a48505ae9d096086febcdfac1c67ee947f"},"9e2d74a"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com//github.com/MirrorNetworking/Mirror/issues/3485/issues/issuecomment-1559005650"},"/github.com/MirrorNetworking/Mirror/issues/3485#issuecomment-1559005650"))),(0,r.kt)("h3",{id:"features-34"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"making NetworkManagerGUI automatically find NetworkManager when added (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c600b4c644c1440eb5be0f4fa820791003696901"},"c600b4c"),")")),(0,r.kt)("h3",{id:"breaking-changes-11"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"internal fields are not longer automatically written by Weaver generated functions")),(0,r.kt)("h2",{id:"13703-2023-05-17"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v137.0.2...v137.0.3"},"137.0.3")," (2023-05-17)"),(0,r.kt)("h3",{id:"bug-fixes-38"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing serialize writing to owner writer when no owner (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c6f203f137c6d39fce578c39212c5c0309aa4c70"},"c6f203f"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing server setting HasAuthority to true (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a6fa26d07542be950e1df7403066654d4ab3f61b"},"a6fa26d"),")")),(0,r.kt)("h2",{id:"13702-2023-05-09"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v137.0.1...v137.0.2"},"137.0.2")," (2023-05-09)"),(0,r.kt)("h3",{id:"bug-fixes-39"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing guard functions for generic and array (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b453d3678bf6699d66cfd5d7cbddb3d9e99aab74"},"b453d36"),")")),(0,r.kt)("h2",{id:"13701-2023-05-05"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v137.0.0...v137.0.1"},"137.0.1")," (2023-05-05)"),(0,r.kt)("h3",{id:"bug-fixes-40"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing message size being too small with DisableReliableLayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/50b40937c76e327d9104ccc1aaf21602d5ec72ab"},"50b4093"),")")),(0,r.kt)("h1",{id:"13700-2023-05-05"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v136.2.0...v137.0.0"},"137.0.0")," (2023-05-05)"),(0,r.kt)("h3",{id:"bug-fixes-41"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding OnValidate to NetworkManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5a54b3ae4b068b7df3d965e350cde26c85000b03"},"5a54b3a"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing null ref when ObjectManager not set (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7333749f95177f43346f0119f3ed022f8d7d941f"},"7333749"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing race condition with ServerObjectManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f2d2cf33df07f09e52ede16194d1ab17ee4253b7"},"f2d2cf3"),")")),(0,r.kt)("h3",{id:"code-refactoring-1"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"changing clientObjectManager to be used by other classes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2a69409d326129f88b51e4775027a425f5b17bee"},"2a69409"),")")),(0,r.kt)("h3",{id:"breaking-changes-12"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkClient and NetworkSceneManager now need a reference to ClientObjectManager"),(0,r.kt)("li",{parentName:"ul"},"NetworkServer now need a reference to ServerObjectManager")),(0,r.kt)("h1",{id:"13620-2023-05-04"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v136.1.0...v136.2.0"},"136.2.0")," (2023-05-04)"),(0,r.kt)("h3",{id:"features-35"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding helper function to get AuthenticationData as a type (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a2d738205240302ea49f38806360450113f39f64"},"a2d7382"),")")),(0,r.kt)("h1",{id:"13610-2023-05-04"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v136.0.0...v136.1.0"},"136.1.0")," (2023-05-04)"),(0,r.kt)("h3",{id:"features-36"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"components to sync if gameObject is active (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/873db7f5cad0be4521179cdedf32570daef37f0c"},"873db7f"),")")),(0,r.kt)("h1",{id:"13600-2023-05-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v135.1.0...v136.0.0"},"136.0.0")," (2023-05-01)"),(0,r.kt)("h3",{id:"bug-fixes-42"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing typo for Spawn settings (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2d8a35a6ad418bb2edb48a834e341feaeddb4c0e"},"2d8a35a"),")")),(0,r.kt)("h3",{id:"code-refactoring-2"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding headers to Character spawner fields (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3ed2134771e53e98fa377ef12c4ff4ceeabc87d3"},"3ed2134"),")"),(0,r.kt)("li",{parentName:"ul"},"Changing default spawn settings (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/89564f49c8df7a937369925b66c5ec9f1c08b749"},"89564f4"),")"),(0,r.kt)("li",{parentName:"ul"},"moving Spawn Settings too its own file (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5bdc7a3f1bf0f47f25d08b49c323160629f7897d"},"5bdc7a3"),")")),(0,r.kt)("h3",{id:"features-37"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding Name and GameObjectActive to Spawn settings (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fd123909c0b00f084f40e80fb1f4aa57de5284c3"},"fd12390"),")"),(0,r.kt)("li",{parentName:"ul"},"adding option to always enable client object (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/686a9048cc4f27cf7e96ba18f4c6d3bcb6910c69"},"686a904"),")"),(0,r.kt)("li",{parentName:"ul"},"adding option to disable Setting name by CharacterSpawner (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/796a7bd9344e98e1e537a10e41f9c834e916e5a0"},"796a7bd"),")")),(0,r.kt)("h3",{id:"breaking-changes-13"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkIdentity.TransformSpawnSettings moved to NetworkSpawnSettings"),(0,r.kt)("li",{parentName:"ul"},"Spawning a prefab will no longer automatically enable it. Spawn settings must have SendGameObjectActive set to true and object on server to be enabled as well"),(0,r.kt)("li",{parentName:"ul"},"SpawnMessage now has SpawnValues struct to store values in. SpawnMessage also has new ToString message"),(0,r.kt)("li",{parentName:"ul"},"removing FormerlySerializedAs from CharacterSpawner")),(0,r.kt)("h1",{id:"13510-2023-04-30"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v135.0.0...v135.1.0"},"135.1.0")," (2023-04-30)"),(0,r.kt)("h3",{id:"bug-fixes-43"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing SendNotify deliver (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3f9ceb9ac83917515b43518d7eac9f1d15c1bb30"},"3f9ceb9"),")")),(0,r.kt)("h3",{id:"features-38"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding option to disable reliable layer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6618b5d233804a4742b122f2c98c7ab9e9807915"},"6618b5d"),")"),(0,r.kt)("li",{parentName:"ul"},"adding option to use UniTaskVoid for message handlers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/64b9cc70083e48a3fd4684f9453aa1e6053d28e7"},"64b9cc7"),")")),(0,r.kt)("h1",{id:"13500-2023-04-29"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v134.0.0...v135.0.0"},"135.0.0")," (2023-04-29)"),(0,r.kt)("h3",{id:"code-refactoring-3"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"making add remove connections private (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0cac9a36af183af9c0820e8d5a1592d1b8c01906"},"0cac9a3"),")")),(0,r.kt)("h3",{id:"breaking-changes-14"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkServer methods AddConnection and RemoveConnection are no longer public")),(0,r.kt)("h1",{id:"13400-2023-04-28"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v133.0.0...v134.0.0"},"134.0.0")," (2023-04-28)"),(0,r.kt)("h3",{id:"code-refactoring-4"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing NumberOfPlayers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cafbe50a591a464acb30f4a59037f1e28bdb553e"},"cafbe50"),")"),(0,r.kt)("li",{parentName:"ul"},"removing Obsolete functions (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a3932f241ee5129efe4ec9d677f9c622a68ebccf"},"a3932f2"),")")),(0,r.kt)("h3",{id:"features-39"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding SpawnInstantiate helper methods (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/58f14cd43b33dc0e812863fcf274dc98d1105d22"},"58f14cd"),")")),(0,r.kt)("h3",{id:"breaking-changes-15"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing Obsolete functions, see commit for details"),(0,r.kt)("li",{parentName:"ul"},"NumberOfPlayers removed")),(0,r.kt)("h1",{id:"13300-2023-04-24"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v132.0.3...v133.0.0"},"133.0.0")," (2023-04-24)"),(0,r.kt)("h3",{id:"features-40"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"refactoring LobbyReady to use new features (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b9e13e36060bcb696c0b3a70ab99c592a66454c3"},"b9e13e3"),")")),(0,r.kt)("h3",{id:"breaking-changes-16"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"LobbyReady and ReadyCheck components changed")),(0,r.kt)("p",null,"fix: using Start instead so Server can be added by test"),(0,r.kt)("p",null,"test: trying to fix lobby test"),(0,r.kt)("p",null,"fix: fixing lobby ready"),(0,r.kt)("p",null,"setting syncvar in another asm doesn't work all the time. Unity ILPP is weird"),(0,r.kt)("h2",{id:"13203-2023-04-14"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v132.0.2...v132.0.3"},"132.0.3")," (2023-04-14)"),(0,r.kt)("h3",{id:"bug-fixes-44"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"SyncPrefab now uses Prefab field to write even if hash is not zero (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/57eea65b675480c7e6a76e522a67bee76859bb55"},"57eea65"),")")),(0,r.kt)("h2",{id:"13202-2023-04-11"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v132.0.1...v132.0.2"},"132.0.2")," (2023-04-11)"),(0,r.kt)("h3",{id:"bug-fixes-45"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing hostmode not sending syncvar to remote owner (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/925d57db73df5bb0211235355c94afe1247c29f0"},"925d57d"),")")),(0,r.kt)("h2",{id:"13201-2023-04-10"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v132.0.0...v132.0.1"},"132.0.1")," (2023-04-10)"),(0,r.kt)("h3",{id:"bug-fixes-46"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding angle packer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fcbd0070a1d393e5808a9de2c5d4816057a2536c"},"fcbd007"),")")),(0,r.kt)("h1",{id:"13200-2023-04-10"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v131.1.3...v132.0.0"},"132.0.0")," (2023-04-10)"),(0,r.kt)("h3",{id:"bug-fixes-47"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing sample (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7d1d6f7c29cb846e2522c8ecd1e2198617632819"},"7d1d6f7"),")"),(0,r.kt)("li",{parentName:"ul"},"renaming SpawnObjects to SpawnSceneObjects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6b89619fb1958243803fa0b425ae4089daaa74ae"},"6b89619"),")")),(0,r.kt)("h3",{id:"code-refactoring-5"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"renaming Start to Setup for public methods to start ServerObjectManager late (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d5f0647bdb02c6d0cb968db2db56b7abc177473b"},"d5f0647"),")")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"refactor!: moving scene code out of ServerObjectManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f2b3938b120850cf6840c300adaa6c7a0b89440b"},"f2b3938"),")"),(0,r.kt)("li",{parentName:"ul"},"refactor!: adding INetworkVisibility (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e47d4a371b331e168d46608703c585847a2f8052"},"e47d4a3"),")")),(0,r.kt)("h3",{id:"features-41"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding to string override for network identity. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/279e2075411359a60ad4b1d5ad198d20508b30c1"},"279e207"),")")),(0,r.kt)("h3",{id:"breaking-changes-17"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkSceneManager now requires a reference to ServerObjectManager in the inspector"),(0,r.kt)("li",{parentName:"ul"},"ServerObjectManager.Start renamed to Setup"),(0,r.kt)("li",{parentName:"ul"},"NetworkIdentity.Visibility can now throw if called before Object is spawned")),(0,r.kt)("h2",{id:"13113-2023-04-10"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v131.1.2...v131.1.3"},"131.1.3")," (2023-04-10)"),(0,r.kt)("h3",{id:"bug-fixes-48"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"setting reason too None if packet length is not 3 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dcc4fa920d908837c29274ce76762f698e7466c1"},"dcc4fa9"),")")),(0,r.kt)("h2",{id:"13112-2023-04-05"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v131.1.1...v131.1.2"},"131.1.2")," (2023-04-05)"),(0,r.kt)("h3",{id:"bug-fixes-49"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing incorrect Undo.RecordObject target (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0db933a124d99aead1937b4f10ae65624918b425"},"0db933a"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing register button not setting holder as dirty (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/762e295a7a1c36117aa5f49ff0e7802f73c13afc"},"762e295"),")")),(0,r.kt)("h2",{id:"13111-2023-04-04"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v131.1.0...v131.1.1"},"131.1.1")," (2023-04-04)"),(0,r.kt)("h3",{id:"bug-fixes-50"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing compile error with inspector in 2022 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cb7fa26182a5c8d9811a8b12d3554152072ccda8"},"cb7fa26"),")"),(0,r.kt)("li",{parentName:"ul"},"improving host syncing for new direction (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/645570c852561c6658a0e1bf94bf0b35e2d884c6"},"645570c"),")")),(0,r.kt)("h1",{id:"13110-2023-04-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v131.0.2...v131.1.0"},"131.1.0")," (2023-04-01)"),(0,r.kt)("h3",{id:"bug-fixes-51"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing sync direction drawer showing incorrect warning (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/11a7ab601463061cbe21aad435a979d884b6da83"},"11a7ab6"),")")),(0,r.kt)("h3",{id:"features-42"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding struct to sync a prefab over network using its hash (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/15e7bbe44220005d287b12ace9edb7e0d365900a"},"15e7bbe"),")")),(0,r.kt)("h2",{id:"13102-2023-04-01"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v131.0.1...v131.0.2"},"131.0.2")," (2023-04-01)"),(0,r.kt)("h3",{id:"bug-fixes-52"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"not sending to owner if they are host player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1c5eed5a247023e1652e0a83cda6c9aa00edb54e"},"1c5eed5"),")")),(0,r.kt)("h2",{id:"13101-2023-03-31"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v131.0.0...v131.0.1"},"131.0.1")," (2023-03-31)"),(0,r.kt)("h3",{id:"bug-fixes-53"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"hiding SyncSettings when there is nothing to sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/53f3c623a2c2af252ff73fb9a1840ce4c77e5cc8"},"53f3c62"),")")),(0,r.kt)("h1",{id:"13100-2023-03-31"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v130.4.1...v131.0.0"},"131.0.0")," (2023-03-31)"),(0,r.kt)("h3",{id:"bug-fixes-54"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding safety when returning to pool (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/22e2990c5a1093fd5cd0c6f71584cdbeadfbf7b2"},"22e2990"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing drawer to indent fields (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a28a5cf14eaf0d763625bd3fcaf7c965bc8b26d5"},"a28a5cf"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing errors when owner is set before world is (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/01ad248d64eaa5916d3e15bdf9c8333f43b7e6d9"},"01ad248"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing IsValidDirection method (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e437a1087007c16396d781aec3dc716b19e03242"},"e437a10"),")"),(0,r.kt)("li",{parentName:"ul"},"RegisterPrefabs now has option to skip over existing handlers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ec80990563793eae26f03a71cb1aa01514f45d60"},"ec80990"),")")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"refactor!: converting Channel to enum (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9142513a48831793308c35d9dc0ad9a2be086270"},"9142513"),")"),(0,r.kt)("li",{parentName:"ul"},"refactor!: renaming functions used to clear dirty bits (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/775698cc3f983f061997ec04cf5d00450834a052"},"775698c"),")"),(0,r.kt)("li",{parentName:"ul"},"refactor!: starting to use syncSettings (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f673f9b90087ded3211e8304f933fc144c821607"},"f673f9b"),")"),(0,r.kt)("li",{parentName:"ul"},"refactor!: deleting Experimental components (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb5c2a6d9497453d73ea0d5ea8b4ebbec82a91c2"},"fb5c2a6"),")")),(0,r.kt)("h3",{id:"features-43"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding angle and vec2 packer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/039e9cddf7a65d7c4b3ddde6d0655e58da9db0e2"},"039e9cd"),")"),(0,r.kt)("li",{parentName:"ul"},"adding drawer for sync settings (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/10ab69e7a8e87b0e0b994a78b9c65b1c17c64a0c"},"10ab69e"),")"),(0,r.kt)("li",{parentName:"ul"},"adding event to world that is invoked when authority changes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/573929658612ffcdf0a392276d6f3de9d4291005"},"5739296"),")"),(0,r.kt)("li",{parentName:"ul"},"adding helper methods for networkWorld (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5ad1f837d22f0710574d0b98e3e1f403084f73f7"},"5ad1f83"),")"),(0,r.kt)("li",{parentName:"ul"},"adding methods to write from pointer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0b3ae5e8cd3b873b8dab61ba8bcee7291b573865"},"0b3ae5e"),")"),(0,r.kt)("li",{parentName:"ul"},"adding OwnerAndObservers option so it shows in inspector (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/26ec10d838799a81dd95407a93b8f1f813cf032d"},"26ec10d"),")"),(0,r.kt)("li",{parentName:"ul"},"adding static version of update time so that other classes can use it (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d96ed04e7fbf1b4ae63fa2c6501c0b1904cbdc33"},"d96ed04"),")"),(0,r.kt)("li",{parentName:"ul"},"adding sync settings (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/53ceb2ac06bc96347af2fafd996cd9a72df1d00f"},"53ceb2a"),")"),(0,r.kt)("li",{parentName:"ul"},"SyncStack (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bef85141ac6b954baa633873fc0f64ecc6229607"},"bef8514"),")")),(0,r.kt)("h3",{id:"breaking-changes-18"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"RegisterPrefabs now has an extra dontAddIfExist bool argument"),(0,r.kt)("li",{parentName:"ul"},"Channel is not an enum instead of an int"),(0,r.kt)("li",{parentName:"ul"},"ClearAllDirtyBits renamed to ClearShouldSync"),(0,r.kt)("li",{parentName:"ul"},"Renaming and Obsolete of custom serialize methods"),(0,r.kt)("li",{parentName:"ul"},"deleting Experimental components")),(0,r.kt)("h2",{id:"13041-2023-03-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v130.4.0...v130.4.1"},"130.4.1")," (2023-03-21)"),(0,r.kt)("h3",{id:"bug-fixes-55"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing nanosockets build error on some platforms (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fbd136cd03bb3aac8bd283d2bc0eb8c622db3b56"},"fbd136c"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing typo causing Prefabs header being drawn twice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2c86fc028f8d15e2cb387316444f7a33d9c0d0d9"},"2c86fc0"),")")),(0,r.kt)("h1",{id:"13040-2023-03-16"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v130.3.0...v130.4.0"},"130.4.0")," (2023-03-16)"),(0,r.kt)("h3",{id:"features-44"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding bool for InitialState (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cce01f805b15a36493efd38c0b2c0d1c5cfd0b83"},"cce01f8"),")")),(0,r.kt)("h1",{id:"13030-2023-02-10"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v130.2.0...v130.3.0"},"130.3.0")," (2023-02-10)"),(0,r.kt)("h3",{id:"features-45"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"making SetHostVisibility virtual (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/aef174c5f24b2edc20de2e4c471fc5193eb4f440"},"aef174c"),")")),(0,r.kt)("h1",{id:"13020-2023-02-10"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v130.1.0...v130.2.0"},"130.2.0")," (2023-02-10)"),(0,r.kt)("h3",{id:"bug-fixes-56"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"making HostRendererVisibility hide objects when it is spawned if not visible (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/03976a538d3d35f838c509924dd7b49698f1546d"},"03976a5"),")")),(0,r.kt)("h3",{id:"features-46"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding a function for server to tell clients to load scene (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/14283b1489430d21e12fe75e44f0621f214462a3"},"14283b1"),")"),(0,r.kt)("li",{parentName:"ul"},"adding component that can be used to disable renderers on host player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/64c09bfb532afc29e9956839d7715fb9f3d8016c"},"64c09bf"),")"),(0,r.kt)("li",{parentName:"ul"},"adding event that is invoked when object visibility changes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d82cd7638f7175cb9e5e8a16c59fb9aa19342652"},"d82cd76"),")"),(0,r.kt)("li",{parentName:"ul"},"adding option to not send additive scenes when client connects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f39414be4f072981dd75612ef526cd0eb8aa3f91"},"f39414b"),")")),(0,r.kt)("h1",{id:"13010-2023-02-06"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v130.0.0...v130.1.0"},"130.1.0")," (2023-02-06)"),(0,r.kt)("h3",{id:"bug-fixes-57"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding exitgui to stop error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/df719b2ab86311f66e874716ef3fa612e111e868"},"df719b2"),")")),(0,r.kt)("h3",{id:"features-47"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add networked prefab attribute (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9fdd2ec872f6c603efaa49a27ca7b28a41adf464"},"9fdd2ec"),")"),(0,r.kt)("li",{parentName:"ul"},"making NetworkedPrefab attribute work with new NetworkPrefabs SO (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/37c4877d09f352f2648c67e71d441ca73ebc6cd8"},"37c4877"),")")),(0,r.kt)("h1",{id:"13000-2023-02-06"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v129.6.2...v130.0.0"},"130.0.0")," (2023-02-06)"),(0,r.kt)("h3",{id:"bug-fixes-58"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Examples:")," updating Paddlespawner awake function to be protected (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/241a421e88d4357c39c01fdf3af6c8c52d0d6367"},"241a421"),")"),(0,r.kt)("li",{parentName:"ul"},"marking scene as not ready when player first joins server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f523143d59f7e14b8571a3bec676b1fb0b6c297d"},"f523143"),")")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"feat(CharacterSpawner)!: making Awake and OnDestroy protected virtual (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/14ed80adbc2003e2817a2eddfae37c057b78def7"},"14ed80a"),")")),(0,r.kt)("h3",{id:"breaking-changes-19"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"CharacterSpawner.Awake is now protected instead of public")),(0,r.kt)("p",null,"Co-authored-by: James Frowen ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:jamesfrowen5@gmail.com"},"jamesfrowen5@gmail.com"),">"),(0,r.kt)("h2",{id:"12962-2023-02-03"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v129.6.1...v129.6.2"},"129.6.2")," (2023-02-03)"),(0,r.kt)("h3",{id:"bug-fixes-59"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"stopping exception when creating new SO (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f55e9295cbfb15146cbbae927e4468d7665dec4c"},"f55e929"),")")),(0,r.kt)("h2",{id:"12961-2023-02-03"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v129.6.0...v129.6.1"},"129.6.1")," (2023-02-03)"),(0,r.kt)("h3",{id:"bug-fixes-60"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing typo in DisallowMultipleComponent (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/715aa33f7050ffada635232da834479562aade32"},"715aa33"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkManagerGUI:")," prevent potential NRE spam if reference is lost and tidy up (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1130"},"#1130"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/86b5c3d75e45ab17e83f12b1458bf617e2c4e17c"},"86b5c3d"),")")),(0,r.kt)("h1",{id:"12960-2023-02-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v129.5.0...v129.6.0"},"129.6.0")," (2023-02-02)"),(0,r.kt)("h3",{id:"bug-fixes-61"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing networkprefab drawer height (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/888407035284074def8a885dd456f2365a64fd25"},"8884070"),")")),(0,r.kt)("h3",{id:"features-48"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding buttons that create gameobject with NetworkIdentity (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/01158185d64ab3e03f227dd553a5e3401a4be488"},"0115818"),")"),(0,r.kt)("li",{parentName:"ul"},"adding custom drawer for networkprefab field (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bb34c04a0871103a806bf510049232dab3623a8f"},"bb34c04"),")"),(0,r.kt)("li",{parentName:"ul"},"drawing prefab list under NetworkPrefab reference (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8c637263cff3270badc8bfcaf6d6bce5f9291b49"},"8c63726"),")"),(0,r.kt)("li",{parentName:"ul"},"hiding COM prefab list when it is empty and NetworkPrefab is set (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5088d33b5d2a5375ec5549c63372cdf83425eb83"},"5088d33"),")"),(0,r.kt)("li",{parentName:"ul"},"making RegisterPrefabs public (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/77c8a48049eae823c4b9496e0fe4dc50ad22d14b"},"77c8a48"),")"),(0,r.kt)("li",{parentName:"ul"},"use scriptable object for spawnable prefabs (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1127"},"#1127"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1973e76e3abed43ffc47b57f117772f2627cf803"},"1973e76"),")")),(0,r.kt)("h1",{id:"12950-2023-01-31"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v129.4.0...v129.5.0"},"129.5.0")," (2023-01-31)"),(0,r.kt)("h3",{id:"bug-fixes-62"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ui toolkit list fields not being reorderable (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1c77772046a7db0f77fbd3515812ddc6a702444c"},"1c77772"),")")),(0,r.kt)("h3",{id:"features-49"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding async versions to NetworkSceneManager functions (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1128"},"#1128"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/abae4c80d5acba540b6fd5ac130b50d0493b0331"},"abae4c8"),")")),(0,r.kt)("h1",{id:"12940-2023-01-06"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v129.3.2...v129.4.0"},"129.4.0")," (2023-01-06)"),(0,r.kt)("h3",{id:"features-50"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ui toolkit network behaviour editor for unity 2022.2 and newer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1121"},"#1121"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f626c77304b03ce7a177d00b0283754407bf1531"},"f626c77"),")")),(0,r.kt)("h2",{id:"12932-2022-12-22"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v129.3.1...v129.3.2"},"129.3.2")," (2022-12-22)"),(0,r.kt)("h3",{id:"bug-fixes-63"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"errors and warnings on 2023.1 alpha (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1120"},"#1120"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/37fa1132828ea72515d9351b7acc8110225e6da3"},"37fa113"),")")),(0,r.kt)("h2",{id:"12931-2022-12-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v129.3.0...v129.3.1"},"129.3.1")," (2022-12-21)"),(0,r.kt)("h3",{id:"bug-fixes-64"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"throw InvalidOperationException if network client attempts to send messages while disconnected (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1118"},"#1118"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b7ae4deab1fe197def84d81e81cab257f25010c9"},"b7ae4de"),")")),(0,r.kt)("h1",{id:"12930-2022-12-16"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v129.2.1...v129.3.0"},"129.3.0")," (2022-12-16)"),(0,r.kt)("h3",{id:"features-51"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding filter to log settings (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d50e7543be2179db0674e456f23ec0afa30df89f"},"d50e754"),")")),(0,r.kt)("h2",{id:"12921-2022-12-15"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v129.2.0...v129.2.1"},"129.2.1")," (2022-12-15)"),(0,r.kt)("h3",{id:"bug-fixes-65"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"marking RemoteCallCollection as NonSerialized (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c6ef84ba8fb20cf589ab6c4f50147b263711ea64"},"c6ef84b"),")")),(0,r.kt)("h1",{id:"12920-2022-12-11"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v129.1.4...v129.2.0"},"129.2.0")," (2022-12-11)"),(0,r.kt)("h3",{id:"features-52"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding functions to manually update server and client (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d18ef5a94ec3b2c59dbc59605f37c448e2658712"},"d18ef5a"),")")),(0,r.kt)("h2",{id:"12914-2022-12-11"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v129.1.3...v129.1.4"},"129.1.4")," (2022-12-11)"),(0,r.kt)("h3",{id:"bug-fixes-66"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing string encoding from GetIP IntPtr (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5073a5f92086f73c0de536ded1f4a39b676e0379"},"5073a5f"),")")),(0,r.kt)("h2",{id:"12913-2022-12-10"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v129.1.2...v129.1.3"},"129.1.3")," (2022-12-10)"),(0,r.kt)("h3",{id:"bug-fixes-67"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"setting field value (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f9b1f651ab1c6a29d201a3d9c96a5d5f2f42944d"},"f9b1f65"),")")),(0,r.kt)("h2",{id:"12912-2022-12-10"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v129.1.1...v129.1.2"},"129.1.2")," (2022-12-10)"),(0,r.kt)("h3",{id:"bug-fixes-68"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding null check for failing to resolve assembly (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/13ce8a9f7a3bfa6d142defa2b336a738d635c69c"},"13ce8a9"),")")),(0,r.kt)("h2",{id:"12911-2022-12-10"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v129.1.0...v129.1.1"},"129.1.1")," (2022-12-10)"),(0,r.kt)("h3",{id:"bug-fixes-69"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"il2cpp linux runtime SIGABRT crash with nanosockets (unity 2021.3.15) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1116"},"#1116"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ff7148b47eb55e4211db22bc2bfaf6a9c3315e7e"},"ff7148b"),")")),(0,r.kt)("h1",{id:"12910-2022-12-05"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v129.0.3...v129.1.0"},"129.1.0")," (2022-12-05)"),(0,r.kt)("h3",{id:"features-53"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding option to exclude NetworkBehaviourInspector (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/99e9519c59bc73d9f4bbdd02ae105178e09fb5c4"},"99e9519"),")")),(0,r.kt)("h2",{id:"12903-2022-11-27"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v129.0.2...v129.0.3"},"129.0.3")," (2022-11-27)"),(0,r.kt)("h3",{id:"bug-fixes-70"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing scene events not firing when host connects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/598057eda86bc0463aba54b89a106650467421c9"},"598057e"),")")),(0,r.kt)("h2",{id:"12902-2022-11-27"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v129.0.1...v129.0.2"},"129.0.2")," (2022-11-27)"),(0,r.kt)("h3",{id:"bug-fixes-71"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing COM throwing when registering same prefab twice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5005dafd82ca1c023f1fab5a16d9f3142dd5ef8f"},"5005daf"),")")),(0,r.kt)("h2",{id:"12901-2022-11-26"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v129.0.0...v129.0.1"},"129.0.1")," (2022-11-26)"),(0,r.kt)("h3",{id:"bug-fixes-72"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing unity version in package.json (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/920493e1caf2c44f890e4b647658347cb78f32f8"},"920493e"),")")),(0,r.kt)("h1",{id:"12900-2022-11-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v128.7.0...v129.0.0"},"129.0.0")," (2022-11-14)"),(0,r.kt)("h3",{id:"bug-fixes-73"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"dont seend scene message on authenticate to host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/94ab113c2fbe66e553ae268c0ca2ece246f8c3be"},"94ab113"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing client networkplayer being given to host player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7331eb05eae3056d0aaf1de6741b183c221e1a79"},"7331eb0"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing loading scenes in host mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9caeea8b144db9ca0c8bb1dfddef502ade587fa3"},"9caeea8"),")"),(0,r.kt)("li",{parentName:"ul"},"not sending unload message to host player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f1ace90f5f26593e65624a5b58386341fc944bb1"},"f1ace90"),")")),(0,r.kt)("h3",{id:"breaking-changes-20"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"host no longer invokes scene start/finish events on when host player Authenticates"),(0,r.kt)("li",{parentName:"ul"},"SceneMessage should no longer be sent to host player")),(0,r.kt)("h1",{id:"12870-2022-11-09"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v128.6.0...v128.7.0"},"128.7.0")," (2022-11-09)"),(0,r.kt)("h3",{id:"features-54"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding send method that will exclude a single player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f930bd01add2b8260705360da6b2096335d1ef71"},"f930bd0"),")")),(0,r.kt)("h1",{id:"12860-2022-11-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v128.5.0...v128.6.0"},"128.6.0")," (2022-11-02)"),(0,r.kt)("h3",{id:"bug-fixes-74"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"making MaxStringLength re-size the internal buffer to allow for bigger strings (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ed00f347d86bc0ab89eb78296a747ab5dae75cb0"},"ed00f34"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1109"},"#1109"))),(0,r.kt)("h3",{id:"features-55"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding extra string methods to use different encoding (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/586717b81370d26459bf1d7e989e6871edafa5d6"},"586717b"),")")),(0,r.kt)("h1",{id:"12850-2022-10-08"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v128.4.1...v128.5.0"},"128.5.0")," (2022-10-08)"),(0,r.kt)("h3",{id:"bug-fixes-75"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"checking for custom visibility in new assert (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f4b959789bc6505e782bfbcf12a1a09605ed26fe"},"f4b9597"),")")),(0,r.kt)("h3",{id:"features-56"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding option to stop spanwn on unauthenticated (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/629fab8a05a6d43f5e213aebf07f86a2743458ac"},"629fab8"),")")),(0,r.kt)("h2",{id:"12841-2022-10-08"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v128.4.0...v128.4.1"},"128.4.1")," (2022-10-08)"),(0,r.kt)("h3",{id:"bug-fixes-76"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"miscellanous NanoSocket bits and pieces, add Mirage Standalone support (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1106"},"#1106"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1b7e0972160955a0cf972c289f82264614f7ba8b"},"1b7e097"),")")),(0,r.kt)("h1",{id:"12840-2022-09-25"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v128.3.1...v128.4.0"},"128.4.0")," (2022-09-25)"),(0,r.kt)("h3",{id:"features-57"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding Id to NetworkBehaviour (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8eafae5ad57ccde175c87ea4e5817a4ec8573bcc"},"8eafae5"),")")),(0,r.kt)("h2",{id:"12831-2022-09-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v128.3.0...v128.3.1"},"128.3.1")," (2022-09-21)"),(0,r.kt)("h3",{id:"bug-fixes-77"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"AckSystem:")," fixing fragmented message having incorrect order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1fb4970fc8b8bbdc65d64aa4a16d84903494f7b0"},"1fb4970"),")")),(0,r.kt)("h1",{id:"12830-2022-09-16"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v128.2.0...v128.3.0"},"128.3.0")," (2022-09-16)"),(0,r.kt)("h3",{id:"bug-fixes-78"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding try/catch for spawn async (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9cad50a9eaf5d3fa476d470d22515440de25b7cc"},"9cad50a"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing async payload not being held (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2eafb4693f772ee8c48825fedf6d9620e53c5e3c"},"2eafb46"),")"),(0,r.kt)("li",{parentName:"ul"},"improving log for server.spawn (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4cdb60611e71e36a4cb64caa6c2b7292339f56b6"},"4cdb606"),")")),(0,r.kt)("h3",{id:"features-58"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding way to return spawnHandler from prefabHash (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4d1d552737f3771405172200d4fe29efbc3724cb"},"4d1d552"),")"),(0,r.kt)("li",{parentName:"ul"},"allowing PrefabHash to be set even if it already has value (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c764c1ff7e67627992270198b3350e67ae1d217f"},"c764c1f"),")")),(0,r.kt)("h1",{id:"12820-2022-09-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v128.1.1...v128.2.0"},"128.2.0")," (2022-09-14)"),(0,r.kt)("h3",{id:"features-59"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding pack as int functions to QuaternionPacker (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/79ccc2556dce66d1d24b3baaf0705fb24165e167"},"79ccc25"),")")),(0,r.kt)("h3",{id:"performance-improvements-3"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"making QuaternionPacker pack to 0 for Quaternion.identity (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7c2bfe43b2ee45c640aaaf93f7ec37aa4fda7b80"},"7c2bfe4"),")")),(0,r.kt)("h2",{id:"12811-2022-09-01"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v128.1.0...v128.1.1"},"128.1.1")," (2022-09-01)"),(0,r.kt)("h3",{id:"bug-fixes-79"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing SetDisplayMetrics for host mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ce26e493491872332497b25dc582d6a57312f167"},"ce26e49"),")")),(0,r.kt)("h1",{id:"12810-2022-08-25"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v128.0.0...v128.1.0"},"128.1.0")," (2022-08-25)"),(0,r.kt)("h3",{id:"features-60"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding SpawnVisibleObjects method that can skip objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1100"},"#1100"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/21bf0499d4d238f97758effc2f85e4f29f9f9681"},"21bf049"),")")),(0,r.kt)("h1",{id:"12800-2022-08-18"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v127.0.0...v128.0.0"},"128.0.0")," (2022-08-18)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"refactor!: removing INetworkServer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/aaaba98d22cb7ba08f71b7782cfe0834af0128d1"},"aaaba98"),")"),(0,r.kt)("li",{parentName:"ul"},"refactor!: removing INetworkClient (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/15eb6d1b872cfaa1abe9d02f19b4213864bf87a6"},"15eb6d1"),")"),(0,r.kt)("li",{parentName:"ul"},"refactor!: removing INetworkSceneManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e1fdf86618bcbc401dd944f7c3a7a77155e9ab07"},"e1fdf86"),")"),(0,r.kt)("li",{parentName:"ul"},"refactor!: removing IServerObjectManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cf9f746e6160652ae0e2ce61bc77b9188d67ffa8"},"cf9f746"),")"),(0,r.kt)("li",{parentName:"ul"},"refactor!: removing IClientObjectManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4559573d5063ea1f113fe499cf1fda14501ad226"},"4559573"),")")),(0,r.kt)("h3",{id:"breaking-changes-21"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"interface for NetworkServer removed"),(0,r.kt)("li",{parentName:"ul"},"interface for NetworkClient removed"),(0,r.kt)("li",{parentName:"ul"},"interface for NetworkSceneManager removed"),(0,r.kt)("li",{parentName:"ul"},"interface for ServerObjectManager removed"),(0,r.kt)("li",{parentName:"ul"},"interface for ClientObjectManager removed")),(0,r.kt)("h1",{id:"12700-2022-08-18"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v126.1.0...v127.0.0"},"127.0.0")," (2022-08-18)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"refactor(ClientObjectManager)!: renaming function that registers handlers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b8b07ee295a0942f9c9c1d5cf5ab23f348596485"},"b8b07ee"),")"),(0,r.kt)("li",{parentName:"ul"},"refactor(ClientObjectManager)!: merging prefab and handlers into class (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/229aa4bf9396205cea3414d21cf310754d8030c7"},"229aa4b"),")")),(0,r.kt)("h3",{id:"features-61"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding async spawn handler (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/993f425c6f81f0b84c7b7d03f1e2e8beff6a41db"},"993f425"),")")),(0,r.kt)("h3",{id:"breaking-changes-22"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"RegisterPrefab that registers handlers is now called RegisterSpawnHandler"),(0,r.kt)("li",{parentName:"ul"},"adding new exceptions to registering prefabs and handles")),(0,r.kt)("h1",{id:"12610-2022-08-17"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v126.0.1...v126.1.0"},"126.1.0")," (2022-08-17)"),(0,r.kt)("h3",{id:"bug-fixes-80"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing dependency on JetBrains.Annotations (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2e1263edce5f581978c7e397ca50ade1f19aff6d"},"2e1263e"),")")),(0,r.kt)("h3",{id:"features-62"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding more public methods for NetworkPlayer VisList (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ccc7ef55a3726616d4043edce38d053eabadf0ca"},"ccc7ef5"),")")),(0,r.kt)("h2",{id:"12601-2022-08-08"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v126.0.0...v126.0.1"},"126.0.1")," (2022-08-08)"),(0,r.kt)("h3",{id:"bug-fixes-81"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing compile error in unity 2019.4 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/864a144745e4121580550989af7d34b78394feb1"},"864a144"),")")),(0,r.kt)("h1",{id:"12600-2022-08-07"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v125.0.0...v126.0.0"},"126.0.0")," (2022-08-07)"),(0,r.kt)("h3",{id:"features-63"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"making RemoteCallCollection public (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2906f18c70b026ecac9297dea7877d4845c4f00e"},"2906f18"),")")),(0,r.kt)("h3",{id:"performance-improvements-4"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing allocations for validating network identity in debug mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/190974954f0a8e803b1be99d4a9b0a21ec59b965"},"1909749"),")")),(0,r.kt)("h3",{id:"breaking-changes-23"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remoteCallCollection renamed to RemoteCallCollection (may require unity restart after import)")),(0,r.kt)("h1",{id:"12500-2022-08-05"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v124.0.0...v125.0.0"},"125.0.0")," (2022-08-05)"),(0,r.kt)("h3",{id:"bug-fixes-82"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"improving error handling for Client spawning (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/02ca962c9a64b415386c0e03a0a456ea3ba9245a"},"02ca962"),")")),(0,r.kt)("h3",{id:"features-64"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding spawn overload for NetworkIdentity and PrefabHash (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9c51fef552d5ae9affb7109e8528576703ec1231"},"9c51fef"),")")),(0,r.kt)("h3",{id:"breaking-changes-24"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ClientObjectManager.GetPrefab now throws instead of returning null")),(0,r.kt)("h1",{id:"12400-2022-08-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v123.4.0...v124.0.0"},"124.0.0")," (2022-08-01)"),(0,r.kt)("h3",{id:"bug-fixes-83"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding error when target rpc is called with null (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/73bbcc206e78744d73e7d1e9858aac4ba47e75d3"},"73bbcc2"),")"),(0,r.kt)("li",{parentName:"ul"},"adding more validate for invoking ServerRpc in host mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/26b3318ea5aaa0b5b8d8ff643cb7b46aa69c7992"},"26b3318"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing target rpc being called in host modified (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fa052d6c2bf1bbc176de5da4fce5af1e1fc94faa"},"fa052d6"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1095"},"#1095")),(0,r.kt)("li",{parentName:"ul"},"fixing use of incorrect exception in rpc validate (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/948c3a461ffe281bda052d340dbd39d33f96d2b5"},"948c3a4"),")"),(0,r.kt)("li",{parentName:"ul"},"making rpc validate methods public (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3b7a5aeb15251edffb7f9e325921c315c91c6659"},"3b7a5ae"),")")),(0,r.kt)("h3",{id:"code-refactoring-6"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"moving the invoke check to ClientRpcSender (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/346525809f54e8394fd3ccb79bebc37f4a64e81a"},"3465258"),")")),(0,r.kt)("h3",{id:"breaking-changes-25"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ServerRpc are now only invoked locally if in host mode"),(0,r.kt)("li",{parentName:"ul"},"ServerRpc now throws InvalidOperationException if authority is required"),(0,r.kt)("li",{parentName:"ul"},"ClientRpc are now only invoked locally if in host mode")),(0,r.kt)("h1",{id:"12340-2022-07-27"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v123.3.3...v123.4.0"},"123.4.0")," (2022-07-27)"),(0,r.kt)("h3",{id:"bug-fixes-84"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"updating HelpUrl for new docs (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1094"},"#1094"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e31a5dbccb9ec7d08943c9fb7c530a7dfd37f252"},"e31a5db"),")")),(0,r.kt)("h3",{id:"features-65"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding example script for sending prefab in rpc (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c0dc98e018b0f8a5b22f4fe62f0951558cacdadd"},"c0dc98e"),")")),(0,r.kt)("h2",{id:"12333-2022-07-23"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.3.2...v123.3.3"},"123.3.3")," (2022-07-23)"),(0,r.kt)("h3",{id:"bug-fixes-85"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Weaver:")," finding extension methods in mirage manully (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b3ada19b49b3940c66538e58450807e7dbee08dc"},"b3ada19"),")")),(0,r.kt)("h2",{id:"12332-2022-07-16"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.3.1...v123.3.2"},"123.3.2")," (2022-07-16)"),(0,r.kt)("h3",{id:"bug-fixes-86"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing warning created from id generator (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eaee7486e1d180f38273379f5f656c1d11d0d8f6"},"eaee748"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Weaver:")," fixing extension methods for unity2021 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7f3577815bf289c152a8521270be9c348b028a25"},"7f35778"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Weaver:")," fixing generic check on extension methods (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fddf9eaa15f68ab2489a7bb640ce81e935cde284"},"fddf9ea"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1066"},"#1066")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Weaver:")," fixing WeaverDiagnosticsTimer for when directory is not found (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eb880d5ceb0eca1f833c213da7434df833e5b126"},"eb880d5"),")")),(0,r.kt)("h3",{id:"performance-improvements-5"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"avoiding call to find NetworkIdentity (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7947e9ec8a88bc7942606be79096b18aabaf0606"},"7947e9e"),")")),(0,r.kt)("h2",{id:"12331-2022-06-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.3.0...v123.3.1"},"123.3.1")," (2022-06-29)"),(0,r.kt)("h3",{id:"bug-fixes-87"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"making MessageInfo public instead of internal (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e6a4413a99d08600a9595926ee9ce10791974567"},"e6a4413"),")")),(0,r.kt)("h1",{id:"12330-2022-06-21"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v123.2.4...v123.3.0"},"123.3.0")," (2022-06-21)"),(0,r.kt)("h3",{id:"features-66"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding option for unsigned floats in floatpacker (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dda61e17f3f22be2589b98a551bd06d09fc5aba3"},"dda61e1"),")")),(0,r.kt)("h2",{id:"12324-2022-06-03"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.2.3...v123.2.4"},"123.2.4")," (2022-06-03)"),(0,r.kt)("h3",{id:"bug-fixes-88"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"enable runInBackground so that connections dont timeout (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cb1b86925d7c6adf64168c21c82314726671916c"},"cb1b869"),")"),(0,r.kt)("li",{parentName:"ul"},"updating tool tip for MaxConnections (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/938f34c36ceb8b67f0fbb66cbe7f45f3d3ebada5"},"938f34c"),")")),(0,r.kt)("h2",{id:"12323-2022-05-31"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.2.2...v123.2.3"},"123.2.3")," (2022-05-31)"),(0,r.kt)("h3",{id:"bug-fixes-89"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing define in UdpSocketFactory (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a402953c8a4ae6246ce972387d7e4dabeaa2305f"},"a402953"),")")),(0,r.kt)("h2",{id:"12322-2022-05-31"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.2.1...v123.2.2"},"123.2.2")," (2022-05-31)"),(0,r.kt)("h3",{id:"bug-fixes-90"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"incorrect unity 2021 compile define (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6d9c566ceea1c4a268d14d2e0dff329d4f7eae47"},"6d9c566"),")")),(0,r.kt)("h2",{id:"12321-2022-05-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.2.0...v123.2.1"},"123.2.1")," (2022-05-29)"),(0,r.kt)("h3",{id:"bug-fixes-91"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fix the fix that fixed the CS0104 error about CollectionExtensions (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9657bdb07188839fe70223af2d288a179a03a00a"},"9657bdb"),")"),(0,r.kt)("li",{parentName:"ul"},"network writer test CollectionExtensions causing CS0104 in 2021.3 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1ed750a7c5c49b91ab56d6348474084e6ca2f811"},"1ed750a"),")")),(0,r.kt)("h1",{id:"12320-2022-05-26"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v123.1.5...v123.2.0"},"123.2.0")," (2022-05-26)"),(0,r.kt)("h3",{id:"bug-fixes-92"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding missing interface method to PipePeerConnection (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/90e5179fca4834e4eedaf9ed2785f8ec712155b8"},"90e5179"),")")),(0,r.kt)("h3",{id:"features-67"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"SocketLayer:")," adding FlushBatch to Connection (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/476156a16f3143ee89e70bfef74294b836b6ffbe"},"476156a"),")")),(0,r.kt)("h2",{id:"12315-2022-05-25"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.1.4...v123.1.5"},"123.1.5")," (2022-05-25)"),(0,r.kt)("h3",{id:"bug-fixes-93"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding sequence point to hookException (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/47ec33710b69831ac9e0c69898040ebcc2dd3bc1"},"47ec337"),")")),(0,r.kt)("h2",{id:"12314-2022-05-25"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.1.3...v123.1.4"},"123.1.4")," (2022-05-25)"),(0,r.kt)("h3",{id:"bug-fixes-94"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"avoid using NanoSockets on Mac OS (codesigning issues) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c9c17abb94e0caf36e69a7f8f2a500257cfd6ca1"},"c9c17ab"),")")),(0,r.kt)("h2",{id:"12313-2022-05-24"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.1.2...v123.1.3"},"123.1.3")," (2022-05-24)"),(0,r.kt)("h3",{id:"bug-fixes-95"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding ability to start the Client ","&"," Server from interfaces (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1079"},"#1079"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/61e8d6baa9635aa4fe10738bc71f6f5e0e080081"},"61e8d6b"),")")),(0,r.kt)("h2",{id:"12312-2022-05-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.1.1...v123.1.2"},"123.1.2")," (2022-05-20)"),(0,r.kt)("h3",{id:"bug-fixes-96"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing ResizeBuffer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2232c11b71784585b63f4ec5b1f90484d343e1a5"},"2232c11"),")")),(0,r.kt)("h2",{id:"12311-2022-05-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.1.0...v123.1.1"},"123.1.1")," (2022-05-19)"),(0,r.kt)("h3",{id:"bug-fixes-97"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding defines for nanosocket (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1078"},"#1078"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b4523a09d25b15937509d3ab5ee265971b531cff"},"b4523a0"),")")),(0,r.kt)("h1",{id:"12310-2022-05-12"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v123.0.6...v123.1.0"},"123.1.0")," (2022-05-12)"),(0,r.kt)("h3",{id:"features-68"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding OwnerChanged to networkIdentity (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1077"},"#1077"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7c94ab7a487501b5b538986d4d9af1debc293c91"},"7c94ab7"),")")),(0,r.kt)("h2",{id:"12306-2022-05-12"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.0.5...v123.0.6"},"123.0.6")," (2022-05-12)"),(0,r.kt)("h3",{id:"bug-fixes-98"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"replacing const with attribute (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1076"},"#1076"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/de6c97caf94138b86028edde4c425fda26bcc952"},"de6c97c"),")")),(0,r.kt)("h2",{id:"12305-2022-05-09"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.0.4...v123.0.5"},"123.0.5")," (2022-05-09)"),(0,r.kt)("h3",{id:"bug-fixes-99"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"SocketLayer:")," throwing if Peer is given a null endpoint (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3e3c737b9c8718a751bbb8795238823690b74e1d"},"3e3c737"),")")),(0,r.kt)("h2",{id:"12304-2022-05-09"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.0.3...v123.0.4"},"123.0.4")," (2022-05-09)"),(0,r.kt)("h3",{id:"bug-fixes-100"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Weaver:")," fixing crash from missing attribute (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e54a3a26be577f60d2d6135df11187f8671fcd05"},"e54a3a2"),")")),(0,r.kt)("h2",{id:"12303-2022-05-06"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.0.2...v123.0.3"},"123.0.3")," (2022-05-06)"),(0,r.kt)("h3",{id:"bug-fixes-101"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Weaver:")," making const fields static (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/09c3b3b116a466f55bbfee2771c2b9ca60b2dad4"},"09c3b3b"),")")),(0,r.kt)("h2",{id:"12302-2022-04-27"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.0.1...v123.0.2"},"123.0.2")," (2022-04-27)"),(0,r.kt)("h3",{id:"performance-improvements-6"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing allocation from SendToAll (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/616624491c2bf6e77c9d74641931c15359116df4"},"6166244"),")")),(0,r.kt)("h2",{id:"12301-2022-04-24"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v123.0.0...v123.0.1"},"123.0.1")," (2022-04-24)"),(0,r.kt)("h3",{id:"bug-fixes-102"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing NRE in log when handler is null (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/013b03c17adbdb08292f671aa22820422f9b0840"},"013b03c"),")")),(0,r.kt)("h1",{id:"12300-2022-04-22"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v122.1.0...v123.0.0"},"123.0.0")," (2022-04-22)"),(0,r.kt)("h3",{id:"bug-fixes-103"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"peer now sends invalid key even if key is shorter than correct key (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1139527ea8442e5dd47226560bb4872fc3949ca4"},"1139527"),")")),(0,r.kt)("h3",{id:"code-refactoring-7"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"forcing GetReader to be given objectLocator (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2f3c4b58c54fd1e24f2ee460d44721292d83d792"},"2f3c4b5"),")")),(0,r.kt)("h3",{id:"breaking-changes-26"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkReaderPool.GetReader now has IObjectLocator argument (can be null). Use MirageNetworkReader instead of NetworkReader if you need to read NetworkIdentity")),(0,r.kt)("h1",{id:"12210-2022-04-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v122.0.2...v122.1.0"},"122.1.0")," (2022-04-14)"),(0,r.kt)("h3",{id:"bug-fixes-104"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing double types showing up in log settings if no namespace given (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5ea84d5ca3f92f334f1bf0239907f70ecabd9447"},"5ea84d5"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing logger for id generator using nameof instead of typeof (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3665b801fed8d201c1f6cbb598ea10a652fffbd1"},"3665b80"),")")),(0,r.kt)("h3",{id:"features-69"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"syncvar hook with 1 arg (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1070"},"#1070"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6e21877090dbc9c2eab82565b258efabfcc138f6"},"6e21877"),")")),(0,r.kt)("h2",{id:"12202-2022-04-14"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v122.0.1...v122.0.2"},"122.0.2")," (2022-04-14)"),(0,r.kt)("h3",{id:"bug-fixes-105"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"increasing log to warning when receiving known type without handler (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1072"},"#1072"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/05db6cf1008526ec6f5969765a4ca6735b3f7445"},"05db6cf"),")")),(0,r.kt)("h3",{id:"performance-improvements-7"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"using plus 1 count for other collection types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1073"},"#1073"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/25ab6f321d76d2298bb69f63e6f2c9575d176a9e"},"25ab6f3"),")")),(0,r.kt)("h2",{id:"12201-2022-04-13"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v122.0.0...v122.0.1"},"122.0.1")," (2022-04-13)"),(0,r.kt)("h3",{id:"performance-improvements-8"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"stopping allocations from log in MessageHandler when not enabled (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d5b329231ce256904e03542bfc584d6637bc4e98"},"d5b3292"),")")),(0,r.kt)("h1",{id:"12200-2022-04-12"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v121.0.1...v122.0.0"},"122.0.0")," (2022-04-12)"),(0,r.kt)("h3",{id:"bug-fixes-106"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding end of stream check to ReadList and ReadBytes as well (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9dc69dc6a8d801a0d882af49f0ead7eedb0678a5"},"9dc69dc"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing OnlineOfflineScene to work with NetworkSceneManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bb916f348629aa5b2adb10f33ef5a37f164e49bf"},"bb916f3"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing StopAuthority not being called in host mode on destroy (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f331875ec98f27d2fc66f4c8f5e924976dbc3dde"},"f331875"),")"),(0,r.kt)("li",{parentName:"ul"},"stopping ",(0,r.kt)("inlineCode",{parentName:"li"},"DestroyAllClientObjects")," being called in host mode. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/582c20b84517690efad88f957dd0de7a8172055e"},"582c20b"),")")),(0,r.kt)("h3",{id:"breaking-changes-27"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"OnlineOfflineScene uses NetworkSceneManager instead of just loading locally using client start")),(0,r.kt)("h2",{id:"12101-2022-04-06"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v121.0.0...v121.0.1"},"121.0.1")," (2022-04-06)"),(0,r.kt)("h3",{id:"bug-fixes-107"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding const to type when writer is generated (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f3bcc895654345442fae47fe4e58c1ae192b7a9f"},"f3bcc89"),")"),(0,r.kt)("li",{parentName:"ul"},"throwing if SceneManager returns null (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/833634a75274b52f7f4bbb309ad4b72c880b6098"},"833634a"),")")),(0,r.kt)("h1",{id:"12100-2022-03-31"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v120.1.2...v121.0.0"},"121.0.0")," (2022-03-31)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fix!: fixing removing RequireComponent from NetworkManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/81d8603e64f98fa3a47f4b384b42c0762cf16be1"},"81d8603"),")")),(0,r.kt)("h3",{id:"features-70"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding event to NetworkPlayer when Identity is changed (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9e22ff4c313923b9b4990c5dcc59a95d33249303"},"9e22ff4"),")"),(0,r.kt)("li",{parentName:"ul"},"adding methods to create NetworkMamger using other socket facories (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/aaba9bc5824c79bc81569b5423844ba468ab2ae6"},"aaba9bc"),")")),(0,r.kt)("h3",{id:"breaking-changes-28"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"RequireComponent from NetworkManager. NetworkServer and NetworkClient will now need to be added manaully.")),(0,r.kt)("h2",{id:"12012-2022-03-25"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v120.1.1...v120.1.2"},"120.1.2")," (2022-03-25)"),(0,r.kt)("h3",{id:"bug-fixes-108"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkIdentity:")," fix more missing things (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7420bd128c505044d452c12e034ded4f43ab31cb"},"7420bd1"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkIdentity:")," fix one quote on a log string to unbreak it all (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/339ab4c02bfd963e3f1beeb49a0a929a78d03c80"},"339ab4c"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"tests:")," networkidentity test failing due to changed exception text (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/877eb12e63db914cdbd4f1211c58e77f211adc76"},"877eb12"),")")),(0,r.kt)("h2",{id:"12011-2022-03-23"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v120.1.0...v120.1.1"},"120.1.1")," (2022-03-23)"),(0,r.kt)("h3",{id:"bug-fixes-109"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkClient:")," checking if client is already active before connecting host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bc892115495d4bfde3c8395c66268b36e3e8f0ae"},"bc89211"),")")),(0,r.kt)("h1",{id:"12010-2022-03-22"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v120.0.0...v120.1.0"},"120.1.0")," (2022-03-22)"),(0,r.kt)("h3",{id:"features-71"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding SetCharacterName to character spawner (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1b051c76e793d5731dddec33f993b5fdc82816ed"},"1b051c7"),")")),(0,r.kt)("h1",{id:"12000-2022-03-20"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v119.1.4...v120.0.0"},"120.0.0")," (2022-03-20)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"refactor(SocketLayer)!: moving MaxPacketSize to SocketFactory (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/49c7f41bedf6ffd1a3655037a74d14884cf1b23e"},"49c7f41"),")")),(0,r.kt)("h3",{id:"breaking-changes-29"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"socket factories now have to override MaxPacketSize property")),(0,r.kt)("h2",{id:"11914-2022-03-17"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v119.1.3...v119.1.4"},"119.1.4")," (2022-03-17)"),(0,r.kt)("h3",{id:"bug-fixes-110"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Don't create a socket if not listening (should fix ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1054"},"#1054"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f33c6eb2525919a4304e39f1309552c75c788abf"},"f33c6eb"),")"),(0,r.kt)("li",{parentName:"ul"},"networkserver shouldn't create socket if we're not listening (addresses ticket ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1054"},"#1054"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5117f49cfc7c5750388f248db2ec1b6296510503"},"5117f49"),")")),(0,r.kt)("h2",{id:"11913-2022-03-02"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v119.1.2...v119.1.3"},"119.1.3")," (2022-03-02)"),(0,r.kt)("h3",{id:"bug-fixes-111"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing pong example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0b28fe47e746a5a2fc5e65e8565c83671ce8560a"},"0b28fe4"),")")),(0,r.kt)("h2",{id:"11912-2022-03-01"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v119.1.1...v119.1.2"},"119.1.2")," (2022-03-01)"),(0,r.kt)("h3",{id:"bug-fixes-112"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing udp socket for macOS (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1049"},"#1049"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/67baff1e072eca93629744c954c5edb3bf49f952"},"67baff1"),")")),(0,r.kt)("h2",{id:"11911-2022-02-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v119.1.0...v119.1.1"},"119.1.1")," (2022-02-19)"),(0,r.kt)("h3",{id:"bug-fixes-113"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing ArgumentOutOfRangeException when no NetworkIdentity on object (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d8e7830ef709a968cf27d35557b48235b4572d0c"},"d8e7830"),")")),(0,r.kt)("h1",{id:"11910-2022-02-17"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v119.0.1...v119.1.0"},"119.1.0")," (2022-02-17)"),(0,r.kt)("h3",{id:"features-72"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"support for generic network messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1040"},"#1040"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2d8990dc02dc945ec072fdccf40e63c1c5b8cd43"},"2d8990d"),")")),(0,r.kt)("h2",{id:"11901-2022-02-16"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v119.0.0...v119.0.1"},"119.0.1")," (2022-02-16)"),(0,r.kt)("h3",{id:"performance-improvements-9"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"moving replyId to its own message (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e8e18296d3b5efb7742b074dd56a9e9b0915bce1"},"e8e1829"),")")),(0,r.kt)("h1",{id:"11900-2022-02-16"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v118.0.0...v119.0.0"},"119.0.0")," (2022-02-16)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"feat!(SocketLayer): adding connection key based on mirage version (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ff5a308470d6d46b24dd731a7d7639d55795ec9b"},"ff5a308"),")")),(0,r.kt)("h3",{id:"breaking-changes-30"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mismatched server/client versions will no longer be able to connect to each other")),(0,r.kt)("h1",{id:"11800-2022-02-08"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v117.2.0...v118.0.0"},"118.0.0")," (2022-02-08)"),(0,r.kt)("h3",{id:"features-73"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"support for generic syncvar (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/057e177a101b69683969f7f8550a96fbaa49d47e"},"057e177"),")")),(0,r.kt)("h3",{id:"performance-improvements-10"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"using index for rpcs instead of hash (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/88c4cd3e678f805afb87dc4e889a812d07616c6d"},"88c4cd3"),")")),(0,r.kt)("h3",{id:"breaking-changes-31"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removed RemoteCallHelper and adding RemoteCallCollection instead NetworkBehaviour")),(0,r.kt)("h1",{id:"11720-2022-02-07"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v117.1.1...v117.2.0"},"117.2.0")," (2022-02-07)"),(0,r.kt)("h3",{id:"bug-fixes-114"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing generic syncvar hooks (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/90e9f248d44fb1aa0b212e33668b11720fceb73a"},"90e9f24"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Weaver:")," avoiding short instructions for methods with unknown length (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f605c46c5c2637e605d387d9d220fcc873e0388b"},"f605c46"),")")),(0,r.kt)("h3",{id:"features-74"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"RPC:")," adding support for generic syncvars (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b6984ca6a56390aedde023e8f361be82feadb51c"},"b6984ca"),")")),(0,r.kt)("h2",{id:"11711-2022-02-07"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v117.1.0...v117.1.1"},"117.1.1")," (2022-02-07)"),(0,r.kt)("h3",{id:"bug-fixes-115"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing rpc cast for generic types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/111fce6a0eb276bbe68c2dff0129b5289d2752a3"},"111fce6"),")"),(0,r.kt)("li",{parentName:"ul"},"rpcs for fixing IL2CPP (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e574a80cae66df440edc28ab46b6ac3bda87bd00"},"e574a80"),")")),(0,r.kt)("h1",{id:"11710-2022-02-06"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v117.0.0...v117.1.0"},"117.1.0")," (2022-02-06)"),(0,r.kt)("h3",{id:"bug-fixes-116"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"RPC:")," fixing call when type is generic (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/84e2dd66523da92cc98ef3bd559a3aac0de32e36"},"84e2dd6"),")")),(0,r.kt)("h3",{id:"features-75"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"making setter for NetworkReader.ObjectLocator public (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/50ab93246d89421498bc10f1c4043727d038b7ae"},"50ab932"),")")),(0,r.kt)("h1",{id:"11700-2022-02-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v116.2.0...v117.0.0"},"117.0.0")," (2022-02-02)"),(0,r.kt)("h3",{id:"bug-fixes-117"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"RPC:")," fixing rpc calls to base methods and overloads (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8bc165deb6432e881340f82c63a3a4d0a6039263"},"8bc165d"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"RPC:")," fixing ServerRpc that could be called without Authority (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/51411fb068d2a44330d85e740d4c36b3f74c3ce6"},"51411fb"),")")),(0,r.kt)("h3",{id:"code-refactoring-8"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"RPC:")," moving send rpc functions to their own classes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eaadd62266c9c0d9ce8a34afebfdae7130e68a7c"},"eaadd62"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"RPC:")," renaming methods for RemoteCallHelper (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/186f22866207e1af6bb1713479034db1fdbe136e"},"186f228"),")")),(0,r.kt)("h3",{id:"features-76"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"RPC:")," adding rpc overloads (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5ca30f1a05fbcb4fd880fd59d74386a19ab47d5c"},"5ca30f1"),")")),(0,r.kt)("h3",{id:"performance-improvements-11"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"RPC:")," generating hash at compile time not runtime (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4f814024293f7f0e0988003f622d43a52cf7b414"},"4f81402"),")")),(0,r.kt)("h3",{id:"breaking-changes-32"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"RPC:")," removed RemoteCallHelper.GetDelegate, use GetCall or TryGetCall instead"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"RPC:")," Send Rpc methods are now found in ServerRpcSender and ClientRpcSender and may have been renamed")),(0,r.kt)("h1",{id:"11620-2022-02-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v116.1.1...v116.2.0"},"116.2.0")," (2022-02-02)"),(0,r.kt)("h3",{id:"features-77"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"calling OnAuthorityChanged with false when an object is unspawned (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1034"},"#1034"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d8334e8902998981001040b0601fcee5a9e68955"},"d8334e8"),")")),(0,r.kt)("h2",{id:"11611-2022-02-01"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v116.1.0...v116.1.1"},"116.1.1")," (2022-02-01)"),(0,r.kt)("h3",{id:"bug-fixes-118"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing calling base methods for generic types in IL2CPP (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cf91e1d54796866d2cf87f8e919bb5c681977e45"},"cf91e1d"),")")),(0,r.kt)("h1",{id:"11610-2022-01-29"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v116.0.0...v116.1.0"},"116.1.0")," (2022-01-29)"),(0,r.kt)("h3",{id:"bug-fixes-119"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding missing MessageHandler to interfaces (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/370c5ab47bb58980c109f2814c933fd3ed26bfa9"},"370c5ab"),")")),(0,r.kt)("h3",{id:"features-78"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding notify send to NetworkPlayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ad699fcdc9f5d4fb7a83f02b88240e92bed8246e"},"ad699fc"),")")),(0,r.kt)("h1",{id:"11600-2022-01-23"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v115.0.0...v116.0.0"},"116.0.0")," (2022-01-23)"),(0,r.kt)("h3",{id:"bug-fixes-120"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkReader:")," fixing PadAndCopy function (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8e6c516e4608e8d661ac9e6c5f8577a6e87ff96e"},"8e6c516"),")")),(0,r.kt)("h3",{id:"breaking-changes-33"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkReader:")," NetworkReader.PadAndCopy no longer needs the byte size argument")),(0,r.kt)("h1",{id:"11500-2022-01-22"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v114.1.1...v115.0.0"},"115.0.0")," (2022-01-22)"),(0,r.kt)("h3",{id:"bug-fixes-121"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fix welcome window packages tab displaying actual modules (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1024"},"#1024"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/593028177a7f55e0d80bc94984f6c2634d010e18"},"5930281"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkSceneManager:")," fixing exception when scene is null (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a36684397923110b8336652978d20837a4a17345"},"a366843"),")")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"feat(NetworkSceneManager)!: return scene instead of strings from events (#1028) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/106e714bb5adcb6d35712d31fd682dd1a9dcd3d9"},"106e714"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1028"},"#1028")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1026"},"#1026"))),(0,r.kt)("h3",{id:"breaking-changes-34"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"Scene finished loading events now return scene")))),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"SceneChangeEvent class renamed to SceneChangeStartedEvent and SceneChangeFinishedEvent")),(0,r.kt)("h2",{id:"11411-2022-01-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v114.1.0...v114.1.1"},"114.1.1")," (2022-01-19)"),(0,r.kt)("h3",{id:"bug-fixes-122"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing array and generic write for NetworkBehaviours (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d2ee8acd16a494c6a39fb12977850c98c6e2d9e3"},"d2ee8ac"),")")),(0,r.kt)("h1",{id:"11410-2022-01-15"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v114.0.3...v114.1.0"},"114.1.0")," (2022-01-15)"),(0,r.kt)("h3",{id:"features-79"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"allow end user's to create there own net id generator (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1019"},"#1019"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d2e88343b939d12d15f9acae0c06b14386c6dd74"},"d2e8834"),")")),(0,r.kt)("h2",{id:"11403-2022-01-13"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v114.0.2...v114.0.3"},"114.0.3")," (2022-01-13)"),(0,r.kt)("h3",{id:"bug-fixes-123"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing calls to interface for target RPCs (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1021"},"#1021"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/780123d6bb5602632e029d1c5fdc4e73ed477f0c"},"780123d"),")")),(0,r.kt)("h2",{id:"11402-2022-01-03"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v114.0.1...v114.0.2"},"114.0.2")," (2022-01-03)"),(0,r.kt)("h3",{id:"bug-fixes-124"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing un-used using (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0e7bd82be0cae06d1d54eada68c452f5dcfe1342"},"0e7bd82"),")")),(0,r.kt)("h2",{id:"11401-2021-12-31"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v114.0.0...v114.0.1"},"114.0.1")," (2021-12-31)"),(0,r.kt)("h3",{id:"bug-fixes-125"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"WelcomeWindow:")," fixed parsing of change logs (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1017"},"#1017"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5da522d950113470573bbd406f622772d398336e"},"5da522d"),")")),(0,r.kt)("h1",{id:"11400-2021-12-31"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v113.3.4...v114.0.0"},"114.0.0")," (2021-12-31)"),(0,r.kt)("h3",{id:"bug-fixes-126"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkTime:")," renaming PingFrequency to PingInterval (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b729cdcf6afaa5ec544d9ef89f1a2040dfeaeaa4"},"b729cdc"),")")),(0,r.kt)("h3",{id:"code-refactoring-9"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"replacing MessagePacker.GetMessageType with property (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1016"},"#1016"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/106c47c93a62f2b1b47da14aadaa918fb2e45d17"},"106c47c"),")")),(0,r.kt)("h3",{id:"breaking-changes-35"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"MessagePacker.GetMessageType replaced with property"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkTime:")," NetworkTime PingFrequency remamed to PingInterval")),(0,r.kt)("h2",{id:"11334-2021-12-31"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v113.3.3...v113.3.4"},"113.3.4")," (2021-12-31)"),(0,r.kt)("h3",{id:"bug-fixes-127"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"LogFactory:")," fixing clear and find all buttons in log factory (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6f7e5d538f8da2e635796632c1a8d946cfa22e61"},"6f7e5d5"),")")),(0,r.kt)("h2",{id:"11333-2021-12-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v113.3.2...v113.3.3"},"113.3.3")," (2021-12-29)"),(0,r.kt)("h3",{id:"bug-fixes-128"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Logging:")," fixing full name not being loaded (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/caece7e3fcac6a7569f84970cee6ea9b4dd5a29a"},"caece7e"),")")),(0,r.kt)("h2",{id:"11332-2021-12-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v113.3.1...v113.3.2"},"113.3.2")," (2021-12-29)"),(0,r.kt)("h3",{id:"bug-fixes-129"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding try/catch for nanosocket (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1010"},"#1010"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/88badd61fc0f1f8c377b2299cb647f6e70a1ef7b"},"88badd6"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing log settings that have no namespace (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1014"},"#1014"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ead317f7ea35c3faaa538326145ed56bd0a3f438"},"ead317f"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkBehavior:")," removing NB that belong to another NI from list (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/970"},"#970"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4738d2938e3881481612465cff27680189c6442b"},"4738d29"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkWorld:")," fixing add identity when object is destroyed client side (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b5a765e7010da2f9daf47c12b81a6616d32c0250"},"b5a765e"),")"),(0,r.kt)("li",{parentName:"ul"},"Setting client not ready to stop character spawning before scene change (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1009"},"#1009"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fcbe10d3383b28da88b167da004c69578c165d72"},"fcbe10d"),")")),(0,r.kt)("h2",{id:"11331-2021-12-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v113.3.0...v113.3.1"},"113.3.1")," (2021-12-29)"),(0,r.kt)("h3",{id:"bug-fixes-130"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"making sure server/client stops if gameobject is destroyed (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9cdc27d8d5e0f5a9231cdfe21725ae1378c3e067"},"9cdc27d"),")")),(0,r.kt)("h1",{id:"11330-2021-12-22"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v113.2.0...v113.3.0"},"113.3.0")," (2021-12-22)"),(0,r.kt)("h3",{id:"bug-fixes-131"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkBehaviour:")," can now found NetworkIdentity in parent when gameobject is disabled (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1006"},"#1006"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d54537a8c0a136130d4f8cf91a4e779bdb992221"},"d54537a"),")")),(0,r.kt)("h3",{id:"features-80"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"SyncVar:")," option to invoke hooks on server too (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1012"},"#1012"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8c12c280467c8f68e9e96344bf6143db9b032a9f"},"8c12c28"),")")),(0,r.kt)("h1",{id:"11320-2021-12-20"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v113.1.3...v113.2.0"},"113.2.0")," (2021-12-20)"),(0,r.kt)("h3",{id:"bug-fixes-132"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Serialization:")," fixing ReadArray when reading items that are bitpacked (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6dfbf846c5456b7a80f4d5c8d3977426e4bff4c5"},"6dfbf84"),")")),(0,r.kt)("h3",{id:"features-81"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Serialization:")," adding CanReadBits function to network reader (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3aae955c8e30b87e9b005323febc9f1831c45bb7"},"3aae955"),")")),(0,r.kt)("h2",{id:"11313-2021-12-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v113.1.2...v113.1.3"},"113.1.3")," (2021-12-20)"),(0,r.kt)("h3",{id:"bug-fixes-133"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fix a typo with NetworkServer disconnection logs, improve comments, fix formatting (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1005"},"#1005"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/adcf3f659c70c2fe8d425546d6018915370db736"},"adcf3f6"),")")),(0,r.kt)("h2",{id:"11312-2021-12-08"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v113.1.1...v113.1.2"},"113.1.2")," (2021-12-08)"),(0,r.kt)("h3",{id:"bug-fixes-134"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing error message in message handler (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b38a24c8bd0d0c31245742b038e837f5d70bf979"},"b38a24c"),")")),(0,r.kt)("h2",{id:"11311-2021-12-07"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v113.1.0...v113.1.1"},"113.1.1")," (2021-12-07)"),(0,r.kt)("h3",{id:"bug-fixes-135"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding meta files (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cca1ae2ebd94eab366e4dadb080199b5fc872b56"},"cca1ae2"),")")),(0,r.kt)("h1",{id:"11310-2021-12-07"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v113.0.4...v113.1.0"},"113.1.0")," (2021-12-07)"),(0,r.kt)("h3",{id:"features-82"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding packers for variable length floats (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4c38c095461fc4fa1b823563cdb8075abe45dfe3"},"4c38c09"),")")),(0,r.kt)("h2",{id:"11304-2021-12-04"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v113.0.3...v113.0.4"},"113.0.4")," (2021-12-04)"),(0,r.kt)("h3",{id:"performance-improvements-12"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"limit when pool logs when creating over max (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1001"},"#1001"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ef5c426e1adf1d6ab8b4524d341a256fbae024ad"},"ef5c426"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/998"},"#998"))),(0,r.kt)("h2",{id:"11303-2021-12-04"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v113.0.2...v113.0.3"},"113.0.3")," (2021-12-04)"),(0,r.kt)("h3",{id:"bug-fixes-136"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing rpc return values for unity 2021.2 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1000"},"#1000"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a6ee5e8d618398b171c4698878a2ced8140621aa"},"a6ee5e8"),")")),(0,r.kt)("h2",{id:"11302-2021-12-04"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v113.0.1...v113.0.2"},"113.0.2")," (2021-12-04)"),(0,r.kt)("h3",{id:"bug-fixes-137"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing Return rpc for values that require ObjectLocator (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/11b2fb3473b74b7b46447c0e449fa9b5dbf3bc1d"},"11b2fb3"),")")),(0,r.kt)("h2",{id:"11301-2021-12-04"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v113.0.0...v113.0.1"},"113.0.1")," (2021-12-04)"),(0,r.kt)("h3",{id:"bug-fixes-138"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing ReadNetworkBehaviour when NI is not found (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cb20ad9a62fb22e158d2a97ff8c883bee2123b93"},"cb20ad9"),")")),(0,r.kt)("h1",{id:"11300-2021-11-29"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v112.0.2...v113.0.0"},"113.0.0")," (2021-11-29)"),(0,r.kt)("h3",{id:"bug-fixes-139"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"making NetworkServer.players a readonly collection (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f1b4512f00bde3be1e2da6c222e037939e442f8f"},"f1b4512"),")")),(0,r.kt)("h3",{id:"features-83"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding interfaces for SocketFactory to use so it is easier to get/set address and port (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/996"},"#996"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e969e6dc4c85337e2deaa40202d557da6ac51f69"},"e969e6d"),")"),(0,r.kt)("li",{parentName:"ul"},"allowing events to be used with syncvar hook (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/991"},"#991"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f455a2d8991cb88c8ea69764c5926e3626a590b6"},"f455a2d"),")")),(0,r.kt)("h3",{id:"performance-improvements-13"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"splitting peer update into 2 functions (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/993"},"#993"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0d6d34bd4d03800dc9edfc0adda1cd2d4b483d44"},"0d6d34b"),")")),(0,r.kt)("h3",{id:"breaking-changes-36"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkServer.Players is now a IReadOnlyCollection","<","INetworkPlayer",">")),(0,r.kt)("h2",{id:"11202-2021-11-22"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v112.0.1...v112.0.2"},"112.0.2")," (2021-11-22)"),(0,r.kt)("h3",{id:"bug-fixes-140"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkReader:")," fixing reset putting reader back into pool (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/52253b6e5e9de8131e37849b82da9e712707e86e"},"52253b6"),")")),(0,r.kt)("h2",{id:"11201-2021-11-07"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v112.0.0...v112.0.1"},"112.0.1")," (2021-11-07)"),(0,r.kt)("h3",{id:"bug-fixes-141"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"wrapping NetworkIdentityIdGenerator in #if editor (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f058f7f1a2177185742b36e034064d19bf66ea17"},"f058f7f"),")")),(0,r.kt)("h1",{id:"11200-2021-11-07"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v111.1.1...v112.0.0"},"112.0.0")," (2021-11-07)"),(0,r.kt)("h3",{id:"bug-fixes-142"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding a check to make sure asset id isn't created from empty string (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/26a5bbc8269c6c4ff67a07bd9d62c95a8270cae5"},"26a5bbc"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing defines for Unity2021.2 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/977"},"#977"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/15ffa5bbb1343addd1294318f2489bc7797e3255"},"15ffa5b"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing id generation for negative numbers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f5e1b9a72b37bf5ebbd43de85d4efd8567a2866d"},"f5e1b9a"),")"),(0,r.kt)("li",{parentName:"ul"},"renameing identity.Reset so it doesn't override unity's reset function (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bc5da6a766c53e477421795030dd3a84d40777ff"},"bc5da6a"),")"),(0,r.kt)("li",{parentName:"ul"},"using hex for logging prefabhash and sceneid (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f0c335f8ffb5a028e4ee38c3687f1c0f508f0969"},"f0c335f"),")")),(0,r.kt)("h3",{id:"code-refactoring-10"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkIdentity:")," moving id generation to its own file (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/51795ce2e48c1b19be044ac069b2846b26ae8094"},"51795ce"),")")),(0,r.kt)("h3",{id:"features-84"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkIdentity:")," adding helper methods for Id (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0ddfdb835e9f6c8c06652d6a7533da36ca925876"},"0ddfdb8"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"ServerObjectManager:")," adding AddCharacter method that takes Identity and hash (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/629036a000f9a2df1356a9f12b7eff8c315cfc42"},"629036a"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"ServerObjectManager:")," adding ReplaceCharacter method that takes Identity and hash (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4320c054ea07d0a9de332efed7aeaae9cd3ff5ed"},"4320c05"),")")),(0,r.kt)("h3",{id:"performance-improvements-14"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"making transform values option to send with spawn message (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/972"},"#972"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/22e7dcd8cd2cec20f2ec6f34a48312014726d4cf"},"22e7dcd"),")"),(0,r.kt)("li",{parentName:"ul"},"no longer sending PrefabHash if the object is a scene id (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/46e29a66c01e819feb9007a799e1f2cafa6a4f98"},"46e29a6"),")")),(0,r.kt)("h3",{id:"breaking-changes-37"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Scene objects based on a prefab will no longer have their PrefabHash set on spawn on the client"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkIdentity:")," Scene Id generation is no longer public")),(0,r.kt)("h2",{id:"11111-2021-11-06"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v111.1.0...v111.1.1"},"111.1.1")," (2021-11-06)"),(0,r.kt)("h3",{id:"bug-fixes-143"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"weaver error on guard attributes put on awake (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/986"},"#986"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2f893724d9b8cb04063a3c296ce54c81eee75cbf"},"2f89372"),")")),(0,r.kt)("h1",{id:"11110-2021-11-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v111.0.0...v111.1.0"},"111.1.0")," (2021-11-02)"),(0,r.kt)("h3",{id:"features-85"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkVisibility:")," adding new visibility scripts for checking scenes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/958"},"#958"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/67256253934b34fec84fd644a11c34a982980ea8"},"6725625"),")")),(0,r.kt)("h1",{id:"11100-2021-11-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v110.0.0...v111.0.0"},"111.0.0")," (2021-11-01)"),(0,r.kt)("h3",{id:"code-refactoring-11"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkIdentity:")," removing clientAuthorityCallback (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/971"},"#971"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8adf83db2cba4c12c75ca39ea1e5d0059cc71bff"},"8adf83d"),")")),(0,r.kt)("h3",{id:"breaking-changes-38"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkIdentity:")," NetworkIdentity.clientAuthorityCallback removed")),(0,r.kt)("h1",{id:"11000-2021-11-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v109.0.3...v110.0.0"},"110.0.0")," (2021-11-01)"),(0,r.kt)("h3",{id:"bug-fixes-144"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding method to remove character without destroying the object (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/19cad00a00bd85536d36ec826d1e849c31c7bb58"},"19cad00"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/883"},"#883")),(0,r.kt)("li",{parentName:"ul"},"fixing remove authority for host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/528f66bf1af6c2fb339532f0ac80ad6be12c1f32"},"528f66b"),")")),(0,r.kt)("h3",{id:"breaking-changes-39"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"RemovePlayerForConnection removed, use RemoveCharacter or DestroyCharacter instead. Note for RemoveCharacter destroyServerObject now defaults to true")),(0,r.kt)("h2",{id:"10903-2021-10-31"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v109.0.2...v109.0.3"},"109.0.3")," (2021-10-31)"),(0,r.kt)("h3",{id:"bug-fixes-145"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing spawn prefab when handler is null (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eb0fd1c6956032692cea171b8829b9dc5428c2f5"},"eb0fd1c"),")")),(0,r.kt)("h2",{id:"10902-2021-10-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v109.0.1...v109.0.2"},"109.0.2")," (2021-10-29)"),(0,r.kt)("h3",{id:"bug-fixes-146"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkIdentity:")," not sending whole spawn message when removing authority (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/976"},"#976"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/127bcbfa29432c92e3a50fb53791a4f6ff817b7d"},"127bcbf"),")")),(0,r.kt)("h2",{id:"10901-2021-10-27"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v109.0.0...v109.0.1"},"109.0.1")," (2021-10-27)"),(0,r.kt)("h3",{id:"bug-fixes-147"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing using for editor (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/27c9522bdedf9083b73248e11f06611835dc2c28"},"27c9522"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing validate for new prefab id (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f66c3b653b91a759f2687329791fe1e251e44a41"},"f66c3b6"),")")),(0,r.kt)("h1",{id:"10900-2021-10-23"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v108.0.1...v109.0.0"},"109.0.0")," (2021-10-23)"),(0,r.kt)("h3",{id:"performance-improvements-15"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"replacing assetid with prefab hash (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b14c692ae71bb16955b6d58e1f27024c14d10401"},"b14c692"),")")),(0,r.kt)("h3",{id:"breaking-changes-40"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"prefab Id is now an int instead of a guid")),(0,r.kt)("h2",{id:"10801-2021-10-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v108.0.0...v108.0.1"},"108.0.1")," (2021-10-21)"),(0,r.kt)("h3",{id:"bug-fixes-148"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkSceneChecker:")," fixing awake for networkscenechecker (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb4321eea0b86fb5ed3f979ff10e36533d24c88e"},"fb4321e"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/754"},"#754"))),(0,r.kt)("h1",{id:"10800-2021-10-21"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v107.1.3...v108.0.0"},"108.0.0")," (2021-10-21)"),(0,r.kt)("h3",{id:"bug-fixes-149"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"LogSettings:")," allowing multi object editing (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5c83dc6e6a8dfa975bbf1c24cae057b4ed5a5057"},"5c83dc6"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"LogSettings:")," improving warning when log settings has no reference (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c2ed26f02e764ac41a9a3a58fb282dce1e7973a7"},"c2ed26f"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"LogSettings:")," removing log settings component from samples (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a72d777d2e368da0bb68d0a487c49988db421f5b"},"a72d777"),")"),(0,r.kt)("li",{parentName:"ul"},"removing redundant property (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f8bda6e2b62fc6c676a579a31b1d535043244e44"},"f8bda6e"),")")),(0,r.kt)("h3",{id:"code-refactoring-12"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkIdentity:")," removing NetworkIdentity.GetSceneIdentity (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/34699aee1f3427cca691c69f74ba73a32a1695a7"},"34699ae"),")")),(0,r.kt)("h3",{id:"breaking-changes-41"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkIdentity:")," ",(0,r.kt)("inlineCode",{parentName:"li"},"NetworkIdentity.GetSceneIdentity")," has been removed")),(0,r.kt)("h2",{id:"10713-2021-10-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v107.1.2...v107.1.3"},"107.1.3")," (2021-10-20)"),(0,r.kt)("h3",{id:"bug-fixes-150"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"LogSettings:")," making labels clickable (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7f65a8a03f57024663ce8eaa4f34e5fa62a7f076"},"7f65a8a"),")")),(0,r.kt)("h2",{id:"10712-2021-10-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v107.1.1...v107.1.2"},"107.1.2")," (2021-10-19)"),(0,r.kt)("h3",{id:"bug-fixes-151"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"LogSettings:")," making reset exit if settings is already set (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a227593f158502e7fa2e9684343445be626bee21"},"a227593"),")")),(0,r.kt)("h2",{id:"10711-2021-10-12"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v107.1.0...v107.1.1"},"107.1.1")," (2021-10-12)"),(0,r.kt)("h3",{id:"bug-fixes-152"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkBehaviour:")," fixing find identity if parent gameobject is disabled (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/04700f9bb664dae6ac306b236464e5427ff7d09e"},"04700f9"),")")),(0,r.kt)("h1",{id:"10710-2021-10-10"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v107.0.1...v107.1.0"},"107.1.0")," (2021-10-10)"),(0,r.kt)("h3",{id:"bug-fixes-153"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"this fixes issues with multi scene loading on server and client (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/965"},"#965"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e725a417be530a3b617305d59a563339fe9fb93f"},"e725a41"),")")),(0,r.kt)("h3",{id:"features-86"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"added a method to do physic scene loads on server and tell clients about it (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f215cefaf594c5b0bac4223dfe837623bd480b4b"},"f215cef"),")")),(0,r.kt)("h2",{id:"10701-2021-10-09"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v107.0.0...v107.0.1"},"107.0.1")," (2021-10-09)"),(0,r.kt)("h3",{id:"bug-fixes-154"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"ServerRpc:")," fixing sender for server rpc in host mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/961"},"#961"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/41b6b79156cce14382e7c700aba1c1381c4eb136"},"41b6b79"),")")),(0,r.kt)("h1",{id:"10700-2021-10-08"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v106.2.4...v107.0.0"},"107.0.0")," (2021-10-08)"),(0,r.kt)("h3",{id:"performance-improvements-16"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"BitPacking:")," using quaternion compression by default (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/957"},"#957"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e9fedf10e57ba0b043ef62c4fa9be06c80de9c72"},"e9fedf1"),")")),(0,r.kt)("h3",{id:"breaking-changes-42"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"BitPacking:")," Pack extension methods renamed to WriteQuaternion and ReadQuaternion")),(0,r.kt)("h2",{id:"10624-2021-10-06"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v106.2.3...v106.2.4"},"106.2.4")," (2021-10-06)"),(0,r.kt)("h3",{id:"bug-fixes-155"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"CharacterSpawner:")," respawning character if one exists (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/203e487e686ba499e4a03c66586676d871146bfb"},"203e487"),")")),(0,r.kt)("h2",{id:"10623-2021-10-06"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v106.2.2...v106.2.3"},"106.2.3")," (2021-10-06)"),(0,r.kt)("h3",{id:"bug-fixes-156"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkServer:")," making listening disable server peer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/959"},"#959"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/528698b10ced354aeb155c6a09b30ba1228f535a"},"528698b"),")")),(0,r.kt)("h2",{id:"10622-2021-10-05"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v106.2.1...v106.2.2"},"106.2.2")," (2021-10-05)"),(0,r.kt)("h3",{id:"performance-improvements-17"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkSceneManager:")," using hashset contains to check for player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e3df3b5403b135491e2879f5f5f8bd29cb02d3d2"},"e3df3b5"),")")),(0,r.kt)("h2",{id:"10621-2021-10-02"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v106.2.0...v106.2.1"},"106.2.1")," (2021-10-02)"),(0,r.kt)("h3",{id:"bug-fixes-157"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"LogGUI:")," fixing exception in find all loggers for generic types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/11755e7bf61d08908b7dcf95d65a45fd9b228696"},"11755e7"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"LogGUI:")," fixing exception in find all loggers for generic types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/622196562696902e75abe23795d07ea5dc8a74ba"},"6221965"),")")),(0,r.kt)("h1",{id:"10620-2021-10-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v106.1.0...v106.2.0"},"106.2.0")," (2021-10-01)"),(0,r.kt)("h3",{id:"bug-fixes-158"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"BitPacking:")," setting default QuaternionPack to 9 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bcc44a7cc43f2a2787c02c757141d183c7af9b78"},"bcc44a7"),")")),(0,r.kt)("h3",{id:"features-87"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Metrics:")," allowing background to be updated at runtime (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1974a7618cd4de1a973d67bf70fcf1e0c0188dfb"},"1974a76"),")")),(0,r.kt)("h1",{id:"10610-2021-10-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v106.0.0...v106.1.0"},"106.1.0")," (2021-10-01)"),(0,r.kt)("h3",{id:"features-88"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding sequence size of metrics to inspector (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c7a21dd9976b0263f790c3c537398c89dc6057c7"},"c7a21dd"),")")),(0,r.kt)("h1",{id:"10600-2021-10-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v105.1.3...v106.0.0"},"106.0.0")," (2021-10-01)"),(0,r.kt)("h3",{id:"bug-fixes-159"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing use of network identity in network message (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/955"},"#955"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bc1b82a339ba1d67620c07d060a5588100d50d96"},"bc1b82a"),")")),(0,r.kt)("h3",{id:"features-89"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"better log settings (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/951"},"#951"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/639525107cb3e780f46d882a83538a526a97f76c"},"6395251"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Peer:")," updating peer metrics to have more data (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/940"},"#940"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/512d916d33d338a9e02017e65f02eb7e53e98dd1"},"512d916"),")")),(0,r.kt)("h3",{id:"breaking-changes-43"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"log settings are now saved to a SO file instead of EditorPrefs")),(0,r.kt)("h2",{id:"10513-2021-10-01"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v105.1.2...v105.1.3"},"105.1.3")," (2021-10-01)"),(0,r.kt)("h3",{id:"bug-fixes-160"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing errror meessage for server client attributes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/953"},"#953"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/53cf60b234e71ccda00df7a37bf75ee2b8bc833a"},"53cf60b"),")")),(0,r.kt)("h2",{id:"10512-2021-09-30"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v105.1.1...v105.1.2"},"105.1.2")," (2021-09-30)"),(0,r.kt)("h3",{id:"bug-fixes-161"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"ServerRpc:")," fixing error message when client is not set (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f9c8033b1ad4e137d439336bd515d3ae96df1cdc"},"f9c8033"),")")),(0,r.kt)("h2",{id:"10511-2021-09-25"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v105.1.0...v105.1.1"},"105.1.1")," (2021-09-25)"),(0,r.kt)("h3",{id:"bug-fixes-162"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Character spawner was registering the player prefab in awake and during scene loads this wont ever register again. Need to change it on scene changes. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d6cdc864616878ebed2f11fe2054aa2b49819626"},"d6cdc86"),")"),(0,r.kt)("li",{parentName:"ul"},"updates to SpawnObject.md and SpawnObjects.PNG files. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/02e07fab67f344bf6d7a3e0c67a7c0ea21c5eff1"},"02e07fa"),")")),(0,r.kt)("h1",{id:"10510-2021-09-23"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v105.0.1...v105.1.0"},"105.1.0")," (2021-09-23)"),(0,r.kt)("h3",{id:"bug-fixes-163"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing order that extension methods are found (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/917"},"#917"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/aa8fe87d94a8b20ec9de882c731eb54f314e4b84"},"aa8fe87"),")")),(0,r.kt)("h3",{id:"features-90"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Peer:")," adding send buffer limit (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/939"},"#939"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b4666cbd890d2c1cde45dc5950a215394adf773b"},"b4666cb"),")")),(0,r.kt)("h2",{id:"10501-2021-09-22"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v105.0.0...v105.0.1"},"105.0.1")," (2021-09-22)"),(0,r.kt)("h3",{id:"bug-fixes-164"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing assert when loading scene using its name (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/72ac3a64508b73cc168ecdd7192724841a362249"},"72ac3a6"),")"),(0,r.kt)("li",{parentName:"ul"},"logging error if no handler is registered (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/54c8520f9665362f47608038f8e383aa47a69049"},"54c8520"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkSceneManager:")," registering ready and not ready message for host client (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6a97ae95a29267907c6435c2e28e33aed41a0d3d"},"6a97ae9"),")")),(0,r.kt)("h3",{id:"reverts-1"},"Reverts"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},'"fix: logging error if no handler is registered" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/aca8c5a79bd870d68ad0e979120b11b5999d6c93"},"aca8c5a"),")")),(0,r.kt)("h1",{id:"10500-2021-09-22"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v104.3.0...v105.0.0"},"105.0.0")," (2021-09-22)"),(0,r.kt)("h3",{id:"bug-fixes-165"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding client active check in network ping display (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1d43243ba72e1b4ca96e8bd9b3f55fc9f0980b9d"},"1d43243"),")")),(0,r.kt)("h3",{id:"code-refactoring-13"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"move network time to world (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6b10ba2098ee4fd4e924c64ae96f513eaad8cf87"},"6b10ba2"),")")),(0,r.kt)("h3",{id:"breaking-changes-44"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkTime move from NetworkServer/NetworkClient to NetworkWorld")),(0,r.kt)("h1",{id:"10430-2021-09-22"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v104.2.0...v104.3.0"},"104.3.0")," (2021-09-22)"),(0,r.kt)("h3",{id:"features-91"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Syncvar:")," adding InitialOnly to syncvar (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/941"},"#941"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/abf463709c8115dc3e039b288661d9ca2c18b7c7"},"abf4637"),")")),(0,r.kt)("h1",{id:"10420-2021-09-20"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v104.1.0...v104.2.0"},"104.2.0")," (2021-09-20)"),(0,r.kt)("h3",{id:"bug-fixes-166"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Peer:")," throwing if sequence size is too big (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6c7c5ad0a5837f9b4e147dcb06b410297214bf84"},"6c7c5ad"),")")),(0,r.kt)("h3",{id:"features-92"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Weaver:")," adding constant values for max value for number of bits (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/934"},"#934"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2f7c322e1c76404fc172ed78c7d95de27b81fcc3"},"2f7c322"),")")),(0,r.kt)("h3",{id:"performance-improvements-18"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Peer:")," updating header size for ipv6 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a8798f08a6c9947c84c4b26fc97a4d752bd9de88"},"a8798f0"),")")),(0,r.kt)("h1",{id:"10410-2021-09-20"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v104.0.4...v104.1.0"},"104.1.0")," (2021-09-20)"),(0,r.kt)("h3",{id:"features-93"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Weaver:")," allowing bit packing attributes to work on structs and rpcs (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/933"},"#933"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dca6b54b704f70e71aec9e0bb17a4d8eaa18ba22"},"dca6b54"),")")),(0,r.kt)("h2",{id:"10404-2021-09-16"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v104.0.3...v104.0.4"},"104.0.4")," (2021-09-16)"),(0,r.kt)("h3",{id:"performance-improvements-19"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Weaver:")," passing in format string (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6c40fd6a3e1c813ee3e3881fc7cd9551360cea87"},"6c40fd6"),")")),(0,r.kt)("h2",{id:"10403-2021-09-14"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v104.0.2...v104.0.3"},"104.0.3")," (2021-09-14)"),(0,r.kt)("h3",{id:"performance-improvements-20"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Weaver:")," increasing performance of PostProcessorReflectionImporter (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/931"},"#931"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/13e6d1fdc7f0c47900e5bfb2a7830cde7ed1b56c"},"13e6d1f"),")")),(0,r.kt)("h2",{id:"10402-2021-09-13"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v104.0.1...v104.0.2"},"104.0.2")," (2021-09-13)"),(0,r.kt)("h3",{id:"performance-improvements-21"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Weaver:")," caching NetworkBehaviour properties (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/927"},"#927"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1f2c53b5e368acc688e51a6d5bba2df2ae92379f"},"1f2c53b"),")")),(0,r.kt)("h2",{id:"10401-2021-09-13"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v104.0.0...v104.0.1"},"104.0.1")," (2021-09-13)"),(0,r.kt)("h3",{id:"performance-improvements-22"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Weaver:")," optimizing find file in assembly resolver (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/925"},"#925"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/68d67497abbec0d69428b4b36b4aaba3576429ce"},"68d6749"),")")),(0,r.kt)("h1",{id:"10400-2021-09-08"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v103.1.1...v104.0.0"},"104.0.0")," (2021-09-08)"),(0,r.kt)("h3",{id:"bug-fixes-167"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing DestroyOwnedObjects when Identity is null (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4c12efe95f84cf55714ce155b3ecb934e0fd411a"},"4c12efe"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing ReplaceCharacter when identity has no character (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b685e1153d34c46e08420f7f298e345d61f73b0a"},"b685e11"),")")),(0,r.kt)("h3",{id:"code-refactoring-14"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"changing OnServerAuthenticated to protected (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b0da9559b7bd993f1a24a7ec9e0805147f0c8c0e"},"b0da955"),")"),(0,r.kt)("li",{parentName:"ul"},"moving ready methods to NetworkSceneManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5dade34fb8961b50124291e1761634b730e0907e"},"5dade34"),")"),(0,r.kt)("li",{parentName:"ul"},"networkplayer sceneis ready notw defaults to true (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/319e8d87049c78899dcfc8928e26f00f4a829ee5"},"319e8d8"),")"),(0,r.kt)("li",{parentName:"ul"},"renaming NotReadyMessage (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/77f7777f94c2428947866c76c994cb6ea3d48973"},"77f7777"),")"),(0,r.kt)("li",{parentName:"ul"},"renaming remove observers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/12ffce74221e6b18a508ae3bbd6cfaf558c5322d"},"12ffce7"),")"),(0,r.kt)("li",{parentName:"ul"},"renaming SceneObjectManager.SetClientReady (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3f8d2bc56f4d526ce0a04943a5c5a5e17b563c3d"},"3f8d2bc"),")"),(0,r.kt)("li",{parentName:"ul"},"replacing ReadyMessage with SceneReadyMessage (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/beb4ed9bb8a74ca5e50faead99c5c237e8ab4d31"},"beb4ed9"),")")),(0,r.kt)("h3",{id:"features-94"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding HasCharacter property to network player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/445081a54bf1784da7c243f19601c221fb859525"},"445081a"),")"),(0,r.kt)("li",{parentName:"ul"},"adding OnPlayerSceneReady event (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e59c93c46ccc39ca6863d6e9dfd4b03abe9e0d6a"},"e59c93c"),")"),(0,r.kt)("li",{parentName:"ul"},"adding option to ignore character check for spawning objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9234eb4957c83b2eda050d577d9f1d9365ea8878"},"9234eb4"),")")),(0,r.kt)("h3",{id:"breaking-changes-45"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkServerManager.OnServerAuthenticated is now protected instead of public"),(0,r.kt)("li",{parentName:"ul"},"NetworkPlayer.SceneIsReady now default to true"),(0,r.kt)("li",{parentName:"ul"},"moving SetAllClientsNotReady and SetClientNotReady from ServerObjectManager to NetworkSceneManager"),(0,r.kt)("li",{parentName:"ul"},"Renaming SceneObjectManager.SetClientReady to SpawnVisibleObjects"),(0,r.kt)("li",{parentName:"ul"},"Removing ReadyMessage, Use SceneReadyMessage instead"),(0,r.kt)("li",{parentName:"ul"},"Renaming NotReadyMessage to SceneNotReadyMessage"),(0,r.kt)("li",{parentName:"ul"},"NetworkPlayer.RemoveObservers renamed to RemoveAllVisibleObjects")),(0,r.kt)("h2",{id:"10311-2021-09-08"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v103.1.0...v103.1.1"},"103.1.1")," (2021-09-08)"),(0,r.kt)("h3",{id:"bug-fixes-168"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"allow to set specific number of logs to be used from changelog. Need to change it atm through code. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d8d28f973a4c0b7a76879b6fdeb74794b9594b80"},"d8d28f9"),")"),(0,r.kt)("li",{parentName:"ul"},"did not realize there was changes not pushed to the branch got from master now and fixed it all up again. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/988641f040f88fd33bf18c878f368c1165d41521"},"988641f"),")"),(0,r.kt)("li",{parentName:"ul"},"paths for welcome window changelog. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a1ec86db6c13ca02cc90e9764faa78c03d69297c"},"a1ec86d"),")"),(0,r.kt)("li",{parentName:"ul"},"proper fix using current welcome window script path to get changelog path. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/686845314fb3def8a613c2d8071bee39deb807de"},"6868453"),")"),(0,r.kt)("li",{parentName:"ul"},"this fixes styling and error on 2019+ editors. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3b58a7bef15bc4943aab65257feeb8bf85b9ace6"},"3b58a7b"),")"),(0,r.kt)("li",{parentName:"ul"},"Welcome window now searches for existing file of the changelog to know which mirage install was done. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ab96915366704577d4aecbb39b1fd7af96ce5cf9"},"ab96915"),")")),(0,r.kt)("h1",{id:"10310-2021-09-08"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v103.0.1...v103.1.0"},"103.1.0")," (2021-09-08)"),(0,r.kt)("h3",{id:"features-95"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"attributes to use new var int bit packers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/895"},"#895"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1da5c426503cfb90a94fd41bb8c6a6b2f02e7a3f"},"1da5c42"),")")),(0,r.kt)("h2",{id:"10301-2021-09-06"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v103.0.0...v103.0.1"},"103.0.1")," (2021-09-06)"),(0,r.kt)("h3",{id:"bug-fixes-169"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing syncvar hook not being called in host mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/918"},"#918"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7accba707127ba57bf3c2d3f3382b0decfa466b8"},"7accba7"),")")),(0,r.kt)("h1",{id:"10300-2021-09-05"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v102.0.0...v103.0.0"},"103.0.0")," (2021-09-05)"),(0,r.kt)("h3",{id:"code-refactoring-15"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetIdentity to Identity (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dc005327928e57618d503d893390a43450d086d0"},"dc00532"),")"),(0,r.kt)("li",{parentName:"ul"},"renaming Client enum to RpcTarget (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bc32d0682c8673af8b4d6fc0327c2fdacd952e94"},"bc32d06"),")"),(0,r.kt)("li",{parentName:"ul"},"renaming ConnectionToClient to Owner (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5493eae810a596ffeb4b2c021ecb163e59753644"},"5493eae"),")")),(0,r.kt)("h3",{id:"breaking-changes-46"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetIdentity renamed to Identity"),(0,r.kt)("li",{parentName:"ul"},"ConnectionToClient renamed to Owner"),(0,r.kt)("li",{parentName:"ul"},"enum used in ClientRpc has been renamed to RpcTarget")),(0,r.kt)("h1",{id:"10200-2021-09-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v101.10.0...v102.0.0"},"102.0.0")," (2021-09-02)"),(0,r.kt)("h3",{id:"features-96"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new improved scene manager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/892"},"#892"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2a9bdec6887bc67e7f53bb46f13592607b5c72b8"},"2a9bdec"),")")),(0,r.kt)("h3",{id:"breaking-changes-47"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkSceneManager has been re-written, many events and methods now have new names.")),(0,r.kt)("h1",{id:"101100-2021-08-31"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v101.9.2...v101.10.0"},"101.10.0")," (2021-08-31)"),(0,r.kt)("h3",{id:"features-97"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"attributes to use new vector bit packers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/905"},"#905"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/149bf5adc44f60ad810c2233afceea32c5af2e2a"},"149bf5a"),")")),(0,r.kt)("h2",{id:"10192-2021-08-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v101.9.1...v101.9.2"},"101.9.2")," (2021-08-29)"),(0,r.kt)("h3",{id:"bug-fixes-170"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing namespace for display metrics (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9d3f0568943e531474f56852453233e173e3508f"},"9d3f056"),")")),(0,r.kt)("h2",{id:"10191-2021-08-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v101.9.0...v101.9.1"},"101.9.1")," (2021-08-29)"),(0,r.kt)("h3",{id:"bug-fixes-171"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"improving warning message for taking too many objects from pool (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2bc42c512432ece82bf1eabc53ccf65d27e54556"},"2bc42c5"),")")),(0,r.kt)("h1",{id:"10190-2021-08-26"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v101.8.0...v101.9.0"},"101.9.0")," (2021-08-26)"),(0,r.kt)("h3",{id:"bug-fixes-172"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NanoSocket:")," adding dispose and finalize (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/904"},"#904"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ca949ea15b900ee7d35d180b73e44103ed54d064"},"ca949ea"),")")),(0,r.kt)("h3",{id:"features-98"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"attributes to use new float bit packers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/896"},"#896"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/273d27ce03efee81f507def913ce9a906b1a38f2"},"273d27c"),")")),(0,r.kt)("h1",{id:"10180-2021-08-24"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v101.7.0...v101.8.0"},"101.8.0")," (2021-08-24)"),(0,r.kt)("h3",{id:"features-99"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"attributes to calculate bit count of a given range (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/902"},"#902"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1c22ea63217a3206cb0eb41174135e8fc0133138"},"1c22ea6"),")")),(0,r.kt)("h1",{id:"10170-2021-08-24"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v101.6.0...v101.7.0"},"101.7.0")," (2021-08-24)"),(0,r.kt)("h3",{id:"features-100"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"attributes to use zig zag encoding (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/897"},"#897"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ccef5fb0302ff97d897f17698e53967e014a9a95"},"ccef5fb"),")")),(0,r.kt)("h1",{id:"10160-2021-08-22"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v101.5.1...v101.6.0"},"101.6.0")," (2021-08-22)"),(0,r.kt)("h3",{id:"features-101"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"serialization:")," attribute to set bit size for ints base syncvars (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/882"},"#882"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1660ca690bee0ef58e398d36511233ebd9975188"},"1660ca6"),")")),(0,r.kt)("h2",{id:"10151-2021-08-22"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v101.5.0...v101.5.1"},"101.5.1")," (2021-08-22)"),(0,r.kt)("h3",{id:"performance-improvements-23"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding throw helper methods so that AggressiveInlining works (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/894"},"#894"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/de1216690a1823724fbb6c717d55a80e44784fa5"},"de12166"),")")),(0,r.kt)("h1",{id:"10150-2021-08-22"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v101.4.2...v101.5.0"},"101.5.0")," (2021-08-22)"),(0,r.kt)("h3",{id:"features-102"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkVisibility:")," adding default implementation for OnRebuildObservers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2bcf22f26c1e76f0ed28a066a8c8384f8396077a"},"2bcf22f"),")")),(0,r.kt)("h3",{id:"performance-improvements-24"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"sending reply id as nullable (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a7563890c49ca0958332f8fb9fedcca5111ed85f"},"a756389"),")")),(0,r.kt)("h2",{id:"10142-2021-08-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v101.4.1...v101.4.2"},"101.4.2")," (2021-08-21)"),(0,r.kt)("h3",{id:"bug-fixes-173"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing log message for checking observers for connected player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/99c31c8df337c363a2b4a0be9843dcf8fe24913c"},"99c31c8"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing mistake in log change (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b090fa2f619ec87de4bc1534343e977247de12f5"},"b090fa2"),")")),(0,r.kt)("h2",{id:"10141-2021-08-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v101.4.0...v101.4.1"},"101.4.1")," (2021-08-19)"),(0,r.kt)("h3",{id:"bug-fixes-174"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"weaver:")," fixing dirty bit for syncvar (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b4a837dde40da17ce7947b835da7e6b747d14e32"},"b4a837d"),")")),(0,r.kt)("h1",{id:"10140-2021-08-17"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v101.3.0...v101.4.0"},"101.4.0")," (2021-08-17)"),(0,r.kt)("h3",{id:"bug-fixes-175"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing pong example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5ccb42e2c9fdc94bc0e2edec7f669a075f89b604"},"5ccb42e"),")")),(0,r.kt)("h3",{id:"features-103"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding helper classes for packing uint values (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/878"},"#878"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3c24f67dc6140c9c711b26837ea5b9c8220c1cc1"},"3c24f67"),")")),(0,r.kt)("h1",{id:"10130-2021-08-16"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v101.2.0...v101.3.0"},"101.3.0")," (2021-08-16)"),(0,r.kt)("h3",{id:"bug-fixes-176"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"preparing client objects on connect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/876"},"#876"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9789c0b5851c8377e13f799f4a437197e801ecac"},"9789c0b"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"SocketLayer:")," moving endpoint copy outside of connection (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c19929f19b110406b85ac11b6c49a365f5d7da39"},"c19929f"),")")),(0,r.kt)("h3",{id:"features-104"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding helper classes for packing float, vector and quaternion (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/847"},"#847"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/410bcd6475e851dfd0a63944051f6522662f8e85"},"410bcd6"),")")),(0,r.kt)("h1",{id:"10120-2021-08-10"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v101.1.0...v101.2.0"},"101.2.0")," (2021-08-10)"),(0,r.kt)("h3",{id:"bug-fixes-177"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"only invoking unspawn even if item was removed from dictionary (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/259e8d0dc736bf262fd6bde552618bb37daba31e"},"259e8d0"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkReader:")," checking offset when moving bit position (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/641b2b005ea7fae6afaba98393344e067f530abf"},"641b2b0"),")")),(0,r.kt)("h3",{id:"features-105"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding destroy function that takes network identity (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e91f6d34189159cb8d632949d7fceb7071c950f2"},"e91f6d3"),")")),(0,r.kt)("h1",{id:"10110-2021-08-06"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v101.0.2...v101.1.0"},"101.1.0")," (2021-08-06)"),(0,r.kt)("h3",{id:"features-106"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"peer:")," adding scripts to display metrics from peer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/872"},"#872"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e7ac06f972e089f53adc4a90ab90ade1fb309f05"},"e7ac06f"),")"),(0,r.kt)("li",{parentName:"ul"},"adding way to call SendNotify without allocations and example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/875"},"#875"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/16b300002a28eff27bbc2d880993fd61271a4ab6"},"16b3000"),")")),(0,r.kt)("h2",{id:"10102-2021-08-01"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v101.0.1...v101.0.2"},"101.0.2")," (2021-08-01)"),(0,r.kt)("h3",{id:"bug-fixes-178"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing error message for disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0b603fe9e15fe2d333c869c8ff9cc51a4c27a823"},"0b603fe"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing resize buffer so that it uses byte capacity (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/927fe9574e6a28aac15e90bf4ecc8d3172d423b4"},"927fe95"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing resize buffer when new size is greater than double (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/972b6d2b811e8082504d9da26b1dd36f377c05eb"},"972b6d2"),")"),(0,r.kt)("li",{parentName:"ul"},"removing debug logs from resize buffer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5f3524cf92fcc975928288e31bd456b608ca67f1"},"5f3524c"),")")),(0,r.kt)("h2",{id:"10101-2021-07-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v101.0.0...v101.0.1"},"101.0.1")," (2021-07-29)"),(0,r.kt)("h3",{id:"bug-fixes-179"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"making weaver generate serialize functions for nested messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/873"},"#873"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a351222a3a7d2f75404bfebda049ea270f2f4e63"},"a351222"),")")),(0,r.kt)("h1",{id:"10100-2021-07-29"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v100.0.2...v101.0.0"},"101.0.0")," (2021-07-29)"),(0,r.kt)("h3",{id:"code-refactoring-16"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing old version of sequencer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0efe4babede7726a9dc10590b27194924e4ad7b5"},"0efe4ba"),")")),(0,r.kt)("h3",{id:"breaking-changes-48"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing old version of Sequencer, use version in socket layer instead")),(0,r.kt)("h2",{id:"10002-2021-07-25"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v100.0.1...v100.0.2"},"100.0.2")," (2021-07-25)"),(0,r.kt)("h3",{id:"performance-improvements-25"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing alloc from reliable sends (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/00945f3f310453f5e57e1b6495be125282d3b8c3"},"00945f3"),")"),(0,r.kt)("li",{parentName:"ul"},"removing allocations from SendToMany (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c57f64d7695e1bddefb39fa151ac21b5d2176f35"},"c57f64d"),")")),(0,r.kt)("h2",{id:"10001-2021-07-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v100.0.0...v100.0.1"},"100.0.1")," (2021-07-19)"),(0,r.kt)("h3",{id:"bug-fixes-180"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NanoSocket:")," adding Exception when nanosocket bind fails (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a3028ecb06084574cbbb0b10bbd33394d44d94d2"},"a3028ec"),")")),(0,r.kt)("h3",{id:"performance-improvements-26"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding native UDP socket (NanoSockets) for supported platforms (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/860"},"#860"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3f34863b65325a54d6a4542c7b767fedc1abf406"},"3f34863"),")"),(0,r.kt)("li",{parentName:"ul"},"removing allocations from assert (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5c216de5411f6ae9e8a7bb14e52323e214be2793"},"5c216de"),")")),(0,r.kt)("h1",{id:"10000-2021-07-15"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v99.1.0...v100.0.0"},"100.0.0")," (2021-07-15)"),(0,r.kt)("h3",{id:"code-refactoring-17"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"moving message handling out of networkplayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/818"},"#818"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b2e9d9693471097ac86fabd725bad8aa6b444983"},"b2e9d96"),")")),(0,r.kt)("h3",{id:"breaking-changes-49"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"RegisterHandler functions now exist on MessageHandler On Server and Client"),(0,r.kt)("li",{parentName:"ul"},"NetworkAuthenticator now use Setup methods that should be used to register messages")),(0,r.kt)("h1",{id:"9910-2021-07-15"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v99.0.2...v99.1.0"},"99.1.0")," (2021-07-15)"),(0,r.kt)("h3",{id:"features-107"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkWriter:")," adding method to move position and docs comments (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/861"},"#861"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/35cf3ecbffbb582bad3022b93b6d5c09ab266f48"},"35cf3ec"),")")),(0,r.kt)("h2",{id:"9902-2021-07-05"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v99.0.1...v99.0.2"},"99.0.2")," (2021-07-05)"),(0,r.kt)("h3",{id:"bug-fixes-181"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing syncvar reading when using bools (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/31aca8e95752628ed3ad0c6d8e415fcce296b817"},"31aca8e"),")")),(0,r.kt)("h2",{id:"9901-2021-07-03"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v99.0.0...v99.0.1"},"99.0.1")," (2021-07-03)"),(0,r.kt)("h3",{id:"bug-fixes-182"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding assembly version to editor asmdef (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5969236f7a0d6e57848e51cb084f824233e367a4"},"5969236"),")")),(0,r.kt)("h3",{id:"performance-improvements-27"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"WelcomeWindow:")," using string builder for change log (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4bc10d840890345f79c24082d283b06302f86b82"},"4bc10d8"),")")),(0,r.kt)("h1",{id:"9900-2021-07-03"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v98.0.1...v99.0.0"},"99.0.0")," (2021-07-03)"),(0,r.kt)("h3",{id:"performance-improvements-28"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"replacing network writer with a faster version that can do bit packing (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/805"},"#805"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3cffa662fee2b09fb54f549d42d820300c61ecda"},"3cffa66"),")")),(0,r.kt)("h3",{id:"breaking-changes-50"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkWriter and NetworkReader have been completely re-written to support bitpacking")),(0,r.kt)("h2",{id:"9801-2021-07-02"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v98.0.0...v98.0.1"},"98.0.1")," (2021-07-02)"),(0,r.kt)("h3",{id:"performance-improvements-29"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"replacing network writer with a faster version that can do bit packing (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/805"},"#805"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/773c58f75eb77be2a893398d1e27012ee9ba83e6"},"773c58f"),")")),(0,r.kt)("h1",{id:"9800-2021-07-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v97.1.2...v98.0.0"},"98.0.0")," (2021-07-02)"),(0,r.kt)("h3",{id:"performance-improvements-30"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"improving how socketlayer handles endpoints (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/856"},"#856"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/59ce7e097d46d7f2cb7eaa01736dde36066396c5"},"59ce7e0"),")")),(0,r.kt)("h3",{id:"breaking-changes-51"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Socket functions now use an interface instead of the EndPoint class, Socket Implementations should create a custom Endpoint class for their socket.")),(0,r.kt)("h2",{id:"9712-2021-07-01"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v97.1.1...v97.1.2"},"97.1.2")," (2021-07-01)"),(0,r.kt)("h3",{id:"performance-improvements-31"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"SocketLayer:")," adding IEquatable to struct (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f93578641956c17d84f32ab6356887f45974b07d"},"f935786"),")")),(0,r.kt)("h2",{id:"9711-2021-06-28"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v97.1.0...v97.1.1"},"97.1.1")," (2021-06-28)"),(0,r.kt)("h3",{id:"bug-fixes-183"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkManagerHud:")," adding null check before using server or client (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e4200e07b9c424eccda9e8bfb75a743af753ad78"},"e4200e0"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkManagerHud:")," returning to offline menu when server or client is stopped (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6b4c98889777cad31d27d8211f8858e4d81bde09"},"6b4c988"),")")),(0,r.kt)("h1",{id:"9710-2021-06-27"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v97.0.1...v97.1.0"},"97.1.0")," (2021-06-27)"),(0,r.kt)("h3",{id:"features-108"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"SocketLayer:")," adding fragmentation to reliable sending (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/851"},"#851"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4764294b18a6e20780fe05626bd001f8c63790f8"},"4764294"),")")),(0,r.kt)("h2",{id:"9701-2021-06-27"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v97.0.0...v97.0.1"},"97.0.1")," (2021-06-27)"),(0,r.kt)("h3",{id:"bug-fixes-184"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing first notify not being returned (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/854"},"#854"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/84b7d2e4cf938763772ebedbb5a55e2db0034ff4"},"84b7d2e"),")")),(0,r.kt)("h1",{id:"9700-2021-06-27"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v96.5.2...v97.0.0"},"97.0.0")," (2021-06-27)"),(0,r.kt)("h3",{id:"code-refactoring-18"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"simplifying packet size in config (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/852"},"#852"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6bc5ab8e87c9ec6d2a35a836119a4c891a5a173c"},"6bc5ab8"),")")),(0,r.kt)("h3",{id:"breaking-changes-52"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"BufferSize and MTU replaced by MaxPacketSize")),(0,r.kt)("h2",{id:"9652-2021-06-27"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v96.5.1...v96.5.2"},"96.5.2")," (2021-06-27)"),(0,r.kt)("h3",{id:"bug-fixes-185"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing typo in error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/063e3b472af003eda400b1fcbbe863f63b3de422"},"063e3b4"),")")),(0,r.kt)("h2",{id:"9651-2021-06-27"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v96.5.0...v96.5.1"},"96.5.1")," (2021-06-27)"),(0,r.kt)("h3",{id:"bug-fixes-186"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing typo in error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6195108dd84d5e83be3ac25d824d50125fa9510f"},"6195108"),")")),(0,r.kt)("h1",{id:"9650-2021-06-23"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v96.4.3...v96.5.0"},"96.5.0")," (2021-06-23)"),(0,r.kt)("h3",{id:"bug-fixes-187"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing length used for sending unreliable (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/821e2d28b2a764f834b96696ed6a438af2535f60"},"821e2d2"),")")),(0,r.kt)("h3",{id:"features-109"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding send methods for array segment (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ea09c61e0c6c67990d05a58529a800a6948728c0"},"ea09c61"),")")),(0,r.kt)("h3",{id:"performance-improvements-32"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"using array segments for sending (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c990952246463282687c2968852dbe1ae36fdb6e"},"c990952"),")"),(0,r.kt)("li",{parentName:"ul"},"using pool for send notify (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ac000eb6c2db50c81831d092c358f9e707954876"},"ac000eb"),")")),(0,r.kt)("h2",{id:"9643-2021-06-23"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v96.4.2...v96.4.3"},"96.4.3")," (2021-06-23)"),(0,r.kt)("h3",{id:"bug-fixes-188"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"checking if disconnected before packing message (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a76caf148540a2c15cc5622362391acfe20b2388"},"a76caf1"),")")),(0,r.kt)("h2",{id:"9642-2021-06-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v96.4.1...v96.4.2"},"96.4.2")," (2021-06-21)"),(0,r.kt)("h3",{id:"bug-fixes-189"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"null checks when types can't be resolved (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/848"},"#848"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/677c7924b85a890f159ee0abfef44363b266f49a"},"677c792"),")")),(0,r.kt)("h2",{id:"9641-2021-06-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v96.4.0...v96.4.1"},"96.4.1")," (2021-06-21)"),(0,r.kt)("h3",{id:"bug-fixes-190"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"welcome window fixes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/845"},"#845"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a18784451fb8b4711964ee9ef6c19c161a02059b"},"a187844"),")")),(0,r.kt)("h1",{id:"9640-2021-06-20"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v96.3.1...v96.4.0"},"96.4.0")," (2021-06-20)"),(0,r.kt)("h3",{id:"features-110"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding attribute to ignore extension method for read writer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/841"},"#841"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/94945006f48c486482a67a8c114a2fbe32c2aba4"},"9494500"),")")),(0,r.kt)("h2",{id:"9631-2021-06-17"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v96.3.0...v96.3.1"},"96.3.1")," (2021-06-17)"),(0,r.kt)("h3",{id:"bug-fixes-191"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"improving error for failed deserialize (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2e1601bfccb94f734f80bb6bca3e483cf451436b"},"2e1601b"),")"),(0,r.kt)("li",{parentName:"ul"},"improving error for message handler (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7ab73b66e167c06edc2d94290f815b74549fc3de"},"7ab73b6"),")")),(0,r.kt)("h1",{id:"9630-2021-06-04"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v96.2.1...v96.3.0"},"96.3.0")," (2021-06-04)"),(0,r.kt)("h3",{id:"bug-fixes-192"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding action to pipe connection so client events can be called on stop (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/838"},"#838"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eebe63ada737ff5e4d15f0c5231ed192f9d76079"},"eebe63a"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/837"},"#837"))),(0,r.kt)("h3",{id:"features-111"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding host mode stopped as reason for client disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0054dd5fc36010f924a9bf5eb2fd98439d6eaddd"},"0054dd5"),")")),(0,r.kt)("h2",{id:"9621-2021-06-04"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v96.2.0...v96.2.1"},"96.2.1")," (2021-06-04)"),(0,r.kt)("h3",{id:"bug-fixes-193"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding warning if extension method is overwriting existing method (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/836"},"#836"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/aee89dced62c9dc1a944e9dc79f8629b863fd393"},"aee89dc"),")")),(0,r.kt)("h1",{id:"9620-2021-06-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v96.1.2...v96.2.0"},"96.2.0")," (2021-06-02)"),(0,r.kt)("h3",{id:"features-112"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"making enums for socket layer public instead of internal (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bb9f2090f5c26e1a556d7ac6fb5a513067965572"},"bb9f209"),")")),(0,r.kt)("h2",{id:"9612-2021-06-02"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v96.1.1...v96.1.2"},"96.1.2")," (2021-06-02)"),(0,r.kt)("h3",{id:"bug-fixes-194"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing order of host setup (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/832"},"#832"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3951a40f4a7a7b04cf66ea4b9c10d067a7e96782"},"3951a40"),")")),(0,r.kt)("h2",{id:"9611-2021-06-02"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v96.1.0...v96.1.1"},"96.1.1")," (2021-06-02)"),(0,r.kt)("h3",{id:"bug-fixes-195"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"closing socket should give by local peer as reason (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/993933f5a2575a795250207ff5b1191b717e2a13"},"993933f"),")")),(0,r.kt)("h1",{id:"9610-2021-06-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v96.0.0...v96.1.0"},"96.1.0")," (2021-06-02)"),(0,r.kt)("h3",{id:"bug-fixes-196"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"moving syncvar sender to networkserver so it gets intilized earlier (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8b2b828a6cfd0407ece01d707294cac8ef5ce94c"},"8b2b828"),")"),(0,r.kt)("li",{parentName:"ul"},"stopping Server.Stop being called twice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b950d395717c69da778fb0702ddf35cd067ca1d8"},"b950d39"),")")),(0,r.kt)("h3",{id:"features-113"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding is authenticated bool to network player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/828"},"#828"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/372fd709fe931ac5656ca7365310d65895c2b986"},"372fd70"),")")),(0,r.kt)("h1",{id:"9600-2021-06-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v95.1.1...v96.0.0"},"96.0.0")," (2021-06-01)"),(0,r.kt)("h3",{id:"features-114"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"reworking network authenticator (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/827"},"#827"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a3c61d87911aadcede7f789cf05455fbca5526e8"},"a3c61d8"),")")),(0,r.kt)("h3",{id:"breaking-changes-53"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"BasicAuthenticator now uses single string field instead of 2")))),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Renaming methods from OnServerAuthenticate to ServerAuthenticate"),(0,r.kt)("li",{parentName:"ul"},"Renaming methods from OnClientAuthenticate to ClientAuthenticate")),(0,r.kt)("h2",{id:"9511-2021-05-30"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v95.1.0...v95.1.1"},"95.1.1")," (2021-05-30)"),(0,r.kt)("h3",{id:"bug-fixes-197"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing errors in tanks sample (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ed99d050fdd4af28d85d277704f4b9870bae394d"},"ed99d05"),")")),(0,r.kt)("h1",{id:"9510-2021-05-29"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v95.0.0...v95.1.0"},"95.1.0")," (2021-05-29)"),(0,r.kt)("h3",{id:"features-115"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding started event to client (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/825"},"#825"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3360b7c45cabef8677f831282f9d2a86fcfb8c58"},"3360b7c"),")")),(0,r.kt)("h1",{id:"9500-2021-05-28"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v94.0.0...v95.0.0"},"95.0.0")," (2021-05-28)"),(0,r.kt)("h3",{id:"code-refactoring-19"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remove channel from handler (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/824"},"#824"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f11ef9ac4db982334c889fd3fccf901fcc3de90f"},"f11ef9a"),")")),(0,r.kt)("h3",{id:"features-116"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding disconnect reason to client disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/820"},"#820"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e597570bab913c025a019ce82acf309a1be4f647"},"e597570"),")"),(0,r.kt)("li",{parentName:"ul"},"adding Peer config properties (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9fd8a0540cc04242820ea3cdc3d781ccb29ed1ad"},"9fd8a05"),")")),(0,r.kt)("h3",{id:"performance-improvements-33"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkAnimator parameters use ArraySegment instead of Arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/822"},"#822"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/00f4833c121f13f0c5208bb23006fb58bcf294c5"},"00f4833"),")"),(0,r.kt)("li",{parentName:"ul"},"remove redundant transform calls on NT (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/823"},"#823"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2d10305c608c544a3fbf930af17b9651931d5ac1"},"2d10305"),")")),(0,r.kt)("h3",{id:"breaking-changes-54"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkDiagnostics no longer tracks channel"),(0,r.kt)("li",{parentName:"ul"},"Client.Disconnected now has a Reason argument")),(0,r.kt)("h1",{id:"9400-2021-05-24"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v93.0.2...v94.0.0"},"94.0.0")," (2021-05-24)"),(0,r.kt)("h3",{id:"bug-fixes-198"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing other uses of old Notify (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/25a0503619404b5a0f52dc374b9607199e4cc177"},"25a0503"),")")),(0,r.kt)("h3",{id:"code-refactoring-20"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing Obsolete Notify code from networkplayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b2e5531f95ecaddc9ea23460a7e06bba201cbfc6"},"b2e5531"),")")),(0,r.kt)("h3",{id:"breaking-changes-55"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing notify code from networkplayer, notify is now part of peer")),(0,r.kt)("h2",{id:"9302-2021-05-24"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v93.0.1...v93.0.2"},"93.0.2")," (2021-05-24)"),(0,r.kt)("h3",{id:"bug-fixes-199"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"closing socket on application quit (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c37fe7d28e74f0e3b771146542c98f669af43381"},"c37fe7d"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing SocketException after closing remote applcation (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4ed12badc104c53919b13d1465ce8e0832e86b39"},"4ed12ba"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing udp socket exception on linux (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/809"},"#809"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a4e8689cc15157ff83b045944e1f516937365134"},"a4e8689"),")"),(0,r.kt)("li",{parentName:"ul"},"removing unnecessary check (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e8a93a49d0b230c20434392d3ae506938ddc5b9b"},"e8a93a4"),")"),(0,r.kt)("li",{parentName:"ul"},"stopping null ref in disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4d0f0922ea1fec83b2d6b14148c039d6ebf9d024"},"4d0f092"),")")),(0,r.kt)("h2",{id:"9301-2021-05-23"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v93.0.0...v93.0.1"},"93.0.1")," (2021-05-23)"),(0,r.kt)("h3",{id:"bug-fixes-200"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"stopping null ref caused by hud stopping non-active server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8aa561ace45fdc6df8df9238b13e3af5d3358e75"},"8aa561a"),")")),(0,r.kt)("h1",{id:"9300-2021-05-23"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v92.0.0...v93.0.0"},"93.0.0")," (2021-05-23)"),(0,r.kt)("h3",{id:"features-117"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"foldout for events on network server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/806"},"#806"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cbb12d13d295c048f0a913ddb91203f4ed9f66f5"},"cbb12d1"),")"),(0,r.kt)("li",{parentName:"ul"},"replacing transport with peer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/780"},"#780"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/66b231565c019be49f8da2af8b5e8e17822ecd8f"},"66b2315"),")")),(0,r.kt)("h3",{id:"breaking-changes-56"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"All Transports are obsolete.")))),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Transports Are replaced with ISocket. Custom Transports should now implement ISocket and SocketFactory instead"),(0,r.kt)("li",{parentName:"ul"},"Message handlers are now invoked in Update instead of in an Async Coroutine"),(0,r.kt)("li",{parentName:"ul"},"Send Notify moved to SocketLayer"),(0,r.kt)("li",{parentName:"ul"},"Server.StartAsync is no longer Async"),(0,r.kt)("li",{parentName:"ul"},"Server.StartAsync is now called Server.StartServer"),(0,r.kt)("li",{parentName:"ul"},"Client.Connect is no longer async"),(0,r.kt)("li",{parentName:"ul"},"Local message in host mode invoke handlers immediately instead of waiting till next update"),(0,r.kt)("li",{parentName:"ul"},"NetworkPlayer now has a Disconnect method. This means user does not need a reference to SocketLayer asmdef."),(0,r.kt)("li",{parentName:"ul"},"Disconnected players are blocked from sending messages")),(0,r.kt)("h1",{id:"9200-2021-05-23"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v91.2.0...v92.0.0"},"92.0.0")," (2021-05-23)"),(0,r.kt)("h3",{id:"code-refactoring-21"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"moving networkmanager gui and hud to components folder (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/802"},"#802"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7612bb6efe030ffa6e0baab8640bf9f1772dc780"},"7612bb6"),")")),(0,r.kt)("h3",{id:"features-118"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding weaver support for nullable types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/800"},"#800"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/14af62854c1d0aa957e232bc43ae39609b010604"},"14af628"),")")),(0,r.kt)("h3",{id:"breaking-changes-57"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkManagerHud is now in the Mirage.Components asmdef")),(0,r.kt)("h1",{id:"9120-2021-05-18"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v91.1.0...v91.2.0"},"91.2.0")," (2021-05-18)"),(0,r.kt)("h3",{id:"features-119"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"simplifying some checks in ServerObjectManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/801"},"#801"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fe9a07a9a2a24d03ac7d0a2239dbf51291dbe21d"},"fe9a07a"),")")),(0,r.kt)("h1",{id:"9110-2021-05-17"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v91.0.1...v91.1.0"},"91.1.0")," (2021-05-17)"),(0,r.kt)("h3",{id:"bug-fixes-201"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing compile in new gui (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d2800be08fd355077e8be9fdf3195cdf9cbc3c83"},"d2800be"),")")),(0,r.kt)("h3",{id:"features-120"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add optional imgui support to network manager hud (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/789"},"#789"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7841794df1d210b316f5d3a9fb9f8e268ddb0fc2"},"7841794"),")")),(0,r.kt)("h2",{id:"9101-2021-05-04"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v91.0.0...v91.0.1"},"91.0.1")," (2021-05-04)"),(0,r.kt)("h3",{id:"bug-fixes-202"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"unspawning all server object on server stop (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5041a06de8506574add2795dc075b71245e39d88"},"5041a06"),")")),(0,r.kt)("h1",{id:"9100-2021-05-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v90.0.0...v91.0.0"},"91.0.0")," (2021-05-01)"),(0,r.kt)("h3",{id:"code-refactoring-22"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"renaming listen to start and merging it with start host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/795"},"#795"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3d4e0916b14b3b1b494b9bfba366844f209f2414"},"3d4e091"),")")),(0,r.kt)("h3",{id:"breaking-changes-58"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"ListenAsync renamed to StartAsync")))),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"StartHost removed, use StartAsync with localClient parameter instead"),(0,r.kt)("li",{parentName:"ul"},"OnStartHost is now always called after Started")),(0,r.kt)("h1",{id:"9000-2021-04-30"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v89.0.0...v90.0.0"},"90.0.0")," (2021-04-30)"),(0,r.kt)("h3",{id:"code-refactoring-23"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing stop host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/794"},"#794"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/55536fc6fb674b164bf599367022428df3b8ed63"},"55536fc"),")")),(0,r.kt)("h3",{id:"breaking-changes-59"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkServer.StopHost removed, use NetworkServer.Disconnect instead")),(0,r.kt)("h1",{id:"8900-2021-04-28"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v88.1.3...v89.0.0"},"89.0.0")," (2021-04-28)"),(0,r.kt)("h3",{id:"code-refactoring-24"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"renaming network server disconnect to stop (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/793"},"#793"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/634139c8a6dde8f6b83d72a54ef779631005050c"},"634139c"),")")),(0,r.kt)("h3",{id:"breaking-changes-60"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkServer.Disconnect is now called Stop")),(0,r.kt)("h2",{id:"8813-2021-04-28"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v88.1.2...v88.1.3"},"88.1.3")," (2021-04-28)"),(0,r.kt)("h3",{id:"bug-fixes-203"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing quitting handler on cleanup (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1132d9246e4640036acdb10bac4d2c8a2e426b78"},"1132d92"),")"),(0,r.kt)("li",{parentName:"ul"},"server offline does not need a specific object (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/788"},"#788"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9ca7639818d311d72f56f035c58dd516cbe73c27"},"9ca7639"),")")),(0,r.kt)("h2",{id:"8812-2021-04-27"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v88.1.1...v88.1.2"},"88.1.2")," (2021-04-27)"),(0,r.kt)("h3",{id:"bug-fixes-204"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"using null propagation to stop null ref being throw (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5da2c6dce2094db534da1b375036460bb37044c8"},"5da2c6d"),")")),(0,r.kt)("h2",{id:"8811-2021-04-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v88.1.0...v88.1.1"},"88.1.1")," (2021-04-21)"),(0,r.kt)("h3",{id:"bug-fixes-205"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"class name did not match file name (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5eb58eb9ba0a04e88ce348b7541364c7e17d9db1"},"5eb58eb"),")"),(0,r.kt)("li",{parentName:"ul"},"test was not correctly checking for offline server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e913004986cf9e08618184f5066fadaf1d4af7bc"},"e913004"),")")),(0,r.kt)("h1",{id:"8810-2021-04-20"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v88.0.0...v88.1.0"},"88.1.0")," (2021-04-20)"),(0,r.kt)("h3",{id:"features-121"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new socket layer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/749"},"#749"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb844522fc4974d09194af8f1cdac4b167e161d8"},"fb84452"),")")),(0,r.kt)("h1",{id:"8800-2021-04-17"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v87.2.4...v88.0.0"},"88.0.0")," (2021-04-17)"),(0,r.kt)("h3",{id:"code-refactoring-25"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remove unspawn as its redundant with destroy (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/760"},"#760"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6a8497c309dfb71caf533dc35efc337745b324a4"},"6a8497c"),")"),(0,r.kt)("li",{parentName:"ul"},"removing GetNewPlayer and sealing networkplayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/781"},"#781"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/16a6ba00920423d07b75aa5054da1d6b8b41dce8"},"16a6ba0"),")")),(0,r.kt)("h3",{id:"breaking-changes-61"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removed Unspawn method, use with Destroy with destroyServerObject flag instead"),(0,r.kt)("li",{parentName:"ul"},"no longer possible to create custom INetworkPlayer to be used inside mirage")),(0,r.kt)("h2",{id:"8724-2021-04-16"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v87.2.3...v87.2.4"},"87.2.4")," (2021-04-16)"),(0,r.kt)("h3",{id:"bug-fixes-206"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add some exception documentation (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/829f10a506f1ea9dcf7e664d672202538057a88b"},"829f10a"),")")),(0,r.kt)("h2",{id:"8723-2021-04-16"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v87.2.2...v87.2.3"},"87.2.3")," (2021-04-16)"),(0,r.kt)("h3",{id:"bug-fixes-207"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"param no longer exists. updating summary (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c9a919f9d5e3a672793f6db228b8eb720abf5af6"},"c9a919f"),")")),(0,r.kt)("h2",{id:"8722-2021-04-16"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v87.2.1...v87.2.2"},"87.2.2")," (2021-04-16)"),(0,r.kt)("h3",{id:"bug-fixes-208"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"WelcomeWindow:")," re-adding logger and if 2020.1 or newer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/288ed0f62e9f0855995e623db0317b84948059bb"},"288ed0f"),")")),(0,r.kt)("h2",{id:"8721-2021-04-14"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v87.2.0...v87.2.1"},"87.2.1")," (2021-04-14)"),(0,r.kt)("h3",{id:"bug-fixes-209"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"clientchangedscene event called too early (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/776"},"#776"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/82dda04882e80ed2e7e32f25c431ac5a6a1fbba8"},"82dda04"),")")),(0,r.kt)("h1",{id:"8720-2021-04-12"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v87.1.2...v87.2.0"},"87.2.0")," (2021-04-12)"),(0,r.kt)("h3",{id:"features-122"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding change log parsing to welcome window. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/771"},"#771"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e5409ffac6f7494da78ee9e1a36165e5788e30e8"},"e5409ff"),")"),(0,r.kt)("li",{parentName:"ul"},"dark mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/750"},"#750"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e3f1d26c2f2d783b0b26c911c3b37ce7988fffaf"},"e3f1d26"),")")),(0,r.kt)("h2",{id:"8712-2021-04-12"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v87.1.1...v87.1.2"},"87.1.2")," (2021-04-12)"),(0,r.kt)("h3",{id:"bug-fixes-210"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"bug with scene object spawning (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/773"},"#773"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b02c13d4115fac58905c5b8aeb3f41b790a0b4cc"},"b02c13d"),")")),(0,r.kt)("h2",{id:"8711-2021-04-10"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v87.1.0...v87.1.1"},"87.1.1")," (2021-04-10)"),(0,r.kt)("h3",{id:"bug-fixes-211"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"moving using out of #if (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/00517bc31091c89a56c614440ffd52ca0afbcf17"},"00517bc"),")")),(0,r.kt)("h1",{id:"8710-2021-04-08"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v87.0.1...v87.1.0"},"87.1.0")," (2021-04-08)"),(0,r.kt)("h3",{id:"features-123"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add NetworkManagerMode back to NetMan (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/756"},"#756"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f1f8f57b64e49a81225916db981f5ae1d6809e51"},"f1f8f57"),")")),(0,r.kt)("h2",{id:"8701-2021-04-08"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v87.0.0...v87.0.1"},"87.0.1")," (2021-04-08)"),(0,r.kt)("h3",{id:"bug-fixes-212"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add icons to all mirage monobehaviours (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/769"},"#769"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3a9673ffb4b34d638817c008cec629316f381072"},"3a9673f"),")")),(0,r.kt)("h1",{id:"8700-2021-04-08"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v86.0.2...v87.0.0"},"87.0.0")," (2021-04-08)"),(0,r.kt)("h3",{id:"bug-fixes-213"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"using add late event for authority and combining start and stop events (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/767"},"#767"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8903f00653b1ba527eb87af4dba106ba0cd9544a"},"8903f00"),")"),(0,r.kt)("li",{parentName:"ul"},"using AddLateEvent to stop race condition for client events (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/768"},"#768"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/681875b814e79bc17e4bdeb8e58a124ddab2fe72"},"681875b"),")"),(0,r.kt)("li",{parentName:"ul"},"using AddLateEvent to stop race condition for network identity events (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/766"},"#766"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4f8bf110d4144d41da9a5d80aaba49d46a7f3b54"},"4f8bf11"),")"),(0,r.kt)("li",{parentName:"ul"},"using AddLateEvent to stop race condition for server events (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/765"},"#765"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a1ec84c714cefc63ce458733df464ab48f8c2913"},"a1ec84c"),")")),(0,r.kt)("h3",{id:"features-124"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding RemoveListener and RemoveAllListeners to AddLateEvent (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/764"},"#764"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d67c96cc5e8cfe9720cdd8909fe1533f27834f4d"},"d67c96c"),")"),(0,r.kt)("li",{parentName:"ul"},"adding RemoveListener and RemoveAllListeners to AddLateEvent (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/764"},"#764"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0ca2804b95287fcfa445d2148cc6263cc8f851f4"},"0ca2804"),")")),(0,r.kt)("h3",{id:"breaking-changes-62"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"NetworkClient.Connected event is now type of IAddLateEvent")))),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkClient.Authenticated event is now type of IAddLateEvent"),(0,r.kt)("li",{parentName:"ul"},"NetworkClient.Disconnected event is now type of IAddLateEvent")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"refactor: removing NetworkConnectionEvent use NetworkPlayerEvent instead")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"NetworkConnectionEvent renamed to NetworkPlayerEvent")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"reverting clean up change")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"Identity.OnStartAuthority and IdentityOnStopAuthority are now Identity.OnAuthorityChanged and are type of IAddLateEvent","<","bool",">"))),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"Server.Started event is now type of IAddLateEvent")))),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Server.Stoped event is now type of IAddLateEvent"),(0,r.kt)("li",{parentName:"ul"},"Server.OnStartHost event is now type of IAddLateEvent"),(0,r.kt)("li",{parentName:"ul"},"Server.OnStopHost event is now type of IAddLateEvent"),(0,r.kt)("li",{parentName:"ul"},"inspector values for changed events will need to be re-assigned")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("ul",{parentName:"li"},(0,r.kt)("li",{parentName:"ul"},"Identity.OnStartServer event is now type of IAddLateEvent")))),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Identity.OnStopServer event is now type of IAddLateEvent"),(0,r.kt)("li",{parentName:"ul"},"Identity.OnStartClient event is now type of IAddLateEvent"),(0,r.kt)("li",{parentName:"ul"},"Identity.OnStopClient event is now type of IAddLateEvent"),(0,r.kt)("li",{parentName:"ul"},"Identity.OnStartLocalPlayer event is now type of IAddLateEvent"),(0,r.kt)("li",{parentName:"ul"},"inspector values for changed events will need to be re-assigned")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"AddLateEvent Reset no longer removes listeners"),(0,r.kt)("li",{parentName:"ul"},"AddLateEvent Reset no longer removes listeners")),(0,r.kt)("h2",{id:"8602-2021-04-05"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v86.0.1...v86.0.2"},"86.0.2")," (2021-04-05)"),(0,r.kt)("h3",{id:"bug-fixes-214"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing redundant null checks (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/909b668d7508fd3022ba309c6b441feb04e48ba1"},"909b668"),")")),(0,r.kt)("h2",{id:"8601-2021-04-02"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v86.0.0...v86.0.1"},"86.0.1")," (2021-04-02)"),(0,r.kt)("h3",{id:"bug-fixes-215"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"changed icon to new mirage icons. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/758"},"#758"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/04edac0d1bce1f7b5f3dec23dde4dae11f422db3"},"04edac0"),")")),(0,r.kt)("h1",{id:"8600-2021-04-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v85.0.0...v86.0.0"},"86.0.0")," (2021-04-01)"),(0,r.kt)("h3",{id:"bug-fixes-216"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"better name to stop namespace conflict with Unity (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/755"},"#755"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/69784e70f8a0f6b2d5e0d4734358688088044abd"},"69784e7"),")")),(0,r.kt)("h3",{id:"breaking-changes-63"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"networkManager.SceneManager removed to networkManager.NetworkSceneManager")),(0,r.kt)("h1",{id:"8500-2021-03-30"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v84.3.1...v85.0.0"},"85.0.0")," (2021-03-30)"),(0,r.kt)("h3",{id:"code-refactoring-26"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"moving syncvar sending to its own class (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9699e03c75973342e72375ac4a424abb1181bd17"},"9699e03"),")")),(0,r.kt)("h3",{id:"features-125"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding class that will invoke late handlers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/631adceee9ea3d9a4f1ff0f885bfcec4b8e21502"},"631adce"),")")),(0,r.kt)("h3",{id:"breaking-changes-64"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Dirty object collection is now inside SyncVarSender")),(0,r.kt)("h2",{id:"8431-2021-03-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v84.3.0...v84.3.1"},"84.3.1")," (2021-03-29)"),(0,r.kt)("h3",{id:"bug-fixes-217"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding FormerlySerializedAs to networkanimator (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/39f8fbd0c8b1450f15b33ddba7965f147433ff11"},"39f8fbd"),")")),(0,r.kt)("h1",{id:"8430-2021-03-27"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v84.2.1...v84.3.0"},"84.3.0")," (2021-03-27)"),(0,r.kt)("h3",{id:"features-126"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"not listening can now be toggled at runtime. fixes host spawning (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/728"},"#728"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/256b16c12c1550f66ccbdf6d289ec75e6abab315"},"256b16c"),")")),(0,r.kt)("h2",{id:"8421-2021-03-27"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v84.2.0...v84.2.1"},"84.2.1")," (2021-03-27)"),(0,r.kt)("h3",{id:"bug-fixes-218"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"invoke client rpc only once in host mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/744"},"#744"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ee6e55e6dc7376308e702e431387ebdf12051a98"},"ee6e55e"),")")),(0,r.kt)("h1",{id:"8420-2021-03-27"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v84.1.1...v84.2.0"},"84.2.0")," (2021-03-27)"),(0,r.kt)("h3",{id:"features-127"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"configurable wait time for tests (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/729"},"#729"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b10f3e8a6b2097e7550f74426b3051464b6b9d23"},"b10f3e8"),")")),(0,r.kt)("h2",{id:"8411-2021-03-26"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v84.1.0...v84.1.1"},"84.1.1")," (2021-03-26)"),(0,r.kt)("h3",{id:"bug-fixes-219"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"make sure resolved typedef isn't null (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/731"},"#731"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2f6414f7f676b250786c5caffaf83d8fa16daffb"},"2f6414f"),")")),(0,r.kt)("h1",{id:"8410-2021-03-25"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v84.0.0...v84.1.0"},"84.1.0")," (2021-03-25)"),(0,r.kt)("h3",{id:"features-128"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"sample for interest management (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/727"},"#727"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0f4cdc50910e3ec63a3b93c12633b026039cd696"},"0f4cdc5"),")")),(0,r.kt)("h1",{id:"8400-2021-03-24"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v83.0.0...v84.0.0"},"84.0.0")," (2021-03-24)"),(0,r.kt)("h3",{id:"code-refactoring-27"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"using interface instead of network server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/722"},"#722"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7312bd8cd83f2133f9d0a6162dea9689630d88f2"},"7312bd8"),")")),(0,r.kt)("h3",{id:"breaking-changes-65"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fields and parameters using NetworkServer are now using INetworkServer Instead")),(0,r.kt)("h1",{id:"8300-2021-03-24"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v82.0.0...v83.0.0"},"83.0.0")," (2021-03-24)"),(0,r.kt)("h3",{id:"code-refactoring-28"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"using interface instead of network client (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/721"},"#721"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/703596aa4678eeef6e6e89b8877fceb8062e4476"},"703596a"),")")),(0,r.kt)("h3",{id:"breaking-changes-66"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fields and parameters using NetworkClient are now using INetworkClient Instead")),(0,r.kt)("h1",{id:"8200-2021-03-24"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v81.0.2...v82.0.0"},"82.0.0")," (2021-03-24)"),(0,r.kt)("h3",{id:"code-refactoring-29"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"changing indexer to try get (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/720"},"#720"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/01ca9bb48ce14446052cd45d5c41a9a299a1efcf"},"01ca9bb"),")"),(0,r.kt)("li",{parentName:"ul"},"removing connection to server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/703"},"#703"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ff95634c8c08be20574f8c73530926725944ecae"},"ff95634"),")")),(0,r.kt)("h3",{id:"breaking-changes-67"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"ObjectLocator now has TryGet method instead of indexer that returns null")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"updating uses of objectLocator")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fixing names not being the same")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Removed ConnectionToServer property")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"removing uses of ConnectionToServer")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"removing use in test")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"removing ClientRpc player target")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"creating null")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"changing tests to expect null")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fixing docs")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"using client player for target rpc"))),(0,r.kt)("p",null,"Co-authored-by: Paul Pacheco ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:paulpach@gmail.com"},"paulpach@gmail.com"),">"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing tests for rpc target")),(0,r.kt)("p",null,"Co-authored-by: Paul Pacheco ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:paulpach@gmail.com"},"paulpach@gmail.com"),">"),(0,r.kt)("h2",{id:"8102-2021-03-22"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v81.0.1...v81.0.2"},"81.0.2")," (2021-03-22)"),(0,r.kt)("h3",{id:"bug-fixes-220"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"show syncvar label (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c32a9403be7be30a5e56b0f4c71ddc05263a746a"},"c32a940"),")")),(0,r.kt)("h2",{id:"8101-2021-03-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v81.0.0...v81.0.1"},"81.0.1")," (2021-03-20)"),(0,r.kt)("h3",{id:"performance-improvements-34"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"clientrpc in host mode bypasses network (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/714"},"#714"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/edb0705e5038684e3c3565c38e3529578832fb1d"},"edb0705"),")")),(0,r.kt)("h1",{id:"8100-2021-03-19"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v80.0.1...v81.0.0"},"81.0.0")," (2021-03-19)"),(0,r.kt)("h3",{id:"performance-improvements-35"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"serverrpc bypasses network on host mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/708"},"#708"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/695eb4686fb5c0d6d1db3e3f3d8f7803226c009f"},"695eb46"),")")),(0,r.kt)("h3",{id:"breaking-changes-68"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ServerRpc execute synchronous in host mode")),(0,r.kt)("h2",{id:"8001-2021-03-17"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v80.0.0...v80.0.1"},"80.0.1")," (2021-03-17)"),(0,r.kt)("h3",{id:"bug-fixes-221"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"compilation issue on standalone build (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d6bea93c6885185f546aaf6b6e7c29abbe420012"},"d6bea93"),")")),(0,r.kt)("h1",{id:"8000-2021-03-15"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v79.0.0...v80.0.0"},"80.0.0")," (2021-03-15)"),(0,r.kt)("h3",{id:"code-refactoring-30"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"rename connection to player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/706"},"#706"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/03e8cfab37184ebbf137ea3bddea217da6b45c95"},"03e8cfa"),")")),(0,r.kt)("h3",{id:"breaking-changes-69"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Connection renamed to player")),(0,r.kt)("h1",{id:"7900-2021-03-15"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v78.0.0...v79.0.0"},"79.0.0")," (2021-03-15)"),(0,r.kt)("h3",{id:"code-refactoring-31"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"move serialization into Mirage.Serialization (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/700"},"#700"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5dc037dbb6db48c1ad94d20a63aa5f953ade90c2"},"5dc037d"),")")),(0,r.kt)("h3",{id:"breaking-changes-70"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkReader and NetworkWriter moved to Mirage.Serialization namespace")),(0,r.kt)("h1",{id:"7800-2021-03-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v77.0.0...v78.0.0"},"78.0.0")," (2021-03-14)"),(0,r.kt)("h3",{id:"code-refactoring-32"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"move collections to Mirage.Collections (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/698"},"#698"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e22f765c39b2d7b8c835357f530cc597664858db"},"e22f765"),")")),(0,r.kt)("h3",{id:"breaking-changes-71"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"collections moved to Mirage.Collections")),(0,r.kt)("h1",{id:"7700-2021-03-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v76.0.0...v77.0.0"},"77.0.0")," (2021-03-14)"),(0,r.kt)("h3",{id:"code-refactoring-33"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"move logging into a folder and namespace (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/697"},"#697"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/814653f06654f96c68f762dfcebd3e86cc8c92dc"},"814653f"),")")),(0,r.kt)("h3",{id:"breaking-changes-72"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Logging moved into a namespace, use Mirror.Logging")),(0,r.kt)("h1",{id:"7600-2021-03-13"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v75.1.0...v76.0.0"},"76.0.0")," (2021-03-13)"),(0,r.kt)("h3",{id:"code-refactoring-34"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remove local visibility hacks (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/696"},"#696"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/df499abb8b4e29f8b7067adedcab576eea564a29"},"df499ab"),")")),(0,r.kt)("h3",{id:"breaking-changes-73"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkVisibility no longer disables renderers in host mode")),(0,r.kt)("h1",{id:"7510-2021-03-13"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v75.0.0...v75.1.0"},"75.1.0")," (2021-03-13)"),(0,r.kt)("h3",{id:"features-129"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"0 is not lossy when compressing quaternions (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/695"},"#695"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c1552c0daed8209a7af1a2b3194ff21df5488484"},"c1552c0"),")")),(0,r.kt)("h1",{id:"7500-2021-03-13"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v74.0.0...v75.0.0"},"75.0.0")," (2021-03-13)"),(0,r.kt)("h3",{id:"bug-fixes-222"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding ISceneLoader to INetworkPlayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e8ab7a41b9f29007c7bab8132b34d715e0a8b5d2"},"e8ab7a4"),")"),(0,r.kt)("li",{parentName:"ul"},"compression of 90 degrees angle (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/689"},"#689"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2c0bac6e2e4fab7d055be7ec095eb2297ec457e2"},"2c0bac6"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing uses of message (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f2a55222ab7ec9916aa1ba77f8a6c93d27632d23"},"f2a5522"),")")),(0,r.kt)("h3",{id:"code-refactoring-35"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"moving static send to NetworkServer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/692"},"#692"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b19dc3214e034c331dd9906f53195eb968d1165"},"5b19dc3"),")"),(0,r.kt)("li",{parentName:"ul"},"removing address property from player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/691"},"#691"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d772e53d9d5f65eb4053782a066b1fcfab9fe8d6"},"d772e53"),")"),(0,r.kt)("li",{parentName:"ul"},"removing disconnect method from player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/688"},"#688"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e1daf92934b0de03ceada857a969b6aed717752c"},"e1daf92"),")"),(0,r.kt)("li",{parentName:"ul"},"rename PlayerSpawner to CharacterSpawner (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/686"},"#686"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1db3498120d18d8270e149b6af9df52fd3d92e90"},"1db3498"),")"),(0,r.kt)("li",{parentName:"ul"},"renaming NetworkConnection to NetworkPlayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/684"},"#684"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3ecb6593ea05928df40e66f3a33b3b3ccb4a5283"},"3ecb659"),")")),(0,r.kt)("h3",{id:"features-130"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding Connection property to NetworkPlayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/687"},"#687"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5e1c4bad4c800b96d3ecc75cbde5c0c1e0f22da9"},"5e1c4ba"),")"),(0,r.kt)("li",{parentName:"ul"},"adding logger.Assert that doesn't require a message (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8c213e30532feee8a4e8f0ec32c58e26cd8f7afb"},"8c213e3"),")")),(0,r.kt)("h3",{id:"breaking-changes-74"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"moving NetworkPlayer.Send to NetworkServer.SendToMany")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Address replaced with Connection.GetEndPointAddress")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"updating uses of Address")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Disconnect replaced with Connection.Disconnect")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fixing uses in Mirage")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"updating uses in authenticators")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Renamed PlayerSpawner to CharacterSpawner")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"renaming NetworkConnection to NetworkPlayer")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"renaming types in weaver tests")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fixing test message")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fixing xref in docs"))),(0,r.kt)("h1",{id:"7400-2021-03-08"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v73.0.0...v74.0.0"},"74.0.0")," (2021-03-08)"),(0,r.kt)("h3",{id:"bug-fixes-223"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"invoking started event when Listening is false (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/675"},"#675"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/afef2d4a552a348d3bf91703c188bab6c8967b1e"},"afef2d4"),")")),(0,r.kt)("h3",{id:"code-refactoring-36"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"transports:")," removing sendAsync from transports (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/673"},"#673"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/42b165ff0b267c67c93407db5c5a36c647301126"},"42b165f"),")"),(0,r.kt)("li",{parentName:"ul"},"removing sendasync from networkconnection (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/672"},"#672"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e79b00eefd77ac8982cf23acf872dbcd3e4e9b31"},"e79b00e"),")")),(0,r.kt)("h3",{id:"breaking-changes-75"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"transports:")," Removed SendAsync from transport, use Send instead"),(0,r.kt)("li",{parentName:"ul"},"Removed SendAsync from NetworkConnection. Use Send instead")),(0,r.kt)("h1",{id:"7300-2021-03-06"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v72.0.1...v73.0.0"},"73.0.0")," (2021-03-06)"),(0,r.kt)("h3",{id:"code-refactoring-37"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"replacing version enum with assembly version (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/663"},"#663"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d8facb7c4cf06033935f7e7386a25cb3ec855737"},"d8facb7"),")")),(0,r.kt)("h3",{id:"breaking-changes-76"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Version.Current is no longer an enum and now returns Mirage's assembly version")),(0,r.kt)("h2",{id:"7201-2021-03-06"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v72.0.0...v72.0.1"},"72.0.1")," (2021-03-06)"),(0,r.kt)("h3",{id:"bug-fixes-224"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"disabling welcome window before unity 2020.1 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/662"},"#662"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a527af4455c366d5b0ad5826c557dd52f1f3728f"},"a527af4"),")")),(0,r.kt)("h1",{id:"7200-2021-03-05"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v71.0.0...v72.0.0"},"72.0.0")," (2021-03-05)"),(0,r.kt)("h3",{id:"code-refactoring-38"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing un-used INetworkManager interface (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/661"},"#661"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/347bf6c0aaa3e69a4b9027defda0e999541f8a7c"},"347bf6c"),")")),(0,r.kt)("h3",{id:"breaking-changes-77"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removing INetworkManager")),(0,r.kt)("h1",{id:"7100-2021-03-05"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v70.0.0...v71.0.0"},"71.0.0")," (2021-03-05)"),(0,r.kt)("h3",{id:"styles"},"Styles"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"renaming NetworkScenePath to ActiveScenePath (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/647"},"#647"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7a26360b9d11e7d76ef73628f593503d0d785380"},"7a26360"),")")),(0,r.kt)("h3",{id:"breaking-changes-78"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Use NetworkSceneManager.ActiveScenePath instead of NetworkSceneManager.NetworkScenePath")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"removing cref till docs are fixed"))),(0,r.kt)("h1",{id:"7000-2021-03-04"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v69.1.2...v70.0.0"},"70.0.0")," (2021-03-04)"),(0,r.kt)("h3",{id:"code-refactoring-39"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"spawnobjects throws exception instead of returning false (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/639"},"#639"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4cb8afb6e33be80b1c2e5fa3db57a246be203b74"},"4cb8afb"),")")),(0,r.kt)("h3",{id:"breaking-changes-79"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"SpawnObjects throws Exception instead of returning false")),(0,r.kt)("h2",{id:"6912-2021-03-03"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v69.1.1...v69.1.2"},"69.1.2")," (2021-03-03)"),(0,r.kt)("h3",{id:"bug-fixes-225"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"weaver:")," adding missing errors when Attributes are used in monobehaviour (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/64b580bb15048e60ba96de843ba47ffdc1a9fd0b"},"64b580b"),")")),(0,r.kt)("h2",{id:"6911-2021-03-02"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v69.1.0...v69.1.1"},"69.1.1")," (2021-03-02)"),(0,r.kt)("h3",{id:"bug-fixes-226"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"multi scene example nre and event errors (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/649"},"#649"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8c4c352bd226e12324f851218d6a9d56be894662"},"8c4c352"),")")),(0,r.kt)("h1",{id:"6910-2021-03-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v69.0.0...v69.1.0"},"69.1.0")," (2021-03-02)"),(0,r.kt)("h3",{id:"features-131"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding assert extension method to logger (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/642"},"#642"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1df6081e5d1244a1f780b9945f5bd3c0a10387f0"},"1df6081"),")")),(0,r.kt)("h1",{id:"6900-2021-03-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v68.0.3...v69.0.0"},"69.0.0")," (2021-03-02)"),(0,r.kt)("h3",{id:"styles-1"},"Styles"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"renaming NumPlayers to NumberOfPlayers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/646"},"#646"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/27b99be272ef4f6df73717d877385981e7565259"},"27b99be"),")")),(0,r.kt)("h3",{id:"breaking-changes-80"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Use NetworkServer.NumberOfPlayers instead of NetworkServer.NumPlayers")),(0,r.kt)("h2",{id:"6803-2021-02-25"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v68.0.2...v68.0.3"},"68.0.3")," (2021-02-25)"),(0,r.kt)("h3",{id:"bug-fixes-227"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"welcome window layout (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/634"},"#634"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2bceedb0baa0dd5d5767e440deea74077469fd11"},"2bceedb"),")")),(0,r.kt)("h2",{id:"6802-2021-02-24"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v68.0.1...v68.0.2"},"68.0.2")," (2021-02-24)"),(0,r.kt)("h3",{id:"bug-fixes-228"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"mirage icon missing in welcome window (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/637"},"#637"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6c4dc9ee9639503631da43f74f92f0394fadab29"},"6c4dc9e"),")")),(0,r.kt)("h2",{id:"6801-2021-02-23"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v68.0.0...v68.0.1"},"68.0.1")," (2021-02-23)"),(0,r.kt)("h3",{id:"bug-fixes-229"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"welcome window icon not being found (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/635"},"#635"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/263a7b21c36357f8e6a7fa48f9ea74d1e6233216"},"263a7b2"),")")),(0,r.kt)("h1",{id:"6800-2021-02-22"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v67.4.0...v68.0.0"},"68.0.0")," (2021-02-22)"),(0,r.kt)("h3",{id:"code-refactoring-40"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"move LocalPlayer to ClientObjectManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/619"},"#619"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/df1e379e064cdea01309fbf9ada0bab1f3bbd7dd"},"df1e379"),")")),(0,r.kt)("h3",{id:"features-132"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add more control over player spawning (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/626"},"#626"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e0dd626d5bd23e6c555730c6a4c3517694ea3bba"},"e0dd626"),")")),(0,r.kt)("h3",{id:"breaking-changes-81"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removed NetworkClient.LocalPlayer, use ClientObjectManager.LocalPlayer instead")),(0,r.kt)("h1",{id:"6740-2021-02-21"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v67.3.2...v67.4.0"},"67.4.0")," (2021-02-21)"),(0,r.kt)("h3",{id:"features-133"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"support generic network behaviors (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/574"},"#574"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/715642ceb5de02dc500d8ba3f4cda883431decb7"},"715642c"),")")),(0,r.kt)("h2",{id:"6732-2021-02-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v67.3.1...v67.3.2"},"67.3.2")," (2021-02-21)"),(0,r.kt)("h3",{id:"bug-fixes-230"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"passing NetworkBehaviors in syncvars work with il2pp (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/631"},"#631"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cd7317f368bd65c6bd594c337de4bdc676fe2805"},"cd7317f"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/630"},"#630")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/629"},"#629"))),(0,r.kt)("h2",{id:"6731-2021-02-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v67.3.0...v67.3.1"},"67.3.1")," (2021-02-21)"),(0,r.kt)("h3",{id:"bug-fixes-231"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"passing NetworkBehaviors in RPC works with IL2PP (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/630"},"#630"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/87becee8fdc028ca86abd6aa13a55396ea202567"},"87becee"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/629"},"#629"))),(0,r.kt)("h1",{id:"6730-2021-02-21"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v67.2.7...v67.3.0"},"67.3.0")," (2021-02-21)"),(0,r.kt)("h3",{id:"features-134"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"install/uninstall modules from welcome window (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/593"},"#593"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/53ac40492ade8059338436ad15b69e3573ad1482"},"53ac404"),")")),(0,r.kt)("h2",{id:"6727-2021-02-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v67.2.6...v67.2.7"},"67.2.7")," (2021-02-21)"),(0,r.kt)("h3",{id:"bug-fixes-232"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"show selected tab when welcome screen is opened (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/628"},"#628"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f6cae984f1dfb2941a35cd4bfd1dd0050ce06873"},"f6cae98"),")")),(0,r.kt)("h2",{id:"6726-2021-02-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v67.2.5...v67.2.6"},"67.2.6")," (2021-02-20)"),(0,r.kt)("h3",{id:"bug-fixes-233"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"bug in tanks sample (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/575"},"#575"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d82efea9015cf2db9436f12deaa9a7dd65ba862d"},"d82efea"),")")),(0,r.kt)("h2",{id:"6725-2021-02-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v67.2.4...v67.2.5"},"67.2.5")," (2021-02-20)"),(0,r.kt)("h3",{id:"bug-fixes-234"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"revert preprocessor change (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b89c45489755a9fa598ec804e8d71b35cfc8f438"},"b89c454"),")")),(0,r.kt)("h2",{id:"6724-2021-02-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v67.2.3...v67.2.4"},"67.2.4")," (2021-02-20)"),(0,r.kt)("h3",{id:"bug-fixes-235"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add comments and backing field for time (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/618"},"#618"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/da74e11066f1a6782ec1304f855b79840c7058f3"},"da74e11"),")")),(0,r.kt)("h2",{id:"6723-2021-02-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v67.2.2...v67.2.3"},"67.2.3")," (2021-02-19)"),(0,r.kt)("h3",{id:"bug-fixes-236"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add summaries to event classes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/623"},"#623"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e6b9354665294dc11140a560bfc661ef6bfbb3b9"},"e6b9354"),")"),(0,r.kt)("li",{parentName:"ul"},"no longer true. spawnableobjects populated by FindObjectsOfTypeAll (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/622"},"#622"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5692709b62095a08e25172d6a4dfba51e47355f5"},"5692709"),")")),(0,r.kt)("h2",{id:"6722-2021-02-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v67.2.1...v67.2.2"},"67.2.2")," (2021-02-19)"),(0,r.kt)("h3",{id:"bug-fixes-237"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"drop support for older versions (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5dc12b5e8553f5689833af5b71a936615514b021"},"5dc12b5"),")")),(0,r.kt)("h2",{id:"6721-2021-02-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v67.2.0...v67.2.1"},"67.2.1")," (2021-02-19)"),(0,r.kt)("h3",{id:"bug-fixes-238"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add missing properties to interface (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/617"},"#617"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e45920ebd375b382f48e11bba7e73549efb58c6c"},"e45920e"),")")),(0,r.kt)("h1",{id:"6720-2021-02-19"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v67.1.0...v67.2.0"},"67.2.0")," (2021-02-19)"),(0,r.kt)("h3",{id:"features-135"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add events to interfaces (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/614"},"#614"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4d1a77263dfbca0f631ded85a5f772ce6e4e4343"},"4d1a772"),")")),(0,r.kt)("h1",{id:"6710-2021-02-19"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v67.0.2...v67.1.0"},"67.1.0")," (2021-02-19)"),(0,r.kt)("h3",{id:"features-136"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"welcome window shows active tab (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/616"},"#616"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1411d0ae4dd3b83c44ce27800e4117f00211f092"},"1411d0a"),")")),(0,r.kt)("h2",{id:"6702-2021-02-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v67.0.1...v67.0.2"},"67.0.2")," (2021-02-19)"),(0,r.kt)("h3",{id:"bug-fixes-239"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"clientObjectManager was not using its interface (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/615"},"#615"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d2b07ea46ef1e5e0dbc4685b39c4cd24a7c2fc36"},"d2b07ea"),")")),(0,r.kt)("h2",{id:"6701-2021-02-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v67.0.0...v67.0.1"},"67.0.1")," (2021-02-19)"),(0,r.kt)("h3",{id:"bug-fixes-240"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"move interfaces into their own files (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/613"},"#613"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/432005bea62a83d50416aa7760ee15881ac68d00"},"432005b"),")")),(0,r.kt)("h1",{id:"6700-2021-02-19"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v66.2.2...v67.0.0"},"67.0.0")," (2021-02-19)"),(0,r.kt)("h3",{id:"code-refactoring-41"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remove unnecessary assembly definition (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/599"},"#599"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/89ffc7c9cc9a37650c998381bf97c148b2f1cfd9"},"89ffc7c"),")")),(0,r.kt)("h3",{id:"breaking-changes-82"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removed MirageNG.asmdef, change your assembly to use Mirage.asmdef instead")),(0,r.kt)("h2",{id:"6622-2021-02-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v66.2.1...v66.2.2"},"66.2.2")," (2021-02-19)"),(0,r.kt)("h3",{id:"bug-fixes-241"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"simplify checking if client is host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/602"},"#602"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dbf5784884012bd08a46d823452f8f9d95009721"},"dbf5784"),")"),(0,r.kt)("li",{parentName:"ul"},"static not needed (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/604"},"#604"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/879ba018feed89d12b217e273f66b0fe75a447d5"},"879ba01"),")"),(0,r.kt)("li",{parentName:"ul"},"stopping ",(0,r.kt)("inlineCode",{parentName:"li"},": ")," being at the start of all log messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/606"},"#606"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8efe7cea0eb8536335f46bf412a8ba71be74ae96"},"8efe7ce"),")")),(0,r.kt)("h2",{id:"6621-2021-02-17"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v66.2.0...v66.2.1"},"66.2.1")," (2021-02-17)"),(0,r.kt)("h3",{id:"bug-fixes-242"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fix serializing NetworkBehavior and GameObjects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b74fcf9feb949769f3ec7df851cd9e02aca24565"},"b74fcf9"),")")),(0,r.kt)("h1",{id:"6620-2021-02-17"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v66.1.0...v66.2.0"},"66.2.0")," (2021-02-17)"),(0,r.kt)("h3",{id:"features-137"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"make networkscenemanager optional again (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/595"},"#595"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ed180ff3f9230f4676a8b9a07351dd8302acb906"},"ed180ff"),")")),(0,r.kt)("h1",{id:"6610-2021-02-17"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v66.0.0...v66.1.0"},"66.1.0")," (2021-02-17)"),(0,r.kt)("h3",{id:"features-138"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"optional dontdestroyonload for networkscenemanager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/596"},"#596"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/67e41bd66c15d5951b1b7bd8a0bd302e21182655"},"67e41bd"),")")),(0,r.kt)("h1",{id:"6600-2021-02-16"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v65.1.0...v66.0.0"},"66.0.0")," (2021-02-16)"),(0,r.kt)("h3",{id:"bug-fixes-243"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"update package json for new name and url (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/594"},"#594"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e915aeb1ebcaa099c2d7a964b60194471b1f79c3"},"e915aeb"),")")),(0,r.kt)("h3",{id:"code-refactoring-42"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"change to Mirage namespace (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/590"},"#590"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bafe18c379fd9c06ad7483e5421fa86dbef715e6"},"bafe18c"),")")),(0,r.kt)("h3",{id:"breaking-changes-83"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"replaced Mirror namespace with Mirage")),(0,r.kt)("h1",{id:"6510-2021-02-15"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v65.0.0...v65.1.0"},"65.1.0")," (2021-02-15)"),(0,r.kt)("h3",{id:"features-139"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"move spawned dictionary to com/som (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/568"},"#568"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1ad8f3de951cd65a0da067bac8d078059d89ee87"},"1ad8f3d"),")")),(0,r.kt)("h1",{id:"6500-2021-02-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v64.0.0...v65.0.0"},"65.0.0")," (2021-02-14)"),(0,r.kt)("h3",{id:"code-refactoring-43"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkReader no longer depends on NetworkClient and NetworkServer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/15f27c4bde191106c830077c136b018e1f053430"},"15f27c4"),")"),(0,r.kt)("li",{parentName:"ul"},"readers no longer depends on NetworkClient and NetworkServer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/583"},"#583"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/177c307dfd69816844565f0f3aeb6d1c71663652"},"177c307"),")")),(0,r.kt)("h3",{id:"breaking-changes-84"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkReader no longer have .Client and .Server, it has a .ObjectLocator instead"),(0,r.kt)("li",{parentName:"ul"},"NetworkReader no longer have .Client and .Server, it has a .ObjectLocator instead")),(0,r.kt)("h1",{id:"6400-2021-02-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v63.5.0...v64.0.0"},"64.0.0")," (2021-02-14)"),(0,r.kt)("h3",{id:"code-refactoring-44"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"separate player ownership from NetworkServer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/580"},"#580"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8d7efa6a3d02df8b5cef8399f0efcc286c2cbf5f"},"8d7efa6"),")")),(0,r.kt)("h3",{id:"breaking-changes-85"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"SendToClientOfPlayer removed. Use identity.ConnectionToClient.Send() instead")),(0,r.kt)("h1",{id:"6350-2021-02-10"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v63.4.0...v63.5.0"},"63.5.0")," (2021-02-10)"),(0,r.kt)("h3",{id:"features-140"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Notify acks messages in one way messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/07ca15df5765528b7ff478cc13fc327a86ca9968"},"07ca15d"),")")),(0,r.kt)("h3",{id:"performance-improvements-36"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"no need to send initial empty notify (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8fbe346012d58c8ab0f3be0cbaa5dc43a8cbc7b1"},"8fbe346"),")")),(0,r.kt)("h1",{id:"6340-2021-02-09"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v63.3.5...v63.4.0"},"63.4.0")," (2021-02-09)"),(0,r.kt)("h3",{id:"features-141"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"open changelog page when user downloaded a new version (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/571"},"#571"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d9ed96e118d2da0d5ffe6aac755f6da00d7204e7"},"d9ed96e"),")")),(0,r.kt)("h2",{id:"6335-2021-02-07"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v63.3.4...v63.3.5"},"63.3.5")," (2021-02-07)"),(0,r.kt)("h3",{id:"bug-fixes-244"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"nre issues when trying to reload back in the same instance to a \u2026 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/570"},"#570"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/158ea2ff61b4a6fca27a6b12588f279fe02c131d"},"158ea2f"),")")),(0,r.kt)("h2",{id:"6334-2021-02-07"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v63.3.3...v63.3.4"},"63.3.4")," (2021-02-07)"),(0,r.kt)("h3",{id:"bug-fixes-245"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"increase log level of full server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/572"},"#572"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c4ce23978d362969ed9d491d88c85f5ce7a48470"},"c4ce239"),")")),(0,r.kt)("h2",{id:"6333-2021-02-05"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v63.3.2...v63.3.3"},"63.3.3")," (2021-02-05)"),(0,r.kt)("h3",{id:"reverts-2"},"Reverts"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},'Revert "fix: support legacy Weaver (#546)" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d58725f1d1a5a96262cc0ecd007663983de354d4"},"d58725f"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/546"},"#546"))),(0,r.kt)("h2",{id:"6332-2021-02-04"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v63.3.1...v63.3.2"},"63.3.2")," (2021-02-04)"),(0,r.kt)("h3",{id:"bug-fixes-246"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"support legacy Weaver (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/546"},"#546"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e1bbc035169a7d0f15293afabf2b362f949e8a78"},"e1bbc03"),")")),(0,r.kt)("h2",{id:"6331-2021-02-04"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v63.3.0...v63.3.1"},"63.3.1")," (2021-02-04)"),(0,r.kt)("h3",{id:"bug-fixes-247"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"client throwing exception when force disconnecting (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/567"},"#567"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a69b4989309fc00520be394e71bcb49d67d9889b"},"a69b498"),")")),(0,r.kt)("h1",{id:"6330-2021-02-03"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v63.2.1...v63.3.0"},"63.3.0")," (2021-02-03)"),(0,r.kt)("h3",{id:"bug-fixes-248"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remove last start call (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b8fc97d1b22f18447849929d056305b34859face"},"b8fc97d"),")")),(0,r.kt)("h3",{id:"features-142"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"explicit declaration of network messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/565"},"#565"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b0610e2c6fb8fb99d9accc02a3f464cae24b6f85"},"b0610e2"),")")),(0,r.kt)("h2",{id:"6321-2021-02-03"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v63.2.0...v63.2.1"},"63.2.1")," (2021-02-03)"),(0,r.kt)("h3",{id:"bug-fixes-249"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"built in messages get an id (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fe71bcdfe4a4af3b3018d05a8e2b37b452868931"},"fe71bcd"),")")),(0,r.kt)("h1",{id:"6320-2021-02-03"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v63.1.0...v63.2.0"},"63.2.0")," (2021-02-03)"),(0,r.kt)("h3",{id:"features-143"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"raise event when spawning objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/564"},"#564"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/60725d951cd6dc9718dd2801b8cf648b86b474fc"},"60725d9"),")")),(0,r.kt)("h1",{id:"6310-2021-02-03"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v63.0.1...v63.1.0"},"63.1.0")," (2021-02-03)"),(0,r.kt)("h3",{id:"features-144"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"spawn an object by network identity ref (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/561"},"#561"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/87a520df3361bf030af6734f955571f36bab6f40"},"87a520d"),")")),(0,r.kt)("h2",{id:"6301-2021-02-03"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v63.0.0...v63.0.1"},"63.0.1")," (2021-02-03)"),(0,r.kt)("h3",{id:"bug-fixes-250"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"better benchmark (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/562"},"#562"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/731f13bdc23f93a8a5808cfc59d263115609e3c4"},"731f13b"),")")),(0,r.kt)("h1",{id:"6300-2021-02-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v62.10.0...v63.0.0"},"63.0.0")," (2021-02-02)"),(0,r.kt)("h3",{id:"bug-fixes-251"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"object references in examples (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/06d89c07262b2562bbef33de37615a32356cd1ee"},"06d89c0"),")")),(0,r.kt)("h3",{id:"styles-2"},"Styles"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Use PascalCase for public fields (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9dc94c10e05396a14514ea3bf43276830fe061f1"},"9dc94c1"),")"),(0,r.kt)("li",{parentName:"ul"},"Use PascalCase for public fields (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8a195f607f671f05ffaa9cf9b9cc9067e46cba35"},"8a195f6"),")"),(0,r.kt)("li",{parentName:"ul"},"Use PascalCase for public fields (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8366e80e7887112a23f0b03a97bae47893be3bf4"},"8366e80"),")"),(0,r.kt)("li",{parentName:"ul"},"Use PascalCase for public fields (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2717957b13523f4d93199f7afda46a5f41ec53ce"},"2717957"),")"),(0,r.kt)("li",{parentName:"ul"},"Use PascalCase for public fields (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f1758d306e4c300e1f357f7fb3c242b34df421fc"},"f1758d3"),")"),(0,r.kt)("li",{parentName:"ul"},"Use PascalCase for public fields (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e478d8d2df6611fc572f49693cc66eb0bf89a856"},"e478d8d"),")"),(0,r.kt)("li",{parentName:"ul"},"Use PascalCase for public fields (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5f880329539eebaa84bed45dfb6e5ed3aedb7dec"},"5f88032"),")")),(0,r.kt)("h3",{id:"breaking-changes-86"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"HeadlessAutoStart.* renamed to follow PascalCase"),(0,r.kt)("li",{parentName:"ul"},"OnlineOfflineScene to use PascalCase"),(0,r.kt)("li",{parentName:"ul"},"PlayerSpawner.* renamed to follow PascalCase"),(0,r.kt)("li",{parentName:"ul"},"NetworkManager fields renamed to PascalCase"),(0,r.kt)("li",{parentName:"ul"},"ClientObjectManager.client renamed to .Client"),(0,r.kt)("li",{parentName:"ul"},"ClientObjectManager.networkSceneManager renamed to .NetworkSceneManager"),(0,r.kt)("li",{parentName:"ul"},"ServerObjectManager.server renamed to .Server"),(0,r.kt)("li",{parentName:"ul"},"ServerObjectManager.networkSceneManager renamed to .NetworkSceneManager"),(0,r.kt)("li",{parentName:"ul"},"NetworkSceneManager.client renamed to .Client"),(0,r.kt)("li",{parentName:"ul"},"NetworkSceneManager.server renamed to .Server")),(0,r.kt)("h1",{id:"62100-2021-02-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v62.9.8...v62.10.0"},"62.10.0")," (2021-02-01)"),(0,r.kt)("h3",{id:"features-145"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"recommend Fast3 as default for performance (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/559"},"#559"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8cbf6e69a0075310d720e21897fe22a66b6e28e8"},"8cbf6e6"),")")),(0,r.kt)("h2",{id:"6298-2021-02-01"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.9.7...v62.9.8"},"62.9.8")," (2021-02-01)"),(0,r.kt)("h3",{id:"bug-fixes-252"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remove GC from demo (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2474a0cad61261160a361ddf4c64be7a3343ccd5"},"2474a0c"),")")),(0,r.kt)("h2",{id:"6297-2021-02-01"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.9.6...v62.9.7"},"62.9.7")," (2021-02-01)"),(0,r.kt)("h3",{id:"bug-fixes-253"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add ignorance support with defines for test (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/35634d599c4d8a7b71a1866491200745bcf5928f"},"35634d5"),")"),(0,r.kt)("li",{parentName:"ul"},"make test transport agnostic (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cbb00b3501c7d5fe83f42deec5dfe964fdea7592"},"cbb00b3"),")")),(0,r.kt)("h2",{id:"6296-2021-01-31"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.9.5...v62.9.6"},"62.9.6")," (2021-01-31)"),(0,r.kt)("h3",{id:"bug-fixes-254"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"move method not firing and too slow (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/56ce2fd12a8801139c7fcbd38d421abb46fc00da"},"56ce2fd"),")"),(0,r.kt)("li",{parentName:"ul"},"nre in headless example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9e8dcccea5c2f40d947dfeddb285c05ebc607405"},"9e8dccc"),")")),(0,r.kt)("h2",{id:"6295-2021-01-30"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.9.4...v62.9.5"},"62.9.5")," (2021-01-30)"),(0,r.kt)("h3",{id:"bug-fixes-255"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"bug cleaning up networkscenemanager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8db98db50268e478b52fd78642e9c34a29796cfc"},"8db98db"),")"),(0,r.kt)("li",{parentName:"ul"},"fast domain reload with Kcp (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bd3676d4d93c3d113241f95577c4ac581133696b"},"bd3676d"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/547"},"#547"))),(0,r.kt)("h2",{id:"6294-2021-01-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.9.3...v62.9.4"},"62.9.4")," (2021-01-29)"),(0,r.kt)("h3",{id:"bug-fixes-256"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"running weaver for editor scripts (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/557"},"#557"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/12a1d73061766d3c8d1bfb406a20ba4f44d18d50"},"12a1d73"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/537"},"#537")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/552"},"#552"))),(0,r.kt)("h2",{id:"6293-2021-01-27"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.9.2...v62.9.3"},"62.9.3")," (2021-01-27)"),(0,r.kt)("h3",{id:"bug-fixes-257"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"use logger in KcpConnection (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/553"},"#553"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/90df76d590306cbbaa96089d83892f8a2f50c0ce"},"90df76d"),")")),(0,r.kt)("h2",{id:"6292-2021-01-27"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.9.1...v62.9.2"},"62.9.2")," (2021-01-27)"),(0,r.kt)("h3",{id:"bug-fixes-258"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add nullable to event invokes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/554"},"#554"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/823661456a78b05bd5642167fdbbf1ea925f93e6"},"8236614"),")")),(0,r.kt)("h2",{id:"6291-2021-01-26"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.9.0...v62.9.1"},"62.9.1")," (2021-01-26)"),(0,r.kt)("h3",{id:"performance-improvements-37"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"cache component index in network behavior (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/550"},"#550"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e566545c544c218a7c4c9d8df78c7914e47b051a"},"e566545"),")")),(0,r.kt)("h1",{id:"6290-2021-01-26"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v62.8.0...v62.9.0"},"62.9.0")," (2021-01-26)"),(0,r.kt)("h3",{id:"features-146"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"notify algorithm in connection (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/549"},"#549"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/64e4bbcc5f218e3bac8c8d9f74b3a95cc26de77f"},"64e4bbc"),")")),(0,r.kt)("h1",{id:"6280-2021-01-25"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v62.7.2...v62.8.0"},"62.8.0")," (2021-01-25)"),(0,r.kt)("h3",{id:"features-147"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"sequence generator (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/548"},"#548"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/113786562272efbfb79438bb0733061cec82b718"},"1137865"),")")),(0,r.kt)("h2",{id:"6272-2021-01-24"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.7.1...v62.7.2"},"62.7.2")," (2021-01-24)"),(0,r.kt)("h3",{id:"bug-fixes-259"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"use unity's cecil (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/545"},"#545"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4da7a45d16d8262046a6ae4f5cb2015189d6e019"},"4da7a45"),")")),(0,r.kt)("h2",{id:"6271-2021-01-22"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.7.0...v62.7.1"},"62.7.1")," (2021-01-22)"),(0,r.kt)("h3",{id:"bug-fixes-260"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"simplified SetHostVisibilityExceptionNetworkBehaviour test (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/544"},"#544"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b7465a5ba139884157b3d63bd11710d68c9abb9a"},"b7465a5"),")")),(0,r.kt)("h1",{id:"6270-2021-01-22"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v62.6.1...v62.7.0"},"62.7.0")," (2021-01-22)"),(0,r.kt)("h3",{id:"features-148"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"transports can report bandwidth (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/542"},"#542"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d84b3bbc9e0cee127c2fc2c0ee8aefc8fcce2250"},"d84b3bb"),")")),(0,r.kt)("h2",{id:"6261-2021-01-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.6.0...v62.6.1"},"62.6.1")," (2021-01-20)"),(0,r.kt)("h3",{id:"bug-fixes-261"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"additive scene example fixes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/540"},"#540"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/81c6d95a253825922dd127e32a393c2288b1e823"},"81c6d95"),")")),(0,r.kt)("h1",{id:"6260-2021-01-20"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v62.5.5...v62.6.0"},"62.6.0")," (2021-01-20)"),(0,r.kt)("h3",{id:"features-149"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add Online and Offline scene support via optional component (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/505"},"#505"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a83dd5fa263900eae7882b2434940e20393fd674"},"a83dd5f"),")")),(0,r.kt)("h2",{id:"6255-2021-01-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.5.4...v62.5.5"},"62.5.5")," (2021-01-20)"),(0,r.kt)("h3",{id:"bug-fixes-262"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"additive scene example not working (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/534"},"#534"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1580627f8de7ba521c3b105074e293f92e8fbee0"},"1580627"),")")),(0,r.kt)("h2",{id:"6254-2021-01-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.5.3...v62.5.4"},"62.5.4")," (2021-01-19)"),(0,r.kt)("h3",{id:"bug-fixes-263"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"don't destroy network scene objects on server stop (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/518"},"#518"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c9d03870210a130fa47237d14144a033585de481"},"c9d0387"),")")),(0,r.kt)("h2",{id:"6253-2021-01-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.5.2...v62.5.3"},"62.5.3")," (2021-01-19)"),(0,r.kt)("h3",{id:"performance-improvements-38"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"avoid weaving editor scripts (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/537"},"#537"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/42967f3b407d0fcfbcd7b1bd92f6b1a525ccf307"},"42967f3"),")")),(0,r.kt)("h2",{id:"6252-2021-01-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.5.1...v62.5.2"},"62.5.2")," (2021-01-19)"),(0,r.kt)("h3",{id:"bug-fixes-264"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"error saving field name SYNC_VAR_COUNT (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/536"},"#536"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cbc52e5fecc2c9aaadc3b7e2a0d886b2a6353afa"},"cbc52e5"),")")),(0,r.kt)("h2",{id:"6251-2021-01-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.5.0...v62.5.1"},"62.5.1")," (2021-01-19)"),(0,r.kt)("h3",{id:"bug-fixes-265"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"invalid IL with NI syncvars with hooks (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/535"},"#535"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/49f614169b5deae4a4dd93e22b003f3f11b7ea03"},"49f6141"),")")),(0,r.kt)("h1",{id:"6250-2021-01-18"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v62.4.1...v62.5.0"},"62.5.0")," (2021-01-18)"),(0,r.kt)("h3",{id:"features-150"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Add ConnectAsync overload with port. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/516"},"#516"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0a9558f1d474e3463fa5b79f38c6044da7bf856b"},"0a9558f"),")")),(0,r.kt)("h2",{id:"6241-2021-01-15"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.4.0...v62.4.1"},"62.4.1")," (2021-01-15)"),(0,r.kt)("h3",{id:"bug-fixes-266"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"unbound allocation (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1fe1bf6905eb1e860736781e01f309689051ee38"},"1fe1bf6"),")")),(0,r.kt)("h1",{id:"6240-2021-01-13"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v62.3.0...v62.4.0"},"62.4.0")," (2021-01-13)"),(0,r.kt)("h3",{id:"features-151"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"set the assembly version in all assemblies (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/531"},"#531"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/da381bd575298ddc44a7f3ac9c5291f704ff5e54"},"da381bd"),")")),(0,r.kt)("h1",{id:"6230-2021-01-12"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v62.2.0...v62.3.0"},"62.3.0")," (2021-01-12)"),(0,r.kt)("h3",{id:"features-152"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"writer generation errors link to code (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b76e87311aaf23f7292a14887a5d5bc2cb319239"},"b76e873"),")")),(0,r.kt)("h1",{id:"6220-2021-01-12"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v62.1.0...v62.2.0"},"62.2.0")," (2021-01-12)"),(0,r.kt)("h3",{id:"features-153"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"reader generation errors link to the code (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/99a70fe695cdabd70d9a484667f20c4c1af0a1dd"},"99a70fe"),")")),(0,r.kt)("h1",{id:"6210-2021-01-11"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v62.0.1...v62.1.0"},"62.1.0")," (2021-01-11)"),(0,r.kt)("h3",{id:"features-154"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"send NI, NB and GO in RPC (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/528"},"#528"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/428ca63711020cac9accf555ac63feb2495fe965"},"428ca63"),")")),(0,r.kt)("h2",{id:"6201-2021-01-11"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v62.0.0...v62.0.1"},"62.0.1")," (2021-01-11)"),(0,r.kt)("h3",{id:"bug-fixes-267"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Use Guid.Empty in the tests (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e900d33f23486d0acb0794a9ff3932caae06ced0"},"e900d33"),")")),(0,r.kt)("h1",{id:"6200-2021-01-11"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v61.1.2...v62.0.0"},"62.0.0")," (2021-01-11)"),(0,r.kt)("h3",{id:"features-155"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"use ILPostProcessor for weaver (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/525"},"#525"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/def64cd1db525398738f057b3d1eb1fe8afc540c"},"def64cd"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com//forum.unity.com/threads/how-does-unity-do-codegen-and-why-cant-i-do-it-myself.853867//issues/post-5646937"},"/forum.unity.com/threads/how-does-unity-do-codegen-and-why-cant-i-do-it-myself.853867/#post-5646937"))),(0,r.kt)("h3",{id:"breaking-changes-87"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mirage assembly no longer contains the components. Reference Mirror.Components instead."),(0,r.kt)("li",{parentName:"ul"},"Editor scripts are no longer weaved")),(0,r.kt)("h2",{id:"6112-2021-01-09"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v61.1.1...v61.1.2"},"61.1.2")," (2021-01-09)"),(0,r.kt)("h3",{id:"bug-fixes-268"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NullReferenceException destroying objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/526"},"#526"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3ad2608e9e5223f72aba2458b97e5ec45ca15d94"},"3ad2608"),")")),(0,r.kt)("h2",{id:"6111-2021-01-08"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v61.1.0...v61.1.1"},"61.1.1")," (2021-01-08)"),(0,r.kt)("h3",{id:"bug-fixes-269"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"warning with missing Transport folder (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/be5aa693fc439f309e257e202cc77172597218c0"},"be5aa69"),")")),(0,r.kt)("h1",{id:"6110-2021-01-05"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v61.0.2...v61.1.0"},"61.1.0")," (2021-01-05)"),(0,r.kt)("h3",{id:"features-156"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"allow for generic NetworkBehaviors (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/519"},"#519"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2858ff4cbb32cf22015389d57cdff182034624a1"},"2858ff4"),")")),(0,r.kt)("h2",{id:"6102-2021-01-02"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v61.0.1...v61.0.2"},"61.0.2")," (2021-01-02)"),(0,r.kt)("h3",{id:"bug-fixes-270"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"method access exception with serverrpc that return something (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8cb00e9f3253932008cf165636c4b5427be9aebe"},"8cb00e9"),")")),(0,r.kt)("h2",{id:"6101-2020-12-31"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v61.0.0...v61.0.1"},"61.0.1")," (2020-12-31)"),(0,r.kt)("h3",{id:"bug-fixes-271"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Icon in welcome window (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eb97cefb5880372e353b45bff5084a7ebe92da3c"},"eb97cef"),")")),(0,r.kt)("h1",{id:"6100-2020-12-31"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v60.4.1...v61.0.0"},"61.0.0")," (2020-12-31)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Removed NetworkDiscovery (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0df3afc2616d53785aa6d2d676473251ead811b2"},"0df3afc"),")")),(0,r.kt)("h3",{id:"breaking-changes-88"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Moved NetworkDiscovery to a separate repo")),(0,r.kt)("h2",{id:"6041-2020-12-30"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v60.4.0...v60.4.1"},"60.4.1")," (2020-12-30)"),(0,r.kt)("h3",{id:"bug-fixes-272"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NRE in welcome window (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e4e2fa52691c201e7b051af8bbc1dfdce4be84e5"},"e4e2fa5"),")")),(0,r.kt)("h1",{id:"6040-2020-12-29"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v60.3.0...v60.4.0"},"60.4.0")," (2020-12-29)"),(0,r.kt)("h3",{id:"features-157"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"SyncVar support arbitrary NetworkBehavior (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/514"},"#514"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/67b0c9f16dc9a8e7065d1bcf0140a479494eb76c"},"67b0c9f"),")")),(0,r.kt)("h1",{id:"6030-2020-12-29"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v60.2.0...v60.3.0"},"60.3.0")," (2020-12-29)"),(0,r.kt)("h3",{id:"features-158"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Support gameobjects in syncvars (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/513"},"#513"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/29fb1018fad55a6c392be002906da5cc0d79163c"},"29fb101"),")")),(0,r.kt)("h1",{id:"6020-2020-12-27"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v60.1.1...v60.2.0"},"60.2.0")," (2020-12-27)"),(0,r.kt)("h3",{id:"features-159"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"UIElements Welcome Window (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/510"},"#510"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/654c5e1a91a994d4c763281c1c22e91298826fb4"},"654c5e1"),")")),(0,r.kt)("h2",{id:"6011-2020-12-27"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v60.1.0...v60.1.1"},"60.1.1")," (2020-12-27)"),(0,r.kt)("h3",{id:"bug-fixes-273"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"runtime version (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/10e7d6e4d87b923962f9f8bed713db28a21f0354"},"10e7d6e"),")"),(0,r.kt)("li",{parentName:"ul"},"runtime version (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/51b925f924d6ed0877c2a5f72ebf753f284b4ca2"},"51b925f"),")")),(0,r.kt)("h1",{id:"6010-2020-12-27"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v60.0.1...v60.1.0"},"60.1.0")," (2020-12-27)"),(0,r.kt)("h3",{id:"features-160"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Provide mirrorng version at runtime (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/511"},"#511"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b2df97248a845a412f27004b43bc75f99a58ae1e"},"b2df972"),")")),(0,r.kt)("h2",{id:"6001-2020-12-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v60.0.0...v60.0.1"},"60.0.1")," (2020-12-19)"),(0,r.kt)("h3",{id:"bug-fixes-274"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"network objects not destroyed on server stop (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/468"},"#468"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/abf5f2f4fb4375c7fece06d3e11ce79408ac9666"},"abf5f2f"),")")),(0,r.kt)("h1",{id:"6000-2020-12-19"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v59.2.1...v60.0.0"},"60.0.0")," (2020-12-19)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remove serverOnly (#496) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0ef5c33418bf1550d664ed942eede165752fca7e"},"0ef5c33"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/496"},"#496")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/389"},"#389")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/389"},"#389"))),(0,r.kt)("h3",{id:"bug-fixes-275"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"prevent DoS attacks with invalid array length (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/500"},"#500"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/78e60777fae6ba63e34406b75ccfe074363ed593"},"78e6077"),")")),(0,r.kt)("h3",{id:"breaking-changes-89"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove serverOnly option in NetworkIdentity")),(0,r.kt)("h2",{id:"5921-2020-11-30"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v59.2.0...v59.2.1"},"59.2.1")," (2020-11-30)"),(0,r.kt)("h3",{id:"bug-fixes-276"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"font color in basic example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a9dfb3fdac79b68f900d71c48cdc9dc07cffba1e"},"a9dfb3f"),")")),(0,r.kt)("h3",{id:"performance-improvements-39"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Ping now goes over unreliable channel (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/507"},"#507"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/096d62dd6c6536358939614ac61c258f6f4e0a8d"},"096d62d"),")")),(0,r.kt)("h1",{id:"5920-2020-11-28"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v59.1.0...v59.2.0"},"59.2.0")," (2020-11-28)"),(0,r.kt)("h3",{id:"features-161"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Quaternion compression (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/501"},"#501"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c67f8737bd20f61a4c403c0726d27d56f0464b07"},"c67f873"),")")),(0,r.kt)("h1",{id:"5910-2020-11-25"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v59.0.8...v59.1.0"},"59.1.0")," (2020-11-25)"),(0,r.kt)("h3",{id:"features-162"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"User can now configure window size (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ec0b8397d958f0317b3354f0f83d85f496495c49"},"ec0b839"),")")),(0,r.kt)("h2",{id:"5908-2020-11-23"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v59.0.7...v59.0.8"},"59.0.8")," (2020-11-23)"),(0,r.kt)("h3",{id:"bug-fixes-277"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"check for log level for warnings (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/445"},"#445"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/90013eaaaab4668cbb99f8ffa2b463f136253006"},"90013ea"),")")),(0,r.kt)("h2",{id:"5907-2020-11-23"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v59.0.6...v59.0.7"},"59.0.7")," (2020-11-23)"),(0,r.kt)("h3",{id:"bug-fixes-278"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"use OnDestroy to Unsubscribe in comps like ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/480"},"#480")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/481"},"#481"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3dd66c079fbd2ad2b7c57c5d39421a85755c2e30"},"3dd66c0"),")")),(0,r.kt)("h2",{id:"5906-2020-11-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v59.0.5...v59.0.6"},"59.0.6")," (2020-11-20)"),(0,r.kt)("h3",{id:"bug-fixes-279"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"script not found error with NetworkDiscoveryHud (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/494"},"#494"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8e39e219aed3ca62b9f5766059e711da7540a629"},"8e39e21"),")")),(0,r.kt)("h2",{id:"5905-2020-11-14"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v59.0.4...v59.0.5"},"59.0.5")," (2020-11-14)"),(0,r.kt)("h3",{id:"bug-fixes-280"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"generate reader for types in other assemblies (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b685226bbc9442d5901d4968492b63dc852e2704"},"b685226"),")"),(0,r.kt)("li",{parentName:"ul"},"generate writer for types in other assemblies (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8385c29c23a2b702e2c0d7f156a803d57efc0f5d"},"8385c29"),")")),(0,r.kt)("h2",{id:"5904-2020-11-14"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v59.0.3...v59.0.4"},"59.0.4")," (2020-11-14)"),(0,r.kt)("h3",{id:"bug-fixes-281"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"using mathematics in commands and rpcs (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/492"},"#492"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ee278415652ff6087fd8e45f15be3cf7f01181b8"},"ee27841"),")")),(0,r.kt)("h2",{id:"5903-2020-11-10"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v59.0.2...v59.0.3"},"59.0.3")," (2020-11-10)"),(0,r.kt)("h3",{id:"bug-fixes-282"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"calling base command in other assemblies (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e49fda13bdb227c80185d3bd02062649bc2124b1"},"e49fda1"),")"),(0,r.kt)("li",{parentName:"ul"},"error importing scriptable object from another module (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6cdd1127b88117765953c74d49071e19af471817"},"6cdd112"),")")),(0,r.kt)("h2",{id:"5902-2020-11-10"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v59.0.1...v59.0.2"},"59.0.2")," (2020-11-10)"),(0,r.kt)("h3",{id:"bug-fixes-283"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"logs now save properly when reloading (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/19c86e7d5c68ff044f5a92f374a2a1944c05895e"},"19c86e7"),")")),(0,r.kt)("h2",{id:"5901-2020-11-07"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v59.0.0...v59.0.1"},"59.0.1")," (2020-11-07)"),(0,r.kt)("h3",{id:"bug-fixes-284"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"don't consume so much memory registering prefabs (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/486"},"#486"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d451782f60a9f7066686f2dff2b68cc60fa8c725"},"d451782"),")")),(0,r.kt)("h1",{id:"5900-2020-11-06"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v58.0.1...v59.0.0"},"59.0.0")," (2020-11-06)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Transport now has connected and started events. (#479) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3e7f688d05a0252aed8af8f058441b904cd13531"},"3e7f688"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/479"},"#479"))),(0,r.kt)("h3",{id:"breaking-changes-90"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Add Connected event to Transport API"),(0,r.kt)("li",{parentName:"ul"},"Add Started event to Transport API"),(0,r.kt)("li",{parentName:"ul"},"ListenAsync returns a task that completes when the transport stops"),(0,r.kt)("li",{parentName:"ul"},"Remove AcceptAsync from transports")),(0,r.kt)("h2",{id:"5801-2020-11-05"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v58.0.0...v58.0.1"},"58.0.1")," (2020-11-05)"),(0,r.kt)("h3",{id:"bug-fixes-285"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Restarting host does not start player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/480"},"#480"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/11cb7f2da4b6eda9c19bbd3844523396a713d648"},"11cb7f2"),")")),(0,r.kt)("h1",{id:"5800-2020-11-05"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v57.0.0...v58.0.0"},"58.0.0")," (2020-11-05)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ClientObjectManager now requires NetworkIdentity (#475) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/103593bdb3ffb78ad27714f68424e2250ed99008"},"103593b"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/475"},"#475"))),(0,r.kt)("h3",{id:"breaking-changes-91"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Now you can only assign prefabs with NetworkIdentity to the ClientObjectManager")),(0,r.kt)("h1",{id:"5700-2020-11-05"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v56.5.0...v57.0.0"},"57.0.0")," (2020-11-05)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove redundant spawn handler (#476) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9bbf0dc824efb068b5c181ce0ee3fd519da0380f"},"9bbf0dc"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/476"},"#476"))),(0,r.kt)("h3",{id:"breaking-changes-92"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Removed redundant spawn handler")),(0,r.kt)("h1",{id:"5650-2020-11-04"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v56.4.4...v56.5.0"},"56.5.0")," (2020-11-04)"),(0,r.kt)("h3",{id:"features-163"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ClientObjectManager is available in network behaviors (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/466"},"#466"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d0d0b2a4c910fa89065b0f0144f63ed3a2ce9dac"},"d0d0b2a"),")")),(0,r.kt)("h2",{id:"5644-2020-11-04"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v56.4.3...v56.4.4"},"56.4.4")," (2020-11-04)"),(0,r.kt)("h3",{id:"bug-fixes-286"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"do not cache lastReceived in release (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9a15863565259888dca5570c64df8fbbba476988"},"9a15863"),")")),(0,r.kt)("h2",{id:"5643-2020-11-03"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v56.4.2...v56.4.3"},"56.4.3")," (2020-11-03)"),(0,r.kt)("h3",{id:"bug-fixes-287"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"PlayerSpawner depends on ClientObjectManager throw if missing (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/472"},"#472"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0ab0a7040c2809cab111557345bb4f56c5cccda9"},"0ab0a70"),")")),(0,r.kt)("h2",{id:"5642-2020-11-03"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v56.4.1...v56.4.2"},"56.4.2")," (2020-11-03)"),(0,r.kt)("h3",{id:"bug-fixes-288"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"better transport checks on NS and NC (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/464"},"#464"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7703d8042875521177e5c5fa2755091563148601"},"7703d80"),")"),(0,r.kt)("li",{parentName:"ul"},"old refs to NetMan (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0df8c897330199933a309248ef286b2cb652ea14"},"0df8c89"),")")),(0,r.kt)("h2",{id:"5641-2020-11-03"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v56.4.0...v56.4.1"},"56.4.1")," (2020-11-03)"),(0,r.kt)("h3",{id:"bug-fixes-289"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"DoS vector in kcp accept (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/469"},"#469"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6964bc6a34147a916ff49fa1fabcd933f9efce42"},"6964bc6"),")")),(0,r.kt)("h1",{id:"5640-2020-11-03"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v56.3.4...v56.4.0"},"56.4.0")," (2020-11-03)"),(0,r.kt)("h3",{id:"features-164"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"return values from ","[ServerRpc]"," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/454"},"#454"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0d076a72c30daea0d343523bdf38dc1f9e14739d"},"0d076a7"),")")),(0,r.kt)("h2",{id:"5634-2020-11-03"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v56.3.3...v56.3.4"},"56.3.4")," (2020-11-03)"),(0,r.kt)("h3",{id:"bug-fixes-290"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"added missing UniTask.asmdef reference to Mirror.Weaver.asmdef (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/463"},"#463"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bcb8ae73f4ebc949d10d8abec6e57a2737bfd276"},"bcb8ae7"),")")),(0,r.kt)("h2",{id:"5633-2020-11-02"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v56.3.2...v56.3.3"},"56.3.3")," (2020-11-02)"),(0,r.kt)("h3",{id:"bug-fixes-291"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"prevent NRE if client is not present on server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/461"},"#461"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/357da87d530e8bdb01e2eb0967d75a7a354c92b1"},"357da87"),")")),(0,r.kt)("h2",{id:"5632-2020-11-02"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v56.3.1...v56.3.2"},"56.3.2")," (2020-11-02)"),(0,r.kt)("h3",{id:"bug-fixes-292"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"NetworkAnimator:")," fixing trigger not applied on host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/49b532546f22074ff1478bf76ecd78f2406a1b55"},"49b5325"),")")),(0,r.kt)("h2",{id:"5631-2020-11-02"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v56.3.0...v56.3.1"},"56.3.1")," (2020-11-02)"),(0,r.kt)("h3",{id:"bug-fixes-293"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"accept after disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3d06e8aa9b21c667b231a609cf194e517b75438c"},"3d06e8a"),")"),(0,r.kt)("li",{parentName:"ul"},"add missing reset (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4f75b925fb72077c9e2d0ee56b9b99cc14e44281"},"4f75b92"),")")),(0,r.kt)("h1",{id:"5630-2020-11-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v56.2.0...v56.3.0"},"56.3.0")," (2020-11-02)"),(0,r.kt)("h3",{id:"features-165"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"throw exception if invalid rpc (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/456"},"#456"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3cef90d3a059dd0311b59ce6561fe9abe798b9e4"},"3cef90d"),")")),(0,r.kt)("h1",{id:"5620-2020-11-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v56.1.2...v56.2.0"},"56.2.0")," (2020-11-02)"),(0,r.kt)("h3",{id:"features-166"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"server sends list of additive scenes upon connect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/451"},"#451"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3d0b6c5ad2401798cfd19fdba7f71d0817c67854"},"3d0b6c5"),")")),(0,r.kt)("h2",{id:"5612-2020-10-31"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v56.1.1...v56.1.2"},"56.1.2")," (2020-10-31)"),(0,r.kt)("h3",{id:"bug-fixes-294"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"client NRE for objects spawned in .Started in hostmode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/453"},"#453"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/918504c1b7a16f44dcb6c348150ac078869766c3"},"918504c"),")")),(0,r.kt)("h2",{id:"5611-2020-10-30"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v56.1.0...v56.1.1"},"56.1.1")," (2020-10-30)"),(0,r.kt)("h3",{id:"bug-fixes-295"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"disconnect transport when play mode exits (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/449"},"#449"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e74180947103fd41c2f3ecfad917825c16c18627"},"e741809"),")")),(0,r.kt)("h1",{id:"5610-2020-10-30"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v56.0.2...v56.1.0"},"56.1.0")," (2020-10-30)"),(0,r.kt)("h3",{id:"features-167"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add quick access ref to NetIdentity.ServerObjectManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/444"},"#444"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d691ca4e2c7c7abd6d746718ceca577d41c3b606"},"d691ca4"),")")),(0,r.kt)("h2",{id:"5602-2020-10-30"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v56.0.1...v56.0.2"},"56.0.2")," (2020-10-30)"),(0,r.kt)("h3",{id:"bug-fixes-296"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"third try to prevent double load (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/447"},"#447"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/347d176c83f9e43c177b450688899191f4221fe7"},"347d176"),")")),(0,r.kt)("h2",{id:"5601-2020-10-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v56.0.0...v56.0.1"},"56.0.1")," (2020-10-29)"),(0,r.kt)("h3",{id:"bug-fixes-297"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"host wasnt loading with additive fix (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cd6110a1350387a915a07bf348418713717d8816"},"cd6110a"),")"),(0,r.kt)("li",{parentName:"ul"},"wrong text in exception (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d0d55811fb8e143b9d745cc73f2a0ee65332878e"},"d0d5581"),")")),(0,r.kt)("h1",{id:"5600-2020-10-29"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v55.0.1...v56.0.0"},"56.0.0")," (2020-10-29)"),(0,r.kt)("h3",{id:"breaking"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add ServerObjectManager for object spawning (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/443"},"#443"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7abf3556284d831e5e85993f7f264c28c97df458"},"7abf355"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/438"},"#438"))),(0,r.kt)("h3",{id:"breaking-changes-93"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkServer no longer spawns objects, add a ServerObjectManager for that")),(0,r.kt)("h2",{id:"5501-2020-10-27"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v55.0.0...v55.0.1"},"55.0.1")," (2020-10-27)"),(0,r.kt)("h3",{id:"bug-fixes-298"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"weaver:")," NRE with basic authenticator (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/440"},"#440"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/68480db93762b0f08f9e28c22512a546109bf7bc"},"68480db"),")")),(0,r.kt)("h1",{id:"5500-2020-10-27"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v54.1.1...v55.0.0"},"55.0.0")," (2020-10-27)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"no need for NM here (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/78b3b1061eb9183a54f3c5ea9614804f5474716e"},"78b3b10"),")")),(0,r.kt)("h3",{id:"breaking-changes-94"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Authenticator does not have dependency on NM anymore")),(0,r.kt)("h2",{id:"5411-2020-10-26"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v54.1.0...v54.1.1"},"54.1.1")," (2020-10-26)"),(0,r.kt)("h3",{id:"bug-fixes-299"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"local client loading additive scene twice. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5a74fb0573b254e8c0cbb9c86d38e3bbe2724f77"},"5a74fb0"),")")),(0,r.kt)("h1",{id:"5410-2020-10-26"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v54.0.0...v54.1.0"},"54.1.0")," (2020-10-26)"),(0,r.kt)("h3",{id:"features-168"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"log settings component (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/439"},"#439"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9f06f2e527a816994f16903575bb11ec14d24ce6"},"9f06f2e"),")")),(0,r.kt)("h1",{id:"5400-2020-10-25"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v53.0.1...v54.0.0"},"54.0.0")," (2020-10-25)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ReceiveAsync throws EndOfStreamException (#435) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/faf2e54abe07beb0405657f41e166212f3ae00ff"},"faf2e54"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/435"},"#435"))),(0,r.kt)("h3",{id:"breaking-changes-95"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"External transports will need an update")),(0,r.kt)("h2",{id:"5301-2020-10-24"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v53.0.0...v53.0.1"},"53.0.1")," (2020-10-24)"),(0,r.kt)("h3",{id:"performance-improvements-40"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"faster component serialization (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/430"},"#430"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b67502711798bebe15ae58c96d6b09145fe0e8ed"},"b675027"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2331"},"#2331"))),(0,r.kt)("h1",{id:"5300-2020-10-23"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v52.1.1...v53.0.0"},"53.0.0")," (2020-10-23)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove FallbackTransport (#432) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/261bf24bfcf5a201e7e96ba1a4dc16f9429f8121"},"261bf24"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/432"},"#432")),(0,r.kt)("li",{parentName:"ul"},"Remove FallbackTransport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2c042021b965322e7fc08d9f82177bf9cf5268ff"},"2c04202"),")")),(0,r.kt)("h3",{id:"breaking-changes-96"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"FallbackTransport removed")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fix docs")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"FallbackTransport removed"))),(0,r.kt)("h2",{id:"5211-2020-10-23"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v52.1.0...v52.1.1"},"52.1.1")," (2020-10-23)"),(0,r.kt)("h3",{id:"performance-improvements-41"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"simplify NetworkWriter/Reader dispose (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/431"},"#431"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bf62345f22137dd69f476b5ae1b2da63029e68a9"},"bf62345"),")")),(0,r.kt)("h1",{id:"5210-2020-10-23"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v52.0.1...v52.1.0"},"52.1.0")," (2020-10-23)"),(0,r.kt)("h3",{id:"features-169"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"SyncDictionary raise event when initially synchronized (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/23349af382ca911e4b16d30b811a3acb4f5ab7b9"},"23349af"),")"),(0,r.kt)("li",{parentName:"ul"},"SyncList raise event when initially synchronized (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9f679c5706df22ea18345d5f0b40833089171110"},"9f679c5"),")"),(0,r.kt)("li",{parentName:"ul"},"SyncSet raise event when initially synchronized (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/03f20751a871e63c8e34382b2c1d09ce0275860c"},"03f2075"),")")),(0,r.kt)("h1",{id:"5210-2020-10-23-1"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v52.0.1...v52.1.0"},"52.1.0")," (2020-10-23)"),(0,r.kt)("h3",{id:"features-170"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"SyncDictionary raise event when initially synchronized (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/23349af382ca911e4b16d30b811a3acb4f5ab7b9"},"23349af"),")"),(0,r.kt)("li",{parentName:"ul"},"SyncList raise event when initially synchronized (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9f679c5706df22ea18345d5f0b40833089171110"},"9f679c5"),")"),(0,r.kt)("li",{parentName:"ul"},"SyncSet raise event when initially synchronized (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/03f20751a871e63c8e34382b2c1d09ce0275860c"},"03f2075"),")")),(0,r.kt)("h2",{id:"5201-2020-10-23"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v52.0.0...v52.0.1"},"52.0.1")," (2020-10-23)"),(0,r.kt)("h3",{id:"bug-fixes-300"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"use the spawn calls that already happen via scene loading (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/426"},"#426"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cc19f3b1b1e69e7f6b46d800fba75adfd468cca3"},"cc19f3b"),")")),(0,r.kt)("h1",{id:"5200-2020-10-22"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v51.1.5...v52.0.0"},"52.0.0")," (2020-10-22)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove TcpTransport (#425) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/076c05a8473d08ecb3d886d59b9a32d7b12c3eff"},"076c05a"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/425"},"#425"))),(0,r.kt)("h3",{id:"bug-fixes-301"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"names and refs clear that PATH should be sent in scene msg (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/423"},"#423"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c68189cc62d59cade5f27245d566129a6fb77b72"},"c68189c"),")")),(0,r.kt)("h3",{id:"breaking-changes-97"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"TCPTransport removed. Use KCPTransport instead")),(0,r.kt)("h2",{id:"5115-2020-10-22"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v51.1.4...v51.1.5"},"51.1.5")," (2020-10-22)"),(0,r.kt)("h3",{id:"bug-fixes-302"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"TCPTransport is obsolete, use KCPTransport instead (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c031ae99b1666f76494bed80ca32df438bf705a3"},"c031ae9"),")")),(0,r.kt)("h2",{id:"5114-2020-10-22"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v51.1.3...v51.1.4"},"51.1.4")," (2020-10-22)"),(0,r.kt)("h3",{id:"bug-fixes-303"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"expect reserved header to be in the input (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/547bdd6a83521c753d703765d5592b20dabf4032"},"547bdd6"),")")),(0,r.kt)("h2",{id:"5113-2020-10-22"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v51.1.2...v51.1.3"},"51.1.3")," (2020-10-22)"),(0,r.kt)("h3",{id:"performance-improvements-42"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"port kcp code from vis2k (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/422"},"#422"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/aaab0e3ae1f2c39b281a01fb82e8f2c3b54edcda"},"aaab0e3"),")")),(0,r.kt)("h2",{id:"5112-2020-10-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v51.1.1...v51.1.2"},"51.1.2")," (2020-10-21)"),(0,r.kt)("h3",{id:"bug-fixes-304"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fix multiple scene loading order issues (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/418"},"#418"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6d8265d4f71029365381603abd5f4bb7a28ffeb0"},"6d8265d"),")")),(0,r.kt)("h2",{id:"5111-2020-10-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v51.1.0...v51.1.1"},"51.1.1")," (2020-10-21)"),(0,r.kt)("h3",{id:"bug-fixes-305"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"InvalidDataException not found problem (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/229f73d88485264ebd517603f848e9ebed133fcf"},"229f73d"),")")),(0,r.kt)("h1",{id:"5110-2020-10-21"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v51.0.0...v51.1.0"},"51.1.0")," (2020-10-21)"),(0,r.kt)("h3",{id:"features-171"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"KCP transport now provides unreliable channel (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/420"},"#420"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8aac115f8a7cb7b2c62d35716eeb081d7d81664b"},"8aac115"),")")),(0,r.kt)("h1",{id:"5100-2020-10-21"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v50.2.0...v51.0.0"},"51.0.0")," (2020-10-21)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Transport api can now send messages in channels (#419) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9a2690e31c6dee354254bd4c659975d900c18423"},"9a2690e"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/419"},"#419"))),(0,r.kt)("h3",{id:"breaking-changes-98"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Transports now receive and return channels")),(0,r.kt)("h1",{id:"5020-2020-10-20"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v50.1.5...v50.2.0"},"50.2.0")," (2020-10-20)"),(0,r.kt)("h3",{id:"bug-fixes-306"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"method access exception sending rpcs (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/531e908c95f8bd8f8ccc622f7314db4536932835"},"531e908"),")")),(0,r.kt)("h3",{id:"features-172"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"display user-friendly log with an unexpected messages. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/417"},"#417"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7b78c29309dd5f40c4981879e18facebf8fe7837"},"7b78c29"),")")),(0,r.kt)("h2",{id:"5015-2020-10-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v50.1.4...v50.1.5"},"50.1.5")," (2020-10-20)"),(0,r.kt)("h3",{id:"bug-fixes-307"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"recursive types with collections (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5cb005826b79019de03df8a4b2e85fe27cdbbffc"},"5cb0058"),")")),(0,r.kt)("h2",{id:"5014-2020-10-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v50.1.3...v50.1.4"},"50.1.4")," (2020-10-20)"),(0,r.kt)("h3",{id:"bug-fixes-308"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"potential NRE generating readers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/324ba60615944429a30fcdead4f8b0dc6c98aab7"},"324ba60"),")")),(0,r.kt)("h2",{id:"5013-2020-10-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v50.1.2...v50.1.3"},"50.1.3")," (2020-10-20)"),(0,r.kt)("h3",{id:"bug-fixes-309"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Multiplex transport exception (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/415"},"#415"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6534fbb23d5d4e946ff9058cc84115d826e51672"},"6534fbb"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/414"},"#414"))),(0,r.kt)("h2",{id:"5012-2020-10-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v50.1.1...v50.1.2"},"50.1.2")," (2020-10-19)"),(0,r.kt)("h3",{id:"bug-fixes-310"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add WaitUntilWithTimeout to prevent tests from getting stuck (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/412"},"#412"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/df1ccb48359b5a6b0b914133dbdb6f2d702e47a6"},"df1ccb4"),")")),(0,r.kt)("h2",{id:"5011-2020-10-19"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v50.1.0...v50.1.1"},"50.1.1")," (2020-10-19)"),(0,r.kt)("h3",{id:"performance-improvements-43"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"don't drop acks, follow original C algorithm (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c0b5a123ea6fd203676b987ab91cb49651d9ad9a"},"c0b5a12"),")")),(0,r.kt)("h1",{id:"5010-2020-10-18"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v50.0.2...v50.1.0"},"50.1.0")," (2020-10-18)"),(0,r.kt)("h3",{id:"features-173"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"User can set KcpDelayMode via KcpTransport(",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/403"},"#403"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bdd0d9cc207f1b1b878acb93ec8e7fdff0b43b7e"},"bdd0d9c"),")")),(0,r.kt)("h2",{id:"5002-2020-10-18"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v50.0.1...v50.0.2"},"50.0.2")," (2020-10-18)"),(0,r.kt)("h3",{id:"bug-fixes-311"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"recycling segments (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9d12658616b822f846f88184fde0875bb3154b38"},"9d12658"),")"),(0,r.kt)("li",{parentName:"ul"},"use buffer same size as C version (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/20e13245e813f9a06571d826cc2a0d3926d93e4b"},"20e1324"),")")),(0,r.kt)("h2",{id:"5001-2020-10-18"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v50.0.0...v50.0.1"},"50.0.1")," (2020-10-18)"),(0,r.kt)("h3",{id:"bug-fixes-312"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"bug setting the rto, it should be 100 in normal mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/091bde6e2c95efb2ee54a34ad8b7f03fde259c5a"},"091bde6"),")")),(0,r.kt)("h1",{id:"5000-2020-10-17"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v49.4.0...v50.0.0"},"50.0.0")," (2020-10-17)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove out parameter (#404) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/43dc1562d9b60a1820585e71e06a8d8db88d37c7"},"43dc156"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/404"},"#404"))),(0,r.kt)("h3",{id:"breaking-changes-99"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"GetPrefab now just returns the prefab or null")),(0,r.kt)("h1",{id:"4940-2020-10-17"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v49.3.3...v49.4.0"},"49.4.0")," (2020-10-17)"),(0,r.kt)("h3",{id:"features-174"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"DoS prevention (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/401"},"#401"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4016259719931f51c1f93dcd3f7302abe0af98fd"},"4016259"),")")),(0,r.kt)("h2",{id:"4933-2020-10-16"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v49.3.2...v49.3.3"},"49.3.3")," (2020-10-16)"),(0,r.kt)("h3",{id:"bug-fixes-313"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"reading and writing a network identity before spawning (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/400"},"#400"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/870f49d9bd03f21e7b85e9b6f98cc55551f433c9"},"870f49d"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/399"},"#399"))),(0,r.kt)("h2",{id:"4932-2020-10-16"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v49.3.1...v49.3.2"},"49.3.2")," (2020-10-16)"),(0,r.kt)("h3",{id:"performance-improvements-44"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Make KCP the default transport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/398"},"#398"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dc6cc4f944cef3e0185f9d4ee3765309a965f051"},"dc6cc4f"),")")),(0,r.kt)("h2",{id:"4931-2020-10-15"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v49.3.0...v49.3.1"},"49.3.1")," (2020-10-15)"),(0,r.kt)("h3",{id:"bug-fixes-314"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"use hostname for serverUri (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4b38fbe91c7aebd291bb6b78d08f1e9526b9e598"},"4b38fbe"),")")),(0,r.kt)("h1",{id:"4930-2020-10-15"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v49.2.0...v49.3.0"},"49.3.0")," (2020-10-15)"),(0,r.kt)("h3",{id:"bug-fixes-315"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"double counting packets on kcp receive (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/89cb937ebcfbbad75f299d7dd95b4cd6746a5e04"},"89cb937"),")"),(0,r.kt)("li",{parentName:"ul"},"NRE when disconnecting with no owned objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4e7983e621dfdaf89ba39b313701e9b8c7a75411"},"4e7983e"),")")),(0,r.kt)("h3",{id:"features-175"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"KCP transport now has CRC64 validation (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/397"},"#397"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/21c8649aa34b6bbdca11dbffb1b81d52e331baee"},"21c8649"),")")),(0,r.kt)("h3",{id:"performance-improvements-45"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"recycle segments (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/13a3c3d233b121322be177f414ac00ac373e0f6f"},"13a3c3d"),")"),(0,r.kt)("li",{parentName:"ul"},"reduce allocation sending to observers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f5f7f6c9b5b33f1f432d7bf6016b8e63f4699e7d"},"f5f7f6c"),")"),(0,r.kt)("li",{parentName:"ul"},"reduce allocations per client (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8d37f8c987addfd99a2078d29e1456ce715239c7"},"8d37f8c"),")"),(0,r.kt)("li",{parentName:"ul"},"Refactore move to receive queue (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/173735c7212410fbcbe942a87882b5ee412c8080"},"173735c"),")"),(0,r.kt)("li",{parentName:"ul"},"remove allocation (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9311fbdd2ef02ce617377a11286a585e358d7c24"},"9311fbd"),")"),(0,r.kt)("li",{parentName:"ul"},"reuse segment if it is a repeat (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4879010a2056f972dc4737e9f1e9fae4ef7486d9"},"4879010"),")"),(0,r.kt)("li",{parentName:"ul"},"Use allocation free completion source (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/20227a7a05bd5919507bcfae6d74a84168a56b4f"},"20227a7"),")"),(0,r.kt)("li",{parentName:"ul"},"use Unitask (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/384d02bbc298f63cfd08bdd8fb8771d60d5b6ec4"},"384d02b"),")"),(0,r.kt)("li",{parentName:"ul"},"Use UniTask instead of task (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/70c9cfbd80c489f0c6d6fb78cec486856574c1f5"},"70c9cfb"),")")),(0,r.kt)("h2",{id:"4921-2020-10-15"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v49.2.0...v49.2.1"},"49.2.1")," (2020-10-15)"),(0,r.kt)("h3",{id:"bug-fixes-316"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"double counting packets on kcp receive (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/89cb937ebcfbbad75f299d7dd95b4cd6746a5e04"},"89cb937"),")"),(0,r.kt)("li",{parentName:"ul"},"NRE when disconnecting with no owned objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4e7983e621dfdaf89ba39b313701e9b8c7a75411"},"4e7983e"),")")),(0,r.kt)("h3",{id:"performance-improvements-46"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"recycle segments (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/13a3c3d233b121322be177f414ac00ac373e0f6f"},"13a3c3d"),")"),(0,r.kt)("li",{parentName:"ul"},"reduce allocation sending to observers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f5f7f6c9b5b33f1f432d7bf6016b8e63f4699e7d"},"f5f7f6c"),")"),(0,r.kt)("li",{parentName:"ul"},"reduce allocations per client (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8d37f8c987addfd99a2078d29e1456ce715239c7"},"8d37f8c"),")"),(0,r.kt)("li",{parentName:"ul"},"Refactore move to receive queue (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/173735c7212410fbcbe942a87882b5ee412c8080"},"173735c"),")"),(0,r.kt)("li",{parentName:"ul"},"remove allocation (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9311fbdd2ef02ce617377a11286a585e358d7c24"},"9311fbd"),")"),(0,r.kt)("li",{parentName:"ul"},"reuse segment if it is a repeat (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4879010a2056f972dc4737e9f1e9fae4ef7486d9"},"4879010"),")"),(0,r.kt)("li",{parentName:"ul"},"Use allocation free completion source (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/20227a7a05bd5919507bcfae6d74a84168a56b4f"},"20227a7"),")"),(0,r.kt)("li",{parentName:"ul"},"use Unitask (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/384d02bbc298f63cfd08bdd8fb8771d60d5b6ec4"},"384d02b"),")"),(0,r.kt)("li",{parentName:"ul"},"Use UniTask instead of task (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/70c9cfbd80c489f0c6d6fb78cec486856574c1f5"},"70c9cfb"),")")),(0,r.kt)("h2",{id:"4921-2020-10-15-1"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v49.2.0...v49.2.1"},"49.2.1")," (2020-10-15)"),(0,r.kt)("h3",{id:"bug-fixes-317"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"double counting packets on kcp receive (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/89cb937ebcfbbad75f299d7dd95b4cd6746a5e04"},"89cb937"),")")),(0,r.kt)("h3",{id:"performance-improvements-47"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"recycle segments (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/13a3c3d233b121322be177f414ac00ac373e0f6f"},"13a3c3d"),")"),(0,r.kt)("li",{parentName:"ul"},"reduce allocation sending to observers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f5f7f6c9b5b33f1f432d7bf6016b8e63f4699e7d"},"f5f7f6c"),")"),(0,r.kt)("li",{parentName:"ul"},"reduce allocations per client (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8d37f8c987addfd99a2078d29e1456ce715239c7"},"8d37f8c"),")"),(0,r.kt)("li",{parentName:"ul"},"Refactore move to receive queue (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/173735c7212410fbcbe942a87882b5ee412c8080"},"173735c"),")"),(0,r.kt)("li",{parentName:"ul"},"remove allocation (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9311fbdd2ef02ce617377a11286a585e358d7c24"},"9311fbd"),")"),(0,r.kt)("li",{parentName:"ul"},"reuse segment if it is a repeat (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4879010a2056f972dc4737e9f1e9fae4ef7486d9"},"4879010"),")"),(0,r.kt)("li",{parentName:"ul"},"Use allocation free completion source (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/20227a7a05bd5919507bcfae6d74a84168a56b4f"},"20227a7"),")"),(0,r.kt)("li",{parentName:"ul"},"Use UniTask instead of task (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/70c9cfbd80c489f0c6d6fb78cec486856574c1f5"},"70c9cfb"),")")),(0,r.kt)("h1",{id:"4920-2020-10-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v49.1.1...v49.2.0"},"49.2.0")," (2020-10-14)"),(0,r.kt)("h3",{id:"bug-fixes-318"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"throw weaver error when trying to use GameObject param (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/395"},"#395"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2726b9efbd4dd44d1a6b55ea53371a74682e84f1"},"2726b9e"),")")),(0,r.kt)("h3",{id:"features-176"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"display FPS every second (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ae62e35987676727a7e90dc29446aa1c015d0bdf"},"ae62e35"),")"),(0,r.kt)("li",{parentName:"ul"},"Headless Benchmark (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/394"},"#394"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0546de9c285c0280ff6deb307fc99f9522ebf01f"},"0546de9"),")")),(0,r.kt)("h2",{id:"4911-2020-10-14"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v49.1.0...v49.1.1"},"49.1.1")," (2020-10-14)"),(0,r.kt)("h3",{id:"bug-fixes-319"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"bug in kcp that caused invalid smoothing of rtt values (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eacfefe19769f2ed46bf7e0c0492a542dff43f42"},"eacfefe"),")")),(0,r.kt)("h1",{id:"4910-2020-10-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v49.0.0...v49.1.0"},"49.1.0")," (2020-10-14)"),(0,r.kt)("h3",{id:"features-177"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new KCP transport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/393"},"#393"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5de53e1fd4d3395f5c489ba248fdf4c2e8a7cafc"},"5de53e1"),")")),(0,r.kt)("h1",{id:"4900-2020-10-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v48.0.1...v49.0.0"},"49.0.0")," (2020-10-14)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Reduce allocations by using Unitask (#392) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a45413a3512e7fe5f365ddad3ae42795cb688984"},"a45413a"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/392"},"#392"))),(0,r.kt)("h3",{id:"breaking-changes-100"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Mirage now uses UniTask")),(0,r.kt)("h2",{id:"4801-2020-10-12"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v48.0.0...v48.0.1"},"48.0.1")," (2020-10-12)"),(0,r.kt)("h3",{id:"bug-fixes-320"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"InvalidOperationException when disconnecting (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b131eb7512892896c624f360fcbd104549d63aa9"},"b131eb7"),")")),(0,r.kt)("h1",{id:"4800-2020-10-11"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v47.0.3...v48.0.0"},"48.0.0")," (2020-10-11)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Users must initialize syncobjects (#391) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c0e2632e928d8f303dd8f0324cf108a756809782"},"c0e2632"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/391"},"#391"))),(0,r.kt)("h3",{id:"breaking-changes-101"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"You must initialize all your SyncLists")),(0,r.kt)("h2",{id:"4703-2020-10-10"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v47.0.2...v47.0.3"},"47.0.3")," (2020-10-10)"),(0,r.kt)("h3",{id:"bug-fixes-321"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NRE in headless server mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6dc840671ec1a43d0cd8f85f9b4aff7e36366204"},"6dc8406"),")")),(0,r.kt)("h2",{id:"4702-2020-10-09"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v47.0.1...v47.0.2"},"47.0.2")," (2020-10-09)"),(0,r.kt)("h3",{id:"bug-fixes-322"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"inconsistent case in meta file (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4c5083455c3ab3dc3b747818b4b92493b2c586a2"},"4c50834"),")")),(0,r.kt)("h2",{id:"4701-2020-10-08"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v47.0.0...v47.0.1"},"47.0.1")," (2020-10-08)"),(0,r.kt)("h3",{id:"bug-fixes-323"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"warning about tests.meta file (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/148b5a9f567f5a3f54905ed4d6b3bf1687120707"},"148b5a9"),")")),(0,r.kt)("h1",{id:"4700-2020-10-07"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-07)"),(0,r.kt)("h3",{id:"breaking-1"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-324"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"access NI on disabled objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/383"},"#383"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0ab4c6065bcd5e584e311a5558e614ffd250a5d1"},"0ab4c60"),")"),(0,r.kt)("li",{parentName:"ul"},"adding namespace for sonar bug (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2ed08596489f02f3e8ff177a4f6983add4ce7774"},"2ed0859"),")"),(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")"),(0,r.kt)("li",{parentName:"ul"},"Examples can exit property in client mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/35faaf38eb5816f49e0c4d3d3aebff94e01f9101"},"35faaf3"),")"),(0,r.kt)("li",{parentName:"ul"},"examples no longer use prefabs or common files (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/378"},"#378"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/718ec9e6ec8928e19e29e619a2194ef2eb206eff"},"718ec9e"),")"),(0,r.kt)("li",{parentName:"ul"},"Lobby comp should not reference NetworkConnection.IsReady (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/385"},"#385"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6a1a1905bf67ede3a4dcdbb76c05c3908c004f27"},"6a1a190"),")"),(0,r.kt)("li",{parentName:"ul"},"networkmenu should add NSM to playerSpawner too (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c7bd0be18870d4c4e4baa3f751426d159404b01a"},"c7bd0be"),")"),(0,r.kt)("li",{parentName:"ul"},"nre modifying syncvars that have not been spawned (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/69883c5df0671da43bb9610b37d9535e61d95675"},"69883c5"),")")),(0,r.kt)("h3",{id:"features-178"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Add IncludeOwner option to SendToAll (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/387"},"#387"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6b0a005f539b02db3a6d1b030b473d2ea2ab53d0"},"6b0a005"),")"),(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"performance-improvements-48"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Only synchronize dirty objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/381"},"#381"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/64fd6ed862a15074c980c4fb81b4c99fe9698cda"},"64fd6ed"),")"),(0,r.kt)("li",{parentName:"ul"},"Remove 2 messages when player connects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/384"},"#384"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c40e0fd083ea80685dc6898828767f784ec147a3"},"c40e0fd"),")")),(0,r.kt)("h3",{id:"breaking-changes-102"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"It is no longer guaranteed that all objects are spawned before we start calling events")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fix object spawning on scene change")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"remove unused variable"))),(0,r.kt)("p",null,"Co-authored-by: uwee ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:uweenukr@gmail.com"},"uweenukr@gmail.com"),">"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-06"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-06)"),(0,r.kt)("h3",{id:"breaking-2"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-325"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"access NI on disabled objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/383"},"#383"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0ab4c6065bcd5e584e311a5558e614ffd250a5d1"},"0ab4c60"),")"),(0,r.kt)("li",{parentName:"ul"},"adding namespace for sonar bug (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2ed08596489f02f3e8ff177a4f6983add4ce7774"},"2ed0859"),")"),(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")"),(0,r.kt)("li",{parentName:"ul"},"Examples can exit property in client mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/35faaf38eb5816f49e0c4d3d3aebff94e01f9101"},"35faaf3"),")"),(0,r.kt)("li",{parentName:"ul"},"examples no longer use prefabs or common files (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/378"},"#378"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/718ec9e6ec8928e19e29e619a2194ef2eb206eff"},"718ec9e"),")"),(0,r.kt)("li",{parentName:"ul"},"Lobby comp should not reference NetworkConnection.IsReady (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/385"},"#385"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6a1a1905bf67ede3a4dcdbb76c05c3908c004f27"},"6a1a190"),")"),(0,r.kt)("li",{parentName:"ul"},"networkmenu should add NSM to playerSpawner too (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c7bd0be18870d4c4e4baa3f751426d159404b01a"},"c7bd0be"),")"),(0,r.kt)("li",{parentName:"ul"},"nre modifying syncvars that have not been spawned (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/69883c5df0671da43bb9610b37d9535e61d95675"},"69883c5"),")")),(0,r.kt)("h3",{id:"features-179"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Add IncludeOwner option to SendToAll (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/387"},"#387"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6b0a005f539b02db3a6d1b030b473d2ea2ab53d0"},"6b0a005"),")"),(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"performance-improvements-49"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Only synchronize dirty objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/381"},"#381"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/64fd6ed862a15074c980c4fb81b4c99fe9698cda"},"64fd6ed"),")"),(0,r.kt)("li",{parentName:"ul"},"Remove 2 messages when player connects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/384"},"#384"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c40e0fd083ea80685dc6898828767f784ec147a3"},"c40e0fd"),")")),(0,r.kt)("h3",{id:"breaking-changes-103"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"It is no longer guaranteed that all objects are spawned before we start calling events")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fix object spawning on scene change")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"remove unused variable"))),(0,r.kt)("p",null,"Co-authored-by: uwee ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:uweenukr@gmail.com"},"uweenukr@gmail.com"),">"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-06-1"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-06)"),(0,r.kt)("h3",{id:"breaking-3"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-326"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"access NI on disabled objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/383"},"#383"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0ab4c6065bcd5e584e311a5558e614ffd250a5d1"},"0ab4c60"),")"),(0,r.kt)("li",{parentName:"ul"},"adding namespace for sonar bug (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2ed08596489f02f3e8ff177a4f6983add4ce7774"},"2ed0859"),")"),(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")"),(0,r.kt)("li",{parentName:"ul"},"Examples can exit property in client mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/35faaf38eb5816f49e0c4d3d3aebff94e01f9101"},"35faaf3"),")"),(0,r.kt)("li",{parentName:"ul"},"examples no longer use prefabs or common files (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/378"},"#378"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/718ec9e6ec8928e19e29e619a2194ef2eb206eff"},"718ec9e"),")"),(0,r.kt)("li",{parentName:"ul"},"Lobby comp should not reference NetworkConnection.IsReady (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/385"},"#385"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6a1a1905bf67ede3a4dcdbb76c05c3908c004f27"},"6a1a190"),")"),(0,r.kt)("li",{parentName:"ul"},"networkmenu should add NSM to playerSpawner too (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c7bd0be18870d4c4e4baa3f751426d159404b01a"},"c7bd0be"),")"),(0,r.kt)("li",{parentName:"ul"},"nre modifying syncvars that have not been spawned (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/69883c5df0671da43bb9610b37d9535e61d95675"},"69883c5"),")")),(0,r.kt)("h3",{id:"features-180"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"performance-improvements-50"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Only synchronize dirty objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/381"},"#381"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/64fd6ed862a15074c980c4fb81b4c99fe9698cda"},"64fd6ed"),")"),(0,r.kt)("li",{parentName:"ul"},"Remove 2 messages when player connects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/384"},"#384"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c40e0fd083ea80685dc6898828767f784ec147a3"},"c40e0fd"),")")),(0,r.kt)("h3",{id:"breaking-changes-104"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"It is no longer guaranteed that all objects are spawned before we start calling events")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fix object spawning on scene change")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"remove unused variable"))),(0,r.kt)("p",null,"Co-authored-by: uwee ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:uweenukr@gmail.com"},"uweenukr@gmail.com"),">"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-06-2"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-06)"),(0,r.kt)("h3",{id:"breaking-4"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-327"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"access NI on disabled objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/383"},"#383"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0ab4c6065bcd5e584e311a5558e614ffd250a5d1"},"0ab4c60"),")"),(0,r.kt)("li",{parentName:"ul"},"adding namespace for sonar bug (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2ed08596489f02f3e8ff177a4f6983add4ce7774"},"2ed0859"),")"),(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")"),(0,r.kt)("li",{parentName:"ul"},"Examples can exit property in client mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/35faaf38eb5816f49e0c4d3d3aebff94e01f9101"},"35faaf3"),")"),(0,r.kt)("li",{parentName:"ul"},"examples no longer use prefabs or common files (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/378"},"#378"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/718ec9e6ec8928e19e29e619a2194ef2eb206eff"},"718ec9e"),")"),(0,r.kt)("li",{parentName:"ul"},"networkmenu should add NSM to playerSpawner too (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c7bd0be18870d4c4e4baa3f751426d159404b01a"},"c7bd0be"),")"),(0,r.kt)("li",{parentName:"ul"},"nre modifying syncvars that have not been spawned (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/69883c5df0671da43bb9610b37d9535e61d95675"},"69883c5"),")")),(0,r.kt)("h3",{id:"features-181"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"performance-improvements-51"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Only synchronize dirty objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/381"},"#381"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/64fd6ed862a15074c980c4fb81b4c99fe9698cda"},"64fd6ed"),")"),(0,r.kt)("li",{parentName:"ul"},"Remove 2 messages when player connects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/384"},"#384"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c40e0fd083ea80685dc6898828767f784ec147a3"},"c40e0fd"),")")),(0,r.kt)("h3",{id:"breaking-changes-105"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"It is no longer guaranteed that all objects are spawned before we start calling events")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fix object spawning on scene change")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"remove unused variable"))),(0,r.kt)("p",null,"Co-authored-by: uwee ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:uweenukr@gmail.com"},"uweenukr@gmail.com"),">"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-06-3"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-06)"),(0,r.kt)("h3",{id:"breaking-5"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-328"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"access NI on disabled objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/383"},"#383"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0ab4c6065bcd5e584e311a5558e614ffd250a5d1"},"0ab4c60"),")"),(0,r.kt)("li",{parentName:"ul"},"adding namespace for sonar bug (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2ed08596489f02f3e8ff177a4f6983add4ce7774"},"2ed0859"),")"),(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")"),(0,r.kt)("li",{parentName:"ul"},"Examples can exit property in client mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/35faaf38eb5816f49e0c4d3d3aebff94e01f9101"},"35faaf3"),")"),(0,r.kt)("li",{parentName:"ul"},"examples no longer use prefabs or common files (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/378"},"#378"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/718ec9e6ec8928e19e29e619a2194ef2eb206eff"},"718ec9e"),")"),(0,r.kt)("li",{parentName:"ul"},"networkmenu should add NSM to playerSpawner too (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c7bd0be18870d4c4e4baa3f751426d159404b01a"},"c7bd0be"),")"),(0,r.kt)("li",{parentName:"ul"},"nre modifying syncvars that have not been spawned (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/69883c5df0671da43bb9610b37d9535e61d95675"},"69883c5"),")")),(0,r.kt)("h3",{id:"features-182"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"performance-improvements-52"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Only synchronize dirty objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/381"},"#381"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/64fd6ed862a15074c980c4fb81b4c99fe9698cda"},"64fd6ed"),")")),(0,r.kt)("h3",{id:"breaking-changes-106"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-05"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-05)"),(0,r.kt)("h3",{id:"breaking-6"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-329"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding namespace for sonar bug (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2ed08596489f02f3e8ff177a4f6983add4ce7774"},"2ed0859"),")"),(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")"),(0,r.kt)("li",{parentName:"ul"},"Examples can exit property in client mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/35faaf38eb5816f49e0c4d3d3aebff94e01f9101"},"35faaf3"),")"),(0,r.kt)("li",{parentName:"ul"},"examples no longer use prefabs or common files (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/378"},"#378"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/718ec9e6ec8928e19e29e619a2194ef2eb206eff"},"718ec9e"),")"),(0,r.kt)("li",{parentName:"ul"},"networkmenu should add NSM to playerSpawner too (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c7bd0be18870d4c4e4baa3f751426d159404b01a"},"c7bd0be"),")")),(0,r.kt)("h3",{id:"features-183"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-107"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-05-1"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-05)"),(0,r.kt)("h3",{id:"breaking-7"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-330"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding namespace for sonar bug (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2ed08596489f02f3e8ff177a4f6983add4ce7774"},"2ed0859"),")"),(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")"),(0,r.kt)("li",{parentName:"ul"},"Examples can exit property in client mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/35faaf38eb5816f49e0c4d3d3aebff94e01f9101"},"35faaf3"),")"),(0,r.kt)("li",{parentName:"ul"},"examples no longer use prefabs or common files (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/378"},"#378"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/718ec9e6ec8928e19e29e619a2194ef2eb206eff"},"718ec9e"),")"),(0,r.kt)("li",{parentName:"ul"},"networkmenu should add NSM to playerSpawner too (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c7bd0be18870d4c4e4baa3f751426d159404b01a"},"c7bd0be"),")")),(0,r.kt)("h3",{id:"features-184"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-108"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-04"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-04)"),(0,r.kt)("h3",{id:"breaking-8"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-331"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding namespace for sonar bug (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2ed08596489f02f3e8ff177a4f6983add4ce7774"},"2ed0859"),")"),(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")"),(0,r.kt)("li",{parentName:"ul"},"examples no longer use prefabs or common files (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/378"},"#378"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/718ec9e6ec8928e19e29e619a2194ef2eb206eff"},"718ec9e"),")"),(0,r.kt)("li",{parentName:"ul"},"networkmenu should add NSM to playerSpawner too (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c7bd0be18870d4c4e4baa3f751426d159404b01a"},"c7bd0be"),")")),(0,r.kt)("h3",{id:"features-185"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-109"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-04-1"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-04)"),(0,r.kt)("h3",{id:"breaking-9"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-332"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding namespace for sonar bug (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2ed08596489f02f3e8ff177a4f6983add4ce7774"},"2ed0859"),")"),(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")"),(0,r.kt)("li",{parentName:"ul"},"examples no longer use prefabs or common files (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/378"},"#378"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/718ec9e6ec8928e19e29e619a2194ef2eb206eff"},"718ec9e"),")"),(0,r.kt)("li",{parentName:"ul"},"networkmenu should add NSM to playerSpawner too (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c7bd0be18870d4c4e4baa3f751426d159404b01a"},"c7bd0be"),")")),(0,r.kt)("h3",{id:"features-186"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-110"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-04-2"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-04)"),(0,r.kt)("h3",{id:"breaking-10"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-333"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding namespace for sonar bug (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2ed08596489f02f3e8ff177a4f6983add4ce7774"},"2ed0859"),")"),(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")"),(0,r.kt)("li",{parentName:"ul"},"examples no longer use prefabs or common files (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/378"},"#378"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/718ec9e6ec8928e19e29e619a2194ef2eb206eff"},"718ec9e"),")"),(0,r.kt)("li",{parentName:"ul"},"networkmenu should add NSM to playerSpawner too (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c7bd0be18870d4c4e4baa3f751426d159404b01a"},"c7bd0be"),")")),(0,r.kt)("h3",{id:"features-187"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-111"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-04-3"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-04)"),(0,r.kt)("h3",{id:"breaking-11"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-334"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding namespace for sonar bug (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2ed08596489f02f3e8ff177a4f6983add4ce7774"},"2ed0859"),")"),(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")"),(0,r.kt)("li",{parentName:"ul"},"examples no longer use prefabs or common files (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/378"},"#378"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/718ec9e6ec8928e19e29e619a2194ef2eb206eff"},"718ec9e"),")")),(0,r.kt)("h3",{id:"features-188"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-112"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-04-4"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-04)"),(0,r.kt)("h3",{id:"breaking-12"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-335"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")"),(0,r.kt)("li",{parentName:"ul"},"examples no longer use prefabs or common files (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/378"},"#378"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/718ec9e6ec8928e19e29e619a2194ef2eb206eff"},"718ec9e"),")")),(0,r.kt)("h3",{id:"features-189"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-113"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-03"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-03)"),(0,r.kt)("h3",{id:"breaking-13"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-336"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")")),(0,r.kt)("h3",{id:"features-190"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-114"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-02)"),(0,r.kt)("h3",{id:"breaking-14"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-337"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")")),(0,r.kt)("h3",{id:"features-191"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-115"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-02-1"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-02)"),(0,r.kt)("h3",{id:"breaking-15"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-338"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")")),(0,r.kt)("h3",{id:"features-192"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-116"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-02-2"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-02)"),(0,r.kt)("h3",{id:"breaking-16"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-339"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")")),(0,r.kt)("h3",{id:"features-193"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-117"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-02-3"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-02)"),(0,r.kt)("h3",{id:"breaking-17"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-340"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")")),(0,r.kt)("h3",{id:"features-194"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-118"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-02-4"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-02)"),(0,r.kt)("h3",{id:"breaking-18"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-341"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")")),(0,r.kt)("h3",{id:"features-195"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-119"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-02-5"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-02)"),(0,r.kt)("h3",{id:"breaking-19"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-342"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")")),(0,r.kt)("h3",{id:"features-196"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-120"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-02-6"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-02)"),(0,r.kt)("h3",{id:"breaking-20"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove GameObject sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/370"},"#370"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b223fa31985bd07e658eb43122a4f3cd426511d"},"5b223fa"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-343"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"bug Client ConnectionState not set properly in Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/369"},"#369"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74298c50b330216edbd19cf087eece910a05f656"},"74298c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")")),(0,r.kt)("h3",{id:"features-197"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-121"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You can no longer use gameobjects in syncvars")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-02-7"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-02)"),(0,r.kt)("h3",{id:"breaking-21"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"bug-fixes-344"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Bug with NI destroy order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/374"},"#374"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/485f78b0d011950bb98ebf5ed0bd12673773224b"},"485f78b"),")")),(0,r.kt)("h3",{id:"features-198"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-122"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4700-2020-10-02-8"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.2.0...v47.0.0"},"47.0.0")," (2020-10-02)"),(0,r.kt)("h3",{id:"breaking-22"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Use SyncLists directly (delete overrides) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2307"},"#2307"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb49d197939e41816310694e33325c75a8fa986b"},"fb49d19"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2305"},"#2305"))),(0,r.kt)("h3",{id:"features-199"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new generic Read and Write methods for all types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2301"},"#2301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/85252c3d840353014f003eaa1d565eeb8635c673"},"85252c3"),")"),(0,r.kt)("li",{parentName:"ul"},"support Jagged arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0267dbe1f22efd9452371e5a29c2b85958ddf7e5"},"0267dbe"),")")),(0,r.kt)("h3",{id:"breaking-changes-123"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Serialize and Deserialize methods in synclists don't do anything anymore")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove old comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix compilatio error"))),(0,r.kt)("h1",{id:"4620-2020-10-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.1.0...v46.2.0"},"46.2.0")," (2020-10-02)"),(0,r.kt)("h3",{id:"features-200"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Generate rw for synclist items (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/518840c1a49fd5f2343122822b3fb22d600859b0"},"518840c"),")")),(0,r.kt)("h1",{id:"4610-2020-09-30"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v46.0.2...v46.1.0"},"46.1.0")," (2020-09-30)"),(0,r.kt)("h3",{id:"bug-fixes-345"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"reduce prefab count to prevent errors when examples are missing (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a531fa0a3572eed5a3792fded4cd7cca65982c26"},"a531fa0"),")")),(0,r.kt)("h3",{id:"features-201"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkBehaviors can be added to child gameobjects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/371"},"#371"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/266dc8d6f2a748483d88fc09991c9309716fc69a"},"266dc8d"),")")),(0,r.kt)("h2",{id:"4602-2020-09-30"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v46.0.1...v46.0.2"},"46.0.2")," (2020-09-30)"),(0,r.kt)("h3",{id:"bug-fixes-346"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"invalid reference to UnityEditor in standalone build (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/69f5be7523087c2ad3e5b44d33558b958f3d844f"},"69f5be7"),")")),(0,r.kt)("h2",{id:"4601-2020-09-30"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v46.0.0...v46.0.1"},"46.0.1")," (2020-09-30)"),(0,r.kt)("h3",{id:"bug-fixes-347"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetMan cleanup and simplify (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/364"},"#364"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4bfa3c6a4bafdbce65e5384c654bc7819c6ebad9"},"4bfa3c6"),")")),(0,r.kt)("h1",{id:"4600-2020-09-30"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v45.0.1...v46.0.0"},"46.0.0")," (2020-09-30)"),(0,r.kt)("h3",{id:"bug-fixes-348"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"potential NRE with weaver errors (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9e0c18c9a0881ab9df9e8e6d3ed6ae38154d4a66"},"9e0c18c"),")")),(0,r.kt)("h3",{id:"features-202"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"You can use synclists directly (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/366"},"#366"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ca18d11a7129a90166b397f03c718499e957aaf8"},"ca18d11"),")")),(0,r.kt)("h3",{id:"breaking-changes-124"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"SyncList and other syncobjects no longer have override methods to serialize and deserialize data")),(0,r.kt)("h2",{id:"4501-2020-09-30"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v45.0.0...v45.0.1"},"45.0.1")," (2020-09-30)"),(0,r.kt)("h3",{id:"bug-fixes-349"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"issue with readers and writers from other assemblies (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/18f3eba5609e4a2fd9d668369eb7de2716f14372"},"18f3eba"),")")),(0,r.kt)("h1",{id:"4500-2020-09-29"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v44.3.1...v45.0.0"},"45.0.0")," (2020-09-29)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Renamed ReadMessage -",">"," Reader (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1bb89f2408c51ced2229c9d9635b7e2319b59b05"},"1bb89f2"),")")),(0,r.kt)("h3",{id:"breaking-changes-125"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkReader.ReadMessage renamed to NetworkReader.Read"),(0,r.kt)("li",{parentName:"ul"},"NetworkWriter.WriteMessage renamed to NetworkReader.Write")),(0,r.kt)("h2",{id:"4431-2020-09-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v44.3.0...v44.3.1"},"44.3.1")," (2020-09-29)"),(0,r.kt)("h3",{id:"bug-fixes-350"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"generic arguments resolution (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2300"},"#2300"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8dbf46720e5b8fb9a0bd06af36e8bd445e772332"},"8dbf467"),")"),(0,r.kt)("li",{parentName:"ul"},"typos (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2297"},"#2297"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/aba69ca4d00fd093a6184cec0cfdd4a688bca3fb"},"aba69ca"),")")),(0,r.kt)("h1",{id:"4430-2020-09-29"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v44.2.0...v44.3.0"},"44.3.0")," (2020-09-29)"),(0,r.kt)("h3",{id:"features-203"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"support null when serializing classes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2290"},"#2290"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/513a0f9945ec4414b0da1f0b79f7668875d3eea1"},"513a0f9"),")"),(0,r.kt)("li",{parentName:"ul"},"Support recursive data types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2288"},"#2288"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3ccb7d9da4a2b67124b2adbb3f1bc4d701552aa7"},"3ccb7d9"),")")),(0,r.kt)("h1",{id:"4420-2020-09-28"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v44.1.0...v44.2.0"},"44.2.0")," (2020-09-28)"),(0,r.kt)("h3",{id:"features-204"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Support reading and writing recursive types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a82f3fd95f308aac5ffb07f560163b84f2fe49eb"},"a82f3fd"),")")),(0,r.kt)("h1",{id:"4410-2020-09-28"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v44.0.0...v44.1.0"},"44.1.0")," (2020-09-28)"),(0,r.kt)("h3",{id:"bug-fixes-351"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fixing new import (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bdd81e33babe2a35b71028fac2130819ff61c4a2"},"bdd81e3"),")")),(0,r.kt)("h3",{id:"features-205"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Component based Ready system (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/358"},"#358"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/23b0afc505940117a5e9cc780d4315eba0d46cd7"},"23b0afc"),")")),(0,r.kt)("h1",{id:"4400-2020-09-27"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v43.9.1...v44.0.0"},"44.0.0")," (2020-09-27)"),(0,r.kt)("h3",{id:"features-206"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Send any data type as message (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/359"},"#359"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f04e17cfa8421eb2f23d1f82de4945016857487a"},"f04e17c"),")")),(0,r.kt)("h3",{id:"breaking-changes-126"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"IMessageBase has been removed, you don't need to implement anything")),(0,r.kt)("h2",{id:"4391-2020-09-25"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v43.9.0...v43.9.1"},"43.9.1")," (2020-09-25)"),(0,r.kt)("h3",{id:"bug-fixes-352"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"asmdef issues related to runtime tests (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/357"},"#357"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/175b6b78c0d0ae428873da99b9a47b994f6cbd87"},"175b6b7"),")")),(0,r.kt)("h1",{id:"4390-2020-09-24"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v43.8.0...v43.9.0"},"43.9.0")," (2020-09-24)"),(0,r.kt)("h3",{id:"features-207"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"starting NetworkObjectManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/354"},"#354"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/01f3bb3d02eb7462030cf1ee204ab80f3d9c1a2e"},"01f3bb3"),")")),(0,r.kt)("h1",{id:"4380-2020-09-24"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v43.7.0...v43.8.0"},"43.8.0")," (2020-09-24)"),(0,r.kt)("h3",{id:"features-208"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Add support for customer INetworkConnections (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/346"},"#346"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9d0b219e585b6c1f5747f594a46b799ab8ecbba0"},"9d0b219"),")")),(0,r.kt)("h1",{id:"4370-2020-09-21"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v43.6.0...v43.7.0"},"43.7.0")," (2020-09-21)"),(0,r.kt)("h3",{id:"bug-fixes-353"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding error for generated read writer for abstract class (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2191"},"#2191"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a9d21ea9ab28c74348437d7df899d49f913aaf30"},"a9d21ea"),")"),(0,r.kt)("li",{parentName:"ul"},"adding error when Server/Client is used on abstract methods (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1978"},"#1978"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c1410b09248e0c18646a622bca3cc66ebae972b4"},"c1410b0"),")"),(0,r.kt)("li",{parentName:"ul"},"adding version define from v17 breaking change (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c6fa49c72ada6859debf26088daed6e8f073b655"},"c6fa49c"),")"),(0,r.kt)("li",{parentName:"ul"},"auto fill serialize/deserialize for classes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2120"},"#2120"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/890ee6b58da85f040a3157b11ea85ca89d796073"},"890ee6b"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2117"},"#2117")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2117"},"#2117")),(0,r.kt)("li",{parentName:"ul"},"ClientScene.localplayer is now set to null when it is destroyed (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2227"},"#2227"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5edba81dee66eb6140c7a54bb6050779656828e1"},"5edba81"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing cloud log not using logger (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2141"},"#2141"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a124f3f439c914d422c774495b50ef3fbdadbfaf"},"a124f3f"),")"),(0,r.kt)("li",{parentName:"ul"},"Fixing IndexChanged hook not being called for NetworkRoomPlayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2242"},"#2242"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/94da8aec343ea894a85873dc986889b7a09d09de"},"94da8ae"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing NullReferenceException when loading scene (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2240"},"#2240"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5eb5ff6601102683023ae0f1a71cdc62217c2227"},"5eb5ff6"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing unity crash on StackOverflowException (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2146"},"#2146"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ec54ee6d8c0e73bbb7f59510bc7bcfa82229c4bb"},"ec54ee6"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing warning message for client attribute (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2144"},"#2144"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ddc61397257e518a4740dca154c2fe68f45e98da"},"ddc6139"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing width and layout group on cloud example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2201"},"#2201"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fc530782ccaa12b2c412b4e0db04ce5843cbe6af"},"fc53078"),")"),(0,r.kt)("li",{parentName:"ul"},"isServer false in OnDestroy (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2101"},"#2101"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d46469a79c6651720cd4d4cbd49cd0d0922f16f2"},"d46469a"),")"),(0,r.kt)("li",{parentName:"ul"},"making triggers be called right away instead on owner (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2125"},"#2125"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7604e65c2c2cf9f1d85416284cefeb699e65d91e"},"7604e65"),")"),(0,r.kt)("li",{parentName:"ul"},"Nested messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2148"},"#2148"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e4a5ce795b221b46b2f9cde01b7234f0763978b8"},"e4a5ce7"),")"),(0,r.kt)("li",{parentName:"ul"},"Unity Editor 2019/2020 crashes in Play Mode when resizing Editor for Macbooks with on board graphics cards. Using Metal instead of OpenGL fixes it. See also: ",(0,r.kt)("a",{parentName:"li",href:"https://forum.unity.com/threads/unity-editor-crashes-macos.739535/"},"https://forum.unity.com/threads/unity-editor-crashes-macos.739535/")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e2fd19547cb5ea54e462803fbb1b1dfa802aaf36"},"e2fd195"),")"),(0,r.kt)("li",{parentName:"ul"},"weaver test for abstract methods (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2166"},"#2166"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3a276b4e3079c928df0577a9f1aad92080530cb6"},"3a276b4"),")")),(0,r.kt)("h3",{id:"features-209"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Added Layer Weight to NetworkAnimator (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2134"},"#2134"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/23b9fb0214c2caf0b99e23a8c77e5ac8d393ec7b"},"23b9fb0"),")"),(0,r.kt)("li",{parentName:"ul"},"Adding Custom Data and Custom Address fields to list server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2110"},"#2110"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e136f481012d093d8a176771ba7b6a846d843b10"},"e136f48"),")"),(0,r.kt)("li",{parentName:"ul"},"adding script to help debug list server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2202"},"#2202"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5701369e84698a6110c06e4dfb0b1db452cc7843"},"5701369"),")"),(0,r.kt)("li",{parentName:"ul"},"allowing lists to automatically be sent in Commands, Rpc, and Messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2151"},"#2151"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/381e5a115b8944fd06fae6bf3827be206d77efb6"},"381e5a1"),")"),(0,r.kt)("li",{parentName:"ul"},"making NetworkBehaviour.IsDirty public (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2208"},"#2208"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1ade82d4357875fb72472fd1339c5d4ee80214d9"},"1ade82d"),")"),(0,r.kt)("li",{parentName:"ul"},"Use Server Client attribute outside of NetworkBehaviour (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2150"},"#2150"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eec49fafce9931727fa6dfa9019aeacee654f631"},"eec49fa"),")")),(0,r.kt)("h3",{id:"performance-improvements-53"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"weaver:")," No need to manually load mirror and unity assemblies (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2261"},"#2261"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e50ea6318f60af454a7021b7d8d6009a9116379d"},"e50ea63"),")"),(0,r.kt)("li",{parentName:"ul"},"adding check for no connections (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2130"},"#2130"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/150b14a2ed73bd5e23e94f8c975b0202db0ed8bf"},"150b14a"),")")),(0,r.kt)("h1",{id:"4360-2020-09-07"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v43.5.0...v43.6.0"},"43.6.0")," (2020-09-07)"),(0,r.kt)("h3",{id:"features-210"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove tests from upm package (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/343"},"#343"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0abbf2a8b5febc3fa153778ae2c4a94a86fb58db"},"0abbf2a"),")")),(0,r.kt)("h1",{id:"4350-2020-08-31"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/v43.4.2...v43.5.0"},"43.5.0")," (2020-08-31)"),(0,r.kt)("h3",{id:"features-211"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"New NetworkManagerHud (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/340"},"#340"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/267f51349d68d9607cb57dd6cbe11d5cfafb5118"},"267f513"),")")),(0,r.kt)("h2",{id:"4342-2020-08-24"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/v43.4.1...v43.4.2"},"43.4.2")," (2020-08-24)"),(0,r.kt)("h3",{id:"bug-fixes-354"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"scene change race condition. wait for server to be ready (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/339"},"#339"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2ca0340ce1e263815b650582e2a630e6ad9f47d2"},"2ca0340"),")")),(0,r.kt)("h1",{id:"100-2020-08-23"},"1.0.0 (2020-08-23)"),(0,r.kt)("h3",{id:"breaking-23"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"AsyncFallbackTransport -",">"," FallbackTransport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f8f643a6245777279de31dc8997a7ea84328533e"},"f8f643a"),")"),(0,r.kt)("li",{parentName:"ul"},"AsyncMultiplexTransport -",">"," MultiplexTransport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/832b7f9528595e45769790c4be4fd94e873c96f4"},"832b7f9"),")"),(0,r.kt)("li",{parentName:"ul"},"remove redundant scene ready value (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/325"},"#325"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6cc8f6212413ccdf2a95da7ea2ef93b86fc837bf"},"6cc8f62"),")"),(0,r.kt)("li",{parentName:"ul"},"Remove TargetRPC ","&"," use ClientRPC option instead (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/293"},"#293"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4ace14477d024d0ef763c0860cdb2abfde8022fd"},"4ace144"),")"),(0,r.kt)("li",{parentName:"ul"},"Removed websocket transport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f26159b7b4d31d643a1dc2a28b1797bd2ad28f68"},"f26159b"),")"),(0,r.kt)("li",{parentName:"ul"},"Rename ","[Command]"," to ","[ServerRpc]"," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/271"},"#271"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fff7459801fc637c641757c516f85b4d685e0ad1"},"fff7459"),")"),(0,r.kt)("li",{parentName:"ul"},"rename AsyncWsTransport -",">"," WsTransport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9c394bc96192a50ad273371b66c9289d75402dc6"},"9c394bc"),")"),(0,r.kt)("li",{parentName:"ul"},"Transports can now provide their Uri (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1454"},"#1454"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b916064856cf78f1c257f0de0ffe8c9c1ab28ce7"},"b916064"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/38"},"#38"))),(0,r.kt)("h3",{id:"bug-fixes-355"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"(again) Telepathy updated to latest version (Send SocketExceptions now disconnect the player too) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/46eddc01ec104f98701e5552a66728ae48d0720f"},"46eddc0"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1241"},"#1241")," - Telepathy updated to latest version. All tests are passing again. Thread.Interrupt was replaced by Abort+Join. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/228b32e1da8e407e1d63044beca0fd179f0835b4"},"228b32e"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1278"},"#1278")," - only call initial state SyncVar hooks on clients if the SyncVar value is different from the default one. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1414"},"#1414"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a3ffd1264c2ed2780e6e86ce83077fa756c01154"},"a3ffd12"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1359"},"#1359"),'. Revert "Destroy objects owned by this connection when disconnecting (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1179"},"#1179"),')" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4cc4279d7ddeaf61fe300b3dc420143e63942f1f"},"4cc4279"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1380"},"#1380")," - NetworkConnection.clientOwnedObjects changed from uint HashSet to NetworkIdentity HashSet for ease of use and to fix a bug where DestroyOwnedObjects wouldn't find a netId anymore in some cases. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a71ecdba4a020f9f4648b8275ec9d17b19aff55f"},"a71ecdb"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1515"},"#1515")," - StopHost now invokes OnServerDisconnected for the host client too (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1601"},"#1601"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/678ac68b58798816658d29be649bdaf18ad70794"},"678ac68"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1593"},"#1593")," - NetworkRoomManager.ServerChangeScene doesn't destroy the world player before replacing the connection. otherwise ReplacePlayerForConnection removes authority form a destroyed object, causing all kidns of errors. The call wasn't actually needed. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1594"},"#1594"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/347cb5374d0cba72762e893645f076d3161aa0c5"},"347cb53"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1599"},"#1599")," - NetworkManager HUD calls StopHost/Server/Client depending on state. It does not call StopHost in all cases. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1600"},"#1600"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8c6ae0f8b4fdafbc3abd194c081c75ee75fcfe51"},"8c6ae0f"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1659"},"#1659")," Telepathy LateUpdate processes a limited amount of messages per tick to avoid deadlocks (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1830"},"#1830"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d3dccd7a25e4b9171ac04e43a05954b56caefd4b"},"d3dccd7"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/718"},"#718")," remove Tests folder from unitypackage (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/827"},"#827"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7e487afe512de9dc8a0d699693884cbfc9c7be7e"},"7e487af"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/840"},"#840")," by allowing Mirror to respect the forceHidden flag (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/893"},"#893"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3ec3d023621e121aed302222fdb6e35ed5ca92b2"},"3ec3d02"),")"),(0,r.kt)("li",{parentName:"ul"},"ArraySegment","<","byte",">"," work in Messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/919"},"#919"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/981ba7c2b3a64ebd9e1405e5182daa030886d792"},"981ba7c"),")"),(0,r.kt)("li",{parentName:"ul"},"code generation works with il2cpp again (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1056"},"#1056"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/87385628f0836109fb009b1f912575c5c8145005"},"8738562"),")"),(0,r.kt)("li",{parentName:"ul"},"do not accumulate changes if there are no observers fixes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/963"},"#963")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/964"},"#964"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/64a046803ada79f7602f6e6fda21d821909fbc98"},"64a0468"),")"),(0,r.kt)("li",{parentName:"ul"},"don't convert null arrays to empty array (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/913"},"#913"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dd758cac0578629e351bf60d25733d788bd0f668"},"dd758ca"),")"),(0,r.kt)("li",{parentName:"ul"},"Don't increment counter in Awake (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/971"},"#971"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/45b711804b1159e390910227796f312f74351025"},"45b7118"),")"),(0,r.kt)("li",{parentName:"ul"},"don't use obsolete method (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/12437ba9c2ccc72998f2dd895b888d8eaa66e7a6"},"12437ba"),")"),(0,r.kt)("li",{parentName:"ul"},"error with missing assemblies (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1052"},"#1052"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/00eb23aa01210860b9c8ab253929563f695714d7"},"00eb23a"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1051"},"#1051")),(0,r.kt)("li",{parentName:"ul"},"Fix error scene error message in host mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/838d4f019f60e202b3795a01e4297c2d3efe6bca"},"838d4f0"),")"),(0,r.kt)("li",{parentName:"ul"},"hooks in host mode can call each other (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1017"},"#1017"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f27fd0bdc570ec3ceeef433eb4991beb487d2ddb"},"f27fd0b"),")"),(0,r.kt)("li",{parentName:"ul"},"invalid scene id in 2019.1 by ignoring prefabs in NetworkScenePostProcess (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/203a823b19b6e31a50cd193a7bd58c33a73960f2"},"203a823"),")"),(0,r.kt)("li",{parentName:"ul"},"ListServer Ping not found in WebGL (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6c4b34ba065429b57ccfed71ac0adc325de19809"},"6c4b34b"),")"),(0,r.kt)("li",{parentName:"ul"},"maintain Unity's copyright notice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/961"},"#961"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/771895509a358286377ea3d391ca45f8c0a3b48d"},"7718955"),")"),(0,r.kt)("li",{parentName:"ul"},"missed ushort reader/writer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/74faf2a95b5a3e551e7ae344d5772e10ee198318"},"74faf2a"),")"),(0,r.kt)("li",{parentName:"ul"},"Mono.CecilX namespace to work around Unity 2019 Cecil namespace collision (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/832"},"#832"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/52625923b2d408018f61506ef93b15487764d095"},"5262592"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkManager OnValidate wouldn't properly save the automatically added Transport before because Undo.RecordObject is needed for that now. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/524abfc5e8c881d2088a7f9f8bbf07c0371785cf"},"524abfc"),")"),(0,r.kt)("li",{parentName:"ul"},"pack works if message is boxed (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/55c9bb625aa06ab83c2350b483eaca09b463db0a"},"55c9bb6"),")"),(0,r.kt)("li",{parentName:"ul"},"properly stop client and server in OnApplicationQuit so that clients still get a chance to send then 'quit' packet instead of just timing out. Also fixes a bug where OnStopServer/OnStopClient were not called when stopping the Editor. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/936"},"#936"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d6389e68be3a951f3ddb9aa51c57a0e3c788e5f6"},"d6389e6"),")"),(0,r.kt)("li",{parentName:"ul"},"Rebuild observers when we switch scenes, fixes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/978"},"#978")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1016"},"#1016"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6dd135088bd0b3858dabf5d195d14d85879ead6d"},"6dd1350"),")"),(0,r.kt)("li",{parentName:"ul"},"Respect Player Prefab Position ","&"," Rotation (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/825"},"#825"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8ebda0fa21b430ce1394eba8e7eeafa56d9290f3"},"8ebda0f"),")"),(0,r.kt)("li",{parentName:"ul"},'Revert "NetworkIdentity.observers dictionary is always created, but always empty on clients. Gets rid of all null checks." to fix server-only bug not allowing movement on client, e.g. in uMMORPG (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f56507f2fc9f36ca9f8e1df9a7a437a97b416d54"},"f56507f"),")"),(0,r.kt)("li",{parentName:"ul"},'Revert "refactor: consolidate prefab and spawn handlers (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/817"},"#817"),")\" to fix a bug where if editor=host, build=client, we receive scene object not found when walking out of and back into an observer's range (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1f07af0cae7b41cd52df621f1b5cfcefc77efdfa"},"1f07af0"),")"),(0,r.kt)("li",{parentName:"ul"},"SceneId was not set to 0 for prefab variants (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/976"},"#976"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/977"},"#977"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2ca2c488acc3966ef7dc67cb530c5db9eaa8b0ea"},"2ca2c48"),")"),(0,r.kt)("li",{parentName:"ul"},"suppress warning on standalone build ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1053"},"#1053")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4ef680a47483890d6576784ca880f2b3536b6b7f"},"4ef680a"),")"),(0,r.kt)("li",{parentName:"ul"},"Sync full netAnimator for new clients, fix ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/980"},"#980")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1110"},"#1110"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/db8310f8385ec45c28356e59d1ba4ef8f4c9ab47"},"db8310f"),")"),(0,r.kt)("li",{parentName:"ul"},"Telepathy already supports IPv6, but can no also connect to IPv4-only servers again (e.g. Mirror Booster) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/488446ae040246a631f8921a4cd5bdbb6a6e54d1"},"488446a"),")"),(0,r.kt)("li",{parentName:"ul"},"Telepathy fix a bug where calling Disconnect while connecting to a dead end would freeze Unity because .Join would wait forever. Interrupt fixes it. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3831cbddbea7d98fe8a871133a0ba2bf14f22df0"},"3831cbd"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"weaver:")," fix ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/796"},"#796"),", reload assemblies after initial import (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1106"},"#1106"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d91b387bb29bdba06a62a718533db5c0fe52f642"},"d91b387"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/573"},"#573")," (part 1) NetworkScenePostProcess handles NetworkIdentities of all scenes except DontDestroyOnLoad. this way it works for additively loaded scenes too. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c1af84e6bf61ff919607c66affc4a1bd0dc3fb26"},"c1af84e"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/573"},"#573")," (part 2) NetworkManager detects additive scene loads and respawns objects on server/client again (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e521a200523b25a874a3cbc743d2a9d98a88b238"},"e521a20"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/573"},"#573")," NullReferenceException because destroyed NetworkIdentities were never removed from sceneIds dict (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a2d6317642a24571a63bbeade5fe8898f56c1c3e"},"a2d6317"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/609"},"#609")," by spawning observers in NetworkServer.AddPlayerForConnection after setting the controller. There is no point in trying to spawn with a null controller in SetReady, because by definition no one can observer something that is null. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/623"},"#623"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5c00577746f83eadd948383dd478360e96634ea4"},"5c00577"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/640"},"#640")," InternalReplacePlayerForConnection calls SpawnObserversForConnection now too (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bdf12c85d01b20f2a0edc0767454401a6c5a1aad"},"bdf12c8"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/651"},"#651")," GetSceneAt assumes default scene (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/654"},"#654"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/65eaba1fe059db159b5fdb1427dc8b783f5720e0"},"65eaba1"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/652"},"#652")," OnPostProcessScene includes disabled NetworkIdentities in scene (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ee2ace8e428d67309dc219109be5853b1a9b67df"},"ee2ace8"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/679"},"#679")," package for unity (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4a6a4df61bc65c2065cb1150cd05e15528db6b66"},"4a6a4df"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/679"},"#679")," unity package (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/98956472969ba8ae1c66d255f1094140aeb275f0"},"9895647"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/692"},"#692")," by always adding connectionToClient when rebuilding observers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ab44ac8f8bad4749e300ba8c2db4593fcff5474f"},"ab44ac8"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/723"},"#723")," - NetworkTransform teleport works properly now (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fd7dc5e226a76b27250fb503a98f23eb579387f8"},"fd7dc5e"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/791"},"#791")," corrected assembly paths passed to weaver (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/803"},"#803"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3ba546e133dae6dd2762d7c4f719f61e90554473"},"3ba546e"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/791"},"#791")," stack overflow in the weaver (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/792"},"#792"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7b57830e6c8e3b9abf470cf1029eb2e4aba914ee"},"7b57830"),")"),(0,r.kt)("li",{parentName:"ul"},"add Changelog metadata fix ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/31"},"#31")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c67de2216aa331de10bba2e09ea3f77e6b1caa3c"},"c67de22"),")"),(0,r.kt)("li",{parentName:"ul"},"add client only test for FinishLoadScene (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/262"},"#262"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/50e7fa6e287fee09afbe36a51575f41c4bd50736"},"50e7fa6"),")"),(0,r.kt)("li",{parentName:"ul"},"Add missing channelId to NetworkConnectionToClient.Send calls (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1509"},"#1509"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b8bcd9ad25895eee940a3daaf6fe7ed82eaf76ac"},"b8bcd9a"),")"),(0,r.kt)("li",{parentName:"ul"},"add NetworkManager.StartClientUri test (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2095"},"#2095"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/12827f65a906232da55ca226129423a5bd806d23"},"12827f6"),")"),(0,r.kt)("li",{parentName:"ul"},"add NRE short circuit for scene change (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/335"},"#335"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7afbe57ff3779ba33d225ab604f1477a883badd7"},"7afbe57"),")"),(0,r.kt)("li",{parentName:"ul"},"add tests for NetworkTransform and NetworkRigidbody (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/273"},"#273"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e9621ddebd50637680fad8fe743c7c99afea3f84"},"e9621dd"),")"),(0,r.kt)("li",{parentName:"ul"},"Add the transport first so NetworkManager doesn't add Telepathy in OnValidate (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bdec2762821dc657e8450b576422fcf1f0f69cdf"},"bdec276"),")"),(0,r.kt)("li",{parentName:"ul"},"Added ClientOnly check (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb927f814110327867821dac8b0d69ca4251d4f6"},"fb927f8"),")"),(0,r.kt)("li",{parentName:"ul"},"Added LogFilter.Debug check in a few places (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1575"},"#1575"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/31565042708ec768fcaafe9986968d095a3a1419"},"3156504"),")"),(0,r.kt)("li",{parentName:"ul"},"added new read/write symbol params (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/806"},"#806"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3a50ca6352761b47464d0bc7721aa6556d664661"},"3a50ca6"),")"),(0,r.kt)("li",{parentName:"ul"},"Added WriteBytesAndSize tests, and fixed the function to be pedantic. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/773"},"#773"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/72e4e55778edc0acc4ef3546f69c984f0f392867"},"72e4e55"),")"),(0,r.kt)("li",{parentName:"ul"},"Adding warning when adding handler with RegisterSpawnHandler if assetid already exists (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1819"},"#1819"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7f26329e2db9d00da04bed40399af053436218bd"},"7f26329"),")"),(0,r.kt)("li",{parentName:"ul"},"Adding warning when adding prefab with RegisterPrefab if assetid already exists (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1828"},"#1828"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9f59e0c439707d66409a617b8f209187856eaf5f"},"9f59e0c"),")"),(0,r.kt)("li",{parentName:"ul"},"addingNetwork rigidbody icon and AddComponentMenu attribute (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2051"},"#2051"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ab1b92f74b56787feb7c6fde87c0b9838b8d9d0f"},"ab1b92f"),")"),(0,r.kt)("li",{parentName:"ul"},"Additive scene can respawn objects safely (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1270"},"#1270"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8899d207127be86a01cb859d0539c7927ebc2f67"},"8899d20"),")"),(0,r.kt)("li",{parentName:"ul"},"additive scene example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9fa016957f487526ab44d443aabfe58fcc69518a"},"9fa0169"),")"),(0,r.kt)("li",{parentName:"ul"},"Additive Scene Example was missing Player Auth on movement. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/234"},"#234"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/09bbd686e6c294f24412b35785cfa7a5aa47b5f2"},"09bbd68"),")"),(0,r.kt)("li",{parentName:"ul"},"additive scene player movement is client authoritative (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e683a92b081c989314c11e48fb21ee0096465797"},"e683a92"),")"),(0,r.kt)("li",{parentName:"ul"},"AdditiveSceneExample missing comp and assignments (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/267"},"#267"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ab394b8f7e823b8c3882de35eaa54c05fbd9316e"},"ab394b8"),")"),(0,r.kt)("li",{parentName:"ul"},"Allow sync objects to be re-used (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1744"},"#1744"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/58c89a3d32daedc9b6670ed0b5eb1f8753c902e2"},"58c89a3"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1714"},"#1714")),(0,r.kt)("li",{parentName:"ul"},"Allowing overrides for virtual commands to call base method (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1944"},"#1944"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b92da91d7a04f41098615ff2e2a35cf7ff479201"},"b92da91"),")"),(0,r.kt)("li",{parentName:"ul"},"assign spawn locations and fix null refs in example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/242"},"#242"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3adf3438578ff304f1216022aae8e043c52cd71d"},"3adf343"),")"),(0,r.kt)("li",{parentName:"ul"},"AsyncTcp now exits normally when client disconnects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/141"},"#141"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8896c4afa2f937839a54dc71fbe578b9c636f393"},"8896c4a"),")"),(0,r.kt)("li",{parentName:"ul"},"attributes causing a NRE (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/69"},"#69"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fc99c67712564e2d983674b37858591903294f1a"},"fc99c67"),")"),(0,r.kt)("li",{parentName:"ul"},"auto reference mirrorng assembly (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/93f8688b39822bb30ed595ca36f44a8a556bec85"},"93f8688"),")"),(0,r.kt)("li",{parentName:"ul"},"Avoid FindObjectOfType when not needed (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/66"},"#66"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e2a4afd0b9ca8dea720acb9c558efca210bd8e71"},"e2a4afd"),")"),(0,r.kt)("li",{parentName:"ul"},"benchmark examples (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b221b74beae2ee56f6fe536963b17d0aff10c5d8"},"b221b74"),")"),(0,r.kt)("li",{parentName:"ul"},"better error for Command, ClientRpc and TargetRpc marked as abstract (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1947"},"#1947"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/62257d8c4fc307ba3e23fbd01dcc950515c31e79"},"62257d8"),")"),(0,r.kt)("li",{parentName:"ul"},"Better errors when trying to replace existing assetid (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1827"},"#1827"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/822b04155def9859b24900c6e55a4253f85ebb3f"},"822b041"),")"),(0,r.kt)("li",{parentName:"ul"},"build in IL2CPP (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1524"},"#1524"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/59faa819262a166024b16d854e410c7e51763e6a"},"59faa81"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1519"},"#1519")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1520"},"#1520")),(0,r.kt)("li",{parentName:"ul"},"call callback after update dictionary in host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1476"},"#1476"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1736bb0c42c0d2ad341e31a645658722de3bfe07"},"1736bb0"),")"),(0,r.kt)("li",{parentName:"ul"},"Call hooks when initializing objects OnStartServer on host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1249"},"#1249"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7aa7815754bb3be1071884d6583076badc7cae59"},"7aa7815"),")"),(0,r.kt)("li",{parentName:"ul"},"call Obsoleted OnStartClient (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/681"},"#681"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8dea50ed18ca45e72cc5e5addf1cc28c7ab08746"},"8dea50e"),")"),(0,r.kt)("li",{parentName:"ul"},"call OnStartClient only once in room (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1264"},"#1264"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4d373c5071c45201146333f40d3fbc5d1fa8ec26"},"4d373c5"),")"),(0,r.kt)("li",{parentName:"ul"},"call the virtual OnRoomServerDisconnect before the base (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e6881ef007f199efca3c326ead258f0c350ffb47"},"e6881ef"),")"),(0,r.kt)("li",{parentName:"ul"},"calling base method when the first base class did not have the virtual method (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2014"},"#2014"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4af72c3a63e72dac6b3bab193dc58bfa3c44a975"},"4af72c3"),")"),(0,r.kt)("li",{parentName:"ul"},"calling Connect and Authenticate handler twice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/102"},"#102"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/515f5a15cd5be984f8cb4f94d3be0a0ac919eb63"},"515f5a1"),")"),(0,r.kt)("li",{parentName:"ul"},"calling syncvar hook when not connected yet (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/77"},"#77"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e64727b74bcbb1adfcd8f5efbf96066443254dff"},"e64727b"),")"),(0,r.kt)("li",{parentName:"ul"},"cap spawned to match client (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/301"},"#301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7d1571ab5a9eaf31cd64bff2bc47158c0e1e6ff6"},"7d1571a"),")"),(0,r.kt)("li",{parentName:"ul"},"changing namespace to match folder name (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2037"},"#2037"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e36449cb22d8a2dede0133cf229bc12885c36bdb"},"e36449c"),")"),(0,r.kt)("li",{parentName:"ul"},"chat example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e6e10a7108bc01e3bd0c208734c97c945003ff86"},"e6e10a7"),")"),(0,r.kt)("li",{parentName:"ul"},"chat example works (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0609d50d9b93afd3b42d97ddcd00d32e8aaa0db5"},"0609d50"),")"),(0,r.kt)("li",{parentName:"ul"},"check event prefix (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7417b6867175f0a54db56efc4387d2d24b0b37dd"},"7417b68"),")"),(0,r.kt)("li",{parentName:"ul"},"Check SceneManager GetSceneByName and GetSceneByPath (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1684"},"#1684"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e7cfd5a498c7359636cd109fe586fce1771bada2"},"e7cfd5a"),")"),(0,r.kt)("li",{parentName:"ul"},"Clean up roomSlots on clients in NetworkRoomPlayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5032ceb00035679e0b80f59e91131cdfa8e0b1bb"},"5032ceb"),")"),(0,r.kt)("li",{parentName:"ul"},"Cleaning up network objects when server stops (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1864"},"#1864"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4c25122958978557173ec37ca400c47b2d8e834f"},"4c25122"),")"),(0,r.kt)("li",{parentName:"ul"},"cleanup the server even after error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/255"},"#255"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7bd015eac1b77f0ad5974abb5c4c87a5d3da7b6d"},"7bd015e"),")"),(0,r.kt)("li",{parentName:"ul"},"clear all message handlers on Shutdown (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1829"},"#1829"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a6ab3527acb9af8f6a68f0151e5231e4ee1a98e9"},"a6ab352"),")"),(0,r.kt)("li",{parentName:"ul"},"client being disconnected twice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/132"},"#132"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/36bb3a2418bcf41fd63d1fc79e8a5173e4b0bc51"},"36bb3a2"),")"),(0,r.kt)("li",{parentName:"ul"},"client disconnected on server event never raised (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/133"},"#133"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9d9efa0e31cbea4d90d7408ae6b3742151b49a21"},"9d9efa0"),")"),(0,r.kt)("li",{parentName:"ul"},"ClientRpc methods now work accross assemblies (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1129"},"#1129"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/13dbcb9f35d64285258e748ca1fd5c4daac97a16"},"13dbcb9"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1128"},"#1128")),(0,r.kt)("li",{parentName:"ul"},"ClientRPC should skip first arg only if set as Connection (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/315"},"#315"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/168e6222e759016b588e994b76d2f134c9224b0b"},"168e622"),")"),(0,r.kt)("li",{parentName:"ul"},"ClientSceneManager should be responsible for its own cleanup (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/298"},"#298"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/92ab3ffe265e72b3c012dc44075f6e9752323984"},"92ab3ff"),")"),(0,r.kt)("li",{parentName:"ul"},"Cmds can be called from child classes in other assemblies (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d8a98d8d996aeded693223b00b90f2eea5084c11"},"d8a98d8"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1108"},"#1108")),(0,r.kt)("li",{parentName:"ul"},"code smell rename Ready (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/256"},"#256"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6d92d1482cdd31fa663f7475f103476c65b7d875"},"6d92d14"),")"),(0,r.kt)("li",{parentName:"ul"},"Command and Rpc debugging information (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1551"},"#1551"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/658847b096571eb7cf14e824ea76359576121e63"},"658847b"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1550"},"#1550")),(0,r.kt)("li",{parentName:"ul"},"comment punctuation (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4d827cd9f60e4fb7cd6524d78ca26ea1d88a1eff"},"4d827cd"),")"),(0,r.kt)("li",{parentName:"ul"},"compilation error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/df7baa4db0d347ee69c17bad9f9e56ccefb54fab"},"df7baa4"),")"),(0,r.kt)("li",{parentName:"ul"},"compilation error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dc74256fc380974ad6df59b5d1dee3884b879bd7"},"dc74256"),")"),(0,r.kt)("li",{parentName:"ul"},"compilation error on standalone build (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bb70bf963459be02a79c2c40cb7dfb8f10d2b92d"},"bb70bf9"),")"),(0,r.kt)("li",{parentName:"ul"},"compilation issue after merge from mirror (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/daf07bea83c9925bd780e23de53dd50604e8a999"},"daf07be"),")"),(0,r.kt)("li",{parentName:"ul"},"compilation issues (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/22bf925f1ebf018b9ea33df22294fb9205574fa5"},"22bf925"),")"),(0,r.kt)("li",{parentName:"ul"},"comply with MIT license in upm package (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b879bef4295e48c19d96a1d45536a11ea47380f3"},"b879bef"),")"),(0,r.kt)("li",{parentName:"ul"},"Decouple ChatWindow from player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1429"},"#1429"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/42a2f9b853667ef9485a1d4a31979fcf1153c0d7"},"42a2f9b"),")"),(0,r.kt)("li",{parentName:"ul"},"Default port is 7777 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/960c39da90db156cb58d4765695664f0c084b39a"},"960c39d"),")"),(0,r.kt)("li",{parentName:"ul"},"destroy owned objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1352"},"#1352"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d7a58d25d4aa79d31dfc3fadfa4f68a5fdb895e6"},"d7a58d2"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1346"},"#1346")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1206"},"#1206")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1351"},"#1351")),(0,r.kt)("li",{parentName:"ul"},"Destroyed NetMan due to singleton collision must not continue. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1636"},"#1636"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d2a58a4c251c97cdb38c88c9a381496b3078adf8"},"d2a58a4"),")"),(0,r.kt)("li",{parentName:"ul"},"disconnect even if there is an exception (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/152"},"#152"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2eb9de6b470579b6de75853ba161b3e7a36de698"},"2eb9de6"),")"),(0,r.kt)("li",{parentName:"ul"},"disconnect properly from the server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c89bb513e536f256e55862b723487bb21281572e"},"c89bb51"),")"),(0,r.kt)("li",{parentName:"ul"},"disconnect transport without domain reload (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/20785b740e21fb22834cd01d7d628e127df6b80d"},"20785b7"),")"),(0,r.kt)("li",{parentName:"ul"},"Do not call InternalAddPlayer twice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1246"},"#1246"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7119dd15f8e90e6d6bc929a9e4633082615d0023"},"7119dd1"),")"),(0,r.kt)("li",{parentName:"ul"},"don't call hook in host if no change, fixes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1142"},"#1142")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1143"},"#1143"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d8ce80fe0edb243a71d35bdae657805b18a8a85e"},"d8ce80f"),")"),(0,r.kt)("li",{parentName:"ul"},"don't call OnStartLocalPlayer twice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1263"},"#1263"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c7530894788bb843b0f424e8f25029efce72d8ca"},"c753089"),")"),(0,r.kt)("li",{parentName:"ul"},"Don't call RegisterClientMessages every scene change (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1865"},"#1865"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/05c119f505390094c8f33e11568d40117360c49e"},"05c119f"),")"),(0,r.kt)("li",{parentName:"ul"},"Don't call RegisterClientMessages twice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1842"},"#1842"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2a08aac7cb8887934eb7eb8c232ce07976defe35"},"2a08aac"),")"),(0,r.kt)("li",{parentName:"ul"},"don't crash when stopping the client (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f584388a16e746ac5c3000123a02a5c77387765e"},"f584388"),")"),(0,r.kt)("li",{parentName:"ul"},"Don't destroy the player twice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1709"},"#1709"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cbc2a4772921e01db17033075fa9f7d8cb7e6faf"},"cbc2a47"),")"),(0,r.kt)("li",{parentName:"ul"},"Don't disconnect host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/608"},"#608"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c1707e5917c4058a9641376d028f5feff51128cc"},"c1707e5"),")"),(0,r.kt)("li",{parentName:"ul"},"Don't give host player authority by default (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1158"},"#1158"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1fc1ed27081413e48a7898fc185cb238ed0074dc"},"1fc1ed2"),")"),(0,r.kt)("li",{parentName:"ul"},"don't report error when stopping the server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c965d4b0ff32288ebe4e5c63a43e32559203deb1"},"c965d4b"),")"),(0,r.kt)("li",{parentName:"ul"},"Don't set asset id for scene objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7e4023246bc2e6a11909a7c3730ae05ee56d1369"},"7e40232"),")"),(0,r.kt)("li",{parentName:"ul"},"Don't set framerate in host mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4644bc4b7730d4aefae833fb59264230026bb4d0"},"4644bc4"),")"),(0,r.kt)("li",{parentName:"ul"},"Don't throw exception getting address (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7df3ce37d1a23b8137119015276436a741b7cd9d"},"7df3ce3"),")"),(0,r.kt)("li",{parentName:"ul"},"Dont allow null connections (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/323"},"#323"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/44fef7ec7bd6ae0772414ff28bb78bf42a6b4c92"},"44fef7e"),")"),(0,r.kt)("li",{parentName:"ul"},"dont allow set of networkSceneName directly (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2100"},"#2100"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/df16a7d3ccfddcf3aa1a68fe0965757d91363e16"},"df16a7d"),")"),(0,r.kt)("li",{parentName:"ul"},"dont directly set NetworkSceneName (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/297"},"#297"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bd043a3001775fe32da558e17566b61c5694ee7c"},"bd043a3"),")"),(0,r.kt)("li",{parentName:"ul"},"dont register client scene handlers while host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/296"},"#296"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/37c8ddd87595143149af942dc7e5654de3eef424"},"37c8ddd"),")"),(0,r.kt)("li",{parentName:"ul"},"Draw SyncVar label for Unity objects inline (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1291"},"#1291"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a0425e4e84cb08c3fd8d7e7fe07a230579d0c0c7"},"a0425e4"),")"),(0,r.kt)("li",{parentName:"ul"},"Dummy file for SyncListStructProcessor.cs (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/798"},"#798"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/75e4f159e516f8f3b04b6f1a2c77898de8c7c7b5"},"75e4f15"),")"),(0,r.kt)("li",{parentName:"ul"},"Eliminate NetworkAnimator SetTrigger double firing on Host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1723"},"#1723"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e5b728fed515ab679ad1e4581035d32f6c187a98"},"e5b728f"),")"),(0,r.kt)("li",{parentName:"ul"},"empty scene name isn't considered as empty (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ec3a93945b5b52a77fd745b39e1e821db721768d"},"ec3a939"),")"),(0,r.kt)("li",{parentName:"ul"},"error when there are no network behaviors (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1303"},"#1303"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dbe064393a6573bcb213b628ec53b547d04891cc"},"dbe0643"),")"),(0,r.kt)("li",{parentName:"ul"},"examples now work with prefabs in NC (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/df4149b8fea9f174742d20f600ef5261058e5300"},"df4149b"),")"),(0,r.kt)("li",{parentName:"ul"},"examples run in background (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/233"},"#233"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/47556500eed7c0e2719e41c0e996925ddf1799bb"},"4755650"),")"),(0,r.kt)("li",{parentName:"ul"},"Fallback and Multiplex now disable their transports when they are disabled (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2048"},"#2048"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/61d44b2d80c9616f784e855131ba6d1ee8a30136"},"61d44b2"),")"),(0,r.kt)("li",{parentName:"ul"},"FinishLoadSceneHost calls FinishStart host which now calls StartHostClient AFTER server online scene was loaded. Previously there was a race condition where StartHostClient was called immediately in StartHost, before the scene change even finished. This was still from UNET. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/df9c29a6b3f9d0c8adbaff5a500e54abddb303b3"},"df9c29a"),")"),(0,r.kt)("li",{parentName:"ul"},"first connection id = 1 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/60"},"#60"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/891dab92d065821ca46b47ef2d3eb27124058d74"},"891dab9"),")"),(0,r.kt)("li",{parentName:"ul"},"fix adding and saving Components (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2de7ecd93029bf5fd2fbb04ad4e47936cbb802cc"},"2de7ecd"),")"),(0,r.kt)("li",{parentName:"ul"},"fix release pipeline (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2a3db0b398cd641c3e1ba65a32b34822e9c9169f"},"2a3db0b"),")"),(0,r.kt)("li",{parentName:"ul"},"Fix Room Slots for clients (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1439"},"#1439"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/268753c3bd0a9c0695d8d4510a129685be364a11"},"268753c"),")"),(0,r.kt)("li",{parentName:"ul"},"Fixed Capitalization (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c45deb808e8e01a7b697e703be783aea2799d4d1"},"c45deb8"),")"),(0,r.kt)("li",{parentName:"ul"},"Fixed ClienRpc typos (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e946c79194dd9618992a4136daed4b79f60671a2"},"e946c79"),")"),(0,r.kt)("li",{parentName:"ul"},"Fixed NetworkRoomManager Template (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1662c5a139363dbe61784bb90ae6544ec74478c3"},"1662c5a"),")"),(0,r.kt)("li",{parentName:"ul"},"Fixed toc link (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3a0c7fb1ecd9d8715e797a7665ab9a6a7cb19e2a"},"3a0c7fb"),")"),(0,r.kt)("li",{parentName:"ul"},"Fixing ClientScene UnregisterPrefab (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1815"},"#1815"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9270765bebf45c34a466694473b43c6d802b99d9"},"9270765"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing cloud scripts not pinging api (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2097"},"#2097"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8e545ac46863e4fbe874c70bf9559c9b12de83d4"},"8e545ac"),")"),(0,r.kt)("li",{parentName:"ul"},"Fixing SyncVars not serializing when OnSerialize is overridden (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1671"},"#1671"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c66c5a6dcc6837c840e6a51435b88fde10322297"},"c66c5a6"),")"),(0,r.kt)("li",{parentName:"ul"},"folders for meta files no longer in the codebase (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/237"},"#237"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/192fd1645986c515a804a01e0707c78241882676"},"192fd16"),")"),(0,r.kt)("li",{parentName:"ul"},"hasAuthority is now visible in all overrides (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1251"},"#1251"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2f19c7ca8961e9d99794e6053abfa88263dea89d"},"2f19c7c"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1250"},"#1250")),(0,r.kt)("li",{parentName:"ul"},"headless build (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7864e8d6f4a0952ef3114daac11842e4ee0a7a58"},"7864e8d"),")"),(0,r.kt)("li",{parentName:"ul"},"headless build (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ab47a45d08f4e9a82a5cd26f913f4871d46dd484"},"ab47a45"),")"),(0,r.kt)("li",{parentName:"ul"},"Host Player Ready Race Condition (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1498"},"#1498"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4c4a52bff95e7c56f065409b1399955813f3e145"},"4c4a52b"),")"),(0,r.kt)("li",{parentName:"ul"},"If socket is undefined it will return false. See ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1486"},"#1486")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2017"},"#2017"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4ffff192a69108b993cf963cfdece47b14ffdbf2"},"4ffff19"),")"),(0,r.kt)("li",{parentName:"ul"},"Improved error checking for ClientScene.RegisterPrefab (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1823"},"#1823"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a0aa4f9c1425d4eca3fe08cd2d87361f092ded6f"},"a0aa4f9"),")"),(0,r.kt)("li",{parentName:"ul"},"Improved error checking for ClientScene.RegisterPrefab with handler (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1841"},"#1841"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/54071da3afb18d6289de5d0e41dc248e21088641"},"54071da"),")"),(0,r.kt)("li",{parentName:"ul"},"Invoke server.Disconnected before identity is removed for its conn (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/165"},"#165"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b749c4ba126266a1799059f7fb407b6bcaa2bbd9"},"b749c4b"),")"),(0,r.kt)("li",{parentName:"ul"},"isClient now reports true onStartServer in host mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1252"},"#1252"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d00c95bb55eedceb4f0811de54604c960c9352fe"},"d00c95b"),")"),(0,r.kt)("li",{parentName:"ul"},"isLocalPlayer is true during OnStartClient for Player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1255"},"#1255"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb26d0023f2ecfcec710d365f23a19036e3f87b2"},"fb26d00"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1250"},"#1250")),(0,r.kt)("li",{parentName:"ul"},"isLocalPlayer works in host mode onStartServer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1253"},"#1253"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9acde20b0a4237936fc028747551204208ac9677"},"9acde20"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1250"},"#1250")),(0,r.kt)("li",{parentName:"ul"},"it is not safe to modify this outside this class (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bc7a961e4db0b269e36cd15f1492410932ff7f5b"},"bc7a961"),")"),(0,r.kt)("li",{parentName:"ul"},"list server logs properly when disconnected (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f02d3174db39498749a6663984dcb4bea8ac342e"},"f02d317"),")"),(0,r.kt)("li",{parentName:"ul"},"Lobby Remove button not showing for P1 when Server Only (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/377c47ce74808dc7d2871eac80c4cd040894821b"},"377c47c"),")"),(0,r.kt)("li",{parentName:"ul"},"Make assembly definition 2018.4 compatible (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/99ecc9ec770aa89d5087e5b95821ff3e2e444085"},"99ecc9e"),")"),(0,r.kt)("li",{parentName:"ul"},"make build pass (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/08df6d0694b10475301b21915214cbbfbbec2826"},"08df6d0"),")"),(0,r.kt)("li",{parentName:"ul"},"Make SendToReady non-ambiguous (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1578"},"#1578"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b627779acd68b2acfcaf5eefc0d3864dcce57fc7"},"b627779"),")"),(0,r.kt)("li",{parentName:"ul"},"making weaver include public fields in base classes in auto generated Read/Write (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1977"},"#1977"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3db57e5f61ac0748d3a6296d8ea44c202830796f"},"3db57e5"),")"),(0,r.kt)("li",{parentName:"ul"},"Mark weaver as failed if serializing invalid type (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/03c767db6aea583bb00e56b1ac74bf29e8169a91"},"03c767d"),")"),(0,r.kt)("li",{parentName:"ul"},"Message base class not being Serialized if processed in the wrong order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2023"},"#2023"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3418fa210602cf1a9b9331b198ac47d8a3cabe69"},"3418fa2"),")"),(0,r.kt)("li",{parentName:"ul"},"Mirage works with 2019.2 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9f35d6be427843aa7dd140cde32dd843c62147ce"},"9f35d6b"),")"),(0,r.kt)("li",{parentName:"ul"},"Misc code smells (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2094"},"#2094"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e4cc85c413eed01950bf9dddf0bdac2afd8ab479"},"e4cc85c"),")"),(0,r.kt)("li",{parentName:"ul"},"Misc Code Smells (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/257"},"#257"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/278a1279dabefe04b0829015841de68b41e60a7b"},"278a127"),")"),(0,r.kt)("li",{parentName:"ul"},"Misc code smells (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/269"},"#269"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/23dcca61ff7c41e8b9f61579605fd56ee82c70e0"},"23dcca6"),")"),(0,r.kt)("li",{parentName:"ul"},"missing meta (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/87ace4dda09331968cc9d0185ce1de655f5dfb15"},"87ace4d"),")"),(0,r.kt)("li",{parentName:"ul"},"move listserver classes into package (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2668b17162e5a9fbdce2cfc776f80044f9f4d0d9"},"2668b17"),")"),(0,r.kt)("li",{parentName:"ul"},"move NetworkStreamExtension in a namespace (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/12de543aa4da49edf3c14c69388f739ad315c84d"},"12de543"),")"),(0,r.kt)("li",{parentName:"ul"},"moved SpawnObjects call for hostmode to after LocalClient Connected (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/317"},"#317"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1423a6d0160c5d14a0ee6bad84973df73956fc05"},"1423a6d"),")"),(0,r.kt)("li",{parentName:"ul"},"movement in room demo (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/49f7904b4a83fc5318031d273cb10a4b87af2172"},"49f7904"),")"),(0,r.kt)("li",{parentName:"ul"},"MultiplexTransport GetMaxMessageSize NullReferenceException when called on server. And fixes potential exploits / out of sync issues where clients with different transports might see different game states because of different max message sizes. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1332"},"#1332"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b3127beb89c20447bf8044fd3bae71ae04f553e7"},"b3127be"),")"),(0,r.kt)("li",{parentName:"ul"},"Network rigidbody fixes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2050"},"#2050"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0c30d3398aaabcbf094a88a9c9c77ab4d5062acf"},"0c30d33"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkBehaviour.SyncVarGameObjectEqual made protected again so that Weaver finds it again (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/165a1dd94cd1a7bebc3365c4f40f968f500043a5"},"165a1dd"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkBehaviour.SyncVarNetworkIdentityEqual made protected again so that Weaver finds it again (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/20a2d09d07ab2c47a204e5d583b538a92f72231e"},"20a2d09"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkBehaviourInspector wouldn't show SyncMode if syncvars / syncobjects were only private (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ed572da6a07791a243715796304c0f7695792225"},"ed572da"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkClient.Shutdown calls ClientScene.Shutdown again to properly clean up client scene. ClientScene only cleans up itself without touching transport or NetworkIdentities (fixes the bug where the player object wouldn't be destroyed after calling StopClient) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb716df12997417ce41a063508937d68a75991bf"},"fb716df"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkConnectionEvent should be serialized in editor (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0e756cec06c5fda9eb4b5c8aa9de093c32b0315c"},"0e756ce"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkIdentity.OnStartLocalPlayer catches exceptions now too. fixes a potential bug where an exception in PlayerInventory.OnStartLocalPlayer would cause PlayerEquipment.OnStartLocalPlayer to not be called (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5ed5f844090442e16e78f466f7a785881283fbd4"},"5ed5f84"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkIdentity.RebuildObservers: added missing null check for observers coming from components that implement OnRebuildObservers. Previously this caused a NullReferenceException. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a5f495a77485b972cf39f8a42bae6d7d852be38c"},"a5f495a"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkIdentity.SetClientOwner: overwriting the owner was still possible even though it shouldn't be. all caller functions double check and return early if it already has an owner, so we should do the same here. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/548db52fdf224f06ba9d8b2d75460d31181b7066"},"548db52"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkRoomManager.minPlayers is now protected so it's available for derived classes. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3179f08e3dc11340227a57da0104b1c8d1d7b45d"},"3179f08"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkServer.SpawnObjects: return false if server isn't running (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d4d524dad2a0a9d89538e6212dceda6bea71d2b7"},"d4d524d"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkTransform clientAuthority works again via clientAuthority option that is configurable in inspector. this had to be fixed after we removed local authority. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d712cd03039aea92083b1be97197f6272b2296b5"},"d712cd0"),")"),(0,r.kt)("li",{parentName:"ul"},"NinjaWS code smells (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/272"},"#272"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/71d942804c0d404f287dc51b7bcdd1fcc39bcee8"},"71d9428"),")"),(0,r.kt)("li",{parentName:"ul"},"no longer requires hook to be the first overload in a class (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1913"},"#1913"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/03486997fb0abb91d14f233658d375f21afbc3e3"},"0348699"),")"),(0,r.kt)("li",{parentName:"ul"},"non ready connections should not observe objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/135233474752373b473b6094fe52bcb3ab3c4eae"},"1352334"),")"),(0,r.kt)("li",{parentName:"ul"},"not removing server if id is empty (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2078"},"#2078"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f7179455256bb7341ffa9e6921fe0de50498150a"},"f717945"),")"),(0,r.kt)("li",{parentName:"ul"},"NRE on gamemanager in scene (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/268"},"#268"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/58a124a99c267091142f00adc7f8898160a9dd97"},"58a124a"),")"),(0,r.kt)("li",{parentName:"ul"},"NRE when destroying all objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/85"},"#85"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/71e78a7f5e15f99af89cd15c1ddd8a975e463916"},"71e78a7"),")"),(0,r.kt)("li",{parentName:"ul"},"NS call SpawnObjects. No NetMan dependency for spawning objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/300"},"#300"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e1bb8deba81713c8998cf47b1ec4b8b870fc55eb"},"e1bb8de"),")"),(0,r.kt)("li",{parentName:"ul"},"null reference exception (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7ce95c5cea58446549d9a282b48c2e8b3f7c8323"},"7ce95c5"),")"),(0,r.kt)("li",{parentName:"ul"},"OnClientEnterRoom should only fire on clients (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d9b7bb735729e68ae399e1175d6c485a873b379e"},"d9b7bb7"),")"),(0,r.kt)("li",{parentName:"ul"},"OnClientReady is called and passed the appropriate ready state value in NetworkLobbyPlayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/618"},"#618"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c9eac57ce858d5977a03979e7514f9833a958d3c"},"c9eac57"),")"),(0,r.kt)("li",{parentName:"ul"},"OnSetHostVisibility can now check if it has authority (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/888e46c6850c9d32c6428f72d0dddf5f7e8a8564"},"888e46c"),")"),(0,r.kt)("li",{parentName:"ul"},"Optional Server or Client for PlayerSpawner (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/231"},"#231"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3fa5f89d8c934b233330efe52b42e59198a920cb"},"3fa5f89"),")"),(0,r.kt)("li",{parentName:"ul"},"overriden hooks are invoked (fixes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1581"},"#1581"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1584"},"#1584"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cf55333a072c0ffe36a2972ca0a5122a48d708d0"},"cf55333"),")"),(0,r.kt)("li",{parentName:"ul"},"pass the correct connection to TargetRpcs (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/146"},"#146"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9df2f798953f78de113ef6fa9fea111b03a52cd0"},"9df2f79"),")"),(0,r.kt)("li",{parentName:"ul"},"Pass the name of the invoking class and desired command when an object has no authority. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1216"},"#1216"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/701f4f41838a01d9268335d16380f871abaf8cf5"},"701f4f4"),")"),(0,r.kt)("li",{parentName:"ul"},"port network discovery (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d6a1154e98c52e7873411ce9d7b87f7b294dc436"},"d6a1154"),")"),(0,r.kt)("li",{parentName:"ul"},"Potential DOS attack by sending invalid UTF8 byte sequences (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/727"},"#727"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3cee3abc48fa58ab2bdb6affc8cbd4ae8b4fa815"},"3cee3ab"),")"),(0,r.kt)("li",{parentName:"ul"},"Potential DOS attack on server by sending packed ulongs when packed uints are expected. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/730"},"#730"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/015d0d508e193a694b254c182dcb0a906fe1f3bc"},"015d0d5"),")"),(0,r.kt)("li",{parentName:"ul"},"potential exploits / out of sync issues where clients with different transports might see different game states because of different max message sizes when using FallbackTransport. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1331"},"#1331"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/54498403a540db62b3ac1994494ff071327330c9"},"5449840"),")"),(0,r.kt)("li",{parentName:"ul"},"potential null reference exception with debug logging (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/33493a0137a899754c433c428b13e6f6c621300b"},"33493a0"),")"),(0,r.kt)("li",{parentName:"ul"},"Prevent Compiler Paradox (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1145"},"#1145"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fd43c67d6866ede681024d3753b17ab5427e16f4"},"fd43c67"),")"),(0,r.kt)("li",{parentName:"ul"},"Prevent Double Call of NetworkServer.Destroy (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1554"},"#1554"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2d1b142276193be1e93a3a3f6ce482c87a134a2c"},"2d1b142"),")"),(0,r.kt)("li",{parentName:"ul"},"Prevent host client redundantly changing to offline scene (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b4511a0637958f10f4a482364c654d1d9add5ef2"},"b4511a0"),")"),(0,r.kt)("li",{parentName:"ul"},"prevent NRE when operating as a separated client and server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/283"},"#283"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e10e198b4865fc8c941244c3e368eebc6cf73179"},"e10e198"),")"),(0,r.kt)("li",{parentName:"ul"},"properly detect NT rotation (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1516"},"#1516"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f0a993c1064384e0b3bd690d4d66be38875ed50e"},"f0a993c"),")"),(0,r.kt)("li",{parentName:"ul"},"race condition closing tcp connections (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/717f1f5ad783e13a6d55920e454cb91f380cd621"},"717f1f5"),")"),(0,r.kt)("li",{parentName:"ul"},"Re-enable transport if aborting additive load/unload (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1683"},"#1683"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bc37497ac963bb0f2820b103591afd05177d078d"},"bc37497"),")"),(0,r.kt)("li",{parentName:"ul"},"register prefab error with same guid (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2092"},"#2092"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/984eb73ea495cf876446a21775fde5c33119695b"},"984eb73"),")"),(0,r.kt)("li",{parentName:"ul"},"release job requires node 10 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3f50e63bc32f4942e1c130c681dabd34ae81b117"},"3f50e63"),")"),(0,r.kt)("li",{parentName:"ul"},"release unitypackage (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1355"},"#1355"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d0cc6690178df0af02be7bfd1fa9aacd037c57be"},"d0cc669"),")"),(0,r.kt)("li",{parentName:"ul"},"remove customHandling as its no longer used (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/265"},"#265"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dbd9d84ee46ac90a8d78daba0c23fc9be71ca77d"},"dbd9d84"),")"),(0,r.kt)("li",{parentName:"ul"},"Remove leftover AddPlayer methods now that extraData is gone (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1751"},"#1751"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2d006fe7301eb8a0194af9ce9244988a6877f8f0"},"2d006fe"),")"),(0,r.kt)("li",{parentName:"ul"},"remove pause network comment and log (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/238"},"#238"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1a8c09d8a5a8cf70508d4e42e4912e3989478ff1"},"1a8c09d"),")"),(0,r.kt)("li",{parentName:"ul"},"Remove RoomPlayer from roomSlots on Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2a2f76c263093c342f307856e400aeabbedc58df"},"2a2f76c"),")"),(0,r.kt)("li",{parentName:"ul"},"remove samples from upm package (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/25"},"#25"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a71e21fe6953f6edf54fed3499801e271e2447f3"},"a71e21f"),")"),(0,r.kt)("li",{parentName:"ul"},"remove scriptableobject error Tests (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/479b78bf3cabe93938bf61b7f8fd63ba46da0f4a"},"479b78b"),")"),(0,r.kt)("li",{parentName:"ul"},"remove tests from npm package (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/32"},"#32"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5ed9b4f1235d5d1dc54c3f50bb1aeefd5dbe3038"},"5ed9b4f"),")"),(0,r.kt)("li",{parentName:"ul"},"remove Tests from UPM (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/33"},"#33"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8f42af0a3992cfa549eb404ad9f9693101895ce9"},"8f42af0"),")"),(0,r.kt)("li",{parentName:"ul"},"remove Tests from upm package (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/34"},"#34"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8d8ea0f10743044e4a9a3d6c5b9f9973cf48e28b"},"8d8ea0f"),")"),(0,r.kt)("li",{parentName:"ul"},"remove unused code (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/308"},"#308"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/554d2c5030a9ff1ebcd9ca17ed7d673865709a1c"},"554d2c5"),")"),(0,r.kt)("li",{parentName:"ul"},"remove unused events (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/334"},"#334"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c20f6de07ff97960a8cf9972fbb4d4d13b507b3b"},"c20f6de"),")"),(0,r.kt)("li",{parentName:"ul"},"Removed NetworkClient.Update because NetworkManager does it in LateUpdate (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/984945e482529bfc03bf735562f3eff297a1bad4"},"984945e"),")"),(0,r.kt)("li",{parentName:"ul"},"Removed NetworkServer.Listen because HostSetup does that (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cf6823acb5151d5bc9beca2b0911a99dfbcd4472"},"cf6823a"),")"),(0,r.kt)("li",{parentName:"ul"},"Removed unnecessary registration of player prefab in NetworkRoomManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b2f52d78921ff0136c74bbed0980e3aaf5e2b379"},"b2f52d7"),")"),(0,r.kt)("li",{parentName:"ul"},"Removed unused variable (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ae3dc04fb999c3b7133589ab631c1d23f1a8bdde"},"ae3dc04"),")"),(0,r.kt)("li",{parentName:"ul"},"renaming call/invoke prefix for SyncEvent (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2089"},"#2089"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/18d695744f7c253d749792e4f9f8759ef16fcbab"},"18d6957"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2088"},"#2088")),(0,r.kt)("li",{parentName:"ul"},"replace player (remove authority by default) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1261"},"#1261"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ad724fe23c4776855ee1a2a22b53ae59ddac8992"},"ad724fe"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1257"},"#1257")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1257"},"#1257")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1257"},"#1257")),(0,r.kt)("li",{parentName:"ul"},"Replaced Icosphere with centered pivot (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1dc0d9837458c0403916476805f58442ff87e364"},"1dc0d98"),")"),(0,r.kt)("li",{parentName:"ul"},"ReplacePlayer now calls OnStartLocalPlayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1280"},"#1280"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0e1bc8110fb3cc4e162464a2e080eac6c70ab95e"},"0e1bc81"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/962"},"#962")),(0,r.kt)("li",{parentName:"ul"},"Replacing ClearDelegates with RemoveDelegates for test (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1971"},"#1971"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/927c4dede5930b320537150466e05112ebe70c3e"},"927c4de"),")"),(0,r.kt)("li",{parentName:"ul"},"Report correct channel to profiler in SendToObservers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0b84d4c5e1b8455e32eeb4d4c00b60bbc1301436"},"0b84d4c"),")"),(0,r.kt)("li",{parentName:"ul"},"reset buffer every time (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a8a62a64b6fa67223505505c1225269d3a047a92"},"a8a62a6"),")"),(0,r.kt)("li",{parentName:"ul"},"return ","&"," continue on separate line (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1504"},"#1504"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/61fdd892d9e6882e1e51094a2ceddfadc8fd1ebc"},"61fdd89"),")"),(0,r.kt)("li",{parentName:"ul"},"Revert \"NetworkClient.Shutdown: call ClientScene.Shutdown, otherwise it's never called\" - caused client's player to not be removed from scene after disconnecting (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/13bb7486034b72e899365f1b0aed3707a3ac0cb1"},"13bb748"),")"),(0,r.kt)("li",{parentName:"ul"},"Room example to use new override (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e1d1d41ed69f192b5fb91f92dcdeae1ee057d38f"},"e1d1d41"),")"),(0,r.kt)("li",{parentName:"ul"},"rooms demo (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/44598e58325c877bd6b53ee5a77dd95e421ec404"},"44598e5"),")"),(0,r.kt)("li",{parentName:"ul"},"Round Robin Spawning by Hierarchy Order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/790"},"#790"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/531e202bbec43d855b0ba24e445588fda2f08102"},"531e202"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/724"},"#724")),(0,r.kt)("li",{parentName:"ul"},"SceneManager Exceptions and Tests (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/287"},"#287"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/388d21872bb8b4c7f9d3742ecfa9b857ee734dfa"},"388d218"),")"),(0,r.kt)("li",{parentName:"ul"},"SendToAll sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4b90aafe12970e00949ee43b07b9edd5213745da"},"4b90aaf"),")"),(0,r.kt)("li",{parentName:"ul"},"SendToObservers missing result variable (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9c09c26a5cd28cadae4049fea71cddc38c00cf79"},"9c09c26"),")"),(0,r.kt)("li",{parentName:"ul"},"SendToObservers sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/426798313920d23548048aa1c678167fd9b45cbd"},"4267983"),")"),(0,r.kt)("li",{parentName:"ul"},"SendToReady sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4596b19dd959722d5dc659552206fe90c015fb01"},"4596b19"),")"),(0,r.kt)("li",{parentName:"ul"},"set authority when replacing the player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2195fee81c455ac6c2ea7cca28290fbda6f30260"},"2195fee"),")"),(0,r.kt)("li",{parentName:"ul"},"Set syncvar variables after calling the hook (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/659"},"#659"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2d63ee13180a54d06ce68b641f35ee2a7702cffa"},"2d63ee1"),")"),(0,r.kt)("li",{parentName:"ul"},"set version number (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1338"},"#1338"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0d1d7b5a1c0e6d94c5749a94aa7b75f2c9a2ca0d"},"0d1d7b5"),")"),(0,r.kt)("li",{parentName:"ul"},"show private serializable fields in network behavior inspector (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1557"},"#1557"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b8c87d9053e7fd7c3b69bcf1d4179e6e4c9bc4a6"},"b8c87d9"),")"),(0,r.kt)("li",{parentName:"ul"},"smell cleanup left if bug. repaired with parenthesis. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/275"},"#275"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dd52be3bb9406de7b2527c72fce90c9ed6c9d5bf"},"dd52be3"),")"),(0,r.kt)("li",{parentName:"ul"},"Spawn Handler Order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/223"},"#223"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/86742740ef2707f420d5cb6aeeb257bf07511f0b"},"8674274"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/222"},"#222")),(0,r.kt)("li",{parentName:"ul"},"spawnwithauthority works again in host mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5b04836bb220b8fc0a8c3d0a3636966af3c538f2"},"5b04836"),")"),(0,r.kt)("li",{parentName:"ul"},"stack overflow getting logger (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/55e075c872a076f524ec62f44d81df17819e81ba"},"55e075c"),")"),(0,r.kt)("li",{parentName:"ul"},"Telepathy forgot to set socket options for accepted clients on the server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/22931fcd84e402a60b74f5261313c830913754fc"},"22931fc"),")"),(0,r.kt)("li",{parentName:"ul"},"Telepathy updated to latest version (IPv6 fix again) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/535b4d40fa50cec9abfac37c61aaf207ecbb43b9"},"535b4d4"),")"),(0,r.kt)("li",{parentName:"ul"},"Telepathy updated to latest version (Send SocketExceptions now disconnect the player too) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/98d3fb0c31b7ac8bd27ec176ebdf7fb19908d472"},"98d3fb0"),")"),(0,r.kt)("li",{parentName:"ul"},"Telepathy updated to latest version: Correctly support IPv4 and IPv6 sockets (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2761ff23f459b5647a5700c9b9b29abdcff13f97"},"2761ff2"),")"),(0,r.kt)("li",{parentName:"ul"},"Telepathy updated to latest version. connectionId counter is properly reset after stopping server. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/abf06df25d932d3cfb016e2da0bb5e4ee72d259d"},"abf06df"),")"),(0,r.kt)("li",{parentName:"ul"},"TelepathyTransport.ToString UWP exception (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8a190bfd176f043322097e64bd041e80e38cc6d2"},"8a190bf"),")"),(0,r.kt)("li",{parentName:"ul"},"update NetworkIdentityEditor FindProperty to renamed variables (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a2cc14bd202311aa36e61804183c983c6df8c7b4"},"a2cc14b"),")"),(0,r.kt)("li",{parentName:"ul"},'Updated Telepathy to latest version to fix IPAddress.Parse error for "localhost" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cc6e4f696dbc462c3880a2c9fc73163d88351b5a"},"cc6e4f6"),")"),(0,r.kt)("li",{parentName:"ul"},"workaround for ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/791"},"#791")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5c850aa9ca5b480449c453aa14191aeb9998e6cb"},"5c850aa"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"serialization:")," Added NetworkWriter tests, found and fixed a bug in Write(Ray). (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/769"},"#769"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/99c8f5c356d2e3bd298fbd3508a3ed2abcb04351"},"99c8f5c"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"tests:")," Added missing SyncListByteValid test file (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/634"},"#634"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b0af87622159ceca9aebf4d939a3b7ad733fbe4f"},"b0af876"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"weaver:")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/696"},"#696")," detect .mystruct = new MyStruct() changes with syncvars (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/702"},"#702"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/053949b7d2e1e3178025a75cddb6e47b83cdbd48"},"053949b"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"weaver:")," fix ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/706"},"#706")," find system dlls (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/729"},"#729"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/53be9b6d9949645d5334690961ff31f90065a93a"},"53be9b6"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"websocket:")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/829"},"#829")," fix InvalidOperationException with wss:// (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/830"},"#830"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2d682b5fad2811d3838e8d61ccaea381cc218bb2"},"2d682b5"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"websocket:")," Remove send queues (they never worked) and SSL (temporarily) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/879"},"#879"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3c60b087627175833c616619941722927aa9cd5d"},"3c60b08"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"websocket:")," Use a buffer for most WS messages in WebGL client resulting in 0 alloc for most messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/848"},"#848"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8967a20244a2e16e3861d60c1d13c9e808248607"},"8967a20"),")"),(0,r.kt)("li",{parentName:"ul"},"Stop calling ClientDisconnect on host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/597"},"#597"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b67b3e43049405808fe123276b3637c625b0ca9b"},"b67b3e4"),")"),(0,r.kt)("li",{parentName:"ul"},"StopHost with offline scene calls scene change twice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1409"},"#1409"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a0c96f85189bfc9b5a936a8a33ebda34b460f17f"},"a0c96f8"),")"),(0,r.kt)("li",{parentName:"ul"},"Suppress warning (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fffd462df8cc1c0265890cdfa4ceb3e24606b1c1"},"fffd462"),")"),(0,r.kt)("li",{parentName:"ul"},"Suspend server transport while changing scenes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1169"},"#1169"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e8fac8aba5c570edfb3346c1f68ad9e5fd3b1176"},"e8fac8a"),")"),(0,r.kt)("li",{parentName:"ul"},"sync events can not have the same name if they are in different classes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2054"},"#2054"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c91308fb0461e54292940ce6fa42bb6cd9800d89"},"c91308f"),")"),(0,r.kt)("li",{parentName:"ul"},"syncvars in commands work again (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1131"},"#1131"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c24a73f6c9bbe25e98a6708f05b89a63dfc54b74"},"c24a73f"),")"),(0,r.kt)("li",{parentName:"ul"},"syntax error in release job (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2eeaea41bc81cfe0c191b39da912adc565e11ec7"},"2eeaea4"),")"),(0,r.kt)("li",{parentName:"ul"},"TargetRpc now works accross assemblies (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1130"},"#1130"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5ecd646134791c80d8b53759de0d8aafddc31aeb"},"5ecd646"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1128"},"#1128")),(0,r.kt)("li",{parentName:"ul"},"tcp server Tests (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3b954777f16a41469d953e3744c5d68554e3d200"},"3b95477"),")"),(0,r.kt)("li",{parentName:"ul"},"Telepathy reverted to older version to fix freezes when calling Client.Disconnect on some platforms like Windows 10 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d0d77b661cd07e25887f0e2f4c2d72b4f65240a2"},"d0d77b6"),")"),(0,r.kt)("li",{parentName:"ul"},"Telepathy updated to latest version: protect against allocation attacks via MaxMessageSize. Can be configured in the TelepathyTransport component now. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/67d715fe7416e790bcddcd4e23bb2cb8fbbc54e8"},"67d715f"),")"),(0,r.kt)("li",{parentName:"ul"},"Telepathy updated to latest version. Threads are closed properly now. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4007423db28f7044f6aa97b108a6bfbe3f2d46a9"},"4007423"),")"),(0,r.kt)("li",{parentName:"ul"},"Telepathy works on .net core again (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cb3d9f0d08a961b345ce533d1ce64602f7041e1c"},"cb3d9f0"),")"),(0,r.kt)("li",{parentName:"ul"},"the Room scene references other scenes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9b60871e2ea1a2912c0af3d95796660fc04dc569"},"9b60871"),")"),(0,r.kt)("li",{parentName:"ul"},"there is no lobby example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b1e05efb19984ce615d20a16a6c4b09a8897da6a"},"b1e05ef"),")"),(0,r.kt)("li",{parentName:"ul"},"ui bug where additive button is not reset (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/311"},"#311"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5effce9abcea0274412cb97100e1f06e4ae01028"},"5effce9"),")"),(0,r.kt)("li",{parentName:"ul"},"update interfaces for recent changes that were missed (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/309"},"#309"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a17e760e36d581ba964120af11678b66a1248ecc"},"a17e760"),")"),(0,r.kt)("li",{parentName:"ul"},"Updated NetworkRoomPlayer inspector and doc and image (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a4ffcbe280e2e2318d7cd2988379af74f0d32021"},"a4ffcbe"),")"),(0,r.kt)("li",{parentName:"ul"},"Use big endian for packet size (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1ddcbec93509e14169bddbb2a38a7cf0d53776e4"},"1ddcbec"),")"),(0,r.kt)("li",{parentName:"ul"},"Use path instead of name in Room Example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5d4bc47d46098f920f9e3468d0f276e336488e42"},"5d4bc47"),")"),(0,r.kt)("li",{parentName:"ul"},"Use ReplaceHandler instead of RegisterHandler in NetworkManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ffc276cb79c4202964275642097451b78a817c8a"},"ffc276c"),")"),(0,r.kt)("li",{parentName:"ul"},"version file (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1337"},"#1337"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ed7e509ed6f77f2e694966a1c21130e3488f443d"},"ed7e509"),")"),(0,r.kt)("li",{parentName:"ul"},"weaver Cmd/Rpc/Target prefix check is no longer trash (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/707"},"#707"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/699a261e91078b65f3fb1a51a5838b05be2c87d6"},"699a261"),")"),(0,r.kt)("li",{parentName:"ul"},"weaver now processes multiple SyncEvent per class (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2055"},"#2055"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b316b35d46868a7e11c7b2005570efeec843efe1"},"b316b35"),")"),(0,r.kt)("li",{parentName:"ul"},"weaver support array of custom types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1470"},"#1470"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d0b0bc92bc33ff34491102a2f9e1855f2a5ed476"},"d0b0bc9"),")"),(0,r.kt)("li",{parentName:"ul"},"weaver syncLists now checks for SerializeItem in base class (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1768"},"#1768"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1af5b4ed2f81b4450881fb11fa9b4b7e198274cb"},"1af5b4e"),")"),(0,r.kt)("li",{parentName:"ul"},"webgl build fix ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1136"},"#1136")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1137"},"#1137"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c85d0df5332c63c0e0107e6c99cea5de37c087fc"},"c85d0df"),")"),(0,r.kt)("li",{parentName:"ul"},"Websockets Transport now handles being disabled for scene changes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1994"},"#1994"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5480a583e13b9183a3670450af639f4e766cc358"},"5480a58"),")"),(0,r.kt)("li",{parentName:"ul"},"WebSockets: Force KeepAliveInterval to Zero (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9a42fe334251852ab12e721db72cb12e98de82e8"},"9a42fe3"),")"),(0,r.kt)("li",{parentName:"ul"},"when modifying a prefab, Unity calls OnValidate for all scene objects based on that prefab, which caused Mirror to reset the sceneId because we only checked if a prefab is currently edited, not if THIS prefab is currently edited (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/db99dd7b3d4c93969c02c5fa7b3e3a1a2948cd7e"},"db99dd7"),")"),(0,r.kt)("li",{parentName:"ul"},"Wrong method names in ClientSceneTests (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ab3f353b33b3068a6ac1649613a28b0977a72685"},"ab3f353"),")")),(0,r.kt)("h3",{id:"code-refactoring-45"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Client and server keep their own spawned list (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/71"},"#71"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c2599e2c6157dd7539b560cd4645c10713a39276"},"c2599e2"),")"),(0,r.kt)("li",{parentName:"ul"},"observers is now a set of connections (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/74"},"#74"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/484892058b448012538754c4a1f2eac30a42ceaa"},"4848920"),")"),(0,r.kt)("li",{parentName:"ul"},"Remove networkAddress from NetworkManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/67"},"#67"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e89c32dc16b3d9b9cdcb38f0d7d170da94dbf874"},"e89c32d"),")"),(0,r.kt)("li",{parentName:"ul"},"Remove offline/online scenes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/120"},"#120"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a4c881a36e26b20fc72166741e20c84ce030ad8f"},"a4c881a"),")")),(0,r.kt)("h3",{id:"features-212"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"installation:")," Simplify packaging (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/336"},"#336"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/58a0f68560d1d113bb4536a4c264937cdee7f3df"},"58a0f68"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/869"},"#869")," support structs in other assemblies (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1022"},"#1022"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/62d1887e62c7262e9e88c0c72190b82324d644e4"},"62d1887"),")"),(0,r.kt)("li",{parentName:"ul"},"Add excludeOwner option to ClientRpc (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1954"},"#1954"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/864fdd5fdce7a35ee4bf553176ed7a4ec3dc0653"},"864fdd5"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1963"},"#1963")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1962"},"#1962")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1961"},"#1961")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1960"},"#1960")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1959"},"#1959")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1958"},"#1958")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1957"},"#1957")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1956"},"#1956")),(0,r.kt)("li",{parentName:"ul"},"Add fallback transport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1b02796c1468c1e1650eab0f278cd9a11cc597c7"},"1b02796"),")"),(0,r.kt)("li",{parentName:"ul"},"add IChannelConnection interface for transports with channels (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/332"},"#332"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/887118e2d20009c97d0732f6176c72484780b5bb"},"887118e"),")"),(0,r.kt)("li",{parentName:"ul"},"Add Network Menu (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/253"},"#253"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d81f444c42475439d24bf5b4abd2bbf15fd34e92"},"d81f444"),")"),(0,r.kt)("li",{parentName:"ul"},"Add NetworkServer.RemovePlayerForConnection (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1772"},"#1772"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e3790c51eb9b79bebc48522fb832ae39f11d31e2"},"e3790c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Add roomPlayer parameter to OnRoomServerCreateGamePlayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1317"},"#1317"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/abf5cdcf36574a00995f5c229ebcbc41d0286546"},"abf5cdc"),")"),(0,r.kt)("li",{parentName:"ul"},"Add Sensitivity to NetworkTransform (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1425"},"#1425"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f69f1743c54aa7810c5a218e2059c115760c54a3"},"f69f174"),")"),(0,r.kt)("li",{parentName:"ul"},"Add SyncHashSet and SyncSortedSet (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/685"},"#685"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/695979e914882dd9ea80058474f147cd031d408f"},"695979e"),")"),(0,r.kt)("li",{parentName:"ul"},"add SyncList.RemoveAll (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1881"},"#1881"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eb7c87d15aa2fe0a5b0c08fc9cde0adbeba0b416"},"eb7c87d"),")"),(0,r.kt)("li",{parentName:"ul"},"Add UPM configuration (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/11"},"#11"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9280af158317597a53f6ddf5da4191b607e0c0f1"},"9280af1"),")"),(0,r.kt)("li",{parentName:"ul"},"Add version to package file (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1361"},"#1361"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e97ab9379f798063e50a433ea6c2759f73d199ac"},"e97ab93"),")"),(0,r.kt)("li",{parentName:"ul"},"Add weaver support for Vector2Int and Vector3Int (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/646"},"#646"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e2a6ce98114adda39bd28ec1fe31f337fc6bafc4"},"e2a6ce9"),")"),(0,r.kt)("li",{parentName:"ul"},"Added NetworkConnection to OnRoomServerSceneLoadedForPlayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b5dfcf45bc9838e89dc37b00cf3653688083bdd8"},"b5dfcf4"),")"),(0,r.kt)("li",{parentName:"ul"},"Added Read","<","T",">"," Method to NetworkReader (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1480"},"#1480"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/58df3fd6d6f53336668536081bc33e2ca22fd38d"},"58df3fd"),")"),(0,r.kt)("li",{parentName:"ul"},"Added SyncList.Find and SyncList.FindAll (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1716"},"#1716"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0fe6328800daeef8680a19a394260295b7241442"},"0fe6328"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1710"},"#1710")),(0,r.kt)("li",{parentName:"ul"},"Added Virtual OnRoomStopServer to NetworkRoomManager and Script Template (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d034ef616f3d479729064d652f74a905ea05b495"},"d034ef6"),")"),(0,r.kt)("li",{parentName:"ul"},"Added virtual SyncVar hook for index in NetworkRoomPlayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0c3e079d04a034f4d4ca8a34c88188013f36c377"},"0c3e079"),")"),(0,r.kt)("li",{parentName:"ul"},"adding demo for mirror cloud services (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2026"},"#2026"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f1fdc959dcd62e7228ecfd656bc87cbabca8c1bc"},"f1fdc95"),")"),(0,r.kt)("li",{parentName:"ul"},"Adding ignoreAuthority Option to Command (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1918"},"#1918"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3ace2c6eb68ad94d78c57df6f63107cca466effa"},"3ace2c6"),")"),(0,r.kt)("li",{parentName:"ul"},"adding log handler that sets console color (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2001"},"#2001"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/46239783f313159ac47e192499aa8e7fcc5df0ec"},"4623978"),")"),(0,r.kt)("li",{parentName:"ul"},"Adding onLocalPlayerChanged to ClientScene for when localPlayer is changed (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1920"},"#1920"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b4acf7d9a20c05eadba8d433ebfd476a30e914dd"},"b4acf7d"),")"),(0,r.kt)("li",{parentName:"ul"},"adding OnRoomServerPlayersNotReady to NetworkRoomManager that is called when player ready changes and atleast 1 player is not ready (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1921"},"#1921"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9ae7fa2a8c683f5d2a7ebe6c243a2d95acad9683"},"9ae7fa2"),")"),(0,r.kt)("li",{parentName:"ul"},"Adding ReplaceHandler functions to NetworkServer and NetworkClient (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1775"},"#1775"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/877f4e9c729e5242d4f8c9653868a3cb27c933db"},"877f4e9"),")"),(0,r.kt)("li",{parentName:"ul"},"adding script that displays ping (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1975"},"#1975"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7e93030849c98f0bc8d95fa310d208fef3028b29"},"7e93030"),")"),(0,r.kt)("li",{parentName:"ul"},"additive scene msging added to server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/285"},"#285"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bd7a17a65fbc9aed64aaef6c65641697e8d89a74"},"bd7a17a"),")"),(0,r.kt)("li",{parentName:"ul"},"allow more than one NetworkManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/135"},"#135"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/92968e4e45a33fa5ab77ce2bfc9e8f826a888711"},"92968e4"),")"),(0,r.kt)("li",{parentName:"ul"},"Allow Multiple Network Animator (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1778"},"#1778"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/34a76a2834cbeebb4c623f6650c1d67345b386ac"},"34a76a2"),")"),(0,r.kt)("li",{parentName:"ul"},"allow Play mode options (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f9afb6407b015c239975c5a1fba6609e12ab5c8f"},"f9afb64"),")"),(0,r.kt)("li",{parentName:"ul"},"allow users to detect mirror version 3 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ee9c737bdaf47ff48fb72c017731fb61e63043b1"},"ee9c737"),")"),(0,r.kt)("li",{parentName:"ul"},"Allowing extra base types to be used for SyncLists and other SyncObjects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1729"},"#1729"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9bf816a014fd393617422ee6efa52bdf730cc3c9"},"9bf816a"),")"),(0,r.kt)("li",{parentName:"ul"},"Allowing Multiple Concurrent Additive Scenes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1697"},"#1697"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e32a9b6f0b0744b6bd0eeeb0d9fca0b4dc33cbdf"},"e32a9b6"),")"),(0,r.kt)("li",{parentName:"ul"},"An authenticator that times out other authenticators (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1211"},"#1211"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/09f6892c55f74d3d480621b7d334154a979d3b6a"},"09f6892"),")"),(0,r.kt)("li",{parentName:"ul"},"async multiplex transport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/145"},"#145"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c0e7e9280931a5996f595e41aa516bef20208b6f"},"c0e7e92"),")"),(0,r.kt)("li",{parentName:"ul"},"asynchronous transport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/134"},"#134"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0e84f451e822fe7c1ca1cd04e052546ed273cfce"},"0e84f45"),")"),(0,r.kt)("li",{parentName:"ul"},"Authentication Framework (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1057"},"#1057"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/56bcb02c158050001e1910852df5994c1995424c"},"56bcb02"),")"),(0,r.kt)("li",{parentName:"ul"},"Authenticators can now provide AuthenticationData (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/310ce81c8378707e044108b94faac958e35cbca6"},"310ce81"),")"),(0,r.kt)("li",{parentName:"ul"},"awaitable connect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/55"},"#55"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/952e8a43e2b2e4443e24865c60af1ee47467e4cf"},"952e8a4"),")"),(0,r.kt)("li",{parentName:"ul"},"Block Play Mode and Builds for Weaver Errors (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1479"},"#1479"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0e80e1996fb2673364169782c330e69cd598a21d"},"0e80e19"),")"),(0,r.kt)("li",{parentName:"ul"},"Button to register all prefabs in NetworkClient (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/179"},"#179"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9f5f0b27f8857bf55bf4f5ffbd436247f99cf390"},"9f5f0b2"),")"),(0,r.kt)("li",{parentName:"ul"},"Chat example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1305"},"#1305"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9926472d98730d8fc77231c5ea261158bd09d46b"},"9926472"),")"),(0,r.kt)("li",{parentName:"ul"},"Check for client authority in CmdClientToServerSync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1500"},"#1500"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8b359ff6d07352a751f200768dcde6febd8e9303"},"8b359ff"),")"),(0,r.kt)("li",{parentName:"ul"},"Check for client authority in NetworkAnimator Cmd's (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1501"},"#1501"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ecc0659b87f3d910dc2370f4861ec70244a25622"},"ecc0659"),")"),(0,r.kt)("li",{parentName:"ul"},"Client attribute now throws error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/274"},"#274"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f1b52f3d23e9aa50b5fab8509f3c769e97eac2e7"},"f1b52f3"),")"),(0,r.kt)("li",{parentName:"ul"},"ClientRpc no longer need Rpc prefix (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2086"},"#2086"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eb93c34b330189c79727b0332bb66f3675cfd641"},"eb93c34"),")"),(0,r.kt)("li",{parentName:"ul"},"ClientScene uses log window (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b3656a9edc5ff00329ce00847671ade7b8f2add2"},"b3656a9"),")"),(0,r.kt)("li",{parentName:"ul"},"Commands no longer need Cmd prefix (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2084"},"#2084"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b6d1d09f846f7cf0310db0db9d931a9cfbbb36b2"},"b6d1d09"),")"),(0,r.kt)("li",{parentName:"ul"},"Commands no longer need to start with Cmd (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/263"},"#263"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9578e19ff70bf3a09a9fe31926c8ac337f945ba9"},"9578e19"),")"),(0,r.kt)("li",{parentName:"ul"},"Component based NetworkSceneManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/244"},"#244"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7579d712ad97db98cd729c51568631e4c3257b58"},"7579d71"),")"),(0,r.kt)("li",{parentName:"ul"},"component based SyncToOwner, fixes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/39"},"#39")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1023"},"#1023"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c6d86b301ba19ad8bdaadff12e347f77c621cdc2"},"c6d86b3"),")"),(0,r.kt)("li",{parentName:"ul"},"connections can retrieve end point (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/114"},"#114"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d239718498c5750edf0b5d11cc762136f45500fd"},"d239718"),")"),(0,r.kt)("li",{parentName:"ul"},"Cosmetic Enhancement of Network Manager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1512"},"#1512"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f53b12b2f7523574d7ceffa2a833dbd7fac755c9"},"f53b12b"),")"),(0,r.kt)("li",{parentName:"ul"},"Creating method to replace all log handlers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1880"},"#1880"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d8aaf76fb972dd153f6002edb96cd2b9350e572c"},"d8aaf76"),")"),(0,r.kt)("li",{parentName:"ul"},"custom reader/writer via extension methods (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1047"},"#1047"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b45afad641b1dd9cca3eb3046f6b727d7063d4ef"},"b45afad"),")"),(0,r.kt)("li",{parentName:"ul"},"default log level option (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1728"},"#1728"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5c56adc1dc47ef91f7ee1d766cd70fa1681cb9df"},"5c56adc"),")"),(0,r.kt)("li",{parentName:"ul"},"Disconnect Dead Clients (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1724"},"#1724"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a2eb666f158d72851d6c62997ed4b24dc3c473bc"},"a2eb666"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1753"},"#1753")),(0,r.kt)("li",{parentName:"ul"},"Disposable PooledNetworkReader / PooledNetworkWriter (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1490"},"#1490"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bb55baa679ae780e127ed5817ef10d7f12cd08c8"},"bb55baa"),")"),(0,r.kt)("li",{parentName:"ul"},"Example with 10k monster that change unfrequently (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2b2e71cc007dba2c1d90b565c4983814c1e0b7d1"},"2b2e71c"),")"),(0,r.kt)("li",{parentName:"ul"},"Exclude fields from weaver's automatic Read/Write using System.NonSerialized attribute (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1727"},"#1727"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7f8733ce6a8f712c195ab7a5baea166a16b52d09"},"7f8733c"),")"),(0,r.kt)("li",{parentName:"ul"},"Experimental Network Transform (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1990"},"#1990"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7e2b7338a18855f156e52b663ac24eef153b43a7"},"7e2b733"),")"),(0,r.kt)("li",{parentName:"ul"},"Experimental NetworkRigidbody (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1822"},"#1822"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/25285b1574c4e025373e86735ec3eb9734272fd2"},"25285b1"),")"),(0,r.kt)("li",{parentName:"ul"},"fallback transport now supports uri (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1296"},"#1296"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e4a701ed4e22f1ad89fc3805fa63fe9fef61a8e0"},"e4a701e"),")"),(0,r.kt)("li",{parentName:"ul"},"generate serializers for IMessageBase structs (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1353"},"#1353"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3c0bc2822847410213ee137f6e848c7be296d65a"},"3c0bc28"),")"),(0,r.kt)("li",{parentName:"ul"},"get a convenient property to get network time (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1e8c2fe0522d7843a6a2fae7287287c7afa4e417"},"1e8c2fe"),")"),(0,r.kt)("li",{parentName:"ul"},"HasAuthority attribute now throws error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/276"},"#276"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/da2355b4c1a51dbcbf6ceb405b6fc7b5bb14fa14"},"da2355b"),")"),(0,r.kt)("li",{parentName:"ul"},"HeadlessAutoStart and HeadlessFrameLimiter (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/318"},"#318"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ce6ef50c37690623a5dcafc96cc949966ed6363b"},"ce6ef50"),")"),(0,r.kt)("li",{parentName:"ul"},"Implement IReadOnlyList","<","T",">"," in SyncLists (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/903"},"#903"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3eaaa773b3c126897ed0c84c2e776045793556f7"},"3eaaa77"),")"),(0,r.kt)("li",{parentName:"ul"},"Implemented NetworkReaderPool (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1464"},"#1464"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9257112c65c92324ad0bd51e4a017aa1b4c9c1fc"},"9257112"),")"),(0,r.kt)("li",{parentName:"ul"},"Improve weaver error messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1779"},"#1779"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bcd76c5bdc88af6d95a96e35d47b1b167d375652"},"bcd76c5"),")"),(0,r.kt)("li",{parentName:"ul"},"Improved Log Settings Window Appearance (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1885"},"#1885"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/69b845183c099744455e34c6f12e75acecb9098a"},"69b8451"),")"),(0,r.kt)("li",{parentName:"ul"},"Improved RoomPayer template (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/042b4e1965580a4cdbd5ea50b11a1377fe3bf3cc"},"042b4e1"),")"),(0,r.kt)("li",{parentName:"ul"},"include generated changelog (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/27"},"#27"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a60f1acd3a544639a5e58a8946e75fd6c9012327"},"a60f1ac"),")"),(0,r.kt)("li",{parentName:"ul"},"Include version in release (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1336"},"#1336"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e4f89cf12f6dca42bbb5c25e50f03ed7fcde3f82"},"e4f89cf"),")"),(0,r.kt)("li",{parentName:"ul"},"individual events for SyncDictionary (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/112"},"#112"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b3c1b16100c440131d6d933627a9f6479aed11ad"},"b3c1b16"),")"),(0,r.kt)("li",{parentName:"ul"},"individual events for SyncSet (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/111"},"#111"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/261f5d6a1481634dc524fb57b5866e378a1d909d"},"261f5d6"),")"),(0,r.kt)("li",{parentName:"ul"},"LAN Network discovery (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1453"},"#1453"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e75b45f8889478456573ea395694b4efc560ace0"},"e75b45f"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/38"},"#38")),(0,r.kt)("li",{parentName:"ul"},"LLAPI transport can receive port from uri (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1294"},"#1294"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7865a840b66db74acfdf48989adec2c72222020c"},"7865a84"),")"),(0,r.kt)("li",{parentName:"ul"},"LocalPlayer attribute now throws error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/277"},"#277"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/15aa537947cd14e4d71853f1786c387519d8828b"},"15aa537"),")"),(0,r.kt)("li",{parentName:"ul"},"logger factory works for static classes by passing the type (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f9328c771cfb0974ce4765dc0d5af01440d838c0"},"f9328c7"),")"),(0,r.kt)("li",{parentName:"ul"},"logging api (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1611"},"#1611"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f2ccb59ae6db90bc84f8a36802bfe174b4493127"},"f2ccb59"),")"),(0,r.kt)("li",{parentName:"ul"},"LogSettings that can be saved and included in a build (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1863"},"#1863"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fd4357cd264b257aa648a26f9392726b2921b870"},"fd4357c"),")"),(0,r.kt)("li",{parentName:"ul"},"Make AsyncQueue public for transports (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5df0d98307eff409dd16e67fddedb25710b68b6d"},"5df0d98"),")"),(0,r.kt)("li",{parentName:"ul"},"Mirror Icon for all components (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1452"},"#1452"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a7efb13e29e0bc9ed695a86070e3eb57b7506b4c"},"a7efb13"),")"),(0,r.kt)("li",{parentName:"ul"},"Mirror now supports message inheritance (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1286"},"#1286"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f9d34d586368df2917a0ee834f823a4dd140cb31"},"f9d34d5"),")"),(0,r.kt)("li",{parentName:"ul"},"More examples for Mirror Cloud Service (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2029"},"#2029"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7d0e907b73530c9a625eaf663837b7eeb36fcee6"},"7d0e907"),")"),(0,r.kt)("li",{parentName:"ul"},"Multiple Concurrent Additive Physics Scenes Example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1686"},"#1686"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/87c6ebc5ddf71b3fc358bb1a90bd9ee2470e333c"},"87c6ebc"),")"),(0,r.kt)("li",{parentName:"ul"},"Multiplex based on url (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1295"},"#1295"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c206f9ad974249c5514fad6ef21b27387d1b7ace"},"c206f9a"),")"),(0,r.kt)("li",{parentName:"ul"},"Network Animator can reset triggers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1420"},"#1420"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dffdf02be596db3d35bdd8d19ba6ada7d796a137"},"dffdf02"),")"),(0,r.kt)("li",{parentName:"ul"},"Network Scene Checker Component (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1271"},"#1271"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/71c0d3b2ee1bbdb29d1c39ee6eca3ef9635d70bf"},"71c0d3b"),")"),(0,r.kt)("li",{parentName:"ul"},"network writer and reader now support uri (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0c2556ac64bd93b9e52dae34cf8d84db114b4107"},"0c2556a"),")"),(0,r.kt)("li",{parentName:"ul"},"network writer pool to avoid expensive allocations (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3659acbbdd43321e22269591bfd08189b40e6b44"},"3659acb"),")"),(0,r.kt)("li",{parentName:"ul"},"network writer pool to avoid expensive allocations (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/928"},"#928"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f5e93180a1161e62ef74eb5c5ad81308e91d5687"},"f5e9318"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkAnimator warns if you use it incorrectly (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1424"},"#1424"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c30e4a9f83921416f936ef5fd1bb0e2b3a410807"},"c30e4a9"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkClient raises event after authentication (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/96"},"#96"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c332271d918f782d4b1a84b3f0fd660239f95743"},"c332271"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkConnection is optional for handlers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1202"},"#1202"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bf9eb610dced2434f4a045f5b01bc758b9f72327"},"bf9eb61"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkConnection manages messages handlers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/93"},"#93"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5c79f0db64e46905081e6c0b5502376c5acf0d99"},"5c79f0d"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkConnection to client and server use logger framework (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/72154f1daddaa141fb3b8fe02bcfdf098ef1d44a"},"72154f1"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkConnection uses logging framework (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ec319a165dc8445b00b096d09061adda2c7b8b9d"},"ec319a1"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkIdentity lifecycle events (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/88"},"#88"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9a7c5726eb3d333b85c3d0e44b884c11e34be45d"},"9a7c572"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkIdentity use logger framework (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2e39e13c012aa79d50a54fc5d07b85da3e52391b"},"2e39e13"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkMatchChecker Component (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1688"},"#1688"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/21acf661905ebc35f31a52eb527a50c6eff68a44"},"21acf66"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1685"},"#1685")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1681"},"#1681")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1689"},"#1689")),(0,r.kt)("li",{parentName:"ul"},"NetworkSceneChecker use Scene instead of string name (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1496"},"#1496"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7bb80e3b796f2c69d0958519cf1b4a9f4373268b"},"7bb80e3"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkServer uses new logging framework (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8b4f1051f27f1d5b845e6bd0a090368082ab1603"},"8b4f105"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkServer.SendToReady (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1773"},"#1773"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f6545d4871bf6881b3150a3231af195e7f9eb8cd"},"f6545d4"),")"),(0,r.kt)("li",{parentName:"ul"},"new virtual OnStopServer called when object is unspawned (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1743"},"#1743"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d1695dd16f477fc9edaaedb90032c188bcbba6e2"},"d1695dd"),")"),(0,r.kt)("li",{parentName:"ul"},"new way to connect using uri (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1279"},"#1279"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7c3622cfaed0c062f51342294264c8b389b2846d"},"7c3622c"),")"),(0,r.kt)("li",{parentName:"ul"},"new websocket transport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/156"},"#156"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/23c7b0d1b32684d4f959495fe96b2d16a68bd356"},"23c7b0d"),")"),(0,r.kt)("li",{parentName:"ul"},"next gen async transport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/106"},"#106"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4a8dc676b96840493d178718049b9e20c8eb6510"},"4a8dc67"),")"),(0,r.kt)("li",{parentName:"ul"},"now you can assign scenes even if not in Editor (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1576"},"#1576"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c8a1a5e56f7561487e3180f26e28484f714f36c1"},"c8a1a5e"),")"),(0,r.kt)("li",{parentName:"ul"},"Now you can pass NetworkIdentity and GameObjects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/83"},"#83"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dca2d4056fe613793480b378d25509284a1fd46a"},"dca2d40"),")"),(0,r.kt)("li",{parentName:"ul"},"onstopserver event in NetworkIdentity (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/186"},"#186"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eb8119007b19faca767969700b0209ade135650c"},"eb81190"),")"),(0,r.kt)("li",{parentName:"ul"},"Pass all information to spawn handler (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1215"},"#1215"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d741baed789366ed7ce93f289eac3552dfe54fdc"},"d741bae"),")"),(0,r.kt)("li",{parentName:"ul"},"Piped connection (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/138"},"#138"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/471a881cdae1c6e526b5aa2d552cc91dc27f793a"},"471a881"),")"),(0,r.kt)("li",{parentName:"ul"},"PlayerSpawner component (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/123"},"#123"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e8b933ddff9a47b64be371edb63af130bd3958b4"},"e8b933d"),")"),(0,r.kt)("li",{parentName:"ul"},"Prettify Log Names (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c7d8c0933d37abc919305b660cbf3a57828eaace"},"c7d8c09"),")"),(0,r.kt)("li",{parentName:"ul"},"profiler info is available in production builds (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5649cc69777a4a49f11cbce92e6f149d92b6e747"},"5649cc6"),")"),(0,r.kt)("li",{parentName:"ul"},"Remove Command shortcut for host mode (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1168"},"#1168"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/94eda38803c141f279a5f42317c4d07c16b0223d"},"94eda38"),")"),(0,r.kt)("li",{parentName:"ul"},"Rigidbody example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2076"},"#2076"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ef47ee7a57bddcdc669aef32fbeffcd4446f98a8"},"ef47ee7"),")"),(0,r.kt)("li",{parentName:"ul"},"safer and consistent writers names (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/979"},"#979"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b4077c1112a529ae7494709c1da0b6351d48c4b5"},"b4077c1"),")"),(0,r.kt)("li",{parentName:"ul"},"scene transition uses routine instead of asyncoperation (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/305"},"#305"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a16eb005e31e576346b4b4cffbe266c25b8709ca"},"a16eb00"),")"),(0,r.kt)("li",{parentName:"ul"},"Script Templates (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1217"},"#1217"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8cf6a0707e0ada3d27b14ec55c4c5a082f0e214b"},"8cf6a07"),")"),(0,r.kt)("li",{parentName:"ul"},"Secure messages that require authentication, fixes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/720"},"#720")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1089"},"#1089"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7ac43cd56af6dd1b37f6696e97d7b671d6c21865"},"7ac43cd"),")"),(0,r.kt)("li",{parentName:"ul"},"Semantic release for UPM (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/24"},"#24"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8cbc005543a8b919ec022b2e9d1b5b8a6c85ef14"},"8cbc005"),")"),(0,r.kt)("li",{parentName:"ul"},"Server and Client share the same scene loading method (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/286"},"#286"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/acb6dd192244adcfab15d013a96c7402151d226b"},"acb6dd1"),")"),(0,r.kt)("li",{parentName:"ul"},"Server attribute now throws error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/270"},"#270"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f3b5dc4fef5fba05e585d274d9df05c3954ff6c7"},"f3b5dc4"),")"),(0,r.kt)("li",{parentName:"ul"},"Server raises an event when it starts (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/126"},"#126"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d5b0a6f0dd65f9dbb6c4848bce5e81f93772a235"},"d5b0a6f"),")"),(0,r.kt)("li",{parentName:"ul"},"ship as a unitypackage (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/11edc142cfddfb7abecc11d8a12d6d32522ceb14"},"11edc14"),")"),(0,r.kt)("li",{parentName:"ul"},"Show compile time error if overriding unused OnServerAddPlayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/682"},"#682"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a8599c1af2b3b2abe377a580760cb13bbb3c9c7d"},"a8599c1"),")"),(0,r.kt)("li",{parentName:"ul"},"Spawn objects in clients in same order as server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/247"},"#247"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b786646f1859bb0e1836460c6319a507e1cc31aa"},"b786646"),")"),(0,r.kt)("li",{parentName:"ul"},"spawning invalid object now gives exception (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e2fc8292400aae8b3b8b972ff5824b8d9cdd6b88"},"e2fc829"),")"),(0,r.kt)("li",{parentName:"ul"},"support sending and receiving ArraySegment","<","byte",">"," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/898"},"#898"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e5eecbff729f426e0de387f86fed70dc1c28b35a"},"e5eecbf"),")"),(0,r.kt)("li",{parentName:"ul"},"support writing and reading array segments (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/918"},"#918"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f9ff44399ba42c3c7dbc4d4f2615ee4837aa6133"},"f9ff443"),")"),(0,r.kt)("li",{parentName:"ul"},"supports scriptable objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4b8f8192123fe0b79ea71f2255a4bbac404c88b1"},"4b8f819"),")"),(0,r.kt)("li",{parentName:"ul"},"supports scriptable objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1471"},"#1471"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0f10c72744864ac55d2e1aa96ba8d7713c77d9e7"},"0f10c72"),")"),(0,r.kt)("li",{parentName:"ul"},"Sync Events no longer need Event prefix (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2087"},"#2087"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ed40c2d210f174f1ed50b1e929e4fb161414f228"},"ed40c2d"),")"),(0,r.kt)("li",{parentName:"ul"},"SyncDictionary can now be used for any IDictionary (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/703"},"#703"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2683572fb43cbe22c58d9994007ffebaf001fb4a"},"2683572"),")"),(0,r.kt)("li",{parentName:"ul"},"SyncList now supports any IList implementation (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/704"},"#704"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/040bcb45adbb4d7d2ad47c5c2e0275e7c05a7971"},"040bcb4"),")"),(0,r.kt)("li",{parentName:"ul"},"SyncList.FindIndex added (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/823"},"#823"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b5ff43ada3fa1ec39f88dd689117761bbefcdd0a"},"b5ff43a"),")"),(0,r.kt)("li",{parentName:"ul"},"synclists has individual meaningful events (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/109"},"#109"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e326064b51e8372726b30d19973df6293c74c376"},"e326064"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/103"},"#103")),(0,r.kt)("li",{parentName:"ul"},"SyncSet and SyncDictionary now show in inspector (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1561"},"#1561"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/55107115c66ea38b75edf4a912b5cc48351128f7"},"5510711"),")"),(0,r.kt)("li",{parentName:"ul"},"SyncSet custom Equality Comparer support (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1147"},"#1147"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0f951858c553abd34be8544bf717744fae1d35c5"},"0f95185"),")"),(0,r.kt)("li",{parentName:"ul"},"SyncToOwner now works with authority (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1204"},"#1204"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/92d0df7b399027ccd8f5983fc4bc4fea4530badc"},"92d0df7"),")"),(0,r.kt)("li",{parentName:"ul"},"TargetRpc no longer need Target prefix (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2085"},"#2085"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d89ac9fb052c17c2edfdf381aff35f70d23f4f0a"},"d89ac9f"),")"),(0,r.kt)("li",{parentName:"ul"},"telepathy can now receive port from uri (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1284"},"#1284"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/06946cf37fc2ed8660c93394d30632de3edc35db"},"06946cf"),")"),(0,r.kt)("li",{parentName:"ul"},"throw exception if assigning incorrect asset id (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/250"},"#250"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7741fb1f11abc8eb2aec8c1a94ac53380ac5a562"},"7741fb1"),")"),(0,r.kt)("li",{parentName:"ul"},"Time sync is now done per NetworkClient (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b24542f62c6a2d0c43588af005f360ed74c619ca"},"b24542f"),")"),(0,r.kt)("li",{parentName:"ul"},"transport can provide their preferred scheme (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/774a07e1bf26cce964cf14d502b71b43ce4f5cd0"},"774a07e"),")"),(0,r.kt)("li",{parentName:"ul"},"Transport can send to multiple connections at once (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1120"},"#1120"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bc7e116a6e1e3f1a7dd326109631c8c8d12b2622"},"bc7e116"),")"),(0,r.kt)("li",{parentName:"ul"},"transports can give server uri (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/113"},"#113"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dc700ec721cf4ecf6ddd082d88b933c9afffbc67"},"dc700ec"),")"),(0,r.kt)("li",{parentName:"ul"},"Transports can have multiple uri (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/292"},"#292"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/155a29c053421f870241a75427db748fbef08910"},"155a29c"),")"),(0,r.kt)("li",{parentName:"ul"},"Transports can tell if they are supported (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/282"},"#282"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/890c6b8808ccbf4f4ffffae8c00a9d897ccac7e4"},"890c6b8"),")"),(0,r.kt)("li",{parentName:"ul"},"Transports may support any number of schemes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/291"},"#291"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2af7b9d19cef3878147eee412adf2b9b32c91147"},"2af7b9d"),")"),(0,r.kt)("li",{parentName:"ul"},"update upm package if tests pass (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/21"},"#21"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7447776a3bb47aa1e8f262671d62b48d52591247"},"7447776"),")"),(0,r.kt)("li",{parentName:"ul"},"Use logger framework for NetworkClient (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1685"},"#1685"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6e92bf5616d0d2486ce86497128094c4e33b5a3f"},"6e92bf5"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SortedDictionary for LogSettings (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1914"},"#1914"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7d4c0a9cb6f24fa3c2834b9bf351e30dde88665f"},"7d4c0a9"),")"),(0,r.kt)("li",{parentName:"ul"},"user friendly weaver error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/896"},"#896"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/954a3d594d53adba4fbea25193170760ed810ee8"},"954a3d5"),")"),(0,r.kt)("li",{parentName:"ul"},"Users may provide custom serializers for any type (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1153"},"#1153"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9cb309e5bcb01ff3de4781e49d3a4f0a1227891b"},"9cb309e"),")"),(0,r.kt)("li",{parentName:"ul"},"Weaver can now automatically create Reader/Writer for types in a different assembly (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1708"},"#1708"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b1644ae481497d4347f404543c8200d2754617b9"},"b1644ae"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1570"},"#1570")),(0,r.kt)("li",{parentName:"ul"},"websocket can receive port in url (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1287"},"#1287"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c8ad118d5065f2570c45914d8c1d6daeac2de7ef"},"c8ad118"),")"),(0,r.kt)("li",{parentName:"ul"},"Websockets now give client address, fix ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1121"},"#1121")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1125"},"#1125"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c9f317ddee092a59d2de8ad5988bea09a1ca152f"},"c9f317d"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"scene:")," Add support for scene loading params (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/644"},"#644"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d48a3757dabe072002f93293fe9c7bcb13b1354d"},"d48a375"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"syncvar:")," Add SyncDictionary (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/602"},"#602"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7d21bded9a521e53acc212b11a756d41e1b4218c"},"7d21bde"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"telepathy:")," Split MaxMessageSize to allow setting a different value for client and server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/749"},"#749"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f0a8b5dea817cf59d961643f409d2347349a1261"},"f0a8b5d"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"websocket:")," Re-enable native SSL (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/965"},"#965"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7ed4a9a1e0727e067795ef7a9a24c6203f8ceb34"},"7ed4a9a"),")")),(0,r.kt)("h3",{id:"performance-improvements-54"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Adding buffer for local connection (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1621"},"#1621"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4d5cee893d0104c0070a0b1814c8c84f11f24f18"},"4d5cee8"),")"),(0,r.kt)("li",{parentName:"ul"},"Adding dirty check before update sync var (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1702"},"#1702"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/58219c8f726cd65f8987c9edd747987057967ea4"},"58219c8"),")"),(0,r.kt)("li",{parentName:"ul"},"AddPlayerMessage is now a value type (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/246a551151ea33892aa3bc04faca68c0b755a653"},"246a551"),")"),(0,r.kt)("li",{parentName:"ul"},"allocation free enumerator for syncsets, fixes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1171"},"#1171")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1173"},"#1173"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/035e6307f98e3296f5d0f5c37eea5d4ce9c26fd0"},"035e630"),")"),(0,r.kt)("li",{parentName:"ul"},"allocation free syncdict foreach, fix ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1172"},"#1172")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1174"},"#1174"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1ec89105758cb6a76c438aa990c1dcfbf0a78af6"},"1ec8910"),")"),(0,r.kt)("li",{parentName:"ul"},"avoid allocation for error messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c669ff155df16a007ee69d703a1f72f2e0e0b919"},"c669ff1"),")"),(0,r.kt)("li",{parentName:"ul"},"Avoid allocation when reading message payload (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/912"},"#912"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/11750a9e7a3f330e508642d1fca51173c3a4d5a8"},"11750a9"),")"),(0,r.kt)("li",{parentName:"ul"},"avoid allocation with message structs (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/939"},"#939"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7c7c910a5e5ce15dc81b1008e4797222abe7fd9a"},"7c7c910"),")"),(0,r.kt)("li",{parentName:"ul"},"avoid boxing for getting message id (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1144"},"#1144"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/95138427f3c6765ba25bccc98968f477c1f8bcda"},"9513842"),")"),(0,r.kt)("li",{parentName:"ul"},"avoid boxing if there is no profiler (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a351879f910be15492d498b3cc38e2ea8861d231"},"a351879"),")"),(0,r.kt)("li",{parentName:"ul"},"ClientAuthorityMessage is now a value type (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/991"},"#991"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d071438d01080b56065e800c3ddf492c87231ed6"},"d071438"),")"),(0,r.kt)("li",{parentName:"ul"},"Custom IEnumerator for SyncLists to avoid allocations on foreach (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/904"},"#904"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4ffd5a2e06849fc812106f67d5d2b9c3d40a99b9"},"4ffd5a2"),")"),(0,r.kt)("li",{parentName:"ul"},"don't varint bytes and shorts (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/48674151f01c040979e4a9aebbf3f6037f7b2226"},"4867415"),")"),(0,r.kt)("li",{parentName:"ul"},"eliminate boxing with lists (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/901"},"#901"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8f6d4cb22e0417bb0de1cb744e307250298e20f4"},"8f6d4cb"),")"),(0,r.kt)("li",{parentName:"ul"},"eliminate small allocation on remote calls (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/907"},"#907"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1c18743788be9d051fa617345e463cf0df6e38d8"},"1c18743"),")"),(0,r.kt)("li",{parentName:"ul"},"eliminate string concat during remote method calls (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/908"},"#908"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/70a532b5db7cd0c20797b1168d84c6368480450c"},"70a532b"),")"),(0,r.kt)("li",{parentName:"ul"},"empty messages are value types now (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/145edaa50bd225db9f1442aa7c86bae13daa6388"},"145edaa"),")"),(0,r.kt)("li",{parentName:"ul"},"faster NetworkReader pooling (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1623"},"#1623"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1ae038172ac7f5e18e0e09b0081f7f42fa0eff7a"},"1ae0381"),")"),(0,r.kt)("li",{parentName:"ul"},"faster NetworkWriter pooling (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1620"},"#1620"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4fa43a947132f89e5348c63e393dd3b80e1fe7e1"},"4fa43a9"),")"),(0,r.kt)("li",{parentName:"ul"},"Increasing Network Writer performance (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1674"},"#1674"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f0579835ca52270de424e81691f12c02022c3909"},"f057983"),")"),(0,r.kt)("li",{parentName:"ul"},"messages should be value types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/987"},"#987"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/633fb19f8d0f29eef2fd96a97c4da32203cb3408"},"633fb19"),")"),(0,r.kt)("li",{parentName:"ul"},"MultiplexTransport: avoid Linq allocations that would happen on every packet send because Send calls .ServerActive() each time (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7fe8888df5a74667914c66c336625309279ff28a"},"7fe8888"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkProximityChecker checks Server.connections instead of doing 10k sphere casts for 10k monsters. 2k NetworkTransforms demo is significantly faster. Stable 80fps instead of 500ms freezes in between. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1852"},"#1852"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2d89f059afd9175dd7e6d81a0e2e38c0a28915c8"},"2d89f05"),")"),(0,r.kt)("li",{parentName:"ul"},"Networkreader nonalloc (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/910"},"#910"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/18f035d268d5c84fb6b34d2836b188692cd5a96c"},"18f035d"),")"),(0,r.kt)("li",{parentName:"ul"},"objdestroy message is now a value type (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/993"},"#993"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a32c5a945689285241cadb809b24c2883ac6078c"},"a32c5a9"),")"),(0,r.kt)("li",{parentName:"ul"},"ObjHideMessage is now a value type (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/992"},"#992"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a49d938fbe3c27f7237705dae3b2a2d21114de81"},"a49d938"),")"),(0,r.kt)("li",{parentName:"ul"},"OnDeserializeSafely without GC (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/804"},"#804"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/27b7e250a0451ae6a04222a9d035a5b0efdbeb99"},"27b7e25"),")"),(0,r.kt)("li",{parentName:"ul"},"Optimize interest management (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f1ceb0c7a0438d3b7febbccc1ab8fde0a7e2580b"},"f1ceb0c"),")"),(0,r.kt)("li",{parentName:"ul"},"Optimize interest management (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/899"},"#899"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ff1a2346b4b28acef7054f5e460e4b863dec6372"},"ff1a234"),")"),(0,r.kt)("li",{parentName:"ul"},"Pack small 32 bit negatives efficiently (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/480af1aa6c8aca96b67f1532994c5d7d2d8902c5"},"480af1a"),")"),(0,r.kt)("li",{parentName:"ul"},"Pack small 64 bit negatives efficiently (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5f1ef4ab1f5a895e4537dcb5b928b557487c5e60"},"5f1ef4a"),")"),(0,r.kt)("li",{parentName:"ul"},"Recycle argument writer to avoid allocations (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/945"},"#945"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/97432169ead1e212bff4496ac2f1afe1c7ad2898"},"9743216"),")"),(0,r.kt)("li",{parentName:"ul"},"Reduce enum bandwidth (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/794"},"#794"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/97e9ac24830b1e0e0aec28c8608ad630ed024f5c"},"97e9ac2"),")"),(0,r.kt)("li",{parentName:"ul"},"remove allocations during syncvar sync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/946"},"#946"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d2381ce892968a91405afd52f00a357144817539"},"d2381ce"),")"),(0,r.kt)("li",{parentName:"ul"},"remove BinaryWriter, it allocates like crazy (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/929"},"#929"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7b3e82a1fc4339698583633b00b9ed052780f6ed"},"7b3e82a"),")"),(0,r.kt)("li",{parentName:"ul"},"remove network transform allocation (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9e3ecc1cedc5239d30e91bcdcff9841b94e3dec8"},"9e3ecc1"),")"),(0,r.kt)("li",{parentName:"ul"},"Remove redundant mask (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1604"},"#1604"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5d76afbe29f456a657c9e1cb7c97435242031091"},"5d76afb"),")"),(0,r.kt)("li",{parentName:"ul"},"remove syncvar boxing (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/927"},"#927"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b2ba5896fa6b58fa524e6cde1b763ef6f3cba4b3"},"b2ba589"),")"),(0,r.kt)("li",{parentName:"ul"},"replace isValueType with faster alternative (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1617"},"#1617"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/61163cacb4cb2652aa8632f84be89212674436ff"},"61163ca"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com//github.com/vis2k/Mirror/issues/1614/issues/issuecomment-605443808"},"/github.com/vis2k/Mirror/issues/1614#issuecomment-605443808")),(0,r.kt)("li",{parentName:"ul"},"return the contents of the writer as an array segment (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/916"},"#916"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ced36906bcb6dca2a1edb439da6b00d0b5d0d09d"},"ced3690"),")"),(0,r.kt)("li",{parentName:"ul"},"reuse the network writer used for rpc parameters (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5dafc4d932584710c4fec62b9bfb52cedd7f02fb"},"5dafc4d"),")"),(0,r.kt)("li",{parentName:"ul"},"rpc messages are now value types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/997"},"#997"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b5b2f3e1eb8c64d54cd322e095c42a224dad0f1a"},"b5b2f3e"),")"),(0,r.kt)("li",{parentName:"ul"},"SceneMessage is now a value type (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/989"},"#989"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/407b36acb724cbf90737465e9faf4918d0cee345"},"407b36a"),")"),(0,r.kt)("li",{parentName:"ul"},"simplify and speed up getting methods in weaver (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c1cfc421811e4c12e84cb28677ac68c82575958d"},"c1cfc42"),")"),(0,r.kt)("li",{parentName:"ul"},"spawn with client authority only takes 1 message (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1206"},"#1206"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3b9414f131450e5f96c621f57d9e061dbda62661"},"3b9414f"),")"),(0,r.kt)("li",{parentName:"ul"},"SpawnPrefabMessage is now a value type (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a44efd1f92b66cbf7325830463e7e310dabe3fd8"},"a44efd1"),")"),(0,r.kt)("li",{parentName:"ul"},"SpawnSceneObjectMessage is now a value type (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/40c7d97ed99fe7a478b74d1530b70fbc2ae3cfa9"},"40c7d97"),")"),(0,r.kt)("li",{parentName:"ul"},"Transports now give ArraySegment","<","byte",">"," instead of byte[] (based on ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/569"},"#569")," and ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/846"},"#846"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/77bee450b91661e9f3902a30e0749cf6c786020c"},"77bee45"),")"),(0,r.kt)("li",{parentName:"ul"},"update vars is now a value type (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/990"},"#990"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f99e71ebdfe2fdf50116270618a5bf0f2b97b748"},"f99e71e"),")"),(0,r.kt)("li",{parentName:"ul"},"Use 0 for null byte arrays (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/925"},"#925"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/21ca49d1be9a15445baf1f7417d7fc6ec1df1053"},"21ca49d"),")"),(0,r.kt)("li",{parentName:"ul"},"use 0 for null strings (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/926"},"#926"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7181cd9ca190a5f3eb45ec7878492479db55d9f3"},"7181cd9"),")"),(0,r.kt)("li",{parentName:"ul"},"use bitshift operations instead of division in varint (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fff765c96be0c61d77ade8f5c12997e709ab3d89"},"fff765c"),")"),(0,r.kt)("li",{parentName:"ul"},"use byte[] directly instead of MemoryStream (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1618"},"#1618"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/166b8c946736447a76c1886c4d1fb036f6e56e20"},"166b8c9"),")"),(0,r.kt)("li",{parentName:"ul"},"Use continuewith to queue up ssl messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1640"},"#1640"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/84b2c8cf2671728baecf734487ddaa7fab9943a0"},"84b2c8c"),")"),(0,r.kt)("li",{parentName:"ul"},"Use invokeRepeating instead of Update (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2066"},"#2066"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/264f9b8f945f0294a8420202abcd0c80e27e6ee6"},"264f9b8"),")"),(0,r.kt)("li",{parentName:"ul"},"Use NetworkWriterPool in NetworkAnimator (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1421"},"#1421"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7d472f21f9a807357df244a3f0ac259dd431661f"},"7d472f2"),")"),(0,r.kt)("li",{parentName:"ul"},"Use NetworkWriterPool in NetworkTransform (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1422"},"#1422"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a4578458a15e3d2840a49dd029b4c404cadf85a4"},"a457845"),")"),(0,r.kt)("li",{parentName:"ul"},"Use RemoveAt to remove elements from lists (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/22b45f7a11be6f3c09e49a302506b540c1c5adc6"},"22b45f7"),")"),(0,r.kt)("li",{parentName:"ul"},"use value types for empty messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/988"},"#988"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/81d915eb7350878f69db2f579355ad1224359194"},"81d915e"),")"),(0,r.kt)("li",{parentName:"ul"},"Use WritePackedUInt32 in SyncList (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/688"},"#688"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2db7576bbc163cf53e1b28384972361e3ca4a720"},"2db7576"),")")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remove NetworkConnection.isAuthenticated (#167) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8a0e0b3af37e8b0c74a8b97f12ec29cf202715ea"},"8a0e0b3"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/167"},"#167")),(0,r.kt)("li",{parentName:"ul"},"Simplify RegisterHandler (#160) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f4f516791b8390f0babf8a7aefa19254427d4145"},"f4f5167"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/160"},"#160")),(0,r.kt)("li",{parentName:"ul"},"Remove NetworkConnectionToClient (#155) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bd95cea4d639753335b21c48781603acd758a9e7"},"bd95cea"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/155"},"#155")),(0,r.kt)("li",{parentName:"ul"},"remove room feature for now (#122) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/87dd495a6fca6c85349afd42ba6449d98de1f567"},"87dd495"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/122"},"#122")),(0,r.kt)("li",{parentName:"ul"},"Server Disconnect is now an event not a message (#121) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/82ebd71456cbd2e819540d961a93814c57735784"},"82ebd71"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/121"},"#121")),(0,r.kt)("li",{parentName:"ul"},"remove OnClientStart virtual (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eb5242d63fa011381e7692470713fd144476454a"},"eb5242d"),")"),(0,r.kt)("li",{parentName:"ul"},"Move on client stop (#118) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/678e3867a9f232e52d2a6cdbfae8140b0e82bd11"},"678e386"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/118"},"#118")),(0,r.kt)("li",{parentName:"ul"},"merge clientscene and networkclient (#84) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dee10460325119337401dc4d237dec8bfb9ddb29"},"dee1046"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/84"},"#84")),(0,r.kt)("li",{parentName:"ul"},"removed obsoletes (#1542) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4faec295593b81a709a57aaf374bb5b080a04538"},"4faec29"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1542"},"#1542")),(0,r.kt)("li",{parentName:"ul"},"Assign/Remove client authority now throws exception (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7679d3bef369de5245fd301b33e85dbdd74e84cd"},"7679d3b"),")"),(0,r.kt)("li",{parentName:"ul"},"Removed LLAPI (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b0c936cb7d1a803b7096806a905a4c121e45bcdf"},"b0c936c"),")"),(0,r.kt)("li",{parentName:"ul"},"Simplify unpacking messages (#65) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c369da84dc34dbbde68a7b30758a6a14bc2573b1"},"c369da8"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/65"},"#65")),(0,r.kt)("li",{parentName:"ul"},"Remove all compiler defines (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a3943459598d30a325fb1e1315b84c0dedf1741c"},"a394345"),")"),(0,r.kt)("li",{parentName:"ul"},"Simplify AddPlayerForConnection (#62) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb267557af292e048df248d4f85fff3569ac2963"},"fb26755"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/62"},"#62")),(0,r.kt)("li",{parentName:"ul"},"Renamed localEulerAnglesSensitivity (#1474) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eee969201d69df1e1ee1f1623b55a78f6003fbb1"},"eee9692"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1474"},"#1474")),(0,r.kt)("li",{parentName:"ul"},"Rename NetworkServer.localClientActive (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7cd0894853b97fb804ae15b8a75b75c9d7bc04a7"},"7cd0894"),")"),(0,r.kt)("li",{parentName:"ul"},"Simplify spawning (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c87a38a4ff0c350901138b90db7fa8e61b1ab7db"},"c87a38a"),")"),(0,r.kt)("li",{parentName:"ul"},"Merge pull request #650 from vis2k/networkclient_static_2 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fac05428cc7f49f53d2322a010d61b61349241ef"},"fac0542"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/650"},"#650"))),(0,r.kt)("h3",{id:"reverts-3"},"Reverts"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},'Revert "Revert "Explain why 10"" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d727e4fd4b9e811025c7309efeba090e3ac14ccd"},"d727e4f"),")"),(0,r.kt)("li",{parentName:"ul"},'Revert "Revert "perf: faster NetworkWriter pooling (#1616)"" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/20e9e5dab0dfb8a67d11d84152b0580ea5370551"},"20e9e5d"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1616"},"#1616")),(0,r.kt)("li",{parentName:"ul"},'Revert "fix: replacing the player does not mean giving up authority (#1254)" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b8618d356f0eeb7aa7bde5ea41c56d7a2cdb3373"},"b8618d3"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1254"},"#1254")),(0,r.kt)("li",{parentName:"ul"},'Revert "feat: Add Timeout to NetworkAuthenticator (#1091)" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/12c5a8fdc30280b9ad113c3a8116b2d046d3b31f"},"12c5a8f"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1091"},"#1091")),(0,r.kt)("li",{parentName:"ul"},'Revert "Remove add component from deprecated components (#1087)" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9f09c216807271e5fc89aa441fa95af0b0eaf80c"},"9f09c21"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1087"},"#1087")),(0,r.kt)("li",{parentName:"ul"},'Revert "Inserted blank lines where appropriate" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/913d503fdade774e668ceb43d9397b86870d99cd"},"913d503"),")"),(0,r.kt)("li",{parentName:"ul"},'Revert "feat: Custom readers and writers" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/07ef8c91c0931628adb589b67893a80145134c15"},"07ef8c9"),")"),(0,r.kt)("li",{parentName:"ul"},'Revert "New Basic Example (#985)" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/35b9919d91a9b942b133426eed0d45733f48cd6b"},"35b9919"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/985"},"#985")),(0,r.kt)("li",{parentName:"ul"},'Revert "fix: reduce allocations at the transport" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bb128fe3b5f05becaf7ea0546c9198707d2c76ba"},"bb128fe"),")"),(0,r.kt)("li",{parentName:"ul"},'Revert "doc: messages can be struct now" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/79f7c815207e18e35fddf9c2e528178eb88decd9"},"79f7c81"),")"),(0,r.kt)("li",{parentName:"ul"},'Revert "ClientScene.OnSpawnPrefab and NetworkManager.OnServerAddPlayerInternal: spawn objects with prefab names to avoid unnecessary "(Clone)" suffix from Unity. otherwise we need a name sync component in all games that show the names, e.g. MMOs for all monsters. This way we only need name sync components for objects that actually do change names, e.g. players." because of issue #426 (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/82d4cf08ff187c002d5ddf04b7b88d72709b3a44"},"82d4cf0"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/426"},"#426")),(0,r.kt)("li",{parentName:"ul"},'Revert "Source based weaver (#319)" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9b232b05517bc215e005a333aafcb92cdb832d60"},"9b232b0"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/319"},"#319")),(0,r.kt)("li",{parentName:"ul"},'Revert "Code style and comment typo fix." (#386) (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dc3b767743309c414b5e88ba3443f82b93dab0e2"},"dc3b767"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/386"},"#386")),(0,r.kt)("li",{parentName:"ul"},'Revert "Onserialize improvements (#302)" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/00a36109a0a0ebad860a0f37245a22de3cd05f70"},"00a3610"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/302"},"#302")),(0,r.kt)("li",{parentName:"ul"},'Revert "Documented the attributes." (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9e3dcc7acdded4980b5ccef3a3b3104e9c27d80a"},"9e3dcc7"),")"),(0,r.kt)("li",{parentName:"ul"},'Revert "Documented NetworkBehaviour and NetworkIdentity." (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a5cfc810dbddb7aabada07c0200d0d52f743a2d6"},"a5cfc81"),")"),(0,r.kt)("li",{parentName:"ul"},'Revert "Documented NetworkManager." (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5bc44a97398a476139ef4aebcdf024921b8d1f18"},"5bc44a9"),")"),(0,r.kt)("li",{parentName:"ul"},'Revert "Don\'t generate OnSerialize/OnDeserialize if not needed (#199)" (#217) (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/40a3ecce083e021adaeb56daf2653fb89a0e08b0"},"40a3ecc"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/199"},"#199")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/217"},"#217")),(0,r.kt)("li",{parentName:"ul"},'Revert "Don\'t require Cmd, Rpc and Target prefixes (#127)" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/96992c35bce04c07c4cbdd29c7ea534dc096fdc7"},"96992c3"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/127"},"#127"))),(0,r.kt)("h3",{id:"breaking-changes-127"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove redundant scene ready value")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Removed ","[TargetRpc]",", use ","[ClientR(target=Client.Owner)]"," instead")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Removed websocket transport")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"rename AsyncMultiplexTransport -",">"," MultiplexTransport")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"rename AsyncFallbackTransport -",">"," FallbackTransport")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"rename AsyncWsTransport -",">"," WsTransport")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"[LocalPlayerCallback]"," is now ","[LocalPlayer(error = false)]")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Local Player guard"))),(0,r.kt)("p",null,"Co-authored-by: Paul Pacheco ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:paul.pacheco@aa.com"},"paul.pacheco@aa.com"),">"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"[ClientCallback]"," is now ","[Client(error = false)]")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"[HasAuthorityCallback]"," is now ","[HasAuthority(error = false)]")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fix test"))),(0,r.kt)("p",null,"Co-authored-by: Paul Pacheco ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:paul.pacheco@aa.com"},"paul.pacheco@aa.com"),">"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"[ServerCallback]"," is now ","[Server(error = false)]")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fixed weaver test")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove unused code")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fix comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"document replacement of ServerCallback")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"No need to be serializable")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Exception should be serializable?")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix code smell")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"No need to implement interface, parent does"))),(0,r.kt)("p",null,"Co-authored-by: Paul Pacheco ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:paul.pacheco@aa.com"},"paul.pacheco@aa.com"),">"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Renamed ","[Command]"," to ","[ServerRpc]")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"NetworkManager no longer handles scene changes")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove isAuthenticated")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix typo")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix smells")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove smells")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"NetworkConneciton.RegisterHandler only needs message class")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"NetworkConnectionToClient and networkConnectionToServer are gone")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"connecition Id is gone")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"websocket transport does not work, needs to be replaced.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"NetworkManager no longer has OnServerStart virtual")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"NetworkManager no longer spawns the player. You need to add PlayerSpawner component if you want that behavior")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You will need to reassign your scenes after upgrade")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Automatically fix properties that were using name"))),(0,r.kt)("p",null,"If you open a NetworkManager or other gameobject that uses a scene name\nit now gets converted to scene path by the SceneDrawer"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Use get scene by name")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Scene can never be null")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Update Assets/Mirror/Examples/AdditiveScenes/Scenes/MainScene.unity")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Issue warning if we drop the scene")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Issue error if scene is lost")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Add suggestion on how to fix the error")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Keep backwards compatibility, check for scene name")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"cache the active scene")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Update Assets/Mirror/Editor/SceneDrawer.cs"))),(0,r.kt)("p",null,"Co-Authored-By: James Frowen ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:jamesfrowendev@gmail.com"},"jamesfrowendev@gmail.com"),">"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"GetSceneByName only works if scene is loaded")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove unused using"))),(0,r.kt)("p",null,"Co-authored-by: James Frowen ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:jamesfrowendev@gmail.com"},"jamesfrowendev@gmail.com"),">"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Room feature and example are gone")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"offline/online scenes are gone")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"OnServerDisconnect is gone")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Removed OnStartClient virtual, use event from NetworkClient instead")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"OnStopClient virtual is replaced by event in Client")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"SyncDictionary callback has been replaced")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"callback signature changed in SyncSet")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Sync lists no longer have a Callback event with an operation enum")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"NetworkBehavior no longer has virtuals for lifecycle events")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"ClientScene is gone")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"removed obsoletes")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"NetworkTime.Time is no longer static")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"observers is now a set of connections, not a dictionary")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"cannot pass GameObjects and NetworkIdentities anymore.\nWill be restored in the future.")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"StartClient now receives the server ip")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"NetworkManager no longer has NetworkAddress")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Assign/Remove client authority throws exception instead of returning boolean")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Removed LLAPITransport")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"MessagePacker.UnpackMessage replaced by UnpackId")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"removed compilation defines, use upm version defines instead")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"AddPlayerForConnection no longer receives the client")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fix compilatio errors")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fix build errors")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"ClientConnect replaced with ClientConnectAsync\nthat can be awaited")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fix: TCP transport for async compliance")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"use async connect")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Ignore telepathy tests until they are fixed")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"It is ok to interrupt sockets")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove some warnings")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove some warnings")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove some warnings")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove some warnings")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove some warnings")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove some warnings")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove some warnings")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"localEulerAnglesSensitivity renamed to localRotationSensitivity")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Make the server uri method mandatory in transports"))),(0,r.kt)("p",null,"Co-authored-by: MrGadget ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:chris@clevertech.net"},"chris@clevertech.net"),">"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"rename localClientActive to LocalClientActive"),(0,r.kt)("li",{parentName:"ul"},"Spawn no longer receives NetworkClient"),(0,r.kt)("li",{parentName:"ul"},"Remove obsolete OnServerAddPlayer")),(0,r.kt)("p",null,"Any person that overrides this method has a broken game. These methods are never called anywhere."),(0,r.kt)("p",null,"The user gets a warning because they are overriding an obsolete method, which might get ignored if they have lots of other warnings. They would run their game and their game would not work at all. No errors."),(0,r.kt)("p",null,"By removing these methods, users that override these methods will get a compile time error instead. So they cannot ignore this error and they will fix it."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Method is no longer available in NetworkLobbyManager"),(0,r.kt)("li",{parentName:"ul"},"Make NetworkClient Great Again!")),(0,r.kt)("h2",{id:"4332-2020-08-10"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/43.3.1-master...43.3.2-master"},"43.3.2")," (2020-08-10)"),(0,r.kt)("h3",{id:"bug-fixes-356"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add NRE short circuit for scene change (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/335"},"#335"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7afbe57ff3779ba33d225ab604f1477a883badd7"},"7afbe57"),")")),(0,r.kt)("h2",{id:"4331-2020-08-07"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/43.3.0-master...43.3.1-master"},"43.3.1")," (2020-08-07)"),(0,r.kt)("h3",{id:"bug-fixes-357"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remove unused events (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/334"},"#334"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c20f6de07ff97960a8cf9972fbb4d4d13b507b3b"},"c20f6de"),")")),(0,r.kt)("h1",{id:"4330-2020-08-04"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/43.2.1-master...43.3.0-master"},"43.3.0")," (2020-08-04)"),(0,r.kt)("h3",{id:"features-213"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add IChannelConnection interface for transports with channels (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/332"},"#332"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/887118e2d20009c97d0732f6176c72484780b5bb"},"887118e"),")")),(0,r.kt)("h2",{id:"4321-2020-08-02"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/43.2.0-master...43.2.1-master"},"43.2.1")," (2020-08-02)"),(0,r.kt)("h3",{id:"bug-fixes-358"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Dont allow null connections (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/323"},"#323"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/44fef7ec7bd6ae0772414ff28bb78bf42a6b4c92"},"44fef7e"),")")),(0,r.kt)("h1",{id:"4320-2020-08-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/43.1.4-master...43.2.0-master"},"43.2.0")," (2020-08-01)"),(0,r.kt)("h3",{id:"features-214"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"HeadlessAutoStart and HeadlessFrameLimiter (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/318"},"#318"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ce6ef50c37690623a5dcafc96cc949966ed6363b"},"ce6ef50"),")")),(0,r.kt)("h2",{id:"4314-2020-08-01"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/43.1.3-master...43.1.4-master"},"43.1.4")," (2020-08-01)"),(0,r.kt)("h3",{id:"bug-fixes-359"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"moved SpawnObjects call for hostmode to after LocalClient Connected (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/317"},"#317"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1423a6d0160c5d14a0ee6bad84973df73956fc05"},"1423a6d"),")")),(0,r.kt)("h2",{id:"4313-2020-07-31"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/43.1.2-master...43.1.3-master"},"43.1.3")," (2020-07-31)"),(0,r.kt)("h3",{id:"bug-fixes-360"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ClientRPC should skip first arg only if set as Connection (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/315"},"#315"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/168e6222e759016b588e994b76d2f134c9224b0b"},"168e622"),")")),(0,r.kt)("h2",{id:"4312-2020-07-28"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/43.1.1-master...43.1.2-master"},"43.1.2")," (2020-07-28)"),(0,r.kt)("h3",{id:"bug-fixes-361"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ui bug where additive button is not reset (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/311"},"#311"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5effce9abcea0274412cb97100e1f06e4ae01028"},"5effce9"),")")),(0,r.kt)("h2",{id:"4311-2020-07-22"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/43.1.0-master...43.1.1-master"},"43.1.1")," (2020-07-22)"),(0,r.kt)("h3",{id:"bug-fixes-362"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remove unused code (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/308"},"#308"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/554d2c5030a9ff1ebcd9ca17ed7d673865709a1c"},"554d2c5"),")"),(0,r.kt)("li",{parentName:"ul"},"update interfaces for recent changes that were missed (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/309"},"#309"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a17e760e36d581ba964120af11678b66a1248ecc"},"a17e760"),")")),(0,r.kt)("h1",{id:"4310-2020-07-22"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/43.0.1-master...43.1.0-master"},"43.1.0")," (2020-07-22)"),(0,r.kt)("h3",{id:"bug-fixes-363"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add NetworkManager.StartClientUri test (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2095"},"#2095"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/12827f65a906232da55ca226129423a5bd806d23"},"12827f6"),")"),(0,r.kt)("li",{parentName:"ul"},"dont allow set of networkSceneName directly (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2100"},"#2100"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/df16a7d3ccfddcf3aa1a68fe0965757d91363e16"},"df16a7d"),")"),(0,r.kt)("li",{parentName:"ul"},"fixing cloud scripts not pinging api (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2097"},"#2097"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8e545ac46863e4fbe874c70bf9559c9b12de83d4"},"8e545ac"),")"),(0,r.kt)("li",{parentName:"ul"},"Misc code smells (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2094"},"#2094"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e4cc85c413eed01950bf9dddf0bdac2afd8ab479"},"e4cc85c"),")"),(0,r.kt)("li",{parentName:"ul"},"register prefab error with same guid (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2092"},"#2092"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/984eb73ea495cf876446a21775fde5c33119695b"},"984eb73"),")"),(0,r.kt)("li",{parentName:"ul"},"renaming call/invoke prefix for SyncEvent (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2089"},"#2089"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/18d695744f7c253d749792e4f9f8759ef16fcbab"},"18d6957"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2088"},"#2088"))),(0,r.kt)("h3",{id:"features-215"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Rigidbody example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2076"},"#2076"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ef47ee7a57bddcdc669aef32fbeffcd4446f98a8"},"ef47ee7"),")")),(0,r.kt)("h2",{id:"4301-2020-07-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/43.0.0-master...43.0.1-master"},"43.0.1")," (2020-07-20)"),(0,r.kt)("h3",{id:"bug-fixes-364"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"benchmark examples (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b221b74beae2ee56f6fe536963b17d0aff10c5d8"},"b221b74"),")")),(0,r.kt)("h1",{id:"4300-2020-07-20"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/42.2.0-master...43.0.0-master"},"43.0.0")," (2020-07-20)"),(0,r.kt)("h3",{id:"breaking-24"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove TargetRPC ","&"," use ClientRPC option instead (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/293"},"#293"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4ace14477d024d0ef763c0860cdb2abfde8022fd"},"4ace144"),")")),(0,r.kt)("h3",{id:"breaking-changes-128"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Removed ","[TargetRpc]",", use ","[ClientR(target=Client.Owner)]"," instead")),(0,r.kt)("h1",{id:"4220-2020-07-19"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/42.1.5-master...42.2.0-master"},"42.2.0")," (2020-07-19)"),(0,r.kt)("h3",{id:"features-216"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"scene transition uses routine instead of asyncoperation (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/305"},"#305"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a16eb005e31e576346b4b4cffbe266c25b8709ca"},"a16eb00"),")")),(0,r.kt)("h2",{id:"4215-2020-07-18"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/42.1.4-master...42.1.5-master"},"42.1.5")," (2020-07-18)"),(0,r.kt)("h3",{id:"bug-fixes-365"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NS call SpawnObjects. No NetMan dependency for spawning objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/300"},"#300"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e1bb8deba81713c8998cf47b1ec4b8b870fc55eb"},"e1bb8de"),")")),(0,r.kt)("h2",{id:"4214-2020-07-18"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/42.1.3-master...42.1.4-master"},"42.1.4")," (2020-07-18)"),(0,r.kt)("h3",{id:"bug-fixes-366"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"cap spawned to match client (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/301"},"#301"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7d1571ab5a9eaf31cd64bff2bc47158c0e1e6ff6"},"7d1571a"),")")),(0,r.kt)("h2",{id:"4213-2020-07-17"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/42.1.2-master...42.1.3-master"},"42.1.3")," (2020-07-17)"),(0,r.kt)("h3",{id:"bug-fixes-367"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"dont directly set NetworkSceneName (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/297"},"#297"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bd043a3001775fe32da558e17566b61c5694ee7c"},"bd043a3"),")")),(0,r.kt)("h2",{id:"4212-2020-07-17"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/42.1.1-master...42.1.2-master"},"42.1.2")," (2020-07-17)"),(0,r.kt)("h3",{id:"bug-fixes-368"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ClientSceneManager should be responsible for its own cleanup (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/298"},"#298"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/92ab3ffe265e72b3c012dc44075f6e9752323984"},"92ab3ff"),")")),(0,r.kt)("h2",{id:"4211-2020-07-16"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/42.1.0-master...42.1.1-master"},"42.1.1")," (2020-07-16)"),(0,r.kt)("h3",{id:"bug-fixes-369"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"dont register client scene handlers while host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/296"},"#296"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/37c8ddd87595143149af942dc7e5654de3eef424"},"37c8ddd"),")")),(0,r.kt)("h1",{id:"4210-2020-07-15"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/42.0.0-master...42.1.0-master"},"42.1.0")," (2020-07-15)"),(0,r.kt)("h3",{id:"features-217"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Make AsyncQueue public for transports (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5df0d98307eff409dd16e67fddedb25710b68b6d"},"5df0d98"),")")),(0,r.kt)("h1",{id:"4200-2020-07-15"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/41.1.0-master...42.0.0-master"},"42.0.0")," (2020-07-15)"),(0,r.kt)("h3",{id:"breaking-25"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Removed websocket transport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f26159b7b4d31d643a1dc2a28b1797bd2ad28f68"},"f26159b"),")")),(0,r.kt)("h3",{id:"breaking-changes-129"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Removed websocket transport")),(0,r.kt)("h1",{id:"4110-2020-07-15"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/41.0.0-master...41.1.0-master"},"41.1.0")," (2020-07-15)"),(0,r.kt)("h3",{id:"features-218"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Transports can have multiple uri (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/292"},"#292"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/155a29c053421f870241a75427db748fbef08910"},"155a29c"),")")),(0,r.kt)("h1",{id:"4100-2020-07-15"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/40.3.0-master...41.0.0-master"},"41.0.0")," (2020-07-15)"),(0,r.kt)("h3",{id:"breaking-26"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"AsyncFallbackTransport -",">"," FallbackTransport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f8f643a6245777279de31dc8997a7ea84328533e"},"f8f643a"),")"),(0,r.kt)("li",{parentName:"ul"},"AsyncMultiplexTransport -",">"," MultiplexTransport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/832b7f9528595e45769790c4be4fd94e873c96f4"},"832b7f9"),")"),(0,r.kt)("li",{parentName:"ul"},"rename AsyncWsTransport -",">"," WsTransport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9c394bc96192a50ad273371b66c9289d75402dc6"},"9c394bc"),")")),(0,r.kt)("h3",{id:"features-219"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Transports may support any number of schemes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/291"},"#291"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2af7b9d19cef3878147eee412adf2b9b32c91147"},"2af7b9d"),")")),(0,r.kt)("h3",{id:"breaking-changes-130"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"rename AsyncMultiplexTransport -",">"," MultiplexTransport"),(0,r.kt)("li",{parentName:"ul"},"rename AsyncFallbackTransport -",">"," FallbackTransport"),(0,r.kt)("li",{parentName:"ul"},"rename AsyncWsTransport -",">"," WsTransport")),(0,r.kt)("h1",{id:"4030-2020-07-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/40.2.0-master...40.3.0-master"},"40.3.0")," (2020-07-14)"),(0,r.kt)("h3",{id:"bug-fixes-370"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"SceneManager Exceptions and Tests (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/287"},"#287"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/388d21872bb8b4c7f9d3742ecfa9b857ee734dfa"},"388d218"),")")),(0,r.kt)("h3",{id:"features-220"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Server and Client share the same scene loading method (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/286"},"#286"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/acb6dd192244adcfab15d013a96c7402151d226b"},"acb6dd1"),")")),(0,r.kt)("h1",{id:"4020-2020-07-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/40.1.1-master...40.2.0-master"},"40.2.0")," (2020-07-14)"),(0,r.kt)("h3",{id:"features-221"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"additive scene msging added to server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/285"},"#285"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bd7a17a65fbc9aed64aaef6c65641697e8d89a74"},"bd7a17a"),")")),(0,r.kt)("h2",{id:"4011-2020-07-14"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/40.1.0-master...40.1.1-master"},"40.1.1")," (2020-07-14)"),(0,r.kt)("h3",{id:"bug-fixes-371"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"prevent NRE when operating as a separated client and server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/283"},"#283"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e10e198b4865fc8c941244c3e368eebc6cf73179"},"e10e198"),")")),(0,r.kt)("h1",{id:"4010-2020-07-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/40.0.0-master...40.1.0-master"},"40.1.0")," (2020-07-14)"),(0,r.kt)("h3",{id:"features-222"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Transports can tell if they are supported (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/282"},"#282"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/890c6b8808ccbf4f4ffffae8c00a9d897ccac7e4"},"890c6b8"),")")),(0,r.kt)("h1",{id:"4000-2020-07-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/39.0.0-master...40.0.0-master"},"40.0.0")," (2020-07-14)"),(0,r.kt)("h3",{id:"features-223"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"LocalPlayer attribute now throws error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/277"},"#277"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/15aa537947cd14e4d71853f1786c387519d8828b"},"15aa537"),")")),(0,r.kt)("h3",{id:"breaking-changes-131"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"[LocalPlayerCallback]"," is now ","[LocalPlayer(error = false)]")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Local Player guard"))),(0,r.kt)("p",null,"Co-authored-by: Paul Pacheco ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:paul.pacheco@aa.com"},"paul.pacheco@aa.com"),">"),(0,r.kt)("h1",{id:"3900-2020-07-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/38.0.0-master...39.0.0-master"},"39.0.0")," (2020-07-14)"),(0,r.kt)("h3",{id:"features-224"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Client attribute now throws error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/274"},"#274"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f1b52f3d23e9aa50b5fab8509f3c769e97eac2e7"},"f1b52f3"),")")),(0,r.kt)("h3",{id:"breaking-changes-132"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"[ClientCallback]"," is now ","[Client(error = false)]")),(0,r.kt)("h1",{id:"3800-2020-07-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/37.0.1-master...38.0.0-master"},"38.0.0")," (2020-07-14)"),(0,r.kt)("h3",{id:"features-225"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"HasAuthority attribute now throws error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/276"},"#276"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/da2355b4c1a51dbcbf6ceb405b6fc7b5bb14fa14"},"da2355b"),")")),(0,r.kt)("h3",{id:"breaking-changes-133"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"[HasAuthorityCallback]"," is now ","[HasAuthority(error = false)]")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fix test"))),(0,r.kt)("p",null,"Co-authored-by: Paul Pacheco ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:paul.pacheco@aa.com"},"paul.pacheco@aa.com"),">"),(0,r.kt)("h2",{id:"3701-2020-07-14"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/37.0.0-master...37.0.1-master"},"37.0.1")," (2020-07-14)"),(0,r.kt)("h3",{id:"bug-fixes-372"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"smell cleanup left if bug. repaired with parenthesis. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/275"},"#275"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dd52be3bb9406de7b2527c72fce90c9ed6c9d5bf"},"dd52be3"),")")),(0,r.kt)("h1",{id:"3700-2020-07-13"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/36.0.0-master...37.0.0-master"},"37.0.0")," (2020-07-13)"),(0,r.kt)("h3",{id:"features-226"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Server attribute now throws error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/270"},"#270"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f3b5dc4fef5fba05e585d274d9df05c3954ff6c7"},"f3b5dc4"),")")),(0,r.kt)("h3",{id:"breaking-changes-134"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"[ServerCallback]"," is now ","[Server(error = false)]")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fixed weaver test")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove unused code")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fix comment")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"document replacement of ServerCallback")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"No need to be serializable")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Exception should be serializable?")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix code smell")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"No need to implement interface, parent does"))),(0,r.kt)("p",null,"Co-authored-by: Paul Pacheco ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:paul.pacheco@aa.com"},"paul.pacheco@aa.com"),">"),(0,r.kt)("h1",{id:"3600-2020-07-13"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/35.3.4-master...36.0.0-master"},"36.0.0")," (2020-07-13)"),(0,r.kt)("h3",{id:"breaking-27"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Rename ","[Command]"," to ","[ServerRpc]"," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/271"},"#271"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fff7459801fc637c641757c516f85b4d685e0ad1"},"fff7459"),")")),(0,r.kt)("h3",{id:"breaking-changes-135"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Renamed ","[Command]"," to ","[ServerRpc]")),(0,r.kt)("h2",{id:"3534-2020-07-13"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/35.3.3-master...35.3.4-master"},"35.3.4")," (2020-07-13)"),(0,r.kt)("h3",{id:"bug-fixes-373"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add tests for NetworkTransform and NetworkRigidbody (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/273"},"#273"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e9621ddebd50637680fad8fe743c7c99afea3f84"},"e9621dd"),")"),(0,r.kt)("li",{parentName:"ul"},"NinjaWS code smells (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/272"},"#272"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/71d942804c0d404f287dc51b7bcdd1fcc39bcee8"},"71d9428"),")")),(0,r.kt)("h2",{id:"3533-2020-07-13"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/35.3.2-master...35.3.3-master"},"35.3.3")," (2020-07-13)"),(0,r.kt)("h3",{id:"bug-fixes-374"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Misc code smells (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/269"},"#269"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/23dcca61ff7c41e8b9f61579605fd56ee82c70e0"},"23dcca6"),")")),(0,r.kt)("h2",{id:"3532-2020-07-13"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/35.3.1-master...35.3.2-master"},"35.3.2")," (2020-07-13)"),(0,r.kt)("h3",{id:"bug-fixes-375"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remove customHandling as its no longer used (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/265"},"#265"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dbd9d84ee46ac90a8d78daba0c23fc9be71ca77d"},"dbd9d84"),")")),(0,r.kt)("h2",{id:"3531-2020-07-13"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/35.3.0-master...35.3.1-master"},"35.3.1")," (2020-07-13)"),(0,r.kt)("h3",{id:"bug-fixes-376"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"AdditiveSceneExample missing comp and assignments (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/267"},"#267"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ab394b8f7e823b8c3882de35eaa54c05fbd9316e"},"ab394b8"),")"),(0,r.kt)("li",{parentName:"ul"},"NRE on gamemanager in scene (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/268"},"#268"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/58a124a99c267091142f00adc7f8898160a9dd97"},"58a124a"),")")),(0,r.kt)("h1",{id:"3530-2020-07-13"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/35.2.0-master...35.3.0-master"},"35.3.0")," (2020-07-13)"),(0,r.kt)("h3",{id:"bug-fixes-377"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Message base class not being Serialized if processed in the wrong order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2023"},"#2023"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3418fa210602cf1a9b9331b198ac47d8a3cabe69"},"3418fa2"),")"),(0,r.kt)("li",{parentName:"ul"},"not removing server if id is empty (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2078"},"#2078"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f7179455256bb7341ffa9e6921fe0de50498150a"},"f717945"),")")),(0,r.kt)("h3",{id:"features-227"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ClientRpc no longer need Rpc prefix (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2086"},"#2086"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eb93c34b330189c79727b0332bb66f3675cfd641"},"eb93c34"),")"),(0,r.kt)("li",{parentName:"ul"},"Commands no longer need Cmd prefix (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2084"},"#2084"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b6d1d09f846f7cf0310db0db9d931a9cfbbb36b2"},"b6d1d09"),")"),(0,r.kt)("li",{parentName:"ul"},"Sync Events no longer need Event prefix (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2087"},"#2087"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ed40c2d210f174f1ed50b1e929e4fb161414f228"},"ed40c2d"),")"),(0,r.kt)("li",{parentName:"ul"},"TargetRpc no longer need Target prefix (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2085"},"#2085"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d89ac9fb052c17c2edfdf381aff35f70d23f4f0a"},"d89ac9f"),")")),(0,r.kt)("h3",{id:"performance-improvements-55"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Use invokeRepeating instead of Update (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2066"},"#2066"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/264f9b8f945f0294a8420202abcd0c80e27e6ee6"},"264f9b8"),")")),(0,r.kt)("h1",{id:"3520-2020-07-12"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/35.1.0-master...35.2.0-master"},"35.2.0")," (2020-07-12)"),(0,r.kt)("h3",{id:"bug-fixes-378"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add client only test for FinishLoadScene (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/262"},"#262"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/50e7fa6e287fee09afbe36a51575f41c4bd50736"},"50e7fa6"),")")),(0,r.kt)("h3",{id:"features-228"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Commands no longer need to start with Cmd (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/263"},"#263"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9578e19ff70bf3a09a9fe31926c8ac337f945ba9"},"9578e19"),")"),(0,r.kt)("li",{parentName:"ul"},"throw exception if assigning incorrect asset id (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/250"},"#250"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7741fb1f11abc8eb2aec8c1a94ac53380ac5a562"},"7741fb1"),")")),(0,r.kt)("h1",{id:"3510-2020-07-12"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/35.0.3-master...35.1.0-master"},"35.1.0")," (2020-07-12)"),(0,r.kt)("h3",{id:"features-229"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Add Network Menu (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/253"},"#253"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d81f444c42475439d24bf5b4abd2bbf15fd34e92"},"d81f444"),")")),(0,r.kt)("h2",{id:"3503-2020-07-11"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/35.0.2-master...35.0.3-master"},"35.0.3")," (2020-07-11)"),(0,r.kt)("h3",{id:"bug-fixes-379"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"code smell rename Ready (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/256"},"#256"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6d92d1482cdd31fa663f7475f103476c65b7d875"},"6d92d14"),")"),(0,r.kt)("li",{parentName:"ul"},"Misc Code Smells (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/257"},"#257"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/278a1279dabefe04b0829015841de68b41e60a7b"},"278a127"),")")),(0,r.kt)("h2",{id:"3502-2020-07-11"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/35.0.1-master...35.0.2-master"},"35.0.2")," (2020-07-11)"),(0,r.kt)("h3",{id:"bug-fixes-380"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"cleanup the server even after error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/255"},"#255"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7bd015eac1b77f0ad5974abb5c4c87a5d3da7b6d"},"7bd015e"),")")),(0,r.kt)("h2",{id:"3501-2020-07-11"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/35.0.0-master...35.0.1-master"},"35.0.1")," (2020-07-11)"),(0,r.kt)("h3",{id:"bug-fixes-381"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fix adding and saving Components (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2de7ecd93029bf5fd2fbb04ad4e47936cbb802cc"},"2de7ecd"),")")),(0,r.kt)("h1",{id:"3500-2020-07-10"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/34.13.0-master...35.0.0-master"},"35.0.0")," (2020-07-10)"),(0,r.kt)("h3",{id:"features-230"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Component based NetworkSceneManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/244"},"#244"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7579d712ad97db98cd729c51568631e4c3257b58"},"7579d71"),")")),(0,r.kt)("h3",{id:"breaking-changes-136"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkManager no longer handles scene changes")),(0,r.kt)("h1",{id:"34130-2020-07-05"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/34.12.0-master...34.13.0-master"},"34.13.0")," (2020-07-05)"),(0,r.kt)("h3",{id:"features-231"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Spawn objects in clients in same order as server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/247"},"#247"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b786646f1859bb0e1836460c6319a507e1cc31aa"},"b786646"),")")),(0,r.kt)("h1",{id:"34120-2020-07-04"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/34.11.0-master...34.12.0-master"},"34.12.0")," (2020-07-04)"),(0,r.kt)("h3",{id:"features-232"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Example with 10k monster that change unfrequently (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2b2e71cc007dba2c1d90b565c4983814c1e0b7d1"},"2b2e71c"),")")),(0,r.kt)("h1",{id:"34110-2020-07-04"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/34.10.1-master...34.11.0-master"},"34.11.0")," (2020-07-04)"),(0,r.kt)("h3",{id:"bug-fixes-382"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"addingNetwork rigidbody icon and AddComponentMenu attribute (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2051"},"#2051"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ab1b92f74b56787feb7c6fde87c0b9838b8d9d0f"},"ab1b92f"),")"),(0,r.kt)("li",{parentName:"ul"},"calling base method when the first base class did not have the virtual method (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2014"},"#2014"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4af72c3a63e72dac6b3bab193dc58bfa3c44a975"},"4af72c3"),")"),(0,r.kt)("li",{parentName:"ul"},"changing namespace to match folder name (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2037"},"#2037"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e36449cb22d8a2dede0133cf229bc12885c36bdb"},"e36449c"),")"),(0,r.kt)("li",{parentName:"ul"},"Clean up roomSlots on clients in NetworkRoomPlayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5032ceb00035679e0b80f59e91131cdfa8e0b1bb"},"5032ceb"),")"),(0,r.kt)("li",{parentName:"ul"},"Fallback and Multiplex now disable their transports when they are disabled (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2048"},"#2048"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/61d44b2d80c9616f784e855131ba6d1ee8a30136"},"61d44b2"),")"),(0,r.kt)("li",{parentName:"ul"},"If socket is undefined it will return false. See ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1486"},"#1486")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2017"},"#2017"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4ffff192a69108b993cf963cfdece47b14ffdbf2"},"4ffff19"),")"),(0,r.kt)("li",{parentName:"ul"},"Network rigidbody fixes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2050"},"#2050"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0c30d3398aaabcbf094a88a9c9c77ab4d5062acf"},"0c30d33"),")"),(0,r.kt)("li",{parentName:"ul"},"sync events can not have the same name if they are in different classes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2054"},"#2054"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c91308fb0461e54292940ce6fa42bb6cd9800d89"},"c91308f"),")"),(0,r.kt)("li",{parentName:"ul"},"weaver now processes multiple SyncEvent per class (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2055"},"#2055"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b316b35d46868a7e11c7b2005570efeec843efe1"},"b316b35"),")")),(0,r.kt)("h3",{id:"features-233"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"adding demo for mirror cloud services (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2026"},"#2026"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f1fdc959dcd62e7228ecfd656bc87cbabca8c1bc"},"f1fdc95"),")"),(0,r.kt)("li",{parentName:"ul"},"adding log handler that sets console color (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2001"},"#2001"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/46239783f313159ac47e192499aa8e7fcc5df0ec"},"4623978"),")"),(0,r.kt)("li",{parentName:"ul"},"Experimental NetworkRigidbody (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1822"},"#1822"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/25285b1574c4e025373e86735ec3eb9734272fd2"},"25285b1"),")"),(0,r.kt)("li",{parentName:"ul"},"More examples for Mirror Cloud Service (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/2029"},"#2029"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7d0e907b73530c9a625eaf663837b7eeb36fcee6"},"7d0e907"),")")),(0,r.kt)("h2",{id:"34101-2020-07-04"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/34.10.0-master...34.10.1-master"},"34.10.1")," (2020-07-04)"),(0,r.kt)("h3",{id:"bug-fixes-383"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"assign spawn locations and fix null refs in example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/242"},"#242"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3adf3438578ff304f1216022aae8e043c52cd71d"},"3adf343"),")"),(0,r.kt)("li",{parentName:"ul"},"folders for meta files no longer in the codebase (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/237"},"#237"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/192fd1645986c515a804a01e0707c78241882676"},"192fd16"),")"),(0,r.kt)("li",{parentName:"ul"},"remove pause network comment and log (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/238"},"#238"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1a8c09d8a5a8cf70508d4e42e4912e3989478ff1"},"1a8c09d"),")")),(0,r.kt)("h1",{id:"34100-2020-07-04"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/34.9.4-master...34.10.0-master"},"34.10.0")," (2020-07-04)"),(0,r.kt)("h3",{id:"bug-fixes-384"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1659"},"#1659")," Telepathy LateUpdate processes a limited amount of messages per tick to avoid deadlocks (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1830"},"#1830"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d3dccd7a25e4b9171ac04e43a05954b56caefd4b"},"d3dccd7"),")"),(0,r.kt)("li",{parentName:"ul"},"Added ClientOnly check (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb927f814110327867821dac8b0d69ca4251d4f6"},"fb927f8"),")"),(0,r.kt)("li",{parentName:"ul"},"Adding warning when adding handler with RegisterSpawnHandler if assetid already exists (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1819"},"#1819"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7f26329e2db9d00da04bed40399af053436218bd"},"7f26329"),")"),(0,r.kt)("li",{parentName:"ul"},"Adding warning when adding prefab with RegisterPrefab if assetid already exists (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1828"},"#1828"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9f59e0c439707d66409a617b8f209187856eaf5f"},"9f59e0c"),")"),(0,r.kt)("li",{parentName:"ul"},"Allowing overrides for virtual commands to call base method (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1944"},"#1944"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b92da91d7a04f41098615ff2e2a35cf7ff479201"},"b92da91"),")"),(0,r.kt)("li",{parentName:"ul"},"better error for Command, ClientRpc and TargetRpc marked as abstract (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1947"},"#1947"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/62257d8c4fc307ba3e23fbd01dcc950515c31e79"},"62257d8"),")"),(0,r.kt)("li",{parentName:"ul"},"Better errors when trying to replace existing assetid (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1827"},"#1827"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/822b04155def9859b24900c6e55a4253f85ebb3f"},"822b041"),")"),(0,r.kt)("li",{parentName:"ul"},"Cleaning up network objects when server stops (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1864"},"#1864"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4c25122958978557173ec37ca400c47b2d8e834f"},"4c25122"),")"),(0,r.kt)("li",{parentName:"ul"},"clear all message handlers on Shutdown (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1829"},"#1829"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a6ab3527acb9af8f6a68f0151e5231e4ee1a98e9"},"a6ab352"),")"),(0,r.kt)("li",{parentName:"ul"},"Don't call RegisterClientMessages every scene change (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1865"},"#1865"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/05c119f505390094c8f33e11568d40117360c49e"},"05c119f"),")"),(0,r.kt)("li",{parentName:"ul"},"Don't call RegisterClientMessages twice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1842"},"#1842"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2a08aac7cb8887934eb7eb8c232ce07976defe35"},"2a08aac"),")"),(0,r.kt)("li",{parentName:"ul"},"Fixed Capitalization (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c45deb808e8e01a7b697e703be783aea2799d4d1"},"c45deb8"),")"),(0,r.kt)("li",{parentName:"ul"},"Fixing ClientScene UnregisterPrefab (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1815"},"#1815"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9270765bebf45c34a466694473b43c6d802b99d9"},"9270765"),")"),(0,r.kt)("li",{parentName:"ul"},"Improved error checking for ClientScene.RegisterPrefab (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1823"},"#1823"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a0aa4f9c1425d4eca3fe08cd2d87361f092ded6f"},"a0aa4f9"),")"),(0,r.kt)("li",{parentName:"ul"},"Improved error checking for ClientScene.RegisterPrefab with handler (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1841"},"#1841"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/54071da3afb18d6289de5d0e41dc248e21088641"},"54071da"),")"),(0,r.kt)("li",{parentName:"ul"},"making weaver include public fields in base classes in auto generated Read/Write (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1977"},"#1977"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3db57e5f61ac0748d3a6296d8ea44c202830796f"},"3db57e5"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkRoomManager.minPlayers is now protected so it's available for derived classes. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3179f08e3dc11340227a57da0104b1c8d1d7b45d"},"3179f08"),")"),(0,r.kt)("li",{parentName:"ul"},"no longer requires hook to be the first overload in a class (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1913"},"#1913"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/03486997fb0abb91d14f233658d375f21afbc3e3"},"0348699"),")"),(0,r.kt)("li",{parentName:"ul"},"OnClientEnterRoom should only fire on clients (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d9b7bb735729e68ae399e1175d6c485a873b379e"},"d9b7bb7"),")"),(0,r.kt)("li",{parentName:"ul"},"Prevent host client redundantly changing to offline scene (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b4511a0637958f10f4a482364c654d1d9add5ef2"},"b4511a0"),")"),(0,r.kt)("li",{parentName:"ul"},"Removed unnecessary registration of player prefab in NetworkRoomManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b2f52d78921ff0136c74bbed0980e3aaf5e2b379"},"b2f52d7"),")"),(0,r.kt)("li",{parentName:"ul"},"Removed unused variable (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ae3dc04fb999c3b7133589ab631c1d23f1a8bdde"},"ae3dc04"),")"),(0,r.kt)("li",{parentName:"ul"},"Replaced Icosphere with centered pivot (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1dc0d9837458c0403916476805f58442ff87e364"},"1dc0d98"),")"),(0,r.kt)("li",{parentName:"ul"},"Replacing ClearDelegates with RemoveDelegates for test (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1971"},"#1971"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/927c4dede5930b320537150466e05112ebe70c3e"},"927c4de"),")"),(0,r.kt)("li",{parentName:"ul"},"Suppress warning (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fffd462df8cc1c0265890cdfa4ceb3e24606b1c1"},"fffd462"),")"),(0,r.kt)("li",{parentName:"ul"},"Use ReplaceHandler instead of RegisterHandler in NetworkManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ffc276cb79c4202964275642097451b78a817c8a"},"ffc276c"),")"),(0,r.kt)("li",{parentName:"ul"},"Websockets Transport now handles being disabled for scene changes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1994"},"#1994"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5480a583e13b9183a3670450af639f4e766cc358"},"5480a58"),")"),(0,r.kt)("li",{parentName:"ul"},"WebSockets: Force KeepAliveInterval to Zero (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9a42fe334251852ab12e721db72cb12e98de82e8"},"9a42fe3"),")"),(0,r.kt)("li",{parentName:"ul"},"Wrong method names in ClientSceneTests (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ab3f353b33b3068a6ac1649613a28b0977a72685"},"ab3f353"),")")),(0,r.kt)("h3",{id:"features-234"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Add excludeOwner option to ClientRpc (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1954"},"#1954"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/864fdd5fdce7a35ee4bf553176ed7a4ec3dc0653"},"864fdd5"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1963"},"#1963")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1962"},"#1962")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1961"},"#1961")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1960"},"#1960")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1959"},"#1959")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1958"},"#1958")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1957"},"#1957")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1956"},"#1956")),(0,r.kt)("li",{parentName:"ul"},"Add NetworkServer.RemovePlayerForConnection (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1772"},"#1772"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e3790c51eb9b79bebc48522fb832ae39f11d31e2"},"e3790c5"),")"),(0,r.kt)("li",{parentName:"ul"},"add SyncList.RemoveAll (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1881"},"#1881"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eb7c87d15aa2fe0a5b0c08fc9cde0adbeba0b416"},"eb7c87d"),")"),(0,r.kt)("li",{parentName:"ul"},"Added virtual SyncVar hook for index in NetworkRoomPlayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0c3e079d04a034f4d4ca8a34c88188013f36c377"},"0c3e079"),")"),(0,r.kt)("li",{parentName:"ul"},"Adding ignoreAuthority Option to Command (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1918"},"#1918"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3ace2c6eb68ad94d78c57df6f63107cca466effa"},"3ace2c6"),")"),(0,r.kt)("li",{parentName:"ul"},"Adding onLocalPlayerChanged to ClientScene for when localPlayer is changed (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1920"},"#1920"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b4acf7d9a20c05eadba8d433ebfd476a30e914dd"},"b4acf7d"),")"),(0,r.kt)("li",{parentName:"ul"},"adding OnRoomServerPlayersNotReady to NetworkRoomManager that is called when player ready changes and atleast 1 player is not ready (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1921"},"#1921"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9ae7fa2a8c683f5d2a7ebe6c243a2d95acad9683"},"9ae7fa2"),")"),(0,r.kt)("li",{parentName:"ul"},"Adding ReplaceHandler functions to NetworkServer and NetworkClient (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1775"},"#1775"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/877f4e9c729e5242d4f8c9653868a3cb27c933db"},"877f4e9"),")"),(0,r.kt)("li",{parentName:"ul"},"adding script that displays ping (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1975"},"#1975"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7e93030849c98f0bc8d95fa310d208fef3028b29"},"7e93030"),")"),(0,r.kt)("li",{parentName:"ul"},"Allowing Multiple Concurrent Additive Scenes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1697"},"#1697"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e32a9b6f0b0744b6bd0eeeb0d9fca0b4dc33cbdf"},"e32a9b6"),")"),(0,r.kt)("li",{parentName:"ul"},"ClientScene uses log window (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b3656a9edc5ff00329ce00847671ade7b8f2add2"},"b3656a9"),")"),(0,r.kt)("li",{parentName:"ul"},"Creating method to replace all log handlers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1880"},"#1880"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d8aaf76fb972dd153f6002edb96cd2b9350e572c"},"d8aaf76"),")"),(0,r.kt)("li",{parentName:"ul"},"Experimental Network Transform (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1990"},"#1990"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7e2b7338a18855f156e52b663ac24eef153b43a7"},"7e2b733"),")"),(0,r.kt)("li",{parentName:"ul"},"Improved Log Settings Window Appearance (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1885"},"#1885"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/69b845183c099744455e34c6f12e75acecb9098a"},"69b8451"),")"),(0,r.kt)("li",{parentName:"ul"},"Improved RoomPayer template (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/042b4e1965580a4cdbd5ea50b11a1377fe3bf3cc"},"042b4e1"),")"),(0,r.kt)("li",{parentName:"ul"},"LogSettings that can be saved and included in a build (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1863"},"#1863"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fd4357cd264b257aa648a26f9392726b2921b870"},"fd4357c"),")"),(0,r.kt)("li",{parentName:"ul"},"Multiple Concurrent Additive Physics Scenes Example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1686"},"#1686"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/87c6ebc5ddf71b3fc358bb1a90bd9ee2470e333c"},"87c6ebc"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkConnection to client and server use logger framework (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/72154f1daddaa141fb3b8fe02bcfdf098ef1d44a"},"72154f1"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkConnection uses logging framework (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ec319a165dc8445b00b096d09061adda2c7b8b9d"},"ec319a1"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkIdentity use logger framework (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2e39e13c012aa79d50a54fc5d07b85da3e52391b"},"2e39e13"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkServer uses new logging framework (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8b4f1051f27f1d5b845e6bd0a090368082ab1603"},"8b4f105"),")"),(0,r.kt)("li",{parentName:"ul"},"Prettify Log Names (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c7d8c0933d37abc919305b660cbf3a57828eaace"},"c7d8c09"),")"),(0,r.kt)("li",{parentName:"ul"},"Use SortedDictionary for LogSettings (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1914"},"#1914"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7d4c0a9cb6f24fa3c2834b9bf351e30dde88665f"},"7d4c0a9"),")")),(0,r.kt)("h3",{id:"performance-improvements-56"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkProximityChecker checks Server.connections instead of doing 10k sphere casts for 10k monsters. 2k NetworkTransforms demo is significantly faster. Stable 80fps instead of 500ms freezes in between. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1852"},"#1852"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2d89f059afd9175dd7e6d81a0e2e38c0a28915c8"},"2d89f05"),")")),(0,r.kt)("h2",{id:"3494-2020-06-27"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/34.9.3-master...34.9.4-master"},"34.9.4")," (2020-06-27)"),(0,r.kt)("h3",{id:"bug-fixes-385"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Additive Scene Example was missing Player Auth on movement. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/234"},"#234"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/09bbd686e6c294f24412b35785cfa7a5aa47b5f2"},"09bbd68"),")"),(0,r.kt)("li",{parentName:"ul"},"examples run in background (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/233"},"#233"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/47556500eed7c0e2719e41c0e996925ddf1799bb"},"4755650"),")")),(0,r.kt)("h2",{id:"3493-2020-06-25"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/34.9.2-master...34.9.3-master"},"34.9.3")," (2020-06-25)"),(0,r.kt)("h3",{id:"bug-fixes-386"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Optional Server or Client for PlayerSpawner (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/231"},"#231"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3fa5f89d8c934b233330efe52b42e59198a920cb"},"3fa5f89"),")")),(0,r.kt)("h2",{id:"3492-2020-06-14"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/34.9.1-master...34.9.2-master"},"34.9.2")," (2020-06-14)"),(0,r.kt)("h3",{id:"bug-fixes-387"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Spawn Handler Order (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/223"},"#223"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/86742740ef2707f420d5cb6aeeb257bf07511f0b"},"8674274"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/222"},"#222"))),(0,r.kt)("h2",{id:"3491-2020-05-24"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/34.9.0-master...34.9.1-master"},"34.9.1")," (2020-05-24)"),(0,r.kt)("h3",{id:"bug-fixes-388"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"disconnect transport without domain reload (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/20785b740e21fb22834cd01d7d628e127df6b80d"},"20785b7"),")")),(0,r.kt)("h1",{id:"3490-2020-04-26"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/34.8.1-master...34.9.0-master"},"34.9.0")," (2020-04-26)"),(0,r.kt)("h3",{id:"bug-fixes-389"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Add the transport first so NetworkManager doesn't add Telepathy in OnValidate (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bdec2762821dc657e8450b576422fcf1f0f69cdf"},"bdec276"),")"),(0,r.kt)("li",{parentName:"ul"},"call the virtual OnRoomServerDisconnect before the base (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e6881ef007f199efca3c326ead258f0c350ffb47"},"e6881ef"),")"),(0,r.kt)("li",{parentName:"ul"},"compilation error on standalone build (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bb70bf963459be02a79c2c40cb7dfb8f10d2b92d"},"bb70bf9"),")"),(0,r.kt)("li",{parentName:"ul"},"Removed NetworkClient.Update because NetworkManager does it in LateUpdate (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/984945e482529bfc03bf735562f3eff297a1bad4"},"984945e"),")"),(0,r.kt)("li",{parentName:"ul"},"Removed NetworkServer.Listen because HostSetup does that (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cf6823acb5151d5bc9beca2b0911a99dfbcd4472"},"cf6823a"),")"),(0,r.kt)("li",{parentName:"ul"},"weaver syncLists now checks for SerializeItem in base class (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1768"},"#1768"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1af5b4ed2f81b4450881fb11fa9b4b7e198274cb"},"1af5b4e"),")")),(0,r.kt)("h3",{id:"features-235"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Allow Multiple Network Animator (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1778"},"#1778"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/34a76a2834cbeebb4c623f6650c1d67345b386ac"},"34a76a2"),")"),(0,r.kt)("li",{parentName:"ul"},"Allowing extra base types to be used for SyncLists and other SyncObjects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1729"},"#1729"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9bf816a014fd393617422ee6efa52bdf730cc3c9"},"9bf816a"),")"),(0,r.kt)("li",{parentName:"ul"},"Disconnect Dead Clients (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1724"},"#1724"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a2eb666f158d72851d6c62997ed4b24dc3c473bc"},"a2eb666"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1753"},"#1753")),(0,r.kt)("li",{parentName:"ul"},"Exclude fields from weaver's automatic Read/Write using System.NonSerialized attribute (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1727"},"#1727"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7f8733ce6a8f712c195ab7a5baea166a16b52d09"},"7f8733c"),")"),(0,r.kt)("li",{parentName:"ul"},"Improve weaver error messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1779"},"#1779"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bcd76c5bdc88af6d95a96e35d47b1b167d375652"},"bcd76c5"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkServer.SendToReady (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1773"},"#1773"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f6545d4871bf6881b3150a3231af195e7f9eb8cd"},"f6545d4"),")")),(0,r.kt)("h2",{id:"3481-2020-04-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/34.8.0-master...34.8.1-master"},"34.8.1")," (2020-04-21)"),(0,r.kt)("h3",{id:"bug-fixes-390"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Allow sync objects to be re-used (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1744"},"#1744"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/58c89a3d32daedc9b6670ed0b5eb1f8753c902e2"},"58c89a3"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1714"},"#1714")),(0,r.kt)("li",{parentName:"ul"},"Remove leftover AddPlayer methods now that extraData is gone (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1751"},"#1751"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2d006fe7301eb8a0194af9ce9244988a6877f8f0"},"2d006fe"),")"),(0,r.kt)("li",{parentName:"ul"},"Remove RoomPlayer from roomSlots on Disconnect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2a2f76c263093c342f307856e400aeabbedc58df"},"2a2f76c"),")"),(0,r.kt)("li",{parentName:"ul"},"Use path instead of name in Room Example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5d4bc47d46098f920f9e3468d0f276e336488e42"},"5d4bc47"),")")),(0,r.kt)("h1",{id:"3480-2020-04-21"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/34.7.0-master...34.8.0-master"},"34.8.0")," (2020-04-21)"),(0,r.kt)("h3",{id:"bug-fixes-391"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Don't destroy the player twice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1709"},"#1709"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cbc2a4772921e01db17033075fa9f7d8cb7e6faf"},"cbc2a47"),")"),(0,r.kt)("li",{parentName:"ul"},"Eliminate NetworkAnimator SetTrigger double firing on Host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1723"},"#1723"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e5b728fed515ab679ad1e4581035d32f6c187a98"},"e5b728f"),")")),(0,r.kt)("h3",{id:"features-236"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"default log level option (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1728"},"#1728"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5c56adc1dc47ef91f7ee1d766cd70fa1681cb9df"},"5c56adc"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkMatchChecker Component (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1688"},"#1688"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/21acf661905ebc35f31a52eb527a50c6eff68a44"},"21acf66"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1685"},"#1685")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1681"},"#1681")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1689"},"#1689")),(0,r.kt)("li",{parentName:"ul"},"new virtual OnStopServer called when object is unspawned (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1743"},"#1743"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d1695dd16f477fc9edaaedb90032c188bcbba6e2"},"d1695dd"),")")),(0,r.kt)("h1",{id:"3470-2020-04-19"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/34.6.0-master...34.7.0-master"},"34.7.0")," (2020-04-19)"),(0,r.kt)("h3",{id:"features-237"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"transport can provide their preferred scheme (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/774a07e1bf26cce964cf14d502b71b43ce4f5cd0"},"774a07e"),")")),(0,r.kt)("h1",{id:"3460-2020-04-19"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/34.5.0-master...34.6.0-master"},"34.6.0")," (2020-04-19)"),(0,r.kt)("h3",{id:"features-238"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"onstopserver event in NetworkIdentity (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/186"},"#186"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eb8119007b19faca767969700b0209ade135650c"},"eb81190"),")")),(0,r.kt)("h1",{id:"3450-2020-04-17"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/34.4.1-master...34.5.0-master"},"34.5.0")," (2020-04-17)"),(0,r.kt)("h3",{id:"features-239"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Added SyncList.Find and SyncList.FindAll (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1716"},"#1716"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0fe6328800daeef8680a19a394260295b7241442"},"0fe6328"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1710"},"#1710")),(0,r.kt)("li",{parentName:"ul"},"Weaver can now automatically create Reader/Writer for types in a different assembly (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1708"},"#1708"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b1644ae481497d4347f404543c8200d2754617b9"},"b1644ae"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1570"},"#1570"))),(0,r.kt)("h3",{id:"performance-improvements-57"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Adding dirty check before update sync var (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1702"},"#1702"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/58219c8f726cd65f8987c9edd747987057967ea4"},"58219c8"),")")),(0,r.kt)("h2",{id:"3441-2020-04-15"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/34.4.0-master...34.4.1-master"},"34.4.1")," (2020-04-15)"),(0,r.kt)("h3",{id:"bug-fixes-392"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Fixing SyncVars not serializing when OnSerialize is overridden (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1671"},"#1671"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c66c5a6dcc6837c840e6a51435b88fde10322297"},"c66c5a6"),")")),(0,r.kt)("h1",{id:"3440-2020-04-14"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/34.3.0-master...34.4.0-master"},"34.4.0")," (2020-04-14)"),(0,r.kt)("h3",{id:"features-240"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Button to register all prefabs in NetworkClient (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/179"},"#179"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9f5f0b27f8857bf55bf4f5ffbd436247f99cf390"},"9f5f0b2"),")")),(0,r.kt)("h1",{id:"3430-2020-04-13"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/34.2.0-master...34.3.0-master"},"34.3.0")," (2020-04-13)"),(0,r.kt)("h3",{id:"features-241"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Authenticators can now provide AuthenticationData (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/310ce81c8378707e044108b94faac958e35cbca6"},"310ce81"),")")),(0,r.kt)("h1",{id:"3420-2020-04-11"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/34.1.0-master...34.2.0-master"},"34.2.0")," (2020-04-11)"),(0,r.kt)("h3",{id:"features-242"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Use logger framework for NetworkClient (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1685"},"#1685"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/6e92bf5616d0d2486ce86497128094c4e33b5a3f"},"6e92bf5"),")")),(0,r.kt)("h1",{id:"3410-2020-04-10"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/34.0.0-master...34.1.0-master"},"34.1.0")," (2020-04-10)"),(0,r.kt)("h3",{id:"bug-fixes-393"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Check SceneManager GetSceneByName and GetSceneByPath (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1684"},"#1684"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e7cfd5a498c7359636cd109fe586fce1771bada2"},"e7cfd5a"),")"),(0,r.kt)("li",{parentName:"ul"},"Re-enable transport if aborting additive load/unload (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1683"},"#1683"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bc37497ac963bb0f2820b103591afd05177d078d"},"bc37497"),")"),(0,r.kt)("li",{parentName:"ul"},"stack overflow getting logger (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/55e075c872a076f524ec62f44d81df17819e81ba"},"55e075c"),")")),(0,r.kt)("h3",{id:"features-243"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"logger factory works for static classes by passing the type (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f9328c771cfb0974ce4765dc0d5af01440d838c0"},"f9328c7"),")")),(0,r.kt)("h3",{id:"performance-improvements-58"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Increasing Network Writer performance (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1674"},"#1674"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f0579835ca52270de424e81691f12c02022c3909"},"f057983"),")")),(0,r.kt)("h1",{id:"3400-2020-04-10"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/33.1.1-master...34.0.0-master"},"34.0.0")," (2020-04-10)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remove NetworkConnection.isAuthenticated (#167) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8a0e0b3af37e8b0c74a8b97f12ec29cf202715ea"},"8a0e0b3"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/167"},"#167"))),(0,r.kt)("h3",{id:"breaking-changes-137"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove isAuthenticated")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix typo")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Fix smells")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove smells"))),(0,r.kt)("h2",{id:"3311-2020-04-09"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/33.1.0-master...33.1.1-master"},"33.1.1")," (2020-04-09)"),(0,r.kt)("h3",{id:"bug-fixes-394"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Invoke server.Disconnected before identity is removed for its conn (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/165"},"#165"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b749c4ba126266a1799059f7fb407b6bcaa2bbd9"},"b749c4b"),")")),(0,r.kt)("h1",{id:"3310-2020-04-08"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/33.0.0-master...33.1.0-master"},"33.1.0")," (2020-04-08)"),(0,r.kt)("h3",{id:"features-244"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"new websocket transport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/156"},"#156"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/23c7b0d1b32684d4f959495fe96b2d16a68bd356"},"23c7b0d"),")")),(0,r.kt)("h1",{id:"3300-2020-04-08"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/32.0.1-master...33.0.0-master"},"33.0.0")," (2020-04-08)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Simplify RegisterHandler (#160) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f4f516791b8390f0babf8a7aefa19254427d4145"},"f4f5167"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/160"},"#160"))),(0,r.kt)("h3",{id:"breaking-changes-138"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkConneciton.RegisterHandler only needs message class")),(0,r.kt)("h2",{id:"3201-2020-04-08"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/32.0.0-master...32.0.1-master"},"32.0.1")," (2020-04-08)"),(0,r.kt)("h3",{id:"performance-improvements-59"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Use continuewith to queue up ssl messages (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1640"},"#1640"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/84b2c8cf2671728baecf734487ddaa7fab9943a0"},"84b2c8c"),")")),(0,r.kt)("h1",{id:"3200-2020-04-07"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/31.4.0-master...32.0.0-master"},"32.0.0")," (2020-04-07)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove NetworkConnectionToClient (#155) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bd95cea4d639753335b21c48781603acd758a9e7"},"bd95cea"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/155"},"#155"))),(0,r.kt)("h3",{id:"breaking-changes-139"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkConnectionToClient and networkConnectionToServer are gone")),(0,r.kt)("h1",{id:"3140-2020-04-04"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/31.3.1-master...31.4.0-master"},"31.4.0")," (2020-04-04)"),(0,r.kt)("h3",{id:"bug-fixes-395"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"disconnect even if there is an exception (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/152"},"#152"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2eb9de6b470579b6de75853ba161b3e7a36de698"},"2eb9de6"),")")),(0,r.kt)("h3",{id:"features-245"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"spawning invalid object now gives exception (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e2fc8292400aae8b3b8b972ff5824b8d9cdd6b88"},"e2fc829"),")")),(0,r.kt)("h2",{id:"3131-2020-04-03"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/31.3.0-master...31.3.1-master"},"31.3.1")," (2020-04-03)"),(0,r.kt)("h3",{id:"performance-improvements-60"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Adding buffer for local connection (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1621"},"#1621"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4d5cee893d0104c0070a0b1814c8c84f11f24f18"},"4d5cee8"),")")),(0,r.kt)("h1",{id:"3130-2020-04-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/31.2.1-master...31.3.0-master"},"31.3.0")," (2020-04-01)"),(0,r.kt)("h3",{id:"bug-fixes-396"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Destroyed NetMan due to singleton collision must not continue. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1636"},"#1636"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d2a58a4c251c97cdb38c88c9a381496b3078adf8"},"d2a58a4"),")")),(0,r.kt)("h3",{id:"features-246"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"logging api (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1611"},"#1611"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f2ccb59ae6db90bc84f8a36802bfe174b4493127"},"f2ccb59"),")")),(0,r.kt)("h3",{id:"performance-improvements-61"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"faster NetworkReader pooling (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1623"},"#1623"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1ae038172ac7f5e18e0e09b0081f7f42fa0eff7a"},"1ae0381"),")")),(0,r.kt)("h2",{id:"3121-2020-04-01"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/31.2.0-master...31.2.1-master"},"31.2.1")," (2020-04-01)"),(0,r.kt)("h3",{id:"bug-fixes-397"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"pass the correct connection to TargetRpcs (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/146"},"#146"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9df2f798953f78de113ef6fa9fea111b03a52cd0"},"9df2f79"),")")),(0,r.kt)("h1",{id:"3120-2020-04-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/31.1.0-master...31.2.0-master"},"31.2.0")," (2020-04-01)"),(0,r.kt)("h3",{id:"features-247"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Add fallback transport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1b02796c1468c1e1650eab0f278cd9a11cc597c7"},"1b02796"),")")),(0,r.kt)("h1",{id:"3110-2020-04-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/31.0.0-master...31.1.0-master"},"31.1.0")," (2020-04-01)"),(0,r.kt)("h3",{id:"features-248"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"async multiplex transport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/145"},"#145"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c0e7e9280931a5996f595e41aa516bef20208b6f"},"c0e7e92"),")")),(0,r.kt)("h1",{id:"3100-2020-04-01"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/30.3.3-master...31.0.0-master"},"31.0.0")," (2020-04-01)"),(0,r.kt)("h3",{id:"bug-fixes-398"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"chat example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e6e10a7108bc01e3bd0c208734c97c945003ff86"},"e6e10a7"),")"),(0,r.kt)("li",{parentName:"ul"},"missing meta (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/87ace4dda09331968cc9d0185ce1de655f5dfb15"},"87ace4d"),")")),(0,r.kt)("h3",{id:"features-249"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"asynchronous transport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/134"},"#134"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0e84f451e822fe7c1ca1cd04e052546ed273cfce"},"0e84f45"),")")),(0,r.kt)("h3",{id:"breaking-changes-140"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"connecition Id is gone"),(0,r.kt)("li",{parentName:"ul"},"websocket transport does not work, needs to be replaced.")),(0,r.kt)("h2",{id:"3033-2020-03-31"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/30.3.2-master...30.3.3-master"},"30.3.3")," (2020-03-31)"),(0,r.kt)("h3",{id:"bug-fixes-399"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"headless build (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7864e8d6f4a0952ef3114daac11842e4ee0a7a58"},"7864e8d"),")"),(0,r.kt)("li",{parentName:"ul"},"headless build (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ab47a45d08f4e9a82a5cd26f913f4871d46dd484"},"ab47a45"),")")),(0,r.kt)("h2",{id:"3032-2020-03-31"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/30.3.1-master...30.3.2-master"},"30.3.2")," (2020-03-31)"),(0,r.kt)("h3",{id:"bug-fixes-400"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"AsyncTcp now exits normally when client disconnects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/141"},"#141"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8896c4afa2f937839a54dc71fbe578b9c636f393"},"8896c4a"),")")),(0,r.kt)("h2",{id:"3031-2020-03-30"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/30.3.0-master...30.3.1-master"},"30.3.1")," (2020-03-30)"),(0,r.kt)("h3",{id:"bug-fixes-401"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"reset buffer every time (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a8a62a64b6fa67223505505c1225269d3a047a92"},"a8a62a6"),")")),(0,r.kt)("h1",{id:"3030-2020-03-30"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/30.2.0-master...30.3.0-master"},"30.3.0")," (2020-03-30)"),(0,r.kt)("h3",{id:"features-250"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Piped connection (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/138"},"#138"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/471a881cdae1c6e526b5aa2d552cc91dc27f793a"},"471a881"),")")),(0,r.kt)("h1",{id:"3020-2020-03-30"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/30.1.2-master...30.2.0-master"},"30.2.0")," (2020-03-30)"),(0,r.kt)("h3",{id:"features-251"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"allow more than one NetworkManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/135"},"#135"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/92968e4e45a33fa5ab77ce2bfc9e8f826a888711"},"92968e4"),")")),(0,r.kt)("h2",{id:"3012-2020-03-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/30.1.1-master...30.1.2-master"},"30.1.2")," (2020-03-29)"),(0,r.kt)("h3",{id:"bug-fixes-402"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"client being disconnected twice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/132"},"#132"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/36bb3a2418bcf41fd63d1fc79e8a5173e4b0bc51"},"36bb3a2"),")"),(0,r.kt)("li",{parentName:"ul"},"client disconnected on server event never raised (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/133"},"#133"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9d9efa0e31cbea4d90d7408ae6b3742151b49a21"},"9d9efa0"),")")),(0,r.kt)("h2",{id:"3011-2020-03-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/30.1.0-master...30.1.1-master"},"30.1.1")," (2020-03-29)"),(0,r.kt)("h3",{id:"performance-improvements-62"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"faster NetworkWriter pooling (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1620"},"#1620"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4fa43a947132f89e5348c63e393dd3b80e1fe7e1"},"4fa43a9"),")")),(0,r.kt)("h1",{id:"3010-2020-03-29"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/30.0.0-master...30.1.0-master"},"30.1.0")," (2020-03-29)"),(0,r.kt)("h3",{id:"features-252"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"allow Play mode options (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f9afb6407b015c239975c5a1fba6609e12ab5c8f"},"f9afb64"),")")),(0,r.kt)("h1",{id:"3000-2020-03-29"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/29.1.1-master...30.0.0-master"},"30.0.0")," (2020-03-29)"),(0,r.kt)("h3",{id:"features-253"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Server raises an event when it starts (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/126"},"#126"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d5b0a6f0dd65f9dbb6c4848bce5e81f93772a235"},"d5b0a6f"),")")),(0,r.kt)("h3",{id:"breaking-changes-141"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkManager no longer has OnServerStart virtual")),(0,r.kt)("h2",{id:"2911-2020-03-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/29.1.0-master...29.1.1-master"},"29.1.1")," (2020-03-29)"),(0,r.kt)("h3",{id:"reverts-4"},"Reverts"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},'Revert "Revert "Explain why 10"" (',(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d727e4fd4b9e811025c7309efeba090e3ac14ccd"},"d727e4f"),")")),(0,r.kt)("h1",{id:"2910-2020-03-28"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/29.0.3-master...29.1.0-master"},"29.1.0")," (2020-03-28)"),(0,r.kt)("h3",{id:"features-254"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"get a convenient property to get network time (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1e8c2fe0522d7843a6a2fae7287287c7afa4e417"},"1e8c2fe"),")")),(0,r.kt)("h2",{id:"2903-2020-03-28"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/29.0.2-master...29.0.3-master"},"29.0.3")," (2020-03-28)"),(0,r.kt)("h3",{id:"performance-improvements-63"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"faster NetworkWriter pooling (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1616"},"#1616"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5128b122fe205f250d44ba5c7a88a50de2f3e4cd"},"5128b12"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1614"},"#1614")),(0,r.kt)("li",{parentName:"ul"},"replace isValueType with faster alternative (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1617"},"#1617"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/61163cacb4cb2652aa8632f84be89212674436ff"},"61163ca"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com//github.com/vis2k/Mirror/issues/1614/issues/issuecomment-605443808"},"/github.com/vis2k/Mirror/issues/1614#issuecomment-605443808")),(0,r.kt)("li",{parentName:"ul"},"use byte[] directly instead of MemoryStream (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1618"},"#1618"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/166b8c946736447a76c1886c4d1fb036f6e56e20"},"166b8c9"),")")),(0,r.kt)("h2",{id:"2902-2020-03-27"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/29.0.1-master...29.0.2-master"},"29.0.2")," (2020-03-27)"),(0,r.kt)("h3",{id:"performance-improvements-64"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove redundant mask (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1604"},"#1604"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5d76afbe29f456a657c9e1cb7c97435242031091"},"5d76afb"),")")),(0,r.kt)("h2",{id:"2901-2020-03-27"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/29.0.0-master...29.0.1-master"},"29.0.1")," (2020-03-27)"),(0,r.kt)("h3",{id:"bug-fixes-403"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1515"},"#1515")," - StopHost now invokes OnServerDisconnected for the host client too (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1601"},"#1601"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/678ac68b58798816658d29be649bdaf18ad70794"},"678ac68"),")")),(0,r.kt)("h3",{id:"performance-improvements-65"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"simplify and speed up getting methods in weaver (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c1cfc421811e4c12e84cb28677ac68c82575958d"},"c1cfc42"),")")),(0,r.kt)("h1",{id:"2900-2020-03-26"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/28.0.0-master...29.0.0-master"},"29.0.0")," (2020-03-26)"),(0,r.kt)("h3",{id:"features-255"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"PlayerSpawner component (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/123"},"#123"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e8b933ddff9a47b64be371edb63af130bd3958b4"},"e8b933d"),")")),(0,r.kt)("h3",{id:"breaking-changes-142"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkManager no longer spawns the player. You need to add PlayerSpawner component if you want that behavior")),(0,r.kt)("h1",{id:"2800-2020-03-26"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/27.0.1-master...28.0.0-master"},"28.0.0")," (2020-03-26)"),(0,r.kt)("h3",{id:"bug-fixes-404"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1599"},"#1599")," - NetworkManager HUD calls StopHost/Server/Client depending on state. It does not call StopHost in all cases. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1600"},"#1600"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8c6ae0f8b4fdafbc3abd194c081c75ee75fcfe51"},"8c6ae0f"),")")),(0,r.kt)("h3",{id:"features-256"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"now you can assign scenes even if not in Editor (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1576"},"#1576"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c8a1a5e56f7561487e3180f26e28484f714f36c1"},"c8a1a5e"),")")),(0,r.kt)("h3",{id:"breaking-changes-143"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"You will need to reassign your scenes after upgrade")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Automatically fix properties that were using name"))),(0,r.kt)("p",null,"If you open a NetworkManager or other gameobject that uses a scene name\nit now gets converted to scene path by the SceneDrawer"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Use get scene by name")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Scene can never be null")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Update Assets/Mirror/Examples/AdditiveScenes/Scenes/MainScene.unity")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Issue warning if we drop the scene")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Issue error if scene is lost")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Add suggestion on how to fix the error")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Keep backwards compatibility, check for scene name")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"cache the active scene")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Update Assets/Mirror/Editor/SceneDrawer.cs"))),(0,r.kt)("p",null,"Co-Authored-By: James Frowen ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:jamesfrowendev@gmail.com"},"jamesfrowendev@gmail.com"),">"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"GetSceneByName only works if scene is loaded")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove unused using"))),(0,r.kt)("p",null,"Co-authored-by: James Frowen ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:jamesfrowendev@gmail.com"},"jamesfrowendev@gmail.com"),">"),(0,r.kt)("h2",{id:"2701-2020-03-26"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/27.0.0-master...27.0.1-master"},"27.0.1")," (2020-03-26)"),(0,r.kt)("h3",{id:"bug-fixes-405"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"empty scene name isn't considered as empty (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ec3a93945b5b52a77fd745b39e1e821db721768d"},"ec3a939"),")")),(0,r.kt)("h1",{id:"2700-2020-03-26"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/26.0.0-master...27.0.0-master"},"27.0.0")," (2020-03-26)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remove room feature for now (#122) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/87dd495a6fca6c85349afd42ba6449d98de1f567"},"87dd495"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/122"},"#122")),(0,r.kt)("li",{parentName:"ul"},"Server Disconnect is now an event not a message (#121) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/82ebd71456cbd2e819540d961a93814c57735784"},"82ebd71"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/121"},"#121"))),(0,r.kt)("h3",{id:"code-refactoring-46"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove offline/online scenes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/120"},"#120"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a4c881a36e26b20fc72166741e20c84ce030ad8f"},"a4c881a"),")")),(0,r.kt)("h3",{id:"breaking-changes-144"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Room feature and example are gone"),(0,r.kt)("li",{parentName:"ul"},"offline/online scenes are gone"),(0,r.kt)("li",{parentName:"ul"},"OnServerDisconnect is gone")),(0,r.kt)("h1",{id:"2600-2020-03-25"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/25.0.0-master...26.0.0-master"},"26.0.0")," (2020-03-25)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remove OnClientStart virtual (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eb5242d63fa011381e7692470713fd144476454a"},"eb5242d"),")")),(0,r.kt)("h3",{id:"breaking-changes-145"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Removed OnStartClient virtual, use event from NetworkClient instead")),(0,r.kt)("h1",{id:"2500-2020-03-25"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/24.1.1-master...25.0.0-master"},"25.0.0")," (2020-03-25)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Move on client stop (#118) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/678e3867a9f232e52d2a6cdbfae8140b0e82bd11"},"678e386"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/118"},"#118"))),(0,r.kt)("h3",{id:"features-257"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Added Virtual OnRoomStopServer to NetworkRoomManager and Script Template (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d034ef616f3d479729064d652f74a905ea05b495"},"d034ef6"),")")),(0,r.kt)("h3",{id:"breaking-changes-146"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"OnStopClient virtual is replaced by event in Client")),(0,r.kt)("h2",{id:"2411-2020-03-25"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/24.1.0-master...24.1.1-master"},"24.1.1")," (2020-03-25)"),(0,r.kt)("h3",{id:"bug-fixes-406"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1593"},"#1593")," - NetworkRoomManager.ServerChangeScene doesn't destroy the world player before replacing the connection. otherwise ReplacePlayerForConnection removes authority form a destroyed object, causing all kidns of errors. The call wasn't actually needed. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1594"},"#1594"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/347cb5374d0cba72762e893645f076d3161aa0c5"},"347cb53"),")")),(0,r.kt)("h1",{id:"2410-2020-03-24"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/24.0.1-master...24.1.0-master"},"24.1.0")," (2020-03-24)"),(0,r.kt)("h3",{id:"features-258"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"connections can retrieve end point (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/114"},"#114"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d239718498c5750edf0b5d11cc762136f45500fd"},"d239718"),")"),(0,r.kt)("li",{parentName:"ul"},"transports can give server uri (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/113"},"#113"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dc700ec721cf4ecf6ddd082d88b933c9afffbc67"},"dc700ec"),")")),(0,r.kt)("h2",{id:"2401-2020-03-23"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/24.0.0-master...24.0.1-master"},"24.0.1")," (2020-03-23)"),(0,r.kt)("h3",{id:"bug-fixes-407"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Default port is 7777 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/960c39da90db156cb58d4765695664f0c084b39a"},"960c39d"),")")),(0,r.kt)("h1",{id:"2400-2020-03-23"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/23.0.0-master...24.0.0-master"},"24.0.0")," (2020-03-23)"),(0,r.kt)("h3",{id:"features-259"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"individual events for SyncDictionary (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/112"},"#112"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b3c1b16100c440131d6d933627a9f6479aed11ad"},"b3c1b16"),")")),(0,r.kt)("h3",{id:"breaking-changes-147"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"SyncDictionary callback has been replaced")),(0,r.kt)("h1",{id:"2300-2020-03-23"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/22.0.0-master...23.0.0-master"},"23.0.0")," (2020-03-23)"),(0,r.kt)("h3",{id:"features-260"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"individual events for SyncSet (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/111"},"#111"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/261f5d6a1481634dc524fb57b5866e378a1d909d"},"261f5d6"),")")),(0,r.kt)("h3",{id:"breaking-changes-148"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"callback signature changed in SyncSet")),(0,r.kt)("h1",{id:"2200-2020-03-23"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/21.2.1-master...22.0.0-master"},"22.0.0")," (2020-03-23)"),(0,r.kt)("h3",{id:"features-261"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"synclists has individual meaningful events (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/109"},"#109"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e326064b51e8372726b30d19973df6293c74c376"},"e326064"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/103"},"#103"))),(0,r.kt)("h3",{id:"breaking-changes-149"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Sync lists no longer have a Callback event with an operation enum")),(0,r.kt)("h2",{id:"2121-2020-03-23"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/21.2.0-master...21.2.1-master"},"21.2.1")," (2020-03-23)"),(0,r.kt)("h3",{id:"bug-fixes-408"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"overriden hooks are invoked (fixes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1581"},"#1581"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1584"},"#1584"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cf55333a072c0ffe36a2972ca0a5122a48d708d0"},"cf55333"),")")),(0,r.kt)("h1",{id:"2120-2020-03-23"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/21.1.0-master...21.2.0-master"},"21.2.0")," (2020-03-23)"),(0,r.kt)("h3",{id:"features-262"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"next gen async transport (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/106"},"#106"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4a8dc676b96840493d178718049b9e20c8eb6510"},"4a8dc67"),")")),(0,r.kt)("h1",{id:"2110-2020-03-22"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/21.0.1-master...21.1.0-master"},"21.1.0")," (2020-03-22)"),(0,r.kt)("h3",{id:"features-263"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkConnection manages messages handlers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/93"},"#93"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5c79f0db64e46905081e6c0b5502376c5acf0d99"},"5c79f0d"),")")),(0,r.kt)("h2",{id:"2101-2020-03-22"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/21.0.0-master...21.0.1-master"},"21.0.1")," (2020-03-22)"),(0,r.kt)("h3",{id:"bug-fixes-409"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"calling Connect and Authenticate handler twice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/102"},"#102"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/515f5a15cd5be984f8cb4f94d3be0a0ac919eb63"},"515f5a1"),")")),(0,r.kt)("h1",{id:"2100-2020-03-22"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/20.1.0-master...21.0.0-master"},"21.0.0")," (2020-03-22)"),(0,r.kt)("h3",{id:"features-264"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkIdentity lifecycle events (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/88"},"#88"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9a7c5726eb3d333b85c3d0e44b884c11e34be45d"},"9a7c572"),")")),(0,r.kt)("h3",{id:"breaking-changes-150"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkBehavior no longer has virtuals for lifecycle events")),(0,r.kt)("h1",{id:"2010-2020-03-22"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/20.0.6-master...20.1.0-master"},"20.1.0")," (2020-03-22)"),(0,r.kt)("h3",{id:"bug-fixes-410"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"tcp server Tests (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3b954777f16a41469d953e3744c5d68554e3d200"},"3b95477"),")")),(0,r.kt)("h3",{id:"features-265"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkClient raises event after authentication (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/96"},"#96"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c332271d918f782d4b1a84b3f0fd660239f95743"},"c332271"),")")),(0,r.kt)("h2",{id:"2006-2020-03-22"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/20.0.5-master...20.0.6-master"},"20.0.6")," (2020-03-22)"),(0,r.kt)("h3",{id:"bug-fixes-411"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkConnectionEvent should be serialized in editor (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0e756cec06c5fda9eb4b5c8aa9de093c32b0315c"},"0e756ce"),")")),(0,r.kt)("h2",{id:"2005-2020-03-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/20.0.4-master...20.0.5-master"},"20.0.5")," (2020-03-21)"),(0,r.kt)("h3",{id:"bug-fixes-412"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Added LogFilter.Debug check in a few places (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1575"},"#1575"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/31565042708ec768fcaafe9986968d095a3a1419"},"3156504"),")"),(0,r.kt)("li",{parentName:"ul"},"comment punctuation (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4d827cd9f60e4fb7cd6524d78ca26ea1d88a1eff"},"4d827cd"),")"),(0,r.kt)("li",{parentName:"ul"},"Make SendToReady non-ambiguous (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1578"},"#1578"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b627779acd68b2acfcaf5eefc0d3864dcce57fc7"},"b627779"),")")),(0,r.kt)("h2",{id:"2004-2020-03-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/20.0.3-master...20.0.4-master"},"20.0.4")," (2020-03-21)"),(0,r.kt)("h3",{id:"bug-fixes-413"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"movement in room demo (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/49f7904b4a83fc5318031d273cb10a4b87af2172"},"49f7904"),")")),(0,r.kt)("h2",{id:"2003-2020-03-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/20.0.2-master...20.0.3-master"},"20.0.3")," (2020-03-21)"),(0,r.kt)("h3",{id:"bug-fixes-414"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"additive scene player movement is client authoritative (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e683a92b081c989314c11e48fb21ee0096465797"},"e683a92"),")"),(0,r.kt)("li",{parentName:"ul"},"the Room scene references other scenes (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9b60871e2ea1a2912c0af3d95796660fc04dc569"},"9b60871"),")")),(0,r.kt)("h2",{id:"2002-2020-03-21"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/20.0.1-master...20.0.2-master"},"20.0.2")," (2020-03-21)"),(0,r.kt)("h3",{id:"bug-fixes-415"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"additive scene example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9fa016957f487526ab44d443aabfe58fcc69518a"},"9fa0169"),")")),(0,r.kt)("h2",{id:"2001-2020-03-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/20.0.0-master...20.0.1-master"},"20.0.1")," (2020-03-20)"),(0,r.kt)("h3",{id:"bug-fixes-416"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NRE when destroying all objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/85"},"#85"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/71e78a7f5e15f99af89cd15c1ddd8a975e463916"},"71e78a7"),")")),(0,r.kt)("h1",{id:"2000-2020-03-20"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/19.1.2-master...20.0.0-master"},"20.0.0")," (2020-03-20)"),(0,r.kt)("h3",{id:"bug-fixes-417"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"compilation issue after merge from mirror (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/daf07bea83c9925bd780e23de53dd50604e8a999"},"daf07be"),")")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"merge clientscene and networkclient (#84) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dee10460325119337401dc4d237dec8bfb9ddb29"},"dee1046"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/84"},"#84"))),(0,r.kt)("h3",{id:"features-266"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"SyncSet and SyncDictionary now show in inspector (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1561"},"#1561"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/55107115c66ea38b75edf4a912b5cc48351128f7"},"5510711"),")")),(0,r.kt)("h3",{id:"breaking-changes-151"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"ClientScene is gone")),(0,r.kt)("h2",{id:"1912-2020-03-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/19.1.1-master...19.1.2-master"},"19.1.2")," (2020-03-20)"),(0,r.kt)("h3",{id:"bug-fixes-418"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"examples now work with prefabs in NC (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/df4149b8fea9f174742d20f600ef5261058e5300"},"df4149b"),")")),(0,r.kt)("h2",{id:"1911-2020-03-20"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/19.1.0-master...19.1.1-master"},"19.1.1")," (2020-03-20)"),(0,r.kt)("h3",{id:"bug-fixes-419"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Fixed ClienRpc typos (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e946c79194dd9618992a4136daed4b79f60671a2"},"e946c79"),")"),(0,r.kt)("li",{parentName:"ul"},"Prevent Double Call of NetworkServer.Destroy (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1554"},"#1554"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2d1b142276193be1e93a3a3f6ce482c87a134a2c"},"2d1b142"),")"),(0,r.kt)("li",{parentName:"ul"},"show private serializable fields in network behavior inspector (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1557"},"#1557"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b8c87d9053e7fd7c3b69bcf1d4179e6e4c9bc4a6"},"b8c87d9"),")"),(0,r.kt)("li",{parentName:"ul"},"Updated NetworkRoomPlayer inspector and doc and image (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a4ffcbe280e2e2318d7cd2988379af74f0d32021"},"a4ffcbe"),")")),(0,r.kt)("h1",{id:"1910-2020-03-19"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/19.0.1-master...19.1.0-master"},"19.1.0")," (2020-03-19)"),(0,r.kt)("h3",{id:"features-267"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Now you can pass NetworkIdentity and GameObjects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/83"},"#83"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dca2d4056fe613793480b378d25509284a1fd46a"},"dca2d40"),")")),(0,r.kt)("h2",{id:"1901-2020-03-17"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/19.0.0-master...19.0.1-master"},"19.0.1")," (2020-03-17)"),(0,r.kt)("h3",{id:"bug-fixes-420"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"calling syncvar hook when not connected yet (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/77"},"#77"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e64727b74bcbb1adfcd8f5efbf96066443254dff"},"e64727b"),")")),(0,r.kt)("h1",{id:"1900-2020-03-17"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/18.0.0-master...19.0.0-master"},"19.0.0")," (2020-03-17)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removed obsoletes (#1542) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4faec295593b81a709a57aaf374bb5b080a04538"},"4faec29"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1542"},"#1542"))),(0,r.kt)("h3",{id:"breaking-changes-152"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removed obsoletes")),(0,r.kt)("h1",{id:"1800-2020-03-17"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/17.0.2-master...18.0.0-master"},"18.0.0")," (2020-03-17)"),(0,r.kt)("h3",{id:"features-268"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Time sync is now done per NetworkClient (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b24542f62c6a2d0c43588af005f360ed74c619ca"},"b24542f"),")")),(0,r.kt)("h3",{id:"breaking-changes-153"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkTime.Time is no longer static")),(0,r.kt)("h2",{id:"1702-2020-03-17"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/17.0.1-master...17.0.2-master"},"17.0.2")," (2020-03-17)"),(0,r.kt)("h3",{id:"bug-fixes-421"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Command and Rpc debugging information (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1551"},"#1551"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/658847b096571eb7cf14e824ea76359576121e63"},"658847b"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1550"},"#1550"))),(0,r.kt)("h2",{id:"1701-2020-03-15"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/17.0.0-master...17.0.1-master"},"17.0.1")," (2020-03-15)"),(0,r.kt)("h3",{id:"bug-fixes-422"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Report correct channel to profiler in SendToObservers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0b84d4c5e1b8455e32eeb4d4c00b60bbc1301436"},"0b84d4c"),")")),(0,r.kt)("h1",{id:"1700-2020-03-15"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/16.0.0-master...17.0.0-master"},"17.0.0")," (2020-03-15)"),(0,r.kt)("h3",{id:"code-refactoring-47"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"observers is now a set of connections (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/74"},"#74"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/484892058b448012538754c4a1f2eac30a42ceaa"},"4848920"),")")),(0,r.kt)("h3",{id:"breaking-changes-154"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"observers is now a set of connections, not a dictionary")),(0,r.kt)("h1",{id:"1600-2020-03-10"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/15.0.7-master...16.0.0-master"},"16.0.0")," (2020-03-10)"),(0,r.kt)("h3",{id:"code-refactoring-48"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Client and server keep their own spawned list (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/71"},"#71"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c2599e2c6157dd7539b560cd4645c10713a39276"},"c2599e2"),")")),(0,r.kt)("h3",{id:"breaking-changes-155"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"cannot pass GameObjects and NetworkIdentities anymore.\nWill be restored in the future.")),(0,r.kt)("h2",{id:"1507-2020-03-10"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/15.0.6-master...15.0.7-master"},"15.0.7")," (2020-03-10)"),(0,r.kt)("h3",{id:"bug-fixes-423"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Use big endian for packet size (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1ddcbec93509e14169bddbb2a38a7cf0d53776e4"},"1ddcbec"),")")),(0,r.kt)("h2",{id:"1506-2020-03-09"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/15.0.5-master...15.0.6-master"},"15.0.6")," (2020-03-09)"),(0,r.kt)("h3",{id:"bug-fixes-424"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"compilation issues (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/22bf925f1ebf018b9ea33df22294fb9205574fa5"},"22bf925"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkBehaviour.SyncVarGameObjectEqual made protected again so that Weaver finds it again (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/165a1dd94cd1a7bebc3365c4f40f968f500043a5"},"165a1dd"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkBehaviour.SyncVarNetworkIdentityEqual made protected again so that Weaver finds it again (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/20a2d09d07ab2c47a204e5d583b538a92f72231e"},"20a2d09"),")")),(0,r.kt)("h2",{id:"1505-2020-03-08"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/15.0.4-master...15.0.5-master"},"15.0.5")," (2020-03-08)"),(0,r.kt)("h3",{id:"bug-fixes-425"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"don't crash when stopping the client (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f584388a16e746ac5c3000123a02a5c77387765e"},"f584388"),")"),(0,r.kt)("li",{parentName:"ul"},"race condition closing tcp connections (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/717f1f5ad783e13a6d55920e454cb91f380cd621"},"717f1f5"),")")),(0,r.kt)("h2",{id:"1504-2020-03-08"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/15.0.3-master...15.0.4-master"},"15.0.4")," (2020-03-08)"),(0,r.kt)("h3",{id:"bug-fixes-426"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"attributes causing a NRE (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/69"},"#69"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fc99c67712564e2d983674b37858591903294f1a"},"fc99c67"),")")),(0,r.kt)("h2",{id:"1503-2020-03-08"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/15.0.2-master...15.0.3-master"},"15.0.3")," (2020-03-08)"),(0,r.kt)("h3",{id:"bug-fixes-427"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkIdentity.RebuildObservers: added missing null check for observers coming from components that implement OnRebuildObservers. Previously this caused a NullReferenceException. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a5f495a77485b972cf39f8a42bae6d7d852be38c"},"a5f495a"),")"),(0,r.kt)("li",{parentName:"ul"},"SendToObservers missing result variable (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9c09c26a5cd28cadae4049fea71cddc38c00cf79"},"9c09c26"),")")),(0,r.kt)("h2",{id:"1502-2020-03-06"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/15.0.1-master...15.0.2-master"},"15.0.2")," (2020-03-06)"),(0,r.kt)("h3",{id:"bug-fixes-428"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"rooms demo (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/44598e58325c877bd6b53ee5a77dd95e421ec404"},"44598e5"),")")),(0,r.kt)("h2",{id:"1501-2020-03-06"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/15.0.0-master...15.0.1-master"},"15.0.1")," (2020-03-06)"),(0,r.kt)("h3",{id:"bug-fixes-429"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"chat example works (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0609d50d9b93afd3b42d97ddcd00d32e8aaa0db5"},"0609d50"),")"),(0,r.kt)("li",{parentName:"ul"},"there is no lobby example (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b1e05efb19984ce615d20a16a6c4b09a8897da6a"},"b1e05ef"),")")),(0,r.kt)("h1",{id:"1500-2020-03-05"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/14.0.1-master...15.0.0-master"},"15.0.0")," (2020-03-05)"),(0,r.kt)("h3",{id:"code-refactoring-49"},"Code Refactoring"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove networkAddress from NetworkManager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/67"},"#67"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e89c32dc16b3d9b9cdcb38f0d7d170da94dbf874"},"e89c32d"),")")),(0,r.kt)("h3",{id:"breaking-changes-156"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"StartClient now receives the server ip"),(0,r.kt)("li",{parentName:"ul"},"NetworkManager no longer has NetworkAddress")),(0,r.kt)("h2",{id:"1401-2020-03-04"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/14.0.0-master...14.0.1-master"},"14.0.1")," (2020-03-04)"),(0,r.kt)("h3",{id:"bug-fixes-430"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Avoid FindObjectOfType when not needed (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/66"},"#66"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e2a4afd0b9ca8dea720acb9c558efca210bd8e71"},"e2a4afd"),")")),(0,r.kt)("h1",{id:"1400-2020-03-03"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/13.0.0-master...14.0.0-master"},"14.0.0")," (2020-03-03)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Assign/Remove client authority now throws exception (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7679d3bef369de5245fd301b33e85dbdd74e84cd"},"7679d3b"),")")),(0,r.kt)("h3",{id:"breaking-changes-157"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Assign/Remove client authority throws exception instead of returning boolean")),(0,r.kt)("h1",{id:"1300-2020-03-02"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/12.0.2-master...13.0.0-master"},"13.0.0")," (2020-03-02)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Removed LLAPI (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b0c936cb7d1a803b7096806a905a4c121e45bcdf"},"b0c936c"),")")),(0,r.kt)("h3",{id:"breaking-changes-158"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Removed LLAPITransport")),(0,r.kt)("h2",{id:"1202-2020-02-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/12.0.1-master...12.0.2-master"},"12.0.2")," (2020-02-29)"),(0,r.kt)("h3",{id:"bug-fixes-431"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"NetworkIdentity.OnStartLocalPlayer catches exceptions now too. fixes a potential bug where an exception in PlayerInventory.OnStartLocalPlayer would cause PlayerEquipment.OnStartLocalPlayer to not be called (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5ed5f844090442e16e78f466f7a785881283fbd4"},"5ed5f84"),")")),(0,r.kt)("h2",{id:"1201-2020-02-29"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/12.0.0-master...12.0.1-master"},"12.0.1")," (2020-02-29)"),(0,r.kt)("h3",{id:"bug-fixes-432"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"disconnect properly from the server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c89bb513e536f256e55862b723487bb21281572e"},"c89bb51"),")")),(0,r.kt)("h1",{id:"1200-2020-02-28"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/11.1.0-master...12.0.0-master"},"12.0.0")," (2020-02-28)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Simplify unpacking messages (#65) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c369da84dc34dbbde68a7b30758a6a14bc2573b1"},"c369da8"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/65"},"#65"))),(0,r.kt)("h3",{id:"breaking-changes-159"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"MessagePacker.UnpackMessage replaced by UnpackId")),(0,r.kt)("h1",{id:"1110-2020-02-27"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/11.0.0-master...11.1.0-master"},"11.1.0")," (2020-02-27)"),(0,r.kt)("h3",{id:"bug-fixes-433"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Add missing channelId to NetworkConnectionToClient.Send calls (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1509"},"#1509"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b8bcd9ad25895eee940a3daaf6fe7ed82eaf76ac"},"b8bcd9a"),")"),(0,r.kt)("li",{parentName:"ul"},"build in IL2CPP (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1524"},"#1524"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/59faa819262a166024b16d854e410c7e51763e6a"},"59faa81"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1519"},"#1519")," ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1520"},"#1520")),(0,r.kt)("li",{parentName:"ul"},"Fixed NetworkRoomManager Template (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1662c5a139363dbe61784bb90ae6544ec74478c3"},"1662c5a"),")"),(0,r.kt)("li",{parentName:"ul"},"Fixed toc link (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3a0c7fb1ecd9d8715e797a7665ab9a6a7cb19e2a"},"3a0c7fb"),")"),(0,r.kt)("li",{parentName:"ul"},"Host Player Ready Race Condition (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1498"},"#1498"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4c4a52bff95e7c56f065409b1399955813f3e145"},"4c4a52b"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkIdentity.SetClientOwner: overwriting the owner was still possible even though it shouldn't be. all caller functions double check and return early if it already has an owner, so we should do the same here. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/548db52fdf224f06ba9d8b2d75460d31181b7066"},"548db52"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkServer.SpawnObjects: return false if server isn't running (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d4d524dad2a0a9d89538e6212dceda6bea71d2b7"},"d4d524d"),")"),(0,r.kt)("li",{parentName:"ul"},"properly detect NT rotation (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1516"},"#1516"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f0a993c1064384e0b3bd690d4d66be38875ed50e"},"f0a993c"),")"),(0,r.kt)("li",{parentName:"ul"},"return ","&"," continue on separate line (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1504"},"#1504"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/61fdd892d9e6882e1e51094a2ceddfadc8fd1ebc"},"61fdd89"),")"),(0,r.kt)("li",{parentName:"ul"},"Room example to use new override (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e1d1d41ed69f192b5fb91f92dcdeae1ee057d38f"},"e1d1d41"),")"),(0,r.kt)("li",{parentName:"ul"},"SendToAll sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4b90aafe12970e00949ee43b07b9edd5213745da"},"4b90aaf"),")"),(0,r.kt)("li",{parentName:"ul"},"SendToObservers sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/426798313920d23548048aa1c678167fd9b45cbd"},"4267983"),")"),(0,r.kt)("li",{parentName:"ul"},"SendToReady sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4596b19dd959722d5dc659552206fe90c015fb01"},"4596b19"),")")),(0,r.kt)("h3",{id:"features-269"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Added NetworkConnection to OnRoomServerSceneLoadedForPlayer (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b5dfcf45bc9838e89dc37b00cf3653688083bdd8"},"b5dfcf4"),")"),(0,r.kt)("li",{parentName:"ul"},"Check for client authority in CmdClientToServerSync (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1500"},"#1500"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8b359ff6d07352a751f200768dcde6febd8e9303"},"8b359ff"),")"),(0,r.kt)("li",{parentName:"ul"},"Check for client authority in NetworkAnimator Cmd's (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1501"},"#1501"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/ecc0659b87f3d910dc2370f4861ec70244a25622"},"ecc0659"),")"),(0,r.kt)("li",{parentName:"ul"},"Cosmetic Enhancement of Network Manager (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1512"},"#1512"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f53b12b2f7523574d7ceffa2a833dbd7fac755c9"},"f53b12b"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkSceneChecker use Scene instead of string name (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1496"},"#1496"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7bb80e3b796f2c69d0958519cf1b4a9f4373268b"},"7bb80e3"),")")),(0,r.kt)("h1",{id:"1100-2020-02-13"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/10.0.0-master...11.0.0-master"},"11.0.0")," (2020-02-13)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Remove all compiler defines (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a3943459598d30a325fb1e1315b84c0dedf1741c"},"a394345"),")")),(0,r.kt)("h3",{id:"features-270"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Block Play Mode and Builds for Weaver Errors (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1479"},"#1479"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0e80e1996fb2673364169782c330e69cd598a21d"},"0e80e19"),")"),(0,r.kt)("li",{parentName:"ul"},"Disposable PooledNetworkReader / PooledNetworkWriter (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1490"},"#1490"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/bb55baa679ae780e127ed5817ef10d7f12cd08c8"},"bb55baa"),")")),(0,r.kt)("h3",{id:"breaking-changes-160"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"removed compilation defines, use upm version defines instead")),(0,r.kt)("h1",{id:"1000-2020-02-12"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/9.1.0-master...10.0.0-master"},"10.0.0")," (2020-02-12)"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Simplify AddPlayerForConnection (#62) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fb267557af292e048df248d4f85fff3569ac2963"},"fb26755"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/62"},"#62"))),(0,r.kt)("h3",{id:"breaking-changes-161"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"AddPlayerForConnection no longer receives the client")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fix compilatio errors")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fix build errors"))),(0,r.kt)("h1",{id:"910-2020-02-12"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/9.0.0-master...9.1.0-master"},"9.1.0")," (2020-02-12)"),(0,r.kt)("h3",{id:"bug-fixes-434"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"weaver support array of custom types (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1470"},"#1470"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d0b0bc92bc33ff34491102a2f9e1855f2a5ed476"},"d0b0bc9"),")")),(0,r.kt)("h3",{id:"features-271"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Added Read","<","T",">"," Method to NetworkReader (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1480"},"#1480"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/58df3fd6d6f53336668536081bc33e2ca22fd38d"},"58df3fd"),")"),(0,r.kt)("li",{parentName:"ul"},"supports scriptable objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1471"},"#1471"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0f10c72744864ac55d2e1aa96ba8d7713c77d9e7"},"0f10c72"),")")),(0,r.kt)("h1",{id:"900-2020-02-08"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/8.0.1-master...9.0.0-master"},"9.0.0")," (2020-02-08)"),(0,r.kt)("h3",{id:"bug-fixes-435"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"don't report error when stopping the server (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c965d4b0ff32288ebe4e5c63a43e32559203deb1"},"c965d4b"),")")),(0,r.kt)("h3",{id:"features-272"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"awaitable connect (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/55"},"#55"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/952e8a43e2b2e4443e24865c60af1ee47467e4cf"},"952e8a4"),")")),(0,r.kt)("h3",{id:"breaking-changes-162"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"ClientConnect replaced with ClientConnectAsync\nthat can be awaited")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"fix: TCP transport for async compliance")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"use async connect")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Ignore telepathy tests until they are fixed")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"It is ok to interrupt sockets")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove some warnings")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove some warnings")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove some warnings")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove some warnings")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove some warnings")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove some warnings")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Remove some warnings"))),(0,r.kt)("h2",{id:"801-2020-02-06"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/8.0.0-master...8.0.1-master"},"8.0.1")," (2020-02-06)"),(0,r.kt)("h3",{id:"bug-fixes-436"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"first connection id = 1 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/60"},"#60"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/891dab92d065821ca46b47ef2d3eb27124058d74"},"891dab9"),")")),(0,r.kt)("h1",{id:"800-2020-02-06"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/7.0.0-master...8.0.0-master"},"8.0.0")," (2020-02-06)"),(0,r.kt)("h3",{id:"bug-fixes-437"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"call callback after update dictionary in host (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1476"},"#1476"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/1736bb0c42c0d2ad341e31a645658722de3bfe07"},"1736bb0"),")"),(0,r.kt)("li",{parentName:"ul"},"port network discovery (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d6a1154e98c52e7873411ce9d7b87f7b294dc436"},"d6a1154"),")"),(0,r.kt)("li",{parentName:"ul"},"remove scriptableobject error Tests (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/479b78bf3cabe93938bf61b7f8fd63ba46da0f4a"},"479b78b"),")"),(0,r.kt)("li",{parentName:"ul"},"Telepathy reverted to older version to fix freezes when calling Client.Disconnect on some platforms like Windows 10 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/d0d77b661cd07e25887f0e2f4c2d72b4f65240a2"},"d0d77b6"),")"),(0,r.kt)("li",{parentName:"ul"},"Telepathy updated to latest version. Threads are closed properly now. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4007423db28f7044f6aa97b108a6bfbe3f2d46a9"},"4007423"),")")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Renamed localEulerAnglesSensitivity (#1474) (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/eee969201d69df1e1ee1f1623b55a78f6003fbb1"},"eee9692"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1474"},"#1474"))),(0,r.kt)("h3",{id:"breaking-28"},"breaking"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Transports can now provide their Uri (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1454"},"#1454"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b916064856cf78f1c257f0de0ffe8c9c1ab28ce7"},"b916064"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/38"},"#38"))),(0,r.kt)("h3",{id:"features-273"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Implemented NetworkReaderPool (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1464"},"#1464"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9257112c65c92324ad0bd51e4a017aa1b4c9c1fc"},"9257112"),")"),(0,r.kt)("li",{parentName:"ul"},"LAN Network discovery (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1453"},"#1453"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/e75b45f8889478456573ea395694b4efc560ace0"},"e75b45f"),"), closes ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/38"},"#38")),(0,r.kt)("li",{parentName:"ul"},"Mirror Icon for all components (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1452"},"#1452"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a7efb13e29e0bc9ed695a86070e3eb57b7506b4c"},"a7efb13"),")"),(0,r.kt)("li",{parentName:"ul"},"supports scriptable objects (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/4b8f8192123fe0b79ea71f2255a4bbac404c88b1"},"4b8f819"),")")),(0,r.kt)("h3",{id:"breaking-changes-163"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"localEulerAnglesSensitivity renamed to localRotationSensitivity"),(0,r.kt)("li",{parentName:"ul"},"Make the server uri method mandatory in transports")),(0,r.kt)("p",null,"Co-authored-by: MrGadget ","<",(0,r.kt)("a",{parentName:"p",href:"mailto:chris@clevertech.net"},"chris@clevertech.net"),">"),(0,r.kt)("h1",{id:"700-2020-01-27"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/6.0.0-master...7.0.0-master"},"7.0.0")," (2020-01-27)"),(0,r.kt)("h3",{id:"features-274"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Network Scene Checker Component (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1271"},"#1271"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/71c0d3b2ee1bbdb29d1c39ee6eca3ef9635d70bf"},"71c0d3b"),")"),(0,r.kt)("li",{parentName:"ul"},"network writer and reader now support uri (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/0c2556ac64bd93b9e52dae34cf8d84db114b4107"},"0c2556a"),")")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Rename NetworkServer.localClientActive (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7cd0894853b97fb804ae15b8a75b75c9d7bc04a7"},"7cd0894"),")"),(0,r.kt)("li",{parentName:"ul"},"Simplify spawning (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c87a38a4ff0c350901138b90db7fa8e61b1ab7db"},"c87a38a"),")")),(0,r.kt)("h3",{id:"breaking-changes-164"},"BREAKING CHANGES"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"rename localClientActive to LocalClientActive"),(0,r.kt)("li",{parentName:"ul"},"Spawn no longer receives NetworkClient")),(0,r.kt)("h1",{id:"600-2020-01-22"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/5.0.0-master...6.0.0-master"},"6.0.0")," (2020-01-22)"),(0,r.kt)("h3",{id:"bug-fixes-438"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"compilation error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/df7baa4db0d347ee69c17bad9f9e56ccefb54fab"},"df7baa4"),")"),(0,r.kt)("li",{parentName:"ul"},"compilation error (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dc74256fc380974ad6df59b5d1dee3884b879bd7"},"dc74256"),")"),(0,r.kt)("li",{parentName:"ul"},"Fix Room Slots for clients (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1439"},"#1439"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/268753c3bd0a9c0695d8d4510a129685be364a11"},"268753c"),")")),(0,r.kt)("h1",{id:"500-2020-01-19"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/4.0.0-master...5.0.0-master"},"5.0.0")," (2020-01-19)"),(0,r.kt)("h1",{id:"400-2020-01-18"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/3.1.0-master...4.0.0-master"},"4.0.0")," (2020-01-18)"),(0,r.kt)("h1",{id:"310-2020-01-16"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/3.0.4-master...3.1.0-master"},"3.1.0")," (2020-01-16)"),(0,r.kt)("h3",{id:"bug-fixes-439"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Decouple ChatWindow from player (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1429"},"#1429"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/42a2f9b853667ef9485a1d4a31979fcf1153c0d7"},"42a2f9b"),")"),(0,r.kt)("li",{parentName:"ul"},"StopHost with offline scene calls scene change twice (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1409"},"#1409"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a0c96f85189bfc9b5a936a8a33ebda34b460f17f"},"a0c96f8"),")"),(0,r.kt)("li",{parentName:"ul"},"Telepathy works on .net core again (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/cb3d9f0d08a961b345ce533d1ce64602f7041e1c"},"cb3d9f0"),")")),(0,r.kt)("h3",{id:"features-275"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Add Sensitivity to NetworkTransform (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1425"},"#1425"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/f69f1743c54aa7810c5a218e2059c115760c54a3"},"f69f174"),")")),(0,r.kt)("h2",{id:"304-2020-01-12"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/3.0.3-master...3.0.4-master"},"3.0.4")," (2020-01-12)"),(0,r.kt)("h3",{id:"bug-fixes-440"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"comply with MIT license in upm package (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/b879bef4295e48c19d96a1d45536a11ea47380f3"},"b879bef"),")")),(0,r.kt)("h2",{id:"303-2020-01-12"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/3.0.2-master...3.0.3-master"},"3.0.3")," (2020-01-12)"),(0,r.kt)("h3",{id:"bug-fixes-441"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"auto reference mirrorng assembly (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/93f8688b39822bb30ed595ca36f44a8a556bec85"},"93f8688"),")"),(0,r.kt)("li",{parentName:"ul"},"Mirage works with 2019.2 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/9f35d6be427843aa7dd140cde32dd843c62147ce"},"9f35d6b"),")")),(0,r.kt)("h2",{id:"302-2020-01-12"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/3.0.1-master...3.0.2-master"},"3.0.2")," (2020-01-12)"),(0,r.kt)("h3",{id:"bug-fixes-442"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remove Tests from upm package (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/34"},"#34"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8d8ea0f10743044e4a9a3d6c5b9f9973cf48e28b"},"8d8ea0f"),")")),(0,r.kt)("h2",{id:"301-2020-01-11"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/3.0.0-master...3.0.1-master"},"3.0.1")," (2020-01-11)"),(0,r.kt)("h3",{id:"bug-fixes-443"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"remove Tests from UPM (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/33"},"#33"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/8f42af0a3992cfa549eb404ad9f9693101895ce9"},"8f42af0"),")")),(0,r.kt)("h1",{id:"300-2020-01-11"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/2.0.0-master...3.0.0-master"},"3.0.0")," (2020-01-11)"),(0,r.kt)("h3",{id:"bug-fixes-444"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/723"},"#723")," - NetworkTransform teleport works properly now (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/fd7dc5e226a76b27250fb503a98f23eb579387f8"},"fd7dc5e"),")"),(0,r.kt)("li",{parentName:"ul"},"fix release pipeline (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2a3db0b398cd641c3e1ba65a32b34822e9c9169f"},"2a3db0b"),")"),(0,r.kt)("li",{parentName:"ul"},"release job requires node 10 (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/3f50e63bc32f4942e1c130c681dabd34ae81b117"},"3f50e63"),")"),(0,r.kt)("li",{parentName:"ul"},"remove tests from npm package (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/32"},"#32"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/5ed9b4f1235d5d1dc54c3f50bb1aeefd5dbe3038"},"5ed9b4f"),")"),(0,r.kt)("li",{parentName:"ul"},"syntax error in release job (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/2eeaea41bc81cfe0c191b39da912adc565e11ec7"},"2eeaea4"),")")),(0,r.kt)("h3",{id:"features-276"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Network Animator can reset triggers (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1420"},"#1420"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/dffdf02be596db3d35bdd8d19ba6ada7d796a137"},"dffdf02"),")"),(0,r.kt)("li",{parentName:"ul"},"NetworkAnimator warns if you use it incorrectly (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1424"},"#1424"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c30e4a9f83921416f936ef5fd1bb0e2b3a410807"},"c30e4a9"),")")),(0,r.kt)("h3",{id:"performance-improvements-66"},"Performance Improvements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Use NetworkWriterPool in NetworkAnimator (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1421"},"#1421"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/7d472f21f9a807357df244a3f0ac259dd431661f"},"7d472f2"),")"),(0,r.kt)("li",{parentName:"ul"},"Use NetworkWriterPool in NetworkTransform (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1422"},"#1422"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a4578458a15e3d2840a49dd029b4c404cadf85a4"},"a457845"),")")),(0,r.kt)("h1",{id:"200-2020-01-09"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/1.1.2-master...2.0.0-master"},"2.0.0")," (2020-01-09)"),(0,r.kt)("h2",{id:"112-2020-01-09"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/1.1.1-master...1.1.2-master"},"1.1.2")," (2020-01-09)"),(0,r.kt)("h3",{id:"bug-fixes-445"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1241"},"#1241")," - Telepathy updated to latest version. All tests are passing again. Thread.Interrupt was replaced by Abort+Join. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/228b32e1da8e407e1d63044beca0fd179f0835b4"},"228b32e"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1278"},"#1278")," - only call initial state SyncVar hooks on clients if the SyncVar value is different from the default one. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1414"},"#1414"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a3ffd1264c2ed2780e6e86ce83077fa756c01154"},"a3ffd12"),")"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/1380"},"#1380")," - NetworkConnection.clientOwnedObjects changed from uint HashSet to NetworkIdentity HashSet for ease of use and to fix a bug where DestroyOwnedObjects wouldn't find a netId anymore in some cases. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a71ecdba4a020f9f4648b8275ec9d17b19aff55f"},"a71ecdb"),")"),(0,r.kt)("li",{parentName:"ul"},"FinishLoadSceneHost calls FinishStart host which now calls StartHostClient AFTER server online scene was loaded. Previously there was a race condition where StartHostClient was called immediately in StartHost, before the scene change even finished. This was still from UNET. (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/df9c29a6b3f9d0c8adbaff5a500e54abddb303b3"},"df9c29a"),")")),(0,r.kt)("h2",{id:"111-2020-01-05"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/MirageNet/Mirage/compare/1.1.0-master...1.1.1-master"},"1.1.1")," (2020-01-05)"),(0,r.kt)("h3",{id:"bug-fixes-446"},"Bug Fixes"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"add Changelog metadata fix ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/31"},"#31")," (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/c67de2216aa331de10bba2e09ea3f77e6b1caa3c"},"c67de22"),")")),(0,r.kt)("h1",{id:"110-2020-01-04"},(0,r.kt)("a",{parentName:"h1",href:"https://github.com/MirageNet/Mirage/compare/1.0.0-master...1.1.0-master"},"1.1.0")," (2020-01-04)"),(0,r.kt)("h3",{id:"features-277"},"Features"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"include generated changelog (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/issues/27"},"#27"),") (",(0,r.kt)("a",{parentName:"li",href:"https://github.com/MirageNet/Mirage/commit/a60f1acd3a544639a5e58a8946e75fd6c9012327"},"a60f1ac"),")")))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cc2efbbf.fb8ffd71.js b/assets/js/cc2efbbf.fb8ffd71.js new file mode 100644 index 00000000000..95aaa40bdbc --- /dev/null +++ b/assets/js/cc2efbbf.fb8ffd71.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7251],{3905:(e,t,r)=>{r.d(t,{Zo:()=>k,kt:()=>d});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=a.createContext({}),c=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},k=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,k=o(e,["components","mdxType","originalType","parentName"]),p=c(r),d=n,h=p["".concat(s,".").concat(d)]||p[d]||u[d]||l;return r?a.createElement(h,i(i({ref:t},k),{},{components:r})):a.createElement(h,i({ref:t},k))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=p;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var c=2;c<l;c++)i[c]=r[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}p.displayName="MDXCreateElement"},35485:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const l={id:"NetworkSceneChecker",title:"NetworkSceneChecker"},i="Class NetworkSceneChecker",o={unversionedId:"reference/Mirage/NetworkSceneChecker",id:"reference/Mirage/NetworkSceneChecker",title:"NetworkSceneChecker",description:"Component that controls visibility of networked objects between scenes.",source:"@site/docs/reference/Mirage/NetworkSceneChecker.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkSceneChecker",permalink:"/Mirage/docs/reference/Mirage/NetworkSceneChecker",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkSceneChecker.md",tags:[],version:"current",frontMatter:{id:"NetworkSceneChecker",title:"NetworkSceneChecker"},sidebar:"api",previous:{title:"NetworkProximityChecker",permalink:"/Mirage/docs/reference/Mirage/NetworkProximityChecker"},next:{title:"NetworkSceneManager",permalink:"/Mirage/docs/reference/Mirage/NetworkSceneManager"}},s={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"forceHidden",id:"forcehidden",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Methods",id:"methods",level:3},{value:"OnStartServer()",id:"onstartserver",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"OnCheckObserver(INetworkPlayer)",id:"oncheckobserverinetworkplayer",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"OnRebuildObservers(HashSet<INetworkPlayer>, Boolean)",id:"onrebuildobservershashsetinetworkplayer-boolean",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-1",level:5}],k={toc:c};function u(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},k,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networkscenechecker"},"Class NetworkSceneChecker"),(0,n.kt)("p",null,"Component that controls visibility of networked objects between scenes.\nAny object with this component on it will only be visible to other objects in the same scene\nThis would be used when the server has multiple additive subscenes loaded to isolate players to their respective subscenes"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.NetworkBehaviour"),(0,n.kt)("div",{class:"level",style:{"--data-index":2}},"Mirage.NetworkVisibility")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show"),(0,n.kt)("p",null,"Mirage.NetworkVisibility.OnVisibilityChanged"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour._nextSyncTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncSettings"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsHost"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalPlayer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServerOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClientOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.HasAuthority"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Server"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ServerObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Client"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClientObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Owner"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.World"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetworkTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.BehaviourId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarDirtyBits"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnySyncObjectDirty"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.syncObjects"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Identity"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ComponentIndex"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarEqual","<","T",">","(T, T)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClearDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnyDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.GetRpcCount()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},'[Obsolete("This checker is inefficient, use SimpleSceneChecker instead")]\npublic class NetworkSceneChecker : NetworkVisibility, INetworkVisibility\n')),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"forcehidden"},"forceHidden"),(0,n.kt)("p",null,"Flag to force this object to be hidden from all observers.\nIf this object is a player object, it will not be hidden for that client."),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool forceHidden\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"onstartserver"},"OnStartServer()"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnStartServer()\n")),(0,n.kt)("h4",{id:"oncheckobserverinetworkplayer"},"OnCheckObserver(INetworkPlayer)"),(0,n.kt)("p",null,"Callback used by the visibility system to determine if an observer (player) can see this object.\nIf this function returns true, the network connection will be added as an observer."),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override bool OnCheckObserver(INetworkPlayer player)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"Network connection of a player.")))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"True if the player can see this object.")))),(0,n.kt)("h4",{id:"onrebuildobservershashsetinetworkplayer-boolean"},"OnRebuildObservers(HashSet","<","INetworkPlayer",">",", Boolean)"),(0,n.kt)("p",null,"Callback used by the visibility system to (re)construct the set of observers that can see this object.\nImplementations of this callback should add network connections of players that can see this object to the observers set."),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override void OnRebuildObservers(HashSet<INetworkPlayer> observers, bool initialize)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.HashSet","<","Mirage.INetworkPlayer",">"),(0,n.kt)("td",{parentName:"tr",align:null},"observers"),(0,n.kt)("td",{parentName:"tr",align:null},"The new set of observers for this object.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"initialize"),(0,n.kt)("td",{parentName:"tr",align:null},"True if the set of observers is being built for the first time.")))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cdc22f13.945bea91.js b/assets/js/cdc22f13.945bea91.js new file mode 100644 index 00000000000..7ee0824f6b2 --- /dev/null +++ b/assets/js/cdc22f13.945bea91.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8698],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>d});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),s=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},k={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),p=s(r),d=n,h=p["".concat(c,".").concat(d)]||p[d]||k[d]||i;return r?a.createElement(h,l(l({ref:t},u),{},{components:r})):a.createElement(h,l({ref:t},u))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,l=new Array(i);l[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,l[1]=o;for(var s=2;s<i;s++)l[s]=r[s];return a.createElement.apply(null,l)}return a.createElement.apply(null,r)}p.displayName="MDXCreateElement"},13882:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>k,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var a=r(87462),n=(r(67294),r(3905));const i={id:"SceneVisibilityChecker",title:"SceneVisibilityChecker"},l="Class SceneVisibilityChecker",o={unversionedId:"reference/Mirage/SceneVisibilityChecker",id:"reference/Mirage/SceneVisibilityChecker",title:"SceneVisibilityChecker",description:"Inheritance",source:"@site/docs/reference/Mirage/SceneVisibilityChecker.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SceneVisibilityChecker",permalink:"/Mirage/docs/reference/Mirage/SceneVisibilityChecker",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SceneVisibilityChecker.md",tags:[],version:"current",frontMatter:{id:"SceneVisibilityChecker",title:"SceneVisibilityChecker"},sidebar:"api",previous:{title:"SceneReadyMessage",permalink:"/Mirage/docs/reference/Mirage/SceneReadyMessage"},next:{title:"ServerAttribute",permalink:"/Mirage/docs/reference/Mirage/ServerAttribute"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"OnCheckObserver(INetworkPlayer)",id:"oncheckobserverinetworkplayer",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"OnRebuildObservers(HashSet<INetworkPlayer>, Boolean)",id:"onrebuildobservershashsetinetworkplayer-boolean",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"MoveToScene(Scene)",id:"movetoscenescene",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5}],u={toc:s};function k(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-scenevisibilitychecker"},"Class SceneVisibilityChecker"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.NetworkBehaviour"),(0,n.kt)("div",{class:"level",style:{"--data-index":2}},"Mirage.NetworkVisibility")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show"),(0,n.kt)("p",null,"Mirage.NetworkVisibility.OnVisibilityChanged"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour._nextSyncTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncSettings"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsHost"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalPlayer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServerOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClientOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.HasAuthority"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Server"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ServerObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Client"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClientObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Owner"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.World"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetworkTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.BehaviourId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarDirtyBits"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnySyncObjectDirty"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.syncObjects"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Identity"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ComponentIndex"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarEqual","<","T",">","(T, T)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClearDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnyDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.GetRpcCount()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class SceneVisibilityChecker : NetworkVisibility, INetworkVisibility\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"oncheckobserverinetworkplayer"},"OnCheckObserver(INetworkPlayer)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override bool OnCheckObserver(INetworkPlayer player)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"onrebuildobservershashsetinetworkplayer-boolean"},"OnRebuildObservers(HashSet","<","INetworkPlayer",">",", Boolean)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override void OnRebuildObservers(HashSet<INetworkPlayer> observers, bool initialize)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.HashSet","<","Mirage.INetworkPlayer",">"),(0,n.kt)("td",{parentName:"tr",align:null},"observers"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"initialize"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"movetoscenescene"},"MoveToScene(Scene)"),(0,n.kt)("p",null,"Call this function on an object to move it to a new scene and rebuild its observers"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void MoveToScene(Scene scene)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Scene"),(0,n.kt)("td",{parentName:"tr",align:null},"scene"),(0,n.kt)("td",{parentName:"tr",align:null})))))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ce904f20.7b85d123.js b/assets/js/ce904f20.7b85d123.js new file mode 100644 index 00000000000..844473bb8df --- /dev/null +++ b/assets/js/ce904f20.7b85d123.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2592],{3905:(e,n,r)=>{r.d(n,{Zo:()=>p,kt:()=>f});var t=r(67294);function a(e,n,r){return n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r,e}function c(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function i(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?c(Object(r),!0).forEach((function(n){a(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}function o(e,n){if(null==e)return{};var r,t,a=function(e,n){if(null==e)return{};var r,t,a={},c=Object.keys(e);for(t=0;t<c.length;t++)r=c[t],n.indexOf(r)>=0||(a[r]=e[r]);return a}(e,n);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(t=0;t<c.length;t++)r=c[t],n.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=t.createContext({}),s=function(e){var n=t.useContext(l),r=n;return e&&(r="function"==typeof e?e(n):i(i({},n),e)),r},p=function(e){var n=s(e.components);return t.createElement(l.Provider,{value:n},e.children)},u={inlineCode:"code",wrapper:function(e){var n=e.children;return t.createElement(t.Fragment,{},n)}},y=t.forwardRef((function(e,n){var r=e.components,a=e.mdxType,c=e.originalType,l=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),y=s(r),f=a,g=y["".concat(l,".").concat(f)]||y[f]||u[f]||c;return r?t.createElement(g,i(i({ref:n},p),{},{components:r})):t.createElement(g,i({ref:n},p))}));function f(e,n){var r=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var c=r.length,i=new Array(c);i[0]=y;var o={};for(var l in n)hasOwnProperty.call(n,l)&&(o[l]=n[l]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var s=2;s<c;s++)i[s]=r[s];return t.createElement.apply(null,i)}return t.createElement.apply(null,r)}y.displayName="MDXCreateElement"},1304:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>c,metadata:()=>o,toc:()=>s});var t=r(87462),a=(r(67294),r(3905));const c={id:"PlayerSceneChangeEvent",title:"PlayerSceneChangeEvent"},i="Class PlayerSceneChangeEvent",o={unversionedId:"reference/Mirage/PlayerSceneChangeEvent",id:"reference/Mirage/PlayerSceneChangeEvent",title:"PlayerSceneChangeEvent",description:"Inheritance",source:"@site/docs/reference/Mirage/PlayerSceneChangeEvent.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/PlayerSceneChangeEvent",permalink:"/Mirage/docs/reference/Mirage/PlayerSceneChangeEvent",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/PlayerSceneChangeEvent.md",tags:[],version:"current",frontMatter:{id:"PlayerSceneChangeEvent",title:"PlayerSceneChangeEvent"},sidebar:"api",previous:{title:"PipePeerConnection",permalink:"/Mirage/docs/reference/Mirage/PipePeerConnection"},next:{title:"ReadOnlyInspectorAttribute",permalink:"/Mirage/docs/reference/Mirage/ReadOnlyInspectorAttribute"}},l={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5}],p={toc:s};function u(e){let{components:n,...r}=e;return(0,a.kt)("wrapper",(0,t.Z)({},p,r,{components:n,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-playerscenechangeevent"},"Class PlayerSceneChangeEvent"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class PlayerSceneChangeEvent : UnityEvent<INetworkPlayer>\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ceed7abf.90e46c54.js b/assets/js/ceed7abf.90e46c54.js new file mode 100644 index 00000000000..7c04526bcec --- /dev/null +++ b/assets/js/ceed7abf.90e46c54.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1627],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>d});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),p=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},l=function(e){var t=p(e.components);return r.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),m=p(n),d=o,w=m["".concat(c,".").concat(d)]||m[d]||u[d]||a;return n?r.createElement(w,i(i({ref:t},l),{},{components:n})):r.createElement(w,i({ref:t},l))}));function d(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,i[1]=s;for(var p=2;p<a;p++)i[p]=n[p];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},82018:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>p});var r=n(87462),o=(n(67294),n(3905));const a={},i="Network Start Position",s={unversionedId:"components/network-start-position",id:"components/network-start-position",title:"Network Start Position",description:"To control where players are spawned, you can use the Network Start Position component.",source:"@site/docs/components/network-start-position.md",sourceDirName:"components",slug:"/components/network-start-position",permalink:"/Mirage/docs/components/network-start-position",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/network-start-position.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Scene Manager",permalink:"/Mirage/docs/components/network-scene-manager"},next:{title:"Network Transform Child",permalink:"/Mirage/docs/components/network-transform-child"}},c={},p=[],l={toc:p};function u(e){let{components:t,...a}=e;return(0,o.kt)("wrapper",(0,r.Z)({},l,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"network-start-position"},"Network Start Position"),(0,o.kt)("p",null,"To control where players are spawned, you can use the Network Start Position component."),(0,o.kt)("p",null,"To use these, attach a Network Start Position component to a game object in the scene, and position the game object where you would like one of the players to start. You can add as many start positions to your Scene as you like. The Network Manager detects all start positions in your Scene, and when it spawns each player instance, it uses the position and orientation of one of them."),(0,o.kt)("p",null,"The Network Manager will spawn players at (0, 0, 0) by default. Adding this component to a game object will automatically register/unregister its game object's transform to the Network Manager as an available spawning position."),(0,o.kt)("p",null,"Depending on the Network Manager Player Spawn Method setting the spawning is either Random (possible that the same spawn position will be used by two or more players) or Round Robin (use every available position, until there are more clients than spawn points)."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Inspector",src:n(94835).Z,width:"572",height:"454"})))}u.isMDXComponent=!0},94835:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/NetworkStartPosition-faa09b848a3e4e0f9768e8bb53896491.PNG"}}]); \ No newline at end of file diff --git a/assets/js/cf38ca78.9a0abeb1.js b/assets/js/cf38ca78.9a0abeb1.js new file mode 100644 index 00000000000..df3502a6a57 --- /dev/null +++ b/assets/js/cf38ca78.9a0abeb1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6799],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),d=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=d(e.components);return n.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},s=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),s=d(r),f=a,m=s["".concat(c,".").concat(f)]||s[f]||u[f]||o;return r?n.createElement(m,i(i({ref:t},p),{},{components:r})):n.createElement(m,i({ref:t},p))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=s;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:a,i[1]=l;for(var d=2;d<o;d++)i[d]=r[d];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}s.displayName="MDXCreateElement"},98812:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var n=r(87462),a=(r(67294),r(3905));const o={id:"INetIdGenerator",title:"INetIdGenerator"},i="Interface INetIdGenerator",l={unversionedId:"reference/Mirage/INetIdGenerator",id:"reference/Mirage/INetIdGenerator",title:"INetIdGenerator",description:"Syntax",source:"@site/docs/reference/Mirage/INetIdGenerator.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/INetIdGenerator",permalink:"/Mirage/docs/reference/Mirage/INetIdGenerator",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/INetIdGenerator.md",tags:[],version:"current",frontMatter:{id:"INetIdGenerator",title:"INetIdGenerator"},sidebar:"api",previous:{title:"IMessageSender",permalink:"/Mirage/docs/reference/Mirage/IMessageSender"},next:{title:"INetworkPlayer",permalink:"/Mirage/docs/reference/Mirage/INetworkPlayer"}},c={},d=[{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"GenerateNetId()",id:"generatenetid",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Returns",id:"returns",level:5}],p={toc:d};function u(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"interface-inetidgenerator"},"Interface INetIdGenerator"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public interface INetIdGenerator\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"generatenetid"},"GenerateNetId()"),(0,a.kt)("p",null,"Generate your own specific net id."),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"uint GenerateNetId()\n")),(0,a.kt)("h5",{id:"returns"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,a.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d04aec73.80c83a86.js b/assets/js/d04aec73.80c83a86.js new file mode 100644 index 00000000000..6271c1973f3 --- /dev/null +++ b/assets/js/d04aec73.80c83a86.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9101],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>N});var r=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(null==e)return{};var a,r,l=function(e,t){if(null==e)return{};var a,r,l={},n=Object.keys(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var o=r.createContext({}),k=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=k(e.components);return r.createElement(o.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,l=e.mdxType,n=e.originalType,o=e.parentName,p=d(e,["components","mdxType","originalType","parentName"]),u=k(a),N=l,c=u["".concat(o,".").concat(N)]||u[N]||m[N]||n;return a?r.createElement(c,i(i({ref:t},p),{},{components:a})):r.createElement(c,i({ref:t},p))}));function N(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var n=a.length,i=new Array(n);i[0]=u;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d.mdxType="string"==typeof e?e:l,i[1]=d;for(var k=2;k<n;k++)i[k]=a[k];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}u.displayName="MDXCreateElement"},42573:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>m,frontMatter:()=>n,metadata:()=>d,toc:()=>k});var r=a(87462),l=(a(67294),a(3905));const n={id:"UnityTypesExtensions",title:"UnityTypesExtensions"},i="Class UnityTypesExtensions",d={unversionedId:"reference/Mirage.Serialization/UnityTypesExtensions",id:"reference/Mirage.Serialization/UnityTypesExtensions",title:"UnityTypesExtensions",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/UnityTypesExtensions.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/UnityTypesExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/UnityTypesExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/UnityTypesExtensions.md",tags:[],version:"current",frontMatter:{id:"UnityTypesExtensions",title:"UnityTypesExtensions"},sidebar:"api",previous:{title:"SystemTypesExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/SystemTypesExtensions"},next:{title:"VarDoublePacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarDoublePacker"}},o={},k=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"WriteVector2(NetworkWriter, Vector2)",id:"writevector2networkwriter-vector2",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"WriteVector3(NetworkWriter, Vector3)",id:"writevector3networkwriter-vector3",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"WriteVector4(NetworkWriter, Vector4)",id:"writevector4networkwriter-vector4",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"WriteVector2Int(NetworkWriter, Vector2Int)",id:"writevector2intnetworkwriter-vector2int",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"WriteVector3Int(NetworkWriter, Vector3Int)",id:"writevector3intnetworkwriter-vector3int",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"WriteColor(NetworkWriter, Color)",id:"writecolornetworkwriter-color",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"WriteColor32(NetworkWriter, Color32)",id:"writecolor32networkwriter-color32",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"WriteRect(NetworkWriter, Rect)",id:"writerectnetworkwriter-rect",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"WritePlane(NetworkWriter, Plane)",id:"writeplanenetworkwriter-plane",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"WriteRay(NetworkWriter, Ray)",id:"writeraynetworkwriter-ray",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"WriteMatrix4X4(NetworkWriter, Matrix4x4)",id:"writematrix4x4networkwriter-matrix4x4",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Parameters",id:"parameters-10",level:5},{value:"ReadVector2(NetworkReader)",id:"readvector2networkreader",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters-11",level:5},{value:"Returns",id:"returns",level:5},{value:"ReadVector3(NetworkReader)",id:"readvector3networkreader",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Parameters",id:"parameters-12",level:5},{value:"Returns",id:"returns-1",level:5},{value:"ReadVector4(NetworkReader)",id:"readvector4networkreader",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Parameters",id:"parameters-13",level:5},{value:"Returns",id:"returns-2",level:5},{value:"ReadVector2Int(NetworkReader)",id:"readvector2intnetworkreader",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Parameters",id:"parameters-14",level:5},{value:"Returns",id:"returns-3",level:5},{value:"ReadVector3Int(NetworkReader)",id:"readvector3intnetworkreader",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Parameters",id:"parameters-15",level:5},{value:"Returns",id:"returns-4",level:5},{value:"ReadColor(NetworkReader)",id:"readcolornetworkreader",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Parameters",id:"parameters-16",level:5},{value:"Returns",id:"returns-5",level:5},{value:"ReadColor32(NetworkReader)",id:"readcolor32networkreader",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Parameters",id:"parameters-17",level:5},{value:"Returns",id:"returns-6",level:5},{value:"ReadRect(NetworkReader)",id:"readrectnetworkreader",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"Parameters",id:"parameters-18",level:5},{value:"Returns",id:"returns-7",level:5},{value:"ReadPlane(NetworkReader)",id:"readplanenetworkreader",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"Parameters",id:"parameters-19",level:5},{value:"Returns",id:"returns-8",level:5},{value:"ReadRay(NetworkReader)",id:"readraynetworkreader",level:4},{value:"Declaration",id:"declaration-20",level:5},{value:"Parameters",id:"parameters-20",level:5},{value:"Returns",id:"returns-9",level:5},{value:"ReadMatrix4x4(NetworkReader)",id:"readmatrix4x4networkreader",level:4},{value:"Declaration",id:"declaration-21",level:5},{value:"Parameters",id:"parameters-21",level:5},{value:"Returns",id:"returns-10",level:5}],p={toc:k};function m(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-unitytypesextensions"},"Class UnityTypesExtensions"),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,l.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Show")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static class UnityTypesExtensions\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"writevector2networkwriter-vector2"},"WriteVector2(NetworkWriter, Vector2)"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteVector2(this NetworkWriter writer, Vector2 value)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,l.kt)("td",{parentName:"tr",align:null},"writer"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Vector2"),(0,l.kt)("td",{parentName:"tr",align:null},"value"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"writevector3networkwriter-vector3"},"WriteVector3(NetworkWriter, Vector3)"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteVector3(this NetworkWriter writer, Vector3 value)\n")),(0,l.kt)("h5",{id:"parameters-1"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,l.kt)("td",{parentName:"tr",align:null},"writer"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Vector3"),(0,l.kt)("td",{parentName:"tr",align:null},"value"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"writevector4networkwriter-vector4"},"WriteVector4(NetworkWriter, Vector4)"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteVector4(this NetworkWriter writer, Vector4 value)\n")),(0,l.kt)("h5",{id:"parameters-2"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,l.kt)("td",{parentName:"tr",align:null},"writer"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Vector4"),(0,l.kt)("td",{parentName:"tr",align:null},"value"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"writevector2intnetworkwriter-vector2int"},"WriteVector2Int(NetworkWriter, Vector2Int)"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteVector2Int(this NetworkWriter writer, Vector2Int value)\n")),(0,l.kt)("h5",{id:"parameters-3"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,l.kt)("td",{parentName:"tr",align:null},"writer"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Vector2Int"),(0,l.kt)("td",{parentName:"tr",align:null},"value"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"writevector3intnetworkwriter-vector3int"},"WriteVector3Int(NetworkWriter, Vector3Int)"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteVector3Int(this NetworkWriter writer, Vector3Int value)\n")),(0,l.kt)("h5",{id:"parameters-4"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,l.kt)("td",{parentName:"tr",align:null},"writer"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Vector3Int"),(0,l.kt)("td",{parentName:"tr",align:null},"value"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"writecolornetworkwriter-color"},"WriteColor(NetworkWriter, Color)"),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteColor(this NetworkWriter writer, Color value)\n")),(0,l.kt)("h5",{id:"parameters-5"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,l.kt)("td",{parentName:"tr",align:null},"writer"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Color"),(0,l.kt)("td",{parentName:"tr",align:null},"value"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"writecolor32networkwriter-color32"},"WriteColor32(NetworkWriter, Color32)"),(0,l.kt)("h5",{id:"declaration-6"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteColor32(this NetworkWriter writer, Color32 value)\n")),(0,l.kt)("h5",{id:"parameters-6"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,l.kt)("td",{parentName:"tr",align:null},"writer"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Color32"),(0,l.kt)("td",{parentName:"tr",align:null},"value"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"writerectnetworkwriter-rect"},"WriteRect(NetworkWriter, Rect)"),(0,l.kt)("h5",{id:"declaration-7"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteRect(this NetworkWriter writer, Rect value)\n")),(0,l.kt)("h5",{id:"parameters-7"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,l.kt)("td",{parentName:"tr",align:null},"writer"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Rect"),(0,l.kt)("td",{parentName:"tr",align:null},"value"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"writeplanenetworkwriter-plane"},"WritePlane(NetworkWriter, Plane)"),(0,l.kt)("h5",{id:"declaration-8"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WritePlane(this NetworkWriter writer, Plane value)\n")),(0,l.kt)("h5",{id:"parameters-8"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,l.kt)("td",{parentName:"tr",align:null},"writer"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Plane"),(0,l.kt)("td",{parentName:"tr",align:null},"value"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"writeraynetworkwriter-ray"},"WriteRay(NetworkWriter, Ray)"),(0,l.kt)("h5",{id:"declaration-9"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteRay(this NetworkWriter writer, Ray value)\n")),(0,l.kt)("h5",{id:"parameters-9"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,l.kt)("td",{parentName:"tr",align:null},"writer"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Ray"),(0,l.kt)("td",{parentName:"tr",align:null},"value"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"writematrix4x4networkwriter-matrix4x4"},"WriteMatrix4X4(NetworkWriter, Matrix4x4)"),(0,l.kt)("h5",{id:"declaration-10"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteMatrix4X4(this NetworkWriter writer, Matrix4x4 value)\n")),(0,l.kt)("h5",{id:"parameters-10"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,l.kt)("td",{parentName:"tr",align:null},"writer"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Matrix4x4"),(0,l.kt)("td",{parentName:"tr",align:null},"value"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readvector2networkreader"},"ReadVector2(NetworkReader)"),(0,l.kt)("h5",{id:"declaration-11"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static Vector2 ReadVector2(this NetworkReader reader)\n")),(0,l.kt)("h5",{id:"parameters-11"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,l.kt)("td",{parentName:"tr",align:null},"reader"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Vector2"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readvector3networkreader"},"ReadVector3(NetworkReader)"),(0,l.kt)("h5",{id:"declaration-12"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static Vector3 ReadVector3(this NetworkReader reader)\n")),(0,l.kt)("h5",{id:"parameters-12"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,l.kt)("td",{parentName:"tr",align:null},"reader"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-1"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Vector3"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readvector4networkreader"},"ReadVector4(NetworkReader)"),(0,l.kt)("h5",{id:"declaration-13"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static Vector4 ReadVector4(this NetworkReader reader)\n")),(0,l.kt)("h5",{id:"parameters-13"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,l.kt)("td",{parentName:"tr",align:null},"reader"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-2"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Vector4"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readvector2intnetworkreader"},"ReadVector2Int(NetworkReader)"),(0,l.kt)("h5",{id:"declaration-14"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static Vector2Int ReadVector2Int(this NetworkReader reader)\n")),(0,l.kt)("h5",{id:"parameters-14"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,l.kt)("td",{parentName:"tr",align:null},"reader"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-3"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Vector2Int"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readvector3intnetworkreader"},"ReadVector3Int(NetworkReader)"),(0,l.kt)("h5",{id:"declaration-15"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static Vector3Int ReadVector3Int(this NetworkReader reader)\n")),(0,l.kt)("h5",{id:"parameters-15"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,l.kt)("td",{parentName:"tr",align:null},"reader"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-4"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Vector3Int"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readcolornetworkreader"},"ReadColor(NetworkReader)"),(0,l.kt)("h5",{id:"declaration-16"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static Color ReadColor(this NetworkReader reader)\n")),(0,l.kt)("h5",{id:"parameters-16"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,l.kt)("td",{parentName:"tr",align:null},"reader"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-5"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Color"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readcolor32networkreader"},"ReadColor32(NetworkReader)"),(0,l.kt)("h5",{id:"declaration-17"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static Color32 ReadColor32(this NetworkReader reader)\n")),(0,l.kt)("h5",{id:"parameters-17"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,l.kt)("td",{parentName:"tr",align:null},"reader"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-6"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Color32"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readrectnetworkreader"},"ReadRect(NetworkReader)"),(0,l.kt)("h5",{id:"declaration-18"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static Rect ReadRect(this NetworkReader reader)\n")),(0,l.kt)("h5",{id:"parameters-18"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,l.kt)("td",{parentName:"tr",align:null},"reader"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-7"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Rect"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readplanenetworkreader"},"ReadPlane(NetworkReader)"),(0,l.kt)("h5",{id:"declaration-19"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static Plane ReadPlane(this NetworkReader reader)\n")),(0,l.kt)("h5",{id:"parameters-19"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,l.kt)("td",{parentName:"tr",align:null},"reader"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-8"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Plane"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readraynetworkreader"},"ReadRay(NetworkReader)"),(0,l.kt)("h5",{id:"declaration-20"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static Ray ReadRay(this NetworkReader reader)\n")),(0,l.kt)("h5",{id:"parameters-20"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,l.kt)("td",{parentName:"tr",align:null},"reader"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-9"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Ray"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"readmatrix4x4networkreader"},"ReadMatrix4x4(NetworkReader)"),(0,l.kt)("h5",{id:"declaration-21"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public static Matrix4x4 ReadMatrix4x4(this NetworkReader reader)\n")),(0,l.kt)("h5",{id:"parameters-21"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,l.kt)("td",{parentName:"tr",align:null},"reader"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-10"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Matrix4x4"),(0,l.kt)("td",{parentName:"tr",align:null})))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d1ac8158.d7a15c16.js b/assets/js/d1ac8158.d7a15c16.js new file mode 100644 index 00000000000..9d125b4c415 --- /dev/null +++ b/assets/js/d1ac8158.d7a15c16.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5328],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>b});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var i=r.createContext({}),l=function(e){var t=r.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},p=function(e){var t=l(e.components);return r.createElement(i.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,s=e.originalType,i=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),h=l(n),b=a,u=h["".concat(i,".").concat(b)]||h[b]||d[b]||s;return n?r.createElement(u,o(o({ref:t},p),{},{components:n})):r.createElement(u,o({ref:t},p))}));function b(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var s=n.length,o=new Array(s);o[0]=h;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var l=2;l<s;l++)o[l]=n[l];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}h.displayName="MDXCreateElement"},9373:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var r=n(87462),a=(n(67294),n(3905));const s={sidebar_position:8,title:"Scene Objects"},o="Scene Game Objects",c={unversionedId:"guides/game-objects/scene-objects",id:"guides/game-objects/scene-objects",title:"Scene Objects",description:"There are two types of networked game objects in Mirage\u2019s multiplayer system:",source:"@site/docs/guides/game-objects/scene-objects.md",sourceDirName:"guides/game-objects",slug:"/guides/game-objects/scene-objects",permalink:"/Mirage/docs/guides/game-objects/scene-objects",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/game-objects/scene-objects.md",tags:[],version:"current",sidebarPosition:8,frontMatter:{sidebar_position:8,title:"Scene Objects"},sidebar:"docs",previous:{title:"Spawn Object - Pooling",permalink:"/Mirage/docs/guides/game-objects/spawn-object-pooling"},next:{title:"Pickups, Drops, and Child Objects",permalink:"/Mirage/docs/guides/game-objects/pickup-drop-child"}},i={},l=[],p={toc:l};function d(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"scene-game-objects"},"Scene Game Objects"),(0,a.kt)("p",null,"There are two types of networked game objects in Mirage\u2019s multiplayer system:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Those that are spawned from prefabs at runtime"),(0,a.kt)("li",{parentName:"ul"},"Those that are saved as part of a Scene")),(0,a.kt)("p",null,"Game objects that are spawned from prefabs at runtime must have their prefabs registered in the ClientObjectManager and are instantiated on client when they are spawned on the server. See ",(0,a.kt)("a",{parentName:"p",href:"/Mirage/docs/guides/game-objects/spawn-object"},"Spawn objects")," for more on spawning from prefabs."),(0,a.kt)("p",null,"Networked game objects that you save as part of a Scene are handled differently, as they already exist in the Scene when it is loaded. After loading a new scene ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/ClientObjectManager#preparetospawnsceneobjects"},"PrepareToSpawnSceneObjects")," must be called on the client and ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/ServerObjectManager#spawnsceneobjects"},"SpawnSceneObjects")," on the server. These functions will cause Mirage to find all scene objects and then spawn them for networking. These objects will then have their netId and other network values set once the server has send the SpawnMessage for that object. You may want to disable scene objects to avoid them being in the scene until they are spawned. "),(0,a.kt)("p",null,"Saving networked game objects in your Scene has some benefits:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"They are loaded with the level"),(0,a.kt)("li",{parentName:"ul"},"They can be modify in the scene, rather than requiring multiple prefabs for small changes"),(0,a.kt)("li",{parentName:"ul"},"Other game object instances in the Scene can reference them, which can avoid you having to use code to find the game objects and make references to them up at runtime.")),(0,a.kt)("p",null,"Networked scene objects are spawned by the ClientObjectManager and ServerObjectManager and act like any other dynamically spawned game objects. Mirage synchronizes them with updates ClientRPC calls."),(0,a.kt)("p",null,"If a Scene game object is destroyed on the server before a client joins the game, then it is never spawned on new clients. It will be left in the state it is when you were editing the scene."),(0,a.kt)("p",null,"After a client has connected and you have called ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/ServerObjectManager#addcharacterinetworkplayer-networkidentity"},"AddCharacter")," or ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/ServerObjectManager#spawnvisibleobjectsinetworkplayer-boolean"},"SpawnVisibleObjects"),", the client is sent a spawn message for each of the Scene objects that exist on the server, that are visible to that client. This message causes the game object on the client to be enabled and has the latest state of that game object from the server in it. This means that only game objects that are visible to the client and not destroyed on the server, are spawned on the client. Like regular non-Scene objects, these Scene objects are started with the latest state when the client joins the game."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d32d2739.b0784099.js b/assets/js/d32d2739.b0784099.js new file mode 100644 index 00000000000..35259039238 --- /dev/null +++ b/assets/js/d32d2739.b0784099.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[972],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>u});var r=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var c=r.createContext({}),l=function(e){var n=r.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},p=function(e){var n=l(e.components);return r.createElement(c.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},h=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),h=l(t),u=o,m=h["".concat(c,".").concat(u)]||h[u]||d[u]||a;return t?r.createElement(m,i(i({ref:n},p),{},{components:t})):r.createElement(m,i({ref:n},p))}));function u(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,i=new Array(a);i[0]=h;var s={};for(var c in n)hasOwnProperty.call(n,c)&&(s[c]=n[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,i[1]=s;for(var l=2;l<a;l++)i[l]=t[l];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}h.displayName="MDXCreateElement"},3515:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>l});var r=t(87462),o=(t(67294),t(3905));const a={},i="Network Scene Manager",s={unversionedId:"components/network-scene-manager",id:"components/network-scene-manager",title:"Network Scene Manager",description:"The Network Scene Manager component controls the Unity Scenes running over the network.",source:"@site/docs/components/network-scene-manager.md",sourceDirName:"components",slug:"/components/network-scene-manager",permalink:"/Mirage/docs/components/network-scene-manager",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/network-scene-manager.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Scene Checker",permalink:"/Mirage/docs/components/network-scene-checker"},next:{title:"Network Start Position",permalink:"/Mirage/docs/components/network-start-position"}},c={},l=[{value:"How does it work",id:"how-does-it-work",level:2},{value:"How do I change scenes",id:"how-do-i-change-scenes",level:2}],p={toc:l};function d(e){let{components:n,...a}=e;return(0,o.kt)("wrapper",(0,r.Z)({},p,a,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"network-scene-manager"},"Network Scene Manager"),(0,o.kt)("p",null,"The Network Scene Manager component controls the Unity Scenes running over the network."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Network Scene Checker component",src:t(69957).Z,width:"672",height:"477"})),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Client Change Scene"),(0,o.kt)("br",{parentName:"li"}),"The event that fires before the client changes scenes."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Client Changed Scene"),(0,o.kt)("br",{parentName:"li"}),"The event that fires after the client changes scenes."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Server Change Scene"),(0,o.kt)("br",{parentName:"li"}),"The event that fires before the server changes scenes."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Server Changed Scene"),(0,o.kt)("br",{parentName:"li"}),"The event that fires after the server changes scenes.")),(0,o.kt)("p",null,"The Network Scene Manager allows the user to change network scenes during runtime. There are three types of scene changes broadly supported by Mirage: Normal, Additive Load, and Additive Unload."),(0,o.kt)("p",null,"Normal: In a Normal scene change all currently loaded assets are unspawned and unloaded. The new scene is loaded and set active. Then all of the scene or instance network objects can be spawned. Under this operation, the client waits for the server to finish before spawning starts to prevent any race conditions."),(0,o.kt)("p",null,"Additive Load: The specified scene will be loaded on the Server and Client in addition to the currently active network scene."),(0,o.kt)("p",null,"Additive Unload: Unload a previously loaded additive scene from the Server and Client."),(0,o.kt)("h2",{id:"how-does-it-work"},"How does it work"),(0,o.kt)("p",null,"When the NetworkServer starts it assumes the initial scene is the one you plan on running the network on. If this is not correct you can either change scenes before starting the network or after. The order on the server will likely only matter to you if you are running in Host mode."),(0,o.kt)("p",null,"Once a NetworkClient connects and passes authentication the NetworkServer will send a message notifying them of the currently active scene and any additive scenes they should load. Once that task is complete then the server will start spawning network objects on the NetworkClient."),(0,o.kt)("h2",{id:"how-do-i-change-scenes"},"How do I change scenes"),(0,o.kt)("p",null,"If the scene change involves network objects then it is strongly recommended to make any scene changes via the NetworkSceneManager. Doing so via Unity's SceneManager directly may function but give undesired results with network objects."),(0,o.kt)("p",null,"To do a network scene change you initiate the process via the server NetworkSceneManager via:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},'sceneManager.ChangeServerScene("Assets/GameScene.unity");\n')),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"You don't have to provide the full scene path when initiating a scene change. But the 'NetworkSceneName' will be saved as the full path.")))}d.isMDXComponent=!0},69957:(e,n,t)=>{t.d(n,{Z:()=>r});const r=t.p+"assets/images/NetworkSceneManager-7d9b531c9491d703c5640cd4edcaaa5e.png"}}]); \ No newline at end of file diff --git a/assets/js/d36d63ca.0fa8a4e0.js b/assets/js/d36d63ca.0fa8a4e0.js new file mode 100644 index 00000000000..ec34419f804 --- /dev/null +++ b/assets/js/d36d63ca.0fa8a4e0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6876],{3905:(e,r,t)=>{t.d(r,{Zo:()=>u,kt:()=>y});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function c(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?c(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):c(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function o(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},c=Object.keys(e);for(n=0;n<c.length;n++)t=c[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)t=c[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=n.createContext({}),s=function(e){var r=n.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},u=function(e){var r=s(e.components);return n.createElement(l.Provider,{value:r},e.children)},p={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},m=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,c=e.originalType,l=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),m=s(t),y=a,f=m["".concat(l,".").concat(y)]||m[y]||p[y]||c;return t?n.createElement(f,i(i({ref:r},u),{},{components:t})):n.createElement(f,i({ref:r},u))}));function y(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var c=t.length,i=new Array(c);i[0]=m;var o={};for(var l in r)hasOwnProperty.call(r,l)&&(o[l]=r[l]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var s=2;s<c;s++)i[s]=t[s];return n.createElement.apply(null,i)}return n.createElement.apply(null,t)}m.displayName="MDXCreateElement"},23708:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>c,metadata:()=>o,toc:()=>s});var n=t(87462),a=(t(67294),t(3905));const c={id:"GameObjectSyncvar",title:"GameObjectSyncvar"},i="Struct GameObjectSyncvar",o={unversionedId:"reference/Mirage/GameObjectSyncvar",id:"reference/Mirage/GameObjectSyncvar",title:"GameObjectSyncvar",description:"backing struct for a NetworkIdentity when used as a syncvar",source:"@site/docs/reference/Mirage/GameObjectSyncvar.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/GameObjectSyncvar",permalink:"/Mirage/docs/reference/Mirage/GameObjectSyncvar",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/GameObjectSyncvar.md",tags:[],version:"current",frontMatter:{id:"GameObjectSyncvar",title:"GameObjectSyncvar"},sidebar:"api",previous:{title:"GameObjectSerializers",permalink:"/Mirage/docs/reference/Mirage/GameObjectSerializers"},next:{title:"HasAuthorityAttribute",permalink:"/Mirage/docs/reference/Mirage/HasAuthorityAttribute"}},l={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"Value",id:"value",level:4},{value:"Declaration",id:"declaration",level:5}],u={toc:s};function p(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-gameobjectsyncvar"},"Struct GameObjectSyncvar"),(0,a.kt)("p",null,"backing struct for a NetworkIdentity when used as a syncvar\nthe weaver will replace the syncvar with this struct."),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct GameObjectSyncvar\n")),(0,a.kt)("h3",{id:"properties"},"Properties"),(0,a.kt)("h4",{id:"value"},"Value"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public GameObject Value { get; set; }\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d3ed2569.ad48ecc1.js b/assets/js/d3ed2569.ad48ecc1.js new file mode 100644 index 00000000000..74a5cf5ce11 --- /dev/null +++ b/assets/js/d3ed2569.ad48ecc1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2129],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>h});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),u=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=u(e.components);return n.createElement(l.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=u(r),h=a,m=d["".concat(l,".").concat(h)]||d[h]||c[h]||o;return r?n.createElement(m,i(i({ref:t},p),{},{components:r})):n.createElement(m,i({ref:t},p))}));function h(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=d;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:a,i[1]=s;for(var u=2;u<o;u++)i[u]=r[u];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},58196:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>c,frontMatter:()=>o,metadata:()=>s,toc:()=>u});var n=r(87462),a=(r(67294),r(3905));const o={sidebar_position:4},i="Attributes",s={unversionedId:"guides/attributes",id:"guides/attributes",title:"Attributes",description:"Networking attributes are added to members of NetworkBehaviour scripts to tell Mirage to do different things.",source:"@site/docs/guides/attributes.md",sourceDirName:"guides",slug:"/guides/attributes",permalink:"/Mirage/docs/guides/attributes",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/attributes.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"docs",previous:{title:"About IDs",permalink:"/Mirage/docs/guides/about-ids"},next:{title:"Clock Synchronization",permalink:"/Mirage/docs/guides/clock-sync"}},l={},u=[{value:"RPC Attributes",id:"rpc-attributes",level:2},{value:"Block Methods Invokes",id:"block-methods-invokes",level:2},{value:"Available Attributes:",id:"available-attributes",level:4},{value:"Examples:",id:"examples",level:4}],p={toc:u};function c(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"attributes"},"Attributes"),(0,a.kt)("p",null,"Networking attributes are added to members of ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," scripts to tell Mirage to do different things."),(0,a.kt)("p",null,"There are 4 types of attributes that Mirage has:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("a",{parentName:"strong",href:"#rpc-attributes"},"RPC Attributes")),": Cause a method to send a network message so that the body of the method is invoked on either the server or client."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("a",{parentName:"strong",href:"#block-methods-invokes"},"Block methods invokes")),": Attributes used to restrict method invocation to specific contexts."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("a",{parentName:"strong",href:"/docs/guides/sync/sync-var"},"SyncVar")),": Add to Fields to cause their value to be automatically synced to clients."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("a",{parentName:"strong",href:"/docs/guides/bit-packing"},"Bit Packing")),": These attributes modify how values are written, providing an easy way to compress values before they are sent over the network. They can be applied to Fields and method Parameters.")),(0,a.kt)("h2",{id:"rpc-attributes"},"RPC Attributes"),(0,a.kt)("p",null,"Full details on RPC can be found on the ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions"},"Remote Actions")," page."),(0,a.kt)("p",null,"Both Rpc attributes support setting the channel to Reliable or Unreliable."),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("p",{parentName:"admonition"},"When using abstract or virtual methods, the attributes need to be applied to the override methods too.")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},(0,a.kt)("a",{parentName:"strong",href:"/docs/reference/Mirage/ClientAttribute"},"ClientRpcAttribute")),(0,a.kt)("br",{parentName:"p"}),"\n","The ",(0,a.kt)("inlineCode",{parentName:"p"},"ClientRpcAttribute")," allows the server to use a Remote Procedure Call (RPC) to run a function on specific clients, with options to target the owner, all observers, or a specified player.\nSee also: ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/client-rpc"},"ClientRpc"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},(0,a.kt)("a",{parentName:"strong",href:"/docs/reference/Mirage/ServerRpcAttribute"},"ServerRpcAttribute")),(0,a.kt)("br",{parentName:"p"}),"\n","The ",(0,a.kt)("inlineCode",{parentName:"p"},"ServerRpcAttribute")," is used when you want to call a function on the server from a client. Make sure to validate the input on the server. Note that you cannot call this attribute from the server itself. You can use this attribute as a wrapper around another function, allowing you to call it from the server as well. Additionally, you can return values from functions marked with this attribute.\nSee also: ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/server-rpc"},"ServerRpc")))),(0,a.kt)("h2",{id:"block-methods-invokes"},"Block Methods Invokes"),(0,a.kt)("p",null,"These attributes can be added to methods to block them from being invoked in the wrong place. These attributes can only be used in ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkBehaviour")," classes and when the object is spawned. If the object is not spawned, all the flags like ",(0,a.kt)("inlineCode",{parentName:"p"},"IsServer")," will be false so will block the methods even if the server is running."),(0,a.kt)("p",null,"By default, methods with these attributes will throw a ",(0,a.kt)("inlineCode",{parentName:"p"},"MethodInvocationException")," if invoked improperly. However, you can add ",(0,a.kt)("inlineCode",{parentName:"p"},"error = false")," to return instead of throwing an exception."),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("p",{parentName:"admonition"},"When a method returns early due to a blocked invocation, the method will return default values for the return value or out parameters.")),(0,a.kt)("p",null,"These attributes can be used for Unity game loop methods like ",(0,a.kt)("inlineCode",{parentName:"p"},"Start"),", ",(0,a.kt)("inlineCode",{parentName:"p"},"Update")," or ",(0,a.kt)("inlineCode",{parentName:"p"},"OnCollisionEnter"),", as well as other implemented methods that need to be restricted to certain contexts."),(0,a.kt)("h4",{id:"available-attributes"},"Available Attributes:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("a",{parentName:"strong",href:"#server-attribute"},"ServerAttribute"),":")," Methods can only be invoked on the server."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("a",{parentName:"strong",href:"#client-attribute"},"ClientAttribute"),":")," Methods can only be invoked on the client."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("a",{parentName:"strong",href:"#has-authority-attribute"},"HasAuthorityAttribute"),":")," Methods can only be invoked on the client when the player has authority of the object. See: ",(0,a.kt)("a",{parentName:"li",href:"/docs/guides/authority"},"Authority")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("a",{parentName:"strong",href:"#local-player-attribute"},"LocalPlayerAttribute"),":")," Methods can only be invoked on the client when the object is the local player. See: ",(0,a.kt)("a",{parentName:"li",href:"/docs/guides/game-objects/spawn-player"},"Authority")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},(0,a.kt)("a",{parentName:"strong",href:"#network-method-attribute"},"NetworkMethodAttribute"),":")," Methods can only be invoked based on the flags set in the attribute. For example, ",(0,a.kt)("inlineCode",{parentName:"li"},"NetworkFlags.Server | NetworkFlags.HasAuthority")," allows the method to be called on the server ",(0,a.kt)("strong",{parentName:"li"},"OR")," on the client with authority.")),(0,a.kt)("h4",{id:"examples"},"Examples:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[Server]\nvoid SpawnCoin() \n{\n // This method is only allowed to be invoked on the server.\n}\n")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[NetworkMethod(NetworkFlags.Server | NetworkFlags.NotActive)]\npublic void StartGame()\n{\n // This method will run on the server or in single-player mode.\n // It will only be blocked if the client is active.\n}\n")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d3f389b2.fdec8b89.js b/assets/js/d3f389b2.fdec8b89.js new file mode 100644 index 00000000000..10e06c48f43 --- /dev/null +++ b/assets/js/d3f389b2.fdec8b89.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5498],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=n.createContext({}),c=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},s=function(e){var t=c(e.components);return n.createElement(u.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,u=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),p=c(r),d=a,g=p["".concat(u,".").concat(d)]||p[d]||m[d]||i;return r?n.createElement(g,o(o({ref:t},s),{},{components:r})):n.createElement(g,o({ref:t},s))}));function d(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=p;var l={};for(var u in t)hasOwnProperty.call(t,u)&&(l[u]=t[u]);l.originalType=e,l.mdxType="string"==typeof e?e:a,o[1]=l;for(var c=2;c<i;c++)o[c]=r[c];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},35946:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const i={id:"BitCountFromRangeAttribute",title:"BitCountFromRangeAttribute"},o="Class BitCountFromRangeAttribute",l={unversionedId:"reference/Mirage.Serialization/BitCountFromRangeAttribute",id:"reference/Mirage.Serialization/BitCountFromRangeAttribute",title:"BitCountFromRangeAttribute",description:"Calculates bitcount from then given min/max values and then packs using",source:"@site/docs/reference/Mirage.Serialization/BitCountFromRangeAttribute.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/BitCountFromRangeAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/BitCountFromRangeAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/BitCountFromRangeAttribute.md",tags:[],version:"current",frontMatter:{id:"BitCountFromRangeAttribute",title:"BitCountFromRangeAttribute"},sidebar:"api",previous:{title:"BitCountAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/BitCountAttribute"},next:{title:"BitHelper",permalink:"/Mirage/docs/reference/Mirage.Serialization/BitHelper"}},u={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"BitCountFromRangeAttribute(Int32, Int32)",id:"bitcountfromrangeattributeint32-int32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5}],s={toc:c};function m(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-bitcountfromrangeattribute"},"Class BitCountFromRangeAttribute"),(0,a.kt)("p",null,"Calculates bitcount from then given min/max values and then packs using\nAlso See: Bit Packing Documentation"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,a.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter)]\npublic class BitCountFromRangeAttribute : Attribute, _Attribute\n")),(0,a.kt)("h3",{id:"constructors"},"Constructors"),(0,a.kt)("h4",{id:"bitcountfromrangeattributeint32-int32"},"BitCountFromRangeAttribute(Int32, Int32)"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public BitCountFromRangeAttribute(int min, int max)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,a.kt)("td",{parentName:"tr",align:null},"min"),(0,a.kt)("td",{parentName:"tr",align:null},"minimum possible int value")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,a.kt)("td",{parentName:"tr",align:null},"max"),(0,a.kt)("td",{parentName:"tr",align:null},"minimum possible max value")))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d4da1ce9.aa8801fe.js b/assets/js/d4da1ce9.aa8801fe.js new file mode 100644 index 00000000000..5488a38b310 --- /dev/null +++ b/assets/js/d4da1ce9.aa8801fe.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6632],{3905:(e,t,r)=>{r.d(t,{Zo:()=>g,kt:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var o=a.createContext({}),c=function(e){var t=a.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},g=function(e){var t=c(e.components);return a.createElement(o.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},y=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,g=s(e,["components","mdxType","originalType","parentName"]),y=c(r),u=n,m=y["".concat(o,".").concat(u)]||y[u]||p[u]||l;return r?a.createElement(m,i(i({ref:t},g),{},{components:r})):a.createElement(m,i({ref:t},g))}));function u(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=y;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s.mdxType="string"==typeof e?e:n,i[1]=s;for(var c=2;c<l;c++)i[c]=r[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}y.displayName="MDXCreateElement"},4168:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const l={id:"MessageDelegateWithPlayer-1",title:"MessageDelegateWithPlayer<T>"},i="Delegate MessageDelegateWithPlayer<T>",s={unversionedId:"reference/Mirage/MessageDelegateWithPlayer-1",id:"reference/Mirage/MessageDelegateWithPlayer-1",title:"MessageDelegateWithPlayer<T>",description:"Syntax",source:"@site/docs/reference/Mirage/MessageDelegateWithPlayer-1.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/MessageDelegateWithPlayer-1",permalink:"/Mirage/docs/reference/Mirage/MessageDelegateWithPlayer-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/MessageDelegateWithPlayer-1.md",tags:[],version:"current",frontMatter:{id:"MessageDelegateWithPlayer-1",title:"MessageDelegateWithPlayer<T>"},sidebar:"api",previous:{title:"MessageDelegateAsync<T>",permalink:"/Mirage/docs/reference/Mirage/MessageDelegateAsync-1"},next:{title:"MessageDelegateWithPlayerAsync<T>",permalink:"/Mirage/docs/reference/Mirage/MessageDelegateWithPlayerAsync-1"}},o={},c=[{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5}],g={toc:c};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},g,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"delegate-messagedelegatewithplayert"},"Delegate MessageDelegateWithPlayer","<","T",">"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public delegate void MessageDelegateWithPlayer<in T>(INetworkPlayer player, T message);\n")),(0,n.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d5202bd8.9318bdfd.js b/assets/js/d5202bd8.9318bdfd.js new file mode 100644 index 00000000000..99e2371c2d3 --- /dev/null +++ b/assets/js/d5202bd8.9318bdfd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6378],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>m});var a=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,a,o=function(e,t){if(null==e)return{};var r,a,o={},n=Object.keys(e);for(a=0;a<n.length;a++)r=n[a],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)r=n[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=a.createContext({}),c=function(e){var t=a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},s=function(e){var t=c(e.components);return a.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var r=e.components,o=e.mdxType,n=e.originalType,p=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),d=c(r),m=o,g=d["".concat(p,".").concat(m)]||d[m]||u[m]||n;return r?a.createElement(g,l(l({ref:t},s),{},{components:r})):a.createElement(g,l({ref:t},s))}));function m(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=r.length,l=new Array(n);l[0]=d;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i.mdxType="string"==typeof e?e:o,l[1]=i;for(var c=2;c<n;c++)l[c]=r[c];return a.createElement.apply(null,l)}return a.createElement.apply(null,r)}d.displayName="MDXCreateElement"},85972:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>u,frontMatter:()=>n,metadata:()=>i,toc:()=>c});var a=r(87462),o=(r(67294),r(3905));const n={id:"AutoPool-1.Wrapper",title:"AutoPool<T>.Wrapper"},l="Class AutoPool<T>.Wrapper",i={unversionedId:"reference/Mirage/AutoPool-1.Wrapper",id:"reference/Mirage/AutoPool-1.Wrapper",title:"AutoPool<T>.Wrapper",description:"Inheritance",source:"@site/docs/reference/Mirage/AutoPool-1.Wrapper.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/AutoPool-1.Wrapper",permalink:"/Mirage/docs/reference/Mirage/AutoPool-1.Wrapper",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/AutoPool-1.Wrapper.md",tags:[],version:"current",frontMatter:{id:"AutoPool-1.Wrapper",title:"AutoPool<T>.Wrapper"},sidebar:"api",previous:{title:"AuthorityChanged",permalink:"/Mirage/docs/reference/Mirage/AuthorityChanged"},next:{title:"AutoPool<T>",permalink:"/Mirage/docs/reference/Mirage/AutoPool-1"}},p={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"Wrapper(Pool<AutoPool<T>.Wrapper>)",id:"wrapperpoolautopooltwrapper",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"Item",id:"item",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Methods",id:"methods",level:3},{value:"Dispose()",id:"dispose",level:4},{value:"Declaration",id:"declaration-2",level:5}],s={toc:c};function u(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,a.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"class-autopooltwrapper"},"Class AutoPool","<","T",">",".Wrapper"),(0,o.kt)("div",{class:"inheritance"},(0,o.kt)("h5",{id:"inheritance"},"Inheritance"),(0,o.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,o.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,o.kt)("details",null,(0,o.kt)("summary",null,"Show")),(0,o.kt)("h5",{id:"syntax"},"Syntax"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"public class Wrapper : IDisposable\n")),(0,o.kt)("h3",{id:"constructors"},"Constructors"),(0,o.kt)("h4",{id:"wrapperpoolautopooltwrapper"},"Wrapper(Pool","<","AutoPool","<","T",">",".Wrapper",">",")"),(0,o.kt)("h5",{id:"declaration"},"Declaration"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"public Wrapper(Pool<AutoPool<T>.Wrapper> pool)\n")),(0,o.kt)("h5",{id:"parameters"},"Parameters"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Type"),(0,o.kt)("th",{parentName:"tr",align:null},"Name"),(0,o.kt)("th",{parentName:"tr",align:null},"Description"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.Pool","<","Mirage.AutoPool.Wrapper","<",">",">"),(0,o.kt)("td",{parentName:"tr",align:null},"pool"),(0,o.kt)("td",{parentName:"tr",align:null})))),(0,o.kt)("h3",{id:"fields"},"Fields"),(0,o.kt)("h4",{id:"item"},"Item"),(0,o.kt)("h5",{id:"declaration-1"},"Declaration"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly T Item\n")),(0,o.kt)("h3",{id:"methods"},"Methods"),(0,o.kt)("h4",{id:"dispose"},"Dispose()"),(0,o.kt)("h5",{id:"declaration-2"},"Declaration"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"public void Dispose()\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d5348c33.f0f0c968.js b/assets/js/d5348c33.f0f0c968.js new file mode 100644 index 00000000000..3cdceb4506b --- /dev/null +++ b/assets/js/d5348c33.f0f0c968.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3164],{3905:(t,e,a)=>{a.d(e,{Zo:()=>m,kt:()=>s});var r=a(67294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,r)}return a}function i(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?l(Object(a),!0).forEach((function(e){n(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}function o(t,e){if(null==t)return{};var a,r,n=function(t,e){if(null==t)return{};var a,r,n={},l=Object.keys(t);for(r=0;r<l.length;r++)a=l[r],e.indexOf(a)>=0||(n[a]=t[a]);return n}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(r=0;r<l.length;r++)a=l[r],e.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}var p=r.createContext({}),d=function(t){var e=r.useContext(p),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},m=function(t){var e=d(t.components);return r.createElement(p.Provider,{value:e},t.children)},u={inlineCode:"code",wrapper:function(t){var e=t.children;return r.createElement(r.Fragment,{},e)}},k=r.forwardRef((function(t,e){var a=t.components,n=t.mdxType,l=t.originalType,p=t.parentName,m=o(t,["components","mdxType","originalType","parentName"]),k=d(a),s=n,N=k["".concat(p,".").concat(s)]||k[s]||u[s]||l;return a?r.createElement(N,i(i({ref:e},m),{},{components:a})):r.createElement(N,i({ref:e},m))}));function s(t,e){var a=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var l=a.length,i=new Array(l);i[0]=k;var o={};for(var p in e)hasOwnProperty.call(e,p)&&(o[p]=e[p]);o.originalType=t,o.mdxType="string"==typeof t?t:n,i[1]=o;for(var d=2;d<l;d++)i[d]=a[d];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}k.displayName="MDXCreateElement"},94596:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>p,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var r=a(87462),n=(a(67294),a(3905));const l={id:"NetworkWriter",title:"NetworkWriter"},i="Class NetworkWriter",o={unversionedId:"reference/Mirage.Serialization/NetworkWriter",id:"reference/Mirage.Serialization/NetworkWriter",title:"NetworkWriter",description:"Bit writer, writes values to a buffer on a bit level",source:"@site/docs/reference/Mirage.Serialization/NetworkWriter.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/NetworkWriter",permalink:"/Mirage/docs/reference/Mirage.Serialization/NetworkWriter",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/NetworkWriter.md",tags:[],version:"current",frontMatter:{id:"NetworkWriter",title:"NetworkWriter"},sidebar:"api",previous:{title:"NetworkReaderPool",permalink:"/Mirage/docs/reference/Mirage.Serialization/NetworkReaderPool"},next:{title:"NetworkWriterPool",permalink:"/Mirage/docs/reference/Mirage.Serialization/NetworkWriterPool"}},p={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"NetworkWriter(Int32)",id:"networkwriterint32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"NetworkWriter(Int32, Boolean)",id:"networkwriterint32-boolean",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Properties",id:"properties",level:3},{value:"ByteCapacity",id:"bytecapacity",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"ByteLength",id:"bytelength",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"BitPosition",id:"bitposition",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Methods",id:"methods",level:3},{value:"Finalize()",id:"finalize",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Reset()",id:"reset",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"ToArray()",id:"toarray",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Returns",id:"returns",level:5},{value:"ToArraySegment()",id:"toarraysegment",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Returns",id:"returns-1",level:5},{value:"WriteBoolean(Boolean)",id:"writebooleanboolean",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"WriteBoolean(UInt64)",id:"writebooleanuint64",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"WriteSByte(SByte)",id:"writesbytesbyte",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"WriteByte(Byte)",id:"writebytebyte",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"WriteInt16(Int16)",id:"writeint16int16",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"WriteUInt16(UInt16)",id:"writeuint16uint16",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"WriteInt32(Int32)",id:"writeint32int32",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"WriteUInt32(UInt32)",id:"writeuint32uint32",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"WriteInt64(Int64)",id:"writeint64int64",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Parameters",id:"parameters-10",level:5},{value:"WriteUInt64(UInt64)",id:"writeuint64uint64",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"Parameters",id:"parameters-11",level:5},{value:"WriteSingle(Single)",id:"writesinglesingle",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"Parameters",id:"parameters-12",level:5},{value:"WriteDouble(Double)",id:"writedoubledouble",level:4},{value:"Declaration",id:"declaration-20",level:5},{value:"Parameters",id:"parameters-13",level:5},{value:"Write(UInt64, Int32)",id:"writeuint64-int32",level:4},{value:"Declaration",id:"declaration-21",level:5},{value:"Parameters",id:"parameters-14",level:5},{value:"WriteAtBytePosition(UInt64, Int32, Int32)",id:"writeatbytepositionuint64-int32-int32",level:4},{value:"Declaration",id:"declaration-22",level:5},{value:"Parameters",id:"parameters-15",level:5},{value:"WriteAtPosition(UInt64, Int32, Int32)",id:"writeatpositionuint64-int32-int32",level:4},{value:"Declaration",id:"declaration-23",level:5},{value:"Parameters",id:"parameters-16",level:5},{value:"MoveBitPosition(Int32)",id:"movebitpositionint32",level:4},{value:"Declaration",id:"declaration-24",level:5},{value:"Parameters",id:"parameters-17",level:5},{value:"PadAndCopy<T>(T)",id:"padandcopytt",level:4},{value:"Declaration",id:"declaration-25",level:5},{value:"Parameters",id:"parameters-18",level:5},{value:"WriteBytes(Byte[], Int32, Int32)",id:"writebytesbyte-int32-int32",level:4},{value:"Declaration",id:"declaration-26",level:5},{value:"Parameters",id:"parameters-19",level:5},{value:"CopyFromWriter(NetworkWriter)",id:"copyfromwriternetworkwriter",level:4},{value:"Declaration",id:"declaration-27",level:5},{value:"Parameters",id:"parameters-20",level:5},{value:"CopyFromWriter(NetworkWriter, Int32, Int32)",id:"copyfromwriternetworkwriter-int32-int32",level:4},{value:"Declaration",id:"declaration-28",level:5},{value:"Parameters",id:"parameters-21",level:5},{value:"CopyFromPointer(Void*, Int32, Int32)",id:"copyfrompointervoid-int32-int32",level:4},{value:"Declaration",id:"declaration-29",level:5},{value:"Parameters",id:"parameters-22",level:5}],m={toc:d};function u(t){let{components:e,...a}=t;return(0,n.kt)("wrapper",(0,r.Z)({},m,a,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networkwriter"},"Class NetworkWriter"),(0,n.kt)("p",null,"Bit writer, writes values to a buffer on a bit level\nUse to reduce memory allocation"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class NetworkWriter\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"networkwriterint32"},"NetworkWriter(Int32)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkWriter(int minByteCapacity)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"minByteCapacity"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"networkwriterint32-boolean"},"NetworkWriter(Int32, Boolean)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkWriter(int minByteCapacity, bool allowResize)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"minByteCapacity"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"allowResize"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"bytecapacity"},"ByteCapacity"),(0,n.kt)("p",null,"Size limit of buffer"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public int ByteCapacity { get; }\n")),(0,n.kt)("h4",{id:"bytelength"},"ByteLength"),(0,n.kt)("p",null,"Current rounded up to nearest multiple of 8\nTo set byte position use multiple by 8"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public int ByteLength { get; }\n")),(0,n.kt)("h4",{id:"bitposition"},"BitPosition"),(0,n.kt)("p",null,"Current bit position for writing to buffer\nTo set bit position use "),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public int BitPosition { get; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"finalize"},"Finalize()"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected void Finalize()\n")),(0,n.kt)("h4",{id:"reset"},"Reset()"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Reset()\n")),(0,n.kt)("h4",{id:"toarray"},"ToArray()"),(0,n.kt)("p",null,"Copies internal buffer to new Array\nTo reduce Allocations use instead"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public byte[] ToArray()\n")),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"toarraysegment"},"ToArraySegment()"),(0,n.kt)("h5",{id:"declaration-8"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public ArraySegment<byte> ToArraySegment()\n")),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writebooleanboolean"},"WriteBoolean(Boolean)"),(0,n.kt)("h5",{id:"declaration-9"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void WriteBoolean(bool value)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writebooleanuint64"},"WriteBoolean(UInt64)"),(0,n.kt)("p",null,"Writes first bit of value to buffer"),(0,n.kt)("h5",{id:"declaration-10"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void WriteBoolean(ulong value)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writesbytesbyte"},"WriteSByte(SByte)"),(0,n.kt)("h5",{id:"declaration-11"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void WriteSByte(sbyte value)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.SByte"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writebytebyte"},"WriteByte(Byte)"),(0,n.kt)("h5",{id:"declaration-12"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void WriteByte(byte value)\n")),(0,n.kt)("h5",{id:"parameters-5"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writeint16int16"},"WriteInt16(Int16)"),(0,n.kt)("h5",{id:"declaration-13"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void WriteInt16(short value)\n")),(0,n.kt)("h5",{id:"parameters-6"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int16"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writeuint16uint16"},"WriteUInt16(UInt16)"),(0,n.kt)("h5",{id:"declaration-14"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void WriteUInt16(ushort value)\n")),(0,n.kt)("h5",{id:"parameters-7"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt16"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writeint32int32"},"WriteInt32(Int32)"),(0,n.kt)("h5",{id:"declaration-15"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void WriteInt32(int value)\n")),(0,n.kt)("h5",{id:"parameters-8"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writeuint32uint32"},"WriteUInt32(UInt32)"),(0,n.kt)("h5",{id:"declaration-16"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void WriteUInt32(uint value)\n")),(0,n.kt)("h5",{id:"parameters-9"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt32"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writeint64int64"},"WriteInt64(Int64)"),(0,n.kt)("h5",{id:"declaration-17"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void WriteInt64(long value)\n")),(0,n.kt)("h5",{id:"parameters-10"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int64"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writeuint64uint64"},"WriteUInt64(UInt64)"),(0,n.kt)("h5",{id:"declaration-18"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void WriteUInt64(ulong value)\n")),(0,n.kt)("h5",{id:"parameters-11"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writesinglesingle"},"WriteSingle(Single)"),(0,n.kt)("h5",{id:"declaration-19"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void WriteSingle(float value)\n")),(0,n.kt)("h5",{id:"parameters-12"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writedoubledouble"},"WriteDouble(Double)"),(0,n.kt)("h5",{id:"declaration-20"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void WriteDouble(double value)\n")),(0,n.kt)("h5",{id:"parameters-13"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Double"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writeuint64-int32"},"Write(UInt64, Int32)"),(0,n.kt)("h5",{id:"declaration-21"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Write(ulong value, int bits)\n")),(0,n.kt)("h5",{id:"parameters-14"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"bits"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writeatbytepositionuint64-int32-int32"},"WriteAtBytePosition(UInt64, Int32, Int32)"),(0,n.kt)("p",null,"Same as expect position given is in bytes instead of bits\nWARNING: When writing to bytes instead of bits make sure you are able to read at the right position when deserializing as it might cause data to be misaligned"),(0,n.kt)("h5",{id:"declaration-22"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void WriteAtBytePosition(ulong value, int bits, int bytePosition)\n")),(0,n.kt)("h5",{id:"parameters-15"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"bits"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"bytePosition"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writeatpositionuint64-int32-int32"},"WriteAtPosition(UInt64, Int32, Int32)"),(0,n.kt)("p",null,"Writes n bits from value to bitPosition\nThis methods can be used to go back to a previous position to write length or other flags to the buffer after other data has been written\nWARNING: This method does not change the internal position so will not change the overall length if writing past internal position"),(0,n.kt)("h5",{id:"declaration-23"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void WriteAtPosition(ulong value, int bits, int bitPosition)\n")),(0,n.kt)("h5",{id:"parameters-16"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.UInt64"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null},"value to write")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"bits"),(0,n.kt)("td",{parentName:"tr",align:null},"number of bits in value to write")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"bitPosition"),(0,n.kt)("td",{parentName:"tr",align:null},"where to write bits")))),(0,n.kt)("h4",{id:"movebitpositionint32"},"MoveBitPosition(Int32)"),(0,n.kt)("p",null,"Moves the internal bit position\nFor most usecases it is safer to use\nWARNING: When writing to earlier position make sure to move position back to end of buffer after writing because position is also used as length"),(0,n.kt)("h5",{id:"declaration-24"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void MoveBitPosition(int newPosition)\n")),(0,n.kt)("h5",{id:"parameters-17"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"newPosition"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"padandcopytt"},"PadAndCopy","<","T",">","(T)"),(0,n.kt)("p",null," Moves position to nearest byte then copies struct to that position"),(0,n.kt)("h5",{id:"declaration-25"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void PadAndCopy<T>(in T value)\n where T : struct\n")),(0,n.kt)("h5",{id:"parameters-18"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writebytesbyte-int32-int32"},"WriteBytes(Byte[], Int32, Int32)"),(0,n.kt)("p",null," Moves position to nearest byte then writes bytes to that position"),(0,n.kt)("h5",{id:"declaration-26"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void WriteBytes(byte[] array, int offset, int length)\n")),(0,n.kt)("h5",{id:"parameters-19"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null},"array"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"offset"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"length"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"copyfromwriternetworkwriter"},"CopyFromWriter(NetworkWriter)"),(0,n.kt)("p",null,"Copies all data from other"),(0,n.kt)("h5",{id:"declaration-27"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void CopyFromWriter(NetworkWriter other)\n")),(0,n.kt)("h5",{id:"parameters-20"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"other"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"copyfromwriternetworkwriter-int32-int32"},"CopyFromWriter(NetworkWriter, Int32, Int32)"),(0,n.kt)("p",null,"Copies bitLength bits from other starting at otherBitPosition"),(0,n.kt)("h5",{id:"declaration-28"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void CopyFromWriter(NetworkWriter other, int otherBitPosition, int bitLength)\n")),(0,n.kt)("h5",{id:"parameters-21"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"other"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"otherBitPosition"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"bitLength"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"copyfrompointervoid-int32-int32"},"CopyFromPointer(Void*, Int32, Int32)"),(0,n.kt)("p",null,"Copies bitLength bits from ptr starting at otherBitPosition"),(0,n.kt)("h5",{id:"declaration-29"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void CopyFromPointer(void *ptr, int otherBitPosition, int bitLength)\n")),(0,n.kt)("h5",{id:"parameters-22"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Void*"),(0,n.kt)("td",{parentName:"tr",align:null},"ptr"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"otherBitPosition"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"bitLength"),(0,n.kt)("td",{parentName:"tr",align:null})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d55c0424.e6d0dcd8.js b/assets/js/d55c0424.e6d0dcd8.js new file mode 100644 index 00000000000..48ab7cbce91 --- /dev/null +++ b/assets/js/d55c0424.e6d0dcd8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[282],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>v});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var o=n.createContext({}),u=function(e){var t=n.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=u(e.components);return n.createElement(o.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,o=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),d=u(r),v=i,b=d["".concat(o,".").concat(v)]||d[v]||p[v]||a;return r?n.createElement(b,c(c({ref:t},s),{},{components:r})):n.createElement(b,c({ref:t},s))}));function v(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,c=new Array(a);c[0]=d;var l={};for(var o in t)hasOwnProperty.call(t,o)&&(l[o]=t[o]);l.originalType=e,l.mdxType="string"==typeof e?e:i,c[1]=l;for(var u=2;u<a;u++)c[u]=r[u];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},7558:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>p,frontMatter:()=>a,metadata:()=>l,toc:()=>u});var n=r(87462),i=(r(67294),r(3905));const a={id:"ServerRpcAttribute",title:"ServerRpcAttribute"},c="Class ServerRpcAttribute",l={unversionedId:"reference/Mirage/ServerRpcAttribute",id:"reference/Mirage/ServerRpcAttribute",title:"ServerRpcAttribute",description:"Call this from a client to run this function on the server.",source:"@site/docs/reference/Mirage/ServerRpcAttribute.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/ServerRpcAttribute",permalink:"/Mirage/docs/reference/Mirage/ServerRpcAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/ServerRpcAttribute.md",tags:[],version:"current",frontMatter:{id:"ServerRpcAttribute",title:"ServerRpcAttribute"},sidebar:"api",previous:{title:"ServerObjectManagerExtensions",permalink:"/Mirage/docs/reference/Mirage/ServerObjectManagerExtensions"},next:{title:"ShowInInspectorAttribute",permalink:"/Mirage/docs/reference/Mirage/ShowInInspectorAttribute"}},o={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"channel",id:"channel",level:4},{value:"Declaration",id:"declaration",level:5},{value:"requireAuthority",id:"requireauthority",level:4},{value:"Declaration",id:"declaration-1",level:5}],s={toc:u};function p(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"class-serverrpcattribute"},"Class ServerRpcAttribute"),(0,i.kt)("p",null,"Call this from a client to run this function on the server.\nMake sure to validate input etc. It","'","s not possible to call this from a server."),(0,i.kt)("div",{class:"inheritance"},(0,i.kt)("h5",{id:"inheritance"},"Inheritance"),(0,i.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,i.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,i.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,i.kt)("details",null,(0,i.kt)("summary",null,"Show")),(0,i.kt)("h5",{id:"syntax"},"Syntax"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Method)]\npublic class ServerRpcAttribute : Attribute, _Attribute\n")),(0,i.kt)("h3",{id:"fields"},"Fields"),(0,i.kt)("h4",{id:"channel"},"channel"),(0,i.kt)("h5",{id:"declaration"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public Channel channel\n")),(0,i.kt)("h4",{id:"requireauthority"},"requireAuthority"),(0,i.kt)("h5",{id:"declaration-1"},"Declaration"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public bool requireAuthority\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d5cd641f.a2e091e7.js b/assets/js/d5cd641f.a2e091e7.js new file mode 100644 index 00000000000..5099b052849 --- /dev/null +++ b/assets/js/d5cd641f.a2e091e7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9346],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),g=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},c=function(e){var t=g(e.components);return r.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=g(n),m=a,u=p["".concat(s,".").concat(m)]||p[m]||d[m]||i;return n?r.createElement(u,o(o({ref:t},c),{},{components:n})):r.createElement(u,o({ref:t},c))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=p;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:a,o[1]=l;for(var g=2;g<i;g++)o[g]=n[g];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}p.displayName="MDXCreateElement"},4096:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>g});var r=n(87462),a=(n(67294),n(3905));const i={id:"LogSettingsExtensions",title:"LogSettingsExtensions"},o="Class LogSettingsExtensions",l={unversionedId:"reference/Mirage.Logging/LogSettingsExtensions",id:"reference/Mirage.Logging/LogSettingsExtensions",title:"LogSettingsExtensions",description:"Inheritance",source:"@site/docs/reference/Mirage.Logging/LogSettingsExtensions.md",sourceDirName:"reference/Mirage.Logging",slug:"/reference/Mirage.Logging/LogSettingsExtensions",permalink:"/Mirage/docs/reference/Mirage.Logging/LogSettingsExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Logging/LogSettingsExtensions.md",tags:[],version:"current",frontMatter:{id:"LogSettingsExtensions",title:"LogSettingsExtensions"},sidebar:"api",previous:{title:"LogSettings",permalink:"/Mirage/docs/reference/Mirage.Logging/LogSettings"},next:{title:"LogSettingsSO.LoggerSettings",permalink:"/Mirage/docs/reference/Mirage.Logging/LogSettingsSO.LoggerSettings"}},s={},g=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"SaveFromLogFactory(LogSettingsSO)",id:"savefromlogfactorylogsettingsso",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"LoadIntoLogFactory(LogSettingsSO)",id:"loadintologfactorylogsettingsso",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],c={toc:g};function d(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-logsettingsextensions"},"Class LogSettingsExtensions"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static class LogSettingsExtensions\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"savefromlogfactorylogsettingsso"},"SaveFromLogFactory(LogSettingsSO)"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static void SaveFromLogFactory(this LogSettingsSO settings)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.Logging.LogSettingsSO"),(0,a.kt)("td",{parentName:"tr",align:null},"settings"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h4",{id:"loadintologfactorylogsettingsso"},"LoadIntoLogFactory(LogSettingsSO)"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static void LoadIntoLogFactory(this LogSettingsSO settings)\n")),(0,a.kt)("h5",{id:"parameters-1"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.Logging.LogSettingsSO"),(0,a.kt)("td",{parentName:"tr",align:null},"settings"),(0,a.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d741cf9d.1211a8ca.js b/assets/js/d741cf9d.1211a8ca.js new file mode 100644 index 00000000000..b288f9aade1 --- /dev/null +++ b/assets/js/d741cf9d.1211a8ca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5718],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>h});var a=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,a,i=function(e,t){if(null==e)return{};var r,a,i={},n=Object.keys(e);for(a=0;a<n.length;a++)r=n[a],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)r=n[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var s=a.createContext({}),c=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var r=e.components,i=e.mdxType,n=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(r),h=i,f=d["".concat(s,".").concat(h)]||d[h]||p[h]||n;return r?a.createElement(f,o(o({ref:t},u),{},{components:r})):a.createElement(f,o({ref:t},u))}));function h(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var n=r.length,o=new Array(n);o[0]=d;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:i,o[1]=l;for(var c=2;c<n;c++)o[c]=r[c];return a.createElement.apply(null,o)}return a.createElement.apply(null,r)}d.displayName="MDXCreateElement"},49700:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>p,frontMatter:()=>n,metadata:()=>l,toc:()=>c});var a=r(87462),i=(r(67294),r(3905));const n={sidebar_position:6},o=void 0,l={unversionedId:"guides/sync/serialization-flow",id:"guides/sync/serialization-flow",title:"serialization-flow",description:"Serialization Flow",source:"@site/docs/guides/sync/serialization-flow.md",sourceDirName:"guides/sync",slug:"/guides/sync/serialization-flow",permalink:"/Mirage/docs/guides/sync/serialization-flow",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/sync/serialization-flow.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"docs",previous:{title:"Sync Settings",permalink:"/Mirage/docs/guides/sync/sync-settings"},next:{title:"Code Generation",permalink:"/Mirage/docs/guides/sync/code-generation"}},s={},c=[{value:"Serialization Flow",id:"serialization-flow",level:2}],u={toc:c};function p(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"serialization-flow"},"Serialization Flow"),(0,i.kt)("p",null,"Game objects with the Network Identity component attached can have multiple scripts derived from ",(0,i.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour"),". The flow for serializing these game objects is:"),(0,i.kt)("p",null,"On the server:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Each ",(0,i.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," has a dirty mask. This mask is available inside ",(0,i.kt)("inlineCode",{parentName:"li"},"OnSerialize")," as ",(0,i.kt)("inlineCode",{parentName:"li"},"syncVarDirtyBits")),(0,i.kt)("li",{parentName:"ul"},"Each SyncVar in a ",(0,i.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," script is assigned a bit in the dirty mask."),(0,i.kt)("li",{parentName:"ul"},"Changing the value of SyncVars causes the bit for that SyncVar to be set in the dirty mask"),(0,i.kt)("li",{parentName:"ul"},"Alternatively, calling ",(0,i.kt)("inlineCode",{parentName:"li"},"SetDirtyBit")," writes directly to the dirty mask"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkIdentity"},"NetworkIdentity")," game objects are checked on the server as part of its update loop"),(0,i.kt)("li",{parentName:"ul"},"If any ",(0,i.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour"),"s on a ",(0,i.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkIdentity"},"NetworkIdentity")," are dirty, then a ",(0,i.kt)("inlineCode",{parentName:"li"},"UpdateVars")," packet is created for that game object"),(0,i.kt)("li",{parentName:"ul"},"The ",(0,i.kt)("inlineCode",{parentName:"li"},"UpdateVars")," packet is populated by calling ",(0,i.kt)("inlineCode",{parentName:"li"},"OnSerialize")," on each ",(0,i.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," on the game object"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour"),"s that are not dirty write a zero to the packet for their dirty bits"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour"),"s that are dirty write their dirty mask, then the values for the SyncVars that have changed"),(0,i.kt)("li",{parentName:"ul"},"If ",(0,i.kt)("inlineCode",{parentName:"li"},"OnSerialize")," returns true for a ",(0,i.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour"),", the dirty mask is reset for that ",(0,i.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," so it does not send again until its value changes."),(0,i.kt)("li",{parentName:"ul"},"The ",(0,i.kt)("inlineCode",{parentName:"li"},"UpdateVars")," packet is sent to ready clients that are observing the game object")),(0,i.kt)("p",null,"On the client:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"an ",(0,i.kt)("inlineCode",{parentName:"li"},"UpdateVars packet")," is received for a game object"),(0,i.kt)("li",{parentName:"ul"},"The ",(0,i.kt)("inlineCode",{parentName:"li"},"OnDeserialize")," function is called for each ",(0,i.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," script on the game object"),(0,i.kt)("li",{parentName:"ul"},"Each ",(0,i.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," script on the game object reads a dirty mask."),(0,i.kt)("li",{parentName:"ul"},"If the dirty mask for a ",(0,i.kt)("a",{parentName:"li",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," is zero, the ",(0,i.kt)("inlineCode",{parentName:"li"},"OnDeserialize")," function returns without reading any more"),(0,i.kt)("li",{parentName:"ul"},"If the dirty mask is a non-zero value, then the ",(0,i.kt)("inlineCode",{parentName:"li"},"OnDeserialize")," function reads the values for the SyncVars that correspond to the dirty bits that are set"),(0,i.kt)("li",{parentName:"ul"},"If there are SyncVar hook functions, those are invoked with the value read from the stream.")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d82abd5c.4fba7293.js b/assets/js/d82abd5c.4fba7293.js new file mode 100644 index 00000000000..1fbca03346d --- /dev/null +++ b/assets/js/d82abd5c.4fba7293.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6436],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},d=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),p=l(r),f=a,g=p["".concat(s,".").concat(f)]||p[f]||u[f]||i;return r?n.createElement(g,c(c({ref:t},d),{},{components:r})):n.createElement(g,c({ref:t},d))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,c=new Array(i);c[0]=p;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:a,c[1]=o;for(var l=2;l<i;l++)c[l]=r[l];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},59097:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const i={id:"ObjectHideMessage",title:"ObjectHideMessage"},c="Struct ObjectHideMessage",o={unversionedId:"reference/Mirage/ObjectHideMessage",id:"reference/Mirage/ObjectHideMessage",title:"ObjectHideMessage",description:"Syntax",source:"@site/docs/reference/Mirage/ObjectHideMessage.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/ObjectHideMessage",permalink:"/Mirage/docs/reference/Mirage/ObjectHideMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/ObjectHideMessage.md",tags:[],version:"current",frontMatter:{id:"ObjectHideMessage",title:"ObjectHideMessage"},sidebar:"api",previous:{title:"ObjectDestroyMessage",permalink:"/Mirage/docs/reference/Mirage/ObjectDestroyMessage"},next:{title:"OnlineOfflineScene",permalink:"/Mirage/docs/reference/Mirage/OnlineOfflineScene"}},s={},l=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"NetId",id:"netid",level:4},{value:"Declaration",id:"declaration",level:5}],d={toc:l};function u(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-objecthidemessage"},"Struct ObjectHideMessage"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct ObjectHideMessage\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"netid"},"NetId"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public uint NetId\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d89afa6d.e57937da.js b/assets/js/d89afa6d.e57937da.js new file mode 100644 index 00000000000..f57079c3e78 --- /dev/null +++ b/assets/js/d89afa6d.e57937da.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2456],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),s=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),d=s(r),f=n,y=d["".concat(c,".").concat(f)]||d[f]||p[f]||l;return r?a.createElement(y,i(i({ref:t},u),{},{components:r})):a.createElement(y,i({ref:t},u))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=d;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var s=2;s<l;s++)i[s]=r[s];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}d.displayName="MDXCreateElement"},91226:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>s});var a=r(87462),n=(r(67294),r(3905));const l={id:"ByteBuffer",title:"ByteBuffer"},i="Class ByteBuffer",o={unversionedId:"reference/Mirage.SocketLayer/ByteBuffer",id:"reference/Mirage.SocketLayer/ByteBuffer",title:"ByteBuffer",description:"Warpper around a byte[] that belongs to a",source:"@site/docs/reference/Mirage.SocketLayer/ByteBuffer.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/ByteBuffer",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ByteBuffer",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/ByteBuffer.md",tags:[],version:"current",frontMatter:{id:"ByteBuffer",title:"ByteBuffer"},sidebar:"api",previous:{title:"Batch",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Batch"},next:{title:"ByteUtils",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ByteUtils"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"array",id:"array",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Methods",id:"methods",level:3},{value:"CreateNew(Int32, Pool<ByteBuffer>)",id:"createnewint32-poolbytebuffer",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Release()",id:"release",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"IDisposable.Dispose()",id:"idisposabledispose",level:4},{value:"Declaration",id:"declaration-3",level:5}],u={toc:s};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-bytebuffer"},"Class ByteBuffer"),(0,n.kt)("p",null,"Warpper around a byte[] that belongs to a "),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class ByteBuffer : IDisposable\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"array"},"array"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly byte[] array\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"createnewint32-poolbytebuffer"},"CreateNew(Int32, Pool","<","ByteBuffer",">",")"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static ByteBuffer CreateNew(int bufferSize, Pool<ByteBuffer> pool)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"bufferSize"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.Pool","<","Mirage.SocketLayer.ByteBuffer",">"),(0,n.kt)("td",{parentName:"tr",align:null},"pool"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.ByteBuffer"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"release"},"Release()"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Release()\n")),(0,n.kt)("h4",{id:"idisposabledispose"},"IDisposable.Dispose()"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"void IDisposable.Dispose()\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/dad5a29f.8df76ea7.js b/assets/js/dad5a29f.8df76ea7.js new file mode 100644 index 00000000000..dd8500446b8 --- /dev/null +++ b/assets/js/dad5a29f.8df76ea7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9455],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>f});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),u=s(r),f=o,y=u["".concat(l,".").concat(f)]||u[f]||p[f]||a;return r?n.createElement(y,i(i({ref:t},d),{},{components:r})):n.createElement(y,i({ref:t},d))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=u;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:o,i[1]=c;for(var s=2;s<a;s++)i[s]=r[s];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},1620:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var n=r(87462),o=(r(67294),r(3905));const a={id:"NotifyToken",title:"NotifyToken"},i="Class NotifyToken",c={unversionedId:"reference/Mirage.SocketLayer/NotifyToken",id:"reference/Mirage.SocketLayer/NotifyToken",title:"NotifyToken",description:"Object returned from with events for when packet is Lost or Delivered",source:"@site/docs/reference/Mirage.SocketLayer/NotifyToken.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/NotifyToken",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/NotifyToken",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/NotifyToken.md",tags:[],version:"current",frontMatter:{id:"NotifyToken",title:"NotifyToken"},sidebar:"api",previous:{title:"Metrics",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Metrics"},next:{title:"PacketType",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/PacketType"}},l={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"OnDelivered()",id:"ondelivered",level:4},{value:"Declaration",id:"declaration",level:5},{value:"OnLost()",id:"onlost",level:4},{value:"Declaration",id:"declaration-1",level:5}],d={toc:s};function p(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"class-notifytoken"},"Class NotifyToken"),(0,o.kt)("p",null,"Object returned from with events for when packet is Lost or Delivered"),(0,o.kt)("div",{class:"inheritance"},(0,o.kt)("h5",{id:"inheritance"},"Inheritance"),(0,o.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,o.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,o.kt)("details",null,(0,o.kt)("summary",null,"Show")),(0,o.kt)("h5",{id:"syntax"},"Syntax"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"public class NotifyToken : INotifyToken, INotifyCallBack\n")),(0,o.kt)("h3",{id:"methods"},"Methods"),(0,o.kt)("h4",{id:"ondelivered"},"OnDelivered()"),(0,o.kt)("h5",{id:"declaration"},"Declaration"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnDelivered()\n")),(0,o.kt)("h4",{id:"onlost"},"OnLost()"),(0,o.kt)("h5",{id:"declaration-1"},"Declaration"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnLost()\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/dbecde0e.f9ea340e.js b/assets/js/dbecde0e.f9ea340e.js new file mode 100644 index 00000000000..406eba9026b --- /dev/null +++ b/assets/js/dbecde0e.f9ea340e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7633],{3905:(e,r,t)=>{t.d(r,{Zo:()=>g,kt:()=>d});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function c(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=n.createContext({}),s=function(e){var r=n.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},g=function(e){var r=s(e.components);return n.createElement(l.Provider,{value:r},e.children)},p={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},u=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,g=c(e,["components","mdxType","originalType","parentName"]),u=s(t),d=a,f=u["".concat(l,".").concat(d)]||u[d]||p[d]||i;return t?n.createElement(f,o(o({ref:r},g),{},{components:t})):n.createElement(f,o({ref:r},g))}));function d(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var i=t.length,o=new Array(i);o[0]=u;var c={};for(var l in r)hasOwnProperty.call(r,l)&&(c[l]=r[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var s=2;s<i;s++)o[s]=t[s];return n.createElement.apply(null,o)}return n.createElement.apply(null,t)}u.displayName="MDXCreateElement"},85020:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var n=t(87462),a=(t(67294),t(3905));const i={id:"NetworkPingMessage",title:"NetworkPingMessage"},o="Struct NetworkPingMessage",c={unversionedId:"reference/Mirage/NetworkPingMessage",id:"reference/Mirage/NetworkPingMessage",title:"NetworkPingMessage",description:"Syntax",source:"@site/docs/reference/Mirage/NetworkPingMessage.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkPingMessage",permalink:"/Mirage/docs/reference/Mirage/NetworkPingMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkPingMessage.md",tags:[],version:"current",frontMatter:{id:"NetworkPingMessage",title:"NetworkPingMessage"},sidebar:"api",previous:{title:"NetworkPingDisplay",permalink:"/Mirage/docs/reference/Mirage/NetworkPingDisplay"},next:{title:"NetworkPlayer",permalink:"/Mirage/docs/reference/Mirage/NetworkPlayer"}},l={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"ClientTime",id:"clienttime",level:4},{value:"Declaration",id:"declaration",level:5}],g={toc:s};function p(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},g,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-networkpingmessage"},"Struct NetworkPingMessage"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct NetworkPingMessage\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"clienttime"},"ClientTime"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public double ClientTime\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/dc56fe7a.3ee40f4f.js b/assets/js/dc56fe7a.3ee40f4f.js new file mode 100644 index 00000000000..9b82d9cdd81 --- /dev/null +++ b/assets/js/dc56fe7a.3ee40f4f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5097],{83769:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/dc9b839a.d492a76c.js b/assets/js/dc9b839a.d492a76c.js new file mode 100644 index 00000000000..22c0b5a2de9 --- /dev/null +++ b/assets/js/dc9b839a.d492a76c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6704],{3905:(e,r,t)=>{t.d(r,{Zo:()=>p,kt:()=>g});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function c(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function i(e,r){if(null==e)return{};var t,a,n=function(e,r){if(null==e)return{};var t,a,n={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var s=a.createContext({}),l=function(e){var r=a.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):c(c({},r),e)),t},p=function(e){var r=l(e.components);return a.createElement(s.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},m=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,o=e.originalType,s=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),m=l(t),g=n,f=m["".concat(s,".").concat(g)]||m[g]||u[g]||o;return t?a.createElement(f,c(c({ref:r},p),{},{components:t})):a.createElement(f,c({ref:r},p))}));function g(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var o=t.length,c=new Array(o);c[0]=m;var i={};for(var s in r)hasOwnProperty.call(r,s)&&(i[s]=r[s]);i.originalType=e,i.mdxType="string"==typeof e?e:n,c[1]=i;for(var l=2;l<o;l++)c[l]=t[l];return a.createElement.apply(null,c)}return a.createElement.apply(null,t)}m.displayName="MDXCreateElement"},62820:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>s,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var a=t(87462),n=(t(67294),t(3905));const o={id:"RemoveCharacterMessage",title:"RemoveCharacterMessage"},c="Struct RemoveCharacterMessage",i={unversionedId:"reference/Mirage/RemoveCharacterMessage",id:"reference/Mirage/RemoveCharacterMessage",title:"RemoveCharacterMessage",description:"Syntax",source:"@site/docs/reference/Mirage/RemoveCharacterMessage.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/RemoveCharacterMessage",permalink:"/Mirage/docs/reference/Mirage/RemoveCharacterMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/RemoveCharacterMessage.md",tags:[],version:"current",frontMatter:{id:"RemoveCharacterMessage",title:"RemoveCharacterMessage"},sidebar:"api",previous:{title:"RemoveAuthorityMessage",permalink:"/Mirage/docs/reference/Mirage/RemoveAuthorityMessage"},next:{title:"RpcTarget",permalink:"/Mirage/docs/reference/Mirage/RpcTarget"}},s={},l=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"KeepAuthority",id:"keepauthority",level:4},{value:"Declaration",id:"declaration",level:5}],p={toc:l};function u(e){let{components:r,...t}=e;return(0,n.kt)("wrapper",(0,a.Z)({},p,t,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"struct-removecharactermessage"},"Struct RemoveCharacterMessage"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public struct RemoveCharacterMessage\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"keepauthority"},"KeepAuthority"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool KeepAuthority\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/dd9f2c48.5eabcf6b.js b/assets/js/dd9f2c48.5eabcf6b.js new file mode 100644 index 00000000000..17e7d9eb895 --- /dev/null +++ b/assets/js/dd9f2c48.5eabcf6b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5266],{3905:(e,t,a)=>{a.d(t,{Zo:()=>k,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function c(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=r.createContext({}),p=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},k=function(e){var t=p(e.components);return r.createElement(o.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,k=c(e,["components","mdxType","originalType","parentName"]),m=p(a),u=n,s=m["".concat(o,".").concat(u)]||m[u]||d[u]||l;return a?r.createElement(s,i(i({ref:t},k),{},{components:a})):r.createElement(s,i({ref:t},k))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=m;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var p=2;p<l;p++)i[p]=a[p];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},71835:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>d,frontMatter:()=>l,metadata:()=>c,toc:()=>p});var r=a(87462),n=(a(67294),a(3905));const l={id:"Vector2Packer",title:"Vector2Packer"},i="Class Vector2Packer",c={unversionedId:"reference/Mirage.Serialization/Vector2Packer",id:"reference/Mirage.Serialization/Vector2Packer",title:"Vector2Packer",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/Vector2Packer.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/Vector2Packer",permalink:"/Mirage/docs/reference/Mirage.Serialization/Vector2Packer",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/Vector2Packer.md",tags:[],version:"current",frontMatter:{id:"Vector2Packer",title:"Vector2Packer"},sidebar:"api",previous:{title:"Vector2PackAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/Vector2PackAttribute"},next:{title:"Vector3PackAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/Vector3PackAttribute"}},o={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"Vector2Packer(Single, Single, Int32, Int32)",id:"vector2packersingle-single-int32-int32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Vector2Packer(Single, Single, Single, Single)",id:"vector2packersingle-single-single-single",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Vector2Packer(Vector2, Vector2)",id:"vector2packervector2-vector2",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Methods",id:"methods",level:3},{value:"Pack(NetworkWriter, Vector2)",id:"packnetworkwriter-vector2",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Unpack(NetworkReader)",id:"unpacknetworkreader",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns",level:5}],k={toc:p};function d(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},k,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-vector2packer"},"Class Vector2Packer"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class Vector2Packer\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"vector2packersingle-single-int32-int32"},"Vector2Packer(Single, Single, Int32, Int32)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector2Packer(float xMax, float yMax, int xBitCount, int yBitCount)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"xMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"yMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"xBitCount"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"yBitCount"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"vector2packersingle-single-single-single"},"Vector2Packer(Single, Single, Single, Single)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector2Packer(float xMax, float yMax, float xPrecision, float yPrecision)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"xMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"yMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"xPrecision"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"yPrecision"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"vector2packervector2-vector2"},"Vector2Packer(Vector2, Vector2)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector2Packer(Vector2 max, Vector2 precision)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Vector2"),(0,n.kt)("td",{parentName:"tr",align:null},"max"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Vector2"),(0,n.kt)("td",{parentName:"tr",align:null},"precision"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"packnetworkwriter-vector2"},"Pack(NetworkWriter, Vector2)"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Pack(NetworkWriter writer, Vector2 value)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Vector2"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"unpacknetworkreader"},"Unpack(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector2 Unpack(NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Vector2"),(0,n.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ddefe481.8269e210.js b/assets/js/ddefe481.8269e210.js new file mode 100644 index 00000000000..1c4074ec94a --- /dev/null +++ b/assets/js/ddefe481.8269e210.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9625],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=n.createContext({}),l=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(u.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,u=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),f=l(r),d=a,h=f["".concat(u,".").concat(d)]||f[d]||s[d]||i;return r?n.createElement(h,o(o({ref:t},p),{},{components:r})):n.createElement(h,o({ref:t},p))}));function d(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=f;var c={};for(var u in t)hasOwnProperty.call(t,u)&&(c[u]=t[u]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var l=2;l<i;l++)o[l]=r[l];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"},74046:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>s,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const i={id:"INetworkAuthenticator",title:"INetworkAuthenticator"},o="Interface INetworkAuthenticator",c={unversionedId:"reference/Mirage.Authentication/INetworkAuthenticator",id:"reference/Mirage.Authentication/INetworkAuthenticator",title:"INetworkAuthenticator",description:"Syntax",source:"@site/docs/reference/Mirage.Authentication/INetworkAuthenticator.md",sourceDirName:"reference/Mirage.Authentication",slug:"/reference/Mirage.Authentication/INetworkAuthenticator",permalink:"/Mirage/docs/reference/Mirage.Authentication/INetworkAuthenticator",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authentication/INetworkAuthenticator.md",tags:[],version:"current",frontMatter:{id:"INetworkAuthenticator",title:"INetworkAuthenticator"},sidebar:"api",previous:{title:"IAuthenticationDataWrapper",permalink:"/Mirage/docs/reference/Mirage.Authentication/IAuthenticationDataWrapper"},next:{title:"NetworkAuthenticator<T>",permalink:"/Mirage/docs/reference/Mirage.Authentication/NetworkAuthenticator-1"}},u={},l=[{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"AuthenticatorName",id:"authenticatorname",level:4},{value:"Declaration",id:"declaration",level:5}],p={toc:l};function s(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"interface-inetworkauthenticator"},"Interface INetworkAuthenticator"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public interface INetworkAuthenticator\n")),(0,a.kt)("h3",{id:"properties"},"Properties"),(0,a.kt)("h4",{id:"authenticatorname"},"AuthenticatorName"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"string AuthenticatorName { get; }\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/df235e99.2e92a1f7.js b/assets/js/df235e99.2e92a1f7.js new file mode 100644 index 00000000000..3a239f2d665 --- /dev/null +++ b/assets/js/df235e99.2e92a1f7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2839],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>d});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),m=l(r),d=a,f=m["".concat(s,".").concat(d)]||m[d]||u[d]||i;return r?n.createElement(f,c(c({ref:t},p),{},{components:r})):n.createElement(f,c({ref:t},p))}));function d(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,c=new Array(i);c[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:a,c[1]=o;for(var l=2;l<i;l++)c[l]=r[l];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"},80544:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const i={},c="Basic",o={unversionedId:"examples/basic",id:"examples/basic",title:"Basic",description:"General description of Basic example.",source:"@site/docs/examples/basic.md",sourceDirName:"examples",slug:"/examples/basic",permalink:"/Mirage/docs/examples/basic",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/examples/basic.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Additive Scenes Example",permalink:"/Mirage/docs/examples/additive-scenes"},next:{title:"ChangeScene",permalink:"/Mirage/docs/examples/change-scene"}},s={},l=[],p={toc:l};function u(e){let{components:t,...i}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"basic"},"Basic"),(0,a.kt)("p",null,"General description of Basic example."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Basic Example",src:r(97296).Z,width:"486",height:"195"})),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Basic Player",src:r(61454).Z,width:"402",height:"851"})))}u.isMDXComponent=!0},97296:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/Basic-ea0e4948d6a02b40a29d6eb67979339d.PNG"},61454:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/BasicPlayer-e7ba0328d0ea08af0d35cfb2a8a59bba.PNG"}}]); \ No newline at end of file diff --git a/assets/js/df5709a4.e2b84546.js b/assets/js/df5709a4.e2b84546.js new file mode 100644 index 00000000000..ceb65a336d9 --- /dev/null +++ b/assets/js/df5709a4.e2b84546.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2467],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>g});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),u=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},l=function(e){var t=u(e.components);return n.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,l=o(e,["components","mdxType","originalType","parentName"]),d=u(r),g=a,f=d["".concat(s,".").concat(g)]||d[g]||p[g]||i;return r?n.createElement(f,c(c({ref:t},l),{},{components:r})):n.createElement(f,c({ref:t},l))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,c=new Array(i);c[0]=d;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:a,c[1]=o;for(var u=2;u<i;u++)c[u]=r[u];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},91799:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var n=r(87462),a=(r(67294),r(3905));const i={id:"BasicAuthenticator.JoinMessage",title:"BasicAuthenticator.JoinMessage"},c="Struct BasicAuthenticator.JoinMessage",o={unversionedId:"reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage",id:"reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage",title:"BasicAuthenticator.JoinMessage",description:"Syntax",source:"@site/docs/reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage.md",sourceDirName:"reference/Mirage.Authenticators",slug:"/reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage",permalink:"/Mirage/docs/reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage.md",tags:[],version:"current",frontMatter:{id:"BasicAuthenticator.JoinMessage",title:"BasicAuthenticator.JoinMessage"},sidebar:"api",previous:{title:"Mirage.Authenticators",permalink:"/Mirage/docs/reference/Mirage.Authenticators/"},next:{title:"BasicAuthenticator",permalink:"/Mirage/docs/reference/Mirage.Authenticators/BasicAuthenticator"}},s={},u=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"ServerCode",id:"servercode",level:4},{value:"Declaration",id:"declaration",level:5}],l={toc:u};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"struct-basicauthenticatorjoinmessage"},"Struct BasicAuthenticator.JoinMessage"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public struct JoinMessage\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"servercode"},"ServerCode"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public string ServerCode\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/df999642.3d279739.js b/assets/js/df999642.3d279739.js new file mode 100644 index 00000000000..fe3a9dd0a20 --- /dev/null +++ b/assets/js/df999642.3d279739.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8603],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>k});var n=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function c(e,t){if(null==e)return{};var a,n,l=function(e,t){if(null==e)return{};var a,n,l={},r=Object.keys(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var o=n.createContext({}),d=function(e){var t=n.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},s=function(e){var t=d(e.components);return n.createElement(o.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var a=e.components,l=e.mdxType,r=e.originalType,o=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),p=d(a),k=l,m=p["".concat(o,".").concat(k)]||p[k]||u[k]||r;return a?n.createElement(m,i(i({ref:t},s),{},{components:a})):n.createElement(m,i({ref:t},s))}));function k(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=a.length,i=new Array(r);i[0]=p;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:l,i[1]=c;for(var d=2;d<r;d++)i[d]=a[d];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}p.displayName="MDXCreateElement"},39701:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var n=a(87462),l=(a(67294),a(3905));const r={id:"NetworkClient",title:"NetworkClient"},i="Class NetworkClient",c={unversionedId:"reference/Mirage/NetworkClient",id:"reference/Mirage/NetworkClient",title:"NetworkClient",description:"This is a network client class used by the networking system. It contains a NetworkConnection that is used to connect to a network server.",source:"@site/docs/reference/Mirage/NetworkClient.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkClient",permalink:"/Mirage/docs/reference/Mirage/NetworkClient",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkClient.md",tags:[],version:"current",frontMatter:{id:"NetworkClient",title:"NetworkClient"},sidebar:"api",previous:{title:"NetworkBehaviour",permalink:"/Mirage/docs/reference/Mirage/NetworkBehaviour"},next:{title:"NetworkDiagnostics.MessageInfo",permalink:"/Mirage/docs/reference/Mirage/NetworkDiagnostics.MessageInfo"}},o={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"EnablePeerMetrics",id:"enablepeermetrics",level:4},{value:"Declaration",id:"declaration",level:5},{value:"MetricsSize",id:"metricssize",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"SocketFactory",id:"socketfactory",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"ObjectManager",id:"objectmanager",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"DisconnectOnException",id:"disconnectonexception",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"RethrowException",id:"rethrowexception",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"RunInBackground",id:"runinbackground",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Authenticator",id:"authenticator",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"ManualUpdate",id:"manualupdate",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Properties",id:"properties",level:3},{value:"Metrics",id:"metrics",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"PeerConfig",id:"peerconfig",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"PeerPoolMetrics",id:"peerpoolmetrics",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Started",id:"started",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Connected",id:"connected",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Authenticated",id:"authenticated",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Disconnected",id:"disconnected",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Player",id:"player",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Active",id:"active",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"IsConnected",id:"isconnected",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"World",id:"world",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"SyncVarSender",id:"syncvarsender",level:4},{value:"Declaration",id:"declaration-20",level:5},{value:"MessageHandler",id:"messagehandler",level:4},{value:"Declaration",id:"declaration-21",level:5},{value:"IsLocalClient",id:"islocalclient",level:4},{value:"Declaration",id:"declaration-22",level:5},{value:"IsHost",id:"ishost",level:4},{value:"Declaration",id:"declaration-23",level:5},{value:"Methods",id:"methods",level:3},{value:"Connect(String, Nullable<UInt16>)",id:"connectstring-nullableuint16",level:4},{value:"Declaration",id:"declaration-24",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Disconnect()",id:"disconnect",level:4},{value:"Declaration",id:"declaration-25",level:5},{value:"Send<T>(T, Channel)",id:"sendtt-channel",level:4},{value:"Declaration",id:"declaration-26",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Send(ArraySegment<Byte>, Channel)",id:"sendarraysegmentbyte-channel",level:4},{value:"Declaration",id:"declaration-27",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Send<T>(T, INotifyCallBack)",id:"sendtt-inotifycallback",level:4},{value:"Declaration",id:"declaration-28",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"UpdateReceive()",id:"updatereceive",level:4},{value:"Declaration",id:"declaration-29",level:5},{value:"UpdateSent()",id:"updatesent",level:4},{value:"Declaration",id:"declaration-30",level:5}],s={toc:d};function u(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,n.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-networkclient"},"Class NetworkClient"),(0,l.kt)("p",null,"This is a network client class used by the networking system. It contains a NetworkConnection that is used to connect to a network server.\nThe handle connection state, messages handlers, and connection configuration. There can be many instances in a process at a time, but only one that is connected to a game server () that uses spawned objects.\nhas an internal update function where it handles events from the transport layer. This includes asynchronous connect events, disconnect events and incoming data from a server."),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public class NetworkClient : MonoBehaviour, IMessageSender\n")),(0,l.kt)("h3",{id:"fields"},"Fields"),(0,l.kt)("h4",{id:"enablepeermetrics"},"EnablePeerMetrics"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool EnablePeerMetrics\n")),(0,l.kt)("h4",{id:"metricssize"},"MetricsSize"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int MetricsSize\n")),(0,l.kt)("h4",{id:"socketfactory"},"SocketFactory"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public SocketFactory SocketFactory\n")),(0,l.kt)("h4",{id:"objectmanager"},"ObjectManager"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public ClientObjectManager ObjectManager\n")),(0,l.kt)("h4",{id:"disconnectonexception"},"DisconnectOnException"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool DisconnectOnException\n")),(0,l.kt)("h4",{id:"rethrowexception"},"RethrowException"),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool RethrowException\n")),(0,l.kt)("h4",{id:"runinbackground"},"RunInBackground"),(0,l.kt)("h5",{id:"declaration-6"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool RunInBackground\n")),(0,l.kt)("h4",{id:"authenticator"},"Authenticator"),(0,l.kt)("h5",{id:"declaration-7"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public AuthenticatorSettings Authenticator\n")),(0,l.kt)("h4",{id:"manualupdate"},"ManualUpdate"),(0,l.kt)("p",null,"Set to true if you want to manually call and and stop mirage from automatically calling them"),(0,l.kt)("h5",{id:"declaration-8"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool ManualUpdate\n")),(0,l.kt)("h3",{id:"properties"},"Properties"),(0,l.kt)("h4",{id:"metrics"},"Metrics"),(0,l.kt)("h5",{id:"declaration-9"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public Metrics Metrics { get; }\n")),(0,l.kt)("h4",{id:"peerconfig"},"PeerConfig"),(0,l.kt)("p",null,"Config for peer, if not set will use default settings"),(0,l.kt)("h5",{id:"declaration-10"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public Config PeerConfig { get; set; }\n")),(0,l.kt)("h4",{id:"peerpoolmetrics"},"PeerPoolMetrics"),(0,l.kt)("h5",{id:"declaration-11"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public PoolMetrics? PeerPoolMetrics { get; }\n")),(0,l.kt)("h4",{id:"started"},"Started"),(0,l.kt)("p",null,"Event fires when the client starts, before it has connected to the Server."),(0,l.kt)("h5",{id:"declaration-12"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public IAddLateEventUnity Started { get; }\n")),(0,l.kt)("h4",{id:"connected"},"Connected"),(0,l.kt)("p",null,"Event fires once the Client has connected its Server."),(0,l.kt)("h5",{id:"declaration-13"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public IAddLateEventUnity<INetworkPlayer> Connected { get; }\n")),(0,l.kt)("h4",{id:"authenticated"},"Authenticated"),(0,l.kt)("p",null,"Event fires after the Client connection has successfully been authenticated with its Server."),(0,l.kt)("h5",{id:"declaration-14"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public IAddLateEventUnity<INetworkPlayer> Authenticated { get; }\n")),(0,l.kt)("h4",{id:"disconnected"},"Disconnected"),(0,l.kt)("p",null,"Event fires after the Client has disconnected from its Server and Cleanup has been called."),(0,l.kt)("h5",{id:"declaration-15"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public IAddLateEventUnity<ClientStoppedReason> Disconnected { get; }\n")),(0,l.kt)("h4",{id:"player"},"Player"),(0,l.kt)("p",null,"The NetworkConnection object this client is using."),(0,l.kt)("h5",{id:"declaration-16"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public INetworkPlayer Player { get; }\n")),(0,l.kt)("h4",{id:"active"},"Active"),(0,l.kt)("p",null,"active is true while a client is connecting/connected\n(= while the network is active)"),(0,l.kt)("h5",{id:"declaration-17"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Active { get; }\n")),(0,l.kt)("h4",{id:"isconnected"},"IsConnected"),(0,l.kt)("p",null,"This gives the current connection status of the client."),(0,l.kt)("h5",{id:"declaration-18"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsConnected { get; }\n")),(0,l.kt)("h4",{id:"world"},"World"),(0,l.kt)("h5",{id:"declaration-19"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkWorld World { get; }\n")),(0,l.kt)("h4",{id:"syncvarsender"},"SyncVarSender"),(0,l.kt)("h5",{id:"declaration-20"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncVarSender SyncVarSender { get; }\n")),(0,l.kt)("h4",{id:"messagehandler"},"MessageHandler"),(0,l.kt)("h5",{id:"declaration-21"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public MessageHandler MessageHandler { get; }\n")),(0,l.kt)("h4",{id:"islocalclient"},"IsLocalClient"),(0,l.kt)("p",null,"Is this NetworkClient connected to a local server in host mode"),(0,l.kt)("h5",{id:"declaration-22"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},'[Obsolete("use IsHost instead")]\npublic bool IsLocalClient { get; }\n')),(0,l.kt)("h4",{id:"ishost"},"IsHost"),(0,l.kt)("p",null,"Is this NetworkClient connected to a local server in host mode"),(0,l.kt)("h5",{id:"declaration-23"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsHost { get; }\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"connectstring-nullableuint16"},"Connect(String, Nullable","<","UInt16",">",")"),(0,l.kt)("p",null,"Connect client to a NetworkServer instance."),(0,l.kt)("h5",{id:"declaration-24"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Connect(string address = null, ushort? port = default(ushort? ))\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.String"),(0,l.kt)("td",{parentName:"tr",align:null},"address"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Nullable","<","System.UInt16",">"),(0,l.kt)("td",{parentName:"tr",align:null},"port"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"disconnect"},"Disconnect()"),(0,l.kt)("p",null,"Disconnect from server.\nThe disconnect message will be invoked."),(0,l.kt)("h5",{id:"declaration-25"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Disconnect()\n")),(0,l.kt)("h4",{id:"sendtt-channel"},"Send","<","T",">","(T, Channel)"),(0,l.kt)("p",null,"This sends a network message with a message Id to the server. This message is sent on channel zero, which by default is the reliable channel.\nThe message must be an instance of a class derived from MessageBase.\nThe message id passed to Send() is used to identify the handler function to invoke on the server when the message is received."),(0,l.kt)("h5",{id:"declaration-26"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Send<T>(T message, Channel channelId = Channel.Reliable)\n")),(0,l.kt)("h5",{id:"parameters-1"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"T"),(0,l.kt)("td",{parentName:"tr",align:null},"message"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,l.kt)("td",{parentName:"tr",align:null},"channelId"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"sendarraysegmentbyte-channel"},"Send(ArraySegment","<","Byte",">",", Channel)"),(0,l.kt)("h5",{id:"declaration-27"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Send(ArraySegment<byte> segment, Channel channelId = Channel.Reliable)\n")),(0,l.kt)("h5",{id:"parameters-2"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,l.kt)("td",{parentName:"tr",align:null},"segment"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,l.kt)("td",{parentName:"tr",align:null},"channelId"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"sendtt-inotifycallback"},"Send","<","T",">","(T, INotifyCallBack)"),(0,l.kt)("h5",{id:"declaration-28"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Send<T>(T message, INotifyCallBack notifyCallBack)\n")),(0,l.kt)("h5",{id:"parameters-3"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"T"),(0,l.kt)("td",{parentName:"tr",align:null},"message"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyCallBack"),(0,l.kt)("td",{parentName:"tr",align:null},"notifyCallBack"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"updatereceive"},"UpdateReceive()"),(0,l.kt)("h5",{id:"declaration-29"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void UpdateReceive()\n")),(0,l.kt)("h4",{id:"updatesent"},"UpdateSent()"),(0,l.kt)("h5",{id:"declaration-30"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void UpdateSent()\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/df9b0653.cfe31307.js b/assets/js/df9b0653.cfe31307.js new file mode 100644 index 00000000000..ebf341a0c3a --- /dev/null +++ b/assets/js/df9b0653.cfe31307.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5909],{3905:(t,e,a)=>{a.d(e,{Zo:()=>p,kt:()=>k});var r=a(67294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,r)}return a}function i(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?l(Object(a),!0).forEach((function(e){n(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}function o(t,e){if(null==t)return{};var a,r,n=function(t,e){if(null==t)return{};var a,r,n={},l=Object.keys(t);for(r=0;r<l.length;r++)a=l[r],e.indexOf(a)>=0||(n[a]=t[a]);return n}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(r=0;r<l.length;r++)a=l[r],e.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}var u=r.createContext({}),c=function(t){var e=r.useContext(u),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},p=function(t){var e=c(t.components);return r.createElement(u.Provider,{value:e},t.children)},s={inlineCode:"code",wrapper:function(t){var e=t.children;return r.createElement(r.Fragment,{},e)}},d=r.forwardRef((function(t,e){var a=t.components,n=t.mdxType,l=t.originalType,u=t.parentName,p=o(t,["components","mdxType","originalType","parentName"]),d=c(a),k=n,m=d["".concat(u,".").concat(k)]||d[k]||s[k]||l;return a?r.createElement(m,i(i({ref:e},p),{},{components:a})):r.createElement(m,i({ref:e},p))}));function k(t,e){var a=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var l=a.length,i=new Array(l);i[0]=d;var o={};for(var u in e)hasOwnProperty.call(e,u)&&(o[u]=e[u]);o.originalType=t,o.mdxType="string"==typeof t?t:n,i[1]=o;for(var c=2;c<l;c++)i[c]=a[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}d.displayName="MDXCreateElement"},52:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>u,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var r=a(87462),n=(a(67294),a(3905));const l={id:"NetworkAuthenticator-1",title:"NetworkAuthenticator<T>"},i="Class NetworkAuthenticator<T>",o={unversionedId:"reference/Mirage.Authentication/NetworkAuthenticator-1",id:"reference/Mirage.Authentication/NetworkAuthenticator-1",title:"NetworkAuthenticator<T>",description:"Inheritance",source:"@site/docs/reference/Mirage.Authentication/NetworkAuthenticator-1.md",sourceDirName:"reference/Mirage.Authentication",slug:"/reference/Mirage.Authentication/NetworkAuthenticator-1",permalink:"/Mirage/docs/reference/Mirage.Authentication/NetworkAuthenticator-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authentication/NetworkAuthenticator-1.md",tags:[],version:"current",frontMatter:{id:"NetworkAuthenticator-1",title:"NetworkAuthenticator<T>"},sidebar:"api",previous:{title:"INetworkAuthenticator",permalink:"/Mirage/docs/reference/Mirage.Authentication/INetworkAuthenticator"},next:{title:"NetworkAuthenticator",permalink:"/Mirage/docs/reference/Mirage.Authentication/NetworkAuthenticator"}},u={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Methods",id:"methods",level:3},{value:"AuthenticateAsync(INetworkPlayer, T)",id:"authenticateasyncinetworkplayer-t",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5},{value:"Authenticate(INetworkPlayer, T)",id:"authenticateinetworkplayer-t",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns-1",level:5},{value:"SendAuthentication(NetworkClient, T)",id:"sendauthenticationnetworkclient-t",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5}],p={toc:c};function s(t){let{components:e,...a}=t;return(0,n.kt)("wrapper",(0,r.Z)({},p,a,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networkauthenticatort"},"Class NetworkAuthenticator","<","T",">"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Authentication.NetworkAuthenticator")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show"),(0,n.kt)("p",null,"Mirage.Authentication.NetworkAuthenticator.AuthenticatorName")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public abstract class NetworkAuthenticator<T> : NetworkAuthenticator, INetworkAuthenticator\n")),(0,n.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"authenticateasyncinetworkplayer-t"},"AuthenticateAsync(INetworkPlayer, T)"),(0,n.kt)("p",null,"Called on server to Authenticate a message from client"),(0,n.kt)("p",null,"Use OR .\nBy default the async version just call the normal version."),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected virtual UniTask<AuthenticationResult> AuthenticateAsync(INetworkPlayer player, T message)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null},"player that send message")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"message"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Cysharp.Threading.Tasks.UniTask","<","Mirage.Authentication.AuthenticationResult",">"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"authenticateinetworkplayer-t"},"Authenticate(INetworkPlayer, T)"),(0,n.kt)("p",null,"Called on server to Authenticate a message from client"),(0,n.kt)("p",null,"Use OR .\nBy default the async version just call the normal version."),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected virtual AuthenticationResult Authenticate(INetworkPlayer player, T message)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.INetworkPlayer"),(0,n.kt)("td",{parentName:"tr",align:null},"player"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"message"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Authentication.AuthenticationResult"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"sendauthenticationnetworkclient-t"},"SendAuthentication(NetworkClient, T)"),(0,n.kt)("p",null,"Sends Authentication from client"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SendAuthentication(NetworkClient client, T message)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkClient"),(0,n.kt)("td",{parentName:"tr",align:null},"client"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null},"message"),(0,n.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/dfedeaf8.ff1812c8.js b/assets/js/dfedeaf8.ff1812c8.js new file mode 100644 index 00000000000..2c0088f9df4 --- /dev/null +++ b/assets/js/dfedeaf8.ff1812c8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7667],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>k});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function c(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=r.createContext({}),p=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},d=function(e){var t=p(e.components);return r.createElement(o.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),u=p(a),k=n,m=u["".concat(o,".").concat(k)]||u[k]||s[k]||l;return a?r.createElement(m,i(i({ref:t},d),{},{components:a})):r.createElement(m,i({ref:t},d))}));function k(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=u;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var p=2;p<l;p++)i[p]=a[p];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}u.displayName="MDXCreateElement"},26744:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>c,toc:()=>p});var r=a(87462),n=(a(67294),a(3905));const l={id:"PacketType",title:"PacketType"},i="Enum PacketType",c={unversionedId:"reference/Mirage.SocketLayer/PacketType",id:"reference/Mirage.SocketLayer/PacketType",title:"PacketType",description:"Syntax",source:"@site/docs/reference/Mirage.SocketLayer/PacketType.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/PacketType",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/PacketType",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/PacketType.md",tags:[],version:"current",frontMatter:{id:"PacketType",title:"PacketType"},sidebar:"api",previous:{title:"NotifyToken",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/NotifyToken"},next:{title:"Peer",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Peer"}},o={},p=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Command",id:"command",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Unreliable",id:"unreliable",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Notify",id:"notify",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Reliable",id:"reliable",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"ReliableFragment",id:"reliablefragment",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Ack",id:"ack",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"KeepAlive",id:"keepalive",level:4},{value:"Declaration",id:"declaration-6",level:5}],d={toc:p};function s(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"enum-packettype"},"Enum PacketType"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public enum PacketType\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"command"},"Command"),(0,n.kt)("p",null,"see "),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"Command = 1\n")),(0,n.kt)("h4",{id:"unreliable"},"Unreliable"),(0,n.kt)("p",null,"data packet sent with no guarantee for order or reliability\nused for data that is fire and forget"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"Unreliable = 2\n")),(0,n.kt)("h4",{id:"notify"},"Notify"),(0,n.kt)("p",null,"data packet sent with ack header so sender knows if packet gets delivered or lost"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"Notify = 3\n")),(0,n.kt)("h4",{id:"reliable"},"Reliable"),(0,n.kt)("p",null,"data packet that are guarantee to be in order, and not lost.\ncontains ack header\nIf a package is lost then other Reliable packets will be held until the lost packet is resent"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"Reliable = 4\n")),(0,n.kt)("h4",{id:"reliablefragment"},"ReliableFragment"),(0,n.kt)("p",null,"part of a Reliable message. same as Reliable but only part of a message"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"ReliableFragment = 6\n")),(0,n.kt)("h4",{id:"ack"},"Ack"),(0,n.kt)("p",null,"packet with just ack header\nonly sent if no other packets with ack header were sent recently"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"Ack = 5\n")),(0,n.kt)("h4",{id:"keepalive"},"KeepAlive"),(0,n.kt)("p",null,"Used to keep connection alive.\nSimilar to ping/pong"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"KeepAlive = 10\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e09e4b5c.3d21435a.js b/assets/js/e09e4b5c.3d21435a.js new file mode 100644 index 00000000000..978f86cf79b --- /dev/null +++ b/assets/js/e09e4b5c.3d21435a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4788],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>s});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var d=n.createContext({}),m=function(e){var t=n.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=m(e.components);return n.createElement(d.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=m(a),s=r,k=u["".concat(d,".").concat(s)]||u[s]||c[s]||l;return a?n.createElement(k,i(i({ref:t},p),{},{components:a})):n.createElement(k,i({ref:t},p))}));function s(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=u;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:r,i[1]=o;for(var m=2;m<l;m++)i[m]=a[m];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}u.displayName="MDXCreateElement"},57351:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>o,toc:()=>m});var n=a(87462),r=(a(67294),a(3905));const l={id:"SyncSettings",title:"SyncSettings"},i="Struct SyncSettings",o={unversionedId:"reference/Mirage/SyncSettings",id:"reference/Mirage/SyncSettings",title:"SyncSettings",description:"Syntax",source:"@site/docs/reference/Mirage/SyncSettings.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/SyncSettings",permalink:"/Mirage/docs/reference/Mirage/SyncSettings",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/SyncSettings.md",tags:[],version:"current",frontMatter:{id:"SyncSettings",title:"SyncSettings"},sidebar:"api",previous:{title:"SyncPrefabSerialize",permalink:"/Mirage/docs/reference/Mirage/SyncPrefabSerialize"},next:{title:"SyncTiming",permalink:"/Mirage/docs/reference/Mirage/SyncTiming"}},d={},m=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"INTERVAL_TOOLTIP",id:"interval_tooltip",level:4},{value:"Declaration",id:"declaration",level:5},{value:"From",id:"from",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"To",id:"to",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Timing",id:"timing",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Interval",id:"interval",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Default",id:"default",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Methods",id:"methods",level:3},{value:"UpdateTime(ref Double, Double)",id:"updatetimeref-double-double",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters",level:5},{value:"UpdateTime(Single, SyncTiming, ref Double, Double)",id:"updatetimesingle-synctiming-ref-double-double",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"ShouldSyncFrom(NetworkIdentity, Boolean)",id:"shouldsyncfromnetworkidentity-boolean",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Returns",id:"returns",level:5},{value:"ToObserverWriterOnly(NetworkIdentity)",id:"toobserverwriteronlynetworkidentity",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-1",level:5},{value:"CopyToObservers(NetworkIdentity)",id:"copytoobserversnetworkidentity",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns-2",level:5},{value:"IsValidDirection(SyncFrom, SyncTo)",id:"isvaliddirectionsyncfrom-syncto",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"Returns",id:"returns-3",level:5},{value:"InvalidReason(SyncFrom, SyncTo)",id:"invalidreasonsyncfrom-syncto",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"Returns",id:"returns-4",level:5}],p={toc:m};function c(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"struct-syncsettings"},"Struct SyncSettings"),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic struct SyncSettings\n")),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"interval_tooltip"},"INTERVAL_TOOLTIP"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public const string INTERVAL_TOOLTIP = \"Time in seconds until next change is synchronized to the client. '0' means send immediately if changed. '0.5' means only send changes every 500ms.\\n(This is for state synchronization like SyncVars, SyncLists, OnSerialize. Not for Cmds, Rpcs, etc.)\"\n")),(0,r.kt)("h4",{id:"from"},"From"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncFrom From\n")),(0,r.kt)("h4",{id:"to"},"To"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncTo To\n")),(0,r.kt)("h4",{id:"timing"},"Timing"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncTiming Timing\n")),(0,r.kt)("h4",{id:"interval"},"Interval"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public float Interval\n")),(0,r.kt)("h4",{id:"default"},"Default"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static readonly SyncSettings Default\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"updatetimeref-double-double"},"UpdateTime(ref Double, Double)"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void UpdateTime(ref double nextSyncTime, double now)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Double"),(0,r.kt)("td",{parentName:"tr",align:null},"nextSyncTime"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Double"),(0,r.kt)("td",{parentName:"tr",align:null},"now"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"updatetimesingle-synctiming-ref-double-double"},"UpdateTime(Single, SyncTiming, ref Double, Double)"),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static void UpdateTime(float interval, SyncTiming timing, ref double nextSyncTime, double now)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,r.kt)("td",{parentName:"tr",align:null},"interval"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SyncTiming"),(0,r.kt)("td",{parentName:"tr",align:null},"timing"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Double"),(0,r.kt)("td",{parentName:"tr",align:null},"nextSyncTime"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Double"),(0,r.kt)("td",{parentName:"tr",align:null},"now"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"shouldsyncfromnetworkidentity-boolean"},"ShouldSyncFrom(NetworkIdentity, Boolean)"),(0,r.kt)("h5",{id:"declaration-8"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool ShouldSyncFrom(NetworkIdentity identity, bool syncInHostMode)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,r.kt)("td",{parentName:"tr",align:null},"identity"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"syncInHostMode"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"toobserverwriteronlynetworkidentity"},"ToObserverWriterOnly(NetworkIdentity)"),(0,r.kt)("h5",{id:"declaration-9"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool ToObserverWriterOnly(NetworkIdentity identity)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,r.kt)("td",{parentName:"tr",align:null},"identity"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-1"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"copytoobserversnetworkidentity"},"CopyToObservers(NetworkIdentity)"),(0,r.kt)("h5",{id:"declaration-10"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool CopyToObservers(NetworkIdentity identity)\n")),(0,r.kt)("h5",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,r.kt)("td",{parentName:"tr",align:null},"identity"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-2"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"isvaliddirectionsyncfrom-syncto"},"IsValidDirection(SyncFrom, SyncTo)"),(0,r.kt)("h5",{id:"declaration-11"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static bool IsValidDirection(SyncFrom from, SyncTo to)\n")),(0,r.kt)("h5",{id:"parameters-5"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SyncFrom"),(0,r.kt)("td",{parentName:"tr",align:null},"from"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SyncTo"),(0,r.kt)("td",{parentName:"tr",align:null},"to"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-3"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"invalidreasonsyncfrom-syncto"},"InvalidReason(SyncFrom, SyncTo)"),(0,r.kt)("h5",{id:"declaration-12"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public static string InvalidReason(SyncFrom from, SyncTo to)\n")),(0,r.kt)("h5",{id:"parameters-6"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SyncFrom"),(0,r.kt)("td",{parentName:"tr",align:null},"from"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SyncTo"),(0,r.kt)("td",{parentName:"tr",align:null},"to"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-4"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.String"),(0,r.kt)("td",{parentName:"tr",align:null})))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e0e16dd2.26b2e523.js b/assets/js/e0e16dd2.26b2e523.js new file mode 100644 index 00000000000..23124290859 --- /dev/null +++ b/assets/js/e0e16dd2.26b2e523.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5515],{3905:(e,t,a)=>{a.d(t,{Zo:()=>o,kt:()=>u});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function s(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},l=Object.keys(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)a=l[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var d=n.createContext({}),p=function(e){var t=n.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},o=function(e){var t=p(e.components);return n.createElement(d.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},g=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,l=e.originalType,d=e.parentName,o=s(e,["components","mdxType","originalType","parentName"]),g=p(a),u=r,m=g["".concat(d,".").concat(u)]||g[u]||c[u]||l;return a?n.createElement(m,i(i({ref:t},o),{},{components:a})):n.createElement(m,i({ref:t},o))}));function u(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=a.length,i=new Array(l);i[0]=g;var s={};for(var d in t)hasOwnProperty.call(t,d)&&(s[d]=t[d]);s.originalType=e,s.mdxType="string"==typeof e?e:r,i[1]=s;for(var p=2;p<l;p++)i[p]=a[p];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}g.displayName="MDXCreateElement"},71337:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>s,toc:()=>p});var n=a(87462),r=(a(67294),a(3905));const l={id:"ClientObjectManager",title:"ClientObjectManager"},i="Class ClientObjectManager",s={unversionedId:"reference/Mirage/ClientObjectManager",id:"reference/Mirage/ClientObjectManager",title:"ClientObjectManager",description:"Inheritance",source:"@site/docs/reference/Mirage/ClientObjectManager.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/ClientObjectManager",permalink:"/Mirage/docs/reference/Mirage/ClientObjectManager",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/ClientObjectManager.md",tags:[],version:"current",frontMatter:{id:"ClientObjectManager",title:"ClientObjectManager"},sidebar:"api",previous:{title:"ClientAttribute",permalink:"/Mirage/docs/reference/Mirage/ClientAttribute"},next:{title:"ClientRpcAttribute",permalink:"/Mirage/docs/reference/Mirage/ClientRpcAttribute"}},d={},p=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"spawnPrefabs",id:"spawnprefabs",level:4},{value:"Declaration",id:"declaration",level:5},{value:"NetworkPrefabs",id:"networkprefabs",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"spawnableObjects",id:"spawnableobjects",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Properties",id:"properties",level:3},{value:"Client",id:"client",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Methods",id:"methods",level:3},{value:"PrepareToSpawnSceneObjects()",id:"preparetospawnsceneobjects",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"RegisterPrefabs(IEnumerable<NetworkIdentity>, Boolean)",id:"registerprefabsienumerablenetworkidentity-boolean",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters",level:5},{value:"GetSpawnHandler(Int32)",id:"getspawnhandlerint32",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"RegisterPrefab(NetworkIdentity, Int32)",id:"registerprefabnetworkidentity-int32",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"RegisterPrefab(NetworkIdentity)",id:"registerprefabnetworkidentity",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"RegisterUnspawnHandler(NetworkIdentity, UnSpawnDelegate)",id:"registerunspawnhandlernetworkidentity-unspawndelegate",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"UnregisterPrefab(NetworkIdentity)",id:"unregisterprefabnetworkidentity",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"RegisterSpawnHandler(NetworkIdentity, SpawnHandlerDelegate, UnSpawnDelegate)",id:"registerspawnhandlernetworkidentity-spawnhandlerdelegate-unspawndelegate",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"RegisterSpawnHandler(Int32, SpawnHandlerDelegate, UnSpawnDelegate)",id:"registerspawnhandlerint32-spawnhandlerdelegate-unspawndelegate",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"RegisterSpawnHandler(NetworkIdentity, SpawnHandlerAsyncDelegate, UnSpawnDelegate)",id:"registerspawnhandlernetworkidentity-spawnhandlerasyncdelegate-unspawndelegate",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"RegisterSpawnHandler(Int32, SpawnHandlerAsyncDelegate, UnSpawnDelegate)",id:"registerspawnhandlerint32-spawnhandlerasyncdelegate-unspawndelegate",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"UnregisterSpawnHandler(Int32)",id:"unregisterspawnhandlerint32",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Parameters",id:"parameters-10",level:5},{value:"ClearSpawners()",id:"clearspawners",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"RegisterDynamicSpawnHandler(DynamicSpawnHandlerDelegate)",id:"registerdynamicspawnhandlerdynamicspawnhandlerdelegate",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Parameters",id:"parameters-11",level:5},{value:"DestroyAllClientObjects()",id:"destroyallclientobjects",level:4},{value:"Declaration",id:"declaration-18",level:5}],o={toc:p};function c(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,n.Z)({},o,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-clientobjectmanager"},"Class ClientObjectManager"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class ClientObjectManager : MonoBehaviour\n")),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"spawnprefabs"},"spawnPrefabs"),(0,r.kt)("p",null,"List of prefabs that will be registered with the spawning system.\nFor each of these prefabs, ClientManager.RegisterPrefab() will be automatically invoke."),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public List<NetworkIdentity> spawnPrefabs\n")),(0,r.kt)("h4",{id:"networkprefabs"},"NetworkPrefabs"),(0,r.kt)("p",null,"A scriptable object that holds all the prefabs that will be registered with the spawning system.\nFor each of these prefabs, ClientManager.RegisterPrefab() will be automatically invoked."),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkPrefabs NetworkPrefabs\n")),(0,r.kt)("h4",{id:"spawnableobjects"},"spawnableObjects"),(0,r.kt)("p",null,"This is dictionary of the disabled NetworkIdentity objects in the scene that could be spawned by messages from the server.\nThe key to the dictionary is the NetworkIdentity sceneId."),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly Dictionary<ulong, NetworkIdentity> spawnableObjects\n")),(0,r.kt)("h3",{id:"properties"},"Properties"),(0,r.kt)("h4",{id:"client"},"Client"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkClient Client { get; }\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"preparetospawnsceneobjects"},"PrepareToSpawnSceneObjects()"),(0,r.kt)("p",null,"Call this after loading/unloading a scene in the client after connection to register the spawnable objects"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void PrepareToSpawnSceneObjects()\n")),(0,r.kt)("h4",{id:"registerprefabsienumerablenetworkidentity-boolean"},"RegisterPrefabs(IEnumerable","<","NetworkIdentity",">",", Boolean)"),(0,r.kt)("p",null,"Calls on each object in the prefabs collection"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RegisterPrefabs(IEnumerable<NetworkIdentity> prefabs, bool skipExisting)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","Mirage.NetworkIdentity",">"),(0,r.kt)("td",{parentName:"tr",align:null},"prefabs"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"skipExisting"),(0,r.kt)("td",{parentName:"tr",align:null},"Dont call ",(0,r.kt)("xref",{href:"Mirage.ClientObjectManager.RegisterPrefab(Mirage.NetworkIdentity%2cSystem.Int32)","data-throw-if-not-resolved":"false"})," for prefab","'","s who","'","s hash is already in the list of handlers. This can happen if custom handler is added for a prefab in the insepctor list")))),(0,r.kt)("h4",{id:"getspawnhandlerint32"},"GetSpawnHandler(Int32)"),(0,r.kt)("p",null,"Find the registered or dynamic handler for prefabHash\nUseful for debuggers"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SpawnHandler GetSpawnHandler(int prefabHash)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"prefabHash"),(0,r.kt)("td",{parentName:"tr",align:null},"asset id of the prefab")))),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SpawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null},"true if prefab was registered")))),(0,r.kt)("h4",{id:"registerprefabnetworkidentity-int32"},"RegisterPrefab(NetworkIdentity, Int32)"),(0,r.kt)("p",null,"Registers a prefab with the spawning system."),(0,r.kt)("p",null,"When a NetworkIdentity object is spawned on the server with ServerObjectManager.Spawn(),\nthe server will send a spawn message to the client with the PrefabHash.\nthe client then finds the prefab registered with RegisterPrefab() to instantiate the client object."),(0,r.kt)("p",null,"The ClientObjectManager has a list of spawnable prefabs, it uses this function to register those prefabs with the ClientScene.\nThe set of current spawnable object is available in the ClientScene static member variable ClientScene.prefabs, which is a dictionary of PrefabHash and prefab references."),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RegisterPrefab(NetworkIdentity identity, int newPrefabHash)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,r.kt)("td",{parentName:"tr",align:null},"identity"),(0,r.kt)("td",{parentName:"tr",align:null},"A Prefab that will be spawned.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"newPrefabHash"),(0,r.kt)("td",{parentName:"tr",align:null},"A hash to be assigned to this prefab. This allows a dynamically created game object to be registered for an already known asset Id.")))),(0,r.kt)("h4",{id:"registerprefabnetworkidentity"},"RegisterPrefab(NetworkIdentity)"),(0,r.kt)("p",null,"Registers a prefab with the spawning system."),(0,r.kt)("p",null,"When a NetworkIdentity object is spawned on the server with ServerObjectManager.Spawn(),\nthe server will send a spawn message to the client with the PrefabHash.\nthe client then finds the prefab registered with RegisterPrefab() to instantiate the client object."),(0,r.kt)("p",null,"The ClientObjectManager has a list of spawnable prefabs, it uses this function to register those prefabs with the ClientScene.\nThe set of current spawnable object is available in the ClientScene static member variable ClientScene.prefabs, which is a dictionary of PrefabHash and prefab references."),(0,r.kt)("h5",{id:"declaration-8"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RegisterPrefab(NetworkIdentity identity)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,r.kt)("td",{parentName:"tr",align:null},"identity"),(0,r.kt)("td",{parentName:"tr",align:null},"A Prefab that will be spawned.")))),(0,r.kt)("h4",{id:"registerunspawnhandlernetworkidentity-unspawndelegate"},"RegisterUnspawnHandler(NetworkIdentity, UnSpawnDelegate)"),(0,r.kt)("p",null,"Registers an unspawn handler for a prefab\nShould be called after RegisterPrefab"),(0,r.kt)("h5",{id:"declaration-9"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RegisterUnspawnHandler(NetworkIdentity identity, UnSpawnDelegate unspawnHandler)\n")),(0,r.kt)("h5",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,r.kt)("td",{parentName:"tr",align:null},"identity"),(0,r.kt)("td",{parentName:"tr",align:null},"Prefab to add handler for")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.UnSpawnDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"unspawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null},"A method to use as a custom un-spawnhandler on clients.")))),(0,r.kt)("h4",{id:"unregisterprefabnetworkidentity"},"UnregisterPrefab(NetworkIdentity)"),(0,r.kt)("p",null,"Removes a registered spawn prefab that was setup with ClientScene.RegisterPrefab."),(0,r.kt)("h5",{id:"declaration-10"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void UnregisterPrefab(NetworkIdentity identity)\n")),(0,r.kt)("h5",{id:"parameters-5"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,r.kt)("td",{parentName:"tr",align:null},"identity"),(0,r.kt)("td",{parentName:"tr",align:null},"The prefab to be removed from registration.")))),(0,r.kt)("h4",{id:"registerspawnhandlernetworkidentity-spawnhandlerdelegate-unspawndelegate"},"RegisterSpawnHandler(NetworkIdentity, SpawnHandlerDelegate, UnSpawnDelegate)"),(0,r.kt)("p",null,"Registers custom handlers for a prefab with the spawning system."),(0,r.kt)("p",null,"When a NetworkIdentity object is spawned on the server with ServerObjectManager.Spawn(),\nthe server will send a spawn message to the client with the PrefabHash.\nthe client then finds the prefab registered with RegisterPrefab() to instantiate the client object."),(0,r.kt)("p",null,"The ClientObjectManager has a list of spawnable prefabs, it uses this function to register those prefabs with the ClientScene.\nThe set of current spawnable object is available in the ClientScene static member variable ClientScene.prefabs, which is a dictionary of PrefabHash and prefab references."),(0,r.kt)("h5",{id:"declaration-11"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RegisterSpawnHandler(NetworkIdentity identity, SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler)\n")),(0,r.kt)("h5",{id:"parameters-6"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,r.kt)("td",{parentName:"tr",align:null},"identity"),(0,r.kt)("td",{parentName:"tr",align:null},"A Prefab that will be spawned.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SpawnHandlerDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"spawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null},"A method to use as a custom spawnhandler on clients.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.UnSpawnDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"unspawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null},"A method to use as a custom un-spawnhandler on clients.")))),(0,r.kt)("h4",{id:"registerspawnhandlerint32-spawnhandlerdelegate-unspawndelegate"},"RegisterSpawnHandler(Int32, SpawnHandlerDelegate, UnSpawnDelegate)"),(0,r.kt)("p",null,"This is an advanced spawning function that registers a custom prefabHash with the UNET spawning system.\nThis can be used to register custom spawning methods for an prefabHash - instead of the usual method of registering spawning methods for a prefab. This should be used when no prefab exists for the spawned objects - such as when they are constructed dynamically at runtime from configuration data."),(0,r.kt)("h5",{id:"declaration-12"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RegisterSpawnHandler(int prefabHash, SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler)\n")),(0,r.kt)("h5",{id:"parameters-7"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"prefabHash"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SpawnHandlerDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"spawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null},"A method to use as a custom spawnhandler on clients.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.UnSpawnDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"unspawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null},"A method to use as a custom un-spawnhandler on clients.")))),(0,r.kt)("h4",{id:"registerspawnhandlernetworkidentity-spawnhandlerasyncdelegate-unspawndelegate"},"RegisterSpawnHandler(NetworkIdentity, SpawnHandlerAsyncDelegate, UnSpawnDelegate)"),(0,r.kt)("h5",{id:"declaration-13"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RegisterSpawnHandler(NetworkIdentity identity, SpawnHandlerAsyncDelegate spawnHandler, UnSpawnDelegate unspawnHandler)\n")),(0,r.kt)("h5",{id:"parameters-8"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,r.kt)("td",{parentName:"tr",align:null},"identity"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SpawnHandlerAsyncDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"spawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.UnSpawnDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"unspawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"registerspawnhandlerint32-spawnhandlerasyncdelegate-unspawndelegate"},"RegisterSpawnHandler(Int32, SpawnHandlerAsyncDelegate, UnSpawnDelegate)"),(0,r.kt)("h5",{id:"declaration-14"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RegisterSpawnHandler(int prefabHash, SpawnHandlerAsyncDelegate spawnHandler, UnSpawnDelegate unspawnHandler)\n")),(0,r.kt)("h5",{id:"parameters-9"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"prefabHash"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.SpawnHandlerAsyncDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"spawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.UnSpawnDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"unspawnHandler"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"unregisterspawnhandlerint32"},"UnregisterSpawnHandler(Int32)"),(0,r.kt)("p",null,"Removes a registered spawn handler function that was registered with ClientScene.RegisterHandler()."),(0,r.kt)("h5",{id:"declaration-15"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void UnregisterSpawnHandler(int prefabHash)\n")),(0,r.kt)("h5",{id:"parameters-10"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"prefabHash"),(0,r.kt)("td",{parentName:"tr",align:null},"The prefabHash for the handler to be removed for.")))),(0,r.kt)("h4",{id:"clearspawners"},"ClearSpawners()"),(0,r.kt)("p",null,"This clears the registered spawn prefabs and spawn handler functions for this client."),(0,r.kt)("h5",{id:"declaration-16"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void ClearSpawners()\n")),(0,r.kt)("h4",{id:"registerdynamicspawnhandlerdynamicspawnhandlerdelegate"},"RegisterDynamicSpawnHandler(DynamicSpawnHandlerDelegate)"),(0,r.kt)("h5",{id:"declaration-17"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RegisterDynamicSpawnHandler(DynamicSpawnHandlerDelegate dynamicHandler)\n")),(0,r.kt)("h5",{id:"parameters-11"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.DynamicSpawnHandlerDelegate"),(0,r.kt)("td",{parentName:"tr",align:null},"dynamicHandler"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"destroyallclientobjects"},"DestroyAllClientObjects()"),(0,r.kt)("p",null,"Destroys all networked objects on the client.\nThis can be used to clean up when a network connection is closed."),(0,r.kt)("h5",{id:"declaration-18"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void DestroyAllClientObjects()\n")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e15849bb.7cfa63a4.js b/assets/js/e15849bb.7cfa63a4.js new file mode 100644 index 00000000000..8bcfa80695d --- /dev/null +++ b/assets/js/e15849bb.7cfa63a4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3728],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>m});var l=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,l)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,l,a=function(e,t){if(null==e)return{};var r,l,a={},n=Object.keys(e);for(l=0;l<n.length;l++)r=n[l],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(l=0;l<n.length;l++)r=n[l],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=l.createContext({}),s=function(e){var t=l.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},p=function(e){var t=s(e.components);return l.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},u=l.forwardRef((function(e,t){var r=e.components,a=e.mdxType,n=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=s(r),m=a,g=u["".concat(c,".").concat(m)]||u[m]||d[m]||n;return r?l.createElement(g,o(o({ref:t},p),{},{components:r})):l.createElement(g,o({ref:t},p))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=r.length,o=new Array(n);o[0]=u;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:a,o[1]=i;for(var s=2;s<n;s++)o[s]=r[s];return l.createElement.apply(null,o)}return l.createElement.apply(null,r)}u.displayName="MDXCreateElement"},13128:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>n,metadata:()=>i,toc:()=>s});var l=r(87462),a=(r(67294),r(3905));const n={id:"Mirage.RemoteCalls",title:"Mirage.RemoteCalls"},o="Mirage.RemoteCalls",i={unversionedId:"reference/Mirage.RemoteCalls/Mirage.RemoteCalls",id:"reference/Mirage.RemoteCalls/Mirage.RemoteCalls",title:"Mirage.RemoteCalls",description:"Classes",source:"@site/docs/reference/Mirage.RemoteCalls/index.md",sourceDirName:"reference/Mirage.RemoteCalls",slug:"/reference/Mirage.RemoteCalls/",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.RemoteCalls/index.md",tags:[],version:"current",frontMatter:{id:"Mirage.RemoteCalls",title:"Mirage.RemoteCalls"},sidebar:"api",previous:{title:"MirageLogHandler",permalink:"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler"},next:{title:"ClientRpcSender",permalink:"/Mirage/docs/reference/Mirage.RemoteCalls/ClientRpcSender"}},c={},s=[{value:"Classes",id:"classes",level:2},{value:"ClientRpcSender",id:"clientrpcsender",level:4},{value:"RemoteCall",id:"remotecall",level:4},{value:"RemoteCallCollection",id:"remotecallcollection",level:4},{value:"ServerRpcSender",id:"serverrpcsender",level:4},{value:"Structs",id:"structs",level:2},{value:"RpcMessage",id:"rpcmessage",level:4},{value:"RpcReply",id:"rpcreply",level:4},{value:"RpcWithReplyMessage",id:"rpcwithreplymessage",level:4},{value:"Enums",id:"enums",level:2},{value:"RpcInvokeType",id:"rpcinvoketype",level:4},{value:"Delegates",id:"delegates",level:2},{value:"RequestDelegate<T>",id:"requestdelegatet",level:4},{value:"RpcDelegate",id:"rpcdelegate",level:4}],p={toc:s};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,l.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"mirageremotecalls"},"Mirage.RemoteCalls"),(0,a.kt)("h2",{id:"classes"},"Classes"),(0,a.kt)("h4",{id:"clientrpcsender"},(0,a.kt)("a",{parentName:"h4",href:"./ClientRpcSender"},"ClientRpcSender")),(0,a.kt)("h4",{id:"remotecall"},(0,a.kt)("a",{parentName:"h4",href:"./RemoteCall"},"RemoteCall")),(0,a.kt)("blockquote",null,(0,a.kt)("p",{parentName:"blockquote"},"Used for invoking a RPC methods")),(0,a.kt)("h4",{id:"remotecallcollection"},(0,a.kt)("a",{parentName:"h4",href:"./RemoteCallCollection"},"RemoteCallCollection")),(0,a.kt)("h4",{id:"serverrpcsender"},(0,a.kt)("a",{parentName:"h4",href:"./ServerRpcSender"},"ServerRpcSender")),(0,a.kt)("blockquote",null,(0,a.kt)("p",{parentName:"blockquote"},"Methods used by weaver to send RPCs")),(0,a.kt)("h2",{id:"structs"},"Structs"),(0,a.kt)("h4",{id:"rpcmessage"},(0,a.kt)("a",{parentName:"h4",href:"./RpcMessage"},"RpcMessage")),(0,a.kt)("h4",{id:"rpcreply"},(0,a.kt)("a",{parentName:"h4",href:"./RpcReply"},"RpcReply")),(0,a.kt)("h4",{id:"rpcwithreplymessage"},(0,a.kt)("a",{parentName:"h4",href:"./RpcWithReplyMessage"},"RpcWithReplyMessage")),(0,a.kt)("h2",{id:"enums"},"Enums"),(0,a.kt)("h4",{id:"rpcinvoketype"},(0,a.kt)("a",{parentName:"h4",href:"./RpcInvokeType"},"RpcInvokeType")),(0,a.kt)("h2",{id:"delegates"},"Delegates"),(0,a.kt)("h4",{id:"requestdelegatet"},(0,a.kt)("a",{parentName:"h4",href:"./RequestDelegate-1"},"RequestDelegate","<","T",">")),(0,a.kt)("h4",{id:"rpcdelegate"},(0,a.kt)("a",{parentName:"h4",href:"./RpcDelegate"},"RpcDelegate")),(0,a.kt)("blockquote",null,(0,a.kt)("p",{parentName:"blockquote"},"Delegate for ServerRpc functions.")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e1929551.f93dcd13.js b/assets/js/e1929551.f93dcd13.js new file mode 100644 index 00000000000..6264dbb5bed --- /dev/null +++ b/assets/js/e1929551.f93dcd13.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9595],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>m});var r=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var c=r.createContext({}),l=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},u=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=l(n),m=i,f=p["".concat(c,".").concat(m)]||p[m]||d[m]||a;return n?r.createElement(f,o(o({ref:t},u),{},{components:n})):r.createElement(f,o({ref:t},u))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,o=new Array(a);o[0]=p;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:i,o[1]=s;for(var l=2;l<a;l++)o[l]=n[l];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}p.displayName="MDXCreateElement"},23230:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>l});var r=n(87462),i=(n(67294),n(3905));const a={sidebar_position:8},o="Advanced Synchronization",s={unversionedId:"guides/sync/custom-serialization",id:"guides/sync/custom-serialization",title:"Advanced Synchronization",description:"In most cases, the use of SyncVars is enough for your game scripts to serialize their state to clients. However, in some cases, you might require more complex serialization code. This page is only relevant for advanced developers who need customized synchronization solutions that go beyond Mirage\u2019s normal SyncVar feature.",source:"@site/docs/guides/sync/custom-serialization.md",sourceDirName:"guides/sync",slug:"/guides/sync/custom-serialization",permalink:"/Mirage/docs/guides/sync/custom-serialization",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/sync/custom-serialization.md",tags:[],version:"current",sidebarPosition:8,frontMatter:{sidebar_position:8},sidebar:"docs",previous:{title:"Code Generation",permalink:"/Mirage/docs/guides/sync/code-generation"},next:{title:"Overview",permalink:"/Mirage/docs/guides/remote-actions/"}},c={},l=[{value:"Custom Serialization Functions",id:"custom-serialization-functions",level:2}],u={toc:l};function d(e){let{components:t,...n}=e;return(0,i.kt)("wrapper",(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"advanced-synchronization"},"Advanced Synchronization"),(0,i.kt)("p",null,"In most cases, the use of SyncVars is enough for your game scripts to serialize their state to clients. However, in some cases, you might require more complex serialization code. This page is only relevant for advanced developers who need customized synchronization solutions that go beyond Mirage\u2019s normal SyncVar feature."),(0,i.kt)("h2",{id:"custom-serialization-functions"},"Custom Serialization Functions"),(0,i.kt)("p",null,"To perform your own custom serialization, you can implement virtual functions on ",(0,i.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," to be used for SyncVar serialization. These functions are:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual bool OnSerialize(NetworkWriter writer, bool initialState);\n")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual void OnDeserialize(NetworkReader reader, bool initialState);\n")),(0,i.kt)("p",null,"Use the ",(0,i.kt)("inlineCode",{parentName:"p"},"initialState")," flag to differentiate between the first time a game object is serialized and when incremental updates can be sent. The first time a game object is sent to a client, it must include a full state snapshot, but subsequent updates can save on bandwidth by including only incremental changes."),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"OnSerialize")," function should return true to indicate that an update should be sent. If it returns true, the dirty bits for that script are set to zero. If it returns false, the dirty bits are not changed. This allows multiple changes to a script to be accumulated over time and sent when the system is ready, instead of every frame."),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"OnSerialize")," function is only called for ",(0,i.kt)("inlineCode",{parentName:"p"},"initialState")," or when the ",(0,i.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," is dirty. A ",(0,i.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," will only be dirty if a ",(0,i.kt)("inlineCode",{parentName:"p"},"SyncVar")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"SyncObject")," (e.g. ",(0,i.kt)("inlineCode",{parentName:"p"},"SyncList"),") has changed since the last OnSerialize call. After data has been sent the ",(0,i.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," will not be dirty again until the next ",(0,i.kt)("inlineCode",{parentName:"p"},"syncInterval")," (set in the inspector). A ",(0,i.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," can also be marked as dirty by manually calling ",(0,i.kt)("inlineCode",{parentName:"p"},"SetDirtyBit")," (this does not bypass the ",(0,i.kt)("inlineCode",{parentName:"p"},"syncInterval")," limit)."),(0,i.kt)("p",null,"Although this works, it is usually better to let Mirage generate these methods and provide ",(0,i.kt)("a",{parentName:"p",href:"/docs/guides/serialization/data-types"},"custom serializers")," for your specific field."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e274e7f0.e6908e1d.js b/assets/js/e274e7f0.e6908e1d.js new file mode 100644 index 00000000000..e54b06e563e --- /dev/null +++ b/assets/js/e274e7f0.e6908e1d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[798],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>y});var o=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},s=Object.keys(e);for(o=0;o<s.length;o++)n=s[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o<s.length;o++)n=s[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=o.createContext({}),l=function(e){var t=o.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,s=e.originalType,c=e.parentName,u=a(e,["components","mdxType","originalType","parentName"]),p=l(n),y=r,m=p["".concat(c,".").concat(y)]||p[y]||d[y]||s;return n?o.createElement(m,i(i({ref:t},u),{},{components:n})):o.createElement(m,i({ref:t},u))}));function y(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=n.length,i=new Array(s);i[0]=p;var a={};for(var c in t)hasOwnProperty.call(t,c)&&(a[c]=t[c]);a.originalType=e,a.mdxType="string"==typeof e?e:r,i[1]=a;for(var l=2;l<s;l++)i[l]=n[l];return o.createElement.apply(null,i)}return o.createElement.apply(null,n)}p.displayName="MDXCreateElement"},45704:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var o=n(87462),r=(n(67294),n(3905));const s={},i="Network Discovery",a={unversionedId:"components/network-discovery",id:"components/network-discovery",title:"Network Discovery",description:"Suppose you are next to a friend. He starts a game in host mode and you want to join him. How will your phone locate his? Finding out his IP address is not exactly intuitive or something kids can do.",source:"@site/docs/components/network-discovery.md",sourceDirName:"components",slug:"/components/network-discovery",permalink:"/Mirage/docs/components/network-discovery",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/network-discovery.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Animator",permalink:"/Mirage/docs/components/network-animator"},next:{title:"Network Identity",permalink:"/Mirage/docs/components/network-identity"}},c={},l=[{value:"Quick Start",id:"quick-start",level:2},{value:"Custom Network Discovery",id:"custom-network-discovery",level:2}],u={toc:l};function d(e){let{components:t,...s}=e;return(0,r.kt)("wrapper",(0,o.Z)({},u,s,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"network-discovery"},"Network Discovery"),(0,r.kt)("p",null,"Suppose you are next to a friend. He starts a game in host mode and you want to join him. How will your phone locate his? Finding out his IP address is not exactly intuitive or something kids can do."),(0,r.kt)("p",null,'To solve this problem you can use Network Discovery. When your game starts, it sends a message in your current network asking "Is there any server available?". Any server within the same network will reply and provide information about how to connect to it.'),(0,r.kt)("p",null,"Mirage comes with a simple implementation of Network Discovery you can simply use in your game. It also provides a way for you to extend it so that you can pass additional data during the discovery phase."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Inspector",src:n(55319).Z,width:"819",height:"448"})),(0,r.kt)("p",null,"NetworkDiscovery and NetworkDiscoveryHUD components are included."),(0,r.kt)("p",null,"Network Discovery uses a UDP broadcast on the LAN enabling clients to find the running server and connect to it."),(0,r.kt)("p",null,"When a server is started, it listens on the UDP Broadcast Listen Port for requests from clients and returns a connection URI that clients apply to their transport."),(0,r.kt)("p",null,"You can adjust how often the clients send their requests out to find a server in seconds with the Active Discovery Interval."),(0,r.kt)("p",null,"The Server Found event must be assigned to a handler method, e.g. the OnDiscoveredServer method of NetworkDiscoveryHUD."),(0,r.kt)("p",null,"In the NetworkDiscoveryHUD, the NetworkDiscovery component should be assigned automatically."),(0,r.kt)("h2",{id:"quick-start"},"Quick Start"),(0,r.kt)("p",null,"To use Network Discovery follow these steps:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Create a game object with a NetworkManager if you have not done so already"),(0,r.kt)("li",{parentName:"ol"},"Do not add a NetworkManagerHUD. Discovery has a different UI component."),(0,r.kt)("li",{parentName:"ol"},"Add a NetworkDiscoveryHUD component to the NetworkManager game object.",(0,r.kt)("br",{parentName:"li"}),"A NetworkDiscovery component will be automatically added and wired up to your HUD."),(0,r.kt)("li",{parentName:"ol"},"Add a player to the NetworkManager if you have not done so."),(0,r.kt)("li",{parentName:"ol"},"Build and run a standalone version"),(0,r.kt)("li",{parentName:"ol"},"Click on Start Host"),(0,r.kt)("li",{parentName:"ol"},"Start play mode in the editor and click on Find Servers"),(0,r.kt)("li",{parentName:"ol"},"The editor should find the standalone version and display a button"),(0,r.kt)("li",{parentName:"ol"},"Click on the button to connect to it.")),(0,r.kt)("p",null,"The NetworkDiscoveryHUD is provided as a simple and quick way to get started, but you will probably want to replace it with your own user interface."),(0,r.kt)("h2",{id:"custom-network-discovery"},"Custom Network Discovery"),(0,r.kt)("p",null,"You can completely replace the user interface by adding your own interface (typically Unity UI based) instead of the default NetworkDiscoveryHUD. You do still need the NetworkDiscovery component to do the heavy lifting."),(0,r.kt)("p",null,"Sometimes you want to provide more information in the discovery messages. Some use cases could include:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"The client can show if the server is in PvP or PvE mode"),(0,r.kt)("li",{parentName:"ul"},"The client can show how full the servers are."),(0,r.kt)("li",{parentName:"ul"},"The client can show the ping to each server so the player can choose the fastest server"),(0,r.kt)("li",{parentName:"ul"},"The client can show the language"),(0,r.kt)("li",{parentName:"ul"},"The client can show if the server is password protected")),(0,r.kt)("p",null,"The message classes define what is sent between the client and server. As long as you keep your messages simple using the ",(0,r.kt)("a",{parentName:"p",href:"/docs/guides/serialization/data-types"},"Data Types")," that Mirage can serialize, you won't need to write custom serializers for them."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'public class DiscoveryRequest\n{\n public string language="en";\n\n // Add properties for whatever information you want sent by clients\n // in their broadcast messages that servers will consume.\n}\n\npublic class DiscoveryResponse\n{\n enum GameMode {PvP, PvE};\n\n // you probably want uri so clients know how to connect to the server\n public Uri uri;\n\n public GameMode GameMode;\n public int TotalPlayers;\n public int HostPlayerName;\n\n // Add properties for whatever information you want the server to return to\n // clients for them to display or consume for establishing a connection.\n}\n')),(0,r.kt)("p",null,"The custom NetworkDiscovery class contains the overrides for handling the messages above."),(0,r.kt)("p",null,"You may want to refer to the NetworkDiscovery.cs script in the Components/Discovery folder to see how these should be implemented."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class NewNetworkDiscovery: NetworkDiscoveryBase<DiscoveryRequest, DiscoveryResponse> \n{\n #region Server\n\n protected override void ProcessClientRequest(DiscoveryRequest request, IPEndPoint endpoint)\n {\n base.ProcessClientRequest(request, endpoint);\n }\n\n protected override DiscoveryResponse ProcessRequest(DiscoveryRequest request, IPEndPoint endpoint) \n {\n // TODO: Create your response and return it \n return new DiscoveryResponse();\n }\n\n #endregion\n\n #region Client\n\n protected override DiscoveryRequest GetRequest()\n {\n return new DiscoveryRequest();\n }\n\n protected override void ProcessResponse(DiscoveryResponse response, IPEndPoint endpoint)\n {\n // TODO: a server replied, do something with the response such as invoking a unityevent\n }\n\n #endregion\n}\n")))}d.isMDXComponent=!0},55319:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/NetworkDiscovery-9d0e24988d79acc3a8c32008078b8a7e.png"}}]); \ No newline at end of file diff --git a/assets/js/e2efae6d.3f85bb29.js b/assets/js/e2efae6d.3f85bb29.js new file mode 100644 index 00000000000..8d5d5f0f259 --- /dev/null +++ b/assets/js/e2efae6d.3f85bb29.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2757],{33029:e=>{e.exports=JSON.parse('{"title":"General","slug":"/category/general","permalink":"/Mirage/docs/category/general","navigation":{"next":{"title":"Overview","permalink":"/Mirage/docs/general/overview"}}}')}}]); \ No newline at end of file diff --git a/assets/js/e30c6926.ea9722d7.js b/assets/js/e30c6926.ea9722d7.js new file mode 100644 index 00000000000..e48b2657560 --- /dev/null +++ b/assets/js/e30c6926.ea9722d7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8971],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>m});var l=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,l)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){r(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,l,r=function(e,t){if(null==e)return{};var a,l,r={},n=Object.keys(e);for(l=0;l<n.length;l++)a=n[l],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(l=0;l<n.length;l++)a=n[l],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var u=l.createContext({}),d=function(e){var t=l.useContext(u),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=d(e.components);return l.createElement(u.Provider,{value:t},e.children)},k={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},c=l.forwardRef((function(e,t){var a=e.components,r=e.mdxType,n=e.originalType,u=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=d(a),m=r,s=c["".concat(u,".").concat(m)]||c[m]||k[m]||n;return a?l.createElement(s,i(i({ref:t},p),{},{components:a})):l.createElement(s,i({ref:t},p))}));function m(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var n=a.length,i=new Array(n);i[0]=c;var o={};for(var u in t)hasOwnProperty.call(t,u)&&(o[u]=t[u]);o.originalType=e,o.mdxType="string"==typeof e?e:r,i[1]=o;for(var d=2;d<n;d++)i[d]=a[d];return l.createElement.apply(null,i)}return l.createElement.apply(null,a)}c.displayName="MDXCreateElement"},6847:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>k,frontMatter:()=>n,metadata:()=>o,toc:()=>d});var l=a(87462),r=(a(67294),a(3905));const n={id:"SyncIDictionary-2",title:"SyncIDictionary<TKey, TValue>"},i="Class SyncIDictionary<TKey, TValue>",o={unversionedId:"reference/Mirage.Collections/SyncIDictionary-2",id:"reference/Mirage.Collections/SyncIDictionary-2",title:"SyncIDictionary<TKey, TValue>",description:"Inheritance",source:"@site/docs/reference/Mirage.Collections/SyncIDictionary-2.md",sourceDirName:"reference/Mirage.Collections",slug:"/reference/Mirage.Collections/SyncIDictionary-2",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncIDictionary-2",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Collections/SyncIDictionary-2.md",tags:[],version:"current",frontMatter:{id:"SyncIDictionary-2",title:"SyncIDictionary<TKey, TValue>"},sidebar:"api",previous:{title:"SyncHashSet<T>",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncHashSet-1"},next:{title:"SyncList<T>.Enumerator",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncList-1.Enumerator"}},u={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Constructors",id:"constructors",level:3},{value:"SyncIDictionary(IDictionary<TKey, TValue>)",id:"syncidictionaryidictionarytkey-tvalue",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"objects",id:"objects",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Properties",id:"properties",level:3},{value:"Count",id:"count",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"IsReadOnly",id:"isreadonly",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"IsDirty",id:"isdirty",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Keys",id:"keys",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Values",id:"values",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"IReadOnlyDictionary<TKey, TValue>.Keys",id:"ireadonlydictionarytkey-tvaluekeys",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"IReadOnlyDictionary<TKey, TValue>.Values",id:"ireadonlydictionarytkey-tvaluevalues",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"ItemTKey",id:"itemtkey",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Methods",id:"methods",level:3},{value:"ISyncObject.SetShouldSyncFrom(Boolean)",id:"isyncobjectsetshouldsyncfromboolean",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"ISyncObject.SetNetworkBehaviour(NetworkBehaviour)",id:"isyncobjectsetnetworkbehaviournetworkbehaviour",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Reset()",id:"reset",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Flush()",id:"flush",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"OnSerializeAll(NetworkWriter)",id:"onserializeallnetworkwriter",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"OnSerializeDelta(NetworkWriter)",id:"onserializedeltanetworkwriter",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"OnDeserializeAll(NetworkReader)",id:"ondeserializeallnetworkreader",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"OnDeserializeDelta(NetworkReader)",id:"ondeserializedeltanetworkreader",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"Clear()",id:"clear",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"ContainsKey(TKey)",id:"containskeytkey",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"Returns",id:"returns",level:5},{value:"Remove(TKey)",id:"removetkey",level:4},{value:"Declaration",id:"declaration-20",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"Returns",id:"returns-1",level:5},{value:"TryGetValue(TKey, out TValue)",id:"trygetvaluetkey-out-tvalue",level:4},{value:"Declaration",id:"declaration-21",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"Returns",id:"returns-2",level:5},{value:"Add(TKey, TValue)",id:"addtkey-tvalue",level:4},{value:"Declaration",id:"declaration-22",level:5},{value:"Parameters",id:"parameters-10",level:5},{value:"Add(KeyValuePair<TKey, TValue>)",id:"addkeyvaluepairtkey-tvalue",level:4},{value:"Declaration",id:"declaration-23",level:5},{value:"Parameters",id:"parameters-11",level:5},{value:"Contains(KeyValuePair<TKey, TValue>)",id:"containskeyvaluepairtkey-tvalue",level:4},{value:"Declaration",id:"declaration-24",level:5},{value:"Parameters",id:"parameters-12",level:5},{value:"Returns",id:"returns-3",level:5},{value:"CopyTo(KeyValuePair<TKey, TValue>[], Int32)",id:"copytokeyvaluepairtkey-tvalue-int32",level:4},{value:"Declaration",id:"declaration-25",level:5},{value:"Parameters",id:"parameters-13",level:5},{value:"Remove(KeyValuePair<TKey, TValue>)",id:"removekeyvaluepairtkey-tvalue",level:4},{value:"Declaration",id:"declaration-26",level:5},{value:"Parameters",id:"parameters-14",level:5},{value:"Returns",id:"returns-4",level:5},{value:"GetEnumerator()",id:"getenumerator",level:4},{value:"Declaration",id:"declaration-27",level:5},{value:"Returns",id:"returns-5",level:5},{value:"IEnumerable.GetEnumerator()",id:"ienumerablegetenumerator",level:4},{value:"Declaration",id:"declaration-28",level:5},{value:"Returns",id:"returns-6",level:5}],p={toc:d};function k(e){let{components:t,...a}=e;return(0,r.kt)("wrapper",(0,l.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-syncidictionarytkey-tvalue"},"Class SyncIDictionary","<","TKey, TValue",">"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class SyncIDictionary<TKey, TValue> : IDictionary<TKey, TValue>, ICollection<KeyValuePair<TKey, TValue>>, ISyncObject, IReadOnlyDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable\n")),(0,r.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TKey"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TValue"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"constructors"},"Constructors"),(0,r.kt)("h4",{id:"syncidictionaryidictionarytkey-tvalue"},"SyncIDictionary(IDictionary","<","TKey, TValue",">",")"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncIDictionary(IDictionary<TKey, TValue> objects)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IDictionary","<","TKey, TValue",">"),(0,r.kt)("td",{parentName:"tr",align:null},"objects"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"objects"},"objects"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"protected readonly IDictionary<TKey, TValue> objects\n")),(0,r.kt)("h3",{id:"properties"},"Properties"),(0,r.kt)("h4",{id:"count"},"Count"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public int Count { get; }\n")),(0,r.kt)("h4",{id:"isreadonly"},"IsReadOnly"),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsReadOnly { get; }\n")),(0,r.kt)("h4",{id:"isdirty"},"IsDirty"),(0,r.kt)("h5",{id:"declaration-4"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsDirty { get; }\n")),(0,r.kt)("h4",{id:"keys"},"Keys"),(0,r.kt)("h5",{id:"declaration-5"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public ICollection<TKey> Keys { get; }\n")),(0,r.kt)("h4",{id:"values"},"Values"),(0,r.kt)("h5",{id:"declaration-6"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public ICollection<TValue> Values { get; }\n")),(0,r.kt)("h4",{id:"ireadonlydictionarytkey-tvaluekeys"},"IReadOnlyDictionary","<","TKey, TValue",">",".Keys"),(0,r.kt)("h5",{id:"declaration-7"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"IEnumerable<TKey> IReadOnlyDictionary<TKey, TValue>.Keys { get; }\n")),(0,r.kt)("h4",{id:"ireadonlydictionarytkey-tvaluevalues"},"IReadOnlyDictionary","<","TKey, TValue",">",".Values"),(0,r.kt)("h5",{id:"declaration-8"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"IEnumerable<TValue> IReadOnlyDictionary<TKey, TValue>.Values { get; }\n")),(0,r.kt)("h4",{id:"itemtkey"},"Item","[TKey]"),(0,r.kt)("h5",{id:"declaration-9"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public TValue this[TKey i] { get; set; }\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"isyncobjectsetshouldsyncfromboolean"},"ISyncObject.SetShouldSyncFrom(Boolean)"),(0,r.kt)("h5",{id:"declaration-10"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void ISyncObject.SetShouldSyncFrom(bool shouldSync)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null},"shouldSync"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"isyncobjectsetnetworkbehaviournetworkbehaviour"},"ISyncObject.SetNetworkBehaviour(NetworkBehaviour)"),(0,r.kt)("h5",{id:"declaration-11"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"void ISyncObject.SetNetworkBehaviour(NetworkBehaviour networkBehaviour)\n")),(0,r.kt)("h5",{id:"parameters-2"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,r.kt)("td",{parentName:"tr",align:null},"networkBehaviour"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"reset"},"Reset()"),(0,r.kt)("h5",{id:"declaration-12"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Reset()\n")),(0,r.kt)("h4",{id:"flush"},"Flush()"),(0,r.kt)("h5",{id:"declaration-13"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Flush()\n")),(0,r.kt)("h4",{id:"onserializeallnetworkwriter"},"OnSerializeAll(NetworkWriter)"),(0,r.kt)("h5",{id:"declaration-14"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnSerializeAll(NetworkWriter writer)\n")),(0,r.kt)("h5",{id:"parameters-3"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,r.kt)("td",{parentName:"tr",align:null},"writer"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"onserializedeltanetworkwriter"},"OnSerializeDelta(NetworkWriter)"),(0,r.kt)("h5",{id:"declaration-15"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnSerializeDelta(NetworkWriter writer)\n")),(0,r.kt)("h5",{id:"parameters-4"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,r.kt)("td",{parentName:"tr",align:null},"writer"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"ondeserializeallnetworkreader"},"OnDeserializeAll(NetworkReader)"),(0,r.kt)("h5",{id:"declaration-16"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnDeserializeAll(NetworkReader reader)\n")),(0,r.kt)("h5",{id:"parameters-5"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,r.kt)("td",{parentName:"tr",align:null},"reader"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"ondeserializedeltanetworkreader"},"OnDeserializeDelta(NetworkReader)"),(0,r.kt)("h5",{id:"declaration-17"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnDeserializeDelta(NetworkReader reader)\n")),(0,r.kt)("h5",{id:"parameters-6"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,r.kt)("td",{parentName:"tr",align:null},"reader"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"clear"},"Clear()"),(0,r.kt)("h5",{id:"declaration-18"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Clear()\n")),(0,r.kt)("h4",{id:"containskeytkey"},"ContainsKey(TKey)"),(0,r.kt)("h5",{id:"declaration-19"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool ContainsKey(TKey key)\n")),(0,r.kt)("h5",{id:"parameters-7"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TKey"),(0,r.kt)("td",{parentName:"tr",align:null},"key"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"removetkey"},"Remove(TKey)"),(0,r.kt)("h5",{id:"declaration-20"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Remove(TKey key)\n")),(0,r.kt)("h5",{id:"parameters-8"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TKey"),(0,r.kt)("td",{parentName:"tr",align:null},"key"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-1"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"trygetvaluetkey-out-tvalue"},"TryGetValue(TKey, out TValue)"),(0,r.kt)("h5",{id:"declaration-21"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool TryGetValue(TKey key, out TValue value)\n")),(0,r.kt)("h5",{id:"parameters-9"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TKey"),(0,r.kt)("td",{parentName:"tr",align:null},"key"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TValue"),(0,r.kt)("td",{parentName:"tr",align:null},"value"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-2"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"addtkey-tvalue"},"Add(TKey, TValue)"),(0,r.kt)("h5",{id:"declaration-22"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Add(TKey key, TValue value)\n")),(0,r.kt)("h5",{id:"parameters-10"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TKey"),(0,r.kt)("td",{parentName:"tr",align:null},"key"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"TValue"),(0,r.kt)("td",{parentName:"tr",align:null},"value"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"addkeyvaluepairtkey-tvalue"},"Add(KeyValuePair","<","TKey, TValue",">",")"),(0,r.kt)("h5",{id:"declaration-23"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void Add(KeyValuePair<TKey, TValue> item)\n")),(0,r.kt)("h5",{id:"parameters-11"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.KeyValuePair","<","TKey, TValue",">"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"containskeyvaluepairtkey-tvalue"},"Contains(KeyValuePair","<","TKey, TValue",">",")"),(0,r.kt)("h5",{id:"declaration-24"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Contains(KeyValuePair<TKey, TValue> item)\n")),(0,r.kt)("h5",{id:"parameters-12"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.KeyValuePair","<","TKey, TValue",">"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-3"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"copytokeyvaluepairtkey-tvalue-int32"},"CopyTo(KeyValuePair","<","TKey, TValue",">","[], Int32)"),(0,r.kt)("h5",{id:"declaration-25"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void CopyTo(KeyValuePair<TKey, TValue>[] array, int arrayIndex)\n")),(0,r.kt)("h5",{id:"parameters-13"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.KeyValuePair{{TKey},{TValue}}[]"),(0,r.kt)("td",{parentName:"tr",align:null},"array"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,r.kt)("td",{parentName:"tr",align:null},"arrayIndex"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"removekeyvaluepairtkey-tvalue"},"Remove(KeyValuePair","<","TKey, TValue",">",")"),(0,r.kt)("h5",{id:"declaration-26"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public bool Remove(KeyValuePair<TKey, TValue> item)\n")),(0,r.kt)("h5",{id:"parameters-14"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.KeyValuePair","<","TKey, TValue",">"),(0,r.kt)("td",{parentName:"tr",align:null},"item"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h5",{id:"returns-4"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"getenumerator"},"GetEnumerator()"),(0,r.kt)("h5",{id:"declaration-27"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator()\n")),(0,r.kt)("h5",{id:"returns-5"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerator","<","System.Collections.Generic.KeyValuePair","<","TKey, TValue",">",">"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"ienumerablegetenumerator"},"IEnumerable.GetEnumerator()"),(0,r.kt)("h5",{id:"declaration-28"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"IEnumerator IEnumerable.GetEnumerator()\n")),(0,r.kt)("h5",{id:"returns-6"},"Returns"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"System.Collections.IEnumerator"),(0,r.kt)("td",{parentName:"tr",align:null})))))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e31924a3.45181a93.js b/assets/js/e31924a3.45181a93.js new file mode 100644 index 00000000000..b4f6229c5a6 --- /dev/null +++ b/assets/js/e31924a3.45181a93.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[668],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>h});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),d=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},p=function(e){var t=d(e.components);return r.createElement(s.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=d(n),h=a,k=u["".concat(s,".").concat(h)]||u[h]||c[h]||i;return n?r.createElement(k,o(o({ref:t},p),{},{components:n})):r.createElement(k,o({ref:t},p))}));function h(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=u;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:a,o[1]=l;for(var d=2;d<i;d++)o[d]=n[d];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}u.displayName="MDXCreateElement"},50690:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>c,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var r=n(87462),a=(n(67294),n(3905));const i={sidebar_position:1,title:"Lifecycle"},o="Lifecycle of a GameObject",l={unversionedId:"guides/game-objects/lifecycle",id:"guides/game-objects/lifecycle",title:"Lifecycle",description:"Networked GameObjects go through several lifecycle states.",source:"@site/docs/guides/game-objects/lifecycle.md",sourceDirName:"guides/game-objects",slug:"/guides/game-objects/lifecycle",permalink:"/Mirage/docs/guides/game-objects/lifecycle",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/game-objects/lifecycle.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Lifecycle"},sidebar:"docs",previous:{title:"Networked Game Objects",permalink:"/Mirage/docs/guides/game-objects/"},next:{title:"Network Behaviour",permalink:"/Mirage/docs/guides/game-objects/network-behaviour"}},s={},d=[{value:"Spawning",id:"spawning",level:2},{value:"Destroying",id:"destroying",level:2},{value:"Server Instantiate",id:"server-instantiate",level:2},{value:"Server Start",id:"server-start",level:2},{value:"NetworkWorld onSpawn and onUnspawn",id:"networkworld-onspawn-and-onunspawn",level:2},{value:"Client Instantiate",id:"client-instantiate",level:2},{value:"Client Start Authority",id:"client-start-authority",level:2},{value:"Start Client",id:"start-client",level:2},{value:"Start Local Player",id:"start-local-player",level:2},{value:"Stop Authority",id:"stop-authority",level:2},{value:"Server Stop",id:"server-stop",level:2},{value:"Server Destroy",id:"server-destroy",level:2},{value:"Stop Client",id:"stop-client",level:2},{value:"Client Destroy",id:"client-destroy",level:2}],p={toc:d};function c(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"lifecycle-of-a-gameobject"},"Lifecycle of a GameObject"),(0,a.kt)("p",null,"Networked GameObjects go through several lifecycle states.\nYou can add custom logic to the object lifecycle events by subscribing to the corresponding event in ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkIdentity"},"NetworkIdentity")),(0,a.kt)("h2",{id:"spawning"},"Spawning"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Server"),(0,a.kt)("th",{parentName:"tr",align:null},"Client"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"#server-instantiate"},"Instantiate")),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"#server-start"},"Start Server")),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"#networkworld-onspawn-and-onunspawn"},"NetworkWorld.onSpawn")),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null}),(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"#client-instantiate"},"Instantiate"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null}),(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"#client-start-authority"},"StartAuthority"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null}),(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"#start-client"},"StartClient"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null}),(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"#start-local-player"},"StartLocalPlayer"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null}),(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"#networkworld-onspawn-and-onunspawn"},"NetworkWorld.onSpawn"))))),(0,a.kt)("h2",{id:"destroying"},"Destroying"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Server"),(0,a.kt)("th",{parentName:"tr",align:null},"Client"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"#networkworld-onspawn-and-onunspawn"},"NetworkWorld.onUnspawn")),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null}),(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"#stop-authority"},"StopAuthority"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null}),(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"#stop-client"},"StopClient"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null}),(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"#client-destroy"},"Destroy"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null}),(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"#networkworld-onspawn-and-onunspawn"},"NetworkWorld.onUnspawn"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"#server-stop"},"StopServer")),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"#server-destroy"},"Destroy")),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("admonition",{type:"note"},(0,a.kt)("p",{parentName:"admonition"},"In Mirror and UNet, you can add logic to lifecycle events by overriding methods in NetworkBehaviour.",(0,a.kt)("br",{parentName:"p"}),"\n","In Mirage you do it by subscribing to events in ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkIdentity"},"NetworkIdentity"))),(0,a.kt)("h2",{id:"server-instantiate"},"Server Instantiate"),(0,a.kt)("p",null,"This is usually done by you using Unity's ",(0,a.kt)("inlineCode",{parentName:"p"},"GameObject.Instantiate"),"\nThis goes through the regular GameObject Lifecycle events such as Awake, Start, Enabled, etc...\nBasically this is outside Mirage's control."),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"/docs/guides/game-objects/scene-objects"},"Scene Objects")," are normally instantiated as part of the scene."),(0,a.kt)("h2",{id:"server-start"},"Server Start"),(0,a.kt)("p",null,"To start a server object, ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/game-objects/spawn-object"},"spawn it"),". If you wish to perform some logic when the object starts in the server, add a component in your gameObject with our own method and subscribe to ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkIdentity#onstartserver"},"NetworkIdentity.OnStartServer")),(0,a.kt)("p",null,"For example:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},'public class MyComponent : MonoBehaviour\n{\n public void Awake() \n {\n GetComponent<NetworkIdentity>.OnStartServer.AddListener(OnStartServer);\n }\n\n public void OnStartServer() \n {\n Debug.Log("The object started on the server")\n }\n}\n')),(0,a.kt)("p",null,"You can also simply drag your ",(0,a.kt)("inlineCode",{parentName:"p"},"OnStartServer")," method in the ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkIdentity#onstartserver"},"NetworkIdentity.OnStartServer")," event in the inspector."),(0,a.kt)("p",null,"During the spawn, a message will be sent to all the clients telling them to spawn the object. The message\nwill include all the data in ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/sync/sync-var"},"SyncVars"),", ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/sync/sync-objects/sync-list"},"SyncLists"),", ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/sync/sync-objects/sync-hash-set"},"SyncHashSet"),", ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/sync/sync-objects/sync-dictionary"},"SyncDictionary")),(0,a.kt)("h2",{id:"networkworld-onspawn-and-onunspawn"},"NetworkWorld onSpawn and onUnspawn"),(0,a.kt)("p",null,"The NetworkWorld class is what holds the list of all spawned Identities. This class is used for both server and client, and can be found on ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkServer.World")," and ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkClient.World"),"."),(0,a.kt)("p",null,"NetworkWorld has event that are called when Network objects are spawned or unspawn, they can be used when you need to do this on all network objects, but dont want to add listeners to each one individually."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},'public class MyComponent : MonoBehaviour \n{\n public NetworkServer Server;\n public NetworkClient Client;\n\n public void Awake() \n {\n // Client/Server.World is only set after server is started, \n // so wait for start, then add event listener to OnSpawn\n Server.Started.AddListener(ServerStarted);\n Client.Started.AddListener(ClientStarted);\n }\n\n private void ServerStarted() \n {\n Server.World.onSpawn += OnServerSpawn;\n Server.World.onUnspawn += OnServerUnspawn;\n }\n private void OnServerSpawn(NetworkIdentity identity) \n {\n Debug.Log($"The object {identity} was spawned on the server");\n }\n private void OnServerUnspawn(NetworkIdentity identity) \n {\n Debug.Log($"The object {identity} was unspawned on the server");\n }\n\n private void ClientStarted() \n {\n Client.World.onSpawn += OnClientSpawn;\n Client.World.onUnspawn += OnClientUnspawn;\n }\n private void OnClientSpawn(NetworkIdentity identity) \n {\n Debug.Log($"The object {identity} was spawned on the client");\n }\n private void OnClientUnspawn(NetworkIdentity identity) \n {\n Debug.Log($"The object {identity} was unspawned on the client");\n }\n}\n')),(0,a.kt)("h2",{id:"client-instantiate"},"Client Instantiate"),(0,a.kt)("p",null,"When an object is spawned, the server will send a message to the clients telling it to spawn a GameObject and provide\nan asset id."),(0,a.kt)("p",null,"By default, Mirage will look up all the known prefabs looking for that asset id.",(0,a.kt)("br",{parentName:"p"}),"\n","Make sure to add your prefabs to the NetworkClient list of prefabs.\nThen Mirage will instantiate the prefab, and it will go through the regular Unity Lifecycle events.\nYou can customize how objects are instantiated using Spawn Handlers."),(0,a.kt)("p",null,"Do not add Network logic to these events. Instead, use these events to subscribe to network events in NetworkIdentity."),(0,a.kt)("p",null,"Immediately after the object is instantiated, all the data is updated to match the data in the server."),(0,a.kt)("h2",{id:"client-start-authority"},"Client Start Authority"),(0,a.kt)("p",null,"If the object is owned by this client, then NetworkIdentity will invoke the ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkIdentity#onauthoritychanged"},"NetworkIdentity.OnAuthorityChanged"),"\nSubscribe to this event either by using ",(0,a.kt)("inlineCode",{parentName:"p"},"AddListener"),", or adding your method to the event in the inspector.\nNote the Authority can be revoked, and granted again. Every time the client gains authority, this event will be invoked again."),(0,a.kt)("h2",{id:"start-client"},"Start Client"),(0,a.kt)("p",null,"The event ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkIdentity#onstartclient"},"NetworkIdentity.OnStartClient")," will be invoked.\nSubscribe to this event by using ",(0,a.kt)("inlineCode",{parentName:"p"},"AddListener")," or adding your method in the event in the inspector"),(0,a.kt)("h2",{id:"start-local-player"},"Start Local Player"),(0,a.kt)("p",null,"If the object spawned is the ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/game-objects/spawn-player"},"character object"),", the event ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkIdentity#onstartlocalplayer"},"NetworkIdentity.OnStartLocalPlayer"),"\nis invoked.\nSubscribe to this event by using ",(0,a.kt)("inlineCode",{parentName:"p"},"AddListener")," or adding your method in the event in the inspector"),(0,a.kt)("h2",{id:"stop-authority"},"Stop Authority"),(0,a.kt)("p",null,"If the object loses authority over the object, then NetworkIdentity will invoke the ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkIdentity#onauthoritychanged"},"NetworkIdentity.OnAuthorityChanged"),"\nSubscribe to this event either by using ",(0,a.kt)("inlineCode",{parentName:"p"},"AddListener"),", or adding your method to the event in the inspector.\nNote the Authority can be revoked, and granted again. Every time the client loses authority, this event will be invoked again."),(0,a.kt)("h2",{id:"server-stop"},"Server Stop"),(0,a.kt)("p",null,"Either because the client disconnected, the server stopped,\nyou called ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/ServerObjectManager#destroygameobject-boolean"},(0,a.kt)("inlineCode",{parentName:"a"},"ServerObjectManager.Destroy(GameObject, Boolean)"))," the object may stop in the server.\nDuring this state, a message is sent to all the clients to unspawn the object.\nThe event ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkIdentity#onstopserver"},"NetworkIdentity.OnStopServer")," will be invoked. "),(0,a.kt)("p",null,"Subscribe to this event either by using ",(0,a.kt)("inlineCode",{parentName:"p"},"AddListener"),", or by adding your method to the event in the inspector."),(0,a.kt)("h2",{id:"server-destroy"},"Server Destroy"),(0,a.kt)("p",null,"By default, the server will call ",(0,a.kt)("inlineCode",{parentName:"p"},"GameObject.Destroy")," to destroy the object.",(0,a.kt)("br",{parentName:"p"}),"\n","Note that if it is a ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/game-objects/scene-objects"},"Scene Object")," the server will invoke ",(0,a.kt)("inlineCode",{parentName:"p"},"GameObject.SetActive(false)")," instead. "),(0,a.kt)("p",null,"The regular unity lifecycle events apply."),(0,a.kt)("p",null,"Note that the server will destroy the object, and will not wait for the clients to unspawn their objects."),(0,a.kt)("h2",{id:"stop-client"},"Stop Client"),(0,a.kt)("p",null,"This can be triggered either because the client received an Unspawn message or the client was disconnected\nThe event ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkIdentity#onstopclient"},"NetworkIdentity.OnStopClient")," will be invoked.",(0,a.kt)("br",{parentName:"p"}),"\n","Subscribe to this event either by using ",(0,a.kt)("inlineCode",{parentName:"p"},"AddListener"),", or by adding your method to the event in the inspector."),(0,a.kt)("p",null,"Use it to clean up any network-related resource used by this object."),(0,a.kt)("h2",{id:"client-destroy"},"Client Destroy"),(0,a.kt)("p",null,"After an object is stopped on the client, by default unity will call ",(0,a.kt)("inlineCode",{parentName:"p"},"GameObject.Destroy")," if it is a prefab ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/game-objects/spawn-object"},"Spawned Object"),"\nOr it will call ",(0,a.kt)("inlineCode",{parentName:"p"},"GameObject.SetActive(false)")," if it is a ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/game-objects/scene-objects"},"Scene Object"),"\nYou can customize how objects are destroying using Spawn Handlers"),(0,a.kt)("p",null,"The normal Unity lifecycle events still apply."))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e46ab49a.13059646.js b/assets/js/e46ab49a.13059646.js new file mode 100644 index 00000000000..d52295428c0 --- /dev/null +++ b/assets/js/e46ab49a.13059646.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5269],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>u});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),d=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=d(e.components);return n.createElement(s.Provider,{value:t},e.children)},g={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},c=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=d(r),u=a,m=c["".concat(s,".").concat(u)]||c[u]||g[u]||i;return r?n.createElement(m,l(l({ref:t},p),{},{components:r})):n.createElement(m,l({ref:t},p))}));function u(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,l=new Array(i);l[0]=c;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:a,l[1]=o;for(var d=2;d<i;d++)l[d]=r[d];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}c.displayName="MDXCreateElement"},89421:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>g,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var n=r(87462),a=(r(67294),r(3905));const i={id:"StringExtensions",title:"StringExtensions"},l="Class StringExtensions",o={unversionedId:"reference/Mirage.Serialization/StringExtensions",id:"reference/Mirage.Serialization/StringExtensions",title:"StringExtensions",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/StringExtensions.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/StringExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/StringExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/StringExtensions.md",tags:[],version:"current",frontMatter:{id:"StringExtensions",title:"StringExtensions"},sidebar:"api",previous:{title:"Reader<T>",permalink:"/Mirage/docs/reference/Mirage.Serialization/Reader-1"},next:{title:"SystemTypesExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/SystemTypesExtensions"}},s={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"MaxStringLength",id:"maxstringlength",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Methods",id:"methods",level:3},{value:"WriteString(NetworkWriter, String)",id:"writestringnetworkwriter-string",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"ReadString(NetworkReader)",id:"readstringnetworkreader",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Returns",id:"returns",level:5},{value:"WriteString(NetworkWriter, String, Encoding)",id:"writestringnetworkwriter-string-encoding",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"ReadString(NetworkReader, Encoding)",id:"readstringnetworkreader-encoding",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns-1",level:5}],p={toc:d};function g(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-stringextensions"},"Class StringExtensions"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static class StringExtensions\n")),(0,a.kt)("h3",{id:"properties"},"Properties"),(0,a.kt)("h4",{id:"maxstringlength"},"MaxStringLength"),(0,a.kt)("p",null,"Maximum number of bytes a string can be serialized to. This is to avoid allocation attack.\nDefaults MTU, 1300\nNOTE: this is byte size after Encoding\nIMPORTANT: Setting this property will resize the internal buffer. Do not call in hotpath. It is best to call once when you start the application"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static int MaxStringLength { get; set; }\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"writestringnetworkwriter-string"},"WriteString(NetworkWriter, String)"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteString(this NetworkWriter writer, string value)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,a.kt)("td",{parentName:"tr",align:null},"writer"),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.String"),(0,a.kt)("td",{parentName:"tr",align:null},"value"),(0,a.kt)("td",{parentName:"tr",align:null},"string or null")))),(0,a.kt)("h4",{id:"readstringnetworkreader"},"ReadString(NetworkReader)"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static string ReadString(this NetworkReader reader)\n")),(0,a.kt)("h5",{id:"parameters-1"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,a.kt)("td",{parentName:"tr",align:null},"reader"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h5",{id:"returns"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.String"),(0,a.kt)("td",{parentName:"tr",align:null},"string or null")))),(0,a.kt)("h4",{id:"writestringnetworkwriter-string-encoding"},"WriteString(NetworkWriter, String, Encoding)"),(0,a.kt)("h5",{id:"declaration-3"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteString(this NetworkWriter writer, string value, Encoding encoding)\n")),(0,a.kt)("h5",{id:"parameters-2"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,a.kt)("td",{parentName:"tr",align:null},"writer"),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.String"),(0,a.kt)("td",{parentName:"tr",align:null},"value"),(0,a.kt)("td",{parentName:"tr",align:null},"string or null")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Text.Encoding"),(0,a.kt)("td",{parentName:"tr",align:null},"encoding"),(0,a.kt)("td",{parentName:"tr",align:null},"Use this for encoding other than the default (UTF8). Make sure to use same encoding for ReadString")))),(0,a.kt)("h4",{id:"readstringnetworkreader-encoding"},"ReadString(NetworkReader, Encoding)"),(0,a.kt)("h5",{id:"declaration-4"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static string ReadString(this NetworkReader reader, Encoding encoding)\n")),(0,a.kt)("h5",{id:"parameters-3"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,a.kt)("td",{parentName:"tr",align:null},"reader"),(0,a.kt)("td",{parentName:"tr",align:null})),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Text.Encoding"),(0,a.kt)("td",{parentName:"tr",align:null},"encoding"),(0,a.kt)("td",{parentName:"tr",align:null},"Use this for encoding other than the default (UTF8). Make sure to use same encoding for WriterString")))),(0,a.kt)("h5",{id:"returns-1"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.String"),(0,a.kt)("td",{parentName:"tr",align:null},"string or null")))))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e4aa2d07.ba55c9f6.js b/assets/js/e4aa2d07.ba55c9f6.js new file mode 100644 index 00000000000..846eb4ed988 --- /dev/null +++ b/assets/js/e4aa2d07.ba55c9f6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3508],{3905:(e,r,n)=>{n.d(r,{Zo:()=>d,kt:()=>u});var t=n(67294);function a(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function i(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function l(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?i(Object(n),!0).forEach((function(r){a(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function c(e,r){if(null==e)return{};var n,t,a=function(e,r){if(null==e)return{};var n,t,a={},i=Object.keys(e);for(t=0;t<i.length;t++)n=i[t],r.indexOf(n)>=0||(a[n]=e[n]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(t=0;t<i.length;t++)n=i[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var o=t.createContext({}),p=function(e){var r=t.useContext(o),n=r;return e&&(n="function"==typeof e?e(r):l(l({},r),e)),n},d=function(e){var r=p(e.components);return t.createElement(o.Provider,{value:r},e.children)},g={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},s=t.forwardRef((function(e,r){var n=e.components,a=e.mdxType,i=e.originalType,o=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),s=p(n),u=a,m=s["".concat(o,".").concat(u)]||s[u]||g[u]||i;return n?t.createElement(m,l(l({ref:r},d),{},{components:n})):t.createElement(m,l({ref:r},d))}));function u(e,r){var n=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var i=n.length,l=new Array(i);l[0]=s;var c={};for(var o in r)hasOwnProperty.call(r,o)&&(c[o]=r[o]);c.originalType=e,c.mdxType="string"==typeof e?e:a,l[1]=c;for(var p=2;p<i;p++)l[p]=n[p];return t.createElement.apply(null,l)}return t.createElement.apply(null,n)}s.displayName="MDXCreateElement"},1741:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>o,contentTitle:()=>l,default:()=>g,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var t=n(87462),a=(n(67294),n(3905));const i={id:"DynamicSpawnHandlerDelegate",title:"DynamicSpawnHandlerDelegate"},l="Delegate DynamicSpawnHandlerDelegate",c={unversionedId:"reference/Mirage/DynamicSpawnHandlerDelegate",id:"reference/Mirage/DynamicSpawnHandlerDelegate",title:"DynamicSpawnHandlerDelegate",description:"Syntax",source:"@site/docs/reference/Mirage/DynamicSpawnHandlerDelegate.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/DynamicSpawnHandlerDelegate",permalink:"/Mirage/docs/reference/Mirage/DynamicSpawnHandlerDelegate",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/DynamicSpawnHandlerDelegate.md",tags:[],version:"current",frontMatter:{id:"DynamicSpawnHandlerDelegate",title:"DynamicSpawnHandlerDelegate"},sidebar:"api",previous:{title:"DeserializeFailedException",permalink:"/Mirage/docs/reference/Mirage/DeserializeFailedException"},next:{title:"ExponentialMovingAverage",permalink:"/Mirage/docs/reference/Mirage/ExponentialMovingAverage"}},o={},p=[{value:"Syntax",id:"syntax",level:5}],d={toc:p};function g(e){let{components:r,...n}=e;return(0,a.kt)("wrapper",(0,t.Z)({},d,n,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"delegate-dynamicspawnhandlerdelegate"},"Delegate DynamicSpawnHandlerDelegate"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public delegate SpawnHandler DynamicSpawnHandlerDelegate(int prefabHash);\n")))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e507b4be.3a8ded00.js b/assets/js/e507b4be.3a8ded00.js new file mode 100644 index 00000000000..dfc9295b9bf --- /dev/null +++ b/assets/js/e507b4be.3a8ded00.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5294],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>d});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),u=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},s=function(e){var t=u(e.components);return r.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),m=u(a),d=n,k=m["".concat(c,".").concat(d)]||m[d]||p[d]||l;return a?r.createElement(k,i(i({ref:t},s),{},{components:a})):r.createElement(k,i({ref:t},s))}));function d(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=m;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var u=2;u<l;u++)i[u]=a[u];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},16792:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>u});var r=a(87462),n=(a(67294),a(3905));const l={id:"FloatPackAttribute",title:"FloatPackAttribute"},i="Class FloatPackAttribute",o={unversionedId:"reference/Mirage.Serialization/FloatPackAttribute",id:"reference/Mirage.Serialization/FloatPackAttribute",title:"FloatPackAttribute",description:"Packs a float field, clamped from -max to +max, with",source:"@site/docs/reference/Mirage.Serialization/FloatPackAttribute.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/FloatPackAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/FloatPackAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/FloatPackAttribute.md",tags:[],version:"current",frontMatter:{id:"FloatPackAttribute",title:"FloatPackAttribute"},sidebar:"api",previous:{title:"CompressedExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/CompressedExtensions"},next:{title:"FloatPacker",permalink:"/Mirage/docs/reference/Mirage.Serialization/FloatPacker"}},c={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"FloatPackAttribute(Single, Single)",id:"floatpackattributesingle-single",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"FloatPackAttribute(Single, Int32)",id:"floatpackattributesingle-int32",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5}],s={toc:u};function p(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-floatpackattribute"},"Class FloatPackAttribute"),(0,n.kt)("p",null,"Packs a float field, clamped from -max to +max, with\nAlso See: Bit Packing Documentation"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter)]\npublic class FloatPackAttribute : Attribute, _Attribute\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"floatpackattributesingle-single"},"FloatPackAttribute(Single, Single)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public FloatPackAttribute(float max, float precision)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"max"),(0,n.kt)("td",{parentName:"tr",align:null},"Max value of the float")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"precision"),(0,n.kt)("td",{parentName:"tr",align:null},"Smallest possible value of the field. Real precision will be calculated using bitcount but will always be lower than this parameter")))),(0,n.kt)("h4",{id:"floatpackattributesingle-int32"},"FloatPackAttribute(Single, Int32)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public FloatPackAttribute(float max, int bitCount)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"max"),(0,n.kt)("td",{parentName:"tr",align:null},"Max value of the float")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"bitCount"),(0,n.kt)("td",{parentName:"tr",align:null},"number of bits to pack the field into")))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e5c7ba44.bed7f247.js b/assets/js/e5c7ba44.bed7f247.js new file mode 100644 index 00000000000..5a0a631073b --- /dev/null +++ b/assets/js/e5c7ba44.bed7f247.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3077],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>m});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},d=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),p=s(n),m=a,y=p["".concat(l,".").concat(m)]||p[m]||u[m]||o;return n?r.createElement(y,c(c({ref:t},d),{},{components:n})):r.createElement(y,c({ref:t},d))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,c=new Array(o);c[0]=p;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,c[1]=i;for(var s=2;s<o;s++)c[s]=n[s];return r.createElement.apply(null,c)}return r.createElement.apply(null,n)}p.displayName="MDXCreateElement"},38862:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>s});var r=n(87462),a=(n(67294),n(3905));const o={id:"DisconnectReason",title:"DisconnectReason"},c="Enum DisconnectReason",i={unversionedId:"reference/Mirage.SocketLayer/DisconnectReason",id:"reference/Mirage.SocketLayer/DisconnectReason",title:"DisconnectReason",description:"Reason why a connection was disconnected",source:"@site/docs/reference/Mirage.SocketLayer/DisconnectReason.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/DisconnectReason",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/DisconnectReason",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/DisconnectReason.md",tags:[],version:"current",frontMatter:{id:"DisconnectReason",title:"DisconnectReason"},sidebar:"api",previous:{title:"ConnectionState",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ConnectionState"},next:{title:"IConnection",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IConnection"}},l={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"None",id:"none",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Timeout",id:"timeout",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"RequestedByRemotePeer",id:"requestedbyremotepeer",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"RequestedByLocalPeer",id:"requestedbylocalpeer",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"InvalidPacket",id:"invalidpacket",level:4},{value:"Declaration",id:"declaration-4",level:5}],d={toc:s};function u(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"enum-disconnectreason"},"Enum DisconnectReason"),(0,a.kt)("p",null,"Reason why a connection was disconnected"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public enum DisconnectReason\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"none"},"None"),(0,a.kt)("p",null,"No reason given"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"None = 0\n")),(0,a.kt)("h4",{id:"timeout"},"Timeout"),(0,a.kt)("p",null,"No message Received in timeout window"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Timeout = 1\n")),(0,a.kt)("h4",{id:"requestedbyremotepeer"},"RequestedByRemotePeer"),(0,a.kt)("p",null,"Disconnect called by higher level"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"RequestedByRemotePeer = 2\n")),(0,a.kt)("h4",{id:"requestedbylocalpeer"},"RequestedByLocalPeer"),(0,a.kt)("p",null,"Disconnect called by higher level"),(0,a.kt)("h5",{id:"declaration-3"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"RequestedByLocalPeer = 3\n")),(0,a.kt)("h4",{id:"invalidpacket"},"InvalidPacket"),(0,a.kt)("p",null,"Received packet was not allowed by config"),(0,a.kt)("h5",{id:"declaration-4"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"InvalidPacket = 4\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e616c336.e87380b8.js b/assets/js/e616c336.e87380b8.js new file mode 100644 index 00000000000..00c70b5f92a --- /dev/null +++ b/assets/js/e616c336.e87380b8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[5161],{3905:(e,t,r)=>{r.d(t,{Zo:()=>g,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=a.createContext({}),c=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},g=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,g=o(e,["components","mdxType","originalType","parentName"]),u=c(r),m=n,d=u["".concat(s,".").concat(m)]||u[m]||p[m]||l;return r?a.createElement(d,i(i({ref:t},g),{},{components:r})):a.createElement(d,i({ref:t},g))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=u;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var c=2;c<l;c++)i[c]=r[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}u.displayName="MDXCreateElement"},34133:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const l={id:"MessageDelegate-1",title:"MessageDelegate<T>"},i="Delegate MessageDelegate<T>",o={unversionedId:"reference/Mirage/MessageDelegate-1",id:"reference/Mirage/MessageDelegate-1",title:"MessageDelegate<T>",description:"Syntax",source:"@site/docs/reference/Mirage/MessageDelegate-1.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/MessageDelegate-1",permalink:"/Mirage/docs/reference/Mirage/MessageDelegate-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/MessageDelegate-1.md",tags:[],version:"current",frontMatter:{id:"MessageDelegate-1",title:"MessageDelegate<T>"},sidebar:"api",previous:{title:"LocalPlayerAttribute",permalink:"/Mirage/docs/reference/Mirage/LocalPlayerAttribute"},next:{title:"MessageDelegateAsync<T>",permalink:"/Mirage/docs/reference/Mirage/MessageDelegateAsync-1"}},s={},c=[{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5}],g={toc:c};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},g,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"delegate-messagedelegatet"},"Delegate MessageDelegate","<","T",">"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public delegate void MessageDelegate<in T>(T message);\n")),(0,n.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e7d07015.91361676.js b/assets/js/e7d07015.91361676.js new file mode 100644 index 00000000000..d7cd101bb15 --- /dev/null +++ b/assets/js/e7d07015.91361676.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9131],{26953:e=>{e.exports=JSON.parse('{"title":"Examples","slug":"/category/examples","permalink":"/Mirage/docs/category/examples","navigation":{"previous":{"title":"Mirage Quick Start Guide V0.1","permalink":"/Mirage/docs/guides/community-guides/mirage-quick-start-guide"},"next":{"title":"Samples Overview","permalink":"/Mirage/docs/examples/"}}}')}}]); \ No newline at end of file diff --git a/assets/js/e92ca709.1e2c3c46.js b/assets/js/e92ca709.1e2c3c46.js new file mode 100644 index 00000000000..f79636fc084 --- /dev/null +++ b/assets/js/e92ca709.1e2c3c46.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9969],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>g});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(r),g=o,y=d["".concat(l,".").concat(g)]||d[g]||u[g]||a;return r?n.createElement(y,i(i({ref:t},p),{},{components:r})):n.createElement(y,i({ref:t},p))}));function g(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=d;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:o,i[1]=s;for(var c=2;c<a;c++)i[c]=r[c];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},59318:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var n=r(87462),o=(r(67294),r(3905));const a={sidebar_position:5},i="Troubleshooting",s={unversionedId:"general/troubleshooting",id:"general/troubleshooting",title:"Troubleshooting",description:"No Writer found for X",source:"@site/docs/general/troubleshooting.md",sourceDirName:"general",slug:"/general/troubleshooting",permalink:"/Mirage/docs/general/troubleshooting",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/general/troubleshooting.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"docs",previous:{title:"Showcase",permalink:"/Mirage/docs/general/showcase"},next:{title:"Support",permalink:"/Mirage/docs/general/support"}},l={},c=[{value:"No Writer found for X",id:"no-writer-found-for-x",level:2}],p={toc:c};function u(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"troubleshooting"},"Troubleshooting"),(0,o.kt)("h2",{id:"no-writer-found-for-x"},"No Writer found for X"),(0,o.kt)("p",null,"Mirage normally generates readers and writers for any ",(0,o.kt)("a",{parentName:"p",href:"/docs/guides/serialization/data-types"},"Data Type"),"\nIn order to do so, it needs to know what types you want to read or write.\nYou are getting this error because Mirage did not know you wanted to read or write this type."),(0,o.kt)("p",null,"Mirage scans your code looking for calls to ",(0,o.kt)("inlineCode",{parentName:"p"},"Send"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"ReceiveHandler"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"Write")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Read"),".\nIt will also recognize ",(0,o.kt)("a",{parentName:"p",href:"/docs/guides/sync/"},"SyncVars")," and parameters of ",(0,o.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/"},"Remote Calls"),".\nIf it does not find one, it assumes you are not trying to serialize the type so it does not generate the reader and writer."),(0,o.kt)("p",null,"For example, you might get this error with this code when trying to sync the ",(0,o.kt)("a",{parentName:"p",href:"/docs/guides/sync/sync-objects/sync-list"},"SyncList"),"."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"public struct MyCustomType\n{\n public int id;\n public string name;\n}\n\nclass MyBehaviour : NetworkBehaviour\n{\n private readonly SyncList<MyCustomType> myList = new SyncList<MyCustomType>();\n}\n")),(0,o.kt)("p",null,"In this case, there is no direct invocation to send or receive. So Mirage does not know about it. "),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"There is a simple workaround:")," add an ",(0,o.kt)("inlineCode",{parentName:"p"},"[NetworkMessage]")," attribute to your class or struct."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"[NetworkMessage] // Added attribute\npublic struct MyCustomType\n{\n public int id;\n public string name;\n}\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ea282697.60c52b27.js b/assets/js/ea282697.60c52b27.js new file mode 100644 index 00000000000..1c1595917b1 --- /dev/null +++ b/assets/js/ea282697.60c52b27.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2558],{3905:(e,r,t)=>{t.d(r,{Zo:()=>s,kt:()=>g});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function l(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function i(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=n.createContext({}),d=function(e){var r=n.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):l(l({},r),e)),t},s=function(e){var r=d(e.components);return n.createElement(c.Provider,{value:r},e.children)},u={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},p=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),p=d(t),g=a,f=p["".concat(c,".").concat(g)]||p[g]||u[g]||o;return t?n.createElement(f,l(l({ref:r},s),{},{components:t})):n.createElement(f,l({ref:r},s))}));function g(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,l=new Array(o);l[0]=p;var i={};for(var c in r)hasOwnProperty.call(r,c)&&(i[c]=r[c]);i.originalType=e,i.mdxType="string"==typeof e?e:a,l[1]=i;for(var d=2;d<o;d++)l[d]=t[d];return n.createElement.apply(null,l)}return n.createElement.apply(null,t)}p.displayName="MDXCreateElement"},88520:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>d});var n=t(87462),a=(t(67294),t(3905));const o={id:"NetworkManagerMode",title:"NetworkManagerMode"},l="Enum NetworkManagerMode",i={unversionedId:"reference/Mirage/NetworkManagerMode",id:"reference/Mirage/NetworkManagerMode",title:"NetworkManagerMode",description:"Syntax",source:"@site/docs/reference/Mirage/NetworkManagerMode.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkManagerMode",permalink:"/Mirage/docs/reference/Mirage/NetworkManagerMode",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkManagerMode.md",tags:[],version:"current",frontMatter:{id:"NetworkManagerMode",title:"NetworkManagerMode"},sidebar:"api",previous:{title:"NetworkManagerHud",permalink:"/Mirage/docs/reference/Mirage/NetworkManagerHud"},next:{title:"NetworkMatchChecker",permalink:"/Mirage/docs/reference/Mirage/NetworkMatchChecker"}},c={},d=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"None",id:"none",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Server",id:"server",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Client",id:"client",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Host",id:"host",level:4},{value:"Declaration",id:"declaration-3",level:5}],s={toc:d};function u(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"enum-networkmanagermode"},"Enum NetworkManagerMode"),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"[Flags]\npublic enum NetworkManagerMode\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"none"},"None"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"None = 0\n")),(0,a.kt)("h4",{id:"server"},"Server"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Server = 1\n")),(0,a.kt)("h4",{id:"client"},"Client"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Client = 2\n")),(0,a.kt)("h4",{id:"host"},"Host"),(0,a.kt)("h5",{id:"declaration-3"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"Host = 3\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ea9879e1.c7d3709c.js b/assets/js/ea9879e1.c7d3709c.js new file mode 100644 index 00000000000..eb326cc08b9 --- /dev/null +++ b/assets/js/ea9879e1.c7d3709c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[7615],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>u});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var o=a.createContext({}),s=function(e){var t=a.useContext(o),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},c=function(e){var t=s(e.components);return a.createElement(o.Provider,{value:t},e.children)},v={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,c=d(e,["components","mdxType","originalType","parentName"]),p=s(n),u=r,m=p["".concat(o,".").concat(u)]||p[u]||v[u]||i;return n?a.createElement(m,l(l({ref:t},c),{},{components:n})):a.createElement(m,l({ref:t},c))}));function u(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=p;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d.mdxType="string"==typeof e?e:r,l[1]=d;for(var s=2;s<i;s++)l[s]=n[s];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}p.displayName="MDXCreateElement"},802:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>v,frontMatter:()=>i,metadata:()=>d,toc:()=>s});var a=n(87462),r=(n(67294),n(3905));const i={id:"AddLateEventUnity",title:"AddLateEventUnity"},l="Class AddLateEventUnity",d={unversionedId:"reference/Mirage.Events/AddLateEventUnity",id:"reference/Mirage.Events/AddLateEventUnity",title:"AddLateEventUnity",description:"An event that will invoke handlers immediately if they are added after has been called",source:"@site/docs/reference/Mirage.Events/AddLateEventUnity.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/AddLateEventUnity",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/AddLateEventUnity.md",tags:[],version:"current",frontMatter:{id:"AddLateEventUnity",title:"AddLateEventUnity"},sidebar:"api",previous:{title:"AddLateEventUnity<T0, T1, TEvent>",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-3"},next:{title:"BoolAddLateEvent",permalink:"/Mirage/docs/reference/Mirage.Events/BoolAddLateEvent"}},o={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"AddListener(UnityAction)",id:"addlistenerunityaction",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RemoveListener(UnityAction)",id:"removelistenerunityaction",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Invoke()",id:"invoke",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"RemoveAllListeners()",id:"removealllisteners",level:4},{value:"Declaration",id:"declaration-3",level:5}],c={toc:s};function v(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"class-addlateeventunity"},"Class AddLateEventUnity"),(0,r.kt)("p",null,"An event that will invoke handlers immediately if they are added after has been called"),(0,r.kt)("div",{class:"inheritance"},(0,r.kt)("h5",{id:"inheritance"},"Inheritance"),(0,r.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,r.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Events.AddLateEventBase"),(0,r.kt)("div",{class:"level",style:{"--data-index":2}},"Mirage.Events.AddLateEvent")),(0,r.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,r.kt)("details",null,(0,r.kt)("summary",null,"Show"),(0,r.kt)("p",null,"Mirage.Events.AddLateEventBase.HasInvoked"),(0,r.kt)("p",null,"Mirage.Events.AddLateEventBase.MarkInvoked()"),(0,r.kt)("p",null,"Mirage.Events.AddLateEventBase.Reset()")),(0,r.kt)("h5",{id:"syntax"},"Syntax"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic sealed class AddLateEventUnity : AddLateEvent, IAddLateEventUnity, IAddLateEvent\n")),(0,r.kt)("h3",{id:"methods"},"Methods"),(0,r.kt)("h4",{id:"addlistenerunityaction"},"AddListener(UnityAction)"),(0,r.kt)("h5",{id:"declaration"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void AddListener(UnityAction handler)\n")),(0,r.kt)("h5",{id:"parameters"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"UnityAction"),(0,r.kt)("td",{parentName:"tr",align:null},"handler"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"removelistenerunityaction"},"RemoveListener(UnityAction)"),(0,r.kt)("h5",{id:"declaration-1"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveListener(UnityAction handler)\n")),(0,r.kt)("h5",{id:"parameters-1"},"Parameters"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"UnityAction"),(0,r.kt)("td",{parentName:"tr",align:null},"handler"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h4",{id:"invoke"},"Invoke()"),(0,r.kt)("h5",{id:"declaration-2"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public override void Invoke()\n")),(0,r.kt)("h4",{id:"removealllisteners"},"RemoveAllListeners()"),(0,r.kt)("p",null,"Remove all non-persisent (ie created from script) listeners from the event."),(0,r.kt)("h5",{id:"declaration-3"},"Declaration"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveAllListeners()\n")))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/eb0095b0.d9986148.js b/assets/js/eb0095b0.d9986148.js new file mode 100644 index 00000000000..5dfe50d77a8 --- /dev/null +++ b/assets/js/eb0095b0.d9986148.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6318],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>y});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},l=Object.keys(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var o=n.createContext({}),s=function(e){var t=n.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=s(e.components);return n.createElement(o.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,l=e.originalType,o=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),u=s(r),y=a,m=u["".concat(o,".").concat(y)]||u[y]||p[y]||l;return r?n.createElement(m,i(i({ref:t},d),{},{components:r})):n.createElement(m,i({ref:t},d))}));function y(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=r.length,i=new Array(l);i[0]=u;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var s=2;s<l;s++)i[s]=r[s];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},2037:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>c,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));const l={id:"SyncObjectUtils",title:"SyncObjectUtils"},i="Class SyncObjectUtils",c={unversionedId:"reference/Mirage.Collections/SyncObjectUtils",id:"reference/Mirage.Collections/SyncObjectUtils",title:"SyncObjectUtils",description:"Inheritance",source:"@site/docs/reference/Mirage.Collections/SyncObjectUtils.md",sourceDirName:"reference/Mirage.Collections",slug:"/reference/Mirage.Collections/SyncObjectUtils",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncObjectUtils",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Collections/SyncObjectUtils.md",tags:[],version:"current",frontMatter:{id:"SyncObjectUtils",title:"SyncObjectUtils"},sidebar:"api",previous:{title:"SyncList<T>",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncList-1"},next:{title:"SyncSet<T>",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncSet-1"}},o={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"ThrowIfReadOnly(Boolean)",id:"throwifreadonlyboolean",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5}],d={toc:s};function p(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-syncobjectutils"},"Class SyncObjectUtils"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static class SyncObjectUtils\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"throwifreadonlyboolean"},"ThrowIfReadOnly(Boolean)"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static void ThrowIfReadOnly(bool isReadOnly)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,a.kt)("td",{parentName:"tr",align:null},"isReadOnly"),(0,a.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/eb4d19ea.25d13995.js b/assets/js/eb4d19ea.25d13995.js new file mode 100644 index 00000000000..7883611dbf1 --- /dev/null +++ b/assets/js/eb4d19ea.25d13995.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4198],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>f});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),p=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},l=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,c=e.originalType,s=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),m=p(n),f=a,g=m["".concat(s,".").concat(f)]||m[f]||u[f]||c;return n?r.createElement(g,o(o({ref:t},l),{},{components:n})):r.createElement(g,o({ref:t},l))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var c=n.length,o=new Array(c);o[0]=m;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:a,o[1]=i;for(var p=2;p<c;p++)o[p]=n[p];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},93602:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>c,metadata:()=>i,toc:()=>p});var r=n(87462),a=(n(67294),n(3905));const c={},o="ChangeScene",i={unversionedId:"examples/change-scene",id:"examples/change-scene",title:"ChangeScene",description:"ChangeScene Example",source:"@site/docs/examples/change-scene.md",sourceDirName:"examples",slug:"/examples/change-scene",permalink:"/Mirage/docs/examples/change-scene",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/examples/change-scene.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Basic",permalink:"/Mirage/docs/examples/basic"},next:{title:"Chat",permalink:"/Mirage/docs/examples/chat"}},s={},p=[],l={toc:p};function u(e){let{components:t,...c}=e;return(0,a.kt)("wrapper",(0,r.Z)({},l,c,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"changescene"},"ChangeScene"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"ChangeScene Example",src:n(24978).Z,width:"1276",height:"719"})))}u.isMDXComponent=!0},24978:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/ChangeScene-33256c2b6c7aa95a631f5a3955ff9d7c.png"}}]); \ No newline at end of file diff --git a/assets/js/eb90c1cd.7fad9fa5.js b/assets/js/eb90c1cd.7fad9fa5.js new file mode 100644 index 00000000000..6a3fab2410b --- /dev/null +++ b/assets/js/eb90c1cd.7fad9fa5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2831],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>v});var a=t(67294);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e,n){if(null==e)return{};var t,a,l=function(e,n){if(null==e)return{};var t,a,l={},r=Object.keys(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||(l[t]=e[t]);return l}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)t=r[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var c=a.createContext({}),d=function(e){var n=a.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},p=function(e){var n=d(e.components);return a.createElement(c.Provider,{value:n},e.children)},s={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},u=a.forwardRef((function(e,n){var t=e.components,l=e.mdxType,r=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=d(t),v=l,m=u["".concat(c,".").concat(v)]||u[v]||s[v]||r;return t?a.createElement(m,o(o({ref:n},p),{},{components:t})):a.createElement(m,o({ref:n},p))}));function v(e,n){var t=arguments,l=n&&n.mdxType;if("string"==typeof e||l){var r=t.length,o=new Array(r);o[0]=u;var i={};for(var c in n)hasOwnProperty.call(n,c)&&(i[c]=n[c]);i.originalType=e,i.mdxType="string"==typeof e?e:l,o[1]=i;for(var d=2;d<r;d++)o[d]=t[d];return a.createElement.apply(null,o)}return a.createElement.apply(null,t)}u.displayName="MDXCreateElement"},8659:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>s,frontMatter:()=>r,metadata:()=>i,toc:()=>d});var a=t(87462),l=(t(67294),t(3905));const r={id:"ClientStoppedReason",title:"ClientStoppedReason"},o="Enum ClientStoppedReason",i={unversionedId:"reference/Mirage/ClientStoppedReason",id:"reference/Mirage/ClientStoppedReason",title:"ClientStoppedReason",description:"Reason why Client was stopped or disconnected",source:"@site/docs/reference/Mirage/ClientStoppedReason.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/ClientStoppedReason",permalink:"/Mirage/docs/reference/Mirage/ClientStoppedReason",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/ClientStoppedReason.md",tags:[],version:"current",frontMatter:{id:"ClientStoppedReason",title:"ClientStoppedReason"},sidebar:"api",previous:{title:"ClientRpcAttribute",permalink:"/Mirage/docs/reference/Mirage/ClientRpcAttribute"},next:{title:"ConnectState",permalink:"/Mirage/docs/reference/Mirage/ConnectState"}},c={},d=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"None",id:"none",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Timeout",id:"timeout",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"LocalConnectionClosed",id:"localconnectionclosed",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"RemoteConnectionClosed",id:"remoteconnectionclosed",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"InvalidPacket",id:"invalidpacket",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"ServerFull",id:"serverfull",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"ConnectingTimeout",id:"connectingtimeout",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"ConnectingCancel",id:"connectingcancel",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"KeyInvalid",id:"keyinvalid",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"HostModeStopped",id:"hostmodestopped",level:4},{value:"Declaration",id:"declaration-9",level:5}],p={toc:d};function s(e){let{components:n,...t}=e;return(0,l.kt)("wrapper",(0,a.Z)({},p,t,{components:n,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"enum-clientstoppedreason"},"Enum ClientStoppedReason"),(0,l.kt)("p",null,"Reason why Client was stopped or disconnected"),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic enum ClientStoppedReason\n")),(0,l.kt)("h3",{id:"fields"},"Fields"),(0,l.kt)("h4",{id:"none"},"None"),(0,l.kt)("p",null,"No reason given"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"None = 0\n")),(0,l.kt)("h4",{id:"timeout"},"Timeout"),(0,l.kt)("p",null,"Connecting timed out\nServer not sending replies"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"Timeout = 1\n")),(0,l.kt)("h4",{id:"localconnectionclosed"},"LocalConnectionClosed"),(0,l.kt)("p",null,"Connection disconnect called locally"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"LocalConnectionClosed = 2\n")),(0,l.kt)("h4",{id:"remoteconnectionclosed"},"RemoteConnectionClosed"),(0,l.kt)("p",null,"Connection disconnect called on server"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"RemoteConnectionClosed = 3\n")),(0,l.kt)("h4",{id:"invalidpacket"},"InvalidPacket"),(0,l.kt)("p",null,"Server disconnected because sent packet was not allowed by server config"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"InvalidPacket = 8\n")),(0,l.kt)("h4",{id:"serverfull"},"ServerFull"),(0,l.kt)("p",null,"Server rejected connecting because it was full"),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"ServerFull = 4\n")),(0,l.kt)("h4",{id:"connectingtimeout"},"ConnectingTimeout"),(0,l.kt)("p",null,"Server did not reply"),(0,l.kt)("h5",{id:"declaration-6"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"ConnectingTimeout = 5\n")),(0,l.kt)("h4",{id:"connectingcancel"},"ConnectingCancel"),(0,l.kt)("p",null,"Disconnect called locally before server replies with connected"),(0,l.kt)("h5",{id:"declaration-7"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"ConnectingCancel = 6\n")),(0,l.kt)("h4",{id:"keyinvalid"},"KeyInvalid"),(0,l.kt)("p",null,"Key given with first message did not match the value on the server, See SocketLayer Config"),(0,l.kt)("h5",{id:"declaration-8"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"KeyInvalid = 9\n")),(0,l.kt)("h4",{id:"hostmodestopped"},"HostModeStopped"),(0,l.kt)("p",null,"Disconnect called when server was stopped in host mode"),(0,l.kt)("h5",{id:"declaration-9"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"HostModeStopped = 7\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ebcacb84.14abdc4e.js b/assets/js/ebcacb84.14abdc4e.js new file mode 100644 index 00000000000..3bc9d505e23 --- /dev/null +++ b/assets/js/ebcacb84.14abdc4e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6379],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>u});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function d(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=r.createContext({}),s=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},c=function(e){var t=s(e.components);return r.createElement(o.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,c=d(e,["components","mdxType","originalType","parentName"]),m=s(a),u=n,v=m["".concat(o,".").concat(u)]||m[u]||p[u]||l;return a?r.createElement(v,i(i({ref:t},c),{},{components:a})):r.createElement(v,i({ref:t},c))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=m;var d={};for(var o in t)hasOwnProperty.call(t,o)&&(d[o]=t[o]);d.originalType=e,d.mdxType="string"==typeof e?e:n,i[1]=d;for(var s=2;s<l;s++)i[s]=a[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},64601:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>d,toc:()=>s});var r=a(87462),n=(a(67294),a(3905));const l={id:"AddLateEvent-1",title:"AddLateEvent<T0>"},i="Class AddLateEvent<T0>",d={unversionedId:"reference/Mirage.Events/AddLateEvent-1",id:"reference/Mirage.Events/AddLateEvent-1",title:"AddLateEvent<T0>",description:"Version of with 1 argument",source:"@site/docs/reference/Mirage.Events/AddLateEvent-1.md",sourceDirName:"reference/Mirage.Events",slug:"/reference/Mirage.Events/AddLateEvent-1",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEvent-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Events/AddLateEvent-1.md",tags:[],version:"current",frontMatter:{id:"AddLateEvent-1",title:"AddLateEvent<T0>"},sidebar:"api",previous:{title:"Mirage.Events",permalink:"/Mirage/docs/reference/Mirage.Events/"},next:{title:"AddLateEvent<T0, T1>",permalink:"/Mirage/docs/reference/Mirage.Events/AddLateEvent-2"}},o={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"_arg0",id:"_arg0",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Methods",id:"methods",level:3},{value:"AddListener(Action<T0>)",id:"addlisteneractiont0",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"RemoveListener(Action<T0>)",id:"removelisteneractiont0",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Invoke(T0)",id:"invoket0",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-2",level:5}],c={toc:s};function p(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-addlateeventt0"},"Class AddLateEvent","<","T0",">"),(0,n.kt)("p",null,"Version of with 1 argument\nCreate a non-generic class inheriting from this to use in inspector. Same rules as "),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.Events.AddLateEventBase")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show"),(0,n.kt)("p",null,"Mirage.Events.AddLateEventBase.HasInvoked"),(0,n.kt)("p",null,"Mirage.Events.AddLateEventBase.MarkInvoked()"),(0,n.kt)("p",null,"Mirage.Events.AddLateEventBase.Reset()")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[Serializable]\npublic class AddLateEvent<T0> : AddLateEventBase, IAddLateEvent<T0>\n")),(0,n.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T0"),(0,n.kt)("td",{parentName:"tr",align:null},"argument 0")))),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"_arg0"},"_arg0"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected T0 _arg0\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"addlisteneractiont0"},"AddListener(Action","<","T0",">",")"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void AddListener(Action<T0> handler)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Action","<","T0",">"),(0,n.kt)("td",{parentName:"tr",align:null},"handler"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"removelisteneractiont0"},"RemoveListener(Action","<","T0",">",")"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveListener(Action<T0> handler)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Action","<","T0",">"),(0,n.kt)("td",{parentName:"tr",align:null},"handler"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"invoket0"},"Invoke(T0)"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public virtual void Invoke(T0 arg0)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T0"),(0,n.kt)("td",{parentName:"tr",align:null},"arg0"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ed2375fe.567e611f.js b/assets/js/ed2375fe.567e611f.js new file mode 100644 index 00000000000..e80c1699a2a --- /dev/null +++ b/assets/js/ed2375fe.567e611f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8022],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>y});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function i(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},o=Object.keys(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var l=r.createContext({}),c=function(e){var t=r.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):s(s({},t),e)),a},p=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),m=c(a),y=n,u=m["".concat(l,".").concat(y)]||m[y]||h[y]||o;return a?r.createElement(u,s(s({ref:t},p),{},{components:a})):r.createElement(u,s({ref:t},p))}));function y(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,s=new Array(o);s[0]=m;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:n,s[1]=i;for(var c=2;c<o;c++)s[c]=a[c];return r.createElement.apply(null,s)}return r.createElement.apply(null,a)}m.displayName="MDXCreateElement"},18352:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var r=a(87462),n=(a(67294),a(3905));const o={sidebar_position:3,title:"Spawn Player"},s="Player Game Objects",i={unversionedId:"guides/game-objects/spawn-player",id:"guides/game-objects/spawn-player",title:"Spawn Player",description:'Mirage\u2019s multiplayer HLAPI system handles player game objects differently than non-player game objects. When a new player joins the game (when a new client connects to the server), that player\u2019s game object becomes a "local player" game object on the client of that player, and Unity associates the player\u2019s connection with the player\u2019s game object. Unity associates one player game object for each person playing the game, and routes networking Server RPC Calls to that individual game object. A player cannot invoke a Server RPC Call on another player\u2019s game object, only their own.',source:"@site/docs/guides/game-objects/spawn-player.md",sourceDirName:"guides/game-objects",slug:"/guides/game-objects/spawn-player",permalink:"/Mirage/docs/guides/game-objects/spawn-player",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/game-objects/spawn-player.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Spawn Player"},sidebar:"docs",previous:{title:"Network Behaviour",permalink:"/Mirage/docs/guides/game-objects/network-behaviour"},next:{title:"Spawn Player - Custom",permalink:"/Mirage/docs/guides/game-objects/spawn-player-custom"}},l={},c=[],p={toc:c};function h(e){let{components:t,...o}=e;return(0,n.kt)("wrapper",(0,r.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"player-game-objects"},"Player Game Objects"),(0,n.kt)("p",null,'Mirage\u2019s multiplayer HLAPI system handles player game objects differently than non-player game objects. When a new player joins the game (when a new client connects to the server), that player\u2019s game object becomes a "local player" game object on the client of that player, and Unity associates the player\u2019s connection with the player\u2019s game object. Unity associates one player game object for each person playing the game, and routes networking Server RPC Calls to that individual game object. A player cannot invoke a Server RPC Call on another player\u2019s game object, only their own.'),(0,n.kt)("p",null,"The ",(0,n.kt)("inlineCode",{parentName:"p"},"NetworkBehaviour")," class (which you derive from to create your network scripts) has a property called ",(0,n.kt)("inlineCode",{parentName:"p"},"IsLocalPlayer"),". On each client\u2019s player game object, Mirage sets that property to true on the ",(0,n.kt)("inlineCode",{parentName:"p"},"NetworkBehaviour")," script and invokes the ",(0,n.kt)("inlineCode",{parentName:"p"},"OnStartLocalPlayer")," callback on the object's ",(0,n.kt)("inlineCode",{parentName:"p"},"NetworkIdentity"),". This means each client has a different game object set up like this because on each client a different game object is the one that represents the local player. The diagram below shows two clients and their local players."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"In this diagram, the circles represent the player game objects marked as the local player on each client",src:a(62176).Z,width:"716",height:"364"})),(0,n.kt)("p",null,'Only the player game object that is "yours" (from your point of view as the player) has the ',(0,n.kt)("inlineCode",{parentName:"p"},"IsLocalPlayer")," flag set. Usually, you should set this flag in the script to determine whether to process input, whether to make the camera track the game object or do any other client-side things that should only occur for the player belonging to that client."),(0,n.kt)("p",null,"Player game objects represent the player (that is, the person playing the game) on the server, and run Server RPC Calls from the player\u2019s client. These Server RPC Calls are secure client-to-server remote procedure calls. In this server-authoritative system, other non-player server-side game objects cannot receive Server RPC Calls directly from client-side game objects. This is both for security, and to reduce the complexity of building your game. By routing all incoming Server RPC Calls from users through the player game object, you can ensure that these messages come from the right place, the right client, and can be handled in a central location."),(0,n.kt)("p",null,"The ",(0,n.kt)("inlineCode",{parentName:"p"},"CharacterSpawner")," component adds a player every time a client connects to the server. In some situations though, you might want it not to add players until an input event happens - such as a user pressing a \u201cstart\u201d button on the controller. To disable automatic player creation, you may want to write your own ",(0,n.kt)("inlineCode",{parentName:"p"},"CharacterSpawner")," component and wait for the ",(0,n.kt)("inlineCode",{parentName:"p"},"AddPlayerMessage")," message to be sent from the client."))}h.isMDXComponent=!0},62176:(e,t,a)=>{a.d(t,{Z:()=>r});const r=a.p+"assets/images/network-local-players-270b8a63f79eb179a5713d3344154ec3.png"}}]); \ No newline at end of file diff --git a/assets/js/ef37c68e.14ee1151.js b/assets/js/ef37c68e.14ee1151.js new file mode 100644 index 00000000000..a829d234092 --- /dev/null +++ b/assets/js/ef37c68e.14ee1151.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8443],{3905:(e,r,t)=>{t.d(r,{Zo:()=>s,kt:()=>g});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){n(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function l(e,r){if(null==e)return{};var t,a,n=function(e,r){if(null==e)return{};var t,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)t=i[a],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)t=i[a],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var c=a.createContext({}),u=function(e){var r=a.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},s=function(e){var r=u(e.components);return a.createElement(c.Provider,{value:r},e.children)},k={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},p=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),p=u(t),g=n,v=p["".concat(c,".").concat(g)]||p[g]||k[g]||i;return t?a.createElement(v,o(o({ref:r},s),{},{components:t})):a.createElement(v,o({ref:r},s))}));function g(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var i=t.length,o=new Array(i);o[0]=p;var l={};for(var c in r)hasOwnProperty.call(r,c)&&(l[c]=r[c]);l.originalType=e,l.mdxType="string"==typeof e?e:n,o[1]=l;for(var u=2;u<i;u++)o[u]=t[u];return a.createElement.apply(null,o)}return a.createElement.apply(null,t)}p.displayName="MDXCreateElement"},67522:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>c,contentTitle:()=>o,default:()=>k,frontMatter:()=>i,metadata:()=>l,toc:()=>u});var a=t(87462),n=(t(67294),t(3905));const i={id:"NetworkInspectorCallbacks",title:"NetworkInspectorCallbacks"},o="Class NetworkInspectorCallbacks",l={unversionedId:"reference/Mirage/NetworkInspectorCallbacks",id:"reference/Mirage/NetworkInspectorCallbacks",title:"NetworkInspectorCallbacks",description:"Callbacks for",source:"@site/docs/reference/Mirage/NetworkInspectorCallbacks.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkInspectorCallbacks",permalink:"/Mirage/docs/reference/Mirage/NetworkInspectorCallbacks",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkInspectorCallbacks.md",tags:[],version:"current",frontMatter:{id:"NetworkInspectorCallbacks",title:"NetworkInspectorCallbacks"},sidebar:"api",previous:{title:"NetworkIdentitySyncvar",permalink:"/Mirage/docs/reference/Mirage/NetworkIdentitySyncvar"},next:{title:"NetworkManager",permalink:"/Mirage/docs/reference/Mirage/NetworkManager"}},c={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5}],s={toc:u};function k(e){let{components:r,...t}=e;return(0,n.kt)("wrapper",(0,a.Z)({},s,t,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-networkinspectorcallbacks"},"Class NetworkInspectorCallbacks"),(0,n.kt)("p",null,"Callbacks for "),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.NetworkBehaviour")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour._nextSyncTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncSettings"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsHost"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalPlayer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServerOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClientOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.HasAuthority"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Server"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ServerObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Client"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClientObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Owner"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.World"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetworkTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.BehaviourId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarDirtyBits"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnySyncObjectDirty"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.syncObjects"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Identity"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ComponentIndex"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarEqual","<","T",">","(T, T)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClearDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnyDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.GetRpcCount()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class NetworkInspectorCallbacks : NetworkBehaviour\n")))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ef60f95c.c2d2d64c.js b/assets/js/ef60f95c.c2d2d64c.js new file mode 100644 index 00000000000..c959e2b469f --- /dev/null +++ b/assets/js/ef60f95c.c2d2d64c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1688],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>d});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),u=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=u(e.components);return a.createElement(c.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},k=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),k=u(r),d=n,y=k["".concat(c,".").concat(d)]||k[d]||s[d]||i;return r?a.createElement(y,l(l({ref:t},p),{},{components:r})):a.createElement(y,l({ref:t},p))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,l=new Array(i);l[0]=k;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,l[1]=o;for(var u=2;u<i;u++)l[u]=r[u];return a.createElement.apply(null,l)}return a.createElement.apply(null,r)}k.displayName="MDXCreateElement"},52059:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>s,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var a=r(87462),n=(r(67294),r(3905));const i={id:"ReadyCheck",title:"ReadyCheck"},l="Class ReadyCheck",o={unversionedId:"reference/Mirage.Components/ReadyCheck",id:"reference/Mirage.Components/ReadyCheck",title:"ReadyCheck",description:"Simple component to track if a player is ready in a lobby",source:"@site/docs/reference/Mirage.Components/ReadyCheck.md",sourceDirName:"reference/Mirage.Components",slug:"/reference/Mirage.Components/ReadyCheck",permalink:"/Mirage/docs/reference/Mirage.Components/ReadyCheck",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Components/ReadyCheck.md",tags:[],version:"current",frontMatter:{id:"ReadyCheck",title:"ReadyCheck"},sidebar:"api",previous:{title:"LobbyReady",permalink:"/Mirage/docs/reference/Mirage.Components/LobbyReady"},next:{title:"SyncObjectActive",permalink:"/Mirage/docs/reference/Mirage.Components/SyncObjectActive"}},c={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"IsReady",id:"isready",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Methods",id:"methods",level:3},{value:"SetReady(Boolean)",id:"setreadyboolean",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters",level:5}],p={toc:u};function s(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-readycheck"},"Class ReadyCheck"),(0,n.kt)("p",null,"Simple component to track if a player is ready in a lobby"),(0,n.kt)("p",null,"To best use this component Set Sync Direction from owner to server"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.NetworkBehaviour")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour._nextSyncTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncSettings"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalClient"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsHost"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsLocalPlayer"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsServerOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.IsClientOnly"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.HasAuthority"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Server"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ServerObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Client"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClientObjectManager"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Owner"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.World"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.NetworkTime"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.BehaviourId"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarDirtyBits"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnySyncObjectDirty"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.syncObjects"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.Identity"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ComponentIndex"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SyncVarEqual","<","T",">","(T, T)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.ClearDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.AnyDirtyBits()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.GetRpcCount()"),(0,n.kt)("p",null,"Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class ReadyCheck : NetworkBehaviour\n")),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"isready"},"IsReady"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsReady { get; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"setreadyboolean"},"SetReady(Boolean)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void SetReady(bool ready)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"ready"),(0,n.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ef73d847.ce4a92c7.js b/assets/js/ef73d847.ce4a92c7.js new file mode 100644 index 00000000000..abdc85e81f1 --- /dev/null +++ b/assets/js/ef73d847.ce4a92c7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6716],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>h});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=c(r),h=a,m=d["".concat(l,".").concat(h)]||d[h]||p[h]||o;return r?n.createElement(m,i(i({ref:t},u),{},{components:r})):n.createElement(m,i({ref:t},u))}));function h(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=d;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:a,i[1]=s;for(var c=2;c<o;c++)i[c]=r[c];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},65898:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const o={sidebar_position:2},i="Network Behaviour",s={unversionedId:"guides/game-objects/network-behaviour",id:"guides/game-objects/network-behaviour",title:"Network Behaviour",description:"See also NetworkBehaviour in the API Reference.",source:"@site/docs/guides/game-objects/network-behaviour.md",sourceDirName:"guides/game-objects",slug:"/guides/game-objects/network-behaviour",permalink:"/Mirage/docs/guides/game-objects/network-behaviour",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/game-objects/network-behaviour.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"docs",previous:{title:"Lifecycle",permalink:"/Mirage/docs/guides/game-objects/lifecycle"},next:{title:"Spawn Player",permalink:"/Mirage/docs/guides/game-objects/spawn-player"}},l={},c=[{value:"Synchronized variables",id:"synchronized-variables",level:2},{value:"Server and Client functions",id:"server-and-client-functions",level:2},{value:"Server RPC Calls",id:"server-rpc-calls",level:2},{value:"Client RPC Calls",id:"client-rpc-calls",level:2},{value:"Network Callbacks",id:"network-callbacks",level:2}],u={toc:c};function p(e){let{components:t,...o}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"network-behaviour"},"Network Behaviour"),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"See also ",(0,a.kt)("a",{parentName:"strong",href:"/docs/reference/Mirage/NetworkBehaviour"},"NetworkBehaviour")," in the API Reference.")),(0,a.kt)("p",null,"Network Behaviour scripts work with game objects that have a NetworkIdentity component. These scripts can perform high-level API functions such as ServerRpcs, ClientRpcs, and SyncVars."),(0,a.kt)("p",null,"With the server-authoritative system of Mirage, the server must use the ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkServer.Spawn")," function to spawn game objects with Network Identity components. Spawning them this way assigns them a ",(0,a.kt)("inlineCode",{parentName:"p"},"netId")," and creates them on clients connected to the server."),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Note:")," This is not a component that you can add to a game object directly. Instead, you must create a script that inherits from ",(0,a.kt)("inlineCode",{parentName:"p"},"NetworkBehaviour")," (instead of the default ",(0,a.kt)("inlineCode",{parentName:"p"},"MonoBehaviour"),"), then you can add your script as a component to a game object."),(0,a.kt)("p",null,"NetworkBehaviour scripts have the following features:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"#synchronized-variables"},"Synchronized variables")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"#server-and-client-functions"},"Server and Client functions")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"#server-rpc-calls"},"Server RPC Calls")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"#client-rpc-calls"},"Client RPC Calls")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"#network-callbacks"},"Network Callbacks"))),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Data Flow Graph",src:r(91624).Z,width:"811",height:"586"})),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Note:")," NetworkBehaviors in Mirror and in UNet provide virtual functions as a way for you to add logic in response to lifecycle events. Mirage does not, instead add listeners to the events in ",(0,a.kt)("a",{parentName:"p",href:"/docs/components/network-identity"},"NetworkIdentity"),"."),(0,a.kt)("h2",{id:"synchronized-variables"},"Synchronized variables"),(0,a.kt)("p",null,"Your component can have data that is automatically synchronized from the server to the client. You can use ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/sync/sync-var"},"SyncVars")," as well as ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/sync/sync-objects/sync-list"},"SyncLists"),", ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/sync/sync-objects/sync-hash-set"},"SyncHashSet"),", and ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/sync/sync-objects/sync-dictionary"},"SyncDictionary")," inside a NetworkBehaviour. They will be automatically propagated to the clients whenever their value changes in the server."),(0,a.kt)("h2",{id:"server-and-client-functions"},"Server and Client functions"),(0,a.kt)("p",null,"You can tag member functions in NetworkBehaviour scripts with custom attributes to designate them as server-only or client-only functions. ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/ServerAttribute"},"ServerAttribute"),"\nwill check that the function is called in the server. Likewise, ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/ClientAttribute"},"ClientAttribute")," will check if the function is called in the client."),(0,a.kt)("p",null,"For more information, see ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/attributes"},"Attributes"),"."),(0,a.kt)("h2",{id:"server-rpc-calls"},"Server RPC Calls"),(0,a.kt)("p",null,"To execute code on the server, you must use Server RPC calls. The high-level API is a server-authoritative system, so ServerRpc is the only way for a client to trigger some code on the server."),(0,a.kt)("p",null,"Only player game objects can send ServerRpcs."),(0,a.kt)("p",null,"When a client player game object sends a ServerRpc, that ServerRpc runs on the corresponding player game object on the server. This routing happens automatically, so it is impossible for a client to send a ServerRpc for a different player."),(0,a.kt)("p",null,"To define a Server RPC Call in your code, your function must have a ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/ServerRpcAttribute"},(0,a.kt)("inlineCode",{parentName:"a"},"ServerRpc"))," attribute."),(0,a.kt)("p",null,"Server RPC Calls are called just by invoking the function normally on the client. Instead of the ServerRpc function running on the client, it is automatically invoked on the corresponding player game object on the server."),(0,a.kt)("p",null,"Server RPC Calls are type-safe, have built-in security and routing to the player, and use an efficient serialization mechanism for the arguments to make calling them fast."),(0,a.kt)("p",null,"See ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/server-rpc"},"Server RPC")," and related sections for more information."),(0,a.kt)("h2",{id:"client-rpc-calls"},"Client RPC Calls"),(0,a.kt)("p",null,"Client RPC calls are a way for server game objects to make things happen on client game objects."),(0,a.kt)("p",null,"Client RPC calls are not restricted to player game objects and may be called on any game object with a Network Identity component."),(0,a.kt)("p",null,"To define a Client RPC call in your code, your function must have a ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/ClientRpcAttribute"},(0,a.kt)("inlineCode",{parentName:"a"},"ClientRpc"))," attribute."),(0,a.kt)("p",null,"See ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/client-rpc"},"Client RPC")," and related sections for more information."),(0,a.kt)("h2",{id:"network-callbacks"},"Network Callbacks"),(0,a.kt)("p",null,"Callbacks can be used to make sure code is executed at the right time."),(0,a.kt)("p",null,"The network callbacks are found inside ",(0,a.kt)("a",{parentName:"p",href:"/docs/reference/Mirage/NetworkIdentity"},"NetworkIdentity")," so they can also be used outside of a NetworkBehaviour."),(0,a.kt)("p",null,"See ",(0,a.kt)("a",{parentName:"p",href:"/docs/guides/callbacks/network-behaviour"},"NetworkBehaviour Callbacks")," and related sections for more information."))}p.isMDXComponent=!0},91624:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/unet-directions-f5b45204a697a14ca5f74730d072023d.jpg"}}]); \ No newline at end of file diff --git a/assets/js/efcb83d3.04145e74.js b/assets/js/efcb83d3.04145e74.js new file mode 100644 index 00000000000..782604dfb86 --- /dev/null +++ b/assets/js/efcb83d3.04145e74.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1744],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>d});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var l=a.createContext({}),u=function(e){var t=a.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},s=function(e){var t=u(e.components);return a.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},k=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,l=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),k=u(r),d=n,m=k["".concat(l,".").concat(d)]||k[d]||p[d]||i;return r?a.createElement(m,c(c({ref:t},s),{},{components:r})):a.createElement(m,c({ref:t},s))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,c=new Array(i);c[0]=k;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o.mdxType="string"==typeof e?e:n,c[1]=o;for(var u=2;u<i;u++)c[u]=r[u];return a.createElement.apply(null,c)}return a.createElement.apply(null,r)}k.displayName="MDXCreateElement"},88338:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var a=r(87462),n=(r(67294),r(3905));const i={},c="Vector Pack",o={unversionedId:"guides/bit-packing/vector-pack",id:"guides/bit-packing/vector-pack",title:"Vector Pack",description:"A Vector2 or Vector3 can be compressed using Vector2PackAttribute or Vector3PackAttribute",source:"@site/docs/guides/bit-packing/vector-pack.md",sourceDirName:"guides/bit-packing",slug:"/guides/bit-packing/vector-pack",permalink:"/Mirage/docs/guides/bit-packing/vector-pack",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/bit-packing/vector-pack.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Variable Sized Integer",permalink:"/Mirage/docs/guides/bit-packing/var-int"},next:{title:"ZigZag Encode",permalink:"/Mirage/docs/guides/bit-packing/zig-zag-encode"}},l={},u=[{value:"Use cases",id:"use-cases",level:3},{value:"Supported Types",id:"supported-types",level:3},{value:"Example 1",id:"example-1",level:3},{value:"Example 2",id:"example-2",level:3},{value:"Example 3",id:"example-3",level:3},{value:"Generated Code",id:"generated-code",level:3}],s={toc:u};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"vector-pack"},"Vector Pack"),(0,n.kt)("p",null,"A Vector2 or Vector3 can be compressed using ",(0,n.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Serialization/Vector2PackAttribute"},"Vector2PackAttribute")," or ",(0,n.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Serialization/Vector3PackAttribute"},"Vector3PackAttribute")),(0,n.kt)("p",null,"These attributes work in the same way as ",(0,n.kt)("a",{parentName:"p",href:"/docs/guides/bit-packing/float-pack"},"FloatPack")," except on 2 or 3 dimensions instead of 1"),(0,n.kt)("h3",{id:"use-cases"},"Use cases"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"A Vector value with a maximum value")),(0,n.kt)("h3",{id:"supported-types"},"Supported Types"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Vector2 ",(0,n.kt)("a",{parentName:"li",href:"/docs/reference/Mirage.Serialization/Vector2PackAttribute"},"Vector2PackAttribute")),(0,n.kt)("li",{parentName:"ul"},"Vector3 ",(0,n.kt)("a",{parentName:"li",href:"/docs/reference/Mirage.Serialization/Vector3PackAttribute"},"Vector3PackAttribute"))),(0,n.kt)("h3",{id:"example-1"},"Example 1"),(0,n.kt)("p",null,"A Position in bounds +-100 in all XYZ with 0.05 precision for all axis "),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class MyNetworkBehaviour : NetworkBehaviour \n{\n [SyncVar, Vector3Pack(100f, 100f, 100f, 0.05f)]\n public Vector3 Position;\n}\n")),(0,n.kt)("h3",{id:"example-2"},"Example 2"),(0,n.kt)("p",null,"A Position in bounds +-100 in all XZ with 0.05 precision, but with +-20 and precision 0.1 in y-axis"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class MyNetworkBehaviour : NetworkBehaviour \n{\n [SyncVar, Vector3Pack(100f, 20f, 100f, 0.05f, 0.1f, 0.05f)]\n public Vector3 Position;\n}\n")),(0,n.kt)("h3",{id:"example-3"},"Example 3"),(0,n.kt)("p",null,"A position in a 2D map"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class MyNetworkBehaviour : NetworkBehaviour \n{\n [SyncVar, Vector2Pack(1000f, 80f, 0.05f)]\n public Vector2 Position;\n}\n")),(0,n.kt)("h3",{id:"generated-code"},"Generated Code"),(0,n.kt)("p",null,"Source:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"[SyncVar, Vector3Pack(100f, 20f, 100f, 0.05f, 0.1f, 0.05f)]\npublic int myValue1;\n\n[SyncVar, Vector2Pack(1000f, 80f, 0.05f)]\npublic int myValue2;\n")),(0,n.kt)("p",null,"Generated:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"\nprivate Vector3Packer myValue1__Packer = new Vector3Packer(1100f, 20f, 100f, 0.05f, 0.1f, 0.05f);\nprivate Vector2Packer myValue2__Packer = new Vector2Packer(1000f, 80f, 0.05f, 0.05f);\n\npublic override bool SerializeSyncVars(NetworkWriter writer, bool initialState)\n{\n ulong syncVarDirtyBits = base.SyncVarDirtyBits;\n bool result = base.SerializeSyncVars(writer, initialize);\n\n if (initialState) \n {\n myValue1__Packer.Pack(writer, this.myValue1);\n myValue2__Packer.Pack(writer, this.myValue2);\n return true;\n }\n\n writer.Write(syncVarDirtyBits, 2);\n if ((syncVarDirtyBits & 1UL) != 0UL)\n {\n myValue1__Packer.Pack(writer, this.myValue1);\n result = true;\n }\n if ((syncVarDirtyBits & 2UL) != 0UL)\n {\n myValue2__Packer.Pack(writer, this.myValue2);\n result = true;\n }\n\n return result;\n}\n\npublic override void DeserializeSyncVars(NetworkReader reader, bool initialState)\n{\n base.DeserializeSyncVars(reader, initialState);\n\n if (initialState)\n {\n this.myValue1 = myValue1__Packer.Unpack(reader);\n this.myValue2 = myValue2__Packer.Unpack(reader);\n return;\n }\n\n ulong dirtyMask = reader.Read(2);\n if ((dirtyMask & 1UL) != 0UL)\n {\n this.myValue1 = myValue1__Packer.Unpack(reader);\n }\n if ((dirtyMask & 2UL) != 0UL)\n {\n this.myValue2 = myValue2__Packer.Unpack(reader);\n }\n}\n")),(0,n.kt)("p",null,(0,n.kt)("em",{parentName:"p"},"last updated for Mirage v101.8.0")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f0ebcc9e.24640e4f.js b/assets/js/f0ebcc9e.24640e4f.js new file mode 100644 index 00000000000..750b634a685 --- /dev/null +++ b/assets/js/f0ebcc9e.24640e4f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9867],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>m});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function c(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var o=r.createContext({}),d=function(e){var t=r.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=d(e.components);return r.createElement(o.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,o=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=d(a),m=n,k=u["".concat(o,".").concat(m)]||u[m]||s[m]||l;return a?r.createElement(k,i(i({ref:t},p),{},{components:a})):r.createElement(k,i({ref:t},p))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=u;var c={};for(var o in t)hasOwnProperty.call(t,o)&&(c[o]=t[o]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var d=2;d<l;d++)i[d]=a[d];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}u.displayName="MDXCreateElement"},32094:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>c,toc:()=>d});var r=a(87462),n=(a(67294),a(3905));const l={id:"ArrayBatch",title:"ArrayBatch"},i="Class ArrayBatch",c={unversionedId:"reference/Mirage.SocketLayer/ArrayBatch",id:"reference/Mirage.SocketLayer/ArrayBatch",title:"ArrayBatch",description:"Inheritance",source:"@site/docs/reference/Mirage.SocketLayer/ArrayBatch.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/ArrayBatch",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ArrayBatch",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/ArrayBatch.md",tags:[],version:"current",frontMatter:{id:"ArrayBatch",title:"ArrayBatch"},sidebar:"api",previous:{title:"AckSystem",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem"},next:{title:"AutoCompleteToken",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/AutoCompleteToken"}},o={},d=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"ArrayBatch(Int32, Action<Byte[], Int32>, PacketType)",id:"arraybatchint32-actionbyte-int32-packettype",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Properties",id:"properties",level:3},{value:"Created",id:"created",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Methods",id:"methods",level:3},{value:"GetBatch()",id:"getbatch",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Returns",id:"returns",level:5},{value:"GetBatchLength()",id:"getbatchlength",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Returns",id:"returns-1",level:5},{value:"CreateNewBatch()",id:"createnewbatch",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"SendAndReset()",id:"sendandreset",level:4},{value:"Declaration",id:"declaration-5",level:5}],p={toc:d};function s(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-arraybatch"},"Class ArrayBatch"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"Mirage.SocketLayer.Batch")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show"),(0,n.kt)("p",null,"Mirage.SocketLayer.Batch.MESSAGE_LENGTH_SIZE"),(0,n.kt)("p",null,"Mirage.SocketLayer.Batch.Flush()")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class ArrayBatch : Batch\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"arraybatchint32-actionbyte-int32-packettype"},"ArrayBatch(Int32, Action","<","Byte[], Int32",">",", PacketType)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public ArrayBatch(int maxPacketSize, Action<byte[], int> send, PacketType reliable)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"maxPacketSize"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Action","<","System.Byte[], System.Int32",">"),(0,n.kt)("td",{parentName:"tr",align:null},"send"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.PacketType"),(0,n.kt)("td",{parentName:"tr",align:null},"reliable"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"properties"},"Properties"),(0,n.kt)("h4",{id:"created"},"Created"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected override bool Created { get; }\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"getbatch"},"GetBatch()"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected override byte[] GetBatch()\n")),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"getbatchlength"},"GetBatchLength()"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected override int GetBatchLength()\n")),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"createnewbatch"},"CreateNewBatch()"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected override void CreateNewBatch()\n")),(0,n.kt)("h4",{id:"sendandreset"},"SendAndReset()"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"protected override void SendAndReset()\n")))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f1511b56.9c8e37a9.js b/assets/js/f1511b56.9c8e37a9.js new file mode 100644 index 00000000000..d5492991200 --- /dev/null +++ b/assets/js/f1511b56.9c8e37a9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[92],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),s=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},d=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),u=s(r),m=n,k=u["".concat(c,".").concat(m)]||u[m]||p[m]||l;return r?a.createElement(k,o(o({ref:t},d),{},{components:r})):a.createElement(k,o({ref:t},d))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,o=new Array(l);o[0]=u;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:n,o[1]=i;for(var s=2;s<l;s++)o[s]=r[s];return a.createElement.apply(null,o)}return a.createElement.apply(null,r)}u.displayName="MDXCreateElement"},15284:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>l,metadata:()=>i,toc:()=>s});var a=r(87462),n=(r(67294),r(3905));const l={id:"PoolMetrics",title:"PoolMetrics"},o="Struct PoolMetrics",i={unversionedId:"reference/Mirage.SocketLayer/PoolMetrics",id:"reference/Mirage.SocketLayer/PoolMetrics",title:"PoolMetrics",description:"Syntax",source:"@site/docs/reference/Mirage.SocketLayer/PoolMetrics.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/PoolMetrics",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/PoolMetrics",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/PoolMetrics.md",tags:[],version:"current",frontMatter:{id:"PoolMetrics",title:"PoolMetrics"},sidebar:"api",previous:{title:"Pool<T>",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1"},next:{title:"RejectReason",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/RejectReason"}},c={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"PoolMetrics(Int32, Int32, Int32)",id:"poolmetricsint32-int32-int32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"InPool",id:"inpool",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Created",id:"created",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"PoolSize",id:"poolsize",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Methods",id:"methods",level:3},{value:"ToString()",id:"tostring",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Returns",id:"returns",level:5}],d={toc:s};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"struct-poolmetrics"},"Struct PoolMetrics"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public struct PoolMetrics\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"poolmetricsint32-int32-int32"},"PoolMetrics(Int32, Int32, Int32)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public PoolMetrics(int inPool, int created, int poolSize)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"inPool"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"created"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"poolSize"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"inpool"},"InPool"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly int InPool\n")),(0,n.kt)("h4",{id:"created"},"Created"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly int Created\n")),(0,n.kt)("h4",{id:"poolsize"},"PoolSize"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly int PoolSize\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"tostring"},"ToString()"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public override string ToString()\n")),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.String"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f1ac09af.9d5e9530.js b/assets/js/f1ac09af.9d5e9530.js new file mode 100644 index 00000000000..0c1b07e72a0 --- /dev/null +++ b/assets/js/f1ac09af.9d5e9530.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[8577],{3905:(e,r,n)=>{n.d(r,{Zo:()=>p,kt:()=>u});var t=n(67294);function a(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function o(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function i(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?o(Object(n),!0).forEach((function(r){a(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function c(e,r){if(null==e)return{};var n,t,a=function(e,r){if(null==e)return{};var n,t,a={},o=Object.keys(e);for(t=0;t<o.length;t++)n=o[t],r.indexOf(n)>=0||(a[n]=e[n]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t<o.length;t++)n=o[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=t.createContext({}),s=function(e){var r=t.useContext(l),n=r;return e&&(n="function"==typeof e?e(r):i(i({},r),e)),n},p=function(e){var r=s(e.components);return t.createElement(l.Provider,{value:r},e.children)},d={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},m=t.forwardRef((function(e,r){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),m=s(n),u=a,g=m["".concat(l,".").concat(u)]||m[u]||d[u]||o;return n?t.createElement(g,i(i({ref:r},p),{},{components:n})):t.createElement(g,i({ref:r},p))}));function u(e,r){var n=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=m;var c={};for(var l in r)hasOwnProperty.call(r,l)&&(c[l]=r[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var s=2;s<o;s++)i[s]=n[s];return t.createElement.apply(null,i)}return t.createElement.apply(null,n)}m.displayName="MDXCreateElement"},60464:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>s});var t=n(87462),a=(n(67294),n(3905));const o={sidebar_position:5},i="RPC Examples",c={unversionedId:"guides/remote-actions/rpc-examples",id:"guides/remote-actions/rpc-examples",title:"RPC Examples",description:"Examples of RPC and generated code.",source:"@site/docs/guides/remote-actions/rpc-examples.md",sourceDirName:"guides/remote-actions",slug:"/guides/remote-actions/rpc-examples",permalink:"/Mirage/docs/guides/remote-actions/rpc-examples",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/remote-actions/rpc-examples.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"docs",previous:{title:"Network Messages",permalink:"/Mirage/docs/guides/remote-actions/network-messages"},next:{title:"Callbacks Overview",permalink:"/Mirage/docs/guides/callbacks/"}},l={},s=[{value:"Example 1",id:"example-1",level:2},{value:"Generated code",id:"generated-code",level:3}],p={toc:s};function d(e){let{components:r,...n}=e;return(0,a.kt)("wrapper",(0,t.Z)({},p,n,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"rpc-examples"},"RPC Examples"),(0,a.kt)("p",null,"Examples of RPC and generated code."),(0,a.kt)("h2",{id:"example-1"},"Example 1"),(0,a.kt)("p",null,"Set a player's name from a client and have it synced to other players."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class Player : NetworkBehaviour\n{\n [SyncVar] \n public string PlayerName;\n\n [ServerRpc]\n public void RpcChangeName(string newName)\n {\n PlayerName = newName;\n }\n}\n")),(0,a.kt)("h3",{id:"generated-code"},"Generated code"),(0,a.kt)("p",null,"Weaver moves the user code into a new function and then replaces the body of the RPC with an internal send call."),(0,a.kt)("p",null,"RPCs are registered using the classes static constructor with methods that will read all the parameters and then invoke the user code method."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},'public class Player : NetworkBehaviour\n{\n [SyncVar] \n public string PlayerName;\n\n [ServerRpc]\n public void RpcChangeName(string newName)\n {\n if (this.IsServer)\n {\n UserCode_RpcChangeName_123456789(newName);\n }\n else \n {\n using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter())\n {\n writer.WriteString(newName);\n ServerRpcSender.Send(this, 123456789, writer, 0, true);\n }\n }\n }\n\n public void UserCode_RpcChangeName_123456789(string newName)\n {\n PlayerName = newName;\n }\n \n protected void Skeleton_RpcChangeName_123456789(NetworkReader reader, INetworkPlayer senderConnection, int replyId)\n {\n this.UserCode_RpcChangeName_123456789(reader.ReadString());\n }\n\n public Player()\n {\n this.remoteCallCollection.Register(0, typeof(Player), "Player.RpcChangeName", RpcInvokeType.ServerRpc, new CmdDelegate(Skeleton_RpcChangeName), true);\n }\n\n protected override int GetRpcCount()\n {\n return 1;\n }\n}\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f3c20154.7c160140.js b/assets/js/f3c20154.7c160140.js new file mode 100644 index 00000000000..c5fa58378dc --- /dev/null +++ b/assets/js/f3c20154.7c160140.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6289],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),s=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),d=s(r),m=n,f=d["".concat(c,".").concat(m)]||d[m]||p[m]||l;return r?a.createElement(f,o(o({ref:t},u),{},{components:r})):a.createElement(f,o({ref:t},u))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,o=new Array(l);o[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:n,o[1]=i;for(var s=2;s<l;s++)o[s]=r[s];return a.createElement.apply(null,o)}return a.createElement.apply(null,r)}d.displayName="MDXCreateElement"},59301:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>l,metadata:()=>i,toc:()=>s});var a=r(87462),n=(r(67294),r(3905));const l={id:"AutoPool-1",title:"AutoPool<T>"},o="Class AutoPool<T>",i={unversionedId:"reference/Mirage/AutoPool-1",id:"reference/Mirage/AutoPool-1",title:"AutoPool<T>",description:"Pool class that will create a Disposable wrapper around T so it can be used with any class automatically without additional setup",source:"@site/docs/reference/Mirage/AutoPool-1.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/AutoPool-1",permalink:"/Mirage/docs/reference/Mirage/AutoPool-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/AutoPool-1.md",tags:[],version:"current",frontMatter:{id:"AutoPool-1",title:"AutoPool<T>"},sidebar:"api",previous:{title:"AutoPool<T>.Wrapper",permalink:"/Mirage/docs/reference/Mirage/AutoPool-1.Wrapper"},next:{title:"Channel",permalink:"/Mirage/docs/reference/Mirage/Channel"}},c={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"Pool",id:"pool",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Methods",id:"methods",level:3},{value:"Take()",id:"take",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Returns",id:"returns",level:5}],u={toc:s};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-autopoolt"},"Class AutoPool","<","T",">"),(0,n.kt)("p",null,"Pool class that will create a Disposable wrapper around T so it can be used with any class automatically without additional setup"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class AutoPool<T>\n where T : class, new()\n")),(0,n.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"pool"},"Pool"),(0,n.kt)("p",null,"Default pool instance, safe to use on main thread"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static Pool<AutoPool<T>.Wrapper> Pool\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"take"},"Take()"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static AutoPool<T>.Wrapper Take()\n")),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.AutoPool.Wrapper","<",">"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f5a162fb.550206e9.js b/assets/js/f5a162fb.550206e9.js new file mode 100644 index 00000000000..636ea7dddad --- /dev/null +++ b/assets/js/f5a162fb.550206e9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3083],{3905:(e,t,r)=>{r.d(t,{Zo:()=>g,kt:()=>u});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},l=Object.keys(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),o=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},g=function(e){var t=o(e.components);return a.createElement(c.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},y=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,g=s(e,["components","mdxType","originalType","parentName"]),y=o(r),u=n,d=y["".concat(c,".").concat(u)]||y[u]||p[u]||l;return r?a.createElement(d,i(i({ref:t},g),{},{components:r})):a.createElement(d,i({ref:t},g))}));function u(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=y;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:n,i[1]=s;for(var o=2;o<l;o++)i[o]=r[o];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}y.displayName="MDXCreateElement"},30899:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>s,toc:()=>o});var a=r(87462),n=(r(67294),r(3905));const l={id:"MessageDelegateWithPlayerAsync-1",title:"MessageDelegateWithPlayerAsync<T>"},i="Delegate MessageDelegateWithPlayerAsync<T>",s={unversionedId:"reference/Mirage/MessageDelegateWithPlayerAsync-1",id:"reference/Mirage/MessageDelegateWithPlayerAsync-1",title:"MessageDelegateWithPlayerAsync<T>",description:"Syntax",source:"@site/docs/reference/Mirage/MessageDelegateWithPlayerAsync-1.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/MessageDelegateWithPlayerAsync-1",permalink:"/Mirage/docs/reference/Mirage/MessageDelegateWithPlayerAsync-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/MessageDelegateWithPlayerAsync-1.md",tags:[],version:"current",frontMatter:{id:"MessageDelegateWithPlayerAsync-1",title:"MessageDelegateWithPlayerAsync<T>"},sidebar:"api",previous:{title:"MessageDelegateWithPlayer<T>",permalink:"/Mirage/docs/reference/Mirage/MessageDelegateWithPlayer-1"},next:{title:"MessageHandler",permalink:"/Mirage/docs/reference/Mirage/MessageHandler"}},c={},o=[{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5}],g={toc:o};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},g,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"delegate-messagedelegatewithplayerasynct"},"Delegate MessageDelegateWithPlayerAsync","<","T",">"),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public delegate UniTaskVoid MessageDelegateWithPlayerAsync<in T>(INetworkPlayer player, T message);\n")),(0,n.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f62325e2.ff92f337.js b/assets/js/f62325e2.ff92f337.js new file mode 100644 index 00000000000..52d1090398d --- /dev/null +++ b/assets/js/f62325e2.ff92f337.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[6807],{3905:(e,r,t)=>{t.d(r,{Zo:()=>f,kt:()=>d});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?o(Object(t),!0).forEach((function(r){a(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function c(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=n.createContext({}),l=function(e){var r=n.useContext(s),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},f=function(e){var r=l(e.components);return n.createElement(s.Provider,{value:r},e.children)},p={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},u=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,f=c(e,["components","mdxType","originalType","parentName"]),u=l(t),d=a,b=u["".concat(s,".").concat(d)]||u[d]||p[d]||o;return t?n.createElement(b,i(i({ref:r},f),{},{components:t})):n.createElement(b,i({ref:r},f))}));function d(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=u;var c={};for(var s in r)hasOwnProperty.call(r,s)&&(c[s]=r[s]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var l=2;l<o;l++)i[l]=t[l];return n.createElement.apply(null,i)}return n.createElement.apply(null,t)}u.displayName="MDXCreateElement"},82411:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var n=t(87462),a=(t(67294),t(3905));const o={id:"NetworkPrefabs",title:"NetworkPrefabs"},i="Class NetworkPrefabs",c={unversionedId:"reference/Mirage/NetworkPrefabs",id:"reference/Mirage/NetworkPrefabs",title:"NetworkPrefabs",description:"A scriptable object that contains a list of prefabs that can be spawned on the network.",source:"@site/docs/reference/Mirage/NetworkPrefabs.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkPrefabs",permalink:"/Mirage/docs/reference/Mirage/NetworkPrefabs",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkPrefabs.md",tags:[],version:"current",frontMatter:{id:"NetworkPrefabs",title:"NetworkPrefabs"},sidebar:"api",previous:{title:"NetworkPongMessage",permalink:"/Mirage/docs/reference/Mirage/NetworkPongMessage"},next:{title:"NetworkProximityChecker",permalink:"/Mirage/docs/reference/Mirage/NetworkProximityChecker"}},s={},l=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Prefabs",id:"prefabs",level:4},{value:"Declaration",id:"declaration",level:5}],f={toc:l};function p(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},f,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-networkprefabs"},"Class NetworkPrefabs"),(0,a.kt)("p",null,"A scriptable object that contains a list of prefabs that can be spawned on the network."),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class NetworkPrefabs : ScriptableObject\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"prefabs"},"Prefabs"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public List<NetworkIdentity> Prefabs\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f640cbed.f129d9d5.js b/assets/js/f640cbed.f129d9d5.js new file mode 100644 index 00000000000..1f3f1818b10 --- /dev/null +++ b/assets/js/f640cbed.f129d9d5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3298],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>p});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),c=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),d=c(r),p=o,y=d["".concat(s,".").concat(p)]||d[p]||h[p]||i;return r?n.createElement(y,a(a({ref:t},u),{},{components:r})):n.createElement(y,a({ref:t},u))}));function p(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=d;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l.mdxType="string"==typeof e?e:o,a[1]=l;for(var c=2;c<i;c++)a[c]=r[c];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},53327:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var n=r(87462),o=(r(67294),r(3905));const i={sidebar_position:2},a="Network Authority",l={unversionedId:"guides/authority",id:"guides/authority",title:"Network Authority",description:"Authority is a way of deciding who owns an object and has control over it.",source:"@site/docs/guides/authority.md",sourceDirName:"guides",slug:"/guides/authority",permalink:"/Mirage/docs/guides/authority",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/authority.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"docs",previous:{title:"Networking Concepts Overview",permalink:"/Mirage/docs/guides/overview"},next:{title:"About IDs",permalink:"/Mirage/docs/guides/about-ids"}},s={},c=[{value:"Server Authority",id:"server-authority",level:2},{value:"Client Authority",id:"client-authority",level:2},{value:"How to give authority",id:"how-to-give-authority",level:2},{value:"Using NetworkServer.Spawn",id:"using-networkserverspawn",level:3},{value:"Using identity.AssignClientAuthority",id:"using-identityassignclientauthority",level:3},{value:"How to remove authority",id:"how-to-remove-authority",level:2},{value:"On Authority",id:"on-authority",level:2},{value:"On Destroy",id:"on-destroy",level:2},{value:"Check Authority",id:"check-authority",level:2},{value:"Client Side",id:"client-side",level:3},{value:"Server Side",id:"server-side",level:3}],u={toc:c};function h(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"network-authority"},"Network Authority"),(0,o.kt)("p",null,"Authority is a way of deciding who owns an object and has control over it. "),(0,o.kt)("h2",{id:"server-authority"},"Server Authority"),(0,o.kt)("p",null,"Server authority means that the server has control of an object. The server has authority over an object by default. This means the server would manage and control all of the collectible items, moving platforms, NPCs, and any other networked objects that aren't the player."),(0,o.kt)("h2",{id:"client-authority"},"Client Authority"),(0,o.kt)("p",null,"Client authority means that the client has control of an object. "),(0,o.kt)("p",null,"When a client has authority over an object it means that they can call ",(0,o.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/server-rpc"},"ServerRpc")," and that the object will automatically be destroyed when the client disconnects."),(0,o.kt)("p",null,"Even if a client has authority over an object the server still controls SyncVar and controls other serialization features. A component will need to use a ",(0,o.kt)("a",{parentName:"p",href:"/docs/guides/remote-actions/server-rpc"},"ServerRpc")," to update the state on the server for it to sync to other clients."),(0,o.kt)("h2",{id:"how-to-give-authority"},"How to give authority"),(0,o.kt)("p",null,"By default, the server has authority over all objects. The server can give authority to objects that a client needs to control, like the character object. "),(0,o.kt)("p",null,"If you spawn a character object using ",(0,o.kt)("inlineCode",{parentName:"p"},"ServerObjectManager.AddCharacter")," then it will automatically be given authority."),(0,o.kt)("h3",{id:"using-networkserverspawn"},"Using NetworkServer.Spawn"),(0,o.kt)("p",null,"You can give authority to a client when an object is spawned. This is done by passing in the connection to the spawn message"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"GameObject go = Instantiate(prefab);\nServerObjectManager.Spawn(go, owner);\n")),(0,o.kt)("h3",{id:"using-identityassignclientauthority"},"Using identity.AssignClientAuthority"),(0,o.kt)("p",null,"You can give authority to a client at any time using ",(0,o.kt)("inlineCode",{parentName:"p"},"AssignClientAuthority"),". This can be done by calling ",(0,o.kt)("inlineCode",{parentName:"p"},"AssignClientAuthority")," on the object you want to give authority too"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"Identity.AssignClientAuthority(conn);\n")),(0,o.kt)("p",null,"You may want to do this when a player picks up an item"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"// Command on character object\n[ServerRpc]\nvoid PickupItem(NetworkIdentity item)\n{\n item.AssignClientAuthority(connectionToClient); \n}\n")),(0,o.kt)("h2",{id:"how-to-remove-authority"},"How to remove authority"),(0,o.kt)("p",null,"You can use ",(0,o.kt)("inlineCode",{parentName:"p"},"Identity.RemoveClientAuthority")," to remove client authority from an object. "),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-cs"},"Identity.RemoveClientAuthority();\n")),(0,o.kt)("p",null,"Authority can't be removed from the character object. Instead, you will have to replace the character object using ",(0,o.kt)("inlineCode",{parentName:"p"},"NetworkServer.ReplaceCharacter"),"."),(0,o.kt)("h2",{id:"on-authority"},"On Authority"),(0,o.kt)("p",null,"When authority is given to or removed from an object a message will be sent to that client to notify them. This will cause the ",(0,o.kt)("inlineCode",{parentName:"p"},"OnAuthorityChanged(bool)")," functions to be called. "),(0,o.kt)("h2",{id:"on-destroy"},"On Destroy"),(0,o.kt)("p",null,"If the client has authority, then ",(0,o.kt)("inlineCode",{parentName:"p"},"OnAuthorityChanged(false)")," will be called on the object when it is destroyed."),(0,o.kt)("h2",{id:"check-authority"},"Check Authority"),(0,o.kt)("h3",{id:"client-side"},"Client Side"),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"Identity.HasAuthority")," property can be used to check if the local player has authority over an object."),(0,o.kt)("h3",{id:"server-side"},"Server Side"),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"Identity.Owner")," property can be used to check to see which client has authority over an object. If it is null then the server has authority."))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f78243fa.a77d4d16.js b/assets/js/f78243fa.a77d4d16.js new file mode 100644 index 00000000000..329e9430baa --- /dev/null +++ b/assets/js/f78243fa.a77d4d16.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3716],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>s});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?l(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)a=l[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var d=r.createContext({}),k=function(e){var t=r.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=k(e.components);return r.createElement(d.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,d=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=k(a),s=n,N=u["".concat(d,".").concat(s)]||u[s]||m[s]||l;return a?r.createElement(N,i(i({ref:t},p),{},{components:a})):r.createElement(N,i({ref:t},p))}));function s(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=u;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:n,i[1]=o;for(var k=2;k<l;k++)i[k]=a[k];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}u.displayName="MDXCreateElement"},10714:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>o,toc:()=>k});var r=a(87462),n=(a(67294),a(3905));const l={id:"MirageTypesExtensions",title:"MirageTypesExtensions"},i="Class MirageTypesExtensions",o={unversionedId:"reference/Mirage.Serialization/MirageTypesExtensions",id:"reference/Mirage.Serialization/MirageTypesExtensions",title:"MirageTypesExtensions",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/MirageTypesExtensions.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/MirageTypesExtensions",permalink:"/Mirage/docs/reference/Mirage.Serialization/MirageTypesExtensions",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/MirageTypesExtensions.md",tags:[],version:"current",frontMatter:{id:"MirageTypesExtensions",title:"MirageTypesExtensions"},sidebar:"api",previous:{title:"MirageNetworkReader",permalink:"/Mirage/docs/reference/Mirage.Serialization/MirageNetworkReader"},next:{title:"NetworkReader",permalink:"/Mirage/docs/reference/Mirage.Serialization/NetworkReader"}},d={},k=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"WriteNetworkIdentity(NetworkWriter, NetworkIdentity)",id:"writenetworkidentitynetworkwriter-networkidentity",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"WriteNetworkBehaviour(NetworkWriter, NetworkBehaviour)",id:"writenetworkbehaviournetworkwriter-networkbehaviour",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"WriteGameObject(NetworkWriter, GameObject)",id:"writegameobjectnetworkwriter-gameobject",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"ToMirageReader(NetworkReader)",id:"tomiragereadernetworkreader",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Returns",id:"returns",level:5},{value:"ReadNetworkIdentity(NetworkReader)",id:"readnetworkidentitynetworkreader",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"Returns",id:"returns-1",level:5},{value:"ReadNetworkBehaviour(NetworkReader)",id:"readnetworkbehaviournetworkreader",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"Returns",id:"returns-2",level:5},{value:"ReadNetworkBehaviour<T>(NetworkReader)",id:"readnetworkbehaviourtnetworkreader",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"Returns",id:"returns-3",level:5},{value:"ReadGameObject(NetworkReader)",id:"readgameobjectnetworkreader",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"Returns",id:"returns-4",level:5}],p={toc:k};function m(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-miragetypesextensions"},"Class MirageTypesExtensions"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static class MirageTypesExtensions\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"writenetworkidentitynetworkwriter-networkidentity"},"WriteNetworkIdentity(NetworkWriter, NetworkIdentity)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteNetworkIdentity(this NetworkWriter writer, NetworkIdentity value)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writenetworkbehaviournetworkwriter-networkbehaviour"},"WriteNetworkBehaviour(NetworkWriter, NetworkBehaviour)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteNetworkBehaviour(this NetworkWriter writer, NetworkBehaviour value)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"writegameobjectnetworkwriter-gameobject"},"WriteGameObject(NetworkWriter, GameObject)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static void WriteGameObject(this NetworkWriter writer, GameObject value)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,n.kt)("td",{parentName:"tr",align:null},"writer"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"GameObject"),(0,n.kt)("td",{parentName:"tr",align:null},"value"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"tomiragereadernetworkreader"},"ToMirageReader(NetworkReader)"),(0,n.kt)("p",null,"Casts reader to , throw if cast is invalid"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static MirageNetworkReader ToMirageReader(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.MirageNetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readnetworkidentitynetworkreader"},"ReadNetworkIdentity(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-4"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static NetworkIdentity ReadNetworkIdentity(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-4"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-1"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readnetworkbehaviournetworkreader"},"ReadNetworkBehaviour(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-5"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static NetworkBehaviour ReadNetworkBehaviour(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-5"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-2"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readnetworkbehaviourtnetworkreader"},"ReadNetworkBehaviour","<","T",">","(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-6"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static T ReadNetworkBehaviour<T>(this NetworkReader reader)\n where T : NetworkBehaviour\n")),(0,n.kt)("h5",{id:"parameters-6"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-3"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"readgameobjectnetworkreader"},"ReadGameObject(NetworkReader)"),(0,n.kt)("h5",{id:"declaration-7"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public static GameObject ReadGameObject(this NetworkReader reader)\n")),(0,n.kt)("h5",{id:"parameters-7"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,n.kt)("td",{parentName:"tr",align:null},"reader"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h5",{id:"returns-4"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"GameObject"),(0,n.kt)("td",{parentName:"tr",align:null})))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f784ccf0.07222259.js b/assets/js/f784ccf0.07222259.js new file mode 100644 index 00000000000..b7d19045ad4 --- /dev/null +++ b/assets/js/f784ccf0.07222259.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1519],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>h});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach((function(t){n(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var c=r.createContext({}),u=function(e){var t=r.useContext(c),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=u(e.components);return r.createElement(c.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),p=u(a),h=n,m=p["".concat(c,".").concat(h)]||p[h]||s[h]||i;return a?r.createElement(m,l(l({ref:t},d),{},{components:a})):r.createElement(m,l({ref:t},d))}));function h(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,l=new Array(i);l[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:n,l[1]=o;for(var u=2;u<i;u++)l[u]=a[u];return r.createElement.apply(null,l)}return r.createElement.apply(null,a)}p.displayName="MDXCreateElement"},16731:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>s,frontMatter:()=>i,metadata:()=>o,toc:()=>u});var r=a(87462),n=(a(67294),a(3905));const i={id:"PlayerAuthentication",title:"PlayerAuthentication"},l="Class PlayerAuthentication",o={unversionedId:"reference/Mirage.Authentication/PlayerAuthentication",id:"reference/Mirage.Authentication/PlayerAuthentication",title:"PlayerAuthentication",description:"Inheritance",source:"@site/docs/reference/Mirage.Authentication/PlayerAuthentication.md",sourceDirName:"reference/Mirage.Authentication",slug:"/reference/Mirage.Authentication/PlayerAuthentication",permalink:"/Mirage/docs/reference/Mirage.Authentication/PlayerAuthentication",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authentication/PlayerAuthentication.md",tags:[],version:"current",frontMatter:{id:"PlayerAuthentication",title:"PlayerAuthentication"},sidebar:"api",previous:{title:"NetworkAuthenticator",permalink:"/Mirage/docs/reference/Mirage.Authentication/NetworkAuthenticator"},next:{title:"Mirage.Authenticators",permalink:"/Mirage/docs/reference/Mirage.Authenticators/"}},c={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"PlayerAuthentication(INetworkAuthenticator, Object)",id:"playerauthenticationinetworkauthenticator-object",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Fields",id:"fields",level:3},{value:"Authenticator",id:"authenticator",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Data",id:"data",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Methods",id:"methods",level:3},{value:"GetData<T>()",id:"getdatat",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Returns",id:"returns",level:5}],d={toc:u};function s(e){let{components:t,...a}=e;return(0,n.kt)("wrapper",(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-playerauthentication"},"Class PlayerAuthentication"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class PlayerAuthentication\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"playerauthenticationinetworkauthenticator-object"},"PlayerAuthentication(INetworkAuthenticator, Object)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public PlayerAuthentication(INetworkAuthenticator authenticator, object data)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Mirage.Authentication.INetworkAuthenticator"),(0,n.kt)("td",{parentName:"tr",align:null},"authenticator"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Object"),(0,n.kt)("td",{parentName:"tr",align:null},"data"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"authenticator"},"Authenticator"),(0,n.kt)("p",null,"What Authenticator was used to accept this player\nNull if no Authenticator existed on Server"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly INetworkAuthenticator Authenticator\n")),(0,n.kt)("h4",{id:"data"},"Data"),(0,n.kt)("p",null,"Authentication data set by Authenticator when player is accepted"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public readonly object Data\n")),(0,n.kt)("h3",{id:"methods"},"Methods"),(0,n.kt)("h4",{id:"getdatat"},"GetData","<","T",">","()"),(0,n.kt)("p",null,"Helper method to cast to type set by NetworkAuthenticatorBase\nWARNING: this function is NOT thread safe when data is rather than T directly"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public T GetData<T>()\n")),(0,n.kt)("h5",{id:"returns"},"Returns"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"T"),(0,n.kt)("td",{parentName:"tr",align:null})))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f7f2a7d9.59d2c448.js b/assets/js/f7f2a7d9.59d2c448.js new file mode 100644 index 00000000000..7da4f267c79 --- /dev/null +++ b/assets/js/f7f2a7d9.59d2c448.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[4309],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>m});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),u=s(n),m=a,y=u["".concat(l,".").concat(m)]||u[m]||p[m]||o;return n?r.createElement(y,i(i({ref:t},d),{},{components:n})):r.createElement(y,i({ref:t},d))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=u;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:a,i[1]=c;for(var s=2;s<o;s++)i[s]=n[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}u.displayName="MDXCreateElement"},87767:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>s});var r=n(87462),a=(n(67294),n(3905));const o={id:"IRawConnection",title:"IRawConnection"},i="Interface IRawConnection",c={unversionedId:"reference/Mirage.SocketLayer/IRawConnection",id:"reference/Mirage.SocketLayer/IRawConnection",title:"IRawConnection",description:"A connection that can send data directly to sockets",source:"@site/docs/reference/Mirage.SocketLayer/IRawConnection.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/IRawConnection",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IRawConnection",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/IRawConnection.md",tags:[],version:"current",frontMatter:{id:"IRawConnection",title:"IRawConnection"},sidebar:"api",previous:{title:"IPeer",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/IPeer"},next:{title:"ISocket",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ISocket"}},l={},s=[{value:"Syntax",id:"syntax",level:5},{value:"Methods",id:"methods",level:3},{value:"SendRaw(Byte[], Int32)",id:"sendrawbyte-int32",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5}],d={toc:s};function p(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"interface-irawconnection"},"Interface IRawConnection"),(0,a.kt)("p",null,"A connection that can send data directly to sockets\nOnly things inside socket layer should be sending raw packets. Others should use the methods inside "),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public interface IRawConnection\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"sendrawbyte-int32"},"SendRaw(Byte[], Int32)"),(0,a.kt)("p",null,"Sends directly to socket without adding header\npacket given to this function as assumed to already have a header"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"void SendRaw(byte[] packet, int length)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Byte[]"),(0,a.kt)("td",{parentName:"tr",align:null},"packet"),(0,a.kt)("td",{parentName:"tr",align:null},"header and messages")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,a.kt)("td",{parentName:"tr",align:null},"length"),(0,a.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f8143c60.baf6b5e7.js b/assets/js/f8143c60.baf6b5e7.js new file mode 100644 index 00000000000..152e793121a --- /dev/null +++ b/assets/js/f8143c60.baf6b5e7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[2382],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>f});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},d=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},l={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,c=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),p=u(r),f=i,h=p["".concat(c,".").concat(f)]||p[f]||l[f]||a;return r?n.createElement(h,s(s({ref:t},d),{},{components:r})):n.createElement(h,s({ref:t},d))}));function f(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,s=new Array(a);s[0]=p;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o.mdxType="string"==typeof e?e:i,s[1]=o;for(var u=2;u<a;u++)s[u]=r[u];return n.createElement.apply(null,s)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},15795:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>l,frontMatter:()=>a,metadata:()=>o,toc:()=>u});var n=r(87462),i=(r(67294),r(3905));const a={sidebar_position:3},s="About IDs",o={unversionedId:"guides/about-ids",id:"guides/about-ids",title:"About IDs",description:"NetId",source:"@site/docs/guides/about-ids.md",sourceDirName:"guides",slug:"/guides/about-ids",permalink:"/Mirage/docs/guides/about-ids",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/about-ids.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"docs",previous:{title:"Network Authority",permalink:"/Mirage/docs/guides/authority"},next:{title:"Attributes",permalink:"/Mirage/docs/guides/attributes"}},c={},u=[{value:"NetId",id:"netid",level:2},{value:"Prefab Hash",id:"prefab-hash",level:2},{value:"Scene ID",id:"scene-id",level:2}],d={toc:u};function l(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"about-ids"},"About IDs"),(0,i.kt)("h2",{id:"netid"},"NetId"),(0,i.kt)("p",null,"Mirage uses ",(0,i.kt)("inlineCode",{parentName:"p"},"uint")," for NetId. Every NetworkIdentity is assigned a NetId when it is being spawned. Mirage uses the ID when passing messages between client and server to tell which object is the recipient of the message."),(0,i.kt)("h2",{id:"prefab-hash"},"Prefab Hash"),(0,i.kt)("p",null,"The prefab hash is used to uniquely identify each prefab so that it can be spawned over the network. Mirage will create the prefab hash by taking a 32-bit hash of the Asset path. The path is found using ",(0,i.kt)("a",{parentName:"p",href:"https://docs.unity3d.com/ScriptReference/AssetDatabase.GetAssetPath.html"},"AssetDatabase.GetAssetPath")),(0,i.kt)("h2",{id:"scene-id"},"Scene ID"),(0,i.kt)("p",null,"Mirage uses ",(0,i.kt)("inlineCode",{parentName:"p"},"ulong")," for Scene IDss. Every game object with a NetworkIdentity in the scene (hierarchy) is assigned a scene ID in OnPostProcessScene. Mirage needs that to distinguish scene objects from each other because Unity has no unique ID for different game objects in the scene."))}l.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f857c277.f2c24835.js b/assets/js/f857c277.f2c24835.js new file mode 100644 index 00000000000..3a620f2fdbe --- /dev/null +++ b/assets/js/f857c277.f2c24835.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9608],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>u});var n=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,l=function(e,t){if(null==e)return{};var a,n,l={},r=Object.keys(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var d=n.createContext({}),s=function(e){var t=n.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},c=function(e){var t=s(e.components);return n.createElement(d.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},k=n.forwardRef((function(e,t){var a=e.components,l=e.mdxType,r=e.originalType,d=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),k=s(a),u=l,m=k["".concat(d,".").concat(u)]||k[u]||p[u]||r;return a?n.createElement(m,i(i({ref:t},c),{},{components:a})):n.createElement(m,i({ref:t},c))}));function u(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var r=a.length,i=new Array(r);i[0]=k;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:l,i[1]=o;for(var s=2;s<r;s++)i[s]=a[s];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}k.displayName="MDXCreateElement"},37698:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>o,toc:()=>s});var n=a(87462),l=(a(67294),a(3905));const r={id:"NetworkPlayer",title:"NetworkPlayer"},i="Class NetworkPlayer",o={unversionedId:"reference/Mirage/NetworkPlayer",id:"reference/Mirage/NetworkPlayer",title:"NetworkPlayer",description:"A High level network connection. This is used for connections from client-to-server and for connection from server-to-client.",source:"@site/docs/reference/Mirage/NetworkPlayer.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/NetworkPlayer",permalink:"/Mirage/docs/reference/Mirage/NetworkPlayer",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/NetworkPlayer.md",tags:[],version:"current",frontMatter:{id:"NetworkPlayer",title:"NetworkPlayer"},sidebar:"api",previous:{title:"NetworkPingMessage",permalink:"/Mirage/docs/reference/Mirage/NetworkPingMessage"},next:{title:"NetworkPongMessage",permalink:"/Mirage/docs/reference/Mirage/NetworkPongMessage"}},d={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"NetworkPlayer(IConnection, Boolean)",id:"networkplayericonnection-boolean",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Properties",id:"properties",level:3},{value:"IsHost",id:"ishost",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Authentication",id:"authentication",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"IsAuthenticated",id:"isauthenticated",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"SceneIsReady",id:"sceneisready",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"HasCharacter",id:"hascharacter",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Address",id:"address",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Connection",id:"connection",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"VisList",id:"vislist",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"OwnedObjects",id:"ownedobjects",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Identity",id:"identity",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Methods",id:"methods",level:3},{value:"SetAuthentication(PlayerAuthentication, Boolean)",id:"setauthenticationplayerauthentication-boolean",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Disconnect()",id:"disconnect",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"MarkAsDisconnected()",id:"markasdisconnected",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Send<T>(T, Channel)",id:"sendtt-channel",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Send(ArraySegment<Byte>, Channel)",id:"sendarraysegmentbyte-channel",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"Send<T>(T, INotifyCallBack)",id:"sendtt-inotifycallback",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"ToString()",id:"tostring",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Returns",id:"returns",level:5},{value:"AddToVisList(NetworkIdentity)",id:"addtovislistnetworkidentity",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"RemoveFromVisList(NetworkIdentity)",id:"removefromvislistnetworkidentity",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"ContainsInVisList(NetworkIdentity)",id:"containsinvislistnetworkidentity",level:4},{value:"Declaration",id:"declaration-20",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"Returns",id:"returns-1",level:5},{value:"RemoveAllVisibleObjects()",id:"removeallvisibleobjects",level:4},{value:"Declaration",id:"declaration-21",level:5},{value:"AddOwnedObject(NetworkIdentity)",id:"addownedobjectnetworkidentity",level:4},{value:"Declaration",id:"declaration-22",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"RemoveOwnedObject(NetworkIdentity)",id:"removeownedobjectnetworkidentity",level:4},{value:"Declaration",id:"declaration-23",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"RemoveAllOwnedObject(Boolean)",id:"removeallownedobjectboolean",level:4},{value:"Declaration",id:"declaration-24",level:5},{value:"Parameters",id:"parameters-10",level:5},{value:"DestroyOwnedObjects()",id:"destroyownedobjects",level:4},{value:"Declaration",id:"declaration-25",level:5}],c={toc:s};function p(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-networkplayer"},"Class NetworkPlayer"),(0,l.kt)("p",null,"A High level network connection. This is used for connections from client-to-server and for connection from server-to-client."),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,l.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Show")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public sealed class NetworkPlayer : INetworkPlayer, IMessageSender, IVisibilityTracker, IObjectOwner, ISceneLoader\n")),(0,l.kt)("h3",{id:"constructors"},"Constructors"),(0,l.kt)("h4",{id:"networkplayericonnection-boolean"},"NetworkPlayer(IConnection, Boolean)"),(0,l.kt)("p",null,"Creates a new NetworkConnection with the specified address and connectionId"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkPlayer(IConnection connection, bool isHost)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.IConnection"),(0,l.kt)("td",{parentName:"tr",align:null},"connection"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"isHost"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h3",{id:"properties"},"Properties"),(0,l.kt)("h4",{id:"ishost"},"IsHost"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsHost { get; }\n")),(0,l.kt)("h4",{id:"authentication"},"Authentication"),(0,l.kt)("p",null,"Authentication information for this NetworkPlayer"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public PlayerAuthentication Authentication { get; }\n")),(0,l.kt)("h4",{id:"isauthenticated"},"IsAuthenticated"),(0,l.kt)("p",null,"Helper methods to check if Authentication is set"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsAuthenticated { get; }\n")),(0,l.kt)("h4",{id:"sceneisready"},"SceneIsReady"),(0,l.kt)("p",null,"Flag that tells us if the scene has fully loaded in for player.\nThis property is read-only. It is set by the system on the client when the scene has fully loaded, and set by the system on the server when a ready message is received from a client.\nA client that is ready is sent spawned objects by the server and updates to the state of spawned objects. A client that is not ready is not sent spawned objects.\nStarts as true, when a client connects it is assumed that it is already in a ready scene. It will be set to not ready if NetworkSceneManager loads a scene"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool SceneIsReady { get; set; }\n")),(0,l.kt)("h4",{id:"hascharacter"},"HasCharacter"),(0,l.kt)("p",null,"Checks if this player has a "),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool HasCharacter { get; }\n")),(0,l.kt)("h4",{id:"address"},"Address"),(0,l.kt)("p",null,"The IP address / URL / FQDN associated with the connection.\nCan be useful for a game master to do IP Bans etc."),(0,l.kt)("h5",{id:"declaration-6"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public IEndPoint Address { get; }\n")),(0,l.kt)("h4",{id:"connection"},"Connection"),(0,l.kt)("h5",{id:"declaration-7"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public IConnection Connection { get; }\n")),(0,l.kt)("h4",{id:"vislist"},"VisList"),(0,l.kt)("p",null,"List of all networkIdentity that this player can see\nOnly valid on server"),(0,l.kt)("h5",{id:"declaration-8"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public IReadOnlyCollection<NetworkIdentity> VisList { get; }\n")),(0,l.kt)("h4",{id:"ownedobjects"},"OwnedObjects"),(0,l.kt)("h5",{id:"declaration-9"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public IReadOnlyCollection<NetworkIdentity> OwnedObjects { get; }\n")),(0,l.kt)("h4",{id:"identity"},"Identity"),(0,l.kt)("p",null,"The NetworkIdentity for this connection."),(0,l.kt)("h5",{id:"declaration-10"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkIdentity Identity { get; set; }\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"setauthenticationplayerauthentication-boolean"},"SetAuthentication(PlayerAuthentication, Boolean)"),(0,l.kt)("h5",{id:"declaration-11"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void SetAuthentication(PlayerAuthentication authentication, bool allowReplace)\n")),(0,l.kt)("h5",{id:"parameters-1"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Authentication.PlayerAuthentication"),(0,l.kt)("td",{parentName:"tr",align:null},"authentication"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"allowReplace"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"disconnect"},"Disconnect()"),(0,l.kt)("p",null,"Disconnects the player.\nA disconnected player can not send messages"),(0,l.kt)("h5",{id:"declaration-12"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Disconnect()\n")),(0,l.kt)("h4",{id:"markasdisconnected"},"MarkAsDisconnected()"),(0,l.kt)("p",null,"Marks player as disconnected, used when the disconnect call is from peer\nA disconnected player can not send messages"),(0,l.kt)("h5",{id:"declaration-13"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void MarkAsDisconnected()\n")),(0,l.kt)("h4",{id:"sendtt-channel"},"Send","<","T",">","(T, Channel)"),(0,l.kt)("p",null,"This sends a network message to the connection."),(0,l.kt)("h5",{id:"declaration-14"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Send<T>(T message, Channel channelId = Channel.Reliable)\n")),(0,l.kt)("h5",{id:"parameters-2"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"T"),(0,l.kt)("td",{parentName:"tr",align:null},"message"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,l.kt)("td",{parentName:"tr",align:null},"channelId"),(0,l.kt)("td",{parentName:"tr",align:null},"The transport layer channel to send on.")))),(0,l.kt)("h4",{id:"sendarraysegmentbyte-channel"},"Send(ArraySegment","<","Byte",">",", Channel)"),(0,l.kt)("p",null,'Sends a block of data\nOnly use this method if data has message Id already included, otherwise receives wont know how to handle it. Otherwise use (T, int)">'),(0,l.kt)("h5",{id:"declaration-15"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Send(ArraySegment<byte> segment, Channel channelId = Channel.Reliable)\n")),(0,l.kt)("h5",{id:"parameters-3"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.ArraySegment","<","System.Byte",">"),(0,l.kt)("td",{parentName:"tr",align:null},"segment"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Channel"),(0,l.kt)("td",{parentName:"tr",align:null},"channelId"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"sendtt-inotifycallback"},"Send","<","T",">","(T, INotifyCallBack)"),(0,l.kt)("p",null,"This sends a network message to the connection."),(0,l.kt)("h5",{id:"declaration-16"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Send<T>(T message, INotifyCallBack callBacks)\n")),(0,l.kt)("h5",{id:"parameters-4"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"T"),(0,l.kt)("td",{parentName:"tr",align:null},"message"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.SocketLayer.INotifyCallBack"),(0,l.kt)("td",{parentName:"tr",align:null},"callBacks"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"tostring"},"ToString()"),(0,l.kt)("h5",{id:"declaration-17"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public override string ToString()\n")),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.String"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"addtovislistnetworkidentity"},"AddToVisList(NetworkIdentity)"),(0,l.kt)("h5",{id:"declaration-18"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void AddToVisList(NetworkIdentity identity)\n")),(0,l.kt)("h5",{id:"parameters-5"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,l.kt)("td",{parentName:"tr",align:null},"identity"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"removefromvislistnetworkidentity"},"RemoveFromVisList(NetworkIdentity)"),(0,l.kt)("h5",{id:"declaration-19"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveFromVisList(NetworkIdentity identity)\n")),(0,l.kt)("h5",{id:"parameters-6"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,l.kt)("td",{parentName:"tr",align:null},"identity"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"containsinvislistnetworkidentity"},"ContainsInVisList(NetworkIdentity)"),(0,l.kt)("p",null,"Checks if player can see NetworkIdentity"),(0,l.kt)("h5",{id:"declaration-20"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool ContainsInVisList(NetworkIdentity identity)\n")),(0,l.kt)("h5",{id:"parameters-7"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,l.kt)("td",{parentName:"tr",align:null},"identity"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h5",{id:"returns-1"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"removeallvisibleobjects"},"RemoveAllVisibleObjects()"),(0,l.kt)("p",null,"Removes all objects that this player can see\nThis is called when loading a new scene"),(0,l.kt)("h5",{id:"declaration-21"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveAllVisibleObjects()\n")),(0,l.kt)("h4",{id:"addownedobjectnetworkidentity"},"AddOwnedObject(NetworkIdentity)"),(0,l.kt)("h5",{id:"declaration-22"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void AddOwnedObject(NetworkIdentity identity)\n")),(0,l.kt)("h5",{id:"parameters-8"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,l.kt)("td",{parentName:"tr",align:null},"identity"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"removeownedobjectnetworkidentity"},"RemoveOwnedObject(NetworkIdentity)"),(0,l.kt)("h5",{id:"declaration-23"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveOwnedObject(NetworkIdentity identity)\n")),(0,l.kt)("h5",{id:"parameters-9"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkIdentity"),(0,l.kt)("td",{parentName:"tr",align:null},"identity"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"removeallownedobjectboolean"},"RemoveAllOwnedObject(Boolean)"),(0,l.kt)("h5",{id:"declaration-24"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void RemoveAllOwnedObject(bool sendAuthorityChangeEvent)\n")),(0,l.kt)("h5",{id:"parameters-10"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"sendAuthorityChangeEvent"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"destroyownedobjects"},"DestroyOwnedObjects()"),(0,l.kt)("p",null,"Destroy all objects owned by this player\nNOTE: only destroyed objects that are currently spawned"),(0,l.kt)("h5",{id:"declaration-25"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void DestroyOwnedObjects()\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f9640919.8a3fa7e9.js b/assets/js/f9640919.8a3fa7e9.js new file mode 100644 index 00000000000..c2313a3b7aa --- /dev/null +++ b/assets/js/f9640919.8a3fa7e9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3337],{3905:(t,e,a)=>{a.d(e,{Zo:()=>p,kt:()=>k});var r=a(67294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,r)}return a}function i(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?l(Object(a),!0).forEach((function(e){n(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}function c(t,e){if(null==t)return{};var a,r,n=function(t,e){if(null==t)return{};var a,r,n={},l=Object.keys(t);for(r=0;r<l.length;r++)a=l[r],e.indexOf(a)>=0||(n[a]=t[a]);return n}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(r=0;r<l.length;r++)a=l[r],e.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}var o=r.createContext({}),u=function(t){var e=r.useContext(o),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},p=function(t){var e=u(t.components);return r.createElement(o.Provider,{value:e},t.children)},m={inlineCode:"code",wrapper:function(t){var e=t.children;return r.createElement(r.Fragment,{},e)}},d=r.forwardRef((function(t,e){var a=t.components,n=t.mdxType,l=t.originalType,o=t.parentName,p=c(t,["components","mdxType","originalType","parentName"]),d=u(a),k=n,s=d["".concat(o,".").concat(k)]||d[k]||m[k]||l;return a?r.createElement(s,i(i({ref:e},p),{},{components:a})):r.createElement(s,i({ref:e},p))}));function k(t,e){var a=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var l=a.length,i=new Array(l);i[0]=d;var c={};for(var o in e)hasOwnProperty.call(e,o)&&(c[o]=e[o]);c.originalType=t,c.mdxType="string"==typeof t?t:n,i[1]=c;for(var u=2;u<l;u++)i[u]=a[u];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}d.displayName="MDXCreateElement"},68077:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>o,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>c,toc:()=>u});var r=a(87462),n=(a(67294),a(3905));const l={id:"Vector2PackAttribute",title:"Vector2PackAttribute"},i="Class Vector2PackAttribute",c={unversionedId:"reference/Mirage.Serialization/Vector2PackAttribute",id:"reference/Mirage.Serialization/Vector2PackAttribute",title:"Vector2PackAttribute",description:"Inheritance",source:"@site/docs/reference/Mirage.Serialization/Vector2PackAttribute.md",sourceDirName:"reference/Mirage.Serialization",slug:"/reference/Mirage.Serialization/Vector2PackAttribute",permalink:"/Mirage/docs/reference/Mirage.Serialization/Vector2PackAttribute",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Serialization/Vector2PackAttribute.md",tags:[],version:"current",frontMatter:{id:"Vector2PackAttribute",title:"Vector2PackAttribute"},sidebar:"api",previous:{title:"VarVector3Packer",permalink:"/Mirage/docs/reference/Mirage.Serialization/VarVector3Packer"},next:{title:"Vector2Packer",permalink:"/Mirage/docs/reference/Mirage.Serialization/Vector2Packer"}},o={},u=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Constructors",id:"constructors",level:3},{value:"Vector2PackAttribute(Single, Single, Single, Single)",id:"vector2packattributesingle-single-single-single",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Vector2PackAttribute(Single, Single, Single)",id:"vector2packattributesingle-single-single",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"Vector2PackAttribute(Single, Single, Int32, Int32)",id:"vector2packattributesingle-single-int32-int32",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Vector2PackAttribute(Single, Single, Int32)",id:"vector2packattributesingle-single-int32",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Parameters",id:"parameters-3",level:5}],p={toc:u};function m(t){let{components:e,...a}=t;return(0,n.kt)("wrapper",(0,r.Z)({},p,a,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"class-vector2packattribute"},"Class Vector2PackAttribute"),(0,n.kt)("div",{class:"inheritance"},(0,n.kt)("h5",{id:"inheritance"},"Inheritance"),(0,n.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object"),(0,n.kt)("div",{class:"level",style:{"--data-index":1}},"System.Attribute")),(0,n.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,n.kt)("details",null,(0,n.kt)("summary",null,"Show")),(0,n.kt)("h5",{id:"syntax"},"Syntax"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class Vector2PackAttribute : Attribute, _Attribute\n")),(0,n.kt)("h3",{id:"constructors"},"Constructors"),(0,n.kt)("h4",{id:"vector2packattributesingle-single-single-single"},"Vector2PackAttribute(Single, Single, Single, Single)"),(0,n.kt)("h5",{id:"declaration"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector2PackAttribute(float xMax, float yMax, float xPrecision, float yPrecision)\n")),(0,n.kt)("h5",{id:"parameters"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"xMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"yMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"xPrecision"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"yPrecision"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"vector2packattributesingle-single-single"},"Vector2PackAttribute(Single, Single, Single)"),(0,n.kt)("h5",{id:"declaration-1"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector2PackAttribute(float xMax, float yMax, float precision)\n")),(0,n.kt)("h5",{id:"parameters-1"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"xMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"yMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"precision"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"vector2packattributesingle-single-int32-int32"},"Vector2PackAttribute(Single, Single, Int32, Int32)"),(0,n.kt)("h5",{id:"declaration-2"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector2PackAttribute(float xMax, float yMax, int xBitCount, int yBitCount)\n")),(0,n.kt)("h5",{id:"parameters-2"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"xMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"yMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"xBitCount"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"yBitCount"),(0,n.kt)("td",{parentName:"tr",align:null})))),(0,n.kt)("h4",{id:"vector2packattributesingle-single-int32"},"Vector2PackAttribute(Single, Single, Int32)"),(0,n.kt)("h5",{id:"declaration-3"},"Declaration"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public Vector2PackAttribute(float xMax, float yMax, int bitCount)\n")),(0,n.kt)("h5",{id:"parameters-3"},"Parameters"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"xMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Single"),(0,n.kt)("td",{parentName:"tr",align:null},"yMax"),(0,n.kt)("td",{parentName:"tr",align:null})),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,n.kt)("td",{parentName:"tr",align:null},"bitCount"),(0,n.kt)("td",{parentName:"tr",align:null})))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f97ae027.69e7f0f1.js b/assets/js/f97ae027.69e7f0f1.js new file mode 100644 index 00000000000..6cd6bdda8f3 --- /dev/null +++ b/assets/js/f97ae027.69e7f0f1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[406],{3905:(e,n,t)=>{t.d(n,{Zo:()=>c,kt:()=>u});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var i=a.createContext({}),d=function(e){var n=a.useContext(i),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},c=function(e){var n=d(e.components);return a.createElement(i.Provider,{value:n},e.children)},y={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},p=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,o=e.originalType,i=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=d(t),u=r,m=p["".concat(i,".").concat(u)]||p[u]||y[u]||o;return t?a.createElement(m,l(l({ref:n},c),{},{components:t})):a.createElement(m,l({ref:n},c))}));function u(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var o=t.length,l=new Array(o);l[0]=p;var s={};for(var i in n)hasOwnProperty.call(n,i)&&(s[i]=n[i]);s.originalType=e,s.mdxType="string"==typeof e?e:r,l[1]=s;for(var d=2;d<o;d++)l[d]=t[d];return a.createElement.apply(null,l)}return a.createElement.apply(null,t)}p.displayName="MDXCreateElement"},93370:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>l,default:()=>y,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var a=t(87462),r=(t(67294),t(3905));const o={},l="Ready Check and Lobby Ready",s={unversionedId:"components/ready-check",id:"components/ready-check",title:"Ready Check and Lobby Ready",description:"See the API reference for more details",source:"@site/docs/components/ready-check.md",sourceDirName:"components",slug:"/components/ready-check",permalink:"/Mirage/docs/components/ready-check",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/components/ready-check.md",tags:[],version:"current",frontMatter:{},sidebar:"docs",previous:{title:"Network Transform",permalink:"/Mirage/docs/components/network-transform"}},i={},d=[{value:"Setup",id:"setup",level:3},{value:"Usage",id:"usage",level:3},{value:"Setting Player Ready",id:"setting-player-ready",level:4},{value:"Reacting to Ready changes",id:"reacting-to-ready-changes",level:4},{value:"Sending Messages to Ready Players",id:"sending-messages-to-ready-players",level:4},{value:"Resetting Ready",id:"resetting-ready",level:4}],c={toc:d};function y(e){let{components:n,...t}=e;return(0,r.kt)("wrapper",(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"ready-check-and-lobby-ready"},"Ready Check and Lobby Ready"),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"See the API reference for more details\n",(0,r.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Components/ReadyCheck"},"ReadCheck"),"\n",(0,r.kt)("a",{parentName:"p",href:"/docs/reference/Mirage.Components/LobbyReady"},"LobbyReady"))),(0,r.kt)("h3",{id:"setup"},"Setup"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Attach the ",(0,r.kt)("inlineCode",{parentName:"li"},"LobbyReady")," component to your network manager or other non-networked object."),(0,r.kt)("li",{parentName:"ol"},"Attach the ",(0,r.kt)("inlineCode",{parentName:"li"},"ReadyCheck")," component to your player's lobby object."),(0,r.kt)("li",{parentName:"ol"},"Set the sync direction on ",(0,r.kt)("inlineCode",{parentName:"li"},"ReadyCheck")," to ",(0,r.kt)("inlineCode",{parentName:"li"},"From Server and Owner"),", ",(0,r.kt)("inlineCode",{parentName:"li"},"To Server"),", ",(0,r.kt)("inlineCode",{parentName:"li"},"Owner"),", and optionally ",(0,r.kt)("inlineCode",{parentName:"li"},"Observers"),". This will allow the value to be set on the owner client as well as on the server to reset it when, like when ",(0,r.kt)("inlineCode",{parentName:"li"},"LobbyReady.SetAllClientsNotReady()")," is called.")),(0,r.kt)("h3",{id:"usage"},"Usage"),(0,r.kt)("h4",{id:"setting-player-ready"},"Setting Player Ready"),(0,r.kt)("p",null,"To set a player as ready, you can simply update the ",(0,r.kt)("inlineCode",{parentName:"p"},"IsReady")," field of their ",(0,r.kt)("inlineCode",{parentName:"p"},"ReadyCheck"),' component to true. This can be done either manually through code, or through user input such as a "Ready" button. Mirage will then sync this change to server and other clients. For example:'),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"readyCheck.SetReady(true);\n")),(0,r.kt)("h4",{id:"reacting-to-ready-changes"},"Reacting to Ready changes"),(0,r.kt)("p",null,"When the ",(0,r.kt)("inlineCode",{parentName:"p"},"IsReady")," field of a player's ",(0,r.kt)("inlineCode",{parentName:"p"},"ReadyCheck")," component is changed, the ",(0,r.kt)("inlineCode",{parentName:"p"},"OnReadyChanged")," event is invoked on all clients to reflect the new value. You can subscribe to this event and perform actions based on the player's ready state. For example, you can update UI elements to show the player's current ready status:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public class ReadyUI : MonoBehaviour\n {\n public ReadyCheck ReadyCheck;\n public Image Image;\n\n public void Start()\n {\n ReadyCheck.OnReadyChanged += OnReadyChanged;\n // invoke right away to set the current value\n OnReadyChanged(ReadyCheck.IsReady);\n }\n\n private void OnReadyChanged(bool ready)\n {\n Image.color = ready ? Color.green : Color.red;\n }\n }\n")),(0,r.kt)("h4",{id:"sending-messages-to-ready-players"},"Sending Messages to Ready Players"),(0,r.kt)("p",null,"To send a message to all players that are ready, you can use the ",(0,r.kt)("inlineCode",{parentName:"p"},"LobbyReady.SendToReady")," function. Here's an example:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'[NetworkMessage]\n // Make sure to regieter message on client\n public struct MyMessage\n {\n public string message;\n }\n\n public class LobbyController : MonoBehaviour\n {\n public LobbyReady LobbyReady;\n\n public void SendToReady()\n {\n var myMessage = new MyMessage { message = "Hello, world!" };\n // Send message to ready players\n LobbyReady.SendToReady(myMessage);\n }\n }\n')),(0,r.kt)("p",null,"You can also send messages to not ready players by setting the ",(0,r.kt)("inlineCode",{parentName:"p"},"sendToReady")," parameter to false. Note that this function only sends messages to players that have ",(0,r.kt)("inlineCode",{parentName:"p"},"ReadyCheck")," attached to their character and are synced with the server."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},'public void SendToNotReady()\n {\n var myMessage = new MyMessage { message = "Hello, world!" };\n // Send message to ready players\n LobbyReady.SendToReady(myMessage, sendToReady: false);\n }\n')),(0,r.kt)("h4",{id:"resetting-ready"},"Resetting Ready"),(0,r.kt)("p",null,"Resetting Ready State for All Players\nYou can reset the ",(0,r.kt)("inlineCode",{parentName:"p"},"IsReady")," field for all players by calling ",(0,r.kt)("inlineCode",{parentName:"p"},"LobbyReady.SetAllClientsNotReady()"),". Here's an example:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-cs"},"public void ClearReady()\n {\n LobbyReady.SetAllClientsNotReady();\n }\n")),(0,r.kt)("p",null,"This will set the ",(0,r.kt)("inlineCode",{parentName:"p"},"IsReady")," field to ",(0,r.kt)("inlineCode",{parentName:"p"},"false")," for all ",(0,r.kt)("inlineCode",{parentName:"p"},"ReadyCheck")," on the server, the values will then be synced to client."))}y.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f9f08424.9e95f440.js b/assets/js/f9f08424.9e95f440.js new file mode 100644 index 00000000000..3d39467301b --- /dev/null +++ b/assets/js/f9f08424.9e95f440.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3952],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>v});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},d=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(r),v=a,f=p["".concat(l,".").concat(v)]||p[v]||u[v]||i;return r?n.createElement(f,o(o({ref:t},d),{},{components:r})):n.createElement(f,o({ref:t},d))}));function v(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=p;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:a,o[1]=s;for(var c=2;c<i;c++)o[c]=r[c];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}p.displayName="MDXCreateElement"},29946:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const i={id:"CreateSession",title:"CreateSession"},o="Class CreateSession",s={unversionedId:"reference/Mirage.Authenticators.SessionId/CreateSession",id:"reference/Mirage.Authenticators.SessionId/CreateSession",title:"CreateSession",description:"Creates a session to be used by",source:"@site/docs/reference/Mirage.Authenticators.SessionId/CreateSession.md",sourceDirName:"reference/Mirage.Authenticators.SessionId",slug:"/reference/Mirage.Authenticators.SessionId/CreateSession",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/CreateSession",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Authenticators.SessionId/CreateSession.md",tags:[],version:"current",frontMatter:{id:"CreateSession",title:"CreateSession"},sidebar:"api",previous:{title:"ClientSession",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/ClientSession"},next:{title:"ISessionIdStore",permalink:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/ISessionIdStore"}},l={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"Server",id:"server",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Client",id:"client",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Authenticator",id:"authenticator",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"AutoRefreshSession",id:"autorefreshsession",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"Methods",id:"methods",level:3},{value:"Start()",id:"start",level:4},{value:"Declaration",id:"declaration-4",level:5}],d={toc:c};function u(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-createsession"},"Class CreateSession"),(0,a.kt)("p",null,"Creates a session to be used by "),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class CreateSession : MonoBehaviour\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"server"},"Server"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkServer Server\n")),(0,a.kt)("h4",{id:"client"},"Client"),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public NetworkClient Client\n")),(0,a.kt)("h4",{id:"authenticator"},"Authenticator"),(0,a.kt)("h5",{id:"declaration-2"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public SessionIdAuthenticator Authenticator\n")),(0,a.kt)("h4",{id:"autorefreshsession"},"AutoRefreshSession"),(0,a.kt)("h5",{id:"declaration-3"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public bool AutoRefreshSession\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"start"},"Start()"),(0,a.kt)("h5",{id:"declaration-4"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public void Start()\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/facbbfa1.72de8301.js b/assets/js/facbbfa1.72de8301.js new file mode 100644 index 00000000000..617d2025e7d --- /dev/null +++ b/assets/js/facbbfa1.72de8301.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9694],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),o=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=o(e.components);return n.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=o(r),m=a,g=u["".concat(c,".").concat(m)]||u[m]||d[m]||i;return r?n.createElement(g,l(l({ref:t},p),{},{components:r})):n.createElement(g,l({ref:t},p))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,l=new Array(i);l[0]=u;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s.mdxType="string"==typeof e?e:a,l[1]=s;for(var o=2;o<i;o++)l[o]=r[o];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},80115:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>o});var n=r(87462),a=(r(67294),r(3905));const i={id:"StringHash",title:"StringHash"},l="Class StringHash",s={unversionedId:"reference/Mirage/StringHash",id:"reference/Mirage/StringHash",title:"StringHash",description:"Inheritance",source:"@site/docs/reference/Mirage/StringHash.md",sourceDirName:"reference/Mirage",slug:"/reference/Mirage/StringHash",permalink:"/Mirage/docs/reference/Mirage/StringHash",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage/StringHash.md",tags:[],version:"current",frontMatter:{id:"StringHash",title:"StringHash"},sidebar:"api",previous:{title:"SpawnValues",permalink:"/Mirage/docs/reference/Mirage/SpawnValues"},next:{title:"SyncActiveOption",permalink:"/Mirage/docs/reference/Mirage/SyncActiveOption"}},c={},o=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"EmptyString",id:"emptystring",level:4},{value:"Declaration",id:"declaration",level:5},{value:"Methods",id:"methods",level:3},{value:"GetStableHashCode(String)",id:"getstablehashcodestring",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Returns",id:"returns",level:5}],p={toc:o};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-stringhash"},"Class StringHash"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static class StringHash\n")),(0,a.kt)("h3",{id:"fields"},"Fields"),(0,a.kt)("h4",{id:"emptystring"},"EmptyString"),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public const int EmptyString = 23\n")),(0,a.kt)("h3",{id:"methods"},"Methods"),(0,a.kt)("h4",{id:"getstablehashcodestring"},"GetStableHashCode(String)"),(0,a.kt)("p",null,"Gets a hash for a string. This hash will be the same on all platforms "),(0,a.kt)("h5",{id:"declaration-1"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static int GetStableHashCode(this string text)\n")),(0,a.kt)("h5",{id:"parameters"},"Parameters"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.String"),(0,a.kt)("td",{parentName:"tr",align:null},"text"),(0,a.kt)("td",{parentName:"tr",align:null})))),(0,a.kt)("h5",{id:"returns"},"Returns"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Type"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,a.kt)("td",{parentName:"tr",align:null})))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fcf44c20.f66207e7.js b/assets/js/fcf44c20.f66207e7.js new file mode 100644 index 00000000000..d488d6e0ee7 --- /dev/null +++ b/assets/js/fcf44c20.f66207e7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1877],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=s(r),f=a,m=u["".concat(l,".").concat(f)]||u[f]||d[f]||i;return r?n.createElement(m,c(c({ref:t},p),{},{components:r})):n.createElement(m,c({ref:t},p))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,c=new Array(i);c[0]=u;var o={};for(var l in t)hasOwnProperty.call(t,l)&&(o[l]=t[l]);o.originalType=e,o.mdxType="string"==typeof e?e:a,c[1]=o;for(var s=2;s<i;s++)c[s]=r[s];return n.createElement.apply(null,c)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},41365:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));const i={id:"UdpMTU",title:"UdpMTU"},c="Class UdpMTU",o={unversionedId:"reference/Mirage.Sockets.Udp/UdpMTU",id:"reference/Mirage.Sockets.Udp/UdpMTU",title:"UdpMTU",description:"Inheritance",source:"@site/docs/reference/Mirage.Sockets.Udp/UdpMTU.md",sourceDirName:"reference/Mirage.Sockets.Udp",slug:"/reference/Mirage.Sockets.Udp/UdpMTU",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpMTU",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Sockets.Udp/UdpMTU.md",tags:[],version:"current",frontMatter:{id:"UdpMTU",title:"UdpMTU"},sidebar:"api",previous:{title:"SocketLib",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/SocketLib"},next:{title:"UdpSocket",permalink:"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpSocket"}},l={},s=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Properties",id:"properties",level:3},{value:"MaxPacketSize",id:"maxpacketsize",level:4},{value:"Declaration",id:"declaration",level:5}],p={toc:s};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"class-udpmtu"},"Class UdpMTU"),(0,a.kt)("div",{class:"inheritance"},(0,a.kt)("h5",{id:"inheritance"},"Inheritance"),(0,a.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,a.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,a.kt)("details",null,(0,a.kt)("summary",null,"Show")),(0,a.kt)("h5",{id:"syntax"},"Syntax"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public class UdpMTU\n")),(0,a.kt)("h3",{id:"properties"},"Properties"),(0,a.kt)("h4",{id:"maxpacketsize"},"MaxPacketSize"),(0,a.kt)("p",null,"Max size of array that will be sent to or can be received from\nThis will also be the size of all buffers used by\nThis is not max message size because this size includes packets header added by "),(0,a.kt)("h5",{id:"declaration"},"Declaration"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-cs"},"public static int MaxPacketSize { get; }\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fd242af7.f4265a4b.js b/assets/js/fd242af7.f4265a4b.js new file mode 100644 index 00000000000..31ee53c1981 --- /dev/null +++ b/assets/js/fd242af7.f4265a4b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[145],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>d});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),p=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},s=function(e){var t=p(e.components);return a.createElement(c.Provider,{value:t},e.children)},k={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,c=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),m=p(n),d=r,g=m["".concat(c,".").concat(d)]||m[d]||k[d]||o;return n?a.createElement(g,l(l({ref:t},s),{},{components:n})):a.createElement(g,l({ref:t},s))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,l=new Array(o);l[0]=m;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i.mdxType="string"==typeof e?e:r,l[1]=i;for(var p=2;p<o;p++)l[p]=n[p];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},24457:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>k,frontMatter:()=>o,metadata:()=>i,toc:()=>p});var a=n(87462),r=(n(67294),n(3905));const o={sidebar_position:3},l="Sockets",i={unversionedId:"general/sockets",id:"general/sockets",title:"Sockets",description:"Sockets are low-level objects that are responsible for sending and receiving raw data over the network.",source:"@site/docs/general/sockets.md",sourceDirName:"general",slug:"/general/sockets",permalink:"/Mirage/docs/general/sockets",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/general/sockets.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"docs",previous:{title:"Getting Started",permalink:"/Mirage/docs/general/getting-started"},next:{title:"Showcase",permalink:"/Mirage/docs/general/showcase"}},c={},p=[{value:"Available sockets",id:"available-sockets",level:2},{value:"Changing a socket",id:"changing-a-socket",level:2},{value:"Implementing new socket",id:"implementing-new-socket",level:2}],s={toc:p};function k(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,a.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"sockets"},"Sockets"),(0,r.kt)("p",null,"Sockets are low-level objects that are responsible for sending and receiving raw data over the network.\nMirage has a single transport (called ",(0,r.kt)("inlineCode",{parentName:"p"},"Mirage.SocketLayer.Peer"),") built into its core, which handles all the connection\nstates and reliability. Peer then uses the low-level sockets API to send and receive raw data over the network.\nCheck ",(0,r.kt)("a",{parentName:"p",href:"#implementing-new-socket"},"this section")," below to see how to implement your own socket."),(0,r.kt)("h2",{id:"available-sockets"},"Available sockets"),(0,r.kt)("p",null,"The table below shows a list of available sockets and their features."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null}),(0,r.kt)("th",{parentName:"tr",align:"center"},"UDP (built-in)"),(0,r.kt)("th",{parentName:"tr",align:"center"},"Steam (",(0,r.kt)("a",{parentName:"th",href:"https://github.com/MirageNet/FizzySteamyMirror"},"Steamworks.NET"),", ",(0,r.kt)("a",{parentName:"th",href:"https://github.com/MirageNet/SteamyFaceNG"},"Facepunch"),")"),(0,r.kt)("th",{parentName:"tr",align:"center"},(0,r.kt)("a",{parentName:"th",href:"https://github.com/James-Frowen/SimpleWebSocket"},"Websocket")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"CCU")),(0,r.kt)("td",{parentName:"tr",align:"center"},"1000+"),(0,r.kt)("td",{parentName:"tr",align:"center"},"?"),(0,r.kt)("td",{parentName:"tr",align:"center"},"?")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Protocol")),(0,r.kt)("td",{parentName:"tr",align:"center"},"UDP"),(0,r.kt)("td",{parentName:"tr",align:"center"},"UDP"),(0,r.kt)("td",{parentName:"tr",align:"center"},"TCP")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Unreliable")),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u2705"),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u2705"),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Mobile")),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u2705"),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u2705")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"WebGL")),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u2705")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"CPU")),(0,r.kt)("td",{parentName:"tr",align:"center"},"LOW"),(0,r.kt)("td",{parentName:"tr",align:"center"},"LOW"),(0,r.kt)("td",{parentName:"tr",align:"center"},"?")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"NAT Punch")),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u2705"),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Encryption")),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u2705"),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u2705")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"IPv6")),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u2705"),(0,r.kt)("td",{parentName:"tr",align:"center"},"?"),(0,r.kt)("td",{parentName:"tr",align:"center"},"?")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Managed")),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u2705"),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u2705"),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u2705")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Native")),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u2705"),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,r.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Based on")),(0,r.kt)("td",{parentName:"tr",align:"center"},"NanoSockets (native), .NET (managed)"),(0,r.kt)("td",{parentName:"tr",align:"center"},"Steam Game Networking Sockets"),(0,r.kt)("td",{parentName:"tr",align:"center"},(0,r.kt)("a",{parentName:"td",href:"https://github.com/James-Frowen/SimpleWebTransport"},"SimpleWebTransport"))))),(0,r.kt)("h2",{id:"changing-a-socket"},"Changing a socket"),(0,r.kt)("p",null,"To change a socket, follow the steps below:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Install the desired socket. Instructions are available on each socket's repository."),(0,r.kt)("li",{parentName:"ol"},"Add the socket's ",(0,r.kt)("inlineCode",{parentName:"li"},"SocketFactory")," as a new component on the object where you have the other Mirage components."),(0,r.kt)("li",{parentName:"ol"},"Assign a reference to this component in the ",(0,r.kt)("inlineCode",{parentName:"li"},"Socket Factory")," field of ",(0,r.kt)("inlineCode",{parentName:"li"},"NetworkServer")," and ",(0,r.kt)("inlineCode",{parentName:"li"},"NetworkClient")," components."),(0,r.kt)("li",{parentName:"ol"},"Check if the socket has any required additional steps."),(0,r.kt)("li",{parentName:"ol"},"Done. Mirage should now be using the newly added socket.")),(0,r.kt)("h2",{id:"implementing-new-socket"},"Implementing new socket"),(0,r.kt)("p",null,"To create a new socket, you have to implement two classes - one that implements the ",(0,r.kt)("inlineCode",{parentName:"p"},"Mirage.SocketLayer.ISocket"),"\ninterface, which will represent the low-level socket and one that extends the ",(0,r.kt)("inlineCode",{parentName:"p"},"Mirage.SocketLayer.SocketFactory"),"\nclass, which will act as the MonoBehaviour component creating new instances of the low-level class."),(0,r.kt)("p",null,"You can check out our built-in UDP socket implementation as an inspiration: ",(0,r.kt)("inlineCode",{parentName:"p"},"Mirage.Sockets.Udp.UdpSocket")," and\n",(0,r.kt)("inlineCode",{parentName:"p"},"Mirage.Sockets.Udp.UdpSocketFactory"),"."))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fd3b502f.acd2064d.js b/assets/js/fd3b502f.acd2064d.js new file mode 100644 index 00000000000..32925eba524 --- /dev/null +++ b/assets/js/fd3b502f.acd2064d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[9825],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>m});var r=a(67294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach((function(t){l(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,r,l=function(e,t){if(null==e)return{};var a,r,l={},n=Object.keys(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||(l[a]=e[a]);return l}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)a=n[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}var d=r.createContext({}),c=function(e){var t=r.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},u=function(e){var t=c(e.components);return r.createElement(d.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},k=r.forwardRef((function(e,t){var a=e.components,l=e.mdxType,n=e.originalType,d=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),k=c(a),m=l,s=k["".concat(d,".").concat(m)]||k[m]||p[m]||n;return a?r.createElement(s,i(i({ref:t},u),{},{components:a})):r.createElement(s,i({ref:t},u))}));function m(e,t){var a=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var n=a.length,i=new Array(n);i[0]=k;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o.mdxType="string"==typeof e?e:l,i[1]=o;for(var c=2;c<n;c++)i[c]=a[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,a)}k.displayName="MDXCreateElement"},15306:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>p,frontMatter:()=>n,metadata:()=>o,toc:()=>c});var r=a(87462),l=(a(67294),a(3905));const n={id:"SyncStack-1",title:"SyncStack<T>"},i="Class SyncStack<T>",o={unversionedId:"reference/Mirage.Collections/SyncStack-1",id:"reference/Mirage.Collections/SyncStack-1",title:"SyncStack<T>",description:"Inheritance",source:"@site/docs/reference/Mirage.Collections/SyncStack-1.md",sourceDirName:"reference/Mirage.Collections",slug:"/reference/Mirage.Collections/SyncStack-1",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncStack-1",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.Collections/SyncStack-1.md",tags:[],version:"current",frontMatter:{id:"SyncStack-1",title:"SyncStack<T>"},sidebar:"api",previous:{title:"SyncSortedSet<T>",permalink:"/Mirage/docs/reference/Mirage.Collections/SyncSortedSet-1"},next:{title:"Mirage.Components",permalink:"/Mirage/docs/reference/Mirage.Components/"}},d={},c=[{value:"Inheritance",id:"inheritance",level:5},{value:"Inherited Members",id:"inherited-members",level:5},{value:"Syntax",id:"syntax",level:5},{value:"Type Parameters",id:"type-parameters",level:5},{value:"Constructors",id:"constructors",level:3},{value:"SyncStack()",id:"syncstack",level:4},{value:"Declaration",id:"declaration",level:5},{value:"SyncStack(Stack<T>)",id:"syncstackstackt",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"Parameters",id:"parameters",level:5},{value:"Properties",id:"properties",level:3},{value:"Count",id:"count",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"IsReadOnly",id:"isreadonly",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"IsDirty",id:"isdirty",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"Methods",id:"methods",level:3},{value:"ISyncObject.SetShouldSyncFrom(Boolean)",id:"isyncobjectsetshouldsyncfromboolean",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"Parameters",id:"parameters-1",level:5},{value:"ISyncObject.SetNetworkBehaviour(NetworkBehaviour)",id:"isyncobjectsetnetworkbehaviournetworkbehaviour",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"Parameters",id:"parameters-2",level:5},{value:"Flush()",id:"flush",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"Reset()",id:"reset",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"OnSerializeAll(NetworkWriter)",id:"onserializeallnetworkwriter",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"Parameters",id:"parameters-3",level:5},{value:"OnSerializeDelta(NetworkWriter)",id:"onserializedeltanetworkwriter",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"Parameters",id:"parameters-4",level:5},{value:"OnDeserializeAll(NetworkReader)",id:"ondeserializeallnetworkreader",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"Parameters",id:"parameters-5",level:5},{value:"OnDeserializeDelta(NetworkReader)",id:"ondeserializedeltanetworkreader",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"Parameters",id:"parameters-6",level:5},{value:"Push(T)",id:"pusht",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"Parameters",id:"parameters-7",level:5},{value:"AddRange(IEnumerable<T>)",id:"addrangeienumerablet",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"Parameters",id:"parameters-8",level:5},{value:"Clear()",id:"clear",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"CopyTo(T[], Int32)",id:"copytot-int32",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"Parameters",id:"parameters-9",level:5},{value:"Pop()",id:"pop",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"Returns",id:"returns",level:5},{value:"IEnumerable<T>.GetEnumerator()",id:"ienumerabletgetenumerator",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"Returns",id:"returns-1",level:5},{value:"IEnumerable.GetEnumerator()",id:"ienumerablegetenumerator",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"Returns",id:"returns-2",level:5}],u={toc:c};function p(e){let{components:t,...a}=e;return(0,l.kt)("wrapper",(0,r.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"class-syncstackt"},"Class SyncStack","<","T",">"),(0,l.kt)("div",{class:"inheritance"},(0,l.kt)("h5",{id:"inheritance"},"Inheritance"),(0,l.kt)("div",{class:"level",style:{"--data-index":0}},"System.Object")),(0,l.kt)("h5",{id:"inherited-members"},"Inherited Members"),(0,l.kt)("details",null,(0,l.kt)("summary",null,"Show")),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public class SyncStack<T> : IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable, ISyncObject\n")),(0,l.kt)("h5",{id:"type-parameters"},"Type Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"T"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h3",{id:"constructors"},"Constructors"),(0,l.kt)("h4",{id:"syncstack"},"SyncStack()"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncStack()\n")),(0,l.kt)("h4",{id:"syncstackstackt"},"SyncStack(Stack","<","T",">",")"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public SyncStack(Stack<T> objects)\n")),(0,l.kt)("h5",{id:"parameters"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.Stack","<","T",">"),(0,l.kt)("td",{parentName:"tr",align:null},"objects"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h3",{id:"properties"},"Properties"),(0,l.kt)("h4",{id:"count"},"Count"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int Count { get; }\n")),(0,l.kt)("h4",{id:"isreadonly"},"IsReadOnly"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsReadOnly { get; }\n")),(0,l.kt)("h4",{id:"isdirty"},"IsDirty"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool IsDirty { get; }\n")),(0,l.kt)("h3",{id:"methods"},"Methods"),(0,l.kt)("h4",{id:"isyncobjectsetshouldsyncfromboolean"},"ISyncObject.SetShouldSyncFrom(Boolean)"),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"void ISyncObject.SetShouldSyncFrom(bool shouldSync)\n")),(0,l.kt)("h5",{id:"parameters-1"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Boolean"),(0,l.kt)("td",{parentName:"tr",align:null},"shouldSync"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"isyncobjectsetnetworkbehaviournetworkbehaviour"},"ISyncObject.SetNetworkBehaviour(NetworkBehaviour)"),(0,l.kt)("h5",{id:"declaration-6"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"void ISyncObject.SetNetworkBehaviour(NetworkBehaviour networkBehaviour)\n")),(0,l.kt)("h5",{id:"parameters-2"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.NetworkBehaviour"),(0,l.kt)("td",{parentName:"tr",align:null},"networkBehaviour"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"flush"},"Flush()"),(0,l.kt)("h5",{id:"declaration-7"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Flush()\n")),(0,l.kt)("h4",{id:"reset"},"Reset()"),(0,l.kt)("h5",{id:"declaration-8"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Reset()\n")),(0,l.kt)("h4",{id:"onserializeallnetworkwriter"},"OnSerializeAll(NetworkWriter)"),(0,l.kt)("h5",{id:"declaration-9"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnSerializeAll(NetworkWriter writer)\n")),(0,l.kt)("h5",{id:"parameters-3"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,l.kt)("td",{parentName:"tr",align:null},"writer"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"onserializedeltanetworkwriter"},"OnSerializeDelta(NetworkWriter)"),(0,l.kt)("h5",{id:"declaration-10"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnSerializeDelta(NetworkWriter writer)\n")),(0,l.kt)("h5",{id:"parameters-4"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkWriter"),(0,l.kt)("td",{parentName:"tr",align:null},"writer"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"ondeserializeallnetworkreader"},"OnDeserializeAll(NetworkReader)"),(0,l.kt)("h5",{id:"declaration-11"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnDeserializeAll(NetworkReader reader)\n")),(0,l.kt)("h5",{id:"parameters-5"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,l.kt)("td",{parentName:"tr",align:null},"reader"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"ondeserializedeltanetworkreader"},"OnDeserializeDelta(NetworkReader)"),(0,l.kt)("h5",{id:"declaration-12"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnDeserializeDelta(NetworkReader reader)\n")),(0,l.kt)("h5",{id:"parameters-6"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"Mirage.Serialization.NetworkReader"),(0,l.kt)("td",{parentName:"tr",align:null},"reader"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"pusht"},"Push(T)"),(0,l.kt)("h5",{id:"declaration-13"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Push(T item)\n")),(0,l.kt)("h5",{id:"parameters-7"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"T"),(0,l.kt)("td",{parentName:"tr",align:null},"item"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"addrangeienumerablet"},"AddRange(IEnumerable","<","T",">",")"),(0,l.kt)("h5",{id:"declaration-14"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void AddRange(IEnumerable<T> range)\n")),(0,l.kt)("h5",{id:"parameters-8"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerable","<","T",">"),(0,l.kt)("td",{parentName:"tr",align:null},"range"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"clear"},"Clear()"),(0,l.kt)("h5",{id:"declaration-15"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void Clear()\n")),(0,l.kt)("h4",{id:"copytot-int32"},"CopyTo(T[], Int32)"),(0,l.kt)("h5",{id:"declaration-16"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public void CopyTo(T[] array, int arrayIndex)\n")),(0,l.kt)("h5",{id:"parameters-9"},"Parameters"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Name"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"{T}[]"),(0,l.kt)("td",{parentName:"tr",align:null},"array"),(0,l.kt)("td",{parentName:"tr",align:null})),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Int32"),(0,l.kt)("td",{parentName:"tr",align:null},"arrayIndex"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"pop"},"Pop()"),(0,l.kt)("h5",{id:"declaration-17"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public T Pop()\n")),(0,l.kt)("h5",{id:"returns"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"T"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"ienumerabletgetenumerator"},"IEnumerable","<","T",">",".GetEnumerator()"),(0,l.kt)("h5",{id:"declaration-18"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"IEnumerator<T> IEnumerable<T>.GetEnumerator()\n")),(0,l.kt)("h5",{id:"returns-1"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Collections.Generic.IEnumerator","<","T",">"),(0,l.kt)("td",{parentName:"tr",align:null})))),(0,l.kt)("h4",{id:"ienumerablegetenumerator"},"IEnumerable.GetEnumerator()"),(0,l.kt)("h5",{id:"declaration-19"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"IEnumerator IEnumerable.GetEnumerator()\n")),(0,l.kt)("h5",{id:"returns-2"},"Returns"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"System.Collections.IEnumerator"),(0,l.kt)("td",{parentName:"tr",align:null})))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fd5d697e.a2ad701c.js b/assets/js/fd5d697e.a2ad701c.js new file mode 100644 index 00000000000..72866e319cb --- /dev/null +++ b/assets/js/fd5d697e.a2ad701c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1007],{3905:(e,a,t)=>{t.d(a,{Zo:()=>p,kt:()=>d});var r=t(67294);function n(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function s(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);a&&(r=r.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,r)}return t}function c(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?s(Object(t),!0).forEach((function(a){n(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function o(e,a){if(null==e)return{};var t,r,n=function(e,a){if(null==e)return{};var t,r,n={},s=Object.keys(e);for(r=0;r<s.length;r++)t=s[r],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)t=s[r],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var i=r.createContext({}),l=function(e){var a=r.useContext(i),t=a;return e&&(t="function"==typeof e?e(a):c(c({},a),e)),t},p=function(e){var a=l(e.components);return r.createElement(i.Provider,{value:a},e.children)},u={inlineCode:"code",wrapper:function(e){var a=e.children;return r.createElement(r.Fragment,{},a)}},h=r.forwardRef((function(e,a){var t=e.components,n=e.mdxType,s=e.originalType,i=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),h=l(t),d=n,m=h["".concat(i,".").concat(d)]||h[d]||u[d]||s;return t?r.createElement(m,c(c({ref:a},p),{},{components:t})):r.createElement(m,c({ref:a},p))}));function d(e,a){var t=arguments,n=a&&a.mdxType;if("string"==typeof e||n){var s=t.length,c=new Array(s);c[0]=h;var o={};for(var i in a)hasOwnProperty.call(a,i)&&(o[i]=a[i]);o.originalType=e,o.mdxType="string"==typeof e?e:n,c[1]=o;for(var l=2;l<s;l++)c[l]=t[l];return r.createElement.apply(null,c)}return r.createElement.apply(null,t)}h.displayName="MDXCreateElement"},87717:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>i,contentTitle:()=>c,default:()=>u,frontMatter:()=>s,metadata:()=>o,toc:()=>l});var r=t(87462),n=(t(67294),t(3905));const s={sidebar_position:4,title:"Spawn Player - Custom"},c="Custom Character Spawning",o={unversionedId:"guides/game-objects/spawn-player-custom",id:"guides/game-objects/spawn-player-custom",title:"Spawn Player - Custom",description:"Full scripts for this page can be found in the SpawnCustomPlayer sample in the package manager or on GitHub",source:"@site/docs/guides/game-objects/spawn-player-custom.md",sourceDirName:"guides/game-objects",slug:"/guides/game-objects/spawn-player-custom",permalink:"/Mirage/docs/guides/game-objects/spawn-player-custom",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/game-objects/spawn-player-custom.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"Spawn Player - Custom"},sidebar:"docs",previous:{title:"Spawn Player",permalink:"/Mirage/docs/guides/game-objects/spawn-player"},next:{title:"Spawn Object",permalink:"/Mirage/docs/guides/game-objects/spawn-object"}},i={},l=[{value:"Ready State",id:"ready-state",level:2},{value:"Switching Characters",id:"switching-characters",level:2},{value:"Destroying Characters",id:"destroying-characters",level:2}],p={toc:l};function u(e){let{components:a,...t}=e;return(0,n.kt)("wrapper",(0,r.Z)({},p,t,{components:a,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"custom-character-spawning"},"Custom Character Spawning"),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"Full scripts for this page can be found in the SpawnCustomPlayer sample in the package manager or on ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/MirageNet/Mirage/tree/main/Assets/Mirage/Samples%7E/SpawnCustomPlayer"},"GitHub"))),(0,n.kt)("p",null,"Mirage comes with a CharacterSpawner which will automatically spawn a character object when a client connects."),(0,n.kt)("p",null,"Many games need character customization. You may want to pick the color of the hair, eyes, skin, height, race, etc."),(0,n.kt)("p",null,"In this case, you will need to create your own CharacterSpawner. Follow these steps:"),(0,n.kt)("p",null,"1) Create your player prefabs (as many as you need) and add them to the Spawnable Prefabs in your ClientObjectManager.\n2) Create a message that describes your player. For example:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public struct CreateMMOCharacterMessage\n{\n public Race race;\n public string name;\n public Color hairColor;\n public Color eyeColor;\n}\n\npublic enum Race\n{\n Human,\n Elvish,\n Dwarvish,\n}\n")),(0,n.kt)("p",null,"3) Create Player Spawner class and add it to some GameObject in your scene"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},'public class CustomCharacterSpawner : MonoBehaviour\n{\n [Header("References")]\n public NetworkClient Client;\n public NetworkServer Server;\n public ClientObjectManager ClientObjectManager;\n public ServerObjectManager ServerObjectManager;\n\n [Header("Prefabs")]\n // Different prefabs based on the Race the player picks\n public CustomCharacter HumanPrefab;\n public CustomCharacter ElvishPrefab;\n public CustomCharacter DwarvishPrefab;\n}\n')),(0,n.kt)("p",null,"4) Drag the NetworkClient and NetworkServer and Scene manager to the fields"),(0,n.kt)("p",null,"5) Hook into events:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void Start()\n{\n Client.Started.AddListener(OnClientStarted);\n Client.Authenticated.AddListener(OnClientAuthenticated);\n Server.Started.AddListener(OnServerStarted);\n}\n")),(0,n.kt)("p",null,"6) register the prefabs when the client starts"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"private void OnClientStarted()\n{\n // Make sure all prefabs are Register so mirage can spawn the character for this client and for other players\n ClientObjectManager.RegisterPrefab(HumanPrefab.Identity);\n ClientObjectManager.RegisterPrefab(ElvishPrefab.Identity);\n ClientObjectManager.RegisterPrefab(DwarvishPrefab.Identity);\n}\n")),(0,n.kt)("p",null,"7) Send your message with your character data when your client connects, or after the user submits his preferences."),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},'// You can send the message here if you already know\n// everything about the character at the time of player\n// or at a later time when the user submits his preferences\nprivate void OnClientAuthenticated(INetworkPlayer player)\n{\n var mmoCharacter = new CreateMMOCharacterMessage\n {\n // populate the message with your data\n name = "player user name",\n race = Race.Human,\n eyeColor = Color.red,\n hairColor = Color.black,\n };\n player.Send(mmoCharacter);\n}\n')),(0,n.kt)("p",null,"8) Receive your message in the server and spawn the player"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},'private void OnServerStarted()\n{\n // Wait for client to send us an AddPlayerMessage\n Server.MessageHandler.RegisterHandler<CreateMMOCharacterMessage>(OnCreateCharacter);\n}\n\nprivate void OnCreateCharacter(INetworkPlayer player, CreateMMOCharacterMessage msg)\n{\n CustomCharacter prefab = GetPrefab(msg);\n\n // Create your character object\n // Use the data in msg to configure it\n CustomCharacter character = Instantiate(prefab);\n\n // Set syncVars before telling Mirage to spawn character\n // This will cause them to be sent to client in the spawn message\n character.PlayerName = msg.name;\n character.hairColor = msg.hairColor;\n character.eyeColor = msg.eyeColor;\n\n // Spawn it as the character object\n ServerObjectManager.AddCharacter(player, character.Identity);\n}\n\nprivate CustomCharacter GetPrefab(CreateMMOCharacterMessage msg)\n{\n // Get prefab based on race\n CustomCharacter prefab;\n switch (msg.race)\n {\n case Race.Human: prefab = HumanPrefab; break;\n case Race.Elvish: prefab = ElvishPrefab; break;\n case Race.Dwarvish: prefab = DwarvishPrefab; break;\n // Default case to check that client sent valid race.\n // The only reason it should be invalid is if the client\'s code was modified by an attacker\n // Throw will cause the client to be kicked\n default: throw new InvalidEnumArgumentException("Invalid race given");\n }\n\n return prefab;\n}\n')),(0,n.kt)("h2",{id:"ready-state"},"Ready State"),(0,n.kt)("admonition",{title:"Out of date!",type:"danger"},(0,n.kt)("p",{parentName:"admonition"},"This is out of date and needs to be updated!")),(0,n.kt)("p",null,'In addition to characters, players also have a "scene is ready" state. The server sends clients that are ready information about spawned game objects and state synchronization updates; clients which are not ready are not sent these updates. '),(0,n.kt)("p",null,"When a client initially connects to a server, their SceneIsReady property will be true. However initial spawning will not happen until a character has been added or you manually tell the server to send spawned objects."),(0,n.kt)("p",null,"Once a client has completed all its pre-game setup, and all its Assets are loaded, it can send a character message. As seen in the example above this will tell the server to spawn the player's character using ",(0,n.kt)("inlineCode",{parentName:"p"},"ServerObjectManager.AddCharacter"),". After the character is spawned mirage will automatically send a spawn message for the other spawned object to the client."),(0,n.kt)("h2",{id:"switching-characters"},"Switching Characters"),(0,n.kt)("p",null,"To replace the character game object for a player, use ",(0,n.kt)("inlineCode",{parentName:"p"},"ServerObjectManager.ReplaceCharacter"),". This is useful for having different game objects for the player at different times, such as in-game and a pregame lobby. The function takes the same arguments as ",(0,n.kt)("inlineCode",{parentName:"p"},"AddCharacter"),", but allows there to already be a character for that player. The old character game object is not destroyed when ReplaceCharacter is called. The ",(0,n.kt)("inlineCode",{parentName:"p"},"NetworkRoomManager")," uses this technique to switch from the ",(0,n.kt)("inlineCode",{parentName:"p"},"NetworkRoomPlayer")," game object to a game-play player game object when all the players in the room are ready."),(0,n.kt)("p",null,"You can also use ",(0,n.kt)("inlineCode",{parentName:"p"},"ReplaceCharacter")," to respawn a player or change the object that represents the player. In some cases, it is better to just disable a game object and reset its game attributes on respawn. The following code sample demonstrates how to replace the player game object with a new game object:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public class CustomCharacterSpawner : MonoBehaviour\n{\n public NetworkServer Server;\n public ServerObjectManager ServerObjectManager;\n\n public void Respawn(NetworkPlayer player, GameObject newPrefab)\n {\n // Cache a reference to the current character object\n GameObject oldPlayer = player.Identity.gameObject;\n\n var newCharacter = Instantiate(newPrefab);\n\n // Instantiate the new character object and broadcast to clients\n // NOTE: here we can use `keepAuthority: true` because we are calling Destroy on the old prefab immediately after.\n ServerObjectManager.ReplaceCharacter(player, newCharacter, keepAuthority: true);\n\n // Remove the previous character object that's now been replaced\n Server.Destroy(oldPlayer);\n }\n}\n")),(0,n.kt)("h2",{id:"destroying-characters"},"Destroying Characters"),(0,n.kt)("p",null,"Once the character is finished (eg game over, or player died) you can remove the character using ",(0,n.kt)("inlineCode",{parentName:"p"},"ServerObjectManager.DestroyCharacter"),"."),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-cs"},"public void OnPlayerDeath(INetworkPlayer player)\n{\n ServerObjectManager.DestroyCharacter(player);\n}\n")),(0,n.kt)("p",null,"Alternatively, you can use ",(0,n.kt)("inlineCode",{parentName:"p"},"ServerObjectManager.RemoveCharacter")," to remove it as the player's character without destroying it."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fe9e8813.f9331ba7.js b/assets/js/fe9e8813.f9331ba7.js new file mode 100644 index 00000000000..7fd6efefd2a --- /dev/null +++ b/assets/js/fe9e8813.f9331ba7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1221],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>p});var a=n(67294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function r(e,t){if(null==e)return{};var n,a,l=function(e,t){if(null==e)return{};var n,a,l={},s=Object.keys(e);for(a=0;a<s.length;a++)n=s[a],t.indexOf(n)>=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)n=s[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var c=a.createContext({}),o=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=o(e.components);return a.createElement(c.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},v=a.forwardRef((function(e,t){var n=e.components,l=e.mdxType,s=e.originalType,c=e.parentName,d=r(e,["components","mdxType","originalType","parentName"]),v=o(n),p=l,m=v["".concat(c,".").concat(p)]||v[p]||u[p]||s;return n?a.createElement(m,i(i({ref:t},d),{},{components:n})):a.createElement(m,i({ref:t},d))}));function p(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var s=n.length,i=new Array(s);i[0]=v;var r={};for(var c in t)hasOwnProperty.call(t,c)&&(r[c]=t[c]);r.originalType=e,r.mdxType="string"==typeof e?e:l,i[1]=r;for(var o=2;o<s;o++)i[o]=n[o];return a.createElement.apply(null,i)}return a.createElement.apply(null,n)}v.displayName="MDXCreateElement"},89747:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>r,toc:()=>o});var a=n(87462),l=(n(67294),n(3905));const s={id:"Metrics.Frame",title:"Metrics.Frame"},i="Struct Metrics.Frame",r={unversionedId:"reference/Mirage.SocketLayer/Metrics.Frame",id:"reference/Mirage.SocketLayer/Metrics.Frame",title:"Metrics.Frame",description:"Syntax",source:"@site/docs/reference/Mirage.SocketLayer/Metrics.Frame.md",sourceDirName:"reference/Mirage.SocketLayer",slug:"/reference/Mirage.SocketLayer/Metrics.Frame",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Metrics.Frame",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/reference/Mirage.SocketLayer/Metrics.Frame.md",tags:[],version:"current",frontMatter:{id:"Metrics.Frame",title:"Metrics.Frame"},sidebar:"api",previous:{title:"ITime",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/ITime"},next:{title:"Metrics",permalink:"/Mirage/docs/reference/Mirage.SocketLayer/Metrics"}},c={},o=[{value:"Syntax",id:"syntax",level:5},{value:"Fields",id:"fields",level:3},{value:"init",id:"init",level:4},{value:"Declaration",id:"declaration",level:5},{value:"connectionCount",id:"connectioncount",level:4},{value:"Declaration",id:"declaration-1",level:5},{value:"sendCount",id:"sendcount",level:4},{value:"Declaration",id:"declaration-2",level:5},{value:"sendBytes",id:"sendbytes",level:4},{value:"Declaration",id:"declaration-3",level:5},{value:"resendCount",id:"resendcount",level:4},{value:"Declaration",id:"declaration-4",level:5},{value:"resendBytes",id:"resendbytes",level:4},{value:"Declaration",id:"declaration-5",level:5},{value:"receiveCount",id:"receivecount",level:4},{value:"Declaration",id:"declaration-6",level:5},{value:"receiveBytes",id:"receivebytes",level:4},{value:"Declaration",id:"declaration-7",level:5},{value:"sendUnconnectedCount",id:"sendunconnectedcount",level:4},{value:"Declaration",id:"declaration-8",level:5},{value:"sendUnconnectedBytes",id:"sendunconnectedbytes",level:4},{value:"Declaration",id:"declaration-9",level:5},{value:"receiveUnconnectedBytes",id:"receiveunconnectedbytes",level:4},{value:"Declaration",id:"declaration-10",level:5},{value:"receiveUnconnectedCount",id:"receiveunconnectedcount",level:4},{value:"Declaration",id:"declaration-11",level:5},{value:"sendMessagesUnreliableCount",id:"sendmessagesunreliablecount",level:4},{value:"Declaration",id:"declaration-12",level:5},{value:"sendMessagesUnreliableBytes",id:"sendmessagesunreliablebytes",level:4},{value:"Declaration",id:"declaration-13",level:5},{value:"receiveMessagesUnreliableCount",id:"receivemessagesunreliablecount",level:4},{value:"Declaration",id:"declaration-14",level:5},{value:"receiveMessagesUnreliableBytes",id:"receivemessagesunreliablebytes",level:4},{value:"Declaration",id:"declaration-15",level:5},{value:"sendMessagesReliableCount",id:"sendmessagesreliablecount",level:4},{value:"Declaration",id:"declaration-16",level:5},{value:"sendMessagesReliableBytes",id:"sendmessagesreliablebytes",level:4},{value:"Declaration",id:"declaration-17",level:5},{value:"receiveMessagesReliableCount",id:"receivemessagesreliablecount",level:4},{value:"Declaration",id:"declaration-18",level:5},{value:"receiveMessagesReliableBytes",id:"receivemessagesreliablebytes",level:4},{value:"Declaration",id:"declaration-19",level:5},{value:"sendMessagesNotifyCount",id:"sendmessagesnotifycount",level:4},{value:"Declaration",id:"declaration-20",level:5},{value:"sendMessagesNotifyBytes",id:"sendmessagesnotifybytes",level:4},{value:"Declaration",id:"declaration-21",level:5},{value:"receiveMessagesNotifyCount",id:"receivemessagesnotifycount",level:4},{value:"Declaration",id:"declaration-22",level:5},{value:"receiveMessagesNotifyBytes",id:"receivemessagesnotifybytes",level:4},{value:"Declaration",id:"declaration-23",level:5},{value:"Properties",id:"properties",level:3},{value:"sendMessagesCountTotal",id:"sendmessagescounttotal",level:4},{value:"Declaration",id:"declaration-24",level:5},{value:"sendMessagesBytesTotal",id:"sendmessagesbytestotal",level:4},{value:"Declaration",id:"declaration-25",level:5},{value:"receiveMessagesCountTotal",id:"receivemessagescounttotal",level:4},{value:"Declaration",id:"declaration-26",level:5},{value:"receiveMessagesBytesTotal",id:"receivemessagesbytestotal",level:4},{value:"Declaration",id:"declaration-27",level:5}],d={toc:o};function u(e){let{components:t,...n}=e;return(0,l.kt)("wrapper",(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"struct-metricsframe"},"Struct Metrics.Frame"),(0,l.kt)("h5",{id:"syntax"},"Syntax"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public struct Frame\n")),(0,l.kt)("h3",{id:"fields"},"Fields"),(0,l.kt)("h4",{id:"init"},"init"),(0,l.kt)("p",null,"Is this frame initialized (uninitialized frames can be excluded from averages)"),(0,l.kt)("h5",{id:"declaration"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public bool init\n")),(0,l.kt)("h4",{id:"connectioncount"},"connectionCount"),(0,l.kt)("p",null,"Number of connections"),(0,l.kt)("h5",{id:"declaration-1"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int connectionCount\n")),(0,l.kt)("h4",{id:"sendcount"},"sendCount"),(0,l.kt)("p",null,"Number of send calls to connections"),(0,l.kt)("h5",{id:"declaration-2"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int sendCount\n")),(0,l.kt)("h4",{id:"sendbytes"},"sendBytes"),(0,l.kt)("p",null,"Number of bytes sent to connections"),(0,l.kt)("h5",{id:"declaration-3"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int sendBytes\n")),(0,l.kt)("h4",{id:"resendcount"},"resendCount"),(0,l.kt)("p",null,"Number of resend calls by reliable system"),(0,l.kt)("h5",{id:"declaration-4"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int resendCount\n")),(0,l.kt)("h4",{id:"resendbytes"},"resendBytes"),(0,l.kt)("p",null,"Number of bytes resent by reliable system"),(0,l.kt)("h5",{id:"declaration-5"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int resendBytes\n")),(0,l.kt)("h4",{id:"receivecount"},"receiveCount"),(0,l.kt)("p",null,"Number of packets received from connections"),(0,l.kt)("h5",{id:"declaration-6"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int receiveCount\n")),(0,l.kt)("h4",{id:"receivebytes"},"receiveBytes"),(0,l.kt)("p",null,"Number of bytes received from connections"),(0,l.kt)("h5",{id:"declaration-7"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int receiveBytes\n")),(0,l.kt)("h4",{id:"sendunconnectedcount"},"sendUnconnectedCount"),(0,l.kt)("p",null,"Number of send calls to unconnected addresses"),(0,l.kt)("h5",{id:"declaration-8"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int sendUnconnectedCount\n")),(0,l.kt)("h4",{id:"sendunconnectedbytes"},"sendUnconnectedBytes"),(0,l.kt)("p",null,"Number of bytes sent to unconnected addresses"),(0,l.kt)("h5",{id:"declaration-9"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int sendUnconnectedBytes\n")),(0,l.kt)("h4",{id:"receiveunconnectedbytes"},"receiveUnconnectedBytes"),(0,l.kt)("p",null,"Number of packets received from unconnected addresses"),(0,l.kt)("h5",{id:"declaration-10"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int receiveUnconnectedBytes\n")),(0,l.kt)("h4",{id:"receiveunconnectedcount"},"receiveUnconnectedCount"),(0,l.kt)("p",null,"Number of bytes received from unconnected addresses"),(0,l.kt)("h5",{id:"declaration-11"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int receiveUnconnectedCount\n")),(0,l.kt)("h4",{id:"sendmessagesunreliablecount"},"sendMessagesUnreliableCount"),(0,l.kt)("p",null,"Number of Unreliable message sent to connections"),(0,l.kt)("h5",{id:"declaration-12"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int sendMessagesUnreliableCount\n")),(0,l.kt)("h4",{id:"sendmessagesunreliablebytes"},"sendMessagesUnreliableBytes"),(0,l.kt)("p",null,"Number of Unreliable bytes sent to connections (excludes packets headers, will just be the message sent by high level)"),(0,l.kt)("h5",{id:"declaration-13"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int sendMessagesUnreliableBytes\n")),(0,l.kt)("h4",{id:"receivemessagesunreliablecount"},"receiveMessagesUnreliableCount"),(0,l.kt)("p",null,"Number of Unreliable message received from connections"),(0,l.kt)("h5",{id:"declaration-14"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int receiveMessagesUnreliableCount\n")),(0,l.kt)("h4",{id:"receivemessagesunreliablebytes"},"receiveMessagesUnreliableBytes"),(0,l.kt)("p",null,"Number of Unreliable bytes received from connections (excludes packets headers, will just be the message sent by high level)"),(0,l.kt)("h5",{id:"declaration-15"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int receiveMessagesUnreliableBytes\n")),(0,l.kt)("h4",{id:"sendmessagesreliablecount"},"sendMessagesReliableCount"),(0,l.kt)("p",null,"Number of Reliable message sent to connections"),(0,l.kt)("h5",{id:"declaration-16"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int sendMessagesReliableCount\n")),(0,l.kt)("h4",{id:"sendmessagesreliablebytes"},"sendMessagesReliableBytes"),(0,l.kt)("p",null,"Number of Reliable bytes sent to connections (excludes packets headers, will just be the message sent by high level)"),(0,l.kt)("h5",{id:"declaration-17"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int sendMessagesReliableBytes\n")),(0,l.kt)("h4",{id:"receivemessagesreliablecount"},"receiveMessagesReliableCount"),(0,l.kt)("p",null,"Number of Reliable message received from connections"),(0,l.kt)("h5",{id:"declaration-18"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int receiveMessagesReliableCount\n")),(0,l.kt)("h4",{id:"receivemessagesreliablebytes"},"receiveMessagesReliableBytes"),(0,l.kt)("p",null,"Number of Reliable bytes received from connections (excludes packets headers, will just be the message sent by high level)"),(0,l.kt)("h5",{id:"declaration-19"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int receiveMessagesReliableBytes\n")),(0,l.kt)("h4",{id:"sendmessagesnotifycount"},"sendMessagesNotifyCount"),(0,l.kt)("p",null,"Number of Notify message sent to connections"),(0,l.kt)("h5",{id:"declaration-20"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int sendMessagesNotifyCount\n")),(0,l.kt)("h4",{id:"sendmessagesnotifybytes"},"sendMessagesNotifyBytes"),(0,l.kt)("p",null,"Number of Notify bytes sent to connections (excludes packets headers, will just be the message sent by high level)"),(0,l.kt)("h5",{id:"declaration-21"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int sendMessagesNotifyBytes\n")),(0,l.kt)("h4",{id:"receivemessagesnotifycount"},"receiveMessagesNotifyCount"),(0,l.kt)("p",null,"Number of Notify message received from connections"),(0,l.kt)("h5",{id:"declaration-22"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int receiveMessagesNotifyCount\n")),(0,l.kt)("h4",{id:"receivemessagesnotifybytes"},"receiveMessagesNotifyBytes"),(0,l.kt)("p",null,"Number of Notify bytes received from connections (excludes packets headers, will just be the message sent by high level)"),(0,l.kt)("h5",{id:"declaration-23"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int receiveMessagesNotifyBytes\n")),(0,l.kt)("h3",{id:"properties"},"Properties"),(0,l.kt)("h4",{id:"sendmessagescounttotal"},"sendMessagesCountTotal"),(0,l.kt)("p",null,"Number of message sent to connections"),(0,l.kt)("h5",{id:"declaration-24"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int sendMessagesCountTotal { get; }\n")),(0,l.kt)("h4",{id:"sendmessagesbytestotal"},"sendMessagesBytesTotal"),(0,l.kt)("p",null,"Number of bytes sent to connections (excludes packets headers, will just be the message sent by high level)"),(0,l.kt)("h5",{id:"declaration-25"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int sendMessagesBytesTotal { get; }\n")),(0,l.kt)("h4",{id:"receivemessagescounttotal"},"receiveMessagesCountTotal"),(0,l.kt)("p",null,"Number of message received from connections"),(0,l.kt)("h5",{id:"declaration-26"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int receiveMessagesCountTotal { get; }\n")),(0,l.kt)("h4",{id:"receivemessagesbytestotal"},"receiveMessagesBytesTotal"),(0,l.kt)("p",null,"Number of bytes received from connections (excludes packets headers, will just be the message sent by high level)"),(0,l.kt)("h5",{id:"declaration-27"},"Declaration"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-cs"},"public int receiveMessagesBytesTotal { get; }\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fea0156e.413d7e7c.js b/assets/js/fea0156e.413d7e7c.js new file mode 100644 index 00000000000..3b283255229 --- /dev/null +++ b/assets/js/fea0156e.413d7e7c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[3610],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>d});var i=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function r(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e,t){if(null==e)return{};var n,i,a=function(e,t){if(null==e)return{};var n,i,a={},o=Object.keys(e);for(i=0;i<o.length;i++)n=o[i],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)n=o[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=i.createContext({}),c=function(e){var t=i.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},l=function(e){var t=c(e.components);return i.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},h=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,l=u(e,["components","mdxType","originalType","parentName"]),h=c(n),d=a,m=h["".concat(s,".").concat(d)]||h[d]||p[d]||o;return n?i.createElement(m,r(r({ref:t},l),{},{components:n})):i.createElement(m,r({ref:t},l))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,r=new Array(o);r[0]=h;var u={};for(var s in t)hasOwnProperty.call(t,s)&&(u[s]=t[s]);u.originalType=e,u.mdxType="string"==typeof e?e:a,r[1]=u;for(var c=2;c<o;c++)r[c]=n[c];return i.createElement.apply(null,r)}return i.createElement.apply(null,n)}h.displayName="MDXCreateElement"},80039:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>u,toc:()=>c});var i=n(87462),a=(n(67294),n(3905));const o={sidebar_position:1},r="Authentication",u={unversionedId:"guides/authentication/index",id:"guides/authentication/index",title:"Authentication",description:"Authentication is the process of verifying the validity and identity of a user. It allows you to control who can join your game and enables features like saving stats and communicating with friends. Mirage supports authentication through various common methods, which can be implemented using a custom authenticator. Some examples include:",source:"@site/docs/guides/authentication/index.md",sourceDirName:"guides/authentication",slug:"/guides/authentication/",permalink:"/Mirage/docs/guides/authentication/",draft:!1,editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/docs/guides/authentication/index.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"docs",previous:{title:"ZigZag Encode",permalink:"/Mirage/docs/guides/bit-packing/zig-zag-encode"},next:{title:"Authenticator Settings",permalink:"/Mirage/docs/guides/authentication/authenticator-settings"}},s={},c=[{value:"Built-in Authenticators",id:"built-in-authenticators",level:2},{value:"Encryption Notice",id:"encryption-notice",level:2},{value:"Authenticator Setup",id:"authenticator-setup",level:2}],l={toc:c};function p(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,i.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"authentication"},"Authentication"),(0,a.kt)("p",null,"Authentication is the process of verifying the validity and identity of a user. It allows you to control who can join your game and enables features like saving stats and communicating with friends. Mirage supports authentication through various common methods, which can be implemented using a custom authenticator. Some examples include:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Username and password"),(0,a.kt)("li",{parentName:"ul"},"Third-party OAuth2 or OpenID identity providers (e.g., Facebook, Twitter, Google)"),(0,a.kt)("li",{parentName:"ul"},"Third-party services like PlayFab, GameLift, or Steam"),(0,a.kt)("li",{parentName:"ul"},"Device ID (popular for mobile games)"),(0,a.kt)("li",{parentName:"ul"},"Google Play for Android"),(0,a.kt)("li",{parentName:"ul"},"Game Center for iOS"),(0,a.kt)("li",{parentName:"ul"},"Web service integration for websites")),(0,a.kt)("p",null,"Please note that these authentication methods can be implemented using a custom authenticator in Mirage. For detailed instructions on how to create a custom authenticator, please refer to the ",(0,a.kt)("a",{parentName:"p",href:"/Mirage/docs/guides/authentication/custom-authenticator"},"Custom Authenticator")," page."),(0,a.kt)("h2",{id:"built-in-authenticators"},"Built-in Authenticators"),(0,a.kt)("p",null,"Mirage provides two built-in authenticators that you can use out of the box. These authenticators offer a convenient way to handle common authentication scenarios:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("a",{parentName:"p",href:"/Mirage/docs/guides/authentication/basic-authenticator"},"Basic Authenticator"),": This authenticator uses a simple password to authenticate users. It is useful when you want to restrict access to your game to only those who know the password.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("a",{parentName:"p",href:"/Mirage/docs/guides/authentication/session-id"},"Session ID Authenticator"),": This authenticator leverages a session token provided by the server to automatically reconnect clients. It is suitable for cases where you want to enable seamless reconnection for players."))),(0,a.kt)("p",null,"For instructions on how to set up and use these built-in authenticators, please refer to their respective documentation pages."),(0,a.kt)("h2",{id:"encryption-notice"},"Encryption Notice"),(0,a.kt)("p",null,"By default, Mirage does not provide encryption. However, if you want to secure your authentication process, you can use the WebSocket or Relay transports, which support encryption. Please refer to the transport documentation for more information."),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Note:")," The default UDP transport does not support encryption."),(0,a.kt)("h2",{id:"authenticator-setup"},"Authenticator Setup"),(0,a.kt)("p",null,"To set up an authenticator, please refer to the ",(0,a.kt)("a",{parentName:"p",href:"/Mirage/docs/guides/authentication/authenticator-settings"},"Authenticator Settings")," page, which provides detailed instructions on configuring the authenticator for your game."),(0,a.kt)("p",null,"Now that you have a comprehensive understanding of authentication methods, you can choose the one that best fits your requirements. If none of the built-in methods suit your needs, you can create a custom authenticator following the guidelines provided in the ",(0,a.kt)("a",{parentName:"p",href:"/Mirage/docs/guides/authentication/custom-authenticator"},"Custom Authenticator")," page."),(0,a.kt)("p",null,"If you develop a robust and reusable authenticator, consider sharing it with the Mirage community or contributing it to the Mirage project."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ffdc071e.edbce625.js b/assets/js/ffdc071e.edbce625.js new file mode 100644 index 00000000000..6a2c4203a02 --- /dev/null +++ b/assets/js/ffdc071e.edbce625.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[1150],{15745:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/main.74015565.js b/assets/js/main.74015565.js new file mode 100644 index 00000000000..bb86e02035d --- /dev/null +++ b/assets/js/main.74015565.js @@ -0,0 +1,2 @@ +/*! For license information please see main.74015565.js.LICENSE.txt */ +(self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[]).push([[179],{723:(e,t,r)=>{"use strict";r.d(t,{Z:()=>p});var n=r(67294),a=r(87462),i=r(68356),o=r.n(i),c=r(16887);const s={"010b5e3f":[()=>r.e(5164).then(r.bind(r,96885)),"@site/docs/reference/Mirage/NetworkBehaviour.md",96885],"029678fa":[()=>r.e(8223).then(r.bind(r,73330)),"@site/docs/reference/Mirage.Authenticators.SessionId/RequestSessionMessage.md",73330],"0299007e":[()=>r.e(6184).then(r.bind(r,39146)),"@site/docs/reference/Mirage.RemoteCalls/RequestDelegate-1.md",39146],"02a78bc8":[()=>r.e(5971).then(r.bind(r,18565)),"@site/docs/reference/Mirage.Authentication/index.md",18565],"03f0e0a6":[()=>r.e(3520).then(r.bind(r,626)),"@site/docs/components/network-proximity-checker.md",626],"05d00909":[()=>r.e(3240).then(r.bind(r,44445)),"@site/docs/reference/Mirage.DisplayMetrics/index.md",44445],"05d3eaad":[()=>r.e(8601).then(r.bind(r,75037)),"@site/docs/reference/Mirage/RemoveAuthorityMessage.md",75037],"066f829e":[()=>r.e(2106).then(r.bind(r,26200)),"@site/docs/reference/Mirage.Events/NetworkPlayerEvent.md",26200],"06abcc68":[()=>r.e(3135).then(r.bind(r,20993)),"@site/docs/reference/Mirage/SyncPrefab.md",20993],"07828445":[()=>r.e(1199).then(r.bind(r,11676)),"@site/docs/reference/Mirage.Sockets.Udp/SocketLib.md",11676],"07989add":[()=>r.e(3966).then(r.bind(r,30396)),"@site/docs/reference/Mirage.Events/DisconnectEvent.md",30396],"085a1412":[()=>r.e(919).then(r.bind(r,56134)),"@site/docs/reference/Mirage/NetworkIdentitySerializers.md",56134],"09c46ec7":[()=>r.e(6036).then(r.bind(r,50294)),"@site/docs/reference/Mirage/FoldoutEventAttribute.md",50294],"0a5e7ba0":[()=>r.e(7471).then(r.bind(r,50586)),"@site/docs/reference/Mirage/SpawnHandlerAsyncDelegate.md",50586],"0aabcf88":[()=>r.e(4637).then(r.bind(r,13822)),"@site/docs/reference/Mirage/SceneOperation.md",13822],"0ba5344b":[()=>r.e(9667).then(r.bind(r,33124)),"@site/docs/guides/sync/sync-objects/sync-sorted-set.md",33124],"0bcf5065":[()=>r.e(8004).then(r.bind(r,61711)),"@site/docs/reference/Mirage/SyncHookType.md",61711],"0c8bc2eb":[()=>r.e(4150).then(r.bind(r,56204)),"@site/docs/components/network-match-checker.md",56204],"0cb67676":[()=>r.e(5614).then(r.bind(r,41290)),"@site/docs/reference/Mirage/SpawnMessage.md",41290],"0d17249a":[()=>r.e(1853).then(r.bind(r,36755)),"@site/docs/reference/Mirage/ServerObjectManager.md",36755],"0d72b43e":[()=>r.e(3722).then(r.bind(r,46878)),"@site/docs/reference/Mirage.SocketLayer/IDataHandler.md",46878],"0d8d80bc":[()=>r.e(9899).then(r.bind(r,7669)),"@site/docs/reference/Mirage/AddCharacterMessage.md",7669],"0db2af96":[()=>r.e(6855).then(r.bind(r,51916)),"@site/docs/reference/Mirage.Serialization/PooledNetworkWriter.md",51916],"0eb168b6":[()=>r.e(2359).then(r.bind(r,61403)),"@site/docs/reference/Mirage.Events/AddLateEventUnity-3.md",61403],"0f873b64":[()=>r.e(264).then(r.bind(r,89157)),"@site/docs/reference/Mirage.Serialization/PooledNetworkReader.md",89157],"0f978974":[()=>r.e(4591).then(r.bind(r,1656)),"@site/docs/reference/Mirage.Logging/LogSettingsSO.LoggerSettings.md",1656],"0fc532d3":[()=>r.e(9203).then(r.bind(r,45856)),"@site/docs/reference/Mirage.Serialization/AnglePacker.md",45856],"12f66dc8":[()=>r.e(1560).then(r.bind(r,96626)),"@site/docs/reference/Mirage.SocketLayer/AckSystem.md",96626],"13f63d09":[()=>r.e(3669).then(r.bind(r,34404)),"@site/docs/reference/Mirage/CharacterSpawner.PlayerSpawnMethod.md",34404],"141367b2":[()=>r.e(2090).then(r.bind(r,1482)),"@site/docs/reference/Mirage.Serialization/ZigZag.md",1482],"14209d49":[()=>r.e(6176).then(r.bind(r,89958)),"@site/docs/reference/Mirage.RemoteCalls/RpcWithReplyMessage.md",89958],"14eb3368":[()=>Promise.all([r.e(532),r.e(9817)]).then(r.bind(r,34228)),"@theme/DocCategoryGeneratedIndexPage",34228],"15b2e714":[()=>r.e(4069).then(r.bind(r,81244)),"@site/docs/reference/Mirage.Serialization/WeaverIgnoreAttribute.md",81244],17896441:[()=>Promise.all([r.e(532),r.e(7918)]).then(r.bind(r,37617)),"@theme/DocItem",37617],"17d429ab":[()=>r.e(9390).then(r.bind(r,15387)),"@site/docs/guides/serialization/advanced.md",15387],"18691bba":[()=>r.e(7706).then(r.bind(r,35646)),"@site/docs/reference/Mirage.RemoteCalls/RpcDelegate.md",35646],"18c381f9":[()=>r.e(6812).then(r.bind(r,88529)),"@site/docs/reference/Mirage/NetworkTransformChild.md",88529],"198a2045":[()=>r.e(7608).then(r.bind(r,55063)),"@site/docs/reference/Mirage.Collections/SyncList-1.md",55063],"1a180147":[()=>r.e(1183).then(r.bind(r,5625)),"@site/docs/guides/game-objects/spawn-object-custom.md",5625],"1a58ca7b":[()=>r.e(9261).then(r.bind(r,40039)),"@site/docs/reference/Mirage.SocketLayer/ITime.md",40039],"1abe0f94":[()=>r.e(9001).then(r.bind(r,82840)),"@site/docs/guides/clock-sync.md",82840],"1bacd51f":[()=>r.e(9027).then(r.bind(r,6199)),"@site/docs/reference/Mirage/Channel.md",6199],"1be78505":[()=>Promise.all([r.e(532),r.e(9514)]).then(r.bind(r,19963)),"@theme/DocPage",19963],"1c85ceac":[()=>r.e(9987).then(r.bind(r,29575)),"@site/docs/reference/Mirage.Events/AddLateEvent.md",29575],"1ca04d15":[()=>r.e(5783).then(r.bind(r,17906)),"@site/docs/reference/Mirage.Events/NetworkPlayerAddLateEvent.md",17906],"1cf2e72f":[()=>r.e(9189).then(r.bind(r,40578)),"@site/docs/reference/Mirage.SocketLayer/Batch.md",40578],"1d0defc3":[()=>r.e(3379).then(r.bind(r,78338)),"@site/docs/reference/Mirage.Sockets.Udp/UdpSocket.md",78338],"1d99eae8":[()=>r.e(9895).then(r.bind(r,63174)),"@site/docs/reference/Mirage/ConnectState.md",63174],"1e25fb88":[()=>r.e(742).then(r.bind(r,98154)),"@site/docs/reference/Mirage.RemoteCalls/RpcReply.md",98154],"1e95c04c":[()=>r.e(6004).then(r.bind(r,15583)),"@site/docs/reference/Mirage/SyncTiming.md",15583],"1f36a51e":[()=>r.e(5849).then(r.bind(r,35532)),"@site/docs/reference/Mirage/INetworkVisibility.md",35532],"1fa3a74b":[()=>r.e(6377).then(r.bind(r,15050)),"@site/docs/reference/Mirage.Authenticators.SessionId/SessionKeyMessage.md",15050],"1fab70f8":[()=>r.e(7581).then(r.bind(r,37887)),"@site/docs/reference/Mirage/NetworkBehaviour.Id.md",37887],"216e5825":[()=>r.e(1747).then(r.bind(r,4721)),"@site/docs/reference/Mirage/IMessageSender.md",4721],"22a4596f":[()=>r.e(7402).then(r.bind(r,50781)),"@site/docs/guides/authentication/session-id.md",50781],23431363:[()=>r.e(5712).then(r.bind(r,63214)),"@site/docs/examples/pong.md",63214],"23d11a1d":[()=>r.e(2543).then(r.bind(r,83515)),"@site/docs/reference/Mirage.Serialization/Vector3PackAttribute.md",83515],"2429903c":[()=>r.e(3617).then(r.bind(r,23465)),"@site/docs/reference/Mirage.SocketLayer/ConnectionExtensions.md",23465],"25762df2":[()=>r.e(4777).then(r.bind(r,14833)),"@site/docs/guides/sync/code-generation.md",14833],"27e7b85b":[()=>r.e(9307).then(r.bind(r,32973)),"@site/docs/reference/Mirage.Authentication/AuthSuccessMessage.md",32973],"2853af5a":[()=>r.e(1444).then(r.bind(r,7058)),"@site/docs/reference/Mirage/ServerAttribute.md",7058],"287acd0d":[()=>r.e(6084).then(r.bind(r,88633)),"@site/docs/components/network-ping-display.md",88633],"2916e125":[()=>r.e(4781).then(r.bind(r,6499)),"@site/docs/reference/Mirage.Serialization/BitMask.md",6499],"297406a3":[()=>r.e(238).then(r.bind(r,57592)),"@site/docs/reference/Mirage.Authenticators/index.md",57592],"2af1b032":[()=>r.e(3492).then(r.bind(r,24595)),"@site/docs/general/getting-started.md",24595],"2b92dd73":[()=>r.e(2289).then(r.bind(r,14132)),"@site/docs/reference/Mirage.Sockets.Udp/UdpSocketFactory.md",14132],"2c5fc0c1":[()=>r.e(4658).then(r.bind(r,26094)),"@site/docs/reference/Mirage.SocketLayer/AckSystem.ReliableReceived.md",26094],"2c840ae3":[()=>r.e(4764).then(r.bind(r,72240)),"@site/docs/examples/room.md",72240],"2ccd3a42":[()=>r.e(351).then(r.bind(r,75638)),"@site/docs/reference/Mirage/NetworkIdentity.md",75638],"2cf67689":[()=>r.e(9620).then(r.bind(r,80228)),"@site/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItem.md",80228],"2f0154d3":[()=>r.e(2880).then(r.bind(r,67361)),"@site/docs/reference/Mirage/NetworkPingDisplay.md",67361],"302e48e3":[()=>r.e(6468).then(r.bind(r,31345)),"@site/docs/reference/Mirage.Serialization/WeaverSerializeCollectionAttribute.md",31345],"304a0d1e":[()=>r.e(5101).then(r.bind(r,36591)),"@site/docs/reference/Mirage/NetworkBehaviorSerializers.md",36591],"30f32373":[()=>r.e(3802).then(r.bind(r,27364)),"@site/docs/guides/development-servers/google-cloud.md",27364],"323840ef":[()=>r.e(5159).then(r.bind(r,19892)),"@site/docs/reference/Mirage/SpawnHandler.md",19892],"32aad382":[()=>r.e(7218).then(r.bind(r,98912)),"@site/docs/reference/Mirage.Serialization/BitCountAttribute.md",98912],"3394a2aa":[()=>r.e(6001).then(r.bind(r,80502)),"@site/docs/reference/Mirage.Serialization/MessageIdCache-1.md",80502],"33ee75c3":[()=>r.e(7193).then(r.bind(r,3389)),"@site/docs/reference/Mirage/IObjectLocator.md",3389],"34280bbd":[()=>r.e(1540).then(r.bind(r,79865)),"@site/docs/reference/Mirage/PipePeerConnection.md",79865],"34ea7f48":[()=>r.e(4321).then(r.bind(r,65527)),"@site/docs/reference/Mirage/NetworkPongMessage.md",65527],"3510ba8e":[()=>r.e(8273).then(r.bind(r,86182)),"@site/docs/reference/Mirage.Sockets.Udp/NanoEndPoint.md",86182],"3546aac4":[()=>r.e(3811).then(r.bind(r,2219)),"@site/docs/guides/mirror-migration.md",2219],"359db5b7":[()=>r.e(5138).then(r.bind(r,99011)),"@site/docs/reference/Mirage/NetworkBehaviorSyncvar-1.md",99011],"36f4e2eb":[()=>r.e(7576).then(r.bind(r,15760)),"@site/docs/reference/Mirage.Authenticators.SessionId/ISessionIdStore.md",15760],"371e843a":[()=>r.e(1768).then(r.bind(r,79741)),"@site/docs/reference/Mirage/IVisibilityTracker.md",79741],"372e0d8a":[()=>r.e(1601).then(r.bind(r,50860)),"@site/docs/reference/Mirage/NetworkProximityChecker.md",50860],"373cb441":[()=>Promise.all([r.e(8624),r.e(9597)]).then(r.bind(r,20426)),"@site/docs/general/overview.md",20426],"379fad4b":[()=>r.e(311).then(r.bind(r,84792)),"@site/docs/reference/Mirage.Authentication/AuthMessage.md",84792],"38134b8b":[()=>r.e(726).then(r.bind(r,95945)),"@site/docs/guides/bit-packing/var-int.md",95945],"384f4959":[()=>r.e(3515).then(r.bind(r,68587)),"@site/docs/reference/Mirage.SocketLayer/Pool-1.md",68587],"3897ec4d":[()=>r.e(9079).then(r.bind(r,10428)),"@site/docs/reference/Mirage.Events/BoolUnityEvent.md",10428],"38c61e2e":[()=>r.e(1720).then(r.bind(r,16e3)),"@site/docs/reference/Mirage/SyncTo.md",16e3],"390bfbee":[()=>r.e(9145).then(r.bind(r,61414)),"@site/docs/reference/Mirage.Collections/SyncSet-1.md",61414],"3cd512ef":[()=>r.e(5900).then(r.bind(r,61748)),"@site/docs/reference/Mirage/MessageDelegateAsync-1.md",61748],"3d4a9cc3":[()=>r.e(3381).then(r.bind(r,98211)),"@site/docs/reference/Mirage/NetworkWorldExtensions.md",98211],"3dc557df":[()=>r.e(392).then(r.bind(r,8963)),"@site/docs/guides/sync/sync-objects/sync-list.md",8963],"3e696d9c":[()=>r.e(6504).then(r.bind(r,23870)),"@site/docs/reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui.md",23870],"3e6e00cc":[()=>r.e(4426).then(r.bind(r,90285)),"@site/docs/guides/authentication/custom-authenticator.md",90285],"3f72e647":[()=>r.e(2501).then(r.bind(r,32386)),"@site/docs/guides/bit-packing/bit-count.md",32386],"3ffe27c8":[()=>r.e(6680).then(r.bind(r,81084)),"@site/docs/reference/Mirage/INetworkPlayer.md",81084],"4105dd5f":[()=>r.e(3526).then(r.bind(r,51488)),"@site/docs/reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator.md",51488],"4165009c":[()=>r.e(2477).then(r.bind(r,58383)),"@site/docs/reference/Mirage.Serialization/index.md",58383],"45fa5813":[()=>r.e(5645).then(r.bind(r,82688)),"@site/docs/reference/Mirage/SpawnObjectException.md",82688],"466aa417":[()=>r.e(2019).then(r.bind(r,59268)),"@site/docs/reference/Mirage.Sockets.Udp/InitUDP.md",59268],"46f8bbcb":[()=>r.e(9660).then(r.bind(r,99578)),"@site/docs/reference/Mirage.Collections/index.md",99578],"472d413f":[()=>r.e(6393).then(r.bind(r,57162)),"@site/docs/examples/additive-scenes.md",57162],"4786a1d5":[()=>r.e(5505).then(r.bind(r,92265)),"@site/docs/reference/Mirage.Authentication/AuthenticationResult.md",92265],"484ab952":[()=>r.e(578).then(r.bind(r,69554)),"@site/docs/reference/Mirage/NetworkServer.md",69554],"486616e9":[()=>r.e(5918).then(r.bind(r,95136)),"@site/docs/reference/Mirage/SceneNotReadyMessage.md",95136],"487e1727":[()=>r.e(125).then(r.bind(r,31725)),"@site/docs/reference/Mirage/CharacterSpawner.md",31725],"489985f3":[()=>r.e(7999).then(r.bind(r,75278)),"@site/docs/reference/Mirage.Events/IAddLateEvent.md",75278],"489b016d":[()=>r.e(6076).then(r.bind(r,36666)),"@site/docs/examples/multiple-additive-scenes.md",36666],"48dff082":[()=>r.e(7113).then(r.bind(r,16205)),"@site/docs/components/network-room-manager.md",16205],"4951f167":[()=>r.e(8402).then(r.bind(r,43034)),"@site/docs/reference/Mirage.SocketLayer/RejectReason.md",43034],"49d278e3":[()=>r.e(6526).then(r.bind(r,17432)),"@site/docs/reference/Mirage/SyncActiveOption.md",17432],"4ae64b88":[()=>r.e(2457).then(r.bind(r,28661)),"@site/docs/reference/Mirage.Serialization/NetworkReaderPool.md",28661],"4afae106":[()=>r.e(808).then(r.bind(r,17699)),"@site/docs/reference/Mirage.Serialization/QuaternionPackAttribute.md",17699],"4b7e9577":[()=>r.e(9304).then(r.bind(r,87438)),"@site/docs/components/network-scene-checker.md",87438],"4c176dcf":[()=>r.e(2646).then(r.bind(r,62783)),"@site/docs/components/network-transform-child.md",62783],"4c6e10d8":[()=>r.e(8682).then(r.bind(r,32017)),"@site/docs/reference/Mirage/ServerObjectManagerExtensions.md",32017],"4cbf0de8":[()=>r.e(2611).then(r.bind(r,40357)),"@site/docs/guides/sync/sync-objects/sync-dictionary.md",40357],"4eb4e893":[()=>r.e(6210).then(r.bind(r,85486)),"@site/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount.md",85486],"4ede7c35":[()=>r.e(2133).then(r.bind(r,8544)),"@site/docs/reference/Mirage.Serialization/SystemTypesExtensions.md",8544],"4f119fdf":[()=>r.e(5049).then(r.bind(r,6596)),"@site/docs/reference/Mirage/HostRendererVisibility.md",6596],"4f685a05":[()=>r.e(600).then(r.bind(r,43111)),"@site/docs/reference/Mirage.Serialization/VarIntBlocksAttribute.md",43111],"501b4be3":[()=>r.e(5666).then(r.bind(r,14915)),"@site/docs/reference/Mirage/Version.md",14915],"50a667f7":[()=>r.e(4328).then(r.bind(r,2866)),"@site/docs/reference/Mirage.Serialization/FromBitCount.md",2866],"50e1459e":[()=>r.e(8030).then(r.bind(r,62117)),"@site/docs/reference/Mirage.Serialization/PackedExtensions.md",62117],"515794c4":[()=>r.e(3303).then(r.bind(r,27517)),"@site/docs/guides/bit-packing/bit-count-from-range.md",27517],"516f6285":[()=>r.e(2187).then(r.bind(r,68283)),"@site/docs/reference/Mirage/MessageWaiter-1.md",68283],"51771b94":[()=>r.e(5323).then(r.bind(r,26687)),"@site/docs/reference/Mirage.SocketLayer/IConnection.md",26687],"520eaf41":[()=>r.e(3503).then(r.bind(r,44987)),"@site/docs/reference/Mirage.Collections/SyncList-1.Enumerator.md",44987],"54089b9c":[()=>r.e(4077).then(r.bind(r,89676)),"@site/docs/reference/Mirage.SocketLayer/Commands.md",89676],"54287c76":[()=>r.e(3505).then(r.bind(r,89656)),"@site/docs/reference/Mirage.Events/AddLateEventBase.md",89656],"54e8ff0e":[()=>r.e(265).then(r.bind(r,60791)),"@site/docs/guides/scene-loading/manual-scene-loading.md",60791],"5517ca4e":[()=>r.e(852).then(r.bind(r,57387)),"@site/docs/reference/Mirage.SocketLayer/AutoCompleteToken.md",57387],"55d87c72":[()=>r.e(585).then(r.bind(r,94140)),"@site/docs/reference/Mirage/ClientAttribute.md",94140],"5655c588":[()=>r.e(2760).then(r.bind(r,89133)),"@site/docs/components/network-manager-hud.md",89133],"56708a24":[()=>r.e(614).then(r.bind(r,19744)),"@site/docs/reference/Mirage/SyncPrefabSerialize.md",19744],"58175e84":[()=>r.e(7605).then(r.bind(r,92242)),"@site/docs/reference/Mirage.Events/IAddLateEventUnity.md",92242],"5ac746a2":[()=>r.e(990).then(r.bind(r,21018)),"@site/docs/reference/Mirage.Sockets.Udp/EndPointWrapper.md",21018],"5ad9c4e4":[()=>r.e(9805).then(r.bind(r,48973)),"@site/docs/reference/Mirage.Serialization/ZigZagEncodeAttribute.md",48973],"5b79b0ab":[()=>r.e(9246).then(r.t.bind(r,86601,19)),"~docs/default/category-miragedocs-docs-category-guides-fe1.json",86601],"5cfd5e85":[()=>r.e(853).then(r.bind(r,56083)),"@site/docs/guides/authentication/authenticator-settings.md",56083],"5d2441e2":[()=>r.e(1568).then(r.bind(r,85364)),"@site/docs/guides/serialization/data-types.md",85364],"5d3b1bc5":[()=>r.e(8088).then(r.bind(r,8548)),"@site/docs/components/network-animator.md",8548],"5d411712":[()=>r.e(4953).then(r.bind(r,216)),"@site/docs/guides/callbacks/index.md",216],"5d5c952f":[()=>r.e(2025).then(r.bind(r,15004)),"@site/docs/reference/Mirage.Components/index.md",15004],"5df522bb":[()=>r.e(907).then(r.bind(r,79660)),"@site/docs/guides/bit-packing/zig-zag-encode.md",79660],"5e9f5e1a":[()=>Promise.resolve().then(r.bind(r,36809)),"@generated/docusaurus.config",36809],"5f86f892":[()=>r.e(9783).then(r.bind(r,23989)),"@site/docs/components/network-log-settings.md",23989],"5faa7d70":[()=>r.e(3067).then(r.bind(r,24688)),"@site/docs/reference/Mirage/HeadlessAutoStart.md",24688],"6167d028":[()=>r.e(22).then(r.bind(r,86255)),"@site/docs/guides/callbacks/network-behaviour.md",86255],"61845e4c":[()=>r.e(9545).then(r.bind(r,46218)),"@site/docs/reference/Mirage/HasAuthorityAttribute.md",46218],"61be958e":[()=>r.e(701).then(r.bind(r,89213)),"@site/docs/guides/serialization/index.md",89213],"61c6cc01":[()=>r.e(1112).then(r.bind(r,63677)),"@site/docs/reference/Mirage.Events/index.md",63677],"62cec94c":[()=>r.e(3486).then(r.bind(r,19869)),"@site/docs/reference/Mirage.Serialization/NetworkReader.md",19869],"63e9b7e2":[()=>r.e(9834).then(r.bind(r,31152)),"@site/docs/general/support.md",31152],"6422d8fd":[()=>r.e(2104).then(r.bind(r,38471)),"@site/docs/reference/Mirage.Components/SyncObjectActive.md",38471],"6494cf5c":[()=>r.e(2942).then(r.bind(r,50112)),"@site/docs/reference/Mirage/NetworkIdentitySyncvar.md",50112],"65bb50ec":[()=>r.e(5077).then(r.bind(r,31147)),"@site/docs/reference/Mirage.Serialization/NetworkWriterPool.md",31147],"6667a3ca":[()=>r.e(6312).then(r.bind(r,9675)),"@site/docs/reference/Mirage/SyncVarAttribute.md",9675],"66a8e7cc":[()=>r.e(4431).then(r.bind(r,13865)),"@site/docs/reference/Mirage/NetworkVisibility.VisibilityChanged.md",13865],"66e916c3":[()=>r.e(9384).then(r.bind(r,62945)),"@site/docs/guides/authentication/basic-authenticator.md",62945],67576404:[()=>r.e(6358).then(r.bind(r,18346)),"@site/docs/reference/Mirage.DisplayMetrics/SetDisplayMetrics.md",18346],"677a0949":[()=>r.e(3138).then(r.bind(r,28240)),"@site/docs/reference/Mirage/NetworkMatchChecker.md",28240],"67ec8c3a":[()=>r.e(5450).then(r.bind(r,91682)),"@site/docs/reference/Mirage/MethodInvocationException.md",91682],"68238c31":[()=>r.e(6384).then(r.bind(r,39630)),"@site/docs/reference/Mirage/NetworkManagerHud.md",39630],"68bc1568":[()=>r.e(7772).then(r.bind(r,91498)),"@site/docs/reference/Mirage.SocketLayer/IHasAddress.md",91498],"68f10ba5":[()=>r.e(7091).then(r.bind(r,63062)),"@site/docs/reference/Mirage/NetworkMethodAttribute.md",63062],"693f6e2a":[()=>r.e(7838).then(r.bind(r,57046)),"@site/docs/reference/Mirage/ReadOnlyInspectorAttribute.md",57046],"69abed1f":[()=>r.e(9069).then(r.bind(r,40939)),"@site/docs/reference/Mirage.Authentication/IAuthenticationDataWrapper.md",40939],"69c2102a":[()=>r.e(56).then(r.bind(r,9584)),"@site/docs/reference/Mirage.RemoteCalls/ServerRpcSender.md",9584],"69c4e507":[()=>r.e(9593).then(r.bind(r,73634)),"@site/docs/reference/Mirage.SocketLayer/Peer.md",73634],"6a31f070":[()=>r.e(2653).then(r.bind(r,27121)),"@site/docs/reference/Mirage/NetworkTransform.md",27121],"6a7e5168":[()=>r.e(7061).then(r.bind(r,96749)),"@site/docs/reference/Mirage.RemoteCalls/RpcInvokeType.md",96749],"6a86f672":[()=>r.e(2474).then(r.bind(r,98003)),"@site/docs/reference/Mirage.SocketLayer/RingBuffer-1.md",98003],"6ac045de":[()=>r.e(5832).then(r.bind(r,56589)),"@site/docs/guides/bit-packing/quaternion-pack.md",56589],"6aef5635":[()=>r.e(5646).then(r.bind(r,35412)),"@site/docs/reference/Mirage/NetworkSpawnSettings.md",35412],"6af88fca":[()=>r.e(6442).then(r.bind(r,54268)),"@site/docs/reference/Mirage/OnlineOfflineScene.md",54268],"6ee977c8":[()=>r.e(3828).then(r.bind(r,29174)),"@site/docs/guides/resources.md",29174],"6f3edcc1":[()=>r.e(4697).then(r.bind(r,73053)),"@site/docs/reference/Mirage/NetworkVisibility.md",73053],"7034e9cc":[()=>r.e(2214).then(r.bind(r,94397)),"@site/docs/reference/Mirage/ClientRpcAttribute.md",94397],"710d0f2c":[()=>r.e(2797).then(r.bind(r,4453)),"@site/docs/reference/Mirage.Collections/SyncHashSet-1.md",4453],"71202e15":[()=>r.e(1349).then(r.bind(r,42922)),"@site/docs/reference/Mirage.Logging/LogSettingsSO.md",42922],"716eb1ca":[()=>r.e(206).then(r.bind(r,58350)),"@site/docs/reference/Mirage.Serialization/VarDoublePacker.md",58350],"7206d972":[()=>r.e(2476).then(r.bind(r,87065)),"@site/docs/reference/Mirage.Events/IAddLateEventUnity-2.md",87065],"72932dd9":[()=>r.e(8894).then(r.bind(r,85143)),"@site/docs/reference/Mirage.Logging/LogFactory.md",85143],"72fa76fe":[()=>r.e(7718).then(r.bind(r,52869)),"@site/docs/guides/sync/sync-objects/sync-hash-set.md",52869],73859643:[()=>r.e(2445).then(r.bind(r,37007)),"@site/docs/reference/Mirage.Events/IAddLateEvent-1.md",37007],"745a6df1":[()=>r.e(9775).then(r.bind(r,14578)),"@site/docs/guides/community-guides/index.md",14578],"7600f836":[()=>r.e(8052).then(r.bind(r,41621)),"@site/docs/guides/callbacks/network-manager.md",41621],"767d4d3d":[()=>r.e(2753).then(r.bind(r,21732)),"@site/docs/reference/Mirage.Logging/ILoggerExtensions.md",21732],78549414:[()=>r.e(7035).then(r.bind(r,88009)),"@site/docs/guides/remote-actions/client-rpc.md",88009],"78c45894":[()=>r.e(4434).then(r.bind(r,20956)),"@site/docs/reference/Mirage.Logging/MirageLogHandler.md",20956],"79637c4d":[()=>r.e(927).then(r.bind(r,25417)),"@site/docs/reference/Mirage/LocalPlayerAttribute.md",25417],"7a207e95":[()=>r.e(746).then(r.bind(r,79422)),"@site/docs/reference/Mirage.SocketLayer/SocketFactory.md",79422],"7bfe96f1":[()=>r.e(231).then(r.bind(r,70495)),"@site/docs/reference/Mirage/SceneReadyMessage.md",70495],"7c99c0f6":[()=>r.e(4582).then(r.bind(r,32352)),"@site/docs/reference/Mirage.Sockets.Udp/NanoSocket.md",32352],"809497a5":[()=>r.e(3345).then(r.bind(r,67962)),"@site/docs/guides/serialization/sync-prefab.md",67962],"81f459f9":[()=>r.e(8794).then(r.bind(r,10895)),"@site/docs/reference/Mirage/NetworkAnimator.md",10895],"81fcd85f":[()=>r.e(9418).then(r.bind(r,61103)),"@site/docs/reference/Mirage.Serialization/FloatPacker.md",61103],"821bca10":[()=>r.e(7366).then(r.bind(r,66327)),"@site/docs/reference/Mirage/NetworkBehaviorSyncvar.md",66327],"8230aa30":[()=>r.e(8848).then(r.bind(r,28010)),"@site/docs/reference/Mirage/HeadlessFrameLimiter.md",28010],"824aed02":[()=>r.e(7674).then(r.bind(r,76557)),"@site/docs/guides/community-guides/mirage-quick-start-guide.md",76557],"83650baf":[()=>r.e(8564).then(r.bind(r,9132)),"@site/docs/reference/Mirage.SocketLayer/INotifyCallBack.md",9132],"842d10b8":[()=>r.e(4218).then(r.bind(r,880)),"@site/docs/guides/network-visibility.md",880],"84df7614":[()=>r.e(1481).then(r.bind(r,29734)),"@site/docs/reference/Mirage.DisplayMetrics/RequestServerMetrics.md",29734],"85064cd5":[()=>r.e(7153).then(r.bind(r,41206)),"@site/docs/reference/Mirage.SocketLayer/IEndPoint.md",41206],"8512b363":[()=>r.e(129).then(r.bind(r,17158)),"@site/docs/reference/Mirage.Logging/MirageLogHandler.TimePrefix.md",17158],"851c38ea":[()=>r.e(9847).then(r.bind(r,92552)),"@site/docs/reference/Mirage/NetworkTransformBase.DataPoint.md",92552],"854783ac":[()=>r.e(6007).then(r.bind(r,84721)),"@site/docs/guides/game-objects/index.md",84721],"8663f307":[()=>r.e(4939).then(r.bind(r,83677)),"@site/docs/reference/Mirage.Sockets.Udp/index.md",83677],"866d302e":[()=>r.e(2855).then(r.bind(r,70712)),"@site/docs/reference/Mirage.Serialization/MessagePacker.md",70712],"86943c9d":[()=>r.e(4698).then(r.bind(r,27753)),"@site/docs/reference/Mirage/RpcTarget.md",27753],"88132b57":[()=>r.e(4076).then(r.bind(r,19719)),"@site/docs/guides/remote-actions/network-messages.md",19719],"884605ab":[()=>r.e(6714).then(r.bind(r,36537)),"@site/docs/reference/Mirage.Serialization/GenericTypesSerializationExtensions.md",36537],"888e8919":[()=>r.e(7228).then(r.bind(r,69643)),"@site/docs/reference/Mirage.SocketLayer/Metrics.md",69643],"88eadf9d":[()=>r.e(7459).then(r.bind(r,67984)),"@site/docs/components/network-identity.md",67984],"89bce9de":[()=>r.e(4201).then(r.bind(r,83609)),"@site/docs/reference/Mirage/NetworkSceneManager.md",83609],"8a1d5087":[()=>r.e(817).then(r.bind(r,47395)),"@site/docs/reference/Mirage.SocketLayer/ReliableBatch.md",47395],"8a37668a":[()=>r.e(8442).then(r.bind(r,51732)),"@site/docs/reference/Mirage/SyncFrom.md",51732],"8adcb82a":[()=>r.e(3421).then(r.bind(r,11504)),"@site/docs/guides/game-objects/spawn-object.md",11504],"8b61a806":[()=>r.e(4989).then(r.bind(r,34385)),"@site/docs/reference/Mirage.Components/LobbyReady.md",34385],"8bcc25e3":[()=>r.e(5745).then(r.bind(r,25713)),"@site/docs/reference/Mirage.SocketLayer/Sequencer.md",25713],"8c2257c1":[()=>r.e(8268).then(r.bind(r,47423)),"@site/docs/reference/Mirage.Serialization/WeaverWriteAsGenericAttribute.md",47423],"8c338613":[()=>r.e(6952).then(r.bind(r,17263)),"@site/docs/reference/Mirage.Authentication/NetworkAuthenticator.md",17263],"8cf8a272":[()=>r.e(6899).then(r.bind(r,99212)),"@site/docs/reference/Mirage.Serialization/Writer-1.md",99212],"8d036df7":[()=>r.e(9666).then(r.bind(r,53934)),"@site/docs/reference/Mirage.RemoteCalls/ClientRpcSender.md",53934],"8dcc4ea6":[()=>r.e(8002).then(r.bind(r,59224)),"@site/docs/components/network-room-player.md",59224],"8e6c0a40":[()=>r.e(5195).then(r.bind(r,5570)),"@site/docs/guides/sync/index.md",5570],"8ef8a6f4":[()=>r.e(6357).then(r.bind(r,9024)),"@site/docs/reference/Mirage.Logging/LogSettings.md",9024],"8f75e97d":[()=>r.e(3559).then(r.bind(r,6977)),"@site/docs/reference/Mirage/NetworkedPrefabAttribute.md",6977],"917b243f":[()=>r.e(4276).then(r.bind(r,54767)),"@site/docs/reference/Mirage.Visibility/AlwaysNetworkVisibility.md",54767],91848592:[()=>r.e(431).then(r.bind(r,69412)),"@site/docs/reference/Mirage/NetworkMessageAttribute.md",69412],"91995dc1":[()=>r.e(5717).then(r.bind(r,10677)),"@site/docs/reference/Mirage.Serialization/Vector3Packer.md",10677],"922c6cfd":[()=>r.e(670).then(r.bind(r,91820)),"@site/docs/reference/Mirage.Sockets.Udp/NanoSocketException.md",91820],"92b7d40b":[()=>r.e(6669).then(r.bind(r,65882)),"@site/docs/examples/tanks.md",65882],"935f2afb":[()=>r.e(53).then(r.t.bind(r,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9374470d":[()=>r.e(6539).then(r.bind(r,60997)),"@site/docs/reference/Mirage.SocketLayer/IHasPort.md",60997],"945dafc1":[()=>r.e(6804).then(r.bind(r,96480)),"@site/docs/reference/Mirage/NetworkManagerGUI.md",96480],"95800a96":[()=>r.e(2246).then(r.bind(r,98198)),"@site/docs/guides/game-objects/pickup-drop-child.md",98198],"95cbe481":[()=>r.e(5546).then(r.bind(r,18422)),"@site/docs/reference/Mirage.Authenticators/BasicAuthenticator.md",18422],"95d6d710":[()=>r.e(765).then(r.bind(r,77131)),"@site/docs/reference/Mirage.Logging/MirageLogHandler.Settings.md",77131],"9654b5f5":[()=>r.e(8793).then(r.bind(r,15509)),"@site/docs/guides/faq.md",15509],"983360fd":[()=>r.e(9343).then(r.bind(r,99146)),"@site/docs/reference/Mirage/NetworkDiagnostics.MessageInfo.md",99146],"98576e8e":[()=>r.e(5004).then(r.bind(r,16324)),"@site/docs/reference/Mirage/ObjectDestroyMessage.md",16324],"98df3658":[()=>r.e(834).then(r.bind(r,46963)),"@site/docs/reference/Mirage.RemoteCalls/RemoteCallCollection.md",46963],"99773e67":[()=>r.e(8567).then(r.bind(r,96841)),"@site/docs/reference/Mirage/SyncVarSender.md",96841],"9ae3d5a3":[()=>r.e(80).then(r.bind(r,65704)),"@site/docs/reference/Mirage/ISceneLoader.md",65704],"9ba34e8e":[()=>r.e(976).then(r.bind(r,38064)),"@site/docs/reference/Mirage.Serialization/Reader-1.md",38064],"9d2800ec":[()=>r.e(5682).then(r.bind(r,77094)),"@site/docs/reference/Mirage.Authentication/AuthenticatorSettings.md",77094],"9ea10303":[()=>r.e(9078).then(r.bind(r,15824)),"@site/docs/reference/Mirage.SocketLayer/Config.md",15824],"9ed85156":[()=>r.e(2643).then(r.bind(r,8089)),"@site/docs/reference/Mirage.SocketLayer/IPeer.md",8089],"9eeea845":[()=>r.e(7285).then(r.t.bind(r,45197,19)),"~docs/default/category-miragedocs-docs-category-components-281.json",45197],a0266dc1:[()=>r.e(4915).then(r.bind(r,77356)),"@site/docs/reference/Mirage.SocketLayer/index.md",77356],a05b3eb9:[()=>r.e(4430).then(r.bind(r,28082)),"@site/docs/reference/Mirage.Serialization/VarIntAttribute.md",28082],a0badf39:[()=>r.e(5968).then(r.bind(r,45841)),"@site/docs/guides/remote-actions/index.md",45841],a0e32dbc:[()=>r.e(7703).then(r.bind(r,72603)),"@site/docs/guides/bit-packing/var-int-blocks.md",72603],a1546f52:[()=>r.e(4716).then(r.bind(r,81793)),"@site/docs/guides/bit-packing/index.md",81793],a1b6e57c:[()=>r.e(8742).then(r.bind(r,97074)),"@site/docs/reference/Mirage/NetworkWorld.md",97074],a2738a55:[()=>r.e(3754).then(r.bind(r,24105)),"@site/docs/guides/best-practices.md",24105],a2c8fbc9:[()=>r.e(2803).then(r.bind(r,6370)),"@site/docs/guides/sync/sync-settings.md",6370],a3d1556d:[()=>r.e(3372).then(r.bind(r,10165)),"@site/docs/reference/Mirage/UpdateVarsMessage.md",10165],a461f4c5:[()=>r.e(5502).then(r.bind(r,2028)),"@site/docs/reference/Mirage.RemoteCalls/RpcMessage.md",2028],a4847e6d:[()=>r.e(4638).then(r.bind(r,24963)),"@site/docs/guides/development-servers/index.md",24963],a4d488d5:[()=>r.e(1883).then(r.bind(r,5402)),"@site/docs/reference/Mirage/SyncVarReceiver.md",5402],a52a3c1b:[()=>r.e(6882).then(r.bind(r,63662)),"@site/docs/reference/Mirage/DeserializeFailedException.md",63662],a5f54a07:[()=>r.e(9180).then(r.bind(r,44881)),"@site/docs/reference/Mirage.SocketLayer/ConnectionState.md",44881],a6c75258:[()=>r.e(7312).then(r.bind(r,64685)),"@site/docs/guides/sync/sync-var.md",64685],a792b1a9:[()=>r.e(9461).then(r.bind(r,74723)),"@site/docs/reference/Mirage/SceneMessage.md",74723],a7f7e7d2:[()=>r.e(8066).then(r.bind(r,73571)),"@site/docs/reference/Mirage.SocketLayer/ISocket.md",73571],a88632d6:[()=>r.e(4644).then(r.bind(r,63644)),"@site/docs/reference/Mirage.Events/DisconnectAddLateEvent.md",63644],a8c3cfa6:[()=>r.e(7944).then(r.bind(r,2591)),"@site/docs/reference/Mirage/UnSpawnDelegate.md",2591],aad520d2:[()=>r.e(3195).then(r.bind(r,74544)),"@site/docs/reference/Mirage/ExponentialMovingAverage.md",74544],ab7438d5:[()=>r.e(3340).then(r.bind(r,14838)),"@site/docs/guides/scene-loading/index.md",14838],abc915fa:[()=>r.e(3450).then(r.bind(r,44657)),"@site/docs/reference/Mirage.Events/AddLateEvent-2.md",44657],ac796a7f:[()=>r.e(236).then(r.bind(r,18088)),"@site/docs/guides/sync/sync-var-hooks.md",18088],ace394d2:[()=>r.e(4241).then(r.bind(r,70324)),"@site/docs/reference/Mirage/GameObjectExtensions.md",70324],ae89d117:[()=>r.e(4624).then(r.bind(r,42934)),"@site/docs/reference/Mirage/NetworkTime.md",42934],aeb157ae:[()=>r.e(1848).then(r.bind(r,8133)),"@site/docs/reference/Mirage.SocketLayer/ByteUtils.md",8133],aec765fc:[()=>r.e(8405).then(r.bind(r,68144)),"@site/docs/general/showcase.md",68144],b0440449:[()=>r.e(348).then(r.bind(r,32091)),"@site/docs/reference/Mirage.Events/BoolAddLateEvent.md",32091],b101daec:[()=>r.e(9540).then(r.bind(r,76994)),"@site/docs/reference/Mirage.Authenticators.SessionId/ClientSession.md",76994],b183603a:[()=>r.e(844).then(r.bind(r,5666)),"@site/docs/reference/Mirage.Collections/SyncSortedSet-1.md",5666],b1aead42:[()=>r.e(4073).then(r.bind(r,40340)),"@site/docs/guides/game-objects/spawn-object-pooling.md",40340],b1ea56a4:[()=>r.e(3178).then(r.bind(r,44315)),"@site/docs/reference/Mirage.Serialization/VarIntPacker.md",44315],b2f5f910:[()=>r.e(5643).then(r.bind(r,54542)),"@site/docs/reference/Mirage.Serialization/BitHelper.md",54542],b4a89525:[()=>r.e(9600).then(r.bind(r,10719)),"@site/docs/guides/scene-loading/network-scene-manager.md",10719],b5249036:[()=>r.e(9057).then(r.bind(r,47455)),"@site/docs/components/network-transform.md",47455],b62029b6:[()=>r.e(1913).then(r.bind(r,78721)),"@site/docs/reference/Mirage/SceneChangeFinishedEvent.md",78721],b67206e2:[()=>r.e(3518).then(r.bind(r,38806)),"@site/docs/guides/bit-packing/float-pack.md",38806],b74b01f8:[()=>r.e(4351).then(r.bind(r,7002)),"@site/docs/reference/Mirage.Visibility/index.md",7002],b79279ef:[()=>r.e(5389).then(r.bind(r,17800)),"@site/docs/reference/Mirage.Events/AddLateEventUnity-2.md",17800],b7a04171:[()=>r.e(3831).then(r.bind(r,99545)),"@site/docs/reference/Mirage/SceneChangeStartedEvent.md",99545],b7a35126:[()=>r.e(676).then(r.bind(r,12464)),"@site/docs/reference/Mirage.SocketLayer/INotifyToken.md",12464],b7a73740:[()=>r.e(6202).then(r.bind(r,82381)),"@site/docs/reference/Mirage/SpawnEvent.md",82381],b7f3adf9:[()=>r.e(4261).then(r.bind(r,67727)),"@site/docs/reference/Mirage.Authenticators.SessionId/SessionData.md",67727],b882f839:[()=>r.e(2983).then(r.bind(r,41231)),"@site/docs/reference/Mirage/GameObjectSerializers.md",41231],b8e54a0e:[()=>r.e(6995).then(r.bind(r,50771)),"@site/docs/reference/Mirage.Serialization/VarFloatPacker.md",50771],b908ce4e:[()=>r.e(8185).then(r.bind(r,41731)),"@site/docs/reference/Mirage/IMessageReceiver.md",41731],b919ef2d:[()=>r.e(965).then(r.bind(r,77314)),"@site/docs/guides/serialization/generics.md",77314],ba52ef73:[()=>r.e(3101).then(r.bind(r,2820)),"@site/docs/reference/Mirage/NetworkFlags.md",2820],ba841bc4:[()=>r.e(835).then(r.bind(r,44816)),"@site/docs/reference/Mirage/NetworkExtensions.md",44816],bae86d55:[()=>r.e(9019).then(r.bind(r,97182)),"@site/docs/reference/Mirage/NetworkTransformBase.md",97182],baed4f35:[()=>r.e(5473).then(r.bind(r,61561)),"@site/docs/reference/Mirage.Events/IAddLateEventUnity-1.md",61561],bb9ef7e3:[()=>r.e(4415).then(r.bind(r,19018)),"@site/docs/reference/Mirage.Serialization/MirageNetworkReader.md",19018],bbc2f8de:[()=>r.e(9797).then(r.bind(r,5420)),"@site/docs/reference/Mirage.RemoteCalls/RemoteCall.md",5420],bbd9f6e1:[()=>r.e(8696).then(r.bind(r,49307)),"@site/docs/reference/Mirage/PipePeerConnection.PipeEndPoint.md",49307],bbfc0176:[()=>r.e(5463).then(r.bind(r,60488)),"@site/docs/reference/Mirage/AuthorityChanged.md",60488],bc698184:[()=>r.e(9875).then(r.bind(r,52842)),"@site/docs/guides/development-servers/aws.md",52842],bcb4c7e9:[()=>r.e(1762).then(r.bind(r,90703)),"@site/docs/reference/Mirage/index.md",90703],bcd82947:[()=>r.e(5183).then(r.bind(r,43059)),"@site/docs/reference/Mirage.Authenticators.SessionId/index.md",43059],bce13862:[()=>r.e(8396).then(r.bind(r,19305)),"@site/docs/reference/Mirage.Serialization/VarVector3Packer.md",19305],bd06e4c1:[()=>r.e(4570).then(r.bind(r,91879)),"@site/docs/reference/Mirage.Serialization/CollectionExtensions.md",91879],bd77521a:[()=>r.e(1115).then(r.bind(r,76260)),"@site/docs/reference/Mirage.Collections/SyncDictionary-2.md",76260],bd783ed9:[()=>r.e(7599).then(r.bind(r,8453)),"@site/docs/components/index.md",8453],bd839411:[()=>r.e(9149).then(r.bind(r,50529)),"@site/docs/reference/Mirage.Serialization/CompressedExtensions.md",50529],bdbf9329:[()=>r.e(1864).then(r.bind(r,39928)),"@site/docs/reference/Mirage.Serialization/VarIntBlocksPacker.md",39928],bf183fc6:[()=>r.e(6215).then(r.bind(r,96472)),"@site/docs/guides/remote-actions/server-rpc.md",96472],bf614533:[()=>r.e(1802).then(r.bind(r,5849)),"@site/docs/examples/index.md",5849],bfb14a0f:[()=>r.e(1239).then(r.bind(r,73934)),"@site/docs/reference/Mirage.Serialization/QuaternionPacker.md",73934],c0cb6d49:[()=>r.e(1838).then(r.bind(r,24423)),"@site/docs/reference/Mirage/NetworkDiagnostics.md",24423],c0cd22d5:[()=>r.e(9539).then(r.bind(r,63253)),"@site/docs/components/network-manager.md",63253],c1a5e256:[()=>r.e(8053).then(r.bind(r,97802)),"@site/docs/reference/Mirage.SocketLayer/INotifyCallBackExtensions.md",97802],c1ae4c6e:[()=>r.e(4540).then(r.bind(r,78072)),"@site/docs/reference/Mirage.Serialization/VarVector2Packer.md",78072],c42d2489:[()=>r.e(9046).then(r.bind(r,94774)),"@site/docs/reference/Mirage/MessageHandler.md",94774],c46dad8c:[()=>r.e(3084).then(r.bind(r,13047)),"@site/docs/reference/Mirage/SpawnHandlerDelegate.md",13047],c4f5d8e4:[()=>Promise.all([r.e(532),r.e(4195)]).then(r.bind(r,59335)),"@site/src/pages/index.js",59335],c5e4a08a:[()=>r.e(8266).then(r.bind(r,94967)),"@site/docs/guides/overview.md",94967],c6182bb9:[()=>r.e(7585).then(r.bind(r,28798)),"@site/docs/reference/Mirage/SceneAttribute.md",28798],c64a7ca8:[()=>r.e(6643).then(r.bind(r,56416)),"@site/docs/reference/Mirage.Events/IAddLateEvent-2.md",56416],c7556772:[()=>r.e(4511).then(r.bind(r,39624)),"@site/docs/reference/Mirage/SpawnValues.md",39624],c7769688:[()=>r.e(6245).then(r.bind(r,40472)),"@site/docs/reference/Mirage.Collections/ISyncObject.md",40472],c82d0717:[()=>r.e(5665).then(r.bind(r,71398)),"@site/docs/reference/Mirage/MessageReceiverExtensions.md",71398],c8ac775b:[()=>r.e(5568).then(r.bind(r,950)),"@site/docs/reference/Mirage/NetworkManager.md",950],caea44cb:[()=>r.e(5056).then(r.bind(r,38666)),"@site/docs/examples/chat.md",38666],cb3b0dec:[()=>r.e(5583).then(r.bind(r,32838)),"@site/docs/reference/Mirage/IObjectOwner.md",32838],cb7824aa:[()=>r.e(1105).then(r.bind(r,74)),"@site/docs/reference/Mirage/ShowInInspectorAttribute.md",74],cb7b6e07:[()=>r.e(1989).then(r.bind(r,5931)),"@site/docs/reference/Mirage.Logging/index.md",5931],cbb29ae8:[()=>r.e(4665).then(r.bind(r,38180)),"@site/docs/reference/Mirage.SocketLayer/AckSystem.ReliablePacket.md",38180],cbfe22ae:[()=>r.e(4105).then(r.bind(r,96514)),"@site/docs/general/CHANGELOG.md",96514],cc2efbbf:[()=>r.e(7251).then(r.bind(r,35485)),"@site/docs/reference/Mirage/NetworkSceneChecker.md",35485],cdc22f13:[()=>r.e(8698).then(r.bind(r,13882)),"@site/docs/reference/Mirage/SceneVisibilityChecker.md",13882],ce904f20:[()=>r.e(2592).then(r.bind(r,1304)),"@site/docs/reference/Mirage/PlayerSceneChangeEvent.md",1304],ceed7abf:[()=>r.e(1627).then(r.bind(r,82018)),"@site/docs/components/network-start-position.md",82018],cf38ca78:[()=>r.e(6799).then(r.bind(r,98812)),"@site/docs/reference/Mirage/INetIdGenerator.md",98812],d04aec73:[()=>r.e(9101).then(r.bind(r,42573)),"@site/docs/reference/Mirage.Serialization/UnityTypesExtensions.md",42573],d1ac8158:[()=>r.e(5328).then(r.bind(r,9373)),"@site/docs/guides/game-objects/scene-objects.md",9373],d32d2739:[()=>r.e(972).then(r.bind(r,3515)),"@site/docs/components/network-scene-manager.md",3515],d36d63ca:[()=>r.e(6876).then(r.bind(r,23708)),"@site/docs/reference/Mirage/GameObjectSyncvar.md",23708],d3ed2569:[()=>r.e(2129).then(r.bind(r,58196)),"@site/docs/guides/attributes.md",58196],d3f389b2:[()=>r.e(5498).then(r.bind(r,35946)),"@site/docs/reference/Mirage.Serialization/BitCountFromRangeAttribute.md",35946],d4da1ce9:[()=>r.e(6632).then(r.bind(r,4168)),"@site/docs/reference/Mirage/MessageDelegateWithPlayer-1.md",4168],d5202bd8:[()=>r.e(6378).then(r.bind(r,85972)),"@site/docs/reference/Mirage/AutoPool-1.Wrapper.md",85972],d5348c33:[()=>r.e(3164).then(r.bind(r,94596)),"@site/docs/reference/Mirage.Serialization/NetworkWriter.md",94596],d55c0424:[()=>r.e(282).then(r.bind(r,7558)),"@site/docs/reference/Mirage/ServerRpcAttribute.md",7558],d5cd641f:[()=>r.e(9346).then(r.bind(r,4096)),"@site/docs/reference/Mirage.Logging/LogSettingsExtensions.md",4096],d741cf9d:[()=>r.e(5718).then(r.bind(r,49700)),"@site/docs/guides/sync/serialization-flow.md",49700],d82abd5c:[()=>r.e(6436).then(r.bind(r,59097)),"@site/docs/reference/Mirage/ObjectHideMessage.md",59097],d89afa6d:[()=>r.e(2456).then(r.bind(r,91226)),"@site/docs/reference/Mirage.SocketLayer/ByteBuffer.md",91226],dad5a29f:[()=>r.e(9455).then(r.bind(r,1620)),"@site/docs/reference/Mirage.SocketLayer/NotifyToken.md",1620],dbecde0e:[()=>r.e(7633).then(r.bind(r,85020)),"@site/docs/reference/Mirage/NetworkPingMessage.md",85020],dc56fe7a:[()=>r.e(5097).then(r.t.bind(r,83769,19)),"/__w/Mirage/Mirage/doc/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",83769],dc9b839a:[()=>r.e(6704).then(r.bind(r,62820)),"@site/docs/reference/Mirage/RemoveCharacterMessage.md",62820],dd9f2c48:[()=>r.e(5266).then(r.bind(r,71835)),"@site/docs/reference/Mirage.Serialization/Vector2Packer.md",71835],ddefe481:[()=>r.e(9625).then(r.bind(r,74046)),"@site/docs/reference/Mirage.Authentication/INetworkAuthenticator.md",74046],df235e99:[()=>r.e(2839).then(r.bind(r,80544)),"@site/docs/examples/basic.md",80544],df5709a4:[()=>r.e(2467).then(r.bind(r,91799)),"@site/docs/reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage.md",91799],df999642:[()=>r.e(8603).then(r.bind(r,39701)),"@site/docs/reference/Mirage/NetworkClient.md",39701],df9b0653:[()=>r.e(5909).then(r.bind(r,52)),"@site/docs/reference/Mirage.Authentication/NetworkAuthenticator-1.md",52],dfedeaf8:[()=>r.e(7667).then(r.bind(r,26744)),"@site/docs/reference/Mirage.SocketLayer/PacketType.md",26744],e09e4b5c:[()=>r.e(4788).then(r.bind(r,57351)),"@site/docs/reference/Mirage/SyncSettings.md",57351],e0e16dd2:[()=>r.e(5515).then(r.bind(r,71337)),"@site/docs/reference/Mirage/ClientObjectManager.md",71337],e15849bb:[()=>r.e(3728).then(r.bind(r,13128)),"@site/docs/reference/Mirage.RemoteCalls/index.md",13128],e1929551:[()=>r.e(9595).then(r.bind(r,23230)),"@site/docs/guides/sync/custom-serialization.md",23230],e274e7f0:[()=>r.e(798).then(r.bind(r,45704)),"@site/docs/components/network-discovery.md",45704],e2efae6d:[()=>r.e(2757).then(r.t.bind(r,33029,19)),"~docs/default/category-miragedocs-docs-category-general-526.json",33029],e30c6926:[()=>r.e(8971).then(r.bind(r,6847)),"@site/docs/reference/Mirage.Collections/SyncIDictionary-2.md",6847],e31924a3:[()=>r.e(668).then(r.bind(r,50690)),"@site/docs/guides/game-objects/lifecycle.md",50690],e46ab49a:[()=>r.e(5269).then(r.bind(r,89421)),"@site/docs/reference/Mirage.Serialization/StringExtensions.md",89421],e4aa2d07:[()=>r.e(3508).then(r.bind(r,1741)),"@site/docs/reference/Mirage/DynamicSpawnHandlerDelegate.md",1741],e507b4be:[()=>r.e(5294).then(r.bind(r,16792)),"@site/docs/reference/Mirage.Serialization/FloatPackAttribute.md",16792],e5c7ba44:[()=>r.e(3077).then(r.bind(r,38862)),"@site/docs/reference/Mirage.SocketLayer/DisconnectReason.md",38862],e616c336:[()=>r.e(5161).then(r.bind(r,34133)),"@site/docs/reference/Mirage/MessageDelegate-1.md",34133],e7d07015:[()=>r.e(9131).then(r.t.bind(r,26953,19)),"~docs/default/category-miragedocs-docs-category-examples-de5.json",26953],e92ca709:[()=>r.e(9969).then(r.bind(r,59318)),"@site/docs/general/troubleshooting.md",59318],ea282697:[()=>r.e(2558).then(r.bind(r,88520)),"@site/docs/reference/Mirage/NetworkManagerMode.md",88520],ea9879e1:[()=>r.e(7615).then(r.bind(r,802)),"@site/docs/reference/Mirage.Events/AddLateEventUnity.md",802],eb0095b0:[()=>r.e(6318).then(r.bind(r,2037)),"@site/docs/reference/Mirage.Collections/SyncObjectUtils.md",2037],eb4d19ea:[()=>r.e(4198).then(r.bind(r,93602)),"@site/docs/examples/change-scene.md",93602],eb90c1cd:[()=>r.e(2831).then(r.bind(r,8659)),"@site/docs/reference/Mirage/ClientStoppedReason.md",8659],ebcacb84:[()=>r.e(6379).then(r.bind(r,64601)),"@site/docs/reference/Mirage.Events/AddLateEvent-1.md",64601],ed2375fe:[()=>r.e(8022).then(r.bind(r,18352)),"@site/docs/guides/game-objects/spawn-player.md",18352],ef37c68e:[()=>r.e(8443).then(r.bind(r,67522)),"@site/docs/reference/Mirage/NetworkInspectorCallbacks.md",67522],ef60f95c:[()=>r.e(1688).then(r.bind(r,52059)),"@site/docs/reference/Mirage.Components/ReadyCheck.md",52059],ef73d847:[()=>r.e(6716).then(r.bind(r,65898)),"@site/docs/guides/game-objects/network-behaviour.md",65898],efcb83d3:[()=>r.e(1744).then(r.bind(r,88338)),"@site/docs/guides/bit-packing/vector-pack.md",88338],f0ebcc9e:[()=>r.e(9867).then(r.bind(r,32094)),"@site/docs/reference/Mirage.SocketLayer/ArrayBatch.md",32094],f1511b56:[()=>r.e(92).then(r.bind(r,15284)),"@site/docs/reference/Mirage.SocketLayer/PoolMetrics.md",15284],f1ac09af:[()=>r.e(8577).then(r.bind(r,60464)),"@site/docs/guides/remote-actions/rpc-examples.md",60464],f3c20154:[()=>r.e(6289).then(r.bind(r,59301)),"@site/docs/reference/Mirage/AutoPool-1.md",59301],f5a162fb:[()=>r.e(3083).then(r.bind(r,30899)),"@site/docs/reference/Mirage/MessageDelegateWithPlayerAsync-1.md",30899],f62325e2:[()=>r.e(6807).then(r.bind(r,82411)),"@site/docs/reference/Mirage/NetworkPrefabs.md",82411],f640cbed:[()=>r.e(3298).then(r.bind(r,53327)),"@site/docs/guides/authority.md",53327],f78243fa:[()=>r.e(3716).then(r.bind(r,10714)),"@site/docs/reference/Mirage.Serialization/MirageTypesExtensions.md",10714],f784ccf0:[()=>r.e(1519).then(r.bind(r,16731)),"@site/docs/reference/Mirage.Authentication/PlayerAuthentication.md",16731],f7f2a7d9:[()=>r.e(4309).then(r.bind(r,87767)),"@site/docs/reference/Mirage.SocketLayer/IRawConnection.md",87767],f8143c60:[()=>r.e(2382).then(r.bind(r,15795)),"@site/docs/guides/about-ids.md",15795],f857c277:[()=>r.e(9608).then(r.bind(r,37698)),"@site/docs/reference/Mirage/NetworkPlayer.md",37698],f9640919:[()=>r.e(3337).then(r.bind(r,68077)),"@site/docs/reference/Mirage.Serialization/Vector2PackAttribute.md",68077],f97ae027:[()=>r.e(406).then(r.bind(r,93370)),"@site/docs/components/ready-check.md",93370],f9f08424:[()=>r.e(3952).then(r.bind(r,29946)),"@site/docs/reference/Mirage.Authenticators.SessionId/CreateSession.md",29946],facbbfa1:[()=>r.e(9694).then(r.bind(r,80115)),"@site/docs/reference/Mirage/StringHash.md",80115],fcf44c20:[()=>r.e(1877).then(r.bind(r,41365)),"@site/docs/reference/Mirage.Sockets.Udp/UdpMTU.md",41365],fd242af7:[()=>r.e(145).then(r.bind(r,24457)),"@site/docs/general/sockets.md",24457],fd3b502f:[()=>r.e(9825).then(r.bind(r,15306)),"@site/docs/reference/Mirage.Collections/SyncStack-1.md",15306],fd5d697e:[()=>r.e(1007).then(r.bind(r,87717)),"@site/docs/guides/game-objects/spawn-player-custom.md",87717],fe9e8813:[()=>r.e(1221).then(r.bind(r,89747)),"@site/docs/reference/Mirage.SocketLayer/Metrics.Frame.md",89747],fea0156e:[()=>r.e(3610).then(r.bind(r,80039)),"@site/docs/guides/authentication/index.md",80039],ffdc071e:[()=>r.e(1150).then(r.t.bind(r,15745,19)),"/__w/Mirage/Mirage/doc/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",15745]};function d(e){let{error:t,retry:r,pastDelay:a}=e;return t?n.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},n.createElement("p",null,String(t)),n.createElement("div",null,n.createElement("button",{type:"button",onClick:r},"Retry"))):a?n.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},n.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},n.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},n.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},n.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),n.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),n.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),n.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},n.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),n.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),n.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),n.createElement("circle",{cx:"22",cy:"22",r:"8"},n.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var l=r(99670),u=r(30226);function g(e,t){if("*"===e)return o()({loading:d,loader:()=>r.e(4972).then(r.bind(r,4972)),modules:["@theme/NotFound"],webpack:()=>[4972],render(e,t){const r=e.default;return n.createElement(u.z,{value:{plugin:{name:"native",id:"default"}}},n.createElement(r,t))}});const i=c[e+"-"+t],g={},p=[],f=[],m=(0,l.Z)(i);return Object.entries(m).forEach((e=>{let[t,r]=e;const n=s[r];n&&(g[t]=n[0],p.push(n[1]),f.push(n[2]))})),o().Map({loading:d,loader:g,modules:p,webpack:()=>f,render(t,r){const o=JSON.parse(JSON.stringify(i));Object.entries(t).forEach((t=>{let[r,n]=t;const a=n.default;if(!a)throw new Error("The page component at "+e+" doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.");"object"!=typeof a&&"function"!=typeof a||Object.keys(n).filter((e=>"default"!==e)).forEach((e=>{a[e]=n[e]}));let i=o;const c=r.split(".");c.slice(0,-1).forEach((e=>{i=i[e]})),i[c[c.length-1]]=a}));const c=o.__comp;delete o.__comp;const s=o.__context;return delete o.__context,n.createElement(u.z,{value:s},n.createElement(c,(0,a.Z)({},o,r)))}})}const p=[{path:"/Mirage/docs",component:g("/Mirage/docs","eae"),routes:[{path:"/Mirage/docs/category/components",component:g("/Mirage/docs/category/components","04b"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/category/examples",component:g("/Mirage/docs/category/examples","6a1"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/category/general",component:g("/Mirage/docs/category/general","c93"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/category/guides",component:g("/Mirage/docs/category/guides","cff"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/",component:g("/Mirage/docs/components/","1db"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/network-animator",component:g("/Mirage/docs/components/network-animator","784"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/network-discovery",component:g("/Mirage/docs/components/network-discovery","0e1"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/network-identity",component:g("/Mirage/docs/components/network-identity","8c7"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/network-log-settings",component:g("/Mirage/docs/components/network-log-settings","da0"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/network-manager",component:g("/Mirage/docs/components/network-manager","788"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/network-manager-hud",component:g("/Mirage/docs/components/network-manager-hud","6ea"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/network-match-checker",component:g("/Mirage/docs/components/network-match-checker","77e"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/network-ping-display",component:g("/Mirage/docs/components/network-ping-display","47b"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/network-proximity-checker",component:g("/Mirage/docs/components/network-proximity-checker","1ac"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/network-room-manager",component:g("/Mirage/docs/components/network-room-manager","0f2"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/network-room-player",component:g("/Mirage/docs/components/network-room-player","c63"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/network-scene-checker",component:g("/Mirage/docs/components/network-scene-checker","3f3"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/network-scene-manager",component:g("/Mirage/docs/components/network-scene-manager","c30"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/network-start-position",component:g("/Mirage/docs/components/network-start-position","4e1"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/network-transform",component:g("/Mirage/docs/components/network-transform","a80"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/network-transform-child",component:g("/Mirage/docs/components/network-transform-child","6a2"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/components/ready-check",component:g("/Mirage/docs/components/ready-check","5bd"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/examples/",component:g("/Mirage/docs/examples/","415"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/examples/additive-scenes",component:g("/Mirage/docs/examples/additive-scenes","879"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/examples/basic",component:g("/Mirage/docs/examples/basic","6ae"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/examples/change-scene",component:g("/Mirage/docs/examples/change-scene","879"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/examples/chat",component:g("/Mirage/docs/examples/chat","98b"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/examples/multiple-additive-scenes",component:g("/Mirage/docs/examples/multiple-additive-scenes","92f"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/examples/pong",component:g("/Mirage/docs/examples/pong","8e1"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/examples/room",component:g("/Mirage/docs/examples/room","190"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/examples/tanks",component:g("/Mirage/docs/examples/tanks","852"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/general/CHANGELOG",component:g("/Mirage/docs/general/CHANGELOG","24c"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/general/getting-started",component:g("/Mirage/docs/general/getting-started","dc7"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/general/overview",component:g("/Mirage/docs/general/overview","96d"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/general/showcase",component:g("/Mirage/docs/general/showcase","29d"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/general/sockets",component:g("/Mirage/docs/general/sockets","3fb"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/general/support",component:g("/Mirage/docs/general/support","e28"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/general/troubleshooting",component:g("/Mirage/docs/general/troubleshooting","7aa"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/about-ids",component:g("/Mirage/docs/guides/about-ids","40a"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/attributes",component:g("/Mirage/docs/guides/attributes","e19"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/authentication/",component:g("/Mirage/docs/guides/authentication/","19b"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/authentication/authenticator-settings",component:g("/Mirage/docs/guides/authentication/authenticator-settings","ec2"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/authentication/basic-authenticator",component:g("/Mirage/docs/guides/authentication/basic-authenticator","569"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/authentication/custom-authenticator",component:g("/Mirage/docs/guides/authentication/custom-authenticator","9de"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/authentication/session-id",component:g("/Mirage/docs/guides/authentication/session-id","988"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/authority",component:g("/Mirage/docs/guides/authority","173"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/best-practices",component:g("/Mirage/docs/guides/best-practices","88c"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/bit-packing/",component:g("/Mirage/docs/guides/bit-packing/","7c3"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/bit-packing/bit-count",component:g("/Mirage/docs/guides/bit-packing/bit-count","6b3"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/bit-packing/bit-count-from-range",component:g("/Mirage/docs/guides/bit-packing/bit-count-from-range","34b"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/bit-packing/float-pack",component:g("/Mirage/docs/guides/bit-packing/float-pack","9ac"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/bit-packing/quaternion-pack",component:g("/Mirage/docs/guides/bit-packing/quaternion-pack","6ec"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/bit-packing/var-int",component:g("/Mirage/docs/guides/bit-packing/var-int","435"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/bit-packing/var-int-blocks",component:g("/Mirage/docs/guides/bit-packing/var-int-blocks","0a5"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/bit-packing/vector-pack",component:g("/Mirage/docs/guides/bit-packing/vector-pack","a3f"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/bit-packing/zig-zag-encode",component:g("/Mirage/docs/guides/bit-packing/zig-zag-encode","841"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/callbacks/",component:g("/Mirage/docs/guides/callbacks/","e21"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/callbacks/network-behaviour",component:g("/Mirage/docs/guides/callbacks/network-behaviour","b24"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/callbacks/network-manager",component:g("/Mirage/docs/guides/callbacks/network-manager","041"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/clock-sync",component:g("/Mirage/docs/guides/clock-sync","65c"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/community-guides/",component:g("/Mirage/docs/guides/community-guides/","e13"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/community-guides/mirage-quick-start-guide",component:g("/Mirage/docs/guides/community-guides/mirage-quick-start-guide","e1c"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/development-servers/",component:g("/Mirage/docs/guides/development-servers/","5ad"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/development-servers/aws",component:g("/Mirage/docs/guides/development-servers/aws","1ba"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/development-servers/google-cloud",component:g("/Mirage/docs/guides/development-servers/google-cloud","aba"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/faq",component:g("/Mirage/docs/guides/faq","7a3"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/game-objects/",component:g("/Mirage/docs/guides/game-objects/","3f1"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/game-objects/lifecycle",component:g("/Mirage/docs/guides/game-objects/lifecycle","f17"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/game-objects/network-behaviour",component:g("/Mirage/docs/guides/game-objects/network-behaviour","d99"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/game-objects/pickup-drop-child",component:g("/Mirage/docs/guides/game-objects/pickup-drop-child","4ea"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/game-objects/scene-objects",component:g("/Mirage/docs/guides/game-objects/scene-objects","982"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/game-objects/spawn-object",component:g("/Mirage/docs/guides/game-objects/spawn-object","e34"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/game-objects/spawn-object-custom",component:g("/Mirage/docs/guides/game-objects/spawn-object-custom","2e7"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/game-objects/spawn-object-pooling",component:g("/Mirage/docs/guides/game-objects/spawn-object-pooling","514"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/game-objects/spawn-player",component:g("/Mirage/docs/guides/game-objects/spawn-player","2ad"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/game-objects/spawn-player-custom",component:g("/Mirage/docs/guides/game-objects/spawn-player-custom","abc"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/mirror-migration",component:g("/Mirage/docs/guides/mirror-migration","ead"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/network-visibility",component:g("/Mirage/docs/guides/network-visibility","3b9"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/overview",component:g("/Mirage/docs/guides/overview","fe0"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/remote-actions/",component:g("/Mirage/docs/guides/remote-actions/","b31"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/remote-actions/client-rpc",component:g("/Mirage/docs/guides/remote-actions/client-rpc","eea"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/remote-actions/network-messages",component:g("/Mirage/docs/guides/remote-actions/network-messages","062"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/remote-actions/rpc-examples",component:g("/Mirage/docs/guides/remote-actions/rpc-examples","251"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/remote-actions/server-rpc",component:g("/Mirage/docs/guides/remote-actions/server-rpc","f49"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/resources",component:g("/Mirage/docs/guides/resources","b1c"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/scene-loading/",component:g("/Mirage/docs/guides/scene-loading/","b7b"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/scene-loading/manual-scene-loading",component:g("/Mirage/docs/guides/scene-loading/manual-scene-loading","0fc"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/scene-loading/network-scene-manager",component:g("/Mirage/docs/guides/scene-loading/network-scene-manager","467"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/serialization/",component:g("/Mirage/docs/guides/serialization/","b8a"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/serialization/advanced",component:g("/Mirage/docs/guides/serialization/advanced","b0e"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/serialization/data-types",component:g("/Mirage/docs/guides/serialization/data-types","471"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/serialization/generics",component:g("/Mirage/docs/guides/serialization/generics","fb3"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/serialization/sync-prefab",component:g("/Mirage/docs/guides/serialization/sync-prefab","5bc"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/sync/",component:g("/Mirage/docs/guides/sync/","45c"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/sync/code-generation",component:g("/Mirage/docs/guides/sync/code-generation","249"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/sync/custom-serialization",component:g("/Mirage/docs/guides/sync/custom-serialization","379"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/sync/serialization-flow",component:g("/Mirage/docs/guides/sync/serialization-flow","993"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/sync/sync-objects/sync-dictionary",component:g("/Mirage/docs/guides/sync/sync-objects/sync-dictionary","b7d"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/sync/sync-objects/sync-hash-set",component:g("/Mirage/docs/guides/sync/sync-objects/sync-hash-set","21d"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/sync/sync-objects/sync-list",component:g("/Mirage/docs/guides/sync/sync-objects/sync-list","696"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/sync/sync-objects/sync-sorted-set",component:g("/Mirage/docs/guides/sync/sync-objects/sync-sorted-set","f58"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/sync/sync-settings",component:g("/Mirage/docs/guides/sync/sync-settings","38d"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/sync/sync-var",component:g("/Mirage/docs/guides/sync/sync-var","eff"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/guides/sync/sync-var-hooks",component:g("/Mirage/docs/guides/sync/sync-var-hooks","34d"),exact:!0,sidebar:"docs"},{path:"/Mirage/docs/reference/Mirage.Authentication/",component:g("/Mirage/docs/reference/Mirage.Authentication/","765"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authentication/AuthenticationResult",component:g("/Mirage/docs/reference/Mirage.Authentication/AuthenticationResult","dc3"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authentication/AuthenticatorSettings",component:g("/Mirage/docs/reference/Mirage.Authentication/AuthenticatorSettings","5c4"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authentication/AuthMessage",component:g("/Mirage/docs/reference/Mirage.Authentication/AuthMessage","a10"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authentication/AuthSuccessMessage",component:g("/Mirage/docs/reference/Mirage.Authentication/AuthSuccessMessage","881"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authentication/IAuthenticationDataWrapper",component:g("/Mirage/docs/reference/Mirage.Authentication/IAuthenticationDataWrapper","6be"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authentication/INetworkAuthenticator",component:g("/Mirage/docs/reference/Mirage.Authentication/INetworkAuthenticator","62c"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authentication/NetworkAuthenticator",component:g("/Mirage/docs/reference/Mirage.Authentication/NetworkAuthenticator","64a"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authentication/NetworkAuthenticator-1",component:g("/Mirage/docs/reference/Mirage.Authentication/NetworkAuthenticator-1","28b"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authentication/PlayerAuthentication",component:g("/Mirage/docs/reference/Mirage.Authentication/PlayerAuthentication","4e3"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/",component:g("/Mirage/docs/reference/Mirage.Authenticators.SessionId/","eb3"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/ClientSession",component:g("/Mirage/docs/reference/Mirage.Authenticators.SessionId/ClientSession","f9b"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/CreateSession",component:g("/Mirage/docs/reference/Mirage.Authenticators.SessionId/CreateSession","684"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/ISessionIdStore",component:g("/Mirage/docs/reference/Mirage.Authenticators.SessionId/ISessionIdStore","746"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/RequestSessionMessage",component:g("/Mirage/docs/reference/Mirage.Authenticators.SessionId/RequestSessionMessage","fe5"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionData",component:g("/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionData","d3d"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator",component:g("/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator","88b"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionKeyMessage",component:g("/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionKeyMessage","71b"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authenticators/",component:g("/Mirage/docs/reference/Mirage.Authenticators/","82e"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authenticators/BasicAuthenticator",component:g("/Mirage/docs/reference/Mirage.Authenticators/BasicAuthenticator","cc7"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage",component:g("/Mirage/docs/reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage","e32"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Collections/",component:g("/Mirage/docs/reference/Mirage.Collections/","159"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Collections/ISyncObject",component:g("/Mirage/docs/reference/Mirage.Collections/ISyncObject","b54"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Collections/SyncDictionary-2",component:g("/Mirage/docs/reference/Mirage.Collections/SyncDictionary-2","a4b"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Collections/SyncHashSet-1",component:g("/Mirage/docs/reference/Mirage.Collections/SyncHashSet-1","b59"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Collections/SyncIDictionary-2",component:g("/Mirage/docs/reference/Mirage.Collections/SyncIDictionary-2","1a9"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Collections/SyncList-1",component:g("/Mirage/docs/reference/Mirage.Collections/SyncList-1","f5f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Collections/SyncList-1.Enumerator",component:g("/Mirage/docs/reference/Mirage.Collections/SyncList-1.Enumerator","fc8"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Collections/SyncObjectUtils",component:g("/Mirage/docs/reference/Mirage.Collections/SyncObjectUtils","942"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Collections/SyncSet-1",component:g("/Mirage/docs/reference/Mirage.Collections/SyncSet-1","ee3"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Collections/SyncSortedSet-1",component:g("/Mirage/docs/reference/Mirage.Collections/SyncSortedSet-1","2f3"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Collections/SyncStack-1",component:g("/Mirage/docs/reference/Mirage.Collections/SyncStack-1","0d2"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Components/",component:g("/Mirage/docs/reference/Mirage.Components/","287"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Components/LobbyReady",component:g("/Mirage/docs/reference/Mirage.Components/LobbyReady","223"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Components/ReadyCheck",component:g("/Mirage/docs/reference/Mirage.Components/ReadyCheck","171"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Components/SyncObjectActive",component:g("/Mirage/docs/reference/Mirage.Components/SyncObjectActive","aaf"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.DisplayMetrics/",component:g("/Mirage/docs/reference/Mirage.DisplayMetrics/","d36"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui",component:g("/Mirage/docs/reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui","352"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.DisplayMetrics/RequestServerMetrics",component:g("/Mirage/docs/reference/Mirage.DisplayMetrics/RequestServerMetrics","564"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.DisplayMetrics/SetDisplayMetrics",component:g("/Mirage/docs/reference/Mirage.DisplayMetrics/SetDisplayMetrics","c5f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/",component:g("/Mirage/docs/reference/Mirage.Events/","fb4"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/AddLateEvent",component:g("/Mirage/docs/reference/Mirage.Events/AddLateEvent","6bd"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/AddLateEvent-1",component:g("/Mirage/docs/reference/Mirage.Events/AddLateEvent-1","2f3"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/AddLateEvent-2",component:g("/Mirage/docs/reference/Mirage.Events/AddLateEvent-2","481"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/AddLateEventBase",component:g("/Mirage/docs/reference/Mirage.Events/AddLateEventBase","694"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity",component:g("/Mirage/docs/reference/Mirage.Events/AddLateEventUnity","8aa"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-2",component:g("/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-2","a5f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-3",component:g("/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-3","473"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/BoolAddLateEvent",component:g("/Mirage/docs/reference/Mirage.Events/BoolAddLateEvent","752"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/BoolUnityEvent",component:g("/Mirage/docs/reference/Mirage.Events/BoolUnityEvent","42a"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/DisconnectAddLateEvent",component:g("/Mirage/docs/reference/Mirage.Events/DisconnectAddLateEvent","247"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/DisconnectEvent",component:g("/Mirage/docs/reference/Mirage.Events/DisconnectEvent","9b8"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/IAddLateEvent",component:g("/Mirage/docs/reference/Mirage.Events/IAddLateEvent","3e8"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/IAddLateEvent-1",component:g("/Mirage/docs/reference/Mirage.Events/IAddLateEvent-1","9b9"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/IAddLateEvent-2",component:g("/Mirage/docs/reference/Mirage.Events/IAddLateEvent-2","ba3"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity",component:g("/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity","435"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-1",component:g("/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-1","4b7"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-2",component:g("/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-2","08f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/NetworkPlayerAddLateEvent",component:g("/Mirage/docs/reference/Mirage.Events/NetworkPlayerAddLateEvent","4e3"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Events/NetworkPlayerEvent",component:g("/Mirage/docs/reference/Mirage.Events/NetworkPlayerEvent","1aa"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Logging/",component:g("/Mirage/docs/reference/Mirage.Logging/","f98"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Logging/ILoggerExtensions",component:g("/Mirage/docs/reference/Mirage.Logging/ILoggerExtensions","240"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Logging/LogFactory",component:g("/Mirage/docs/reference/Mirage.Logging/LogFactory","b09"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Logging/LogSettings",component:g("/Mirage/docs/reference/Mirage.Logging/LogSettings","19f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Logging/LogSettingsExtensions",component:g("/Mirage/docs/reference/Mirage.Logging/LogSettingsExtensions","90b"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Logging/LogSettingsSO",component:g("/Mirage/docs/reference/Mirage.Logging/LogSettingsSO","c3f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Logging/LogSettingsSO.LoggerSettings",component:g("/Mirage/docs/reference/Mirage.Logging/LogSettingsSO.LoggerSettings","7b8"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler",component:g("/Mirage/docs/reference/Mirage.Logging/MirageLogHandler","9eb"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler.Settings",component:g("/Mirage/docs/reference/Mirage.Logging/MirageLogHandler.Settings","4f3"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler.TimePrefix",component:g("/Mirage/docs/reference/Mirage.Logging/MirageLogHandler.TimePrefix","544"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.RemoteCalls/",component:g("/Mirage/docs/reference/Mirage.RemoteCalls/","0fc"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.RemoteCalls/ClientRpcSender",component:g("/Mirage/docs/reference/Mirage.RemoteCalls/ClientRpcSender","ae0"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.RemoteCalls/RemoteCall",component:g("/Mirage/docs/reference/Mirage.RemoteCalls/RemoteCall","b9a"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.RemoteCalls/RemoteCallCollection",component:g("/Mirage/docs/reference/Mirage.RemoteCalls/RemoteCallCollection","8fe"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.RemoteCalls/RequestDelegate-1",component:g("/Mirage/docs/reference/Mirage.RemoteCalls/RequestDelegate-1","7a8"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcDelegate",component:g("/Mirage/docs/reference/Mirage.RemoteCalls/RpcDelegate","fa6"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcInvokeType",component:g("/Mirage/docs/reference/Mirage.RemoteCalls/RpcInvokeType","070"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcMessage",component:g("/Mirage/docs/reference/Mirage.RemoteCalls/RpcMessage","21f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcReply",component:g("/Mirage/docs/reference/Mirage.RemoteCalls/RpcReply","513"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.RemoteCalls/RpcWithReplyMessage",component:g("/Mirage/docs/reference/Mirage.RemoteCalls/RpcWithReplyMessage","f41"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.RemoteCalls/ServerRpcSender",component:g("/Mirage/docs/reference/Mirage.RemoteCalls/ServerRpcSender","c69"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/",component:g("/Mirage/docs/reference/Mirage.Serialization/","641"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/AnglePacker",component:g("/Mirage/docs/reference/Mirage.Serialization/AnglePacker","2ba"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/BitCountAttribute",component:g("/Mirage/docs/reference/Mirage.Serialization/BitCountAttribute","4b2"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/BitCountFromRangeAttribute",component:g("/Mirage/docs/reference/Mirage.Serialization/BitCountFromRangeAttribute","efe"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/BitHelper",component:g("/Mirage/docs/reference/Mirage.Serialization/BitHelper","c70"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/BitMask",component:g("/Mirage/docs/reference/Mirage.Serialization/BitMask","7e6"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/CollectionExtensions",component:g("/Mirage/docs/reference/Mirage.Serialization/CollectionExtensions","1f2"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/CompressedExtensions",component:g("/Mirage/docs/reference/Mirage.Serialization/CompressedExtensions","55b"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/FloatPackAttribute",component:g("/Mirage/docs/reference/Mirage.Serialization/FloatPackAttribute","0bc"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/FloatPacker",component:g("/Mirage/docs/reference/Mirage.Serialization/FloatPacker","97f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/FromBitCount",component:g("/Mirage/docs/reference/Mirage.Serialization/FromBitCount","995"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/GenericTypesSerializationExtensions",component:g("/Mirage/docs/reference/Mirage.Serialization/GenericTypesSerializationExtensions","c27"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/MessageIdCache-1",component:g("/Mirage/docs/reference/Mirage.Serialization/MessageIdCache-1","11e"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/MessagePacker",component:g("/Mirage/docs/reference/Mirage.Serialization/MessagePacker","ded"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/MirageNetworkReader",component:g("/Mirage/docs/reference/Mirage.Serialization/MirageNetworkReader","0aa"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/MirageTypesExtensions",component:g("/Mirage/docs/reference/Mirage.Serialization/MirageTypesExtensions","12e"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/NetworkReader",component:g("/Mirage/docs/reference/Mirage.Serialization/NetworkReader","7a2"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/NetworkReaderPool",component:g("/Mirage/docs/reference/Mirage.Serialization/NetworkReaderPool","056"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/NetworkWriter",component:g("/Mirage/docs/reference/Mirage.Serialization/NetworkWriter","32d"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/NetworkWriterPool",component:g("/Mirage/docs/reference/Mirage.Serialization/NetworkWriterPool","65e"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/PackedExtensions",component:g("/Mirage/docs/reference/Mirage.Serialization/PackedExtensions","2a6"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/PooledNetworkReader",component:g("/Mirage/docs/reference/Mirage.Serialization/PooledNetworkReader","6b7"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/PooledNetworkWriter",component:g("/Mirage/docs/reference/Mirage.Serialization/PooledNetworkWriter","81b"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/QuaternionPackAttribute",component:g("/Mirage/docs/reference/Mirage.Serialization/QuaternionPackAttribute","d2f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/QuaternionPacker",component:g("/Mirage/docs/reference/Mirage.Serialization/QuaternionPacker","c1b"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/Reader-1",component:g("/Mirage/docs/reference/Mirage.Serialization/Reader-1","944"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/StringExtensions",component:g("/Mirage/docs/reference/Mirage.Serialization/StringExtensions","58e"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/SystemTypesExtensions",component:g("/Mirage/docs/reference/Mirage.Serialization/SystemTypesExtensions","ca7"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/UnityTypesExtensions",component:g("/Mirage/docs/reference/Mirage.Serialization/UnityTypesExtensions","2da"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/VarDoublePacker",component:g("/Mirage/docs/reference/Mirage.Serialization/VarDoublePacker","f12"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/VarFloatPacker",component:g("/Mirage/docs/reference/Mirage.Serialization/VarFloatPacker","b84"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/VarIntAttribute",component:g("/Mirage/docs/reference/Mirage.Serialization/VarIntAttribute","f2a"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/VarIntBlocksAttribute",component:g("/Mirage/docs/reference/Mirage.Serialization/VarIntBlocksAttribute","3fc"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/VarIntBlocksPacker",component:g("/Mirage/docs/reference/Mirage.Serialization/VarIntBlocksPacker","21f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/VarIntPacker",component:g("/Mirage/docs/reference/Mirage.Serialization/VarIntPacker","ff2"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/VarVector2Packer",component:g("/Mirage/docs/reference/Mirage.Serialization/VarVector2Packer","149"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/VarVector3Packer",component:g("/Mirage/docs/reference/Mirage.Serialization/VarVector3Packer","45c"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/Vector2PackAttribute",component:g("/Mirage/docs/reference/Mirage.Serialization/Vector2PackAttribute","c86"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/Vector2Packer",component:g("/Mirage/docs/reference/Mirage.Serialization/Vector2Packer","43d"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/Vector3PackAttribute",component:g("/Mirage/docs/reference/Mirage.Serialization/Vector3PackAttribute","c85"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/Vector3Packer",component:g("/Mirage/docs/reference/Mirage.Serialization/Vector3Packer","211"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/WeaverIgnoreAttribute",component:g("/Mirage/docs/reference/Mirage.Serialization/WeaverIgnoreAttribute","3c6"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/WeaverSerializeCollectionAttribute",component:g("/Mirage/docs/reference/Mirage.Serialization/WeaverSerializeCollectionAttribute","e32"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/WeaverWriteAsGenericAttribute",component:g("/Mirage/docs/reference/Mirage.Serialization/WeaverWriteAsGenericAttribute","93f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/Writer-1",component:g("/Mirage/docs/reference/Mirage.Serialization/Writer-1","8e1"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/ZigZag",component:g("/Mirage/docs/reference/Mirage.Serialization/ZigZag","3a0"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Serialization/ZigZagEncodeAttribute",component:g("/Mirage/docs/reference/Mirage.Serialization/ZigZagEncodeAttribute","961"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/",component:g("/Mirage/docs/reference/Mirage.SocketLayer/","303"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem",component:g("/Mirage/docs/reference/Mirage.SocketLayer/AckSystem","a2e"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem.ReliablePacket",component:g("/Mirage/docs/reference/Mirage.SocketLayer/AckSystem.ReliablePacket","72f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem.ReliableReceived",component:g("/Mirage/docs/reference/Mirage.SocketLayer/AckSystem.ReliableReceived","489"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/ArrayBatch",component:g("/Mirage/docs/reference/Mirage.SocketLayer/ArrayBatch","843"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/AutoCompleteToken",component:g("/Mirage/docs/reference/Mirage.SocketLayer/AutoCompleteToken","d54"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/Batch",component:g("/Mirage/docs/reference/Mirage.SocketLayer/Batch","9e3"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/ByteBuffer",component:g("/Mirage/docs/reference/Mirage.SocketLayer/ByteBuffer","01c"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/ByteUtils",component:g("/Mirage/docs/reference/Mirage.SocketLayer/ByteUtils","905"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/Commands",component:g("/Mirage/docs/reference/Mirage.SocketLayer/Commands","c21"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/Config",component:g("/Mirage/docs/reference/Mirage.SocketLayer/Config","97e"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/ConnectionExtensions",component:g("/Mirage/docs/reference/Mirage.SocketLayer/ConnectionExtensions","3c0"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/ConnectionState",component:g("/Mirage/docs/reference/Mirage.SocketLayer/ConnectionState","00c"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/DisconnectReason",component:g("/Mirage/docs/reference/Mirage.SocketLayer/DisconnectReason","94c"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/IConnection",component:g("/Mirage/docs/reference/Mirage.SocketLayer/IConnection","af3"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/IDataHandler",component:g("/Mirage/docs/reference/Mirage.SocketLayer/IDataHandler","eb4"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/IEndPoint",component:g("/Mirage/docs/reference/Mirage.SocketLayer/IEndPoint","b20"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/IHasAddress",component:g("/Mirage/docs/reference/Mirage.SocketLayer/IHasAddress","564"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/IHasPort",component:g("/Mirage/docs/reference/Mirage.SocketLayer/IHasPort","f96"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/INotifyCallBack",component:g("/Mirage/docs/reference/Mirage.SocketLayer/INotifyCallBack","191"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/INotifyCallBackExtensions",component:g("/Mirage/docs/reference/Mirage.SocketLayer/INotifyCallBackExtensions","d2e"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/INotifyToken",component:g("/Mirage/docs/reference/Mirage.SocketLayer/INotifyToken","ad2"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/IPeer",component:g("/Mirage/docs/reference/Mirage.SocketLayer/IPeer","62c"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/IRawConnection",component:g("/Mirage/docs/reference/Mirage.SocketLayer/IRawConnection","4eb"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/ISocket",component:g("/Mirage/docs/reference/Mirage.SocketLayer/ISocket","86e"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/ITime",component:g("/Mirage/docs/reference/Mirage.SocketLayer/ITime","8e0"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/Metrics",component:g("/Mirage/docs/reference/Mirage.SocketLayer/Metrics","302"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/Metrics.Frame",component:g("/Mirage/docs/reference/Mirage.SocketLayer/Metrics.Frame","605"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/NotifyToken",component:g("/Mirage/docs/reference/Mirage.SocketLayer/NotifyToken","dcf"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/PacketType",component:g("/Mirage/docs/reference/Mirage.SocketLayer/PacketType","c61"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/Peer",component:g("/Mirage/docs/reference/Mirage.SocketLayer/Peer","550"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1",component:g("/Mirage/docs/reference/Mirage.SocketLayer/Pool-1","523"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItem",component:g("/Mirage/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItem","f77"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount",component:g("/Mirage/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount","747"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/PoolMetrics",component:g("/Mirage/docs/reference/Mirage.SocketLayer/PoolMetrics","854"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/RejectReason",component:g("/Mirage/docs/reference/Mirage.SocketLayer/RejectReason","d97"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/ReliableBatch",component:g("/Mirage/docs/reference/Mirage.SocketLayer/ReliableBatch","d7b"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/RingBuffer-1",component:g("/Mirage/docs/reference/Mirage.SocketLayer/RingBuffer-1","797"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/Sequencer",component:g("/Mirage/docs/reference/Mirage.SocketLayer/Sequencer","ad0"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.SocketLayer/SocketFactory",component:g("/Mirage/docs/reference/Mirage.SocketLayer/SocketFactory","588"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Sockets.Udp/",component:g("/Mirage/docs/reference/Mirage.Sockets.Udp/","797"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Sockets.Udp/EndPointWrapper",component:g("/Mirage/docs/reference/Mirage.Sockets.Udp/EndPointWrapper","ce7"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Sockets.Udp/InitUDP",component:g("/Mirage/docs/reference/Mirage.Sockets.Udp/InitUDP","890"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoEndPoint",component:g("/Mirage/docs/reference/Mirage.Sockets.Udp/NanoEndPoint","4b1"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoSocket",component:g("/Mirage/docs/reference/Mirage.Sockets.Udp/NanoSocket","d1f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoSocketException",component:g("/Mirage/docs/reference/Mirage.Sockets.Udp/NanoSocketException","fdc"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Sockets.Udp/SocketLib",component:g("/Mirage/docs/reference/Mirage.Sockets.Udp/SocketLib","7ca"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpMTU",component:g("/Mirage/docs/reference/Mirage.Sockets.Udp/UdpMTU","c2d"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpSocket",component:g("/Mirage/docs/reference/Mirage.Sockets.Udp/UdpSocket","c5b"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpSocketFactory",component:g("/Mirage/docs/reference/Mirage.Sockets.Udp/UdpSocketFactory","c4f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Visibility/",component:g("/Mirage/docs/reference/Mirage.Visibility/","4a3"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage.Visibility/AlwaysNetworkVisibility",component:g("/Mirage/docs/reference/Mirage.Visibility/AlwaysNetworkVisibility","a32"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/",component:g("/Mirage/docs/reference/Mirage/","496"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/AddCharacterMessage",component:g("/Mirage/docs/reference/Mirage/AddCharacterMessage","bf6"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/AuthorityChanged",component:g("/Mirage/docs/reference/Mirage/AuthorityChanged","22b"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/AutoPool-1",component:g("/Mirage/docs/reference/Mirage/AutoPool-1","d92"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/AutoPool-1.Wrapper",component:g("/Mirage/docs/reference/Mirage/AutoPool-1.Wrapper","a49"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/Channel",component:g("/Mirage/docs/reference/Mirage/Channel","d1c"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/CharacterSpawner",component:g("/Mirage/docs/reference/Mirage/CharacterSpawner","71b"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/CharacterSpawner.PlayerSpawnMethod",component:g("/Mirage/docs/reference/Mirage/CharacterSpawner.PlayerSpawnMethod","324"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/ClientAttribute",component:g("/Mirage/docs/reference/Mirage/ClientAttribute","7ff"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/ClientObjectManager",component:g("/Mirage/docs/reference/Mirage/ClientObjectManager","ca2"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/ClientRpcAttribute",component:g("/Mirage/docs/reference/Mirage/ClientRpcAttribute","cfd"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/ClientStoppedReason",component:g("/Mirage/docs/reference/Mirage/ClientStoppedReason","d21"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/ConnectState",component:g("/Mirage/docs/reference/Mirage/ConnectState","8b7"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/DeserializeFailedException",component:g("/Mirage/docs/reference/Mirage/DeserializeFailedException","544"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/DynamicSpawnHandlerDelegate",component:g("/Mirage/docs/reference/Mirage/DynamicSpawnHandlerDelegate","1e4"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/ExponentialMovingAverage",component:g("/Mirage/docs/reference/Mirage/ExponentialMovingAverage","5fc"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/FoldoutEventAttribute",component:g("/Mirage/docs/reference/Mirage/FoldoutEventAttribute","761"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/GameObjectExtensions",component:g("/Mirage/docs/reference/Mirage/GameObjectExtensions","f22"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/GameObjectSerializers",component:g("/Mirage/docs/reference/Mirage/GameObjectSerializers","923"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/GameObjectSyncvar",component:g("/Mirage/docs/reference/Mirage/GameObjectSyncvar","9ff"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/HasAuthorityAttribute",component:g("/Mirage/docs/reference/Mirage/HasAuthorityAttribute","5eb"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/HeadlessAutoStart",component:g("/Mirage/docs/reference/Mirage/HeadlessAutoStart","730"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/HeadlessFrameLimiter",component:g("/Mirage/docs/reference/Mirage/HeadlessFrameLimiter","0e5"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/HostRendererVisibility",component:g("/Mirage/docs/reference/Mirage/HostRendererVisibility","371"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/IMessageReceiver",component:g("/Mirage/docs/reference/Mirage/IMessageReceiver","785"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/IMessageSender",component:g("/Mirage/docs/reference/Mirage/IMessageSender","2ca"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/INetIdGenerator",component:g("/Mirage/docs/reference/Mirage/INetIdGenerator","286"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/INetworkPlayer",component:g("/Mirage/docs/reference/Mirage/INetworkPlayer","293"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/INetworkVisibility",component:g("/Mirage/docs/reference/Mirage/INetworkVisibility","ee9"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/IObjectLocator",component:g("/Mirage/docs/reference/Mirage/IObjectLocator","a7c"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/IObjectOwner",component:g("/Mirage/docs/reference/Mirage/IObjectOwner","8c7"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/ISceneLoader",component:g("/Mirage/docs/reference/Mirage/ISceneLoader","1c1"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/IVisibilityTracker",component:g("/Mirage/docs/reference/Mirage/IVisibilityTracker","266"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/LocalPlayerAttribute",component:g("/Mirage/docs/reference/Mirage/LocalPlayerAttribute","79d"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/MessageDelegate-1",component:g("/Mirage/docs/reference/Mirage/MessageDelegate-1","17f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/MessageDelegateAsync-1",component:g("/Mirage/docs/reference/Mirage/MessageDelegateAsync-1","f02"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/MessageDelegateWithPlayer-1",component:g("/Mirage/docs/reference/Mirage/MessageDelegateWithPlayer-1","faf"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/MessageDelegateWithPlayerAsync-1",component:g("/Mirage/docs/reference/Mirage/MessageDelegateWithPlayerAsync-1","a68"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/MessageHandler",component:g("/Mirage/docs/reference/Mirage/MessageHandler","642"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/MessageReceiverExtensions",component:g("/Mirage/docs/reference/Mirage/MessageReceiverExtensions","89c"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/MessageWaiter-1",component:g("/Mirage/docs/reference/Mirage/MessageWaiter-1","1d7"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/MethodInvocationException",component:g("/Mirage/docs/reference/Mirage/MethodInvocationException","3a3"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkAnimator",component:g("/Mirage/docs/reference/Mirage/NetworkAnimator","8db"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkBehaviorSerializers",component:g("/Mirage/docs/reference/Mirage/NetworkBehaviorSerializers","3e8"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkBehaviorSyncvar",component:g("/Mirage/docs/reference/Mirage/NetworkBehaviorSyncvar","550"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkBehaviorSyncvar-1",component:g("/Mirage/docs/reference/Mirage/NetworkBehaviorSyncvar-1","6ab"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkBehaviour",component:g("/Mirage/docs/reference/Mirage/NetworkBehaviour","b46"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkBehaviour.Id",component:g("/Mirage/docs/reference/Mirage/NetworkBehaviour.Id","52c"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkClient",component:g("/Mirage/docs/reference/Mirage/NetworkClient","f28"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkDiagnostics",component:g("/Mirage/docs/reference/Mirage/NetworkDiagnostics","b70"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkDiagnostics.MessageInfo",component:g("/Mirage/docs/reference/Mirage/NetworkDiagnostics.MessageInfo","5d4"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkedPrefabAttribute",component:g("/Mirage/docs/reference/Mirage/NetworkedPrefabAttribute","b18"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkExtensions",component:g("/Mirage/docs/reference/Mirage/NetworkExtensions","135"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkFlags",component:g("/Mirage/docs/reference/Mirage/NetworkFlags","2a4"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkIdentity",component:g("/Mirage/docs/reference/Mirage/NetworkIdentity","032"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkIdentitySerializers",component:g("/Mirage/docs/reference/Mirage/NetworkIdentitySerializers","1e7"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkIdentitySyncvar",component:g("/Mirage/docs/reference/Mirage/NetworkIdentitySyncvar","c60"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkInspectorCallbacks",component:g("/Mirage/docs/reference/Mirage/NetworkInspectorCallbacks","366"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkManager",component:g("/Mirage/docs/reference/Mirage/NetworkManager","379"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkManagerGUI",component:g("/Mirage/docs/reference/Mirage/NetworkManagerGUI","748"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkManagerHud",component:g("/Mirage/docs/reference/Mirage/NetworkManagerHud","e30"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkManagerMode",component:g("/Mirage/docs/reference/Mirage/NetworkManagerMode","60f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkMatchChecker",component:g("/Mirage/docs/reference/Mirage/NetworkMatchChecker","bd6"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkMessageAttribute",component:g("/Mirage/docs/reference/Mirage/NetworkMessageAttribute","ab0"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkMethodAttribute",component:g("/Mirage/docs/reference/Mirage/NetworkMethodAttribute","dda"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkPingDisplay",component:g("/Mirage/docs/reference/Mirage/NetworkPingDisplay","5f8"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkPingMessage",component:g("/Mirage/docs/reference/Mirage/NetworkPingMessage","6d2"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkPlayer",component:g("/Mirage/docs/reference/Mirage/NetworkPlayer","157"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkPongMessage",component:g("/Mirage/docs/reference/Mirage/NetworkPongMessage","d50"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkPrefabs",component:g("/Mirage/docs/reference/Mirage/NetworkPrefabs","b22"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkProximityChecker",component:g("/Mirage/docs/reference/Mirage/NetworkProximityChecker","f9c"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkSceneChecker",component:g("/Mirage/docs/reference/Mirage/NetworkSceneChecker","603"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkSceneManager",component:g("/Mirage/docs/reference/Mirage/NetworkSceneManager","d5e"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkServer",component:g("/Mirage/docs/reference/Mirage/NetworkServer","09b"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkSpawnSettings",component:g("/Mirage/docs/reference/Mirage/NetworkSpawnSettings","ee3"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkTime",component:g("/Mirage/docs/reference/Mirage/NetworkTime","3cc"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkTransform",component:g("/Mirage/docs/reference/Mirage/NetworkTransform","ef5"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkTransformBase",component:g("/Mirage/docs/reference/Mirage/NetworkTransformBase","a94"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkTransformBase.DataPoint",component:g("/Mirage/docs/reference/Mirage/NetworkTransformBase.DataPoint","f94"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkTransformChild",component:g("/Mirage/docs/reference/Mirage/NetworkTransformChild","7e6"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkVisibility",component:g("/Mirage/docs/reference/Mirage/NetworkVisibility","805"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkVisibility.VisibilityChanged",component:g("/Mirage/docs/reference/Mirage/NetworkVisibility.VisibilityChanged","1a2"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkWorld",component:g("/Mirage/docs/reference/Mirage/NetworkWorld","140"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/NetworkWorldExtensions",component:g("/Mirage/docs/reference/Mirage/NetworkWorldExtensions","f78"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/ObjectDestroyMessage",component:g("/Mirage/docs/reference/Mirage/ObjectDestroyMessage","a97"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/ObjectHideMessage",component:g("/Mirage/docs/reference/Mirage/ObjectHideMessage","d84"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/OnlineOfflineScene",component:g("/Mirage/docs/reference/Mirage/OnlineOfflineScene","683"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/PipePeerConnection",component:g("/Mirage/docs/reference/Mirage/PipePeerConnection","641"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/PipePeerConnection.PipeEndPoint",component:g("/Mirage/docs/reference/Mirage/PipePeerConnection.PipeEndPoint","604"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/PlayerSceneChangeEvent",component:g("/Mirage/docs/reference/Mirage/PlayerSceneChangeEvent","345"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/ReadOnlyInspectorAttribute",component:g("/Mirage/docs/reference/Mirage/ReadOnlyInspectorAttribute","654"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/RemoveAuthorityMessage",component:g("/Mirage/docs/reference/Mirage/RemoveAuthorityMessage","1cf"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/RemoveCharacterMessage",component:g("/Mirage/docs/reference/Mirage/RemoveCharacterMessage","ab8"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/RpcTarget",component:g("/Mirage/docs/reference/Mirage/RpcTarget","e65"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SceneAttribute",component:g("/Mirage/docs/reference/Mirage/SceneAttribute","105"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SceneChangeFinishedEvent",component:g("/Mirage/docs/reference/Mirage/SceneChangeFinishedEvent","b6c"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SceneChangeStartedEvent",component:g("/Mirage/docs/reference/Mirage/SceneChangeStartedEvent","67f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SceneMessage",component:g("/Mirage/docs/reference/Mirage/SceneMessage","c0f"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SceneNotReadyMessage",component:g("/Mirage/docs/reference/Mirage/SceneNotReadyMessage","877"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SceneOperation",component:g("/Mirage/docs/reference/Mirage/SceneOperation","bf3"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SceneReadyMessage",component:g("/Mirage/docs/reference/Mirage/SceneReadyMessage","be5"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SceneVisibilityChecker",component:g("/Mirage/docs/reference/Mirage/SceneVisibilityChecker","497"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/ServerAttribute",component:g("/Mirage/docs/reference/Mirage/ServerAttribute","39c"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/ServerObjectManager",component:g("/Mirage/docs/reference/Mirage/ServerObjectManager","8a4"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/ServerObjectManagerExtensions",component:g("/Mirage/docs/reference/Mirage/ServerObjectManagerExtensions","410"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/ServerRpcAttribute",component:g("/Mirage/docs/reference/Mirage/ServerRpcAttribute","720"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/ShowInInspectorAttribute",component:g("/Mirage/docs/reference/Mirage/ShowInInspectorAttribute","baa"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SpawnEvent",component:g("/Mirage/docs/reference/Mirage/SpawnEvent","990"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SpawnHandler",component:g("/Mirage/docs/reference/Mirage/SpawnHandler","c86"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SpawnHandlerAsyncDelegate",component:g("/Mirage/docs/reference/Mirage/SpawnHandlerAsyncDelegate","2ad"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SpawnHandlerDelegate",component:g("/Mirage/docs/reference/Mirage/SpawnHandlerDelegate","92d"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SpawnMessage",component:g("/Mirage/docs/reference/Mirage/SpawnMessage","8f3"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SpawnObjectException",component:g("/Mirage/docs/reference/Mirage/SpawnObjectException","0eb"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SpawnValues",component:g("/Mirage/docs/reference/Mirage/SpawnValues","0b0"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/StringHash",component:g("/Mirage/docs/reference/Mirage/StringHash","aa0"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SyncActiveOption",component:g("/Mirage/docs/reference/Mirage/SyncActiveOption","343"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SyncFrom",component:g("/Mirage/docs/reference/Mirage/SyncFrom","821"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SyncHookType",component:g("/Mirage/docs/reference/Mirage/SyncHookType","08a"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SyncPrefab",component:g("/Mirage/docs/reference/Mirage/SyncPrefab","2db"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SyncPrefabSerialize",component:g("/Mirage/docs/reference/Mirage/SyncPrefabSerialize","3dc"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SyncSettings",component:g("/Mirage/docs/reference/Mirage/SyncSettings","570"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SyncTiming",component:g("/Mirage/docs/reference/Mirage/SyncTiming","ae9"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SyncTo",component:g("/Mirage/docs/reference/Mirage/SyncTo","c85"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SyncVarAttribute",component:g("/Mirage/docs/reference/Mirage/SyncVarAttribute","9a2"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SyncVarReceiver",component:g("/Mirage/docs/reference/Mirage/SyncVarReceiver","fea"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/SyncVarSender",component:g("/Mirage/docs/reference/Mirage/SyncVarSender","554"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/UnSpawnDelegate",component:g("/Mirage/docs/reference/Mirage/UnSpawnDelegate","c31"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/UpdateVarsMessage",component:g("/Mirage/docs/reference/Mirage/UpdateVarsMessage","2dd"),exact:!0,sidebar:"api"},{path:"/Mirage/docs/reference/Mirage/Version",component:g("/Mirage/docs/reference/Mirage/Version","205"),exact:!0,sidebar:"api"}]},{path:"/Mirage/",component:g("/Mirage/","083"),exact:!0},{path:"*",component:g("*")}]},98934:(e,t,r)=>{"use strict";r.d(t,{_:()=>a,t:()=>i});var n=r(67294);const a=n.createContext(!1);function i(e){let{children:t}=e;const[r,i]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{i(!0)}),[]),n.createElement(a.Provider,{value:r},t)}},49383:(e,t,r)=>{"use strict";var n=r(67294),a=r(73935),i=r(73727),o=r(70405),c=r(10412);const s=[r(32497),r(3310),r(18320),r(13395)];var d=r(723),l=r(76775),u=r(18790);function g(e){let{children:t}=e;return n.createElement(n.Fragment,null,t)}var p=r(87462),f=r(35742),m=r(52263),h=r(44996),b=r(86668),M=r(1944),y=r(94711),v=r(19727),k=r(43320),S=r(90197);function w(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,m.Z)(),r=(0,y.l)();return n.createElement(f.Z,null,Object.entries(t).map((e=>{let[t,{htmlLang:a}]=e;return n.createElement("link",{key:t,rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:a})})),n.createElement("link",{rel:"alternate",href:r.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function E(e){let{permalink:t}=e;const{siteConfig:{url:r}}=(0,m.Z)(),a=function(){const{siteConfig:{url:e}}=(0,m.Z)(),{pathname:t}=(0,l.TH)();return e+(0,h.Z)(t)}(),i=t?""+r+t:a;return n.createElement(f.Z,null,n.createElement("meta",{property:"og:url",content:i}),n.createElement("link",{rel:"canonical",href:i}))}function _(){const{i18n:{currentLocale:e}}=(0,m.Z)(),{metadata:t,image:r}=(0,b.L)();return n.createElement(n.Fragment,null,n.createElement(f.Z,null,n.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),n.createElement("body",{className:v.h})),r&&n.createElement(M.d,{image:r}),n.createElement(E,null),n.createElement(w,null),n.createElement(S.Z,{tag:k.HX,locale:e}),n.createElement(f.Z,null,t.map(((e,t)=>n.createElement("meta",(0,p.Z)({key:t},e))))))}const x=new Map;function C(e){if(x.has(e.pathname))return{...e,pathname:x.get(e.pathname)};if((0,u.f)(d.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return x.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return x.set(e.pathname,t),{...e,pathname:t}}var A=r(98934),L=r(58940);function N(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];const a=s.map((t=>{var n,a;const i=null!=(n=null==(a=t.default)?void 0:a[e])?n:t[e];return null==i?void 0:i(...r)}));return()=>a.forEach((e=>null==e?void 0:e()))}const P=function(e){let{children:t,location:r,previousLocation:a}=e;return(0,n.useLayoutEffect)((()=>{a!==r&&(a&&function(e){const{hash:t}=e;if(t){const e=decodeURIComponent(t.substring(1)),r=document.getElementById(e);null==r||r.scrollIntoView()}else window.scrollTo(0,0)}(r),N("onRouteDidUpdate",{previousLocation:a,location:r}))}),[a,r]),t};function I(e){const t=(0,u.f)(d.Z,e);return Promise.all(t.map((e=>null==e.route.component.preload?void 0:e.route.component.preload())))}class T extends n.Component{constructor(e){super(e),this.previousLocation=void 0,this.routeUpdateCleanupCb=void 0,this.previousLocation=null,this.routeUpdateCleanupCb=c.Z.canUseDOM?N("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const r=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=N("onRouteUpdate",{previousLocation:this.previousLocation,location:r}),I(r.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return n.createElement(P,{previousLocation:this.previousLocation,location:t},n.createElement(l.AW,{location:t,render:()=>e}))}}const R=T,O="docusaurus-base-url-issue-banner-container",z="docusaurus-base-url-issue-banner-suggestion-container",D="__DOCUSAURUS_INSERT_BASEURL_BANNER";function B(e){return"\nwindow['"+D+"'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['"+D+"'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('"+O+"');\n if (!bannerContainer) {\n return;\n }\n var bannerHtml = "+JSON.stringify(function(e){return'\n<div id="docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseurl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">'+e+"</span> "+("/"===e?" (default value)":"")+'</p>\n <p>We suggest trying baseUrl = <span id="'+z+'" style="font-weight: bold; color: green;"></span></p>\n</div>\n'}(e)).replace(/</g,"\\<")+";\n bannerContainer.innerHTML = bannerHtml;\n var suggestionContainer = document.getElementById('"+z+"');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n"}function F(){const{siteConfig:{baseUrl:e}}=(0,m.Z)();return(0,n.useLayoutEffect)((()=>{window[D]=!1}),[]),n.createElement(n.Fragment,null,!c.Z.canUseDOM&&n.createElement(f.Z,null,n.createElement("script",null,B(e))),n.createElement("div",{id:O}))}function j(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,m.Z)(),{pathname:r}=(0,l.TH)();return t&&r===e?n.createElement(F,null):null}function U(){const{siteConfig:{favicon:e,title:t},i18n:{currentLocale:r,localeConfigs:a}}=(0,m.Z)(),i=(0,h.Z)(e),{htmlLang:o,direction:c}=a[r];return n.createElement(f.Z,null,n.createElement("html",{lang:o,dir:c}),n.createElement("title",null,t),n.createElement("meta",{property:"og:title",content:t}),e&&n.createElement("link",{rel:"icon",href:i}))}var H=r(44763);function V(){const e=(0,u.H)(d.Z),t=(0,l.TH)();return n.createElement(H.Z,null,n.createElement(L.M,null,n.createElement(A.t,null,n.createElement(g,null,n.createElement(U,null),n.createElement(_,null),n.createElement(j,null),n.createElement(R,{location:C(t)},e)))))}var $=r(16887);const Z=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,r)=>{var n,a;if("undefined"==typeof document)return void r();const i=document.createElement("link");i.setAttribute("rel","prefetch"),i.setAttribute("href",e),i.onload=()=>t(),i.onerror=()=>r();const o=null!=(n=document.getElementsByTagName("head")[0])?n:null==(a=document.getElementsByName("script")[0])?void 0:a.parentNode;null==o||o.appendChild(i)}))}:function(e){return new Promise(((t,r)=>{const n=new XMLHttpRequest;n.open("GET",e,!0),n.withCredentials=!0,n.onload=()=>{200===n.status?t():r()},n.send(null)}))};var W=r(99670);const G=new Set,q=new Set,Y=()=>{var e,t;return(null==(e=navigator.connection)?void 0:e.effectiveType.includes("2g"))||(null==(t=navigator.connection)?void 0:t.saveData)},K={prefetch(e){if(!(e=>!Y()&&!q.has(e)&&!G.has(e))(e))return!1;G.add(e);const t=(0,u.f)(d.Z,e).flatMap((e=>{return t=e.route.path,Object.entries($).filter((e=>{let[r]=e;return r.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,W.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=r.gca(e);return t&&!t.includes("undefined")?Z(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!Y()&&!q.has(e))(e)&&(q.add(e),I(e))},Q=Object.freeze(K);if(c.Z.canUseDOM){window.docusaurus=Q;const e=a.hydrate;I(window.location.pathname).then((()=>{e(n.createElement(o.B6,null,n.createElement(i.VK,null,n.createElement(V,null))),document.getElementById("__docusaurus"))}))}},58940:(e,t,r)=>{"use strict";r.d(t,{_:()=>l,M:()=>u});var n=r(67294),a=r(36809);const i=JSON.parse('{"docusaurus-lunr-search":{"default":{"fileNames":{"searchDoc":"search-doc-1715030059162.json","lunrIndex":"lunr-index-1715030059162.json"}}},"docusaurus-plugin-content-docs":{"default":{"path":"/Mirage/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/Mirage/docs","mainDocId":"general/overview","docs":[{"id":"components/index","path":"/Mirage/docs/components/","sidebar":"docs"},{"id":"components/network-animator","path":"/Mirage/docs/components/network-animator","sidebar":"docs"},{"id":"components/network-discovery","path":"/Mirage/docs/components/network-discovery","sidebar":"docs"},{"id":"components/network-identity","path":"/Mirage/docs/components/network-identity","sidebar":"docs"},{"id":"components/network-log-settings","path":"/Mirage/docs/components/network-log-settings","sidebar":"docs"},{"id":"components/network-manager","path":"/Mirage/docs/components/network-manager","sidebar":"docs"},{"id":"components/network-manager-hud","path":"/Mirage/docs/components/network-manager-hud","sidebar":"docs"},{"id":"components/network-match-checker","path":"/Mirage/docs/components/network-match-checker","sidebar":"docs"},{"id":"components/network-ping-display","path":"/Mirage/docs/components/network-ping-display","sidebar":"docs"},{"id":"components/network-proximity-checker","path":"/Mirage/docs/components/network-proximity-checker","sidebar":"docs"},{"id":"components/network-room-manager","path":"/Mirage/docs/components/network-room-manager","sidebar":"docs"},{"id":"components/network-room-player","path":"/Mirage/docs/components/network-room-player","sidebar":"docs"},{"id":"components/network-scene-checker","path":"/Mirage/docs/components/network-scene-checker","sidebar":"docs"},{"id":"components/network-scene-manager","path":"/Mirage/docs/components/network-scene-manager","sidebar":"docs"},{"id":"components/network-start-position","path":"/Mirage/docs/components/network-start-position","sidebar":"docs"},{"id":"components/network-transform","path":"/Mirage/docs/components/network-transform","sidebar":"docs"},{"id":"components/network-transform-child","path":"/Mirage/docs/components/network-transform-child","sidebar":"docs"},{"id":"components/ready-check","path":"/Mirage/docs/components/ready-check","sidebar":"docs"},{"id":"examples/additive-scenes","path":"/Mirage/docs/examples/additive-scenes","sidebar":"docs"},{"id":"examples/basic","path":"/Mirage/docs/examples/basic","sidebar":"docs"},{"id":"examples/change-scene","path":"/Mirage/docs/examples/change-scene","sidebar":"docs"},{"id":"examples/chat","path":"/Mirage/docs/examples/chat","sidebar":"docs"},{"id":"examples/index","path":"/Mirage/docs/examples/","sidebar":"docs"},{"id":"examples/multiple-additive-scenes","path":"/Mirage/docs/examples/multiple-additive-scenes","sidebar":"docs"},{"id":"examples/pong","path":"/Mirage/docs/examples/pong","sidebar":"docs"},{"id":"examples/room","path":"/Mirage/docs/examples/room","sidebar":"docs"},{"id":"examples/tanks","path":"/Mirage/docs/examples/tanks","sidebar":"docs"},{"id":"general/CHANGELOG","path":"/Mirage/docs/general/CHANGELOG","sidebar":"docs"},{"id":"general/getting-started","path":"/Mirage/docs/general/getting-started","sidebar":"docs"},{"id":"general/overview","path":"/Mirage/docs/general/overview","sidebar":"docs"},{"id":"general/showcase","path":"/Mirage/docs/general/showcase","sidebar":"docs"},{"id":"general/sockets","path":"/Mirage/docs/general/sockets","sidebar":"docs"},{"id":"general/support","path":"/Mirage/docs/general/support","sidebar":"docs"},{"id":"general/troubleshooting","path":"/Mirage/docs/general/troubleshooting","sidebar":"docs"},{"id":"guides/about-ids","path":"/Mirage/docs/guides/about-ids","sidebar":"docs"},{"id":"guides/attributes","path":"/Mirage/docs/guides/attributes","sidebar":"docs"},{"id":"guides/authentication/authenticator-settings","path":"/Mirage/docs/guides/authentication/authenticator-settings","sidebar":"docs"},{"id":"guides/authentication/basic-authenticator","path":"/Mirage/docs/guides/authentication/basic-authenticator","sidebar":"docs"},{"id":"guides/authentication/custom-authenticator","path":"/Mirage/docs/guides/authentication/custom-authenticator","sidebar":"docs"},{"id":"guides/authentication/index","path":"/Mirage/docs/guides/authentication/","sidebar":"docs"},{"id":"guides/authentication/session-id","path":"/Mirage/docs/guides/authentication/session-id","sidebar":"docs"},{"id":"guides/authority","path":"/Mirage/docs/guides/authority","sidebar":"docs"},{"id":"guides/best-practices","path":"/Mirage/docs/guides/best-practices","sidebar":"docs"},{"id":"guides/bit-packing/bit-count","path":"/Mirage/docs/guides/bit-packing/bit-count","sidebar":"docs"},{"id":"guides/bit-packing/bit-count-from-range","path":"/Mirage/docs/guides/bit-packing/bit-count-from-range","sidebar":"docs"},{"id":"guides/bit-packing/float-pack","path":"/Mirage/docs/guides/bit-packing/float-pack","sidebar":"docs"},{"id":"guides/bit-packing/index","path":"/Mirage/docs/guides/bit-packing/","sidebar":"docs"},{"id":"guides/bit-packing/quaternion-pack","path":"/Mirage/docs/guides/bit-packing/quaternion-pack","sidebar":"docs"},{"id":"guides/bit-packing/var-int","path":"/Mirage/docs/guides/bit-packing/var-int","sidebar":"docs"},{"id":"guides/bit-packing/var-int-blocks","path":"/Mirage/docs/guides/bit-packing/var-int-blocks","sidebar":"docs"},{"id":"guides/bit-packing/vector-pack","path":"/Mirage/docs/guides/bit-packing/vector-pack","sidebar":"docs"},{"id":"guides/bit-packing/zig-zag-encode","path":"/Mirage/docs/guides/bit-packing/zig-zag-encode","sidebar":"docs"},{"id":"guides/callbacks/index","path":"/Mirage/docs/guides/callbacks/","sidebar":"docs"},{"id":"guides/callbacks/network-behaviour","path":"/Mirage/docs/guides/callbacks/network-behaviour","sidebar":"docs"},{"id":"guides/callbacks/network-manager","path":"/Mirage/docs/guides/callbacks/network-manager","sidebar":"docs"},{"id":"guides/clock-sync","path":"/Mirage/docs/guides/clock-sync","sidebar":"docs"},{"id":"guides/community-guides/index","path":"/Mirage/docs/guides/community-guides/","sidebar":"docs"},{"id":"guides/community-guides/mirage-quick-start-guide","path":"/Mirage/docs/guides/community-guides/mirage-quick-start-guide","sidebar":"docs"},{"id":"guides/development-servers/aws","path":"/Mirage/docs/guides/development-servers/aws","sidebar":"docs"},{"id":"guides/development-servers/google-cloud","path":"/Mirage/docs/guides/development-servers/google-cloud","sidebar":"docs"},{"id":"guides/development-servers/index","path":"/Mirage/docs/guides/development-servers/","sidebar":"docs"},{"id":"guides/faq","path":"/Mirage/docs/guides/faq","sidebar":"docs"},{"id":"guides/game-objects/index","path":"/Mirage/docs/guides/game-objects/","sidebar":"docs"},{"id":"guides/game-objects/lifecycle","path":"/Mirage/docs/guides/game-objects/lifecycle","sidebar":"docs"},{"id":"guides/game-objects/network-behaviour","path":"/Mirage/docs/guides/game-objects/network-behaviour","sidebar":"docs"},{"id":"guides/game-objects/pickup-drop-child","path":"/Mirage/docs/guides/game-objects/pickup-drop-child","sidebar":"docs"},{"id":"guides/game-objects/scene-objects","path":"/Mirage/docs/guides/game-objects/scene-objects","sidebar":"docs"},{"id":"guides/game-objects/spawn-object","path":"/Mirage/docs/guides/game-objects/spawn-object","sidebar":"docs"},{"id":"guides/game-objects/spawn-object-custom","path":"/Mirage/docs/guides/game-objects/spawn-object-custom","sidebar":"docs"},{"id":"guides/game-objects/spawn-object-pooling","path":"/Mirage/docs/guides/game-objects/spawn-object-pooling","sidebar":"docs"},{"id":"guides/game-objects/spawn-player","path":"/Mirage/docs/guides/game-objects/spawn-player","sidebar":"docs"},{"id":"guides/game-objects/spawn-player-custom","path":"/Mirage/docs/guides/game-objects/spawn-player-custom","sidebar":"docs"},{"id":"guides/mirror-migration","path":"/Mirage/docs/guides/mirror-migration","sidebar":"docs"},{"id":"guides/network-visibility","path":"/Mirage/docs/guides/network-visibility","sidebar":"docs"},{"id":"guides/overview","path":"/Mirage/docs/guides/overview","sidebar":"docs"},{"id":"guides/remote-actions/client-rpc","path":"/Mirage/docs/guides/remote-actions/client-rpc","sidebar":"docs"},{"id":"guides/remote-actions/index","path":"/Mirage/docs/guides/remote-actions/","sidebar":"docs"},{"id":"guides/remote-actions/network-messages","path":"/Mirage/docs/guides/remote-actions/network-messages","sidebar":"docs"},{"id":"guides/remote-actions/rpc-examples","path":"/Mirage/docs/guides/remote-actions/rpc-examples","sidebar":"docs"},{"id":"guides/remote-actions/server-rpc","path":"/Mirage/docs/guides/remote-actions/server-rpc","sidebar":"docs"},{"id":"guides/resources","path":"/Mirage/docs/guides/resources","sidebar":"docs"},{"id":"guides/scene-loading/index","path":"/Mirage/docs/guides/scene-loading/","sidebar":"docs"},{"id":"guides/scene-loading/manual-scene-loading","path":"/Mirage/docs/guides/scene-loading/manual-scene-loading","sidebar":"docs"},{"id":"guides/scene-loading/network-scene-manager","path":"/Mirage/docs/guides/scene-loading/network-scene-manager","sidebar":"docs"},{"id":"guides/serialization/advanced","path":"/Mirage/docs/guides/serialization/advanced","sidebar":"docs"},{"id":"guides/serialization/data-types","path":"/Mirage/docs/guides/serialization/data-types","sidebar":"docs"},{"id":"guides/serialization/generics","path":"/Mirage/docs/guides/serialization/generics","sidebar":"docs"},{"id":"guides/serialization/index","path":"/Mirage/docs/guides/serialization/","sidebar":"docs"},{"id":"guides/serialization/sync-prefab","path":"/Mirage/docs/guides/serialization/sync-prefab","sidebar":"docs"},{"id":"guides/sync/code-generation","path":"/Mirage/docs/guides/sync/code-generation","sidebar":"docs"},{"id":"guides/sync/custom-serialization","path":"/Mirage/docs/guides/sync/custom-serialization","sidebar":"docs"},{"id":"guides/sync/index","path":"/Mirage/docs/guides/sync/","sidebar":"docs"},{"id":"guides/sync/serialization-flow","path":"/Mirage/docs/guides/sync/serialization-flow","sidebar":"docs"},{"id":"guides/sync/sync-objects/sync-dictionary","path":"/Mirage/docs/guides/sync/sync-objects/sync-dictionary","sidebar":"docs"},{"id":"guides/sync/sync-objects/sync-hash-set","path":"/Mirage/docs/guides/sync/sync-objects/sync-hash-set","sidebar":"docs"},{"id":"guides/sync/sync-objects/sync-list","path":"/Mirage/docs/guides/sync/sync-objects/sync-list","sidebar":"docs"},{"id":"guides/sync/sync-objects/sync-sorted-set","path":"/Mirage/docs/guides/sync/sync-objects/sync-sorted-set","sidebar":"docs"},{"id":"guides/sync/sync-settings","path":"/Mirage/docs/guides/sync/sync-settings","sidebar":"docs"},{"id":"guides/sync/sync-var","path":"/Mirage/docs/guides/sync/sync-var","sidebar":"docs"},{"id":"guides/sync/sync-var-hooks","path":"/Mirage/docs/guides/sync/sync-var-hooks","sidebar":"docs"},{"id":"reference/Mirage.Authentication/AuthenticationResult","path":"/Mirage/docs/reference/Mirage.Authentication/AuthenticationResult","sidebar":"api"},{"id":"reference/Mirage.Authentication/AuthenticatorSettings","path":"/Mirage/docs/reference/Mirage.Authentication/AuthenticatorSettings","sidebar":"api"},{"id":"reference/Mirage.Authentication/AuthMessage","path":"/Mirage/docs/reference/Mirage.Authentication/AuthMessage","sidebar":"api"},{"id":"reference/Mirage.Authentication/AuthSuccessMessage","path":"/Mirage/docs/reference/Mirage.Authentication/AuthSuccessMessage","sidebar":"api"},{"id":"reference/Mirage.Authentication/IAuthenticationDataWrapper","path":"/Mirage/docs/reference/Mirage.Authentication/IAuthenticationDataWrapper","sidebar":"api"},{"id":"reference/Mirage.Authentication/INetworkAuthenticator","path":"/Mirage/docs/reference/Mirage.Authentication/INetworkAuthenticator","sidebar":"api"},{"id":"reference/Mirage.Authentication/Mirage.Authentication","path":"/Mirage/docs/reference/Mirage.Authentication/","sidebar":"api"},{"id":"reference/Mirage.Authentication/NetworkAuthenticator","path":"/Mirage/docs/reference/Mirage.Authentication/NetworkAuthenticator","sidebar":"api"},{"id":"reference/Mirage.Authentication/NetworkAuthenticator-1","path":"/Mirage/docs/reference/Mirage.Authentication/NetworkAuthenticator-1","sidebar":"api"},{"id":"reference/Mirage.Authentication/PlayerAuthentication","path":"/Mirage/docs/reference/Mirage.Authentication/PlayerAuthentication","sidebar":"api"},{"id":"reference/Mirage.Authenticators.SessionId/ClientSession","path":"/Mirage/docs/reference/Mirage.Authenticators.SessionId/ClientSession","sidebar":"api"},{"id":"reference/Mirage.Authenticators.SessionId/CreateSession","path":"/Mirage/docs/reference/Mirage.Authenticators.SessionId/CreateSession","sidebar":"api"},{"id":"reference/Mirage.Authenticators.SessionId/ISessionIdStore","path":"/Mirage/docs/reference/Mirage.Authenticators.SessionId/ISessionIdStore","sidebar":"api"},{"id":"reference/Mirage.Authenticators.SessionId/Mirage.Authenticators.SessionId","path":"/Mirage/docs/reference/Mirage.Authenticators.SessionId/","sidebar":"api"},{"id":"reference/Mirage.Authenticators.SessionId/RequestSessionMessage","path":"/Mirage/docs/reference/Mirage.Authenticators.SessionId/RequestSessionMessage","sidebar":"api"},{"id":"reference/Mirage.Authenticators.SessionId/SessionData","path":"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionData","sidebar":"api"},{"id":"reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator","path":"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator","sidebar":"api"},{"id":"reference/Mirage.Authenticators.SessionId/SessionKeyMessage","path":"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionKeyMessage","sidebar":"api"},{"id":"reference/Mirage.Authenticators/BasicAuthenticator","path":"/Mirage/docs/reference/Mirage.Authenticators/BasicAuthenticator","sidebar":"api"},{"id":"reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage","path":"/Mirage/docs/reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage","sidebar":"api"},{"id":"reference/Mirage.Authenticators/Mirage.Authenticators","path":"/Mirage/docs/reference/Mirage.Authenticators/","sidebar":"api"},{"id":"reference/Mirage.Collections/ISyncObject","path":"/Mirage/docs/reference/Mirage.Collections/ISyncObject","sidebar":"api"},{"id":"reference/Mirage.Collections/Mirage.Collections","path":"/Mirage/docs/reference/Mirage.Collections/","sidebar":"api"},{"id":"reference/Mirage.Collections/SyncDictionary-2","path":"/Mirage/docs/reference/Mirage.Collections/SyncDictionary-2","sidebar":"api"},{"id":"reference/Mirage.Collections/SyncHashSet-1","path":"/Mirage/docs/reference/Mirage.Collections/SyncHashSet-1","sidebar":"api"},{"id":"reference/Mirage.Collections/SyncIDictionary-2","path":"/Mirage/docs/reference/Mirage.Collections/SyncIDictionary-2","sidebar":"api"},{"id":"reference/Mirage.Collections/SyncList-1","path":"/Mirage/docs/reference/Mirage.Collections/SyncList-1","sidebar":"api"},{"id":"reference/Mirage.Collections/SyncList-1.Enumerator","path":"/Mirage/docs/reference/Mirage.Collections/SyncList-1.Enumerator","sidebar":"api"},{"id":"reference/Mirage.Collections/SyncObjectUtils","path":"/Mirage/docs/reference/Mirage.Collections/SyncObjectUtils","sidebar":"api"},{"id":"reference/Mirage.Collections/SyncSet-1","path":"/Mirage/docs/reference/Mirage.Collections/SyncSet-1","sidebar":"api"},{"id":"reference/Mirage.Collections/SyncSortedSet-1","path":"/Mirage/docs/reference/Mirage.Collections/SyncSortedSet-1","sidebar":"api"},{"id":"reference/Mirage.Collections/SyncStack-1","path":"/Mirage/docs/reference/Mirage.Collections/SyncStack-1","sidebar":"api"},{"id":"reference/Mirage.Components/LobbyReady","path":"/Mirage/docs/reference/Mirage.Components/LobbyReady","sidebar":"api"},{"id":"reference/Mirage.Components/Mirage.Components","path":"/Mirage/docs/reference/Mirage.Components/","sidebar":"api"},{"id":"reference/Mirage.Components/ReadyCheck","path":"/Mirage/docs/reference/Mirage.Components/ReadyCheck","sidebar":"api"},{"id":"reference/Mirage.Components/SyncObjectActive","path":"/Mirage/docs/reference/Mirage.Components/SyncObjectActive","sidebar":"api"},{"id":"reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui","path":"/Mirage/docs/reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui","sidebar":"api"},{"id":"reference/Mirage.DisplayMetrics/Mirage.DisplayMetrics","path":"/Mirage/docs/reference/Mirage.DisplayMetrics/","sidebar":"api"},{"id":"reference/Mirage.DisplayMetrics/RequestServerMetrics","path":"/Mirage/docs/reference/Mirage.DisplayMetrics/RequestServerMetrics","sidebar":"api"},{"id":"reference/Mirage.DisplayMetrics/SetDisplayMetrics","path":"/Mirage/docs/reference/Mirage.DisplayMetrics/SetDisplayMetrics","sidebar":"api"},{"id":"reference/Mirage.Events/AddLateEvent","path":"/Mirage/docs/reference/Mirage.Events/AddLateEvent","sidebar":"api"},{"id":"reference/Mirage.Events/AddLateEvent-1","path":"/Mirage/docs/reference/Mirage.Events/AddLateEvent-1","sidebar":"api"},{"id":"reference/Mirage.Events/AddLateEvent-2","path":"/Mirage/docs/reference/Mirage.Events/AddLateEvent-2","sidebar":"api"},{"id":"reference/Mirage.Events/AddLateEventBase","path":"/Mirage/docs/reference/Mirage.Events/AddLateEventBase","sidebar":"api"},{"id":"reference/Mirage.Events/AddLateEventUnity","path":"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity","sidebar":"api"},{"id":"reference/Mirage.Events/AddLateEventUnity-2","path":"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-2","sidebar":"api"},{"id":"reference/Mirage.Events/AddLateEventUnity-3","path":"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-3","sidebar":"api"},{"id":"reference/Mirage.Events/BoolAddLateEvent","path":"/Mirage/docs/reference/Mirage.Events/BoolAddLateEvent","sidebar":"api"},{"id":"reference/Mirage.Events/BoolUnityEvent","path":"/Mirage/docs/reference/Mirage.Events/BoolUnityEvent","sidebar":"api"},{"id":"reference/Mirage.Events/DisconnectAddLateEvent","path":"/Mirage/docs/reference/Mirage.Events/DisconnectAddLateEvent","sidebar":"api"},{"id":"reference/Mirage.Events/DisconnectEvent","path":"/Mirage/docs/reference/Mirage.Events/DisconnectEvent","sidebar":"api"},{"id":"reference/Mirage.Events/IAddLateEvent","path":"/Mirage/docs/reference/Mirage.Events/IAddLateEvent","sidebar":"api"},{"id":"reference/Mirage.Events/IAddLateEvent-1","path":"/Mirage/docs/reference/Mirage.Events/IAddLateEvent-1","sidebar":"api"},{"id":"reference/Mirage.Events/IAddLateEvent-2","path":"/Mirage/docs/reference/Mirage.Events/IAddLateEvent-2","sidebar":"api"},{"id":"reference/Mirage.Events/IAddLateEventUnity","path":"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity","sidebar":"api"},{"id":"reference/Mirage.Events/IAddLateEventUnity-1","path":"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-1","sidebar":"api"},{"id":"reference/Mirage.Events/IAddLateEventUnity-2","path":"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-2","sidebar":"api"},{"id":"reference/Mirage.Events/Mirage.Events","path":"/Mirage/docs/reference/Mirage.Events/","sidebar":"api"},{"id":"reference/Mirage.Events/NetworkPlayerAddLateEvent","path":"/Mirage/docs/reference/Mirage.Events/NetworkPlayerAddLateEvent","sidebar":"api"},{"id":"reference/Mirage.Events/NetworkPlayerEvent","path":"/Mirage/docs/reference/Mirage.Events/NetworkPlayerEvent","sidebar":"api"},{"id":"reference/Mirage.Logging/ILoggerExtensions","path":"/Mirage/docs/reference/Mirage.Logging/ILoggerExtensions","sidebar":"api"},{"id":"reference/Mirage.Logging/LogFactory","path":"/Mirage/docs/reference/Mirage.Logging/LogFactory","sidebar":"api"},{"id":"reference/Mirage.Logging/LogSettings","path":"/Mirage/docs/reference/Mirage.Logging/LogSettings","sidebar":"api"},{"id":"reference/Mirage.Logging/LogSettingsExtensions","path":"/Mirage/docs/reference/Mirage.Logging/LogSettingsExtensions","sidebar":"api"},{"id":"reference/Mirage.Logging/LogSettingsSO","path":"/Mirage/docs/reference/Mirage.Logging/LogSettingsSO","sidebar":"api"},{"id":"reference/Mirage.Logging/LogSettingsSO.LoggerSettings","path":"/Mirage/docs/reference/Mirage.Logging/LogSettingsSO.LoggerSettings","sidebar":"api"},{"id":"reference/Mirage.Logging/Mirage.Logging","path":"/Mirage/docs/reference/Mirage.Logging/","sidebar":"api"},{"id":"reference/Mirage.Logging/MirageLogHandler","path":"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler","sidebar":"api"},{"id":"reference/Mirage.Logging/MirageLogHandler.Settings","path":"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler.Settings","sidebar":"api"},{"id":"reference/Mirage.Logging/MirageLogHandler.TimePrefix","path":"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler.TimePrefix","sidebar":"api"},{"id":"reference/Mirage.RemoteCalls/ClientRpcSender","path":"/Mirage/docs/reference/Mirage.RemoteCalls/ClientRpcSender","sidebar":"api"},{"id":"reference/Mirage.RemoteCalls/Mirage.RemoteCalls","path":"/Mirage/docs/reference/Mirage.RemoteCalls/","sidebar":"api"},{"id":"reference/Mirage.RemoteCalls/RemoteCall","path":"/Mirage/docs/reference/Mirage.RemoteCalls/RemoteCall","sidebar":"api"},{"id":"reference/Mirage.RemoteCalls/RemoteCallCollection","path":"/Mirage/docs/reference/Mirage.RemoteCalls/RemoteCallCollection","sidebar":"api"},{"id":"reference/Mirage.RemoteCalls/RequestDelegate-1","path":"/Mirage/docs/reference/Mirage.RemoteCalls/RequestDelegate-1","sidebar":"api"},{"id":"reference/Mirage.RemoteCalls/RpcDelegate","path":"/Mirage/docs/reference/Mirage.RemoteCalls/RpcDelegate","sidebar":"api"},{"id":"reference/Mirage.RemoteCalls/RpcInvokeType","path":"/Mirage/docs/reference/Mirage.RemoteCalls/RpcInvokeType","sidebar":"api"},{"id":"reference/Mirage.RemoteCalls/RpcMessage","path":"/Mirage/docs/reference/Mirage.RemoteCalls/RpcMessage","sidebar":"api"},{"id":"reference/Mirage.RemoteCalls/RpcReply","path":"/Mirage/docs/reference/Mirage.RemoteCalls/RpcReply","sidebar":"api"},{"id":"reference/Mirage.RemoteCalls/RpcWithReplyMessage","path":"/Mirage/docs/reference/Mirage.RemoteCalls/RpcWithReplyMessage","sidebar":"api"},{"id":"reference/Mirage.RemoteCalls/ServerRpcSender","path":"/Mirage/docs/reference/Mirage.RemoteCalls/ServerRpcSender","sidebar":"api"},{"id":"reference/Mirage.Serialization/AnglePacker","path":"/Mirage/docs/reference/Mirage.Serialization/AnglePacker","sidebar":"api"},{"id":"reference/Mirage.Serialization/BitCountAttribute","path":"/Mirage/docs/reference/Mirage.Serialization/BitCountAttribute","sidebar":"api"},{"id":"reference/Mirage.Serialization/BitCountFromRangeAttribute","path":"/Mirage/docs/reference/Mirage.Serialization/BitCountFromRangeAttribute","sidebar":"api"},{"id":"reference/Mirage.Serialization/BitHelper","path":"/Mirage/docs/reference/Mirage.Serialization/BitHelper","sidebar":"api"},{"id":"reference/Mirage.Serialization/BitMask","path":"/Mirage/docs/reference/Mirage.Serialization/BitMask","sidebar":"api"},{"id":"reference/Mirage.Serialization/CollectionExtensions","path":"/Mirage/docs/reference/Mirage.Serialization/CollectionExtensions","sidebar":"api"},{"id":"reference/Mirage.Serialization/CompressedExtensions","path":"/Mirage/docs/reference/Mirage.Serialization/CompressedExtensions","sidebar":"api"},{"id":"reference/Mirage.Serialization/FloatPackAttribute","path":"/Mirage/docs/reference/Mirage.Serialization/FloatPackAttribute","sidebar":"api"},{"id":"reference/Mirage.Serialization/FloatPacker","path":"/Mirage/docs/reference/Mirage.Serialization/FloatPacker","sidebar":"api"},{"id":"reference/Mirage.Serialization/FromBitCount","path":"/Mirage/docs/reference/Mirage.Serialization/FromBitCount","sidebar":"api"},{"id":"reference/Mirage.Serialization/GenericTypesSerializationExtensions","path":"/Mirage/docs/reference/Mirage.Serialization/GenericTypesSerializationExtensions","sidebar":"api"},{"id":"reference/Mirage.Serialization/MessageIdCache-1","path":"/Mirage/docs/reference/Mirage.Serialization/MessageIdCache-1","sidebar":"api"},{"id":"reference/Mirage.Serialization/MessagePacker","path":"/Mirage/docs/reference/Mirage.Serialization/MessagePacker","sidebar":"api"},{"id":"reference/Mirage.Serialization/Mirage.Serialization","path":"/Mirage/docs/reference/Mirage.Serialization/","sidebar":"api"},{"id":"reference/Mirage.Serialization/MirageNetworkReader","path":"/Mirage/docs/reference/Mirage.Serialization/MirageNetworkReader","sidebar":"api"},{"id":"reference/Mirage.Serialization/MirageTypesExtensions","path":"/Mirage/docs/reference/Mirage.Serialization/MirageTypesExtensions","sidebar":"api"},{"id":"reference/Mirage.Serialization/NetworkReader","path":"/Mirage/docs/reference/Mirage.Serialization/NetworkReader","sidebar":"api"},{"id":"reference/Mirage.Serialization/NetworkReaderPool","path":"/Mirage/docs/reference/Mirage.Serialization/NetworkReaderPool","sidebar":"api"},{"id":"reference/Mirage.Serialization/NetworkWriter","path":"/Mirage/docs/reference/Mirage.Serialization/NetworkWriter","sidebar":"api"},{"id":"reference/Mirage.Serialization/NetworkWriterPool","path":"/Mirage/docs/reference/Mirage.Serialization/NetworkWriterPool","sidebar":"api"},{"id":"reference/Mirage.Serialization/PackedExtensions","path":"/Mirage/docs/reference/Mirage.Serialization/PackedExtensions","sidebar":"api"},{"id":"reference/Mirage.Serialization/PooledNetworkReader","path":"/Mirage/docs/reference/Mirage.Serialization/PooledNetworkReader","sidebar":"api"},{"id":"reference/Mirage.Serialization/PooledNetworkWriter","path":"/Mirage/docs/reference/Mirage.Serialization/PooledNetworkWriter","sidebar":"api"},{"id":"reference/Mirage.Serialization/QuaternionPackAttribute","path":"/Mirage/docs/reference/Mirage.Serialization/QuaternionPackAttribute","sidebar":"api"},{"id":"reference/Mirage.Serialization/QuaternionPacker","path":"/Mirage/docs/reference/Mirage.Serialization/QuaternionPacker","sidebar":"api"},{"id":"reference/Mirage.Serialization/Reader-1","path":"/Mirage/docs/reference/Mirage.Serialization/Reader-1","sidebar":"api"},{"id":"reference/Mirage.Serialization/StringExtensions","path":"/Mirage/docs/reference/Mirage.Serialization/StringExtensions","sidebar":"api"},{"id":"reference/Mirage.Serialization/SystemTypesExtensions","path":"/Mirage/docs/reference/Mirage.Serialization/SystemTypesExtensions","sidebar":"api"},{"id":"reference/Mirage.Serialization/UnityTypesExtensions","path":"/Mirage/docs/reference/Mirage.Serialization/UnityTypesExtensions","sidebar":"api"},{"id":"reference/Mirage.Serialization/VarDoublePacker","path":"/Mirage/docs/reference/Mirage.Serialization/VarDoublePacker","sidebar":"api"},{"id":"reference/Mirage.Serialization/VarFloatPacker","path":"/Mirage/docs/reference/Mirage.Serialization/VarFloatPacker","sidebar":"api"},{"id":"reference/Mirage.Serialization/VarIntAttribute","path":"/Mirage/docs/reference/Mirage.Serialization/VarIntAttribute","sidebar":"api"},{"id":"reference/Mirage.Serialization/VarIntBlocksAttribute","path":"/Mirage/docs/reference/Mirage.Serialization/VarIntBlocksAttribute","sidebar":"api"},{"id":"reference/Mirage.Serialization/VarIntBlocksPacker","path":"/Mirage/docs/reference/Mirage.Serialization/VarIntBlocksPacker","sidebar":"api"},{"id":"reference/Mirage.Serialization/VarIntPacker","path":"/Mirage/docs/reference/Mirage.Serialization/VarIntPacker","sidebar":"api"},{"id":"reference/Mirage.Serialization/VarVector2Packer","path":"/Mirage/docs/reference/Mirage.Serialization/VarVector2Packer","sidebar":"api"},{"id":"reference/Mirage.Serialization/VarVector3Packer","path":"/Mirage/docs/reference/Mirage.Serialization/VarVector3Packer","sidebar":"api"},{"id":"reference/Mirage.Serialization/Vector2PackAttribute","path":"/Mirage/docs/reference/Mirage.Serialization/Vector2PackAttribute","sidebar":"api"},{"id":"reference/Mirage.Serialization/Vector2Packer","path":"/Mirage/docs/reference/Mirage.Serialization/Vector2Packer","sidebar":"api"},{"id":"reference/Mirage.Serialization/Vector3PackAttribute","path":"/Mirage/docs/reference/Mirage.Serialization/Vector3PackAttribute","sidebar":"api"},{"id":"reference/Mirage.Serialization/Vector3Packer","path":"/Mirage/docs/reference/Mirage.Serialization/Vector3Packer","sidebar":"api"},{"id":"reference/Mirage.Serialization/WeaverIgnoreAttribute","path":"/Mirage/docs/reference/Mirage.Serialization/WeaverIgnoreAttribute","sidebar":"api"},{"id":"reference/Mirage.Serialization/WeaverSerializeCollectionAttribute","path":"/Mirage/docs/reference/Mirage.Serialization/WeaverSerializeCollectionAttribute","sidebar":"api"},{"id":"reference/Mirage.Serialization/WeaverWriteAsGenericAttribute","path":"/Mirage/docs/reference/Mirage.Serialization/WeaverWriteAsGenericAttribute","sidebar":"api"},{"id":"reference/Mirage.Serialization/Writer-1","path":"/Mirage/docs/reference/Mirage.Serialization/Writer-1","sidebar":"api"},{"id":"reference/Mirage.Serialization/ZigZag","path":"/Mirage/docs/reference/Mirage.Serialization/ZigZag","sidebar":"api"},{"id":"reference/Mirage.Serialization/ZigZagEncodeAttribute","path":"/Mirage/docs/reference/Mirage.Serialization/ZigZagEncodeAttribute","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/AckSystem","path":"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/AckSystem.ReliablePacket","path":"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem.ReliablePacket","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/AckSystem.ReliableReceived","path":"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem.ReliableReceived","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/ArrayBatch","path":"/Mirage/docs/reference/Mirage.SocketLayer/ArrayBatch","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/AutoCompleteToken","path":"/Mirage/docs/reference/Mirage.SocketLayer/AutoCompleteToken","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/Batch","path":"/Mirage/docs/reference/Mirage.SocketLayer/Batch","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/ByteBuffer","path":"/Mirage/docs/reference/Mirage.SocketLayer/ByteBuffer","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/ByteUtils","path":"/Mirage/docs/reference/Mirage.SocketLayer/ByteUtils","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/Commands","path":"/Mirage/docs/reference/Mirage.SocketLayer/Commands","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/Config","path":"/Mirage/docs/reference/Mirage.SocketLayer/Config","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/ConnectionExtensions","path":"/Mirage/docs/reference/Mirage.SocketLayer/ConnectionExtensions","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/ConnectionState","path":"/Mirage/docs/reference/Mirage.SocketLayer/ConnectionState","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/DisconnectReason","path":"/Mirage/docs/reference/Mirage.SocketLayer/DisconnectReason","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/IConnection","path":"/Mirage/docs/reference/Mirage.SocketLayer/IConnection","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/IDataHandler","path":"/Mirage/docs/reference/Mirage.SocketLayer/IDataHandler","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/IEndPoint","path":"/Mirage/docs/reference/Mirage.SocketLayer/IEndPoint","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/IHasAddress","path":"/Mirage/docs/reference/Mirage.SocketLayer/IHasAddress","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/IHasPort","path":"/Mirage/docs/reference/Mirage.SocketLayer/IHasPort","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/INotifyCallBack","path":"/Mirage/docs/reference/Mirage.SocketLayer/INotifyCallBack","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/INotifyCallBackExtensions","path":"/Mirage/docs/reference/Mirage.SocketLayer/INotifyCallBackExtensions","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/INotifyToken","path":"/Mirage/docs/reference/Mirage.SocketLayer/INotifyToken","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/IPeer","path":"/Mirage/docs/reference/Mirage.SocketLayer/IPeer","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/IRawConnection","path":"/Mirage/docs/reference/Mirage.SocketLayer/IRawConnection","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/ISocket","path":"/Mirage/docs/reference/Mirage.SocketLayer/ISocket","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/ITime","path":"/Mirage/docs/reference/Mirage.SocketLayer/ITime","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/Metrics","path":"/Mirage/docs/reference/Mirage.SocketLayer/Metrics","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/Metrics.Frame","path":"/Mirage/docs/reference/Mirage.SocketLayer/Metrics.Frame","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/Mirage.SocketLayer","path":"/Mirage/docs/reference/Mirage.SocketLayer/","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/NotifyToken","path":"/Mirage/docs/reference/Mirage.SocketLayer/NotifyToken","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/PacketType","path":"/Mirage/docs/reference/Mirage.SocketLayer/PacketType","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/Peer","path":"/Mirage/docs/reference/Mirage.SocketLayer/Peer","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/Pool-1","path":"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/Pool-1.CreateNewItem","path":"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItem","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount","path":"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/PoolMetrics","path":"/Mirage/docs/reference/Mirage.SocketLayer/PoolMetrics","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/RejectReason","path":"/Mirage/docs/reference/Mirage.SocketLayer/RejectReason","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/ReliableBatch","path":"/Mirage/docs/reference/Mirage.SocketLayer/ReliableBatch","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/RingBuffer-1","path":"/Mirage/docs/reference/Mirage.SocketLayer/RingBuffer-1","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/Sequencer","path":"/Mirage/docs/reference/Mirage.SocketLayer/Sequencer","sidebar":"api"},{"id":"reference/Mirage.SocketLayer/SocketFactory","path":"/Mirage/docs/reference/Mirage.SocketLayer/SocketFactory","sidebar":"api"},{"id":"reference/Mirage.Sockets.Udp/EndPointWrapper","path":"/Mirage/docs/reference/Mirage.Sockets.Udp/EndPointWrapper","sidebar":"api"},{"id":"reference/Mirage.Sockets.Udp/InitUDP","path":"/Mirage/docs/reference/Mirage.Sockets.Udp/InitUDP","sidebar":"api"},{"id":"reference/Mirage.Sockets.Udp/Mirage.Sockets.Udp","path":"/Mirage/docs/reference/Mirage.Sockets.Udp/","sidebar":"api"},{"id":"reference/Mirage.Sockets.Udp/NanoEndPoint","path":"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoEndPoint","sidebar":"api"},{"id":"reference/Mirage.Sockets.Udp/NanoSocket","path":"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoSocket","sidebar":"api"},{"id":"reference/Mirage.Sockets.Udp/NanoSocketException","path":"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoSocketException","sidebar":"api"},{"id":"reference/Mirage.Sockets.Udp/SocketLib","path":"/Mirage/docs/reference/Mirage.Sockets.Udp/SocketLib","sidebar":"api"},{"id":"reference/Mirage.Sockets.Udp/UdpMTU","path":"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpMTU","sidebar":"api"},{"id":"reference/Mirage.Sockets.Udp/UdpSocket","path":"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpSocket","sidebar":"api"},{"id":"reference/Mirage.Sockets.Udp/UdpSocketFactory","path":"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpSocketFactory","sidebar":"api"},{"id":"reference/Mirage.Visibility/AlwaysNetworkVisibility","path":"/Mirage/docs/reference/Mirage.Visibility/AlwaysNetworkVisibility","sidebar":"api"},{"id":"reference/Mirage.Visibility/Mirage.Visibility","path":"/Mirage/docs/reference/Mirage.Visibility/","sidebar":"api"},{"id":"reference/Mirage/AddCharacterMessage","path":"/Mirage/docs/reference/Mirage/AddCharacterMessage","sidebar":"api"},{"id":"reference/Mirage/AuthorityChanged","path":"/Mirage/docs/reference/Mirage/AuthorityChanged","sidebar":"api"},{"id":"reference/Mirage/AutoPool-1","path":"/Mirage/docs/reference/Mirage/AutoPool-1","sidebar":"api"},{"id":"reference/Mirage/AutoPool-1.Wrapper","path":"/Mirage/docs/reference/Mirage/AutoPool-1.Wrapper","sidebar":"api"},{"id":"reference/Mirage/Channel","path":"/Mirage/docs/reference/Mirage/Channel","sidebar":"api"},{"id":"reference/Mirage/CharacterSpawner","path":"/Mirage/docs/reference/Mirage/CharacterSpawner","sidebar":"api"},{"id":"reference/Mirage/CharacterSpawner.PlayerSpawnMethod","path":"/Mirage/docs/reference/Mirage/CharacterSpawner.PlayerSpawnMethod","sidebar":"api"},{"id":"reference/Mirage/ClientAttribute","path":"/Mirage/docs/reference/Mirage/ClientAttribute","sidebar":"api"},{"id":"reference/Mirage/ClientObjectManager","path":"/Mirage/docs/reference/Mirage/ClientObjectManager","sidebar":"api"},{"id":"reference/Mirage/ClientRpcAttribute","path":"/Mirage/docs/reference/Mirage/ClientRpcAttribute","sidebar":"api"},{"id":"reference/Mirage/ClientStoppedReason","path":"/Mirage/docs/reference/Mirage/ClientStoppedReason","sidebar":"api"},{"id":"reference/Mirage/ConnectState","path":"/Mirage/docs/reference/Mirage/ConnectState","sidebar":"api"},{"id":"reference/Mirage/DeserializeFailedException","path":"/Mirage/docs/reference/Mirage/DeserializeFailedException","sidebar":"api"},{"id":"reference/Mirage/DynamicSpawnHandlerDelegate","path":"/Mirage/docs/reference/Mirage/DynamicSpawnHandlerDelegate","sidebar":"api"},{"id":"reference/Mirage/ExponentialMovingAverage","path":"/Mirage/docs/reference/Mirage/ExponentialMovingAverage","sidebar":"api"},{"id":"reference/Mirage/FoldoutEventAttribute","path":"/Mirage/docs/reference/Mirage/FoldoutEventAttribute","sidebar":"api"},{"id":"reference/Mirage/GameObjectExtensions","path":"/Mirage/docs/reference/Mirage/GameObjectExtensions","sidebar":"api"},{"id":"reference/Mirage/GameObjectSerializers","path":"/Mirage/docs/reference/Mirage/GameObjectSerializers","sidebar":"api"},{"id":"reference/Mirage/GameObjectSyncvar","path":"/Mirage/docs/reference/Mirage/GameObjectSyncvar","sidebar":"api"},{"id":"reference/Mirage/HasAuthorityAttribute","path":"/Mirage/docs/reference/Mirage/HasAuthorityAttribute","sidebar":"api"},{"id":"reference/Mirage/HeadlessAutoStart","path":"/Mirage/docs/reference/Mirage/HeadlessAutoStart","sidebar":"api"},{"id":"reference/Mirage/HeadlessFrameLimiter","path":"/Mirage/docs/reference/Mirage/HeadlessFrameLimiter","sidebar":"api"},{"id":"reference/Mirage/HostRendererVisibility","path":"/Mirage/docs/reference/Mirage/HostRendererVisibility","sidebar":"api"},{"id":"reference/Mirage/IMessageReceiver","path":"/Mirage/docs/reference/Mirage/IMessageReceiver","sidebar":"api"},{"id":"reference/Mirage/IMessageSender","path":"/Mirage/docs/reference/Mirage/IMessageSender","sidebar":"api"},{"id":"reference/Mirage/INetIdGenerator","path":"/Mirage/docs/reference/Mirage/INetIdGenerator","sidebar":"api"},{"id":"reference/Mirage/INetworkPlayer","path":"/Mirage/docs/reference/Mirage/INetworkPlayer","sidebar":"api"},{"id":"reference/Mirage/INetworkVisibility","path":"/Mirage/docs/reference/Mirage/INetworkVisibility","sidebar":"api"},{"id":"reference/Mirage/IObjectLocator","path":"/Mirage/docs/reference/Mirage/IObjectLocator","sidebar":"api"},{"id":"reference/Mirage/IObjectOwner","path":"/Mirage/docs/reference/Mirage/IObjectOwner","sidebar":"api"},{"id":"reference/Mirage/ISceneLoader","path":"/Mirage/docs/reference/Mirage/ISceneLoader","sidebar":"api"},{"id":"reference/Mirage/IVisibilityTracker","path":"/Mirage/docs/reference/Mirage/IVisibilityTracker","sidebar":"api"},{"id":"reference/Mirage/LocalPlayerAttribute","path":"/Mirage/docs/reference/Mirage/LocalPlayerAttribute","sidebar":"api"},{"id":"reference/Mirage/MessageDelegate-1","path":"/Mirage/docs/reference/Mirage/MessageDelegate-1","sidebar":"api"},{"id":"reference/Mirage/MessageDelegateAsync-1","path":"/Mirage/docs/reference/Mirage/MessageDelegateAsync-1","sidebar":"api"},{"id":"reference/Mirage/MessageDelegateWithPlayer-1","path":"/Mirage/docs/reference/Mirage/MessageDelegateWithPlayer-1","sidebar":"api"},{"id":"reference/Mirage/MessageDelegateWithPlayerAsync-1","path":"/Mirage/docs/reference/Mirage/MessageDelegateWithPlayerAsync-1","sidebar":"api"},{"id":"reference/Mirage/MessageHandler","path":"/Mirage/docs/reference/Mirage/MessageHandler","sidebar":"api"},{"id":"reference/Mirage/MessageReceiverExtensions","path":"/Mirage/docs/reference/Mirage/MessageReceiverExtensions","sidebar":"api"},{"id":"reference/Mirage/MessageWaiter-1","path":"/Mirage/docs/reference/Mirage/MessageWaiter-1","sidebar":"api"},{"id":"reference/Mirage/MethodInvocationException","path":"/Mirage/docs/reference/Mirage/MethodInvocationException","sidebar":"api"},{"id":"reference/Mirage/Mirage","path":"/Mirage/docs/reference/Mirage/","sidebar":"api"},{"id":"reference/Mirage/NetworkAnimator","path":"/Mirage/docs/reference/Mirage/NetworkAnimator","sidebar":"api"},{"id":"reference/Mirage/NetworkBehaviorSerializers","path":"/Mirage/docs/reference/Mirage/NetworkBehaviorSerializers","sidebar":"api"},{"id":"reference/Mirage/NetworkBehaviorSyncvar","path":"/Mirage/docs/reference/Mirage/NetworkBehaviorSyncvar","sidebar":"api"},{"id":"reference/Mirage/NetworkBehaviorSyncvar-1","path":"/Mirage/docs/reference/Mirage/NetworkBehaviorSyncvar-1","sidebar":"api"},{"id":"reference/Mirage/NetworkBehaviour","path":"/Mirage/docs/reference/Mirage/NetworkBehaviour","sidebar":"api"},{"id":"reference/Mirage/NetworkBehaviour.Id","path":"/Mirage/docs/reference/Mirage/NetworkBehaviour.Id","sidebar":"api"},{"id":"reference/Mirage/NetworkClient","path":"/Mirage/docs/reference/Mirage/NetworkClient","sidebar":"api"},{"id":"reference/Mirage/NetworkDiagnostics","path":"/Mirage/docs/reference/Mirage/NetworkDiagnostics","sidebar":"api"},{"id":"reference/Mirage/NetworkDiagnostics.MessageInfo","path":"/Mirage/docs/reference/Mirage/NetworkDiagnostics.MessageInfo","sidebar":"api"},{"id":"reference/Mirage/NetworkedPrefabAttribute","path":"/Mirage/docs/reference/Mirage/NetworkedPrefabAttribute","sidebar":"api"},{"id":"reference/Mirage/NetworkExtensions","path":"/Mirage/docs/reference/Mirage/NetworkExtensions","sidebar":"api"},{"id":"reference/Mirage/NetworkFlags","path":"/Mirage/docs/reference/Mirage/NetworkFlags","sidebar":"api"},{"id":"reference/Mirage/NetworkIdentity","path":"/Mirage/docs/reference/Mirage/NetworkIdentity","sidebar":"api"},{"id":"reference/Mirage/NetworkIdentitySerializers","path":"/Mirage/docs/reference/Mirage/NetworkIdentitySerializers","sidebar":"api"},{"id":"reference/Mirage/NetworkIdentitySyncvar","path":"/Mirage/docs/reference/Mirage/NetworkIdentitySyncvar","sidebar":"api"},{"id":"reference/Mirage/NetworkInspectorCallbacks","path":"/Mirage/docs/reference/Mirage/NetworkInspectorCallbacks","sidebar":"api"},{"id":"reference/Mirage/NetworkManager","path":"/Mirage/docs/reference/Mirage/NetworkManager","sidebar":"api"},{"id":"reference/Mirage/NetworkManagerGUI","path":"/Mirage/docs/reference/Mirage/NetworkManagerGUI","sidebar":"api"},{"id":"reference/Mirage/NetworkManagerHud","path":"/Mirage/docs/reference/Mirage/NetworkManagerHud","sidebar":"api"},{"id":"reference/Mirage/NetworkManagerMode","path":"/Mirage/docs/reference/Mirage/NetworkManagerMode","sidebar":"api"},{"id":"reference/Mirage/NetworkMatchChecker","path":"/Mirage/docs/reference/Mirage/NetworkMatchChecker","sidebar":"api"},{"id":"reference/Mirage/NetworkMessageAttribute","path":"/Mirage/docs/reference/Mirage/NetworkMessageAttribute","sidebar":"api"},{"id":"reference/Mirage/NetworkMethodAttribute","path":"/Mirage/docs/reference/Mirage/NetworkMethodAttribute","sidebar":"api"},{"id":"reference/Mirage/NetworkPingDisplay","path":"/Mirage/docs/reference/Mirage/NetworkPingDisplay","sidebar":"api"},{"id":"reference/Mirage/NetworkPingMessage","path":"/Mirage/docs/reference/Mirage/NetworkPingMessage","sidebar":"api"},{"id":"reference/Mirage/NetworkPlayer","path":"/Mirage/docs/reference/Mirage/NetworkPlayer","sidebar":"api"},{"id":"reference/Mirage/NetworkPongMessage","path":"/Mirage/docs/reference/Mirage/NetworkPongMessage","sidebar":"api"},{"id":"reference/Mirage/NetworkPrefabs","path":"/Mirage/docs/reference/Mirage/NetworkPrefabs","sidebar":"api"},{"id":"reference/Mirage/NetworkProximityChecker","path":"/Mirage/docs/reference/Mirage/NetworkProximityChecker","sidebar":"api"},{"id":"reference/Mirage/NetworkSceneChecker","path":"/Mirage/docs/reference/Mirage/NetworkSceneChecker","sidebar":"api"},{"id":"reference/Mirage/NetworkSceneManager","path":"/Mirage/docs/reference/Mirage/NetworkSceneManager","sidebar":"api"},{"id":"reference/Mirage/NetworkServer","path":"/Mirage/docs/reference/Mirage/NetworkServer","sidebar":"api"},{"id":"reference/Mirage/NetworkSpawnSettings","path":"/Mirage/docs/reference/Mirage/NetworkSpawnSettings","sidebar":"api"},{"id":"reference/Mirage/NetworkTime","path":"/Mirage/docs/reference/Mirage/NetworkTime","sidebar":"api"},{"id":"reference/Mirage/NetworkTransform","path":"/Mirage/docs/reference/Mirage/NetworkTransform","sidebar":"api"},{"id":"reference/Mirage/NetworkTransformBase","path":"/Mirage/docs/reference/Mirage/NetworkTransformBase","sidebar":"api"},{"id":"reference/Mirage/NetworkTransformBase.DataPoint","path":"/Mirage/docs/reference/Mirage/NetworkTransformBase.DataPoint","sidebar":"api"},{"id":"reference/Mirage/NetworkTransformChild","path":"/Mirage/docs/reference/Mirage/NetworkTransformChild","sidebar":"api"},{"id":"reference/Mirage/NetworkVisibility","path":"/Mirage/docs/reference/Mirage/NetworkVisibility","sidebar":"api"},{"id":"reference/Mirage/NetworkVisibility.VisibilityChanged","path":"/Mirage/docs/reference/Mirage/NetworkVisibility.VisibilityChanged","sidebar":"api"},{"id":"reference/Mirage/NetworkWorld","path":"/Mirage/docs/reference/Mirage/NetworkWorld","sidebar":"api"},{"id":"reference/Mirage/NetworkWorldExtensions","path":"/Mirage/docs/reference/Mirage/NetworkWorldExtensions","sidebar":"api"},{"id":"reference/Mirage/ObjectDestroyMessage","path":"/Mirage/docs/reference/Mirage/ObjectDestroyMessage","sidebar":"api"},{"id":"reference/Mirage/ObjectHideMessage","path":"/Mirage/docs/reference/Mirage/ObjectHideMessage","sidebar":"api"},{"id":"reference/Mirage/OnlineOfflineScene","path":"/Mirage/docs/reference/Mirage/OnlineOfflineScene","sidebar":"api"},{"id":"reference/Mirage/PipePeerConnection","path":"/Mirage/docs/reference/Mirage/PipePeerConnection","sidebar":"api"},{"id":"reference/Mirage/PipePeerConnection.PipeEndPoint","path":"/Mirage/docs/reference/Mirage/PipePeerConnection.PipeEndPoint","sidebar":"api"},{"id":"reference/Mirage/PlayerSceneChangeEvent","path":"/Mirage/docs/reference/Mirage/PlayerSceneChangeEvent","sidebar":"api"},{"id":"reference/Mirage/ReadOnlyInspectorAttribute","path":"/Mirage/docs/reference/Mirage/ReadOnlyInspectorAttribute","sidebar":"api"},{"id":"reference/Mirage/RemoveAuthorityMessage","path":"/Mirage/docs/reference/Mirage/RemoveAuthorityMessage","sidebar":"api"},{"id":"reference/Mirage/RemoveCharacterMessage","path":"/Mirage/docs/reference/Mirage/RemoveCharacterMessage","sidebar":"api"},{"id":"reference/Mirage/RpcTarget","path":"/Mirage/docs/reference/Mirage/RpcTarget","sidebar":"api"},{"id":"reference/Mirage/SceneAttribute","path":"/Mirage/docs/reference/Mirage/SceneAttribute","sidebar":"api"},{"id":"reference/Mirage/SceneChangeFinishedEvent","path":"/Mirage/docs/reference/Mirage/SceneChangeFinishedEvent","sidebar":"api"},{"id":"reference/Mirage/SceneChangeStartedEvent","path":"/Mirage/docs/reference/Mirage/SceneChangeStartedEvent","sidebar":"api"},{"id":"reference/Mirage/SceneMessage","path":"/Mirage/docs/reference/Mirage/SceneMessage","sidebar":"api"},{"id":"reference/Mirage/SceneNotReadyMessage","path":"/Mirage/docs/reference/Mirage/SceneNotReadyMessage","sidebar":"api"},{"id":"reference/Mirage/SceneOperation","path":"/Mirage/docs/reference/Mirage/SceneOperation","sidebar":"api"},{"id":"reference/Mirage/SceneReadyMessage","path":"/Mirage/docs/reference/Mirage/SceneReadyMessage","sidebar":"api"},{"id":"reference/Mirage/SceneVisibilityChecker","path":"/Mirage/docs/reference/Mirage/SceneVisibilityChecker","sidebar":"api"},{"id":"reference/Mirage/ServerAttribute","path":"/Mirage/docs/reference/Mirage/ServerAttribute","sidebar":"api"},{"id":"reference/Mirage/ServerObjectManager","path":"/Mirage/docs/reference/Mirage/ServerObjectManager","sidebar":"api"},{"id":"reference/Mirage/ServerObjectManagerExtensions","path":"/Mirage/docs/reference/Mirage/ServerObjectManagerExtensions","sidebar":"api"},{"id":"reference/Mirage/ServerRpcAttribute","path":"/Mirage/docs/reference/Mirage/ServerRpcAttribute","sidebar":"api"},{"id":"reference/Mirage/ShowInInspectorAttribute","path":"/Mirage/docs/reference/Mirage/ShowInInspectorAttribute","sidebar":"api"},{"id":"reference/Mirage/SpawnEvent","path":"/Mirage/docs/reference/Mirage/SpawnEvent","sidebar":"api"},{"id":"reference/Mirage/SpawnHandler","path":"/Mirage/docs/reference/Mirage/SpawnHandler","sidebar":"api"},{"id":"reference/Mirage/SpawnHandlerAsyncDelegate","path":"/Mirage/docs/reference/Mirage/SpawnHandlerAsyncDelegate","sidebar":"api"},{"id":"reference/Mirage/SpawnHandlerDelegate","path":"/Mirage/docs/reference/Mirage/SpawnHandlerDelegate","sidebar":"api"},{"id":"reference/Mirage/SpawnMessage","path":"/Mirage/docs/reference/Mirage/SpawnMessage","sidebar":"api"},{"id":"reference/Mirage/SpawnObjectException","path":"/Mirage/docs/reference/Mirage/SpawnObjectException","sidebar":"api"},{"id":"reference/Mirage/SpawnValues","path":"/Mirage/docs/reference/Mirage/SpawnValues","sidebar":"api"},{"id":"reference/Mirage/StringHash","path":"/Mirage/docs/reference/Mirage/StringHash","sidebar":"api"},{"id":"reference/Mirage/SyncActiveOption","path":"/Mirage/docs/reference/Mirage/SyncActiveOption","sidebar":"api"},{"id":"reference/Mirage/SyncFrom","path":"/Mirage/docs/reference/Mirage/SyncFrom","sidebar":"api"},{"id":"reference/Mirage/SyncHookType","path":"/Mirage/docs/reference/Mirage/SyncHookType","sidebar":"api"},{"id":"reference/Mirage/SyncPrefab","path":"/Mirage/docs/reference/Mirage/SyncPrefab","sidebar":"api"},{"id":"reference/Mirage/SyncPrefabSerialize","path":"/Mirage/docs/reference/Mirage/SyncPrefabSerialize","sidebar":"api"},{"id":"reference/Mirage/SyncSettings","path":"/Mirage/docs/reference/Mirage/SyncSettings","sidebar":"api"},{"id":"reference/Mirage/SyncTiming","path":"/Mirage/docs/reference/Mirage/SyncTiming","sidebar":"api"},{"id":"reference/Mirage/SyncTo","path":"/Mirage/docs/reference/Mirage/SyncTo","sidebar":"api"},{"id":"reference/Mirage/SyncVarAttribute","path":"/Mirage/docs/reference/Mirage/SyncVarAttribute","sidebar":"api"},{"id":"reference/Mirage/SyncVarReceiver","path":"/Mirage/docs/reference/Mirage/SyncVarReceiver","sidebar":"api"},{"id":"reference/Mirage/SyncVarSender","path":"/Mirage/docs/reference/Mirage/SyncVarSender","sidebar":"api"},{"id":"reference/Mirage/UnSpawnDelegate","path":"/Mirage/docs/reference/Mirage/UnSpawnDelegate","sidebar":"api"},{"id":"reference/Mirage/UpdateVarsMessage","path":"/Mirage/docs/reference/Mirage/UpdateVarsMessage","sidebar":"api"},{"id":"reference/Mirage/Version","path":"/Mirage/docs/reference/Mirage/Version","sidebar":"api"},{"id":"/category/general","path":"/Mirage/docs/category/general","sidebar":"docs"},{"id":"/category/guides","path":"/Mirage/docs/category/guides","sidebar":"docs"},{"id":"/category/examples","path":"/Mirage/docs/category/examples","sidebar":"docs"},{"id":"/category/components","path":"/Mirage/docs/category/components","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/Mirage/docs/category/general","label":"General"}},"api":{"link":{"path":"/Mirage/docs/reference/Mirage/","label":"Mirage"}}}}],"breadcrumbs":true}}}'),o=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var c=r(57529);const s=JSON.parse('{"docusaurusVersion":"2.0.0-rc.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.0.0-rc.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.0.0-rc.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.0.0-rc.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.0.0-rc.1"},"docusaurus-lunr-search":{"type":"package","name":"docusaurus-lunr-search","version":"2.1.15"},"docusaurus-plugin-sass":{"type":"package","name":"docusaurus-plugin-sass","version":"0.2.2"}}}'),d={siteConfig:a.default,siteMetadata:s,globalData:i,i18n:o,codeTranslations:c},l=n.createContext(d);function u(e){let{children:t}=e;return n.createElement(l.Provider,{value:d},t)}},44763:(e,t,r)=>{"use strict";r.d(t,{Z:()=>l});var n=r(67294),a=r(10412),i=r(35742),o=r(4194);function c(e){let{error:t,tryAgain:r}=e;return n.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"50vh",width:"100%",fontSize:"20px"}},n.createElement("h1",null,"This page crashed."),n.createElement("p",null,t.message),n.createElement("button",{type:"button",onClick:r},"Try again"))}function s(e){let{error:t,tryAgain:r}=e;return n.createElement(l,{fallback:()=>n.createElement(c,{error:t,tryAgain:r})},n.createElement(i.Z,null,n.createElement("title",null,"Page Error")),n.createElement(o.Z,null,n.createElement(c,{error:t,tryAgain:r})))}const d=e=>n.createElement(s,e);class l extends n.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){var r;const e={error:t,tryAgain:()=>this.setState({error:null})};return(null!=(r=this.props.fallback)?r:d)(e)}return null!=e?e:null}}},10412:(e,t,r)=>{"use strict";r.d(t,{Z:()=>a});const n="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:n,canUseEventListeners:n&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:n&&"IntersectionObserver"in window,canUseViewport:n&&"screen"in window}},35742:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(67294),a=r(70405);function i(e){return n.createElement(a.ql,e)}},39960:(e,t,r)=>{"use strict";r.d(t,{Z:()=>p});var n=r(87462),a=r(67294),i=r(73727),o=r(18780),c=r(52263),s=r(13919),d=r(10412);const l=a.createContext({collectLink:()=>{}});var u=r(44996);function g(e,t){var r,g;let{isNavLink:p,to:f,href:m,activeClassName:h,isActive:b,"data-noBrokenLinkCheck":M,autoAddBaseUrl:y=!0,...v}=e;const{siteConfig:{trailingSlash:k,baseUrl:S}}=(0,c.Z)(),{withBaseUrl:w}=(0,u.C)(),E=(0,a.useContext)(l),_=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>_.current));const x=f||m;const C=(0,s.Z)(x),A=null==x?void 0:x.replace("pathname://","");let L=void 0!==A?(N=A,y&&(e=>e.startsWith("/"))(N)?w(N):N):void 0;var N;L&&C&&(L=(0,o.applyTrailingSlash)(L,{trailingSlash:k,baseUrl:S}));const P=(0,a.useRef)(!1),I=p?i.OL:i.rU,T=d.Z.canUseIntersectionObserver,R=(0,a.useRef)();(0,a.useEffect)((()=>(!T&&C&&null!=L&&window.docusaurus.prefetch(L),()=>{T&&R.current&&R.current.disconnect()})),[R,L,T,C]);const O=null!=(r=null==(g=L)?void 0:g.startsWith("#"))&&r,z=!L||!C||O;return z||M||E.collectLink(L),z?a.createElement("a",(0,n.Z)({ref:_,href:L},x&&!C&&{target:"_blank",rel:"noopener noreferrer"},v)):a.createElement(I,(0,n.Z)({},v,{onMouseEnter:()=>{P.current||null==L||(window.docusaurus.preload(L),P.current=!0)},innerRef:e=>{_.current=e,T&&e&&C&&(R.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(R.current.unobserve(e),R.current.disconnect(),null!=L&&window.docusaurus.prefetch(L))}))})),R.current.observe(e))},to:L},p&&{isActive:b,activeClassName:h}))}const p=a.forwardRef(g)},95999:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s,I:()=>c});var n=r(67294);function a(e,t){const r=e.split(/(\{\w+\})/).map(((e,r)=>{if(r%2==1){const r=null==t?void 0:t[e.slice(1,-1)];if(void 0!==r)return r}return e}));return r.some((e=>(0,n.isValidElement)(e)))?r.map(((e,t)=>(0,n.isValidElement)(e)?n.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):r.join("")}var i=r(57529);function o(e){var t,r;let{id:n,message:a}=e;if(void 0===n&&void 0===a)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return null!=(t=null!=(r=i[null!=n?n:a])?r:a)?t:n}function c(e,t){let{message:r,id:n}=e;return a(o({message:r,id:n}),t)}function s(e){let{children:t,id:r,values:i}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const c=o({message:t,id:r});return n.createElement(n.Fragment,null,a(c,i))}},29935:(e,t,r)=>{"use strict";r.d(t,{m:()=>n});const n="default"},13919:(e,t,r)=>{"use strict";function n(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!n(e)}r.d(t,{Z:()=>a,b:()=>n})},44996:(e,t,r)=>{"use strict";r.d(t,{C:()=>i,Z:()=>o});var n=r(52263),a=r(13919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,n.Z)();return{withBaseUrl:(r,n)=>function(e,t,r,n){let{forcePrependBaseUrl:i=!1,absolute:o=!1}=void 0===n?{}:n;if(!r||r.startsWith("#")||(0,a.b)(r))return r;if(i)return t+r.replace(/^\//,"");if(r===t.replace(/\/$/,""))return t;const c=r.startsWith(t)?r:t+r.replace(/^\//,"");return o?e+c:c}(t,e,r,n)}}function o(e,t){void 0===t&&(t={});const{withBaseUrl:r}=i();return r(e,t)}},52263:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(67294),a=r(58940);function i(){return(0,n.useContext)(a._)}},28084:(e,t,r)=>{"use strict";r.d(t,{OD:()=>i,eZ:()=>o});var n=r(52263),a=r(29935);function i(e,t){void 0===t&&(t={});const r=function(){const{globalData:e}=(0,n.Z)();return e}()[e];if(!r&&t.failfast)throw new Error('Docusaurus plugin global data not found for "'+e+'" plugin.');return r}function o(e,t,r){void 0===t&&(t=a.m),void 0===r&&(r={});const n=i(e),o=null==n?void 0:n[t];if(!o&&r.failfast)throw new Error('Docusaurus plugin global data not found for "'+e+'" plugin with id "'+t+'".');return o}},72389:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(67294),a=r(98934);function i(){return(0,n.useContext)(a._)}},99670:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});function n(e){const t={};return function e(r,n){Object.entries(r).forEach((r=>{let[a,i]=r;const o=n?n+"."+a:a;var c;"object"==typeof(c=i)&&c&&Object.keys(c).length>0?e(i,o):t[o]=i}))}(e),t}},30226:(e,t,r)=>{"use strict";r.d(t,{_:()=>a,z:()=>i});var n=r(67294);const a=n.createContext(null);function i(e){let{children:t,value:r}=e;const i=n.useContext(a),o=(0,n.useMemo)((()=>function(e){let{parent:t,value:r}=e;if(!t){if(!r)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in r))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return r}const n={...t.data,...null==r?void 0:r.data};return{plugin:t.plugin,data:n}}({parent:i,value:r})),[i,r]);return n.createElement(a.Provider,{value:o},t)}},94104:(e,t,r)=>{"use strict";r.d(t,{Iw:()=>p,gA:()=>l,_r:()=>s,Jo:()=>f,zh:()=>d,yW:()=>g,gB:()=>u});var n=r(76775),a=r(28084);const i=e=>e.versions.find((e=>e.isLast));function o(e,t){const r=function(e,t){const r=i(e);return[...e.versions.filter((e=>e!==r)),r].find((e=>!!(0,n.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=null==r?void 0:r.docs.find((e=>!!(0,n.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:r,activeDoc:a,alternateDocVersions:a?function(t){const r={};return e.versions.forEach((e=>{e.docs.forEach((n=>{n.id===t&&(r[e.name]=n)}))})),r}(a.id):{}}}const c={},s=()=>{var e;return null!=(e=(0,a.OD)("docusaurus-plugin-content-docs"))?e:c},d=e=>(0,a.eZ)("docusaurus-plugin-content-docs",e,{failfast:!0});function l(e){void 0===e&&(e={});const t=s(),{pathname:r}=(0,n.TH)();return function(e,t,r){void 0===r&&(r={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,r]=e;return!!(0,n.LX)(t,{path:r.path,exact:!1,strict:!1})})),i=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!i&&r.failfast)throw new Error("Can't find active docs plugin for \""+t+'" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: '+Object.values(e).map((e=>e.path)).join(", "));return i}(t,r,e)}function u(e){return d(e).versions}function g(e){const t=d(e);return i(t)}function p(e){const t=d(e),{pathname:r}=(0,n.TH)();return o(t,r)}function f(e){const t=d(e),{pathname:r}=(0,n.TH)();return function(e,t){const r=i(e);return{latestDocSuggestion:o(e,t).alternateDocVersions[r.name],latestVersionSuggestion:r}}(t,r)}},18320:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>i});var n=r(74865),a=r.n(n);a().configure({showSpinner:!1});const i={onRouteUpdate(e){let{location:t,previousLocation:r}=e;if(r&&t.pathname!==r.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},3310:(e,t,r)=>{"use strict";r.r(t);var n=r(87410),a=r(36809);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:n}=t;globalThis.Prism=e,n.forEach((e=>{r(27673)("./prism-"+e)})),delete globalThis.Prism}(n.Z)},39471:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(67294);const a="iconExternalLink_nPIU";function i(e){let{width:t=13.5,height:r=13.5}=e;return n.createElement("svg",{width:t,height:r,"aria-hidden":"true",viewBox:"0 0 24 24",className:a},n.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},4194:(e,t,r)=>{"use strict";r.d(t,{Z:()=>ot});var n=r(67294),a=r(86010),i=r(44763),o=r(1944),c=r(35281),s=r(19727),d=r(95999),l=r(76775),u=r(85936);function g(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}const p="skipToContent_fXgn";function f(){const{containerRef:e,handleSkip:t}=function(){const e=(0,n.useRef)(null),{action:t}=(0,l.k6)(),r=(0,n.useCallback)((e=>{var t;e.preventDefault();const r=null!=(t=document.querySelector("main:first-of-type"))?t:document.querySelector("."+c.k.wrapper.main);r&&g(r)}),[]);return(0,u.S)((r=>{let{location:n}=r;e.current&&!n.hash&&"PUSH"===t&&g(e.current)})),{containerRef:e,handleSkip:r}}();return n.createElement("div",{ref:e,role:"region"},n.createElement("a",{href:"#",className:p,onClick:t},n.createElement(d.Z,{id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation"},"Skip to main content")))}var m=r(86668),h=r(59689),b=r(87462);function M(e){let{width:t=21,height:r=21,color:a="currentColor",strokeWidth:i=1.2,className:o,...c}=e;return n.createElement("svg",(0,b.Z)({viewBox:"0 0 15 15",width:t,height:r},c),n.createElement("g",{stroke:a,strokeWidth:i},n.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const y="announcementBar_mb4j",v="announcementBarPlaceholder_vyr4",k="announcementBarClose_gvF7",S="announcementBarContent_xLdY";function w(){const{isActive:e,close:t}=(0,h.nT)(),{announcementBar:r}=(0,m.L)();if(!e)return null;const{content:i,backgroundColor:o,textColor:c,isCloseable:s}=r;return n.createElement("div",{className:y,style:{backgroundColor:o,color:c},role:"banner"},s&&n.createElement("div",{className:v}),n.createElement("div",{className:S,dangerouslySetInnerHTML:{__html:i}}),s?n.createElement("button",{type:"button",className:(0,a.Z)("clean-btn close",k),onClick:t,"aria-label":(0,d.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},n.createElement(M,{width:14,height:14,strokeWidth:3.1})):null)}var E=r(72961),_=r(12466);var x=r(902),C=r(13102);const A=n.createContext(null);function L(e){let{children:t}=e;const r=function(){const e=(0,E.e)(),t=(0,C.HY)(),[r,a]=(0,n.useState)(!1),i=null!==t.component,o=(0,x.D9)(i);return(0,n.useEffect)((()=>{i&&!o&&a(!0)}),[i,o]),(0,n.useEffect)((()=>{i?e.shown||a(!0):a(!1)}),[e.shown,i]),(0,n.useMemo)((()=>[r,a]),[r])}();return n.createElement(A.Provider,{value:r},t)}function N(e){if(e.component){const t=e.component;return n.createElement(t,e.props)}}function P(){const e=(0,n.useContext)(A);if(!e)throw new x.i6("NavbarSecondaryMenuDisplayProvider");const[t,r]=e,a=(0,n.useCallback)((()=>r(!1)),[r]),i=(0,C.HY)();return(0,n.useMemo)((()=>({shown:t,hide:a,content:N(i)})),[a,i,t])}function I(e){let{header:t,primaryMenu:r,secondaryMenu:i}=e;const{shown:o}=P();return n.createElement("div",{className:"navbar-sidebar"},t,n.createElement("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o})},n.createElement("div",{className:"navbar-sidebar__item menu"},r),n.createElement("div",{className:"navbar-sidebar__item menu"},i)))}var T=r(92949),R=r(72389);function O(e){return n.createElement("svg",(0,b.Z)({viewBox:"0 0 24 24",width:24,height:24},e),n.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function z(e){return n.createElement("svg",(0,b.Z)({viewBox:"0 0 24 24",width:24,height:24},e),n.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const D={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function B(e){let{className:t,value:r,onChange:i}=e;const o=(0,R.Z)(),c=(0,d.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,d.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,d.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return n.createElement("div",{className:(0,a.Z)(D.toggle,t)},n.createElement("button",{className:(0,a.Z)("clean-btn",D.toggleButton,!o&&D.toggleButtonDisabled),type:"button",onClick:()=>i("dark"===r?"light":"dark"),disabled:!o,title:c,"aria-label":c},n.createElement(O,{className:(0,a.Z)(D.toggleIcon,D.lightToggleIcon)}),n.createElement(z,{className:(0,a.Z)(D.toggleIcon,D.darkToggleIcon)})))}const F=n.memo(B);function j(e){let{className:t}=e;const r=(0,m.L)().colorMode.disableSwitch,{colorMode:a,setColorMode:i}=(0,T.I)();return r?null:n.createElement(F,{className:t,value:a,onChange:i})}var U=r(21327);function H(){return n.createElement(U.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function V(){const e=(0,E.e)();return n.createElement("button",{type:"button",className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle()},n.createElement(M,{color:"var(--ifm-color-emphasis-600)"}))}function $(){return n.createElement("div",{className:"navbar-sidebar__brand"},n.createElement(H,null),n.createElement(j,{className:"margin-right--md"}),n.createElement(V,null))}var Z=r(39960),W=r(44996),G=r(13919);function q(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var Y=r(39471);function K(e){let{activeBasePath:t,activeBaseRegex:r,to:a,href:i,label:o,html:c,isDropdownLink:s,prependBaseUrlToHref:d,...l}=e;const u=(0,W.Z)(a),g=(0,W.Z)(t),p=(0,W.Z)(i,{forcePrependBaseUrl:!0}),f=o&&i&&!(0,G.Z)(i),m=c?{dangerouslySetInnerHTML:{__html:c}}:{children:n.createElement(n.Fragment,null,o,f&&n.createElement(Y.Z,s&&{width:12,height:12}))};return i?n.createElement(Z.Z,(0,b.Z)({href:d?p:i},l,m)):n.createElement(Z.Z,(0,b.Z)({to:u,isNavLink:!0},(t||r)&&{isActive:(e,t)=>r?q(r,t.pathname):t.pathname.startsWith(g)},l,m))}function Q(e){let{className:t,isDropdownItem:r=!1,...i}=e;const o=n.createElement(K,(0,b.Z)({className:(0,a.Z)(r?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:r},i));return r?n.createElement("li",null,o):o}function X(e){let{className:t,isDropdownItem:r,...i}=e;return n.createElement("li",{className:"menu__list-item"},n.createElement(K,(0,b.Z)({className:(0,a.Z)("menu__link",t)},i)))}function J(e){var t;let{mobile:r=!1,position:a,...i}=e;const o=r?X:Q;return n.createElement(o,(0,b.Z)({},i,{activeClassName:null!=(t=i.activeClassName)?t:r?"menu__link--active":"navbar__link--active"}))}var ee=r(86043),te=r(48596),re=r(52263);function ne(e,t){return e.some((e=>function(e,t){return!!(0,te.Mg)(e.to,t)||!!q(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function ae(e){var t;let{items:r,position:i,className:o,onClick:c,...s}=e;const d=(0,n.useRef)(null),[l,u]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{const e=e=>{d.current&&!d.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[d]),n.createElement("div",{ref:d,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===i,"dropdown--show":l})},n.createElement(K,(0,b.Z)({"aria-haspopup":"true","aria-expanded":l,role:"button",href:s.to?void 0:"#",className:(0,a.Z)("navbar__link",o)},s,{onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),u(!l))}}),null!=(t=s.children)?t:s.label),n.createElement("ul",{className:"dropdown__menu"},r.map(((e,t)=>n.createElement(ke,(0,b.Z)({isDropdownItem:!0,onKeyDown:e=>{if(t===r.length-1&&"Tab"===e.key){e.preventDefault(),u(!1);const t=d.current.nextElementSibling;if(t){(t instanceof HTMLAnchorElement?t:t.querySelector("a")).focus()}}},activeClassName:"dropdown__link--active"},e,{key:t}))))))}function ie(e){var t;let{items:r,className:i,position:o,onClick:c,...s}=e;const d=function(){const{siteConfig:{baseUrl:e}}=(0,re.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),u=ne(r,d),{collapsed:g,toggleCollapsed:p,setCollapsed:f}=(0,ee.u)({initialState:()=>!u});return(0,n.useEffect)((()=>{u&&f(!u)}),[d,u,f]),n.createElement("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":g})},n.createElement(K,(0,b.Z)({role:"button",className:(0,a.Z)("menu__link menu__link--sublist menu__link--sublist-caret",i)},s,{onClick:e=>{e.preventDefault(),p()}}),null!=(t=s.children)?t:s.label),n.createElement(ee.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:g},r.map(((e,t)=>n.createElement(ke,(0,b.Z)({mobile:!0,isDropdownItem:!0,onClick:c,activeClassName:"menu__link--active"},e,{key:t}))))))}function oe(e){let{mobile:t=!1,...r}=e;const a=t?ie:ae;return n.createElement(a,r)}var ce=r(94711);function se(e){let{width:t=20,height:r=20,...a}=e;return n.createElement("svg",(0,b.Z)({viewBox:"0 0 24 24",width:t,height:r,"aria-hidden":!0},a),n.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const de="iconLanguage_nlXk";var le=r(94184),ue=r.n(le),ge=r(28084);const pe=e=>{const t=(0,n.useRef)(!1),a=(0,n.useRef)(null),[i,o]=(0,n.useState)(!1),c=(0,l.k6)(),{siteConfig:s={},isClient:d=!1}=(0,re.Z)(),{baseUrl:u}=s,g=(0,ge.eZ)("docusaurus-lunr-search"),p=()=>{t.current||(Promise.all([fetch(""+u+g.fileNames.searchDoc).then((e=>e.json())),fetch(""+u+g.fileNames.lunrIndex).then((e=>e.json())),Promise.all([r.e(9878),r.e(1245)]).then(r.bind(r,24130)),Promise.all([r.e(532),r.e(3343)]).then(r.bind(r,53343))]).then((e=>{let[t,r,{default:n}]=e;0!==t.length&&(((e,t,r)=>{new r({searchDocs:e,searchIndex:t,inputSelector:"#search_input_react",handleSelected:(e,t,r)=>{const n=u+r.url;document.createElement("a").href=n,c.push(n)}})})(t,r,n),o(!0))})),t.current=!0)},f=(0,n.useCallback)((t=>{a.current.contains(t.target)||a.current.focus(),e.handleSearchBarToggle&&e.handleSearchBarToggle(!e.isSearchBarExpanded)}),[e.isSearchBarExpanded]);return d&&p(),n.createElement("div",{className:"navbar__search",key:"search-box"},n.createElement("span",{"aria-label":"expand searchbar",role:"button",className:ue()("search-icon",{"search-icon-hidden":e.isSearchBarExpanded}),onClick:f,onKeyDown:f,tabIndex:0}),n.createElement("input",{id:"search_input_react",type:"search",placeholder:i?"Search":"Loading...","aria-label":"Search",className:ue()("navbar__search-input",{"search-bar-expanded":e.isSearchBarExpanded},{"search-bar":!e.isSearchBarExpanded}),onClick:p,onMouseOver:p,onFocus:f,onBlur:f,ref:a,disabled:!i}))},fe="searchBox_ZlJk";function me(e){let{children:t,className:r}=e;return n.createElement("div",{className:(0,a.Z)(r,fe)},t)}var he=r(94104),be=r(52802);var Me=r(60373);const ye=e=>e.docs.find((t=>t.id===e.mainDocId));const ve={default:J,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:r,dropdownItemsAfter:a,...i}=e;const{i18n:{currentLocale:o,locales:c,localeConfigs:s}}=(0,re.Z)(),l=(0,ce.l)(),u=[...r,...c.map((e=>{const r="pathname://"+l.createUrl({locale:e,fullyQualified:!1});return{label:s[e].label,to:r,target:"_self",autoAddBaseUrl:!1,className:e===o?t?"menu__link--active":"dropdown__link--active":""}})),...a],g=t?(0,d.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):s[o].label;return n.createElement(oe,(0,b.Z)({},i,{mobile:t,label:n.createElement(n.Fragment,null,n.createElement(se,{className:de}),g),items:u}))},search:function(e){let{mobile:t,className:r}=e;return t?null:n.createElement(me,{className:r},n.createElement(pe,null))},dropdown:oe,html:function(e){let{value:t,className:r,mobile:i=!1,isDropdownItem:o=!1}=e;const c=o?"li":"div";return n.createElement(c,{className:(0,a.Z)({navbar__item:!i&&!o,"menu__list-item":i},r),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:r,docsPluginId:a,...i}=e;const{activeDoc:o}=(0,he.Iw)(a),c=(0,be.vY)(t,a);return null===c?null:n.createElement(J,(0,b.Z)({exact:!0},i,{isActive:()=>(null==o?void 0:o.path)===c.path||!(null==o||!o.sidebar)&&o.sidebar===c.sidebar,label:null!=r?r:c.id,to:c.path}))},docSidebar:function(e){let{sidebarId:t,label:r,docsPluginId:a,...i}=e;const{activeDoc:o}=(0,he.Iw)(a),c=(0,be.oz)(t,a).link;if(!c)throw new Error('DocSidebarNavbarItem: Sidebar with ID "'+t+"\" doesn't have anything to be linked to.");return n.createElement(J,(0,b.Z)({exact:!0},i,{isActive:()=>(null==o?void 0:o.sidebar)===t,label:null!=r?r:c.label,to:c.path}))},docsVersion:function(e){let{label:t,to:r,docsPluginId:a,...i}=e;const o=(0,be.lO)(a)[0],c=null!=t?t:o.label,s=null!=r?r:(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return n.createElement(J,(0,b.Z)({},i,{label:c,to:s}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:r,dropdownActiveClassDisabled:a,dropdownItemsBefore:i,dropdownItemsAfter:o,...c}=e;const s=(0,he.Iw)(r),l=(0,he.gB)(r),{savePreferredVersionName:u}=(0,Me.J)(r),g=[...i,...l.map((e=>{var t;const r=null!=(t=s.alternateDocVersions[e.name])?t:ye(e);return{label:e.label,to:r.path,isActive:()=>e===s.activeVersion,onClick:()=>u(e.name)}})),...o],p=(0,be.lO)(r)[0],f=t&&g.length>1?(0,d.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):p.label,m=t&&g.length>1?void 0:ye(p).path;return g.length<=1?n.createElement(J,(0,b.Z)({},c,{mobile:t,label:f,to:m,isActive:a?()=>!1:void 0})):n.createElement(oe,(0,b.Z)({},c,{mobile:t,label:f,to:m,items:g,isActive:a?()=>!1:void 0}))}};function ke(e){let{type:t,...r}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,r),i=ve[a];if(!i)throw new Error('No NavbarItem component found for type "'+t+'".');return n.createElement(i,r)}function Se(){const e=(0,E.e)(),t=(0,m.L)().navbar.items;return n.createElement("ul",{className:"menu__list"},t.map(((t,r)=>n.createElement(ke,(0,b.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:r})))))}function we(e){return n.createElement("button",(0,b.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),n.createElement(d.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function Ee(){const e=0===(0,m.L)().navbar.items.length,t=P();return n.createElement(n.Fragment,null,!e&&n.createElement(we,{onClick:()=>t.hide()}),t.content)}function _e(){const e=(0,E.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,n.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?n.createElement(I,{header:n.createElement($,null),primaryMenu:n.createElement(Se,null),secondaryMenu:n.createElement(Ee,null)}):null}const xe="navbarHideable_m1mJ",Ce="navbarHidden_jGov";function Ae(e){return n.createElement("div",(0,b.Z)({role:"presentation"},e,{className:(0,a.Z)("navbar-sidebar__backdrop",e.className)}))}function Le(e){let{children:t}=e;const{navbar:{hideOnScroll:r,style:i}}=(0,m.L)(),o=(0,E.e)(),{navbarRef:c,isNavbarVisible:s}=function(e){const[t,r]=(0,n.useState)(e),a=(0,n.useRef)(!1),i=(0,n.useRef)(0),o=(0,n.useCallback)((e=>{null!==e&&(i.current=e.getBoundingClientRect().height)}),[]);return(0,_.RF)(((t,n)=>{let{scrollY:o}=t;if(!e)return;if(o<i.current)return void r(!0);if(a.current)return void(a.current=!1);const c=null==n?void 0:n.scrollY,s=document.documentElement.scrollHeight-i.current,d=window.innerHeight;c&&o>=c?r(!1):o+d<s&&r(!0)})),(0,u.S)((t=>{if(e)return t.location.hash?(a.current=!0,void r(!1)):void r(!0)})),{navbarRef:o,isNavbarVisible:t}}(r);return n.createElement("nav",{ref:c,className:(0,a.Z)("navbar","navbar--fixed-top",r&&[xe,!s&&Ce],{"navbar--dark":"dark"===i,"navbar--primary":"primary"===i,"navbar-sidebar--show":o.shown})},t,n.createElement(Ae,{onClick:o.toggle}),n.createElement(_e,null))}function Ne(e){let{width:t=30,height:r=30,className:a,...i}=e;return n.createElement("svg",(0,b.Z)({className:a,width:t,height:r,viewBox:"0 0 30 30","aria-hidden":"true"},i),n.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function Pe(){const e=(0,E.e)();return n.createElement("button",{onClick:e.toggle,onKeyDown:e.toggle,"aria-label":"Navigation bar toggle",className:"navbar__toggle clean-btn",type:"button",tabIndex:0},n.createElement(Ne,null))}const Ie="colorModeToggle_DEke";function Te(e){let{items:t}=e;return n.createElement(n.Fragment,null,t.map(((e,t)=>n.createElement(ke,(0,b.Z)({},e,{key:t})))))}function Re(e){let{left:t,right:r}=e;return n.createElement("div",{className:"navbar__inner"},n.createElement("div",{className:"navbar__items"},t),n.createElement("div",{className:"navbar__items navbar__items--right"},r))}function Oe(){const e=(0,E.e)(),t=(0,m.L)().navbar.items,[r,a]=function(e){function t(e){var t;return"left"===(null!=(t=e.position)?t:"right")}return[e.filter(t),e.filter((e=>!t(e)))]}(t),i=t.find((e=>"search"===e.type));return n.createElement(Re,{left:n.createElement(n.Fragment,null,!e.disabled&&n.createElement(Pe,null),n.createElement(H,null),n.createElement(Te,{items:r})),right:n.createElement(n.Fragment,null,n.createElement(Te,{items:a}),n.createElement(j,{className:Ie}),!i&&n.createElement(me,null,n.createElement(pe,null)))})}function ze(){return n.createElement(Le,null,n.createElement(Oe,null))}function De(e){let{item:t}=e;const{to:r,href:a,label:i,prependBaseUrlToHref:o,...c}=t,s=(0,W.Z)(r),d=(0,W.Z)(a,{forcePrependBaseUrl:!0});return n.createElement(Z.Z,(0,b.Z)({className:"footer__link-item"},a?{href:o?d:a}:{to:s},c),i,a&&!(0,G.Z)(a)&&n.createElement(Y.Z,null))}function Be(e){var t;let{item:r}=e;return r.html?n.createElement("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:r.html}}):n.createElement("li",{key:null!=(t=r.href)?t:r.to,className:"footer__item"},n.createElement(De,{item:r}))}function Fe(e){let{column:t}=e;return n.createElement("div",{className:"col footer__col"},n.createElement("div",{className:"footer__title"},t.title),n.createElement("ul",{className:"footer__items clean-list"},t.items.map(((e,t)=>n.createElement(Be,{key:t,item:e})))))}function je(e){let{columns:t}=e;return n.createElement("div",{className:"row footer__links"},t.map(((e,t)=>n.createElement(Fe,{key:t,column:e}))))}function Ue(){return n.createElement("span",{className:"footer__link-separator"},"\xb7")}function He(e){let{item:t}=e;return t.html?n.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):n.createElement(De,{item:t})}function Ve(e){let{links:t}=e;return n.createElement("div",{className:"footer__links text--center"},n.createElement("div",{className:"footer__links"},t.map(((e,r)=>n.createElement(n.Fragment,{key:r},n.createElement(He,{item:e}),t.length!==r+1&&n.createElement(Ue,null))))))}function $e(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?n.createElement(je,{columns:t}):n.createElement(Ve,{links:t})}var Ze=r(50941);const We="footerLogoLink_BH7S";function Ge(e){var t;let{logo:r}=e;const{withBaseUrl:i}=(0,W.C)(),o={light:i(r.src),dark:i(null!=(t=r.srcDark)?t:r.src)};return n.createElement(Ze.Z,{className:(0,a.Z)("footer__logo",r.className),alt:r.alt,sources:o,width:r.width,height:r.height,style:r.style})}function qe(e){let{logo:t}=e;return t.href?n.createElement(Z.Z,{href:t.href,className:We,target:t.target},n.createElement(Ge,{logo:t})):n.createElement(Ge,{logo:t})}function Ye(e){let{copyright:t}=e;return n.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Ke(e){let{style:t,links:r,logo:i,copyright:o}=e;return n.createElement("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t})},n.createElement("div",{className:"container container-fluid"},r,(i||o)&&n.createElement("div",{className:"footer__bottom text--center"},i&&n.createElement("div",{className:"margin-bottom--sm"},i),o)))}function Qe(){const{footer:e}=(0,m.L)();if(!e)return null;const{copyright:t,links:r,logo:a,style:i}=e;return n.createElement(Ke,{style:i,links:r&&r.length>0&&n.createElement($e,{links:r}),logo:a&&n.createElement(qe,{logo:a}),copyright:t&&n.createElement(Ye,{copyright:t})})}const Xe=n.memo(Qe);var Je=r(50012);const et="docusaurus.tab.",tt=n.createContext(void 0);const rt=(0,x.Qc)([T.S,h.pl,function(e){let{children:t}=e;const r=function(){const[e,t]=(0,n.useState)({}),r=(0,n.useCallback)(((e,t)=>{(0,Je.W)("docusaurus.tab."+e).set(t)}),[]);(0,n.useEffect)((()=>{try{const e={};(0,Je._)().forEach((t=>{if(t.startsWith(et)){const r=t.substring(et.length);e[r]=(0,Je.W)(t).get()}})),t(e)}catch(e){console.error(e)}}),[]);const a=(0,n.useCallback)(((e,n)=>{t((t=>({...t,[e]:n}))),r(e,n)}),[r]);return(0,n.useMemo)((()=>({tabGroupChoices:e,setTabGroupChoices:a})),[e,a])}();return n.createElement(tt.Provider,{value:r},t)},_.OC,Me.L5,o.VC,function(e){let{children:t}=e;return n.createElement(C.n2,null,n.createElement(E.M,null,n.createElement(L,null,t)))}]);function nt(e){let{children:t}=e;return n.createElement(rt,null,t)}function at(e){let{error:t,tryAgain:r}=e;return n.createElement("main",{className:"container margin-vert--xl"},n.createElement("div",{className:"row"},n.createElement("div",{className:"col col--6 col--offset-3"},n.createElement("h1",{className:"hero__title"},n.createElement(d.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),n.createElement("p",null,t.message),n.createElement("div",null,n.createElement("button",{type:"button",onClick:r},n.createElement(d.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again when the page crashed"},"Try again"))))))}const it="mainWrapper_z2l0";function ot(e){const{children:t,noFooter:r,wrapperClassName:d,title:l,description:u}=e;return(0,s.t)(),n.createElement(nt,null,n.createElement(o.d,{title:l,description:u}),n.createElement(f,null),n.createElement(w,null),n.createElement(ze,null),n.createElement("div",{className:(0,a.Z)(c.k.wrapper.main,it,d)},n.createElement(i.Z,{fallback:e=>n.createElement(at,e)},t)),!r&&n.createElement(Xe,null))}},21327:(e,t,r)=>{"use strict";r.d(t,{Z:()=>u});var n=r(87462),a=r(67294),i=r(39960),o=r(44996),c=r(52263),s=r(86668),d=r(50941);function l(e){let{logo:t,alt:r,imageClassName:n}=e;const i={light:(0,o.Z)(t.src),dark:(0,o.Z)(t.srcDark||t.src)},c=a.createElement(d.Z,{className:t.className,sources:i,height:t.height,width:t.width,alt:r,style:t.style});return n?a.createElement("div",{className:n},c):c}function u(e){var t;const{siteConfig:{title:r}}=(0,c.Z)(),{navbar:{title:d,logo:u}}=(0,s.L)(),{imageClassName:g,titleClassName:p,...f}=e,m=(0,o.Z)((null==u?void 0:u.href)||"/"),h=d?"":r,b=null!=(t=null==u?void 0:u.alt)?t:h;return a.createElement(i.Z,(0,n.Z)({to:m},f,(null==u?void 0:u.target)&&{target:u.target}),u&&a.createElement(l,{logo:u,alt:b,imageClassName:g}),null!=d&&a.createElement("b",{className:p},d))}},90197:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(67294),a=r(35742);function i(e){let{locale:t,version:r,tag:i}=e;const o=t;return n.createElement(a.Z,null,t&&n.createElement("meta",{name:"docusaurus_locale",content:t}),r&&n.createElement("meta",{name:"docusaurus_version",content:r}),i&&n.createElement("meta",{name:"docusaurus_tag",content:i}),o&&n.createElement("meta",{name:"docsearch:language",content:o}),r&&n.createElement("meta",{name:"docsearch:version",content:r}),i&&n.createElement("meta",{name:"docsearch:docusaurus_tag",content:i}))}},50941:(e,t,r)=>{"use strict";r.d(t,{Z:()=>d});var n=r(87462),a=r(67294),i=r(86010),o=r(72389),c=r(92949);const s={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function d(e){const t=(0,o.Z)(),{colorMode:r}=(0,c.I)(),{sources:d,className:l,alt:u,...g}=e,p=t?"dark"===r?["dark"]:["light"]:["light","dark"];return a.createElement(a.Fragment,null,p.map((e=>a.createElement("img",(0,n.Z)({key:e,src:d[e],alt:u,className:(0,i.Z)(s.themedImage,s["themedImage--"+e],l)},g)))))}},86043:(e,t,r)=>{"use strict";r.d(t,{u:()=>o,z:()=>f});var n=r(87462),a=r(67294),i=r(10412);function o(e){let{initialState:t}=e;const[r,n]=(0,a.useState)(null!=t&&t),i=(0,a.useCallback)((()=>{n((e=>!e))}),[]);return{collapsed:r,setCollapsed:n,toggleCollapsed:i}}const c={display:"none",overflow:"hidden",height:"0px"},s={display:"block",overflow:"visible",height:"auto"};function d(e,t){const r=t?c:s;e.style.display=r.display,e.style.overflow=r.overflow,e.style.height=r.height}function l(e){let{collapsibleRef:t,collapsed:r,animation:n}=e;const i=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){var t,r;const a=e.scrollHeight,i=null!=(t=null==n?void 0:n.duration)?t:function(e){const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(a);return{transition:"height "+i+"ms "+(null!=(r=null==n?void 0:n.easing)?r:"ease-in-out"),height:a+"px"}}function o(){const t=a();e.style.transition=t.transition,e.style.height=t.height}if(!i.current)return d(e,r),void(i.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{r?(o(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{o()})))}));return()=>cancelAnimationFrame(t)}()}),[t,r,n])}function u(e){if(!i.Z.canUseDOM)return e?c:s}function g(e){let{as:t="div",collapsed:r,children:n,animation:i,onCollapseTransitionEnd:o,className:c,disableSSRStyle:s}=e;const g=(0,a.useRef)(null);return l({collapsibleRef:g,collapsed:r,animation:i}),a.createElement(t,{ref:g,style:s?void 0:u(r),onTransitionEnd:e=>{"height"===e.propertyName&&(d(g.current,r),null==o||o(r))},className:c},n)}function p(e){let{collapsed:t,...r}=e;const[i,o]=(0,a.useState)(!t),[c,s]=(0,a.useState)(t);return(0,a.useLayoutEffect)((()=>{t||o(!0)}),[t]),(0,a.useLayoutEffect)((()=>{i&&s(t)}),[i,t]),i?a.createElement(g,(0,n.Z)({},r,{collapsed:c})):null}function f(e){let{lazy:t,...r}=e;const n=t?p:g;return a.createElement(n,r)}},59689:(e,t,r)=>{"use strict";r.d(t,{nT:()=>f,pl:()=>p});var n=r(67294),a=r(72389),i=r(50012),o=r(902),c=r(86668);const s=(0,i.W)("docusaurus.announcement.dismiss"),d=(0,i.W)("docusaurus.announcement.id"),l=()=>"true"===s.get(),u=e=>s.set(String(e)),g=n.createContext(null);function p(e){let{children:t}=e;const r=function(){const{announcementBar:e}=(0,c.L)(),t=(0,a.Z)(),[r,i]=(0,n.useState)((()=>!!t&&l()));(0,n.useEffect)((()=>{i(l())}),[]);const o=(0,n.useCallback)((()=>{u(!0),i(!0)}),[]);return(0,n.useEffect)((()=>{if(!e)return;const{id:t}=e;let r=d.get();"annoucement-bar"===r&&(r="announcement-bar");const n=t!==r;d.set(t),n&&u(!1),!n&&l()||i(!1)}),[e]),(0,n.useMemo)((()=>({isActive:!!e&&!r,close:o})),[e,r,o])}();return n.createElement(g.Provider,{value:r},t)}function f(){const e=(0,n.useContext)(g);if(!e)throw new o.i6("AnnouncementBarProvider");return e}},92949:(e,t,r)=>{"use strict";r.d(t,{I:()=>h,S:()=>m});var n=r(67294),a=r(10412),i=r(902),o=r(50012),c=r(86668);const s=n.createContext(void 0),d="theme",l=(0,o.W)(d),u="light",g="dark",p=e=>e===g?g:u;function f(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:r}}=(0,c.L)(),[i,o]=(0,n.useState)((e=>a.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e))(e));(0,n.useEffect)((()=>{t&&l.del()}),[t]);const s=(0,n.useCallback)((function(t,n){void 0===n&&(n={});const{persist:a=!0}=n;t?(o(t),a&&(e=>{l.set(p(e))})(t)):(o(r?window.matchMedia("(prefers-color-scheme: dark)").matches?g:u:e),l.del())}),[r,e]);(0,n.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(i))}),[i]),(0,n.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==d)return;const t=l.get();null!==t&&s(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,s]);const f=(0,n.useRef)(!1);return(0,n.useEffect)((()=>{if(t&&!r)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),n=()=>{window.matchMedia("print").matches||f.current?f.current=window.matchMedia("print").matches:s(null)};return e.addListener(n),()=>e.removeListener(n)}),[s,t,r]),(0,n.useMemo)((()=>({colorMode:i,setColorMode:s,get isDarkTheme(){return i===g},setLightTheme(){s(u)},setDarkTheme(){s(g)}})),[i,s])}function m(e){let{children:t}=e;const r=f();return n.createElement(s.Provider,{value:r},t)}function h(){const e=(0,n.useContext)(s);if(null==e)throw new i.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},60373:(e,t,r)=>{"use strict";r.d(t,{J:()=>y,L5:()=>b});var n=r(67294),a=r(94104),i=r(29935),o=r(86668),c=r(52802),s=r(902),d=r(50012);const l=e=>"docs-preferred-version-"+e,u=(e,t,r)=>{(0,d.W)(l(e),{persistence:t}).set(r)},g=(e,t)=>(0,d.W)(l(e),{persistence:t}).get(),p=(e,t)=>{(0,d.W)(l(e),{persistence:t}).del()};const f=n.createContext(null);function m(){const e=(0,a._r)(),t=(0,o.L)().docs.versionPersistence,r=(0,n.useMemo)((()=>Object.keys(e)),[e]),[i,c]=(0,n.useState)((()=>(e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}]))))(r)));(0,n.useEffect)((()=>{c(function(e){let{pluginIds:t,versionPersistence:r,allDocsData:n}=e;function a(e){const t=g(e,r);return n[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p(e,r),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:r}))}),[e,t,r]);return[i,(0,n.useMemo)((()=>({savePreferredVersion:function(e,r){u(e,t,r),c((t=>({...t,[e]:{preferredVersionName:r}})))}})),[t])]}function h(e){let{children:t}=e;const r=m();return n.createElement(f.Provider,{value:r},t)}function b(e){let{children:t}=e;return c.cE?n.createElement(h,null,t):n.createElement(n.Fragment,null,t)}function M(){const e=(0,n.useContext)(f);if(!e)throw new s.i6("DocsPreferredVersionContextProvider");return e}function y(e){var t;void 0===e&&(e=i.m);const r=(0,a.zh)(e),[o,c]=M(),{preferredVersionName:s}=o[e];return{preferredVersion:null!=(t=r.versions.find((e=>e.name===s)))?t:null,savePreferredVersionName:(0,n.useCallback)((t=>{c.savePreferredVersion(e,t)}),[c,e])}}},1116:(e,t,r)=>{"use strict";r.d(t,{V:()=>s,b:()=>c});var n=r(67294),a=r(902);const i=Symbol("EmptyContext"),o=n.createContext(i);function c(e){let{children:t,name:r,items:a}=e;const i=(0,n.useMemo)((()=>r&&a?{name:r,items:a}:null),[r,a]);return n.createElement(o.Provider,{value:i},t)}function s(){const e=(0,n.useContext)(o);if(e===i)throw new a.i6("DocsSidebarProvider");return e}},74477:(e,t,r)=>{"use strict";r.d(t,{E:()=>c,q:()=>o});var n=r(67294),a=r(902);const i=n.createContext(null);function o(e){let{children:t,version:r}=e;return n.createElement(i.Provider,{value:r},t)}function c(){const e=(0,n.useContext)(i);if(null===e)throw new a.i6("DocsVersionProvider");return e}},72961:(e,t,r)=>{"use strict";r.d(t,{M:()=>g,e:()=>p});var n=r(67294),a=r(13102),i=r(87524),o=r(76775),c=r(902);function s(e){!function(e){const t=(0,o.k6)(),r=(0,c.zX)(e);(0,n.useEffect)((()=>t.block(((e,t)=>r(e,t)))),[t,r])}(((t,r)=>{if("POP"===r)return e(t,r)}))}var d=r(86668);const l=n.createContext(void 0);function u(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,d.L)().navbar;return 0===t.length&&!e.component}(),t=(0,i.i)(),r=!e&&"mobile"===t,[o,c]=(0,n.useState)(!1);s((()=>{if(o)return c(!1),!1}));const l=(0,n.useCallback)((()=>{c((e=>!e))}),[]);return(0,n.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,n.useMemo)((()=>({disabled:e,shouldRender:r,toggle:l,shown:o})),[e,r,l,o])}function g(e){let{children:t}=e;const r=u();return n.createElement(l.Provider,{value:r},t)}function p(){const e=n.useContext(l);if(void 0===e)throw new c.i6("NavbarMobileSidebarProvider");return e}},13102:(e,t,r)=>{"use strict";r.d(t,{HY:()=>c,Zo:()=>s,n2:()=>o});var n=r(67294),a=r(902);const i=n.createContext(null);function o(e){let{children:t}=e;const r=(0,n.useState)({component:null,props:null});return n.createElement(i.Provider,{value:r},t)}function c(){const e=(0,n.useContext)(i);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function s(e){let{component:t,props:r}=e;const o=(0,n.useContext)(i);if(!o)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,c]=o,s=(0,a.Ql)(r);return(0,n.useEffect)((()=>{c({component:t,props:s})}),[c,t,s]),(0,n.useEffect)((()=>()=>c({component:null,props:null})),[c]),null}},19727:(e,t,r)=>{"use strict";r.d(t,{h:()=>a,t:()=>i});var n=r(67294);const a="navigation-with-keyboard";function i(){(0,n.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},87524:(e,t,r)=>{"use strict";r.d(t,{i:()=>d});var n=r(67294),a=r(10412);const i="desktop",o="mobile",c="ssr";function s(){return a.Z.canUseDOM?window.innerWidth>996?i:o:c}function d(){const[e,t]=(0,n.useState)((()=>s()));return(0,n.useEffect)((()=>{function e(){t(s())}return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(undefined)}}),[]),e}},35281:(e,t,r)=>{"use strict";r.d(t,{k:()=>n});const n={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:e=>"theme-admonition-"+e},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>"theme-doc-sidebar-item-category-level-"+e,docSidebarItemLinkLevel:e=>"theme-doc-sidebar-item-link-level-"+e},blog:{}}},52802:(e,t,r)=>{"use strict";r.d(t,{Wl:()=>m,_F:()=>M,cE:()=>g,jA:()=>h,xz:()=>p,hI:()=>w,lO:()=>v,vY:()=>S,oz:()=>k,s1:()=>y});var n=r(67294),a=r(76775),i=r(18790),o=r(94104),c=r(60373),s=r(74477),d=r(1116);function l(e){return Array.from(new Set(e))}var u=r(48596);const g=!!o._r;function p(e){const t=(0,s.E)();if(!e)return;const r=t.docs[e];if(!r)throw new Error("no version doc found by id="+e);return r}function f(e,t){for(const r of e)if("category"===r.type){if(t(r))return r;const e=f(r.items,t);if(e)return e}}function m(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=m(t);if(e)return e}}}function h(){const{pathname:e}=(0,a.TH)(),t=(0,d.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const r=f(t.items,(t=>(0,u.Mg)(t.href,e)));if(!r)throw new Error(e+" is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.");return r}const b=(e,t)=>void 0!==e&&(0,u.Mg)(e,t);function M(e,t){return"link"===e.type?b(e.href,t):"category"===e.type&&(b(e.href,t)||((e,t)=>e.some((e=>M(e,t))))(e.items,t))}function y(){var e;const t=(0,d.V)(),{pathname:r}=(0,a.TH)();if(!1===(null==(e=(0,o.gA)())?void 0:e.pluginData.breadcrumbs)||!t)return null;const n=[];return function e(t){for(const a of t)if("category"===a.type&&((0,u.Mg)(a.href,r)||e(a.items))||"link"===a.type&&(0,u.Mg)(a.href,r))return n.push(a),!0;return!1}(t.items),n.reverse()}function v(e){const{activeVersion:t}=(0,o.Iw)(e),{preferredVersion:r}=(0,c.J)(e),a=(0,o.yW)(e);return(0,n.useMemo)((()=>l([t,r,a].filter(Boolean))),[t,r,a])}function k(e,t){const r=v(t);return(0,n.useMemo)((()=>{const t=r.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),n=t.find((t=>t[0]===e));if(!n)throw new Error("Can't find any sidebar with id \""+e+'" in version'+(r.length>1?"s":"")+" "+r.map((e=>e.name)).join(", ")+'".\n Available sidebar ids are:\n - '+Object.keys(t).join("\n- "));return n[1]}),[e,r])}function S(e,t){const r=v(t);return(0,n.useMemo)((()=>{const t=r.flatMap((e=>e.docs)),n=t.find((t=>t.id===e));if(!n){if(r.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error("DocNavbarItem: couldn't find any doc with id \""+e+'" in version'+(r.length>1?"s":"")+" "+r.map((e=>e.name)).join(", ")+'".\nAvailable doc ids are:\n- '+l(t.map((e=>e.id))).join("\n- "))}return n}),[e,r])}function w(e){let{route:t,versionMetadata:r}=e;const n=(0,a.TH)(),o=t.routes,c=o.find((e=>(0,a.LX)(n.pathname,e)));if(!c)return null;const s=c.sidebar,d=s?r.docsSidebars[s]:void 0;return{docElement:(0,i.H)(o),sidebarName:s,sidebarItems:d}}},1944:(e,t,r)=>{"use strict";r.d(t,{FG:()=>g,d:()=>l,VC:()=>p});var n=r(67294),a=r(86010),i=r(35742),o=r(30226);function c(){const e=n.useContext(o._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=r(44996),d=r(52263);function l(e){let{title:t,description:r,keywords:a,image:o,children:c}=e;const l=function(e){const{siteConfig:t}=(0,d.Z)(),{title:r,titleDelimiter:n}=t;return null!=e&&e.trim().length?e.trim()+" "+n+" "+r:r}(t),{withBaseUrl:u}=(0,s.C)(),g=o?u(o,{absolute:!0}):void 0;return n.createElement(i.Z,null,t&&n.createElement("title",null,l),t&&n.createElement("meta",{property:"og:title",content:l}),r&&n.createElement("meta",{name:"description",content:r}),r&&n.createElement("meta",{property:"og:description",content:r}),a&&n.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),g&&n.createElement("meta",{property:"og:image",content:g}),g&&n.createElement("meta",{name:"twitter:image",content:g}),c)}const u=n.createContext(void 0);function g(e){let{className:t,children:r}=e;const o=n.useContext(u),c=(0,a.Z)(o,t);return n.createElement(u.Provider,{value:c},n.createElement(i.Z,null,n.createElement("html",{className:c})),r)}function p(e){let{children:t}=e;const r=c(),i="plugin-"+r.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"");const o="plugin-id-"+r.plugin.id;return n.createElement(g,{className:(0,a.Z)(i,o)},t)}},902:(e,t,r)=>{"use strict";r.d(t,{D9:()=>o,Qc:()=>d,Ql:()=>s,i6:()=>c,zX:()=>i});var n=r(67294);const a=r(10412).Z.canUseDOM?n.useLayoutEffect:n.useEffect;function i(e){const t=(0,n.useRef)(e);return a((()=>{t.current=e}),[e]),(0,n.useCallback)((function(){return t.current(...arguments)}),[])}function o(e){const t=(0,n.useRef)();return a((()=>{t.current=e})),t.current}class c extends Error{constructor(e,t){var r,n,a,i;super(),this.name="ReactContextError",this.message="Hook "+(null!=(r=null==(n=this.stack)||null==(a=n.split("\n")[1])||null==(i=a.match(/at (?:\w+\.)?(?<name>\w+)/))?void 0:i.groups.name)?r:"")+" is called outside the <"+e+">. "+(null!=t?t:"")}}function s(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,n.useMemo)((()=>e),t.flat())}function d(e){return t=>{let{children:r}=t;return n.createElement(n.Fragment,null,e.reduceRight(((e,t)=>n.createElement(t,null,e)),r))}}},48596:(e,t,r)=>{"use strict";r.d(t,{Mg:()=>o,Ns:()=>c});var n=r(67294),a=r(723),i=r(52263);function o(e,t){const r=e=>{var t;return null==(t=!e||e.endsWith("/")?e:e+"/")?void 0:t.toLowerCase()};return r(e)===r(t)}function c(){const{baseUrl:e}=(0,i.Z)().siteConfig;return(0,n.useMemo)((()=>function(e){let{baseUrl:t,routes:r}=e;function n(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(n)||e(t.filter(a).flatMap((e=>{var t;return null!=(t=e.routes)?t:[]})))}(r)}({routes:a.Z,baseUrl:e})),[e])}},12466:(e,t,r)=>{"use strict";r.d(t,{Ct:()=>g,OC:()=>s,RF:()=>u});var n=r(67294),a=r(10412),i=r(72389),o=r(902);const c=n.createContext(void 0);function s(e){let{children:t}=e;const r=function(){const e=(0,n.useRef)(!0);return(0,n.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return n.createElement(c.Provider,{value:r},t)}function d(){const e=(0,n.useContext)(c);if(null==e)throw new o.i6("ScrollControllerProvider");return e}const l=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function u(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:r}=d(),a=(0,n.useRef)(l()),i=(0,o.zX)(e);(0,n.useEffect)((()=>{const e=()=>{if(!r.current)return;const e=l();i(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[i,r,...t])}function g(){const e=(0,n.useRef)(null),t=(0,i.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:r=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(r):function(e){let t=null;const r=document.documentElement.scrollTop>e;return function n(){const a=document.documentElement.scrollTop;(r&&a>e||!r&&a<e)&&(t=requestAnimationFrame(n),window.scrollTo(0,Math.floor(.85*(a-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(r)},cancelScroll:()=>null==e.current?void 0:e.current()}}},43320:(e,t,r)=>{"use strict";r.d(t,{HX:()=>n,os:()=>a});r(52263);const n="default";function a(e,t){return"docs-"+e+"-"+t}},50012:(e,t,r)=>{"use strict";r.d(t,{W:()=>c,_:()=>s});const n="localStorage";function a(e){if(void 0===e&&(e=n),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(r){return t=r,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const o={get:()=>null,set:()=>{},del:()=>{}};function c(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error('Illegal storage API usage for storage key "'+e+'".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.')}return{get:t,set:t,del:t}}(e);const r=a(null==t?void 0:t.persistence);return null===r?o:{get:()=>{try{return r.getItem(e)}catch(t){return console.error("Docusaurus storage error, can't get key="+e,t),null}},set:t=>{try{r.setItem(e,t)}catch(n){console.error("Docusaurus storage error, can't set "+e+"="+t,n)}},del:()=>{try{r.removeItem(e)}catch(t){console.error("Docusaurus storage error, can't delete key="+e,t)}}}}function s(e){void 0===e&&(e=n);const t=a(e);if(!t)return[];const r=[];for(let n=0;n<t.length;n+=1){const e=t.key(n);null!==e&&r.push(e)}return r}},94711:(e,t,r)=>{"use strict";r.d(t,{l:()=>i});var n=r(52263),a=r(76775);function i(){const{siteConfig:{baseUrl:e,url:t},i18n:{defaultLocale:r,currentLocale:i}}=(0,n.Z)(),{pathname:o}=(0,a.TH)(),c=i===r?e:e.replace("/"+i+"/","/"),s=o.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:a}=e;return""+(a?t:"")+function(e){return e===r?""+c:""+c+e+"/"}(n)+s}}}},85936:(e,t,r)=>{"use strict";r.d(t,{S:()=>o});var n=r(67294),a=r(76775),i=r(902);function o(e){const t=(0,a.TH)(),r=(0,i.D9)(t),o=(0,i.zX)(e);(0,n.useEffect)((()=>{r&&t!==r&&o({location:t,previousLocation:r})}),[o,t,r])}},86668:(e,t,r)=>{"use strict";r.d(t,{L:()=>a});var n=r(52263);function a(){return(0,n.Z)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:r,baseUrl:n}=t;if(e.startsWith("#"))return e;if(void 0===r)return e;const[a]=e.split(/[#?]/),i="/"===a||a===n?a:(o=a,r?function(e){return e.endsWith("/")?e:e+"/"}(o):function(e){return e.endsWith("/")?e.slice(0,-1):e}(o));var o;return e.replace(a,i)}},18780:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="post-content";var a=r(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return n(a).default}})},94184:(e,t)=>{var r;!function(){"use strict";var n={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var i=typeof r;if("string"===i||"number"===i)e.push(r);else if(Array.isArray(r)){if(r.length){var o=a.apply(null,r);o&&e.push(o)}}else if("object"===i)if(r.toString===Object.prototype.toString)for(var c in r)n.call(r,c)&&r[c]&&e.push(c);else e.push(r.toString())}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(r=function(){return a}.apply(t,[]))||(e.exports=r)}()},86010:(e,t,r)=>{"use strict";function n(e){var t,r,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(r=n(e[t]))&&(a&&(a+=" "),a+=r);else for(t in e)e[t]&&(a&&(a+=" "),a+=t);return a}r.d(t,{Z:()=>a});const a=function(){for(var e,t,r=0,a="";r<arguments.length;)(e=arguments[r++])&&(t=n(e))&&(a&&(a+=" "),a+=t);return a}},99318:(e,t,r)=>{"use strict";r.d(t,{lX:()=>v,q_:()=>x,ob:()=>p,PP:()=>A,Ep:()=>g});var n=r(87462);function a(e){return"/"===e.charAt(0)}function i(e,t){for(var r=t,n=r+1,a=e.length;n<a;r+=1,n+=1)e[r]=e[n];e.pop()}const o=function(e,t){void 0===t&&(t="");var r,n=e&&e.split("/")||[],o=t&&t.split("/")||[],c=e&&a(e),s=t&&a(t),d=c||s;if(e&&a(e)?o=n:n.length&&(o.pop(),o=o.concat(n)),!o.length)return"/";if(o.length){var l=o[o.length-1];r="."===l||".."===l||""===l}else r=!1;for(var u=0,g=o.length;g>=0;g--){var p=o[g];"."===p?i(o,g):".."===p?(i(o,g),u++):u&&(i(o,g),u--)}if(!d)for(;u--;u)o.unshift("..");!d||""===o[0]||o[0]&&a(o[0])||o.unshift("");var f=o.join("/");return r&&"/"!==f.substr(-1)&&(f+="/"),f};var c=r(2177);function s(e){return"/"===e.charAt(0)?e:"/"+e}function d(e){return"/"===e.charAt(0)?e.substr(1):e}function l(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function u(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function g(e){var t=e.pathname,r=e.search,n=e.hash,a=t||"/";return r&&"?"!==r&&(a+="?"===r.charAt(0)?r:"?"+r),n&&"#"!==n&&(a+="#"===n.charAt(0)?n:"#"+n),a}function p(e,t,r,a){var i;"string"==typeof e?(i=function(e){var t=e||"/",r="",n="",a=t.indexOf("#");-1!==a&&(n=t.substr(a),t=t.substr(0,a));var i=t.indexOf("?");return-1!==i&&(r=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===r?"":r,hash:"#"===n?"":n}}(e),i.state=t):(void 0===(i=(0,n.Z)({},e)).pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(c){throw c instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):c}return r&&(i.key=r),a?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=o(i.pathname,a.pathname)):i.pathname=a.pathname:i.pathname||(i.pathname="/"),i}function f(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,r,n,a){if(null!=e){var i="function"==typeof e?e(t,r):e;"string"==typeof i?"function"==typeof n?n(i,a):a(!0):a(!1!==i)}else a(!0)},appendListener:function(e){var r=!0;function n(){r&&e.apply(void 0,arguments)}return t.push(n),function(){r=!1,t=t.filter((function(e){return e!==n}))}},notifyListeners:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];t.forEach((function(e){return e.apply(void 0,r)}))}}}var m=!("undefined"==typeof window||!window.document||!window.document.createElement);function h(e,t){t(window.confirm(e))}var b="popstate",M="hashchange";function y(){try{return window.history.state||{}}catch(e){return{}}}function v(e){void 0===e&&(e={}),m||(0,c.Z)(!1);var t,r=window.history,a=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,i=!(-1===window.navigator.userAgent.indexOf("Trident")),o=e,d=o.forceRefresh,v=void 0!==d&&d,k=o.getUserConfirmation,S=void 0===k?h:k,w=o.keyLength,E=void 0===w?6:w,_=e.basename?u(s(e.basename)):"";function x(e){var t=e||{},r=t.key,n=t.state,a=window.location,i=a.pathname+a.search+a.hash;return _&&(i=l(i,_)),p(i,n,r)}function C(){return Math.random().toString(36).substr(2,E)}var A=f();function L(e){(0,n.Z)(U,e),U.length=r.length,A.notifyListeners(U.location,U.action)}function N(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||T(x(e.state))}function P(){T(x(y()))}var I=!1;function T(e){if(I)I=!1,L();else{A.confirmTransitionTo(e,"POP",S,(function(t){t?L({action:"POP",location:e}):function(e){var t=U.location,r=O.indexOf(t.key);-1===r&&(r=0);var n=O.indexOf(e.key);-1===n&&(n=0);var a=r-n;a&&(I=!0,D(a))}(e)}))}}var R=x(y()),O=[R.key];function z(e){return _+g(e)}function D(e){r.go(e)}var B=0;function F(e){1===(B+=e)&&1===e?(window.addEventListener(b,N),i&&window.addEventListener(M,P)):0===B&&(window.removeEventListener(b,N),i&&window.removeEventListener(M,P))}var j=!1;var U={length:r.length,action:"POP",location:R,createHref:z,push:function(e,t){var n="PUSH",i=p(e,t,C(),U.location);A.confirmTransitionTo(i,n,S,(function(e){if(e){var t=z(i),o=i.key,c=i.state;if(a)if(r.pushState({key:o,state:c},null,t),v)window.location.href=t;else{var s=O.indexOf(U.location.key),d=O.slice(0,s+1);d.push(i.key),O=d,L({action:n,location:i})}else window.location.href=t}}))},replace:function(e,t){var n="REPLACE",i=p(e,t,C(),U.location);A.confirmTransitionTo(i,n,S,(function(e){if(e){var t=z(i),o=i.key,c=i.state;if(a)if(r.replaceState({key:o,state:c},null,t),v)window.location.replace(t);else{var s=O.indexOf(U.location.key);-1!==s&&(O[s]=i.key),L({action:n,location:i})}else window.location.replace(t)}}))},go:D,goBack:function(){D(-1)},goForward:function(){D(1)},block:function(e){void 0===e&&(e=!1);var t=A.setPrompt(e);return j||(F(1),j=!0),function(){return j&&(j=!1,F(-1)),t()}},listen:function(e){var t=A.appendListener(e);return F(1),function(){F(-1),t()}}};return U}var k="hashchange",S={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+d(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:d,decodePath:s},slash:{encodePath:s,decodePath:s}};function w(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function E(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function _(e){window.location.replace(w(window.location.href)+"#"+e)}function x(e){void 0===e&&(e={}),m||(0,c.Z)(!1);var t=window.history,r=(window.navigator.userAgent.indexOf("Firefox"),e),a=r.getUserConfirmation,i=void 0===a?h:a,o=r.hashType,d=void 0===o?"slash":o,b=e.basename?u(s(e.basename)):"",M=S[d],y=M.encodePath,v=M.decodePath;function x(){var e=v(E());return b&&(e=l(e,b)),p(e)}var C=f();function A(e){(0,n.Z)(j,e),j.length=t.length,C.notifyListeners(j.location,j.action)}var L=!1,N=null;function P(){var e,t,r=E(),n=y(r);if(r!==n)_(n);else{var a=x(),o=j.location;if(!L&&(t=a,(e=o).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(N===g(a))return;N=null,function(e){if(L)L=!1,A();else{var t="POP";C.confirmTransitionTo(e,t,i,(function(r){r?A({action:t,location:e}):function(e){var t=j.location,r=O.lastIndexOf(g(t));-1===r&&(r=0);var n=O.lastIndexOf(g(e));-1===n&&(n=0);var a=r-n;a&&(L=!0,z(a))}(e)}))}}(a)}}var I=E(),T=y(I);I!==T&&_(T);var R=x(),O=[g(R)];function z(e){t.go(e)}var D=0;function B(e){1===(D+=e)&&1===e?window.addEventListener(k,P):0===D&&window.removeEventListener(k,P)}var F=!1;var j={length:t.length,action:"POP",location:R,createHref:function(e){var t=document.querySelector("base"),r="";return t&&t.getAttribute("href")&&(r=w(window.location.href)),r+"#"+y(b+g(e))},push:function(e,t){var r="PUSH",n=p(e,void 0,void 0,j.location);C.confirmTransitionTo(n,r,i,(function(e){if(e){var t=g(n),a=y(b+t);if(E()!==a){N=t,function(e){window.location.hash=e}(a);var i=O.lastIndexOf(g(j.location)),o=O.slice(0,i+1);o.push(t),O=o,A({action:r,location:n})}else A()}}))},replace:function(e,t){var r="REPLACE",n=p(e,void 0,void 0,j.location);C.confirmTransitionTo(n,r,i,(function(e){if(e){var t=g(n),a=y(b+t);E()!==a&&(N=t,_(a));var i=O.indexOf(g(j.location));-1!==i&&(O[i]=t),A({action:r,location:n})}}))},go:z,goBack:function(){z(-1)},goForward:function(){z(1)},block:function(e){void 0===e&&(e=!1);var t=C.setPrompt(e);return F||(B(1),F=!0),function(){return F&&(F=!1,B(-1)),t()}},listen:function(e){var t=C.appendListener(e);return B(1),function(){B(-1),t()}}};return j}function C(e,t,r){return Math.min(Math.max(e,t),r)}function A(e){void 0===e&&(e={});var t=e,r=t.getUserConfirmation,a=t.initialEntries,i=void 0===a?["/"]:a,o=t.initialIndex,c=void 0===o?0:o,s=t.keyLength,d=void 0===s?6:s,l=f();function u(e){(0,n.Z)(v,e),v.length=v.entries.length,l.notifyListeners(v.location,v.action)}function m(){return Math.random().toString(36).substr(2,d)}var h=C(c,0,i.length-1),b=i.map((function(e){return p(e,void 0,"string"==typeof e?m():e.key||m())})),M=g;function y(e){var t=C(v.index+e,0,v.entries.length-1),n=v.entries[t];l.confirmTransitionTo(n,"POP",r,(function(e){e?u({action:"POP",location:n,index:t}):u()}))}var v={length:b.length,action:"POP",location:b[h],index:h,entries:b,createHref:M,push:function(e,t){var n="PUSH",a=p(e,t,m(),v.location);l.confirmTransitionTo(a,n,r,(function(e){if(e){var t=v.index+1,r=v.entries.slice(0);r.length>t?r.splice(t,r.length-t,a):r.push(a),u({action:n,location:a,index:t,entries:r})}}))},replace:function(e,t){var n="REPLACE",a=p(e,t,m(),v.location);l.confirmTransitionTo(a,n,r,(function(e){e&&(v.entries[v.index]=a,u({action:n,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=v.index+e;return t>=0&&t<v.entries.length},block:function(e){return void 0===e&&(e=!1),l.setPrompt(e)},listen:function(e){return l.appendListener(e)}};return v}},8679:(e,t,r)=>{"use strict";var n=r(59864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},o={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},c={};function s(e){return n.isMemo(e)?o:c[e.$$typeof]||a}c[n.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},c[n.Memo]=o;var d=Object.defineProperty,l=Object.getOwnPropertyNames,u=Object.getOwnPropertySymbols,g=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,f=Object.prototype;e.exports=function e(t,r,n){if("string"!=typeof r){if(f){var a=p(r);a&&a!==f&&e(t,a,n)}var o=l(r);u&&(o=o.concat(u(r)));for(var c=s(t),m=s(r),h=0;h<o.length;++h){var b=o[h];if(!(i[b]||n&&n[b]||m&&m[b]||c&&c[b])){var M=g(r,b);try{d(t,b,M)}catch(y){}}}}return t}},41143:e=>{"use strict";e.exports=function(e,t,r,n,a,i,o,c){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var d=[r,n,a,i,o,c],l=0;(s=new Error(t.replace(/%s/g,(function(){return d[l++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},13395:(e,t,r)=>{"use strict";r.r(t)},32497:(e,t,r)=>{"use strict";r.r(t)},74865:function(e,t,r){var n,a;n=function(){var e,t,r={version:"0.2.0"},n=r.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function a(e,t,r){return e<t?t:e>r?r:e}function i(e){return 100*(-1+e)}function o(e,t,r){var a;return(a="translate3d"===n.positionUsing?{transform:"translate3d("+i(e)+"%,0,0)"}:"translate"===n.positionUsing?{transform:"translate("+i(e)+"%,0)"}:{"margin-left":i(e)+"%"}).transition="all "+t+"ms "+r,a}r.configure=function(e){var t,r;for(t in e)void 0!==(r=e[t])&&e.hasOwnProperty(t)&&(n[t]=r);return this},r.status=null,r.set=function(e){var t=r.isStarted();e=a(e,n.minimum,1),r.status=1===e?null:e;var i=r.render(!t),d=i.querySelector(n.barSelector),l=n.speed,u=n.easing;return i.offsetWidth,c((function(t){""===n.positionUsing&&(n.positionUsing=r.getPositioningCSS()),s(d,o(e,l,u)),1===e?(s(i,{transition:"none",opacity:1}),i.offsetWidth,setTimeout((function(){s(i,{transition:"all "+l+"ms linear",opacity:0}),setTimeout((function(){r.remove(),t()}),l)}),l)):setTimeout(t,l)})),this},r.isStarted=function(){return"number"==typeof r.status},r.start=function(){r.status||r.set(0);var e=function(){setTimeout((function(){r.status&&(r.trickle(),e())}),n.trickleSpeed)};return n.trickle&&e(),this},r.done=function(e){return e||r.status?r.inc(.3+.5*Math.random()).set(1):this},r.inc=function(e){var t=r.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),r.set(t)):r.start()},r.trickle=function(){return r.inc(Math.random()*n.trickleRate)},e=0,t=0,r.promise=function(n){return n&&"resolved"!==n.state()?(0===t&&r.start(),e++,t++,n.always((function(){0==--t?(e=0,r.done()):r.set((e-t)/e)})),this):this},r.render=function(e){if(r.isRendered())return document.getElementById("nprogress");l(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=n.template;var a,o=t.querySelector(n.barSelector),c=e?"-100":i(r.status||0),d=document.querySelector(n.parent);return s(o,{transition:"all 0 linear",transform:"translate3d("+c+"%,0,0)"}),n.showSpinner||(a=t.querySelector(n.spinnerSelector))&&p(a),d!=document.body&&l(d,"nprogress-custom-parent"),d.appendChild(t),t},r.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(n.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},r.isRendered=function(){return!!document.getElementById("nprogress")},r.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var c=function(){var e=[];function t(){var r=e.shift();r&&r(t)}return function(r){e.push(r),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function r(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function n(t){var r=document.body.style;if(t in r)return t;for(var n,a=e.length,i=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((n=e[a]+i)in r)return n;return t}function a(e){return e=r(e),t[e]||(t[e]=n(e))}function i(e,t,r){t=a(t),e.style[t]=r}return function(e,t){var r,n,a=arguments;if(2==a.length)for(r in t)void 0!==(n=t[r])&&t.hasOwnProperty(r)&&i(e,r,n);else i(e,a[1],a[2])}}();function d(e,t){return("string"==typeof e?e:g(e)).indexOf(" "+t+" ")>=0}function l(e,t){var r=g(e),n=r+t;d(r,t)||(e.className=n.substring(1))}function u(e,t){var r,n=g(e);d(e,t)&&(r=n.replace(" "+t+" "," "),e.className=r.substring(1,r.length-1))}function g(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return r},void 0===(a="function"==typeof n?n.call(t,r,t,e):n)||(e.exports=a)},27418:e=>{"use strict";var t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(a){return!1}}()?Object.assign:function(e,i){for(var o,c,s=a(e),d=1;d<arguments.length;d++){for(var l in o=Object(arguments[d]))r.call(o,l)&&(s[l]=o[l]);if(t){c=t(o);for(var u=0;u<c.length;u++)n.call(o,c[u])&&(s[c[u]]=o[c[u]])}}return s}},14779:(e,t,r)=>{var n=r(5826);e.exports=p,e.exports.parse=i,e.exports.compile=function(e,t){return c(i(e,t),t)},e.exports.tokensToFunction=c,e.exports.tokensToRegExp=g;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function i(e,t){for(var r,n=[],i=0,o=0,c="",l=t&&t.delimiter||"/";null!=(r=a.exec(e));){var u=r[0],g=r[1],p=r.index;if(c+=e.slice(o,p),o=p+u.length,g)c+=g[1];else{var f=e[o],m=r[2],h=r[3],b=r[4],M=r[5],y=r[6],v=r[7];c&&(n.push(c),c="");var k=null!=m&&null!=f&&f!==m,S="+"===y||"*"===y,w="?"===y||"*"===y,E=r[2]||l,_=b||M;n.push({name:h||i++,prefix:m||"",delimiter:E,optional:w,repeat:S,partial:k,asterisk:!!v,pattern:_?d(_):v?".*":"[^"+s(E)+"]+?"})}}return o<e.length&&(c+=e.substr(o)),c&&n.push(c),n}function o(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function c(e,t){for(var r=new Array(e.length),a=0;a<e.length;a++)"object"==typeof e[a]&&(r[a]=new RegExp("^(?:"+e[a].pattern+")$",u(t)));return function(t,a){for(var i="",c=t||{},s=(a||{}).pretty?o:encodeURIComponent,d=0;d<e.length;d++){var l=e[d];if("string"!=typeof l){var u,g=c[l.name];if(null==g){if(l.optional){l.partial&&(i+=l.prefix);continue}throw new TypeError('Expected "'+l.name+'" to be defined')}if(n(g)){if(!l.repeat)throw new TypeError('Expected "'+l.name+'" to not repeat, but received `'+JSON.stringify(g)+"`");if(0===g.length){if(l.optional)continue;throw new TypeError('Expected "'+l.name+'" to not be empty')}for(var p=0;p<g.length;p++){if(u=s(g[p]),!r[d].test(u))throw new TypeError('Expected all "'+l.name+'" to match "'+l.pattern+'", but received `'+JSON.stringify(u)+"`");i+=(0===p?l.prefix:l.delimiter)+u}}else{if(u=l.asterisk?encodeURI(g).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):s(g),!r[d].test(u))throw new TypeError('Expected "'+l.name+'" to match "'+l.pattern+'", but received "'+u+'"');i+=l.prefix+u}}else i+=l}return i}}function s(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function d(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function l(e,t){return e.keys=t,e}function u(e){return e&&e.sensitive?"":"i"}function g(e,t,r){n(t)||(r=t||r,t=[]);for(var a=(r=r||{}).strict,i=!1!==r.end,o="",c=0;c<e.length;c++){var d=e[c];if("string"==typeof d)o+=s(d);else{var g=s(d.prefix),p="(?:"+d.pattern+")";t.push(d),d.repeat&&(p+="(?:"+g+p+")*"),o+=p=d.optional?d.partial?g+"("+p+")?":"(?:"+g+"("+p+"))?":g+"("+p+")"}}var f=s(r.delimiter||"/"),m=o.slice(-f.length)===f;return a||(o=(m?o.slice(0,-f.length):o)+"(?:"+f+"(?=$))?"),o+=i?"$":a&&m?"":"(?="+f+"|$)",l(new RegExp("^"+o,u(r)),t)}function p(e,t,r){return n(t)||(r=t||r,t=[]),r=r||{},e instanceof RegExp?function(e,t){var r=e.source.match(/\((?!\?)/g);if(r)for(var n=0;n<r.length;n++)t.push({name:n,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return l(e,t)}(e,t):n(e)?function(e,t,r){for(var n=[],a=0;a<e.length;a++)n.push(p(e[a],t,r).source);return l(new RegExp("(?:"+n.join("|")+")",u(r)),t)}(e,t,r):function(e,t,r){return g(i(e,r),t,r)}(e,t,r)}},87410:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,r={},n={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,r){var a,i;switch(r=r||{},n.util.type(t)){case"Object":if(i=n.util.objId(t),r[i])return r[i];for(var o in a={},r[i]=a,t)t.hasOwnProperty(o)&&(a[o]=e(t[o],r));return a;case"Array":return i=n.util.objId(t),r[i]?r[i]:(a=[],r[i]=a,t.forEach((function(t,n){a[n]=e(t,r)})),a);default:return t}},getLanguage:function(t){for(;t;){var r=e.exec(t.className);if(r)return r[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,r){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+r)},isActive:function(e,t,r){for(var n="no-"+t;e;){var a=e.classList;if(a.contains(t))return!0;if(a.contains(n))return!1;e=e.parentElement}return!!r}},languages:{plain:r,plaintext:r,text:r,txt:r,extend:function(e,t){var r=n.util.clone(n.languages[e]);for(var a in t)r[a]=t[a];return r},insertBefore:function(e,t,r,a){var i=(a=a||n.languages)[e],o={};for(var c in i)if(i.hasOwnProperty(c)){if(c==t)for(var s in r)r.hasOwnProperty(s)&&(o[s]=r[s]);r.hasOwnProperty(c)||(o[c]=i[c])}var d=a[e];return a[e]=o,n.languages.DFS(n.languages,(function(t,r){r===d&&t!=e&&(this[t]=o)})),o},DFS:function e(t,r,a,i){i=i||{};var o=n.util.objId;for(var c in t)if(t.hasOwnProperty(c)){r.call(t,c,t[c],a||c);var s=t[c],d=n.util.type(s);"Object"!==d||i[o(s)]?"Array"!==d||i[o(s)]||(i[o(s)]=!0,e(s,r,c,i)):(i[o(s)]=!0,e(s,r,null,i))}}},plugins:{},highlight:function(e,t,r){var i={code:e,grammar:t,language:r};return n.hooks.run("before-tokenize",i),i.tokens=n.tokenize(i.code,i.grammar),n.hooks.run("after-tokenize",i),a.stringify(n.util.encode(i.tokens),i.language)},tokenize:function(e,t){var r=t.rest;if(r){for(var n in r)t[n]=r[n];delete t.rest}var a=new c;return s(a,a.head,e),o(e,a,t,a.head,0),function(e){var t=[],r=e.head.next;for(;r!==e.tail;)t.push(r.value),r=r.next;return t}(a)},hooks:{all:{},add:function(e,t){var r=n.hooks.all;r[e]=r[e]||[],r[e].push(t)},run:function(e,t){var r=n.hooks.all[e];if(r&&r.length)for(var a,i=0;a=r[i++];)a(t)}},Token:a};function a(e,t,r,n){this.type=e,this.content=t,this.alias=r,this.length=0|(n||"").length}function i(e,t,r,n){e.lastIndex=t;var a=e.exec(r);if(a&&n&&a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function o(e,t,r,c,l,u){for(var g in r)if(r.hasOwnProperty(g)&&r[g]){var p=r[g];p=Array.isArray(p)?p:[p];for(var f=0;f<p.length;++f){if(u&&u.cause==g+","+f)return;var m=p[f],h=m.inside,b=!!m.lookbehind,M=!!m.greedy,y=m.alias;if(M&&!m.pattern.global){var v=m.pattern.toString().match(/[imsuy]*$/)[0];m.pattern=RegExp(m.pattern.source,v+"g")}for(var k=m.pattern||m,S=c.next,w=l;S!==t.tail&&!(u&&w>=u.reach);w+=S.value.length,S=S.next){var E=S.value;if(t.length>e.length)return;if(!(E instanceof a)){var _,x=1;if(M){if(!(_=i(k,w,e,b))||_.index>=e.length)break;var C=_.index,A=_.index+_[0].length,L=w;for(L+=S.value.length;C>=L;)L+=(S=S.next).value.length;if(w=L-=S.value.length,S.value instanceof a)continue;for(var N=S;N!==t.tail&&(L<A||"string"==typeof N.value);N=N.next)x++,L+=N.value.length;x--,E=e.slice(w,L),_.index-=w}else if(!(_=i(k,0,E,b)))continue;C=_.index;var P=_[0],I=E.slice(0,C),T=E.slice(C+P.length),R=w+E.length;u&&R>u.reach&&(u.reach=R);var O=S.prev;if(I&&(O=s(t,O,I),w+=I.length),d(t,O,x),S=s(t,O,new a(g,h?n.tokenize(P,h):P,y,P)),T&&s(t,S,T),x>1){var z={cause:g+","+f,reach:R};o(e,t,r,S.prev,w,z),u&&z.reach>u.reach&&(u.reach=z.reach)}}}}}}function c(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function s(e,t,r){var n=t.next,a={value:r,prev:t,next:n};return t.next=a,n.prev=a,e.length++,a}function d(e,t,r){for(var n=t.next,a=0;a<r&&n!==e.tail;a++)n=n.next;t.next=n,n.prev=t,e.length-=a}return a.stringify=function e(t,r){if("string"==typeof t)return t;if(Array.isArray(t)){var a="";return t.forEach((function(t){a+=e(t,r)})),a}var i={type:t.type,content:e(t.content,r),tag:"span",classes:["token",t.type],attributes:{},language:r},o=t.alias;o&&(Array.isArray(o)?Array.prototype.push.apply(i.classes,o):i.classes.push(o)),n.hooks.run("wrap",i);var c="";for(var s in i.attributes)c+=" "+s+'="'+(i.attributes[s]||"").replace(/"/g,""")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+c+">"+i.content+"</"+i.tag+">"},n}(),a=n;n.default=n,a.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.languages.markup.doctype.inside["internal-subset"].inside=a.languages.markup,a.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var r={};r["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:a.languages[t]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var n={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};n["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var i={};i[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},a.languages.insertBefore("markup","cdata",i)}}),Object.defineProperty(a.languages.markup.tag,"addAttribute",{value:function(e,t){a.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:a.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.xml=a.languages.extend("markup",{}),a.languages.ssml=a.languages.xml,a.languages.atom=a.languages.xml,a.languages.rss=a.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",r={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},n={bash:r,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:r}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:n},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:n.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},r.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],i=n.variable[1].inside,o=0;o<a.length;o++)i[a[o]]=e.languages.bash[a[o]];e.languages.shell=e.languages.bash}(a),a.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.c=a.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),a.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),a.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},a.languages.c.string],char:a.languages.c.char,comment:a.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:a.languages.c}}}}),a.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete a.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,r=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return r}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(a),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var r=e.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))}(a),function(e){var t,r=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+r.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[r,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var n={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:n,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:n,number:a})}(a),a.languages.javascript=a.languages.extend("clike",{"class-name":[a.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:a.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),a.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),a.languages.markup&&(a.languages.markup.tag.addInlined("script","javascript"),a.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),a.languages.js=a.languages.javascript,function(e){var t=/#(?!\{).+/,r={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:r}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:r}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:r}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(a),function(e){var t=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,n="(?:"+r.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+r.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),i=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function o(e,t){t=(t||"").replace(/m/g,"")+"m";var r=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return n})).replace(/<<value>>/g,(function(){return e}));return RegExp(r,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return n}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return n})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+i+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:o(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:o(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:o(i),lookbehind:!0,greedy:!0},number:{pattern:o(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:r,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(a),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function r(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var n=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return n})),i=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+i+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+i+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(n),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(n),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:r(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:r(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:r(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:r(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(r){t!==r&&(e.languages.markdown[t].inside.content.inside[r]=e.languages.markdown[r])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var r=0,n=t.length;r<n;r++){var a=t[r];if("code"===a.type){var i=a.content[1],o=a.content[3];if(i&&o&&"code-language"===i.type&&"code-block"===o.type&&"string"==typeof i.content){var c=i.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),s="language-"+(c=(/[a-z][\w-]*/i.exec(c)||[""])[0].toLowerCase());o.alias?"string"==typeof o.alias?o.alias=[o.alias,s]:o.alias.push(s):o.alias=[s]}}else e(a.content)}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var r="",n=0,a=t.classes.length;n<a;n++){var i=t.classes[n],d=/language-(.+)/.exec(i);if(d){r=d[1];break}}var l,u=e.languages[r];if(u)t.content=e.highlight((l=t.content,l.replace(o,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var r;if("#"===(t=t.toLowerCase())[0])return r="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),s(r);var n=c[t];return n||e}))),u,r);else if(r&&"none"!==r&&e.plugins.autoloader){var g="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random());t.attributes.id=g,e.plugins.autoloader.loadLanguages(r,(function(){var t=document.getElementById(g);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[r],r))}))}}}));var o=RegExp(e.languages.markup.tag.pattern.source,"gi"),c={amp:"&",lt:"<",gt:">",quot:'"'},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(a),a.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:a.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},a.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),r=0;r<t.length;){var n=t[r++];if("keyword"===n.type&&"mutation"===n.content){var a=[];if(u(["definition-mutation","punctuation"])&&"("===l(1).content){r+=2;var i=g(/^\($/,/^\)$/);if(-1===i)continue;for(;r<i;r++){var o=l(0);"variable"===o.type&&(p(o,"variable-input"),a.push(o.content))}r=i+1}if(u(["punctuation","property-query"])&&"{"===l(0).content&&(r++,p(l(0),"property-mutation"),a.length>0)){var c=g(/^\{$/,/^\}$/);if(-1===c)continue;for(var s=r;s<c;s++){var d=t[s];"variable"===d.type&&a.indexOf(d.content)>=0&&p(d,"variable-input")}}}}function l(e){return t[r+e]}function u(e,t){t=t||0;for(var r=0;r<e.length;r++){var n=l(r+t);if(!n||n.type!==e[r])return!1}return!0}function g(e,n){for(var a=1,i=r;i<t.length;i++){var o=t[i],c=o.content;if("punctuation"===o.type&&"string"==typeof c)if(e.test(c))a++;else if(n.test(c)&&0===--a)return i}return-1}function p(e,t){var r=e.alias;r?Array.isArray(r)||(e.alias=r=[r]):e.alias=r=[],r.push(t)}})),a.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],r=t.pattern.source,n=t.inside.interpolation,a=n.inside["interpolation-punctuation"],i=n.pattern.source;function o(t,n){if(e.languages[t])return{pattern:RegExp("((?:"+n+")\\s*)"+r),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function c(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function s(t,r,n){var a={code:t,grammar:r,language:n};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function d(t){var r={};r["interpolation-punctuation"]=a;var i=e.tokenize(t,r);if(3===i.length){var o=[1,1];o.push.apply(o,s(i[1],e.languages.javascript,"javascript")),i.splice.apply(i,o)}return new e.Token("interpolation",i,n.alias,t)}function l(t,r,n){var a=e.tokenize(t,{interpolation:{pattern:RegExp(i),lookbehind:!0}}),o=0,l={},u=s(a.map((function(e){if("string"==typeof e)return e;for(var r,a=e.content;-1!==t.indexOf(r=c(o++,n)););return l[r]=a,r})).join(""),r,n),g=Object.keys(l);return o=0,function e(t){for(var r=0;r<t.length;r++){if(o>=g.length)return;var n=t[r];if("string"==typeof n||"string"==typeof n.content){var a=g[o],i="string"==typeof n?n:n.content,c=i.indexOf(a);if(-1!==c){++o;var s=i.substring(0,c),u=d(l[a]),p=i.substring(c+a.length),f=[];if(s&&f.push(s),f.push(u),p){var m=[p];e(m),f.push.apply(f,m)}"string"==typeof n?(t.splice.apply(t,[r,1].concat(f)),r+=f.length-1):n.content=f}}else{var h=n.content;Array.isArray(h)?e(h):e([h])}}}(u),new e.Token(n,u,"language-"+n,t)}e.languages.javascript["template-string"]=[o("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),o("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),o("svg",/\bsvg/.source),o("markdown",/\b(?:markdown|md)/.source),o("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),o("sql",/\bsql/.source),t].filter(Boolean);var u={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function g(e){return"string"==typeof e?e:Array.isArray(e)?e.map(g).join(""):g(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in u&&function t(r){for(var n=0,a=r.length;n<a;n++){var i=r[n];if("string"!=typeof i){var o=i.content;if(Array.isArray(o))if("template-string"===i.type){var c=o[1];if(3===o.length&&"string"!=typeof c&&"embedded-code"===c.type){var s=g(c),d=c.alias,u=Array.isArray(d)?d[0]:d,p=e.languages[u];if(!p)continue;o[1]=l(s,p,u)}}else t(o);else"string"!=typeof o&&t([o])}}}(t.tokens)}))}(a),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(a),function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var r=["function","function-variable","method","method-variable","property-access"],n=0;n<r.length;n++){var a=r[n],i=e.languages.javascript[a];"RegExp"===e.util.type(i)&&(i=e.languages.javascript[a]={pattern:i});var o=i.inside||{};i.inside=o,o["maybe-class-name"]=/^[A-Z][\s\S]*/}}(a),function(e){var t=e.util.clone(e.languages.javascript),r=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,n=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function i(e,t){return e=e.replace(/<S>/g,(function(){return r})).replace(/<BRACES>/g,(function(){return n})).replace(/<SPREAD>/g,(function(){return a})),RegExp(e,t)}a=i(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=i(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:i(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:i(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var o=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(o).join(""):""},c=function(t){for(var r=[],n=0;n<t.length;n++){var a=t[n],i=!1;if("string"!=typeof a&&("tag"===a.type&&a.content[0]&&"tag"===a.content[0].type?"</"===a.content[0].content[0].content?r.length>0&&r[r.length-1].tagName===o(a.content[0].content[1])&&r.pop():"/>"===a.content[a.content.length-1].content||r.push({tagName:o(a.content[0].content[1]),openedBraces:0}):r.length>0&&"punctuation"===a.type&&"{"===a.content?r[r.length-1].openedBraces++:r.length>0&&r[r.length-1].openedBraces>0&&"punctuation"===a.type&&"}"===a.content?r[r.length-1].openedBraces--:i=!0),(i||"string"==typeof a)&&r.length>0&&0===r[r.length-1].openedBraces){var s=o(a);n<t.length-1&&("string"==typeof t[n+1]||"plain-text"===t[n+1].type)&&(s+=o(t[n+1]),t.splice(n+1,1)),n>0&&("string"==typeof t[n-1]||"plain-text"===t[n-1].type)&&(s=o(t[n-1])+s,t.splice(n-1,1),n--),t[n]=new e.Token("plain-text",s,null,s)}a.content&&"string"!=typeof a.content&&c(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||c(e.tokens)}))}(a),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(r){var n=t[r],a=[];/^\w+$/.test(r)||a.push(/\w+/.exec(r)[0]),"diff"===r&&a.push("bold"),e.languages.diff[r]={pattern:RegExp("^(?:["+n+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(r)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(a),a.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},a.languages.go=a.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),a.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete a.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(r,n,a,i){if(r.language===n){var o=r.tokenStack=[];r.code=r.code.replace(a,(function(e){if("function"==typeof i&&!i(e))return e;for(var a,c=o.length;-1!==r.code.indexOf(a=t(n,c));)++c;return o[c]=e,a})),r.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(r,n){if(r.language===n&&r.tokenStack){r.grammar=e.languages[n];var a=0,i=Object.keys(r.tokenStack);!function o(c){for(var s=0;s<c.length&&!(a>=i.length);s++){var d=c[s];if("string"==typeof d||d.content&&"string"==typeof d.content){var l=i[a],u=r.tokenStack[l],g="string"==typeof d?d:d.content,p=t(n,l),f=g.indexOf(p);if(f>-1){++a;var m=g.substring(0,f),h=new e.Token(n,e.tokenize(u,r.grammar),"language-"+n,u),b=g.substring(f+p.length),M=[];m&&M.push.apply(M,o([m])),M.push(h),b&&M.push.apply(M,o([b])),"string"==typeof d?c.splice.apply(c,[s,1].concat(M)):d.content=M}}else d.content&&o(d.content)}return c}(r.tokens)}}}})}(a),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(a),a.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},a.languages.webmanifest=a.languages.json,a.languages.less=a.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),a.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),a.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},a.languages.objectivec=a.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete a.languages.objectivec["class-name"],a.languages.objc=a.languages.objectivec,a.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},a.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},a.languages.python["string-interpolation"].inside.interpolation.inside.rest=a.languages.python,a.languages.py=a.languages.python,a.languages.reason=a.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),a.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete a.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,r=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:r}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:r,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(a),a.languages.scss=a.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),a.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),a.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),a.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),a.languages.scss.atrule.inside.rest=a.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},r={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},n={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:r,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:r,punctuation:/[{}()\[\];:,]/};n.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:n}},n.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:n}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:n}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:n}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:n}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:n.interpolation}},rest:n}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:n.interpolation,comment:n.comment,punctuation:/[{},]/}},func:n.func,string:n.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:n.interpolation,punctuation:/[{}()\[\];:.]/}}(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var r=e.languages.tsx.tag;r.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+r.pattern.source+")",r.pattern.flags),r.lookbehind=!0}(a),a.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const i=a},79016:()=>{!function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,(function(e,r){return"(?:"+t[+r]+")"}))}function r(e,r,n){return RegExp(t(e,r),n||"")}function n(e,t){for(var r=0;r<t;r++)e=e.replace(/<<self>>/g,(function(){return"(?:"+e+")"}));return e.replace(/<<self>>/g,"[^\\s\\S]")}var a="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",i="class enum interface record struct",o="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",c="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function s(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var d=s(i),l=RegExp(s(a+" "+i+" "+o+" "+c)),u=s(i+" "+o+" "+c),g=s(a+" "+i+" "+c),p=n(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source,2),f=n(/\((?:[^()]|<<self>>)*\)/.source,2),m=/@?\b[A-Za-z_]\w*\b/.source,h=t(/<<0>>(?:\s*<<1>>)?/.source,[m,p]),b=t(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[u,h]),M=/\[\s*(?:,\s*)*\]/.source,y=t(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[b,M]),v=t(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[p,f,M]),k=t(/\(<<0>>+(?:,<<0>>+)+\)/.source,[v]),S=t(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[k,b,M]),w={keyword:l,punctuation:/[<>()?,.:[\]]/},E=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,_=/"(?:\\.|[^\\"\r\n])*"/.source,x=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;e.languages.csharp=e.languages.extend("clike",{string:[{pattern:r(/(^|[^$\\])<<0>>/.source,[x]),lookbehind:!0,greedy:!0},{pattern:r(/(^|[^@$\\])<<0>>/.source,[_]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:r(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[b]),lookbehind:!0,inside:w},{pattern:r(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[m,S]),lookbehind:!0,inside:w},{pattern:r(/(\busing\s+)<<0>>(?=\s*=)/.source,[m]),lookbehind:!0},{pattern:r(/(\b<<0>>\s+)<<1>>/.source,[d,h]),lookbehind:!0,inside:w},{pattern:r(/(\bcatch\s*\(\s*)<<0>>/.source,[b]),lookbehind:!0,inside:w},{pattern:r(/(\bwhere\s+)<<0>>/.source,[m]),lookbehind:!0},{pattern:r(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[y]),lookbehind:!0,inside:w},{pattern:r(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[S,g,m]),inside:w}],keyword:l,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:r(/([(,]\s*)<<0>>(?=\s*:)/.source,[m]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:r(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[m]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:r(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[f]),lookbehind:!0,alias:"class-name",inside:w},"return-type":{pattern:r(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[S,b]),inside:w,alias:"class-name"},"constructor-invocation":{pattern:r(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[S]),lookbehind:!0,inside:w,alias:"class-name"},"generic-method":{pattern:r(/<<0>>\s*<<1>>(?=\s*\()/.source,[m,p]),inside:{function:r(/^<<0>>/.source,[m]),generic:{pattern:RegExp(p),alias:"class-name",inside:w}}},"type-list":{pattern:r(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[d,h,m,S,l.source,f,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:r(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[h,f]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:l,"class-name":{pattern:RegExp(S),greedy:!0,inside:w},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var C=_+"|"+E,A=t(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[C]),L=n(t(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[A]),2),N=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,P=t(/<<0>>(?:\s*\(<<1>>*\))?/.source,[b,L]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:r(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[N,P]),lookbehind:!0,greedy:!0,inside:{target:{pattern:r(/^<<0>>(?=\s*:)/.source,[N]),alias:"keyword"},"attribute-arguments":{pattern:r(/\(<<0>>*\)/.source,[L]),inside:e.languages.csharp},"class-name":{pattern:RegExp(b),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var I=/:[^}\r\n]+/.source,T=n(t(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[A]),2),R=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[T,I]),O=n(t(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/.source,[C]),2),z=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[O,I]);function D(t,n){return{interpolation:{pattern:r(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[t]),lookbehind:!0,inside:{"format-string":{pattern:r(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[n,I]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:r(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[R]),lookbehind:!0,greedy:!0,inside:D(R,T)},{pattern:r(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[z]),lookbehind:!0,greedy:!0,inside:D(z,O)}],char:{pattern:RegExp(E),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp}(Prism)},74277:()=>{Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},27673:(e,t,r)=>{var n={"./prism-csharp":79016,"./prism-json":74277};function a(e){var t=i(e);return r(t)}function i(e){if(!r.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}a.keys=function(){return Object.keys(n)},a.resolve=i,e.exports=a,a.id=27673},92703:(e,t,r)=>{"use strict";var n=r(50414);function a(){}function i(){}i.resetWarningCache=a,e.exports=function(){function e(e,t,r,a,i,o){if(o!==n){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:a};return r.PropTypes=r,r}},45697:(e,t,r)=>{e.exports=r(92703)()},50414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},64448:(e,t,r)=>{"use strict";var n=r(67294),a=r(27418),i=r(63840);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!n)throw Error(o(227));var c=new Set,s={};function d(e,t){l(e,t),l(e+"Capture",t)}function l(e,t){for(s[e]=t,e=0;e<t.length;e++)c.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),g=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p=Object.prototype.hasOwnProperty,f={},m={};function h(e,t,r,n,a,i,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=n,this.attributeNamespace=a,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){b[e]=new h(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];b[t]=new h(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){b[e]=new h(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){b[e]=new h(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){b[e]=new h(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){b[e]=new h(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){b[e]=new h(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){b[e]=new h(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){b[e]=new h(e,5,!1,e.toLowerCase(),null,!1,!1)}));var M=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function v(e,t,r,n){var a=b.hasOwnProperty(t)?b[t]:null;(null!==a?0===a.type:!n&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,r,n){if(null==t||function(e,t,r,n){if(null!==r&&0===r.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!n&&(null!==r?!r.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,r,n))return!0;if(n)return!1;if(null!==r)switch(r.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,r,a,n)&&(r=null),n||null===a?function(e){return!!p.call(m,e)||!p.call(f,e)&&(g.test(e)?m[e]=!0:(f[e]=!0,!1))}(t)&&(null===r?e.removeAttribute(t):e.setAttribute(t,""+r)):a.mustUseProperty?e[a.propertyName]=null===r?3!==a.type&&"":r:(t=a.attributeName,n=a.attributeNamespace,null===r?e.removeAttribute(t):(r=3===(a=a.type)||4===a&&!0===r?"":""+r,n?e.setAttributeNS(n,t,r):e.setAttribute(t,r))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(M,y);b[t]=new h(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(M,y);b[t]=new h(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(M,y);b[t]=new h(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){b[e]=new h(e,1,!1,e.toLowerCase(),null,!1,!1)})),b.xlinkHref=new h("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){b[e]=new h(e,1,!1,e.toLowerCase(),null,!0,!0)}));var k=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,S=60103,w=60106,E=60107,_=60108,x=60114,C=60109,A=60110,L=60112,N=60113,P=60120,I=60115,T=60116,R=60121,O=60128,z=60129,D=60130,B=60131;if("function"==typeof Symbol&&Symbol.for){var F=Symbol.for;S=F("react.element"),w=F("react.portal"),E=F("react.fragment"),_=F("react.strict_mode"),x=F("react.profiler"),C=F("react.provider"),A=F("react.context"),L=F("react.forward_ref"),N=F("react.suspense"),P=F("react.suspense_list"),I=F("react.memo"),T=F("react.lazy"),R=F("react.block"),F("react.scope"),O=F("react.opaque.id"),z=F("react.debug_trace_mode"),D=F("react.offscreen"),B=F("react.legacy_hidden")}var j,U="function"==typeof Symbol&&Symbol.iterator;function H(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=U&&e[U]||e["@@iterator"])?e:null}function V(e){if(void 0===j)try{throw Error()}catch(r){var t=r.stack.trim().match(/\n( *(at )?)/);j=t&&t[1]||""}return"\n"+j+e}var $=!1;function Z(e,t){if(!e||$)return"";$=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(s){var n=s}Reflect.construct(e,[],t)}else{try{t.call()}catch(s){n=s}e.call(t.prototype)}else{try{throw Error()}catch(s){n=s}e()}}catch(s){if(s&&n&&"string"==typeof s.stack){for(var a=s.stack.split("\n"),i=n.stack.split("\n"),o=a.length-1,c=i.length-1;1<=o&&0<=c&&a[o]!==i[c];)c--;for(;1<=o&&0<=c;o--,c--)if(a[o]!==i[c]){if(1!==o||1!==c)do{if(o--,0>--c||a[o]!==i[c])return"\n"+a[o].replace(" at new "," at ")}while(1<=o&&0<=c);break}}}finally{$=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?V(e):""}function W(e){switch(e.tag){case 5:return V(e.type);case 16:return V("Lazy");case 13:return V("Suspense");case 19:return V("SuspenseList");case 0:case 2:case 15:return e=Z(e.type,!1);case 11:return e=Z(e.type.render,!1);case 22:return e=Z(e.type._render,!1);case 1:return e=Z(e.type,!0);default:return""}}function G(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case E:return"Fragment";case w:return"Portal";case x:return"Profiler";case _:return"StrictMode";case N:return"Suspense";case P:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case A:return(e.displayName||"Context")+".Consumer";case C:return(e._context.displayName||"Context")+".Provider";case L:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case I:return G(e.type);case R:return G(e._render);case T:t=e._payload,e=e._init;try{return G(e(t))}catch(r){}}return null}function q(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function Y(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function K(e){e._valueTracker||(e._valueTracker=function(e){var t=Y(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==r&&"function"==typeof r.get&&"function"==typeof r.set){var a=r.get,i=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){n=""+e,i.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n="";return e&&(n=Y(e)?e.checked?"true":"false":e.value),(e=n)!==r&&(t.setValue(e),!0)}function X(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function J(e,t){var r=t.checked;return a({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=r?r:e._wrapperState.initialChecked})}function ee(e,t){var r=null==t.defaultValue?"":t.defaultValue,n=null!=t.checked?t.checked:t.defaultChecked;r=q(null!=t.value?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&v(e,"checked",t,!1)}function re(e,t){te(e,t);var r=q(t.value),n=t.type;if(null!=r)"number"===n?(0===r&&""===e.value||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if("submit"===n||"reset"===n)return void e.removeAttribute("value");t.hasOwnProperty("value")?ae(e,t.type,r):t.hasOwnProperty("defaultValue")&&ae(e,t.type,q(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function ne(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!("submit"!==n&&"reset"!==n||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}""!==(r=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==r&&(e.name=r)}function ae(e,t,r){"number"===t&&X(e.ownerDocument)===e||(null==r?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}function ie(e,t){return e=a({children:void 0},t),(t=function(e){var t="";return n.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function oe(e,t,r,n){if(e=e.options,t){t={};for(var a=0;a<r.length;a++)t["$"+r[a]]=!0;for(r=0;r<e.length;r++)a=t.hasOwnProperty("$"+e[r].value),e[r].selected!==a&&(e[r].selected=a),a&&n&&(e[r].defaultSelected=!0)}else{for(r=""+q(r),t=null,a=0;a<e.length;a++){if(e[a].value===r)return e[a].selected=!0,void(n&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function ce(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function se(e,t){var r=t.value;if(null==r){if(r=t.children,t=t.defaultValue,null!=r){if(null!=t)throw Error(o(92));if(Array.isArray(r)){if(!(1>=r.length))throw Error(o(93));r=r[0]}t=r}null==t&&(t=""),r=t}e._wrapperState={initialValue:q(r)}}function de(e,t){var r=q(t.value),n=q(t.defaultValue);null!=r&&((r=""+r)!==e.value&&(e.value=r),null==t.defaultValue&&e.defaultValue!==r&&(e.defaultValue=r)),null!=n&&(e.defaultValue=""+n)}function le(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var ue="http://www.w3.org/1999/xhtml",ge="http://www.w3.org/2000/svg";function pe(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function fe(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?pe(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var me,he,be=(he=function(e,t){if(e.namespaceURI!==ge||"innerHTML"in e)e.innerHTML=t;else{for((me=me||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=me.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,r,n){MSApp.execUnsafeLocalFunction((function(){return he(e,t)}))}:he);function Me(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&3===r.nodeType)return void(r.nodeValue=t)}e.textContent=t}var ye={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ve=["Webkit","ms","Moz","O"];function ke(e,t,r){return null==t||"boolean"==typeof t||""===t?"":r||"number"!=typeof t||0===t||ye.hasOwnProperty(e)&&ye[e]?(""+t).trim():t+"px"}function Se(e,t){for(var r in e=e.style,t)if(t.hasOwnProperty(r)){var n=0===r.indexOf("--"),a=ke(r,t[r],n);"float"===r&&(r="cssFloat"),n?e.setProperty(r,a):e[r]=a}}Object.keys(ye).forEach((function(e){ve.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ye[t]=ye[e]}))}));var we=a({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ee(e,t){if(t){if(we[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(o(62))}}function _e(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function xe(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Ce=null,Ae=null,Le=null;function Ne(e){if(e=na(e)){if("function"!=typeof Ce)throw Error(o(280));var t=e.stateNode;t&&(t=ia(t),Ce(e.stateNode,e.type,t))}}function Pe(e){Ae?Le?Le.push(e):Le=[e]:Ae=e}function Ie(){if(Ae){var e=Ae,t=Le;if(Le=Ae=null,Ne(e),t)for(e=0;e<t.length;e++)Ne(t[e])}}function Te(e,t){return e(t)}function Re(e,t,r,n,a){return e(t,r,n,a)}function Oe(){}var ze=Te,De=!1,Be=!1;function Fe(){null===Ae&&null===Le||(Oe(),Ie())}function je(e,t){var r=e.stateNode;if(null===r)return null;var n=ia(r);if(null===n)return null;r=n[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(n=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!n;break e;default:e=!1}if(e)return null;if(r&&"function"!=typeof r)throw Error(o(231,t,typeof r));return r}var Ue=!1;if(u)try{var He={};Object.defineProperty(He,"passive",{get:function(){Ue=!0}}),window.addEventListener("test",He,He),window.removeEventListener("test",He,He)}catch(he){Ue=!1}function Ve(e,t,r,n,a,i,o,c,s){var d=Array.prototype.slice.call(arguments,3);try{t.apply(r,d)}catch(l){this.onError(l)}}var $e=!1,Ze=null,We=!1,Ge=null,qe={onError:function(e){$e=!0,Ze=e}};function Ye(e,t,r,n,a,i,o,c,s){$e=!1,Ze=null,Ve.apply(qe,arguments)}function Ke(e){var t=e,r=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).flags)&&(r=t.return),e=t.return}while(e)}return 3===t.tag?r:null}function Qe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Xe(e){if(Ke(e)!==e)throw Error(o(188))}function Je(e){if(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ke(e)))throw Error(o(188));return t!==e?null:e}for(var r=e,n=t;;){var a=r.return;if(null===a)break;var i=a.alternate;if(null===i){if(null!==(n=a.return)){r=n;continue}break}if(a.child===i.child){for(i=a.child;i;){if(i===r)return Xe(a),e;if(i===n)return Xe(a),t;i=i.sibling}throw Error(o(188))}if(r.return!==n.return)r=a,n=i;else{for(var c=!1,s=a.child;s;){if(s===r){c=!0,r=a,n=i;break}if(s===n){c=!0,n=a,r=i;break}s=s.sibling}if(!c){for(s=i.child;s;){if(s===r){c=!0,r=i,n=a;break}if(s===n){c=!0,n=i,r=a;break}s=s.sibling}if(!c)throw Error(o(189))}}if(r.alternate!==n)throw Error(o(190))}if(3!==r.tag)throw Error(o(188));return r.stateNode.current===r?e:t}(e),!e)return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function et(e,t){for(var r=e.alternate;null!==t;){if(t===e||t===r)return!0;t=t.return}return!1}var tt,rt,nt,at,it=!1,ot=[],ct=null,st=null,dt=null,lt=new Map,ut=new Map,gt=[],pt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function ft(e,t,r,n,a){return{blockedOn:e,domEventName:t,eventSystemFlags:16|r,nativeEvent:a,targetContainers:[n]}}function mt(e,t){switch(e){case"focusin":case"focusout":ct=null;break;case"dragenter":case"dragleave":st=null;break;case"mouseover":case"mouseout":dt=null;break;case"pointerover":case"pointerout":lt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ut.delete(t.pointerId)}}function ht(e,t,r,n,a,i){return null===e||e.nativeEvent!==i?(e=ft(t,r,n,a,i),null!==t&&(null!==(t=na(t))&&rt(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function bt(e){var t=ra(e.target);if(null!==t){var r=Ke(t);if(null!==r)if(13===(t=r.tag)){if(null!==(t=Qe(r)))return e.blockedOn=t,void at(e.lanePriority,(function(){i.unstable_runWithPriority(e.priority,(function(){nt(r)}))}))}else if(3===t&&r.stateNode.hydrate)return void(e.blockedOn=3===r.tag?r.stateNode.containerInfo:null)}e.blockedOn=null}function Mt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var r=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==r)return null!==(t=na(r))&&rt(t),e.blockedOn=r,!1;t.shift()}return!0}function yt(e,t,r){Mt(e)&&r.delete(t)}function vt(){for(it=!1;0<ot.length;){var e=ot[0];if(null!==e.blockedOn){null!==(e=na(e.blockedOn))&&tt(e);break}for(var t=e.targetContainers;0<t.length;){var r=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==r){e.blockedOn=r;break}t.shift()}null===e.blockedOn&&ot.shift()}null!==ct&&Mt(ct)&&(ct=null),null!==st&&Mt(st)&&(st=null),null!==dt&&Mt(dt)&&(dt=null),lt.forEach(yt),ut.forEach(yt)}function kt(e,t){e.blockedOn===t&&(e.blockedOn=null,it||(it=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,vt)))}function St(e){function t(t){return kt(t,e)}if(0<ot.length){kt(ot[0],e);for(var r=1;r<ot.length;r++){var n=ot[r];n.blockedOn===e&&(n.blockedOn=null)}}for(null!==ct&&kt(ct,e),null!==st&&kt(st,e),null!==dt&&kt(dt,e),lt.forEach(t),ut.forEach(t),r=0;r<gt.length;r++)(n=gt[r]).blockedOn===e&&(n.blockedOn=null);for(;0<gt.length&&null===(r=gt[0]).blockedOn;)bt(r),null===r.blockedOn&>.shift()}function wt(e,t){var r={};return r[e.toLowerCase()]=t.toLowerCase(),r["Webkit"+e]="webkit"+t,r["Moz"+e]="moz"+t,r}var Et={animationend:wt("Animation","AnimationEnd"),animationiteration:wt("Animation","AnimationIteration"),animationstart:wt("Animation","AnimationStart"),transitionend:wt("Transition","TransitionEnd")},_t={},xt={};function Ct(e){if(_t[e])return _t[e];if(!Et[e])return e;var t,r=Et[e];for(t in r)if(r.hasOwnProperty(t)&&t in xt)return _t[e]=r[t];return e}u&&(xt=document.createElement("div").style,"AnimationEvent"in window||(delete Et.animationend.animation,delete Et.animationiteration.animation,delete Et.animationstart.animation),"TransitionEvent"in window||delete Et.transitionend.transition);var At=Ct("animationend"),Lt=Ct("animationiteration"),Nt=Ct("animationstart"),Pt=Ct("transitionend"),It=new Map,Tt=new Map,Rt=["abort","abort",At,"animationEnd",Lt,"animationIteration",Nt,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Pt,"transitionEnd","waiting","waiting"];function Ot(e,t){for(var r=0;r<e.length;r+=2){var n=e[r],a=e[r+1];a="on"+(a[0].toUpperCase()+a.slice(1)),Tt.set(n,t),It.set(n,a),d(a,[n])}}(0,i.unstable_now)();var zt=8;function Dt(e){if(0!=(1&e))return zt=15,1;if(0!=(2&e))return zt=14,2;if(0!=(4&e))return zt=13,4;var t=24&e;return 0!==t?(zt=12,t):0!=(32&e)?(zt=11,32):0!==(t=192&e)?(zt=10,t):0!=(256&e)?(zt=9,256):0!==(t=3584&e)?(zt=8,t):0!=(4096&e)?(zt=7,4096):0!==(t=4186112&e)?(zt=6,t):0!==(t=62914560&e)?(zt=5,t):67108864&e?(zt=4,67108864):0!=(134217728&e)?(zt=3,134217728):0!==(t=805306368&e)?(zt=2,t):0!=(1073741824&e)?(zt=1,1073741824):(zt=8,e)}function Bt(e,t){var r=e.pendingLanes;if(0===r)return zt=0;var n=0,a=0,i=e.expiredLanes,o=e.suspendedLanes,c=e.pingedLanes;if(0!==i)n=i,a=zt=15;else if(0!==(i=134217727&r)){var s=i&~o;0!==s?(n=Dt(s),a=zt):0!==(c&=i)&&(n=Dt(c),a=zt)}else 0!==(i=r&~o)?(n=Dt(i),a=zt):0!==c&&(n=Dt(c),a=zt);if(0===n)return 0;if(n=r&((0>(n=31-$t(n))?0:1<<n)<<1)-1,0!==t&&t!==n&&0==(t&o)){if(Dt(t),a<=zt)return t;zt=a}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=n;0<t;)a=1<<(r=31-$t(t)),n|=e[r],t&=~a;return n}function Ft(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function jt(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=Ut(24&~t))?jt(10,t):e;case 10:return 0===(e=Ut(192&~t))?jt(8,t):e;case 8:return 0===(e=Ut(3584&~t))&&(0===(e=Ut(4186112&~t))&&(e=512)),e;case 2:return 0===(t=Ut(805306368&~t))&&(t=268435456),t}throw Error(o(358,e))}function Ut(e){return e&-e}function Ht(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function Vt(e,t,r){e.pendingLanes|=t;var n=t-1;e.suspendedLanes&=n,e.pingedLanes&=n,(e=e.eventTimes)[t=31-$t(t)]=r}var $t=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Zt(e)/Wt|0)|0},Zt=Math.log,Wt=Math.LN2;var Gt=i.unstable_UserBlockingPriority,qt=i.unstable_runWithPriority,Yt=!0;function Kt(e,t,r,n){De||Oe();var a=Xt,i=De;De=!0;try{Re(a,e,t,r,n)}finally{(De=i)||Fe()}}function Qt(e,t,r,n){qt(Gt,Xt.bind(null,e,t,r,n))}function Xt(e,t,r,n){var a;if(Yt)if((a=0==(4&t))&&0<ot.length&&-1<pt.indexOf(e))e=ft(null,e,t,r,n),ot.push(e);else{var i=Jt(e,t,r,n);if(null===i)a&&mt(e,n);else{if(a){if(-1<pt.indexOf(e))return e=ft(i,e,t,r,n),void ot.push(e);if(function(e,t,r,n,a){switch(t){case"focusin":return ct=ht(ct,e,t,r,n,a),!0;case"dragenter":return st=ht(st,e,t,r,n,a),!0;case"mouseover":return dt=ht(dt,e,t,r,n,a),!0;case"pointerover":var i=a.pointerId;return lt.set(i,ht(lt.get(i)||null,e,t,r,n,a)),!0;case"gotpointercapture":return i=a.pointerId,ut.set(i,ht(ut.get(i)||null,e,t,r,n,a)),!0}return!1}(i,e,t,r,n))return;mt(e,n)}On(e,t,n,null,r)}}}function Jt(e,t,r,n){var a=xe(n);if(null!==(a=ra(a))){var i=Ke(a);if(null===i)a=null;else{var o=i.tag;if(13===o){if(null!==(a=Qe(i)))return a;a=null}else if(3===o){if(i.stateNode.hydrate)return 3===i.tag?i.stateNode.containerInfo:null;a=null}else i!==a&&(a=null)}}return On(e,t,n,a,r),null}var er=null,tr=null,rr=null;function nr(){if(rr)return rr;var e,t,r=tr,n=r.length,a="value"in er?er.value:er.textContent,i=a.length;for(e=0;e<n&&r[e]===a[e];e++);var o=n-e;for(t=1;t<=o&&r[n-t]===a[i-t];t++);return rr=a.slice(e,1<t?1-t:void 0)}function ar(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function ir(){return!0}function or(){return!1}function cr(e){function t(t,r,n,a,i){for(var o in this._reactName=t,this._targetInst=n,this.type=r,this.nativeEvent=a,this.target=i,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(a):a[o]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?ir:or,this.isPropagationStopped=or,this}return a(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ir)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ir)},persist:function(){},isPersistent:ir}),t}var sr,dr,lr,ur={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},gr=cr(ur),pr=a({},ur,{view:0,detail:0}),fr=cr(pr),mr=a({},pr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cr,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==lr&&(lr&&"mousemove"===e.type?(sr=e.screenX-lr.screenX,dr=e.screenY-lr.screenY):dr=sr=0,lr=e),sr)},movementY:function(e){return"movementY"in e?e.movementY:dr}}),hr=cr(mr),br=cr(a({},mr,{dataTransfer:0})),Mr=cr(a({},pr,{relatedTarget:0})),yr=cr(a({},ur,{animationName:0,elapsedTime:0,pseudoElement:0})),vr=a({},ur,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),kr=cr(vr),Sr=cr(a({},ur,{data:0})),wr={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Er={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},_r={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function xr(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=_r[e])&&!!t[e]}function Cr(){return xr}var Ar=a({},pr,{key:function(e){if(e.key){var t=wr[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=ar(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Er[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cr,charCode:function(e){return"keypress"===e.type?ar(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?ar(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Lr=cr(Ar),Nr=cr(a({},mr,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Pr=cr(a({},pr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cr})),Ir=cr(a({},ur,{propertyName:0,elapsedTime:0,pseudoElement:0})),Tr=a({},mr,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Rr=cr(Tr),Or=[9,13,27,32],zr=u&&"CompositionEvent"in window,Dr=null;u&&"documentMode"in document&&(Dr=document.documentMode);var Br=u&&"TextEvent"in window&&!Dr,Fr=u&&(!zr||Dr&&8<Dr&&11>=Dr),jr=String.fromCharCode(32),Ur=!1;function Hr(e,t){switch(e){case"keyup":return-1!==Or.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Vr(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var $r=!1;var Zr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Wr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Zr[e.type]:"textarea"===t}function Gr(e,t,r,n){Pe(n),0<(t=Dn(t,"onChange")).length&&(r=new gr("onChange","change",null,r,n),e.push({event:r,listeners:t}))}var qr=null,Yr=null;function Kr(e){Ln(e,0)}function Qr(e){if(Q(aa(e)))return e}function Xr(e,t){if("change"===e)return t}var Jr=!1;if(u){var en;if(u){var tn="oninput"in document;if(!tn){var rn=document.createElement("div");rn.setAttribute("oninput","return;"),tn="function"==typeof rn.oninput}en=tn}else en=!1;Jr=en&&(!document.documentMode||9<document.documentMode)}function nn(){qr&&(qr.detachEvent("onpropertychange",an),Yr=qr=null)}function an(e){if("value"===e.propertyName&&Qr(Yr)){var t=[];if(Gr(t,Yr,e,xe(e)),e=Kr,De)e(t);else{De=!0;try{Te(e,t)}finally{De=!1,Fe()}}}}function on(e,t,r){"focusin"===e?(nn(),Yr=r,(qr=t).attachEvent("onpropertychange",an)):"focusout"===e&&nn()}function cn(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qr(Yr)}function sn(e,t){if("click"===e)return Qr(t)}function dn(e,t){if("input"===e||"change"===e)return Qr(t)}var ln="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},un=Object.prototype.hasOwnProperty;function gn(e,t){if(ln(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(n=0;n<r.length;n++)if(!un.call(t,r[n])||!ln(e[r[n]],t[r[n]]))return!1;return!0}function pn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function fn(e,t){var r,n=pn(e);for(e=0;n;){if(3===n.nodeType){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=pn(n)}}function mn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?mn(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function hn(){for(var e=window,t=X();t instanceof e.HTMLIFrameElement;){try{var r="string"==typeof t.contentWindow.location.href}catch(n){r=!1}if(!r)break;t=X((e=t.contentWindow).document)}return t}function bn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var Mn=u&&"documentMode"in document&&11>=document.documentMode,yn=null,vn=null,kn=null,Sn=!1;function wn(e,t,r){var n=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;Sn||null==yn||yn!==X(n)||("selectionStart"in(n=yn)&&bn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},kn&&gn(kn,n)||(kn=n,0<(n=Dn(vn,"onSelect")).length&&(t=new gr("onSelect","select",null,t,r),e.push({event:t,listeners:n}),t.target=yn)))}Ot("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),Ot("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),Ot(Rt,2);for(var En="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),_n=0;_n<En.length;_n++)Tt.set(En[_n],0);l("onMouseEnter",["mouseout","mouseover"]),l("onMouseLeave",["mouseout","mouseover"]),l("onPointerEnter",["pointerout","pointerover"]),l("onPointerLeave",["pointerout","pointerover"]),d("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),d("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),d("onBeforeInput",["compositionend","keypress","textInput","paste"]),d("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),d("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),d("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var xn="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Cn=new Set("cancel close invalid load scroll toggle".split(" ").concat(xn));function An(e,t,r){var n=e.type||"unknown-event";e.currentTarget=r,function(e,t,r,n,a,i,c,s,d){if(Ye.apply(this,arguments),$e){if(!$e)throw Error(o(198));var l=Ze;$e=!1,Ze=null,We||(We=!0,Ge=l)}}(n,t,void 0,e),e.currentTarget=null}function Ln(e,t){t=0!=(4&t);for(var r=0;r<e.length;r++){var n=e[r],a=n.event;n=n.listeners;e:{var i=void 0;if(t)for(var o=n.length-1;0<=o;o--){var c=n[o],s=c.instance,d=c.currentTarget;if(c=c.listener,s!==i&&a.isPropagationStopped())break e;An(a,c,d),i=s}else for(o=0;o<n.length;o++){if(s=(c=n[o]).instance,d=c.currentTarget,c=c.listener,s!==i&&a.isPropagationStopped())break e;An(a,c,d),i=s}}}if(We)throw e=Ge,We=!1,Ge=null,e}function Nn(e,t){var r=oa(t),n=e+"__bubble";r.has(n)||(Rn(t,e,2,!1),r.add(n))}var Pn="_reactListening"+Math.random().toString(36).slice(2);function In(e){e[Pn]||(e[Pn]=!0,c.forEach((function(t){Cn.has(t)||Tn(t,!1,e,null),Tn(t,!0,e,null)})))}function Tn(e,t,r,n){var a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,i=r;if("selectionchange"===e&&9!==r.nodeType&&(i=r.ownerDocument),null!==n&&!t&&Cn.has(e)){if("scroll"!==e)return;a|=2,i=n}var o=oa(i),c=e+"__"+(t?"capture":"bubble");o.has(c)||(t&&(a|=4),Rn(i,e,a,t),o.add(c))}function Rn(e,t,r,n){var a=Tt.get(t);switch(void 0===a?2:a){case 0:a=Kt;break;case 1:a=Qt;break;default:a=Xt}r=a.bind(null,t,r,e),a=void 0,!Ue||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),n?void 0!==a?e.addEventListener(t,r,{capture:!0,passive:a}):e.addEventListener(t,r,!0):void 0!==a?e.addEventListener(t,r,{passive:a}):e.addEventListener(t,r,!1)}function On(e,t,r,n,a){var i=n;if(0==(1&t)&&0==(2&t)&&null!==n)e:for(;;){if(null===n)return;var o=n.tag;if(3===o||4===o){var c=n.stateNode.containerInfo;if(c===a||8===c.nodeType&&c.parentNode===a)break;if(4===o)for(o=n.return;null!==o;){var s=o.tag;if((3===s||4===s)&&((s=o.stateNode.containerInfo)===a||8===s.nodeType&&s.parentNode===a))return;o=o.return}for(;null!==c;){if(null===(o=ra(c)))return;if(5===(s=o.tag)||6===s){n=i=o;continue e}c=c.parentNode}}n=n.return}!function(e,t,r){if(Be)return e(t,r);Be=!0;try{ze(e,t,r)}finally{Be=!1,Fe()}}((function(){var n=i,a=xe(r),o=[];e:{var c=It.get(e);if(void 0!==c){var s=gr,d=e;switch(e){case"keypress":if(0===ar(r))break e;case"keydown":case"keyup":s=Lr;break;case"focusin":d="focus",s=Mr;break;case"focusout":d="blur",s=Mr;break;case"beforeblur":case"afterblur":s=Mr;break;case"click":if(2===r.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":s=hr;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":s=br;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":s=Pr;break;case At:case Lt:case Nt:s=yr;break;case Pt:s=Ir;break;case"scroll":s=fr;break;case"wheel":s=Rr;break;case"copy":case"cut":case"paste":s=kr;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":s=Nr}var l=0!=(4&t),u=!l&&"scroll"===e,g=l?null!==c?c+"Capture":null:c;l=[];for(var p,f=n;null!==f;){var m=(p=f).stateNode;if(5===p.tag&&null!==m&&(p=m,null!==g&&(null!=(m=je(f,g))&&l.push(zn(f,m,p)))),u)break;f=f.return}0<l.length&&(c=new s(c,d,null,r,a),o.push({event:c,listeners:l}))}}if(0==(7&t)){if(s="mouseout"===e||"pointerout"===e,(!(c="mouseover"===e||"pointerover"===e)||0!=(16&t)||!(d=r.relatedTarget||r.fromElement)||!ra(d)&&!d[ea])&&(s||c)&&(c=a.window===a?a:(c=a.ownerDocument)?c.defaultView||c.parentWindow:window,s?(s=n,null!==(d=(d=r.relatedTarget||r.toElement)?ra(d):null)&&(d!==(u=Ke(d))||5!==d.tag&&6!==d.tag)&&(d=null)):(s=null,d=n),s!==d)){if(l=hr,m="onMouseLeave",g="onMouseEnter",f="mouse","pointerout"!==e&&"pointerover"!==e||(l=Nr,m="onPointerLeave",g="onPointerEnter",f="pointer"),u=null==s?c:aa(s),p=null==d?c:aa(d),(c=new l(m,f+"leave",s,r,a)).target=u,c.relatedTarget=p,m=null,ra(a)===n&&((l=new l(g,f+"enter",d,r,a)).target=p,l.relatedTarget=u,m=l),u=m,s&&d)e:{for(g=d,f=0,p=l=s;p;p=Bn(p))f++;for(p=0,m=g;m;m=Bn(m))p++;for(;0<f-p;)l=Bn(l),f--;for(;0<p-f;)g=Bn(g),p--;for(;f--;){if(l===g||null!==g&&l===g.alternate)break e;l=Bn(l),g=Bn(g)}l=null}else l=null;null!==s&&Fn(o,c,s,l,!1),null!==d&&null!==u&&Fn(o,u,d,l,!0)}if("select"===(s=(c=n?aa(n):window).nodeName&&c.nodeName.toLowerCase())||"input"===s&&"file"===c.type)var h=Xr;else if(Wr(c))if(Jr)h=dn;else{h=cn;var b=on}else(s=c.nodeName)&&"input"===s.toLowerCase()&&("checkbox"===c.type||"radio"===c.type)&&(h=sn);switch(h&&(h=h(e,n))?Gr(o,h,r,a):(b&&b(e,c,n),"focusout"===e&&(b=c._wrapperState)&&b.controlled&&"number"===c.type&&ae(c,"number",c.value)),b=n?aa(n):window,e){case"focusin":(Wr(b)||"true"===b.contentEditable)&&(yn=b,vn=n,kn=null);break;case"focusout":kn=vn=yn=null;break;case"mousedown":Sn=!0;break;case"contextmenu":case"mouseup":case"dragend":Sn=!1,wn(o,r,a);break;case"selectionchange":if(Mn)break;case"keydown":case"keyup":wn(o,r,a)}var M;if(zr)e:{switch(e){case"compositionstart":var y="onCompositionStart";break e;case"compositionend":y="onCompositionEnd";break e;case"compositionupdate":y="onCompositionUpdate";break e}y=void 0}else $r?Hr(e,r)&&(y="onCompositionEnd"):"keydown"===e&&229===r.keyCode&&(y="onCompositionStart");y&&(Fr&&"ko"!==r.locale&&($r||"onCompositionStart"!==y?"onCompositionEnd"===y&&$r&&(M=nr()):(tr="value"in(er=a)?er.value:er.textContent,$r=!0)),0<(b=Dn(n,y)).length&&(y=new Sr(y,e,null,r,a),o.push({event:y,listeners:b}),M?y.data=M:null!==(M=Vr(r))&&(y.data=M))),(M=Br?function(e,t){switch(e){case"compositionend":return Vr(t);case"keypress":return 32!==t.which?null:(Ur=!0,jr);case"textInput":return(e=t.data)===jr&&Ur?null:e;default:return null}}(e,r):function(e,t){if($r)return"compositionend"===e||!zr&&Hr(e,t)?(e=nr(),rr=tr=er=null,$r=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Fr&&"ko"!==t.locale?null:t.data}}(e,r))&&(0<(n=Dn(n,"onBeforeInput")).length&&(a=new Sr("onBeforeInput","beforeinput",null,r,a),o.push({event:a,listeners:n}),a.data=M))}Ln(o,t)}))}function zn(e,t,r){return{instance:e,listener:t,currentTarget:r}}function Dn(e,t){for(var r=t+"Capture",n=[];null!==e;){var a=e,i=a.stateNode;5===a.tag&&null!==i&&(a=i,null!=(i=je(e,r))&&n.unshift(zn(e,i,a)),null!=(i=je(e,t))&&n.push(zn(e,i,a))),e=e.return}return n}function Bn(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Fn(e,t,r,n,a){for(var i=t._reactName,o=[];null!==r&&r!==n;){var c=r,s=c.alternate,d=c.stateNode;if(null!==s&&s===n)break;5===c.tag&&null!==d&&(c=d,a?null!=(s=je(r,i))&&o.unshift(zn(r,s,c)):a||null!=(s=je(r,i))&&o.push(zn(r,s,c))),r=r.return}0!==o.length&&e.push({event:t,listeners:o})}function jn(){}var Un=null,Hn=null;function Vn(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function $n(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var Zn="function"==typeof setTimeout?setTimeout:void 0,Wn="function"==typeof clearTimeout?clearTimeout:void 0;function Gn(e){1===e.nodeType?e.textContent="":9===e.nodeType&&(null!=(e=e.body)&&(e.textContent=""))}function qn(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function Yn(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var r=e.data;if("$"===r||"$!"===r||"$?"===r){if(0===t)return e;t--}else"/$"===r&&t++}e=e.previousSibling}return null}var Kn=0;var Qn=Math.random().toString(36).slice(2),Xn="__reactFiber$"+Qn,Jn="__reactProps$"+Qn,ea="__reactContainer$"+Qn,ta="__reactEvents$"+Qn;function ra(e){var t=e[Xn];if(t)return t;for(var r=e.parentNode;r;){if(t=r[ea]||r[Xn]){if(r=t.alternate,null!==t.child||null!==r&&null!==r.child)for(e=Yn(e);null!==e;){if(r=e[Xn])return r;e=Yn(e)}return t}r=(e=r).parentNode}return null}function na(e){return!(e=e[Xn]||e[ea])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function aa(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function ia(e){return e[Jn]||null}function oa(e){var t=e[ta];return void 0===t&&(t=e[ta]=new Set),t}var ca=[],sa=-1;function da(e){return{current:e}}function la(e){0>sa||(e.current=ca[sa],ca[sa]=null,sa--)}function ua(e,t){sa++,ca[sa]=e.current,e.current=t}var ga={},pa=da(ga),fa=da(!1),ma=ga;function ha(e,t){var r=e.type.contextTypes;if(!r)return ga;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var a,i={};for(a in r)i[a]=t[a];return n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function ba(e){return null!=(e=e.childContextTypes)}function Ma(){la(fa),la(pa)}function ya(e,t,r){if(pa.current!==ga)throw Error(o(168));ua(pa,t),ua(fa,r)}function va(e,t,r){var n=e.stateNode;if(e=t.childContextTypes,"function"!=typeof n.getChildContext)return r;for(var i in n=n.getChildContext())if(!(i in e))throw Error(o(108,G(t)||"Unknown",i));return a({},r,n)}function ka(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ga,ma=pa.current,ua(pa,e),ua(fa,fa.current),!0}function Sa(e,t,r){var n=e.stateNode;if(!n)throw Error(o(169));r?(e=va(e,t,ma),n.__reactInternalMemoizedMergedChildContext=e,la(fa),la(pa),ua(pa,e)):la(fa),ua(fa,r)}var wa=null,Ea=null,_a=i.unstable_runWithPriority,xa=i.unstable_scheduleCallback,Ca=i.unstable_cancelCallback,Aa=i.unstable_shouldYield,La=i.unstable_requestPaint,Na=i.unstable_now,Pa=i.unstable_getCurrentPriorityLevel,Ia=i.unstable_ImmediatePriority,Ta=i.unstable_UserBlockingPriority,Ra=i.unstable_NormalPriority,Oa=i.unstable_LowPriority,za=i.unstable_IdlePriority,Da={},Ba=void 0!==La?La:function(){},Fa=null,ja=null,Ua=!1,Ha=Na(),Va=1e4>Ha?Na:function(){return Na()-Ha};function $a(){switch(Pa()){case Ia:return 99;case Ta:return 98;case Ra:return 97;case Oa:return 96;case za:return 95;default:throw Error(o(332))}}function Za(e){switch(e){case 99:return Ia;case 98:return Ta;case 97:return Ra;case 96:return Oa;case 95:return za;default:throw Error(o(332))}}function Wa(e,t){return e=Za(e),_a(e,t)}function Ga(e,t,r){return e=Za(e),xa(e,t,r)}function qa(){if(null!==ja){var e=ja;ja=null,Ca(e)}Ya()}function Ya(){if(!Ua&&null!==Fa){Ua=!0;var e=0;try{var t=Fa;Wa(99,(function(){for(;e<t.length;e++){var r=t[e];do{r=r(!0)}while(null!==r)}})),Fa=null}catch(r){throw null!==Fa&&(Fa=Fa.slice(e+1)),xa(Ia,qa),r}finally{Ua=!1}}}var Ka=k.ReactCurrentBatchConfig;function Qa(e,t){if(e&&e.defaultProps){for(var r in t=a({},t),e=e.defaultProps)void 0===t[r]&&(t[r]=e[r]);return t}return t}var Xa=da(null),Ja=null,ei=null,ti=null;function ri(){ti=ei=Ja=null}function ni(e){var t=Xa.current;la(Xa),e.type._context._currentValue=t}function ai(e,t){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)===t){if(null===r||(r.childLanes&t)===t)break;r.childLanes|=t}else e.childLanes|=t,null!==r&&(r.childLanes|=t);e=e.return}}function ii(e,t){Ja=e,ti=ei=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(Do=!0),e.firstContext=null)}function oi(e,t){if(ti!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(ti=e,t=1073741823),t={context:e,observedBits:t,next:null},null===ei){if(null===Ja)throw Error(o(308));ei=t,Ja.dependencies={lanes:0,firstContext:t,responders:null}}else ei=ei.next=t;return e._currentValue}var ci=!1;function si(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function di(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function li(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function ui(e,t){if(null!==(e=e.updateQueue)){var r=(e=e.shared).pending;null===r?t.next=t:(t.next=r.next,r.next=t),e.pending=t}}function gi(e,t){var r=e.updateQueue,n=e.alternate;if(null!==n&&r===(n=n.updateQueue)){var a=null,i=null;if(null!==(r=r.firstBaseUpdate)){do{var o={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};null===i?a=i=o:i=i.next=o,r=r.next}while(null!==r);null===i?a=i=t:i=i.next=t}else a=i=t;return r={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:i,shared:n.shared,effects:n.effects},void(e.updateQueue=r)}null===(e=r.lastBaseUpdate)?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function pi(e,t,r,n){var i=e.updateQueue;ci=!1;var o=i.firstBaseUpdate,c=i.lastBaseUpdate,s=i.shared.pending;if(null!==s){i.shared.pending=null;var d=s,l=d.next;d.next=null,null===c?o=l:c.next=l,c=d;var u=e.alternate;if(null!==u){var g=(u=u.updateQueue).lastBaseUpdate;g!==c&&(null===g?u.firstBaseUpdate=l:g.next=l,u.lastBaseUpdate=d)}}if(null!==o){for(g=i.baseState,c=0,u=l=d=null;;){s=o.lane;var p=o.eventTime;if((n&s)===s){null!==u&&(u=u.next={eventTime:p,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var f=e,m=o;switch(s=t,p=r,m.tag){case 1:if("function"==typeof(f=m.payload)){g=f.call(p,g,s);break e}g=f;break e;case 3:f.flags=-4097&f.flags|64;case 0:if(null==(s="function"==typeof(f=m.payload)?f.call(p,g,s):f))break e;g=a({},g,s);break e;case 2:ci=!0}}null!==o.callback&&(e.flags|=32,null===(s=i.effects)?i.effects=[o]:s.push(o))}else p={eventTime:p,lane:s,tag:o.tag,payload:o.payload,callback:o.callback,next:null},null===u?(l=u=p,d=g):u=u.next=p,c|=s;if(null===(o=o.next)){if(null===(s=i.shared.pending))break;o=s.next,s.next=null,i.lastBaseUpdate=s,i.shared.pending=null}}null===u&&(d=g),i.baseState=d,i.firstBaseUpdate=l,i.lastBaseUpdate=u,Uc|=c,e.lanes=c,e.memoizedState=g}}function fi(e,t,r){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var n=e[t],a=n.callback;if(null!==a){if(n.callback=null,n=r,"function"!=typeof a)throw Error(o(191,a));a.call(n)}}}var mi=(new n.Component).refs;function hi(e,t,r,n){r=null==(r=r(n,t=e.memoizedState))?t:a({},t,r),e.memoizedState=r,0===e.lanes&&(e.updateQueue.baseState=r)}var bi={isMounted:function(e){return!!(e=e._reactInternals)&&Ke(e)===e},enqueueSetState:function(e,t,r){e=e._reactInternals;var n=gs(),a=ps(e),i=li(n,a);i.payload=t,null!=r&&(i.callback=r),ui(e,i),fs(e,a,n)},enqueueReplaceState:function(e,t,r){e=e._reactInternals;var n=gs(),a=ps(e),i=li(n,a);i.tag=1,i.payload=t,null!=r&&(i.callback=r),ui(e,i),fs(e,a,n)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var r=gs(),n=ps(e),a=li(r,n);a.tag=2,null!=t&&(a.callback=t),ui(e,a),fs(e,n,r)}};function Mi(e,t,r,n,a,i,o){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(n,i,o):!t.prototype||!t.prototype.isPureReactComponent||(!gn(r,n)||!gn(a,i))}function yi(e,t,r){var n=!1,a=ga,i=t.contextType;return"object"==typeof i&&null!==i?i=oi(i):(a=ba(t)?ma:pa.current,i=(n=null!=(n=t.contextTypes))?ha(e,a):ga),t=new t(r,i),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=bi,e.stateNode=t,t._reactInternals=e,n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=i),t}function vi(e,t,r,n){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(r,n),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(r,n),t.state!==e&&bi.enqueueReplaceState(t,t.state,null)}function ki(e,t,r,n){var a=e.stateNode;a.props=r,a.state=e.memoizedState,a.refs=mi,si(e);var i=t.contextType;"object"==typeof i&&null!==i?a.context=oi(i):(i=ba(t)?ma:pa.current,a.context=ha(e,i)),pi(e,r,a,n),a.state=e.memoizedState,"function"==typeof(i=t.getDerivedStateFromProps)&&(hi(e,t,i,r),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&bi.enqueueReplaceState(a,a.state,null),pi(e,r,a,n),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4)}var Si=Array.isArray;function wi(e,t,r){if(null!==(e=r.ref)&&"function"!=typeof e&&"object"!=typeof e){if(r._owner){if(r=r._owner){if(1!==r.tag)throw Error(o(309));var n=r.stateNode}if(!n)throw Error(o(147,e));var a=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===a?t.ref:(t=function(e){var t=n.refs;t===mi&&(t=n.refs={}),null===e?delete t[a]:t[a]=e},t._stringRef=a,t)}if("string"!=typeof e)throw Error(o(284));if(!r._owner)throw Error(o(290,e))}return e}function Ei(e,t){if("textarea"!==e.type)throw Error(o(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t))}function _i(e){function t(t,r){if(e){var n=t.lastEffect;null!==n?(n.nextEffect=r,t.lastEffect=r):t.firstEffect=t.lastEffect=r,r.nextEffect=null,r.flags=8}}function r(r,n){if(!e)return null;for(;null!==n;)t(r,n),n=n.sibling;return null}function n(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Ws(e,t)).index=0,e.sibling=null,e}function i(t,r,n){return t.index=n,e?null!==(n=t.alternate)?(n=n.index)<r?(t.flags=2,r):n:(t.flags=2,r):r}function c(t){return e&&null===t.alternate&&(t.flags=2),t}function s(e,t,r,n){return null===t||6!==t.tag?((t=Ks(r,e.mode,n)).return=e,t):((t=a(t,r)).return=e,t)}function d(e,t,r,n){return null!==t&&t.elementType===r.type?((n=a(t,r.props)).ref=wi(e,t,r),n.return=e,n):((n=Gs(r.type,r.key,r.props,null,e.mode,n)).ref=wi(e,t,r),n.return=e,n)}function l(e,t,r,n){return null===t||4!==t.tag||t.stateNode.containerInfo!==r.containerInfo||t.stateNode.implementation!==r.implementation?((t=Qs(r,e.mode,n)).return=e,t):((t=a(t,r.children||[])).return=e,t)}function u(e,t,r,n,i){return null===t||7!==t.tag?((t=qs(r,e.mode,n,i)).return=e,t):((t=a(t,r)).return=e,t)}function g(e,t,r){if("string"==typeof t||"number"==typeof t)return(t=Ks(""+t,e.mode,r)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case S:return(r=Gs(t.type,t.key,t.props,null,e.mode,r)).ref=wi(e,null,t),r.return=e,r;case w:return(t=Qs(t,e.mode,r)).return=e,t}if(Si(t)||H(t))return(t=qs(t,e.mode,r,null)).return=e,t;Ei(e,t)}return null}function p(e,t,r,n){var a=null!==t?t.key:null;if("string"==typeof r||"number"==typeof r)return null!==a?null:s(e,t,""+r,n);if("object"==typeof r&&null!==r){switch(r.$$typeof){case S:return r.key===a?r.type===E?u(e,t,r.props.children,n,a):d(e,t,r,n):null;case w:return r.key===a?l(e,t,r,n):null}if(Si(r)||H(r))return null!==a?null:u(e,t,r,n,null);Ei(e,r)}return null}function f(e,t,r,n,a){if("string"==typeof n||"number"==typeof n)return s(t,e=e.get(r)||null,""+n,a);if("object"==typeof n&&null!==n){switch(n.$$typeof){case S:return e=e.get(null===n.key?r:n.key)||null,n.type===E?u(t,e,n.props.children,a,n.key):d(t,e,n,a);case w:return l(t,e=e.get(null===n.key?r:n.key)||null,n,a)}if(Si(n)||H(n))return u(t,e=e.get(r)||null,n,a,null);Ei(t,n)}return null}function m(a,o,c,s){for(var d=null,l=null,u=o,m=o=0,h=null;null!==u&&m<c.length;m++){u.index>m?(h=u,u=null):h=u.sibling;var b=p(a,u,c[m],s);if(null===b){null===u&&(u=h);break}e&&u&&null===b.alternate&&t(a,u),o=i(b,o,m),null===l?d=b:l.sibling=b,l=b,u=h}if(m===c.length)return r(a,u),d;if(null===u){for(;m<c.length;m++)null!==(u=g(a,c[m],s))&&(o=i(u,o,m),null===l?d=u:l.sibling=u,l=u);return d}for(u=n(a,u);m<c.length;m++)null!==(h=f(u,a,m,c[m],s))&&(e&&null!==h.alternate&&u.delete(null===h.key?m:h.key),o=i(h,o,m),null===l?d=h:l.sibling=h,l=h);return e&&u.forEach((function(e){return t(a,e)})),d}function h(a,c,s,d){var l=H(s);if("function"!=typeof l)throw Error(o(150));if(null==(s=l.call(s)))throw Error(o(151));for(var u=l=null,m=c,h=c=0,b=null,M=s.next();null!==m&&!M.done;h++,M=s.next()){m.index>h?(b=m,m=null):b=m.sibling;var y=p(a,m,M.value,d);if(null===y){null===m&&(m=b);break}e&&m&&null===y.alternate&&t(a,m),c=i(y,c,h),null===u?l=y:u.sibling=y,u=y,m=b}if(M.done)return r(a,m),l;if(null===m){for(;!M.done;h++,M=s.next())null!==(M=g(a,M.value,d))&&(c=i(M,c,h),null===u?l=M:u.sibling=M,u=M);return l}for(m=n(a,m);!M.done;h++,M=s.next())null!==(M=f(m,a,h,M.value,d))&&(e&&null!==M.alternate&&m.delete(null===M.key?h:M.key),c=i(M,c,h),null===u?l=M:u.sibling=M,u=M);return e&&m.forEach((function(e){return t(a,e)})),l}return function(e,n,i,s){var d="object"==typeof i&&null!==i&&i.type===E&&null===i.key;d&&(i=i.props.children);var l="object"==typeof i&&null!==i;if(l)switch(i.$$typeof){case S:e:{for(l=i.key,d=n;null!==d;){if(d.key===l){if(7===d.tag){if(i.type===E){r(e,d.sibling),(n=a(d,i.props.children)).return=e,e=n;break e}}else if(d.elementType===i.type){r(e,d.sibling),(n=a(d,i.props)).ref=wi(e,d,i),n.return=e,e=n;break e}r(e,d);break}t(e,d),d=d.sibling}i.type===E?((n=qs(i.props.children,e.mode,s,i.key)).return=e,e=n):((s=Gs(i.type,i.key,i.props,null,e.mode,s)).ref=wi(e,n,i),s.return=e,e=s)}return c(e);case w:e:{for(d=i.key;null!==n;){if(n.key===d){if(4===n.tag&&n.stateNode.containerInfo===i.containerInfo&&n.stateNode.implementation===i.implementation){r(e,n.sibling),(n=a(n,i.children||[])).return=e,e=n;break e}r(e,n);break}t(e,n),n=n.sibling}(n=Qs(i,e.mode,s)).return=e,e=n}return c(e)}if("string"==typeof i||"number"==typeof i)return i=""+i,null!==n&&6===n.tag?(r(e,n.sibling),(n=a(n,i)).return=e,e=n):(r(e,n),(n=Ks(i,e.mode,s)).return=e,e=n),c(e);if(Si(i))return m(e,n,i,s);if(H(i))return h(e,n,i,s);if(l&&Ei(e,i),void 0===i&&!d)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(o(152,G(e.type)||"Component"))}return r(e,n)}}var xi=_i(!0),Ci=_i(!1),Ai={},Li=da(Ai),Ni=da(Ai),Pi=da(Ai);function Ii(e){if(e===Ai)throw Error(o(174));return e}function Ti(e,t){switch(ua(Pi,t),ua(Ni,e),ua(Li,Ai),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:fe(null,"");break;default:t=fe(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}la(Li),ua(Li,t)}function Ri(){la(Li),la(Ni),la(Pi)}function Oi(e){Ii(Pi.current);var t=Ii(Li.current),r=fe(t,e.type);t!==r&&(ua(Ni,e),ua(Li,r))}function zi(e){Ni.current===e&&(la(Li),la(Ni))}var Di=da(0);function Bi(e){for(var t=e;null!==t;){if(13===t.tag){var r=t.memoizedState;if(null!==r&&(null===(r=r.dehydrated)||"$?"===r.data||"$!"===r.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Fi=null,ji=null,Ui=!1;function Hi(e,t){var r=$s(5,null,null,0);r.elementType="DELETED",r.type="DELETED",r.stateNode=t,r.return=e,r.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=r,e.lastEffect=r):e.firstEffect=e.lastEffect=r}function Vi(e,t){switch(e.tag){case 5:var r=e.type;return null!==(t=1!==t.nodeType||r.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function $i(e){if(Ui){var t=ji;if(t){var r=t;if(!Vi(e,t)){if(!(t=qn(r.nextSibling))||!Vi(e,t))return e.flags=-1025&e.flags|2,Ui=!1,void(Fi=e);Hi(Fi,r)}Fi=e,ji=qn(t.firstChild)}else e.flags=-1025&e.flags|2,Ui=!1,Fi=e}}function Zi(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Fi=e}function Wi(e){if(e!==Fi)return!1;if(!Ui)return Zi(e),Ui=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!$n(t,e.memoizedProps))for(t=ji;t;)Hi(e,t),t=qn(t.nextSibling);if(Zi(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var r=e.data;if("/$"===r){if(0===t){ji=qn(e.nextSibling);break e}t--}else"$"!==r&&"$!"!==r&&"$?"!==r||t++}e=e.nextSibling}ji=null}}else ji=Fi?qn(e.stateNode.nextSibling):null;return!0}function Gi(){ji=Fi=null,Ui=!1}var qi=[];function Yi(){for(var e=0;e<qi.length;e++)qi[e]._workInProgressVersionPrimary=null;qi.length=0}var Ki=k.ReactCurrentDispatcher,Qi=k.ReactCurrentBatchConfig,Xi=0,Ji=null,eo=null,to=null,ro=!1,no=!1;function ao(){throw Error(o(321))}function io(e,t){if(null===t)return!1;for(var r=0;r<t.length&&r<e.length;r++)if(!ln(e[r],t[r]))return!1;return!0}function oo(e,t,r,n,a,i){if(Xi=i,Ji=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Ki.current=null===e||null===e.memoizedState?To:Ro,e=r(n,a),no){i=0;do{if(no=!1,!(25>i))throw Error(o(301));i+=1,to=eo=null,t.updateQueue=null,Ki.current=Oo,e=r(n,a)}while(no)}if(Ki.current=Io,t=null!==eo&&null!==eo.next,Xi=0,to=eo=Ji=null,ro=!1,t)throw Error(o(300));return e}function co(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===to?Ji.memoizedState=to=e:to=to.next=e,to}function so(){if(null===eo){var e=Ji.alternate;e=null!==e?e.memoizedState:null}else e=eo.next;var t=null===to?Ji.memoizedState:to.next;if(null!==t)to=t,eo=e;else{if(null===e)throw Error(o(310));e={memoizedState:(eo=e).memoizedState,baseState:eo.baseState,baseQueue:eo.baseQueue,queue:eo.queue,next:null},null===to?Ji.memoizedState=to=e:to=to.next=e}return to}function lo(e,t){return"function"==typeof t?t(e):t}function uo(e){var t=so(),r=t.queue;if(null===r)throw Error(o(311));r.lastRenderedReducer=e;var n=eo,a=n.baseQueue,i=r.pending;if(null!==i){if(null!==a){var c=a.next;a.next=i.next,i.next=c}n.baseQueue=a=i,r.pending=null}if(null!==a){a=a.next,n=n.baseState;var s=c=i=null,d=a;do{var l=d.lane;if((Xi&l)===l)null!==s&&(s=s.next={lane:0,action:d.action,eagerReducer:d.eagerReducer,eagerState:d.eagerState,next:null}),n=d.eagerReducer===e?d.eagerState:e(n,d.action);else{var u={lane:l,action:d.action,eagerReducer:d.eagerReducer,eagerState:d.eagerState,next:null};null===s?(c=s=u,i=n):s=s.next=u,Ji.lanes|=l,Uc|=l}d=d.next}while(null!==d&&d!==a);null===s?i=n:s.next=c,ln(n,t.memoizedState)||(Do=!0),t.memoizedState=n,t.baseState=i,t.baseQueue=s,r.lastRenderedState=n}return[t.memoizedState,r.dispatch]}function go(e){var t=so(),r=t.queue;if(null===r)throw Error(o(311));r.lastRenderedReducer=e;var n=r.dispatch,a=r.pending,i=t.memoizedState;if(null!==a){r.pending=null;var c=a=a.next;do{i=e(i,c.action),c=c.next}while(c!==a);ln(i,t.memoizedState)||(Do=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),r.lastRenderedState=i}return[i,n]}function po(e,t,r){var n=t._getVersion;n=n(t._source);var a=t._workInProgressVersionPrimary;if(null!==a?e=a===n:(e=e.mutableReadLanes,(e=(Xi&e)===e)&&(t._workInProgressVersionPrimary=n,qi.push(t))),e)return r(t._source);throw qi.push(t),Error(o(350))}function fo(e,t,r,n){var a=Tc;if(null===a)throw Error(o(349));var i=t._getVersion,c=i(t._source),s=Ki.current,d=s.useState((function(){return po(a,t,r)})),l=d[1],u=d[0];d=to;var g=e.memoizedState,p=g.refs,f=p.getSnapshot,m=g.source;g=g.subscribe;var h=Ji;return e.memoizedState={refs:p,source:t,subscribe:n},s.useEffect((function(){p.getSnapshot=r,p.setSnapshot=l;var e=i(t._source);if(!ln(c,e)){e=r(t._source),ln(u,e)||(l(e),e=ps(h),a.mutableReadLanes|=e&a.pendingLanes),e=a.mutableReadLanes,a.entangledLanes|=e;for(var n=a.entanglements,o=e;0<o;){var s=31-$t(o),d=1<<s;n[s]|=e,o&=~d}}}),[r,t,n]),s.useEffect((function(){return n(t._source,(function(){var e=p.getSnapshot,r=p.setSnapshot;try{r(e(t._source));var n=ps(h);a.mutableReadLanes|=n&a.pendingLanes}catch(i){r((function(){throw i}))}}))}),[t,n]),ln(f,r)&&ln(m,t)&&ln(g,n)||((e={pending:null,dispatch:null,lastRenderedReducer:lo,lastRenderedState:u}).dispatch=l=Po.bind(null,Ji,e),d.queue=e,d.baseQueue=null,u=po(a,t,r),d.memoizedState=d.baseState=u),u}function mo(e,t,r){return fo(so(),e,t,r)}function ho(e){var t=co();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:lo,lastRenderedState:e}).dispatch=Po.bind(null,Ji,e),[t.memoizedState,e]}function bo(e,t,r,n){return e={tag:e,create:t,destroy:r,deps:n,next:null},null===(t=Ji.updateQueue)?(t={lastEffect:null},Ji.updateQueue=t,t.lastEffect=e.next=e):null===(r=t.lastEffect)?t.lastEffect=e.next=e:(n=r.next,r.next=e,e.next=n,t.lastEffect=e),e}function Mo(e){return e={current:e},co().memoizedState=e}function yo(){return so().memoizedState}function vo(e,t,r,n){var a=co();Ji.flags|=e,a.memoizedState=bo(1|t,r,void 0,void 0===n?null:n)}function ko(e,t,r,n){var a=so();n=void 0===n?null:n;var i=void 0;if(null!==eo){var o=eo.memoizedState;if(i=o.destroy,null!==n&&io(n,o.deps))return void bo(t,r,i,n)}Ji.flags|=e,a.memoizedState=bo(1|t,r,i,n)}function So(e,t){return vo(516,4,e,t)}function wo(e,t){return ko(516,4,e,t)}function Eo(e,t){return ko(4,2,e,t)}function _o(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function xo(e,t,r){return r=null!=r?r.concat([e]):null,ko(4,2,_o.bind(null,t,e),r)}function Co(){}function Ao(e,t){var r=so();t=void 0===t?null:t;var n=r.memoizedState;return null!==n&&null!==t&&io(t,n[1])?n[0]:(r.memoizedState=[e,t],e)}function Lo(e,t){var r=so();t=void 0===t?null:t;var n=r.memoizedState;return null!==n&&null!==t&&io(t,n[1])?n[0]:(e=e(),r.memoizedState=[e,t],e)}function No(e,t){var r=$a();Wa(98>r?98:r,(function(){e(!0)})),Wa(97<r?97:r,(function(){var r=Qi.transition;Qi.transition=1;try{e(!1),t()}finally{Qi.transition=r}}))}function Po(e,t,r){var n=gs(),a=ps(e),i={lane:a,action:r,eagerReducer:null,eagerState:null,next:null},o=t.pending;if(null===o?i.next=i:(i.next=o.next,o.next=i),t.pending=i,o=e.alternate,e===Ji||null!==o&&o===Ji)no=ro=!0;else{if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var c=t.lastRenderedState,s=o(c,r);if(i.eagerReducer=o,i.eagerState=s,ln(s,c))return}catch(d){}fs(e,a,n)}}var Io={readContext:oi,useCallback:ao,useContext:ao,useEffect:ao,useImperativeHandle:ao,useLayoutEffect:ao,useMemo:ao,useReducer:ao,useRef:ao,useState:ao,useDebugValue:ao,useDeferredValue:ao,useTransition:ao,useMutableSource:ao,useOpaqueIdentifier:ao,unstable_isNewReconciler:!1},To={readContext:oi,useCallback:function(e,t){return co().memoizedState=[e,void 0===t?null:t],e},useContext:oi,useEffect:So,useImperativeHandle:function(e,t,r){return r=null!=r?r.concat([e]):null,vo(4,2,_o.bind(null,t,e),r)},useLayoutEffect:function(e,t){return vo(4,2,e,t)},useMemo:function(e,t){var r=co();return t=void 0===t?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=co();return t=void 0!==r?r(t):t,n.memoizedState=n.baseState=t,e=(e=n.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Po.bind(null,Ji,e),[n.memoizedState,e]},useRef:Mo,useState:ho,useDebugValue:Co,useDeferredValue:function(e){var t=ho(e),r=t[0],n=t[1];return So((function(){var t=Qi.transition;Qi.transition=1;try{n(e)}finally{Qi.transition=t}}),[e]),r},useTransition:function(){var e=ho(!1),t=e[0];return Mo(e=No.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,r){var n=co();return n.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:r},fo(n,e,t,r)},useOpaqueIdentifier:function(){if(Ui){var e=!1,t=function(e){return{$$typeof:O,toString:e,valueOf:e}}((function(){throw e||(e=!0,r("r:"+(Kn++).toString(36))),Error(o(355))})),r=ho(t)[1];return 0==(2&Ji.mode)&&(Ji.flags|=516,bo(5,(function(){r("r:"+(Kn++).toString(36))}),void 0,null)),t}return ho(t="r:"+(Kn++).toString(36)),t},unstable_isNewReconciler:!1},Ro={readContext:oi,useCallback:Ao,useContext:oi,useEffect:wo,useImperativeHandle:xo,useLayoutEffect:Eo,useMemo:Lo,useReducer:uo,useRef:yo,useState:function(){return uo(lo)},useDebugValue:Co,useDeferredValue:function(e){var t=uo(lo),r=t[0],n=t[1];return wo((function(){var t=Qi.transition;Qi.transition=1;try{n(e)}finally{Qi.transition=t}}),[e]),r},useTransition:function(){var e=uo(lo)[0];return[yo().current,e]},useMutableSource:mo,useOpaqueIdentifier:function(){return uo(lo)[0]},unstable_isNewReconciler:!1},Oo={readContext:oi,useCallback:Ao,useContext:oi,useEffect:wo,useImperativeHandle:xo,useLayoutEffect:Eo,useMemo:Lo,useReducer:go,useRef:yo,useState:function(){return go(lo)},useDebugValue:Co,useDeferredValue:function(e){var t=go(lo),r=t[0],n=t[1];return wo((function(){var t=Qi.transition;Qi.transition=1;try{n(e)}finally{Qi.transition=t}}),[e]),r},useTransition:function(){var e=go(lo)[0];return[yo().current,e]},useMutableSource:mo,useOpaqueIdentifier:function(){return go(lo)[0]},unstable_isNewReconciler:!1},zo=k.ReactCurrentOwner,Do=!1;function Bo(e,t,r,n){t.child=null===e?Ci(t,null,r,n):xi(t,e.child,r,n)}function Fo(e,t,r,n,a){r=r.render;var i=t.ref;return ii(t,a),n=oo(e,t,r,n,i,a),null===e||Do?(t.flags|=1,Bo(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~a,ic(e,t,a))}function jo(e,t,r,n,a,i){if(null===e){var o=r.type;return"function"!=typeof o||Zs(o)||void 0!==o.defaultProps||null!==r.compare||void 0!==r.defaultProps?((e=Gs(r.type,null,n,t,t.mode,i)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,Uo(e,t,o,n,a,i))}return o=e.child,0==(a&i)&&(a=o.memoizedProps,(r=null!==(r=r.compare)?r:gn)(a,n)&&e.ref===t.ref)?ic(e,t,i):(t.flags|=1,(e=Ws(o,n)).ref=t.ref,e.return=t,t.child=e)}function Uo(e,t,r,n,a,i){if(null!==e&&gn(e.memoizedProps,n)&&e.ref===t.ref){if(Do=!1,0==(i&a))return t.lanes=e.lanes,ic(e,t,i);0!=(16384&e.flags)&&(Do=!0)}return $o(e,t,r,n,i)}function Ho(e,t,r){var n=t.pendingProps,a=n.children,i=null!==e?e.memoizedState:null;if("hidden"===n.mode||"unstable-defer-without-hiding"===n.mode)if(0==(4&t.mode))t.memoizedState={baseLanes:0},Ss(t,r);else{if(0==(1073741824&r))return e=null!==i?i.baseLanes|r:r,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},Ss(t,e),null;t.memoizedState={baseLanes:0},Ss(t,null!==i?i.baseLanes:r)}else null!==i?(n=i.baseLanes|r,t.memoizedState=null):n=r,Ss(t,n);return Bo(e,t,a,r),t.child}function Vo(e,t){var r=t.ref;(null===e&&null!==r||null!==e&&e.ref!==r)&&(t.flags|=128)}function $o(e,t,r,n,a){var i=ba(r)?ma:pa.current;return i=ha(t,i),ii(t,a),r=oo(e,t,r,n,i,a),null===e||Do?(t.flags|=1,Bo(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~a,ic(e,t,a))}function Zo(e,t,r,n,a){if(ba(r)){var i=!0;ka(t)}else i=!1;if(ii(t,a),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),yi(t,r,n),ki(t,r,n,a),n=!0;else if(null===e){var o=t.stateNode,c=t.memoizedProps;o.props=c;var s=o.context,d=r.contextType;"object"==typeof d&&null!==d?d=oi(d):d=ha(t,d=ba(r)?ma:pa.current);var l=r.getDerivedStateFromProps,u="function"==typeof l||"function"==typeof o.getSnapshotBeforeUpdate;u||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(c!==n||s!==d)&&vi(t,o,n,d),ci=!1;var g=t.memoizedState;o.state=g,pi(t,n,o,a),s=t.memoizedState,c!==n||g!==s||fa.current||ci?("function"==typeof l&&(hi(t,r,l,n),s=t.memoizedState),(c=ci||Mi(t,r,c,n,g,s,d))?(u||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||("function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount()),"function"==typeof o.componentDidMount&&(t.flags|=4)):("function"==typeof o.componentDidMount&&(t.flags|=4),t.memoizedProps=n,t.memoizedState=s),o.props=n,o.state=s,o.context=d,n=c):("function"==typeof o.componentDidMount&&(t.flags|=4),n=!1)}else{o=t.stateNode,di(e,t),c=t.memoizedProps,d=t.type===t.elementType?c:Qa(t.type,c),o.props=d,u=t.pendingProps,g=o.context,"object"==typeof(s=r.contextType)&&null!==s?s=oi(s):s=ha(t,s=ba(r)?ma:pa.current);var p=r.getDerivedStateFromProps;(l="function"==typeof p||"function"==typeof o.getSnapshotBeforeUpdate)||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(c!==u||g!==s)&&vi(t,o,n,s),ci=!1,g=t.memoizedState,o.state=g,pi(t,n,o,a);var f=t.memoizedState;c!==u||g!==f||fa.current||ci?("function"==typeof p&&(hi(t,r,p,n),f=t.memoizedState),(d=ci||Mi(t,r,d,n,g,f,s))?(l||"function"!=typeof o.UNSAFE_componentWillUpdate&&"function"!=typeof o.componentWillUpdate||("function"==typeof o.componentWillUpdate&&o.componentWillUpdate(n,f,s),"function"==typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(n,f,s)),"function"==typeof o.componentDidUpdate&&(t.flags|=4),"function"==typeof o.getSnapshotBeforeUpdate&&(t.flags|=256)):("function"!=typeof o.componentDidUpdate||c===e.memoizedProps&&g===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||c===e.memoizedProps&&g===e.memoizedState||(t.flags|=256),t.memoizedProps=n,t.memoizedState=f),o.props=n,o.state=f,o.context=s,n=d):("function"!=typeof o.componentDidUpdate||c===e.memoizedProps&&g===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||c===e.memoizedProps&&g===e.memoizedState||(t.flags|=256),n=!1)}return Wo(e,t,r,n,i,a)}function Wo(e,t,r,n,a,i){Vo(e,t);var o=0!=(64&t.flags);if(!n&&!o)return a&&Sa(t,r,!1),ic(e,t,i);n=t.stateNode,zo.current=t;var c=o&&"function"!=typeof r.getDerivedStateFromError?null:n.render();return t.flags|=1,null!==e&&o?(t.child=xi(t,e.child,null,i),t.child=xi(t,null,c,i)):Bo(e,t,c,i),t.memoizedState=n.state,a&&Sa(t,r,!0),t.child}function Go(e){var t=e.stateNode;t.pendingContext?ya(0,t.pendingContext,t.pendingContext!==t.context):t.context&&ya(0,t.context,!1),Ti(e,t.containerInfo)}var qo,Yo,Ko,Qo={dehydrated:null,retryLane:0};function Xo(e,t,r){var n,a=t.pendingProps,i=Di.current,o=!1;return(n=0!=(64&t.flags))||(n=(null===e||null!==e.memoizedState)&&0!=(2&i)),n?(o=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===a.fallback||!0===a.unstable_avoidThisFallback||(i|=1),ua(Di,1&i),null===e?(void 0!==a.fallback&&$i(t),e=a.children,i=a.fallback,o?(e=Jo(t,e,i,r),t.child.memoizedState={baseLanes:r},t.memoizedState=Qo,e):"number"==typeof a.unstable_expectedLoadTime?(e=Jo(t,e,i,r),t.child.memoizedState={baseLanes:r},t.memoizedState=Qo,t.lanes=33554432,e):((r=Ys({mode:"visible",children:e},t.mode,r,null)).return=t,t.child=r)):(e.memoizedState,o?(a=tc(e,t,a.children,a.fallback,r),o=t.child,i=e.child.memoizedState,o.memoizedState=null===i?{baseLanes:r}:{baseLanes:i.baseLanes|r},o.childLanes=e.childLanes&~r,t.memoizedState=Qo,a):(r=ec(e,t,a.children,r),t.memoizedState=null,r))}function Jo(e,t,r,n){var a=e.mode,i=e.child;return t={mode:"hidden",children:t},0==(2&a)&&null!==i?(i.childLanes=0,i.pendingProps=t):i=Ys(t,a,0,null),r=qs(r,a,n,null),i.return=e,r.return=e,i.sibling=r,e.child=i,r}function ec(e,t,r,n){var a=e.child;return e=a.sibling,r=Ws(a,{mode:"visible",children:r}),0==(2&t.mode)&&(r.lanes=n),r.return=t,r.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=r}function tc(e,t,r,n,a){var i=t.mode,o=e.child;e=o.sibling;var c={mode:"hidden",children:r};return 0==(2&i)&&t.child!==o?((r=t.child).childLanes=0,r.pendingProps=c,null!==(o=r.lastEffect)?(t.firstEffect=r.firstEffect,t.lastEffect=o,o.nextEffect=null):t.firstEffect=t.lastEffect=null):r=Ws(o,c),null!==e?n=Ws(e,n):(n=qs(n,i,a,null)).flags|=2,n.return=t,r.return=t,r.sibling=n,t.child=r,n}function rc(e,t){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),ai(e.return,t)}function nc(e,t,r,n,a,i){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:r,tailMode:a,lastEffect:i}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=n,o.tail=r,o.tailMode=a,o.lastEffect=i)}function ac(e,t,r){var n=t.pendingProps,a=n.revealOrder,i=n.tail;if(Bo(e,t,n.children,r),0!=(2&(n=Di.current)))n=1&n|2,t.flags|=64;else{if(null!==e&&0!=(64&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&rc(e,r);else if(19===e.tag)rc(e,r);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}n&=1}if(ua(Di,n),0==(2&t.mode))t.memoizedState=null;else switch(a){case"forwards":for(r=t.child,a=null;null!==r;)null!==(e=r.alternate)&&null===Bi(e)&&(a=r),r=r.sibling;null===(r=a)?(a=t.child,t.child=null):(a=r.sibling,r.sibling=null),nc(t,!1,a,r,i,t.lastEffect);break;case"backwards":for(r=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===Bi(e)){t.child=a;break}e=a.sibling,a.sibling=r,r=a,a=e}nc(t,!0,r,null,i,t.lastEffect);break;case"together":nc(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function ic(e,t,r){if(null!==e&&(t.dependencies=e.dependencies),Uc|=t.lanes,0!=(r&t.childLanes)){if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(r=Ws(e=t.child,e.pendingProps),t.child=r,r.return=t;null!==e.sibling;)e=e.sibling,(r=r.sibling=Ws(e,e.pendingProps)).return=t;r.sibling=null}return t.child}return null}function oc(e,t){if(!Ui)switch(e.tailMode){case"hidden":t=e.tail;for(var r=null;null!==t;)null!==t.alternate&&(r=t),t=t.sibling;null===r?e.tail=null:r.sibling=null;break;case"collapsed":r=e.tail;for(var n=null;null!==r;)null!==r.alternate&&(n=r),r=r.sibling;null===n?t||null===e.tail?e.tail=null:e.tail.sibling=null:n.sibling=null}}function cc(e,t,r){var n=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:case 17:return ba(t.type)&&Ma(),null;case 3:return Ri(),la(fa),la(pa),Yi(),(n=t.stateNode).pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||(Wi(t)?t.flags|=4:n.hydrate||(t.flags|=256)),null;case 5:zi(t);var i=Ii(Pi.current);if(r=t.type,null!==e&&null!=t.stateNode)Yo(e,t,r,n),e.ref!==t.ref&&(t.flags|=128);else{if(!n){if(null===t.stateNode)throw Error(o(166));return null}if(e=Ii(Li.current),Wi(t)){n=t.stateNode,r=t.type;var c=t.memoizedProps;switch(n[Xn]=t,n[Jn]=c,r){case"dialog":Nn("cancel",n),Nn("close",n);break;case"iframe":case"object":case"embed":Nn("load",n);break;case"video":case"audio":for(e=0;e<xn.length;e++)Nn(xn[e],n);break;case"source":Nn("error",n);break;case"img":case"image":case"link":Nn("error",n),Nn("load",n);break;case"details":Nn("toggle",n);break;case"input":ee(n,c),Nn("invalid",n);break;case"select":n._wrapperState={wasMultiple:!!c.multiple},Nn("invalid",n);break;case"textarea":se(n,c),Nn("invalid",n)}for(var d in Ee(r,c),e=null,c)c.hasOwnProperty(d)&&(i=c[d],"children"===d?"string"==typeof i?n.textContent!==i&&(e=["children",i]):"number"==typeof i&&n.textContent!==""+i&&(e=["children",""+i]):s.hasOwnProperty(d)&&null!=i&&"onScroll"===d&&Nn("scroll",n));switch(r){case"input":K(n),ne(n,c,!0);break;case"textarea":K(n),le(n);break;case"select":case"option":break;default:"function"==typeof c.onClick&&(n.onclick=jn)}n=e,t.updateQueue=n,null!==n&&(t.flags|=4)}else{switch(d=9===i.nodeType?i:i.ownerDocument,e===ue&&(e=pe(r)),e===ue?"script"===r?((e=d.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof n.is?e=d.createElement(r,{is:n.is}):(e=d.createElement(r),"select"===r&&(d=e,n.multiple?d.multiple=!0:n.size&&(d.size=n.size))):e=d.createElementNS(e,r),e[Xn]=t,e[Jn]=n,qo(e,t),t.stateNode=e,d=_e(r,n),r){case"dialog":Nn("cancel",e),Nn("close",e),i=n;break;case"iframe":case"object":case"embed":Nn("load",e),i=n;break;case"video":case"audio":for(i=0;i<xn.length;i++)Nn(xn[i],e);i=n;break;case"source":Nn("error",e),i=n;break;case"img":case"image":case"link":Nn("error",e),Nn("load",e),i=n;break;case"details":Nn("toggle",e),i=n;break;case"input":ee(e,n),i=J(e,n),Nn("invalid",e);break;case"option":i=ie(e,n);break;case"select":e._wrapperState={wasMultiple:!!n.multiple},i=a({},n,{value:void 0}),Nn("invalid",e);break;case"textarea":se(e,n),i=ce(e,n),Nn("invalid",e);break;default:i=n}Ee(r,i);var l=i;for(c in l)if(l.hasOwnProperty(c)){var u=l[c];"style"===c?Se(e,u):"dangerouslySetInnerHTML"===c?null!=(u=u?u.__html:void 0)&&be(e,u):"children"===c?"string"==typeof u?("textarea"!==r||""!==u)&&Me(e,u):"number"==typeof u&&Me(e,""+u):"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&"autoFocus"!==c&&(s.hasOwnProperty(c)?null!=u&&"onScroll"===c&&Nn("scroll",e):null!=u&&v(e,c,u,d))}switch(r){case"input":K(e),ne(e,n,!1);break;case"textarea":K(e),le(e);break;case"option":null!=n.value&&e.setAttribute("value",""+q(n.value));break;case"select":e.multiple=!!n.multiple,null!=(c=n.value)?oe(e,!!n.multiple,c,!1):null!=n.defaultValue&&oe(e,!!n.multiple,n.defaultValue,!0);break;default:"function"==typeof i.onClick&&(e.onclick=jn)}Vn(r,n)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)Ko(0,t,e.memoizedProps,n);else{if("string"!=typeof n&&null===t.stateNode)throw Error(o(166));r=Ii(Pi.current),Ii(Li.current),Wi(t)?(n=t.stateNode,r=t.memoizedProps,n[Xn]=t,n.nodeValue!==r&&(t.flags|=4)):((n=(9===r.nodeType?r:r.ownerDocument).createTextNode(n))[Xn]=t,t.stateNode=n)}return null;case 13:return la(Di),n=t.memoizedState,0!=(64&t.flags)?(t.lanes=r,t):(n=null!==n,r=!1,null===e?void 0!==t.memoizedProps.fallback&&Wi(t):r=null!==e.memoizedState,n&&!r&&0!=(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&Di.current)?0===Bc&&(Bc=3):(0!==Bc&&3!==Bc||(Bc=4),null===Tc||0==(134217727&Uc)&&0==(134217727&Hc)||Ms(Tc,Oc))),(n||r)&&(t.flags|=4),null);case 4:return Ri(),null===e&&In(t.stateNode.containerInfo),null;case 10:return ni(t),null;case 19:if(la(Di),null===(n=t.memoizedState))return null;if(c=0!=(64&t.flags),null===(d=n.rendering))if(c)oc(n,!1);else{if(0!==Bc||null!==e&&0!=(64&e.flags))for(e=t.child;null!==e;){if(null!==(d=Bi(e))){for(t.flags|=64,oc(n,!1),null!==(c=d.updateQueue)&&(t.updateQueue=c,t.flags|=4),null===n.lastEffect&&(t.firstEffect=null),t.lastEffect=n.lastEffect,n=r,r=t.child;null!==r;)e=n,(c=r).flags&=2,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null,null===(d=c.alternate)?(c.childLanes=0,c.lanes=e,c.child=null,c.memoizedProps=null,c.memoizedState=null,c.updateQueue=null,c.dependencies=null,c.stateNode=null):(c.childLanes=d.childLanes,c.lanes=d.lanes,c.child=d.child,c.memoizedProps=d.memoizedProps,c.memoizedState=d.memoizedState,c.updateQueue=d.updateQueue,c.type=d.type,e=d.dependencies,c.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),r=r.sibling;return ua(Di,1&Di.current|2),t.child}e=e.sibling}null!==n.tail&&Va()>Wc&&(t.flags|=64,c=!0,oc(n,!1),t.lanes=33554432)}else{if(!c)if(null!==(e=Bi(d))){if(t.flags|=64,c=!0,null!==(r=e.updateQueue)&&(t.updateQueue=r,t.flags|=4),oc(n,!0),null===n.tail&&"hidden"===n.tailMode&&!d.alternate&&!Ui)return null!==(t=t.lastEffect=n.lastEffect)&&(t.nextEffect=null),null}else 2*Va()-n.renderingStartTime>Wc&&1073741824!==r&&(t.flags|=64,c=!0,oc(n,!1),t.lanes=33554432);n.isBackwards?(d.sibling=t.child,t.child=d):(null!==(r=n.last)?r.sibling=d:t.child=d,n.last=d)}return null!==n.tail?(r=n.tail,n.rendering=r,n.tail=r.sibling,n.lastEffect=t.lastEffect,n.renderingStartTime=Va(),r.sibling=null,t=Di.current,ua(Di,c?1&t|2:1&t),r):null;case 23:case 24:return ws(),null!==e&&null!==e.memoizedState!=(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==n.mode&&(t.flags|=4),null}throw Error(o(156,t.tag))}function sc(e){switch(e.tag){case 1:ba(e.type)&&Ma();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(Ri(),la(fa),la(pa),Yi(),0!=(64&(t=e.flags)))throw Error(o(285));return e.flags=-4097&t|64,e;case 5:return zi(e),null;case 13:return la(Di),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return la(Di),null;case 4:return Ri(),null;case 10:return ni(e),null;case 23:case 24:return ws(),null;default:return null}}function dc(e,t){try{var r="",n=t;do{r+=W(n),n=n.return}while(n);var a=r}catch(i){a="\nError generating stack: "+i.message+"\n"+i.stack}return{value:e,source:t,stack:a}}function lc(e,t){try{console.error(t.value)}catch(r){setTimeout((function(){throw r}))}}qo=function(e,t){for(var r=t.child;null!==r;){if(5===r.tag||6===r.tag)e.appendChild(r.stateNode);else if(4!==r.tag&&null!==r.child){r.child.return=r,r=r.child;continue}if(r===t)break;for(;null===r.sibling;){if(null===r.return||r.return===t)return;r=r.return}r.sibling.return=r.return,r=r.sibling}},Yo=function(e,t,r,n){var i=e.memoizedProps;if(i!==n){e=t.stateNode,Ii(Li.current);var o,c=null;switch(r){case"input":i=J(e,i),n=J(e,n),c=[];break;case"option":i=ie(e,i),n=ie(e,n),c=[];break;case"select":i=a({},i,{value:void 0}),n=a({},n,{value:void 0}),c=[];break;case"textarea":i=ce(e,i),n=ce(e,n),c=[];break;default:"function"!=typeof i.onClick&&"function"==typeof n.onClick&&(e.onclick=jn)}for(u in Ee(r,n),r=null,i)if(!n.hasOwnProperty(u)&&i.hasOwnProperty(u)&&null!=i[u])if("style"===u){var d=i[u];for(o in d)d.hasOwnProperty(o)&&(r||(r={}),r[o]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?c||(c=[]):(c=c||[]).push(u,null));for(u in n){var l=n[u];if(d=null!=i?i[u]:void 0,n.hasOwnProperty(u)&&l!==d&&(null!=l||null!=d))if("style"===u)if(d){for(o in d)!d.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(r||(r={}),r[o]="");for(o in l)l.hasOwnProperty(o)&&d[o]!==l[o]&&(r||(r={}),r[o]=l[o])}else r||(c||(c=[]),c.push(u,r)),r=l;else"dangerouslySetInnerHTML"===u?(l=l?l.__html:void 0,d=d?d.__html:void 0,null!=l&&d!==l&&(c=c||[]).push(u,l)):"children"===u?"string"!=typeof l&&"number"!=typeof l||(c=c||[]).push(u,""+l):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=l&&"onScroll"===u&&Nn("scroll",e),c||d===l||(c=[])):"object"==typeof l&&null!==l&&l.$$typeof===O?l.toString():(c=c||[]).push(u,l))}r&&(c=c||[]).push("style",r);var u=c;(t.updateQueue=u)&&(t.flags|=4)}},Ko=function(e,t,r,n){r!==n&&(t.flags|=4)};var uc="function"==typeof WeakMap?WeakMap:Map;function gc(e,t,r){(r=li(-1,r)).tag=3,r.payload={element:null};var n=t.value;return r.callback=function(){Kc||(Kc=!0,Qc=n),lc(0,t)},r}function pc(e,t,r){(r=li(-1,r)).tag=3;var n=e.type.getDerivedStateFromError;if("function"==typeof n){var a=t.value;r.payload=function(){return lc(0,t),n(a)}}var i=e.stateNode;return null!==i&&"function"==typeof i.componentDidCatch&&(r.callback=function(){"function"!=typeof n&&(null===Xc?Xc=new Set([this]):Xc.add(this),lc(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),r}var fc="function"==typeof WeakSet?WeakSet:Set;function mc(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(r){js(e,r)}else t.current=null}function hc(e,t){switch(t.tag){case 0:case 11:case 15:case 22:case 5:case 6:case 4:case 17:return;case 1:if(256&t.flags&&null!==e){var r=e.memoizedProps,n=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?r:Qa(t.type,r),n),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&Gn(t.stateNode.containerInfo))}throw Error(o(163))}function bc(e,t,r){switch(r.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=r.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3==(3&e.tag)){var n=e.create;e.destroy=n()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=r.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var a=e;n=a.next,0!=(4&(a=a.tag))&&0!=(1&a)&&(Ds(r,e),zs(r,e)),e=n}while(e!==t)}return;case 1:return e=r.stateNode,4&r.flags&&(null===t?e.componentDidMount():(n=r.elementType===r.type?t.memoizedProps:Qa(r.type,t.memoizedProps),e.componentDidUpdate(n,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=r.updateQueue)&&fi(r,t,e));case 3:if(null!==(t=r.updateQueue)){if(e=null,null!==r.child)switch(r.child.tag){case 5:case 1:e=r.child.stateNode}fi(r,t,e)}return;case 5:return e=r.stateNode,void(null===t&&4&r.flags&&Vn(r.type,r.memoizedProps)&&e.focus());case 6:case 4:case 12:case 19:case 17:case 20:case 21:case 23:case 24:return;case 13:return void(null===r.memoizedState&&(r=r.alternate,null!==r&&(r=r.memoizedState,null!==r&&(r=r.dehydrated,null!==r&&St(r)))))}throw Error(o(163))}function Mc(e,t){for(var r=e;;){if(5===r.tag){var n=r.stateNode;if(t)"function"==typeof(n=n.style).setProperty?n.setProperty("display","none","important"):n.display="none";else{n=r.stateNode;var a=r.memoizedProps.style;a=null!=a&&a.hasOwnProperty("display")?a.display:null,n.style.display=ke("display",a)}}else if(6===r.tag)r.stateNode.nodeValue=t?"":r.memoizedProps;else if((23!==r.tag&&24!==r.tag||null===r.memoizedState||r===e)&&null!==r.child){r.child.return=r,r=r.child;continue}if(r===e)break;for(;null===r.sibling;){if(null===r.return||r.return===e)return;r=r.return}r.sibling.return=r.return,r=r.sibling}}function yc(e,t){if(Ea&&"function"==typeof Ea.onCommitFiberUnmount)try{Ea.onCommitFiberUnmount(wa,t)}catch(i){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var r=e=e.next;do{var n=r,a=n.destroy;if(n=n.tag,void 0!==a)if(0!=(4&n))Ds(t,r);else{n=t;try{a()}catch(i){js(n,i)}}r=r.next}while(r!==e)}break;case 1:if(mc(t),"function"==typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(i){js(t,i)}break;case 5:mc(t);break;case 4:_c(e,t)}}function vc(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function kc(e){return 5===e.tag||3===e.tag||4===e.tag}function Sc(e){e:{for(var t=e.return;null!==t;){if(kc(t))break e;t=t.return}throw Error(o(160))}var r=t;switch(t=r.stateNode,r.tag){case 5:var n=!1;break;case 3:case 4:t=t.containerInfo,n=!0;break;default:throw Error(o(161))}16&r.flags&&(Me(t,""),r.flags&=-17);e:t:for(r=e;;){for(;null===r.sibling;){if(null===r.return||kc(r.return)){r=null;break e}r=r.return}for(r.sibling.return=r.return,r=r.sibling;5!==r.tag&&6!==r.tag&&18!==r.tag;){if(2&r.flags)continue t;if(null===r.child||4===r.tag)continue t;r.child.return=r,r=r.child}if(!(2&r.flags)){r=r.stateNode;break e}}n?wc(e,r,t):Ec(e,r,t)}function wc(e,t,r){var n=e.tag,a=5===n||6===n;if(a)e=a?e.stateNode:e.stateNode.instance,t?8===r.nodeType?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(8===r.nodeType?(t=r.parentNode).insertBefore(e,r):(t=r).appendChild(e),null!=(r=r._reactRootContainer)||null!==t.onclick||(t.onclick=jn));else if(4!==n&&null!==(e=e.child))for(wc(e,t,r),e=e.sibling;null!==e;)wc(e,t,r),e=e.sibling}function Ec(e,t,r){var n=e.tag,a=5===n||6===n;if(a)e=a?e.stateNode:e.stateNode.instance,t?r.insertBefore(e,t):r.appendChild(e);else if(4!==n&&null!==(e=e.child))for(Ec(e,t,r),e=e.sibling;null!==e;)Ec(e,t,r),e=e.sibling}function _c(e,t){for(var r,n,a=t,i=!1;;){if(!i){i=a.return;e:for(;;){if(null===i)throw Error(o(160));switch(r=i.stateNode,i.tag){case 5:n=!1;break e;case 3:case 4:r=r.containerInfo,n=!0;break e}i=i.return}i=!0}if(5===a.tag||6===a.tag){e:for(var c=e,s=a,d=s;;)if(yc(c,d),null!==d.child&&4!==d.tag)d.child.return=d,d=d.child;else{if(d===s)break e;for(;null===d.sibling;){if(null===d.return||d.return===s)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}n?(c=r,s=a.stateNode,8===c.nodeType?c.parentNode.removeChild(s):c.removeChild(s)):r.removeChild(a.stateNode)}else if(4===a.tag){if(null!==a.child){r=a.stateNode.containerInfo,n=!0,a.child.return=a,a=a.child;continue}}else if(yc(e,a),null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break;for(;null===a.sibling;){if(null===a.return||a.return===t)return;4===(a=a.return).tag&&(i=!1)}a.sibling.return=a.return,a=a.sibling}}function xc(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var n=r=r.next;do{3==(3&n.tag)&&(e=n.destroy,n.destroy=void 0,void 0!==e&&e()),n=n.next}while(n!==r)}return;case 1:case 12:case 17:return;case 5:if(null!=(r=t.stateNode)){n=t.memoizedProps;var a=null!==e?e.memoizedProps:n;e=t.type;var i=t.updateQueue;if(t.updateQueue=null,null!==i){for(r[Jn]=n,"input"===e&&"radio"===n.type&&null!=n.name&&te(r,n),_e(e,a),t=_e(e,n),a=0;a<i.length;a+=2){var c=i[a],s=i[a+1];"style"===c?Se(r,s):"dangerouslySetInnerHTML"===c?be(r,s):"children"===c?Me(r,s):v(r,c,s,t)}switch(e){case"input":re(r,n);break;case"textarea":de(r,n);break;case"select":e=r._wrapperState.wasMultiple,r._wrapperState.wasMultiple=!!n.multiple,null!=(i=n.value)?oe(r,!!n.multiple,i,!1):e!==!!n.multiple&&(null!=n.defaultValue?oe(r,!!n.multiple,n.defaultValue,!0):oe(r,!!n.multiple,n.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(o(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((r=t.stateNode).hydrate&&(r.hydrate=!1,St(r.containerInfo)));case 13:return null!==t.memoizedState&&(Zc=Va(),Mc(t.child,!0)),void Cc(t);case 19:return void Cc(t);case 23:case 24:return void Mc(t,null!==t.memoizedState)}throw Error(o(163))}function Cc(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var r=e.stateNode;null===r&&(r=e.stateNode=new fc),t.forEach((function(t){var n=Hs.bind(null,e,t);r.has(t)||(r.add(t),t.then(n,n))}))}}function Ac(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(t=t.memoizedState)&&null===t.dehydrated)}var Lc=Math.ceil,Nc=k.ReactCurrentDispatcher,Pc=k.ReactCurrentOwner,Ic=0,Tc=null,Rc=null,Oc=0,zc=0,Dc=da(0),Bc=0,Fc=null,jc=0,Uc=0,Hc=0,Vc=0,$c=null,Zc=0,Wc=1/0;function Gc(){Wc=Va()+500}var qc,Yc=null,Kc=!1,Qc=null,Xc=null,Jc=!1,es=null,ts=90,rs=[],ns=[],as=null,is=0,os=null,cs=-1,ss=0,ds=0,ls=null,us=!1;function gs(){return 0!=(48&Ic)?Va():-1!==cs?cs:cs=Va()}function ps(e){if(0==(2&(e=e.mode)))return 1;if(0==(4&e))return 99===$a()?1:2;if(0===ss&&(ss=jc),0!==Ka.transition){0!==ds&&(ds=null!==$c?$c.pendingLanes:0),e=ss;var t=4186112&~ds;return 0===(t&=-t)&&(0===(t=(e=4186112&~e)&-e)&&(t=8192)),t}return e=$a(),0!=(4&Ic)&&98===e?e=jt(12,ss):e=jt(e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),ss),e}function fs(e,t,r){if(50<is)throw is=0,os=null,Error(o(185));if(null===(e=ms(e,t)))return null;Vt(e,t,r),e===Tc&&(Hc|=t,4===Bc&&Ms(e,Oc));var n=$a();1===t?0!=(8&Ic)&&0==(48&Ic)?ys(e):(hs(e,r),0===Ic&&(Gc(),qa())):(0==(4&Ic)||98!==n&&99!==n||(null===as?as=new Set([e]):as.add(e)),hs(e,r)),$c=e}function ms(e,t){e.lanes|=t;var r=e.alternate;for(null!==r&&(r.lanes|=t),r=e,e=e.return;null!==e;)e.childLanes|=t,null!==(r=e.alternate)&&(r.childLanes|=t),r=e,e=e.return;return 3===r.tag?r.stateNode:null}function hs(e,t){for(var r=e.callbackNode,n=e.suspendedLanes,a=e.pingedLanes,i=e.expirationTimes,c=e.pendingLanes;0<c;){var s=31-$t(c),d=1<<s,l=i[s];if(-1===l){if(0==(d&n)||0!=(d&a)){l=t,Dt(d);var u=zt;i[s]=10<=u?l+250:6<=u?l+5e3:-1}}else l<=t&&(e.expiredLanes|=d);c&=~d}if(n=Bt(e,e===Tc?Oc:0),t=zt,0===n)null!==r&&(r!==Da&&Ca(r),e.callbackNode=null,e.callbackPriority=0);else{if(null!==r){if(e.callbackPriority===t)return;r!==Da&&Ca(r)}15===t?(r=ys.bind(null,e),null===Fa?(Fa=[r],ja=xa(Ia,Ya)):Fa.push(r),r=Da):14===t?r=Ga(99,ys.bind(null,e)):(r=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(o(358,e))}}(t),r=Ga(r,bs.bind(null,e))),e.callbackPriority=t,e.callbackNode=r}}function bs(e){if(cs=-1,ds=ss=0,0!=(48&Ic))throw Error(o(327));var t=e.callbackNode;if(Os()&&e.callbackNode!==t)return null;var r=Bt(e,e===Tc?Oc:0);if(0===r)return null;var n=r,a=Ic;Ic|=16;var i=xs();for(Tc===e&&Oc===n||(Gc(),Es(e,n));;)try{Ls();break}catch(s){_s(e,s)}if(ri(),Nc.current=i,Ic=a,null!==Rc?n=0:(Tc=null,Oc=0,n=Bc),0!=(jc&Hc))Es(e,0);else if(0!==n){if(2===n&&(Ic|=64,e.hydrate&&(e.hydrate=!1,Gn(e.containerInfo)),0!==(r=Ft(e))&&(n=Cs(e,r))),1===n)throw t=Fc,Es(e,0),Ms(e,r),hs(e,Va()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=r,n){case 0:case 1:throw Error(o(345));case 2:case 5:Is(e);break;case 3:if(Ms(e,r),(62914560&r)===r&&10<(n=Zc+500-Va())){if(0!==Bt(e,0))break;if(((a=e.suspendedLanes)&r)!==r){gs(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=Zn(Is.bind(null,e),n);break}Is(e);break;case 4:if(Ms(e,r),(4186112&r)===r)break;for(n=e.eventTimes,a=-1;0<r;){var c=31-$t(r);i=1<<c,(c=n[c])>a&&(a=c),r&=~i}if(r=a,10<(r=(120>(r=Va()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Lc(r/1960))-r)){e.timeoutHandle=Zn(Is.bind(null,e),r);break}Is(e);break;default:throw Error(o(329))}}return hs(e,Va()),e.callbackNode===t?bs.bind(null,e):null}function Ms(e,t){for(t&=~Vc,t&=~Hc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var r=31-$t(t),n=1<<r;e[r]=-1,t&=~n}}function ys(e){if(0!=(48&Ic))throw Error(o(327));if(Os(),e===Tc&&0!=(e.expiredLanes&Oc)){var t=Oc,r=Cs(e,t);0!=(jc&Hc)&&(r=Cs(e,t=Bt(e,t)))}else r=Cs(e,t=Bt(e,0));if(0!==e.tag&&2===r&&(Ic|=64,e.hydrate&&(e.hydrate=!1,Gn(e.containerInfo)),0!==(t=Ft(e))&&(r=Cs(e,t))),1===r)throw r=Fc,Es(e,0),Ms(e,t),hs(e,Va()),r;return e.finishedWork=e.current.alternate,e.finishedLanes=t,Is(e),hs(e,Va()),null}function vs(e,t){var r=Ic;Ic|=1;try{return e(t)}finally{0===(Ic=r)&&(Gc(),qa())}}function ks(e,t){var r=Ic;Ic&=-2,Ic|=8;try{return e(t)}finally{0===(Ic=r)&&(Gc(),qa())}}function Ss(e,t){ua(Dc,zc),zc|=t,jc|=t}function ws(){zc=Dc.current,la(Dc)}function Es(e,t){e.finishedWork=null,e.finishedLanes=0;var r=e.timeoutHandle;if(-1!==r&&(e.timeoutHandle=-1,Wn(r)),null!==Rc)for(r=Rc.return;null!==r;){var n=r;switch(n.tag){case 1:null!=(n=n.type.childContextTypes)&&Ma();break;case 3:Ri(),la(fa),la(pa),Yi();break;case 5:zi(n);break;case 4:Ri();break;case 13:case 19:la(Di);break;case 10:ni(n);break;case 23:case 24:ws()}r=r.return}Tc=e,Rc=Ws(e.current,null),Oc=zc=jc=t,Bc=0,Fc=null,Vc=Hc=Uc=0}function _s(e,t){for(;;){var r=Rc;try{if(ri(),Ki.current=Io,ro){for(var n=Ji.memoizedState;null!==n;){var a=n.queue;null!==a&&(a.pending=null),n=n.next}ro=!1}if(Xi=0,to=eo=Ji=null,no=!1,Pc.current=null,null===r||null===r.return){Bc=1,Fc=t,Rc=null;break}e:{var i=e,o=r.return,c=r,s=t;if(t=Oc,c.flags|=2048,c.firstEffect=c.lastEffect=null,null!==s&&"object"==typeof s&&"function"==typeof s.then){var d=s;if(0==(2&c.mode)){var l=c.alternate;l?(c.updateQueue=l.updateQueue,c.memoizedState=l.memoizedState,c.lanes=l.lanes):(c.updateQueue=null,c.memoizedState=null)}var u=0!=(1&Di.current),g=o;do{var p;if(p=13===g.tag){var f=g.memoizedState;if(null!==f)p=null!==f.dehydrated;else{var m=g.memoizedProps;p=void 0!==m.fallback&&(!0!==m.unstable_avoidThisFallback||!u)}}if(p){var h=g.updateQueue;if(null===h){var b=new Set;b.add(d),g.updateQueue=b}else h.add(d);if(0==(2&g.mode)){if(g.flags|=64,c.flags|=16384,c.flags&=-2981,1===c.tag)if(null===c.alternate)c.tag=17;else{var M=li(-1,1);M.tag=2,ui(c,M)}c.lanes|=1;break e}s=void 0,c=t;var y=i.pingCache;if(null===y?(y=i.pingCache=new uc,s=new Set,y.set(d,s)):void 0===(s=y.get(d))&&(s=new Set,y.set(d,s)),!s.has(c)){s.add(c);var v=Us.bind(null,i,d,c);d.then(v,v)}g.flags|=4096,g.lanes=t;break e}g=g.return}while(null!==g);s=Error((G(c.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==Bc&&(Bc=2),s=dc(s,c),g=o;do{switch(g.tag){case 3:i=s,g.flags|=4096,t&=-t,g.lanes|=t,gi(g,gc(0,i,t));break e;case 1:i=s;var k=g.type,S=g.stateNode;if(0==(64&g.flags)&&("function"==typeof k.getDerivedStateFromError||null!==S&&"function"==typeof S.componentDidCatch&&(null===Xc||!Xc.has(S)))){g.flags|=4096,t&=-t,g.lanes|=t,gi(g,pc(g,i,t));break e}}g=g.return}while(null!==g)}Ps(r)}catch(w){t=w,Rc===r&&null!==r&&(Rc=r=r.return);continue}break}}function xs(){var e=Nc.current;return Nc.current=Io,null===e?Io:e}function Cs(e,t){var r=Ic;Ic|=16;var n=xs();for(Tc===e&&Oc===t||Es(e,t);;)try{As();break}catch(a){_s(e,a)}if(ri(),Ic=r,Nc.current=n,null!==Rc)throw Error(o(261));return Tc=null,Oc=0,Bc}function As(){for(;null!==Rc;)Ns(Rc)}function Ls(){for(;null!==Rc&&!Aa();)Ns(Rc)}function Ns(e){var t=qc(e.alternate,e,zc);e.memoizedProps=e.pendingProps,null===t?Ps(e):Rc=t,Pc.current=null}function Ps(e){var t=e;do{var r=t.alternate;if(e=t.return,0==(2048&t.flags)){if(null!==(r=cc(r,t,zc)))return void(Rc=r);if(24!==(r=t).tag&&23!==r.tag||null===r.memoizedState||0!=(1073741824&zc)||0==(4&r.mode)){for(var n=0,a=r.child;null!==a;)n|=a.lanes|a.childLanes,a=a.sibling;r.childLanes=n}null!==e&&0==(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}else{if(null!==(r=sc(t)))return r.flags&=2047,void(Rc=r);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}if(null!==(t=t.sibling))return void(Rc=t);Rc=t=e}while(null!==t);0===Bc&&(Bc=5)}function Is(e){var t=$a();return Wa(99,Ts.bind(null,e,t)),null}function Ts(e,t){do{Os()}while(null!==es);if(0!=(48&Ic))throw Error(o(327));var r=e.finishedWork;if(null===r)return null;if(e.finishedWork=null,e.finishedLanes=0,r===e.current)throw Error(o(177));e.callbackNode=null;var n=r.lanes|r.childLanes,a=n,i=e.pendingLanes&~a;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=a,e.mutableReadLanes&=a,e.entangledLanes&=a,a=e.entanglements;for(var c=e.eventTimes,s=e.expirationTimes;0<i;){var d=31-$t(i),l=1<<d;a[d]=0,c[d]=-1,s[d]=-1,i&=~l}if(null!==as&&0==(24&n)&&as.has(e)&&as.delete(e),e===Tc&&(Rc=Tc=null,Oc=0),1<r.flags?null!==r.lastEffect?(r.lastEffect.nextEffect=r,n=r.firstEffect):n=r:n=r.firstEffect,null!==n){if(a=Ic,Ic|=32,Pc.current=null,Un=Yt,bn(c=hn())){if("selectionStart"in c)s={start:c.selectionStart,end:c.selectionEnd};else e:if(s=(s=c.ownerDocument)&&s.defaultView||window,(l=s.getSelection&&s.getSelection())&&0!==l.rangeCount){s=l.anchorNode,i=l.anchorOffset,d=l.focusNode,l=l.focusOffset;try{s.nodeType,d.nodeType}catch(x){s=null;break e}var u=0,g=-1,p=-1,f=0,m=0,h=c,b=null;t:for(;;){for(var M;h!==s||0!==i&&3!==h.nodeType||(g=u+i),h!==d||0!==l&&3!==h.nodeType||(p=u+l),3===h.nodeType&&(u+=h.nodeValue.length),null!==(M=h.firstChild);)b=h,h=M;for(;;){if(h===c)break t;if(b===s&&++f===i&&(g=u),b===d&&++m===l&&(p=u),null!==(M=h.nextSibling))break;b=(h=b).parentNode}h=M}s=-1===g||-1===p?null:{start:g,end:p}}else s=null;s=s||{start:0,end:0}}else s=null;Hn={focusedElem:c,selectionRange:s},Yt=!1,ls=null,us=!1,Yc=n;do{try{Rs()}catch(x){if(null===Yc)throw Error(o(330));js(Yc,x),Yc=Yc.nextEffect}}while(null!==Yc);ls=null,Yc=n;do{try{for(c=e;null!==Yc;){var y=Yc.flags;if(16&y&&Me(Yc.stateNode,""),128&y){var v=Yc.alternate;if(null!==v){var k=v.ref;null!==k&&("function"==typeof k?k(null):k.current=null)}}switch(1038&y){case 2:Sc(Yc),Yc.flags&=-3;break;case 6:Sc(Yc),Yc.flags&=-3,xc(Yc.alternate,Yc);break;case 1024:Yc.flags&=-1025;break;case 1028:Yc.flags&=-1025,xc(Yc.alternate,Yc);break;case 4:xc(Yc.alternate,Yc);break;case 8:_c(c,s=Yc);var S=s.alternate;vc(s),null!==S&&vc(S)}Yc=Yc.nextEffect}}catch(x){if(null===Yc)throw Error(o(330));js(Yc,x),Yc=Yc.nextEffect}}while(null!==Yc);if(k=Hn,v=hn(),y=k.focusedElem,c=k.selectionRange,v!==y&&y&&y.ownerDocument&&mn(y.ownerDocument.documentElement,y)){null!==c&&bn(y)&&(v=c.start,void 0===(k=c.end)&&(k=v),"selectionStart"in y?(y.selectionStart=v,y.selectionEnd=Math.min(k,y.value.length)):(k=(v=y.ownerDocument||document)&&v.defaultView||window).getSelection&&(k=k.getSelection(),s=y.textContent.length,S=Math.min(c.start,s),c=void 0===c.end?S:Math.min(c.end,s),!k.extend&&S>c&&(s=c,c=S,S=s),s=fn(y,S),i=fn(y,c),s&&i&&(1!==k.rangeCount||k.anchorNode!==s.node||k.anchorOffset!==s.offset||k.focusNode!==i.node||k.focusOffset!==i.offset)&&((v=v.createRange()).setStart(s.node,s.offset),k.removeAllRanges(),S>c?(k.addRange(v),k.extend(i.node,i.offset)):(v.setEnd(i.node,i.offset),k.addRange(v))))),v=[];for(k=y;k=k.parentNode;)1===k.nodeType&&v.push({element:k,left:k.scrollLeft,top:k.scrollTop});for("function"==typeof y.focus&&y.focus(),y=0;y<v.length;y++)(k=v[y]).element.scrollLeft=k.left,k.element.scrollTop=k.top}Yt=!!Un,Hn=Un=null,e.current=r,Yc=n;do{try{for(y=e;null!==Yc;){var w=Yc.flags;if(36&w&&bc(y,Yc.alternate,Yc),128&w){v=void 0;var E=Yc.ref;if(null!==E){var _=Yc.stateNode;Yc.tag,v=_,"function"==typeof E?E(v):E.current=v}}Yc=Yc.nextEffect}}catch(x){if(null===Yc)throw Error(o(330));js(Yc,x),Yc=Yc.nextEffect}}while(null!==Yc);Yc=null,Ba(),Ic=a}else e.current=r;if(Jc)Jc=!1,es=e,ts=t;else for(Yc=n;null!==Yc;)t=Yc.nextEffect,Yc.nextEffect=null,8&Yc.flags&&((w=Yc).sibling=null,w.stateNode=null),Yc=t;if(0===(n=e.pendingLanes)&&(Xc=null),1===n?e===os?is++:(is=0,os=e):is=0,r=r.stateNode,Ea&&"function"==typeof Ea.onCommitFiberRoot)try{Ea.onCommitFiberRoot(wa,r,void 0,64==(64&r.current.flags))}catch(x){}if(hs(e,Va()),Kc)throw Kc=!1,e=Qc,Qc=null,e;return 0!=(8&Ic)||qa(),null}function Rs(){for(;null!==Yc;){var e=Yc.alternate;us||null===ls||(0!=(8&Yc.flags)?et(Yc,ls)&&(us=!0):13===Yc.tag&&Ac(e,Yc)&&et(Yc,ls)&&(us=!0));var t=Yc.flags;0!=(256&t)&&hc(e,Yc),0==(512&t)||Jc||(Jc=!0,Ga(97,(function(){return Os(),null}))),Yc=Yc.nextEffect}}function Os(){if(90!==ts){var e=97<ts?97:ts;return ts=90,Wa(e,Bs)}return!1}function zs(e,t){rs.push(t,e),Jc||(Jc=!0,Ga(97,(function(){return Os(),null})))}function Ds(e,t){ns.push(t,e),Jc||(Jc=!0,Ga(97,(function(){return Os(),null})))}function Bs(){if(null===es)return!1;var e=es;if(es=null,0!=(48&Ic))throw Error(o(331));var t=Ic;Ic|=32;var r=ns;ns=[];for(var n=0;n<r.length;n+=2){var a=r[n],i=r[n+1],c=a.destroy;if(a.destroy=void 0,"function"==typeof c)try{c()}catch(d){if(null===i)throw Error(o(330));js(i,d)}}for(r=rs,rs=[],n=0;n<r.length;n+=2){a=r[n],i=r[n+1];try{var s=a.create;a.destroy=s()}catch(d){if(null===i)throw Error(o(330));js(i,d)}}for(s=e.current.firstEffect;null!==s;)e=s.nextEffect,s.nextEffect=null,8&s.flags&&(s.sibling=null,s.stateNode=null),s=e;return Ic=t,qa(),!0}function Fs(e,t,r){ui(e,t=gc(0,t=dc(r,t),1)),t=gs(),null!==(e=ms(e,1))&&(Vt(e,1,t),hs(e,t))}function js(e,t){if(3===e.tag)Fs(e,e,t);else for(var r=e.return;null!==r;){if(3===r.tag){Fs(r,e,t);break}if(1===r.tag){var n=r.stateNode;if("function"==typeof r.type.getDerivedStateFromError||"function"==typeof n.componentDidCatch&&(null===Xc||!Xc.has(n))){var a=pc(r,e=dc(t,e),1);if(ui(r,a),a=gs(),null!==(r=ms(r,1)))Vt(r,1,a),hs(r,a);else if("function"==typeof n.componentDidCatch&&(null===Xc||!Xc.has(n)))try{n.componentDidCatch(t,e)}catch(i){}break}}r=r.return}}function Us(e,t,r){var n=e.pingCache;null!==n&&n.delete(t),t=gs(),e.pingedLanes|=e.suspendedLanes&r,Tc===e&&(Oc&r)===r&&(4===Bc||3===Bc&&(62914560&Oc)===Oc&&500>Va()-Zc?Es(e,0):Vc|=r),hs(e,t)}function Hs(e,t){var r=e.stateNode;null!==r&&r.delete(t),0===(t=0)&&(0==(2&(t=e.mode))?t=1:0==(4&t)?t=99===$a()?1:2:(0===ss&&(ss=jc),0===(t=Ut(62914560&~ss))&&(t=4194304))),r=gs(),null!==(e=ms(e,t))&&(Vt(e,t,r),hs(e,r))}function Vs(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function $s(e,t,r,n){return new Vs(e,t,r,n)}function Zs(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Ws(e,t){var r=e.alternate;return null===r?((r=$s(e.tag,t,e.key,e.mode)).elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null),r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function Gs(e,t,r,n,a,i){var c=2;if(n=e,"function"==typeof e)Zs(e)&&(c=1);else if("string"==typeof e)c=5;else e:switch(e){case E:return qs(r.children,a,i,t);case z:c=8,a|=16;break;case _:c=8,a|=1;break;case x:return(e=$s(12,r,t,8|a)).elementType=x,e.type=x,e.lanes=i,e;case N:return(e=$s(13,r,t,a)).type=N,e.elementType=N,e.lanes=i,e;case P:return(e=$s(19,r,t,a)).elementType=P,e.lanes=i,e;case D:return Ys(r,a,i,t);case B:return(e=$s(24,r,t,a)).elementType=B,e.lanes=i,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case C:c=10;break e;case A:c=9;break e;case L:c=11;break e;case I:c=14;break e;case T:c=16,n=null;break e;case R:c=22;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=$s(c,r,t,a)).elementType=e,t.type=n,t.lanes=i,t}function qs(e,t,r,n){return(e=$s(7,e,n,t)).lanes=r,e}function Ys(e,t,r,n){return(e=$s(23,e,n,t)).elementType=D,e.lanes=r,e}function Ks(e,t,r){return(e=$s(6,e,null,t)).lanes=r,e}function Qs(e,t,r){return(t=$s(4,null!==e.children?e.children:[],e.key,t)).lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Xs(e,t,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=r,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=Ht(0),this.expirationTimes=Ht(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ht(0),this.mutableSourceEagerHydrationData=null}function Js(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:w,key:null==n?null:""+n,children:e,containerInfo:t,implementation:r}}function ed(e,t,r,n){var a=t.current,i=gs(),c=ps(a);e:if(r){t:{if(Ke(r=r._reactInternals)!==r||1!==r.tag)throw Error(o(170));var s=r;do{switch(s.tag){case 3:s=s.stateNode.context;break t;case 1:if(ba(s.type)){s=s.stateNode.__reactInternalMemoizedMergedChildContext;break t}}s=s.return}while(null!==s);throw Error(o(171))}if(1===r.tag){var d=r.type;if(ba(d)){r=va(r,d,s);break e}}r=s}else r=ga;return null===t.context?t.context=r:t.pendingContext=r,(t=li(i,c)).payload={element:e},null!==(n=void 0===n?null:n)&&(t.callback=n),ui(a,t),fs(a,c,i),c}function td(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function rd(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var r=e.retryLane;e.retryLane=0!==r&&r<t?r:t}}function nd(e,t){rd(e,t),(e=e.alternate)&&rd(e,t)}function ad(e,t,r){var n=null!=r&&null!=r.hydrationOptions&&r.hydrationOptions.mutableSources||null;if(r=new Xs(e,t,null!=r&&!0===r.hydrate),t=$s(3,null,null,2===t?7:1===t?3:0),r.current=t,t.stateNode=r,si(t),e[ea]=r.current,In(8===e.nodeType?e.parentNode:e),n)for(e=0;e<n.length;e++){var a=(t=n[e])._getVersion;a=a(t._source),null==r.mutableSourceEagerHydrationData?r.mutableSourceEagerHydrationData=[t,a]:r.mutableSourceEagerHydrationData.push(t,a)}this._internalRoot=r}function id(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function od(e,t,r,n,a){var i=r._reactRootContainer;if(i){var o=i._internalRoot;if("function"==typeof a){var c=a;a=function(){var e=td(o);c.call(e)}}ed(t,o,e,a)}else{if(i=r._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var r;r=e.lastChild;)e.removeChild(r);return new ad(e,0,t?{hydrate:!0}:void 0)}(r,n),o=i._internalRoot,"function"==typeof a){var s=a;a=function(){var e=td(o);s.call(e)}}ks((function(){ed(t,o,e,a)}))}return td(o)}function cd(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!id(t))throw Error(o(200));return Js(e,t,null,r)}qc=function(e,t,r){var n=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||fa.current)Do=!0;else{if(0==(r&n)){switch(Do=!1,t.tag){case 3:Go(t),Gi();break;case 5:Oi(t);break;case 1:ba(t.type)&&ka(t);break;case 4:Ti(t,t.stateNode.containerInfo);break;case 10:n=t.memoizedProps.value;var a=t.type._context;ua(Xa,a._currentValue),a._currentValue=n;break;case 13:if(null!==t.memoizedState)return 0!=(r&t.child.childLanes)?Xo(e,t,r):(ua(Di,1&Di.current),null!==(t=ic(e,t,r))?t.sibling:null);ua(Di,1&Di.current);break;case 19:if(n=0!=(r&t.childLanes),0!=(64&e.flags)){if(n)return ac(e,t,r);t.flags|=64}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),ua(Di,Di.current),n)break;return null;case 23:case 24:return t.lanes=0,Ho(e,t,r)}return ic(e,t,r)}Do=0!=(16384&e.flags)}else Do=!1;switch(t.lanes=0,t.tag){case 2:if(n=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=ha(t,pa.current),ii(t,r),a=oo(null,t,n,e,a,r),t.flags|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,ba(n)){var i=!0;ka(t)}else i=!1;t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,si(t);var c=n.getDerivedStateFromProps;"function"==typeof c&&hi(t,n,c,e),a.updater=bi,t.stateNode=a,a._reactInternals=t,ki(t,n,e,r),t=Wo(null,t,n,!0,i,r)}else t.tag=0,Bo(null,t,a,r),t=t.child;return t;case 16:a=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=(i=a._init)(a._payload),t.type=a,i=t.tag=function(e){if("function"==typeof e)return Zs(e)?1:0;if(null!=e){if((e=e.$$typeof)===L)return 11;if(e===I)return 14}return 2}(a),e=Qa(a,e),i){case 0:t=$o(null,t,a,e,r);break e;case 1:t=Zo(null,t,a,e,r);break e;case 11:t=Fo(null,t,a,e,r);break e;case 14:t=jo(null,t,a,Qa(a.type,e),n,r);break e}throw Error(o(306,a,""))}return t;case 0:return n=t.type,a=t.pendingProps,$o(e,t,n,a=t.elementType===n?a:Qa(n,a),r);case 1:return n=t.type,a=t.pendingProps,Zo(e,t,n,a=t.elementType===n?a:Qa(n,a),r);case 3:if(Go(t),n=t.updateQueue,null===e||null===n)throw Error(o(282));if(n=t.pendingProps,a=null!==(a=t.memoizedState)?a.element:null,di(e,t),pi(t,n,null,r),(n=t.memoizedState.element)===a)Gi(),t=ic(e,t,r);else{if((i=(a=t.stateNode).hydrate)&&(ji=qn(t.stateNode.containerInfo.firstChild),Fi=t,i=Ui=!0),i){if(null!=(e=a.mutableSourceEagerHydrationData))for(a=0;a<e.length;a+=2)(i=e[a])._workInProgressVersionPrimary=e[a+1],qi.push(i);for(r=Ci(t,null,n,r),t.child=r;r;)r.flags=-3&r.flags|1024,r=r.sibling}else Bo(e,t,n,r),Gi();t=t.child}return t;case 5:return Oi(t),null===e&&$i(t),n=t.type,a=t.pendingProps,i=null!==e?e.memoizedProps:null,c=a.children,$n(n,a)?c=null:null!==i&&$n(n,i)&&(t.flags|=16),Vo(e,t),Bo(e,t,c,r),t.child;case 6:return null===e&&$i(t),null;case 13:return Xo(e,t,r);case 4:return Ti(t,t.stateNode.containerInfo),n=t.pendingProps,null===e?t.child=xi(t,null,n,r):Bo(e,t,n,r),t.child;case 11:return n=t.type,a=t.pendingProps,Fo(e,t,n,a=t.elementType===n?a:Qa(n,a),r);case 7:return Bo(e,t,t.pendingProps,r),t.child;case 8:case 12:return Bo(e,t,t.pendingProps.children,r),t.child;case 10:e:{n=t.type._context,a=t.pendingProps,c=t.memoizedProps,i=a.value;var s=t.type._context;if(ua(Xa,s._currentValue),s._currentValue=i,null!==c)if(s=c.value,0===(i=ln(s,i)?0:0|("function"==typeof n._calculateChangedBits?n._calculateChangedBits(s,i):1073741823))){if(c.children===a.children&&!fa.current){t=ic(e,t,r);break e}}else for(null!==(s=t.child)&&(s.return=t);null!==s;){var d=s.dependencies;if(null!==d){c=s.child;for(var l=d.firstContext;null!==l;){if(l.context===n&&0!=(l.observedBits&i)){1===s.tag&&((l=li(-1,r&-r)).tag=2,ui(s,l)),s.lanes|=r,null!==(l=s.alternate)&&(l.lanes|=r),ai(s.return,r),d.lanes|=r;break}l=l.next}}else c=10===s.tag&&s.type===t.type?null:s.child;if(null!==c)c.return=s;else for(c=s;null!==c;){if(c===t){c=null;break}if(null!==(s=c.sibling)){s.return=c.return,c=s;break}c=c.return}s=c}Bo(e,t,a.children,r),t=t.child}return t;case 9:return a=t.type,n=(i=t.pendingProps).children,ii(t,r),n=n(a=oi(a,i.unstable_observedBits)),t.flags|=1,Bo(e,t,n,r),t.child;case 14:return i=Qa(a=t.type,t.pendingProps),jo(e,t,a,i=Qa(a.type,i),n,r);case 15:return Uo(e,t,t.type,t.pendingProps,n,r);case 17:return n=t.type,a=t.pendingProps,a=t.elementType===n?a:Qa(n,a),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,ba(n)?(e=!0,ka(t)):e=!1,ii(t,r),yi(t,n,a),ki(t,n,a,r),Wo(null,t,n,!0,e,r);case 19:return ac(e,t,r);case 23:case 24:return Ho(e,t,r)}throw Error(o(156,t.tag))},ad.prototype.render=function(e){ed(e,this._internalRoot,null,null)},ad.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;ed(null,e,null,(function(){t[ea]=null}))},tt=function(e){13===e.tag&&(fs(e,4,gs()),nd(e,4))},rt=function(e){13===e.tag&&(fs(e,67108864,gs()),nd(e,67108864))},nt=function(e){if(13===e.tag){var t=gs(),r=ps(e);fs(e,r,t),nd(e,r)}},at=function(e,t){return t()},Ce=function(e,t,r){switch(t){case"input":if(re(e,r),t=r.name,"radio"===r.type&&null!=t){for(r=e;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<r.length;t++){var n=r[t];if(n!==e&&n.form===e.form){var a=ia(n);if(!a)throw Error(o(90));Q(n),re(n,a)}}}break;case"textarea":de(e,r);break;case"select":null!=(t=r.value)&&oe(e,!!r.multiple,t,!1)}},Te=vs,Re=function(e,t,r,n,a){var i=Ic;Ic|=4;try{return Wa(98,e.bind(null,t,r,n,a))}finally{0===(Ic=i)&&(Gc(),qa())}},Oe=function(){0==(49&Ic)&&(function(){if(null!==as){var e=as;as=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,hs(e,Va())}))}qa()}(),Os())},ze=function(e,t){var r=Ic;Ic|=2;try{return e(t)}finally{0===(Ic=r)&&(Gc(),qa())}};var sd={Events:[na,aa,ia,Pe,Ie,Os,{current:!1}]},dd={findFiberByHostInstance:ra,bundleType:0,version:"17.0.2",rendererPackageName:"react-dom"},ld={bundleType:dd.bundleType,version:dd.version,rendererPackageName:dd.rendererPackageName,rendererConfig:dd.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:k.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Je(e))?null:e.stateNode},findFiberByHostInstance:dd.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ud=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ud.isDisabled&&ud.supportsFiber)try{wa=ud.inject(ld),Ea=ud}catch(he){}}t.hydrate=function(e,t,r){if(!id(t))throw Error(o(200));return od(null,e,t,!0,r)}},73935:(e,t,r)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=r(64448)},69590:e=>{var t="undefined"!=typeof Element,r="function"==typeof Map,n="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function i(e,o){if(e===o)return!0;if(e&&o&&"object"==typeof e&&"object"==typeof o){if(e.constructor!==o.constructor)return!1;var c,s,d,l;if(Array.isArray(e)){if((c=e.length)!=o.length)return!1;for(s=c;0!=s--;)if(!i(e[s],o[s]))return!1;return!0}if(r&&e instanceof Map&&o instanceof Map){if(e.size!==o.size)return!1;for(l=e.entries();!(s=l.next()).done;)if(!o.has(s.value[0]))return!1;for(l=e.entries();!(s=l.next()).done;)if(!i(s.value[1],o.get(s.value[0])))return!1;return!0}if(n&&e instanceof Set&&o instanceof Set){if(e.size!==o.size)return!1;for(l=e.entries();!(s=l.next()).done;)if(!o.has(s.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(o)){if((c=e.length)!=o.length)return!1;for(s=c;0!=s--;)if(e[s]!==o[s])return!1;return!0}if(e.constructor===RegExp)return e.source===o.source&&e.flags===o.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===o.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===o.toString();if((c=(d=Object.keys(e)).length)!==Object.keys(o).length)return!1;for(s=c;0!=s--;)if(!Object.prototype.hasOwnProperty.call(o,d[s]))return!1;if(t&&e instanceof Element)return!1;for(s=c;0!=s--;)if(("_owner"!==d[s]&&"__v"!==d[s]&&"__o"!==d[s]||!e.$$typeof)&&!i(e[d[s]],o[d[s]]))return!1;return!0}return e!=e&&o!=o}e.exports=function(e,t){try{return i(e,t)}catch(r){if((r.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw r}}},70405:(e,t,r)=>{"use strict";r.d(t,{B6:()=>Z,ql:()=>J});var n=r(67294),a=r(45697),i=r.n(a),o=r(69590),c=r.n(o),s=r(41143),d=r.n(s),l=r(96774),u=r.n(l);function g(){return g=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},g.apply(this,arguments)}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,f(e,t)}function f(e,t){return f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},f(e,t)}function m(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)t.indexOf(r=i[n])>=0||(a[r]=e[r]);return a}var h={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},b={rel:["amphtml","canonical","alternate"]},M={type:["application/ld+json"]},y={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},v=Object.keys(h).map((function(e){return h[e]})),k={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},S=Object.keys(k).reduce((function(e,t){return e[k[t]]=t,e}),{}),w=function(e,t){for(var r=e.length-1;r>=0;r-=1){var n=e[r];if(Object.prototype.hasOwnProperty.call(n,t))return n[t]}return null},E=function(e){var t=w(e,h.TITLE),r=w(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),r&&t)return r.replace(/%s/g,(function(){return t}));var n=w(e,"defaultTitle");return t||n||void 0},_=function(e){return w(e,"onChangeClientState")||function(){}},x=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return g({},e,t)}),{})},C=function(e,t){return t.filter((function(e){return void 0!==e[h.BASE]})).map((function(e){return e[h.BASE]})).reverse().reduce((function(t,r){if(!t.length)for(var n=Object.keys(r),a=0;a<n.length;a+=1){var i=n[a].toLowerCase();if(-1!==e.indexOf(i)&&r[i])return t.concat(r)}return t}),[])},A=function(e,t,r){var n={};return r.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,r){var a={};r.filter((function(e){for(var r,i=Object.keys(e),o=0;o<i.length;o+=1){var c=i[o],s=c.toLowerCase();-1===t.indexOf(s)||"rel"===r&&"canonical"===e[r].toLowerCase()||"rel"===s&&"stylesheet"===e[s].toLowerCase()||(r=s),-1===t.indexOf(c)||"innerHTML"!==c&&"cssText"!==c&&"itemprop"!==c||(r=c)}if(!r||!e[r])return!1;var d=e[r].toLowerCase();return n[r]||(n[r]={}),a[r]||(a[r]={}),!n[r][d]&&(a[r][d]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var i=Object.keys(a),o=0;o<i.length;o+=1){var c=i[o],s=g({},n[c],a[c]);n[c]=s}return e}),[]).reverse()},L=function(e,t){if(Array.isArray(e)&&e.length)for(var r=0;r<e.length;r+=1)if(e[r][t])return!0;return!1},N=function(e){return Array.isArray(e)?e.join(""):e},P=function(e,t){return Array.isArray(e)?e.reduce((function(e,r){return function(e,t){for(var r=Object.keys(e),n=0;n<r.length;n+=1)if(t[r[n]]&&t[r[n]].includes(e[r[n]]))return!0;return!1}(r,t)?e.priority.push(r):e.default.push(r),e}),{priority:[],default:[]}):{default:e}},I=function(e,t){var r;return g({},e,((r={})[t]=void 0,r))},T=[h.NOSCRIPT,h.SCRIPT,h.STYLE],R=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},O=function(e){return Object.keys(e).reduce((function(t,r){var n=void 0!==e[r]?r+'="'+e[r]+'"':""+r;return t?t+" "+n:n}),"")},z=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,r){return t[k[r]||r]=e[r],t}),t)},D=function(e,t){return t.map((function(t,r){var a,i=((a={key:r})["data-rh"]=!0,a);return Object.keys(t).forEach((function(e){var r=k[e]||e;"innerHTML"===r||"cssText"===r?i.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:i[r]=t[e]})),n.createElement(e,i)}))},B=function(e,t,r){switch(e){case h.TITLE:return{toComponent:function(){return r=t.titleAttributes,(a={key:e=t.title})["data-rh"]=!0,i=z(r,a),[n.createElement(h.TITLE,i,e)];var e,r,a,i},toString:function(){return function(e,t,r,n){var a=O(r),i=N(t);return a?"<"+e+' data-rh="true" '+a+">"+R(i,n)+"</"+e+">":"<"+e+' data-rh="true">'+R(i,n)+"</"+e+">"}(e,t.title,t.titleAttributes,r)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return z(t)},toString:function(){return O(t)}};default:return{toComponent:function(){return D(e,t)},toString:function(){return function(e,t,r){return t.reduce((function(t,n){var a=Object.keys(n).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var a=void 0===n[t]?t:t+'="'+R(n[t],r)+'"';return e?e+" "+a:a}),""),i=n.innerHTML||n.cssText||"",o=-1===T.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(o?"/>":">"+i+"</"+e+">")}),"")}(e,t,r)}}}},F=function(e){var t=e.baseTag,r=e.bodyAttributes,n=e.encode,a=e.htmlAttributes,i=e.noscriptTags,o=e.styleTags,c=e.title,s=void 0===c?"":c,d=e.titleAttributes,l=e.linkTags,u=e.metaTags,g=e.scriptTags,p={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var f=function(e){var t=e.linkTags,r=e.scriptTags,n=e.encode,a=P(e.metaTags,y),i=P(t,b),o=P(r,M);return{priorityMethods:{toComponent:function(){return[].concat(D(h.META,a.priority),D(h.LINK,i.priority),D(h.SCRIPT,o.priority))},toString:function(){return B(h.META,a.priority,n)+" "+B(h.LINK,i.priority,n)+" "+B(h.SCRIPT,o.priority,n)}},metaTags:a.default,linkTags:i.default,scriptTags:o.default}}(e);p=f.priorityMethods,l=f.linkTags,u=f.metaTags,g=f.scriptTags}return{priority:p,base:B(h.BASE,t,n),bodyAttributes:B("bodyAttributes",r,n),htmlAttributes:B("htmlAttributes",a,n),link:B(h.LINK,l,n),meta:B(h.META,u,n),noscript:B(h.NOSCRIPT,i,n),script:B(h.SCRIPT,g,n),style:B(h.STYLE,o,n),title:B(h.TITLE,{title:s,titleAttributes:d},n)}},j=[],U=function(e,t){var r=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){r.context.helmet=e},helmetInstances:{get:function(){return r.canUseDOM?j:r.instances},add:function(e){(r.canUseDOM?j:r.instances).push(e)},remove:function(e){var t=(r.canUseDOM?j:r.instances).indexOf(e);(r.canUseDOM?j:r.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=F({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},H=n.createContext({}),V=i().shape({setHelmet:i().func,helmetInstances:i().shape({get:i().func,add:i().func,remove:i().func})}),$="undefined"!=typeof document,Z=function(e){function t(r){var n;return(n=e.call(this,r)||this).helmetData=new U(n.props.context,t.canUseDOM),n}return p(t,e),t.prototype.render=function(){return n.createElement(H.Provider,{value:this.helmetData.value},this.props.children)},t}(n.Component);Z.canUseDOM=$,Z.propTypes={context:i().shape({helmet:i().shape()}),children:i().node.isRequired},Z.defaultProps={context:{}},Z.displayName="HelmetProvider";var W=function(e,t){var r,n=document.head||document.querySelector(h.HEAD),a=n.querySelectorAll(e+"[data-rh]"),i=[].slice.call(a),o=[];return t&&t.length&&t.forEach((function(t){var n=document.createElement(e);for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&("innerHTML"===a?n.innerHTML=t.innerHTML:"cssText"===a?n.styleSheet?n.styleSheet.cssText=t.cssText:n.appendChild(document.createTextNode(t.cssText)):n.setAttribute(a,void 0===t[a]?"":t[a]));n.setAttribute("data-rh","true"),i.some((function(e,t){return r=t,n.isEqualNode(e)}))?i.splice(r,1):o.push(n)})),i.forEach((function(e){return e.parentNode.removeChild(e)})),o.forEach((function(e){return n.appendChild(e)})),{oldTags:i,newTags:o}},G=function(e,t){var r=document.getElementsByTagName(e)[0];if(r){for(var n=r.getAttribute("data-rh"),a=n?n.split(","):[],i=[].concat(a),o=Object.keys(t),c=0;c<o.length;c+=1){var s=o[c],d=t[s]||"";r.getAttribute(s)!==d&&r.setAttribute(s,d),-1===a.indexOf(s)&&a.push(s);var l=i.indexOf(s);-1!==l&&i.splice(l,1)}for(var u=i.length-1;u>=0;u-=1)r.removeAttribute(i[u]);a.length===i.length?r.removeAttribute("data-rh"):r.getAttribute("data-rh")!==o.join(",")&&r.setAttribute("data-rh",o.join(","))}},q=function(e,t){var r=e.baseTag,n=e.htmlAttributes,a=e.linkTags,i=e.metaTags,o=e.noscriptTags,c=e.onChangeClientState,s=e.scriptTags,d=e.styleTags,l=e.title,u=e.titleAttributes;G(h.BODY,e.bodyAttributes),G(h.HTML,n),function(e,t){void 0!==e&&document.title!==e&&(document.title=N(e)),G(h.TITLE,t)}(l,u);var g={baseTag:W(h.BASE,r),linkTags:W(h.LINK,a),metaTags:W(h.META,i),noscriptTags:W(h.NOSCRIPT,o),scriptTags:W(h.SCRIPT,s),styleTags:W(h.STYLE,d)},p={},f={};Object.keys(g).forEach((function(e){var t=g[e],r=t.newTags,n=t.oldTags;r.length&&(p[e]=r),n.length&&(f[e]=g[e].oldTags)})),t&&t(),c(e,p,f)},Y=null,K=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];return(t=e.call.apply(e,[this].concat(n))||this).rendered=!1,t}p(t,e);var r=t.prototype;return r.shouldComponentUpdate=function(e){return!u()(e,this.props)},r.componentDidUpdate=function(){this.emitChange()},r.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},r.emitChange=function(){var e,t,r=this.props.context,n=r.setHelmet,a=null,i=(e=r.helmetInstances.get().map((function(e){var t=g({},e.props);return delete t.context,t})),{baseTag:C(["href"],e),bodyAttributes:x("bodyAttributes",e),defer:w(e,"defer"),encode:w(e,"encodeSpecialCharacters"),htmlAttributes:x("htmlAttributes",e),linkTags:A(h.LINK,["rel","href"],e),metaTags:A(h.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:A(h.NOSCRIPT,["innerHTML"],e),onChangeClientState:_(e),scriptTags:A(h.SCRIPT,["src","innerHTML"],e),styleTags:A(h.STYLE,["cssText"],e),title:E(e),titleAttributes:x("titleAttributes",e),prioritizeSeoTags:L(e,"prioritizeSeoTags")});Z.canUseDOM?(t=i,Y&&cancelAnimationFrame(Y),t.defer?Y=requestAnimationFrame((function(){q(t,(function(){Y=null}))})):(q(t),Y=null)):F&&(a=F(i)),n(a)},r.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},r.render=function(){return this.init(),null},t}(n.Component);K.propTypes={context:V.isRequired},K.displayName="HelmetDispatcher";var Q=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}p(t,e);var r=t.prototype;return r.shouldComponentUpdate=function(e){return!c()(I(this.props,"helmetData"),I(e,"helmetData"))},r.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case h.SCRIPT:case h.NOSCRIPT:return{innerHTML:t};case h.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},r.flattenArrayTypeChildren=function(e){var t,r=e.child,n=e.arrayTypeChildren;return g({},n,((t={})[r.type]=[].concat(n[r.type]||[],[g({},e.newChildProps,this.mapNestedChildrenToProps(r,e.nestedChildren))]),t))},r.mapObjectTypeChildren=function(e){var t,r,n=e.child,a=e.newProps,i=e.newChildProps,o=e.nestedChildren;switch(n.type){case h.TITLE:return g({},a,((t={})[n.type]=o,t.titleAttributes=g({},i),t));case h.BODY:return g({},a,{bodyAttributes:g({},i)});case h.HTML:return g({},a,{htmlAttributes:g({},i)});default:return g({},a,((r={})[n.type]=g({},i),r))}},r.mapArrayTypeChildrenToProps=function(e,t){var r=g({},t);return Object.keys(e).forEach((function(t){var n;r=g({},r,((n={})[t]=e[t],n))})),r},r.warnOnInvalidChildren=function(e,t){return d()(v.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+v.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),d()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},r.mapChildrenToProps=function(e,t){var r=this,a={};return n.Children.forEach(e,(function(e){if(e&&e.props){var n=e.props,i=n.children,o=m(n,Q),c=Object.keys(o).reduce((function(e,t){return e[S[t]||t]=o[t],e}),{}),s=e.type;switch("symbol"==typeof s?s=s.toString():r.warnOnInvalidChildren(e,i),s){case h.FRAGMENT:t=r.mapChildrenToProps(i,t);break;case h.LINK:case h.META:case h.NOSCRIPT:case h.SCRIPT:case h.STYLE:a=r.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:c,nestedChildren:i});break;default:t=r.mapObjectTypeChildren({child:e,newProps:t,newChildProps:c,nestedChildren:i})}}})),this.mapArrayTypeChildrenToProps(a,t)},r.render=function(){var e=this.props,t=e.children,r=m(e,X),a=g({},r),i=r.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!i||i instanceof U||(i=new U(i.context,i.instances)),i?n.createElement(K,g({},a,{context:i.value,helmetData:void 0})):n.createElement(H.Consumer,null,(function(e){return n.createElement(K,g({},a,{context:e}))}))},t}(n.Component);J.propTypes={base:i().object,bodyAttributes:i().object,children:i().oneOfType([i().arrayOf(i().node),i().node]),defaultTitle:i().string,defer:i().bool,encodeSpecialCharacters:i().bool,htmlAttributes:i().object,link:i().arrayOf(i().object),meta:i().arrayOf(i().object),noscript:i().arrayOf(i().object),onChangeClientState:i().func,script:i().arrayOf(i().object),style:i().arrayOf(i().object),title:i().string,titleAttributes:i().object,titleTemplate:i().string,prioritizeSeoTags:i().bool,helmetData:i().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},69921:(e,t)=>{"use strict";var r="function"==typeof Symbol&&Symbol.for,n=r?Symbol.for("react.element"):60103,a=r?Symbol.for("react.portal"):60106,i=r?Symbol.for("react.fragment"):60107,o=r?Symbol.for("react.strict_mode"):60108,c=r?Symbol.for("react.profiler"):60114,s=r?Symbol.for("react.provider"):60109,d=r?Symbol.for("react.context"):60110,l=r?Symbol.for("react.async_mode"):60111,u=r?Symbol.for("react.concurrent_mode"):60111,g=r?Symbol.for("react.forward_ref"):60112,p=r?Symbol.for("react.suspense"):60113,f=r?Symbol.for("react.suspense_list"):60120,m=r?Symbol.for("react.memo"):60115,h=r?Symbol.for("react.lazy"):60116,b=r?Symbol.for("react.block"):60121,M=r?Symbol.for("react.fundamental"):60117,y=r?Symbol.for("react.responder"):60118,v=r?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case l:case u:case i:case c:case o:case p:return e;default:switch(e=e&&e.$$typeof){case d:case g:case h:case m:case s:return e;default:return t}}case a:return t}}}function S(e){return k(e)===u}t.AsyncMode=l,t.ConcurrentMode=u,t.ContextConsumer=d,t.ContextProvider=s,t.Element=n,t.ForwardRef=g,t.Fragment=i,t.Lazy=h,t.Memo=m,t.Portal=a,t.Profiler=c,t.StrictMode=o,t.Suspense=p,t.isAsyncMode=function(e){return S(e)||k(e)===l},t.isConcurrentMode=S,t.isContextConsumer=function(e){return k(e)===d},t.isContextProvider=function(e){return k(e)===s},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===n},t.isForwardRef=function(e){return k(e)===g},t.isFragment=function(e){return k(e)===i},t.isLazy=function(e){return k(e)===h},t.isMemo=function(e){return k(e)===m},t.isPortal=function(e){return k(e)===a},t.isProfiler=function(e){return k(e)===c},t.isStrictMode=function(e){return k(e)===o},t.isSuspense=function(e){return k(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===u||e===c||e===o||e===p||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===m||e.$$typeof===s||e.$$typeof===d||e.$$typeof===g||e.$$typeof===M||e.$$typeof===y||e.$$typeof===v||e.$$typeof===b)},t.typeOf=k},59864:(e,t,r)=>{"use strict";e.exports=r(69921)},68356:(e,t,r)=>{"use strict";function n(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}var c=r(67294),s=r(45697),d=[],l=[];function u(e){var t=e(),r={loading:!0,loaded:null,error:null};return r.promise=t.then((function(e){return r.loading=!1,r.loaded=e,e})).catch((function(e){throw r.loading=!1,r.error=e,e})),r}function g(e){var t={loading:!1,loaded:{},error:null},r=[];try{Object.keys(e).forEach((function(n){var a=u(e[n]);a.loading?t.loading=!0:(t.loaded[n]=a.loaded,t.error=a.error),r.push(a.promise),a.promise.then((function(e){t.loaded[n]=e})).catch((function(e){t.error=e}))}))}catch(n){t.error=n}return t.promise=Promise.all(r).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function p(e,t){return c.createElement((r=e)&&r.__esModule?r.default:r,t);var r}function f(e,t){var u,g;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var f=o({loader:null,loading:null,delay:200,timeout:null,render:p,webpack:null,modules:null},t),m=null;function h(){return m||(m=e(f.loader)),m.promise}return d.push(h),"function"==typeof f.webpack&&l.push((function(){if((0,f.webpack)().every((function(e){return void 0!==e&&void 0!==r.m[e]})))return h()})),g=u=function(t){function r(r){var n;return i(a(a(n=t.call(this,r)||this)),"retry",(function(){n.setState({error:null,loading:!0,timedOut:!1}),m=e(f.loader),n._loadModule()})),h(),n.state={error:m.error,pastDelay:!1,timedOut:!1,loading:m.loading,loaded:m.loaded},n}n(r,t),r.preload=function(){return h()};var o=r.prototype;return o.UNSAFE_componentWillMount=function(){this._loadModule()},o.componentDidMount=function(){this._mounted=!0},o._loadModule=function(){var e=this;if(this.context.loadable&&Array.isArray(f.modules)&&f.modules.forEach((function(t){e.context.loadable.report(t)})),m.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof f.delay&&(0===f.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),f.delay)),"number"==typeof f.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),f.timeout));var r=function(){t({error:m.error,loaded:m.loaded,loading:m.loading}),e._clearTimeouts()};m.promise.then((function(){return r(),null})).catch((function(e){return r(),null}))}},o.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},o._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},o.render=function(){return this.state.loading||this.state.error?c.createElement(f.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?f.render(this.state.loaded,this.props):null},r}(c.Component),i(u,"contextTypes",{loadable:s.shape({report:s.func.isRequired})}),g}function m(e){return f(u,e)}m.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return f(g,e)};var h=function(e){function t(){return e.apply(this,arguments)||this}n(t,e);var r=t.prototype;return r.getChildContext=function(){return{loadable:{report:this.props.report}}},r.render=function(){return c.Children.only(this.props.children)},t}(c.Component);function b(e){for(var t=[];e.length;){var r=e.pop();t.push(r())}return Promise.all(t).then((function(){if(e.length)return b(e)}))}i(h,"propTypes",{report:s.func.isRequired}),i(h,"childContextTypes",{loadable:s.shape({report:s.func.isRequired}).isRequired}),m.Capture=h,m.preloadAll=function(){return new Promise((function(e,t){b(d).then(e,t)}))},m.preloadReady=function(){return new Promise((function(e,t){b(l).then(e,e)}))},e.exports=m},18790:(e,t,r)=>{"use strict";r.d(t,{H:()=>c,f:()=>o});var n=r(76775),a=r(87462),i=r(67294);function o(e,t,r){return void 0===r&&(r=[]),e.some((function(e){var a=e.path?(0,n.LX)(t,e):r.length?r[r.length-1].match:n.F0.computeRootMatch(t);return a&&(r.push({route:e,match:a}),e.routes&&o(e.routes,t,r)),a})),r}function c(e,t,r){return void 0===t&&(t={}),void 0===r&&(r={}),e?i.createElement(n.rs,r,e.map((function(e,r){return i.createElement(n.AW,{key:e.key||r,path:e.path,exact:e.exact,strict:e.strict,render:function(r){return e.render?e.render((0,a.Z)({},r,{},t,{route:e})):i.createElement(e.component,(0,a.Z)({},r,t,{route:e}))}})}))):null}},73727:(e,t,r)=>{"use strict";r.d(t,{OL:()=>y,VK:()=>l,rU:()=>h});var n=r(76775),a=r(75068),i=r(67294),o=r(99318),c=r(87462),s=r(63366),d=r(2177),l=function(e){function t(){for(var t,r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];return(t=e.call.apply(e,[this].concat(n))||this).history=(0,o.lX)(t.props),t}return(0,a.Z)(t,e),t.prototype.render=function(){return i.createElement(n.F0,{history:this.history,children:this.props.children})},t}(i.Component);i.Component;var u=function(e,t){return"function"==typeof e?e(t):e},g=function(e,t){return"string"==typeof e?(0,o.ob)(e,null,null,t):e},p=function(e){return e},f=i.forwardRef;void 0===f&&(f=p);var m=f((function(e,t){var r=e.innerRef,n=e.navigate,a=e.onClick,o=(0,s.Z)(e,["innerRef","navigate","onClick"]),d=o.target,l=(0,c.Z)({},o,{onClick:function(e){try{a&&a(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||d&&"_self"!==d||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),n())}});return l.ref=p!==f&&t||r,i.createElement("a",l)}));var h=f((function(e,t){var r=e.component,a=void 0===r?m:r,l=e.replace,h=e.to,b=e.innerRef,M=(0,s.Z)(e,["component","replace","to","innerRef"]);return i.createElement(n.s6.Consumer,null,(function(e){e||(0,d.Z)(!1);var r=e.history,n=g(u(h,e.location),e.location),s=n?r.createHref(n):"",m=(0,c.Z)({},M,{href:s,navigate:function(){var t=u(h,e.location),n=(0,o.Ep)(e.location)===(0,o.Ep)(g(t));(l||n?r.replace:r.push)(t)}});return p!==f?m.ref=t||b:m.innerRef=b,i.createElement(a,m)}))})),b=function(e){return e},M=i.forwardRef;void 0===M&&(M=b);var y=M((function(e,t){var r=e["aria-current"],a=void 0===r?"page":r,o=e.activeClassName,l=void 0===o?"active":o,p=e.activeStyle,f=e.className,m=e.exact,y=e.isActive,v=e.location,k=e.sensitive,S=e.strict,w=e.style,E=e.to,_=e.innerRef,x=(0,s.Z)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return i.createElement(n.s6.Consumer,null,(function(e){e||(0,d.Z)(!1);var r=v||e.location,o=g(u(E,r),r),s=o.pathname,C=s&&s.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),A=C?(0,n.LX)(r.pathname,{path:C,exact:m,sensitive:k,strict:S}):null,L=!!(y?y(A,r):A),N="function"==typeof f?f(L):f,P="function"==typeof w?w(L):w;L&&(N=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter((function(e){return e})).join(" ")}(N,l),P=(0,c.Z)({},P,p));var I=(0,c.Z)({"aria-current":L&&a||null,className:N,style:P,to:o},x);return b!==M?I.ref=t||_:I.innerRef=_,i.createElement(h,I)}))}))},76775:(e,t,r)=>{"use strict";r.d(t,{AW:()=>_,F0:()=>k,rs:()=>P,s6:()=>v,LX:()=>E,k6:()=>T,TH:()=>R});var n=r(75068),a=r(67294),i=r(99318),o=r(45697),c=r.n(o),s=1073741823,d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==r.g?r.g:{};function l(e){var t=[];return{on:function(e){t.push(e)},off:function(e){t=t.filter((function(t){return t!==e}))},get:function(){return e},set:function(r,n){e=r,t.forEach((function(t){return t(e,n)}))}}}var u=a.createContext||function(e,t){var r,i,o="__create-react-context-"+function(){var e="__global_unique_id__";return d[e]=(d[e]||0)+1}()+"__",u=function(e){function r(){var t;return(t=e.apply(this,arguments)||this).emitter=l(t.props.value),t}(0,n.Z)(r,e);var a=r.prototype;return a.getChildContext=function(){var e;return(e={})[o]=this.emitter,e},a.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var r,n=this.props.value,a=e.value;((i=n)===(o=a)?0!==i||1/i==1/o:i!=i&&o!=o)?r=0:(r="function"==typeof t?t(n,a):s,0!==(r|=0)&&this.emitter.set(e.value,r))}var i,o},a.render=function(){return this.props.children},r}(a.Component);u.childContextTypes=((r={})[o]=c().object.isRequired,r);var g=function(t){function r(){var e;return(e=t.apply(this,arguments)||this).state={value:e.getValue()},e.onUpdate=function(t,r){0!=((0|e.observedBits)&r)&&e.setState({value:e.getValue()})},e}(0,n.Z)(r,t);var a=r.prototype;return a.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?s:t},a.componentDidMount=function(){this.context[o]&&this.context[o].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?s:e},a.componentWillUnmount=function(){this.context[o]&&this.context[o].off(this.onUpdate)},a.getValue=function(){return this.context[o]?this.context[o].get():e},a.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},r}(a.Component);return g.contextTypes=((i={})[o]=c().object,i),{Provider:u,Consumer:g}};const g=u;var p=r(2177),f=r(87462),m=r(14779),h=r.n(m),b=(r(59864),r(63366)),M=(r(8679),function(e){var t=g();return t.displayName=e,t}),y=M("Router-History"),v=M("Router"),k=function(e){function t(t){var r;return(r=e.call(this,t)||this).state={location:t.history.location},r._isMounted=!1,r._pendingLocation=null,t.staticContext||(r.unlisten=t.history.listen((function(e){r._pendingLocation=e}))),r}(0,n.Z)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var r=t.prototype;return r.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},r.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},r.render=function(){return a.createElement(v.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},a.createElement(y.Provider,{children:this.props.children||null,value:this.props.history}))},t}(a.Component);a.Component;a.Component;var S={},w=0;function E(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var r=t,n=r.path,a=r.exact,i=void 0!==a&&a,o=r.strict,c=void 0!==o&&o,s=r.sensitive,d=void 0!==s&&s;return[].concat(n).reduce((function(t,r){if(!r&&""!==r)return null;if(t)return t;var n=function(e,t){var r=""+t.end+t.strict+t.sensitive,n=S[r]||(S[r]={});if(n[e])return n[e];var a=[],i={regexp:h()(e,a,t),keys:a};return w<1e4&&(n[e]=i,w++),i}(r,{end:i,strict:c,sensitive:d}),a=n.regexp,o=n.keys,s=a.exec(e);if(!s)return null;var l=s[0],u=s.slice(1),g=e===l;return i&&!g?null:{path:r,url:"/"===r&&""===l?"/":l,isExact:g,params:o.reduce((function(e,t,r){return e[t.name]=u[r],e}),{})}}),null)}var _=function(e){function t(){return e.apply(this,arguments)||this}return(0,n.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(v.Consumer,null,(function(t){t||(0,p.Z)(!1);var r=e.props.location||t.location,n=e.props.computedMatch?e.props.computedMatch:e.props.path?E(r.pathname,e.props):t.match,i=(0,f.Z)({},t,{location:r,match:n}),o=e.props,c=o.children,s=o.component,d=o.render;return Array.isArray(c)&&function(e){return 0===a.Children.count(e)}(c)&&(c=null),a.createElement(v.Provider,{value:i},i.match?c?"function"==typeof c?c(i):c:s?a.createElement(s,i):d?d(i):null:"function"==typeof c?c(i):null)}))},t}(a.Component);function x(e){return"/"===e.charAt(0)?e:"/"+e}function C(e,t){if(!e)return t;var r=x(e);return 0!==t.pathname.indexOf(r)?t:(0,f.Z)({},t,{pathname:t.pathname.substr(r.length)})}function A(e){return"string"==typeof e?e:(0,i.Ep)(e)}function L(e){return function(){(0,p.Z)(!1)}}function N(){}a.Component;var P=function(e){function t(){return e.apply(this,arguments)||this}return(0,n.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(v.Consumer,null,(function(t){t||(0,p.Z)(!1);var r,n,i=e.props.location||t.location;return a.Children.forEach(e.props.children,(function(e){if(null==n&&a.isValidElement(e)){r=e;var o=e.props.path||e.props.from;n=o?E(i.pathname,(0,f.Z)({},e.props,{path:o})):t.match}})),n?a.cloneElement(r,{location:i,computedMatch:n}):null}))},t}(a.Component);var I=a.useContext;function T(){return I(y)}function R(){return I(v).location}},72408:(e,t,r)=>{"use strict";var n=r(27418),a=60103,i=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var o=60109,c=60110,s=60112;t.Suspense=60113;var d=60115,l=60116;if("function"==typeof Symbol&&Symbol.for){var u=Symbol.for;a=u("react.element"),i=u("react.portal"),t.Fragment=u("react.fragment"),t.StrictMode=u("react.strict_mode"),t.Profiler=u("react.profiler"),o=u("react.provider"),c=u("react.context"),s=u("react.forward_ref"),t.Suspense=u("react.suspense"),d=u("react.memo"),l=u("react.lazy")}var g="function"==typeof Symbol&&Symbol.iterator;function p(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var f={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m={};function h(e,t,r){this.props=e,this.context=t,this.refs=m,this.updater=r||f}function b(){}function M(e,t,r){this.props=e,this.context=t,this.refs=m,this.updater=r||f}h.prototype.isReactComponent={},h.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(p(85));this.updater.enqueueSetState(this,e,t,"setState")},h.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=h.prototype;var y=M.prototype=new b;y.constructor=M,n(y,h.prototype),y.isPureReactComponent=!0;var v={current:null},k=Object.prototype.hasOwnProperty,S={key:!0,ref:!0,__self:!0,__source:!0};function w(e,t,r){var n,i={},o=null,c=null;if(null!=t)for(n in void 0!==t.ref&&(c=t.ref),void 0!==t.key&&(o=""+t.key),t)k.call(t,n)&&!S.hasOwnProperty(n)&&(i[n]=t[n]);var s=arguments.length-2;if(1===s)i.children=r;else if(1<s){for(var d=Array(s),l=0;l<s;l++)d[l]=arguments[l+2];i.children=d}if(e&&e.defaultProps)for(n in s=e.defaultProps)void 0===i[n]&&(i[n]=s[n]);return{$$typeof:a,type:e,key:o,ref:c,props:i,_owner:v.current}}function E(e){return"object"==typeof e&&null!==e&&e.$$typeof===a}var _=/\/+/g;function x(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function C(e,t,r,n,o){var c=typeof e;"undefined"!==c&&"boolean"!==c||(e=null);var s=!1;if(null===e)s=!0;else switch(c){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case a:case i:s=!0}}if(s)return o=o(s=e),e=""===n?"."+x(s,0):n,Array.isArray(o)?(r="",null!=e&&(r=e.replace(_,"$&/")+"/"),C(o,t,r,"",(function(e){return e}))):null!=o&&(E(o)&&(o=function(e,t){return{$$typeof:a,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(o,r+(!o.key||s&&s.key===o.key?"":(""+o.key).replace(_,"$&/")+"/")+e)),t.push(o)),1;if(s=0,n=""===n?".":n+":",Array.isArray(e))for(var d=0;d<e.length;d++){var l=n+x(c=e[d],d);s+=C(c,t,r,l,o)}else if(l=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=g&&e[g]||e["@@iterator"])?e:null}(e),"function"==typeof l)for(e=l.call(e),d=0;!(c=e.next()).done;)s+=C(c=c.value,t,r,l=n+x(c,d++),o);else if("object"===c)throw t=""+e,Error(p(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return s}function A(e,t,r){if(null==e)return e;var n=[],a=0;return C(e,n,"","",(function(e){return t.call(r,e,a++)})),n}function L(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var N={current:null};function P(){var e=N.current;if(null===e)throw Error(p(321));return e}var I={ReactCurrentDispatcher:N,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:v,IsSomeRendererActing:{current:!1},assign:n};t.Children={map:A,forEach:function(e,t,r){A(e,(function(){t.apply(this,arguments)}),r)},count:function(e){var t=0;return A(e,(function(){t++})),t},toArray:function(e){return A(e,(function(e){return e}))||[]},only:function(e){if(!E(e))throw Error(p(143));return e}},t.Component=h,t.PureComponent=M,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=I,t.cloneElement=function(e,t,r){if(null==e)throw Error(p(267,e));var i=n({},e.props),o=e.key,c=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(c=t.ref,s=v.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var d=e.type.defaultProps;for(l in t)k.call(t,l)&&!S.hasOwnProperty(l)&&(i[l]=void 0===t[l]&&void 0!==d?d[l]:t[l])}var l=arguments.length-2;if(1===l)i.children=r;else if(1<l){d=Array(l);for(var u=0;u<l;u++)d[u]=arguments[u+2];i.children=d}return{$$typeof:a,type:e.type,key:o,ref:c,props:i,_owner:s}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:c,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:o,_context:e},e.Consumer=e},t.createElement=w,t.createFactory=function(e){var t=w.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:s,render:e}},t.isValidElement=E,t.lazy=function(e){return{$$typeof:l,_payload:{_status:-1,_result:e},_init:L}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return P().useCallback(e,t)},t.useContext=function(e,t){return P().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return P().useEffect(e,t)},t.useImperativeHandle=function(e,t,r){return P().useImperativeHandle(e,t,r)},t.useLayoutEffect=function(e,t){return P().useLayoutEffect(e,t)},t.useMemo=function(e,t){return P().useMemo(e,t)},t.useReducer=function(e,t,r){return P().useReducer(e,t,r)},t.useRef=function(e){return P().useRef(e)},t.useState=function(e){return P().useState(e)},t.version="17.0.2"},67294:(e,t,r)=>{"use strict";e.exports=r(72408)},60053:(e,t)=>{"use strict";var r,n,a,i;if("object"==typeof performance&&"function"==typeof performance.now){var o=performance;t.unstable_now=function(){return o.now()}}else{var c=Date,s=c.now();t.unstable_now=function(){return c.now()-s}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var d=null,l=null,u=function(){if(null!==d)try{var e=t.unstable_now();d(!0,e),d=null}catch(r){throw setTimeout(u,0),r}};r=function(e){null!==d?setTimeout(r,0,e):(d=e,setTimeout(u,0))},n=function(e,t){l=setTimeout(e,t)},a=function(){clearTimeout(l)},t.unstable_shouldYield=function(){return!1},i=t.unstable_forceFrameRate=function(){}}else{var g=window.setTimeout,p=window.clearTimeout;if("undefined"!=typeof console){var f=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof f&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var m=!1,h=null,b=-1,M=5,y=0;t.unstable_shouldYield=function(){return t.unstable_now()>=y},i=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):M=0<e?Math.floor(1e3/e):5};var v=new MessageChannel,k=v.port2;v.port1.onmessage=function(){if(null!==h){var e=t.unstable_now();y=e+M;try{h(!0,e)?k.postMessage(null):(m=!1,h=null)}catch(r){throw k.postMessage(null),r}}else m=!1},r=function(e){h=e,m||(m=!0,k.postMessage(null))},n=function(e,r){b=g((function(){e(t.unstable_now())}),r)},a=function(){p(b),b=-1}}function S(e,t){var r=e.length;e.push(t);e:for(;;){var n=r-1>>>1,a=e[n];if(!(void 0!==a&&0<_(a,t)))break e;e[n]=t,e[r]=a,r=n}}function w(e){return void 0===(e=e[0])?null:e}function E(e){var t=e[0];if(void 0!==t){var r=e.pop();if(r!==t){e[0]=r;e:for(var n=0,a=e.length;n<a;){var i=2*(n+1)-1,o=e[i],c=i+1,s=e[c];if(void 0!==o&&0>_(o,r))void 0!==s&&0>_(s,o)?(e[n]=s,e[c]=r,n=c):(e[n]=o,e[i]=r,n=i);else{if(!(void 0!==s&&0>_(s,r)))break e;e[n]=s,e[c]=r,n=c}}}return t}return null}function _(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}var x=[],C=[],A=1,L=null,N=3,P=!1,I=!1,T=!1;function R(e){for(var t=w(C);null!==t;){if(null===t.callback)E(C);else{if(!(t.startTime<=e))break;E(C),t.sortIndex=t.expirationTime,S(x,t)}t=w(C)}}function O(e){if(T=!1,R(e),!I)if(null!==w(x))I=!0,r(z);else{var t=w(C);null!==t&&n(O,t.startTime-e)}}function z(e,r){I=!1,T&&(T=!1,a()),P=!0;var i=N;try{for(R(r),L=w(x);null!==L&&(!(L.expirationTime>r)||e&&!t.unstable_shouldYield());){var o=L.callback;if("function"==typeof o){L.callback=null,N=L.priorityLevel;var c=o(L.expirationTime<=r);r=t.unstable_now(),"function"==typeof c?L.callback=c:L===w(x)&&E(x),R(r)}else E(x);L=w(x)}if(null!==L)var s=!0;else{var d=w(C);null!==d&&n(O,d.startTime-r),s=!1}return s}finally{L=null,N=i,P=!1}}var D=i;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){I||P||(I=!0,r(z))},t.unstable_getCurrentPriorityLevel=function(){return N},t.unstable_getFirstCallbackNode=function(){return w(x)},t.unstable_next=function(e){switch(N){case 1:case 2:case 3:var t=3;break;default:t=N}var r=N;N=t;try{return e()}finally{N=r}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=D,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var r=N;N=e;try{return t()}finally{N=r}},t.unstable_scheduleCallback=function(e,i,o){var c=t.unstable_now();switch("object"==typeof o&&null!==o?o="number"==typeof(o=o.delay)&&0<o?c+o:c:o=c,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:A++,callback:i,priorityLevel:e,startTime:o,expirationTime:s=o+s,sortIndex:-1},o>c?(e.sortIndex=o,S(C,e),null===w(x)&&e===w(C)&&(T?a():T=!0,n(O,o-c))):(e.sortIndex=s,S(x,e),I||P||(I=!0,r(z))),e},t.unstable_wrapCallback=function(e){var t=N;return function(){var r=N;N=t;try{return e.apply(this,arguments)}finally{N=r}}}},63840:(e,t,r)=>{"use strict";e.exports=r(60053)},96774:e=>{e.exports=function(e,t,r,n){var a=r?r.call(n,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var i=Object.keys(e),o=Object.keys(t);if(i.length!==o.length)return!1;for(var c=Object.prototype.hasOwnProperty.bind(t),s=0;s<i.length;s++){var d=i[s];if(!c(d))return!1;var l=e[d],u=t[d];if(!1===(a=r?r.call(n,l,u,d):void 0)||void 0===a&&l!==u)return!1}return!0}},2177:(e,t,r)=>{"use strict";r.d(t,{Z:()=>a});var n="Invariant failed";function a(e,t){if(!e)throw new Error(n)}},36809:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n});const n={title:"Mirage Networking",tagline:"Easy to use high performance Network library for Unity",url:"https://MirageNet.github.io",baseUrl:"/Mirage/",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",favicon:"img/favicon.ico",organizationName:"MirageNet",projectName:"Mirage",presets:[["classic",{docs:{sidebarPath:"/__w/Mirage/Mirage/doc/sidebars.js",editUrl:"https://github.com/MirageNet/Mirage/tree/main/doc/",remarkPlugins:[null]},blog:!1,theme:{customCss:"/__w/Mirage/Mirage/doc/src/css/custom.scss"}}]],plugins:["/__w/Mirage/Mirage/doc/node_modules/docusaurus-lunr-search/src/index.js","docusaurus-plugin-sass"],themeConfig:{colorMode:{defaultMode:"dark",disableSwitch:!1,respectPrefersColorScheme:!1},navbar:{title:"Mirage",logo:{alt:"Mirage",src:"img/logo.png"},items:[{type:"doc",docId:"general/overview",position:"left",label:"Articles"},{type:"doc",docId:"reference/Mirage/Mirage",position:"left",label:"API Reference"},{className:"navbar-github-link",position:"right",href:"https://github.com/MirageNet/Mirage"},{className:"navbar-discord-link",position:"right",href:"https://discord.gg/DTBPBYvexy"}],hideOnScroll:!1},footer:{style:"dark",copyright:"Copyright \xa9 2024 Mirage, MirageNet. Built with Docusaurus.",links:[]},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:["csharp","json"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},baseUrlIssueBanner:!0,i18n:{defaultLocale:"en",path:"i18n",locales:["en"],localeConfigs:{}},onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},themes:[],scripts:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1}},87462:(e,t,r)=>{"use strict";function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},n.apply(this,arguments)}r.d(t,{Z:()=>n})},75068:(e,t,r)=>{"use strict";function n(e,t){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},n(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,n(e,t)}r.d(t,{Z:()=>a})},63366:(e,t,r)=>{"use strict";function n(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}r.d(t,{Z:()=>n})},57529:e=>{"use strict";e.exports={}},16887:e=>{"use strict";e.exports=JSON.parse('{"/Mirage/docs-eae":{"__comp":"1be78505","__context":{"plugin":"dc56fe7a"},"versionMetadata":"935f2afb"},"/Mirage/docs/category/components-04b":{"__comp":"14eb3368","categoryGeneratedIndex":"9eeea845"},"/Mirage/docs/category/examples-6a1":{"__comp":"14eb3368","categoryGeneratedIndex":"e7d07015"},"/Mirage/docs/category/general-c93":{"__comp":"14eb3368","categoryGeneratedIndex":"e2efae6d"},"/Mirage/docs/category/guides-cff":{"__comp":"14eb3368","categoryGeneratedIndex":"5b79b0ab"},"/Mirage/docs/components/-1db":{"__comp":"17896441","content":"bd783ed9"},"/Mirage/docs/components/network-animator-784":{"__comp":"17896441","content":"5d3b1bc5"},"/Mirage/docs/components/network-discovery-0e1":{"__comp":"17896441","content":"e274e7f0"},"/Mirage/docs/components/network-identity-8c7":{"__comp":"17896441","content":"88eadf9d"},"/Mirage/docs/components/network-log-settings-da0":{"__comp":"17896441","content":"5f86f892"},"/Mirage/docs/components/network-manager-788":{"__comp":"17896441","content":"c0cd22d5"},"/Mirage/docs/components/network-manager-hud-6ea":{"__comp":"17896441","content":"5655c588"},"/Mirage/docs/components/network-match-checker-77e":{"__comp":"17896441","content":"0c8bc2eb"},"/Mirage/docs/components/network-ping-display-47b":{"__comp":"17896441","content":"287acd0d"},"/Mirage/docs/components/network-proximity-checker-1ac":{"__comp":"17896441","content":"03f0e0a6"},"/Mirage/docs/components/network-room-manager-0f2":{"__comp":"17896441","content":"48dff082"},"/Mirage/docs/components/network-room-player-c63":{"__comp":"17896441","content":"8dcc4ea6"},"/Mirage/docs/components/network-scene-checker-3f3":{"__comp":"17896441","content":"4b7e9577"},"/Mirage/docs/components/network-scene-manager-c30":{"__comp":"17896441","content":"d32d2739"},"/Mirage/docs/components/network-start-position-4e1":{"__comp":"17896441","content":"ceed7abf"},"/Mirage/docs/components/network-transform-a80":{"__comp":"17896441","content":"b5249036"},"/Mirage/docs/components/network-transform-child-6a2":{"__comp":"17896441","content":"4c176dcf"},"/Mirage/docs/components/ready-check-5bd":{"__comp":"17896441","content":"f97ae027"},"/Mirage/docs/examples/-415":{"__comp":"17896441","content":"bf614533"},"/Mirage/docs/examples/additive-scenes-879":{"__comp":"17896441","content":"472d413f"},"/Mirage/docs/examples/basic-6ae":{"__comp":"17896441","content":"df235e99"},"/Mirage/docs/examples/change-scene-879":{"__comp":"17896441","content":"eb4d19ea"},"/Mirage/docs/examples/chat-98b":{"__comp":"17896441","content":"caea44cb"},"/Mirage/docs/examples/multiple-additive-scenes-92f":{"__comp":"17896441","content":"489b016d"},"/Mirage/docs/examples/pong-8e1":{"__comp":"17896441","content":"23431363"},"/Mirage/docs/examples/room-190":{"__comp":"17896441","content":"2c840ae3"},"/Mirage/docs/examples/tanks-852":{"__comp":"17896441","content":"92b7d40b"},"/Mirage/docs/general/CHANGELOG-24c":{"__comp":"17896441","content":"cbfe22ae"},"/Mirage/docs/general/getting-started-dc7":{"__comp":"17896441","content":"2af1b032"},"/Mirage/docs/general/overview-96d":{"__comp":"17896441","content":"373cb441"},"/Mirage/docs/general/showcase-29d":{"__comp":"17896441","content":"aec765fc"},"/Mirage/docs/general/sockets-3fb":{"__comp":"17896441","content":"fd242af7"},"/Mirage/docs/general/support-e28":{"__comp":"17896441","content":"63e9b7e2"},"/Mirage/docs/general/troubleshooting-7aa":{"__comp":"17896441","content":"e92ca709"},"/Mirage/docs/guides/about-ids-40a":{"__comp":"17896441","content":"f8143c60"},"/Mirage/docs/guides/attributes-e19":{"__comp":"17896441","content":"d3ed2569"},"/Mirage/docs/guides/authentication/-19b":{"__comp":"17896441","content":"fea0156e"},"/Mirage/docs/guides/authentication/authenticator-settings-ec2":{"__comp":"17896441","content":"5cfd5e85"},"/Mirage/docs/guides/authentication/basic-authenticator-569":{"__comp":"17896441","content":"66e916c3"},"/Mirage/docs/guides/authentication/custom-authenticator-9de":{"__comp":"17896441","content":"3e6e00cc"},"/Mirage/docs/guides/authentication/session-id-988":{"__comp":"17896441","content":"22a4596f"},"/Mirage/docs/guides/authority-173":{"__comp":"17896441","content":"f640cbed"},"/Mirage/docs/guides/best-practices-88c":{"__comp":"17896441","content":"a2738a55"},"/Mirage/docs/guides/bit-packing/-7c3":{"__comp":"17896441","content":"a1546f52"},"/Mirage/docs/guides/bit-packing/bit-count-6b3":{"__comp":"17896441","content":"3f72e647"},"/Mirage/docs/guides/bit-packing/bit-count-from-range-34b":{"__comp":"17896441","content":"515794c4"},"/Mirage/docs/guides/bit-packing/float-pack-9ac":{"__comp":"17896441","content":"b67206e2"},"/Mirage/docs/guides/bit-packing/quaternion-pack-6ec":{"__comp":"17896441","content":"6ac045de"},"/Mirage/docs/guides/bit-packing/var-int-435":{"__comp":"17896441","content":"38134b8b"},"/Mirage/docs/guides/bit-packing/var-int-blocks-0a5":{"__comp":"17896441","content":"a0e32dbc"},"/Mirage/docs/guides/bit-packing/vector-pack-a3f":{"__comp":"17896441","content":"efcb83d3"},"/Mirage/docs/guides/bit-packing/zig-zag-encode-841":{"__comp":"17896441","content":"5df522bb"},"/Mirage/docs/guides/callbacks/-e21":{"__comp":"17896441","content":"5d411712"},"/Mirage/docs/guides/callbacks/network-behaviour-b24":{"__comp":"17896441","content":"6167d028"},"/Mirage/docs/guides/callbacks/network-manager-041":{"__comp":"17896441","content":"7600f836"},"/Mirage/docs/guides/clock-sync-65c":{"__comp":"17896441","content":"1abe0f94"},"/Mirage/docs/guides/community-guides/-e13":{"__comp":"17896441","content":"745a6df1"},"/Mirage/docs/guides/community-guides/mirage-quick-start-guide-e1c":{"__comp":"17896441","content":"824aed02"},"/Mirage/docs/guides/development-servers/-5ad":{"__comp":"17896441","content":"a4847e6d"},"/Mirage/docs/guides/development-servers/aws-1ba":{"__comp":"17896441","content":"bc698184"},"/Mirage/docs/guides/development-servers/google-cloud-aba":{"__comp":"17896441","content":"30f32373"},"/Mirage/docs/guides/faq-7a3":{"__comp":"17896441","content":"9654b5f5"},"/Mirage/docs/guides/game-objects/-3f1":{"__comp":"17896441","content":"854783ac"},"/Mirage/docs/guides/game-objects/lifecycle-f17":{"__comp":"17896441","content":"e31924a3"},"/Mirage/docs/guides/game-objects/network-behaviour-d99":{"__comp":"17896441","content":"ef73d847"},"/Mirage/docs/guides/game-objects/pickup-drop-child-4ea":{"__comp":"17896441","content":"95800a96"},"/Mirage/docs/guides/game-objects/scene-objects-982":{"__comp":"17896441","content":"d1ac8158"},"/Mirage/docs/guides/game-objects/spawn-object-e34":{"__comp":"17896441","content":"8adcb82a"},"/Mirage/docs/guides/game-objects/spawn-object-custom-2e7":{"__comp":"17896441","content":"1a180147"},"/Mirage/docs/guides/game-objects/spawn-object-pooling-514":{"__comp":"17896441","content":"b1aead42"},"/Mirage/docs/guides/game-objects/spawn-player-2ad":{"__comp":"17896441","content":"ed2375fe"},"/Mirage/docs/guides/game-objects/spawn-player-custom-abc":{"__comp":"17896441","content":"fd5d697e"},"/Mirage/docs/guides/mirror-migration-ead":{"__comp":"17896441","content":"3546aac4"},"/Mirage/docs/guides/network-visibility-3b9":{"__comp":"17896441","content":"842d10b8"},"/Mirage/docs/guides/overview-fe0":{"__comp":"17896441","content":"c5e4a08a"},"/Mirage/docs/guides/remote-actions/-b31":{"__comp":"17896441","content":"a0badf39"},"/Mirage/docs/guides/remote-actions/client-rpc-eea":{"__comp":"17896441","content":"78549414"},"/Mirage/docs/guides/remote-actions/network-messages-062":{"__comp":"17896441","content":"88132b57"},"/Mirage/docs/guides/remote-actions/rpc-examples-251":{"__comp":"17896441","content":"f1ac09af"},"/Mirage/docs/guides/remote-actions/server-rpc-f49":{"__comp":"17896441","content":"bf183fc6"},"/Mirage/docs/guides/resources-b1c":{"__comp":"17896441","content":"6ee977c8"},"/Mirage/docs/guides/scene-loading/-b7b":{"__comp":"17896441","content":"ab7438d5"},"/Mirage/docs/guides/scene-loading/manual-scene-loading-0fc":{"__comp":"17896441","content":"54e8ff0e"},"/Mirage/docs/guides/scene-loading/network-scene-manager-467":{"__comp":"17896441","content":"b4a89525"},"/Mirage/docs/guides/serialization/-b8a":{"__comp":"17896441","content":"61be958e"},"/Mirage/docs/guides/serialization/advanced-b0e":{"__comp":"17896441","content":"17d429ab"},"/Mirage/docs/guides/serialization/data-types-471":{"__comp":"17896441","content":"5d2441e2"},"/Mirage/docs/guides/serialization/generics-fb3":{"__comp":"17896441","content":"b919ef2d"},"/Mirage/docs/guides/serialization/sync-prefab-5bc":{"__comp":"17896441","content":"809497a5"},"/Mirage/docs/guides/sync/-45c":{"__comp":"17896441","content":"8e6c0a40"},"/Mirage/docs/guides/sync/code-generation-249":{"__comp":"17896441","content":"25762df2"},"/Mirage/docs/guides/sync/custom-serialization-379":{"__comp":"17896441","content":"e1929551"},"/Mirage/docs/guides/sync/serialization-flow-993":{"__comp":"17896441","content":"d741cf9d"},"/Mirage/docs/guides/sync/sync-objects/sync-dictionary-b7d":{"__comp":"17896441","content":"4cbf0de8"},"/Mirage/docs/guides/sync/sync-objects/sync-hash-set-21d":{"__comp":"17896441","content":"72fa76fe"},"/Mirage/docs/guides/sync/sync-objects/sync-list-696":{"__comp":"17896441","content":"3dc557df"},"/Mirage/docs/guides/sync/sync-objects/sync-sorted-set-f58":{"__comp":"17896441","content":"0ba5344b"},"/Mirage/docs/guides/sync/sync-settings-38d":{"__comp":"17896441","content":"a2c8fbc9"},"/Mirage/docs/guides/sync/sync-var-eff":{"__comp":"17896441","content":"a6c75258"},"/Mirage/docs/guides/sync/sync-var-hooks-34d":{"__comp":"17896441","content":"ac796a7f"},"/Mirage/docs/reference/Mirage.Authentication/-765":{"__comp":"17896441","content":"02a78bc8"},"/Mirage/docs/reference/Mirage.Authentication/AuthenticationResult-dc3":{"__comp":"17896441","content":"4786a1d5"},"/Mirage/docs/reference/Mirage.Authentication/AuthenticatorSettings-5c4":{"__comp":"17896441","content":"9d2800ec"},"/Mirage/docs/reference/Mirage.Authentication/AuthMessage-a10":{"__comp":"17896441","content":"379fad4b"},"/Mirage/docs/reference/Mirage.Authentication/AuthSuccessMessage-881":{"__comp":"17896441","content":"27e7b85b"},"/Mirage/docs/reference/Mirage.Authentication/IAuthenticationDataWrapper-6be":{"__comp":"17896441","content":"69abed1f"},"/Mirage/docs/reference/Mirage.Authentication/INetworkAuthenticator-62c":{"__comp":"17896441","content":"ddefe481"},"/Mirage/docs/reference/Mirage.Authentication/NetworkAuthenticator-64a":{"__comp":"17896441","content":"8c338613"},"/Mirage/docs/reference/Mirage.Authentication/NetworkAuthenticator-1-28b":{"__comp":"17896441","content":"df9b0653"},"/Mirage/docs/reference/Mirage.Authentication/PlayerAuthentication-4e3":{"__comp":"17896441","content":"f784ccf0"},"/Mirage/docs/reference/Mirage.Authenticators.SessionId/-eb3":{"__comp":"17896441","content":"bcd82947"},"/Mirage/docs/reference/Mirage.Authenticators.SessionId/ClientSession-f9b":{"__comp":"17896441","content":"b101daec"},"/Mirage/docs/reference/Mirage.Authenticators.SessionId/CreateSession-684":{"__comp":"17896441","content":"f9f08424"},"/Mirage/docs/reference/Mirage.Authenticators.SessionId/ISessionIdStore-746":{"__comp":"17896441","content":"36f4e2eb"},"/Mirage/docs/reference/Mirage.Authenticators.SessionId/RequestSessionMessage-fe5":{"__comp":"17896441","content":"029678fa"},"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionData-d3d":{"__comp":"17896441","content":"b7f3adf9"},"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator-88b":{"__comp":"17896441","content":"4105dd5f"},"/Mirage/docs/reference/Mirage.Authenticators.SessionId/SessionKeyMessage-71b":{"__comp":"17896441","content":"1fa3a74b"},"/Mirage/docs/reference/Mirage.Authenticators/-82e":{"__comp":"17896441","content":"297406a3"},"/Mirage/docs/reference/Mirage.Authenticators/BasicAuthenticator-cc7":{"__comp":"17896441","content":"95cbe481"},"/Mirage/docs/reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage-e32":{"__comp":"17896441","content":"df5709a4"},"/Mirage/docs/reference/Mirage.Collections/-159":{"__comp":"17896441","content":"46f8bbcb"},"/Mirage/docs/reference/Mirage.Collections/ISyncObject-b54":{"__comp":"17896441","content":"c7769688"},"/Mirage/docs/reference/Mirage.Collections/SyncDictionary-2-a4b":{"__comp":"17896441","content":"bd77521a"},"/Mirage/docs/reference/Mirage.Collections/SyncHashSet-1-b59":{"__comp":"17896441","content":"710d0f2c"},"/Mirage/docs/reference/Mirage.Collections/SyncIDictionary-2-1a9":{"__comp":"17896441","content":"e30c6926"},"/Mirage/docs/reference/Mirage.Collections/SyncList-1-f5f":{"__comp":"17896441","content":"198a2045"},"/Mirage/docs/reference/Mirage.Collections/SyncList-1.Enumerator-fc8":{"__comp":"17896441","content":"520eaf41"},"/Mirage/docs/reference/Mirage.Collections/SyncObjectUtils-942":{"__comp":"17896441","content":"eb0095b0"},"/Mirage/docs/reference/Mirage.Collections/SyncSet-1-ee3":{"__comp":"17896441","content":"390bfbee"},"/Mirage/docs/reference/Mirage.Collections/SyncSortedSet-1-2f3":{"__comp":"17896441","content":"b183603a"},"/Mirage/docs/reference/Mirage.Collections/SyncStack-1-0d2":{"__comp":"17896441","content":"fd3b502f"},"/Mirage/docs/reference/Mirage.Components/-287":{"__comp":"17896441","content":"5d5c952f"},"/Mirage/docs/reference/Mirage.Components/LobbyReady-223":{"__comp":"17896441","content":"8b61a806"},"/Mirage/docs/reference/Mirage.Components/ReadyCheck-171":{"__comp":"17896441","content":"ef60f95c"},"/Mirage/docs/reference/Mirage.Components/SyncObjectActive-aaf":{"__comp":"17896441","content":"6422d8fd"},"/Mirage/docs/reference/Mirage.DisplayMetrics/-d36":{"__comp":"17896441","content":"05d00909"},"/Mirage/docs/reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui-352":{"__comp":"17896441","content":"3e696d9c"},"/Mirage/docs/reference/Mirage.DisplayMetrics/RequestServerMetrics-564":{"__comp":"17896441","content":"84df7614"},"/Mirage/docs/reference/Mirage.DisplayMetrics/SetDisplayMetrics-c5f":{"__comp":"17896441","content":"67576404"},"/Mirage/docs/reference/Mirage.Events/-fb4":{"__comp":"17896441","content":"61c6cc01"},"/Mirage/docs/reference/Mirage.Events/AddLateEvent-6bd":{"__comp":"17896441","content":"1c85ceac"},"/Mirage/docs/reference/Mirage.Events/AddLateEvent-1-2f3":{"__comp":"17896441","content":"ebcacb84"},"/Mirage/docs/reference/Mirage.Events/AddLateEvent-2-481":{"__comp":"17896441","content":"abc915fa"},"/Mirage/docs/reference/Mirage.Events/AddLateEventBase-694":{"__comp":"17896441","content":"54287c76"},"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-8aa":{"__comp":"17896441","content":"ea9879e1"},"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-2-a5f":{"__comp":"17896441","content":"b79279ef"},"/Mirage/docs/reference/Mirage.Events/AddLateEventUnity-3-473":{"__comp":"17896441","content":"0eb168b6"},"/Mirage/docs/reference/Mirage.Events/BoolAddLateEvent-752":{"__comp":"17896441","content":"b0440449"},"/Mirage/docs/reference/Mirage.Events/BoolUnityEvent-42a":{"__comp":"17896441","content":"3897ec4d"},"/Mirage/docs/reference/Mirage.Events/DisconnectAddLateEvent-247":{"__comp":"17896441","content":"a88632d6"},"/Mirage/docs/reference/Mirage.Events/DisconnectEvent-9b8":{"__comp":"17896441","content":"07989add"},"/Mirage/docs/reference/Mirage.Events/IAddLateEvent-3e8":{"__comp":"17896441","content":"489985f3"},"/Mirage/docs/reference/Mirage.Events/IAddLateEvent-1-9b9":{"__comp":"17896441","content":"73859643"},"/Mirage/docs/reference/Mirage.Events/IAddLateEvent-2-ba3":{"__comp":"17896441","content":"c64a7ca8"},"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-435":{"__comp":"17896441","content":"58175e84"},"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-1-4b7":{"__comp":"17896441","content":"baed4f35"},"/Mirage/docs/reference/Mirage.Events/IAddLateEventUnity-2-08f":{"__comp":"17896441","content":"7206d972"},"/Mirage/docs/reference/Mirage.Events/NetworkPlayerAddLateEvent-4e3":{"__comp":"17896441","content":"1ca04d15"},"/Mirage/docs/reference/Mirage.Events/NetworkPlayerEvent-1aa":{"__comp":"17896441","content":"066f829e"},"/Mirage/docs/reference/Mirage.Logging/-f98":{"__comp":"17896441","content":"cb7b6e07"},"/Mirage/docs/reference/Mirage.Logging/ILoggerExtensions-240":{"__comp":"17896441","content":"767d4d3d"},"/Mirage/docs/reference/Mirage.Logging/LogFactory-b09":{"__comp":"17896441","content":"72932dd9"},"/Mirage/docs/reference/Mirage.Logging/LogSettings-19f":{"__comp":"17896441","content":"8ef8a6f4"},"/Mirage/docs/reference/Mirage.Logging/LogSettingsExtensions-90b":{"__comp":"17896441","content":"d5cd641f"},"/Mirage/docs/reference/Mirage.Logging/LogSettingsSO-c3f":{"__comp":"17896441","content":"71202e15"},"/Mirage/docs/reference/Mirage.Logging/LogSettingsSO.LoggerSettings-7b8":{"__comp":"17896441","content":"0f978974"},"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler-9eb":{"__comp":"17896441","content":"78c45894"},"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler.Settings-4f3":{"__comp":"17896441","content":"95d6d710"},"/Mirage/docs/reference/Mirage.Logging/MirageLogHandler.TimePrefix-544":{"__comp":"17896441","content":"8512b363"},"/Mirage/docs/reference/Mirage.RemoteCalls/-0fc":{"__comp":"17896441","content":"e15849bb"},"/Mirage/docs/reference/Mirage.RemoteCalls/ClientRpcSender-ae0":{"__comp":"17896441","content":"8d036df7"},"/Mirage/docs/reference/Mirage.RemoteCalls/RemoteCall-b9a":{"__comp":"17896441","content":"bbc2f8de"},"/Mirage/docs/reference/Mirage.RemoteCalls/RemoteCallCollection-8fe":{"__comp":"17896441","content":"98df3658"},"/Mirage/docs/reference/Mirage.RemoteCalls/RequestDelegate-1-7a8":{"__comp":"17896441","content":"0299007e"},"/Mirage/docs/reference/Mirage.RemoteCalls/RpcDelegate-fa6":{"__comp":"17896441","content":"18691bba"},"/Mirage/docs/reference/Mirage.RemoteCalls/RpcInvokeType-070":{"__comp":"17896441","content":"6a7e5168"},"/Mirage/docs/reference/Mirage.RemoteCalls/RpcMessage-21f":{"__comp":"17896441","content":"a461f4c5"},"/Mirage/docs/reference/Mirage.RemoteCalls/RpcReply-513":{"__comp":"17896441","content":"1e25fb88"},"/Mirage/docs/reference/Mirage.RemoteCalls/RpcWithReplyMessage-f41":{"__comp":"17896441","content":"14209d49"},"/Mirage/docs/reference/Mirage.RemoteCalls/ServerRpcSender-c69":{"__comp":"17896441","content":"69c2102a"},"/Mirage/docs/reference/Mirage.Serialization/-641":{"__comp":"17896441","content":"4165009c"},"/Mirage/docs/reference/Mirage.Serialization/AnglePacker-2ba":{"__comp":"17896441","content":"0fc532d3"},"/Mirage/docs/reference/Mirage.Serialization/BitCountAttribute-4b2":{"__comp":"17896441","content":"32aad382"},"/Mirage/docs/reference/Mirage.Serialization/BitCountFromRangeAttribute-efe":{"__comp":"17896441","content":"d3f389b2"},"/Mirage/docs/reference/Mirage.Serialization/BitHelper-c70":{"__comp":"17896441","content":"b2f5f910"},"/Mirage/docs/reference/Mirage.Serialization/BitMask-7e6":{"__comp":"17896441","content":"2916e125"},"/Mirage/docs/reference/Mirage.Serialization/CollectionExtensions-1f2":{"__comp":"17896441","content":"bd06e4c1"},"/Mirage/docs/reference/Mirage.Serialization/CompressedExtensions-55b":{"__comp":"17896441","content":"bd839411"},"/Mirage/docs/reference/Mirage.Serialization/FloatPackAttribute-0bc":{"__comp":"17896441","content":"e507b4be"},"/Mirage/docs/reference/Mirage.Serialization/FloatPacker-97f":{"__comp":"17896441","content":"81fcd85f"},"/Mirage/docs/reference/Mirage.Serialization/FromBitCount-995":{"__comp":"17896441","content":"50a667f7"},"/Mirage/docs/reference/Mirage.Serialization/GenericTypesSerializationExtensions-c27":{"__comp":"17896441","content":"884605ab"},"/Mirage/docs/reference/Mirage.Serialization/MessageIdCache-1-11e":{"__comp":"17896441","content":"3394a2aa"},"/Mirage/docs/reference/Mirage.Serialization/MessagePacker-ded":{"__comp":"17896441","content":"866d302e"},"/Mirage/docs/reference/Mirage.Serialization/MirageNetworkReader-0aa":{"__comp":"17896441","content":"bb9ef7e3"},"/Mirage/docs/reference/Mirage.Serialization/MirageTypesExtensions-12e":{"__comp":"17896441","content":"f78243fa"},"/Mirage/docs/reference/Mirage.Serialization/NetworkReader-7a2":{"__comp":"17896441","content":"62cec94c"},"/Mirage/docs/reference/Mirage.Serialization/NetworkReaderPool-056":{"__comp":"17896441","content":"4ae64b88"},"/Mirage/docs/reference/Mirage.Serialization/NetworkWriter-32d":{"__comp":"17896441","content":"d5348c33"},"/Mirage/docs/reference/Mirage.Serialization/NetworkWriterPool-65e":{"__comp":"17896441","content":"65bb50ec"},"/Mirage/docs/reference/Mirage.Serialization/PackedExtensions-2a6":{"__comp":"17896441","content":"50e1459e"},"/Mirage/docs/reference/Mirage.Serialization/PooledNetworkReader-6b7":{"__comp":"17896441","content":"0f873b64"},"/Mirage/docs/reference/Mirage.Serialization/PooledNetworkWriter-81b":{"__comp":"17896441","content":"0db2af96"},"/Mirage/docs/reference/Mirage.Serialization/QuaternionPackAttribute-d2f":{"__comp":"17896441","content":"4afae106"},"/Mirage/docs/reference/Mirage.Serialization/QuaternionPacker-c1b":{"__comp":"17896441","content":"bfb14a0f"},"/Mirage/docs/reference/Mirage.Serialization/Reader-1-944":{"__comp":"17896441","content":"9ba34e8e"},"/Mirage/docs/reference/Mirage.Serialization/StringExtensions-58e":{"__comp":"17896441","content":"e46ab49a"},"/Mirage/docs/reference/Mirage.Serialization/SystemTypesExtensions-ca7":{"__comp":"17896441","content":"4ede7c35"},"/Mirage/docs/reference/Mirage.Serialization/UnityTypesExtensions-2da":{"__comp":"17896441","content":"d04aec73"},"/Mirage/docs/reference/Mirage.Serialization/VarDoublePacker-f12":{"__comp":"17896441","content":"716eb1ca"},"/Mirage/docs/reference/Mirage.Serialization/VarFloatPacker-b84":{"__comp":"17896441","content":"b8e54a0e"},"/Mirage/docs/reference/Mirage.Serialization/VarIntAttribute-f2a":{"__comp":"17896441","content":"a05b3eb9"},"/Mirage/docs/reference/Mirage.Serialization/VarIntBlocksAttribute-3fc":{"__comp":"17896441","content":"4f685a05"},"/Mirage/docs/reference/Mirage.Serialization/VarIntBlocksPacker-21f":{"__comp":"17896441","content":"bdbf9329"},"/Mirage/docs/reference/Mirage.Serialization/VarIntPacker-ff2":{"__comp":"17896441","content":"b1ea56a4"},"/Mirage/docs/reference/Mirage.Serialization/VarVector2Packer-149":{"__comp":"17896441","content":"c1ae4c6e"},"/Mirage/docs/reference/Mirage.Serialization/VarVector3Packer-45c":{"__comp":"17896441","content":"bce13862"},"/Mirage/docs/reference/Mirage.Serialization/Vector2PackAttribute-c86":{"__comp":"17896441","content":"f9640919"},"/Mirage/docs/reference/Mirage.Serialization/Vector2Packer-43d":{"__comp":"17896441","content":"dd9f2c48"},"/Mirage/docs/reference/Mirage.Serialization/Vector3PackAttribute-c85":{"__comp":"17896441","content":"23d11a1d"},"/Mirage/docs/reference/Mirage.Serialization/Vector3Packer-211":{"__comp":"17896441","content":"91995dc1"},"/Mirage/docs/reference/Mirage.Serialization/WeaverIgnoreAttribute-3c6":{"__comp":"17896441","content":"15b2e714"},"/Mirage/docs/reference/Mirage.Serialization/WeaverSerializeCollectionAttribute-e32":{"__comp":"17896441","content":"302e48e3"},"/Mirage/docs/reference/Mirage.Serialization/WeaverWriteAsGenericAttribute-93f":{"__comp":"17896441","content":"8c2257c1"},"/Mirage/docs/reference/Mirage.Serialization/Writer-1-8e1":{"__comp":"17896441","content":"8cf8a272"},"/Mirage/docs/reference/Mirage.Serialization/ZigZag-3a0":{"__comp":"17896441","content":"141367b2"},"/Mirage/docs/reference/Mirage.Serialization/ZigZagEncodeAttribute-961":{"__comp":"17896441","content":"5ad9c4e4"},"/Mirage/docs/reference/Mirage.SocketLayer/-303":{"__comp":"17896441","content":"a0266dc1"},"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem-a2e":{"__comp":"17896441","content":"12f66dc8"},"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem.ReliablePacket-72f":{"__comp":"17896441","content":"cbb29ae8"},"/Mirage/docs/reference/Mirage.SocketLayer/AckSystem.ReliableReceived-489":{"__comp":"17896441","content":"2c5fc0c1"},"/Mirage/docs/reference/Mirage.SocketLayer/ArrayBatch-843":{"__comp":"17896441","content":"f0ebcc9e"},"/Mirage/docs/reference/Mirage.SocketLayer/AutoCompleteToken-d54":{"__comp":"17896441","content":"5517ca4e"},"/Mirage/docs/reference/Mirage.SocketLayer/Batch-9e3":{"__comp":"17896441","content":"1cf2e72f"},"/Mirage/docs/reference/Mirage.SocketLayer/ByteBuffer-01c":{"__comp":"17896441","content":"d89afa6d"},"/Mirage/docs/reference/Mirage.SocketLayer/ByteUtils-905":{"__comp":"17896441","content":"aeb157ae"},"/Mirage/docs/reference/Mirage.SocketLayer/Commands-c21":{"__comp":"17896441","content":"54089b9c"},"/Mirage/docs/reference/Mirage.SocketLayer/Config-97e":{"__comp":"17896441","content":"9ea10303"},"/Mirage/docs/reference/Mirage.SocketLayer/ConnectionExtensions-3c0":{"__comp":"17896441","content":"2429903c"},"/Mirage/docs/reference/Mirage.SocketLayer/ConnectionState-00c":{"__comp":"17896441","content":"a5f54a07"},"/Mirage/docs/reference/Mirage.SocketLayer/DisconnectReason-94c":{"__comp":"17896441","content":"e5c7ba44"},"/Mirage/docs/reference/Mirage.SocketLayer/IConnection-af3":{"__comp":"17896441","content":"51771b94"},"/Mirage/docs/reference/Mirage.SocketLayer/IDataHandler-eb4":{"__comp":"17896441","content":"0d72b43e"},"/Mirage/docs/reference/Mirage.SocketLayer/IEndPoint-b20":{"__comp":"17896441","content":"85064cd5"},"/Mirage/docs/reference/Mirage.SocketLayer/IHasAddress-564":{"__comp":"17896441","content":"68bc1568"},"/Mirage/docs/reference/Mirage.SocketLayer/IHasPort-f96":{"__comp":"17896441","content":"9374470d"},"/Mirage/docs/reference/Mirage.SocketLayer/INotifyCallBack-191":{"__comp":"17896441","content":"83650baf"},"/Mirage/docs/reference/Mirage.SocketLayer/INotifyCallBackExtensions-d2e":{"__comp":"17896441","content":"c1a5e256"},"/Mirage/docs/reference/Mirage.SocketLayer/INotifyToken-ad2":{"__comp":"17896441","content":"b7a35126"},"/Mirage/docs/reference/Mirage.SocketLayer/IPeer-62c":{"__comp":"17896441","content":"9ed85156"},"/Mirage/docs/reference/Mirage.SocketLayer/IRawConnection-4eb":{"__comp":"17896441","content":"f7f2a7d9"},"/Mirage/docs/reference/Mirage.SocketLayer/ISocket-86e":{"__comp":"17896441","content":"a7f7e7d2"},"/Mirage/docs/reference/Mirage.SocketLayer/ITime-8e0":{"__comp":"17896441","content":"1a58ca7b"},"/Mirage/docs/reference/Mirage.SocketLayer/Metrics-302":{"__comp":"17896441","content":"888e8919"},"/Mirage/docs/reference/Mirage.SocketLayer/Metrics.Frame-605":{"__comp":"17896441","content":"fe9e8813"},"/Mirage/docs/reference/Mirage.SocketLayer/NotifyToken-dcf":{"__comp":"17896441","content":"dad5a29f"},"/Mirage/docs/reference/Mirage.SocketLayer/PacketType-c61":{"__comp":"17896441","content":"dfedeaf8"},"/Mirage/docs/reference/Mirage.SocketLayer/Peer-550":{"__comp":"17896441","content":"69c4e507"},"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1-523":{"__comp":"17896441","content":"384f4959"},"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItem-f77":{"__comp":"17896441","content":"2cf67689"},"/Mirage/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount-747":{"__comp":"17896441","content":"4eb4e893"},"/Mirage/docs/reference/Mirage.SocketLayer/PoolMetrics-854":{"__comp":"17896441","content":"f1511b56"},"/Mirage/docs/reference/Mirage.SocketLayer/RejectReason-d97":{"__comp":"17896441","content":"4951f167"},"/Mirage/docs/reference/Mirage.SocketLayer/ReliableBatch-d7b":{"__comp":"17896441","content":"8a1d5087"},"/Mirage/docs/reference/Mirage.SocketLayer/RingBuffer-1-797":{"__comp":"17896441","content":"6a86f672"},"/Mirage/docs/reference/Mirage.SocketLayer/Sequencer-ad0":{"__comp":"17896441","content":"8bcc25e3"},"/Mirage/docs/reference/Mirage.SocketLayer/SocketFactory-588":{"__comp":"17896441","content":"7a207e95"},"/Mirage/docs/reference/Mirage.Sockets.Udp/-797":{"__comp":"17896441","content":"8663f307"},"/Mirage/docs/reference/Mirage.Sockets.Udp/EndPointWrapper-ce7":{"__comp":"17896441","content":"5ac746a2"},"/Mirage/docs/reference/Mirage.Sockets.Udp/InitUDP-890":{"__comp":"17896441","content":"466aa417"},"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoEndPoint-4b1":{"__comp":"17896441","content":"3510ba8e"},"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoSocket-d1f":{"__comp":"17896441","content":"7c99c0f6"},"/Mirage/docs/reference/Mirage.Sockets.Udp/NanoSocketException-fdc":{"__comp":"17896441","content":"922c6cfd"},"/Mirage/docs/reference/Mirage.Sockets.Udp/SocketLib-7ca":{"__comp":"17896441","content":"07828445"},"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpMTU-c2d":{"__comp":"17896441","content":"fcf44c20"},"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpSocket-c5b":{"__comp":"17896441","content":"1d0defc3"},"/Mirage/docs/reference/Mirage.Sockets.Udp/UdpSocketFactory-c4f":{"__comp":"17896441","content":"2b92dd73"},"/Mirage/docs/reference/Mirage.Visibility/-4a3":{"__comp":"17896441","content":"b74b01f8"},"/Mirage/docs/reference/Mirage.Visibility/AlwaysNetworkVisibility-a32":{"__comp":"17896441","content":"917b243f"},"/Mirage/docs/reference/Mirage/-496":{"__comp":"17896441","content":"bcb4c7e9"},"/Mirage/docs/reference/Mirage/AddCharacterMessage-bf6":{"__comp":"17896441","content":"0d8d80bc"},"/Mirage/docs/reference/Mirage/AuthorityChanged-22b":{"__comp":"17896441","content":"bbfc0176"},"/Mirage/docs/reference/Mirage/AutoPool-1-d92":{"__comp":"17896441","content":"f3c20154"},"/Mirage/docs/reference/Mirage/AutoPool-1.Wrapper-a49":{"__comp":"17896441","content":"d5202bd8"},"/Mirage/docs/reference/Mirage/Channel-d1c":{"__comp":"17896441","content":"1bacd51f"},"/Mirage/docs/reference/Mirage/CharacterSpawner-71b":{"__comp":"17896441","content":"487e1727"},"/Mirage/docs/reference/Mirage/CharacterSpawner.PlayerSpawnMethod-324":{"__comp":"17896441","content":"13f63d09"},"/Mirage/docs/reference/Mirage/ClientAttribute-7ff":{"__comp":"17896441","content":"55d87c72"},"/Mirage/docs/reference/Mirage/ClientObjectManager-ca2":{"__comp":"17896441","content":"e0e16dd2"},"/Mirage/docs/reference/Mirage/ClientRpcAttribute-cfd":{"__comp":"17896441","content":"7034e9cc"},"/Mirage/docs/reference/Mirage/ClientStoppedReason-d21":{"__comp":"17896441","content":"eb90c1cd"},"/Mirage/docs/reference/Mirage/ConnectState-8b7":{"__comp":"17896441","content":"1d99eae8"},"/Mirage/docs/reference/Mirage/DeserializeFailedException-544":{"__comp":"17896441","content":"a52a3c1b"},"/Mirage/docs/reference/Mirage/DynamicSpawnHandlerDelegate-1e4":{"__comp":"17896441","content":"e4aa2d07"},"/Mirage/docs/reference/Mirage/ExponentialMovingAverage-5fc":{"__comp":"17896441","content":"aad520d2"},"/Mirage/docs/reference/Mirage/FoldoutEventAttribute-761":{"__comp":"17896441","content":"09c46ec7"},"/Mirage/docs/reference/Mirage/GameObjectExtensions-f22":{"__comp":"17896441","content":"ace394d2"},"/Mirage/docs/reference/Mirage/GameObjectSerializers-923":{"__comp":"17896441","content":"b882f839"},"/Mirage/docs/reference/Mirage/GameObjectSyncvar-9ff":{"__comp":"17896441","content":"d36d63ca"},"/Mirage/docs/reference/Mirage/HasAuthorityAttribute-5eb":{"__comp":"17896441","content":"61845e4c"},"/Mirage/docs/reference/Mirage/HeadlessAutoStart-730":{"__comp":"17896441","content":"5faa7d70"},"/Mirage/docs/reference/Mirage/HeadlessFrameLimiter-0e5":{"__comp":"17896441","content":"8230aa30"},"/Mirage/docs/reference/Mirage/HostRendererVisibility-371":{"__comp":"17896441","content":"4f119fdf"},"/Mirage/docs/reference/Mirage/IMessageReceiver-785":{"__comp":"17896441","content":"b908ce4e"},"/Mirage/docs/reference/Mirage/IMessageSender-2ca":{"__comp":"17896441","content":"216e5825"},"/Mirage/docs/reference/Mirage/INetIdGenerator-286":{"__comp":"17896441","content":"cf38ca78"},"/Mirage/docs/reference/Mirage/INetworkPlayer-293":{"__comp":"17896441","content":"3ffe27c8"},"/Mirage/docs/reference/Mirage/INetworkVisibility-ee9":{"__comp":"17896441","content":"1f36a51e"},"/Mirage/docs/reference/Mirage/IObjectLocator-a7c":{"__comp":"17896441","content":"33ee75c3"},"/Mirage/docs/reference/Mirage/IObjectOwner-8c7":{"__comp":"17896441","content":"cb3b0dec"},"/Mirage/docs/reference/Mirage/ISceneLoader-1c1":{"__comp":"17896441","content":"9ae3d5a3"},"/Mirage/docs/reference/Mirage/IVisibilityTracker-266":{"__comp":"17896441","content":"371e843a"},"/Mirage/docs/reference/Mirage/LocalPlayerAttribute-79d":{"__comp":"17896441","content":"79637c4d"},"/Mirage/docs/reference/Mirage/MessageDelegate-1-17f":{"__comp":"17896441","content":"e616c336"},"/Mirage/docs/reference/Mirage/MessageDelegateAsync-1-f02":{"__comp":"17896441","content":"3cd512ef"},"/Mirage/docs/reference/Mirage/MessageDelegateWithPlayer-1-faf":{"__comp":"17896441","content":"d4da1ce9"},"/Mirage/docs/reference/Mirage/MessageDelegateWithPlayerAsync-1-a68":{"__comp":"17896441","content":"f5a162fb"},"/Mirage/docs/reference/Mirage/MessageHandler-642":{"__comp":"17896441","content":"c42d2489"},"/Mirage/docs/reference/Mirage/MessageReceiverExtensions-89c":{"__comp":"17896441","content":"c82d0717"},"/Mirage/docs/reference/Mirage/MessageWaiter-1-1d7":{"__comp":"17896441","content":"516f6285"},"/Mirage/docs/reference/Mirage/MethodInvocationException-3a3":{"__comp":"17896441","content":"67ec8c3a"},"/Mirage/docs/reference/Mirage/NetworkAnimator-8db":{"__comp":"17896441","content":"81f459f9"},"/Mirage/docs/reference/Mirage/NetworkBehaviorSerializers-3e8":{"__comp":"17896441","content":"304a0d1e"},"/Mirage/docs/reference/Mirage/NetworkBehaviorSyncvar-550":{"__comp":"17896441","content":"821bca10"},"/Mirage/docs/reference/Mirage/NetworkBehaviorSyncvar-1-6ab":{"__comp":"17896441","content":"359db5b7"},"/Mirage/docs/reference/Mirage/NetworkBehaviour-b46":{"__comp":"17896441","content":"010b5e3f"},"/Mirage/docs/reference/Mirage/NetworkBehaviour.Id-52c":{"__comp":"17896441","content":"1fab70f8"},"/Mirage/docs/reference/Mirage/NetworkClient-f28":{"__comp":"17896441","content":"df999642"},"/Mirage/docs/reference/Mirage/NetworkDiagnostics-b70":{"__comp":"17896441","content":"c0cb6d49"},"/Mirage/docs/reference/Mirage/NetworkDiagnostics.MessageInfo-5d4":{"__comp":"17896441","content":"983360fd"},"/Mirage/docs/reference/Mirage/NetworkedPrefabAttribute-b18":{"__comp":"17896441","content":"8f75e97d"},"/Mirage/docs/reference/Mirage/NetworkExtensions-135":{"__comp":"17896441","content":"ba841bc4"},"/Mirage/docs/reference/Mirage/NetworkFlags-2a4":{"__comp":"17896441","content":"ba52ef73"},"/Mirage/docs/reference/Mirage/NetworkIdentity-032":{"__comp":"17896441","content":"2ccd3a42"},"/Mirage/docs/reference/Mirage/NetworkIdentitySerializers-1e7":{"__comp":"17896441","content":"085a1412"},"/Mirage/docs/reference/Mirage/NetworkIdentitySyncvar-c60":{"__comp":"17896441","content":"6494cf5c"},"/Mirage/docs/reference/Mirage/NetworkInspectorCallbacks-366":{"__comp":"17896441","content":"ef37c68e"},"/Mirage/docs/reference/Mirage/NetworkManager-379":{"__comp":"17896441","content":"c8ac775b"},"/Mirage/docs/reference/Mirage/NetworkManagerGUI-748":{"__comp":"17896441","content":"945dafc1"},"/Mirage/docs/reference/Mirage/NetworkManagerHud-e30":{"__comp":"17896441","content":"68238c31"},"/Mirage/docs/reference/Mirage/NetworkManagerMode-60f":{"__comp":"17896441","content":"ea282697"},"/Mirage/docs/reference/Mirage/NetworkMatchChecker-bd6":{"__comp":"17896441","content":"677a0949"},"/Mirage/docs/reference/Mirage/NetworkMessageAttribute-ab0":{"__comp":"17896441","content":"91848592"},"/Mirage/docs/reference/Mirage/NetworkMethodAttribute-dda":{"__comp":"17896441","content":"68f10ba5"},"/Mirage/docs/reference/Mirage/NetworkPingDisplay-5f8":{"__comp":"17896441","content":"2f0154d3"},"/Mirage/docs/reference/Mirage/NetworkPingMessage-6d2":{"__comp":"17896441","content":"dbecde0e"},"/Mirage/docs/reference/Mirage/NetworkPlayer-157":{"__comp":"17896441","content":"f857c277"},"/Mirage/docs/reference/Mirage/NetworkPongMessage-d50":{"__comp":"17896441","content":"34ea7f48"},"/Mirage/docs/reference/Mirage/NetworkPrefabs-b22":{"__comp":"17896441","content":"f62325e2"},"/Mirage/docs/reference/Mirage/NetworkProximityChecker-f9c":{"__comp":"17896441","content":"372e0d8a"},"/Mirage/docs/reference/Mirage/NetworkSceneChecker-603":{"__comp":"17896441","content":"cc2efbbf"},"/Mirage/docs/reference/Mirage/NetworkSceneManager-d5e":{"__comp":"17896441","content":"89bce9de"},"/Mirage/docs/reference/Mirage/NetworkServer-09b":{"__comp":"17896441","content":"484ab952"},"/Mirage/docs/reference/Mirage/NetworkSpawnSettings-ee3":{"__comp":"17896441","content":"6aef5635"},"/Mirage/docs/reference/Mirage/NetworkTime-3cc":{"__comp":"17896441","content":"ae89d117"},"/Mirage/docs/reference/Mirage/NetworkTransform-ef5":{"__comp":"17896441","content":"6a31f070"},"/Mirage/docs/reference/Mirage/NetworkTransformBase-a94":{"__comp":"17896441","content":"bae86d55"},"/Mirage/docs/reference/Mirage/NetworkTransformBase.DataPoint-f94":{"__comp":"17896441","content":"851c38ea"},"/Mirage/docs/reference/Mirage/NetworkTransformChild-7e6":{"__comp":"17896441","content":"18c381f9"},"/Mirage/docs/reference/Mirage/NetworkVisibility-805":{"__comp":"17896441","content":"6f3edcc1"},"/Mirage/docs/reference/Mirage/NetworkVisibility.VisibilityChanged-1a2":{"__comp":"17896441","content":"66a8e7cc"},"/Mirage/docs/reference/Mirage/NetworkWorld-140":{"__comp":"17896441","content":"a1b6e57c"},"/Mirage/docs/reference/Mirage/NetworkWorldExtensions-f78":{"__comp":"17896441","content":"3d4a9cc3"},"/Mirage/docs/reference/Mirage/ObjectDestroyMessage-a97":{"__comp":"17896441","content":"98576e8e"},"/Mirage/docs/reference/Mirage/ObjectHideMessage-d84":{"__comp":"17896441","content":"d82abd5c"},"/Mirage/docs/reference/Mirage/OnlineOfflineScene-683":{"__comp":"17896441","content":"6af88fca"},"/Mirage/docs/reference/Mirage/PipePeerConnection-641":{"__comp":"17896441","content":"34280bbd"},"/Mirage/docs/reference/Mirage/PipePeerConnection.PipeEndPoint-604":{"__comp":"17896441","content":"bbd9f6e1"},"/Mirage/docs/reference/Mirage/PlayerSceneChangeEvent-345":{"__comp":"17896441","content":"ce904f20"},"/Mirage/docs/reference/Mirage/ReadOnlyInspectorAttribute-654":{"__comp":"17896441","content":"693f6e2a"},"/Mirage/docs/reference/Mirage/RemoveAuthorityMessage-1cf":{"__comp":"17896441","content":"05d3eaad"},"/Mirage/docs/reference/Mirage/RemoveCharacterMessage-ab8":{"__comp":"17896441","content":"dc9b839a"},"/Mirage/docs/reference/Mirage/RpcTarget-e65":{"__comp":"17896441","content":"86943c9d"},"/Mirage/docs/reference/Mirage/SceneAttribute-105":{"__comp":"17896441","content":"c6182bb9"},"/Mirage/docs/reference/Mirage/SceneChangeFinishedEvent-b6c":{"__comp":"17896441","content":"b62029b6"},"/Mirage/docs/reference/Mirage/SceneChangeStartedEvent-67f":{"__comp":"17896441","content":"b7a04171"},"/Mirage/docs/reference/Mirage/SceneMessage-c0f":{"__comp":"17896441","content":"a792b1a9"},"/Mirage/docs/reference/Mirage/SceneNotReadyMessage-877":{"__comp":"17896441","content":"486616e9"},"/Mirage/docs/reference/Mirage/SceneOperation-bf3":{"__comp":"17896441","content":"0aabcf88"},"/Mirage/docs/reference/Mirage/SceneReadyMessage-be5":{"__comp":"17896441","content":"7bfe96f1"},"/Mirage/docs/reference/Mirage/SceneVisibilityChecker-497":{"__comp":"17896441","content":"cdc22f13"},"/Mirage/docs/reference/Mirage/ServerAttribute-39c":{"__comp":"17896441","content":"2853af5a"},"/Mirage/docs/reference/Mirage/ServerObjectManager-8a4":{"__comp":"17896441","content":"0d17249a"},"/Mirage/docs/reference/Mirage/ServerObjectManagerExtensions-410":{"__comp":"17896441","content":"4c6e10d8"},"/Mirage/docs/reference/Mirage/ServerRpcAttribute-720":{"__comp":"17896441","content":"d55c0424"},"/Mirage/docs/reference/Mirage/ShowInInspectorAttribute-baa":{"__comp":"17896441","content":"cb7824aa"},"/Mirage/docs/reference/Mirage/SpawnEvent-990":{"__comp":"17896441","content":"b7a73740"},"/Mirage/docs/reference/Mirage/SpawnHandler-c86":{"__comp":"17896441","content":"323840ef"},"/Mirage/docs/reference/Mirage/SpawnHandlerAsyncDelegate-2ad":{"__comp":"17896441","content":"0a5e7ba0"},"/Mirage/docs/reference/Mirage/SpawnHandlerDelegate-92d":{"__comp":"17896441","content":"c46dad8c"},"/Mirage/docs/reference/Mirage/SpawnMessage-8f3":{"__comp":"17896441","content":"0cb67676"},"/Mirage/docs/reference/Mirage/SpawnObjectException-0eb":{"__comp":"17896441","content":"45fa5813"},"/Mirage/docs/reference/Mirage/SpawnValues-0b0":{"__comp":"17896441","content":"c7556772"},"/Mirage/docs/reference/Mirage/StringHash-aa0":{"__comp":"17896441","content":"facbbfa1"},"/Mirage/docs/reference/Mirage/SyncActiveOption-343":{"__comp":"17896441","content":"49d278e3"},"/Mirage/docs/reference/Mirage/SyncFrom-821":{"__comp":"17896441","content":"8a37668a"},"/Mirage/docs/reference/Mirage/SyncHookType-08a":{"__comp":"17896441","content":"0bcf5065"},"/Mirage/docs/reference/Mirage/SyncPrefab-2db":{"__comp":"17896441","content":"06abcc68"},"/Mirage/docs/reference/Mirage/SyncPrefabSerialize-3dc":{"__comp":"17896441","content":"56708a24"},"/Mirage/docs/reference/Mirage/SyncSettings-570":{"__comp":"17896441","content":"e09e4b5c"},"/Mirage/docs/reference/Mirage/SyncTiming-ae9":{"__comp":"17896441","content":"1e95c04c"},"/Mirage/docs/reference/Mirage/SyncTo-c85":{"__comp":"17896441","content":"38c61e2e"},"/Mirage/docs/reference/Mirage/SyncVarAttribute-9a2":{"__comp":"17896441","content":"6667a3ca"},"/Mirage/docs/reference/Mirage/SyncVarReceiver-fea":{"__comp":"17896441","content":"a4d488d5"},"/Mirage/docs/reference/Mirage/SyncVarSender-554":{"__comp":"17896441","content":"99773e67"},"/Mirage/docs/reference/Mirage/UnSpawnDelegate-c31":{"__comp":"17896441","content":"a8c3cfa6"},"/Mirage/docs/reference/Mirage/UpdateVarsMessage-2dd":{"__comp":"17896441","content":"a3d1556d"},"/Mirage/docs/reference/Mirage/Version-205":{"__comp":"17896441","content":"501b4be3"},"/Mirage/-083":{"__comp":"c4f5d8e4","__context":{"plugin":"ffdc071e"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[532],(()=>{return t=49383,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.74015565.js.LICENSE.txt b/assets/js/main.74015565.js.LICENSE.txt new file mode 100644 index 00000000000..c7805e82ae9 --- /dev/null +++ b/assets/js/main.74015565.js.LICENSE.txt @@ -0,0 +1,59 @@ +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ + +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */ + +/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ + +/** + * Prism: Lightweight, robust, elegant syntax highlighting + * + * @license MIT <https://opensource.org/licenses/MIT> + * @author Lea Verou <https://lea.verou.me> + * @namespace + * @public + */ + +/** @license React v0.20.2 + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v17.0.2 + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v17.0.2 + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ diff --git a/assets/js/runtime~main.da509527.js b/assets/js/runtime~main.da509527.js new file mode 100644 index 00000000000..4d6ad072ec2 --- /dev/null +++ b/assets/js/runtime~main.da509527.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,a,c,f,d,b={},r={};function t(e){var a=r[e];if(void 0!==a)return a.exports;var c=r[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,t),c.loaded=!0,c.exports}t.m=b,e=[],t.O=(a,c,f,d)=>{if(!c){var b=1/0;for(i=0;i<e.length;i++){c=e[i][0],f=e[i][1],d=e[i][2];for(var r=!0,o=0;o<c.length;o++)(!1&d||b>=d)&&Object.keys(t.O).every((e=>t.O[e](c[o])))?c.splice(o--,1):(r=!1,d<b&&(b=d));if(r){e.splice(i--,1);var n=f();void 0!==n&&(a=n)}}return a}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[c,f,d]},t.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return t.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,t.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var d=Object.create(null);t.r(d);var b={};a=a||[null,c({}),c([]),c(c)];for(var r=2&f&&e;"object"==typeof r&&!~a.indexOf(r);r=c(r))Object.getOwnPropertyNames(r).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,t.d(d,b),d},t.d=(e,a)=>{for(var c in a)t.o(a,c)&&!t.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce(((a,c)=>(t.f[c](e,a),a)),[])),t.u=e=>"assets/js/"+({22:"6167d028",53:"935f2afb",56:"69c2102a",80:"9ae3d5a3",92:"f1511b56",125:"487e1727",129:"8512b363",145:"fd242af7",206:"716eb1ca",231:"7bfe96f1",236:"ac796a7f",238:"297406a3",264:"0f873b64",265:"54e8ff0e",282:"d55c0424",311:"379fad4b",348:"b0440449",351:"2ccd3a42",392:"3dc557df",406:"f97ae027",431:"91848592",578:"484ab952",585:"55d87c72",600:"4f685a05",614:"56708a24",668:"e31924a3",670:"922c6cfd",676:"b7a35126",701:"61be958e",726:"38134b8b",742:"1e25fb88",746:"7a207e95",765:"95d6d710",798:"e274e7f0",808:"4afae106",817:"8a1d5087",834:"98df3658",835:"ba841bc4",844:"b183603a",852:"5517ca4e",853:"5cfd5e85",907:"5df522bb",919:"085a1412",927:"79637c4d",965:"b919ef2d",972:"d32d2739",976:"9ba34e8e",990:"5ac746a2",1007:"fd5d697e",1105:"cb7824aa",1112:"61c6cc01",1115:"bd77521a",1150:"ffdc071e",1183:"1a180147",1199:"07828445",1221:"fe9e8813",1239:"bfb14a0f",1349:"71202e15",1444:"2853af5a",1481:"84df7614",1519:"f784ccf0",1540:"34280bbd",1560:"12f66dc8",1568:"5d2441e2",1601:"372e0d8a",1627:"ceed7abf",1688:"ef60f95c",1720:"38c61e2e",1744:"efcb83d3",1747:"216e5825",1762:"bcb4c7e9",1768:"371e843a",1802:"bf614533",1838:"c0cb6d49",1848:"aeb157ae",1853:"0d17249a",1864:"bdbf9329",1877:"fcf44c20",1883:"a4d488d5",1913:"b62029b6",1989:"cb7b6e07",2019:"466aa417",2025:"5d5c952f",2090:"141367b2",2104:"6422d8fd",2106:"066f829e",2129:"d3ed2569",2133:"4ede7c35",2187:"516f6285",2214:"7034e9cc",2246:"95800a96",2289:"2b92dd73",2359:"0eb168b6",2382:"f8143c60",2445:"73859643",2456:"d89afa6d",2457:"4ae64b88",2467:"df5709a4",2474:"6a86f672",2476:"7206d972",2477:"4165009c",2501:"3f72e647",2543:"23d11a1d",2558:"ea282697",2592:"ce904f20",2611:"4cbf0de8",2643:"9ed85156",2646:"4c176dcf",2653:"6a31f070",2753:"767d4d3d",2757:"e2efae6d",2760:"5655c588",2797:"710d0f2c",2803:"a2c8fbc9",2831:"eb90c1cd",2839:"df235e99",2855:"866d302e",2880:"2f0154d3",2942:"6494cf5c",2983:"b882f839",3067:"5faa7d70",3077:"e5c7ba44",3083:"f5a162fb",3084:"c46dad8c",3101:"ba52ef73",3135:"06abcc68",3138:"677a0949",3164:"d5348c33",3178:"b1ea56a4",3195:"aad520d2",3240:"05d00909",3298:"f640cbed",3303:"515794c4",3337:"f9640919",3340:"ab7438d5",3345:"809497a5",3372:"a3d1556d",3379:"1d0defc3",3381:"3d4a9cc3",3421:"8adcb82a",3450:"abc915fa",3486:"62cec94c",3492:"2af1b032",3503:"520eaf41",3505:"54287c76",3508:"e4aa2d07",3515:"384f4959",3518:"b67206e2",3520:"03f0e0a6",3526:"4105dd5f",3559:"8f75e97d",3610:"fea0156e",3617:"2429903c",3669:"13f63d09",3716:"f78243fa",3722:"0d72b43e",3728:"e15849bb",3754:"a2738a55",3802:"30f32373",3811:"3546aac4",3828:"6ee977c8",3831:"b7a04171",3952:"f9f08424",3966:"07989add",4069:"15b2e714",4073:"b1aead42",4076:"88132b57",4077:"54089b9c",4105:"cbfe22ae",4150:"0c8bc2eb",4195:"c4f5d8e4",4198:"eb4d19ea",4201:"89bce9de",4218:"842d10b8",4241:"ace394d2",4261:"b7f3adf9",4276:"917b243f",4309:"f7f2a7d9",4321:"34ea7f48",4328:"50a667f7",4351:"b74b01f8",4415:"bb9ef7e3",4426:"3e6e00cc",4430:"a05b3eb9",4431:"66a8e7cc",4434:"78c45894",4511:"c7556772",4540:"c1ae4c6e",4570:"bd06e4c1",4582:"7c99c0f6",4591:"0f978974",4624:"ae89d117",4637:"0aabcf88",4638:"a4847e6d",4644:"a88632d6",4658:"2c5fc0c1",4665:"cbb29ae8",4697:"6f3edcc1",4698:"86943c9d",4716:"a1546f52",4764:"2c840ae3",4777:"25762df2",4781:"2916e125",4788:"e09e4b5c",4915:"a0266dc1",4939:"8663f307",4953:"5d411712",4989:"8b61a806",5004:"98576e8e",5049:"4f119fdf",5056:"caea44cb",5077:"65bb50ec",5097:"dc56fe7a",5101:"304a0d1e",5138:"359db5b7",5159:"323840ef",5161:"e616c336",5164:"010b5e3f",5183:"bcd82947",5195:"8e6c0a40",5266:"dd9f2c48",5269:"e46ab49a",5294:"e507b4be",5323:"51771b94",5328:"d1ac8158",5389:"b79279ef",5450:"67ec8c3a",5463:"bbfc0176",5473:"baed4f35",5498:"d3f389b2",5502:"a461f4c5",5505:"4786a1d5",5515:"e0e16dd2",5546:"95cbe481",5568:"c8ac775b",5583:"cb3b0dec",5614:"0cb67676",5643:"b2f5f910",5645:"45fa5813",5646:"6aef5635",5665:"c82d0717",5666:"501b4be3",5682:"9d2800ec",5712:"23431363",5717:"91995dc1",5718:"d741cf9d",5745:"8bcc25e3",5783:"1ca04d15",5832:"6ac045de",5849:"1f36a51e",5900:"3cd512ef",5909:"df9b0653",5918:"486616e9",5968:"a0badf39",5971:"02a78bc8",6001:"3394a2aa",6004:"1e95c04c",6007:"854783ac",6036:"09c46ec7",6076:"489b016d",6084:"287acd0d",6176:"14209d49",6184:"0299007e",6202:"b7a73740",6210:"4eb4e893",6215:"bf183fc6",6245:"c7769688",6289:"f3c20154",6312:"6667a3ca",6318:"eb0095b0",6357:"8ef8a6f4",6358:"67576404",6377:"1fa3a74b",6378:"d5202bd8",6379:"ebcacb84",6384:"68238c31",6393:"472d413f",6436:"d82abd5c",6442:"6af88fca",6468:"302e48e3",6504:"3e696d9c",6526:"49d278e3",6539:"9374470d",6632:"d4da1ce9",6643:"c64a7ca8",6669:"92b7d40b",6680:"3ffe27c8",6704:"dc9b839a",6714:"884605ab",6716:"ef73d847",6799:"cf38ca78",6804:"945dafc1",6807:"f62325e2",6812:"18c381f9",6855:"0db2af96",6876:"d36d63ca",6882:"a52a3c1b",6899:"8cf8a272",6952:"8c338613",6995:"b8e54a0e",7035:"78549414",7061:"6a7e5168",7091:"68f10ba5",7113:"48dff082",7153:"85064cd5",7193:"33ee75c3",7218:"32aad382",7228:"888e8919",7251:"cc2efbbf",7285:"9eeea845",7312:"a6c75258",7366:"821bca10",7402:"22a4596f",7459:"88eadf9d",7471:"0a5e7ba0",7576:"36f4e2eb",7581:"1fab70f8",7585:"c6182bb9",7599:"bd783ed9",7605:"58175e84",7608:"198a2045",7615:"ea9879e1",7633:"dbecde0e",7667:"dfedeaf8",7674:"824aed02",7703:"a0e32dbc",7706:"18691bba",7718:"72fa76fe",7772:"68bc1568",7838:"693f6e2a",7918:"17896441",7944:"a8c3cfa6",7999:"489985f3",8002:"8dcc4ea6",8004:"0bcf5065",8022:"ed2375fe",8030:"50e1459e",8052:"7600f836",8053:"c1a5e256",8066:"a7f7e7d2",8088:"5d3b1bc5",8185:"b908ce4e",8223:"029678fa",8266:"c5e4a08a",8268:"8c2257c1",8273:"3510ba8e",8396:"bce13862",8402:"4951f167",8405:"aec765fc",8442:"8a37668a",8443:"ef37c68e",8564:"83650baf",8567:"99773e67",8577:"f1ac09af",8601:"05d3eaad",8603:"df999642",8682:"4c6e10d8",8696:"bbd9f6e1",8698:"cdc22f13",8742:"a1b6e57c",8793:"9654b5f5",8794:"81f459f9",8848:"8230aa30",8894:"72932dd9",8971:"e30c6926",9001:"1abe0f94",9019:"bae86d55",9027:"1bacd51f",9046:"c42d2489",9057:"b5249036",9069:"69abed1f",9078:"9ea10303",9079:"3897ec4d",9101:"d04aec73",9131:"e7d07015",9145:"390bfbee",9149:"bd839411",9180:"a5f54a07",9189:"1cf2e72f",9203:"0fc532d3",9246:"5b79b0ab",9261:"1a58ca7b",9304:"4b7e9577",9307:"27e7b85b",9343:"983360fd",9346:"d5cd641f",9384:"66e916c3",9390:"17d429ab",9418:"81fcd85f",9455:"dad5a29f",9461:"a792b1a9",9514:"1be78505",9539:"c0cd22d5",9540:"b101daec",9545:"61845e4c",9593:"69c4e507",9595:"e1929551",9597:"373cb441",9600:"b4a89525",9608:"f857c277",9620:"2cf67689",9625:"ddefe481",9660:"46f8bbcb",9666:"8d036df7",9667:"0ba5344b",9694:"facbbfa1",9775:"745a6df1",9783:"5f86f892",9797:"bbc2f8de",9805:"5ad9c4e4",9817:"14eb3368",9825:"fd3b502f",9834:"63e9b7e2",9847:"851c38ea",9867:"f0ebcc9e",9875:"bc698184",9895:"1d99eae8",9899:"0d8d80bc",9969:"e92ca709",9987:"1c85ceac"}[e]||e)+"."+{22:"089c55aa",53:"9bc06ce1",56:"1dd6cb55",80:"1ee33a24",92:"9c8e37a9",125:"f78242bd",129:"67616a60",145:"f4265a4b",206:"e935623a",231:"88c96193",236:"e8d17d8f",238:"ce303cf0",264:"6a936e17",265:"b1600910",282:"e6d0dcd8",311:"004d1e93",348:"48546412",351:"3f5d51a2",392:"cc879d3f",406:"69e7f0f1",431:"e77e5674",578:"966a9a8f",585:"3a115a67",600:"9f6ae61d",614:"2acdfd0a",668:"45181a93",670:"1fbd7ae5",676:"43ccb064",701:"d7fab671",726:"eaeb2d8a",742:"a764c02c",746:"1330be37",765:"de3f69c1",798:"e6908e1d",808:"6145ca74",817:"363882ef",834:"c82c1d0e",835:"3d8a92f0",844:"df77bfad",852:"2321bbe9",853:"621f8091",907:"6c1fcfaf",919:"0a76ea38",927:"e216133f",965:"24ec35f3",972:"b0784099",976:"fdd07149",990:"f0d599b4",1007:"a2ad701c",1105:"fb5c6514",1112:"0587d776",1115:"b9f37706",1150:"edbce625",1183:"1015af7c",1199:"b4bf2d07",1221:"f9331ba7",1239:"970aca50",1245:"b5dc6f8d",1349:"2a01d34c",1444:"6dbde21c",1481:"32a2b99f",1519:"07222259",1540:"39b87eab",1560:"58ae51a8",1568:"c71c0154",1601:"b2db74a4",1627:"90e46c54",1688:"c2d2d64c",1720:"2b515086",1744:"04145e74",1747:"682d4fd3",1762:"c72fecb6",1768:"adad92fa",1802:"71539c37",1838:"b3a0c9bd",1848:"524d1291",1853:"028d64d5",1864:"813c73be",1877:"f66207e7",1883:"97c4824b",1913:"be290ab7",1989:"597aaf65",2019:"3cbdb40f",2025:"30076730",2090:"129b2ae1",2104:"afb4ab51",2106:"c0a8b056",2129:"ad48ecc1",2133:"cb5b5cb0",2187:"1ec0c4b5",2214:"c40028ec",2246:"e44cf4a0",2289:"cb1f0cf6",2359:"485bc196",2382:"baf6b5e7",2445:"4e2593fa",2456:"e57937da",2457:"6d602293",2467:"e2b84546",2474:"42e3315e",2476:"1c6535ec",2477:"92c0de8e",2501:"d425b585",2543:"58692ad8",2558:"60c52b27",2592:"7b85d123",2611:"d736f5d5",2643:"e8fb63c1",2646:"c36b7ca1",2653:"2e4afdfc",2753:"5f0a99a3",2757:"3f85bb29",2760:"9235c794",2797:"c5400f68",2803:"07b3e718",2831:"7fad9fa5",2839:"2e92a1f7",2855:"aa6f7aa7",2880:"69e34f2e",2942:"b6322c80",2983:"688205dc",3067:"37d0bd49",3077:"bed7f247",3083:"550206e9",3084:"098203c9",3101:"068aa8a6",3135:"02086eb9",3138:"2f6f3430",3164:"f0f0c968",3178:"856f93f5",3195:"63dfb556",3240:"a9ec8b9a",3298:"f129d9d5",3303:"1b1e185b",3337:"8a3fa7e9",3340:"b8be9568",3343:"5fa8a349",3345:"ea9b6961",3372:"f62e9a21",3379:"302b60f5",3381:"ebb59d3c",3421:"8fadc205",3450:"1c88063b",3486:"b7b72ee8",3492:"7955921e",3503:"5ff0e72e",3505:"3c0d643f",3508:"ba55c9f6",3515:"59f0126a",3518:"7ab61568",3520:"0ebb5ace",3526:"19fe9ecd",3559:"ae210cb4",3610:"413d7e7c",3617:"30552a33",3669:"49c33c9b",3716:"a77d4d16",3722:"6d09af10",3728:"7cfa63a4",3754:"a0882e0c",3802:"e66173d7",3811:"84b3cb2f",3828:"6c4915b6",3831:"f89a24ad",3952:"9e95f440",3966:"56b1d626",4069:"ee327ef3",4073:"3f76dc5c",4076:"11d4a230",4077:"5c4f5760",4105:"5cee2c25",4150:"8118fdbc",4195:"f87fae05",4198:"25d13995",4201:"6a7d4cf9",4218:"defe95bb",4241:"d05a18a1",4261:"14332830",4276:"a09a15b0",4309:"59d2c448",4321:"a06c01a6",4328:"3c806473",4351:"5f1b410c",4415:"05c56417",4426:"92f06702",4430:"8a3c2025",4431:"ec325e8b",4434:"4123f071",4511:"530df1b9",4540:"c8536fb6",4570:"02fbc194",4582:"026e9048",4591:"df454949",4624:"4f346ad1",4637:"19f6e3cf",4638:"864ae477",4644:"1f0b7c4f",4658:"448c4254",4665:"5ce2d933",4697:"745bb8e6",4698:"cb65a9b4",4716:"466f7cde",4764:"58ed4892",4777:"9088e861",4781:"383bc11d",4788:"3d21435a",4915:"9a9f23e4",4939:"785ade51",4953:"5d2587af",4972:"8fab4c1b",4989:"96b56b88",5004:"a1119226",5049:"0a5da35b",5056:"c0dc81c8",5077:"a2ea447b",5097:"3ee40f4f",5101:"7d55651c",5138:"4af3d472",5159:"8532d5fd",5161:"e87380b8",5164:"26ac74c4",5183:"676f12a3",5195:"476f2bfb",5266:"5eabcf6b",5269:"13059646",5294:"3a8ded00",5323:"574d2693",5328:"d7a15c16",5389:"16add618",5450:"993d096f",5463:"b4fc8379",5473:"5442b88e",5498:"fdec8b89",5502:"bc22d2b2",5505:"25f7278e",5515:"26b2e523",5546:"befee815",5568:"aaf64603",5583:"3c23e3db",5614:"16cd56e5",5643:"6b0df98d",5645:"01e4c0aa",5646:"a58f2bb5",5665:"f5ca8ada",5666:"fd58fc3f",5682:"2bd06fd1",5712:"9104a3b8",5717:"80165a10",5718:"1211a8ca",5745:"6c5d92c7",5783:"d6151682",5832:"4496fecc",5849:"0e73442f",5900:"741bc5f9",5909:"cfe31307",5918:"9da01dac",5968:"c3f71496",5971:"0b8f7354",6001:"ae9d7319",6004:"c9e101b9",6007:"18c7b281",6036:"ace2ebcd",6076:"ad6aa7c1",6084:"ce562b0c",6176:"56fefc8b",6184:"c2da7bd8",6202:"bbbbcd65",6210:"a012a68b",6215:"677748ae",6245:"661d208f",6289:"7c160140",6312:"0a28ad17",6318:"d9986148",6357:"ce5c9287",6358:"92f31c89",6377:"4e0ac8ac",6378:"9318bdfd",6379:"14abdc4e",6384:"be1080c2",6393:"954aa241",6436:"4fba7293",6442:"5e685dfb",6468:"34b8aefb",6504:"52d4318f",6526:"e6dd0cf2",6539:"e3339572",6632:"aa8801fe",6643:"f6f1cbcb",6669:"fa36475b",6680:"d341a60b",6704:"d492a76c",6714:"290d0c3e",6716:"ce4a92c7",6799:"9a0abeb1",6804:"f841db76",6807:"ff92f337",6812:"7153a423",6855:"7cc2e655",6876:"0fa8a4e0",6882:"de608168",6899:"5fbd18dc",6952:"25389548",6995:"d5bdfc2d",7035:"0d2568de",7061:"89f669eb",7091:"641bc6ea",7113:"a1de10b3",7153:"be9f2289",7193:"b486390c",7218:"3f9f7692",7228:"088aed0d",7251:"fb8ffd71",7285:"e9b2d09a",7312:"df4a7bea",7366:"8ff6c583",7402:"f64b1ad3",7459:"e8dc490e",7471:"853573a4",7576:"aef1f72b",7581:"cd002bac",7585:"454cd107",7599:"03836bfa",7605:"95a546dc",7608:"41142769",7615:"c7d3709c",7633:"f9ea340e",7667:"ff1812c8",7674:"423101d7",7703:"92f370cf",7706:"7cb8fdd7",7718:"b8426a26",7772:"999a20f5",7838:"90185965",7918:"ba87714d",7944:"00020944",7999:"5e850c55",8002:"6150d66d",8004:"399acb4a",8022:"567e611f",8030:"f3fe9480",8052:"e91904e6",8053:"7b7f78b5",8066:"ca598267",8088:"9e2f2a8e",8185:"f85a95b7",8223:"85a67be5",8266:"58098a35",8268:"21e1295a",8273:"e025d141",8396:"0016bf01",8402:"6fde4d42",8405:"6028d8ae",8442:"5d035a1e",8443:"14ee1151",8564:"a01bf4a7",8567:"efb518aa",8577:"9d5e9530",8601:"82bfa554",8603:"3d279739",8624:"c394d7b9",8682:"cdee2b08",8696:"451be7c5",8698:"945bea91",8742:"77a34431",8793:"145269d9",8794:"60beee81",8848:"8b54232c",8894:"4878d216",8971:"ea9722d7",9001:"2f6f188e",9019:"052002fd",9027:"cbf116e3",9046:"23d0e850",9057:"08858600",9069:"ca14d603",9078:"c0e1e5c9",9079:"534fcaa8",9101:"80c83a86",9131:"91361676",9145:"19790c54",9149:"8378a112",9180:"f609de80",9189:"df76257a",9203:"8a7878ff",9246:"a988a924",9261:"5b7302fc",9304:"5503f694",9307:"98bf30e1",9343:"f0012377",9346:"a2e091e7",9384:"cbb93695",9390:"ba072efe",9418:"041a3d9f",9455:"8df76ea7",9461:"10adc6e8",9514:"6fe4481c",9539:"5563d791",9540:"986078c9",9545:"14223b27",9593:"4dbf3a02",9595:"f93dcd13",9597:"3cdad254",9600:"0cff2aad",9608:"f2c24835",9620:"67ddacb2",9625:"8269e210",9660:"403b9225",9666:"9ecaafde",9667:"ff456f06",9694:"72de8301",9775:"bbd87f2c",9783:"457a623f",9797:"b196649b",9805:"2e2cdc95",9817:"848badd9",9825:"acd2064d",9834:"ff427f42",9847:"2a9e68bb",9867:"24640e4f",9875:"0104662c",9878:"f2faa2ed",9895:"bc650cea",9899:"15b56fce",9969:"1e2c3c46",9987:"0185f8ee"}[e]+".js",t.miniCssF=e=>{},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),t.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},d="mirage-docs:",t.l=(e,a,c,b)=>{if(f[e])f[e].push(a);else{var r,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var l=n[i];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==d+c){r=l;break}}r||(o=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,t.nc&&r.setAttribute("nonce",t.nc),r.setAttribute("data-webpack",d+c),r.src=e),f[e]=[a];var u=(a,c)=>{r.onerror=r.onload=null,clearTimeout(s);var d=f[e];if(delete f[e],r.parentNode&&r.parentNode.removeChild(r),d&&d.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),o&&document.head.appendChild(r)}},t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),t.p="/Mirage/",t.gca=function(e){return e={17896441:"7918",23431363:"5712",67576404:"6358",73859643:"2445",78549414:"7035",91848592:"431","6167d028":"22","935f2afb":"53","69c2102a":"56","9ae3d5a3":"80",f1511b56:"92","487e1727":"125","8512b363":"129",fd242af7:"145","716eb1ca":"206","7bfe96f1":"231",ac796a7f:"236","297406a3":"238","0f873b64":"264","54e8ff0e":"265",d55c0424:"282","379fad4b":"311",b0440449:"348","2ccd3a42":"351","3dc557df":"392",f97ae027:"406","484ab952":"578","55d87c72":"585","4f685a05":"600","56708a24":"614",e31924a3:"668","922c6cfd":"670",b7a35126:"676","61be958e":"701","38134b8b":"726","1e25fb88":"742","7a207e95":"746","95d6d710":"765",e274e7f0:"798","4afae106":"808","8a1d5087":"817","98df3658":"834",ba841bc4:"835",b183603a:"844","5517ca4e":"852","5cfd5e85":"853","5df522bb":"907","085a1412":"919","79637c4d":"927",b919ef2d:"965",d32d2739:"972","9ba34e8e":"976","5ac746a2":"990",fd5d697e:"1007",cb7824aa:"1105","61c6cc01":"1112",bd77521a:"1115",ffdc071e:"1150","1a180147":"1183","07828445":"1199",fe9e8813:"1221",bfb14a0f:"1239","71202e15":"1349","2853af5a":"1444","84df7614":"1481",f784ccf0:"1519","34280bbd":"1540","12f66dc8":"1560","5d2441e2":"1568","372e0d8a":"1601",ceed7abf:"1627",ef60f95c:"1688","38c61e2e":"1720",efcb83d3:"1744","216e5825":"1747",bcb4c7e9:"1762","371e843a":"1768",bf614533:"1802",c0cb6d49:"1838",aeb157ae:"1848","0d17249a":"1853",bdbf9329:"1864",fcf44c20:"1877",a4d488d5:"1883",b62029b6:"1913",cb7b6e07:"1989","466aa417":"2019","5d5c952f":"2025","141367b2":"2090","6422d8fd":"2104","066f829e":"2106",d3ed2569:"2129","4ede7c35":"2133","516f6285":"2187","7034e9cc":"2214","95800a96":"2246","2b92dd73":"2289","0eb168b6":"2359",f8143c60:"2382",d89afa6d:"2456","4ae64b88":"2457",df5709a4:"2467","6a86f672":"2474","7206d972":"2476","4165009c":"2477","3f72e647":"2501","23d11a1d":"2543",ea282697:"2558",ce904f20:"2592","4cbf0de8":"2611","9ed85156":"2643","4c176dcf":"2646","6a31f070":"2653","767d4d3d":"2753",e2efae6d:"2757","5655c588":"2760","710d0f2c":"2797",a2c8fbc9:"2803",eb90c1cd:"2831",df235e99:"2839","866d302e":"2855","2f0154d3":"2880","6494cf5c":"2942",b882f839:"2983","5faa7d70":"3067",e5c7ba44:"3077",f5a162fb:"3083",c46dad8c:"3084",ba52ef73:"3101","06abcc68":"3135","677a0949":"3138",d5348c33:"3164",b1ea56a4:"3178",aad520d2:"3195","05d00909":"3240",f640cbed:"3298","515794c4":"3303",f9640919:"3337",ab7438d5:"3340","809497a5":"3345",a3d1556d:"3372","1d0defc3":"3379","3d4a9cc3":"3381","8adcb82a":"3421",abc915fa:"3450","62cec94c":"3486","2af1b032":"3492","520eaf41":"3503","54287c76":"3505",e4aa2d07:"3508","384f4959":"3515",b67206e2:"3518","03f0e0a6":"3520","4105dd5f":"3526","8f75e97d":"3559",fea0156e:"3610","2429903c":"3617","13f63d09":"3669",f78243fa:"3716","0d72b43e":"3722",e15849bb:"3728",a2738a55:"3754","30f32373":"3802","3546aac4":"3811","6ee977c8":"3828",b7a04171:"3831",f9f08424:"3952","07989add":"3966","15b2e714":"4069",b1aead42:"4073","88132b57":"4076","54089b9c":"4077",cbfe22ae:"4105","0c8bc2eb":"4150",c4f5d8e4:"4195",eb4d19ea:"4198","89bce9de":"4201","842d10b8":"4218",ace394d2:"4241",b7f3adf9:"4261","917b243f":"4276",f7f2a7d9:"4309","34ea7f48":"4321","50a667f7":"4328",b74b01f8:"4351",bb9ef7e3:"4415","3e6e00cc":"4426",a05b3eb9:"4430","66a8e7cc":"4431","78c45894":"4434",c7556772:"4511",c1ae4c6e:"4540",bd06e4c1:"4570","7c99c0f6":"4582","0f978974":"4591",ae89d117:"4624","0aabcf88":"4637",a4847e6d:"4638",a88632d6:"4644","2c5fc0c1":"4658",cbb29ae8:"4665","6f3edcc1":"4697","86943c9d":"4698",a1546f52:"4716","2c840ae3":"4764","25762df2":"4777","2916e125":"4781",e09e4b5c:"4788",a0266dc1:"4915","8663f307":"4939","5d411712":"4953","8b61a806":"4989","98576e8e":"5004","4f119fdf":"5049",caea44cb:"5056","65bb50ec":"5077",dc56fe7a:"5097","304a0d1e":"5101","359db5b7":"5138","323840ef":"5159",e616c336:"5161","010b5e3f":"5164",bcd82947:"5183","8e6c0a40":"5195",dd9f2c48:"5266",e46ab49a:"5269",e507b4be:"5294","51771b94":"5323",d1ac8158:"5328",b79279ef:"5389","67ec8c3a":"5450",bbfc0176:"5463",baed4f35:"5473",d3f389b2:"5498",a461f4c5:"5502","4786a1d5":"5505",e0e16dd2:"5515","95cbe481":"5546",c8ac775b:"5568",cb3b0dec:"5583","0cb67676":"5614",b2f5f910:"5643","45fa5813":"5645","6aef5635":"5646",c82d0717:"5665","501b4be3":"5666","9d2800ec":"5682","91995dc1":"5717",d741cf9d:"5718","8bcc25e3":"5745","1ca04d15":"5783","6ac045de":"5832","1f36a51e":"5849","3cd512ef":"5900",df9b0653:"5909","486616e9":"5918",a0badf39:"5968","02a78bc8":"5971","3394a2aa":"6001","1e95c04c":"6004","854783ac":"6007","09c46ec7":"6036","489b016d":"6076","287acd0d":"6084","14209d49":"6176","0299007e":"6184",b7a73740:"6202","4eb4e893":"6210",bf183fc6:"6215",c7769688:"6245",f3c20154:"6289","6667a3ca":"6312",eb0095b0:"6318","8ef8a6f4":"6357","1fa3a74b":"6377",d5202bd8:"6378",ebcacb84:"6379","68238c31":"6384","472d413f":"6393",d82abd5c:"6436","6af88fca":"6442","302e48e3":"6468","3e696d9c":"6504","49d278e3":"6526","9374470d":"6539",d4da1ce9:"6632",c64a7ca8:"6643","92b7d40b":"6669","3ffe27c8":"6680",dc9b839a:"6704","884605ab":"6714",ef73d847:"6716",cf38ca78:"6799","945dafc1":"6804",f62325e2:"6807","18c381f9":"6812","0db2af96":"6855",d36d63ca:"6876",a52a3c1b:"6882","8cf8a272":"6899","8c338613":"6952",b8e54a0e:"6995","6a7e5168":"7061","68f10ba5":"7091","48dff082":"7113","85064cd5":"7153","33ee75c3":"7193","32aad382":"7218","888e8919":"7228",cc2efbbf:"7251","9eeea845":"7285",a6c75258:"7312","821bca10":"7366","22a4596f":"7402","88eadf9d":"7459","0a5e7ba0":"7471","36f4e2eb":"7576","1fab70f8":"7581",c6182bb9:"7585",bd783ed9:"7599","58175e84":"7605","198a2045":"7608",ea9879e1:"7615",dbecde0e:"7633",dfedeaf8:"7667","824aed02":"7674",a0e32dbc:"7703","18691bba":"7706","72fa76fe":"7718","68bc1568":"7772","693f6e2a":"7838",a8c3cfa6:"7944","489985f3":"7999","8dcc4ea6":"8002","0bcf5065":"8004",ed2375fe:"8022","50e1459e":"8030","7600f836":"8052",c1a5e256:"8053",a7f7e7d2:"8066","5d3b1bc5":"8088",b908ce4e:"8185","029678fa":"8223",c5e4a08a:"8266","8c2257c1":"8268","3510ba8e":"8273",bce13862:"8396","4951f167":"8402",aec765fc:"8405","8a37668a":"8442",ef37c68e:"8443","83650baf":"8564","99773e67":"8567",f1ac09af:"8577","05d3eaad":"8601",df999642:"8603","4c6e10d8":"8682",bbd9f6e1:"8696",cdc22f13:"8698",a1b6e57c:"8742","9654b5f5":"8793","81f459f9":"8794","8230aa30":"8848","72932dd9":"8894",e30c6926:"8971","1abe0f94":"9001",bae86d55:"9019","1bacd51f":"9027",c42d2489:"9046",b5249036:"9057","69abed1f":"9069","9ea10303":"9078","3897ec4d":"9079",d04aec73:"9101",e7d07015:"9131","390bfbee":"9145",bd839411:"9149",a5f54a07:"9180","1cf2e72f":"9189","0fc532d3":"9203","5b79b0ab":"9246","1a58ca7b":"9261","4b7e9577":"9304","27e7b85b":"9307","983360fd":"9343",d5cd641f:"9346","66e916c3":"9384","17d429ab":"9390","81fcd85f":"9418",dad5a29f:"9455",a792b1a9:"9461","1be78505":"9514",c0cd22d5:"9539",b101daec:"9540","61845e4c":"9545","69c4e507":"9593",e1929551:"9595","373cb441":"9597",b4a89525:"9600",f857c277:"9608","2cf67689":"9620",ddefe481:"9625","46f8bbcb":"9660","8d036df7":"9666","0ba5344b":"9667",facbbfa1:"9694","745a6df1":"9775","5f86f892":"9783",bbc2f8de:"9797","5ad9c4e4":"9805","14eb3368":"9817",fd3b502f:"9825","63e9b7e2":"9834","851c38ea":"9847",f0ebcc9e:"9867",bc698184:"9875","1d99eae8":"9895","0d8d80bc":"9899",e92ca709:"9969","1c85ceac":"9987"}[e]||e,t.p+t.u(e)},(()=>{var e={1303:0,532:0};t.f.j=(a,c)=>{var f=t.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var d=new Promise(((c,d)=>f=e[a]=[c,d]));c.push(f[2]=d);var b=t.p+t.u(a),r=new Error;t.l(b,(c=>{if(t.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var d=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;r.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",r.name="ChunkLoadError",r.type=d,r.request=b,f[1](r)}}),"chunk-"+a,a)}},t.O.j=a=>0===e[a];var a=(a,c)=>{var f,d,b=c[0],r=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(f in r)t.o(r,f)&&(t.m[f]=r[f]);if(o)var i=o(t)}for(a&&a(c);n<b.length;n++)d=b[n],t.o(e,d)&&e[d]&&e[d][0](),e[d]=0;return t.O(i)},c=self.webpackChunkmirage_docs=self.webpackChunkmirage_docs||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})()})(); \ No newline at end of file diff --git a/docs/category/components/index.html b/docs/category/components/index.html new file mode 100644 index 00000000000..c26cbfc9ff5 --- /dev/null +++ b/docs/category/components/index.html @@ -0,0 +1,17 @@ +<!doctype html> +<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default"> +<head> +<meta charset="UTF-8"> +<meta name="viewport" content="width=device-width,initial-scale=1"> +<meta name="generator" content="Docusaurus v2.0.0-rc.1"> +<title data-rh="true">Components | Mirage Networking + + + + +
+

Components

+ + + + \ No newline at end of file diff --git a/docs/category/examples/index.html b/docs/category/examples/index.html new file mode 100644 index 00000000000..8c6b736a816 --- /dev/null +++ b/docs/category/examples/index.html @@ -0,0 +1,17 @@ + + + + + + +Examples | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/category/general/index.html b/docs/category/general/index.html new file mode 100644 index 00000000000..874016679cd --- /dev/null +++ b/docs/category/general/index.html @@ -0,0 +1,17 @@ + + + + + + +General | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/category/guides/index.html b/docs/category/guides/index.html new file mode 100644 index 00000000000..21feec74f92 --- /dev/null +++ b/docs/category/guides/index.html @@ -0,0 +1,17 @@ + + + + + + +Guides | Mirage Networking + + + + +
+
+ + + + \ No newline at end of file diff --git a/docs/components/index.html b/docs/components/index.html new file mode 100644 index 00000000000..56892369f79 --- /dev/null +++ b/docs/components/index.html @@ -0,0 +1,33 @@ + + + + + + +Overview | Mirage Networking + + + + +
+

Overview

These core components are included in Mirage:

  • Network Animator
    +The Network Animator component allows you to synchronize animation states for networked objects. It synchronizes state and parameters from an Animator Controller.

  • Network Authenticator
    +A list of built-in Authenticator can be found on the authentication page

  • Network Discovery
    +Network Discovery uses a UDP broadcast on the LAN enabling clients to find the running server and connect to it.

  • Network Identity
    +The Network Identity component is at the heart of the Mirage networking high-level API. It controls a game object’s unique identity on the network, and it uses that identity to make the networking system aware of the game object. It offers two different options for configuration and they are mutually exclusive, which means either one of the options or none can be checked.

  • Network LogSettings
    +Adds logging levels per class for Mirror components

  • Network Manager
    +The Network Manager is a component for managing the networking aspects of a multiplayer game.

  • Network Manager HUD
    +The Network Manager HUD is a quick-start tool to help you start building your multiplayer game straight away, without first having to build a user interface for game creation/connection/joining. It allows you to jump straight into your gameplay programming and means you can build your own version of these controls later in your development schedule.

  • Network Match Checker
    +The Network Match Checker component controls the visibility of networked objects based on match id.

  • Network Ping Display +Network Ping Display shows the Ping time for clients using OnGUI

  • Network Proximity Checker
    +The Network Proximity Checker component controls the visibility of game objects for network clients, based on proximity to players.

  • Network Room Manager
    +The Network Room Manager is an extension component of Network Manager that provides a basic functional room.

  • Network Room Player
    +The Network Room Player is a component that's required on Player prefabs used in the Room Scene with the Network Room Manager above.

  • Network Scene Checker
    +The Network Scene Checker component controls the visibility of networked objects between scenes.

  • Network Start Position
    +Network Start Position is used by the Network Manager when creating character objects. The position and rotation of the Network Start Position are used to place the newly created character object.

  • Network Transform
    +The Network Transform component synchronizes the movement and rotation of game objects across the network. Note that the network Transform component only synchronizes spawned networked game objects.

  • Network Transform Child
    +The Network Transform Child component synchronizes the position and rotation of the child game object of a game object with a Network Transform component.

+ + + + \ No newline at end of file diff --git a/docs/components/network-animator/index.html b/docs/components/network-animator/index.html new file mode 100644 index 00000000000..07b270ab59b --- /dev/null +++ b/docs/components/network-animator/index.html @@ -0,0 +1,19 @@ + + + + + + +Network Animator | Mirage Networking + + + + +
+

Network Animator

The Network Animator component allows you to synchronize animation states for networked objects. It synchronizes state and parameters from an Animator Controller.

Note that if you create a Network Animator component on an empty game object, Mirage also creates a Network Identity component and an Animator component on that game object.

The Network Animator component in the Inspector window

  • Client Authority
    +Enable this to have changes to animation parameters sent from client to server.

  • Animator
    +Use this field to define the Animator component you want the Network Animator to synchronize with.

Normally, changes are sent to all observers of the object this component is on. Setting Sync Mode to Owner Only makes the changes private between the server and the client owner of the object.

You can use the Sync Interval to specify how often it syncs (in seconds).

Details

The Network Animator ensures the synchronization of game object animation across the network, meaning that all players see the animation happen at the same. There are two kinds of authority for networked animation (see documentation on Network Authority):

note

Animator Triggers are not synced directly. Call NetworkAnimator.SetTrigger instead. A game object with authority can use the SetTrigger function to fire an animation trigger on other clients.

  • If the game object has authority over the client, you should animate it locally on the client that owns the game object. That client sends the animation state information to the server, which broadcasts it to all the other clients. For example, this may be suitable for player characters with client authority.
  • If the game object has authority on the server, then you should animate it on the server. The server then sends state information to all clients. This is common for animated game objects that are not related to a specific client, such as scene objects and non-player characters, or server-authoritative clients.
+ + + + \ No newline at end of file diff --git a/docs/components/network-discovery/index.html b/docs/components/network-discovery/index.html new file mode 100644 index 00000000000..bc2ccf5b6fa --- /dev/null +++ b/docs/components/network-discovery/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Discovery | Mirage Networking + + + + +
+

Network Discovery

Suppose you are next to a friend. He starts a game in host mode and you want to join him. How will your phone locate his? Finding out his IP address is not exactly intuitive or something kids can do.

To solve this problem you can use Network Discovery. When your game starts, it sends a message in your current network asking "Is there any server available?". Any server within the same network will reply and provide information about how to connect to it.

Mirage comes with a simple implementation of Network Discovery you can simply use in your game. It also provides a way for you to extend it so that you can pass additional data during the discovery phase.

Inspector

NetworkDiscovery and NetworkDiscoveryHUD components are included.

Network Discovery uses a UDP broadcast on the LAN enabling clients to find the running server and connect to it.

When a server is started, it listens on the UDP Broadcast Listen Port for requests from clients and returns a connection URI that clients apply to their transport.

You can adjust how often the clients send their requests out to find a server in seconds with the Active Discovery Interval.

The Server Found event must be assigned to a handler method, e.g. the OnDiscoveredServer method of NetworkDiscoveryHUD.

In the NetworkDiscoveryHUD, the NetworkDiscovery component should be assigned automatically.

Quick Start

To use Network Discovery follow these steps:

  1. Create a game object with a NetworkManager if you have not done so already
  2. Do not add a NetworkManagerHUD. Discovery has a different UI component.
  3. Add a NetworkDiscoveryHUD component to the NetworkManager game object.
    A NetworkDiscovery component will be automatically added and wired up to your HUD.
  4. Add a player to the NetworkManager if you have not done so.
  5. Build and run a standalone version
  6. Click on Start Host
  7. Start play mode in the editor and click on Find Servers
  8. The editor should find the standalone version and display a button
  9. Click on the button to connect to it.

The NetworkDiscoveryHUD is provided as a simple and quick way to get started, but you will probably want to replace it with your own user interface.

Custom Network Discovery

You can completely replace the user interface by adding your own interface (typically Unity UI based) instead of the default NetworkDiscoveryHUD. You do still need the NetworkDiscovery component to do the heavy lifting.

Sometimes you want to provide more information in the discovery messages. Some use cases could include:

  • The client can show if the server is in PvP or PvE mode
  • The client can show how full the servers are.
  • The client can show the ping to each server so the player can choose the fastest server
  • The client can show the language
  • The client can show if the server is password protected

The message classes define what is sent between the client and server. As long as you keep your messages simple using the Data Types that Mirage can serialize, you won't need to write custom serializers for them.

public class DiscoveryRequest
{
public string language="en";

// Add properties for whatever information you want sent by clients
// in their broadcast messages that servers will consume.
}

public class DiscoveryResponse
{
enum GameMode {PvP, PvE};

// you probably want uri so clients know how to connect to the server
public Uri uri;

public GameMode GameMode;
public int TotalPlayers;
public int HostPlayerName;

// Add properties for whatever information you want the server to return to
// clients for them to display or consume for establishing a connection.
}

The custom NetworkDiscovery class contains the overrides for handling the messages above.

You may want to refer to the NetworkDiscovery.cs script in the Components/Discovery folder to see how these should be implemented.

public class NewNetworkDiscovery: NetworkDiscoveryBase<DiscoveryRequest, DiscoveryResponse> 
{
#region Server

protected override void ProcessClientRequest(DiscoveryRequest request, IPEndPoint endpoint)
{
base.ProcessClientRequest(request, endpoint);
}

protected override DiscoveryResponse ProcessRequest(DiscoveryRequest request, IPEndPoint endpoint)
{
// TODO: Create your response and return it
return new DiscoveryResponse();
}

#endregion

#region Client

protected override DiscoveryRequest GetRequest()
{
return new DiscoveryRequest();
}

protected override void ProcessResponse(DiscoveryResponse response, IPEndPoint endpoint)
{
// TODO: a server replied, do something with the response such as invoking a unityevent
}

#endregion
}
+ + + + \ No newline at end of file diff --git a/docs/components/network-identity/index.html b/docs/components/network-identity/index.html new file mode 100644 index 00000000000..6f7f42af413 --- /dev/null +++ b/docs/components/network-identity/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Identity | Mirage Networking + + + + +
+

Network Identity

See also NetworkIdentity in the API Reference.

The Network Identity component is at the heart of the Unity networking high-level API. It controls a game object’s unique identity on the network, and it uses that identity to make the networking system aware of the game object. It offers two different options for configuration and they are mutually exclusive, which means either one of the options or none can be checked.

  • Server Only
    Tick this checkbox to ensure that Unity only spawns the game object on the server, and not on clients.

Inspector

Instantiated Network Game Objects

With Mirage’s server-authoritative networking system, the server must spawn networked game objects with network identities, using NetworkServer.Spawn. This automatically creates them on clients that are connected to the server and assign them a NetId.

You must put a Network Identity component on any Prefabs that spawn at runtime for the network system to use them. See Object Spawning for more information.

Scene-based Network Game Objects

You can also network game objects that are saved as part of your Scene (for example, environmental props). Networking game objects makes them behave slightly differently because you need to have them spawn across the network.

When building your game, Unity disables all Scene-based game objects with Network Identity components. When a client connects to the server, the server sends spawn messages to tell the client which Scene game objects to enable and what their most up-to-date state information is. This ensures the client’s game does not contain game objects at incorrect locations when they start playing, or that Unity does not spawn and immediately destroy game objects on the connection (for example, if an event removed the game object before that client connected). See Networked Scene Game Objects for more information.

Preview Pane Information

This component contains network tracking information and displays that information in the preview pane. For example, the scene ID, network ID and asset ID the object has been assigned. This allows you to inspect the information which can be useful for investigation and debugging.

Preview

At runtime there is more information to display here (a disabled NetworkBehaviour is displayed non-bold):

Runtime Preview

+ + + + \ No newline at end of file diff --git a/docs/components/network-log-settings/index.html b/docs/components/network-log-settings/index.html new file mode 100644 index 00000000000..146ccccd474 --- /dev/null +++ b/docs/components/network-log-settings/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Log Settings | Mirage Networking + + + + +
+

Network Log Settings

See also LogFactory in the API Reference.

Network Log Settings component

The Network Log Settings component allows you to configure logging levels and load the settings in a build.

When you first add NetworkLogSettings you will have to Create a new LogSettings asset that will store the settings.

Inspector With No Settings

note

If a LogSettings asset already exists the NetworkLogSettings component will set the Settings field when it is added to a game object.

Log Settings

When you first set up LogSettings the list of components may be empty or incomplete. Running the game will cause Mirage scripts to add their respective loggers to the list so their logging levels can be changed.

Inspector

Log settings can also be changed using the "Mirage Log Level" window, which can be opened from the editor menu: Window > Analysis > Mirage Log Levels.

Window

To change settings at runtime please see LogFactory.

Issues

Mirrors Logging API is currently a work in progress. If there is a bug or a feature you want to be added please make an issue here.

+ + + + \ No newline at end of file diff --git a/docs/components/network-manager-hud/index.html b/docs/components/network-manager-hud/index.html new file mode 100644 index 00000000000..1bd9dafe87a --- /dev/null +++ b/docs/components/network-manager-hud/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Manager HUD | Mirage Networking + + + + +
+

Network Manager HUD

The Network Manager HUD ("heads-up display") is a quick-start tool to help you start building your multiplayer game straight away, without first having to build a user interface for game creation/connection/joining. It allows you to jump straight into your gameplay programming and means you can build your own version of these controls later in your development schedule.

It is not, however, intended to be included in finished games. The idea is that these controls are useful to get you started, but you should create your own UI later on, to allow your players to find and join games in a way that suits your game. For example, you might want to stylize the design of the screens, buttons, and list of available games to match the overall style of your game.

The Network Manager HUD component, as viewed in the inspector

The Network Manager HUD provides the basic functions so that people playing your game can start hosting a networked game, or find and join an existing networked game. Unity displays the Network Manager HUD as a collection of simple UI buttons in the Game view.

The Network Manager HUD GUI, as viewed in the Game view

Using the HUD

The Network Manager HUD allows you to start in Host, Server, or Client-only modes and input a network address.

Host (Server + Client)

Click the Host (Server + Client) button to start a game as a host on the local network. This client is both the host and one of the players in the game. It uses the information from the Network Info section in the inspector to host the game.

When you have started a game as a host, other players of the game can then connect to the host to join the game.

Click the Stop button to disconnect from the host. Clicking Stop also returns to the main HUD menu.

Client

To connect to a host or standalone server on the internet use the text field to specify the address of the host. The default host address is “localhost”, which means the client looks on its own computer for the game host. In addition to localhost, you can specify an IPv4 address, IPv6 address, or a fully-qualified domain name (FQDN), e.g. game.example.com, and the transport with resolve the name using DNS. Click Client to attempt to connect to the host address you have specified.

Use the default “localhost” in this field if you are running multiple instances of your game on one computer, to test multiplayer interactivity. To do this, you can create a standalone build of your game, and then launch it multiple times on your computer. This is a common way to quickly test that your networked game interactions are functioning as you expect, without you needing to deploy your game to multiple computers or devices.

An example of three instances of a networked game running on the same desktop PC. This is useful for quick tests to ensure networked interactions are behaving as you intended. One is running as the host, and two are running as clients.

When you want to test your game on multiple machines you need to put the address of the computer acting as the host into the address text field.

The computer acting as the host needs to tell their IP address to everyone that wants to connect so that they can type the IP into the box. For local clients on a LAN, that's the local IP address (localhost). For remote clients, that's the WAN IP address of the router of the host. Firewall rules and port-forwarding are generally required for a computer to act as the host and accept connections from other computers, whether they're on the LAN or the internet.

Enter the IP address (or leave it as localhost if you are testing it on your own machine), then click Client to attempt to connect to the host.

When the client is attempting to connect, the HUD displays a Cancel Connection Attempt button. Click this if you want to stop trying to connect to the host.

The HUD GUI while attempting a connection

If the connection is successful, the HUD displays the Stop button. Click this if you want to stop the game on the client and disconnect from the host:

The HUD GUI after a successful connection

Server Only

Click Server Only to start a game that acts as a server that other clients can connect to, but which does not act as a client to the game itself. This type of game is often called a “dedicated server”. A user cannot play the game on this particular instance of your game. All players must connect as clients, and nobody plays on the instance that is running as the server.

A dedicated server results in better performance for all connected players because the server doesn't need to process a local player's game play in addition to acting as server.

You might also choose this option if you want to host a game that can be played over the internet (rather than just within a local network), but want to maintain control of the server yourself - for example, to prevent cheating by one of the clients, because only the server has authority over the game. To do this, you would need to run the game in Server Only mode on a computer with a public IP address.

+ + + + \ No newline at end of file diff --git a/docs/components/network-manager/index.html b/docs/components/network-manager/index.html new file mode 100644 index 00000000000..6b5fbe37233 --- /dev/null +++ b/docs/components/network-manager/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Manager | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/components/network-match-checker/index.html b/docs/components/network-match-checker/index.html new file mode 100644 index 00000000000..4fca1e1da2c --- /dev/null +++ b/docs/components/network-match-checker/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Match Checker | Mirage Networking + + + + +
+

Network Match Checker

The Network Match Checker component controls the visibility of networked objects based on match id.

Network Scene Checker component

Any object with this component on it will only be visible to other objects in the same match.

This would be used to isolate players to their respective matches within a single game server instance.

When you create a match, generate and store, in a List, for example, a new match id with System.Guid.NewGuid(); and assign the same match id to the Network Match Checker via GetComponent<NetworkMatchChecker>().matchId.

Mirage's built-in Observers system will isolate SyncVar's and ClientRpc's on networked objects to only send updates to clients with the same match id.

+ + + + \ No newline at end of file diff --git a/docs/components/network-ping-display/index.html b/docs/components/network-ping-display/index.html new file mode 100644 index 00000000000..d261cce9a5b --- /dev/null +++ b/docs/components/network-ping-display/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Ping Display | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/components/network-proximity-checker/index.html b/docs/components/network-proximity-checker/index.html new file mode 100644 index 00000000000..82177cc37a0 --- /dev/null +++ b/docs/components/network-proximity-checker/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Proximity Checker | Mirage Networking + + + + +
+

Network Proximity Checker

The Network Proximity Checker component controls the visibility of game objects for network clients, based on proximity to players.

Network Proximity Checker component

  • Vis Range
    Define the range that the game object should be visible to observers.
  • Vis Update Interval
    Define how often (in seconds) the game object should check for observers entering its visible range.
  • Check Method
    Define which type of physics (2D or 3D) to use for proximity checking.
  • Force Hidden
    Tick this checkbox to hide this object from all players.

With the Network Proximity Checker, a game running on a client doesn’t have information about game objects that are not visible. This has two main benefits: it reduces the amount of data sent across the network, and it makes your game more secure against hacking.

This component relies on physics to calculate visibility, so observer game objects must also have a collider component on them.

A game object with a Network Proximity Checker component must also have a Network Identity component. When you create a Network Proximity Checker component on a game object, Mirage also creates a Network Identity component on that game object if it does not already have one.

Scene objects with a Network Proximity Checker component are disabled when they're out of range, and spawned objects are destroyed when they're out of range.

+ + + + \ No newline at end of file diff --git a/docs/components/network-room-manager/index.html b/docs/components/network-room-manager/index.html new file mode 100644 index 00000000000..b3a93ca2d67 --- /dev/null +++ b/docs/components/network-room-manager/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Room Manager | Mirage Networking + + + + +
+

Network Room Manager

tip

Please see the Room example in the Examples folder in your Mirage folder

The Network Room Manager is a specialized type of Network Manager that provides a multiplayer room before entering the main play scene of the game. It allows you to set up a network with:

  • A maximum player limit
  • Automatic start when all players are ready
  • Option to prevent players from joining a game in progress
  • Customizable ways for players to choose options while in the room  

There are two types of character objects with the Network Room Manager:

Room Player Prefab

  • One for each player
  • Created when client connects, or player is added
  • Persists until client disconnects
  • Holds ready flag and configuration data
  • Handles commands in the room
  • Must use the Network Room Player component

Player Prefab

  • One for each player
  • Created when game scene is started
  • Destroyed when leaving game scene
  • Handles commands in the game  

Network Room Manager

Properties

  • Show Room GUI
    Show the default OnGUI controls for the room.
  • Min Players
    Minimum number of players needed to start a game.
  • Room Player Prefab
    The prefab to create for players when they enter the room (requires Network Room Player component).
  • Room Scene
    The scene to use for the room.
  • Gameplay Scene
    The scene to use for main game play.
  • pendingPlayers
    List\<PendingPlayer> that holds players that are ready to start playing.
  • roomSlots
    List\<NetworkRoomPlayer> that manages the slots for connected clients in the room.
  • allPlayersReady
    Bool indicating if all players are ready to start playing. This value changes as players invoke CmdChangeReadyState indicating true or false, and will be set false when a new client connects.

Methods

Server Virtual Methods

public virtual void OnRoomStartHost() {}

public virtual void OnRoomStopHost() {}

public virtual void OnRoomStartServer() {}

public virtual void OnRoomServerConnect(NetworkConnection conn) {}

public virtual void OnRoomServerDisconnect(NetworkConnection conn) {}

public virtual void OnRoomServerSceneChanged(string sceneName) {}

public virtual GameObject OnRoomServerCreateRoomPlayer(NetworkConnection conn)
{
return null;
}

public virtual GameObject OnRoomServerCreateGamePlayer(NetworkConnection conn)
{
return null;
}

public virtual bool OnRoomServerSceneLoadedForPlayer(GameObject roomPlayer, GameObject gamePlayer)
{
return true;
}

public virtual void OnRoomServerPlayersReady()
{
ServerChangeScene(GameplayScene);
}

Client Virtual Methods

public virtual void OnRoomClientEnter() {}

public virtual void OnRoomClientExit() {}

public virtual void OnRoomClientConnect(NetworkConnection conn) {}

public virtual void OnRoomClientDisconnect(NetworkConnection conn) {}

public virtual void OnRoomStartClient() {}

public virtual void OnRoomStopClient() {}

public virtual void OnRoomClientSceneChanged(NetworkConnection conn) {}

public virtual void OnRoomClientAddPlayerFailed() {}
+ + + + \ No newline at end of file diff --git a/docs/components/network-room-player/index.html b/docs/components/network-room-player/index.html new file mode 100644 index 00000000000..a6a21ec4cc1 --- /dev/null +++ b/docs/components/network-room-player/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Room Player | Mirage Networking + + + + +
+

Network Room Player

The Network Room Player stores per-player state for the Network Room Manager while in the room. When using this component, you need to write a script that allows players to indicate they are ready to begin playing, which sets the ReadyToBegin property.

A game object with a Network Room Player component must also have a Network Identity component. When you create a Network Room Player component on a game object, Unity also creates a Network Identity component on that game object if it does not already have one.

Network Room Player

  • Show Room GUI
    Enable this to show the developer GUI for players in the room. This UI is only intended to be used for ease of development. This is enabled by default.
  • Ready To Begin
    A diagnostic indicator that a player is Ready.
  • Index
    A diagnostic index of the player, e.g. Player 1, Player 2, etc.
  • Network Sync Interval
    The rate at which information is sent from the Network Room Player to the server.

Methods

Client Virtual Methods

public virtual void OnClientEnterRoom() {}

public virtual void OnClientExitRoom() {}

public virtual void OnClientReady(bool readyState) {}
+ + + + \ No newline at end of file diff --git a/docs/components/network-scene-checker/index.html b/docs/components/network-scene-checker/index.html new file mode 100644 index 00000000000..d2e51c45e4a --- /dev/null +++ b/docs/components/network-scene-checker/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Scene Checker | Mirage Networking + + + + +
+

Network Scene Checker

The Network Scene Checker component controls the visibility of game objects for network clients, based on which scene they're in.

Network Scene Checker component

  • Force Hidden
    Tick this checkbox to hide this object from all players.

With the Network Scene Checker, a game running on a client doesn’t have information about game objects that are not visible. This has two main benefits: it reduces the amount of data sent across the network, and it makes your game more secure against hacking.

This component would typically be used when the server has several sub-scenes loaded and needs to isolate networked objects to the sub-scene they're in.

A game object with a Network Scene Checker component must also have a Network Identity component. When you create a Network Scene Checker component on a game object, Mirage also creates a Network Identity component on that game object if it does not already have one.

Scene objects with a Network Scene Checker component are disabled when they're not in the same scene, and spawned objects are destroyed when they're not in the same scene.

Use with Additive Scenes

In Mirage, the Server and connected Clients are always on the same main scene, however, the server and clients can have various combinations of smaller sub-scenes loaded additively. The server may load all sub-scenes at start, or it may dynamically load and unload sub-scenes where players or other activity is going on as needed.

All character objects are always first spawned in the main scene, which may or may not have visual content, networked objects, etc. With this component attached to all networked objects, whenever the character object is moved to a sub-scene (from the main or another sub-scene), the observer's lists for objects in both the new scene and the prior scene are updated accordingly.

Loading the sub-scene(s) on the server is through the normal process with SceneManager:

SceneManager.LoadSceneAsync(subScene, LoadSceneMode.Additive);

Next, you will send a SceneMessage to the client telling it to load a sub-scene additively:

SceneMessage msg = new SceneMessage
{
sceneName = subScene,
sceneOperation = SceneOperation.LoadAdditive
};

Owner.Send(msg);

Then, on the server only, you just move the character object to the sub-scene:

// Position the character object in world space first
// This assumes it has a NetworkTransform component that will update clients
player.transform.position = new Vector3(100, 1, 100);

// Then move the character object to the subscene
SceneManager.MoveGameObjectToScene(player, subScene);

Optionally you can send another SceneMessage to the client with SceneOperation.UnloadAdditive to remove any previous additive scene the client no longer needs. This would apply to a game that has levels after a level change. A short delay may be necessary before removal to allow the client to get fully synced.

Depending on the complexity of your game, you may find it helpful when switching a player between sub-scenes to move the character object to the main scene first, yield 100 ms, re-position it, and finally move it to the new sub-scene.

+ + + + \ No newline at end of file diff --git a/docs/components/network-scene-manager/index.html b/docs/components/network-scene-manager/index.html new file mode 100644 index 00000000000..3d5d3d58656 --- /dev/null +++ b/docs/components/network-scene-manager/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Scene Manager | Mirage Networking + + + + +
+

Network Scene Manager

The Network Scene Manager component controls the Unity Scenes running over the network.

Network Scene Checker component

  • Client Change Scene
    The event that fires before the client changes scenes.
  • Client Changed Scene
    The event that fires after the client changes scenes.
  • Server Change Scene
    The event that fires before the server changes scenes.
  • Server Changed Scene
    The event that fires after the server changes scenes.

The Network Scene Manager allows the user to change network scenes during runtime. There are three types of scene changes broadly supported by Mirage: Normal, Additive Load, and Additive Unload.

Normal: In a Normal scene change all currently loaded assets are unspawned and unloaded. The new scene is loaded and set active. Then all of the scene or instance network objects can be spawned. Under this operation, the client waits for the server to finish before spawning starts to prevent any race conditions.

Additive Load: The specified scene will be loaded on the Server and Client in addition to the currently active network scene.

Additive Unload: Unload a previously loaded additive scene from the Server and Client.

How does it work

When the NetworkServer starts it assumes the initial scene is the one you plan on running the network on. If this is not correct you can either change scenes before starting the network or after. The order on the server will likely only matter to you if you are running in Host mode.

Once a NetworkClient connects and passes authentication the NetworkServer will send a message notifying them of the currently active scene and any additive scenes they should load. Once that task is complete then the server will start spawning network objects on the NetworkClient.

How do I change scenes

If the scene change involves network objects then it is strongly recommended to make any scene changes via the NetworkSceneManager. Doing so via Unity's SceneManager directly may function but give undesired results with network objects.

To do a network scene change you initiate the process via the server NetworkSceneManager via:

sceneManager.ChangeServerScene("Assets/GameScene.unity");
note

You don't have to provide the full scene path when initiating a scene change. But the 'NetworkSceneName' will be saved as the full path.

+ + + + \ No newline at end of file diff --git a/docs/components/network-start-position/index.html b/docs/components/network-start-position/index.html new file mode 100644 index 00000000000..f4c93e645ec --- /dev/null +++ b/docs/components/network-start-position/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Start Position | Mirage Networking + + + + +
+

Network Start Position

To control where players are spawned, you can use the Network Start Position component.

To use these, attach a Network Start Position component to a game object in the scene, and position the game object where you would like one of the players to start. You can add as many start positions to your Scene as you like. The Network Manager detects all start positions in your Scene, and when it spawns each player instance, it uses the position and orientation of one of them.

The Network Manager will spawn players at (0, 0, 0) by default. Adding this component to a game object will automatically register/unregister its game object's transform to the Network Manager as an available spawning position.

Depending on the Network Manager Player Spawn Method setting the spawning is either Random (possible that the same spawn position will be used by two or more players) or Round Robin (use every available position, until there are more clients than spawn points).

Inspector

+ + + + \ No newline at end of file diff --git a/docs/components/network-transform-child/index.html b/docs/components/network-transform-child/index.html new file mode 100644 index 00000000000..5191f12c3f3 --- /dev/null +++ b/docs/components/network-transform-child/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Transform Child | Mirage Networking + + + + +
+

Network Transform Child

The Network Transform Child component synchronizes the position and rotation of the child game object of a game object with a Network Transform component. You should use this component in situations where you need to synchronize an independently-moving child object with a Networked game object.

To use the Network Transform Child component, attach it to the same parent game object as the Network Transform, and use the Target field to define which child game object to apply the component settings to. You can have multiple Network Transform Child components on one parent game object.

The Network Transform Child component

You can modify Compress Rotation to save some bandwidth when synchronizing the rotation. You can use the Network Sync Interval to specify how often it syncs (in seconds).

This component takes authority into account, so local player game objects (which have local authority) synchronize their position from the client to the server, then out to other clients. Other game objects (with server authority) synchronize their position from the server to clients.

+ + + + \ No newline at end of file diff --git a/docs/components/network-transform/index.html b/docs/components/network-transform/index.html new file mode 100644 index 00000000000..922518822f9 --- /dev/null +++ b/docs/components/network-transform/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Transform | Mirage Networking + + + + +
+

Network Transform

The Network Transform component synchronizes the position, rotation, and scale of networked game objects across the network.

A game object with a Network Transform component must also have a Network Identity component. When you add a Network Transform component to a game object, Mirage also adds a Network Identity component on that game object if it does not already have one.

The Network Transform component

By default, Network Transform is server-authoritative unless you check the box for Client Authority. Client Authority applies to character objects as well as non-character objects that have been specifically assigned to a client but only for this component. With this enabled, position changes are sent from the client to the server.

Under Sensitivity, you can set the minimum thresholds of change to the transform values in order for network messages to be generated. This helps minimize network "noise" for minor twitch and jitter.

Normally, changes are sent to all observers of the object this component is on. Setting Sync Mode to Owner Only makes the changes private between the server and the client owner of the object.

You can use the Sync Interval to specify how often it syncs (in seconds).

+ + + + \ No newline at end of file diff --git a/docs/components/ready-check/index.html b/docs/components/ready-check/index.html new file mode 100644 index 00000000000..5756fc15a13 --- /dev/null +++ b/docs/components/ready-check/index.html @@ -0,0 +1,20 @@ + + + + + + +Ready Check and Lobby Ready | Mirage Networking + + + + +
+

Ready Check and Lobby Ready

info

See the API reference for more details +ReadCheck +LobbyReady

Setup

  1. Attach the LobbyReady component to your network manager or other non-networked object.
  2. Attach the ReadyCheck component to your player's lobby object.
  3. Set the sync direction on ReadyCheck to From Server and Owner, To Server, Owner, and optionally Observers. This will allow the value to be set on the owner client as well as on the server to reset it when, like when LobbyReady.SetAllClientsNotReady() is called.

Usage

Setting Player Ready

To set a player as ready, you can simply update the IsReady field of their ReadyCheck component to true. This can be done either manually through code, or through user input such as a "Ready" button. Mirage will then sync this change to server and other clients. For example:

readyCheck.SetReady(true);

Reacting to Ready changes

When the IsReady field of a player's ReadyCheck component is changed, the OnReadyChanged event is invoked on all clients to reflect the new value. You can subscribe to this event and perform actions based on the player's ready state. For example, you can update UI elements to show the player's current ready status:

public class ReadyUI : MonoBehaviour
{
public ReadyCheck ReadyCheck;
public Image Image;

public void Start()
{
ReadyCheck.OnReadyChanged += OnReadyChanged;
// invoke right away to set the current value
OnReadyChanged(ReadyCheck.IsReady);
}

private void OnReadyChanged(bool ready)
{
Image.color = ready ? Color.green : Color.red;
}
}

Sending Messages to Ready Players

To send a message to all players that are ready, you can use the LobbyReady.SendToReady function. Here's an example:

[NetworkMessage]
// Make sure to regieter message on client
public struct MyMessage
{
public string message;
}

public class LobbyController : MonoBehaviour
{
public LobbyReady LobbyReady;

public void SendToReady()
{
var myMessage = new MyMessage { message = "Hello, world!" };
// Send message to ready players
LobbyReady.SendToReady(myMessage);
}
}

You can also send messages to not ready players by setting the sendToReady parameter to false. Note that this function only sends messages to players that have ReadyCheck attached to their character and are synced with the server.

public void SendToNotReady()
{
var myMessage = new MyMessage { message = "Hello, world!" };
// Send message to ready players
LobbyReady.SendToReady(myMessage, sendToReady: false);
}

Resetting Ready

Resetting Ready State for All Players +You can reset the IsReady field for all players by calling LobbyReady.SetAllClientsNotReady(). Here's an example:

public void ClearReady()
{
LobbyReady.SetAllClientsNotReady();
}

This will set the IsReady field to false for all ReadyCheck on the server, the values will then be synced to client.

+ + + + \ No newline at end of file diff --git a/docs/examples/additive-scenes/index.html b/docs/examples/additive-scenes/index.html new file mode 100644 index 00000000000..e9e0badc150 --- /dev/null +++ b/docs/examples/additive-scenes/index.html @@ -0,0 +1,17 @@ + + + + + + +Additive Scenes Example | Mirage Networking + + + + +
+

Additive Scenes Example

IMPORTANT: Make sure you have a layer in project settings called Player for this example to work well.

In Build Settings, remove all scenes and add all of the scenes from the Scenes folder in the following order:

  • MainScene
  • SubScene

Open the MainScene in the Editor and make sure the Sub Scenes list in the Network Manager component on the Network scene object contains the SubScene scene. This is already set-up by default, but if the MainScene was opened and saved before putting the scenes in the Build Settings list, the Sub Scenes list may be cleared accidentally.

File -> Build and Run

Start up to 3 built instances: These will all be client players.

Press Play in the Editor and click Host (Server + Client) in the HUD

  • This will be the host and the 1st player of up to 4. You can also use Server Only if you prefer.

Click Client in the built instances.

  • WASDQE keys to move & turn your player capsule.
  • There are objects in the corners of the scene hidden by Proximity Checkers.
  • The big area in the middle is where the sub-scene will be loaded when you get near the shelter.
  • There are also networked objects inside the sub-scene, also with Proximity Checkers.
  • Since sub-scenes are only loaded for individual clients, other clients that are outside the middle Zone won't see what those in the sub-scene can see.
  • If you play a built instance as Host or Server and play as a client in the editor, you'll see the sub-scene content load and unload in the hierarchy as you move in and out of the middle Zone.
+ + + + \ No newline at end of file diff --git a/docs/examples/basic/index.html b/docs/examples/basic/index.html new file mode 100644 index 00000000000..72428773dbc --- /dev/null +++ b/docs/examples/basic/index.html @@ -0,0 +1,17 @@ + + + + + + +Basic | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/change-scene/index.html b/docs/examples/change-scene/index.html new file mode 100644 index 00000000000..6fd94bc2184 --- /dev/null +++ b/docs/examples/change-scene/index.html @@ -0,0 +1,17 @@ + + + + + + +ChangeScene | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/chat/index.html b/docs/examples/chat/index.html new file mode 100644 index 00000000000..48227712f64 --- /dev/null +++ b/docs/examples/chat/index.html @@ -0,0 +1,17 @@ + + + + + + +Chat | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/index.html b/docs/examples/index.html new file mode 100644 index 00000000000..f3989b9fa85 --- /dev/null +++ b/docs/examples/index.html @@ -0,0 +1,17 @@ + + + + + + +Samples Overview | Mirage Networking + + + + +
+

Samples Overview

Mirage includes several small examples to help you learn how to use various features and how to set things up so they work together.

  • Additive Scenes
    The Additive Scenes example demonstrates a server additively loading a sub-scene into the main scene at startup, and having a server-only trigger that generates a message to any client whose player enters the trigger zone to also load the sub-scene, and subsequently unload it when they leave the trigger zone. Only players inside the trigger zone can see the objects in the sub-scene. Network Proximity Checker components are key to making this scenario work.
  • Basic
    Basic is what it sounds like...the most rudimentary baseline of a networked game. Features SyncVars updating random UI data for each player.
  • Chat
    A simple text chat for multiple networked clients.
  • ChangeScene
    Provides examples for Normal and Additive network scene changing.
  • Pong
    A simple example of "How to build a multiplayer game with Mirage" is Pong. It illustrates the usage of NetworkManager, NetworkManagerHUD, NetworkBehaviour, NetworkIdentity, NetworkTransform, NetworkStartPositionand various Attributes.
  • Tanks
    This is a simple scene with animated tanks, networked rigidbody projectiles, and NavMesh movement

Import samples

Sample can be imported using the Unity Package manager. They can be found inside the Samples Dropdown.

Sample dropdown

+ + + + \ No newline at end of file diff --git a/docs/examples/multiple-additive-scenes/index.html b/docs/examples/multiple-additive-scenes/index.html new file mode 100644 index 00000000000..343fb7cc8f2 --- /dev/null +++ b/docs/examples/multiple-additive-scenes/index.html @@ -0,0 +1,17 @@ + + + + + + +Multiple Additive Scenes Example | Mirage Networking + + + + +
+

Multiple Additive Scenes Example

In Build Settings, remove all scenes and add both of the scenes from the Scenes folder in the following order:

  • Main
  • Game

Open the Main scene in the Editor and make sure the Game Scene field in the MultiScene Network Manager on the Network scene object contains the Game scene. This is already set up by default, but if the Main scene was opened and saved before putting the scenes in the Build Settings list, the Game Scene field may be cleared accidentally.

MultiScene Network Manager

The MultiScene Network Manager is derived from the base Network Manager and is responsible for additively loading the sub-scene instances and placing the players in their respective sub-scene instances and initializing player SyncVars. It has a Game Scene field where the Game sub-scene is assigned, and an Instances field to set how many instances are loaded on the server.

In this example, the sub-scene instances are additively loaded on the server with localPhysicsMode = LocalPhysicsMode.Physics3D. Physics sub-scenes do not auto-simulate, so each scene has a game object with a generic PhysicsSimulator script on it. This script does nothing on the client, only on the server.

Clients only ever have one instance of the sub-scene additively loaded (without localPhysicsMode), while the server has them all. All networked objects have a NetworkSceneChecker component which is what isolates them to their specific sub-scene.

Playing in the Instances

File -> Build and Run

Start at least 3 built instances: These will all be client players.

Press Play in the Editor and click Host (Server + Client) in the HUD - This will be the host and the 1st player. You can also use Server Only if you prefer.

Click Client in the built instances.

  • WASDQE keys to move & turn your player capsule, Space to jump.

  • Colliding with the small colored spheres scores points based on their color.

  • Colliding with the larger tumblers sends them rolling around...they're server-side non-kinematic rigidbodies.

  • Only scores for the players in the same sub-scene are shown at the top of the game window.

MultiScene Network Manager

+ + + + \ No newline at end of file diff --git a/docs/examples/pong/index.html b/docs/examples/pong/index.html new file mode 100644 index 00000000000..2a4caf6c0a5 --- /dev/null +++ b/docs/examples/pong/index.html @@ -0,0 +1,45 @@ + + + + + + +Pong | Mirage Networking + + + + +
+

Pong

A simple example of "How to build a multiplayer game with Mirage" is Pong, +which is included in the AssetStore package of Mirage. It illustrates the usage +of NetworkManager, NetworkManagerHUD, NetworkBehaviour, NetworkIdentity, +NetworkTransform, NetworkStartPosition, and NetworkingAttributes.

Pong

Setting the number of players

First of all, let's have a look at the NetworkManager object in the main scene. +When adding the NetworkManager component to a game object, a few default settings +are already set (Don't destroy on Load, Run in Background, ...) For +playing Pong the maximum number of players is 2, so the setting Network +Info/Max connections will also be 2. As there are no other scenes (room, +online or offline scene) in this sample the properties for Offline Scene and +Online Scene will stay empty.

Creating the player

Furthermore, every player needs a racket to play with. Each player who joins the +game will have his own controllable object, which represents him within the +game. This game object is called PlayerObject. For spawning the PlayerObject +a prefab has to be created, containing at least a NetworkIdentity component with +Local Player Authority checked. The Local Player Authority allows the +player to control and modify the game objects properties (e.g. for movement). The +NetworkManager needs a reference to this prefab, which is located in Spawn +Info/Player Prefab. To have the player movement synchronized over the network, +the player prefab also contains a NetworkTransform.

NetworkManagerSettings

Player start position

The main scene contains 2 game objects with only a NetworkStartPosition component +(game objects RacketSpawnLeft, RacketSpawnRight in the scene). These transforms +will be automatically registered by the NetworkManager as spawning positions.

NetworkStartPositions

Setting up the network

A very convenient component for establishing/testing connections is the +NetworkManagerHUD. It provides basic functionality for starting a game as +a Client, Server, or Host (Client and Server at the same time). It +requires the NetworkManager component.

NetworkManagerHUD

The ball of Pong

The ball is the main focus of Pong, as this is the object needed to score +points. Its NetworkIdentity component has neither Server Only nor Local +Player Authority checked, as it's moved by the server physics engine and can +be influenced by the players. As with the PlayerObject the position is +synchronized via NetworkTransform. When having multiple scenes, the ball can be +spawned by the NetworkManager, but to keep this sample simple, it's placed +directly within the main scene.

+ + + + \ No newline at end of file diff --git a/docs/examples/room/index.html b/docs/examples/room/index.html new file mode 100644 index 00000000000..65360977d59 --- /dev/null +++ b/docs/examples/room/index.html @@ -0,0 +1,17 @@ + + + + + + +Room | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/tanks/index.html b/docs/examples/tanks/index.html new file mode 100644 index 00000000000..e2eb730001b --- /dev/null +++ b/docs/examples/tanks/index.html @@ -0,0 +1,17 @@ + + + + + + +Tanks | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/general/CHANGELOG/index.html b/docs/general/CHANGELOG/index.html new file mode 100644 index 00000000000..0a84f029593 --- /dev/null +++ b/docs/general/CHANGELOG/index.html @@ -0,0 +1,23 @@ + + + + + + +Change Log | Mirage Networking + + + + +
+

149.1.0 (2024-05-06)

Features

  • adding authenticatedOnly to SendToAll (8b1117b)
  • adding list for AuthenticatedPlayers in NetworkServer (dc07c38)

149.0.1 (2024-05-03)

Bug Fixes

  • SocketLayer: fixing socket receive trying to handle message when length is negative (b078387)

149.0.0 (2024-04-28)

  • fix!: changing all time fields to be double (432af2e)

Features

BREAKING CHANGES

  • time fields are now double instead of float

148.4.3 (2024-04-26)

Bug Fixes

148.4.2 (2024-04-26)

Performance Improvements

  • adding batching to unreliable messages (c77bf78)

148.4.1 (2024-04-19)

Bug Fixes

  • fixing return RPC not generating serialize functions (3d162b8)

148.4.0 (2024-04-16)

Features

  • adding callback that can be used to handle Authentication Failed (1cdbfb6)

148.3.0 (2024-04-15)

Features

  • making NetworkIdentity.PrefabHash public (0ec3753)

148.2.0 (2024-04-14)

Features

  • adding generic NetworkBehaviorSyncvar for ease of use (5caabd9)

148.1.1 (2024-04-03)

Bug Fixes

  • removing disconnected player from observer lists (ece4500)

148.1.0 (2024-03-31)

Bug Fixes

  • adding error message if attribute is used on static method (dc66a54)
  • trying to fix import issues after file renames (7a0b3f3)

Features

  • support for jagged arrays (2ec6d3a)

148.0.2 (2024-03-29)

Bug Fixes

  • fixing AddLateEvent tmp list (619b91d)

148.0.1 (2024-03-28)

Bug Fixes

  • fixing use of GO/NI/NB inside Constructor (2f5db3d)

148.0.0 (2024-03-25)

  • refactor!: renaming AddLateEvent_new to AddLateEvent (5d92eba)
  • refactor!: renaming AddLateEvent to AddLateEventUnity (169720c)
  • perf!: changing NetworkIdentity events to use new c# only events (3aaab68)

BREAKING CHANGES

  • renaming from AddLateEvent_new placeholder to just AddLateEvent
  • renaming AddLateEvent which contains UnityEvent and UnityAction to AddLateEventUnity
  • Inspector events removed from NetworkIdentity, use Mirage v147.4.0 first to convert before updating to next version

147.4.2 (2024-03-25)

Bug Fixes

147.4.1 (2024-03-25)

Bug Fixes

147.4.0 (2024-03-25)

Bug Fixes

  • fixing misplaced #if (f663543)
  • new events should not be abstract (e1072d0)

Features

  • create new c# only events (1c9f2d8)
  • new NetworkInspectorCallbacks component (a8051c4)

147.3.0 (2024-03-23)

Features

  • adding public OwnedObjects list and RemoveAllOwnedObject helper method to NetworkPlayer (5a611ba)

147.2.1 (2024-03-18)

Bug Fixes

  • releasing buffers that are in acksystem when disconnecting (42691a6)
  • stopping error when adding handlers for prefab that is already registered (002ec48)

147.2.0 (2024-03-12)

Bug Fixes

  • fixing span support UNITY_2021_3_OR_NEWER (7bf28ed)

Features

  • adding support for Span<T> (3c48db8)

147.1.0 (2024-03-12)

Features

  • adding excludeHost to ClientRpc (a35ed9d)

147.0.3 (2024-02-16)

Bug Fixes

  • ClientObjectManager: add prefab to SpawnHandler when registering (#1171) (7a8ff46)

147.0.2 (2024-02-13)

Bug Fixes

  • fixing unspawn handlers not being used in disconnect cleanup (915f307)

147.0.1 (2024-02-05)

Bug Fixes

  • fixing SocketFactory errors when Listening is false (7ead256)

147.0.0 (2024-01-31)

Bug Fixes

  • fixing scene object spawning in host mode for 1 scene setup (2736fe0)
  • fixing use of is not in unity 2020 (61b7f68)
  • fix!: fixing spawning for unauthenticated code (b25f2f9)

BREAKING CHANGES

  • removing ServerObjectManager.OnlySpawnOnAuthenticated field

146.7.0 (2023-12-28)

Features

  • renaming IsLocalClient to IsHost (39557cd)

146.6.4 (2023-12-20)

Bug Fixes

  • fixing owner not being excluded when host (787e55a)

146.6.3 (2023-12-03)

Bug Fixes

  • fixing time not being sent on connect (66e0978)

146.6.2 (2023-12-02)

Bug Fixes

  • SocketLayer: increase default fragment size to 50 (1fdaa43)

146.6.1 (2023-11-20)

Bug Fixes

  • Weaver: fixing lookup for collection methods (b530360)

146.6.0 (2023-11-05)

Features

  • adding writer for dictionary (f89d596)

146.5.1 (2023-11-05)

Bug Fixes

146.5.0 (2023-11-05)

Features

  • adding WeaverSerializeCollection that can be added to generic writers (00d476b)

146.4.0 (2023-10-20)

Features

  • sending secure hash of connect key (f8901c2)

146.3.2 (2023-10-14)

Bug Fixes

  • fixing syncDirection for syncObjects in host mode (ec45074)

146.3.1 (2023-10-05)

Bug Fixes

  • fixing null ref when using syncObject (362044a)

146.3.0 (2023-10-02)

Features

  • Example: adding scene per match example (5e7911f)

146.2.2 (2023-08-21)

Bug Fixes

  • Weaver: fixing serialize methods for when type is not resolved (21f1aee)

Performance Improvements

  • using cached Id for value types (dccdbf3)

146.2.1 (2023-08-02)

Bug Fixes

  • also removing character when it is removed as owned (b96ed68)
  • updating syncObject ReadOnly before StartServer/Client (67a1d06)

146.2.0 (2023-07-27)

Features

  • adding emit methods for weaver extensions (6b57cd7)
  • making ackSystem public so const fields can be used (63f62bf)

146.1.1 (2023-07-24)

Reverts

  • "pref: using deferred mode for reading, this will speed up other Weavers which dont need to read everything" (6bff2e3)

146.1.0 (2023-07-21)

Features

  • adding attribute that allows for combination of checks (18852f6)

146.0.0 (2023-07-20)

Features

  • INetworkPlayer now has a IsHost property (5d7e5b7)

BREAKING CHANGES

  • NetworkPlayer constructor now requires isHost parameter

145.3.0 (2023-07-17)

Features

  • Cecil: adding AddProperty to cecil extensions (328912a)

145.2.0 (2023-07-16)

Features

  • adding code gen extensions asmdef (1d7363d)

145.1.0 (2023-07-09)

Bug Fixes

  • add missing CompMenu for CharacterSpawner (87c6204)
  • add missing HelpUrl for CharacterSpawner (5cd704a)
  • add missing HelpUrl for ClientObjectManager (1186cf6)
  • add missing HelpUrl for NetworkClient (daec3a1)
  • add missing HelpUrl for NetworkSceneManager (cd5c753)
  • add missing HelpUrl for NetworkServer (35d217e)
  • add missing HelpUrl for ServerObjectManager (127a883)
  • add missing HelpUrl for SocketFactory (a29b1b7)
  • measuring time not distance. add s (fbcdf1e)

Features

  • adding function to skip bits (0bcbc7f)

145.0.4 (2023-07-07)

Bug Fixes

  • Cleaning up name used for generic types (d846f13)

145.0.3 (2023-07-06)

Bug Fixes

  • adding warning if spawned Identity already has netid (22478f4)

145.0.2 (2023-07-05)

Bug Fixes

  • calling NetworkReset with custom unspawn handlers (94a9199)
  • checking if scene object before destroying owned object (d6ced44)

145.0.1 (2023-06-29)

Bug Fixes

145.0.0 (2023-06-27)

Features

  • adding function to SyncObjects so that they can use the NetworkBehaviour that are a part of (b6f3526)

BREAKING CHANGES

  • ISyncObject now needs to implement the SetNetworkBehaviour function

144.0.0 (2023-06-26)

Bug Fixes

  • adding check to SyncObjects to make sure they are IEnumerable before drawing them as list. (907d8ce)
  • logging prefab hash as hex (8289f20)
  • removing debug log from welcomewindow (3be3f42)

Code Refactoring

  • moving SyncsAnything to InspectorHelper (f3755d9)

BREAKING CHANGES

  • SyncsAnything for editor scripts moved to InspectorHelper

143.2.3 (2023-06-23)

Bug Fixes

143.2.2 (2023-06-21)

Bug Fixes

  • fixing host authentication using Connected event (6bb6bed)

143.2.1 (2023-06-20)

Bug Fixes

143.2.0 (2023-06-19)

Features

  • adding script that will make sure object is always visible (0b763cf)

143.1.0 (2023-06-19)

Features

  • adding attribute that instructs Weaver to write a type as generic (1b1e4e6)

143.0.0 (2023-06-18)

Features

  • adding INetworkPlayer to Authenticate (ba54dd2)

BREAKING CHANGES

  • Authenticate overrides now require INetworkPlayer argument

142.0.0 (2023-06-17)

Features

  • adding support for Reply Rpc on server side (dc56f27)

BREAKING CHANGES

  • Rpc messages renamed

141.2.0 (2023-06-17)

Features

  • adding syncList methods to set an index as dirty (4dfe8df)

141.1.0 (2023-06-16)

Features

  • NetworkManagerGUI: overhaul the debug controls (#1149) (8b97f36)

141.0.2 (2023-06-13)

Bug Fixes

  • fixing scene objects not being removed from NetworkWorld (546dd3c)

141.0.1 (2023-06-12)

Bug Fixes

  • fixing RPC with multiple components (2ae9ddc)

141.0.0 (2023-06-12)

  • feat!: adding extra SendTo functions on NetworkServer (c5ba561)

Features

  • adding overload to create pools without requiring buffer size (9842b40)

BREAKING CHANGES

  • Server.SendToMany functions reworked

140.3.0 (2023-06-11)

Features

  • adding option to rethrow exception throw message handler (15f27a4)

Performance Improvements

  • moving RPC collection to NetworkIdentity (773910c)

140.2.0 (2023-06-10)

Features

  • option to invoke hook on owner when they are sending syncvar (36c1b37)

140.1.0 (2023-06-09)

Features

  • adding syncvar hook with 0 args (d17576a)

140.0.0 (2023-06-04)

Features

  • updating syncLists to use new SyncDirection (f6f78a8)

BREAKING CHANGES

  • SyncObjects now need to implement SetShouldSyncFrom

139.0.0 (2023-05-24)

Bug Fixes

  • avoiding disconnect being called twice (ce36e58)
  • feat!: new authentication (b9b490f)

Features

  • adding flag to set if message is only allowed if authenticated (d710f45)
  • adding log for receiving message (e73c9d5)
  • adding log handler that adds label and color to messages (bb26471)
  • adding send log to network player (af7104c)
  • adding session authenticator (ae1ef69)
  • improving log for RegisterHandler (c6d4efd)
  • updating Authenticators (b355604)

BREAKING CHANGES

  • complete NetworkAuthenticator rework see docs for changes
  • by default message will disconnect player if unauthenticated. Use allowUnauthenticated flag to avoid this

138.0.0 (2023-05-23)

Bug Fixes

Features

  • making NetworkManagerGUI automatically find NetworkManager when added (c600b4c)

BREAKING CHANGES

  • internal fields are not longer automatically written by Weaver generated functions

137.0.3 (2023-05-17)

Bug Fixes

  • fixing serialize writing to owner writer when no owner (c6f203f)
  • fixing server setting HasAuthority to true (a6fa26d)

137.0.2 (2023-05-09)

Bug Fixes

  • fixing guard functions for generic and array (b453d36)

137.0.1 (2023-05-05)

Bug Fixes

  • fixing message size being too small with DisableReliableLayer (50b4093)

137.0.0 (2023-05-05)

Bug Fixes

  • adding OnValidate to NetworkManager (5a54b3a)
  • fixing null ref when ObjectManager not set (7333749)
  • fixing race condition with ServerObjectManager (f2d2cf3)

Code Refactoring

  • changing clientObjectManager to be used by other classes (2a69409)

BREAKING CHANGES

  • NetworkClient and NetworkSceneManager now need a reference to ClientObjectManager
  • NetworkServer now need a reference to ServerObjectManager

136.2.0 (2023-05-04)

Features

  • adding helper function to get AuthenticationData as a type (a2d7382)

136.1.0 (2023-05-04)

Features

  • components to sync if gameObject is active (873db7f)

136.0.0 (2023-05-01)

Bug Fixes

  • fixing typo for Spawn settings (2d8a35a)

Code Refactoring

  • adding headers to Character spawner fields (3ed2134)
  • Changing default spawn settings (89564f4)
  • moving Spawn Settings too its own file (5bdc7a3)

Features

  • adding Name and GameObjectActive to Spawn settings (fd12390)
  • adding option to always enable client object (686a904)
  • adding option to disable Setting name by CharacterSpawner (796a7bd)

BREAKING CHANGES

  • NetworkIdentity.TransformSpawnSettings moved to NetworkSpawnSettings
  • Spawning a prefab will no longer automatically enable it. Spawn settings must have SendGameObjectActive set to true and object on server to be enabled as well
  • SpawnMessage now has SpawnValues struct to store values in. SpawnMessage also has new ToString message
  • removing FormerlySerializedAs from CharacterSpawner

135.1.0 (2023-04-30)

Bug Fixes

  • fixing SendNotify deliver (3f9ceb9)

Features

  • adding option to disable reliable layer (6618b5d)
  • adding option to use UniTaskVoid for message handlers (64b9cc7)

135.0.0 (2023-04-29)

Code Refactoring

  • making add remove connections private (0cac9a3)

BREAKING CHANGES

  • NetworkServer methods AddConnection and RemoveConnection are no longer public

134.0.0 (2023-04-28)

Code Refactoring

  • removing NumberOfPlayers (cafbe50)
  • removing Obsolete functions (a3932f2)

Features

  • adding SpawnInstantiate helper methods (58f14cd)

BREAKING CHANGES

  • removing Obsolete functions, see commit for details
  • NumberOfPlayers removed

133.0.0 (2023-04-24)

Features

  • refactoring LobbyReady to use new features (b9e13e3)

BREAKING CHANGES

  • LobbyReady and ReadyCheck components changed

fix: using Start instead so Server can be added by test

test: trying to fix lobby test

fix: fixing lobby ready

setting syncvar in another asm doesn't work all the time. Unity ILPP is weird

132.0.3 (2023-04-14)

Bug Fixes

  • SyncPrefab now uses Prefab field to write even if hash is not zero (57eea65)

132.0.2 (2023-04-11)

Bug Fixes

  • fixing hostmode not sending syncvar to remote owner (925d57d)

132.0.1 (2023-04-10)

Bug Fixes

132.0.0 (2023-04-10)

Bug Fixes

  • fixing sample (7d1d6f7)
  • renaming SpawnObjects to SpawnSceneObjects (6b89619)

Code Refactoring

  • renaming Start to Setup for public methods to start ServerObjectManager late (d5f0647)
  • refactor!: moving scene code out of ServerObjectManager (f2b3938)
  • refactor!: adding INetworkVisibility (e47d4a3)

Features

  • adding to string override for network identity. (279e207)

BREAKING CHANGES

  • NetworkSceneManager now requires a reference to ServerObjectManager in the inspector
  • ServerObjectManager.Start renamed to Setup
  • NetworkIdentity.Visibility can now throw if called before Object is spawned

131.1.3 (2023-04-10)

Bug Fixes

  • setting reason too None if packet length is not 3 (dcc4fa9)

131.1.2 (2023-04-05)

Bug Fixes

  • fixing incorrect Undo.RecordObject target (0db933a)
  • fixing register button not setting holder as dirty (762e295)

131.1.1 (2023-04-04)

Bug Fixes

  • fixing compile error with inspector in 2022 (cb7fa26)
  • improving host syncing for new direction (645570c)

131.1.0 (2023-04-01)

Bug Fixes

  • fixing sync direction drawer showing incorrect warning (11a7ab6)

Features

  • adding struct to sync a prefab over network using its hash (15e7bbe)

131.0.2 (2023-04-01)

Bug Fixes

  • not sending to owner if they are host player (1c5eed5)

131.0.1 (2023-03-31)

Bug Fixes

  • hiding SyncSettings when there is nothing to sync (53f3c62)

131.0.0 (2023-03-31)

Bug Fixes

  • adding safety when returning to pool (22e2990)
  • fixing drawer to indent fields (a28a5cf)
  • fixing errors when owner is set before world is (01ad248)
  • fixing IsValidDirection method (e437a10)
  • RegisterPrefabs now has option to skip over existing handlers (ec80990)
  • refactor!: converting Channel to enum (9142513)
  • refactor!: renaming functions used to clear dirty bits (775698c)
  • refactor!: starting to use syncSettings (f673f9b)
  • refactor!: deleting Experimental components (fb5c2a6)

Features

  • adding angle and vec2 packer (039e9cd)
  • adding drawer for sync settings (10ab69e)
  • adding event to world that is invoked when authority changes (5739296)
  • adding helper methods for networkWorld (5ad1f83)
  • adding methods to write from pointer (0b3ae5e)
  • adding OwnerAndObservers option so it shows in inspector (26ec10d)
  • adding static version of update time so that other classes can use it (d96ed04)
  • adding sync settings (53ceb2a)
  • SyncStack (bef8514)

BREAKING CHANGES

  • RegisterPrefabs now has an extra dontAddIfExist bool argument
  • Channel is not an enum instead of an int
  • ClearAllDirtyBits renamed to ClearShouldSync
  • Renaming and Obsolete of custom serialize methods
  • deleting Experimental components

130.4.1 (2023-03-21)

Bug Fixes

  • fixing nanosockets build error on some platforms (fbd136c)
  • fixing typo causing Prefabs header being drawn twice (2c86fc0)

130.4.0 (2023-03-16)

Features

  • adding bool for InitialState (cce01f8)

130.3.0 (2023-02-10)

Features

  • making SetHostVisibility virtual (aef174c)

130.2.0 (2023-02-10)

Bug Fixes

  • making HostRendererVisibility hide objects when it is spawned if not visible (03976a5)

Features

  • adding a function for server to tell clients to load scene (14283b1)
  • adding component that can be used to disable renderers on host player (64c09bf)
  • adding event that is invoked when object visibility changes (d82cd76)
  • adding option to not send additive scenes when client connects (f39414b)

130.1.0 (2023-02-06)

Bug Fixes

  • adding exitgui to stop error (df719b2)

Features

  • add networked prefab attribute (9fdd2ec)
  • making NetworkedPrefab attribute work with new NetworkPrefabs SO (37c4877)

130.0.0 (2023-02-06)

Bug Fixes

  • Examples: updating Paddlespawner awake function to be protected (241a421)
  • marking scene as not ready when player first joins server (f523143)
  • feat(CharacterSpawner)!: making Awake and OnDestroy protected virtual (14ed80a)

BREAKING CHANGES

  • CharacterSpawner.Awake is now protected instead of public

Co-authored-by: James Frowen <jamesfrowen5@gmail.com>

129.6.2 (2023-02-03)

Bug Fixes

  • stopping exception when creating new SO (f55e929)

129.6.1 (2023-02-03)

Bug Fixes

  • fixing typo in DisallowMultipleComponent (715aa33)
  • NetworkManagerGUI: prevent potential NRE spam if reference is lost and tidy up (#1130) (86b5c3d)

129.6.0 (2023-02-02)

Bug Fixes

  • fixing networkprefab drawer height (8884070)

Features

  • adding buttons that create gameobject with NetworkIdentity (0115818)
  • adding custom drawer for networkprefab field (bb34c04)
  • drawing prefab list under NetworkPrefab reference (8c63726)
  • hiding COM prefab list when it is empty and NetworkPrefab is set (5088d33)
  • making RegisterPrefabs public (77c8a48)
  • use scriptable object for spawnable prefabs (#1127) (1973e76)

129.5.0 (2023-01-31)

Bug Fixes

  • ui toolkit list fields not being reorderable (1c77772)

Features

  • adding async versions to NetworkSceneManager functions (#1128) (abae4c8)

129.4.0 (2023-01-06)

Features

  • ui toolkit network behaviour editor for unity 2022.2 and newer (#1121) (f626c77)

129.3.2 (2022-12-22)

Bug Fixes

129.3.1 (2022-12-21)

Bug Fixes

  • throw InvalidOperationException if network client attempts to send messages while disconnected (#1118) (b7ae4de)

129.3.0 (2022-12-16)

Features

  • adding filter to log settings (d50e754)

129.2.1 (2022-12-15)

Bug Fixes

  • marking RemoteCallCollection as NonSerialized (c6ef84b)

129.2.0 (2022-12-11)

Features

  • adding functions to manually update server and client (d18ef5a)

129.1.4 (2022-12-11)

Bug Fixes

  • fixing string encoding from GetIP IntPtr (5073a5f)

129.1.3 (2022-12-10)

Bug Fixes

129.1.2 (2022-12-10)

Bug Fixes

  • adding null check for failing to resolve assembly (13ce8a9)

129.1.1 (2022-12-10)

Bug Fixes

  • il2cpp linux runtime SIGABRT crash with nanosockets (unity 2021.3.15) (#1116) (ff7148b)

129.1.0 (2022-12-05)

Features

  • adding option to exclude NetworkBehaviourInspector (99e9519)

129.0.3 (2022-11-27)

Bug Fixes

  • fixing scene events not firing when host connects (598057e)

129.0.2 (2022-11-27)

Bug Fixes

  • fixing COM throwing when registering same prefab twice (5005daf)

129.0.1 (2022-11-26)

Bug Fixes

  • fixing unity version in package.json (920493e)

129.0.0 (2022-11-14)

Bug Fixes

  • dont seend scene message on authenticate to host (94ab113)
  • fixing client networkplayer being given to host player (7331eb0)
  • fixing loading scenes in host mode (9caeea8)
  • not sending unload message to host player (f1ace90)

BREAKING CHANGES

  • host no longer invokes scene start/finish events on when host player Authenticates
  • SceneMessage should no longer be sent to host player

128.7.0 (2022-11-09)

Features

  • adding send method that will exclude a single player (f930bd0)

128.6.0 (2022-11-02)

Bug Fixes

  • making MaxStringLength re-size the internal buffer to allow for bigger strings (ed00f34), closes #1109

Features

  • adding extra string methods to use different encoding (586717b)

128.5.0 (2022-10-08)

Bug Fixes

  • checking for custom visibility in new assert (f4b9597)

Features

  • adding option to stop spanwn on unauthenticated (629fab8)

128.4.1 (2022-10-08)

Bug Fixes

  • miscellanous NanoSocket bits and pieces, add Mirage Standalone support (#1106) (1b7e097)

128.4.0 (2022-09-25)

Features

  • adding Id to NetworkBehaviour (8eafae5)

128.3.1 (2022-09-21)

Bug Fixes

  • AckSystem: fixing fragmented message having incorrect order (1fb4970)

128.3.0 (2022-09-16)

Bug Fixes

  • adding try/catch for spawn async (9cad50a)
  • fixing async payload not being held (2eafb46)
  • improving log for server.spawn (4cdb606)

Features

  • adding way to return spawnHandler from prefabHash (4d1d552)
  • allowing PrefabHash to be set even if it already has value (c764c1f)

128.2.0 (2022-09-14)

Features

  • adding pack as int functions to QuaternionPacker (79ccc25)

Performance Improvements

  • making QuaternionPacker pack to 0 for Quaternion.identity (7c2bfe4)

128.1.1 (2022-09-01)

Bug Fixes

  • fixing SetDisplayMetrics for host mode (ce26e49)

128.1.0 (2022-08-25)

Features

  • adding SpawnVisibleObjects method that can skip objects (#1100) (21bf049)

128.0.0 (2022-08-18)

  • refactor!: removing INetworkServer (aaaba98)
  • refactor!: removing INetworkClient (15eb6d1)
  • refactor!: removing INetworkSceneManager (e1fdf86)
  • refactor!: removing IServerObjectManager (cf9f746)
  • refactor!: removing IClientObjectManager (4559573)

BREAKING CHANGES

  • interface for NetworkServer removed
  • interface for NetworkClient removed
  • interface for NetworkSceneManager removed
  • interface for ServerObjectManager removed
  • interface for ClientObjectManager removed

127.0.0 (2022-08-18)

  • refactor(ClientObjectManager)!: renaming function that registers handlers (b8b07ee)
  • refactor(ClientObjectManager)!: merging prefab and handlers into class (229aa4b)

Features

  • adding async spawn handler (993f425)

BREAKING CHANGES

  • RegisterPrefab that registers handlers is now called RegisterSpawnHandler
  • adding new exceptions to registering prefabs and handles

126.1.0 (2022-08-17)

Bug Fixes

  • removing dependency on JetBrains.Annotations (2e1263e)

Features

  • adding more public methods for NetworkPlayer VisList (ccc7ef5)

126.0.1 (2022-08-08)

Bug Fixes

  • fixing compile error in unity 2019.4 (864a144)

126.0.0 (2022-08-07)

Features

  • making RemoteCallCollection public (2906f18)

Performance Improvements

  • removing allocations for validating network identity in debug mode (1909749)

BREAKING CHANGES

  • remoteCallCollection renamed to RemoteCallCollection (may require unity restart after import)

125.0.0 (2022-08-05)

Bug Fixes

  • improving error handling for Client spawning (02ca962)

Features

  • adding spawn overload for NetworkIdentity and PrefabHash (9c51fef)

BREAKING CHANGES

  • ClientObjectManager.GetPrefab now throws instead of returning null

124.0.0 (2022-08-01)

Bug Fixes

  • adding error when target rpc is called with null (73bbcc2)
  • adding more validate for invoking ServerRpc in host mode (26b3318)
  • fixing target rpc being called in host modified (fa052d6), closes #1095
  • fixing use of incorrect exception in rpc validate (948c3a4)
  • making rpc validate methods public (3b7a5ae)

Code Refactoring

  • moving the invoke check to ClientRpcSender (3465258)

BREAKING CHANGES

  • ServerRpc are now only invoked locally if in host mode
  • ServerRpc now throws InvalidOperationException if authority is required
  • ClientRpc are now only invoked locally if in host mode

123.4.0 (2022-07-27)

Bug Fixes

Features

  • adding example script for sending prefab in rpc (c0dc98e)

123.3.3 (2022-07-23)

Bug Fixes

  • Weaver: finding extension methods in mirage manully (b3ada19)

123.3.2 (2022-07-16)

Bug Fixes

  • fixing warning created from id generator (eaee748)
  • Weaver: fixing extension methods for unity2021 (7f35778)
  • Weaver: fixing generic check on extension methods (fddf9ea), closes #1066
  • Weaver: fixing WeaverDiagnosticsTimer for when directory is not found (eb880d5)

Performance Improvements

  • avoiding call to find NetworkIdentity (7947e9e)

123.3.1 (2022-06-29)

Bug Fixes

  • making MessageInfo public instead of internal (e6a4413)

123.3.0 (2022-06-21)

Features

  • adding option for unsigned floats in floatpacker (dda61e1)

123.2.4 (2022-06-03)

Bug Fixes

  • enable runInBackground so that connections dont timeout (cb1b869)
  • updating tool tip for MaxConnections (938f34c)

123.2.3 (2022-05-31)

Bug Fixes

  • fixing define in UdpSocketFactory (a402953)

123.2.2 (2022-05-31)

Bug Fixes

  • incorrect unity 2021 compile define (6d9c566)

123.2.1 (2022-05-29)

Bug Fixes

  • fix the fix that fixed the CS0104 error about CollectionExtensions (9657bdb)
  • network writer test CollectionExtensions causing CS0104 in 2021.3 (1ed750a)

123.2.0 (2022-05-26)

Bug Fixes

  • adding missing interface method to PipePeerConnection (90e5179)

Features

  • SocketLayer: adding FlushBatch to Connection (476156a)

123.1.5 (2022-05-25)

Bug Fixes

  • adding sequence point to hookException (47ec337)

123.1.4 (2022-05-25)

Bug Fixes

  • avoid using NanoSockets on Mac OS (codesigning issues) (c9c17ab)

123.1.3 (2022-05-24)

Bug Fixes

  • adding ability to start the Client & Server from interfaces (#1079) (61e8d6b)

123.1.2 (2022-05-20)

Bug Fixes

123.1.1 (2022-05-19)

Bug Fixes

123.1.0 (2022-05-12)

Features

123.0.6 (2022-05-12)

Bug Fixes

123.0.5 (2022-05-09)

Bug Fixes

  • SocketLayer: throwing if Peer is given a null endpoint (3e3c737)

123.0.4 (2022-05-09)

Bug Fixes

  • Weaver: fixing crash from missing attribute (e54a3a2)

123.0.3 (2022-05-06)

Bug Fixes

  • Weaver: making const fields static (09c3b3b)

123.0.2 (2022-04-27)

Performance Improvements

  • removing allocation from SendToAll (6166244)

123.0.1 (2022-04-24)

Bug Fixes

  • fixing NRE in log when handler is null (013b03c)

123.0.0 (2022-04-22)

Bug Fixes

  • peer now sends invalid key even if key is shorter than correct key (1139527)

Code Refactoring

  • forcing GetReader to be given objectLocator (2f3c4b5)

BREAKING CHANGES

  • NetworkReaderPool.GetReader now has IObjectLocator argument (can be null). Use MirageNetworkReader instead of NetworkReader if you need to read NetworkIdentity

122.1.0 (2022-04-14)

Bug Fixes

  • fixing double types showing up in log settings if no namespace given (5ea84d5)
  • fixing logger for id generator using nameof instead of typeof (3665b80)

Features

122.0.2 (2022-04-14)

Bug Fixes

  • increasing log to warning when receiving known type without handler (#1072) (05db6cf)

Performance Improvements

  • using plus 1 count for other collection types (#1073) (25ab6f3)

122.0.1 (2022-04-13)

Performance Improvements

  • stopping allocations from log in MessageHandler when not enabled (d5b3292)

122.0.0 (2022-04-12)

Bug Fixes

  • adding end of stream check to ReadList and ReadBytes as well (9dc69dc)
  • fixing OnlineOfflineScene to work with NetworkSceneManager (bb916f3)
  • fixing StopAuthority not being called in host mode on destroy (f331875)
  • stopping DestroyAllClientObjects being called in host mode. (582c20b)

BREAKING CHANGES

  • OnlineOfflineScene uses NetworkSceneManager instead of just loading locally using client start

121.0.1 (2022-04-06)

Bug Fixes

  • adding const to type when writer is generated (f3bcc89)
  • throwing if SceneManager returns null (833634a)

121.0.0 (2022-03-31)

  • fix!: fixing removing RequireComponent from NetworkManager (81d8603)

Features

  • adding event to NetworkPlayer when Identity is changed (9e22ff4)
  • adding methods to create NetworkMamger using other socket facories (aaba9bc)

BREAKING CHANGES

  • RequireComponent from NetworkManager. NetworkServer and NetworkClient will now need to be added manaully.

120.1.2 (2022-03-25)

Bug Fixes

  • NetworkIdentity: fix more missing things (7420bd1)
  • NetworkIdentity: fix one quote on a log string to unbreak it all (339ab4c)
  • tests: networkidentity test failing due to changed exception text (877eb12)

120.1.1 (2022-03-23)

Bug Fixes

  • NetworkClient: checking if client is already active before connecting host (bc89211)

120.1.0 (2022-03-22)

Features

  • adding SetCharacterName to character spawner (1b051c7)

120.0.0 (2022-03-20)

  • refactor(SocketLayer)!: moving MaxPacketSize to SocketFactory (49c7f41)

BREAKING CHANGES

  • socket factories now have to override MaxPacketSize property

119.1.4 (2022-03-17)

Bug Fixes

  • Don't create a socket if not listening (should fix #1054) (f33c6eb)
  • networkserver shouldn't create socket if we're not listening (addresses ticket #1054) (5117f49)

119.1.3 (2022-03-02)

Bug Fixes

119.1.2 (2022-03-01)

Bug Fixes

119.1.1 (2022-02-19)

Bug Fixes

  • fixing ArgumentOutOfRangeException when no NetworkIdentity on object (d8e7830)

119.1.0 (2022-02-17)

Features

119.0.1 (2022-02-16)

Performance Improvements

  • moving replyId to its own message (e8e1829)

119.0.0 (2022-02-16)

  • feat!(SocketLayer): adding connection key based on mirage version (ff5a308)

BREAKING CHANGES

  • Mismatched server/client versions will no longer be able to connect to each other

118.0.0 (2022-02-08)

Features

  • support for generic syncvar (057e177)

Performance Improvements

  • using index for rpcs instead of hash (88c4cd3)

BREAKING CHANGES

  • removed RemoteCallHelper and adding RemoteCallCollection instead NetworkBehaviour

117.2.0 (2022-02-07)

Bug Fixes

  • fixing generic syncvar hooks (90e9f24)
  • Weaver: avoiding short instructions for methods with unknown length (f605c46)

Features

  • RPC: adding support for generic syncvars (b6984ca)

117.1.1 (2022-02-07)

Bug Fixes

  • fixing rpc cast for generic types (111fce6)
  • rpcs for fixing IL2CPP (e574a80)

117.1.0 (2022-02-06)

Bug Fixes

  • RPC: fixing call when type is generic (84e2dd6)

Features

  • making setter for NetworkReader.ObjectLocator public (50ab932)

117.0.0 (2022-02-02)

Bug Fixes

  • RPC: fixing rpc calls to base methods and overloads (8bc165d)
  • RPC: fixing ServerRpc that could be called without Authority (51411fb)

Code Refactoring

  • RPC: moving send rpc functions to their own classes (eaadd62)
  • RPC: renaming methods for RemoteCallHelper (186f228)

Features

  • RPC: adding rpc overloads (5ca30f1)

Performance Improvements

  • RPC: generating hash at compile time not runtime (4f81402)

BREAKING CHANGES

  • RPC: removed RemoteCallHelper.GetDelegate, use GetCall or TryGetCall instead
  • RPC: Send Rpc methods are now found in ServerRpcSender and ClientRpcSender and may have been renamed

116.2.0 (2022-02-02)

Features

  • calling OnAuthorityChanged with false when an object is unspawned (#1034) (d8334e8)

116.1.1 (2022-02-01)

Bug Fixes

  • fixing calling base methods for generic types in IL2CPP (cf91e1d)

116.1.0 (2022-01-29)

Bug Fixes

  • adding missing MessageHandler to interfaces (370c5ab)

Features

  • adding notify send to NetworkPlayer (ad699fc)

116.0.0 (2022-01-23)

Bug Fixes

  • NetworkReader: fixing PadAndCopy function (8e6c516)

BREAKING CHANGES

  • NetworkReader: NetworkReader.PadAndCopy no longer needs the byte size argument

115.0.0 (2022-01-22)

Bug Fixes

  • fix welcome window packages tab displaying actual modules (#1024) (5930281)
  • NetworkSceneManager: fixing exception when scene is null (a366843)
  • feat(NetworkSceneManager)!: return scene instead of strings from events (#1028) (106e714), closes #1028 #1026

BREAKING CHANGES

    • Scene finished loading events now return scene
  • SceneChangeEvent class renamed to SceneChangeStartedEvent and SceneChangeFinishedEvent

114.1.1 (2022-01-19)

Bug Fixes

  • fixing array and generic write for NetworkBehaviours (d2ee8ac)

114.1.0 (2022-01-15)

Features

  • allow end user's to create there own net id generator (#1019) (d2e8834)

114.0.3 (2022-01-13)

Bug Fixes

114.0.2 (2022-01-03)

Bug Fixes

114.0.1 (2021-12-31)

Bug Fixes

  • WelcomeWindow: fixed parsing of change logs (#1017) (5da522d)

114.0.0 (2021-12-31)

Bug Fixes

  • NetworkTime: renaming PingFrequency to PingInterval (b729cdc)

Code Refactoring

  • replacing MessagePacker.GetMessageType with property (#1016) (106c47c)

BREAKING CHANGES

  • MessagePacker.GetMessageType replaced with property
  • NetworkTime: NetworkTime PingFrequency remamed to PingInterval

113.3.4 (2021-12-31)

Bug Fixes

  • LogFactory: fixing clear and find all buttons in log factory (6f7e5d5)

113.3.3 (2021-12-29)

Bug Fixes

  • Logging: fixing full name not being loaded (caece7e)

113.3.2 (2021-12-29)

Bug Fixes

  • adding try/catch for nanosocket (#1010) (88badd6)
  • fixing log settings that have no namespace (#1014) (ead317f)
  • NetworkBehavior: removing NB that belong to another NI from list (#970) (4738d29)
  • NetworkWorld: fixing add identity when object is destroyed client side (b5a765e)
  • Setting client not ready to stop character spawning before scene change (#1009) (fcbe10d)

113.3.1 (2021-12-29)

Bug Fixes

  • making sure server/client stops if gameobject is destroyed (9cdc27d)

113.3.0 (2021-12-22)

Bug Fixes

  • NetworkBehaviour: can now found NetworkIdentity in parent when gameobject is disabled (#1006) (d54537a)

Features

  • SyncVar: option to invoke hooks on server too (#1012) (8c12c28)

113.2.0 (2021-12-20)

Bug Fixes

  • Serialization: fixing ReadArray when reading items that are bitpacked (6dfbf84)

Features

  • Serialization: adding CanReadBits function to network reader (3aae955)

113.1.3 (2021-12-20)

Bug Fixes

  • fix a typo with NetworkServer disconnection logs, improve comments, fix formatting (#1005) (adcf3f6)

113.1.2 (2021-12-08)

Bug Fixes

  • fixing error message in message handler (b38a24c)

113.1.1 (2021-12-07)

Bug Fixes

113.1.0 (2021-12-07)

Features

  • adding packers for variable length floats (4c38c09)

113.0.4 (2021-12-04)

Performance Improvements

113.0.3 (2021-12-04)

Bug Fixes

113.0.2 (2021-12-04)

Bug Fixes

  • fixing Return rpc for values that require ObjectLocator (11b2fb3)

113.0.1 (2021-12-04)

Bug Fixes

  • fixing ReadNetworkBehaviour when NI is not found (cb20ad9)

113.0.0 (2021-11-29)

Bug Fixes

  • making NetworkServer.players a readonly collection (f1b4512)

Features

  • adding interfaces for SocketFactory to use so it is easier to get/set address and port (#996) (e969e6d)
  • allowing events to be used with syncvar hook (#991) (f455a2d)

Performance Improvements

  • splitting peer update into 2 functions (#993) (0d6d34b)

BREAKING CHANGES

  • NetworkServer.Players is now a IReadOnlyCollection<INetworkPlayer>

112.0.2 (2021-11-22)

Bug Fixes

  • NetworkReader: fixing reset putting reader back into pool (52253b6)

112.0.1 (2021-11-07)

Bug Fixes

  • wrapping NetworkIdentityIdGenerator in #if editor (f058f7f)

112.0.0 (2021-11-07)

Bug Fixes

  • adding a check to make sure asset id isn't created from empty string (26a5bbc)
  • fixing defines for Unity2021.2 (#977) (15ffa5b)
  • fixing id generation for negative numbers (f5e1b9a)
  • renameing identity.Reset so it doesn't override unity's reset function (bc5da6a)
  • using hex for logging prefabhash and sceneid (f0c335f)

Code Refactoring

  • NetworkIdentity: moving id generation to its own file (51795ce)

Features

  • NetworkIdentity: adding helper methods for Id (0ddfdb8)
  • ServerObjectManager: adding AddCharacter method that takes Identity and hash (629036a)
  • ServerObjectManager: adding ReplaceCharacter method that takes Identity and hash (4320c05)

Performance Improvements

  • making transform values option to send with spawn message (#972) (22e7dcd)
  • no longer sending PrefabHash if the object is a scene id (46e29a6)

BREAKING CHANGES

  • Scene objects based on a prefab will no longer have their PrefabHash set on spawn on the client
  • NetworkIdentity: Scene Id generation is no longer public

111.1.1 (2021-11-06)

Bug Fixes

  • weaver error on guard attributes put on awake (#986) (2f89372)

111.1.0 (2021-11-02)

Features

  • NetworkVisibility: adding new visibility scripts for checking scenes (#958) (6725625)

111.0.0 (2021-11-01)

Code Refactoring

  • NetworkIdentity: removing clientAuthorityCallback (#971) (8adf83d)

BREAKING CHANGES

  • NetworkIdentity: NetworkIdentity.clientAuthorityCallback removed

110.0.0 (2021-11-01)

Bug Fixes

  • adding method to remove character without destroying the object (19cad00), closes #883
  • fixing remove authority for host (528f66b)

BREAKING CHANGES

  • RemovePlayerForConnection removed, use RemoveCharacter or DestroyCharacter instead. Note for RemoveCharacter destroyServerObject now defaults to true

109.0.3 (2021-10-31)

Bug Fixes

  • fixing spawn prefab when handler is null (eb0fd1c)

109.0.2 (2021-10-29)

Bug Fixes

  • NetworkIdentity: not sending whole spawn message when removing authority (#976) (127bcbf)

109.0.1 (2021-10-27)

Bug Fixes

  • fixing using for editor (27c9522)
  • fixing validate for new prefab id (f66c3b6)

109.0.0 (2021-10-23)

Performance Improvements

  • replacing assetid with prefab hash (b14c692)

BREAKING CHANGES

  • prefab Id is now an int instead of a guid

108.0.1 (2021-10-21)

Bug Fixes

  • NetworkSceneChecker: fixing awake for networkscenechecker (fb4321e), closes #754

108.0.0 (2021-10-21)

Bug Fixes

  • LogSettings: allowing multi object editing (5c83dc6)
  • LogSettings: improving warning when log settings has no reference (c2ed26f)
  • LogSettings: removing log settings component from samples (a72d777)
  • removing redundant property (f8bda6e)

Code Refactoring

  • NetworkIdentity: removing NetworkIdentity.GetSceneIdentity (34699ae)

BREAKING CHANGES

  • NetworkIdentity: NetworkIdentity.GetSceneIdentity has been removed

107.1.3 (2021-10-20)

Bug Fixes

  • LogSettings: making labels clickable (7f65a8a)

107.1.2 (2021-10-19)

Bug Fixes

  • LogSettings: making reset exit if settings is already set (a227593)

107.1.1 (2021-10-12)

Bug Fixes

  • NetworkBehaviour: fixing find identity if parent gameobject is disabled (04700f9)

107.1.0 (2021-10-10)

Bug Fixes

  • this fixes issues with multi scene loading on server and client (#965) (e725a41)

Features

  • added a method to do physic scene loads on server and tell clients about it (f215cef)

107.0.1 (2021-10-09)

Bug Fixes

  • ServerRpc: fixing sender for server rpc in host mode (#961) (41b6b79)

107.0.0 (2021-10-08)

Performance Improvements

  • BitPacking: using quaternion compression by default (#957) (e9fedf1)

BREAKING CHANGES

  • BitPacking: Pack extension methods renamed to WriteQuaternion and ReadQuaternion

106.2.4 (2021-10-06)

Bug Fixes

  • CharacterSpawner: respawning character if one exists (203e487)

106.2.3 (2021-10-06)

Bug Fixes

  • NetworkServer: making listening disable server peer (#959) (528698b)

106.2.2 (2021-10-05)

Performance Improvements

  • NetworkSceneManager: using hashset contains to check for player (e3df3b5)

106.2.1 (2021-10-02)

Bug Fixes

  • LogGUI: fixing exception in find all loggers for generic types (11755e7)
  • LogGUI: fixing exception in find all loggers for generic types (6221965)

106.2.0 (2021-10-01)

Bug Fixes

  • BitPacking: setting default QuaternionPack to 9 (bcc44a7)

Features

  • Metrics: allowing background to be updated at runtime (1974a76)

106.1.0 (2021-10-01)

Features

  • adding sequence size of metrics to inspector (c7a21dd)

106.0.0 (2021-10-01)

Bug Fixes

  • fixing use of network identity in network message (#955) (bc1b82a)

Features

BREAKING CHANGES

  • log settings are now saved to a SO file instead of EditorPrefs

105.1.3 (2021-10-01)

Bug Fixes

  • fixing errror meessage for server client attributes (#953) (53cf60b)

105.1.2 (2021-09-30)

Bug Fixes

  • ServerRpc: fixing error message when client is not set (f9c8033)

105.1.1 (2021-09-25)

Bug Fixes

  • Character spawner was registering the player prefab in awake and during scene loads this wont ever register again. Need to change it on scene changes. (d6cdc86)
  • updates to SpawnObject.md and SpawnObjects.PNG files. (02e07fa)

105.1.0 (2021-09-23)

Bug Fixes

  • fixing order that extension methods are found (#917) (aa8fe87)

Features

105.0.1 (2021-09-22)

Bug Fixes

  • fixing assert when loading scene using its name (72ac3a6)
  • logging error if no handler is registered (54c8520)
  • NetworkSceneManager: registering ready and not ready message for host client (6a97ae9)

Reverts

  • "fix: logging error if no handler is registered" (aca8c5a)

105.0.0 (2021-09-22)

Bug Fixes

  • adding client active check in network ping display (1d43243)

Code Refactoring

  • move network time to world (6b10ba2)

BREAKING CHANGES

  • NetworkTime move from NetworkServer/NetworkClient to NetworkWorld

104.3.0 (2021-09-22)

Features

  • Syncvar: adding InitialOnly to syncvar (#941) (abf4637)

104.2.0 (2021-09-20)

Bug Fixes

  • Peer: throwing if sequence size is too big (6c7c5ad)

Features

  • Weaver: adding constant values for max value for number of bits (#934) (2f7c322)

Performance Improvements

  • Peer: updating header size for ipv6 (a8798f0)

104.1.0 (2021-09-20)

Features

  • Weaver: allowing bit packing attributes to work on structs and rpcs (#933) (dca6b54)

104.0.4 (2021-09-16)

Performance Improvements

  • Weaver: passing in format string (6c40fd6)

104.0.3 (2021-09-14)

Performance Improvements

  • Weaver: increasing performance of PostProcessorReflectionImporter (#931) (13e6d1f)

104.0.2 (2021-09-13)

Performance Improvements

  • Weaver: caching NetworkBehaviour properties (#927) (1f2c53b)

104.0.1 (2021-09-13)

Performance Improvements

  • Weaver: optimizing find file in assembly resolver (#925) (68d6749)

104.0.0 (2021-09-08)

Bug Fixes

  • fixing DestroyOwnedObjects when Identity is null (4c12efe)
  • fixing ReplaceCharacter when identity has no character (b685e11)

Code Refactoring

  • changing OnServerAuthenticated to protected (b0da955)
  • moving ready methods to NetworkSceneManager (5dade34)
  • networkplayer sceneis ready notw defaults to true (319e8d8)
  • renaming NotReadyMessage (77f7777)
  • renaming remove observers (12ffce7)
  • renaming SceneObjectManager.SetClientReady (3f8d2bc)
  • replacing ReadyMessage with SceneReadyMessage (beb4ed9)

Features

  • adding HasCharacter property to network player (445081a)
  • adding OnPlayerSceneReady event (e59c93c)
  • adding option to ignore character check for spawning objects (9234eb4)

BREAKING CHANGES

  • NetworkServerManager.OnServerAuthenticated is now protected instead of public
  • NetworkPlayer.SceneIsReady now default to true
  • moving SetAllClientsNotReady and SetClientNotReady from ServerObjectManager to NetworkSceneManager
  • Renaming SceneObjectManager.SetClientReady to SpawnVisibleObjects
  • Removing ReadyMessage, Use SceneReadyMessage instead
  • Renaming NotReadyMessage to SceneNotReadyMessage
  • NetworkPlayer.RemoveObservers renamed to RemoveAllVisibleObjects

103.1.1 (2021-09-08)

Bug Fixes

  • allow to set specific number of logs to be used from changelog. Need to change it atm through code. (d8d28f9)
  • did not realize there was changes not pushed to the branch got from master now and fixed it all up again. (988641f)
  • paths for welcome window changelog. (a1ec86d)
  • proper fix using current welcome window script path to get changelog path. (6868453)
  • this fixes styling and error on 2019+ editors. (3b58a7b)
  • Welcome window now searches for existing file of the changelog to know which mirage install was done. (ab96915)

103.1.0 (2021-09-08)

Features

  • attributes to use new var int bit packers (#895) (1da5c42)

103.0.1 (2021-09-06)

Bug Fixes

  • fixing syncvar hook not being called in host mode (#918) (7accba7)

103.0.0 (2021-09-05)

Code Refactoring

  • NetIdentity to Identity (dc00532)
  • renaming Client enum to RpcTarget (bc32d06)
  • renaming ConnectionToClient to Owner (5493eae)

BREAKING CHANGES

  • NetIdentity renamed to Identity
  • ConnectionToClient renamed to Owner
  • enum used in ClientRpc has been renamed to RpcTarget

102.0.0 (2021-09-02)

Features

BREAKING CHANGES

  • NetworkSceneManager has been re-written, many events and methods now have new names.

101.10.0 (2021-08-31)

Features

  • attributes to use new vector bit packers (#905) (149bf5a)

101.9.2 (2021-08-29)

Bug Fixes

  • fixing namespace for display metrics (9d3f056)

101.9.1 (2021-08-29)

Bug Fixes

  • improving warning message for taking too many objects from pool (2bc42c5)

101.9.0 (2021-08-26)

Bug Fixes

  • NanoSocket: adding dispose and finalize (#904) (ca949ea)

Features

  • attributes to use new float bit packers (#896) (273d27c)

101.8.0 (2021-08-24)

Features

  • attributes to calculate bit count of a given range (#902) (1c22ea6)

101.7.0 (2021-08-24)

Features

101.6.0 (2021-08-22)

Features

  • serialization: attribute to set bit size for ints base syncvars (#882) (1660ca6)

101.5.1 (2021-08-22)

Performance Improvements

  • adding throw helper methods so that AggressiveInlining works (#894) (de12166)

101.5.0 (2021-08-22)

Features

  • NetworkVisibility: adding default implementation for OnRebuildObservers (2bcf22f)

Performance Improvements

  • sending reply id as nullable (a756389)

101.4.2 (2021-08-21)

Bug Fixes

  • fixing log message for checking observers for connected player (99c31c8)
  • fixing mistake in log change (b090fa2)

101.4.1 (2021-08-19)

Bug Fixes

  • weaver: fixing dirty bit for syncvar (b4a837d)

101.4.0 (2021-08-17)

Bug Fixes

Features

  • adding helper classes for packing uint values (#878) (3c24f67)

101.3.0 (2021-08-16)

Bug Fixes

  • preparing client objects on connect (#876) (9789c0b)
  • SocketLayer: moving endpoint copy outside of connection (c19929f)

Features

  • adding helper classes for packing float, vector and quaternion (#847) (410bcd6)

101.2.0 (2021-08-10)

Bug Fixes

  • only invoking unspawn even if item was removed from dictionary (259e8d0)
  • NetworkReader: checking offset when moving bit position (641b2b0)

Features

  • adding destroy function that takes network identity (e91f6d3)

101.1.0 (2021-08-06)

Features

  • peer: adding scripts to display metrics from peer (#872) (e7ac06f)
  • adding way to call SendNotify without allocations and example (#875) (16b3000)

101.0.2 (2021-08-01)

Bug Fixes

  • fixing error message for disconnect (0b603fe)
  • fixing resize buffer so that it uses byte capacity (927fe95)
  • fixing resize buffer when new size is greater than double (972b6d2)
  • removing debug logs from resize buffer (5f3524c)

101.0.1 (2021-07-29)

Bug Fixes

  • making weaver generate serialize functions for nested messages (#873) (a351222)

101.0.0 (2021-07-29)

Code Refactoring

  • removing old version of sequencer (0efe4ba)

BREAKING CHANGES

  • removing old version of Sequencer, use version in socket layer instead

100.0.2 (2021-07-25)

Performance Improvements

  • removing alloc from reliable sends (00945f3)
  • removing allocations from SendToMany (c57f64d)

100.0.1 (2021-07-19)

Bug Fixes

  • NanoSocket: adding Exception when nanosocket bind fails (a3028ec)

Performance Improvements

  • adding native UDP socket (NanoSockets) for supported platforms (#860) (3f34863)
  • removing allocations from assert (5c216de)

100.0.0 (2021-07-15)

Code Refactoring

  • moving message handling out of networkplayer (#818) (b2e9d96)

BREAKING CHANGES

  • RegisterHandler functions now exist on MessageHandler On Server and Client
  • NetworkAuthenticator now use Setup methods that should be used to register messages

99.1.0 (2021-07-15)

Features

  • NetworkWriter: adding method to move position and docs comments (#861) (35cf3ec)

99.0.2 (2021-07-05)

Bug Fixes

  • fixing syncvar reading when using bools (31aca8e)

99.0.1 (2021-07-03)

Bug Fixes

  • adding assembly version to editor asmdef (5969236)

Performance Improvements

  • WelcomeWindow: using string builder for change log (4bc10d8)

99.0.0 (2021-07-03)

Performance Improvements

  • replacing network writer with a faster version that can do bit packing (#805) (3cffa66)

BREAKING CHANGES

  • NetworkWriter and NetworkReader have been completely re-written to support bitpacking

98.0.1 (2021-07-02)

Performance Improvements

  • replacing network writer with a faster version that can do bit packing (#805) (773c58f)

98.0.0 (2021-07-02)

Performance Improvements

  • improving how socketlayer handles endpoints (#856) (59ce7e0)

BREAKING CHANGES

  • Socket functions now use an interface instead of the EndPoint class, Socket Implementations should create a custom Endpoint class for their socket.

97.1.2 (2021-07-01)

Performance Improvements

  • SocketLayer: adding IEquatable to struct (f935786)

97.1.1 (2021-06-28)

Bug Fixes

  • NetworkManagerHud: adding null check before using server or client (e4200e0)
  • NetworkManagerHud: returning to offline menu when server or client is stopped (6b4c988)

97.1.0 (2021-06-27)

Features

  • SocketLayer: adding fragmentation to reliable sending (#851) (4764294)

97.0.1 (2021-06-27)

Bug Fixes

  • fixing first notify not being returned (#854) (84b7d2e)

97.0.0 (2021-06-27)

Code Refactoring

BREAKING CHANGES

  • BufferSize and MTU replaced by MaxPacketSize

96.5.2 (2021-06-27)

Bug Fixes

96.5.1 (2021-06-27)

Bug Fixes

96.5.0 (2021-06-23)

Bug Fixes

  • fixing length used for sending unreliable (821e2d2)

Features

  • adding send methods for array segment (ea09c61)

Performance Improvements

  • using array segments for sending (c990952)
  • using pool for send notify (ac000eb)

96.4.3 (2021-06-23)

Bug Fixes

  • checking if disconnected before packing message (a76caf1)

96.4.2 (2021-06-21)

Bug Fixes

  • null checks when types can't be resolved (#848) (677c792)

96.4.1 (2021-06-21)

Bug Fixes

96.4.0 (2021-06-20)

Features

  • adding attribute to ignore extension method for read writer (#841) (9494500)

96.3.1 (2021-06-17)

Bug Fixes

  • improving error for failed deserialize (2e1601b)
  • improving error for message handler (7ab73b6)

96.3.0 (2021-06-04)

Bug Fixes

  • adding action to pipe connection so client events can be called on stop (#838) (eebe63a), closes #837

Features

  • adding host mode stopped as reason for client disconnect (0054dd5)

96.2.1 (2021-06-04)

Bug Fixes

  • adding warning if extension method is overwriting existing method (#836) (aee89dc)

96.2.0 (2021-06-02)

Features

  • making enums for socket layer public instead of internal (bb9f209)

96.1.2 (2021-06-02)

Bug Fixes

96.1.1 (2021-06-02)

Bug Fixes

  • closing socket should give by local peer as reason (993933f)

96.1.0 (2021-06-02)

Bug Fixes

  • moving syncvar sender to networkserver so it gets intilized earlier (8b2b828)
  • stopping Server.Stop being called twice (b950d39)

Features

  • adding is authenticated bool to network player (#828) (372fd70)

96.0.0 (2021-06-01)

Features

BREAKING CHANGES

    • BasicAuthenticator now uses single string field instead of 2
  • Renaming methods from OnServerAuthenticate to ServerAuthenticate
  • Renaming methods from OnClientAuthenticate to ClientAuthenticate

95.1.1 (2021-05-30)

Bug Fixes

  • fixing errors in tanks sample (ed99d05)

95.1.0 (2021-05-29)

Features

95.0.0 (2021-05-28)

Code Refactoring

Features

  • adding disconnect reason to client disconnect (#820) (e597570)
  • adding Peer config properties (9fd8a05)

Performance Improvements

  • NetworkAnimator parameters use ArraySegment instead of Arrays (#822) (00f4833)
  • remove redundant transform calls on NT (#823) (2d10305)

BREAKING CHANGES

  • NetworkDiagnostics no longer tracks channel
  • Client.Disconnected now has a Reason argument

94.0.0 (2021-05-24)

Bug Fixes

  • removing other uses of old Notify (25a0503)

Code Refactoring

  • removing Obsolete Notify code from networkplayer (b2e5531)

BREAKING CHANGES

  • removing notify code from networkplayer, notify is now part of peer

93.0.2 (2021-05-24)

Bug Fixes

  • closing socket on application quit (c37fe7d)
  • fixing SocketException after closing remote applcation (4ed12ba)
  • fixing udp socket exception on linux (#809) (a4e8689)
  • removing unnecessary check (e8a93a4)
  • stopping null ref in disconnect (4d0f092)

93.0.1 (2021-05-23)

Bug Fixes

  • stopping null ref caused by hud stopping non-active server (8aa561a)

93.0.0 (2021-05-23)

Features

BREAKING CHANGES

    • All Transports are obsolete.
  • Transports Are replaced with ISocket. Custom Transports should now implement ISocket and SocketFactory instead
  • Message handlers are now invoked in Update instead of in an Async Coroutine
  • Send Notify moved to SocketLayer
  • Server.StartAsync is no longer Async
  • Server.StartAsync is now called Server.StartServer
  • Client.Connect is no longer async
  • Local message in host mode invoke handlers immediately instead of waiting till next update
  • NetworkPlayer now has a Disconnect method. This means user does not need a reference to SocketLayer asmdef.
  • Disconnected players are blocked from sending messages

92.0.0 (2021-05-23)

Code Refactoring

  • moving networkmanager gui and hud to components folder (#802) (7612bb6)

Features

  • adding weaver support for nullable types (#800) (14af628)

BREAKING CHANGES

  • NetworkManagerHud is now in the Mirage.Components asmdef

91.2.0 (2021-05-18)

Features

  • simplifying some checks in ServerObjectManager (#801) (fe9a07a)

91.1.0 (2021-05-17)

Bug Fixes

  • fixing compile in new gui (d2800be)

Features

  • add optional imgui support to network manager hud (#789) (7841794)

91.0.1 (2021-05-04)

Bug Fixes

  • unspawning all server object on server stop (5041a06)

91.0.0 (2021-05-01)

Code Refactoring

  • renaming listen to start and merging it with start host (#795) (3d4e091)

BREAKING CHANGES

    • ListenAsync renamed to StartAsync
  • StartHost removed, use StartAsync with localClient parameter instead
  • OnStartHost is now always called after Started

90.0.0 (2021-04-30)

Code Refactoring

BREAKING CHANGES

  • NetworkServer.StopHost removed, use NetworkServer.Disconnect instead

89.0.0 (2021-04-28)

Code Refactoring

  • renaming network server disconnect to stop (#793) (634139c)

BREAKING CHANGES

  • NetworkServer.Disconnect is now called Stop

88.1.3 (2021-04-28)

Bug Fixes

  • removing quitting handler on cleanup (1132d92)
  • server offline does not need a specific object (#788) (9ca7639)

88.1.2 (2021-04-27)

Bug Fixes

  • using null propagation to stop null ref being throw (5da2c6d)

88.1.1 (2021-04-21)

Bug Fixes

  • class name did not match file name (5eb58eb)
  • test was not correctly checking for offline server (e913004)

88.1.0 (2021-04-20)

Features

88.0.0 (2021-04-17)

Code Refactoring

  • remove unspawn as its redundant with destroy (#760) (6a8497c)
  • removing GetNewPlayer and sealing networkplayer (#781) (16a6ba0)

BREAKING CHANGES

  • removed Unspawn method, use with Destroy with destroyServerObject flag instead
  • no longer possible to create custom INetworkPlayer to be used inside mirage

87.2.4 (2021-04-16)

Bug Fixes

  • add some exception documentation (829f10a)

87.2.3 (2021-04-16)

Bug Fixes

  • param no longer exists. updating summary (c9a919f)

87.2.2 (2021-04-16)

Bug Fixes

  • WelcomeWindow: re-adding logger and if 2020.1 or newer (288ed0f)

87.2.1 (2021-04-14)

Bug Fixes

  • clientchangedscene event called too early (#776) (82dda04)

87.2.0 (2021-04-12)

Features

87.1.2 (2021-04-12)

Bug Fixes

87.1.1 (2021-04-10)

Bug Fixes

87.1.0 (2021-04-08)

Features

87.0.1 (2021-04-08)

Bug Fixes

  • add icons to all mirage monobehaviours (#769) (3a9673f)

87.0.0 (2021-04-08)

Bug Fixes

  • using add late event for authority and combining start and stop events (#767) (8903f00)
  • using AddLateEvent to stop race condition for client events (#768) (681875b)
  • using AddLateEvent to stop race condition for network identity events (#766) (4f8bf11)
  • using AddLateEvent to stop race condition for server events (#765) (a1ec84c)

Features

  • adding RemoveListener and RemoveAllListeners to AddLateEvent (#764) (d67c96c)
  • adding RemoveListener and RemoveAllListeners to AddLateEvent (#764) (0ca2804)

BREAKING CHANGES

    • NetworkClient.Connected event is now type of IAddLateEvent
  • NetworkClient.Authenticated event is now type of IAddLateEvent
  • NetworkClient.Disconnected event is now type of IAddLateEvent
  • refactor: removing NetworkConnectionEvent use NetworkPlayerEvent instead

  • NetworkConnectionEvent renamed to NetworkPlayerEvent

  • reverting clean up change

    • Identity.OnStartAuthority and IdentityOnStopAuthority are now Identity.OnAuthorityChanged and are type of IAddLateEvent<bool>
    • Server.Started event is now type of IAddLateEvent
  • Server.Stoped event is now type of IAddLateEvent
  • Server.OnStartHost event is now type of IAddLateEvent
  • Server.OnStopHost event is now type of IAddLateEvent
  • inspector values for changed events will need to be re-assigned
    • Identity.OnStartServer event is now type of IAddLateEvent
  • Identity.OnStopServer event is now type of IAddLateEvent
  • Identity.OnStartClient event is now type of IAddLateEvent
  • Identity.OnStopClient event is now type of IAddLateEvent
  • Identity.OnStartLocalPlayer event is now type of IAddLateEvent
  • inspector values for changed events will need to be re-assigned
  • AddLateEvent Reset no longer removes listeners
  • AddLateEvent Reset no longer removes listeners

86.0.2 (2021-04-05)

Bug Fixes

  • removing redundant null checks (909b668)

86.0.1 (2021-04-02)

Bug Fixes

86.0.0 (2021-04-01)

Bug Fixes

  • better name to stop namespace conflict with Unity (#755) (69784e7)

BREAKING CHANGES

  • networkManager.SceneManager removed to networkManager.NetworkSceneManager

85.0.0 (2021-03-30)

Code Refactoring

  • moving syncvar sending to its own class (9699e03)

Features

  • adding class that will invoke late handlers (631adce)

BREAKING CHANGES

  • Dirty object collection is now inside SyncVarSender

84.3.1 (2021-03-29)

Bug Fixes

  • adding FormerlySerializedAs to networkanimator (39f8fbd)

84.3.0 (2021-03-27)

Features

  • not listening can now be toggled at runtime. fixes host spawning (#728) (256b16c)

84.2.1 (2021-03-27)

Bug Fixes

  • invoke client rpc only once in host mode (#744) (ee6e55e)

84.2.0 (2021-03-27)

Features

84.1.1 (2021-03-26)

Bug Fixes

84.1.0 (2021-03-25)

Features

84.0.0 (2021-03-24)

Code Refactoring

  • using interface instead of network server (#722) (7312bd8)

BREAKING CHANGES

  • fields and parameters using NetworkServer are now using INetworkServer Instead

83.0.0 (2021-03-24)

Code Refactoring

  • using interface instead of network client (#721) (703596a)

BREAKING CHANGES

  • fields and parameters using NetworkClient are now using INetworkClient Instead

82.0.0 (2021-03-24)

Code Refactoring

BREAKING CHANGES

  • ObjectLocator now has TryGet method instead of indexer that returns null

  • updating uses of objectLocator

  • fixing names not being the same

  • Removed ConnectionToServer property

  • removing uses of ConnectionToServer

  • removing use in test

  • removing ClientRpc player target

  • creating null

  • changing tests to expect null

  • fixing docs

  • using client player for target rpc

Co-authored-by: Paul Pacheco <paulpach@gmail.com>

  • fixing tests for rpc target

Co-authored-by: Paul Pacheco <paulpach@gmail.com>

81.0.2 (2021-03-22)

Bug Fixes

81.0.1 (2021-03-20)

Performance Improvements

  • clientrpc in host mode bypasses network (#714) (edb0705)

81.0.0 (2021-03-19)

Performance Improvements

  • serverrpc bypasses network on host mode (#708) (695eb46)

BREAKING CHANGES

  • ServerRpc execute synchronous in host mode

80.0.1 (2021-03-17)

Bug Fixes

  • compilation issue on standalone build (d6bea93)

80.0.0 (2021-03-15)

Code Refactoring

BREAKING CHANGES

  • Connection renamed to player

79.0.0 (2021-03-15)

Code Refactoring

  • move serialization into Mirage.Serialization (#700) (5dc037d)

BREAKING CHANGES

  • NetworkReader and NetworkWriter moved to Mirage.Serialization namespace

78.0.0 (2021-03-14)

Code Refactoring

  • move collections to Mirage.Collections (#698) (e22f765)

BREAKING CHANGES

  • collections moved to Mirage.Collections

77.0.0 (2021-03-14)

Code Refactoring

  • move logging into a folder and namespace (#697) (814653f)

BREAKING CHANGES

  • Logging moved into a namespace, use Mirror.Logging

76.0.0 (2021-03-13)

Code Refactoring

BREAKING CHANGES

  • NetworkVisibility no longer disables renderers in host mode

75.1.0 (2021-03-13)

Features

  • 0 is not lossy when compressing quaternions (#695) (c1552c0)

75.0.0 (2021-03-13)

Bug Fixes

  • adding ISceneLoader to INetworkPlayer (e8ab7a4)
  • compression of 90 degrees angle (#689) (2c0bac6)
  • fixing uses of message (f2a5522)

Code Refactoring

  • moving static send to NetworkServer (#692) (5b19dc3)
  • removing address property from player (#691) (d772e53)
  • removing disconnect method from player (#688) (e1daf92)
  • rename PlayerSpawner to CharacterSpawner (#686) (1db3498)
  • renaming NetworkConnection to NetworkPlayer (#684) (3ecb659)

Features

  • adding Connection property to NetworkPlayer (#687) (5e1c4ba)
  • adding logger.Assert that doesn't require a message (8c213e3)

BREAKING CHANGES

  • moving NetworkPlayer.Send to NetworkServer.SendToMany

  • Address replaced with Connection.GetEndPointAddress

  • updating uses of Address

  • Disconnect replaced with Connection.Disconnect

  • fixing uses in Mirage

  • updating uses in authenticators

  • Renamed PlayerSpawner to CharacterSpawner

  • renaming NetworkConnection to NetworkPlayer

  • renaming types in weaver tests

  • fixing test message

  • fixing xref in docs

74.0.0 (2021-03-08)

Bug Fixes

  • invoking started event when Listening is false (#675) (afef2d4)

Code Refactoring

  • transports: removing sendAsync from transports (#673) (42b165f)
  • removing sendasync from networkconnection (#672) (e79b00e)

BREAKING CHANGES

  • transports: Removed SendAsync from transport, use Send instead
  • Removed SendAsync from NetworkConnection. Use Send instead

73.0.0 (2021-03-06)

Code Refactoring

  • replacing version enum with assembly version (#663) (d8facb7)

BREAKING CHANGES

  • Version.Current is no longer an enum and now returns Mirage's assembly version

72.0.1 (2021-03-06)

Bug Fixes

  • disabling welcome window before unity 2020.1 (#662) (a527af4)

72.0.0 (2021-03-05)

Code Refactoring

  • removing un-used INetworkManager interface (#661) (347bf6c)

BREAKING CHANGES

  • removing INetworkManager

71.0.0 (2021-03-05)

Styles

  • renaming NetworkScenePath to ActiveScenePath (#647) (7a26360)

BREAKING CHANGES

  • Use NetworkSceneManager.ActiveScenePath instead of NetworkSceneManager.NetworkScenePath

  • removing cref till docs are fixed

70.0.0 (2021-03-04)

Code Refactoring

  • spawnobjects throws exception instead of returning false (#639) (4cb8afb)

BREAKING CHANGES

  • SpawnObjects throws Exception instead of returning false

69.1.2 (2021-03-03)

Bug Fixes

  • weaver: adding missing errors when Attributes are used in monobehaviour (64b580b)

69.1.1 (2021-03-02)

Bug Fixes

  • multi scene example nre and event errors (#649) (8c4c352)

69.1.0 (2021-03-02)

Features

  • adding assert extension method to logger (#642) (1df6081)

69.0.0 (2021-03-02)

Styles

  • renaming NumPlayers to NumberOfPlayers (#646) (27b99be)

BREAKING CHANGES

  • Use NetworkServer.NumberOfPlayers instead of NetworkServer.NumPlayers

68.0.3 (2021-02-25)

Bug Fixes

68.0.2 (2021-02-24)

Bug Fixes

68.0.1 (2021-02-23)

Bug Fixes

68.0.0 (2021-02-22)

Code Refactoring

  • move LocalPlayer to ClientObjectManager (#619) (df1e379)

Features

BREAKING CHANGES

  • removed NetworkClient.LocalPlayer, use ClientObjectManager.LocalPlayer instead

67.4.0 (2021-02-21)

Features

67.3.2 (2021-02-21)

Bug Fixes

67.3.1 (2021-02-21)

Bug Fixes

  • passing NetworkBehaviors in RPC works with IL2PP (#630) (87becee), closes #629

67.3.0 (2021-02-21)

Features

  • install/uninstall modules from welcome window (#593) (53ac404)

67.2.7 (2021-02-21)

Bug Fixes

  • show selected tab when welcome screen is opened (#628) (f6cae98)

67.2.6 (2021-02-20)

Bug Fixes

67.2.5 (2021-02-20)

Bug Fixes

  • revert preprocessor change (b89c454)

67.2.4 (2021-02-20)

Bug Fixes

  • add comments and backing field for time (#618) (da74e11)

67.2.3 (2021-02-19)

Bug Fixes

  • add summaries to event classes (#623) (e6b9354)
  • no longer true. spawnableobjects populated by FindObjectsOfTypeAll (#622) (5692709)

67.2.2 (2021-02-19)

Bug Fixes

  • drop support for older versions (5dc12b5)

67.2.1 (2021-02-19)

Bug Fixes

67.2.0 (2021-02-19)

Features

67.1.0 (2021-02-19)

Features

67.0.2 (2021-02-19)

Bug Fixes

  • clientObjectManager was not using its interface (#615) (d2b07ea)

67.0.1 (2021-02-19)

Bug Fixes

67.0.0 (2021-02-19)

Code Refactoring

  • remove unnecessary assembly definition (#599) (89ffc7c)

BREAKING CHANGES

  • removed MirageNG.asmdef, change your assembly to use Mirage.asmdef instead

66.2.2 (2021-02-19)

Bug Fixes

66.2.1 (2021-02-17)

Bug Fixes

  • fix serializing NetworkBehavior and GameObjects (b74fcf9)

66.2.0 (2021-02-17)

Features

  • make networkscenemanager optional again (#595) (ed180ff)

66.1.0 (2021-02-17)

Features

  • optional dontdestroyonload for networkscenemanager (#596) (67e41bd)

66.0.0 (2021-02-16)

Bug Fixes

  • update package json for new name and url (#594) (e915aeb)

Code Refactoring

BREAKING CHANGES

  • replaced Mirror namespace with Mirage

65.1.0 (2021-02-15)

Features

65.0.0 (2021-02-14)

Code Refactoring

  • NetworkReader no longer depends on NetworkClient and NetworkServer (15f27c4)
  • readers no longer depends on NetworkClient and NetworkServer (#583) (177c307)

BREAKING CHANGES

  • NetworkReader no longer have .Client and .Server, it has a .ObjectLocator instead
  • NetworkReader no longer have .Client and .Server, it has a .ObjectLocator instead

64.0.0 (2021-02-14)

Code Refactoring

  • separate player ownership from NetworkServer (#580) (8d7efa6)

BREAKING CHANGES

  • SendToClientOfPlayer removed. Use identity.ConnectionToClient.Send() instead

63.5.0 (2021-02-10)

Features

  • Notify acks messages in one way messages (07ca15d)

Performance Improvements

  • no need to send initial empty notify (8fbe346)

63.4.0 (2021-02-09)

Features

  • open changelog page when user downloaded a new version (#571) (d9ed96e)

63.3.5 (2021-02-07)

Bug Fixes

  • nre issues when trying to reload back in the same instance to a … (#570) (158ea2f)

63.3.4 (2021-02-07)

Bug Fixes

63.3.3 (2021-02-05)

Reverts

  • Revert "fix: support legacy Weaver (#546)" (d58725f), closes #546

63.3.2 (2021-02-04)

Bug Fixes

63.3.1 (2021-02-04)

Bug Fixes

  • client throwing exception when force disconnecting (#567) (a69b498)

63.3.0 (2021-02-03)

Bug Fixes

Features

  • explicit declaration of network messages (#565) (b0610e2)

63.2.1 (2021-02-03)

Bug Fixes

  • built in messages get an id (fe71bcd)

63.2.0 (2021-02-03)

Features

63.1.0 (2021-02-03)

Features

  • spawn an object by network identity ref (#561) (87a520d)

63.0.1 (2021-02-03)

Bug Fixes

63.0.0 (2021-02-02)

Bug Fixes

  • object references in examples (06d89c0)

Styles

  • Use PascalCase for public fields (9dc94c1)
  • Use PascalCase for public fields (8a195f6)
  • Use PascalCase for public fields (8366e80)
  • Use PascalCase for public fields (2717957)
  • Use PascalCase for public fields (f1758d3)
  • Use PascalCase for public fields (e478d8d)
  • Use PascalCase for public fields (5f88032)

BREAKING CHANGES

  • HeadlessAutoStart.* renamed to follow PascalCase
  • OnlineOfflineScene to use PascalCase
  • PlayerSpawner.* renamed to follow PascalCase
  • NetworkManager fields renamed to PascalCase
  • ClientObjectManager.client renamed to .Client
  • ClientObjectManager.networkSceneManager renamed to .NetworkSceneManager
  • ServerObjectManager.server renamed to .Server
  • ServerObjectManager.networkSceneManager renamed to .NetworkSceneManager
  • NetworkSceneManager.client renamed to .Client
  • NetworkSceneManager.server renamed to .Server

62.10.0 (2021-02-01)

Features

  • recommend Fast3 as default for performance (#559) (8cbf6e6)

62.9.8 (2021-02-01)

Bug Fixes

62.9.7 (2021-02-01)

Bug Fixes

  • add ignorance support with defines for test (35634d5)
  • make test transport agnostic (cbb00b3)

62.9.6 (2021-01-31)

Bug Fixes

  • move method not firing and too slow (56ce2fd)
  • nre in headless example (9e8dccc)

62.9.5 (2021-01-30)

Bug Fixes

  • bug cleaning up networkscenemanager (8db98db)
  • fast domain reload with Kcp (bd3676d), closes #547

62.9.4 (2021-01-29)

Bug Fixes

62.9.3 (2021-01-27)

Bug Fixes

62.9.2 (2021-01-27)

Bug Fixes

62.9.1 (2021-01-26)

Performance Improvements

  • cache component index in network behavior (#550) (e566545)

62.9.0 (2021-01-26)

Features

62.8.0 (2021-01-25)

Features

62.7.2 (2021-01-24)

Bug Fixes

62.7.1 (2021-01-22)

Bug Fixes

  • simplified SetHostVisibilityExceptionNetworkBehaviour test (#544) (b7465a5)

62.7.0 (2021-01-22)

Features

62.6.1 (2021-01-20)

Bug Fixes

62.6.0 (2021-01-20)

Features

  • add Online and Offline scene support via optional component (#505) (a83dd5f)

62.5.5 (2021-01-20)

Bug Fixes

62.5.4 (2021-01-19)

Bug Fixes

  • don't destroy network scene objects on server stop (#518) (c9d0387)

62.5.3 (2021-01-19)

Performance Improvements

62.5.2 (2021-01-19)

Bug Fixes

  • error saving field name SYNC_VAR_COUNT (#536) (cbc52e5)

62.5.1 (2021-01-19)

Bug Fixes

  • invalid IL with NI syncvars with hooks (#535) (49f6141)

62.5.0 (2021-01-18)

Features

62.4.1 (2021-01-15)

Bug Fixes

62.4.0 (2021-01-13)

Features

  • set the assembly version in all assemblies (#531) (da381bd)

62.3.0 (2021-01-12)

Features

  • writer generation errors link to code (b76e873)

62.2.0 (2021-01-12)

Features

  • reader generation errors link to the code (99a70fe)

62.1.0 (2021-01-11)

Features

62.0.1 (2021-01-11)

Bug Fixes

  • Use Guid.Empty in the tests (e900d33)

62.0.0 (2021-01-11)

Features

BREAKING CHANGES

  • Mirage assembly no longer contains the components. Reference Mirror.Components instead.
  • Editor scripts are no longer weaved

61.1.2 (2021-01-09)

Bug Fixes

  • NullReferenceException destroying objects (#526) (3ad2608)

61.1.1 (2021-01-08)

Bug Fixes

  • warning with missing Transport folder (be5aa69)

61.1.0 (2021-01-05)

Features

61.0.2 (2021-01-02)

Bug Fixes

  • method access exception with serverrpc that return something (8cb00e9)

61.0.1 (2020-12-31)

Bug Fixes

61.0.0 (2020-12-31)

BREAKING CHANGES

  • Moved NetworkDiscovery to a separate repo

60.4.1 (2020-12-30)

Bug Fixes

60.4.0 (2020-12-29)

Features

  • SyncVar support arbitrary NetworkBehavior (#514) (67b0c9f)

60.3.0 (2020-12-29)

Features

60.2.0 (2020-12-27)

Features

60.1.1 (2020-12-27)

Bug Fixes

60.1.0 (2020-12-27)

Features

60.0.1 (2020-12-19)

Bug Fixes

  • network objects not destroyed on server stop (#468) (abf5f2f)

60.0.0 (2020-12-19)

Bug Fixes

  • prevent DoS attacks with invalid array length (#500) (78e6077)

BREAKING CHANGES

  • Remove serverOnly option in NetworkIdentity

59.2.1 (2020-11-30)

Bug Fixes

  • font color in basic example (a9dfb3f)

Performance Improvements

59.2.0 (2020-11-28)

Features

59.1.0 (2020-11-25)

Features

  • User can now configure window size (ec0b839)

59.0.8 (2020-11-23)

Bug Fixes

59.0.7 (2020-11-23)

Bug Fixes

59.0.6 (2020-11-20)

Bug Fixes

  • script not found error with NetworkDiscoveryHud (#494) (8e39e21)

59.0.5 (2020-11-14)

Bug Fixes

  • generate reader for types in other assemblies (b685226)
  • generate writer for types in other assemblies (8385c29)

59.0.4 (2020-11-14)

Bug Fixes

  • using mathematics in commands and rpcs (#492) (ee27841)

59.0.3 (2020-11-10)

Bug Fixes

  • calling base command in other assemblies (e49fda1)
  • error importing scriptable object from another module (6cdd112)

59.0.2 (2020-11-10)

Bug Fixes

  • logs now save properly when reloading (19c86e7)

59.0.1 (2020-11-07)

Bug Fixes

  • don't consume so much memory registering prefabs (#486) (d451782)

59.0.0 (2020-11-06)

  • Transport now has connected and started events. (#479) (3e7f688), closes #479

BREAKING CHANGES

  • Add Connected event to Transport API
  • Add Started event to Transport API
  • ListenAsync returns a task that completes when the transport stops
  • Remove AcceptAsync from transports

58.0.1 (2020-11-05)

Bug Fixes

58.0.0 (2020-11-05)

  • ClientObjectManager now requires NetworkIdentity (#475) (103593b), closes #475

BREAKING CHANGES

  • Now you can only assign prefabs with NetworkIdentity to the ClientObjectManager

57.0.0 (2020-11-05)

  • Remove redundant spawn handler (#476) (9bbf0dc), closes #476

BREAKING CHANGES

  • Removed redundant spawn handler

56.5.0 (2020-11-04)

Features

  • ClientObjectManager is available in network behaviors (#466) (d0d0b2a)

56.4.4 (2020-11-04)

Bug Fixes

  • do not cache lastReceived in release (9a15863)

56.4.3 (2020-11-03)

Bug Fixes

  • PlayerSpawner depends on ClientObjectManager throw if missing (#472) (0ab0a70)

56.4.2 (2020-11-03)

Bug Fixes

56.4.1 (2020-11-03)

Bug Fixes

56.4.0 (2020-11-03)

Features

56.3.4 (2020-11-03)

Bug Fixes

  • added missing UniTask.asmdef reference to Mirror.Weaver.asmdef (#463) (bcb8ae7)

56.3.3 (2020-11-02)

Bug Fixes

  • prevent NRE if client is not present on server (#461) (357da87)

56.3.2 (2020-11-02)

Bug Fixes

  • NetworkAnimator: fixing trigger not applied on host (49b5325)

56.3.1 (2020-11-02)

Bug Fixes

56.3.0 (2020-11-02)

Features

56.2.0 (2020-11-02)

Features

  • server sends list of additive scenes upon connect (#451) (3d0b6c5)

56.1.2 (2020-10-31)

Bug Fixes

  • client NRE for objects spawned in .Started in hostmode (#453) (918504c)

56.1.1 (2020-10-30)

Bug Fixes

  • disconnect transport when play mode exits (#449) (e741809)

56.1.0 (2020-10-30)

Features

  • add quick access ref to NetIdentity.ServerObjectManager (#444) (d691ca4)

56.0.2 (2020-10-30)

Bug Fixes

56.0.1 (2020-10-29)

Bug Fixes

  • host wasnt loading with additive fix (cd6110a)
  • wrong text in exception (d0d5581)

56.0.0 (2020-10-29)

breaking

BREAKING CHANGES

  • NetworkServer no longer spawns objects, add a ServerObjectManager for that

55.0.1 (2020-10-27)

Bug Fixes

55.0.0 (2020-10-27)

BREAKING CHANGES

  • Authenticator does not have dependency on NM anymore

54.1.1 (2020-10-26)

Bug Fixes

  • local client loading additive scene twice. (5a74fb0)

54.1.0 (2020-10-26)

Features

54.0.0 (2020-10-25)

  • ReceiveAsync throws EndOfStreamException (#435) (faf2e54), closes #435

BREAKING CHANGES

  • External transports will need an update

53.0.1 (2020-10-24)

Performance Improvements

53.0.0 (2020-10-23)

BREAKING CHANGES

  • FallbackTransport removed

  • fix docs

  • FallbackTransport removed

52.1.1 (2020-10-23)

Performance Improvements

52.1.0 (2020-10-23)

Features

  • SyncDictionary raise event when initially synchronized (23349af)
  • SyncList raise event when initially synchronized (9f679c5)
  • SyncSet raise event when initially synchronized (03f2075)

52.1.0 (2020-10-23)

Features

  • SyncDictionary raise event when initially synchronized (23349af)
  • SyncList raise event when initially synchronized (9f679c5)
  • SyncSet raise event when initially synchronized (03f2075)

52.0.1 (2020-10-23)

Bug Fixes

  • use the spawn calls that already happen via scene loading (#426) (cc19f3b)

52.0.0 (2020-10-22)

Bug Fixes

  • names and refs clear that PATH should be sent in scene msg (#423) (c68189c)

BREAKING CHANGES

  • TCPTransport removed. Use KCPTransport instead

51.1.5 (2020-10-22)

Bug Fixes

  • TCPTransport is obsolete, use KCPTransport instead (c031ae9)

51.1.4 (2020-10-22)

Bug Fixes

  • expect reserved header to be in the input (547bdd6)

51.1.3 (2020-10-22)

Performance Improvements

51.1.2 (2020-10-21)

Bug Fixes

  • fix multiple scene loading order issues (#418) (6d8265d)

51.1.1 (2020-10-21)

Bug Fixes

  • InvalidDataException not found problem (229f73d)

51.1.0 (2020-10-21)

Features

  • KCP transport now provides unreliable channel (#420) (8aac115)

51.0.0 (2020-10-21)

  • Transport api can now send messages in channels (#419) (9a2690e), closes #419

BREAKING CHANGES

  • Transports now receive and return channels

50.2.0 (2020-10-20)

Bug Fixes

  • method access exception sending rpcs (531e908)

Features

  • display user-friendly log with an unexpected messages. (#417) (7b78c29)

50.1.5 (2020-10-20)

Bug Fixes

  • recursive types with collections (5cb0058)

50.1.4 (2020-10-20)

Bug Fixes

  • potential NRE generating readers (324ba60)

50.1.3 (2020-10-20)

Bug Fixes

50.1.2 (2020-10-19)

Bug Fixes

  • add WaitUntilWithTimeout to prevent tests from getting stuck (#412) (df1ccb4)

50.1.1 (2020-10-19)

Performance Improvements

  • don't drop acks, follow original C algorithm (c0b5a12)

50.1.0 (2020-10-18)

Features

  • User can set KcpDelayMode via KcpTransport(#403) (bdd0d9c)

50.0.2 (2020-10-18)

Bug Fixes

  • recycling segments (9d12658)
  • use buffer same size as C version (20e1324)

50.0.1 (2020-10-18)

Bug Fixes

  • bug setting the rto, it should be 100 in normal mode (091bde6)

50.0.0 (2020-10-17)

BREAKING CHANGES

  • GetPrefab now just returns the prefab or null

49.4.0 (2020-10-17)

Features

49.3.3 (2020-10-16)

Bug Fixes

  • reading and writing a network identity before spawning (#400) (870f49d), closes #399

49.3.2 (2020-10-16)

Performance Improvements

49.3.1 (2020-10-15)

Bug Fixes

  • use hostname for serverUri (4b38fbe)

49.3.0 (2020-10-15)

Bug Fixes

  • double counting packets on kcp receive (89cb937)
  • NRE when disconnecting with no owned objects (4e7983e)

Features

  • KCP transport now has CRC64 validation (#397) (21c8649)

Performance Improvements

  • recycle segments (13a3c3d)
  • reduce allocation sending to observers (f5f7f6c)
  • reduce allocations per client (8d37f8c)
  • Refactore move to receive queue (173735c)
  • remove allocation (9311fbd)
  • reuse segment if it is a repeat (4879010)
  • Use allocation free completion source (20227a7)
  • use Unitask (384d02b)
  • Use UniTask instead of task (70c9cfb)

49.2.1 (2020-10-15)

Bug Fixes

  • double counting packets on kcp receive (89cb937)
  • NRE when disconnecting with no owned objects (4e7983e)

Performance Improvements

  • recycle segments (13a3c3d)
  • reduce allocation sending to observers (f5f7f6c)
  • reduce allocations per client (8d37f8c)
  • Refactore move to receive queue (173735c)
  • remove allocation (9311fbd)
  • reuse segment if it is a repeat (4879010)
  • Use allocation free completion source (20227a7)
  • use Unitask (384d02b)
  • Use UniTask instead of task (70c9cfb)

49.2.1 (2020-10-15)

Bug Fixes

  • double counting packets on kcp receive (89cb937)

Performance Improvements

  • recycle segments (13a3c3d)
  • reduce allocation sending to observers (f5f7f6c)
  • reduce allocations per client (8d37f8c)
  • Refactore move to receive queue (173735c)
  • remove allocation (9311fbd)
  • reuse segment if it is a repeat (4879010)
  • Use allocation free completion source (20227a7)
  • Use UniTask instead of task (70c9cfb)

49.2.0 (2020-10-14)

Bug Fixes

  • throw weaver error when trying to use GameObject param (#395) (2726b9e)

Features

49.1.1 (2020-10-14)

Bug Fixes

  • bug in kcp that caused invalid smoothing of rtt values (eacfefe)

49.1.0 (2020-10-14)

Features

49.0.0 (2020-10-14)

  • Reduce allocations by using Unitask (#392) (a45413a), closes #392

BREAKING CHANGES

  • Mirage now uses UniTask

48.0.1 (2020-10-12)

Bug Fixes

  • InvalidOperationException when disconnecting (b131eb7)

48.0.0 (2020-10-11)

  • Users must initialize syncobjects (#391) (c0e2632), closes #391

BREAKING CHANGES

  • You must initialize all your SyncLists

47.0.3 (2020-10-10)

Bug Fixes

  • NRE in headless server mode (6dc8406)

47.0.2 (2020-10-09)

Bug Fixes

  • inconsistent case in meta file (4c50834)

47.0.1 (2020-10-08)

Bug Fixes

  • warning about tests.meta file (148b5a9)

47.0.0 (2020-10-07)

breaking

Bug Fixes

  • access NI on disabled objects (#383) (0ab4c60)
  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • Examples can exit property in client mode (35faaf3)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • Lobby comp should not reference NetworkConnection.IsReady (#385) (6a1a190)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)
  • nre modifying syncvars that have not been spawned (69883c5)

Features

  • Add IncludeOwner option to SendToAll (#387) (6b0a005)
  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

Performance Improvements

BREAKING CHANGES

  • It is no longer guaranteed that all objects are spawned before we start calling events

  • fix object spawning on scene change

  • remove unused variable

Co-authored-by: uwee <uweenukr@gmail.com>

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-06)

breaking

Bug Fixes

  • access NI on disabled objects (#383) (0ab4c60)
  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • Examples can exit property in client mode (35faaf3)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • Lobby comp should not reference NetworkConnection.IsReady (#385) (6a1a190)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)
  • nre modifying syncvars that have not been spawned (69883c5)

Features

  • Add IncludeOwner option to SendToAll (#387) (6b0a005)
  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

Performance Improvements

BREAKING CHANGES

  • It is no longer guaranteed that all objects are spawned before we start calling events

  • fix object spawning on scene change

  • remove unused variable

Co-authored-by: uwee <uweenukr@gmail.com>

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-06)

breaking

Bug Fixes

  • access NI on disabled objects (#383) (0ab4c60)
  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • Examples can exit property in client mode (35faaf3)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • Lobby comp should not reference NetworkConnection.IsReady (#385) (6a1a190)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)
  • nre modifying syncvars that have not been spawned (69883c5)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

Performance Improvements

BREAKING CHANGES

  • It is no longer guaranteed that all objects are spawned before we start calling events

  • fix object spawning on scene change

  • remove unused variable

Co-authored-by: uwee <uweenukr@gmail.com>

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-06)

breaking

Bug Fixes

  • access NI on disabled objects (#383) (0ab4c60)
  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • Examples can exit property in client mode (35faaf3)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)
  • nre modifying syncvars that have not been spawned (69883c5)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

Performance Improvements

BREAKING CHANGES

  • It is no longer guaranteed that all objects are spawned before we start calling events

  • fix object spawning on scene change

  • remove unused variable

Co-authored-by: uwee <uweenukr@gmail.com>

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-06)

breaking

Bug Fixes

  • access NI on disabled objects (#383) (0ab4c60)
  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • Examples can exit property in client mode (35faaf3)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)
  • nre modifying syncvars that have not been spawned (69883c5)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

Performance Improvements

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-05)

breaking

Bug Fixes

  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • Examples can exit property in client mode (35faaf3)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-05)

breaking

Bug Fixes

  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • Examples can exit property in client mode (35faaf3)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-04)

breaking

Bug Fixes

  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-04)

breaking

Bug Fixes

  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-04)

breaking

Bug Fixes

  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • examples no longer use prefabs or common files (#378) (718ec9e)
  • networkmenu should add NSM to playerSpawner too (c7bd0be)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-04)

breaking

Bug Fixes

  • adding namespace for sonar bug (2ed0859)
  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • examples no longer use prefabs or common files (#378) (718ec9e)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-04)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)
  • examples no longer use prefabs or common files (#378) (718ec9e)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-03)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Bug Fixes

  • bug Client ConnectionState not set properly in Disconnect (#369) (74298c5)
  • Bug with NI destroy order (#374) (485f78b)

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • You can no longer use gameobjects in syncvars

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Bug Fixes

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

47.0.0 (2020-10-02)

breaking

Features

  • new generic Read and Write methods for all types (#2301) (85252c3)
  • support Jagged arrays (0267dbe)

BREAKING CHANGES

  • Serialize and Deserialize methods in synclists don't do anything anymore

  • Remove old comment

  • Fix compilatio error

46.2.0 (2020-10-02)

Features

  • Generate rw for synclist items (518840c)

46.1.0 (2020-09-30)

Bug Fixes

  • reduce prefab count to prevent errors when examples are missing (a531fa0)

Features

  • NetworkBehaviors can be added to child gameobjects (#371) (266dc8d)

46.0.2 (2020-09-30)

Bug Fixes

  • invalid reference to UnityEditor in standalone build (69f5be7)

46.0.1 (2020-09-30)

Bug Fixes

46.0.0 (2020-09-30)

Bug Fixes

  • potential NRE with weaver errors (9e0c18c)

Features

BREAKING CHANGES

  • SyncList and other syncobjects no longer have override methods to serialize and deserialize data

45.0.1 (2020-09-30)

Bug Fixes

  • issue with readers and writers from other assemblies (18f3eba)

45.0.0 (2020-09-29)

  • Renamed ReadMessage -> Reader (1bb89f2)

BREAKING CHANGES

  • NetworkReader.ReadMessage renamed to NetworkReader.Read
  • NetworkWriter.WriteMessage renamed to NetworkReader.Write

44.3.1 (2020-09-29)

Bug Fixes

44.3.0 (2020-09-29)

Features

44.2.0 (2020-09-28)

Features

  • Support reading and writing recursive types (a82f3fd)

44.1.0 (2020-09-28)

Bug Fixes

Features

44.0.0 (2020-09-27)

Features

BREAKING CHANGES

  • IMessageBase has been removed, you don't need to implement anything

43.9.1 (2020-09-25)

Bug Fixes

  • asmdef issues related to runtime tests (#357) (175b6b7)

43.9.0 (2020-09-24)

Features

43.8.0 (2020-09-24)

Features

  • Add support for customer INetworkConnections (#346) (9d0b219)

43.7.0 (2020-09-21)

Bug Fixes

Features

  • Added Layer Weight to NetworkAnimator (#2134) (23b9fb0)
  • Adding Custom Data and Custom Address fields to list server (#2110) (e136f48)
  • adding script to help debug list server (#2202) (5701369)
  • allowing lists to automatically be sent in Commands, Rpc, and Messages (#2151) (381e5a1)
  • making NetworkBehaviour.IsDirty public (#2208) (1ade82d)
  • Use Server Client attribute outside of NetworkBehaviour (#2150) (eec49fa)

Performance Improvements

  • weaver: No need to manually load mirror and unity assemblies (#2261) (e50ea63)
  • adding check for no connections (#2130) (150b14a)

43.6.0 (2020-09-07)

Features

43.5.0 (2020-08-31)

Features

43.4.2 (2020-08-24)

Bug Fixes

  • scene change race condition. wait for server to be ready (#339) (2ca0340)

1.0.0 (2020-08-23)

breaking

  • AsyncFallbackTransport -> FallbackTransport (f8f643a)
  • AsyncMultiplexTransport -> MultiplexTransport (832b7f9)
  • remove redundant scene ready value (#325) (6cc8f62)
  • Remove TargetRPC & use ClientRPC option instead (#293) (4ace144)
  • Removed websocket transport (f26159b)
  • Rename [Command] to [ServerRpc] (#271) (fff7459)
  • rename AsyncWsTransport -> WsTransport (9c394bc)
  • Transports can now provide their Uri (#1454) (b916064), closes #38

Bug Fixes

  • (again) Telepathy updated to latest version (Send SocketExceptions now disconnect the player too) (46eddc0)
  • #1241 - Telepathy updated to latest version. All tests are passing again. Thread.Interrupt was replaced by Abort+Join. (228b32e)
  • #1278 - only call initial state SyncVar hooks on clients if the SyncVar value is different from the default one. (#1414) (a3ffd12)
  • #1359. Revert "Destroy objects owned by this connection when disconnecting (#1179)" (4cc4279)
  • #1380 - NetworkConnection.clientOwnedObjects changed from uint HashSet to NetworkIdentity HashSet for ease of use and to fix a bug where DestroyOwnedObjects wouldn't find a netId anymore in some cases. (a71ecdb)
  • #1515 - StopHost now invokes OnServerDisconnected for the host client too (#1601) (678ac68)
  • #1593 - NetworkRoomManager.ServerChangeScene doesn't destroy the world player before replacing the connection. otherwise ReplacePlayerForConnection removes authority form a destroyed object, causing all kidns of errors. The call wasn't actually needed. (#1594) (347cb53)
  • #1599 - NetworkManager HUD calls StopHost/Server/Client depending on state. It does not call StopHost in all cases. (#1600) (8c6ae0f)
  • #1659 Telepathy LateUpdate processes a limited amount of messages per tick to avoid deadlocks (#1830) (d3dccd7)
  • #718 remove Tests folder from unitypackage (#827) (7e487af)
  • #840 by allowing Mirror to respect the forceHidden flag (#893) (3ec3d02)
  • ArraySegment<byte> work in Messages (#919) (981ba7c)
  • code generation works with il2cpp again (#1056) (8738562)
  • do not accumulate changes if there are no observers fixes #963 (#964) (64a0468)
  • don't convert null arrays to empty array (#913) (dd758ca)
  • Don't increment counter in Awake (#971) (45b7118)
  • don't use obsolete method (12437ba)
  • error with missing assemblies (#1052) (00eb23a), closes #1051
  • Fix error scene error message in host mode (838d4f0)
  • hooks in host mode can call each other (#1017) (f27fd0b)
  • invalid scene id in 2019.1 by ignoring prefabs in NetworkScenePostProcess (203a823)
  • ListServer Ping not found in WebGL (6c4b34b)
  • maintain Unity's copyright notice (#961) (7718955)
  • missed ushort reader/writer (74faf2a)
  • Mono.CecilX namespace to work around Unity 2019 Cecil namespace collision (#832) (5262592)
  • NetworkManager OnValidate wouldn't properly save the automatically added Transport before because Undo.RecordObject is needed for that now. (524abfc)
  • pack works if message is boxed (55c9bb6)
  • properly stop client and server in OnApplicationQuit so that clients still get a chance to send then 'quit' packet instead of just timing out. Also fixes a bug where OnStopServer/OnStopClient were not called when stopping the Editor. (#936) (d6389e6)
  • Rebuild observers when we switch scenes, fixes #978 (#1016) (6dd1350)
  • Respect Player Prefab Position & Rotation (#825) (8ebda0f)
  • Revert "NetworkIdentity.observers dictionary is always created, but always empty on clients. Gets rid of all null checks." to fix server-only bug not allowing movement on client, e.g. in uMMORPG (f56507f)
  • Revert "refactor: consolidate prefab and spawn handlers (#817)" to fix a bug where if editor=host, build=client, we receive scene object not found when walking out of and back into an observer's range (1f07af0)
  • SceneId was not set to 0 for prefab variants (#976) (#977) (2ca2c48)
  • suppress warning on standalone build #1053 (4ef680a)
  • Sync full netAnimator for new clients, fix #980 (#1110) (db8310f)
  • Telepathy already supports IPv6, but can no also connect to IPv4-only servers again (e.g. Mirror Booster) (488446a)
  • Telepathy fix a bug where calling Disconnect while connecting to a dead end would freeze Unity because .Join would wait forever. Interrupt fixes it. (3831cbd)
  • weaver: fix #796, reload assemblies after initial import (#1106) (d91b387)
  • #573 (part 1) NetworkScenePostProcess handles NetworkIdentities of all scenes except DontDestroyOnLoad. this way it works for additively loaded scenes too. (c1af84e)
  • #573 (part 2) NetworkManager detects additive scene loads and respawns objects on server/client again (e521a20)
  • #573 NullReferenceException because destroyed NetworkIdentities were never removed from sceneIds dict (a2d6317)
  • #609 by spawning observers in NetworkServer.AddPlayerForConnection after setting the controller. There is no point in trying to spawn with a null controller in SetReady, because by definition no one can observer something that is null. (#623) (5c00577)
  • #640 InternalReplacePlayerForConnection calls SpawnObserversForConnection now too (bdf12c8)
  • #651 GetSceneAt assumes default scene (#654) (65eaba1)
  • #652 OnPostProcessScene includes disabled NetworkIdentities in scene (ee2ace8)
  • #679 package for unity (4a6a4df)
  • #679 unity package (9895647)
  • #692 by always adding connectionToClient when rebuilding observers (ab44ac8)
  • #723 - NetworkTransform teleport works properly now (fd7dc5e)
  • #791 corrected assembly paths passed to weaver (#803) (3ba546e)
  • #791 stack overflow in the weaver (#792) (7b57830)
  • add Changelog metadata fix #31 (c67de22)
  • add client only test for FinishLoadScene (#262) (50e7fa6)
  • Add missing channelId to NetworkConnectionToClient.Send calls (#1509) (b8bcd9a)
  • add NetworkManager.StartClientUri test (#2095) (12827f6)
  • add NRE short circuit for scene change (#335) (7afbe57)
  • add tests for NetworkTransform and NetworkRigidbody (#273) (e9621dd)
  • Add the transport first so NetworkManager doesn't add Telepathy in OnValidate (bdec276)
  • Added ClientOnly check (fb927f8)
  • Added LogFilter.Debug check in a few places (#1575) (3156504)
  • added new read/write symbol params (#806) (3a50ca6)
  • Added WriteBytesAndSize tests, and fixed the function to be pedantic. (#773) (72e4e55)
  • Adding warning when adding handler with RegisterSpawnHandler if assetid already exists (#1819) (7f26329)
  • Adding warning when adding prefab with RegisterPrefab if assetid already exists (#1828) (9f59e0c)
  • addingNetwork rigidbody icon and AddComponentMenu attribute (#2051) (ab1b92f)
  • Additive scene can respawn objects safely (#1270) (8899d20)
  • additive scene example (9fa0169)
  • Additive Scene Example was missing Player Auth on movement. (#234) (09bbd68)
  • additive scene player movement is client authoritative (e683a92)
  • AdditiveSceneExample missing comp and assignments (#267) (ab394b8)
  • Allow sync objects to be re-used (#1744) (58c89a3), closes #1714
  • Allowing overrides for virtual commands to call base method (#1944) (b92da91)
  • assign spawn locations and fix null refs in example (#242) (3adf343)
  • AsyncTcp now exits normally when client disconnects (#141) (8896c4a)
  • attributes causing a NRE (#69) (fc99c67)
  • auto reference mirrorng assembly (93f8688)
  • Avoid FindObjectOfType when not needed (#66) (e2a4afd)
  • benchmark examples (b221b74)
  • better error for Command, ClientRpc and TargetRpc marked as abstract (#1947) (62257d8)
  • Better errors when trying to replace existing assetid (#1827) (822b041)
  • build in IL2CPP (#1524) (59faa81), closes #1519 #1520
  • call callback after update dictionary in host (#1476) (1736bb0)
  • Call hooks when initializing objects OnStartServer on host (#1249) (7aa7815)
  • call Obsoleted OnStartClient (#681) (8dea50e)
  • call OnStartClient only once in room (#1264) (4d373c5)
  • call the virtual OnRoomServerDisconnect before the base (e6881ef)
  • calling base method when the first base class did not have the virtual method (#2014) (4af72c3)
  • calling Connect and Authenticate handler twice (#102) (515f5a1)
  • calling syncvar hook when not connected yet (#77) (e64727b)
  • cap spawned to match client (#301) (7d1571a)
  • changing namespace to match folder name (#2037) (e36449c)
  • chat example (e6e10a7)
  • chat example works (0609d50)
  • check event prefix (7417b68)
  • Check SceneManager GetSceneByName and GetSceneByPath (#1684) (e7cfd5a)
  • Clean up roomSlots on clients in NetworkRoomPlayer (5032ceb)
  • Cleaning up network objects when server stops (#1864) (4c25122)
  • cleanup the server even after error (#255) (7bd015e)
  • clear all message handlers on Shutdown (#1829) (a6ab352)
  • client being disconnected twice (#132) (36bb3a2)
  • client disconnected on server event never raised (#133) (9d9efa0)
  • ClientRpc methods now work accross assemblies (#1129) (13dbcb9), closes #1128
  • ClientRPC should skip first arg only if set as Connection (#315) (168e622)
  • ClientSceneManager should be responsible for its own cleanup (#298) (92ab3ff)
  • Cmds can be called from child classes in other assemblies (d8a98d8), closes #1108
  • code smell rename Ready (#256) (6d92d14)
  • Command and Rpc debugging information (#1551) (658847b), closes #1550
  • comment punctuation (4d827cd)
  • compilation error (df7baa4)
  • compilation error (dc74256)
  • compilation error on standalone build (bb70bf9)
  • compilation issue after merge from mirror (daf07be)
  • compilation issues (22bf925)
  • comply with MIT license in upm package (b879bef)
  • Decouple ChatWindow from player (#1429) (42a2f9b)
  • Default port is 7777 (960c39d)
  • destroy owned objects (#1352) (d7a58d2), closes #1346 #1206 #1351
  • Destroyed NetMan due to singleton collision must not continue. (#1636) (d2a58a4)
  • disconnect even if there is an exception (#152) (2eb9de6)
  • disconnect properly from the server (c89bb51)
  • disconnect transport without domain reload (20785b7)
  • Do not call InternalAddPlayer twice (#1246) (7119dd1)
  • don't call hook in host if no change, fixes #1142 (#1143) (d8ce80f)
  • don't call OnStartLocalPlayer twice (#1263) (c753089)
  • Don't call RegisterClientMessages every scene change (#1865) (05c119f)
  • Don't call RegisterClientMessages twice (#1842) (2a08aac)
  • don't crash when stopping the client (f584388)
  • Don't destroy the player twice (#1709) (cbc2a47)
  • Don't disconnect host (#608) (c1707e5)
  • Don't give host player authority by default (#1158) (1fc1ed2)
  • don't report error when stopping the server (c965d4b)
  • Don't set asset id for scene objects (7e40232)
  • Don't set framerate in host mode (4644bc4)
  • Don't throw exception getting address (7df3ce3)
  • Dont allow null connections (#323) (44fef7e)
  • dont allow set of networkSceneName directly (#2100) (df16a7d)
  • dont directly set NetworkSceneName (#297) (bd043a3)
  • dont register client scene handlers while host (#296) (37c8ddd)
  • Draw SyncVar label for Unity objects inline (#1291) (a0425e4)
  • Dummy file for SyncListStructProcessor.cs (#798) (75e4f15)
  • Eliminate NetworkAnimator SetTrigger double firing on Host (#1723) (e5b728f)
  • empty scene name isn't considered as empty (ec3a939)
  • error when there are no network behaviors (#1303) (dbe0643)
  • examples now work with prefabs in NC (df4149b)
  • examples run in background (#233) (4755650)
  • Fallback and Multiplex now disable their transports when they are disabled (#2048) (61d44b2)
  • FinishLoadSceneHost calls FinishStart host which now calls StartHostClient AFTER server online scene was loaded. Previously there was a race condition where StartHostClient was called immediately in StartHost, before the scene change even finished. This was still from UNET. (df9c29a)
  • first connection id = 1 (#60) (891dab9)
  • fix adding and saving Components (2de7ecd)
  • fix release pipeline (2a3db0b)
  • Fix Room Slots for clients (#1439) (268753c)
  • Fixed Capitalization (c45deb8)
  • Fixed ClienRpc typos (e946c79)
  • Fixed NetworkRoomManager Template (1662c5a)
  • Fixed toc link (3a0c7fb)
  • Fixing ClientScene UnregisterPrefab (#1815) (9270765)
  • fixing cloud scripts not pinging api (#2097) (8e545ac)
  • Fixing SyncVars not serializing when OnSerialize is overridden (#1671) (c66c5a6)
  • folders for meta files no longer in the codebase (#237) (192fd16)
  • hasAuthority is now visible in all overrides (#1251) (2f19c7c), closes #1250
  • headless build (7864e8d)
  • headless build (ab47a45)
  • Host Player Ready Race Condition (#1498) (4c4a52b)
  • If socket is undefined it will return false. See #1486 (#2017) (4ffff19)
  • Improved error checking for ClientScene.RegisterPrefab (#1823) (a0aa4f9)
  • Improved error checking for ClientScene.RegisterPrefab with handler (#1841) (54071da)
  • Invoke server.Disconnected before identity is removed for its conn (#165) (b749c4b)
  • isClient now reports true onStartServer in host mode (#1252) (d00c95b)
  • isLocalPlayer is true during OnStartClient for Player (#1255) (fb26d00), closes #1250
  • isLocalPlayer works in host mode onStartServer (#1253) (9acde20), closes #1250
  • it is not safe to modify this outside this class (bc7a961)
  • list server logs properly when disconnected (f02d317)
  • Lobby Remove button not showing for P1 when Server Only (377c47c)
  • Make assembly definition 2018.4 compatible (99ecc9e)
  • make build pass (08df6d0)
  • Make SendToReady non-ambiguous (#1578) (b627779)
  • making weaver include public fields in base classes in auto generated Read/Write (#1977) (3db57e5)
  • Mark weaver as failed if serializing invalid type (03c767d)
  • Message base class not being Serialized if processed in the wrong order (#2023) (3418fa2)
  • Mirage works with 2019.2 (9f35d6b)
  • Misc code smells (#2094) (e4cc85c)
  • Misc Code Smells (#257) (278a127)
  • Misc code smells (#269) (23dcca6)
  • missing meta (87ace4d)
  • move listserver classes into package (2668b17)
  • move NetworkStreamExtension in a namespace (12de543)
  • moved SpawnObjects call for hostmode to after LocalClient Connected (#317) (1423a6d)
  • movement in room demo (49f7904)
  • MultiplexTransport GetMaxMessageSize NullReferenceException when called on server. And fixes potential exploits / out of sync issues where clients with different transports might see different game states because of different max message sizes. (#1332) (b3127be)
  • Network rigidbody fixes (#2050) (0c30d33)
  • NetworkBehaviour.SyncVarGameObjectEqual made protected again so that Weaver finds it again (165a1dd)
  • NetworkBehaviour.SyncVarNetworkIdentityEqual made protected again so that Weaver finds it again (20a2d09)
  • NetworkBehaviourInspector wouldn't show SyncMode if syncvars / syncobjects were only private (ed572da)
  • NetworkClient.Shutdown calls ClientScene.Shutdown again to properly clean up client scene. ClientScene only cleans up itself without touching transport or NetworkIdentities (fixes the bug where the player object wouldn't be destroyed after calling StopClient) (fb716df)
  • NetworkConnectionEvent should be serialized in editor (0e756ce)
  • NetworkIdentity.OnStartLocalPlayer catches exceptions now too. fixes a potential bug where an exception in PlayerInventory.OnStartLocalPlayer would cause PlayerEquipment.OnStartLocalPlayer to not be called (5ed5f84)
  • NetworkIdentity.RebuildObservers: added missing null check for observers coming from components that implement OnRebuildObservers. Previously this caused a NullReferenceException. (a5f495a)
  • NetworkIdentity.SetClientOwner: overwriting the owner was still possible even though it shouldn't be. all caller functions double check and return early if it already has an owner, so we should do the same here. (548db52)
  • NetworkRoomManager.minPlayers is now protected so it's available for derived classes. (3179f08)
  • NetworkServer.SpawnObjects: return false if server isn't running (d4d524d)
  • NetworkTransform clientAuthority works again via clientAuthority option that is configurable in inspector. this had to be fixed after we removed local authority. (d712cd0)
  • NinjaWS code smells (#272) (71d9428)
  • no longer requires hook to be the first overload in a class (#1913) (0348699)
  • non ready connections should not observe objects (1352334)
  • not removing server if id is empty (#2078) (f717945)
  • NRE on gamemanager in scene (#268) (58a124a)
  • NRE when destroying all objects (#85) (71e78a7)
  • NS call SpawnObjects. No NetMan dependency for spawning objects (#300) (e1bb8de)
  • null reference exception (7ce95c5)
  • OnClientEnterRoom should only fire on clients (d9b7bb7)
  • OnClientReady is called and passed the appropriate ready state value in NetworkLobbyPlayer (#618) (c9eac57)
  • OnSetHostVisibility can now check if it has authority (888e46c)
  • Optional Server or Client for PlayerSpawner (#231) (3fa5f89)
  • overriden hooks are invoked (fixes #1581) (#1584) (cf55333)
  • pass the correct connection to TargetRpcs (#146) (9df2f79)
  • Pass the name of the invoking class and desired command when an object has no authority. (#1216) (701f4f4)
  • port network discovery (d6a1154)
  • Potential DOS attack by sending invalid UTF8 byte sequences (#727) (3cee3ab)
  • Potential DOS attack on server by sending packed ulongs when packed uints are expected. (#730) (015d0d5)
  • potential exploits / out of sync issues where clients with different transports might see different game states because of different max message sizes when using FallbackTransport. (#1331) (5449840)
  • potential null reference exception with debug logging (33493a0)
  • Prevent Compiler Paradox (#1145) (fd43c67)
  • Prevent Double Call of NetworkServer.Destroy (#1554) (2d1b142)
  • Prevent host client redundantly changing to offline scene (b4511a0)
  • prevent NRE when operating as a separated client and server (#283) (e10e198)
  • properly detect NT rotation (#1516) (f0a993c)
  • race condition closing tcp connections (717f1f5)
  • Re-enable transport if aborting additive load/unload (#1683) (bc37497)
  • register prefab error with same guid (#2092) (984eb73)
  • release job requires node 10 (3f50e63)
  • release unitypackage (#1355) (d0cc669)
  • remove customHandling as its no longer used (#265) (dbd9d84)
  • Remove leftover AddPlayer methods now that extraData is gone (#1751) (2d006fe)
  • remove pause network comment and log (#238) (1a8c09d)
  • Remove RoomPlayer from roomSlots on Disconnect (2a2f76c)
  • remove samples from upm package (#25) (a71e21f)
  • remove scriptableobject error Tests (479b78b)
  • remove tests from npm package (#32) (5ed9b4f)
  • remove Tests from UPM (#33) (8f42af0)
  • remove Tests from upm package (#34) (8d8ea0f)
  • remove unused code (#308) (554d2c5)
  • remove unused events (#334) (c20f6de)
  • Removed NetworkClient.Update because NetworkManager does it in LateUpdate (984945e)
  • Removed NetworkServer.Listen because HostSetup does that (cf6823a)
  • Removed unnecessary registration of player prefab in NetworkRoomManager (b2f52d7)
  • Removed unused variable (ae3dc04)
  • renaming call/invoke prefix for SyncEvent (#2089) (18d6957), closes #2088
  • replace player (remove authority by default) (#1261) (ad724fe), closes #1257 #1257 #1257
  • Replaced Icosphere with centered pivot (1dc0d98)
  • ReplacePlayer now calls OnStartLocalPlayer (#1280) (0e1bc81), closes #962
  • Replacing ClearDelegates with RemoveDelegates for test (#1971) (927c4de)
  • Report correct channel to profiler in SendToObservers (0b84d4c)
  • reset buffer every time (a8a62a6)
  • return & continue on separate line (#1504) (61fdd89)
  • Revert "NetworkClient.Shutdown: call ClientScene.Shutdown, otherwise it's never called" - caused client's player to not be removed from scene after disconnecting (13bb748)
  • Room example to use new override (e1d1d41)
  • rooms demo (44598e5)
  • Round Robin Spawning by Hierarchy Order (#790) (531e202), closes #724
  • SceneManager Exceptions and Tests (#287) (388d218)
  • SendToAll sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (4b90aaf)
  • SendToObservers missing result variable (9c09c26)
  • SendToObservers sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (4267983)
  • SendToReady sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (4596b19)
  • set authority when replacing the player (2195fee)
  • Set syncvar variables after calling the hook (#659) (2d63ee1)
  • set version number (#1338) (0d1d7b5)
  • show private serializable fields in network behavior inspector (#1557) (b8c87d9)
  • smell cleanup left if bug. repaired with parenthesis. (#275) (dd52be3)
  • Spawn Handler Order (#223) (8674274), closes #222
  • spawnwithauthority works again in host mode (5b04836)
  • stack overflow getting logger (55e075c)
  • Telepathy forgot to set socket options for accepted clients on the server (22931fc)
  • Telepathy updated to latest version (IPv6 fix again) (535b4d4)
  • Telepathy updated to latest version (Send SocketExceptions now disconnect the player too) (98d3fb0)
  • Telepathy updated to latest version: Correctly support IPv4 and IPv6 sockets (2761ff2)
  • Telepathy updated to latest version. connectionId counter is properly reset after stopping server. (abf06df)
  • TelepathyTransport.ToString UWP exception (8a190bf)
  • update NetworkIdentityEditor FindProperty to renamed variables (a2cc14b)
  • Updated Telepathy to latest version to fix IPAddress.Parse error for "localhost" (cc6e4f6)
  • workaround for #791 (5c850aa)
  • serialization: Added NetworkWriter tests, found and fixed a bug in Write(Ray). (#769) (99c8f5c)
  • tests: Added missing SyncListByteValid test file (#634) (b0af876)
  • weaver: #696 detect .mystruct = new MyStruct() changes with syncvars (#702) (053949b)
  • weaver: fix #706 find system dlls (#729) (53be9b6)
  • websocket: #829 fix InvalidOperationException with wss:// (#830) (2d682b5)
  • websocket: Remove send queues (they never worked) and SSL (temporarily) (#879) (3c60b08)
  • websocket: Use a buffer for most WS messages in WebGL client resulting in 0 alloc for most messages (#848) (8967a20)
  • Stop calling ClientDisconnect on host (#597) (b67b3e4)
  • StopHost with offline scene calls scene change twice (#1409) (a0c96f8)
  • Suppress warning (fffd462)
  • Suspend server transport while changing scenes (#1169) (e8fac8a)
  • sync events can not have the same name if they are in different classes (#2054) (c91308f)
  • syncvars in commands work again (#1131) (c24a73f)
  • syntax error in release job (2eeaea4)
  • TargetRpc now works accross assemblies (#1130) (5ecd646), closes #1128
  • tcp server Tests (3b95477)
  • Telepathy reverted to older version to fix freezes when calling Client.Disconnect on some platforms like Windows 10 (d0d77b6)
  • Telepathy updated to latest version: protect against allocation attacks via MaxMessageSize. Can be configured in the TelepathyTransport component now. (67d715f)
  • Telepathy updated to latest version. Threads are closed properly now. (4007423)
  • Telepathy works on .net core again (cb3d9f0)
  • the Room scene references other scenes (9b60871)
  • there is no lobby example (b1e05ef)
  • ui bug where additive button is not reset (#311) (5effce9)
  • update interfaces for recent changes that were missed (#309) (a17e760)
  • Updated NetworkRoomPlayer inspector and doc and image (a4ffcbe)
  • Use big endian for packet size (1ddcbec)
  • Use path instead of name in Room Example (5d4bc47)
  • Use ReplaceHandler instead of RegisterHandler in NetworkManager (ffc276c)
  • version file (#1337) (ed7e509)
  • weaver Cmd/Rpc/Target prefix check is no longer trash (#707) (699a261)
  • weaver now processes multiple SyncEvent per class (#2055) (b316b35)
  • weaver support array of custom types (#1470) (d0b0bc9)
  • weaver syncLists now checks for SerializeItem in base class (#1768) (1af5b4e)
  • webgl build fix #1136 (#1137) (c85d0df)
  • Websockets Transport now handles being disabled for scene changes (#1994) (5480a58)
  • WebSockets: Force KeepAliveInterval to Zero (9a42fe3)
  • when modifying a prefab, Unity calls OnValidate for all scene objects based on that prefab, which caused Mirror to reset the sceneId because we only checked if a prefab is currently edited, not if THIS prefab is currently edited (db99dd7)
  • Wrong method names in ClientSceneTests (ab3f353)

Code Refactoring

  • Client and server keep their own spawned list (#71) (c2599e2)
  • observers is now a set of connections (#74) (4848920)
  • Remove networkAddress from NetworkManager (#67) (e89c32d)
  • Remove offline/online scenes (#120) (a4c881a)

Features

Performance Improvements

  • Adding buffer for local connection (#1621) (4d5cee8)
  • Adding dirty check before update sync var (#1702) (58219c8)
  • AddPlayerMessage is now a value type (246a551)
  • allocation free enumerator for syncsets, fixes #1171 (#1173) (035e630)
  • allocation free syncdict foreach, fix #1172 (#1174) (1ec8910)
  • avoid allocation for error messages (c669ff1)
  • Avoid allocation when reading message payload (#912) (11750a9)
  • avoid allocation with message structs (#939) (7c7c910)
  • avoid boxing for getting message id (#1144) (9513842)
  • avoid boxing if there is no profiler (a351879)
  • ClientAuthorityMessage is now a value type (#991) (d071438)
  • Custom IEnumerator for SyncLists to avoid allocations on foreach (#904) (4ffd5a2)
  • don't varint bytes and shorts (4867415)
  • eliminate boxing with lists (#901) (8f6d4cb)
  • eliminate small allocation on remote calls (#907) (1c18743)
  • eliminate string concat during remote method calls (#908) (70a532b)
  • empty messages are value types now (145edaa)
  • faster NetworkReader pooling (#1623) (1ae0381)
  • faster NetworkWriter pooling (#1620) (4fa43a9)
  • Increasing Network Writer performance (#1674) (f057983)
  • messages should be value types (#987) (633fb19)
  • MultiplexTransport: avoid Linq allocations that would happen on every packet send because Send calls .ServerActive() each time (7fe8888)
  • NetworkProximityChecker checks Server.connections instead of doing 10k sphere casts for 10k monsters. 2k NetworkTransforms demo is significantly faster. Stable 80fps instead of 500ms freezes in between. (#1852) (2d89f05)
  • Networkreader nonalloc (#910) (18f035d)
  • objdestroy message is now a value type (#993) (a32c5a9)
  • ObjHideMessage is now a value type (#992) (a49d938)
  • OnDeserializeSafely without GC (#804) (27b7e25)
  • Optimize interest management (f1ceb0c)
  • Optimize interest management (#899) (ff1a234)
  • Pack small 32 bit negatives efficiently (480af1a)
  • Pack small 64 bit negatives efficiently (5f1ef4a)
  • Recycle argument writer to avoid allocations (#945) (9743216)
  • Reduce enum bandwidth (#794) (97e9ac2)
  • remove allocations during syncvar sync (#946) (d2381ce)
  • remove BinaryWriter, it allocates like crazy (#929) (7b3e82a)
  • remove network transform allocation (9e3ecc1)
  • Remove redundant mask (#1604) (5d76afb)
  • remove syncvar boxing (#927) (b2ba589)
  • replace isValueType with faster alternative (#1617) (61163ca), closes /github.com/vis2k/Mirror/issues/1614#issuecomment-605443808
  • return the contents of the writer as an array segment (#916) (ced3690)
  • reuse the network writer used for rpc parameters (5dafc4d)
  • rpc messages are now value types (#997) (b5b2f3e)
  • SceneMessage is now a value type (#989) (407b36a)
  • simplify and speed up getting methods in weaver (c1cfc42)
  • spawn with client authority only takes 1 message (#1206) (3b9414f)
  • SpawnPrefabMessage is now a value type (a44efd1)
  • SpawnSceneObjectMessage is now a value type (40c7d97)
  • Transports now give ArraySegment<byte> instead of byte[] (based on #569 and #846) (77bee45)
  • update vars is now a value type (#990) (f99e71e)
  • Use 0 for null byte arrays (#925) (21ca49d)
  • use 0 for null strings (#926) (7181cd9)
  • use bitshift operations instead of division in varint (fff765c)
  • use byte[] directly instead of MemoryStream (#1618) (166b8c9)
  • Use continuewith to queue up ssl messages (#1640) (84b2c8c)
  • Use invokeRepeating instead of Update (#2066) (264f9b8)
  • Use NetworkWriterPool in NetworkAnimator (#1421) (7d472f2)
  • Use NetworkWriterPool in NetworkTransform (#1422) (a457845)
  • Use RemoveAt to remove elements from lists (22b45f7)
  • use value types for empty messages (#988) (81d915e)
  • Use WritePackedUInt32 in SyncList (#688) (2db7576)
  • remove NetworkConnection.isAuthenticated (#167) (8a0e0b3), closes #167
  • Simplify RegisterHandler (#160) (f4f5167), closes #160
  • Remove NetworkConnectionToClient (#155) (bd95cea), closes #155
  • remove room feature for now (#122) (87dd495), closes #122
  • Server Disconnect is now an event not a message (#121) (82ebd71), closes #121
  • remove OnClientStart virtual (eb5242d)
  • Move on client stop (#118) (678e386), closes #118
  • merge clientscene and networkclient (#84) (dee1046), closes #84
  • removed obsoletes (#1542) (4faec29), closes #1542
  • Assign/Remove client authority now throws exception (7679d3b)
  • Removed LLAPI (b0c936c)
  • Simplify unpacking messages (#65) (c369da8), closes #65
  • Remove all compiler defines (a394345)
  • Simplify AddPlayerForConnection (#62) (fb26755), closes #62
  • Renamed localEulerAnglesSensitivity (#1474) (eee9692), closes #1474
  • Rename NetworkServer.localClientActive (7cd0894)
  • Simplify spawning (c87a38a)
  • Merge pull request #650 from vis2k/networkclient_static_2 (fac0542), closes #650

Reverts

  • Revert "Revert "Explain why 10"" (d727e4f)
  • Revert "Revert "perf: faster NetworkWriter pooling (#1616)"" (20e9e5d), closes #1616
  • Revert "fix: replacing the player does not mean giving up authority (#1254)" (b8618d3), closes #1254
  • Revert "feat: Add Timeout to NetworkAuthenticator (#1091)" (12c5a8f), closes #1091
  • Revert "Remove add component from deprecated components (#1087)" (9f09c21), closes #1087
  • Revert "Inserted blank lines where appropriate" (913d503)
  • Revert "feat: Custom readers and writers" (07ef8c9)
  • Revert "New Basic Example (#985)" (35b9919), closes #985
  • Revert "fix: reduce allocations at the transport" (bb128fe)
  • Revert "doc: messages can be struct now" (79f7c81)
  • Revert "ClientScene.OnSpawnPrefab and NetworkManager.OnServerAddPlayerInternal: spawn objects with prefab names to avoid unnecessary "(Clone)" suffix from Unity. otherwise we need a name sync component in all games that show the names, e.g. MMOs for all monsters. This way we only need name sync components for objects that actually do change names, e.g. players." because of issue #426 (82d4cf0), closes #426
  • Revert "Source based weaver (#319)" (9b232b0), closes #319
  • Revert "Code style and comment typo fix." (#386) (dc3b767), closes #386
  • Revert "Onserialize improvements (#302)" (00a3610), closes #302
  • Revert "Documented the attributes." (9e3dcc7)
  • Revert "Documented NetworkBehaviour and NetworkIdentity." (a5cfc81)
  • Revert "Documented NetworkManager." (5bc44a9)
  • Revert "Don't generate OnSerialize/OnDeserialize if not needed (#199)" (#217) (40a3ecc), closes #199 #217
  • Revert "Don't require Cmd, Rpc and Target prefixes (#127)" (96992c3), closes #127

BREAKING CHANGES

  • Remove redundant scene ready value

  • Removed [TargetRpc], use [ClientR(target=Client.Owner)] instead

  • Removed websocket transport

  • rename AsyncMultiplexTransport -> MultiplexTransport

  • rename AsyncFallbackTransport -> FallbackTransport

  • rename AsyncWsTransport -> WsTransport

  • [LocalPlayerCallback] is now [LocalPlayer(error = false)]

  • Local Player guard

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>

  • [ClientCallback] is now [Client(error = false)]

  • [HasAuthorityCallback] is now [HasAuthority(error = false)]

  • fix test

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>

  • [ServerCallback] is now [Server(error = false)]

  • fixed weaver test

  • Remove unused code

  • fix comment

  • document replacement of ServerCallback

  • No need to be serializable

  • Exception should be serializable?

  • Fix code smell

  • No need to implement interface, parent does

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>

  • Renamed [Command] to [ServerRpc]

  • NetworkManager no longer handles scene changes

  • Remove isAuthenticated

  • Fix typo

  • Fix smells

  • Remove smells

  • NetworkConneciton.RegisterHandler only needs message class

  • NetworkConnectionToClient and networkConnectionToServer are gone

  • connecition Id is gone

  • websocket transport does not work, needs to be replaced.

  • NetworkManager no longer has OnServerStart virtual

  • NetworkManager no longer spawns the player. You need to add PlayerSpawner component if you want that behavior

  • You will need to reassign your scenes after upgrade

  • Automatically fix properties that were using name

If you open a NetworkManager or other gameobject that uses a scene name +it now gets converted to scene path by the SceneDrawer

  • Use get scene by name

  • Scene can never be null

  • Update Assets/Mirror/Examples/AdditiveScenes/Scenes/MainScene.unity

  • Issue warning if we drop the scene

  • Issue error if scene is lost

  • Add suggestion on how to fix the error

  • Keep backwards compatibility, check for scene name

  • cache the active scene

  • Update Assets/Mirror/Editor/SceneDrawer.cs

Co-Authored-By: James Frowen <jamesfrowendev@gmail.com>

  • GetSceneByName only works if scene is loaded

  • Remove unused using

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>

  • Room feature and example are gone

  • offline/online scenes are gone

  • OnServerDisconnect is gone

  • Removed OnStartClient virtual, use event from NetworkClient instead

  • OnStopClient virtual is replaced by event in Client

  • SyncDictionary callback has been replaced

  • callback signature changed in SyncSet

  • Sync lists no longer have a Callback event with an operation enum

  • NetworkBehavior no longer has virtuals for lifecycle events

  • ClientScene is gone

  • removed obsoletes

  • NetworkTime.Time is no longer static

  • observers is now a set of connections, not a dictionary

  • cannot pass GameObjects and NetworkIdentities anymore. +Will be restored in the future.

  • StartClient now receives the server ip

  • NetworkManager no longer has NetworkAddress

  • Assign/Remove client authority throws exception instead of returning boolean

  • Removed LLAPITransport

  • MessagePacker.UnpackMessage replaced by UnpackId

  • removed compilation defines, use upm version defines instead

  • AddPlayerForConnection no longer receives the client

  • fix compilatio errors

  • fix build errors

  • ClientConnect replaced with ClientConnectAsync +that can be awaited

  • fix: TCP transport for async compliance

  • use async connect

  • Ignore telepathy tests until they are fixed

  • It is ok to interrupt sockets

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • localEulerAnglesSensitivity renamed to localRotationSensitivity

  • Make the server uri method mandatory in transports

Co-authored-by: MrGadget <chris@clevertech.net>

  • rename localClientActive to LocalClientActive
  • Spawn no longer receives NetworkClient
  • Remove obsolete OnServerAddPlayer

Any person that overrides this method has a broken game. These methods are never called anywhere.

The user gets a warning because they are overriding an obsolete method, which might get ignored if they have lots of other warnings. They would run their game and their game would not work at all. No errors.

By removing these methods, users that override these methods will get a compile time error instead. So they cannot ignore this error and they will fix it.

  • Method is no longer available in NetworkLobbyManager
  • Make NetworkClient Great Again!

43.3.2 (2020-08-10)

Bug Fixes

  • add NRE short circuit for scene change (#335) (7afbe57)

43.3.1 (2020-08-07)

Bug Fixes

43.3.0 (2020-08-04)

Features

  • add IChannelConnection interface for transports with channels (#332) (887118e)

43.2.1 (2020-08-02)

Bug Fixes

43.2.0 (2020-08-01)

Features

  • HeadlessAutoStart and HeadlessFrameLimiter (#318) (ce6ef50)

43.1.4 (2020-08-01)

Bug Fixes

  • moved SpawnObjects call for hostmode to after LocalClient Connected (#317) (1423a6d)

43.1.3 (2020-07-31)

Bug Fixes

  • ClientRPC should skip first arg only if set as Connection (#315) (168e622)

43.1.2 (2020-07-28)

Bug Fixes

  • ui bug where additive button is not reset (#311) (5effce9)

43.1.1 (2020-07-22)

Bug Fixes

43.1.0 (2020-07-22)

Bug Fixes

Features

43.0.1 (2020-07-20)

Bug Fixes

43.0.0 (2020-07-20)

breaking

  • Remove TargetRPC & use ClientRPC option instead (#293) (4ace144)

BREAKING CHANGES

  • Removed [TargetRpc], use [ClientR(target=Client.Owner)] instead

42.2.0 (2020-07-19)

Features

  • scene transition uses routine instead of asyncoperation (#305) (a16eb00)

42.1.5 (2020-07-18)

Bug Fixes

  • NS call SpawnObjects. No NetMan dependency for spawning objects (#300) (e1bb8de)

42.1.4 (2020-07-18)

Bug Fixes

42.1.3 (2020-07-17)

Bug Fixes

42.1.2 (2020-07-17)

Bug Fixes

  • ClientSceneManager should be responsible for its own cleanup (#298) (92ab3ff)

42.1.1 (2020-07-16)

Bug Fixes

  • dont register client scene handlers while host (#296) (37c8ddd)

42.1.0 (2020-07-15)

Features

  • Make AsyncQueue public for transports (5df0d98)

42.0.0 (2020-07-15)

breaking

  • Removed websocket transport (f26159b)

BREAKING CHANGES

  • Removed websocket transport

41.1.0 (2020-07-15)

Features

41.0.0 (2020-07-15)

breaking

  • AsyncFallbackTransport -> FallbackTransport (f8f643a)
  • AsyncMultiplexTransport -> MultiplexTransport (832b7f9)
  • rename AsyncWsTransport -> WsTransport (9c394bc)

Features

  • Transports may support any number of schemes (#291) (2af7b9d)

BREAKING CHANGES

  • rename AsyncMultiplexTransport -> MultiplexTransport
  • rename AsyncFallbackTransport -> FallbackTransport
  • rename AsyncWsTransport -> WsTransport

40.3.0 (2020-07-14)

Bug Fixes

Features

  • Server and Client share the same scene loading method (#286) (acb6dd1)

40.2.0 (2020-07-14)

Features

40.1.1 (2020-07-14)

Bug Fixes

  • prevent NRE when operating as a separated client and server (#283) (e10e198)

40.1.0 (2020-07-14)

Features

  • Transports can tell if they are supported (#282) (890c6b8)

40.0.0 (2020-07-14)

Features

  • LocalPlayer attribute now throws error (#277) (15aa537)

BREAKING CHANGES

  • [LocalPlayerCallback] is now [LocalPlayer(error = false)]

  • Local Player guard

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>

39.0.0 (2020-07-14)

Features

BREAKING CHANGES

  • [ClientCallback] is now [Client(error = false)]

38.0.0 (2020-07-14)

Features

  • HasAuthority attribute now throws error (#276) (da2355b)

BREAKING CHANGES

  • [HasAuthorityCallback] is now [HasAuthority(error = false)]

  • fix test

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>

37.0.1 (2020-07-14)

Bug Fixes

  • smell cleanup left if bug. repaired with parenthesis. (#275) (dd52be3)

37.0.0 (2020-07-13)

Features

BREAKING CHANGES

  • [ServerCallback] is now [Server(error = false)]

  • fixed weaver test

  • Remove unused code

  • fix comment

  • document replacement of ServerCallback

  • No need to be serializable

  • Exception should be serializable?

  • Fix code smell

  • No need to implement interface, parent does

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>

36.0.0 (2020-07-13)

breaking

BREAKING CHANGES

  • Renamed [Command] to [ServerRpc]

35.3.4 (2020-07-13)

Bug Fixes

35.3.3 (2020-07-13)

Bug Fixes

35.3.2 (2020-07-13)

Bug Fixes

  • remove customHandling as its no longer used (#265) (dbd9d84)

35.3.1 (2020-07-13)

Bug Fixes

  • AdditiveSceneExample missing comp and assignments (#267) (ab394b8)
  • NRE on gamemanager in scene (#268) (58a124a)

35.3.0 (2020-07-13)

Bug Fixes

  • Message base class not being Serialized if processed in the wrong order (#2023) (3418fa2)
  • not removing server if id is empty (#2078) (f717945)

Features

Performance Improvements

35.2.0 (2020-07-12)

Bug Fixes

  • add client only test for FinishLoadScene (#262) (50e7fa6)

Features

  • Commands no longer need to start with Cmd (#263) (9578e19)
  • throw exception if assigning incorrect asset id (#250) (7741fb1)

35.1.0 (2020-07-12)

Features

35.0.3 (2020-07-11)

Bug Fixes

35.0.2 (2020-07-11)

Bug Fixes

35.0.1 (2020-07-11)

Bug Fixes

  • fix adding and saving Components (2de7ecd)

35.0.0 (2020-07-10)

Features

BREAKING CHANGES

  • NetworkManager no longer handles scene changes

34.13.0 (2020-07-05)

Features

  • Spawn objects in clients in same order as server (#247) (b786646)

34.12.0 (2020-07-04)

Features

  • Example with 10k monster that change unfrequently (2b2e71c)

34.11.0 (2020-07-04)

Bug Fixes

  • addingNetwork rigidbody icon and AddComponentMenu attribute (#2051) (ab1b92f)
  • calling base method when the first base class did not have the virtual method (#2014) (4af72c3)
  • changing namespace to match folder name (#2037) (e36449c)
  • Clean up roomSlots on clients in NetworkRoomPlayer (5032ceb)
  • Fallback and Multiplex now disable their transports when they are disabled (#2048) (61d44b2)
  • If socket is undefined it will return false. See #1486 (#2017) (4ffff19)
  • Network rigidbody fixes (#2050) (0c30d33)
  • sync events can not have the same name if they are in different classes (#2054) (c91308f)
  • weaver now processes multiple SyncEvent per class (#2055) (b316b35)

Features

34.10.1 (2020-07-04)

Bug Fixes

  • assign spawn locations and fix null refs in example (#242) (3adf343)
  • folders for meta files no longer in the codebase (#237) (192fd16)
  • remove pause network comment and log (#238) (1a8c09d)

34.10.0 (2020-07-04)

Bug Fixes

  • #1659 Telepathy LateUpdate processes a limited amount of messages per tick to avoid deadlocks (#1830) (d3dccd7)
  • Added ClientOnly check (fb927f8)
  • Adding warning when adding handler with RegisterSpawnHandler if assetid already exists (#1819) (7f26329)
  • Adding warning when adding prefab with RegisterPrefab if assetid already exists (#1828) (9f59e0c)
  • Allowing overrides for virtual commands to call base method (#1944) (b92da91)
  • better error for Command, ClientRpc and TargetRpc marked as abstract (#1947) (62257d8)
  • Better errors when trying to replace existing assetid (#1827) (822b041)
  • Cleaning up network objects when server stops (#1864) (4c25122)
  • clear all message handlers on Shutdown (#1829) (a6ab352)
  • Don't call RegisterClientMessages every scene change (#1865) (05c119f)
  • Don't call RegisterClientMessages twice (#1842) (2a08aac)
  • Fixed Capitalization (c45deb8)
  • Fixing ClientScene UnregisterPrefab (#1815) (9270765)
  • Improved error checking for ClientScene.RegisterPrefab (#1823) (a0aa4f9)
  • Improved error checking for ClientScene.RegisterPrefab with handler (#1841) (54071da)
  • making weaver include public fields in base classes in auto generated Read/Write (#1977) (3db57e5)
  • NetworkRoomManager.minPlayers is now protected so it's available for derived classes. (3179f08)
  • no longer requires hook to be the first overload in a class (#1913) (0348699)
  • OnClientEnterRoom should only fire on clients (d9b7bb7)
  • Prevent host client redundantly changing to offline scene (b4511a0)
  • Removed unnecessary registration of player prefab in NetworkRoomManager (b2f52d7)
  • Removed unused variable (ae3dc04)
  • Replaced Icosphere with centered pivot (1dc0d98)
  • Replacing ClearDelegates with RemoveDelegates for test (#1971) (927c4de)
  • Suppress warning (fffd462)
  • Use ReplaceHandler instead of RegisterHandler in NetworkManager (ffc276c)
  • Websockets Transport now handles being disabled for scene changes (#1994) (5480a58)
  • WebSockets: Force KeepAliveInterval to Zero (9a42fe3)
  • Wrong method names in ClientSceneTests (ab3f353)

Features

  • Add excludeOwner option to ClientRpc (#1954) (864fdd5), closes #1963 #1962 #1961 #1960 #1959 #1958 #1957 #1956
  • Add NetworkServer.RemovePlayerForConnection (#1772) (e3790c5)
  • add SyncList.RemoveAll (#1881) (eb7c87d)
  • Added virtual SyncVar hook for index in NetworkRoomPlayer (0c3e079)
  • Adding ignoreAuthority Option to Command (#1918) (3ace2c6)
  • Adding onLocalPlayerChanged to ClientScene for when localPlayer is changed (#1920) (b4acf7d)
  • adding OnRoomServerPlayersNotReady to NetworkRoomManager that is called when player ready changes and atleast 1 player is not ready (#1921) (9ae7fa2)
  • Adding ReplaceHandler functions to NetworkServer and NetworkClient (#1775) (877f4e9)
  • adding script that displays ping (#1975) (7e93030)
  • Allowing Multiple Concurrent Additive Scenes (#1697) (e32a9b6)
  • ClientScene uses log window (b3656a9)
  • Creating method to replace all log handlers (#1880) (d8aaf76)
  • Experimental Network Transform (#1990) (7e2b733)
  • Improved Log Settings Window Appearance (#1885) (69b8451)
  • Improved RoomPayer template (042b4e1)
  • LogSettings that can be saved and included in a build (#1863) (fd4357c)
  • Multiple Concurrent Additive Physics Scenes Example (#1686) (87c6ebc)
  • NetworkConnection to client and server use logger framework (72154f1)
  • NetworkConnection uses logging framework (ec319a1)
  • NetworkIdentity use logger framework (2e39e13)
  • NetworkServer uses new logging framework (8b4f105)
  • Prettify Log Names (c7d8c09)
  • Use SortedDictionary for LogSettings (#1914) (7d4c0a9)

Performance Improvements

  • NetworkProximityChecker checks Server.connections instead of doing 10k sphere casts for 10k monsters. 2k NetworkTransforms demo is significantly faster. Stable 80fps instead of 500ms freezes in between. (#1852) (2d89f05)

34.9.4 (2020-06-27)

Bug Fixes

  • Additive Scene Example was missing Player Auth on movement. (#234) (09bbd68)
  • examples run in background (#233) (4755650)

34.9.3 (2020-06-25)

Bug Fixes

  • Optional Server or Client for PlayerSpawner (#231) (3fa5f89)

34.9.2 (2020-06-14)

Bug Fixes

34.9.1 (2020-05-24)

Bug Fixes

  • disconnect transport without domain reload (20785b7)

34.9.0 (2020-04-26)

Bug Fixes

  • Add the transport first so NetworkManager doesn't add Telepathy in OnValidate (bdec276)
  • call the virtual OnRoomServerDisconnect before the base (e6881ef)
  • compilation error on standalone build (bb70bf9)
  • Removed NetworkClient.Update because NetworkManager does it in LateUpdate (984945e)
  • Removed NetworkServer.Listen because HostSetup does that (cf6823a)
  • weaver syncLists now checks for SerializeItem in base class (#1768) (1af5b4e)

Features

  • Allow Multiple Network Animator (#1778) (34a76a2)
  • Allowing extra base types to be used for SyncLists and other SyncObjects (#1729) (9bf816a)
  • Disconnect Dead Clients (#1724) (a2eb666), closes #1753
  • Exclude fields from weaver's automatic Read/Write using System.NonSerialized attribute (#1727) (7f8733c)
  • Improve weaver error messages (#1779) (bcd76c5)
  • NetworkServer.SendToReady (#1773) (f6545d4)

34.8.1 (2020-04-21)

Bug Fixes

  • Allow sync objects to be re-used (#1744) (58c89a3), closes #1714
  • Remove leftover AddPlayer methods now that extraData is gone (#1751) (2d006fe)
  • Remove RoomPlayer from roomSlots on Disconnect (2a2f76c)
  • Use path instead of name in Room Example (5d4bc47)

34.8.0 (2020-04-21)

Bug Fixes

  • Don't destroy the player twice (#1709) (cbc2a47)
  • Eliminate NetworkAnimator SetTrigger double firing on Host (#1723) (e5b728f)

Features

34.7.0 (2020-04-19)

Features

  • transport can provide their preferred scheme (774a07e)

34.6.0 (2020-04-19)

Features

34.5.0 (2020-04-17)

Features

  • Added SyncList.Find and SyncList.FindAll (#1716) (0fe6328), closes #1710
  • Weaver can now automatically create Reader/Writer for types in a different assembly (#1708) (b1644ae), closes #1570

Performance Improvements

34.4.1 (2020-04-15)

Bug Fixes

  • Fixing SyncVars not serializing when OnSerialize is overridden (#1671) (c66c5a6)

34.4.0 (2020-04-14)

Features

  • Button to register all prefabs in NetworkClient (#179) (9f5f0b2)

34.3.0 (2020-04-13)

Features

  • Authenticators can now provide AuthenticationData (310ce81)

34.2.0 (2020-04-11)

Features

34.1.0 (2020-04-10)

Bug Fixes

  • Check SceneManager GetSceneByName and GetSceneByPath (#1684) (e7cfd5a)
  • Re-enable transport if aborting additive load/unload (#1683) (bc37497)
  • stack overflow getting logger (55e075c)

Features

  • logger factory works for static classes by passing the type (f9328c7)

Performance Improvements

34.0.0 (2020-04-10)

  • remove NetworkConnection.isAuthenticated (#167) (8a0e0b3), closes #167

BREAKING CHANGES

  • Remove isAuthenticated

  • Fix typo

  • Fix smells

  • Remove smells

33.1.1 (2020-04-09)

Bug Fixes

  • Invoke server.Disconnected before identity is removed for its conn (#165) (b749c4b)

33.1.0 (2020-04-08)

Features

33.0.0 (2020-04-08)

BREAKING CHANGES

  • NetworkConneciton.RegisterHandler only needs message class

32.0.1 (2020-04-08)

Performance Improvements

32.0.0 (2020-04-07)

  • Remove NetworkConnectionToClient (#155) (bd95cea), closes #155

BREAKING CHANGES

  • NetworkConnectionToClient and networkConnectionToServer are gone

31.4.0 (2020-04-04)

Bug Fixes

  • disconnect even if there is an exception (#152) (2eb9de6)

Features

  • spawning invalid object now gives exception (e2fc829)

31.3.1 (2020-04-03)

Performance Improvements

31.3.0 (2020-04-01)

Bug Fixes

  • Destroyed NetMan due to singleton collision must not continue. (#1636) (d2a58a4)

Features

Performance Improvements

31.2.1 (2020-04-01)

Bug Fixes

  • pass the correct connection to TargetRpcs (#146) (9df2f79)

31.2.0 (2020-04-01)

Features

31.1.0 (2020-04-01)

Features

31.0.0 (2020-04-01)

Bug Fixes

Features

BREAKING CHANGES

  • connecition Id is gone
  • websocket transport does not work, needs to be replaced.

30.3.3 (2020-03-31)

Bug Fixes

30.3.2 (2020-03-31)

Bug Fixes

  • AsyncTcp now exits normally when client disconnects (#141) (8896c4a)

30.3.1 (2020-03-30)

Bug Fixes

30.3.0 (2020-03-30)

Features

30.2.0 (2020-03-30)

Features

30.1.2 (2020-03-29)

Bug Fixes

  • client being disconnected twice (#132) (36bb3a2)
  • client disconnected on server event never raised (#133) (9d9efa0)

30.1.1 (2020-03-29)

Performance Improvements

30.1.0 (2020-03-29)

Features

30.0.0 (2020-03-29)

Features

BREAKING CHANGES

  • NetworkManager no longer has OnServerStart virtual

29.1.1 (2020-03-29)

Reverts

  • Revert "Revert "Explain why 10"" (d727e4f)

29.1.0 (2020-03-28)

Features

  • get a convenient property to get network time (1e8c2fe)

29.0.3 (2020-03-28)

Performance Improvements

29.0.2 (2020-03-27)

Performance Improvements

29.0.1 (2020-03-27)

Bug Fixes

  • #1515 - StopHost now invokes OnServerDisconnected for the host client too (#1601) (678ac68)

Performance Improvements

  • simplify and speed up getting methods in weaver (c1cfc42)

29.0.0 (2020-03-26)

Features

BREAKING CHANGES

  • NetworkManager no longer spawns the player. You need to add PlayerSpawner component if you want that behavior

28.0.0 (2020-03-26)

Bug Fixes

  • #1599 - NetworkManager HUD calls StopHost/Server/Client depending on state. It does not call StopHost in all cases. (#1600) (8c6ae0f)

Features

  • now you can assign scenes even if not in Editor (#1576) (c8a1a5e)

BREAKING CHANGES

  • You will need to reassign your scenes after upgrade

  • Automatically fix properties that were using name

If you open a NetworkManager or other gameobject that uses a scene name +it now gets converted to scene path by the SceneDrawer

  • Use get scene by name

  • Scene can never be null

  • Update Assets/Mirror/Examples/AdditiveScenes/Scenes/MainScene.unity

  • Issue warning if we drop the scene

  • Issue error if scene is lost

  • Add suggestion on how to fix the error

  • Keep backwards compatibility, check for scene name

  • cache the active scene

  • Update Assets/Mirror/Editor/SceneDrawer.cs

Co-Authored-By: James Frowen <jamesfrowendev@gmail.com>

  • GetSceneByName only works if scene is loaded

  • Remove unused using

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>

27.0.1 (2020-03-26)

Bug Fixes

  • empty scene name isn't considered as empty (ec3a939)

27.0.0 (2020-03-26)

  • remove room feature for now (#122) (87dd495), closes #122
  • Server Disconnect is now an event not a message (#121) (82ebd71), closes #121

Code Refactoring

BREAKING CHANGES

  • Room feature and example are gone
  • offline/online scenes are gone
  • OnServerDisconnect is gone

26.0.0 (2020-03-25)

  • remove OnClientStart virtual (eb5242d)

BREAKING CHANGES

  • Removed OnStartClient virtual, use event from NetworkClient instead

25.0.0 (2020-03-25)

Features

  • Added Virtual OnRoomStopServer to NetworkRoomManager and Script Template (d034ef6)

BREAKING CHANGES

  • OnStopClient virtual is replaced by event in Client

24.1.1 (2020-03-25)

Bug Fixes

  • #1593 - NetworkRoomManager.ServerChangeScene doesn't destroy the world player before replacing the connection. otherwise ReplacePlayerForConnection removes authority form a destroyed object, causing all kidns of errors. The call wasn't actually needed. (#1594) (347cb53)

24.1.0 (2020-03-24)

Features

24.0.1 (2020-03-23)

Bug Fixes

24.0.0 (2020-03-23)

Features

BREAKING CHANGES

  • SyncDictionary callback has been replaced

23.0.0 (2020-03-23)

Features

BREAKING CHANGES

  • callback signature changed in SyncSet

22.0.0 (2020-03-23)

Features

BREAKING CHANGES

  • Sync lists no longer have a Callback event with an operation enum

21.2.1 (2020-03-23)

Bug Fixes

21.2.0 (2020-03-23)

Features

21.1.0 (2020-03-22)

Features

  • NetworkConnection manages messages handlers (#93) (5c79f0d)

21.0.1 (2020-03-22)

Bug Fixes

  • calling Connect and Authenticate handler twice (#102) (515f5a1)

21.0.0 (2020-03-22)

Features

BREAKING CHANGES

  • NetworkBehavior no longer has virtuals for lifecycle events

20.1.0 (2020-03-22)

Bug Fixes

Features

  • NetworkClient raises event after authentication (#96) (c332271)

20.0.6 (2020-03-22)

Bug Fixes

  • NetworkConnectionEvent should be serialized in editor (0e756ce)

20.0.5 (2020-03-21)

Bug Fixes

20.0.4 (2020-03-21)

Bug Fixes

20.0.3 (2020-03-21)

Bug Fixes

  • additive scene player movement is client authoritative (e683a92)
  • the Room scene references other scenes (9b60871)

20.0.2 (2020-03-21)

Bug Fixes

20.0.1 (2020-03-20)

Bug Fixes

20.0.0 (2020-03-20)

Bug Fixes

  • compilation issue after merge from mirror (daf07be)
  • merge clientscene and networkclient (#84) (dee1046), closes #84

Features

  • SyncSet and SyncDictionary now show in inspector (#1561) (5510711)

BREAKING CHANGES

  • ClientScene is gone

19.1.2 (2020-03-20)

Bug Fixes

  • examples now work with prefabs in NC (df4149b)

19.1.1 (2020-03-20)

Bug Fixes

  • Fixed ClienRpc typos (e946c79)
  • Prevent Double Call of NetworkServer.Destroy (#1554) (2d1b142)
  • show private serializable fields in network behavior inspector (#1557) (b8c87d9)
  • Updated NetworkRoomPlayer inspector and doc and image (a4ffcbe)

19.1.0 (2020-03-19)

Features

  • Now you can pass NetworkIdentity and GameObjects (#83) (dca2d40)

19.0.1 (2020-03-17)

Bug Fixes

  • calling syncvar hook when not connected yet (#77) (e64727b)

19.0.0 (2020-03-17)

BREAKING CHANGES

  • removed obsoletes

18.0.0 (2020-03-17)

Features

  • Time sync is now done per NetworkClient (b24542f)

BREAKING CHANGES

  • NetworkTime.Time is no longer static

17.0.2 (2020-03-17)

Bug Fixes

17.0.1 (2020-03-15)

Bug Fixes

  • Report correct channel to profiler in SendToObservers (0b84d4c)

17.0.0 (2020-03-15)

Code Refactoring

  • observers is now a set of connections (#74) (4848920)

BREAKING CHANGES

  • observers is now a set of connections, not a dictionary

16.0.0 (2020-03-10)

Code Refactoring

  • Client and server keep their own spawned list (#71) (c2599e2)

BREAKING CHANGES

  • cannot pass GameObjects and NetworkIdentities anymore. +Will be restored in the future.

15.0.7 (2020-03-10)

Bug Fixes

  • Use big endian for packet size (1ddcbec)

15.0.6 (2020-03-09)

Bug Fixes

  • compilation issues (22bf925)
  • NetworkBehaviour.SyncVarGameObjectEqual made protected again so that Weaver finds it again (165a1dd)
  • NetworkBehaviour.SyncVarNetworkIdentityEqual made protected again so that Weaver finds it again (20a2d09)

15.0.5 (2020-03-08)

Bug Fixes

  • don't crash when stopping the client (f584388)
  • race condition closing tcp connections (717f1f5)

15.0.4 (2020-03-08)

Bug Fixes

15.0.3 (2020-03-08)

Bug Fixes

  • NetworkIdentity.RebuildObservers: added missing null check for observers coming from components that implement OnRebuildObservers. Previously this caused a NullReferenceException. (a5f495a)
  • SendToObservers missing result variable (9c09c26)

15.0.2 (2020-03-06)

Bug Fixes

15.0.1 (2020-03-06)

Bug Fixes

15.0.0 (2020-03-05)

Code Refactoring

  • Remove networkAddress from NetworkManager (#67) (e89c32d)

BREAKING CHANGES

  • StartClient now receives the server ip
  • NetworkManager no longer has NetworkAddress

14.0.1 (2020-03-04)

Bug Fixes

  • Avoid FindObjectOfType when not needed (#66) (e2a4afd)

14.0.0 (2020-03-03)

  • Assign/Remove client authority now throws exception (7679d3b)

BREAKING CHANGES

  • Assign/Remove client authority throws exception instead of returning boolean

13.0.0 (2020-03-02)

BREAKING CHANGES

  • Removed LLAPITransport

12.0.2 (2020-02-29)

Bug Fixes

  • NetworkIdentity.OnStartLocalPlayer catches exceptions now too. fixes a potential bug where an exception in PlayerInventory.OnStartLocalPlayer would cause PlayerEquipment.OnStartLocalPlayer to not be called (5ed5f84)

12.0.1 (2020-02-29)

Bug Fixes

  • disconnect properly from the server (c89bb51)

12.0.0 (2020-02-28)

  • Simplify unpacking messages (#65) (c369da8), closes #65

BREAKING CHANGES

  • MessagePacker.UnpackMessage replaced by UnpackId

11.1.0 (2020-02-27)

Bug Fixes

  • Add missing channelId to NetworkConnectionToClient.Send calls (#1509) (b8bcd9a)
  • build in IL2CPP (#1524) (59faa81), closes #1519 #1520
  • Fixed NetworkRoomManager Template (1662c5a)
  • Fixed toc link (3a0c7fb)
  • Host Player Ready Race Condition (#1498) (4c4a52b)
  • NetworkIdentity.SetClientOwner: overwriting the owner was still possible even though it shouldn't be. all caller functions double check and return early if it already has an owner, so we should do the same here. (548db52)
  • NetworkServer.SpawnObjects: return false if server isn't running (d4d524d)
  • properly detect NT rotation (#1516) (f0a993c)
  • return & continue on separate line (#1504) (61fdd89)
  • Room example to use new override (e1d1d41)
  • SendToAll sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (4b90aaf)
  • SendToObservers sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (4267983)
  • SendToReady sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. (4596b19)

Features

  • Added NetworkConnection to OnRoomServerSceneLoadedForPlayer (b5dfcf4)
  • Check for client authority in CmdClientToServerSync (#1500) (8b359ff)
  • Check for client authority in NetworkAnimator Cmd's (#1501) (ecc0659)
  • Cosmetic Enhancement of Network Manager (#1512) (f53b12b)
  • NetworkSceneChecker use Scene instead of string name (#1496) (7bb80e3)

11.0.0 (2020-02-13)

  • Remove all compiler defines (a394345)

Features

  • Block Play Mode and Builds for Weaver Errors (#1479) (0e80e19)
  • Disposable PooledNetworkReader / PooledNetworkWriter (#1490) (bb55baa)

BREAKING CHANGES

  • removed compilation defines, use upm version defines instead

10.0.0 (2020-02-12)

  • Simplify AddPlayerForConnection (#62) (fb26755), closes #62

BREAKING CHANGES

  • AddPlayerForConnection no longer receives the client

  • fix compilatio errors

  • fix build errors

9.1.0 (2020-02-12)

Bug Fixes

Features

9.0.0 (2020-02-08)

Bug Fixes

  • don't report error when stopping the server (c965d4b)

Features

BREAKING CHANGES

  • ClientConnect replaced with ClientConnectAsync +that can be awaited

  • fix: TCP transport for async compliance

  • use async connect

  • Ignore telepathy tests until they are fixed

  • It is ok to interrupt sockets

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

  • Remove some warnings

8.0.1 (2020-02-06)

Bug Fixes

8.0.0 (2020-02-06)

Bug Fixes

  • call callback after update dictionary in host (#1476) (1736bb0)
  • port network discovery (d6a1154)
  • remove scriptableobject error Tests (479b78b)
  • Telepathy reverted to older version to fix freezes when calling Client.Disconnect on some platforms like Windows 10 (d0d77b6)
  • Telepathy updated to latest version. Threads are closed properly now. (4007423)
  • Renamed localEulerAnglesSensitivity (#1474) (eee9692), closes #1474

breaking

Features

BREAKING CHANGES

  • localEulerAnglesSensitivity renamed to localRotationSensitivity
  • Make the server uri method mandatory in transports

Co-authored-by: MrGadget <chris@clevertech.net>

7.0.0 (2020-01-27)

Features

  • Network Scene Checker Component (#1271) (71c0d3b)
  • network writer and reader now support uri (0c2556a)
  • Rename NetworkServer.localClientActive (7cd0894)
  • Simplify spawning (c87a38a)

BREAKING CHANGES

  • rename localClientActive to LocalClientActive
  • Spawn no longer receives NetworkClient

6.0.0 (2020-01-22)

Bug Fixes

5.0.0 (2020-01-19)

4.0.0 (2020-01-18)

3.1.0 (2020-01-16)

Bug Fixes

  • Decouple ChatWindow from player (#1429) (42a2f9b)
  • StopHost with offline scene calls scene change twice (#1409) (a0c96f8)
  • Telepathy works on .net core again (cb3d9f0)

Features

3.0.4 (2020-01-12)

Bug Fixes

  • comply with MIT license in upm package (b879bef)

3.0.3 (2020-01-12)

Bug Fixes

  • auto reference mirrorng assembly (93f8688)
  • Mirage works with 2019.2 (9f35d6b)

3.0.2 (2020-01-12)

Bug Fixes

3.0.1 (2020-01-11)

Bug Fixes

3.0.0 (2020-01-11)

Bug Fixes

  • #723 - NetworkTransform teleport works properly now (fd7dc5e)
  • fix release pipeline (2a3db0b)
  • release job requires node 10 (3f50e63)
  • remove tests from npm package (#32) (5ed9b4f)
  • syntax error in release job (2eeaea4)

Features

Performance Improvements

2.0.0 (2020-01-09)

1.1.2 (2020-01-09)

Bug Fixes

  • #1241 - Telepathy updated to latest version. All tests are passing again. Thread.Interrupt was replaced by Abort+Join. (228b32e)
  • #1278 - only call initial state SyncVar hooks on clients if the SyncVar value is different from the default one. (#1414) (a3ffd12)
  • #1380 - NetworkConnection.clientOwnedObjects changed from uint HashSet to NetworkIdentity HashSet for ease of use and to fix a bug where DestroyOwnedObjects wouldn't find a netId anymore in some cases. (a71ecdb)
  • FinishLoadSceneHost calls FinishStart host which now calls StartHostClient AFTER server online scene was loaded. Previously there was a race condition where StartHostClient was called immediately in StartHost, before the scene change even finished. This was still from UNET. (df9c29a)

1.1.1 (2020-01-05)

Bug Fixes

1.1.0 (2020-01-04)

Features

+ + + + \ No newline at end of file diff --git a/docs/general/getting-started/index.html b/docs/general/getting-started/index.html new file mode 100644 index 00000000000..a9b75457b39 --- /dev/null +++ b/docs/general/getting-started/index.html @@ -0,0 +1,24 @@ + + + + + + +Getting Started | Mirage Networking + + + + +
+

Getting Started

This document describes the steps to creating a multiplayer game with Mirage. The process described here is a simplified, higher-level version of the actual process for a real game; it doesn’t always work exactly like this, but it provides a basic recipe for the process.

Installation

Before everything, to install Mirage we need to add a new package manager repository to our project. To do this, we can go into Edit menu and then Project Settings. +This will open a new Editor Window with multiple tabs. The one we are looking for is Package Manager, so click there. +Once you click there, you should add a new Package Manager, so complete the fields as we show next and click apply

Name: OpenUPM
Url: https://package.openupm.com
Scopes:
- com.cysharp.unitask
- com.openupm
- com.miragenet

Add scoped registry

Once everything is ready, the next step is to close the Project Settings window, and jump into the Package Manager. So for this, we click on Window menu and then Package Manager. +At this window, we will click on a small button that says (probably, at today date on Unity Editor 2021.13f) Packages: In Project, here we have to select My registries. +Once, you've done that, we should be able to see Mirage and a few transport and also plugins in that list. +After selecting, you can choose the version on the list below the name, otherwise, you can just click install on the bottom right part of the window and after a loading bar, that's it. You already have Mirage API on your code, congrats!

Install Mirage

Video Tutorials

Currently, there are no Mirage-specific videos. You can use Mirror's existing videos alongside our Mirror to Mirage Conversion guide.

Networking Set-Up

  • Right click in the Scene, select NetworkNetworkManager. This will create a new GameObject with all the necessary networking components set up for you.
  • Add the NetworkManagerHUD component to the game object. This provides an out-of-the-box canvas UI system that you can use and create your own UI. Assign the variables to properly set up the UI so everything will interact with network code. In the future, we will be providing out-of-the-box UI that auto sets up.

See Using the NetworkManager.

Player Prefab

  • Create a new prefab in your project.
  • Add a NetworkIdentity component to the player prefab
  • Set the playerPrefab field on the CharacterSpawner component to the player prefab. You can find this component on the GameObject you created in the first setup.

See character objects for more information.

Player Movements

note

Attach the correct type of movement script you intended to use. NetworkTransform will move the transform component without physics calculations. If you +require physics to be also part of your normal movement calculations suggestion would be to attach a NetworkRigidBody component instead.

caution

Currently network transform and network rigid body components cannot handle various lag and drop of packets. Jitter or lag behind may occur. We are working +to improve these components and have better lag and jitter control in the future.

  • Add the correct movement component you require.
  • Check box client authority under the component if you want the player to be able to fully control movement without the server controlling it.
caution

If client authority is checked then hacking can occur due to trusting clients and accepting their movement. if you do not want this do not check client authority under the component and you will require to send commands to the server to allow movement to occur.

  • Update input and control scripts to reflect what type of control you want. See below for different examples.
note

If you require a camera to run on player prefab subscribe to Identity.OnStartLocalPlayer event to take control of the Main Camera in the scene for the player. You do not need a camera on every player prefab.

For example, if client authority has been checked and you trust clients. Never trust clients though.

using UnityEngine;
using Mirage;

public class Controls : NetworkBehaviour
{
void Update()
{
if (!IsLocalPlayer)
{
// exit from update if this is not the local player
return;
}

// handle player input for movement
}
}

For example, if server authority is going to be used.

using UnityEngine;
using Mirage;

public class Controls : NetworkBehaviour
{
void Update()
{
if (!IsLocalPlayer)
{
// exit from update if this is not the local player
return;
}

// handle player input for movement

// You would call this command after handling input or you can send inputs directly to
// server and let server buffer inputs up and do movements based on the buffered inputs.
MovePlayer();
}

[ServerRpc]
void MovePlayer()
{
// We are now firing off some kind of movement all done by server.
}
}

Basic Player Game State

  • Make scripts that contain important data into NetworkBehaviours instead of MonoBehaviours
  • You can sync different types of data depending on what you need to sync.

See State Synchronization.

Remote Actions

  • Make scripts that perform important actions into NetworkBehaviours instead of MonoBehaviours
  • Update functions that perform important player actions to have an attribute of [ServerRpc]

See Remote Actions.

Non-player game objects

Fix non-player prefabs such as enemies:

  • Add the NetworkIdentify component
  • Add the correct component needed to sync movement as the state above with player movement.
  • Once all objects have a network identity. Find ClientObjectManager under the NetworkManager game object in the scene and hit register prefabs.
  • Update scripts with game state and actions

Spawners

  • Potentially change spawner scripts to be NetworkBehaviours
  • Modify spawners to only run on the server (use IsServer property or the OnStartServer callback)
  • Call ServerObjectManager.Spawn() for created game objects

Spawn positions for players

  • Add a new game object and place it at the player's start location
  • Add this GameObject to the CharacterSpawner's Positions list.
+ + + + \ No newline at end of file diff --git a/docs/general/overview/index.html b/docs/general/overview/index.html new file mode 100644 index 00000000000..246267d40d8 --- /dev/null +++ b/docs/general/overview/index.html @@ -0,0 +1,19 @@ + + + + + + +Overview | Mirage Networking + + + + +
+

Overview

Mirage is a high-level multiplayer library for Unity games. The goal is to make it as easy as possible to add multiplayer to your game.

Some of the key features of Mirage include:

  • Sending and receiving messages
  • State synchronization
  • Client/Server and host mode

Mirage is made of 3 layers:

Socket Layer

The Socket Layer is concerned about sending and receiving bytes. It does not know what it is sending. There are several socket factory implementations. The default socket factory in Mirage is UDPSocketFactory.

If you want to implement a socket factory, create a class that extends Mirage.SocketLayer.SocketFactory. Its primary responsibility is to send and receive data. You will also need to create a class that represents a link between Mirage and the outside world by implementing Mirage.SocketLayer.ISocket. Reliability is handled on top of the factory by Mirage.

Message Layer

The message layer is concerned with sending and receiving messages.

If you wish to use this functionality, you will need to have a Mirage.NetworkClient in the client and a Mirage.NetworkServer for the server. These classes provide events you can subscribe to for the life cycle of connections. A connection is an implementation of Mirage.INetworkPlayer, and can send and receive messages.

Object Layer

This layer is the highest level layer, the classes in this layer are concerned about synchronizing state between objects, as well as sending RPC calls.

The client needs a Mirage.ClientObjectManager, the server needs a Mirage.ServerObjectManager. It will spawn and destroy objects and keep the objects in the client in sync with the objects in the server

Clients and Servers

Mirage supports 2 modes of operation which can work at the same time.

Host mode

In host mode, the server and client are running in the same application and share all networked objects. +There is a direct in-memory channel of communication between the Mirage.NetworkServer and Mirage.NetworkClient. +Since the objects are shared, there is no need to synchronize data.

Note that the host mode bypasses the Transport Layer.

Client / Server mode

In this mode, the client is connected to a separate server, which is normally in another machine and reachable through the network.

In client/server mode, the objects are duplicated in the server and client. For every networked object in the server, there is a corresponding object in the client with a matching network id.

Note a server can be in both host mode as well as a server for other clients.

+ + + + \ No newline at end of file diff --git a/docs/general/showcase/index.html b/docs/general/showcase/index.html new file mode 100644 index 00000000000..9bf4c884b03 --- /dev/null +++ b/docs/general/showcase/index.html @@ -0,0 +1,17 @@ + + + + + + +Showcase | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/general/sockets/index.html b/docs/general/sockets/index.html new file mode 100644 index 00000000000..c5eff008ccf --- /dev/null +++ b/docs/general/sockets/index.html @@ -0,0 +1,23 @@ + + + + + + +Sockets | Mirage Networking + + + + +
+

Sockets

Sockets are low-level objects that are responsible for sending and receiving raw data over the network. +Mirage has a single transport (called Mirage.SocketLayer.Peer) built into its core, which handles all the connection +states and reliability. Peer then uses the low-level sockets API to send and receive raw data over the network. +Check this section below to see how to implement your own socket.

Available sockets

The table below shows a list of available sockets and their features.

UDP (built-in)Steam (Steamworks.NET, Facepunch)Websocket
CCU1000+??
ProtocolUDPUDPTCP
Unreliable
Mobile
WebGL
CPULOWLOW?
NAT Punch
Encryption
IPv6??
Managed
Native
Based onNanoSockets (native), .NET (managed)Steam Game Networking SocketsSimpleWebTransport

Changing a socket

To change a socket, follow the steps below:

  1. Install the desired socket. Instructions are available on each socket's repository.
  2. Add the socket's SocketFactory as a new component on the object where you have the other Mirage components.
  3. Assign a reference to this component in the Socket Factory field of NetworkServer and NetworkClient components.
  4. Check if the socket has any required additional steps.
  5. Done. Mirage should now be using the newly added socket.

Implementing new socket

To create a new socket, you have to implement two classes - one that implements the Mirage.SocketLayer.ISocket +interface, which will represent the low-level socket and one that extends the Mirage.SocketLayer.SocketFactory +class, which will act as the MonoBehaviour component creating new instances of the low-level class.

You can check out our built-in UDP socket implementation as an inspiration: Mirage.Sockets.Udp.UdpSocket and +Mirage.Sockets.Udp.UdpSocketFactory.

+ + + + \ No newline at end of file diff --git a/docs/general/support/index.html b/docs/general/support/index.html new file mode 100644 index 00000000000..843646e0887 --- /dev/null +++ b/docs/general/support/index.html @@ -0,0 +1,17 @@ + + + + + + +Support | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/general/troubleshooting/index.html b/docs/general/troubleshooting/index.html new file mode 100644 index 00000000000..dd9475844a5 --- /dev/null +++ b/docs/general/troubleshooting/index.html @@ -0,0 +1,21 @@ + + + + + + +Troubleshooting | Mirage Networking + + + + +
+

Troubleshooting

No Writer found for X

Mirage normally generates readers and writers for any Data Type +In order to do so, it needs to know what types you want to read or write. +You are getting this error because Mirage did not know you wanted to read or write this type.

Mirage scans your code looking for calls to Send, ReceiveHandler, Write or Read. +It will also recognize SyncVars and parameters of Remote Calls. +If it does not find one, it assumes you are not trying to serialize the type so it does not generate the reader and writer.

For example, you might get this error with this code when trying to sync the SyncList.

public struct MyCustomType
{
public int id;
public string name;
}

class MyBehaviour : NetworkBehaviour
{
private readonly SyncList<MyCustomType> myList = new SyncList<MyCustomType>();
}

In this case, there is no direct invocation to send or receive. So Mirage does not know about it.

There is a simple workaround: add an [NetworkMessage] attribute to your class or struct.

[NetworkMessage] // Added attribute
public struct MyCustomType
{
public int id;
public string name;
}
+ + + + \ No newline at end of file diff --git a/docs/guides/about-ids/index.html b/docs/guides/about-ids/index.html new file mode 100644 index 00000000000..b328a67ae73 --- /dev/null +++ b/docs/guides/about-ids/index.html @@ -0,0 +1,17 @@ + + + + + + +About IDs | Mirage Networking + + + + +
+

About IDs

NetId

Mirage uses uint for NetId. Every NetworkIdentity is assigned a NetId when it is being spawned. Mirage uses the ID when passing messages between client and server to tell which object is the recipient of the message.

Prefab Hash

The prefab hash is used to uniquely identify each prefab so that it can be spawned over the network. Mirage will create the prefab hash by taking a 32-bit hash of the Asset path. The path is found using AssetDatabase.GetAssetPath

Scene ID

Mirage uses ulong for Scene IDss. Every game object with a NetworkIdentity in the scene (hierarchy) is assigned a scene ID in OnPostProcessScene. Mirage needs that to distinguish scene objects from each other because Unity has no unique ID for different game objects in the scene.

+ + + + \ No newline at end of file diff --git a/docs/guides/attributes/index.html b/docs/guides/attributes/index.html new file mode 100644 index 00000000000..d287cb2f7a1 --- /dev/null +++ b/docs/guides/attributes/index.html @@ -0,0 +1,21 @@ + + + + + + +Attributes | Mirage Networking + + + + +
+

Attributes

Networking attributes are added to members of NetworkBehaviour scripts to tell Mirage to do different things.

There are 4 types of attributes that Mirage has:

  • RPC Attributes: Cause a method to send a network message so that the body of the method is invoked on either the server or client.
  • Block methods invokes: Attributes used to restrict method invocation to specific contexts.
  • SyncVar: Add to Fields to cause their value to be automatically synced to clients.
  • Bit Packing: These attributes modify how values are written, providing an easy way to compress values before they are sent over the network. They can be applied to Fields and method Parameters.

RPC Attributes

Full details on RPC can be found on the Remote Actions page.

Both Rpc attributes support setting the channel to Reliable or Unreliable.

note

When using abstract or virtual methods, the attributes need to be applied to the override methods too.

  • ClientRpcAttribute
    +The ClientRpcAttribute allows the server to use a Remote Procedure Call (RPC) to run a function on specific clients, with options to target the owner, all observers, or a specified player. +See also: ClientRpc

  • ServerRpcAttribute
    +The ServerRpcAttribute is used when you want to call a function on the server from a client. Make sure to validate the input on the server. Note that you cannot call this attribute from the server itself. You can use this attribute as a wrapper around another function, allowing you to call it from the server as well. Additionally, you can return values from functions marked with this attribute. +See also: ServerRpc

Block Methods Invokes

These attributes can be added to methods to block them from being invoked in the wrong place. These attributes can only be used in NetworkBehaviour classes and when the object is spawned. If the object is not spawned, all the flags like IsServer will be false so will block the methods even if the server is running.

By default, methods with these attributes will throw a MethodInvocationException if invoked improperly. However, you can add error = false to return instead of throwing an exception.

note

When a method returns early due to a blocked invocation, the method will return default values for the return value or out parameters.

These attributes can be used for Unity game loop methods like Start, Update or OnCollisionEnter, as well as other implemented methods that need to be restricted to certain contexts.

Available Attributes:

  • ServerAttribute: Methods can only be invoked on the server.
  • ClientAttribute: Methods can only be invoked on the client.
  • HasAuthorityAttribute: Methods can only be invoked on the client when the player has authority of the object. See: Authority
  • LocalPlayerAttribute: Methods can only be invoked on the client when the object is the local player. See: Authority
  • NetworkMethodAttribute: Methods can only be invoked based on the flags set in the attribute. For example, NetworkFlags.Server | NetworkFlags.HasAuthority allows the method to be called on the server OR on the client with authority.

Examples:

[Server]
void SpawnCoin()
{
// This method is only allowed to be invoked on the server.
}
[NetworkMethod(NetworkFlags.Server | NetworkFlags.NotActive)]
public void StartGame()
{
// This method will run on the server or in single-player mode.
// It will only be blocked if the client is active.
}
+ + + + \ No newline at end of file diff --git a/docs/guides/authentication/authenticator-settings/index.html b/docs/guides/authentication/authenticator-settings/index.html new file mode 100644 index 00000000000..7578794a4bc --- /dev/null +++ b/docs/guides/authentication/authenticator-settings/index.html @@ -0,0 +1,17 @@ + + + + + + +Authenticator Settings | Mirage Networking + + + + +
+

Authenticator Settings

Add AuthenticatorSettings to your NetworkManager and assign a reference to NetworkServer and NetworkClient.

AuthenticatorSettings allows you to configure the timeout duration and specify which authenticators are available.

Inspector Settings

Inspector Assign Reference

Server Side

The list of authenticators on the server represents the options available for client authentication. Clients can choose any of these authenticators to become authenticated.

To determine which authenticator the player used, you can check the NetworkPlayer.Authentication.Authenticator property.

Client Side

On the client side, you need to use the SendAuthentication method provided by the authenticator to send a message to the server. This is necessary because most authenticators require additional information, such as player login details.

The SendAuthentication method ensures that the authentication message is properly wrapped and sent to the server. It should be used instead of directly calling player.Send, as the authenticator message is wrapped in an internal AuthMessage message.

However, it's important to note that authenticators typically should not call the SendAuthentication method automatically themselves. Instead, you can create an additional component, such as the CreateSession component for the SessionIdAuthenticator class, to handle the automatic invocation of SendAuthentication.

The CreateSession component can be responsible for initiating the authentication process and automatically calling the SendAuthentication method when needed. This allows the authenticator to automatically use the session token provided by the server for seamless reconnection. Keep in mind that it is recommended to use only one authenticator with this automatic behavior, as the server processes only one authentication per player.

By separating the responsibility of calling SendAuthentication to an extra component, you can have more flexibility and control over the authentication flow, while ensuring that authenticators focus on their core functionality.

+ + + + \ No newline at end of file diff --git a/docs/guides/authentication/basic-authenticator/index.html b/docs/guides/authentication/basic-authenticator/index.html new file mode 100644 index 00000000000..eaf4fde423d --- /dev/null +++ b/docs/guides/authentication/basic-authenticator/index.html @@ -0,0 +1,17 @@ + + + + + + +Basic Authenticator | Mirage Networking + + + + +
+

Basic Authenticator

Mirage includes a Basic Authenticator in the Mirage/Authenticators folder, which provides a simple authentication mechanism using a server code.

To use the Basic Authenticator, follow the setup steps described in the Authenticator Settings page.

After performing these steps, the inspector should look like this:

Inspector showing Basic Authenticator component

You can authenticate with the server by calling the SendCode method provided by the authenticator. This method allows you to send a server code to the server for authentication.

public void SendCode(NetworkClient client, string serverCode = null)

If the serverCode parameter is null, the method will use the value specified in the public ServerCode field of the Basic Authenticator component.

+ + + + \ No newline at end of file diff --git a/docs/guides/authentication/custom-authenticator/index.html b/docs/guides/authentication/custom-authenticator/index.html new file mode 100644 index 00000000000..5bfceff4e18 --- /dev/null +++ b/docs/guides/authentication/custom-authenticator/index.html @@ -0,0 +1,18 @@ + + + + + + +Custom Authenticator | Mirage Networking + + + + +
+

Custom Authenticator

To create a custom Authenticator, follow these steps:

  1. Inherit from the NetworkAuthenticatorBase<T> class.
  2. Create a network message that your authenticator will receive from the client.
  3. Implement your authenticator to process this message and return a success or failure result.
  4. Optionally, your authenticator can return additional data that you want to set on INetworkPlayer.Authentication.
  5. Use the GetData<T>() method to retrieve the custom data on the client-side.
  6. Clients should use the SendAuthentication(NetworkClient client, T msg) method provided by the authenticator to correctly send the authentication message.

Step 1: Inherit from NetworkAuthenticatorBase<T>

public class CustomAuthenticator : NetworkAuthenticator<CustomAuthMessage>
{

Step 2: Create a Network Message

[NetworkMessage]
public struct CustomAuthMessage
{
// token used to validate user
public string token;
}

Step 3: Implement the Authenticator

    public class CustomAuthenticator : NetworkAuthenticator<CustomAuthMessage>
{
protected override async UniTask<AuthenticationResult> AuthenticateAsync(INetworkPlayer player, CustomAuthMessage msg)
{
// check user sent token, if they didn't then return fail
if (string.IsNullOrEmpty(msg.token))
return AuthenticationResult.CreateFail("No token");

// send token to api to validate it
var result = await ValidateToken(msg.token);

// return success or fail
if (result.Success)
{
// create auth data, this will be set on NetworkPlayer.Authentication.Data
var data = new CustomAuthenticationData
{
UserId = result.UserId,
Username = result.UserName,
};
return AuthenticationResult.CreateSuccess(this, data);
}
else
{
return AuthenticationResult.CreateFail("Validate failed");
}
}

private static async UniTask<ValidateResultJson> ValidateToken(string token)
{
var sendJson = JsonUtility.ToJson(new ValidateTokenJson { token = token });

// make sure to send token over https
#if UNITY_2022_3_OR_NEWER
var webRequest = UnityWebRequest.PostWwwForm("https://example.com/api/validate", sendJson);
#else
var webRequest = UnityWebRequest.Post("https://example.com/api/validate", sendJson);
#endif

// wait for result
var op = await webRequest.SendWebRequest();
var text = op.downloadHandler.text;
var result = JsonUtility.FromJson<ValidateResultJson>(text);
return result;
}

private struct ValidateTokenJson
{
public string token;
}

private struct ValidateResultJson
{
public bool Success;
public string UserId;
public string UserName;
}
}

Step 4: Return Additional Data (Optional)

public class CustomAuthenticationData
{
public string UserId;
public string Username;
}

Step 5: Retrieve Custom Data

public string GetPlayerName(INetworkPlayer player)
{
// get the data and cast it to customAuth type
var data = player.Authentication.GetData<CustomAuthenticationData>();

// use the data to get the value you want from it
return data.Username;
}

Step 6: Sending the Authentication Message +Clients should use the SendAuthentication(NetworkClient client, T msg) method to correctly send the authentication message.

note

Using player.Send directly will not work because the authenticator message is wrapped in an internal AuthMessage message.

+ + + + \ No newline at end of file diff --git a/docs/guides/authentication/index.html b/docs/guides/authentication/index.html new file mode 100644 index 00000000000..64f9cf14a36 --- /dev/null +++ b/docs/guides/authentication/index.html @@ -0,0 +1,17 @@ + + + + + + +Authentication | Mirage Networking + + + + +
+

Authentication

Authentication is the process of verifying the validity and identity of a user. It allows you to control who can join your game and enables features like saving stats and communicating with friends. Mirage supports authentication through various common methods, which can be implemented using a custom authenticator. Some examples include:

  • Username and password
  • Third-party OAuth2 or OpenID identity providers (e.g., Facebook, Twitter, Google)
  • Third-party services like PlayFab, GameLift, or Steam
  • Device ID (popular for mobile games)
  • Google Play for Android
  • Game Center for iOS
  • Web service integration for websites

Please note that these authentication methods can be implemented using a custom authenticator in Mirage. For detailed instructions on how to create a custom authenticator, please refer to the Custom Authenticator page.

Built-in Authenticators

Mirage provides two built-in authenticators that you can use out of the box. These authenticators offer a convenient way to handle common authentication scenarios:

  • Basic Authenticator: This authenticator uses a simple password to authenticate users. It is useful when you want to restrict access to your game to only those who know the password.

  • Session ID Authenticator: This authenticator leverages a session token provided by the server to automatically reconnect clients. It is suitable for cases where you want to enable seamless reconnection for players.

For instructions on how to set up and use these built-in authenticators, please refer to their respective documentation pages.

Encryption Notice

By default, Mirage does not provide encryption. However, if you want to secure your authentication process, you can use the WebSocket or Relay transports, which support encryption. Please refer to the transport documentation for more information.

Note: The default UDP transport does not support encryption.

Authenticator Setup

To set up an authenticator, please refer to the Authenticator Settings page, which provides detailed instructions on configuring the authenticator for your game.

Now that you have a comprehensive understanding of authentication methods, you can choose the one that best fits your requirements. If none of the built-in methods suit your needs, you can create a custom authenticator following the guidelines provided in the Custom Authenticator page.

If you develop a robust and reusable authenticator, consider sharing it with the Mirage community or contributing it to the Mirage project.

+ + + + \ No newline at end of file diff --git a/docs/guides/authentication/session-id/index.html b/docs/guides/authentication/session-id/index.html new file mode 100644 index 00000000000..3e02f17401a --- /dev/null +++ b/docs/guides/authentication/session-id/index.html @@ -0,0 +1,17 @@ + + + + + + +Session Id Authenticator | Mirage Networking + + + + +
+

Session Id Authenticator

Session Id Authenticator is a built in Authenticator that will allow clients to reconnect to a server without requiring them to fully authenticate again.

When using this you have 2 options, either use CreateSession component to automatically create and send session id. Or manually control it using ClientIdStore and CreateOrRefreshSession().

Session id is only valid for a set amount of time, this can be set in the inspector and defaults to 1 day (1440 minutes).

CreateSession component

CreateSession will automatically send a message to the server if the client has valid session id when they connect.

create session inspector

+ + + + \ No newline at end of file diff --git a/docs/guides/authority/index.html b/docs/guides/authority/index.html new file mode 100644 index 00000000000..ddf0ec8ef48 --- /dev/null +++ b/docs/guides/authority/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Authority | Mirage Networking + + + + +
+

Network Authority

Authority is a way of deciding who owns an object and has control over it.

Server Authority

Server authority means that the server has control of an object. The server has authority over an object by default. This means the server would manage and control all of the collectible items, moving platforms, NPCs, and any other networked objects that aren't the player.

Client Authority

Client authority means that the client has control of an object.

When a client has authority over an object it means that they can call ServerRpc and that the object will automatically be destroyed when the client disconnects.

Even if a client has authority over an object the server still controls SyncVar and controls other serialization features. A component will need to use a ServerRpc to update the state on the server for it to sync to other clients.

How to give authority

By default, the server has authority over all objects. The server can give authority to objects that a client needs to control, like the character object.

If you spawn a character object using ServerObjectManager.AddCharacter then it will automatically be given authority.

Using NetworkServer.Spawn

You can give authority to a client when an object is spawned. This is done by passing in the connection to the spawn message

GameObject go = Instantiate(prefab);
ServerObjectManager.Spawn(go, owner);

Using identity.AssignClientAuthority

You can give authority to a client at any time using AssignClientAuthority. This can be done by calling AssignClientAuthority on the object you want to give authority too

Identity.AssignClientAuthority(conn);

You may want to do this when a player picks up an item

// Command on character object
[ServerRpc]
void PickupItem(NetworkIdentity item)
{
item.AssignClientAuthority(connectionToClient);
}

How to remove authority

You can use Identity.RemoveClientAuthority to remove client authority from an object.

Identity.RemoveClientAuthority();

Authority can't be removed from the character object. Instead, you will have to replace the character object using NetworkServer.ReplaceCharacter.

On Authority

When authority is given to or removed from an object a message will be sent to that client to notify them. This will cause the OnAuthorityChanged(bool) functions to be called.

On Destroy

If the client has authority, then OnAuthorityChanged(false) will be called on the object when it is destroyed.

Check Authority

Client Side

The Identity.HasAuthority property can be used to check if the local player has authority over an object.

Server Side

The Identity.Owner property can be used to check to see which client has authority over an object. If it is null then the server has authority.

+ + + + \ No newline at end of file diff --git a/docs/guides/best-practices/index.html b/docs/guides/best-practices/index.html new file mode 100644 index 00000000000..b52267c7535 --- /dev/null +++ b/docs/guides/best-practices/index.html @@ -0,0 +1,17 @@ + + + + + + +Best Practices | Mirage Networking + + + + +
+
+ + + + \ No newline at end of file diff --git a/docs/guides/bit-packing/bit-count-from-range/index.html b/docs/guides/bit-packing/bit-count-from-range/index.html new file mode 100644 index 00000000000..4ad619c49d9 --- /dev/null +++ b/docs/guides/bit-packing/bit-count-from-range/index.html @@ -0,0 +1,17 @@ + + + + + + +Bit Count From Range | Mirage Networking + + + + +
+

Bit Count From Range

The bit count of Integer based fields can be set using BitCountFromRangeAttribute It will use the given range to calculate the required bit count. This works in a similar way to BitCount

The min value is subtracted from the value before it is written and added back after it is read. This will shift all written values into the positive range for writing so that the sign bit is not lost.

This will truncate the bits so that only the small bits are sent. There is no range checking for values using BitCount, so the value that is too big or too small will not be unpacked correctly.

Bit Count is calculated using bitCount = 1 + Floor(Log2(max - min)), so min = -100, max = 100 results in bit count = 8

Values are written using Write(value - min, bitCount) and read using value = Read(bitCount) + min

Use cases

  • A Value with a minimum and maximum value

Supported Types

  • Byte
  • Short
  • UShort
  • Int
  • Uint
  • Long
  • ULong
  • Enum

Example 1

A modifier that can add to a character value to increase or decrease it

public class MyNetworkBehaviour : NetworkBehaviour 
{
[SyncVar, BitCountFromRange(-100, 100)]
public int modifier;
}

Range = 200 so bit count is 8, causing the real range to be -100 to 155

modifier = 57 will serialize to 1001_1101

modifier = -57 will serialize to 0010_1011

modifier = -110 (out of range) will serialize to 1111_0110

modifier = 130 will serialize to 1110_0110, even tho 130 is out of range there is enough range because bit count rounds up.

modifier = 170 (out of range) will serialize to 0000_1110

Example 2

A Direction enum to say which way a model is facing

public enum MyDirection
{
Backwards = -1,
None = 0,
Forwards = 1,
}
public class MyNetworkBehaviour : NetworkBehaviour
{
[SyncVar, BitCount(-1, 1)]
public MyDirection direction;
}

Range = 3 so bit count is 2, causing the real range to be -1 to 2

direction = -1 will serialize to 00

direction = 1 will serialize to 10

Generated Code

Source:

[SyncVar, BitCountFromRange(-100, 100)]
public int myValue;

Generated:

public override bool SerializeSyncVars(NetworkWriter writer, bool initialState)
{
ulong syncVarDirtyBits = base.SyncVarDirtyBits;
bool result = base.SerializeSyncVars(writer, initialize);

if (initialState)
{
writer.Write((ulong)(this.myValue - (-100)), 8);
return true;
}

writer.Write(syncVarDirtyBits, 1);
if ((syncVarDirtyBits & 1UL) != 0UL)
{
writer.Write((ulong)(this.myValue - (-100)), 8);
result = true;
}

return result;
}

public override void DeserializeSyncVars(NetworkReader reader, bool initialState)
{
base.DeserializeSyncVars(reader, initialState);

if (initialState)
{
this.myValue = reader.Read(8) + (-100);
return;
}

ulong dirtyMask = reader.Read(1);
if ((dirtyMask & 1UL) != 0UL)
{
this.myValue = reader.Read(8) + (-100);
}
}

last updated for Mirage v101.8.0

+ + + + \ No newline at end of file diff --git a/docs/guides/bit-packing/bit-count/index.html b/docs/guides/bit-packing/bit-count/index.html new file mode 100644 index 00000000000..03ffe441d96 --- /dev/null +++ b/docs/guides/bit-packing/bit-count/index.html @@ -0,0 +1,17 @@ + + + + + + +Bit Count | Mirage Networking + + + + +
+

Bit Count

The bit count of Integer based fields can be set using the BitCountAttribute.

This will truncate the bits so that only the small bits are sent. There is no range checking for values using BitCount, so the value that is too big or negative will not be unpacked correctly

This means that BitCount should not be used with values that can be negative because this data will be lost. If you do need to send negative values then use ZigZagEncode or BitCountFromRange

Use cases

  • A Value with a maximum value
  • An index in an array of known size
    • eg array with 10 elements, the index can be sent as 4 bits
  • A Random int hash where you only need to send 16 bits

Supported Types

  • Byte
  • Short
  • UShort
  • Int
  • Uint
  • Long
  • ULong
  • Enum

Example 1

Health which is between 0 and 100

public class MyNetworkBehaviour : NetworkBehaviour 
{
[SyncVar, BitCount(7)]
public int Health;
}

BitCount = 7 so max value of Health is 127

health = 57 will serialize to 011_1001

health = -1 (out of range) will serialize to 111_1111

health = 130 (out of range) will serialize to 000_0010

Example 2

Weapon index in a list of 6 weapons

public class MyNetworkBehaviour : NetworkBehaviour 
{
[SyncVar, BitCount(3)]
public int WeaponIndex;
}

BitCount = 3 so max value of Health is 7

WeaponIndex = 5 will serialize to 101

Generated Code

Source:

[SyncVar, BitCount(7)]
public int myValue;

Generated:

public override bool SerializeSyncVars(NetworkWriter writer, bool initialState)
{
ulong syncVarDirtyBits = base.SyncVarDirtyBits;
bool result = base.SerializeSyncVars(writer, initialize);

if (initialState)
{
writer.Write((ulong)this.myValue, 7);
return true;
}

writer.Write(syncVarDirtyBits, 1);
if ((syncVarDirtyBits & 1UL) != 0UL)
{
writer.Write((ulong)this.myValue, 7);
result = true;
}

return result;
}

public override void DeserializeSyncVars(NetworkReader reader, bool initialState)
{
base.DeserializeSyncVars(reader, initialState);

if (initialState)
{
this.myValue = reader.Read(7);
return;
}

ulong dirtyMask = reader.Read(1);
if ((dirtyMask & 1UL) != 0UL)
{
this.myValue = reader.Read(7);
}
}

Last updated for Mirage v101.8.0.

+ + + + \ No newline at end of file diff --git a/docs/guides/bit-packing/float-pack/index.html b/docs/guides/bit-packing/float-pack/index.html new file mode 100644 index 00000000000..a5c32c26ec6 --- /dev/null +++ b/docs/guides/bit-packing/float-pack/index.html @@ -0,0 +1,17 @@ + + + + + + +Float Pack | Mirage Networking + + + + +
+

Float Pack

A float value can be compressed using FloatPackAttribute

The float value will be quantized and turned into an integer with at least the resolution that is given in the attribute.

The real resolution used is calculated from the bitcount required to pack the value. For example, if the max is 100, and the resolution is 0.1f, then there are 2000 discrete values are needed to pack this. This requires 11 bits. 11 bits allow for 2047 discrete values so the real resolution used will be 0.0977f.

Values are packed so that 0 will unpack are 0, and other values are rounded to the nearest int so that rounding errors stay as low as possible.

Values are clamped so values out of range will be packed as min/max values instead

Use cases

  • A Value with a maximum value

Supported Types

  • Float

Example 1

Health which is between 0 and 100

public class MyNetworkBehaviour : NetworkBehaviour 
{
[SyncVar, FloatPack(100f, 0.02f)]
public int Health;
}

Max = 100, resolution = 0.02f so bit count is 14

health = 57.2f will serialize to 01_0010_0100_1101 and deserialize to 57.197f

health = -13.5f will serialize to 11_1011_1010_1110 and deserialize to -13.503f

health = 120f will be clamped to 100f

Example 2

A Percent that where you only want to send 8 bits

public class MyNetworkBehaviour : NetworkBehaviour 
{
[SyncVar, FloatPack(1f, 8)]
public int Percent;
}

Max = 1f, bitCount = 8 so resolution will be 0.00787f

Generated Code

Source:

[SyncVar, FloatPack(100f, 0.02f)]
public int myValue;

Generated:


private FloatPacker myValue__Packer = new FloatPacker(100f, 0.02f);

public override bool SerializeSyncVars(NetworkWriter writer, bool initialState)
{
ulong syncVarDirtyBits = base.SyncVarDirtyBits;
bool result = base.SerializeSyncVars(writer, initialize);

if (initialState)
{
myValue__Packer.Pack(writer, this.myValue);
return true;
}

writer.Write(syncVarDirtyBits, 1);
if ((syncVarDirtyBits & 1UL) != 0UL)
{
myValue__Packer.Pack(writer, this.myValue);
result = true;
}

return result;
}

public override void DeserializeSyncVars(NetworkReader reader, bool initialState)
{
base.DeserializeSyncVars(reader, initialState);

if (initialState)
{
this.myValue = myValue__Packer.Unpack(reader);
return;
}

ulong dirtyMask = reader.Read(1);
if ((dirtyMask & 1UL) != 0UL)
{
this.myValue = myValue__Packer.Unpack(reader);
}
}

last updated for Mirage v101.8.0

+ + + + \ No newline at end of file diff --git a/docs/guides/bit-packing/index.html b/docs/guides/bit-packing/index.html new file mode 100644 index 00000000000..29c4957f3c7 --- /dev/null +++ b/docs/guides/bit-packing/index.html @@ -0,0 +1,17 @@ + + + + + + +Bit Packing | Mirage Networking + + + + +
+

Bit Packing

Bit packing is a form of data compression that reduces the number of bits it takes to serialize a value.

A simple example of this is an integer that is always between 0 and 100. Normally an integer will be serialized as 32 bits, but knowing its range is 100 it can be packed into only 7 bits.

Bit Packing in Mirage

Mirage has many attributes that can be applied to SyncVars and Rpc parameters

+ + + + \ No newline at end of file diff --git a/docs/guides/bit-packing/quaternion-pack/index.html b/docs/guides/bit-packing/quaternion-pack/index.html new file mode 100644 index 00000000000..68900311783 --- /dev/null +++ b/docs/guides/bit-packing/quaternion-pack/index.html @@ -0,0 +1,17 @@ + + + + + + +Quaternion Pack | Mirage Networking + + + + +
+

Quaternion Pack

Work In Progress

This page is a work in progress

Quaternion Rules

Quaternions can be packed using some of the mathematical rules they follow

Quaternions should be normalized

x^2 + y^2 + z^2 + w^2 = 1

Because of this we only need to send the smallest 3 values as we can calculate the largest one again on the other side.

We also need to send the index to say which of the 4 elements was the largest

largest = sqrt(1 - a^2 + b^2 + c^2)

Positive and Negative Quaternions represent the same rotation

Q(x,y,z,w) === Q(-x,-y,-z,-w)

If the largest element is negative we would have to send its sign in order to calculate the correct rotation.

However, because Q=-Q, if the largest element is negative we can just flip the sign of all 4 elements instead.

Max of the second largest element

The value of the 2nd largest element is when it is also equal to the largest so we have

L^2 + L^2 = 1

From this, we can find the max value for the 2nd largest is

L = +- 1 / sqrt(2) = +- ~0.707

This allows us to pack the smallest 3 elements in the range -0.707 to +0.707 instead of -1 to +1

Result

Combining all this we can send each of the smallest 3 elements with 9 bits, and 2 bits for the index of the largest element. Which reduces the size of a Quaternion from 128 bits unpacked to only 29 bits.

The precision of the smallest 3 can in increased or decreased to change the bit counts by multiples of 3. eg 10 bits per element will result in 32 bits total.

Supported Types

  • Quaternion

Example 1

public class MyNetworkBehaviour : NetworkBehaviour 
{
[SyncVar, QuaternionPack(9)]
public Quaternion direction;
}

Generated Code

Source:

[SyncVar, QuaternionPack(9)]
public int myValue;

Generated:


private QuaternionPacker myValue__Packer = new QuaternionPacker(9);

public override bool SerializeSyncVars(NetworkWriter writer, bool initialState)
{
ulong syncVarDirtyBits = base.SyncVarDirtyBits;
bool result = base.SerializeSyncVars(writer, initialize);

if (initialState)
{
myValue__Packer.Pack(writer, this.myValue);
return true;
}

writer.Write(syncVarDirtyBits, 1);
if ((syncVarDirtyBits & 1UL) != 0UL)
{
myValue__Packer.Pack(writer, this.myValue);
result = true;
}

return result;
}

public override void DeserializeSyncVars(NetworkReader reader, bool initialState)
{
base.DeserializeSyncVars(reader, initialState);

if (initialState)
{
this.myValue = myValue__Packer.Unpack(reader);
return;
}

ulong dirtyMask = reader.Read(1);
if ((dirtyMask & 1UL) != 0UL)
{
this.myValue = myValue__Packer.Unpack(reader);
}
}

last updated for Mirage v101.8.0

+ + + + \ No newline at end of file diff --git a/docs/guides/bit-packing/var-int-blocks/index.html b/docs/guides/bit-packing/var-int-blocks/index.html new file mode 100644 index 00000000000..c86625cba91 --- /dev/null +++ b/docs/guides/bit-packing/var-int-blocks/index.html @@ -0,0 +1,17 @@ + + + + + + +Variable Sized Integer Blocks | Mirage Networking + + + + +
+

Variable Sized Integer Blocks

Work In Progress

This page is a work in progress

Packs an integer value based on its size

Supported Types

  • Byte
  • Short
  • UShort
  • Int
  • Uint
  • Long
  • ULong
  • Enum

Example 1

A modifier that can be added to a character value to increase or decrease it

public class MyNetworkBehaviour : NetworkBehaviour 
{
[SyncVar, VarIntBlocks(-100, 100)]
public int modifier;
}

Range = 200 so bit count is 8, causing the real range to be -100 to 155

modifier = 57 will serialize to 1001_1101

modifier = -57 will serialize to 0010_1011

modifier = -110 (out of range) will serialize to 1111_0110

modifier = 130 will serialize to 1110_0110, even tho 130 is out of range there is enough range because bit count rounds up.

modifier = 170 (out of range) will serialize to 0000_1110

Example 2

A Direction enum to say which way a model is facing

public enum MyDirection
{
Backwards = -1,
None = 0,
Forwards = 1,
}
public class MyNetworkBehaviour : NetworkBehaviour
{
[SyncVar, BitCount(-1, 1)]
public MyDirection direction;
}

Range = 3 so bit count is 2, causing the real range to be -1 to 2

direction = -1 will serialize to 00

direction = 1 will serialize to 10

Generated Code

Source:

[SyncVar, BitCountFromRange(-100, 100)]
public int myValue;

Generated:

public override bool SerializeSyncVars(NetworkWriter writer, bool initialState)
{
ulong syncVarDirtyBits = base.SyncVarDirtyBits;
bool result = base.SerializeSyncVars(writer, initialize);

if (initialState)
{
writer.Write((ulong)(this.myValue - (-100)), 8);
return true;
}

writer.Write(syncVarDirtyBits, 1);
if ((syncVarDirtyBits & 1UL) != 0UL)
{
writer.Write((ulong)(this.myValue - (-100)), 8);
result = true;
}

return result;
}

public override void DeserializeSyncVars(NetworkReader reader, bool initialState)
{
base.DeserializeSyncVars(reader, initialState);

if (initialState)
{
this.myValue = reader.Read(8) + (-100);
return;
}

ulong dirtyMask = reader.Read(1);
if ((dirtyMask & 1UL) != 0UL)
{
this.myValue = reader.Read(8) + (-100);
}
}

last updated for Mirage v101.8.0

+ + + + \ No newline at end of file diff --git a/docs/guides/bit-packing/var-int/index.html b/docs/guides/bit-packing/var-int/index.html new file mode 100644 index 00000000000..e0beb4013d1 --- /dev/null +++ b/docs/guides/bit-packing/var-int/index.html @@ -0,0 +1,17 @@ + + + + + + +Variable Sized Integer | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/guides/bit-packing/vector-pack/index.html b/docs/guides/bit-packing/vector-pack/index.html new file mode 100644 index 00000000000..bc21a4c3057 --- /dev/null +++ b/docs/guides/bit-packing/vector-pack/index.html @@ -0,0 +1,17 @@ + + + + + + +Vector Pack | Mirage Networking + + + + +
+

Vector Pack

A Vector2 or Vector3 can be compressed using Vector2PackAttribute or Vector3PackAttribute

These attributes work in the same way as FloatPack except on 2 or 3 dimensions instead of 1

Use cases

  • A Vector value with a maximum value

Supported Types

Example 1

A Position in bounds +-100 in all XYZ with 0.05 precision for all axis

public class MyNetworkBehaviour : NetworkBehaviour 
{
[SyncVar, Vector3Pack(100f, 100f, 100f, 0.05f)]
public Vector3 Position;
}

Example 2

A Position in bounds +-100 in all XZ with 0.05 precision, but with +-20 and precision 0.1 in y-axis

public class MyNetworkBehaviour : NetworkBehaviour 
{
[SyncVar, Vector3Pack(100f, 20f, 100f, 0.05f, 0.1f, 0.05f)]
public Vector3 Position;
}

Example 3

A position in a 2D map

public class MyNetworkBehaviour : NetworkBehaviour 
{
[SyncVar, Vector2Pack(1000f, 80f, 0.05f)]
public Vector2 Position;
}

Generated Code

Source:

[SyncVar, Vector3Pack(100f, 20f, 100f, 0.05f, 0.1f, 0.05f)]
public int myValue1;

[SyncVar, Vector2Pack(1000f, 80f, 0.05f)]
public int myValue2;

Generated:


private Vector3Packer myValue1__Packer = new Vector3Packer(1100f, 20f, 100f, 0.05f, 0.1f, 0.05f);
private Vector2Packer myValue2__Packer = new Vector2Packer(1000f, 80f, 0.05f, 0.05f);

public override bool SerializeSyncVars(NetworkWriter writer, bool initialState)
{
ulong syncVarDirtyBits = base.SyncVarDirtyBits;
bool result = base.SerializeSyncVars(writer, initialize);

if (initialState)
{
myValue1__Packer.Pack(writer, this.myValue1);
myValue2__Packer.Pack(writer, this.myValue2);
return true;
}

writer.Write(syncVarDirtyBits, 2);
if ((syncVarDirtyBits & 1UL) != 0UL)
{
myValue1__Packer.Pack(writer, this.myValue1);
result = true;
}
if ((syncVarDirtyBits & 2UL) != 0UL)
{
myValue2__Packer.Pack(writer, this.myValue2);
result = true;
}

return result;
}

public override void DeserializeSyncVars(NetworkReader reader, bool initialState)
{
base.DeserializeSyncVars(reader, initialState);

if (initialState)
{
this.myValue1 = myValue1__Packer.Unpack(reader);
this.myValue2 = myValue2__Packer.Unpack(reader);
return;
}

ulong dirtyMask = reader.Read(2);
if ((dirtyMask & 1UL) != 0UL)
{
this.myValue1 = myValue1__Packer.Unpack(reader);
}
if ((dirtyMask & 2UL) != 0UL)
{
this.myValue2 = myValue2__Packer.Unpack(reader);
}
}

last updated for Mirage v101.8.0

+ + + + \ No newline at end of file diff --git a/docs/guides/bit-packing/zig-zag-encode/index.html b/docs/guides/bit-packing/zig-zag-encode/index.html new file mode 100644 index 00000000000..f513f088c4d --- /dev/null +++ b/docs/guides/bit-packing/zig-zag-encode/index.html @@ -0,0 +1,17 @@ + + + + + + +ZigZag Encode | Mirage Networking + + + + +
+

ZigZag Encode

To encode a value using ZigZag Encoding you can use the ZigZagEncodeAttribute

This will cause negative values to be encoded as positive so that the sign bit is not lost when packing.

This works best with VarIntBlocks but also works with BitCount.

This attribute can not be used on the same field as BitCountFromRange, this is because BitCountFromRange already ensures negative values are packed correctly.

note

The sign of a value will take up 1 bit, so if the value is in the range -+100 it will need a bit count of 8

Use cases

  • A value that can be negative or positive

Supported Types

  • Byte
  • Short
  • Int
  • Long
  • Enum

Example 1

A modifier that can be added to a character value to increase or decrease it

public class MyNetworkBehaviour : NetworkBehaviour 
{
[SyncVar, BitCount(8), ZigZagEncode]
public int modifier;
}

Range = 200 so bit count is 8, causing the real range to be -128 to 127

modifier = 57 will serialize to 0111_0010

modifier = -57 will serialize to 0111_0001

modifier = -110 will serialize to 1101_1011, even tho -110 is out of range there is enough range because bit count rounds up.

modifier = 130 (out of range) will serialize to 0000_0100

Generated Code

Source:

[SyncVar, BitCount(8), ZigZagEncode]
public int myValue;

Generated:

public override bool SerializeSyncVars(NetworkWriter writer, bool initialState)
{
ulong syncVarDirtyBits = base.SyncVarDirtyBits;
bool result = base.SerializeSyncVars(writer, initialize);

if (initialState)
{
writer.Write((ulong)ZigZag.Encode(this.myValue), 8);
return true;
}

writer.Write(syncVarDirtyBits, 1);
if ((syncVarDirtyBits & 1UL) != 0UL)
{
writer.Write((ulong)ZigZag.Encode(this.myValue), 8);
result = true;
}

return result;
}

public override void DeserializeSyncVars(NetworkReader reader, bool initialState)
{
base.DeserializeSyncVars(reader, initialState);

if (initialState)
{
this.myValue = ZigZag.Decode(reader.Read(8));
return;
}

ulong dirtyMask = reader.Read(1);
if ((dirtyMask & 1UL) != 0UL)
{
this.myValue = ZigZag.Decode(reader.Read(8));
}
}

last updated for Mirage v101.8.0

+ + + + \ No newline at end of file diff --git a/docs/guides/callbacks/index.html b/docs/guides/callbacks/index.html new file mode 100644 index 00000000000..a6fd92b88c2 --- /dev/null +++ b/docs/guides/callbacks/index.html @@ -0,0 +1,17 @@ + + + + + + +Callbacks Overview | Mirage Networking + + + + +
+

Callbacks Overview

When you are making a multiplayer game, In addition to synchronizing the properties of networked game objects, you are likely to need to send, receive, and react to other pieces of information - such as when the match starts, when a player joins, or leaves the match, or other information specific to your type of game, for example, a notification to all players that a flag has been captured in a “capture-the-flag” style game.

Within the Mirage networking High-Level API, there are three main ways to communicate this type of information.

Remote Actions

Remote actions allow you to call a method in your script across the network. You can make the server call methods on all clients or individual clients specifically. You can also make clients call methods on the server. Using remote actions, you can pass data as parameters to your methods in a very similar way to how you call methods in local (non-multiplayer) projects.

Networking Callbacks

Networking callbacks allow you to hook into built-in Mirage events which occur during the course of the game, such as when players join or leave, when game objects are created or destroyed, or when a new Scene is loaded. There are two types of networking callbacks that you can implement:

  • Network manager callbacks, for callbacks relating to the network manager itself (such as when clients connect or disconnect)
  • Network behaviour callbacks, for callbacks relating to individual networked game objects (such as when its Start function is called, or what this particular game object should do if a new player joins the game)

Network Messages

Network messages are a “lower level” approach to sending messages (although they are still classed as part of the networking "High-level API"). They allow you to send data directly between clients and the server using scripting. You can send basic types of data (int, string, etc) as well as most common Unity types (such as Vector3). Since you implement this yourself, these messages are not associated directly with any particular game objects or Unity events - it is up to you to decide their purpose and implement them!

+ + + + \ No newline at end of file diff --git a/docs/guides/callbacks/network-behaviour/index.html b/docs/guides/callbacks/network-behaviour/index.html new file mode 100644 index 00000000000..01bedda5a33 --- /dev/null +++ b/docs/guides/callbacks/network-behaviour/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Behaviour | Mirage Networking + + + + +
+

Network Behaviour Callbacks

See also NetworkBehaviour in the API Reference.

There are a number of events relating to network behaviours that can occur over the course of a normal multiplayer game. These include events such as the host starting up, a player joining, or a player leaving. Each of these possible events has an associated callback that you can implement in your own code to take action when the event occurs.

To use an event you must add a function as a listener, this function will then be called when the event occurs. Some events, like OnStartServer, will call the listener immediately if the event was previously called. This allows you to add the listeners at any point without worrying about missing the Invoke.

void Awake()
{
Identity.OnStartServer.AddListener(MyStartServer);
Identity.OnStartClient.AddListener(MyStartClient);
Identity.OnStartLocalPlayer.AddListener(MyStartLocalPlayer);
}

void MyStartServer()
{
// ...
}

void MyStartClient()
{
// ...
}

void MyStartLocalPlayer()
{
// ...
}

This is a full list of virtual methods (callbacks) that you can implement on NetworkBehaviour, and where they are called

Server Only

  • OnStartServer
    • called when behaviour is spawned on the server
  • OnStopServer
    • called when behaviour is destroyed or unspawned on the server
  • OnSerialize
    • called when behaviour is serializing before it is sent to a client, when overriding make sure to call base.OnSerialize

Client only

  • OnStartClient

    • called when behaviour is spawned on a client
  • OnStartAuthority

    • called when behaviour has authority when it is spawned (eg local player)
    • called when behaviour is given authority by the sever
  • OnStartLocalPlayer

    • called when the behaviour is on the local character object
  • OnStopAuthority

    • called when authority is taken from the object (eg local player is replaced but not destroyed)
  • OnStopClient

    • called when an object is destroyed on a client by the ObjectDestroyMessage or ObjectHideMessage messages

Example flows

Below is some example call order for different modes

note

Start is called by Unity before the first frame, while normally this happens after Mirage's callbacks. But if you don't call NetworkServer.Spawn the same frame as Instantiate then start may be called first

Server mode

When NetworkServer.Spawn is called (eg when new client connections and a player is created)

  • OnStartServer
  • OnRebuildObservers
  • Start

Client mode

When the local player is spawned for the client

  • OnStartAuthority
  • OnStartClient
  • OnStartLocalPlayer
  • Start

Host mode

These are only called on the Player Game Objects when a client connects:

  • OnStartServer
  • OnRebuildObservers
  • OnStartAuthority
  • OnStartClient
  • OnSetHostVisibility
  • OnStartLocalPlayer
  • Start
+ + + + \ No newline at end of file diff --git a/docs/guides/callbacks/network-manager/index.html b/docs/guides/callbacks/network-manager/index.html new file mode 100644 index 00000000000..7be18c593f1 --- /dev/null +++ b/docs/guides/callbacks/network-manager/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Manager | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/guides/clock-sync/index.html b/docs/guides/clock-sync/index.html new file mode 100644 index 00000000000..527239767ea --- /dev/null +++ b/docs/guides/clock-sync/index.html @@ -0,0 +1,18 @@ + + + + + + +Clock Synchronization | Mirage Networking + + + + +
+

Clock Synchronization

For many features, you need the clock to be synchronized between the client and the server. Mirage does that automatically for you.

To get the current time use this code:

double now = NetworkTime.Time;

It will return the same value on the client and the server. It starts at 0 when the server starts.

note

The time is a double and should never be cast to a float. Casting this down to a float means the clock will lose precision after some time:

  • after 1 day, the accuracy goes down to 8 ms
  • after 10 days, the accuracy is 62 ms
  • after 30 days, the accuracy is 250 ms
  • after 60 days, the accuracy is 500 ms

Mirage will also calculate the Return Trip Time as seen by the application:

double rtt = NetworkTime.Rtt;
note

Return RTT will also be affected by the frame rate. A higher frame rate will mean less delay before the server reads the ping message and replies.

You can check the precision using:

double timeStandardDeviation = NetworkTime.TimeSd;

For example, if this returns 0.2, it means the time measurements swing up and down roughly 0.2 seconds.

Network time is smoothing out the values using Exponential moving average. +You can configure how often you want the client to send pings using:

NetworkTime.PingInterval = 2.0f;

You can configure how quickly results will change using:

NetworkTime.PingWindowSize = 10;

A higher number will result in smoother results, but a longer time to adjust to changes.

+ + + + \ No newline at end of file diff --git a/docs/guides/community-guides/index.html b/docs/guides/community-guides/index.html new file mode 100644 index 00000000000..5e6bba4d228 --- /dev/null +++ b/docs/guides/community-guides/index.html @@ -0,0 +1,17 @@ + + + + + + +Community Guides | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/guides/community-guides/mirage-quick-start-guide/index.html b/docs/guides/community-guides/mirage-quick-start-guide/index.html new file mode 100644 index 00000000000..50561309180 --- /dev/null +++ b/docs/guides/community-guides/mirage-quick-start-guide/index.html @@ -0,0 +1,31 @@ + + + + + + +Mirage Quick Start Guide V0.1 | Mirage Networking + + + + +
+

Mirage Quick Start Guide V0.1

This guide covers the following topics:

It is best to first make a mini practice game before converting your single-player game or creating your ideal brand new multiplayer.

The Pre-made Mirage examples are great for using as reference, it is recommended to use them regarding connection setup, with ports and firewalls. This can be a huge topic that changes from person to person and is not covered in this guide, here we will use localHost (multiple games on the same PC). +To achieve this, let's first create a new blank project on Unity Hub, after the editor opened up, we can move forward.

Installation

Before everything, to install Mirage we need to add a new package manager repository to our project. To do this, we can go into Edit menu and then Project Settings. +This will open a new Editor Window with multiple tabs. The one we are looking for is Package Manager, so click there. +Once you click there, you should add a new Package Manager, so complete the fields as we show next and click apply

Name: OpenUPM
Url: https://package.openupm.com
Scopes:
- com.cysharp.unitask
- com.openupm
- com.miragenet

Add scoped registry

Once everything is ready, the next step is to close the Project Settings window, and jump into the Package Manager. So for this, we click on Window menu and then Package Manager. +At this window, we will click on a small button that says (probably, at today date on Unity Editor 2021.13f) Packages: In Project, here we have to select My registries. +Once, you've done that, we should be able to see Mirage and a few transport and also plugins in that list. +After selecting, you can choose the version on the list below the name, otherwise, you can just click install on the bottom right part of the window and after a loading bar, that's it. You already have Mirage API on your code, congrats!

Install Mirage

note

Mirage already includes a UDP transport, so for this guide is not necessary to download anything else than Mirage.

Creating A Network Manager

Here we will be following a couple of steps, so it is easier to follow me.

  • Right-click on your Scenes folder, then click on Create new scene, save it as Main Scene, and add it to build settings
  • Mirage already has a menu for creating a base network manager, so right-click on your Scene hierarchy then go to Create => Network => NetworkManager
  • Now you will see a pre-configured GameObject called NetworkManager

Network Manager

Important stuff about these objects

CharacterSpawner is the one will be in charge of spawning your player later, so this is very important object.
+Since we are not changing scenes between server open or close, we could disable the NetworkSceneManager, but we can leave it as it is.
+UdpSocketFactory is the one that does the connection, so you can change the IP and port if necessary there.

Now let's set up a few things on the scene, to make it look more like a game

  • Add a simple Plane floor with:
    • positions (0, -1, 0)
    • scale (2, 2, 2)
  • Next, we add a GameObject, name with the name StartPosition1
    • set position (1, 1, 1)
  • We go back to our NetworkManager GO, over Character Spawner component we will change the Player Spawn Method from Random to Round Robin.
    • As a second step, we will add to the Start Positions list the one we created in the previous step.
  • (Optional) you can create more positions if you want, and you can add them to the list, is not necessary but maybe looks nice.

Player Movement

So after we configure the basics, we need to create our player prefab in order to be able to spawn ourselves in the network. +As before, we will follow a couple of easy steps.

  • Create a capsule in the scene hierarchy and name it Player
  • Attach a NetworkIdentity and NetworkTransform component into the capsule.
  • Tick Client Authority on the NetworkTransform

This is how our Player GO components should look right now

Player Components

NOTE: Is not needed to set anything else here, Server Object Manager and Client Object Manager will be set dynamically by Mirage later.

Next steps:

  • Add a new Script, call it PlayerScript
  • Then drag this GO with the mouse into the assets folder (You should probably create a Prefabs folder later as a good practice) and release the mouse there. That will create a Prefab for us. (You can notice this was successful because your GO icon in the scene hierarchy will be blue now)
  • Then delete Player from the scene

At this stage, our player is done, so right now we need to tell Mirage who is our player in order to spawn it. +So this is very easy, just go to your NetworkManager GO and open (if it is not) Character Spawner, then drag the player prefab we created before in the Player Prefab field.

The last step we will need to do is simple: go to the script we created before (you can go into the assets folder and it will be there) and double click it and it will open your IDE. So what we will need to do is simple: tell how we are moving the user, and also to set the camera as a child of the player.

We can do that simply like this:

using Mirage;
using UnityEngine;

namespace GettingStarted
{
public class PlayerScript : NetworkBehaviour
{
private void Awake() {
Identity.OnStartLocalPlayer.AddListener(OnStartLocalPlayer);
}

private void OnStartLocalPlayer()
{
Camera.main.transform.SetParent(transform);
Camera.main.transform.localPosition = new Vector3(0, 0, 0);
}

private void Update()
{
if (!IsLocalPlayer) { return; }

float moveX = Input.GetAxis("Horizontal") * Time.deltaTime * 110.0f;
float moveZ = Input.GetAxis("Vertical") * Time.deltaTime * 4f;

transform.Rotate(0, moveX, 0);
transform.Translate(0, 0, moveZ);
}
}
}

Press play in Unity editor and... what happened? Why is our player don't spawning? +Well, the question is very simple. You need to start the server somehow, and that's what coming next, but before...

Types of servers

On Mirage has two types of servers:

  • You can create a server-only game, which runs as an Authoritative kind, and takes decisions for every player and you must join always as a client (For more info you can click here).
  • You can create a host server. Which will work as client + server and will take decisions for every other client in the network

Which one is the best? That depends on your game, we can't know certainly in this guide.

Why are you telling me this now?

Because in this guide we will be working on Server + Client type, so we want you to know that there are other ways to connect to the Server besides this guide.

Continuing with the guide

Now, we need to connect to our server, so for this, we have two roads, write down a script and make the server start, or just use the HUD.

Initiate Server By Scripting

This one is pretty simple, we just need to go to our NetworkManager GO then

  • Create a new script, we can call it StartServer
  • Then server starts should look like this:
using Mirage;
using UnityEngine;

namespace GettingStarted
{
public class StartServer : MonoBehaviour
{
[SerializeField] private NetworkManager networkManager;

private void Start()
{
if (!networkManager) { return; }

networkManager.Server.StartServer(networkManager.Client);
}
}
}

After we save the file, we go back into our NetworkManager GO, and assign the NetworkManager field to the script.

Understanding Network Hud

TODO

From here: This guide was written for Mirror so some information might be out-of-date for Mirage

Names And Colours

Player name above heads

  • Inside your player Prefab, create an empty GameObject
  • name it something like FloatingInfo
    • position Y to 1.5
    • scale X to -1
  • Inside that FloatingInfo, create a 3D text using Unity menu (GameObject - 3D Object - 3D Text),
  • Set it up as shown in the picture below

Update your PlayerScript.cs with this:

using Mirage;
using UnityEngine;

namespace QuickStart
{
public class PlayerScript : NetworkBehaviour
{
public TextMesh playerNameText;
public GameObject floatingInfo;

private Material playerMaterialClone;

[SyncVar(hook = nameof(OnNameChanged))]
public string playerName;

[SyncVar(hook = nameof(OnColorChanged))]
public Color playerColor = Color.white;

[ServerRpc]
public void CmdSetupPlayer(string _name, Color _col)
{
// player info sent to server, then server updates sync vars which handles it on all clients
playerName = _name;
playerColor = _col;
}

private void Awake() {
Identity.OnStartLocalPlayer.AddListener(OnStartLocalPlayer);
}

private void OnStartLocalPlayer()
{
Camera.main.transform.SetParent(transform);
Camera.main.transform.localPosition = new Vector3(0, 0, 0);

floatingInfo.transform.localPosition = new Vector3(0, -0.3f, 0.6f);
floatingInfo.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);

string name = "Player" + Random.Range(100, 999);
Color color = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f))
CmdSetupPlayer(name, color);
}

private void OnNameChanged(string _Old, string _New)
{
playerNameText.text = playerName;
}

private void OnColorChanged(Color _Old, Color _New)
{
playerNameText.color = _New;
playerMaterialClone = new Material(GetComponent<Renderer>().material);
playerMaterialClone.color = _New;
GetComponent<Renderer>().material = playerMaterialClone;
}

private void Update()
{
if (!IsLocalPlayer)
{
// make non-local players run this
floatingInfo.transform.LookAt(Camera.main.transform);
return;
}

float moveX = Input.GetAxis("Horizontal") * Time.deltaTime * 110.0f;
float moveZ = Input.GetAxis("Vertical") * Time.deltaTime * 4f;

transform.Rotate(0, moveX, 0);
transform.Translate(0, 0, moveZ);
}
}
}

Add the PlayerNameText and FloatingInfo objects into the script on the player prefab, as shown below.

Now if you build and run, host on one, and join on the other, you will see player names and colors synced across the network!

Well done, 5 stars to you!

Part 11

A scene networked object all can access and adjust.

Create a SceneScript.cs, and add it onto an empty GameObject in the scene called SceneScript.

Then create a Canvas with text and a button, similar to the image below.

Add the sceneScript variable, Awake function, and CmdSendPlayerMessage to PlayerScript.cs +Also add the new playerName joined line to CmdSetupPlayer();

private SceneScript sceneScript;

void Awake()
{
//allow all players to run this
sceneScript = GameObject.FindObjectOfType<SceneScript>();
Identity.OnStartLocalPlayer.AddListener(OnStartLocalPlayer);
}
[ServerRpc]
public void CmdSendPlayerMessage()
{
if (sceneScript)
{
sceneScript.statusText = $"{playerName} says hello {Random.Range(10, 99)}";
}
}
[ServerRpc]
public void CmdSetupPlayer(string _name, Color _col)
{
//player info sent to server, then server updates sync vars which handles it on all clients
playerName = _name;
playerColor = _col;
sceneScript.statusText = $"{playerName} joined.";
}
public void OnStartLocalPlayer()
{
sceneScript.playerScript = this;
//. . . . ^ new line to add here

Add this code to SceneScript.cs

using Mirage;
using UnityEngine;
using UnityEngine.UI;

namespace QuickStart
{
public class SceneScript : NetworkBehaviour
{
public Text canvasStatusText;
public PlayerScript playerScript;

[SyncVar(hook = nameof(OnStatusTextChanged))]
public string statusText;

void OnStatusTextChanged(string _Old, string _New)
{
//called from sync var hook, to update info on screen for all players
canvasStatusText.text = statusText;
}

public void ButtonSendMessage()
{
if (playerScript != null)
{
playerScript.CmdSendPlayerMessage();
}
}
}
}
  • Attach the ButtonSendMessage function to your Canvas Button.
  • Attach Canvas Scene Text to SceneScript variable.
    • ignore SceneScript’s, playerScript variable, it automatically sets this!

+

Now if you build and run, host, and join, you can send messages, and have a text log for actions!

Wahooo!

+

Experiment and adjust, have fun!

Weapon Switching

Weapon switching! The code bits.

Add the following to your PlayerScript.cs

private int selectedWeaponLocal = 1;
public GameObject[] weaponArray;

[SyncVar(hook = nameof(OnWeaponChanged))]
public int activeWeaponSynced;

void OnWeaponChanged(int _Old, int _New)
{
// disable old weapon
// in range and not null
if (0 < _Old && _Old < weaponArray.Length && weaponArray[_Old] != null)
{
weaponArray[_Old].SetActive(false);
}

// enable new weapon
// in range and not null
if (0 < _New && _New < weaponArray.Length && weaponArray[_New] != null)
{
weaponArray[_New].SetActive(true);
}
}

[ServerRpc]
public void CmdChangeActiveWeapon(int newIndex)
{
activeWeaponSynced = newIndex;
}

void Awake()
{
// disable all weapons
foreach (var item in weaponArray)
{
if (item != null)
{
item.SetActive(false);
}
}
}

Add the weapon switch button in Update. Only the local player switches its own weapon, so it goes below the !IsLocalPlayer check.

void Update()
{
if (!IsLocalPlayer)
{
// make non-local players run this
floatingInfo.transform.LookAt(Camera.main.transform);
return;
}

float moveX = Input.GetAxis("Horizontal") * Time.deltaTime * 110.0f;
float moveZ = Input.GetAxis("Vertical") * Time.deltaTime * 4f;

transform.Rotate(0, moveX, 0);
transform.Translate(0, 0, moveZ);

if (Input.GetButtonDown("Fire2")) //Fire2 is mouse 2nd click and left alt
{
selectedWeaponLocal += 1;

if (selectedWeaponLocal > weaponArray.Length)
{
selectedWeaponLocal = 1;
}

CmdChangeActiveWeapon(selectedWeaponLocal);
}
}

Weapon models

Add the basic cube weapons first, change these later.

  • Double click your player prefab to enter it
  • Add a "WeaponsHolder" empty GameObject, with position and rotation at 0,0,0.
  • Inside that GameObject, create a cube from the Unity menu, (GameObject, 3D object, cube)- Remove the box colliders.
  • Rename this Weapon1, change position and scale to match the below pictures.

Duplicate weapon 1 for Weapon 2, and change its scale and position, now you should have 2 different looking ‘weapons’!

Part 14

Weapon switch finale.

  • Add these 2 GameObjects to your PlayerScript.cs weapons array.
  • Disable weapon 2, so only weapon 1 shows when spawning.

Build and run!

You should see each player switching weapons, and whatever your player has equipped, will auto show on new joining players (sync var and hook magic!)

+ + + + \ No newline at end of file diff --git a/docs/guides/development-servers/aws/index.html b/docs/guides/development-servers/aws/index.html new file mode 100644 index 00000000000..6d8642bb88f --- /dev/null +++ b/docs/guides/development-servers/aws/index.html @@ -0,0 +1,35 @@ + + + + + + +Amazon Web Services (AWS) | Mirage Networking + + + + +
+

Amazon Web Services (AWS)

During this section, we will focus on using a Windows instance and connecting from a Windows computer.

note

AWS requires a payment method/credit card added before being able to use a Windows server.

Don't forget to read up on the free tier limitations. +During this example, we will be using the free tier of the EC2 option, which gives us the possibility to use a Windows instance (if you have already added a payment method). +For more information about which services offer a Free Tier, see AWS Free Tier.

These are the steps we will go through from start to finish:

  1. Account creation
  2. Setting up an instance with the EC2 Management Console
  3. Configuring the server via RDP (Remote Desktop)
  4. Setting up the firewall to allow connections through
  5. Testing the connection

1. Account Creation

Go to the Account creation page and +sign up with your details and payment method (e.g. credit card). Adding the payment method is necessary to run a Windows instance on AWS.

2. Setting up an instance with the EC2 Management Console

After setting up your account you should be logged in. +Always make sure you're in your correct region so it's a good habit to check in the top right corner. Change it to the closest location to you now. +After this click on Services in the top left corner and click on EC2. This will bring you to the EC2 instance dashboard and ready to Launch your instance!

Click on "Launch Instance". +EC2-Management-Dashboard

There are 7 steps to creating your AWS Instance:

  1. Choose an Amazon Machine Image (AMI)
  2. Choose Instance Type
  3. Configure Instance
  4. Add Storage
  5. Add Tags
  6. Configure Security Group
  7. Review

Step 1: Choose an Amazon Machine Image

Scroll down until you see the Microsoft Windows Server 2019 Base (take the newest one if this is outdated). +Make sure that the option you select has the "Free Tier Eligible" under the icon and click on "Select". +Amazon Machine Image: Microsoft Server 2019

Step 2: Choose Instance Type

Make sure you choose the instance type with the "free tier eligible", at the time of writing this is the t2.micro instance. +Click on "Next: Configure Instance Details". Do not click on Review and Launch.

Choose Instance Type

Step 3: Configure Instance

Nothing has to be changed at this step. Keep it default. Click on "Next: Add Storage".

Step 4: Add Storage

Nothing has to be changed. Keep it default. The 30GB is more than you need but there will be an error if you choose a lower amount. +Keep in mind that you can always click "Previous" if you need to return, you do not need to repeat the entire process if you make a mistake (unless you click Launch at the end).

Click on "Next: Add Tags" to continue.

Step 5: Add Tags

Nothing has to be changed. Keep it default. Click on "Next: Configure Security Groups"

Step 6: Configure Security Groups

IMPORTANT STEP

This makes it possible to connect to your instance from outside for:

  • RDP (needed for this example)
  • For clients connecting through port 7777 for your Mirage Project.
  • SSH (if needed)

Create a new security group and you can give it your own name and description. Add the following rules:

  • RDP with source "Anywhere", Description can be whatever but put it as Remote Desktop Program.
  • Custom UDP Rule with port 7777 and source "Anywhere", Description can be whatever but put it as Mirage.
  • SSH with source "Anywhere", Description can be whatever but put it as SSH.

SSH is not strictly necessary but can be used to remotely connect to it through other means than the RDP.

You can ignore the warning about the source as this is just a testing environment. In the future, you might wish to restrict this but you will almost never know the clients' connection IP's beforehand.

Click on "Next: Review and Launch"

Configuring Security Groups

Step 7: Review

Almost there! Make sure everything is correct and you are using the free tier, then click on "Launch".

Review Of The Instance

One more thing: A window will pop up asking for your key pair. Just create a new one by selecting the dropdown: "Create a new key pair" and give it a name, click on "Download Key Pair".

Keep the key file (.PEM File) somewhere secure (To be 100% certain, back it up somewhere).

IMPROTANT NOTICE

You cannot access the created instance without this key!

Key Pair

Now you can (finally) click on "Launch Instances"!

Go back to your EC2 dashboard by clicking on "Services" at the top left and clicking on EC2. +Now you see you have "Running Instances: 1". Click on "Running Instances" to continue.

Your Running Instances

info

A new instance might take around 5-10 minutes to set up. Refresh the page after 10 minutes if nothing changes.

Now you did all this but you want to get ON the dedicated server right? Perfect! The next step will get you up and running!

3. Configuring the server via RDP (Remote Desktop)

Time to get the RDP file so you can start connecting. There are a few things we'll need:

  1. RDP file with the key pair added to it
  2. Configure RDP file once downloaded to allow getting files from our C: drive or other drives (so you can easily get your zip project)
  3. Enter the Windows Admin password once you start the RDP file

Once you've done this, you should be able to continue using the same RDP file.

RDP file with the key pair added to it

caution

Get the password before clicking Download!

Connect To Your Instance 1

Copy the Password for later

Connect To Your Instance 2

Now click on "Download Remote Desktop File". The RDP file will be downloaded.

Connect To Your Instance 3

Configure RDP file for easy file access

Go to your freshly downloaded RDP file and right-click it and then click "Edit".

Go to the third tab "Local sources", at the bottom click "more" under local devices and sources. +On the new window select your C: drive or any other drive. This is your own computer your connecting from. For easy file exchange.

Configuring the RDP file

Perfect! Now you can run the RDP file! The RDP file will ask for a password. If you forgot your password you can get it back by right-clicking +the instance and clicking on "Get Windows Password". You will be asked to re-enter your key pair (.PEM) file and decrypt the message. +Once done you will be able to copy the password.

Retrieve Your Default Windows Administrator Password

Retrieve Your Default Windows Administrator Password 2

There you have it! Now you have your password and Remote Desktop should show you logging into your dedicated server!

Setting up the firewall to allow connections through

Go to the windows firewall settings, go to the advanced firewall settings, and go to inbound rules. Add a new rule and choose the port type. +Select UDP and enter the 7777 port (or any other if you use another port in Mirage). Continue clicking next and keep things default. +Close all the windows when done.

Windows Firewall Exception

AWESOME! You now have everything set up to accept incoming requests on port 7777.

4. Testing the connection

Before you can (finally) test out the server build of your project you need to get it on the dedicated server!

Place your (zipped) server build at the root of your added drive (C: or another) to make it easier to find it fast.

Go to "My Computer" and because of our previous changes to the RDP we should now see your local drive under "Devices and Drives". +Double click it and because you placed your zipped server build on that drive, you should see it immediately when it's done loading.

Your Drive on the dedicated host

Now unzip the project in a new folder on the dedicated server's desktop and run it.

Want to test if it sees the 7777 port is open after you started your Mirage server? +Get your IPv4 public IP from the EC2 Management Console from your instance and use it on your client to connect to that IP.

Go to PortChecker and enter the Dedicated Server IP address and enter port 7777.

note

If you are not running your game/project then the port will be closed. It's only open when the server is running.

+ + + + \ No newline at end of file diff --git a/docs/guides/development-servers/google-cloud/index.html b/docs/guides/development-servers/google-cloud/index.html new file mode 100644 index 00000000000..d6a9ad2c096 --- /dev/null +++ b/docs/guides/development-servers/google-cloud/index.html @@ -0,0 +1,17 @@ + + + + + + +Google Cloud Services | Mirage Networking + + + + +
+

Google Cloud Services

This guide will explain how to set up a Linux server running on Google Cloud.

Google cloud offers $300 free credits to new users for a limited time, and it also has "Always free products". See overview and docs for more information.

Before you begin

1) In the Cloud Console, on the project selector page, select or create a Cloud project.

note

If you don't plan to keep the resources that you create in this procedure, create a project instead of selecting an existing project. After you finish these steps, you can delete the project, removing all resources associated with the project.

Go to the project selector page

2) You may need to enable billing for your Google Cloud project. If you have free credits (see above) then these will be used first. Learn how to confirm billing is enabled for your project.

Setting up a new Server

Start by creating and configuring a new Compute Engine instance.

1) In the Cloud Console, go to the VM instances page:

Go to the VM instances page

If this is your first instance you will see a dialog prompting you to create a new virtual machine

create new

2) Click Create to get started.

3) On the Create an instance page, configure your instance as follows:

- Name your instance. This tutorial uses the instance name `mirror-instance-demo` throughout.
- Select the region and zone in which you want your instance to be hosted. This tutorial uses the region `us-central1 (Iowa)` and the zone `us-central1-a` throughout.
- Machine configuration depends on the size of your game. For a simple example, we can use a small server.
- select `N1` for series
- select `f1-micro` for machine type
- In the Boot disk section, click Change. The Boot disk dialog will pop up.
- Change the disk type to SSD Persistent Disk.

create an instance with name and region

4) Boot disk can be left as default 10gb standard persistent disk with Debian GNU/Linux 9 (stretch) for this tutorial.

You may want to change it to best fit your needs. You can instead use an SSD or increase its size, however, this will increase the monthly cost.

Boot disk

note

The monthly estimate should be shown at the top right next to Name.

5) To configure Network settings first example the Management, security, disks, networking, solo tenancy section, then click on the Networking tab.

expand network settings

6) Set a Network tag, this will allow you to set up firewall rules later on.

This tutorial use mirror-demo as the tag

set network tag

7) Set up a static IP address for your instance

a) Under **Network interfaces** click on `default` and it will bring up a config menu

b) Select the **External IP** dropdown and select `Create IP address`

c) Enter a name for this IP and press **Reserve**. For this tutorial, we will use `mirror-demo-ip`

reserve ip address

8) Create your instance.

Press the Create button at the bottom of the page to finish set-up and create your instance

Configure Firewall

This will allow other people to connect to your server using its IP and port

1) In the Cloud Console, go to the Firewall page.

Go to the Firewall page

2) Click Create firewall rule.

3) On the Create a firewall rule page, fill out the form as follows:

- Name: `mirror-demo-rule`
- Target tags: `mirror-demo`
- Source filter: IP ranges
- Source IP ranges: 0.0.0.0/0
- Protocols or ports: Select UDP, and then enter port 7777 into the field provided.
note

UDP and port 7777 are the default settings for the socket, if you are using a different socket you will need to find out what settings that uses.

Create network rule

4) Press Create to confirm the setting and create the rule.

Connect to your new instance

Once your instance has finished being created you can press the SSH button to connect to your instance in your web browser

connect to instance

Setting up the Linux instance

When you first connect you will need to set up a few things

1) First, update the list of packages

sudo apt-get update

2) Install screen and unzip

sudo apt-get install -y screen unzip

screen allows you to have multiple terminals, allows you to do other stuff while your game is running

unzip unzips can be used to extract files from a ZIP file after you upload it to the instance

update and install packages

Build your game

Build your game with Target Platform Linux and Server Build ticked

Server build

Upload and extract your game

Once you have built your game zip the folder so that you can upload it to your server.

In the SSH connection window click on the settings cogwheel and select Upload File then find and select your zipped build folder.

Upload a file

This should upload the game folder to the home directory.

If you need to go to the home directory you can use:

cd ~
note

The destination will be /home/username where the username should be the cloud account you are logged into.

Uploading

Once your file has finished the upload you can extract the files

unzip ./mirror-demo.zip 

Run server

1) Move into the game folder

cd mirror-demo

2) Mark game as executable

chmod +x ./mirror-demo.x86_64 

You should now be able to run your game server!

The following is optional but will most likely be useful

3) Start your server in a detached screen

screen -d -m -S mirrorServer ./mirror-demo.x86_64 -logfile ~/server.log

The parts of the command above:

  • screen -d -m will create the new terminal in detached mode
  • -S mirrorServer name of the screen
  • ./mirror-demo.x86_64 your game server file
  • -logfile ~/server.log unity argument for log file location, this will create a log file in the home directory

4) Create a start file so you can start your server the same way each time

a) create `start.sh`
```
echo "screen -d -m -S mirrorServer ./mirror-demo.x86_64 -logfile ~/server.log" > ./start.sh
```

b) mark as executable
```sh
chmod +x ./start.sh
```

5) Run your server

./start.sh

Using Screen

Here are a few useful commands for using screen

  • List active screens
screen -ls
  • Attach to existing screen,
    • process-id is shown when calling screen -ls
    • screen name is given by -S when creating the screen, for this tutorial it was mirrorServer
screen -r <process-id | screen name>
  • Detach from screen press CTRL A + D

  • Stop your game

Once attached to a screen you can press CTRL + C to stop the process, this will stop your game and close the screen

View log files

You can use the -logfile ~/path/to/log.log argument for Unity when starting your game server. This will cause the logs to be written to a file instead of to the terminal. This will means recent logs won't show up in screen -r.

  • you can use the tail command to view the end of the log file
tail -n 50 ./server.log 
  • you can use the -n argument to set how many lines to show

  • you can use the -f argument to follow the end of the file stream showing you any new logs that are written to the file in real-time. You will need to press CTRL + C to exit follow mode

Clean up after tutorial

If you used an existing project you will need to delete the following:

  • VM instance
  • Firewall rule

If you have created a new project you should be able to just delete the project.

Go to the Manage resources page

+ + + + \ No newline at end of file diff --git a/docs/guides/development-servers/index.html b/docs/guides/development-servers/index.html new file mode 100644 index 00000000000..cc0bcc6831b --- /dev/null +++ b/docs/guides/development-servers/index.html @@ -0,0 +1,25 @@ + + + + + + +Overview | Mirage Networking + + + + +
+

Development Servers Overview

During this guide, we will set up a dedicated server and place the server build of our project on the dedicated server.

IMPORTANT: Before we begin, there are some potential problems you may face, as no server is truly 'free':

  1. Service providers are NOT free.
  2. Most of the time you can start with free trials for a limited time, after x amount of time or x amount of used resources the trial will end and you might incur a payment.
  3. Always read the provider's free trial limitations.
  4. Some providers require a payment method for using a Windows instance, however as long as you do not go over the limitations the provider should not bill you.
note

Mirage is not affiliated and can not be held responsible for any charges or fees associated with service providers like +AWS, +Microsoft Azure, +Google Compute Engine, and others...

Introduction

During your development with Mirage, you will need to test your project as a client and as a server. +There are a few possible ways to test your project:

  1. Default build: Host/client as one and connect with another build/editor to the host locally on 1 computer.
  2. Server build: Server is a separate executable. You can place it on your computer run it and connect to it as a client.
  3. Dedicated Server: Same as the server build but placed on an external machine, you connect to it with the server's external IP.

This guide will focus on the "Dedicated Server" option. There are multiple providers and even self-hosted dedicated machines. +All possibilities still go through the same process to ensure connectivity to clients. A few requirements for a dedicated server:

  1. Port forwarding (Not strictly necessary but makes everything a lot easier without needing NAT punch-through)
  2. Firewall exceptions
  3. Computer/machine that stays online and accessible whenever you need it.

In the upcoming sections, we will go through setting up a provider with the free tier.

Always double-check that you do not select a paid feature as this is purely meant as a short-term period to test out basic functionality during the development of your project.

Amazon Web Services (AWS)

See this guide: AWS setup

Google Compute Engine

See this guide: Google cloud setup

Microsoft Azure

Microsoft Azure (as of the time of writing) allows setting up a windows instance during the free trial without an active payment method.

To be added

Self-Hosted Dedicated Server

A self-hosted dedicated server is the same as the other providers but you provide the hardware, internet connection, and costs for running the computer. +Most of the time this is the cheapest option during development if you already have an extra machine. +Preferably you would put the machine on a different network (to simulate the conditions as the other providers). +This would mean you could connect to the machine and put your server build on whenever you need and have access to the router and security settings of the machine for port forwarding and firewall exceptions.

In essence, this is the simplest setup but does require extra hardware.

+ + + + \ No newline at end of file diff --git a/docs/guides/faq/index.html b/docs/guides/faq/index.html new file mode 100644 index 00000000000..5bb82300087 --- /dev/null +++ b/docs/guides/faq/index.html @@ -0,0 +1,20 @@ + + + + + + +FAQ | Mirage Networking + + + + +
+

FAQ

Work In Progress

This page is a work in progress

How do I use this feature?

How to send/sync custom data types?
Mirage can automatically create serialization functions for many custom data types when your scripts are compiled.

For example, Mirage will automatically create a function for MyCustomStruct so that it can be sent without any extra work.

[ClientRpc]
public void RpcDoSomething(MyCustomStruct data)
{
// do stuff here
}

struct MyCustomStruct
{
int someNumber;
Vector3 somePosition;
}

For More details

How to Connect

How to connect to games on same PC

Make sure the Network Address field on NetworkManager or the Hud is set up localHost

How to connect to a different PC/Device on same network

Set the Network Address field to the LAN IP of the host 192.168.x.x

In some cases, you may need additional steps, check below

To check IP on Windows you can open PowerShell and use the ipconfig command, then under your current adapter (ethernet/wifi/etc) look for IPv4 Address

IPv4 Address. . . . . . . . . . . : 192.168.x.x

How to connect to a different PC/Device over the internet

Set the Network Address field to be the IP address of the host (google 'whats my IP')

This section does not cover relays/dedicated vps/headless features

For this to work, you will need to do some of the following, most of these depend on your set-up and router

  • Port forward:
    +You'll have to log in to your router.

    • Forward your game port (default is 7777) for your PC's local IP. (192.168.1.20 for example)
  • PC Firewalls:

    • You can turn it off for a quick test (And turn it back on later)
    • manually allow the editor and any builds you create in firewalls settings.
  • Try from a build rather than the Unity Editor

  • Some anti-virus/phones may have additional blocking.

    • You can turn it off for a quick test (And turn it back on later)
  • In rare cases ISPs or companies/schools block ports and connections, this is harder to adjust yourself. +If you need more help it is best to google for a guide for your setup and router. +An alternative to the above is to use a dedicated server (VPS) or use a relay.

+ + + + \ No newline at end of file diff --git a/docs/guides/game-objects/index.html b/docs/guides/game-objects/index.html new file mode 100644 index 00000000000..3a2c75714a2 --- /dev/null +++ b/docs/guides/game-objects/index.html @@ -0,0 +1,17 @@ + + + + + + +Networked Game Objects | Mirage Networking + + + + +
+

Networked Game Objects

Networked game objects are game objects which are controlled and synchronized by Mirage’s networking system. Using synchronized networked game objects, you can create a shared experience for all the players who are playing an instance of your game. They see and hear the same events and actions - even though that may be from their own unique viewpoints within your game.

Multiplayer games in Mirage are typically built using Scenes that contain a mix of networked game objects and regular (non-networked) game objects. The networked game objects are those which move or change during gameplay in a way that needs to be synchronized across all users who are playing the game together. Non-networked game objects are those that either don't move or change at all during gameplay (for example, static obstacles like rocks or fences) or game objects which have movement or changes that don’t need to be synchronized across players (for example, a gently swaying tree or clouds passing by in the background of your game).

A networked game object is one that has a Network Identity component attached. However, a Network Identity component alone is not enough for your game object to be functional and active in your multiplayer game. The Network Identity component is the starting point for synchronization, and it allows the Network Manager to synchronize the creation and destruction of the game object, but other than that, it does not specify which properties of your game object should be synchronized.

What exactly should be synchronized on each networked game object depends on the type of game you are making, and what each game object’s purpose is. Some examples of what you might want to synchronize are:

  • The position and rotation of moving game objects such as the players and non-player characters.
  • The animation state of an animated game object
  • The value of a variable, for example, how much time is left in the current round of a game, or how much energy a player has.

As a convenience, the initial position, rotation, and scale of the object are automatically synchronized by the NetworkIdentity. Any other state you wish to synchronize across the network needs to go in a NetworkBehaviour inside your GameObject.

When an object is created in the server, you must tell Mirage to create it in the clients and keep track of it. This is known as Spawning.

+ + + + \ No newline at end of file diff --git a/docs/guides/game-objects/lifecycle/index.html b/docs/guides/game-objects/lifecycle/index.html new file mode 100644 index 00000000000..c1bd7edeca2 --- /dev/null +++ b/docs/guides/game-objects/lifecycle/index.html @@ -0,0 +1,41 @@ + + + + + + +Lifecycle | Mirage Networking + + + + +
+

Lifecycle of a GameObject

Networked GameObjects go through several lifecycle states. +You can add custom logic to the object lifecycle events by subscribing to the corresponding event in NetworkIdentity

Spawning

ServerClient
Instantiate
Start Server
NetworkWorld.onSpawn
Instantiate
StartAuthority
StartClient
StartLocalPlayer
NetworkWorld.onSpawn

Destroying

ServerClient
NetworkWorld.onUnspawn
StopAuthority
StopClient
Destroy
NetworkWorld.onUnspawn
StopServer
Destroy
note

In Mirror and UNet, you can add logic to lifecycle events by overriding methods in NetworkBehaviour.
+In Mirage you do it by subscribing to events in NetworkIdentity

Server Instantiate

This is usually done by you using Unity's GameObject.Instantiate +This goes through the regular GameObject Lifecycle events such as Awake, Start, Enabled, etc... +Basically this is outside Mirage's control.

Scene Objects are normally instantiated as part of the scene.

Server Start

To start a server object, spawn it. If you wish to perform some logic when the object starts in the server, add a component in your gameObject with our own method and subscribe to NetworkIdentity.OnStartServer

For example:

public class MyComponent : MonoBehaviour
{
public void Awake()
{
GetComponent<NetworkIdentity>.OnStartServer.AddListener(OnStartServer);
}

public void OnStartServer()
{
Debug.Log("The object started on the server")
}
}

You can also simply drag your OnStartServer method in the NetworkIdentity.OnStartServer event in the inspector.

During the spawn, a message will be sent to all the clients telling them to spawn the object. The message +will include all the data in SyncVars, SyncLists, SyncHashSet, SyncDictionary

NetworkWorld onSpawn and onUnspawn

The NetworkWorld class is what holds the list of all spawned Identities. This class is used for both server and client, and can be found on NetworkServer.World and NetworkClient.World.

NetworkWorld has event that are called when Network objects are spawned or unspawn, they can be used when you need to do this on all network objects, but dont want to add listeners to each one individually.

public class MyComponent : MonoBehaviour  
{
public NetworkServer Server;
public NetworkClient Client;

public void Awake()
{
// Client/Server.World is only set after server is started,
// so wait for start, then add event listener to OnSpawn
Server.Started.AddListener(ServerStarted);
Client.Started.AddListener(ClientStarted);
}

private void ServerStarted()
{
Server.World.onSpawn += OnServerSpawn;
Server.World.onUnspawn += OnServerUnspawn;
}
private void OnServerSpawn(NetworkIdentity identity)
{
Debug.Log($"The object {identity} was spawned on the server");
}
private void OnServerUnspawn(NetworkIdentity identity)
{
Debug.Log($"The object {identity} was unspawned on the server");
}

private void ClientStarted()
{
Client.World.onSpawn += OnClientSpawn;
Client.World.onUnspawn += OnClientUnspawn;
}
private void OnClientSpawn(NetworkIdentity identity)
{
Debug.Log($"The object {identity} was spawned on the client");
}
private void OnClientUnspawn(NetworkIdentity identity)
{
Debug.Log($"The object {identity} was unspawned on the client");
}
}

Client Instantiate

When an object is spawned, the server will send a message to the clients telling it to spawn a GameObject and provide +an asset id.

By default, Mirage will look up all the known prefabs looking for that asset id.
+Make sure to add your prefabs to the NetworkClient list of prefabs. +Then Mirage will instantiate the prefab, and it will go through the regular Unity Lifecycle events. +You can customize how objects are instantiated using Spawn Handlers.

Do not add Network logic to these events. Instead, use these events to subscribe to network events in NetworkIdentity.

Immediately after the object is instantiated, all the data is updated to match the data in the server.

Client Start Authority

If the object is owned by this client, then NetworkIdentity will invoke the NetworkIdentity.OnAuthorityChanged +Subscribe to this event either by using AddListener, or adding your method to the event in the inspector. +Note the Authority can be revoked, and granted again. Every time the client gains authority, this event will be invoked again.

Start Client

The event NetworkIdentity.OnStartClient will be invoked. +Subscribe to this event by using AddListener or adding your method in the event in the inspector

Start Local Player

If the object spawned is the character object, the event NetworkIdentity.OnStartLocalPlayer +is invoked. +Subscribe to this event by using AddListener or adding your method in the event in the inspector

Stop Authority

If the object loses authority over the object, then NetworkIdentity will invoke the NetworkIdentity.OnAuthorityChanged +Subscribe to this event either by using AddListener, or adding your method to the event in the inspector. +Note the Authority can be revoked, and granted again. Every time the client loses authority, this event will be invoked again.

Server Stop

Either because the client disconnected, the server stopped, +you called ServerObjectManager.Destroy(GameObject, Boolean) the object may stop in the server. +During this state, a message is sent to all the clients to unspawn the object. +The event NetworkIdentity.OnStopServer will be invoked.

Subscribe to this event either by using AddListener, or by adding your method to the event in the inspector.

Server Destroy

By default, the server will call GameObject.Destroy to destroy the object.
+Note that if it is a Scene Object the server will invoke GameObject.SetActive(false) instead.

The regular unity lifecycle events apply.

Note that the server will destroy the object, and will not wait for the clients to unspawn their objects.

Stop Client

This can be triggered either because the client received an Unspawn message or the client was disconnected +The event NetworkIdentity.OnStopClient will be invoked.
+Subscribe to this event either by using AddListener, or by adding your method to the event in the inspector.

Use it to clean up any network-related resource used by this object.

Client Destroy

After an object is stopped on the client, by default unity will call GameObject.Destroy if it is a prefab Spawned Object +Or it will call GameObject.SetActive(false) if it is a Scene Object +You can customize how objects are destroying using Spawn Handlers

The normal Unity lifecycle events still apply.

+ + + + \ No newline at end of file diff --git a/docs/guides/game-objects/network-behaviour/index.html b/docs/guides/game-objects/network-behaviour/index.html new file mode 100644 index 00000000000..f5da2230ca6 --- /dev/null +++ b/docs/guides/game-objects/network-behaviour/index.html @@ -0,0 +1,18 @@ + + + + + + +Network Behaviour | Mirage Networking + + + + +
+

Network Behaviour

See also NetworkBehaviour in the API Reference.

Network Behaviour scripts work with game objects that have a NetworkIdentity component. These scripts can perform high-level API functions such as ServerRpcs, ClientRpcs, and SyncVars.

With the server-authoritative system of Mirage, the server must use the NetworkServer.Spawn function to spawn game objects with Network Identity components. Spawning them this way assigns them a netId and creates them on clients connected to the server.

Note: This is not a component that you can add to a game object directly. Instead, you must create a script that inherits from NetworkBehaviour (instead of the default MonoBehaviour), then you can add your script as a component to a game object.

NetworkBehaviour scripts have the following features:

Data Flow Graph

Note: NetworkBehaviors in Mirror and in UNet provide virtual functions as a way for you to add logic in response to lifecycle events. Mirage does not, instead add listeners to the events in NetworkIdentity.

Synchronized variables

Your component can have data that is automatically synchronized from the server to the client. You can use SyncVars as well as SyncLists, SyncHashSet, and SyncDictionary inside a NetworkBehaviour. They will be automatically propagated to the clients whenever their value changes in the server.

Server and Client functions

You can tag member functions in NetworkBehaviour scripts with custom attributes to designate them as server-only or client-only functions. ServerAttribute +will check that the function is called in the server. Likewise, ClientAttribute will check if the function is called in the client.

For more information, see Attributes.

Server RPC Calls

To execute code on the server, you must use Server RPC calls. The high-level API is a server-authoritative system, so ServerRpc is the only way for a client to trigger some code on the server.

Only player game objects can send ServerRpcs.

When a client player game object sends a ServerRpc, that ServerRpc runs on the corresponding player game object on the server. This routing happens automatically, so it is impossible for a client to send a ServerRpc for a different player.

To define a Server RPC Call in your code, your function must have a ServerRpc attribute.

Server RPC Calls are called just by invoking the function normally on the client. Instead of the ServerRpc function running on the client, it is automatically invoked on the corresponding player game object on the server.

Server RPC Calls are type-safe, have built-in security and routing to the player, and use an efficient serialization mechanism for the arguments to make calling them fast.

See Server RPC and related sections for more information.

Client RPC Calls

Client RPC calls are a way for server game objects to make things happen on client game objects.

Client RPC calls are not restricted to player game objects and may be called on any game object with a Network Identity component.

To define a Client RPC call in your code, your function must have a ClientRpc attribute.

See Client RPC and related sections for more information.

Network Callbacks

Callbacks can be used to make sure code is executed at the right time.

The network callbacks are found inside NetworkIdentity so they can also be used outside of a NetworkBehaviour.

See NetworkBehaviour Callbacks and related sections for more information.

+ + + + \ No newline at end of file diff --git a/docs/guides/game-objects/pickup-drop-child/index.html b/docs/guides/game-objects/pickup-drop-child/index.html new file mode 100644 index 00000000000..fb6848e282c --- /dev/null +++ b/docs/guides/game-objects/pickup-drop-child/index.html @@ -0,0 +1,17 @@ + + + + + + +Pickups, Drops, and Child Objects | Mirage Networking + + + + +
+

Pickups, Drops, and Child Objects

Frequently the question comes up about how to handle objects that are attached as children of the player prefab that all clients need to know about and synchronize, such as which weapon is equipped, picking up networked scene objects, and players dropping objects into the scene.

caution

Mirage cannot support multiple Network Identity components within an object hierarchy. Since the character object must have a Network Identity, none of its descendant objects can have one.

Child Objects

Let's start with the simple case of a single attachment point that is somewhere down the hierarchy of our Player, such as a hand at the end of an arm. In a script that inherits from NetworkBehaviour on the Player Prefab, we'd have a GameObject reference where the attachment point can be assigned in the inspector, a SyncVar enum with various choices of what the player is holding, and a Hook for the SyncVar to swap out the art of the held item based on the new value.

In the image below, Kyle has an empty game object, RightHand, added to the wrist, and some prefabs to be equipped (Ball, Box, Cylinder), and a Player Equip script to handle them.

The inspector shows RightHand assigned in 2 places, the Player Equip script, as well as the target of the Network Transform Child component, so we could adjust the relative position of the attachment point (not the art) for all clients as needed.

Screenshot of Player with Equip Script

Below is the Player Equip script to handle the changing of the equipped item, and some notes for consideration:

  • While we could just have all the art items attached at design time and just enable/disable them based on the enum, this doesn't scale well to a lot of items and if they have scripts on them for how they behave in the game, such as animations, special effects, etc. it could get ugly pretty fast, so this example locally instantiates and destroys instead as a design choice.
  • The example makes no effort to deal with position offset between the item and the attach point, e.g. having the grip or handle of an item aligns with the hand. This is best dealt with in a MonoBehaviour script on the item that has public fields for the local position and rotation that can be set in the designer and a bit of code in Start to apply those values in local coordinates relative to the parent attach point.
using UnityEngine;
using System.Collections;
using Mirage;

public enum EquippedItem : byte
{
nothing,
ball,
box,
cylinder
}

public class PlayerEquip : NetworkBehaviour
{
public GameObject sceneObjectPrefab;

public GameObject rightHand;

public GameObject ballPrefab;
public GameObject boxPrefab;
public GameObject cylinderPrefab;

[SyncVar(hook = nameof(OnChangeEquipment))]
public EquippedItem equippedItem;

void OnChangeEquipment(EquippedItem oldEquippedItem, EquippedItem newEquippedItem)
{
StartCoroutine(ChangeEquipment(newEquippedItem));
}

// Since Destroy is delayed to the end of the current frame, we use a coroutine
// to clear out any child objects before instantiating the new one
IEnumerator ChangeEquipment(EquippedItem newEquippedItem)
{
while (rightHand.transform.childCount > 0)
{
Destroy(rightHand.transform.GetChild(0).gameObject);
yield return null;
}

switch (newEquippedItem)
{
case EquippedItem.ball:
Instantiate(ballPrefab, rightHand.transform);
break;
case EquippedItem.box:
Instantiate(boxPrefab, rightHand.transform);
break;
case EquippedItem.cylinder:
Instantiate(cylinderPrefab, rightHand.transform);
break;
}
}

void Update()
{
if (!IsLocalPlayer) return;

if (Input.GetKeyDown(KeyCode.Alpha0) && equippedItem != EquippedItem.nothing)
CmdChangeEquippedItem(EquippedItem.nothing);
if (Input.GetKeyDown(KeyCode.Alpha1) && equippedItem != EquippedItem.ball)
CmdChangeEquippedItem(EquippedItem.ball);
if (Input.GetKeyDown(KeyCode.Alpha2) && equippedItem != EquippedItem.box)
CmdChangeEquippedItem(EquippedItem.box);
if (Input.GetKeyDown(KeyCode.Alpha3) && equippedItem != EquippedItem.cylinder)
CmdChangeEquippedItem(EquippedItem.cylinder);
}

[ServerRpc]
void CmdChangeEquippedItem(EquippedItem selectedItem)
{
equippedItem = selectedItem;
}
}

Dropping Items

Now that we can equip the items, we need a way to drop the current item into the world as a networked item. Remember that, as child art, the item prefabs have no networking components on them at all.

First, let's add one more Input to the Update method above and a CmdDropItem method:

void Update()
{
if (!IsLocalPlayer) return;

if (Input.GetKeyDown(KeyCode.Alpha0) && equippedItem != EquippedItem.nothing)
CmdChangeEquippedItem(EquippedItem.nothing);
if (Input.GetKeyDown(KeyCode.Alpha1) && equippedItem != EquippedItem.ball)
CmdChangeEquippedItem(EquippedItem.ball);
if (Input.GetKeyDown(KeyCode.Alpha2) && equippedItem != EquippedItem.box)
CmdChangeEquippedItem(EquippedItem.box);
if (Input.GetKeyDown(KeyCode.Alpha3) && equippedItem != EquippedItem.cylinder)
CmdChangeEquippedItem(EquippedItem.cylinder);

if (Input.GetKeyDown(KeyCode.X) && equippedItem != EquippedItem.nothing)
CmdDropItem();
}
[ServerRpc]
void CmdDropItem()
{
// Instantiate the scene object on the server
Vector3 pos = rightHand.transform.position;
Quaternion rot = rightHand.transform.rotation;
GameObject newSceneObject = Instantiate(sceneObjectPrefab, pos, rot);

// set the RigidBody as non-kinematic on the server only (isKinematic = true in prefab)
newSceneObject.GetComponent<Rigidbody>().isKinematic = false;

SceneObject sceneObject = newSceneObject.GetComponent<SceneObject>();

// set the child object on the server
sceneObject.SetEquippedItem(equippedItem);

// set the SyncVar on the scene object for clients
sceneObject.equippedItem = equippedItem;

// set the player's SyncVar to nothing so clients will destroy the equipped child item
equippedItem = EquippedItem.nothing;

// Spawn the scene object on the network for all to see
ServerObjectManager.Spawn(newSceneObject);
}

In the image above, there's a sceneObjectPrefab field that is assigned to a prefab that will act as a container for our item prefabs. The SceneObject prefab has a SceneObject script with a SyncVar like the Player Equip script, and a SetEquippedItem method that takes the shared enum value as a parameter.

using UnityEngine;
using System.Collections;
using Mirage;

public class SceneObject : NetworkBehaviour
{
[SyncVar(hook = nameof(OnChangeEquipment))]
public EquippedItem equippedItem;

public GameObject ballPrefab;
public GameObject boxPrefab;
public GameObject cylinderPrefab;

void OnChangeEquipment(EquippedItem oldEquippedItem, EquippedItem newEquippedItem)
{
StartCoroutine(ChangeEquipment(newEquippedItem));
}

// Since Destroy is delayed to the end of the current frame, we use a coroutine
// to clear out any child objects before instantiating the new one
IEnumerator ChangeEquipment(EquippedItem newEquippedItem)
{
while (transform.childCount > 0)
{
Destroy(transform.GetChild(0).gameObject);
yield return null;
}

// Use the new value, not the SyncVar property value
SetEquippedItem(newEquippedItem);
}

// SetEquippedItem is called on the client from OnChangeEquipment (above),
// and on the server from CmdDropItem in the PlayerEquip script.
public void SetEquippedItem(EquippedItem newEquippedItem)
{
switch (newEquippedItem)
{
case EquippedItem.ball:
Instantiate(ballPrefab, transform);
break;
case EquippedItem.box:
Instantiate(boxPrefab, transform);
break;
case EquippedItem.cylinder:
Instantiate(cylinderPrefab, transform);
break;
}
}
}

In the run-time image below, the Ball(Clone) is attached to the RightHand object, and the Box(Clone) is attached to the SceneObject(Clone), which is shown in the inspector.

The art prefabs have simple colliders on them (sphere, box, capsule). If your art item has a mesh collider, it must be marked as Convex to work with the RigidBody on the SceneObject container.

Screenshot of Kyle with equipped item and scene object

Pickup Items

Now that we have a box dropped in the scene, we need to pick it up again. To do that, a CmdPickupItem method is added to the Player Equip script:

// CmdPickupItem is public because it's called from a script on the SceneObject
[ServerRpc]
public void CmdPickupItem(GameObject sceneObject)
{
// set the player's SyncVar so clients can show the equipped item
equippedItem = sceneObject.GetComponent<SceneObject>().equippedItem;

// Destroy the scene object
ServerObjectManager.Destroy(sceneObject);
}

This method is simply called from OnMouseDown in the Scene Object script:

private void OnMouseDown()
{
Client.Player.Identity.GetComponent<PlayerEquip>().CmdPickupItem(gameObject);
}

Since the SceneObject(Clone) is networked, we can pass it directly through to CmdPickupItem on the character object to set the equipped item SyncVar and destroy the scene object.

For this entire example, the only prefab that needs to be registered with Network Manager besides the Player is the SceneObject prefab.

Screenshot of inspector

+ + + + \ No newline at end of file diff --git a/docs/guides/game-objects/scene-objects/index.html b/docs/guides/game-objects/scene-objects/index.html new file mode 100644 index 00000000000..0b60ec3b55f --- /dev/null +++ b/docs/guides/game-objects/scene-objects/index.html @@ -0,0 +1,17 @@ + + + + + + +Scene Objects | Mirage Networking + + + + +
+

Scene Game Objects

There are two types of networked game objects in Mirage’s multiplayer system:

  • Those that are spawned from prefabs at runtime
  • Those that are saved as part of a Scene

Game objects that are spawned from prefabs at runtime must have their prefabs registered in the ClientObjectManager and are instantiated on client when they are spawned on the server. See Spawn objects for more on spawning from prefabs.

Networked game objects that you save as part of a Scene are handled differently, as they already exist in the Scene when it is loaded. After loading a new scene PrepareToSpawnSceneObjects must be called on the client and SpawnSceneObjects on the server. These functions will cause Mirage to find all scene objects and then spawn them for networking. These objects will then have their netId and other network values set once the server has send the SpawnMessage for that object. You may want to disable scene objects to avoid them being in the scene until they are spawned.

Saving networked game objects in your Scene has some benefits:

  • They are loaded with the level
  • They can be modify in the scene, rather than requiring multiple prefabs for small changes
  • Other game object instances in the Scene can reference them, which can avoid you having to use code to find the game objects and make references to them up at runtime.

Networked scene objects are spawned by the ClientObjectManager and ServerObjectManager and act like any other dynamically spawned game objects. Mirage synchronizes them with updates ClientRPC calls.

If a Scene game object is destroyed on the server before a client joins the game, then it is never spawned on new clients. It will be left in the state it is when you were editing the scene.

After a client has connected and you have called AddCharacter or SpawnVisibleObjects, the client is sent a spawn message for each of the Scene objects that exist on the server, that are visible to that client. This message causes the game object on the client to be enabled and has the latest state of that game object from the server in it. This means that only game objects that are visible to the client and not destroyed on the server, are spawned on the client. Like regular non-Scene objects, these Scene objects are started with the latest state when the client joins the game.

+ + + + \ No newline at end of file diff --git a/docs/guides/game-objects/spawn-object-custom/index.html b/docs/guides/game-objects/spawn-object-custom/index.html new file mode 100644 index 00000000000..f0c39d3d19b --- /dev/null +++ b/docs/guides/game-objects/spawn-object-custom/index.html @@ -0,0 +1,17 @@ + + + + + + +Spawn Object - Custom | Mirage Networking + + + + +
+

Custom Spawn Functions

You can use spawn handler functions to customize the default behavior when creating spawned game objects on the client. Spawn handler functions ensure you have full control of how you spawn the game object, as well as how you destroy it.

Use ClientObjectManager.RegisterSpawnHandler or ClientObjectManager.RegisterPrefab to register functions to spawn and destroy client game objects. The server creates game objects directly and then spawns them on the clients through this functionality. This function takes either the asset ID or a prefab and two function delegates: one to handle creating game objects on the client, and one to handle destroying game objects on the client. The asset ID can be a dynamic one, or just the asset ID found on the prefab game object you want to spawn.

The spawn/unspawn delegates will look something like this:

Spawn Handler

NetworkIdentity SpawnDelegate(SpawnMessage msg) 
{
// do stuff here
}

UnSpawn Handler

void UnSpawnDelegate(NetworkIdentity spawned) 
{
// do stuff here
}

When a prefab is saved its PrefabHash field will be automatically set. If you want to create prefabs at runtime you will have to generate a new Hash instead.

Generate prefab at runtime

// Create a hash that can be generated on both server and client
// using a string and GetStableHashCode is a good way to do this
int coinHash = "MyCoin".GetStableHashCode();

// register handlers using hash
ClientObjectManager.RegisterSpawnHandler(coinHash, SpawnCoin, UnSpawnCoin);
note

The unspawn function may be left as null, Mirage will then call GameObject.Destroy when the destroy message is received.

Use existing prefab

// register handlers using prefab
ClientObjectManager.RegisterPrefab(coin, SpawnCoin, UnSpawnCoin);

Spawn on Server

int coinHash = "MyCoin".GetStableHashCode();

// spawn a coin - SpawnCoin is called on client
// pass in coinHash so that it is set on the Identity before it is sent to client
NetworkServer.Spawn(gameObject, coinHash);

The spawn functions themselves are implemented with the delegate signature. Here is the coin spawner. The SpawnCoin would look the same, but have different spawn logic:

public NetworkIdentity SpawnCoin(SpawnMessage msg)
{
return Instantiate(m_CoinPrefab, msg.position, msg.rotation);
}
public void UnSpawnCoin(NetworkIdentity spawned)
{
Destroy(spawned);
}

When using custom spawn functions, it is sometimes useful to be able to unspawn game objects without destroying them. This can be done by calling NetworkServer.Destroy(identity, destroyServerObject: false), making sure that the 2nd argument is false. This causes the object to be Reset on the server and sends a ObjectDestroyMessage to clients. The ObjectDestroyMessage will cause the custom unspawn function to be called on the clients. If there is no unspawn function the object will instead be Destroy

Note that on the host, game objects are not spawned for the local client, because they already exist on the server. This also means that no spawn or unspawn handler functions are called.

Setting Up a Game Object Pool with Custom Spawn Handlers

you can use custom spawn handlers in order set up object pooling so you dont need to instantiate and destroy objects each time you use them.

A full guide on pooling can be found here: Spawn Object Pooling

void ClientConnected() 
{
clientObjectManager.RegisterPrefab(prefab, PoolSpawnHandler, PoolUnspawnHandler);
}

// used by clientObjectManager.RegisterPrefab
NetworkIdentity PoolSpawnHandler(SpawnMessage msg)
{
return GetFromPool(msg.position, msg.rotation);
}

// used by clientObjectManager.RegisterPrefab
void PoolUnspawnHandler(NetworkIdentity spawned)
{
PutBackInPool(spawned);
}

Dynamic spawning

Some times you may want to create objects at runtime and you might not know the prefab hash ahead of time. For this you can use Dynamic Spawn Handlers to return a spawn handler for a prefab hash.

Below is an example where client pre-spawns objects while loading, and then network spawns them when receiving a SpawnMessage from server.

Dynamic Handler avoid the need to add 1 spawn handler for each prefab hash. Instead you can just add a single dynamic handler that can then be used to find and return objects.

public class DynamicSpawning : MonoBehaviour
{
public ServerObjectManager ServerObjectManager;
public ClientObjectManager ClientObjectManager;

// store handler in field so that you dont need to allocate a new one for each DynamicSpawn call
private SpawnHandler _handler;
private List<NetworkIdentity> _preSpawnedObjects = new List<NetworkIdentity>();

// call this on server to spawn objects and send spawn message to client
public void SpawnOnServer()
{
// set up local objects
SpawnLocal();

// send spawn message
for (var i = 0; i < _preSpawnedObjects.Count; i++)
{
// send index as prefabHash
ServerObjectManager.Spawn(_preSpawnedObjects[i], prefabHash: i);
}
}

// call this on client to spawn object and set up handler to receive spawn message
public void SpawnOnClient()
{
// set up local objects
SpawnLocal();

// register handler so client can find objects when server sends spawn message
_handler = new SpawnHandler(FindPreSpawnedObject, null);
ClientObjectManager.RegisterDynamicSpawnHandler(DynamicSpawn);
}

private void SpawnLocal()
{
// fill _preSpawnedObjects here with objects
// these can be prefabs or other objects you want to find
_preSpawnedObjects.Add(new GameObject("object 1").AddComponent<NetworkIdentity>());
_preSpawnedObjects.Add(new GameObject("object 2").AddComponent<NetworkIdentity>());
}

private SpawnHandler DynamicSpawn(int prefabHash)
{
// this will run for all SpawnMessages, so we must first check if this prefabHash is one we want to handle
if (IsPreSpawnedId(prefabHash))
// return a handler that is using FindPreSpawnedObject
return _handler;
else
return null;
}

private bool IsPreSpawnedId(int prefabHash)
{
// prefabHash starts with 16 bits of 0, then it an id we are using for spawning
// this chance of this happening randomly is very low
// you can do more validation on the hash based on use case
return (prefabHash & 0xFFFF) == 0;
}

// finds object based on hash and returns it
public NetworkIdentity FindPreSpawnedObject(SpawnMessage spawnMessage)
{
var prefabHash = spawnMessage.PrefabHash.Value;
// we stored index in last 16 bits on hash
var index = prefabHash >> 16;

var identity = _preSpawnedObjects[index];
return identity;
}
}
+ + + + \ No newline at end of file diff --git a/docs/guides/game-objects/spawn-object-pooling/index.html b/docs/guides/game-objects/spawn-object-pooling/index.html new file mode 100644 index 00000000000..4c35d227114 --- /dev/null +++ b/docs/guides/game-objects/spawn-object-pooling/index.html @@ -0,0 +1,17 @@ + + + + + + +Spawn Object - Pooling | Mirage Networking + + + + +
+

Spawn Object - Pooling

Setting Up a Game Object Pool with Custom Spawn Handlers

Here is an example of how you might set up a simple game object pooling system with custom spawn handlers. Spawning and unspawning then puts game objects in or out of the pool.

using System.Collections.Generic;
using Mirage;
using UnityEngine;

namespace Mirage.Examples
{
public class PrefabPoolManager : MonoBehaviour
{
[Header("Settings")]
public ClientObjectManager clientObjectManager;
public int startSize = 5;
public int maxSize = 20;
public NetworkIdentity prefab;

[Header("Debug")]
[SerializeField] int currentCount;

Queue<NetworkIdentity> pool;

void Start()
{
InitializePool();

clientObjectManager.RegisterPrefab(prefab, SpawnHandler, UnspawnHandler);
}

// used by clientObjectManager.RegisterPrefab
NetworkIdentity SpawnHandler(SpawnMessage msg)
{
return GetFromPool(msg.position, msg.rotation);
}

// used by clientObjectManager.RegisterPrefab
void UnspawnHandler(NetworkIdentity spawned)
{
PutBackInPool(spawned);
}

void OnDestroy()
{
clientObjectManager.UnregisterPrefab(prefab);
}

private void InitializePool()
{
pool = new Queue<NetworkIdentity>();
for (int i = 0; i < startSize; i++)
{
NetworkIdentity next = CreateNew();

pool.Enqueue(next);
}
}

NetworkIdentity CreateNew()
{
if (currentCount > maxSize)
{
Debug.LogError($"Pool has reached max size of {maxSize}");
return null;
}

// use this object as parent so that objects dont crowd hierarchy
NetworkIdentity next = Instantiate(prefab, transform);
next.name = $"{prefab.name}_pooled_{currentCount}";
next.gameObject.SetActive(false);
currentCount++;
return next;
}

/// <summary>
/// Used to take Object from Pool.
/// <para>Should be used on server to get the next Object</para>
/// </summary>
/// <param name="position"></param>
/// <param name="rotation"></param>
/// <returns></returns>
public NetworkIdentity GetFromPool(Vector3 position, Quaternion rotation)
{
NetworkIdentity next = pool.Count > 0
? pool.Dequeue() // take from pool
: CreateNew(); // create new because pool is empty

// CreateNew might return null if max size is reached
if (next == null) { return null; }

// set position/rotation and set active
next.transform.position = position;
next.transform.rotation = rotation;
next.gameObject.SetActive(true);
return next;
}

/// <summary>
/// Used to put object back into pool so they can b
/// <para>Should be used on server after unspawning an object</para>
/// </summary>
/// <param name="spawned"></param>
public void PutBackInPool(NetworkIdentity spawned)
{
// disable object
spawned.gameObject.SetActive(false);

// add back to pool
pool.Enqueue(spawned);
}
}
}

To use this manager, create a new empty game object and add the PrefabPoolManager component (code above). Next, drag a prefab you want to spawn multiple times to the Prefab field, and set startSize and maxSize fields. startSize is how many will be spawned when your game starts. maxSize is the max number that can be spawned, if this number is reached then an error will be given when trying to more new objects.

Finally, set up a reference to the PrefabPoolManager in the script you are using for player movement:

PrefabPoolManager prefabPoolManager;

void Start()
{
prefabPoolManager = FindObjectOfType<PrefabPoolManager>();
}

Your player logic might contain something like this, which moves and fires coins:

void Update()
{
if (!isLocalPlayer)
return;

// move
var x = Input.GetAxis("Horizontal") * 0.1f;
var z = Input.GetAxis("Vertical") * 0.1f;
transform.Translate(x, 0, z);

// shoot
if (Input.GetKeyDown(KeyCode.Space))
{
// Server RPC Call function is called on the client, but invoked on the server
CmdFire();
}
}

In the firing logic on the player, make it use the game object pool:

[ServerRpc]
void CmdFire()
{
// Set up bullet on server
NetworkIdentity bullet = prefabPoolManager.GetFromPool(transform.position + transform.forward, Quaternion.identity);

Rigidbody rigidBody = bullet.GetComponent<Rigidbody>();
rigidBody.velocity = transform.forward * 4;

// tell server to send SpawnMessage, which will call SpawnHandler on client
ServerObjectManager.Spawn(bullet);

// destroy bullet after 2 seconds
StartCoroutine(DestroyDelay(bullet, 2.0f));
}

IEnumerator DestroyDelay(NetworkIdentity go, float delay)
{
yield return new WaitForSeconds(delay);

// return object to pool on server
prefabPoolManager.PutBackInPool(go);

// tell server to send ObjectDestroyMessage, which will call UnspawnHandler on client
ServerObjectManager.Destroy(go, destroyServerObject: false);
}

The Destroy method above shows how to return game objects to the pool so that they can be re-used when you fire again

+ + + + \ No newline at end of file diff --git a/docs/guides/game-objects/spawn-object/index.html b/docs/guides/game-objects/spawn-object/index.html new file mode 100644 index 00000000000..4943b05cdd4 --- /dev/null +++ b/docs/guides/game-objects/spawn-object/index.html @@ -0,0 +1,19 @@ + + + + + + +Spawn Object | Mirage Networking + + + + +
+

Spawning Game Objects

In Unity, you usually “spawn” (that is, create) new game objects with Instantiate. However, in Mirage, the word “spawn” means something more specific. In the server-authoritative model of the Mirage, to “spawn” a game object on the server means that the game object is created on clients connected to the server, and is managed by the spawning system.

To spawn an object on the server you need to Instantiate the prefab and then call Spawn on the new object. This will assign a NetId to the object and send a SpawnMessage to clients.

var boxGo = Instantiate(boxPrefab);
ServerObjectManager.Spawn(boxGo);

Once the game object is spawned using this system, state updates are sent to clients whenever the game object changes on the server. When Mirage destroys the game object on the server, it also destroys it on the clients. The server manages spawned game objects alongside all other networked game objects so that if another client joins the game later, the server can spawn the game objects on that client. These spawned game objects have a unique network instance ID called NetId that is the same on the server and clients for each game object. The unique network instance ID is used to route messages sent across the network to game objects and to identify game objects.

When the server spawns a game object with a Network Identity component, the game object spawned on the client has the same “state”. This means it is identical to the game object on the server; it has the same Transform, movement state, and (if Network Transform and SyncVars are used) synchronized variables. Therefore, client game objects are always up-to-date when Mirage creates them. This avoids issues such as game objects spawning at the wrong initial location, then reappearing at their correct position when a state update arrives.

A game object Prefab must have a Network Identity component before trying to register it with the Network Manager.

To register a Prefab with the Client Object Manager in the Editor, select the Network Manager game object, and in the Inspector, navigate to the Client Object Manager component. Click the triangle next to Spawn Prefabs to open the settings, and click the plus (+) button. Drag and drop Prefabs into the empty field to assign them to the list. +For automatic registering click the 'Register All Prefabs' button.

note

This searches the entire project for prefabs/objects that have a network identity component on them and register it for you.

Registered Spawnable Prefabs

Spawning Without Network Manager

For more advanced users, you may find that you want to register Prefabs and spawn game objects without using the Network Manager component.

To spawn game objects without using the Network Manager, you can handle the Prefab registration yourself via script. Use the ClientScene.RegisterPrefab method to register Prefabs to the Network Manager.

using UnityEngine;
using Mirage;

public class MyNetworkManager : MonoBehaviour
{
public GameObject treePrefab;
public ClientObjectManager;
public NetworkClient;
public NetworkServer;
public ServerObjectManager;

void Start()
{
ClientObjectManager = FindObjectOfType<ClientObjectManager>();
NetworkClient = FindObjectOfType<NetworkClient>();
NetworkServer = FindObjectOfType<NetworkServer>();
ServerObjectManager = FindObjectOfType<NetworkServer>();
}

// Register prefab and connect to the server
public void ClientConnect()
{
ClientObjectManager.spawnPrefabs.Add(treePrefab);
NetworkClient.Connect("localhost");
NetworkClient.MessageHandler.RegisterHandler<ConnectMessage>(OnClientConnect);
}

void OnClientConnect(NetworkConnection conn, ConnectMessage msg)
{
Debug.Log("Connected to server: " + conn);
}
}

In this example, you create an empty game object to act as the Network Manager, then create and attach the MyNetworkManager script (above) to that game object. Create a prefab that has a Network Identity component attached to it, and drag that onto the treePrefab slot on the MyNetworkManager component in the Inspector. This ensures that when the server spawns the tree game object, it also creates the same kind of game object on the clients.

Registering prefabs ensures that there is no stalling or loading time for creating the Asset.

For the script to work, you also need to add code for the server. Add this to the MyNetworkManager script:

public void ServerListen()
{
// start listening, and allow up to 4 connections
NetworkServer.StartServer();

NetworkServer.MessageHandler.RegisterHandler<ConnectMessage>(OnServerConnect);
NetworkServer.MessageHandler.RegisterHandler<ReadyMessage>(OnClientReady);
}

// When client is ready spawn a few trees
void OnClientReady(NetworkConnection conn, ReadyMessage msg)
{
Debug.Log("Client is ready to start: " + conn);
SpawnTrees();
}

void SpawnTrees()
{
int x = 0;
for (int i = 0; i < 5; ++i)
{
GameObject treeGo = Instantiate(treePrefab, new Vector3(x++, 0, 0), Quaternion.identity);
ServerObjectManager.Spawn(treeGo);
}
}

void OnServerConnect(NetworkConnection conn, ConnectMessage msg)
{
Debug.Log("New client connected: " + conn);
}

The server does not need to register anything, as it knows what game object is being spawned (and the asset ID is sent in the spawn message). The client needs to be able to look up the game object, so it must be registered on the client.

When writing your own network manager, it’s important to make the client ready to receive state updates before calling the spawn command on the server, otherwise, they won’t be sent. If you’re using Mirage’s built-in Network Manager component, this happens automatically.

For more advanced uses, such as object pools or dynamically created Assets, you can use the ClientObjectManager.RegisterSpawnHandler method, which allows callback functions to be registered for client-side spawning. See the documentation on Custom Spawn Functions for an example of this.

If the game object has a network state like synchronized variables, then that state is synchronized with the spawn message. In the following example, this script is attached to the tree Prefab:

using UnityEngine;
using Mirage;

public class Tree : NetworkBehaviour
{
[SyncVar]
public int numLeaves;

void Start()
{
Identity.OnStartClient.AddLisenter(OnStartClient);
}

public override void OnStartClient()
{
Debug.Log("Tree spawned with leaf count " + numLeaves);
}
}

With this script attached, you can change the numLeaves variable and modify the SpawnTrees function to see it accurately reflected on the client:

void SpawnTrees()
{
int x = 0;
for (int i = 0; i < 5; ++i)
{
GameObject treeGo = Instantiate(treePrefab, new Vector3(x++, 0, 0), Quaternion.identity);
Tree tree = treeGo.GetComponent<Tree>();
tree.numLeaves = Random.Range(10,200);
Debug.Log("Spawning leaf with leaf count " + tree.numLeaves);
ServerObjectManager.Spawn(treeGo);
}
}

Attach the Tree script to the treePrefab script created earlier to see this in action.

Constraints

  • A NetworkIdentity must be on the root game object of a spawnable Prefab. Without this, the Network Manager can’t register the Prefab.

Game Object Creation Flow

The actual flow of internal operations that takes place for spawning game objects is:

  • Prefab with Network Identity component is registered as spawnable.
  • A game object is instantiated from the Prefab on the server.
  • The game code sets initial values on the instance (note that 3D physics forces applied here do not take effect immediately).
  • ServerObjectManager.Spawn is called with the instance.
  • The state of the SyncVars on the instance on the server is collected by calling OnSerialize on [Network Behaviour] components.
  • A network message of the type ObjectSpawn is sent to connected clients that include the SyncVar data.
  • OnStartServer is called on the instance on the server, and IsServer is set to true
  • Clients receive the ObjectSpawn message and create a new instance from the registered Prefab.
  • The SyncVar data is applied to the new instance on the client by calling OnDeserialize on Network Behaviour components.
  • OnStartClient is called on the instance on each client, and IsClient is set to true
  • As game-play progresses, changes to SyncVar values are automatically synchronized to clients. This continues until the game ends.
  • ServerObjectManager.Destroy is called on the instance on the server.
  • A network message of the type ObjectDestroy is sent to clients.
  • OnNetworkDestroy is called on the instance on clients, then the instance is destroyed.

Player Game Objects

Player game objects in the HLAPI work slightly differently from non-player game objects. The flow for spawning player game objects with the Network Manager is:

  • Prefab with NetworkIdentity is registered as the PlayerPrefab
  • The client connects to the server
  • Client calls AddPlayer, network message of type MsgType.AddPlayer is sent to the server
  • The server receives the message and calls CharacterSpawner.OnServerAddPlayer
  • A game object is instantiated from the Player Prefab on the server
  • ServerObjectManager.AddCharacter is called with the new player instance on the server
  • The player instance is spawned - you do not have to call ServerObjectManager.Spawn for the player instance. The spawn message is sent to all clients like on a normal spawn.
  • A network message of type Owner is sent to the client that added the player (only that client!)
  • The original client receives the network message
  • OnStartLocalPlayer is called on the player instance on the original client, and IsLocalPlayer is set to true
note

OnStartLocalPlayer is called after OnStartClient, because it only happens when the ownership message arrives from the server after the player game object is spawned, so IsLocalPlayer is not set in OnStartClient.
+Because OnStartLocalPlayer is only called for the client’s local player game object, it is a good place to perform initialization that should only be done for the local player. This could include enabling input processing and enabling camera tracking for the player game object.

Spawning Game Objects with Client Authority

To spawn game objects and assign authority of those game objects to a particular client, use ServerObjectManager.Spawn, which takes as an argument the INetworkPlayer of the client that is to be made the authority.

For these game objects, the property HasAuthority is true on the client with authority, and OnStartAuthority is called on the client with authority. That client can issue Server RPCs for that game object. On other clients (and on the host), HasAuthority is false.

For example, the tree spawn example above can be modified to allow the tree to have client authority like this (note that we now need to pass in a Network Player game object for the owning client’s connection):

void SpawnTrees(INetworkPlayer player)
{
int x = 0;
for (int i = 0; i < 5; ++i)
{
GameObject treeGo = Instantiate(treePrefab, new Vector3(x++, 0, 0), Quaternion.identity);
Tree tree = treeGo.GetComponent<Tree>();
tree.numLeaves = Random.Range(10,200);
Debug.Log("Spawning leaf with leaf count " + tree.numLeaves);
ServerObjectManager.Spawn(treeGo, player);
}
}

The Tree script can now be modified to send a Server RPC Call to the server:

    public void ClientConnect()
{
ClientObjectManager.spawnPrefabs.Add(treePrefab);
NetworkClient.Connect("localhost");
NetworkClient.MessageHandler.RegisterHandler<ConnectMessage>(OnClientConnect);

NetworkClient.Player.Identity.OnAuthorityChanged.AddListener(OnStartAuthority);
}

public override void OnStartAuthority(bool changed)
{
CmdMessageFromTree("Tree with " + numLeaves + " reporting in");
}

[ServerRpc]
void CmdMessageFromTree(string msg)
{
Debug.Log("Client sent a tree message: " + msg);
}

Note that you can’t just add the CmdMessageFromTree call into OnStartClient, because at that point the authority has not been set yet, so the call would fail.

+ + + + \ No newline at end of file diff --git a/docs/guides/game-objects/spawn-player-custom/index.html b/docs/guides/game-objects/spawn-player-custom/index.html new file mode 100644 index 00000000000..fdb5bc389f2 --- /dev/null +++ b/docs/guides/game-objects/spawn-player-custom/index.html @@ -0,0 +1,18 @@ + + + + + + +Spawn Player - Custom | Mirage Networking + + + + +
+

Custom Character Spawning

note

Full scripts for this page can be found in the SpawnCustomPlayer sample in the package manager or on GitHub

Mirage comes with a CharacterSpawner which will automatically spawn a character object when a client connects.

Many games need character customization. You may want to pick the color of the hair, eyes, skin, height, race, etc.

In this case, you will need to create your own CharacterSpawner. Follow these steps:

1) Create your player prefabs (as many as you need) and add them to the Spawnable Prefabs in your ClientObjectManager. +2) Create a message that describes your player. For example:

public struct CreateMMOCharacterMessage
{
public Race race;
public string name;
public Color hairColor;
public Color eyeColor;
}

public enum Race
{
Human,
Elvish,
Dwarvish,
}

3) Create Player Spawner class and add it to some GameObject in your scene

public class CustomCharacterSpawner : MonoBehaviour
{
[Header("References")]
public NetworkClient Client;
public NetworkServer Server;
public ClientObjectManager ClientObjectManager;
public ServerObjectManager ServerObjectManager;

[Header("Prefabs")]
// Different prefabs based on the Race the player picks
public CustomCharacter HumanPrefab;
public CustomCharacter ElvishPrefab;
public CustomCharacter DwarvishPrefab;
}

4) Drag the NetworkClient and NetworkServer and Scene manager to the fields

5) Hook into events:

public void Start()
{
Client.Started.AddListener(OnClientStarted);
Client.Authenticated.AddListener(OnClientAuthenticated);
Server.Started.AddListener(OnServerStarted);
}

6) register the prefabs when the client starts

private void OnClientStarted()
{
// Make sure all prefabs are Register so mirage can spawn the character for this client and for other players
ClientObjectManager.RegisterPrefab(HumanPrefab.Identity);
ClientObjectManager.RegisterPrefab(ElvishPrefab.Identity);
ClientObjectManager.RegisterPrefab(DwarvishPrefab.Identity);
}

7) Send your message with your character data when your client connects, or after the user submits his preferences.

// You can send the message here if you already know
// everything about the character at the time of player
// or at a later time when the user submits his preferences
private void OnClientAuthenticated(INetworkPlayer player)
{
var mmoCharacter = new CreateMMOCharacterMessage
{
// populate the message with your data
name = "player user name",
race = Race.Human,
eyeColor = Color.red,
hairColor = Color.black,
};
player.Send(mmoCharacter);
}

8) Receive your message in the server and spawn the player

private void OnServerStarted()
{
// Wait for client to send us an AddPlayerMessage
Server.MessageHandler.RegisterHandler<CreateMMOCharacterMessage>(OnCreateCharacter);
}

private void OnCreateCharacter(INetworkPlayer player, CreateMMOCharacterMessage msg)
{
CustomCharacter prefab = GetPrefab(msg);

// Create your character object
// Use the data in msg to configure it
CustomCharacter character = Instantiate(prefab);

// Set syncVars before telling Mirage to spawn character
// This will cause them to be sent to client in the spawn message
character.PlayerName = msg.name;
character.hairColor = msg.hairColor;
character.eyeColor = msg.eyeColor;

// Spawn it as the character object
ServerObjectManager.AddCharacter(player, character.Identity);
}

private CustomCharacter GetPrefab(CreateMMOCharacterMessage msg)
{
// Get prefab based on race
CustomCharacter prefab;
switch (msg.race)
{
case Race.Human: prefab = HumanPrefab; break;
case Race.Elvish: prefab = ElvishPrefab; break;
case Race.Dwarvish: prefab = DwarvishPrefab; break;
// Default case to check that client sent valid race.
// The only reason it should be invalid is if the client's code was modified by an attacker
// Throw will cause the client to be kicked
default: throw new InvalidEnumArgumentException("Invalid race given");
}

return prefab;
}

Ready State

Out of date!

This is out of date and needs to be updated!

In addition to characters, players also have a "scene is ready" state. The server sends clients that are ready information about spawned game objects and state synchronization updates; clients which are not ready are not sent these updates.

When a client initially connects to a server, their SceneIsReady property will be true. However initial spawning will not happen until a character has been added or you manually tell the server to send spawned objects.

Once a client has completed all its pre-game setup, and all its Assets are loaded, it can send a character message. As seen in the example above this will tell the server to spawn the player's character using ServerObjectManager.AddCharacter. After the character is spawned mirage will automatically send a spawn message for the other spawned object to the client.

Switching Characters

To replace the character game object for a player, use ServerObjectManager.ReplaceCharacter. This is useful for having different game objects for the player at different times, such as in-game and a pregame lobby. The function takes the same arguments as AddCharacter, but allows there to already be a character for that player. The old character game object is not destroyed when ReplaceCharacter is called. The NetworkRoomManager uses this technique to switch from the NetworkRoomPlayer game object to a game-play player game object when all the players in the room are ready.

You can also use ReplaceCharacter to respawn a player or change the object that represents the player. In some cases, it is better to just disable a game object and reset its game attributes on respawn. The following code sample demonstrates how to replace the player game object with a new game object:

public class CustomCharacterSpawner : MonoBehaviour
{
public NetworkServer Server;
public ServerObjectManager ServerObjectManager;

public void Respawn(NetworkPlayer player, GameObject newPrefab)
{
// Cache a reference to the current character object
GameObject oldPlayer = player.Identity.gameObject;

var newCharacter = Instantiate(newPrefab);

// Instantiate the new character object and broadcast to clients
// NOTE: here we can use `keepAuthority: true` because we are calling Destroy on the old prefab immediately after.
ServerObjectManager.ReplaceCharacter(player, newCharacter, keepAuthority: true);

// Remove the previous character object that's now been replaced
Server.Destroy(oldPlayer);
}
}

Destroying Characters

Once the character is finished (eg game over, or player died) you can remove the character using ServerObjectManager.DestroyCharacter.

public void OnPlayerDeath(INetworkPlayer player)
{
ServerObjectManager.DestroyCharacter(player);
}

Alternatively, you can use ServerObjectManager.RemoveCharacter to remove it as the player's character without destroying it.

+ + + + \ No newline at end of file diff --git a/docs/guides/game-objects/spawn-player/index.html b/docs/guides/game-objects/spawn-player/index.html new file mode 100644 index 00000000000..f8fe8f78d4e --- /dev/null +++ b/docs/guides/game-objects/spawn-player/index.html @@ -0,0 +1,17 @@ + + + + + + +Spawn Player | Mirage Networking + + + + +
+

Player Game Objects

Mirage’s multiplayer HLAPI system handles player game objects differently than non-player game objects. When a new player joins the game (when a new client connects to the server), that player’s game object becomes a "local player" game object on the client of that player, and Unity associates the player’s connection with the player’s game object. Unity associates one player game object for each person playing the game, and routes networking Server RPC Calls to that individual game object. A player cannot invoke a Server RPC Call on another player’s game object, only their own.

The NetworkBehaviour class (which you derive from to create your network scripts) has a property called IsLocalPlayer. On each client’s player game object, Mirage sets that property to true on the NetworkBehaviour script and invokes the OnStartLocalPlayer callback on the object's NetworkIdentity. This means each client has a different game object set up like this because on each client a different game object is the one that represents the local player. The diagram below shows two clients and their local players.

In this diagram, the circles represent the player game objects marked as the local player on each client

Only the player game object that is "yours" (from your point of view as the player) has the IsLocalPlayer flag set. Usually, you should set this flag in the script to determine whether to process input, whether to make the camera track the game object or do any other client-side things that should only occur for the player belonging to that client.

Player game objects represent the player (that is, the person playing the game) on the server, and run Server RPC Calls from the player’s client. These Server RPC Calls are secure client-to-server remote procedure calls. In this server-authoritative system, other non-player server-side game objects cannot receive Server RPC Calls directly from client-side game objects. This is both for security, and to reduce the complexity of building your game. By routing all incoming Server RPC Calls from users through the player game object, you can ensure that these messages come from the right place, the right client, and can be handled in a central location.

The CharacterSpawner component adds a player every time a client connects to the server. In some situations though, you might want it not to add players until an input event happens - such as a user pressing a “start” button on the controller. To disable automatic player creation, you may want to write your own CharacterSpawner component and wait for the AddPlayerMessage message to be sent from the client.

+ + + + \ No newline at end of file diff --git a/docs/guides/mirror-migration/index.html b/docs/guides/mirror-migration/index.html new file mode 100644 index 00000000000..b1c1e51af20 --- /dev/null +++ b/docs/guides/mirror-migration/index.html @@ -0,0 +1,17 @@ + + + + + + +Mirror Migration Guide | Mirage Networking + + + + +
+

Mirror Migration Guide

This is a simple guide describing how to convert your Mirror project to Mirage.

Namespace

First of all, Mirror namespace needs to be changed to Mirage. So in your code, replace all:

using Mirror;

with

using Mirage;

Components

Many roles that NetworkManager fulfilled in Mirror were split into multiple simpler components in Mirage, such as NetworkClient, NetworkServer, and NetworkSceneManager. Those classes are no longer static singletons, they are MonoBehaviours instead, so you need to add them to your scene and reference them. NetworkManager in Mirage only serves as a reference holder for server and client.

tip

The easiest way to get started is to right-click in the Hierarchy > Network > NetworkManager. This will create a GameObject with all the necessary components and references already set up.

Accessing Mirage components from NetworkBehaviour

Despite Mirage removing all static states, you can still access the important networking components from within NetworkBehaviour easily. This table shows how to access different components in comparison to Mirror:

Mirror (static)Mirage (property of NetworkBehaviour)
NetworkServerServer
NetworkClientClient
NetworkTimeNetworkTime
doesn't existClientObjectManager
doesn't existServerObjectManager

Network Events Lifecycle

Lifecycle management is no longer based on overrides. Instead, there are many UnityEvents that can be hooked into without direct coupling. They can also be used to hook callbacks via Unity Inspector.

tip

This guide only shows the Mirror counterpart events, but Mirage has more events available, so be sure to check them out as they might be useful.

Server and client events

The table below shows the override method names from Mirror's NetworkManager and the corresponding events from Mirage.

Mirror (override)Mirage (event)
OnStartServerNetworkServer.Started
OnServerConnectNetworkServer.Authenticated
OnServerDisconnectNetworkServer.Disconnected
OnStopServerNetworkServer.Stopped
OnClientConnectNetworkClient.Authenticated
OnClientDisconnectNetworkClient.Disconnected

For example, this code from Mirror:

using Mirror;

public class MyNetworkManager : NetworkManager
{
public override void OnStartServer()
{
// Server started
}

public override void OnServerConnect(NetworkConnection conn)
{
// Client connected and authenticated on server
}

public override void OnStopServer()
{
// Server stopped
}

public override void OnStartClient()
{
// Client started
}

public override void OnClientConnect(NetworkConnection conn)
{
// Client connected and authenticated
}

public override void OnClientDisconnect(NetworkConnection conn)
{
// Client disconnected
}
}

should be changed to:

using Mirage;

public class MyNetworkManager : NetworkManager
{
void Awake()
{
Server.Started.AddListener(OnStartServer);
Server.Authenticated.AddListener(OnServerConnect);
Server.Stopped.AddListener(OnStopServer);
Client.Started.AddListener(OnClientStarted);
Client.Authenticated.AddListener(OnClientConnect);
Client.Disconnected.AddListener(OnClientDisconnected);
}

void OnStartServer()
{
// Server started
}

void OnServerConnect(INetworkPlayer conn)
{
// Client connected (and authenticated) on server
}

void OnStopServer()
{
// Server stopped
}

void OnClientStarted()
{
// Client started
}

void OnClientConnect(INetworkPlayer conn)
{
// Client connected
}

void OnClientDisconnected(ClientStoppedReason reason)
{
// Client disconnected
}
}

NetworkBehaviour events

The table below shows the Mirror's NetworkBehaviour override method names on the left and the Mirage events on the right.

Mirror (override)Mirage (event)
OnStartServerIdentity.OnStartServer
OnStopServerIdentity.OnStopServer
OnStartClientIdentity.OnStartClient
OnStopClientIdentity.OnStopClient
OnStartLocalPlayerIdentity.OnStartLocalPlayer
OnStartAuthorityIdentity.OnAuthorityChanged
OnStopAuthorityIdentity.OnAuthorityChanged

Let's take this Player class as an example. In Mirror, you would do:

using Mirror;

public class Player : NetworkBehaviour
{
public override void OnStartServer()
{
// Player started on server
}

public override void OnStartClient()
{
// Player started on client
}
}

Which should be changed like so in Mirage:

using Mirage;

public class Player : NetworkBehaviour
{
void Awake()
{
Identity.OnStartServer.AddListener(OnStartServer);
Identity.OnStartClient.AddListener(OnStartClient);
}

void OnStartServer()
{
// Player started on server
}

void OnStartClient()
{
// Player started on client
}
}
note

Please note that due to timing all event callbacks should be registered in Awake method or via Unity inspector for them to be invoked consistently.

Method Attributes

The table below shows the new attribute names in Mirage.

MirrorMirage
[Command][ServerRpc]
[TargetRpc][ClientRpc(target = Mirage.RpcTarget enum)]
[ServerCallback][Server(error = false)]
[ClientCallback][Client(error = false)]
doesn't exist[HasAuthority(error = false)]
doesn't exist[LocalPlayer(error = false)]

Renames

These fields/properties have been renamed:

MirrorMirage
ClientScene.localPlayerNetworkPlayer.Identity
ClientScene.readyClient.Player.SceneIsReady
NetworkIdentity.assetIdNetworkIdentity.PrefabHash
NetworkIdentity.netIdNetworkIdentity.NetId
NetworkIdentity.connectionToClientNetworkIdentity.Owner
NetworkBehaviour.isServerNetworkBehaviour.IsServer
NetworkBehaviour.connectionToClientNetworkBehaviour.Owner
NetworkBehaviour.connectionToServerRemoved, use Client.Player instead
NetworkBehaviour.hasAuthorityNetworkBehaviour.HasAuthority
NetworkBehaviour.IdentityNetworkBehaviour.Identity
NetworkBehaviour.netIdNetworkBehaviour.NetId
NetworkBehaviour.isClientOnlyNetworkBehaviour.IsClientOnly
NetworkBehaviour.islocalPlayerNetworkBehaviour.IsLocalPlayer
NetworkConnection.isReadyNetworkPlayer.SceneIsReady
NetworkConnection.identityNetworkPlayer.Identity
NetworkServer.activeNetworkServer.Active
NetworkServer.localConnectionNetworkServer.LocalPlayer
NetworkClient.connectionNetworkClient.Player
NetworkTime.timeNetworkTime.Time

Object Management

Registered spawnable prefabs were moved from NetworkManager to the ClientObjectManager component. You can use the Inspector to register all NetworkIdentities via a single click.

Spawning and destroying

Table below shows how to spawn objects in Mirage from NetworkBehaviour:

MirrorMirage
NetworkServer.SpawnServerObjectManager.Spawn
NetworkServer.DestroyServerObjectManager.Destroy
+ + + + \ No newline at end of file diff --git a/docs/guides/network-visibility/index.html b/docs/guides/network-visibility/index.html new file mode 100644 index 00000000000..e49abdacb79 --- /dev/null +++ b/docs/guides/network-visibility/index.html @@ -0,0 +1,18 @@ + + + + + + +Network Visibility | Mirage Networking + + + + +
+

Network Visibility

Multiplayer games use the concept of network visibility to determine which players can see which game objects at any given time during gameplay. In a game that has a moving viewpoint and moving game objects, it’s common that players cannot see everything that is happening in the game at once.

If a particular player, at a certain point in time during gameplay, cannot see most of the other players, non-player characters, or other moving or interactive things in your game, there is usually no need for the server to send information about those things to the player’s client.

This can benefit your game in two ways:

  • It reduces the amount of data sent across the network between players. This can help improve the responsiveness of your game and reduce bandwidth use. The bigger and more complex your multiplayer game, the more important this issue is.
  • It also helps prevent some cheating. Since a player client does not have information about things that can’t be seen, +a hack on that player’s computer cannot reveal the information.

The idea of "visibility" in the context of networking doesn’t necessarily relate to whether game objects are directly visible on-screen. Instead, it relates to whether data should or shouldn’t be sent about the game object in question to a particular client. Put simply, if a client can't 'see' a game object, it does not need to be sent information about that game object across the network. Ideally, you want to limit the amount of data you are sending across the network to only what is necessary because sending large amounts of unnecessary data across the network can cause network performance problems.

However, it can also be resource intensive or complex to determine accurately whether a game object is truly visible to a given player, so it’s often a good idea to use a more simple calculation to determine whether a player should be sent networked data about it - i.e. whether it is 'Network Visible'. The balance you want to achieve when considering this is between the cost of the complexity of the calculation for determining the visibility and the cost of sending more information than necessary over the network. A very simple way to calculate this is a distance (proximity) check, and Mirage provides a built-in component for this purpose.

Network Proximity Checker Component

Mirage’s Network Proximity Checker component is the simplest way to implement network visibility for players. It works in conjunction with the physics system to determine whether game objects are close enough (that is, "visible" to send network messages in your multiplayer game).

Network Scene Checker Component

Mirage's Network Scene Checker component can be used to isolate players and networked objects on the server in additive scene instances.

Network Visibility on Remote Clients

When a player on a remote client joins a networked game, only game objects that are network-visible to the player will be spawned on that remote client. This means that even if the player enters a large world with many networked game objects, the game can start quickly because it does not need to spawn every game object that exists in the world. Note that this applies to networked game objects in your scene, but does not affect the loading of Assets. Unity still takes time to load the Assets for registered Prefabs and Scene game objects.

When a player moves within the world, the set of network-visible game objects changes. The player’s client is told about these changes as they happen. The ObjectHide message is sent to clients when a game object becomes no longer network-visible. By default, Mirage destroys the game object when it receives this message. When a game object becomes visible, the client receives an ObjectSpawn message, as if Mirage has spawned the game object for the first time. By default, the game object is instantiated like any other spawned game object.

Network Visibility on the Host

The host shares the same Scene as the server because it acts as both the server and the client to the player hosting the game. For this reason, it cannot destroy game objects that are not visible to the local player.

Instead, there is the virtual method OnSetLocalVisibility in the NetworkVisibility class that is invoked. This method is invoked on all scripts that inherit from NetworkVisibility on game objects that change the visibility state on the host.

The default implementation of OnSetLocalVisibility disables or enables all renderer components on the game object. If you want to customize this implementation, you can override the method in your script, and provide new behavior for how the host (and therefore the local client) should respond when a game object becomes network-visible or invisible (such as disabling HUD elements or renderers).

Customizing Network Visibility

Sometimes you might want to use other kinds of visibility checks, such as grid-based rules, line-of-sight tests, navigation path tests, or any other type of test that suits your game.

It may be helpful to understand how the Network Proximity Checker works.

The Network Proximity Checker is implemented using the public visibility interface of Mirage’s HLAPI. Using this same interface, you can implement any kind of visibility rules you desire. Each NetworkIdentity keeps track of the set of players that it is visible to. The players that a NetworkIdentity game object is visible to are called the “observers” of the NetworkIdentity.

The Network Proximity Checker calls the RebuildObservers method on the Network Identity component at a fixed interval (set using the “Vis Update Interval” value in the inspector), so that the set of network-visible game objects for each player is updated as they move around.

In the NetworkVisibility class (which your custom observer scripts inherit from), there are some virtual functions for determining visibility. These are:

  • OnCheckObserver
    This method is called on the server, on each networked game object when a new player enters the game. If it returns true, that player is added to the object’s observers. The Network Proximity Checker does a simple distance check in its implementation of this function and uses Physics.OverlapSphereNonAlloc to find the players that are within the visibility distance for this object.
  • OnRebuildObservers
    This method is called on the server when RebuildObservers is invoked. This method expects the set of observers to be populated with the players that can see the object. The NetworkServer then handles sending ObjectHide and ObjectSpawn messages based on the differences between the old and new visibility sets.
  • OnSetHostVisibility
    This method is called on the server by the visibility system for objects on a host. Objects on a host (with a local client) cannot be disabled or destroyed when they are not visible to the local client. So this function is called to allow custom code to hide these objects. A typical implementation will disable renderer components on the object. This is only called on local clients on a host.

You can check whether any given networked game object is a player by checking if its NetworkIdentity has a valid Owner. For example:

int hitCount = Physics.OverlapSphereNonAlloc(transform.position, visRange, hitsBuffer3D, castLayers);

for (int i = 0; i < hitCount; i++)
{
Collider hit = hitsBuffer3D[i];

NetworkIdentity identity = hit.GetComponent<NetworkIdentity>();

if (identity != null && identity.Owner != null)
observers.Add(identity.Owner);
}
+ + + + \ No newline at end of file diff --git a/docs/guides/overview/index.html b/docs/guides/overview/index.html new file mode 100644 index 00000000000..5a8d981b341 --- /dev/null +++ b/docs/guides/overview/index.html @@ -0,0 +1,17 @@ + + + + + + +Networking Concepts Overview | Mirage Networking + + + + +
+

Networking Concepts Overview

High-level scripting API

Mirage’s networking has a "high-level" scripting API (which we’ll refer to as the HLAPI). Using this means you get access to commands which cover most of the common requirements for multiuser games without needing to worry about the "lower level" implementation details. The HLAPI allows you to:

  • Control the networked state of the game using a "Network Manager"
  • Operate "client hosted" games, where the host is also a player client
  • Serialize data using a general-purpose serializer
  • Send and receive network messages
  • Send networked commands from clients to servers
  • Make remote procedure calls (RPCs) from servers to clients
  • Send networked events from servers to clients

Engine and Editor integration

Mirage’s networking is integrated into the engine and the editor, allowing you to work with components and visual aids to build your multiplayer game. It provides:

  • A NetworkIdentity component for networked objects
  • A NetworkBehaviour for networked scripts
  • Configurable automatic synchronization of object transforms
  • Automatic synchronization of script variables
  • Support for placing networked objects in Unity scenes
  • Network components
+ + + + \ No newline at end of file diff --git a/docs/guides/remote-actions/client-rpc/index.html b/docs/guides/remote-actions/client-rpc/index.html new file mode 100644 index 00000000000..4524861e9d5 --- /dev/null +++ b/docs/guides/remote-actions/client-rpc/index.html @@ -0,0 +1,17 @@ + + + + + + +Client RPC | Mirage Networking + + + + +
+

Client RPC

ClientRpcs are sent from NetworkBehaviours on the server to Behaviours on the client. They can be sent from any NetworkBehaviour that has been spawned.

To make a function into a ClientRpc add [ClientRpc] directly above the function.

[ClientRpc]
public void MyRpcFunction()
{
// Code to invoke on client
}

ClientRpc functions can't be static and must return void.

RpcTarget

There are 3 target modes for ClientRpc:

  • Observers (default)
  • Owner
  • Player

RpcTarget.Observers

This is the default target.

This will send the RPC message to only the observers of an object according to its Network Visibility. If there is no Network Visibility on the object it will send to all players.

RpcTarget.Owner

This will send the RPC message to only the owner of the object.

RpcTarget.Player

This will send the RPC message to the NetworkPlayer that is passed into the call.

[ClientRpc(target = RpcTarget.Player)]
public void MyRpcFunction(NetworkPlayer target)
{
// Code to invoke on client
}

Mirage will use the NetworkPlayer target to know where to send it, but it will not send the target value. Because of this, its value will always be null for the client.

Exclude owner

You may want to exclude the owner client when calling a ClientRpc. This is done with the excludeOwner option: [ClientRpc(excludeOwner = true)].

Channel

RPC can be sent using either the Reliable or Unreliable channels. [ClientRpc(channel = Channel.Reliable)]

Returning values

ClientRpcs can return values only if RpcTarget is Player or Owner. It can take a long time for the client to reply, so they must return a UniTask which the server can await.

To return a value, add a return value using UniTask<MyReturnType> where MyReturnType is any supported Mirage type. In the client, you can make your method async, or you can use UniTask.FromResult(myResult);. For example:

public class SelectCharacter : NetworkBehaviour
{
// need to target owner so that we can reply to them
[ClientRpc(target = RpcTarget.Owner)]
public UniTask<string> GetCharacter()
{
// return the name of the character that the user selected
return UniTask.FromResult("myCharacter");
}

[Client]
public async UniTaskVoid WaitForPlayerToSelectCharacter()
{
// Call the RPC and wait for the response without blocking the main thread
var characterName = await GetCharacter();

Debug.Log($"Selected Character {characterName}");
}
}

Examples

public class Player : NetworkBehaviour
{
private int health;

public void TakeDamage(int amount)
{
if (!IsServer)
{
return;
}

health -= amount;
Damage(amount);
}

[ClientRpc]
private void Damage(int amount)
{
Debug.Log("Took damage:" + amount);
}
}

When running a game as a host with a local client, ClientRpc calls will be invoked on the local client even though it is in the same process as the server. So the behaviors of local and remote clients are the same for ClientRpc calls.

You can also specify which client gets the call with the target parameter.

If you only want the client that owns the object to be called, use [ClientRpc(target = RpcTarget.Owner)] or you can specify which client gets the message by using [ClientRpc(target = RpcTarget.Player)] and passing the player as a parameter. For example:

public class Player : NetworkBehaviour
{
private int health;

[Server]
private void Magic(GameObject target, int damage)
{
target.GetComponent<Player>().health -= damage;

NetworkIdentity opponentIdentity = target.GetComponent<NetworkIdentity>();
DoMagic(opponentIdentity.Owner, damage);
}

[ClientRpc(target = RpcTarget.Player)]
public void DoMagic(INetworkPlayer target, int damage)
{
// This will appear on the opponent's client, not the attacking player's
Debug.Log($"Magic Damage = {damage}");
}

[Server]
private void HealMe()
{
health += 10;
Healed(10);
}

[ClientRpc(target = RpcTarget.Owner)]
public void Healed(int amount)
{
// No NetworkPlayer parameter, so it goes to owner
Debug.Log($"Health increased by {amount}");
}
}
+ + + + \ No newline at end of file diff --git a/docs/guides/remote-actions/index.html b/docs/guides/remote-actions/index.html new file mode 100644 index 00000000000..9fc6a3bdd28 --- /dev/null +++ b/docs/guides/remote-actions/index.html @@ -0,0 +1,17 @@ + + + + + + +Overview | Mirage Networking + + + + +
+

Remote Actions Overview

To invoke code across the network you can use RPC (remote procedure call) and messages.

RPC stands for Remote Procedure Calls. They can be used inside NetworkBehaviours to tell either the client or server to do an action. For example, the client sends an RPC to the server to update the player's name.

There are 3 types of RPC:

  • Client Rpc | Called on the server, invoked on the client
  • Server Rpc | Called on the client, invoked on server, can have return values
  • Network Messages | Calls on either the server/client and require a handler to be registered

Mirage uses Network messages for sending everything, this includes Spawning, RPC, and SyncVars. Network message serialized into bytes then sent over the network.

Network Message can be used to send data or invoke actions without a NetworkBehaviour. For example, sending character select information before the player's character is spawned.

The diagram below shows the directions that remote actions take:

note

"Commands" is the previous name for "ServerRpc"

Data Flow Graph

Arguments to Remote Actions

Mirage serializes RPC arguments to send them over the network. You can use any supported Mirage type.

There are limits to what can be arguments. GameObject, NetworkIdentity, and NetworkBehaviour can be sent because they have a Network ID. But, Mirage can't send other Unity Objects by itself because it will have no way to find them on the other side.

It is also possible to create serializer functions for unsupported types. You can find out more information here.

+ + + + \ No newline at end of file diff --git a/docs/guides/remote-actions/network-messages/index.html b/docs/guides/remote-actions/network-messages/index.html new file mode 100644 index 00000000000..68f4017ec7e --- /dev/null +++ b/docs/guides/remote-actions/network-messages/index.html @@ -0,0 +1,17 @@ + + + + + + +Network Messages | Mirage Networking + + + + +
+

Network Messages

For the most part, we recommend the high-level ServerRpc/ClientRpc calls and SyncVar, but you can also send low-level network messages. This can be useful if you want clients to send messages that are not tied to game objects, such as logging, analytics, or profiling information.

Usage

  1. Define a new struct (rather than a class to prevent GC allocations) that will represent your message.
  2. Add any supported Mirage types as public fields of that struct. This will be the data you want to send.
  3. Register a handler for that message on the NetworkServer and/or NetworkClient's MessageHandler depending on where you want to listen for that message being received.
  4. Use the Send() method on the NetworkClient, NetworkServer, or NetworkPlayer classes depending on which way you want to send the message.

Example

// optional: add NetworkMessage attribute so that it is easier for Mirage to find
[NetworkMessage]
// using structs to prevent GC allocations
public struct ScoreMessage
{
public int score;
public Vector3 scorePos;
public int lives;
}

public class Scores : MonoBehaviour
{
// attach these in the inspector
public NetworkServer Server;
public NetworkClient Client;

private void Awake()
{
Client.Started.AddListener(ClientStarted);
}

private void ClientStarted()
{
// Register Client to listen for the ScoreMessage
Client.MessageHandler.RegisterHandler<ScoreMessage>(OnScore);
}


private void OnScore(INetworkPlayer player, ScoreMessage msg)
{
Debug.Log("ScoreMessage received on client with score " + msg.score);
}

// Send from server
public void SendScore(int score, Vector3 scorePos, int lives)
{
var msg = new ScoreMessage()
{
score = score,
scorePos = scorePos,
lives = lives
};

// also send to host player so we can update ui
Server.SendToAll(msg, authenticatedOnly: true, excludeLocalPlayer: false);
}
}

Note that there is no serialization code for the ScoreMessage struct in this source code example. Mirage will generate a reader and writer for ScoreMessage when it sees that it is being sent.

+ + + + \ No newline at end of file diff --git a/docs/guides/remote-actions/rpc-examples/index.html b/docs/guides/remote-actions/rpc-examples/index.html new file mode 100644 index 00000000000..f5d8de77558 --- /dev/null +++ b/docs/guides/remote-actions/rpc-examples/index.html @@ -0,0 +1,17 @@ + + + + + + +RPC Examples | Mirage Networking + + + + +
+

RPC Examples

Examples of RPC and generated code.

Example 1

Set a player's name from a client and have it synced to other players.

public class Player : NetworkBehaviour
{
[SyncVar]
public string PlayerName;

[ServerRpc]
public void RpcChangeName(string newName)
{
PlayerName = newName;
}
}

Generated code

Weaver moves the user code into a new function and then replaces the body of the RPC with an internal send call.

RPCs are registered using the classes static constructor with methods that will read all the parameters and then invoke the user code method.

public class Player : NetworkBehaviour
{
[SyncVar]
public string PlayerName;

[ServerRpc]
public void RpcChangeName(string newName)
{
if (this.IsServer)
{
UserCode_RpcChangeName_123456789(newName);
}
else
{
using (PooledNetworkWriter writer = NetworkWriterPool.GetWriter())
{
writer.WriteString(newName);
ServerRpcSender.Send(this, 123456789, writer, 0, true);
}
}
}

public void UserCode_RpcChangeName_123456789(string newName)
{
PlayerName = newName;
}

protected void Skeleton_RpcChangeName_123456789(NetworkReader reader, INetworkPlayer senderConnection, int replyId)
{
this.UserCode_RpcChangeName_123456789(reader.ReadString());
}

public Player()
{
this.remoteCallCollection.Register(0, typeof(Player), "Player.RpcChangeName", RpcInvokeType.ServerRpc, new CmdDelegate(Skeleton_RpcChangeName), true);
}

protected override int GetRpcCount()
{
return 1;
}
}
+ + + + \ No newline at end of file diff --git a/docs/guides/remote-actions/server-rpc/index.html b/docs/guides/remote-actions/server-rpc/index.html new file mode 100644 index 00000000000..cd0d89aca05 --- /dev/null +++ b/docs/guides/remote-actions/server-rpc/index.html @@ -0,0 +1,18 @@ + + + + + + +Server RPC | Mirage Networking + + + + +
+

Server RPC

Server RPC Calls are sent from character objects on the client to character objects on the server. For security, Server RPC Calls can only be sent from YOUR character object by default, so you cannot control the objects of other players. You can bypass the authority check using [ServerRpc(requireAuthority = false)].

To make a function into a Server RPC call, add the [ServerRpc] custom attribute to it. This function will now be run on the server when it is called on the client. Any parameters of the allowed data types will be automatically passed to the server with the Server RPC Call.

Server RPC Calls functions cannot be static.

public class Player : NetworkBehaviour
{
// Assigned in inspector
public GameObject cubePrefab;

private void Update()
{
if (!IsLocalPlayer)
{
return;
}

if (Input.GetKey(KeyCode.X))
{
DropCube();
}
}

[ServerRpc]
private void DropCube()
{
if (cubePrefab != null)
{
Vector3 spawnPos = transform.position + transform.forward * 2;
Quaternion spawnRot = transform.rotation;
GameObject cube = Instantiate(cubePrefab, spawnPos, spawnRot);
NetworkServer.Spawn(cube);
}
}
}
caution

Be careful of sending ServerRpcs from the client every frame! This can cause a lot of network traffic.

Returning values

ServerRpcs can return values. It can take a long time for the server to reply, so they must return a UniTask which the client can await. +To return a value, add a return value using UniTask<MyReturnType> where MyReturnType is any supported Mirage type. In the server, you can make your method async, or you can use UniTask.FromResult(myResult);. For example:

public class Shop : NetworkBehaviour
{
[ServerRpc]
public UniTask<int> GetPrice(string item)
{
// do some loop up to get the price of some item
// this can be from a database, or settings file or whatever
switch (item)
{
case "turnip":
return UniTask.FromResult(10);
case "apple":
return UniTask.FromResult(3);
default:
return UniTask.FromResult(int.MaxValue);
}
}

[Client]
public async UniTaskVoid DisplayTurnipPrice()
{
// Call the RPC and wait for the response without blocking the main thread
var price = await GetPrice("turnip");
Debug.Log($"Turnips price {price}");
}
}

ServerRpc and Authority

It is possible to invoke ServerRpcs on non-character objects if any of the following are true:

  • The object was spawned with client authority
  • The object has client authority set with NetworkIdentity.AssignClientAuthority
  • the Server RPC Call has the requireAuthority option set false.
    • You can include an optional INetworkPlayer sender = null parameter in the Server RPC Call method signature and Mirage will fill in the sending client for you.
    • Do not try to set a value for this optional parameter...it will be ignored.

Server RPC Calls sent from these objects are run on the server instance of the object, not on the associated character object for the client.

public enum DoorState : byte
{
Open, Closed
}

public class Door : NetworkBehaviour
{
[SyncVar]
public DoorState doorState;

[ServerRpc(requireAuthority = false)]
public void CmdSetDoorState(DoorState newDoorState, INetworkPlayer sender = null)
{
if (sender.identity.GetComponent<Player>().hasDoorKey)
{
doorState = newDoorState;
}
}
}
+ + + + \ No newline at end of file diff --git a/docs/guides/resources/index.html b/docs/guides/resources/index.html new file mode 100644 index 00000000000..5bac9720f84 --- /dev/null +++ b/docs/guides/resources/index.html @@ -0,0 +1,17 @@ + + + + + + +Resources | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/guides/scene-loading/index.html b/docs/guides/scene-loading/index.html new file mode 100644 index 00000000000..c439b74721e --- /dev/null +++ b/docs/guides/scene-loading/index.html @@ -0,0 +1,17 @@ + + + + + + +Loading scenes in Mirage | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/guides/scene-loading/manual-scene-loading/index.html b/docs/guides/scene-loading/manual-scene-loading/index.html new file mode 100644 index 00000000000..3597b6b4116 --- /dev/null +++ b/docs/guides/scene-loading/manual-scene-loading/index.html @@ -0,0 +1,17 @@ + + + + + + +Manual Scene Loading | Mirage Networking + + + + +
+

Manual Scene Loading

If NetworkSceneManager doesn't work for your case you can control everything yourself.

Using Messages

These messages are built-in and used by NetworkSceneManager. If you are creating your own scene logic then you can re-use these messages for your purpose.

Loading a Scene

Server

  1. Mark Player as not ready, using NetworkPlayer.SceneIsReady
  2. Send SceneMessage to clients

If the scene is already loaded on server, skip steps 3/4. This might be the case if you are loading a scene for a player that joins late.

  1. Load the scene on server
  2. Call ServerObjectManager.SpawnSceneObjects (This will tell Mirage to call Spawn on unspawned Scene objects)

Client

After receiving SceneMessage

  1. (optional) Mark local player as not ready
  2. Load the scene on client

After loading finished

  1. Call ClientObjectManager.PrepareToSpawnSceneObjects (This will tell Mirage about any new scene objects)
  2. (optional) Mark local player as ready
  3. Send SceneReadyMessage to the server

Server

After receiving SceneReadyMessage

  1. Mark the player as ready using: player.SceneIsReady = true
  2. Call ServerObjectManager.SpawnVisibleObjects or ServerObjectManager.AddCharacter (Mirage will send spawn message to client)

SpawnVisibleObjects vs AddCharacter

When calling SpawnVisibleObjects it will only spawn objects if the player has a character. This check can be avoided by using the IgnoreHasCharacter argument.

When AddCharacter is called it will send a spawn message for the new character to the client. After that, it will call SpawnVisibleObjects to spawn any objects that are visible to the new character.

If your game has a player character you'll want to use AddCharacter most of the time. But if your game does not have a player character or you want to spawn objects earlier then you should use SpawnVisibleObjects with IgnoreHasCharacter set up true.

You can also use SpawnVisibleObjects(player, true) to spawn scene objects before the player character by calling it before AddCharacter.

note

Make sure to call ClientObjectManager.PrepareToSpawnSceneObjects client side before calling SpawnVisibleObjects or AddCharacter. If that function is not called the client will not be able to find scene objects when spawn messages are received.

Host mode

If using this setup in Host mode make sure you only load the Scene once, this can be done by checking if the server is active before loading the scene on the client.

The rest of the setup should stay the same. In host mode, there will be 2 copies of the NetworkPlayer one for the client-side and one for the server-side. When using player.SceneIsReady you will need to make sure you are setting it on both copies of the player. The easiest way to do this is just to treat the host client as a normal client and send the message, but be aware of any functions you don't want to be called twice.

+ + + + \ No newline at end of file diff --git a/docs/guides/scene-loading/network-scene-manager/index.html b/docs/guides/scene-loading/network-scene-manager/index.html new file mode 100644 index 00000000000..71e1cd920d1 --- /dev/null +++ b/docs/guides/scene-loading/network-scene-manager/index.html @@ -0,0 +1,20 @@ + + + + + + +Network Scene Manager | Mirage Networking + + + + +
+

Using Network Scene Manager

NetworkSceneManager contains methods and logic to help keep the scene in sync between server and client.

Work In Progress

This page is a work in progress

How to use

The Network Scene Manager takes care of most of the grunt work that is needed to load unload and network scenes between server and client. The examples below show exactly how to use +the network scene manager.

Load Scene Normally

This will load up a new scene on the server and tell all current player's loaded on the server to load the scene up.

public class LoadScene : MonoBehaviour
{
public void Start()
{
NetworkSceneManager sceneManager = GetComponent<NetworkSceneManager>();

sceneManager.ServerLoadSceneNormal("path to scene asset file.")
}
}
note

If you require physics scenes to load up on the server you can override the default parameter like so.

sceneManager.ServerLoadSceneNormal("path to scene asset file.", new LoadSceneParameters { loadSceneMode = LoadSceneMode.Normal, localPhysicsMode = LocalPhysicsMode.Physics2D });

Load Scene Additively

This will load a scene additively on the server and tell specific clients to do the same. Example shows send to everyone.

public class LoadSceneAdditively : MonoBehaviour
{
public void Start()
{
NetworkSceneManager sceneManager = GetComponent<NetworkSceneManager>();

sceneManager.ServerLoadSceneAdditively("path to scene asset file.", sceneManager.Server.Players)
}
}
note

If you want to send the additive scene to only specific players we can do it like so. You must get the player on your own.

sceneManager.ServerLoadSceneAdditively("path to scene asset file.", Player)
note

Also if you want to load the scene normally to specific players versus additively like the server you can override the parameter to do so also. The server will still +load additively, the reason is if you need fully normal loading you can use the above method instead to do it.

sceneManager.ServerLoadSceneAdditively("path to scene asset file.", Player, true)
note

Also if you want to load the scene in physic's mode you can override another parameter also to do so. You can also make clients load normally in the example below we keep it false to load +the client side additively too.

sceneManager.ServerLoadSceneAdditively("path to scene asset file.", Player, false, new LoadSceneParameters { loadSceneMode = LoadSceneMode.Additively, localPhysicsMode = LocalPhysicsMode.Physics2D )

This will unload a scene additively on the server and tell specific clients to do the same. Example shows send to everyone.

public class UnLoadSceneAdditively : MonoBehaviour
{
public void Start()
{
NetworkSceneManager sceneManager = GetComponent<NetworkSceneManager>();

sceneManager.ServerUnloadSceneAdditively("path to scene asset file.", sceneManager.Server.Players)
}
}
note

If you want to send the additive scene to only specific players we can do it like so. You must get the player on your own.

sceneManager.ServerLoadSceneAdditively("path to scene asset file.", Player)

Virtual Methods

Some of the methods in NetworkSceneManager can be overridden to customize how it works

  • Start
  • OnDestroy
  • ClientStartSceneMessage
  • ClientFinishedLoadingSceneMessage
  • ClientNotReadyMessage
  • OnServerAuthenticated
  • OnServerPlayerDisconnected

Example - OnServerAuthenticated

By default OnServerAuthenticated sends the active scene and all additive scenes to the client, It can be overridden to only send the active scene:

public class MySceneManager : NetworkSceneManager
{
protected internal override void OnServerAuthenticated(INetworkPlayer player)
{
// just load server's active scene instead of all additive scenes as well
player.Send(new SceneMessage { MainActivateScene = ActiveScenePath });
player.Send(new SceneReadyMessage());
}
}

Example - Start

By default, Start registers all our listeners for scene management handling. If you need to override it then do this and add your stuff.

public class MySceneManager : NetworkSceneManager
{
protected internal override void Start()
{
// add your stuff before.

base.Start();

// add your stuff after.
}
}

Example - OnDestroy

By default OnDestroy de-registers all our listener's for scene management handling. If you need to override it then do this and add your stuff.

public class MySceneManager : NetworkSceneManager
{
protected internal override void OnDestroy()
{
// add your stuff before.

base.OnDestroy();

// add your stuff after.
}
}
+ + + + \ No newline at end of file diff --git a/docs/guides/serialization/advanced/index.html b/docs/guides/serialization/advanced/index.html new file mode 100644 index 00000000000..3ae9b6c843a --- /dev/null +++ b/docs/guides/serialization/advanced/index.html @@ -0,0 +1,27 @@ + + + + + + +Advanced Serialization | Mirage Networking + + + + +
+

Advanced Serialization

This page goes into depth about Serialization, for the basics see Data Types.

Mirage creates Serialize and Deserialize functions for types using Weaver. Weaver edits the dll after unity compiles +them using Mono.Cecil. This allows Mirage to have a lot of complex features like +SyncVar, ClientRpc, and Message Serialization without the user needing to manually set everything up.

Rules And Tips

There are some rules and limits for what Weaver can do. Some features add complexity and are hard to maintain so have +not been implemented. These features are not impossible to implement and could be added if there is a high demand for them.

  • You should be able to write Custom Read/Write functions for any type, and Weaver will use them.
    • This means if there is an unsupported type like int[][] creating a custom Read/Write function will allow you to +sync int[][] in SyncVar/ClientRpc/etc
  • If you have a type that has a field that is not able to be serialized, you can mark that field with +[System.NonSerialized] and weaver will ignore it

Unsupported Types

Some of these types are unsupported due to the complexity they would add, as mentioned above.

note

Types in this list can have custom writers.

  • Jagged and Multidimensional array
  • Types that Inherit from UnityEngine.Component
  • UnityEngine.Object
  • UnityEngine.ScriptableObject
  • Generic Types, eg MyData<T>
    • Custom Read/Write must declare T, eg MyData<int>
  • Interfaces
  • Types that reference themselves

Built-in Read Write Functions

Mirage provides some built-in Read/Write Functions. They can be found in NetworkReaderExtensions and NetworkWriterExtensions.

This is a non-compete list of types that have built-in functions, check the classes above to see the full list.

  • Most C# primitive types

  • Common Unity structs

    • Vector3
    • Quaternion
    • Rect
    • Ray
    • Guid
  • NetworkIdentity, GameObject, Transform +

NetworkIdentity, GameObject, Transform

The NetId of the object is sent over the network, and the object with the same NetId is returned on the other side. +If the NetId is zero or an object is not found then null will be returned.

Generated Read Write Functions

Weaver will generate read/write functions for:

  • Classes or Structs
  • Enums
  • Arrays
    • eg int[]
  • ArraySegments
    • eg ArraySegment<int>
  • Lists
    • eg List<int>

Classes and Structs

Weaver will read/write every public field in the type unless the field is marked with [System.NonSerialized]. +If there is an unsupported type in the class or struct Weaver will fail to make read/write functions for it.

caution

The weaver does not check properties

Enums

Weaver will use the underlying type of an enum to read and write them. By default this is int.

For example, Switch will use the byte read/write functions to be serialized

public enum Switch : byte
{
Left,
Middle,
Right,
}

Collections

Weaver will generate writes for the collections listed above. Weaver will use the element's read/write function, so it must +be a supported type or have a custom read/write function.

For example:

  • float[] is a supported type because Mirage has a built-in read/write function for float.
  • MyData[] is a supported type as Weaver is able to generate a read/write function for MyData
public struct MyData
{
public int someValue;
public float anotherValue;
}

Adding Custom Read Write functions

Custom read/write functions are static methods like this:

public static void WriteMyType(this NetworkWriter writer, MyType value)
{
// write MyType data here
}

public static MyType ReadMyType(this NetworkReader reader)
{
// read MyType data here
}

It is best practice to make read/write extension methods so they can be called like writer.WriteMyType(value).

It is a good idea to call them ReadMyType and WriteMyType so it is obvious what type they are for. However the name of the function doesn't matter, weaver should be able to find it no matter what it is called.

Properties Example

Weaver won't write properties, but a custom writer can be used to send them over the network.

This can be useful if you want to have private set for your properties

public struct MyData
{
public int someValue { get; private set; }
public float anotherValue { get; private set; }

public MyData(int someValue, float anotherValue)
{
this.someValue = someValue;
this.anotherValue = anotherValue;
}
}

public static class CustomReadWriteFunctions
{
public static void WriteMyType(this NetworkWriter writer, MyData value)
{
writer.WriteInt32(value.someValue);
writer.WriteSingle(value.anotherValue);
}

public static MyData ReadMyType(this NetworkReader reader)
{
return new MyData(reader.ReadInt32(), reader.ReadSingle());
}
}

Unsupported type Example

Rigidbody is an unsupported type because it inherits from Component. But a custom writer can be added so that it is +synced using a NetworkIdentity if one is attached.

public struct MyCollision
{
public Vector3 force;
public Rigidbody rigidbody;
}

public static class CustomReadWriteFunctions
{
public static void WriteMyCollision(this NetworkWriter writer, MyCollision value)
{
writer.WriteVector3(value.force);

NetworkIdentity networkIdentity = value.rigidbody.GetComponent<NetworkIdentity>();
writer.WriteNetworkIdentity(networkIdentity);
}

public static MyCollision ReadMyCollision(this NetworkReader reader)
{
Vector3 force = reader.ReadVector3();

NetworkIdentity networkIdentity = reader.ReadNetworkIdentity();
Rigidbody rigidBody = networkIdentity != null
? networkIdentity.GetComponent<Rigidbody>()
: null;

return new MyCollision
{
force = force,
rigidbody = rigidBody,
};
}
}

Above are functions for MyCollision, but instead, you could add functions for Rigidbody and let weaver would generate a writer for MyCollision.

public static class CustomReadWriteFunctions
{
public static void WriteRigidbody(this NetworkWriter writer, Rigidbody rigidbody)
{
NetworkIdentity networkIdentity = rigidbody.GetComponent<NetworkIdentity>();
writer.WriteNetworkIdentity(networkIdentity);
}

public static Rigidbody ReadRigidbody(this NetworkReader reader)
{
NetworkIdentity networkIdentity = reader.ReadNetworkIdentity();
Rigidbody rigidBody = networkIdentity != null
? networkIdentity.GetComponent<Rigidbody>()
: null;

return rigidBody;
}
}

Debugging

You can use tools like dnSpy or ILSpy to view the complied code after Weaver has altered it. This can help with understanding and debug what Mirage and Weaver does.

+ + + + \ No newline at end of file diff --git a/docs/guides/serialization/data-types/index.html b/docs/guides/serialization/data-types/index.html new file mode 100644 index 00000000000..b84021cac6e --- /dev/null +++ b/docs/guides/serialization/data-types/index.html @@ -0,0 +1,20 @@ + + + + + + +Data Types | Mirage Networking + + + + +
+

Data Types

The client and server can pass data to each other via RPC Methods, State Synchronization, or Network Messages.

Mirage supports a number of data types you can use with these, including:

  • Basic c# types (byte, int, char, uint, UInt64, float, string, etc)
  • Built-in Unity math type (Vector3, Quaternion, Rect, Plane, Vector3Int, etc)
  • NetworkIdentity
  • Game Object with a NetworkIdentity component attached
  • Structures with any of the above
    • It's recommended to implement IEquatable<T> to avoid boxing and to have the struct readonly because modifying one of the fields doesn't cause a resync.
  • Classes as long as each field has a supported data type
    • These will allocate garbage and will be instantiated new on the receiver every time they're sent.
  • ScriptableObject as long as each field has a supported data type
    • These will allocate garbage and will be instantiated new on the receiver every time they're sent.
  • Arrays of any of the above
    • Not supported with SyncVars or SyncLists.
  • ArraySegments of any of the above
    • Not supported with SyncVars or SyncLists.

Game Objects

Game Objects in SyncVars, SyncLists, and SyncDictionaries are fragile in some cases and should be used with caution.

  • As long as the game object already exists on both the server and the client, the reference should be fine.

When the sync data arrives at the client, the referenced game object may not yet exist on that client, resulting in null values in the sync data. This is because internally Mirage passes the NetId from the NetworkIdentity and tries to look it up on the client's NetworkIdentity.World.Spawned dictionary.

If the object hasn't been spawned on the client yet, no match will be found. It could be in the same payload, especially for joining clients, but after the sync data from another object.
+It could also be null because the game object is excluded from a client due to network visibility, e.g. NetworkProximityChecker.

You may find that it's more robust to sync the NetworkIdentity.NetID (uint) instead, and do your own lookup in +NetworkIdentity.World.Spawned to get the object, perhaps in a coroutine:

    public GameObject target;

[SyncVar(hook = nameof(OnTargetChanged))]
public uint targetID;

void OnTargetChanged(uint _, uint newValue)
{
if (NetworkIdentity.World.Spawned.TryGetValue(targetID, out NetworkIdentity identity))
target = identity.gameObject;
else
StartCoroutine(SetTarget());
}

IEnumerator SetTarget()
{
while (target == null)
{
yield return null;
if (NetworkIdentity.World.SpawnedObjects.TryGetValue(targetID, out NetworkIdentity identity))
target = identity.gameObject;
}
}

Custom Data Types

Sometimes you don't want Mirage to generate serialization for your own types. For example, instead of serializing quest data, you may want to serialize just the quest id, and the receiver can look up the quest by id in a predefined list.

Sometimes you may want to serialize data that uses a different type not supported by Mirage, such as DateTime or System.Uri.

You can add support for any type by adding extension methods to NetworkWriter and NetworkReader. For example, to add support for DateTime, add this somewhere in your project:

public static class DateTimeReaderWriter
{
public static void WriteDateTime(this NetworkWriter writer, DateTime dateTime)
{
writer.WriteInt64(dateTime.Ticks);
}

public static DateTime ReadDateTime(this NetworkReader reader)
{
return new DateTime(reader.ReadInt64());
}
}

...then you can use DateTime in your [ServerRpc] or SyncList

Inheritance and Polymorphism

Sometimes you might want to send a polymorphic data type to your commands. Mirage does not serialize the type name to keep messages small and for security reasons, therefore Mirage cannot figure out the type of object it received by looking at the message.

caution

This code does not work out of the box.

class Item 
{
public string name;
}

class Weapon : Item
{
public int hitPoints;
}

class Armor : Item
{
public int hitPoints;
public int level;
}

class Player : NetworkBehaviour
{
[ServerRpc]
void ServerRpcEquip(Item item)
{
// IMPORTANT: this does not work. Mirage will pass you an object of type item
// even if you pass a weapon or an armor.
if (item is Weapon weapon)
{
// The item is a weapon,
// maybe you need to equip it in the hand
}
else if (item is Armor armor)
{
// you might want to equip armor in the body
}
}

[ServerRpc]
void ServerEquipArmor(Armor armor)
{
// IMPORTANT: this does not work either, you will receive an armor, but
// the armor will not have a valid Item.name, even if you passed an armor with name
}
}

ServerRpcEquip will work if you provide a custom serializer for the Item type. For example:


public static class ItemSerializer
{
const byte WEAPON = 1;
const byte ARMOR = 2;

public static void WriteItem(this NetworkWriter writer, Item item)
{
if (item is Weapon weapon)
{
writer.WriteByte(WEAPON);
writer.WriteString(weapon.name);
writer.WritePackedInt32(weapon.hitPoints);
}
else if (item is Armor armor)
{
writer.WriteByte(ARMOR);
writer.WriteString(armor.name);
writer.WritePackedInt32(armor.hitPoints);
writer.WritePackedInt32(armor.level);
}
}

public static Item ReadItem(this NetworkReader reader)
{
byte type = reader.ReadByte();
switch(type)
{
case WEAPON:
return new Weapon
{
name = reader.ReadString(),
hitPoints = reader.ReadPackedInt32()
};
case ARMOR:
return new Armor
{
name = reader.ReadString(),
hitPoints = reader.ReadPackedInt32(),
level = reader.ReadPackedInt32()
};
default:
throw new Exception($"Invalid weapon type {type}");
}
}
}

Scriptable Objects

People often want to send scriptable objects from the client or server. For example, you may have a bunch of swords created as scriptable objects and you want to put the equipped sword in a SyncVar. This will work fine, Mirage will generate a reader and writer for scriptable objects by calling ScriptableObject.CreateInstance and copy all the data.

However, the generated reader and writer are not suitable for every occasion. Scriptable objects often reference other assets such as textures, prefabs, or other types that can't be serialized. Scriptable objects are often saved in the Resources folder or they can sometimes have a large amount of data in them. The generated reader and writers may not work or may be inefficient for these situations.

Instead of passing the scriptable object data, you can pass the name and the other side can look up the same object by name. This way you can have any kind of data in your scriptable object. You can do that by providing a custom reader and writer.
+Here is an example:

[CreateAssetMenu(fileName = "New Armor", menuName = "Armor Data")]
class Armor : ScriptableObject
{
public int Hitpoints;
public int Weight;
public string Description;
public Texture2D Icon;
// ...
}

public static class ArmorSerializer
{
public static void WriteArmor(this NetworkWriter writer, Armor armor)
{
// No need to serialize the data, just the name of the armor.
writer.WriteString(armor.name);
}

public static Armor ReadArmor(this NetworkReader reader)
{
// Load the same armor by name. The data will come from the asset in Resources folder.
return Resources.Load<Armor>(reader.ReadString());
}
}
+ + + + \ No newline at end of file diff --git a/docs/guides/serialization/generics/index.html b/docs/guides/serialization/generics/index.html new file mode 100644 index 00000000000..0e0be8972f9 --- /dev/null +++ b/docs/guides/serialization/generics/index.html @@ -0,0 +1,17 @@ + + + + + + +Generics | Mirage Networking + + + + +
+

Generics

Mirage supports generic types for SyncVar, Rpcs, and fields in NetworkMessages.

NetworkBehaviour

By making a NetworkBehaviour generic you can then use generic SyncVar fields or use the generic in an RPC.

public class MyGenericBehaviour<T> : NetworkBehaviour
{
[SyncVar]
public T Value;

public void MyRpc(T value)
{
// do stuff
}
}
danger

Making the RPC itself generic does not work. For example, MyRpc<T>(T value) will not work. This is because the receiver will have no idea what generic to invoke the type as.

Ensure Type has Write and Read functions

For a type to work as a generic, it must have a write and read that Mirage can find. For built-in types, this is done automatically (see Serialization).

For custom types Mirage will try to automatically find them and generate functions, however, this does not always work. Adding [NetworkMessage] to the type will tell Mirage to generate functions for it.

[NetworkMessage]
public struct MyCustomType
{
public int Value;
}

Alternatively, you can manually create Write and Read functions for your type

public static class MyCustomTypeExtensions 
{
public static void Write(this NetworkWriter writer, MyCustomType value)
{
// write here
}

public static MyCustomType Read(this NetworkReader reader)
{
// read here
}
}

Network Messages and other types

Generic messages are partly supported. Generic instances can be used as messages, For example, using MyMessage<int> in the example below.

This also includes using generic types in RPC or inside other types as long they are generic instances.

public struct MyMessage<T>
{
public T Value;
}

class Manager
{
void Start()
{
Server.MessageHandler.RegisterHandler<MyMessage<int>>(HandleMessage);
}

void HandleIntMessage(INetworkPlayer player, MyMessage<int> msg)
{
// do stuff
}
}
note

Generic message should not have [NetworkMessage] because this cause Mirage to try to make a writer for the generic itself. Only generic instances (eg MyMessage<int>) can have serialize functions

SyncList, SyncDictionary, SyncSet

SyncList, SyncDictionary, and SyncSet can have generic types as their element type as long as it is a generic instance (eg MyType<int> not MyType<T>).

public struct MyType<T>
{
public bool Option;
public T Value;
}

public class MyBehaviour : NetworkBehaviour
{
public SyncList<MyType<float>> myList;
}
+ + + + \ No newline at end of file diff --git a/docs/guides/serialization/index.html b/docs/guides/serialization/index.html new file mode 100644 index 00000000000..39973190c7b --- /dev/null +++ b/docs/guides/serialization/index.html @@ -0,0 +1,21 @@ + + + + + + +Serialization | Mirage Networking + + + + +
+

Serialization

This section of the Mirage documentation covers different aspects of how data is serialized, including the types of data that Mirage supports, advanced serialization techniques, the use of generics, and the SyncPrefab struct for synchronizing prefabs over the network.

  • Data Types +Information about the different data types supported in Mirage, including basic C# types, Unity math types, NetworkIdentity, and GameObject with NetworkIdentity.e

  • Advanced Serialization +In-depth explanation of how serialization works in Mirage, including how it is implemented using Weaver and Mono.Ccil.

  • Generics +How Mirage supports generic types for SyncVar, Rpcs, and fields in NetworkMessages.

  • SyncPrefab +Explains the SyncPrefab struct in Mirage, which is used to synchronize prefabs over the network. It is particularly useful for short-lived objects like visual effects, audio, or projectiles.

+ + + + \ No newline at end of file diff --git a/docs/guides/serialization/sync-prefab/index.html b/docs/guides/serialization/sync-prefab/index.html new file mode 100644 index 00000000000..9c5064d5c4f --- /dev/null +++ b/docs/guides/serialization/sync-prefab/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncPrefab | Mirage Networking + + + + +
+

SyncPrefab

Overview

The SyncPrefab struct represents a prefab that is synchronized over the network.

It has two properties:

  • Prefab: A NetworkIdentity representing the prefab being synced.
  • PrefabHash: An integer representing the hash of the prefab being synced. The PrefabHash is sent over the network so that the matching NetworkIdentity can be found on the other side.

SyncPrefab can be used to set up local objects like visual effects, audio, or projectiles, without needing to spawn them over the network, making it ideal for short-lived objects.

Example Use Case

When the Shoot method is called on the server it will instantiates a local copy of the prefab. The RpcShoot is then called to send a message to all clients, Passing in a SyncPrefab object representing the prefab being synced.

On the client side, the RpcShoot method finds the prefab from ClientObjectManager using the FindPrefab. It then instantiates a local clone of the prefab.

tip

Add [NetworkedPrefab] attribute to your inspector field to show if it is set up correctly.

public class Shooter : NetworkBehaviour
{
// add [NetworkedPrefab] to ensure prefab is network object in inspector
[NetworkedPrefab]
public GameObject Prefab;

// call this on server
public void Shoot(Vector3 position, Quaternion rotation)
{
// spawn prefab locally
var clone = Instantiate(Prefab, position, rotation);

// then send to clients so they can also spawn locally

RpcShoot(new SyncPrefab(Prefab.GetNetworkIdentity()), position, rotation);
}

[ClientRpc]
public void RpcShoot(SyncPrefab syncPrefab, Vector3 position, Quaternion rotation)
{
// find prefab from objectManager
var prefab = syncPrefab.FindPrefab(ClientObjectManager);

// spawn prefab locally
var clone = Instantiate(prefab, position, rotation);
}
}
+ + + + \ No newline at end of file diff --git a/docs/guides/sync/code-generation/index.html b/docs/guides/sync/code-generation/index.html new file mode 100644 index 00000000000..fe43ddcb969 --- /dev/null +++ b/docs/guides/sync/code-generation/index.html @@ -0,0 +1,17 @@ + + + + + + +Code Generation | Mirage Networking + + + + +
+

Code Generation

So for this script:

using Mirage;

public class Data : NetworkBehaviour
{
[SyncVar(hook = nameof(OnInt1Changed))]
public int int1 = 66;

[SyncVar]
public int int2 = 23487;

[SyncVar]
public string MyString = "Example string";

void OnInt1Changed(int oldValue, int newValue)
{
// do something here
}
}

The following sample shows the code that is generated by Mirage for the SerializeSyncVars function which is called inside NetworkBehaviour.OnSerialize:

public override bool SerializeSyncVars(NetworkWriter writer, bool initialState)
{
// Write any SyncVars in base class
bool written = base.SerializeSyncVars(writer, forceAll);

if (initialState)
{
// The first time a game object is sent to a client, send all the data (and no dirty bits)
writer.WritePackedUInt32((uint)this.int1);
writer.WritePackedUInt32((uint)this.int2);
writer.Write(this.MyString);
return true;
}
else
{
// Writes which SyncVars have changed
writer.WritePackedUInt64(base.syncVarDirtyBits);

if ((base.get_syncVarDirtyBits() & 1u) != 0u)
{
writer.WritePackedUInt32((uint)this.int1);
written = true;
}

if ((base.get_syncVarDirtyBits() & 2u) != 0u)
{
writer.WritePackedUInt32((uint)this.int2);
written = true;
}

if ((base.get_syncVarDirtyBits() & 4u) != 0u)
{
writer.Write(this.MyString);
written = true;
}

return written;
}
}

The following sample shows the code that is generated by Mirage for the DeserializeSyncVars function which is called inside NetworkBehaviour.OnDeserialize:

public override void DeserializeSyncVars(NetworkReader reader, bool initialState)
{
// Read any SyncVars in base class
base.DeserializeSyncVars(reader, initialState);

if (initialState)
{
// The first time a game object is sent to a client, read all the data (and no dirty bits)
int oldInt1 = this.int1;
this.int1 = (int)reader.ReadPackedUInt32();
// if old and new values are not equal, call hook
if (!base.SyncVarEqual<int>(num, ref this.int1))
{
this.OnInt1Changed(num, this.int1);
}

this.int2 = (int)reader.ReadPackedUInt32();
this.MyString = reader.ReadString();
return;
}

int dirtySyncVars = (int)reader.ReadPackedUInt32();
// is 1st SyncVar dirty
if ((dirtySyncVars & 1) != 0)
{
int oldInt1 = this.int1;
this.int1 = (int)reader.ReadPackedUInt32();
// if old and new values are not equal, call hook
if (!base.SyncVarEqual<int>(num, ref this.int1))
{
this.OnInt1Changed(num, this.int1);
}
}

// is 2nd SyncVar dirty
if ((dirtySyncVars & 2) != 0)
{
this.int2 = (int)reader.ReadPackedUInt32();
}

// is 3rd SyncVar dirty
if ((dirtySyncVars & 4) != 0)
{
this.MyString = reader.ReadString();
}
}

If a NetworkBehaviour has a base class that also has serialization functions, the base class functions should also be called.

+ + + + \ No newline at end of file diff --git a/docs/guides/sync/custom-serialization/index.html b/docs/guides/sync/custom-serialization/index.html new file mode 100644 index 00000000000..a58944faab7 --- /dev/null +++ b/docs/guides/sync/custom-serialization/index.html @@ -0,0 +1,17 @@ + + + + + + +Advanced Synchronization | Mirage Networking + + + + +
+

Advanced Synchronization

In most cases, the use of SyncVars is enough for your game scripts to serialize their state to clients. However, in some cases, you might require more complex serialization code. This page is only relevant for advanced developers who need customized synchronization solutions that go beyond Mirage’s normal SyncVar feature.

Custom Serialization Functions

To perform your own custom serialization, you can implement virtual functions on NetworkBehaviour to be used for SyncVar serialization. These functions are:

public virtual bool OnSerialize(NetworkWriter writer, bool initialState);
public virtual void OnDeserialize(NetworkReader reader, bool initialState);

Use the initialState flag to differentiate between the first time a game object is serialized and when incremental updates can be sent. The first time a game object is sent to a client, it must include a full state snapshot, but subsequent updates can save on bandwidth by including only incremental changes.

The OnSerialize function should return true to indicate that an update should be sent. If it returns true, the dirty bits for that script are set to zero. If it returns false, the dirty bits are not changed. This allows multiple changes to a script to be accumulated over time and sent when the system is ready, instead of every frame.

The OnSerialize function is only called for initialState or when the NetworkBehaviour is dirty. A NetworkBehaviour will only be dirty if a SyncVar or SyncObject (e.g. SyncList) has changed since the last OnSerialize call. After data has been sent the NetworkBehaviour will not be dirty again until the next syncInterval (set in the inspector). A NetworkBehaviour can also be marked as dirty by manually calling SetDirtyBit (this does not bypass the syncInterval limit).

Although this works, it is usually better to let Mirage generate these methods and provide custom serializers for your specific field.

+ + + + \ No newline at end of file diff --git a/docs/guides/sync/index.html b/docs/guides/sync/index.html new file mode 100644 index 00000000000..9985c093f4a --- /dev/null +++ b/docs/guides/sync/index.html @@ -0,0 +1,17 @@ + + + + + + +State Synchronization | Mirage Networking + + + + +
+

State Synchronization

State synchronization refers to the synchronization of values such as integers, floating point numbers, strings, and boolean values belonging to scripts.

State synchronization is done from the server to remote clients. The local client does not have data serialized to it. It does not need it, because it shares the scene with the server. However, SyncVar hooks are called on local clients.

Data is not synchronized in the opposite direction - from remote clients to the server. To do this, you need to use Server RPC calls.

  • SyncVar
    SyncVars are variables of scripts that inherit from NetworkBehaviour, which are synchronized from the server to clients.
  • SyncList
    SyncLists contain lists of values and synchronize data from servers to clients.
  • SyncDictionary
    A SyncDictionary is an associative array containing an unordered list of key, value pairs.
  • SyncHashSet
    An unordered set of values that do not repeat.
  • SyncSortedSet
    A sorted set of values that do not repeat.
+ + + + \ No newline at end of file diff --git a/docs/guides/sync/serialization-flow/index.html b/docs/guides/sync/serialization-flow/index.html new file mode 100644 index 00000000000..a706d2c0c02 --- /dev/null +++ b/docs/guides/sync/serialization-flow/index.html @@ -0,0 +1,17 @@ + + + + + + +serialization-flow | Mirage Networking + + + + +
+

serialization-flow

Serialization Flow

Game objects with the Network Identity component attached can have multiple scripts derived from NetworkBehaviour. The flow for serializing these game objects is:

On the server:

  • Each NetworkBehaviour has a dirty mask. This mask is available inside OnSerialize as syncVarDirtyBits
  • Each SyncVar in a NetworkBehaviour script is assigned a bit in the dirty mask.
  • Changing the value of SyncVars causes the bit for that SyncVar to be set in the dirty mask
  • Alternatively, calling SetDirtyBit writes directly to the dirty mask
  • NetworkIdentity game objects are checked on the server as part of its update loop
  • If any NetworkBehaviours on a NetworkIdentity are dirty, then a UpdateVars packet is created for that game object
  • The UpdateVars packet is populated by calling OnSerialize on each NetworkBehaviour on the game object
  • NetworkBehaviours that are not dirty write a zero to the packet for their dirty bits
  • NetworkBehaviours that are dirty write their dirty mask, then the values for the SyncVars that have changed
  • If OnSerialize returns true for a NetworkBehaviour, the dirty mask is reset for that NetworkBehaviour so it does not send again until its value changes.
  • The UpdateVars packet is sent to ready clients that are observing the game object

On the client:

  • an UpdateVars packet is received for a game object
  • The OnDeserialize function is called for each NetworkBehaviour script on the game object
  • Each NetworkBehaviour script on the game object reads a dirty mask.
  • If the dirty mask for a NetworkBehaviour is zero, the OnDeserialize function returns without reading any more
  • If the dirty mask is a non-zero value, then the OnDeserialize function reads the values for the SyncVars that correspond to the dirty bits that are set
  • If there are SyncVar hook functions, those are invoked with the value read from the stream.
+ + + + \ No newline at end of file diff --git a/docs/guides/sync/sync-objects/sync-dictionary/index.html b/docs/guides/sync/sync-objects/sync-dictionary/index.html new file mode 100644 index 00000000000..1f91e32d841 --- /dev/null +++ b/docs/guides/sync/sync-objects/sync-dictionary/index.html @@ -0,0 +1,17 @@ + + + + + + +Sync Dictionary | Mirage Networking + + + + +
+

Sync Dictionary

SyncDictionary is an associative array containing an unordered list of key, value pairs. Keys and values can be any of Mirage supported types.

SyncDictionary works much like SyncLists: when you make a change on the server, the change is propagated to all clients and the appropriate callback is called.

Usage

Add a field of type SyncDictionary on any NetworkBehaviour where TKey and TValue can be any supported Mirage type and initialize it.

IMPORTANT

You need to initialize the SyncDictionary immediately after the definition for them to work. You can mark them as readonly to enforce proper usage.

Basic example

using UnityEngine;
using Mirage;
using Mirage.Collections;

[System.Serializable]
public struct Item
{
public string name;
public int hitPoints;
public int durability;
}

public class Player : NetworkBehaviour
{
public readonly SyncDictionary<stirng, Item> equipment = new SyncDictionary<string, Item>();

private void Awake()
{
Identity.OnStartServer.AddListener(OnStartServer);
}

private void OnStartServer()
{
equipment.Add("head", new Item { name = "Helmet", hitPoints = 10, durability = 20 });
equipment.Add("body", new Item { name = "Epic Armor", hitPoints = 50, durability = 50 });
equipment.Add("feet", new Item { name = "Sneakers", hitPoints = 3, durability = 40 });
equipment.Add("hands", new Item { name = "Sword", hitPoints = 30, durability = 15 });
}
}

Callbacks

You can detect when a SyncDictionary changes on the client and/or server. This is especially useful for refreshing your UI, character appearance, etc.

There are different callbacks for different operations, such as OnChange (any change to the dictionary), OnInsert (adding a new element), etc. Please check the SyncDictionary API reference for the complete list of callbacks.

Depending on where you want to invoke the callbacks, you can use these methods to register them:

  • Awake for both client and server
  • Identity.OnStartServer event for server-only
  • Identity.OnStartClient event for client-only
note

By the time you subscribe, the dictionary will already be initialized, so you will not get a call for the initial data, only updates.

Example

using Mirage;
using Mirage.Collections;

public class Player : NetworkBehaviour
{
public readonly SyncDictionary<stirng, Item> equipment = new SyncDictionary<string, Item>();
public readonly SyncDictionary<stirng, Item> hotbar = new SyncDictionary<string, Item>();

// This will hook the callback on both server and client
private void Awake()
{
equipment.OnChange += UpdateEquipment;
Identity.OnStartClient.AddListener(OnStartClient);
}

// Hotbar changes will only be invoked on clients
private void OnStartClient()
{
hotbar.OnChange += UpdateHotbar;
}

private void UpdateEquipment()
{
// Here you can refresh your UI for instance
}

private void UpdateHotbar()
{
// Here you can refresh your UI for instance
}
}

By default, SyncDictionary uses a Dictionary to store its data. If you want to use a different dictionary implementation, add a constructor and pass the dictionary implementation to the parent constructor. For example:

public SyncDictionary<string, Item> myDict = new SyncIDictionary<string, Item>(new MyDictionary<string, Item>());
+ + + + \ No newline at end of file diff --git a/docs/guides/sync/sync-objects/sync-hash-set/index.html b/docs/guides/sync/sync-objects/sync-hash-set/index.html new file mode 100644 index 00000000000..ff097653f4f --- /dev/null +++ b/docs/guides/sync/sync-objects/sync-hash-set/index.html @@ -0,0 +1,17 @@ + + + + + + +Sync Hash Set | Mirage Networking + + + + +
+

Sync Hash Set

SyncHashSet is a set similar to C# HashSet<T> that synchronizes its contents from the server to the clients.

A SyncHashSet can contain any supported Mirage type

Usage

Create a class that derives from SyncHashSet for your specific type. This is necessary because Mirage will add methods to that class with the weaver. Then add a SyncHashSet field to your NetworkBehaviour class. For example:

IMPORTANT

You need to initialize the SyncHashSet immediately after the definition in order for them to work. You can mark them as readonly to enforce proper usage.

Basic example

[System.Serializable]
public class SyncSkillSet : SyncHashSet<string> {}

public class Player : NetworkBehaviour {

[SerializeField]
readonly SyncSkillSet skills = new SyncSkillSet();

int skillPoints = 10;

[Command]
public void CmdLearnSkill(string skillName)
{
if (skillPoints > 1)
{
skillPoints--;

skills.Add(skillName);
}
}
}

Callbacks

You can detect when a SyncHashSet changes on the client and/or the server. This is especially useful for refreshing your UI, character appearance, etc.

Subscribe to the Callback event typically during Start, OnClientStart, or OnServerStart for that.

note

Note that by the time you subscribe, the set will already be initialized, so you will not get a call for the initial data, only updates.

[System.Serializable]
public class SyncSetBuffs : SyncHashSet<string> {};

public class Player : NetworkBehaviour
{
[SerializeField]
public readonly SyncSetBuffs buffs = new SyncSetBuffs();

// this will add the delegate on the client.
// Use OnStartServer instead if you want it on the server
public override void OnStartClient()
{
buffs.Callback += OnBuffsChanged;
}

private void OnBuffsChanged(SyncSetBuffs.Operation op, string buff)
{
switch (op)
{
case SyncSetBuffs.Operation.OP_ADD:
// we added a buff, draw an icon on the character
break;
case SyncSetBuffs.Operation.OP_CLEAR:
// clear all buffs from the character
break;
case SyncSetBuffs.Operation.OP_REMOVE:
// We removed a buff from the character
break;
}
}
}
+ + + + \ No newline at end of file diff --git a/docs/guides/sync/sync-objects/sync-list/index.html b/docs/guides/sync/sync-objects/sync-list/index.html new file mode 100644 index 00000000000..72db4c6d72f --- /dev/null +++ b/docs/guides/sync/sync-objects/sync-list/index.html @@ -0,0 +1,17 @@ + + + + + + +Sync List | Mirage Networking + + + + +
+

Sync List

SyncList is an array-based list similar to C# List<T> that synchronizes its contents from the server to the clients.

A SyncList can contain any supported Mirage type.

Usage

Add a field of type SyncList on any NetworkIdentity where T can be any supported Mirage type and initialize it.

IMPORTANT

You need to initialize the SyncList immediately after the definition for them to work. You can mark them as readonly to enforce proper usage.

Basic example

using Mirage;
using Mirage.Collections;

[System.Serializable]
public struct Item
{
public string name;
public int amount;
public Color32 color;
}

public class Player : NetworkBehaviour
{
private readonly SyncList<Item> inventory = new SyncList<Item>();

public int coins = 100;

[ServerRpc]
public void Purchase(string itemName)
{
if (coins > 10)
{
coins -= 10;
Item item = new Item
{
name = "Sword",
amount = 3,
color = new Color32(125, 125, 125, 255)
};

// During next synchronization, all clients will see the item
inventory.Add(item);
}
}
}

Callbacks

You can detect when a SyncList changes on the client and/or server. This is especially useful for refreshing your UI, character appearance, etc.

There are different callbacks for different operations, such as OnChange (any change to the list), OnInsert (adding a new element), etc. Please check the SyncList API reference for the complete list of callbacks.

Depending on where you want to invoke the callbacks, you can use these methods to register them:

  • Awake for both client and server
  • Identity.OnStartServer event for server-only
  • Identity.OnStartClient event for client-only
note

By the time you subscribe, the list will already be initialized, so you will not get a call for the initial data, only updates.

Example

using Mirage;
using Mirage.Collections;

public class Player : NetworkBehaviour
{
private readonly SyncList<Item> inventory = new SyncList<Item>();
private readonly SyncList<Item> hotbar = new SyncList<Item>();

// This will hook the callback on both server and client
private void Awake()
{
inventory.OnChange += UpdateInventory;
Identity.OnStartClient.AddListener(OnStartClient);
}

// Hotbar changes will only be invoked on clients
private void OnStartClient()
{
hotbar.OnChange += UpdateHotbar;
}

private void UpdateInventory()
{
// Here you can refresh your UI for instance
}

private void UpdateHotbar()
{
// Here you can refresh your UI for instance
}
}

By default, SyncList uses a List to store its data. If you want to use a different list implementation, add a constructor and pass the list implementation to the parent constructor. For example:

public SyncList<Item> myList = new SyncList<Item>(new MyIList<Item>());
+ + + + \ No newline at end of file diff --git a/docs/guides/sync/sync-objects/sync-sorted-set/index.html b/docs/guides/sync/sync-objects/sync-sorted-set/index.html new file mode 100644 index 00000000000..b17f47b7b85 --- /dev/null +++ b/docs/guides/sync/sync-objects/sync-sorted-set/index.html @@ -0,0 +1,17 @@ + + + + + + +Sync Sorted Set | Mirage Networking + + + + +
+

Sync Sorted Set

SyncSortedSet is a set similar to C# SortedSet<T> that synchronizes its contents from the server to the clients.

Unlike SyncHashSets, all elements in a SyncSortedSet are sorted when they are inserted. Please note this has some performance implications.

A SyncSortedSet can contain any supported Mirage type

Usage

Create a class that derives from SyncSortedSet for your specific type. This is necessary because Mirage will add methods to that class with the weaver. Then add a SyncSortedSet field to your NetworkBehaviour class. For example:

IMPORTANT

You need to initialize the SyncSortedSet immediately after the definition for them to work. You can mark them as readonly to enforce proper usage.

class Player : NetworkBehaviour {

class SyncSkillSet : SyncSortedSet<string> {}

readonly SyncSkillSet skills = new SyncSkillSet();

int skillPoints = 10;

[Command]
public void CmdLearnSkill(string skillName)
{
if (skillPoints > 1)
{
skillPoints--;

skills.Add(skillName);
}
}
}

You can also detect when a SyncSortedSet changes. This is useful for refreshing your character in the client or determining when you need to update your database. Subscribe to the Callback event typically during Start, OnClientStart, or OnServerStart for that.

note

That by the time you subscribe, the set will already be initialized, so you will not get a call for the initial data, only updates.

public class Player : NetworkBehaviour
{
private class SyncSetBuffs : SyncSortedSet<string> {};

private readonly SyncSetBuffs buffs = new SyncSetBuffs();

// This will add the delegate on the client.
// Use OnStartServer instead if you want it on the server
public override void OnStartClient()
{
buffs.Callback += OnBuffsChanged;
}

private void OnBuffsChanged(SyncSetBuffs.Operation op, string buff)
{
switch (op)
{
case SyncSetBuffs.Operation.OP_ADD:
// we added a buff, draw an icon on the character
break;
case SyncSetBuffs.Operation.OP_CLEAR:
// clear all buffs from the character
break;
case SyncSetBuffs.Operation.OP_REMOVE:
// We removed a buff from the character
break;
}
}
}
+ + + + \ No newline at end of file diff --git a/docs/guides/sync/sync-settings/index.html b/docs/guides/sync/sync-settings/index.html new file mode 100644 index 00000000000..6b1f09a69c3 --- /dev/null +++ b/docs/guides/sync/sync-settings/index.html @@ -0,0 +1,17 @@ + + + + + + +Sync Settings | Mirage Networking + + + + +
+

Sync Settings

The Sync Settings can be found in each NetworkBehaviour component. It is only visible in the inspector when there are either SyncVar, SyncObject, or if OnSerialize is overridden. These settings allow you to configure how and when data is synchronized across the network.

Using the Sync Settings, you can set the direction values are synced and how often they are sent.

Sync Direction

SyncDirection determines which directions changes are sent. The default sync direction is from Server to both Owner and Observers.

The directions can be set per NetworkBehaviour, which means that different components can have different sync directions. For example, a PlayerName component can be set to sync from the Owner and a Health component from the Server.

Valid sync directions include:

  • Sync from Server to Owner and/or Observers (Default)
  • Sync from Owner to Server and/or Observers
  • Sync from both Owner and Server to Observers only
  • No sync direction (None to None), nothing will be synced.

Invalid sync directions include:

  • Sync from None to any direction
  • Sync from Owner to None or Server to None
  • Sync from Server to Owner only
  • Sync from both Owner and Server to Owner only
note

ObserversOnly excludes the Owner. In order too sync too owner the Owner Flag must be set.

If syncing from both Owner and Server at the same time, there will be a race condition. If they both update a value at the same time, they will both send an update to the other side which will set the value and cause them to be out of sync. While this option is allowed, it is advised to only sync from either Server or Owner.

When to use Server to Owner

In some case you don't want some data to be visible to other players. By disabling the ObserversOnly flag Mirage will only send data to the Player that owns the object.

For example, suppose you are making an inventory system. Suppose players A, B, and C are in the same area. There will be a total of 12 objects in the entire network, objects in bold are owned by that client:

  • Client A has Player A, Player B, and Player C
  • Client B has Player A, Player B, and Player C
  • Client C has Player A, Player B, and Player C
  • The server has Player A, Player B, Player C

each one of them would have an Inventory component

Suppose Player A picks up some loot. The server adds the loot to Player's A inventory, which could have a SyncLists of Items.

By default, Mirage now has to synchronize player A's inventory everywhere, which means sending an update message to client A, client B, and client C, because they all have a copy of Player A. This is wasteful, Client B and Client C do not need to know about Player's A inventory, they never see it on screen. It is also a security problem, someone could hack the client and display other people's inventory and use it to their advantage.

By only having SyncTo.Owner set the server will only send then Player A's to Client A, Player B's to Client B, etc.

It might not seem like much of a waste with only 3 players, but say if you have 50 instead the that is a lot of extra data to sending to each client.

Other typical use cases include quests, player's hand in a card game, skills, experience, or any other data you don't need to share with other players.

Sync Timing

The SyncTiming determines how the minium time between changes being sent. Values are not sent unless they are changed or manually set as dirty.

The SyncTiming enum has the following values:

  • Variable
  • Fixed
  • NoInterval

Variable and Fixed will use the Interval field to determine how often changes are sent. NoInterval will sent changes next time Update is run

Variable

The Variable timing mode waits for at least the specified Interval time after the last sync before sending again. This timing mode is best used when values don't change often or for non-time-critical data. Compared to the Fixed timing mode, the Variable timing mode sends data less often for the same Interval.

Fixed

The Fixed timing mode ensures that data is sent every Interval if changed. This timing mode is best used for data that changes often and you want exactly (1 / Interval) updates per second. The Fixed timing mode has a more consistent sync time compared to the Variable timing mode.

Example of Fixed vs Variable

For example, if Interval is 0.1, the Fixed timing mode will send data at a constant rate of 10 times per second, while the Variable timing mode will depend more on the deltaTime and may send data at irregular intervals. This means that Variable mode will send less often/

NoInterval

The NoInterval timing mode ignores SyncSettings.Interval and sends changes in the next update. This timing mode is best used for scenarios where data changes frequently and sending updates as soon as possible is desired.

When are changes sent?

When a value is changed, the corresponding NetworkBehaviour is added to a list of dirty objects. This list is then looped over during each update, and changes are sent while taking the SyncInterval into account.

This means that the server only has to loop over a small number of objects each frame - only the objects that have changed. This is a significant improvement in performance, especially when there are a large number of idle network objects.

In contrast, other networking solutions like Mirror Networking loop over every object every update, regardless of whether it has changed or not.

Because of this improvement, certain tasks can be accomplished more easily in Mirage. For example, if you have a forest with individual trees represented by NetworkIdentity, they will not add any performance cost unless the player interacts with them. This allows you to use RPCs and SyncVars on each tree, making it easier to create network features without needing workarounds for performance reasons.

+ + + + \ No newline at end of file diff --git a/docs/guides/sync/sync-var-hooks/index.html b/docs/guides/sync/sync-var-hooks/index.html new file mode 100644 index 00000000000..ed34e544205 --- /dev/null +++ b/docs/guides/sync/sync-var-hooks/index.html @@ -0,0 +1,17 @@ + + + + + + +Sync Var Hooks | Mirage Networking + + + + +
+

Sync Var Hooks

SyncVar can have hooks that are invoked when the values changes.

Hooks are set using the hook option on the SyncVar attribute, the hook needs to be in the same class as the SyncVar

[SyncVar(hook = nameof(HookName))]

A hook can be a method or a event, when using an event it should use System.Action.

The hook can have 0, 1 or 2 args.

void hook0() { }

void hook1(int newValue) { }

void hook2(int oldValue, int newValue) { }

event Action event0;

event Action<int> event1;

event Action<int, int> event2;

When is hook invoked?

The following is a list of rules that SyncVar hooks follows for when and where they are invoked:

  • Hook only invoked if value is changed

  • When settings SyncVar

    • both flags false
      • invokes if host (both Server AND client active)
    • invokeHookOnOwner flag true
      • invokes if owner
    • invokeHookOnServer flag true
      • invokes if server (includes host mode)
    • both flags true
      • invokes if owner OR server
  • DeserializeSyncVars is never called on host sending update to itself, but is called when owner sends update to server

  • hooks are invoked in DeserializeSyncVars if values changes

    • always invokes if Only client (eg not host mode)
    • invokeHookOnServer
      • invokes on server (eg when an change is send from owner)
+ + + + \ No newline at end of file diff --git a/docs/guides/sync/sync-var/index.html b/docs/guides/sync/sync-var/index.html new file mode 100644 index 00000000000..9cba332b2b6 --- /dev/null +++ b/docs/guides/sync/sync-var/index.html @@ -0,0 +1,19 @@ + + + + + + +Sync Var | Mirage Networking + + + + +
+

Sync Var

SyncVars are properties of classes that inherit from NetworkBehaviour, which are synchronized from the server to clients. When a game object is spawned, or a new player joins a game in progress, they are sent the latest state of all SyncVars on networked objects that are visible to them. Use the [SyncVar] custom attribute to specify which variables in your script you want to synchronize.

note

The state of SyncVars is applied to game objects on clients before Identity.OnStartClient event is invoked, so the state of the object is always up-to-date in subscribed callbacks.

SyncVars can use any type supported by Mirage. You can have up to 64 SyncVars on a single NetworkBehaviour script, including SyncLists and other sync types.

The server automatically sends SyncVar updates when the value of a SyncVar changes, so you do not need to track when they change or send information about the changes yourself. Changing a value in the inspector will not trigger an update.

note

SyncVars are not sent right away or in the order they are set. They will be sent as a group in the next sync update.

Example

Let's have a simple Player class with the following code:

using Mirage;
using UnityEngine;

public class Player : NetworkBehaviour
{
[SyncVar]
public int clickCount;

private void Update()
{
if (IsLocalPlayer && Input.GetMouseButtonDown(0))
{
ServerRpc_IncreaseClicks();
}
}

[ServerRpc]
public void ServerRpc_IncreaseClicks()
{
// This is executed on the server
clickCount++;
}
}

In this example, when Player A clicks the left mouse button, he sends a ServerRpc to the server where the clickCount SyncVar is incremented. All other visible players will be informed about Player A's new clickCount value.

Class inheritance

SyncVars work with class inheritance. Consider this example:

private class Pet : NetworkBehaviour
{
[SyncVar]
private string name;
}

private class Cat : Pet
{
[SyncVar]
private Color32 color;
}

You can attach the Cat component to your cat prefab, and it will synchronize both its name and color.

caution

Both Cat and Pet should be in the same assembly. If they are in separate assemblies, make sure not to change name from inside Cat directly, add a method to Pet instead.

SyncVar hook

The hook option of SyncVar attribute can be used to specify a function to be called when the SyncVar changes value on the client and server.

For more information on SyncVar hooks see Sync Var Hooks

Example Client Only

Below is a simple example of assigning a random color to each player when they're spawned on the server. All clients will see all players in the correct colors, even if they join later.

using UnityEngine;
using Mirage;

public class Player : NetworkBehaviour
{
[SyncVar(hook = nameof(UpdateColor))]
private Color playerColor = Color.black;

private Renderer renderer;

// Unity makes a clone of the Material every time renderer.material is used.
// Cache it here and Destroy it in OnDestroy to prevent a memory leak.
private Material cachedMaterial;

private void Awake()
{
renderer = GetComponent<Renderer>();
Identity.OnStartServer.AddListener(OnStartServer);
}

private void OnStartServer()
{
playerColor = Random.ColorHSV(0f, 1f, 1f, 1f, 0.5f, 1f);
}

private void UpdateColor(Color oldColor, Color newColor)
{
// this is executed on this player for each client
if (cachedMaterial == null)
{
cachedMaterial = renderer.material;
}

cachedMaterial.color = newColor;
}

private void OnDestroy()
{
Destroy(cachedMaterial);
}
}

Example Client & Server

Below is a simple example of assigning a random color to each player when they're spawned on the server. All clients will see all players in the correct colors, even if they join later, the server will also fire the event.

using UnityEngine;
using Mirage;

public class Player : NetworkBehaviour
{
[SyncVar(hook = nameof(UpdateColor), invokeHookOnServer = true)]
private Color playerColor = Color.black;

private Renderer renderer;

// Unity makes a clone of the Material every time renderer.material is used.
// Cache it here and Destroy it in OnDestroy to prevent a memory leak.
private Material cachedMaterial;

private void Awake()
{
renderer = GetComponent<Renderer>();
Identity.OnStartServer.AddListener(OnStartServer);
}

private void OnStartServer()
{
playerColor = Random.ColorHSV(0f, 1f, 1f, 1f, 0.5f, 1f);
}

private void UpdateColor(Color oldColor, Color newColor)
{
// this is executed on this player for each client
if (cachedMaterial == null)
{
cachedMaterial = renderer.material;
}

cachedMaterial.color = newColor;
}

private void OnDestroy()
{
Destroy(cachedMaterial);
}
}

SyncVar Initialize Only

Just like regular SyncVars, when a game object is spawned, or a new player joins a game in progress, they are sent the latest state of all SyncVars on networked objects that are visible to them. +With the initialOnly flag set to true you will now be able to control the state of the SyncVar manually rather than waiting for Mirage to update them.

note

Make sure you manually update your observable clients with the new state.
+Syncvar Hooks become redundant, as you are setting the state of the Syncvar directly.

Example

using Mirage;
using UnityEngine;

public class Player : NetworkBehaviour
{
[SyncVar(initialOnly = true)]
private int weaponId;

private void Awake()
{
Identity.OnStartClient.AddListener(OnStartClient);
}

private void OnStartClient()
{
// Update weapon using id from syncvar (sent to client via spawn message
UpdateWeapon(weaponId);
}

private void Update()
{
if (Input.GetKeyDown(KeyCode.Q))
{
// Client Request weapon change
ServerRpc_SetSyncVarWeaponId(7);
}
}

[ServerRpc]
private void ServerRpc_SetSyncVarWeaponId(int weaponId)
{
// Set weapon id on server so new players get it
this.weaponId = weaponId;

// Tell current players about it
ClientRpc_SetSyncVarWeaponId(weaponId);

// Update weapon on server
UpdateWeapon(weaponId);
}

[ClientRpc]
private void ClientRpc_SetSyncVarWeaponId(int weaponId)
{
// Set id on client
this.weaponId = weaponId;

// Update weapon on client
UpdateWeapon(weaponId);
}

public void UpdateWeapon(int weaponId)
{
// Do stuff to update weapon here
// For example, its spawning model
}
}
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authentication/AuthMessage/index.html b/docs/reference/Mirage.Authentication/AuthMessage/index.html new file mode 100644 index 00000000000..05332f19ce8 --- /dev/null +++ b/docs/reference/Mirage.Authentication/AuthMessage/index.html @@ -0,0 +1,18 @@ + + + + + + +AuthMessage | Mirage Networking + + + + +
+
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authentication/AuthSuccessMessage/index.html b/docs/reference/Mirage.Authentication/AuthSuccessMessage/index.html new file mode 100644 index 00000000000..3fb73d64d4d --- /dev/null +++ b/docs/reference/Mirage.Authentication/AuthSuccessMessage/index.html @@ -0,0 +1,17 @@ + + + + + + +AuthSuccessMessage | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authentication/AuthenticationResult/index.html b/docs/reference/Mirage.Authentication/AuthenticationResult/index.html new file mode 100644 index 00000000000..460bfc83feb --- /dev/null +++ b/docs/reference/Mirage.Authentication/AuthenticationResult/index.html @@ -0,0 +1,17 @@ + + + + + + +AuthenticationResult | Mirage Networking + + + + +
+

Struct AuthenticationResult

Result from Authentication, Use static methods to create new instance

Syntax
public struct AuthenticationResult

Properties

Success

Declaration
public bool Success { get; }

Authenticator

Which Authenticator gave success

Declaration
public INetworkAuthenticator Authenticator { get; }

Data

Auth data from Success, will be set on INetworkPlayer

Declaration
public object Data { get; }

Reason

Can be reason for Success of fail

Declaration
public string Reason { get; }

Methods

CreateSuccess(String)

Declaration
public static AuthenticationResult CreateSuccess(string reason)
Parameters
TypeNameDescription
System.Stringreason
Returns
TypeDescription
Mirage.Authentication.AuthenticationResult

CreateSuccess(INetworkAuthenticator, Object)

Declaration
public static AuthenticationResult CreateSuccess(INetworkAuthenticator authenticator, object data)
Parameters
TypeNameDescription
Mirage.Authentication.INetworkAuthenticatorauthenticator
System.Objectdata
Returns
TypeDescription
Mirage.Authentication.AuthenticationResult

CreateSuccess(String, INetworkAuthenticator, Object)

Declaration
public static AuthenticationResult CreateSuccess(string reason, INetworkAuthenticator authenticator, object data)
Parameters
TypeNameDescription
System.Stringreason
Mirage.Authentication.INetworkAuthenticatorauthenticator
System.Objectdata
Returns
TypeDescription
Mirage.Authentication.AuthenticationResult

CreateFail(String)

Declaration
public static AuthenticationResult CreateFail(string reason)
Parameters
TypeNameDescription
System.Stringreason
Returns
TypeDescription
Mirage.Authentication.AuthenticationResult

CreateFail(String, INetworkAuthenticator)

Declaration
public static AuthenticationResult CreateFail(string reason, INetworkAuthenticator authenticator)
Parameters
TypeNameDescription
System.Stringreason
Mirage.Authentication.INetworkAuthenticatorauthenticator
Returns
TypeDescription
Mirage.Authentication.AuthenticationResult
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authentication/AuthenticatorSettings/index.html b/docs/reference/Mirage.Authentication/AuthenticatorSettings/index.html new file mode 100644 index 00000000000..8d0dd39df99 --- /dev/null +++ b/docs/reference/Mirage.Authentication/AuthenticatorSettings/index.html @@ -0,0 +1,17 @@ + + + + + + +AuthenticatorSettings | Mirage Networking + + + + +
+

Class AuthenticatorSettings

Inheritance
System.Object
Syntax
public sealed class AuthenticatorSettings : MonoBehaviour

Fields

TimeoutSeconds

Declaration
public int TimeoutSeconds

RequireHostToAuthenticate

Declaration
public bool RequireHostToAuthenticate

Authenticators

Declaration
public List<NetworkAuthenticator> Authenticators

Methods

Setup(NetworkServer)

Declaration
public void Setup(NetworkServer server)
Parameters
TypeNameDescription
Mirage.NetworkServerserver

ServerAuthenticate(INetworkPlayer)

Declaration
public UniTask<AuthenticationResult> ServerAuthenticate(INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayer
Returns
TypeDescription
Cysharp.Threading.Tasks.UniTask<Mirage.Authentication.AuthenticationResult>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authentication/IAuthenticationDataWrapper/index.html b/docs/reference/Mirage.Authentication/IAuthenticationDataWrapper/index.html new file mode 100644 index 00000000000..a07f70e62d7 --- /dev/null +++ b/docs/reference/Mirage.Authentication/IAuthenticationDataWrapper/index.html @@ -0,0 +1,18 @@ + + + + + + +IAuthenticationDataWrapper | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authentication/INetworkAuthenticator/index.html b/docs/reference/Mirage.Authentication/INetworkAuthenticator/index.html new file mode 100644 index 00000000000..413854a2a71 --- /dev/null +++ b/docs/reference/Mirage.Authentication/INetworkAuthenticator/index.html @@ -0,0 +1,17 @@ + + + + + + +INetworkAuthenticator | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authentication/NetworkAuthenticator-1/index.html b/docs/reference/Mirage.Authentication/NetworkAuthenticator-1/index.html new file mode 100644 index 00000000000..154abb7f5fa --- /dev/null +++ b/docs/reference/Mirage.Authentication/NetworkAuthenticator-1/index.html @@ -0,0 +1,19 @@ + + + + + + +NetworkAuthenticator<T> | Mirage Networking + + + + +
+

Class NetworkAuthenticator<T>

Inheritance
System.Object
Mirage.Authentication.NetworkAuthenticator
Inherited Members
Show

Mirage.Authentication.NetworkAuthenticator.AuthenticatorName

Syntax
public abstract class NetworkAuthenticator<T> : NetworkAuthenticator, INetworkAuthenticator
Type Parameters
NameDescription
T

Methods

AuthenticateAsync(INetworkPlayer, T)

Called on server to Authenticate a message from client

Use OR . +By default the async version just call the normal version.

Declaration
protected virtual UniTask<AuthenticationResult> AuthenticateAsync(INetworkPlayer player, T message)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerplayer that send message
Tmessage
Returns
TypeDescription
Cysharp.Threading.Tasks.UniTask<Mirage.Authentication.AuthenticationResult>

Authenticate(INetworkPlayer, T)

Called on server to Authenticate a message from client

Use OR . +By default the async version just call the normal version.

Declaration
protected virtual AuthenticationResult Authenticate(INetworkPlayer player, T message)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayer
Tmessage
Returns
TypeDescription
Mirage.Authentication.AuthenticationResult

SendAuthentication(NetworkClient, T)

Sends Authentication from client

Declaration
public void SendAuthentication(NetworkClient client, T message)
Parameters
TypeNameDescription
Mirage.NetworkClientclient
Tmessage
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authentication/NetworkAuthenticator/index.html b/docs/reference/Mirage.Authentication/NetworkAuthenticator/index.html new file mode 100644 index 00000000000..27bf1cfb126 --- /dev/null +++ b/docs/reference/Mirage.Authentication/NetworkAuthenticator/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkAuthenticator | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authentication/PlayerAuthentication/index.html b/docs/reference/Mirage.Authentication/PlayerAuthentication/index.html new file mode 100644 index 00000000000..bfc59ccfc8d --- /dev/null +++ b/docs/reference/Mirage.Authentication/PlayerAuthentication/index.html @@ -0,0 +1,19 @@ + + + + + + +PlayerAuthentication | Mirage Networking + + + + +
+

Class PlayerAuthentication

Inheritance
System.Object
Inherited Members
Show
Syntax
public class PlayerAuthentication

Constructors

PlayerAuthentication(INetworkAuthenticator, Object)

Declaration
public PlayerAuthentication(INetworkAuthenticator authenticator, object data)
Parameters
TypeNameDescription
Mirage.Authentication.INetworkAuthenticatorauthenticator
System.Objectdata

Fields

Authenticator

What Authenticator was used to accept this player +Null if no Authenticator existed on Server

Declaration
public readonly INetworkAuthenticator Authenticator

Data

Authentication data set by Authenticator when player is accepted

Declaration
public readonly object Data

Methods

GetData<T>()

Helper method to cast to type set by NetworkAuthenticatorBase +WARNING: this function is NOT thread safe when data is rather than T directly

Declaration
public T GetData<T>()
Returns
TypeDescription
T
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authentication/index.html b/docs/reference/Mirage.Authentication/index.html new file mode 100644 index 00000000000..bc3d8ac6dbb --- /dev/null +++ b/docs/reference/Mirage.Authentication/index.html @@ -0,0 +1,19 @@ + + + + + + +Mirage.Authentication | Mirage Networking + + + + +
+

Mirage.Authentication

Classes

AuthenticatorSettings

NetworkAuthenticator

NetworkAuthenticator<T>

PlayerAuthentication

Structs

AuthMessage

Wrapper message around auth message sent by a

This type is used to that it can be receive before player is authenticated. +ALl AuthMessage will be handled by an Authenticator instead of the normal message handler

AuthSuccessMessage

AuthenticationResult

Result from Authentication, Use static methods to create new instance

Interfaces

IAuthenticationDataWrapper

Auth data might be a wrapper around another Authenticator's data. +In that case should check if data is T or if it is IDataWrapper

INetworkAuthenticator

+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authenticators.SessionId/ClientSession/index.html b/docs/reference/Mirage.Authenticators.SessionId/ClientSession/index.html new file mode 100644 index 00000000000..0a4f34a4f30 --- /dev/null +++ b/docs/reference/Mirage.Authenticators.SessionId/ClientSession/index.html @@ -0,0 +1,17 @@ + + + + + + +ClientSession | Mirage Networking + + + + +
+

Class ClientSession

Inheritance
System.Object
Inherited Members
Show
Syntax
public class ClientSession

Fields

Timeout

Declaration
public DateTime Timeout

Key

Declaration
public byte[] Key

Methods

NeedsRefreshing(TimeSpan)

Declaration
public bool NeedsRefreshing(TimeSpan tillRefresh)
Parameters
TypeNameDescription
System.TimeSpantillRefresh
Returns
TypeDescription
System.Boolean
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authenticators.SessionId/CreateSession/index.html b/docs/reference/Mirage.Authenticators.SessionId/CreateSession/index.html new file mode 100644 index 00000000000..68b661ffa79 --- /dev/null +++ b/docs/reference/Mirage.Authenticators.SessionId/CreateSession/index.html @@ -0,0 +1,17 @@ + + + + + + +CreateSession | Mirage Networking + + + + +
+

Class CreateSession

Creates a session to be used by

Inheritance
System.Object
Syntax
public class CreateSession : MonoBehaviour

Fields

Server

Declaration
public NetworkServer Server

Client

Declaration
public NetworkClient Client

Authenticator

Declaration
public SessionIdAuthenticator Authenticator

AutoRefreshSession

Declaration
public bool AutoRefreshSession

Methods

Start()

Declaration
public void Start()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authenticators.SessionId/ISessionIdStore/index.html b/docs/reference/Mirage.Authenticators.SessionId/ISessionIdStore/index.html new file mode 100644 index 00000000000..336dc806a7b --- /dev/null +++ b/docs/reference/Mirage.Authenticators.SessionId/ISessionIdStore/index.html @@ -0,0 +1,17 @@ + + + + + + +ISessionIdStore | Mirage Networking + + + + +
+

Interface ISessionIdStore

Syntax
public interface ISessionIdStore

Methods

TryGetSession(out ClientSession)

Declaration
bool TryGetSession(out ClientSession session)
Parameters
TypeNameDescription
Mirage.Authenticators.SessionId.ClientSessionsession
Returns
TypeDescription
System.Boolean

StoreSession(ClientSession)

Declaration
void StoreSession(ClientSession session)
Parameters
TypeNameDescription
Mirage.Authenticators.SessionId.ClientSessionsession
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authenticators.SessionId/RequestSessionMessage/index.html b/docs/reference/Mirage.Authenticators.SessionId/RequestSessionMessage/index.html new file mode 100644 index 00000000000..c13f76d04be --- /dev/null +++ b/docs/reference/Mirage.Authenticators.SessionId/RequestSessionMessage/index.html @@ -0,0 +1,17 @@ + + + + + + +RequestSessionMessage | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authenticators.SessionId/SessionData/index.html b/docs/reference/Mirage.Authenticators.SessionId/SessionData/index.html new file mode 100644 index 00000000000..58fba20e3f1 --- /dev/null +++ b/docs/reference/Mirage.Authenticators.SessionId/SessionData/index.html @@ -0,0 +1,17 @@ + + + + + + +SessionData | Mirage Networking + + + + +
+

Class SessionData

Inheritance
System.Object
Inherited Members
Show
Syntax
public class SessionData : IAuthenticationDataWrapper

Fields

Timeout

Declaration
public DateTime Timeout

PlayerAuthentication

Declaration
public PlayerAuthentication PlayerAuthentication

Properties

IAuthenticationDataWrapper.Inner

Declaration
object IAuthenticationDataWrapper.Inner { get; }
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator/index.html b/docs/reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator/index.html new file mode 100644 index 00000000000..64beaccfaf6 --- /dev/null +++ b/docs/reference/Mirage.Authenticators.SessionId/SessionIdAuthenticator/index.html @@ -0,0 +1,17 @@ + + + + + + +SessionIdAuthenticator | Mirage Networking + + + + +
+

Class SessionIdAuthenticator

Inheritance
System.Object
Mirage.Authentication.NetworkAuthenticator
Mirage.Authentication.NetworkAuthenticator<Mirage.Authenticators.SessionId.SessionKeyMessage>
Inherited Members
Show

Mirage.Authentication.NetworkAuthenticator<Mirage.Authenticators.SessionId.SessionKeyMessage>.AuthenticateAsync(Mirage.INetworkPlayer, Mirage.Authenticators.SessionId.SessionKeyMessage)

Mirage.Authentication.NetworkAuthenticator<Mirage.Authenticators.SessionId.SessionKeyMessage>.SendAuthentication(Mirage.NetworkClient, Mirage.Authenticators.SessionId.SessionKeyMessage)

Mirage.Authentication.NetworkAuthenticator.AuthenticatorName

Syntax
public class SessionIdAuthenticator : NetworkAuthenticator<SessionKeyMessage>, INetworkAuthenticator

Fields

NO_KEY_ERROR

Declaration
public const string NO_KEY_ERROR = "Empty key from client"

NOT_FOUND_ERROR

Declaration
public const string NOT_FOUND_ERROR = "No session found"

SessionIDLength

Declaration
public int SessionIDLength

TimeoutMinutes

Declaration
public int TimeoutMinutes

ClientIdStore

Set on client to save key somewhere. For example as a cookie on webgl

By default it is just stored in memory

Declaration
public ISessionIdStore ClientIdStore

Methods

Authenticate(INetworkPlayer, SessionKeyMessage)

Declaration
protected override AuthenticationResult Authenticate(INetworkPlayer player, SessionKeyMessage message)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayer
Mirage.Authenticators.SessionId.SessionKeyMessagemessage
Returns
TypeDescription
Mirage.Authentication.AuthenticationResult

CreateOrRefreshSession(INetworkPlayer)

Declaration
public ArraySegment<byte> CreateOrRefreshSession(INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayer
Returns
TypeDescription
System.ArraySegment<System.Byte>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authenticators.SessionId/SessionKeyMessage/index.html b/docs/reference/Mirage.Authenticators.SessionId/SessionKeyMessage/index.html new file mode 100644 index 00000000000..00df3ac3cf3 --- /dev/null +++ b/docs/reference/Mirage.Authenticators.SessionId/SessionKeyMessage/index.html @@ -0,0 +1,17 @@ + + + + + + +SessionKeyMessage | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authenticators.SessionId/index.html b/docs/reference/Mirage.Authenticators.SessionId/index.html new file mode 100644 index 00000000000..524df2ac8ca --- /dev/null +++ b/docs/reference/Mirage.Authenticators.SessionId/index.html @@ -0,0 +1,17 @@ + + + + + + +Mirage.Authenticators.SessionId | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage/index.html b/docs/reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage/index.html new file mode 100644 index 00000000000..bbdff0c0716 --- /dev/null +++ b/docs/reference/Mirage.Authenticators/BasicAuthenticator.JoinMessage/index.html @@ -0,0 +1,17 @@ + + + + + + +BasicAuthenticator.JoinMessage | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authenticators/BasicAuthenticator/index.html b/docs/reference/Mirage.Authenticators/BasicAuthenticator/index.html new file mode 100644 index 00000000000..4840639d4c2 --- /dev/null +++ b/docs/reference/Mirage.Authenticators/BasicAuthenticator/index.html @@ -0,0 +1,17 @@ + + + + + + +BasicAuthenticator | Mirage Networking + + + + +
+

Class BasicAuthenticator

Inheritance
System.Object
Mirage.Authentication.NetworkAuthenticator
Mirage.Authentication.NetworkAuthenticator<Mirage.Authenticators.BasicAuthenticator.JoinMessage>
Inherited Members
Show

Mirage.Authentication.NetworkAuthenticator<Mirage.Authenticators.BasicAuthenticator.JoinMessage>.AuthenticateAsync(Mirage.INetworkPlayer, Mirage.Authenticators.BasicAuthenticator.JoinMessage)

Mirage.Authentication.NetworkAuthenticator<Mirage.Authenticators.BasicAuthenticator.JoinMessage>.SendAuthentication(Mirage.NetworkClient, Mirage.Authenticators.BasicAuthenticator.JoinMessage)

Mirage.Authentication.NetworkAuthenticator.AuthenticatorName

Syntax
public class BasicAuthenticator : NetworkAuthenticator<BasicAuthenticator.JoinMessage>, INetworkAuthenticator

Fields

ServerCode

Declaration
public string ServerCode

Methods

Authenticate(INetworkPlayer, BasicAuthenticator.JoinMessage)

Declaration
protected override AuthenticationResult Authenticate(INetworkPlayer player, BasicAuthenticator.JoinMessage message)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayer
Mirage.Authenticators.BasicAuthenticator.JoinMessagemessage
Returns
TypeDescription
Mirage.Authentication.AuthenticationResult

SendCode(NetworkClient, String)

Declaration
public void SendCode(NetworkClient client, string serverCode = null)
Parameters
TypeNameDescription
Mirage.NetworkClientclient
System.StringserverCode
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Authenticators/index.html b/docs/reference/Mirage.Authenticators/index.html new file mode 100644 index 00000000000..eaed01c5e53 --- /dev/null +++ b/docs/reference/Mirage.Authenticators/index.html @@ -0,0 +1,17 @@ + + + + + + +Mirage.Authenticators | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Collections/ISyncObject/index.html b/docs/reference/Mirage.Collections/ISyncObject/index.html new file mode 100644 index 00000000000..65257eed73a --- /dev/null +++ b/docs/reference/Mirage.Collections/ISyncObject/index.html @@ -0,0 +1,21 @@ + + + + + + +ISyncObject | Mirage Networking + + + + +
+

Interface ISyncObject

A sync object is an object that can synchronize it's state +between server and client, such as a SyncList

Syntax
public interface ISyncObject

Properties

IsDirty

true if there are changes since the last flush

Declaration
bool IsDirty { get; }

Methods

SetShouldSyncFrom(Boolean)

Are we sending or receiving data from this instance. This is used to determine if we should throw if a change is made on the wrong instance

Declaration
void SetShouldSyncFrom(bool shouldSync)
Parameters
TypeNameDescription
System.BooleanshouldSync

Flush()

Discard all the queued changes +Consider the object fully synchronized with clients

Declaration
void Flush()

OnSerializeAll(NetworkWriter)

Write a full copy of the object

Declaration
void OnSerializeAll(NetworkWriter writer)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter

OnSerializeDelta(NetworkWriter)

Write the changes made to the object since last sync

Declaration
void OnSerializeDelta(NetworkWriter writer)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter

OnDeserializeAll(NetworkReader)

Reads a full copy of the object

Declaration
void OnDeserializeAll(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader

OnDeserializeDelta(NetworkReader)

Reads the changes made to the object since last sync

Declaration
void OnDeserializeDelta(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader

Reset()

Resets the SyncObject so that it can be re-used

Declaration
void Reset()

SetNetworkBehaviour(NetworkBehaviour)

Sets the NetworkBehaviour that owns this SyncObject +This can be used by custom syncObjects to listen to events on NetworkBehaviour +This will only be called once, the first time the object is spawned (similar to unity's awake call)

Declaration
void SetNetworkBehaviour(NetworkBehaviour networkBehaviour)
Parameters
TypeNameDescription
Mirage.NetworkBehaviournetworkBehaviour
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Collections/SyncDictionary-2/index.html b/docs/reference/Mirage.Collections/SyncDictionary-2/index.html new file mode 100644 index 00000000000..5705b54df2e --- /dev/null +++ b/docs/reference/Mirage.Collections/SyncDictionary-2/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncDictionary<TKey, TValue> | Mirage Networking + + + + +
+

Class SyncDictionary<TKey, TValue>

Inheritance
System.Object
Mirage.Collections.SyncIDictionary<TKey, TValue>
Inherited Members
Show

Mirage.Collections.SyncIDictionary<TKey, TValue>.objects

Mirage.Collections.SyncIDictionary<TKey, TValue>.Count

Mirage.Collections.SyncIDictionary<TKey, TValue>.IsReadOnly

Mirage.Collections.SyncIDictionary<TKey, TValue>.Mirage.Collections.ISyncObject.SetShouldSyncFrom(System.Boolean)

Mirage.Collections.SyncIDictionary<TKey, TValue>.Mirage.Collections.ISyncObject.SetNetworkBehaviour(Mirage.NetworkBehaviour)

Mirage.Collections.SyncIDictionary<TKey, TValue>.OnInsert

Mirage.Collections.SyncIDictionary<TKey, TValue>.OnClear

Mirage.Collections.SyncIDictionary<TKey, TValue>.OnRemove

Mirage.Collections.SyncIDictionary<TKey, TValue>.OnSet

Mirage.Collections.SyncIDictionary<TKey, TValue>.OnChange

Mirage.Collections.SyncIDictionary<TKey, TValue>.Reset()

Mirage.Collections.SyncIDictionary<TKey, TValue>.IsDirty

Mirage.Collections.SyncIDictionary<TKey, TValue>.Keys

Mirage.Collections.SyncIDictionary<TKey, TValue>.Values

Mirage.Collections.SyncIDictionary<TKey, TValue>.System.Collections.Generic.IReadOnlyDictionary<TKey, TValue>.Keys

Mirage.Collections.SyncIDictionary<TKey, TValue>.System.Collections.Generic.IReadOnlyDictionary<TKey, TValue>.Values

Mirage.Collections.SyncIDictionary<TKey, TValue>.Flush()

Mirage.Collections.SyncIDictionary<TKey, TValue>.OnSerializeAll(Mirage.Serialization.NetworkWriter)

Mirage.Collections.SyncIDictionary<TKey, TValue>.OnSerializeDelta(Mirage.Serialization.NetworkWriter)

Mirage.Collections.SyncIDictionary<TKey, TValue>.OnDeserializeAll(Mirage.Serialization.NetworkReader)

Mirage.Collections.SyncIDictionary<TKey, TValue>.OnDeserializeDelta(Mirage.Serialization.NetworkReader)

Mirage.Collections.SyncIDictionary<TKey, TValue>.Clear()

Mirage.Collections.SyncIDictionary<TKey, TValue>.ContainsKey(TKey)

Mirage.Collections.SyncIDictionary<TKey, TValue>.Remove(TKey)

Mirage.Collections.SyncIDictionary<TKey, TValue>.Item[TKey]

Mirage.Collections.SyncIDictionary<TKey, TValue>.TryGetValue(TKey, TValue)

Mirage.Collections.SyncIDictionary<TKey, TValue>.Add(TKey, TValue)

Mirage.Collections.SyncIDictionary<TKey, TValue>.Add(System.Collections.Generic.KeyValuePair<TKey, TValue>)

Mirage.Collections.SyncIDictionary<TKey, TValue>.Contains(System.Collections.Generic.KeyValuePair<TKey, TValue>)

Mirage.Collections.SyncIDictionary<TKey, TValue>.CopyTo(System.Collections.Generic.KeyValuePair<TKey, TValue>[], System.Int32)

Mirage.Collections.SyncIDictionary<TKey, TValue>.Remove(System.Collections.Generic.KeyValuePair<TKey, TValue>)

Mirage.Collections.SyncIDictionary<TKey, TValue>.GetEnumerator()

Mirage.Collections.SyncIDictionary<TKey, TValue>.System.Collections.IEnumerable.GetEnumerator()

Syntax
public class SyncDictionary<TKey, TValue> : SyncIDictionary<TKey, TValue>, IDictionary<TKey, TValue>, ICollection<KeyValuePair<TKey, TValue>>, ISyncObject, IReadOnlyDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable
Type Parameters
NameDescription
TKey
TValue

Constructors

SyncDictionary()

Declaration
public SyncDictionary()

SyncDictionary(IEqualityComparer<TKey>)

Declaration
public SyncDictionary(IEqualityComparer<TKey> eq)
Parameters
TypeNameDescription
System.Collections.Generic.IEqualityComparer<TKey>eq

Properties

Values

Declaration
public Dictionary<TKey, TValue>.ValueCollection Values { get; }

Keys

Declaration
public Dictionary<TKey, TValue>.KeyCollection Keys { get; }

Methods

GetEnumerator()

Declaration
public Dictionary<TKey, TValue>.Enumerator GetEnumerator()
Returns
TypeDescription
System.Collections.Generic.Dictionary.Enumerator<>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Collections/SyncHashSet-1/index.html b/docs/reference/Mirage.Collections/SyncHashSet-1/index.html new file mode 100644 index 00000000000..ef82dd107e1 --- /dev/null +++ b/docs/reference/Mirage.Collections/SyncHashSet-1/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncHashSet<T> | Mirage Networking + + + + +
+

Class SyncHashSet<T>

Inheritance
System.Object
Mirage.Collections.SyncSet<T>
Inherited Members
Show

Mirage.Collections.SyncSet<T>.objects

Mirage.Collections.SyncSet<T>.Count

Mirage.Collections.SyncSet<T>.IsReadOnly

Mirage.Collections.SyncSet<T>.Mirage.Collections.ISyncObject.SetShouldSyncFrom(System.Boolean)

Mirage.Collections.SyncSet<T>.Mirage.Collections.ISyncObject.SetNetworkBehaviour(Mirage.NetworkBehaviour)

Mirage.Collections.SyncSet<T>.OnAdd

Mirage.Collections.SyncSet<T>.OnClear

Mirage.Collections.SyncSet<T>.OnRemove

Mirage.Collections.SyncSet<T>.OnChange

Mirage.Collections.SyncSet<T>.Reset()

Mirage.Collections.SyncSet<T>.IsDirty

Mirage.Collections.SyncSet<T>.Flush()

Mirage.Collections.SyncSet<T>.OnSerializeAll(Mirage.Serialization.NetworkWriter)

Mirage.Collections.SyncSet<T>.OnSerializeDelta(Mirage.Serialization.NetworkWriter)

Mirage.Collections.SyncSet<T>.OnDeserializeAll(Mirage.Serialization.NetworkReader)

Mirage.Collections.SyncSet<T>.OnDeserializeDelta(Mirage.Serialization.NetworkReader)

Mirage.Collections.SyncSet<T>.Add(T)

Mirage.Collections.SyncSet<T>.System.Collections.Generic.ICollection<T>.Add(T)

Mirage.Collections.SyncSet<T>.Clear()

Mirage.Collections.SyncSet<T>.Contains(T)

Mirage.Collections.SyncSet<T>.CopyTo(T[], System.Int32)

Mirage.Collections.SyncSet<T>.Remove(T)

Mirage.Collections.SyncSet<T>.System.Collections.IEnumerable.GetEnumerator()

Mirage.Collections.SyncSet<T>.ExceptWith(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.IntersectWith(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.IsProperSubsetOf(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.IsProperSupersetOf(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.IsSubsetOf(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.IsSupersetOf(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.Overlaps(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.SetEquals(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.SymmetricExceptWith(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.UnionWith(System.Collections.Generic.IEnumerable<T>)

Syntax
public class SyncHashSet<T> : SyncSet<T>, ISet<T>, ICollection<T>, IEnumerable<T>, IEnumerable, ISyncObject
Type Parameters
NameDescription
T

Constructors

SyncHashSet()

Declaration
public SyncHashSet()

SyncHashSet(IEqualityComparer<T>)

Declaration
public SyncHashSet(IEqualityComparer<T> comparer)
Parameters
TypeNameDescription
System.Collections.Generic.IEqualityComparer<T>comparer

Methods

GetEnumerator()

Declaration
public HashSet<T>.Enumerator GetEnumerator()
Returns
TypeDescription
System.Collections.Generic.HashSet.Enumerator<>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Collections/SyncIDictionary-2/index.html b/docs/reference/Mirage.Collections/SyncIDictionary-2/index.html new file mode 100644 index 00000000000..f9f9322cb9c --- /dev/null +++ b/docs/reference/Mirage.Collections/SyncIDictionary-2/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncIDictionary<TKey, TValue> | Mirage Networking + + + + +
+

Class SyncIDictionary<TKey, TValue>

Inheritance
System.Object
Inherited Members
Show
Syntax
public class SyncIDictionary<TKey, TValue> : IDictionary<TKey, TValue>, ICollection<KeyValuePair<TKey, TValue>>, ISyncObject, IReadOnlyDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable
Type Parameters
NameDescription
TKey
TValue

Constructors

SyncIDictionary(IDictionary<TKey, TValue>)

Declaration
public SyncIDictionary(IDictionary<TKey, TValue> objects)
Parameters
TypeNameDescription
System.Collections.Generic.IDictionary<TKey, TValue>objects

Fields

objects

Declaration
protected readonly IDictionary<TKey, TValue> objects

Properties

Count

Declaration
public int Count { get; }

IsReadOnly

Declaration
public bool IsReadOnly { get; }

IsDirty

Declaration
public bool IsDirty { get; }

Keys

Declaration
public ICollection<TKey> Keys { get; }

Values

Declaration
public ICollection<TValue> Values { get; }

IReadOnlyDictionary<TKey, TValue>.Keys

Declaration
IEnumerable<TKey> IReadOnlyDictionary<TKey, TValue>.Keys { get; }

IReadOnlyDictionary<TKey, TValue>.Values

Declaration
IEnumerable<TValue> IReadOnlyDictionary<TKey, TValue>.Values { get; }

Item[TKey]

Declaration
public TValue this[TKey i] { get; set; }

Methods

ISyncObject.SetShouldSyncFrom(Boolean)

Declaration
void ISyncObject.SetShouldSyncFrom(bool shouldSync)
Parameters
TypeNameDescription
System.BooleanshouldSync

ISyncObject.SetNetworkBehaviour(NetworkBehaviour)

Declaration
void ISyncObject.SetNetworkBehaviour(NetworkBehaviour networkBehaviour)
Parameters
TypeNameDescription
Mirage.NetworkBehaviournetworkBehaviour

Reset()

Declaration
public void Reset()

Flush()

Declaration
public void Flush()

OnSerializeAll(NetworkWriter)

Declaration
public void OnSerializeAll(NetworkWriter writer)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter

OnSerializeDelta(NetworkWriter)

Declaration
public void OnSerializeDelta(NetworkWriter writer)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter

OnDeserializeAll(NetworkReader)

Declaration
public void OnDeserializeAll(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader

OnDeserializeDelta(NetworkReader)

Declaration
public void OnDeserializeDelta(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader

Clear()

Declaration
public void Clear()

ContainsKey(TKey)

Declaration
public bool ContainsKey(TKey key)
Parameters
TypeNameDescription
TKeykey
Returns
TypeDescription
System.Boolean

Remove(TKey)

Declaration
public bool Remove(TKey key)
Parameters
TypeNameDescription
TKeykey
Returns
TypeDescription
System.Boolean

TryGetValue(TKey, out TValue)

Declaration
public bool TryGetValue(TKey key, out TValue value)
Parameters
TypeNameDescription
TKeykey
TValuevalue
Returns
TypeDescription
System.Boolean

Add(TKey, TValue)

Declaration
public void Add(TKey key, TValue value)
Parameters
TypeNameDescription
TKeykey
TValuevalue

Add(KeyValuePair<TKey, TValue>)

Declaration
public void Add(KeyValuePair<TKey, TValue> item)
Parameters
TypeNameDescription
System.Collections.Generic.KeyValuePair<TKey, TValue>item

Contains(KeyValuePair<TKey, TValue>)

Declaration
public bool Contains(KeyValuePair<TKey, TValue> item)
Parameters
TypeNameDescription
System.Collections.Generic.KeyValuePair<TKey, TValue>item
Returns
TypeDescription
System.Boolean

CopyTo(KeyValuePair<TKey, TValue>[], Int32)

Declaration
public void CopyTo(KeyValuePair<TKey, TValue>[] array, int arrayIndex)
Parameters
TypeNameDescription
System.Collections.Generic.KeyValuePair{{TKey},{TValue}}[]array
System.Int32arrayIndex

Remove(KeyValuePair<TKey, TValue>)

Declaration
public bool Remove(KeyValuePair<TKey, TValue> item)
Parameters
TypeNameDescription
System.Collections.Generic.KeyValuePair<TKey, TValue>item
Returns
TypeDescription
System.Boolean

GetEnumerator()

Declaration
public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator()
Returns
TypeDescription
System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<TKey, TValue>>

IEnumerable.GetEnumerator()

Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
TypeDescription
System.Collections.IEnumerator
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Collections/SyncList-1.Enumerator/index.html b/docs/reference/Mirage.Collections/SyncList-1.Enumerator/index.html new file mode 100644 index 00000000000..560aa6d4309 --- /dev/null +++ b/docs/reference/Mirage.Collections/SyncList-1.Enumerator/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncList<T>.Enumerator | Mirage Networking + + + + +
+

Struct SyncList<T>.Enumerator

Syntax
public struct Enumerator : IEnumerator<T>, IEnumerator, IDisposable

Constructors

Enumerator(SyncList<T>)

Declaration
public Enumerator(SyncList<T> list)
Parameters
TypeNameDescription
Mirage.Collections.SyncList<T>list

Properties

Current

Declaration
public T Current { get; }

IEnumerator.Current

Declaration
object IEnumerator.Current { get; }

Methods

MoveNext()

Declaration
public bool MoveNext()
Returns
TypeDescription
System.Boolean

Reset()

Declaration
public void Reset()

Dispose()

Declaration
public void Dispose()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Collections/SyncList-1/index.html b/docs/reference/Mirage.Collections/SyncList-1/index.html new file mode 100644 index 00000000000..1293773def1 --- /dev/null +++ b/docs/reference/Mirage.Collections/SyncList-1/index.html @@ -0,0 +1,20 @@ + + + + + + +SyncList<T> | Mirage Networking + + + + +
+

Class SyncList<T>

Inheritance
System.Object
Inherited Members
Show
Syntax
public class SyncList<T> : IList<T>, ICollection<T>, IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable, ISyncObject
Type Parameters
NameDescription
T

Constructors

SyncList()

Declaration
public SyncList()

SyncList(IEqualityComparer<T>)

Declaration
public SyncList(IEqualityComparer<T> comparer)
Parameters
TypeNameDescription
System.Collections.Generic.IEqualityComparer<T>comparer

SyncList(IList<T>, IEqualityComparer<T>)

Declaration
public SyncList(IList<T> objects, IEqualityComparer<T> comparer = null)
Parameters
TypeNameDescription
System.Collections.Generic.IList<T>objects
System.Collections.Generic.IEqualityComparer<T>comparer

Properties

Count

Declaration
public int Count { get; }

IsReadOnly

Declaration
public bool IsReadOnly { get; }

IsDirty

Declaration
public bool IsDirty { get; }

Item[Int32]

Declaration
public T this[int i] { get; set; }

Methods

ISyncObject.SetShouldSyncFrom(Boolean)

Declaration
void ISyncObject.SetShouldSyncFrom(bool shouldSync)
Parameters
TypeNameDescription
System.BooleanshouldSync

ISyncObject.SetNetworkBehaviour(NetworkBehaviour)

Declaration
void ISyncObject.SetNetworkBehaviour(NetworkBehaviour networkBehaviour)
Parameters
TypeNameDescription
Mirage.NetworkBehaviournetworkBehaviour

Flush()

Declaration
public void Flush()

Reset()

Declaration
public void Reset()

OnSerializeAll(NetworkWriter)

Declaration
public void OnSerializeAll(NetworkWriter writer)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter

OnSerializeDelta(NetworkWriter)

Declaration
public void OnSerializeDelta(NetworkWriter writer)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter

OnDeserializeAll(NetworkReader)

Declaration
public void OnDeserializeAll(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader

OnDeserializeDelta(NetworkReader)

Declaration
public void OnDeserializeDelta(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader

Add(T)

Declaration
public void Add(T item)
Parameters
TypeNameDescription
Titem

AddRange(IEnumerable<T>)

Declaration
public void AddRange(IEnumerable<T> range)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<T>range

Clear()

Declaration
public void Clear()

Contains(T)

Declaration
public bool Contains(T item)
Parameters
TypeNameDescription
Titem
Returns
TypeDescription
System.Boolean

CopyTo(T[], Int32)

Declaration
public void CopyTo(T[] array, int arrayIndex)
Parameters
TypeNameDescription
{T}[]array
System.Int32arrayIndex

IndexOf(T)

Declaration
public int IndexOf(T item)
Parameters
TypeNameDescription
Titem
Returns
TypeDescription
System.Int32

FindIndex(Predicate<T>)

Declaration
public int FindIndex(Predicate<T> match)
Parameters
TypeNameDescription
System.Predicate<T>match
Returns
TypeDescription
System.Int32

Find(Predicate<T>)

Declaration
public T Find(Predicate<T> match)
Parameters
TypeNameDescription
System.Predicate<T>match
Returns
TypeDescription
T

FindAll(Predicate<T>)

Declaration
public List<T> FindAll(Predicate<T> match)
Parameters
TypeNameDescription
System.Predicate<T>match
Returns
TypeDescription
System.Collections.Generic.List<T>

Insert(Int32, T)

Declaration
public void Insert(int index, T item)
Parameters
TypeNameDescription
System.Int32index
Titem

InsertRange(Int32, IEnumerable<T>)

Declaration
public void InsertRange(int index, IEnumerable<T> range)
Parameters
TypeNameDescription
System.Int32index
System.Collections.Generic.IEnumerable<T>range

Remove(T)

Declaration
public bool Remove(T item)
Parameters
TypeNameDescription
Titem
Returns
TypeDescription
System.Boolean

RemoveAt(Int32)

Declaration
public void RemoveAt(int index)
Parameters
TypeNameDescription
System.Int32index

RemoveAll(Predicate<T>)

Declaration
public int RemoveAll(Predicate<T> match)
Parameters
TypeNameDescription
System.Predicate<T>match
Returns
TypeDescription
System.Int32

SetItemDirty(T)

Can be used to set item dirty manually. +should be used with classes to avoid having to clear field first +Will invoke OnSet

Declaration
public void SetItemDirty(T item)
Parameters
TypeNameDescription
Titem

SetItemDirtyAt(Int32)

Can be used to set item dirty manually. +should be used with classes to avoid having to clear field first

Declaration
public void SetItemDirtyAt(int index)
Parameters
TypeNameDescription
System.Int32index

GetEnumerator()

Declaration
public SyncList<T>.Enumerator GetEnumerator()
Returns
TypeDescription
Mirage.Collections.SyncList.Enumerator<>

IEnumerable<T>.GetEnumerator()

Declaration
IEnumerator<T> IEnumerable<T>.GetEnumerator()
Returns
TypeDescription
System.Collections.Generic.IEnumerator<T>

IEnumerable.GetEnumerator()

Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
TypeDescription
System.Collections.IEnumerator
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Collections/SyncObjectUtils/index.html b/docs/reference/Mirage.Collections/SyncObjectUtils/index.html new file mode 100644 index 00000000000..d213335e9bf --- /dev/null +++ b/docs/reference/Mirage.Collections/SyncObjectUtils/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncObjectUtils | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Collections/SyncSet-1/index.html b/docs/reference/Mirage.Collections/SyncSet-1/index.html new file mode 100644 index 00000000000..c94be4ca264 --- /dev/null +++ b/docs/reference/Mirage.Collections/SyncSet-1/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncSet<T> | Mirage Networking + + + + +
+

Class SyncSet<T>

Inheritance
System.Object
Inherited Members
Show
Syntax
public class SyncSet<T> : ISet<T>, ICollection<T>, IEnumerable<T>, IEnumerable, ISyncObject
Type Parameters
NameDescription
T

Constructors

SyncSet(ISet<T>)

Declaration
public SyncSet(ISet<T> objects)
Parameters
TypeNameDescription
System.Collections.Generic.ISet<T>objects

Fields

objects

Declaration
protected readonly ISet<T> objects

Properties

Count

Declaration
public int Count { get; }

IsReadOnly

Declaration
public bool IsReadOnly { get; }

IsDirty

Declaration
public bool IsDirty { get; }

Methods

ISyncObject.SetShouldSyncFrom(Boolean)

Declaration
void ISyncObject.SetShouldSyncFrom(bool shouldSync)
Parameters
TypeNameDescription
System.BooleanshouldSync

ISyncObject.SetNetworkBehaviour(NetworkBehaviour)

Declaration
void ISyncObject.SetNetworkBehaviour(NetworkBehaviour networkBehaviour)
Parameters
TypeNameDescription
Mirage.NetworkBehaviournetworkBehaviour

Reset()

Declaration
public void Reset()

Flush()

Declaration
public void Flush()

OnSerializeAll(NetworkWriter)

Declaration
public void OnSerializeAll(NetworkWriter writer)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter

OnSerializeDelta(NetworkWriter)

Declaration
public void OnSerializeDelta(NetworkWriter writer)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter

OnDeserializeAll(NetworkReader)

Declaration
public void OnDeserializeAll(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader

OnDeserializeDelta(NetworkReader)

Declaration
public void OnDeserializeDelta(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader

Add(T)

Declaration
public bool Add(T item)
Parameters
TypeNameDescription
Titem
Returns
TypeDescription
System.Boolean

ICollection<T>.Add(T)

Declaration
void ICollection<T>.Add(T item)
Parameters
TypeNameDescription
Titem

Clear()

Declaration
public void Clear()

Contains(T)

Declaration
public bool Contains(T item)
Parameters
TypeNameDescription
Titem
Returns
TypeDescription
System.Boolean

CopyTo(T[], Int32)

Declaration
public void CopyTo(T[] array, int arrayIndex)
Parameters
TypeNameDescription
{T}[]array
System.Int32arrayIndex

Remove(T)

Declaration
public bool Remove(T item)
Parameters
TypeNameDescription
Titem
Returns
TypeDescription
System.Boolean

GetEnumerator()

Declaration
public IEnumerator<T> GetEnumerator()
Returns
TypeDescription
System.Collections.Generic.IEnumerator<T>

IEnumerable.GetEnumerator()

Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
TypeDescription
System.Collections.IEnumerator

ExceptWith(IEnumerable<T>)

Declaration
public void ExceptWith(IEnumerable<T> other)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<T>other

IntersectWith(IEnumerable<T>)

Declaration
public void IntersectWith(IEnumerable<T> other)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<T>other

IsProperSubsetOf(IEnumerable<T>)

Declaration
public bool IsProperSubsetOf(IEnumerable<T> other)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<T>other
Returns
TypeDescription
System.Boolean

IsProperSupersetOf(IEnumerable<T>)

Declaration
public bool IsProperSupersetOf(IEnumerable<T> other)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<T>other
Returns
TypeDescription
System.Boolean

IsSubsetOf(IEnumerable<T>)

Declaration
public bool IsSubsetOf(IEnumerable<T> other)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<T>other
Returns
TypeDescription
System.Boolean

IsSupersetOf(IEnumerable<T>)

Declaration
public bool IsSupersetOf(IEnumerable<T> other)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<T>other
Returns
TypeDescription
System.Boolean

Overlaps(IEnumerable<T>)

Declaration
public bool Overlaps(IEnumerable<T> other)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<T>other
Returns
TypeDescription
System.Boolean

SetEquals(IEnumerable<T>)

Declaration
public bool SetEquals(IEnumerable<T> other)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<T>other
Returns
TypeDescription
System.Boolean

SymmetricExceptWith(IEnumerable<T>)

Declaration
public void SymmetricExceptWith(IEnumerable<T> other)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<T>other

UnionWith(IEnumerable<T>)

Declaration
public void UnionWith(IEnumerable<T> other)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<T>other
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Collections/SyncSortedSet-1/index.html b/docs/reference/Mirage.Collections/SyncSortedSet-1/index.html new file mode 100644 index 00000000000..f7087c7db3d --- /dev/null +++ b/docs/reference/Mirage.Collections/SyncSortedSet-1/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncSortedSet<T> | Mirage Networking + + + + +
+

Class SyncSortedSet<T>

Inheritance
System.Object
Mirage.Collections.SyncSet<T>
Inherited Members
Show

Mirage.Collections.SyncSet<T>.objects

Mirage.Collections.SyncSet<T>.Count

Mirage.Collections.SyncSet<T>.IsReadOnly

Mirage.Collections.SyncSet<T>.Mirage.Collections.ISyncObject.SetShouldSyncFrom(System.Boolean)

Mirage.Collections.SyncSet<T>.Mirage.Collections.ISyncObject.SetNetworkBehaviour(Mirage.NetworkBehaviour)

Mirage.Collections.SyncSet<T>.OnAdd

Mirage.Collections.SyncSet<T>.OnClear

Mirage.Collections.SyncSet<T>.OnRemove

Mirage.Collections.SyncSet<T>.OnChange

Mirage.Collections.SyncSet<T>.Reset()

Mirage.Collections.SyncSet<T>.IsDirty

Mirage.Collections.SyncSet<T>.Flush()

Mirage.Collections.SyncSet<T>.OnSerializeAll(Mirage.Serialization.NetworkWriter)

Mirage.Collections.SyncSet<T>.OnSerializeDelta(Mirage.Serialization.NetworkWriter)

Mirage.Collections.SyncSet<T>.OnDeserializeAll(Mirage.Serialization.NetworkReader)

Mirage.Collections.SyncSet<T>.OnDeserializeDelta(Mirage.Serialization.NetworkReader)

Mirage.Collections.SyncSet<T>.Add(T)

Mirage.Collections.SyncSet<T>.System.Collections.Generic.ICollection<T>.Add(T)

Mirage.Collections.SyncSet<T>.Clear()

Mirage.Collections.SyncSet<T>.Contains(T)

Mirage.Collections.SyncSet<T>.CopyTo(T[], System.Int32)

Mirage.Collections.SyncSet<T>.Remove(T)

Mirage.Collections.SyncSet<T>.System.Collections.IEnumerable.GetEnumerator()

Mirage.Collections.SyncSet<T>.ExceptWith(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.IntersectWith(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.IsProperSubsetOf(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.IsProperSupersetOf(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.IsSubsetOf(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.IsSupersetOf(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.Overlaps(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.SetEquals(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.SymmetricExceptWith(System.Collections.Generic.IEnumerable<T>)

Mirage.Collections.SyncSet<T>.UnionWith(System.Collections.Generic.IEnumerable<T>)

Syntax
public class SyncSortedSet<T> : SyncSet<T>, ISet<T>, ICollection<T>, IEnumerable<T>, IEnumerable, ISyncObject
Type Parameters
NameDescription
T

Constructors

SyncSortedSet()

Declaration
public SyncSortedSet()

SyncSortedSet(IComparer<T>)

Declaration
public SyncSortedSet(IComparer<T> comparer)
Parameters
TypeNameDescription
System.Collections.Generic.IComparer<T>comparer

Methods

GetEnumerator()

Declaration
public SortedSet<T>.Enumerator GetEnumerator()
Returns
TypeDescription
System.Collections.Generic.SortedSet.Enumerator<>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Collections/SyncStack-1/index.html b/docs/reference/Mirage.Collections/SyncStack-1/index.html new file mode 100644 index 00000000000..a90024ec7db --- /dev/null +++ b/docs/reference/Mirage.Collections/SyncStack-1/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncStack<T> | Mirage Networking + + + + +
+

Class SyncStack<T>

Inheritance
System.Object
Inherited Members
Show
Syntax
public class SyncStack<T> : IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable, ISyncObject
Type Parameters
NameDescription
T

Constructors

SyncStack()

Declaration
public SyncStack()

SyncStack(Stack<T>)

Declaration
public SyncStack(Stack<T> objects)
Parameters
TypeNameDescription
System.Collections.Generic.Stack<T>objects

Properties

Count

Declaration
public int Count { get; }

IsReadOnly

Declaration
public bool IsReadOnly { get; }

IsDirty

Declaration
public bool IsDirty { get; }

Methods

ISyncObject.SetShouldSyncFrom(Boolean)

Declaration
void ISyncObject.SetShouldSyncFrom(bool shouldSync)
Parameters
TypeNameDescription
System.BooleanshouldSync

ISyncObject.SetNetworkBehaviour(NetworkBehaviour)

Declaration
void ISyncObject.SetNetworkBehaviour(NetworkBehaviour networkBehaviour)
Parameters
TypeNameDescription
Mirage.NetworkBehaviournetworkBehaviour

Flush()

Declaration
public void Flush()

Reset()

Declaration
public void Reset()

OnSerializeAll(NetworkWriter)

Declaration
public void OnSerializeAll(NetworkWriter writer)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter

OnSerializeDelta(NetworkWriter)

Declaration
public void OnSerializeDelta(NetworkWriter writer)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter

OnDeserializeAll(NetworkReader)

Declaration
public void OnDeserializeAll(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader

OnDeserializeDelta(NetworkReader)

Declaration
public void OnDeserializeDelta(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader

Push(T)

Declaration
public void Push(T item)
Parameters
TypeNameDescription
Titem

AddRange(IEnumerable<T>)

Declaration
public void AddRange(IEnumerable<T> range)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<T>range

Clear()

Declaration
public void Clear()

CopyTo(T[], Int32)

Declaration
public void CopyTo(T[] array, int arrayIndex)
Parameters
TypeNameDescription
{T}[]array
System.Int32arrayIndex

Pop()

Declaration
public T Pop()
Returns
TypeDescription
T

IEnumerable<T>.GetEnumerator()

Declaration
IEnumerator<T> IEnumerable<T>.GetEnumerator()
Returns
TypeDescription
System.Collections.Generic.IEnumerator<T>

IEnumerable.GetEnumerator()

Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
TypeDescription
System.Collections.IEnumerator
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Collections/index.html b/docs/reference/Mirage.Collections/index.html new file mode 100644 index 00000000000..7937268ab49 --- /dev/null +++ b/docs/reference/Mirage.Collections/index.html @@ -0,0 +1,18 @@ + + + + + + +Mirage.Collections | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Components/LobbyReady/index.html b/docs/reference/Mirage.Components/LobbyReady/index.html new file mode 100644 index 00000000000..d4e39377d65 --- /dev/null +++ b/docs/reference/Mirage.Components/LobbyReady/index.html @@ -0,0 +1,17 @@ + + + + + + +LobbyReady | Mirage Networking + + + + +
+

Class LobbyReady

Inheritance
System.Object
Syntax
public class LobbyReady : MonoBehaviour

Fields

Server

Declaration
public NetworkServer Server

Players

Declaration
public Dictionary<NetworkIdentity, ReadyCheck> Players

Methods

SetAllClientsNotReady()

Declaration
public void SetAllClientsNotReady()

SendToReady<T>(T, Boolean, NetworkIdentity, Channel)

Send a message to players that are ready on check, or not ready if sendToReady fakse

Declaration
public void SendToReady<T>(T msg, bool sendToReady = true, NetworkIdentity exclude = null, Channel channelId = Channel.Reliable)
Parameters
TypeNameDescription
Tmsg
System.BooleansendToReadyUse to send message no not ready players instead, not this doesn't check server for players with out character, only players with PlayerReadyCheck on their character
Mirage.NetworkIdentityexcludeAdd Identity to exclude here, useful when you want to send to all players except the owner
Mirage.ChannelchannelId
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Components/ReadyCheck/index.html b/docs/reference/Mirage.Components/ReadyCheck/index.html new file mode 100644 index 00000000000..ee4c33dd6c5 --- /dev/null +++ b/docs/reference/Mirage.Components/ReadyCheck/index.html @@ -0,0 +1,17 @@ + + + + + + +ReadyCheck | Mirage Networking + + + + +
+

Class ReadyCheck

Simple component to track if a player is ready in a lobby

To best use this component Set Sync Direction from owner to server

Inheritance
System.Object
Mirage.NetworkBehaviour
Inherited Members
Show

Mirage.NetworkBehaviour._nextSyncTime

Mirage.NetworkBehaviour.SyncSettings

Mirage.NetworkBehaviour.IsServer

Mirage.NetworkBehaviour.IsClient

Mirage.NetworkBehaviour.IsLocalClient

Mirage.NetworkBehaviour.IsHost

Mirage.NetworkBehaviour.IsLocalPlayer

Mirage.NetworkBehaviour.IsServerOnly

Mirage.NetworkBehaviour.IsClientOnly

Mirage.NetworkBehaviour.HasAuthority

Mirage.NetworkBehaviour.NetId

Mirage.NetworkBehaviour.Server

Mirage.NetworkBehaviour.ServerObjectManager

Mirage.NetworkBehaviour.Client

Mirage.NetworkBehaviour.ClientObjectManager

Mirage.NetworkBehaviour.Owner

Mirage.NetworkBehaviour.World

Mirage.NetworkBehaviour.NetworkTime

Mirage.NetworkBehaviour.BehaviourId

Mirage.NetworkBehaviour.SyncVarDirtyBits

Mirage.NetworkBehaviour.AnySyncObjectDirty

Mirage.NetworkBehaviour.syncObjects

Mirage.NetworkBehaviour.Identity

Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND

Mirage.NetworkBehaviour.ComponentIndex

Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)

Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()

Mirage.NetworkBehaviour.SyncVarEqual<T>(T, T)

Mirage.NetworkBehaviour.ClearDirtyBits()

Mirage.NetworkBehaviour.AnyDirtyBits()

Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.GetRpcCount()

Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)

Syntax
public class ReadyCheck : NetworkBehaviour

Properties

IsReady

Declaration
public bool IsReady { get; }

Methods

SetReady(Boolean)

Declaration
public void SetReady(bool ready)
Parameters
TypeNameDescription
System.Booleanready
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Components/SyncObjectActive/index.html b/docs/reference/Mirage.Components/SyncObjectActive/index.html new file mode 100644 index 00000000000..011cbba842d --- /dev/null +++ b/docs/reference/Mirage.Components/SyncObjectActive/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncObjectActive | Mirage Networking + + + + +
+

Class SyncObjectActive

Inheritance
System.Object
Mirage.NetworkBehaviour
Inherited Members
Show

Mirage.NetworkBehaviour._nextSyncTime

Mirage.NetworkBehaviour.SyncSettings

Mirage.NetworkBehaviour.IsServer

Mirage.NetworkBehaviour.IsClient

Mirage.NetworkBehaviour.IsLocalClient

Mirage.NetworkBehaviour.IsHost

Mirage.NetworkBehaviour.IsLocalPlayer

Mirage.NetworkBehaviour.IsServerOnly

Mirage.NetworkBehaviour.IsClientOnly

Mirage.NetworkBehaviour.HasAuthority

Mirage.NetworkBehaviour.NetId

Mirage.NetworkBehaviour.Server

Mirage.NetworkBehaviour.ServerObjectManager

Mirage.NetworkBehaviour.Client

Mirage.NetworkBehaviour.ClientObjectManager

Mirage.NetworkBehaviour.Owner

Mirage.NetworkBehaviour.World

Mirage.NetworkBehaviour.NetworkTime

Mirage.NetworkBehaviour.BehaviourId

Mirage.NetworkBehaviour.SyncVarDirtyBits

Mirage.NetworkBehaviour.AnySyncObjectDirty

Mirage.NetworkBehaviour.syncObjects

Mirage.NetworkBehaviour.Identity

Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND

Mirage.NetworkBehaviour.ComponentIndex

Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)

Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()

Mirage.NetworkBehaviour.SyncVarEqual<T>(T, T)

Mirage.NetworkBehaviour.ClearDirtyBits()

Mirage.NetworkBehaviour.AnyDirtyBits()

Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.GetRpcCount()

Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)

Syntax
public class SyncObjectActive : NetworkBehaviour
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Components/index.html b/docs/reference/Mirage.Components/index.html new file mode 100644 index 00000000000..c12c8f6c99e --- /dev/null +++ b/docs/reference/Mirage.Components/index.html @@ -0,0 +1,17 @@ + + + + + + +Mirage.Components | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui/index.html b/docs/reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui/index.html new file mode 100644 index 00000000000..9d54029e74a --- /dev/null +++ b/docs/reference/Mirage.DisplayMetrics/DisplayMetricsAverageGui/index.html @@ -0,0 +1,18 @@ + + + + + + +DisplayMetricsAverageGui | Mirage Networking + + + + +
+

Class DisplayMetricsAverageGui

This is an example of how to show metrics, It only shows some of the values inside +If you want to show more of the values then create a copy of this class and add values to DrawAverage

Inheritance
System.Object
Syntax
public class DisplayMetricsAverageGui : MonoBehaviour

Fields

offset

Declaration
public Rect offset

background

Declaration
public Color background

Properties

Metrics

Declaration
public Metrics Metrics { get; set; }
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.DisplayMetrics/RequestServerMetrics/index.html b/docs/reference/Mirage.DisplayMetrics/RequestServerMetrics/index.html new file mode 100644 index 00000000000..271703e89ac --- /dev/null +++ b/docs/reference/Mirage.DisplayMetrics/RequestServerMetrics/index.html @@ -0,0 +1,17 @@ + + + + + + +RequestServerMetrics | Mirage Networking + + + + +
+

Class RequestServerMetrics

Inheritance
System.Object
Syntax
public class RequestServerMetrics : MonoBehaviour

Fields

server

Declaration
public NetworkServer server

client

Declaration
public NetworkClient client

displayMetrics

Declaration
public DisplayMetricsAverageGui displayMetrics

RequestMetrics

Declaration
public bool RequestMetrics

Methods

Runner()

Declaration
public IEnumerator Runner()
Returns
TypeDescription
System.Collections.IEnumerator
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.DisplayMetrics/SetDisplayMetrics/index.html b/docs/reference/Mirage.DisplayMetrics/SetDisplayMetrics/index.html new file mode 100644 index 00000000000..321b9a5bbf7 --- /dev/null +++ b/docs/reference/Mirage.DisplayMetrics/SetDisplayMetrics/index.html @@ -0,0 +1,17 @@ + + + + + + +SetDisplayMetrics | Mirage Networking + + + + +
+

Class SetDisplayMetrics

Inheritance
System.Object
Syntax
public class SetDisplayMetrics : MonoBehaviour

Fields

server

Declaration
public NetworkServer server

client

Declaration
public NetworkClient client

displayMetrics

Declaration
public DisplayMetricsAverageGui displayMetrics
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.DisplayMetrics/index.html b/docs/reference/Mirage.DisplayMetrics/index.html new file mode 100644 index 00000000000..f0612001282 --- /dev/null +++ b/docs/reference/Mirage.DisplayMetrics/index.html @@ -0,0 +1,18 @@ + + + + + + +Mirage.DisplayMetrics | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/AddLateEvent-1/index.html b/docs/reference/Mirage.Events/AddLateEvent-1/index.html new file mode 100644 index 00000000000..56c8e758d31 --- /dev/null +++ b/docs/reference/Mirage.Events/AddLateEvent-1/index.html @@ -0,0 +1,18 @@ + + + + + + +AddLateEvent<T0> | Mirage Networking + + + + +
+

Class AddLateEvent<T0>

Version of with 1 argument +Create a non-generic class inheriting from this to use in inspector. Same rules as

Inheritance
System.Object
Mirage.Events.AddLateEventBase
Inherited Members
Show

Mirage.Events.AddLateEventBase.HasInvoked

Mirage.Events.AddLateEventBase.MarkInvoked()

Mirage.Events.AddLateEventBase.Reset()

Syntax
[Serializable]
public class AddLateEvent<T0> : AddLateEventBase, IAddLateEvent<T0>
Type Parameters
NameDescription
T0argument 0

Fields

_arg0

Declaration
protected T0 _arg0

Methods

AddListener(Action<T0>)

Declaration
public void AddListener(Action<T0> handler)
Parameters
TypeNameDescription
System.Action<T0>handler

RemoveListener(Action<T0>)

Declaration
public void RemoveListener(Action<T0> handler)
Parameters
TypeNameDescription
System.Action<T0>handler

Invoke(T0)

Declaration
public virtual void Invoke(T0 arg0)
Parameters
TypeNameDescription
T0arg0
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/AddLateEvent-2/index.html b/docs/reference/Mirage.Events/AddLateEvent-2/index.html new file mode 100644 index 00000000000..8fa8cb9dc28 --- /dev/null +++ b/docs/reference/Mirage.Events/AddLateEvent-2/index.html @@ -0,0 +1,18 @@ + + + + + + +AddLateEvent<T0, T1> | Mirage Networking + + + + +
+

Class AddLateEvent<T0, T1>

Version of with 2 arguments +Create a non-generic class inheriting from this to use in inspector. Same rules as

Inheritance
System.Object
Mirage.Events.AddLateEventBase
Inherited Members
Show

Mirage.Events.AddLateEventBase.HasInvoked

Mirage.Events.AddLateEventBase.MarkInvoked()

Mirage.Events.AddLateEventBase.Reset()

Syntax
[Serializable]
public class AddLateEvent<T0, T1> : AddLateEventBase, IAddLateEvent<T0, T1>
Type Parameters
NameDescription
T0
T1

Fields

_arg0

Declaration
protected T0 _arg0

_arg1

Declaration
protected T1 _arg1

Methods

AddListener(Action<T0, T1>)

Declaration
public void AddListener(Action<T0, T1> handler)
Parameters
TypeNameDescription
System.Action<T0, T1>handler

RemoveListener(Action<T0, T1>)

Declaration
public void RemoveListener(Action<T0, T1> handler)
Parameters
TypeNameDescription
System.Action<T0, T1>handler

Invoke(T0, T1)

Declaration
public virtual void Invoke(T0 arg0, T1 arg1)
Parameters
TypeNameDescription
T0arg0
T1arg1
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/AddLateEvent/index.html b/docs/reference/Mirage.Events/AddLateEvent/index.html new file mode 100644 index 00000000000..cd88b55330b --- /dev/null +++ b/docs/reference/Mirage.Events/AddLateEvent/index.html @@ -0,0 +1,17 @@ + + + + + + +AddLateEvent | Mirage Networking + + + + +
+

Class AddLateEvent

An event that will invoke handlers immediately if they are added after has been called

Inheritance
System.Object
Mirage.Events.AddLateEventBase
Inherited Members
Show

Mirage.Events.AddLateEventBase.HasInvoked

Mirage.Events.AddLateEventBase.MarkInvoked()

Mirage.Events.AddLateEventBase.Reset()

Syntax
[Serializable]
public class AddLateEvent : AddLateEventBase, IAddLateEvent

Methods

AddListener(Action)

Declaration
public void AddListener(Action handler)
Parameters
TypeNameDescription
System.Actionhandler

RemoveListener(Action)

Declaration
public void RemoveListener(Action handler)
Parameters
TypeNameDescription
System.Actionhandler

Invoke()

Declaration
public virtual void Invoke()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/AddLateEventBase/index.html b/docs/reference/Mirage.Events/AddLateEventBase/index.html new file mode 100644 index 00000000000..5b78e166acd --- /dev/null +++ b/docs/reference/Mirage.Events/AddLateEventBase/index.html @@ -0,0 +1,18 @@ + + + + + + +AddLateEventBase | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/AddLateEventUnity-2/index.html b/docs/reference/Mirage.Events/AddLateEventUnity-2/index.html new file mode 100644 index 00000000000..e5655557dbe --- /dev/null +++ b/docs/reference/Mirage.Events/AddLateEventUnity-2/index.html @@ -0,0 +1,18 @@ + + + + + + +AddLateEventUnity<T0, TEvent> | Mirage Networking + + + + +
+

Class AddLateEventUnity<T0, TEvent>

Version of with 1 argument +Create a non-generic class inheriting from this to use in inspector. Same rules as

Inheritance
System.Object
Mirage.Events.AddLateEventBase
Mirage.Events.AddLateEvent<T0>
Inherited Members
Show

Mirage.Events.AddLateEvent<T0>._arg0

Mirage.Events.AddLateEvent<T0>.AddListener(System.Action<T0>)

Mirage.Events.AddLateEvent<T0>.RemoveListener(System.Action<T0>)

Mirage.Events.AddLateEventBase.HasInvoked

Mirage.Events.AddLateEventBase.MarkInvoked()

Mirage.Events.AddLateEventBase.Reset()

Syntax
[Serializable]
public abstract class AddLateEventUnity<T0, TEvent> : AddLateEvent<T0>, IAddLateEventUnity<T0>, IAddLateEvent<T0> where TEvent : UnityEvent<T0>, new()
Type Parameters
NameDescription
T0argument 0
TEventUnityEvent

Methods

AddListener(UnityAction<T0>)

Declaration
public void AddListener(UnityAction<T0> handler)
Parameters
TypeNameDescription
UnityAction<T0>handler

RemoveListener(UnityAction<T0>)

Declaration
public void RemoveListener(UnityAction<T0> handler)
Parameters
TypeNameDescription
UnityAction<T0>handler

Invoke(T0)

Declaration
public override void Invoke(T0 arg0)
Parameters
TypeNameDescription
T0arg0

RemoveAllListeners()

Remove all non-persisent (ie created from script) listeners from the event.

Declaration
public void RemoveAllListeners()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/AddLateEventUnity-3/index.html b/docs/reference/Mirage.Events/AddLateEventUnity-3/index.html new file mode 100644 index 00000000000..8ae0268851d --- /dev/null +++ b/docs/reference/Mirage.Events/AddLateEventUnity-3/index.html @@ -0,0 +1,18 @@ + + + + + + +AddLateEventUnity<T0, T1, TEvent> | Mirage Networking + + + + +
+

Class AddLateEventUnity<T0, T1, TEvent>

Version of with 2 arguments +Create a non-generic class inheriting from this to use in inspector. Same rules as

Inheritance
System.Object
Mirage.Events.AddLateEventBase
Mirage.Events.AddLateEvent<T0, T1>
Inherited Members
Show

Mirage.Events.AddLateEvent<T0, T1>._arg0

Mirage.Events.AddLateEvent<T0, T1>._arg1

Mirage.Events.AddLateEvent<T0, T1>.AddListener(System.Action<T0, T1>)

Mirage.Events.AddLateEvent<T0, T1>.RemoveListener(System.Action<T0, T1>)

Mirage.Events.AddLateEvent<T0, T1>.Invoke(T0, T1)

Mirage.Events.AddLateEventBase.HasInvoked

Mirage.Events.AddLateEventBase.MarkInvoked()

Mirage.Events.AddLateEventBase.Reset()

Syntax
[Serializable]
public abstract class AddLateEventUnity<T0, T1, TEvent> : AddLateEvent<T0, T1>, IAddLateEventUnity<T0, T1>, IAddLateEvent<T0, T1> where TEvent : UnityEvent<T0, T1>, new()
Type Parameters
NameDescription
T0
T1
TEvent

Methods

AddListener(UnityAction<T0, T1>)

Declaration
public void AddListener(UnityAction<T0, T1> handler)
Parameters
TypeNameDescription
UnityAction<T0, T1>handler

RemoveListener(UnityAction<T0, T1>)

Declaration
public void RemoveListener(UnityAction<T0, T1> handler)
Parameters
TypeNameDescription
UnityAction<T0, T1>handler

Invoke(T0, T1)

Declaration
public override void Invoke(T0 arg0, T1 arg1)
Parameters
TypeNameDescription
T0arg0
T1arg1

RemoveAllListeners()

Remove all non-persisent (ie created from script) listeners from the event.

Declaration
public void RemoveAllListeners()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/AddLateEventUnity/index.html b/docs/reference/Mirage.Events/AddLateEventUnity/index.html new file mode 100644 index 00000000000..9b79ac8599a --- /dev/null +++ b/docs/reference/Mirage.Events/AddLateEventUnity/index.html @@ -0,0 +1,17 @@ + + + + + + +AddLateEventUnity | Mirage Networking + + + + +
+

Class AddLateEventUnity

An event that will invoke handlers immediately if they are added after has been called

Inheritance
System.Object
Mirage.Events.AddLateEventBase
Mirage.Events.AddLateEvent
Inherited Members
Show

Mirage.Events.AddLateEventBase.HasInvoked

Mirage.Events.AddLateEventBase.MarkInvoked()

Mirage.Events.AddLateEventBase.Reset()

Syntax
[Serializable]
public sealed class AddLateEventUnity : AddLateEvent, IAddLateEventUnity, IAddLateEvent

Methods

AddListener(UnityAction)

Declaration
public void AddListener(UnityAction handler)
Parameters
TypeNameDescription
UnityActionhandler

RemoveListener(UnityAction)

Declaration
public void RemoveListener(UnityAction handler)
Parameters
TypeNameDescription
UnityActionhandler

Invoke()

Declaration
public override void Invoke()

RemoveAllListeners()

Remove all non-persisent (ie created from script) listeners from the event.

Declaration
public void RemoveAllListeners()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/BoolAddLateEvent/index.html b/docs/reference/Mirage.Events/BoolAddLateEvent/index.html new file mode 100644 index 00000000000..114b3ea2175 --- /dev/null +++ b/docs/reference/Mirage.Events/BoolAddLateEvent/index.html @@ -0,0 +1,17 @@ + + + + + + +BoolAddLateEvent | Mirage Networking + + + + +
+

Class BoolAddLateEvent

Inheritance
System.Object
Mirage.Events.AddLateEventBase
Mirage.Events.AddLateEvent<System.Boolean>
Mirage.Events.AddLateEventUnity<System.Boolean, Mirage.Events.BoolUnityEvent>
Inherited Members
Show

Mirage.Events.AddLateEventUnity<System.Boolean, Mirage.Events.BoolUnityEvent>.AddListener(UnityAction<System.Boolean>)

Mirage.Events.AddLateEventUnity<System.Boolean, Mirage.Events.BoolUnityEvent>.RemoveListener(UnityAction<System.Boolean>)

Mirage.Events.AddLateEventUnity<System.Boolean, Mirage.Events.BoolUnityEvent>.Invoke(System.Boolean)

Mirage.Events.AddLateEventUnity<System.Boolean, Mirage.Events.BoolUnityEvent>.RemoveAllListeners()

Mirage.Events.AddLateEvent<System.Boolean>._arg0

Mirage.Events.AddLateEvent<System.Boolean>.AddListener(System.Action<System.Boolean>)

Mirage.Events.AddLateEvent<System.Boolean>.RemoveListener(System.Action<System.Boolean>)

Mirage.Events.AddLateEvent<System.Boolean>.Invoke(System.Boolean)

Mirage.Events.AddLateEventBase.HasInvoked

Mirage.Events.AddLateEventBase.MarkInvoked()

Mirage.Events.AddLateEventBase.Reset()

Syntax
[Serializable]
public class BoolAddLateEvent : AddLateEventUnity<bool, BoolUnityEvent>, IAddLateEventUnity<bool>, IAddLateEvent<bool>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/BoolUnityEvent/index.html b/docs/reference/Mirage.Events/BoolUnityEvent/index.html new file mode 100644 index 00000000000..9f339cfc142 --- /dev/null +++ b/docs/reference/Mirage.Events/BoolUnityEvent/index.html @@ -0,0 +1,17 @@ + + + + + + +BoolUnityEvent | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/DisconnectAddLateEvent/index.html b/docs/reference/Mirage.Events/DisconnectAddLateEvent/index.html new file mode 100644 index 00000000000..80c7d3fcd14 --- /dev/null +++ b/docs/reference/Mirage.Events/DisconnectAddLateEvent/index.html @@ -0,0 +1,17 @@ + + + + + + +DisconnectAddLateEvent | Mirage Networking + + + + +
+

Class DisconnectAddLateEvent

Event fires from a when it fails to connect to the server

Inheritance
System.Object
Mirage.Events.AddLateEventBase
Mirage.Events.AddLateEvent<Mirage.ClientStoppedReason>
Mirage.Events.AddLateEventUnity<Mirage.ClientStoppedReason, Mirage.Events.DisconnectEvent>
Inherited Members
Show

Mirage.Events.AddLateEventUnity<Mirage.ClientStoppedReason, Mirage.Events.DisconnectEvent>.AddListener(UnityAction<Mirage.ClientStoppedReason>)

Mirage.Events.AddLateEventUnity<Mirage.ClientStoppedReason, Mirage.Events.DisconnectEvent>.RemoveListener(UnityAction<Mirage.ClientStoppedReason>)

Mirage.Events.AddLateEventUnity<Mirage.ClientStoppedReason, Mirage.Events.DisconnectEvent>.Invoke(Mirage.ClientStoppedReason)

Mirage.Events.AddLateEventUnity<Mirage.ClientStoppedReason, Mirage.Events.DisconnectEvent>.RemoveAllListeners()

Mirage.Events.AddLateEvent<Mirage.ClientStoppedReason>._arg0

Mirage.Events.AddLateEvent<Mirage.ClientStoppedReason>.AddListener(System.Action<Mirage.ClientStoppedReason>)

Mirage.Events.AddLateEvent<Mirage.ClientStoppedReason>.RemoveListener(System.Action<Mirage.ClientStoppedReason>)

Mirage.Events.AddLateEvent<Mirage.ClientStoppedReason>.Invoke(Mirage.ClientStoppedReason)

Mirage.Events.AddLateEventBase.HasInvoked

Mirage.Events.AddLateEventBase.MarkInvoked()

Mirage.Events.AddLateEventBase.Reset()

Syntax
[Serializable]
public class DisconnectAddLateEvent : AddLateEventUnity<ClientStoppedReason, DisconnectEvent>, IAddLateEventUnity<ClientStoppedReason>, IAddLateEvent<ClientStoppedReason>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/DisconnectEvent/index.html b/docs/reference/Mirage.Events/DisconnectEvent/index.html new file mode 100644 index 00000000000..f6e9b3461a0 --- /dev/null +++ b/docs/reference/Mirage.Events/DisconnectEvent/index.html @@ -0,0 +1,17 @@ + + + + + + +DisconnectEvent | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/IAddLateEvent-1/index.html b/docs/reference/Mirage.Events/IAddLateEvent-1/index.html new file mode 100644 index 00000000000..d8fba833e07 --- /dev/null +++ b/docs/reference/Mirage.Events/IAddLateEvent-1/index.html @@ -0,0 +1,17 @@ + + + + + + +IAddLateEvent<T0> | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/IAddLateEvent-2/index.html b/docs/reference/Mirage.Events/IAddLateEvent-2/index.html new file mode 100644 index 00000000000..3faec82b1ab --- /dev/null +++ b/docs/reference/Mirage.Events/IAddLateEvent-2/index.html @@ -0,0 +1,17 @@ + + + + + + +IAddLateEvent<T0, T1> | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/IAddLateEvent/index.html b/docs/reference/Mirage.Events/IAddLateEvent/index.html new file mode 100644 index 00000000000..8566ff2ec55 --- /dev/null +++ b/docs/reference/Mirage.Events/IAddLateEvent/index.html @@ -0,0 +1,17 @@ + + + + + + +IAddLateEvent | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/IAddLateEventUnity-1/index.html b/docs/reference/Mirage.Events/IAddLateEventUnity-1/index.html new file mode 100644 index 00000000000..9ff8a2ca4b1 --- /dev/null +++ b/docs/reference/Mirage.Events/IAddLateEventUnity-1/index.html @@ -0,0 +1,17 @@ + + + + + + +IAddLateEventUnity<T0> | Mirage Networking + + + + +
+
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/IAddLateEventUnity-2/index.html b/docs/reference/Mirage.Events/IAddLateEventUnity-2/index.html new file mode 100644 index 00000000000..74301e7b7b9 --- /dev/null +++ b/docs/reference/Mirage.Events/IAddLateEventUnity-2/index.html @@ -0,0 +1,17 @@ + + + + + + +IAddLateEventUnity<T0, T1> | Mirage Networking + + + + +
+

Interface IAddLateEventUnity<T0, T1>

Version of with 2 arguments

Syntax
public interface IAddLateEventUnity<T0, T1> : IAddLateEvent<T0, T1>
Type Parameters
NameDescription
T0
T1

Methods

AddListener(UnityAction<T0, T1>)

Declaration
void AddListener(UnityAction<T0, T1> handler)
Parameters
TypeNameDescription
UnityAction<T0, T1>handler

RemoveListener(UnityAction<T0, T1>)

Declaration
void RemoveListener(UnityAction<T0, T1> handler)
Parameters
TypeNameDescription
UnityAction<T0, T1>handler
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/IAddLateEventUnity/index.html b/docs/reference/Mirage.Events/IAddLateEventUnity/index.html new file mode 100644 index 00000000000..2094fd14f9a --- /dev/null +++ b/docs/reference/Mirage.Events/IAddLateEventUnity/index.html @@ -0,0 +1,17 @@ + + + + + + +IAddLateEventUnity | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/NetworkPlayerAddLateEvent/index.html b/docs/reference/Mirage.Events/NetworkPlayerAddLateEvent/index.html new file mode 100644 index 00000000000..20c98999a76 --- /dev/null +++ b/docs/reference/Mirage.Events/NetworkPlayerAddLateEvent/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkPlayerAddLateEvent | Mirage Networking + + + + +
+

Class NetworkPlayerAddLateEvent

Event fires from a or during a new connection, a new authentication, or a disconnection.

Inheritance
System.Object
Mirage.Events.AddLateEventBase
Mirage.Events.AddLateEvent<Mirage.INetworkPlayer>
Mirage.Events.AddLateEventUnity<Mirage.INetworkPlayer, Mirage.Events.NetworkPlayerEvent>
Inherited Members
Show

Mirage.Events.AddLateEventUnity<Mirage.INetworkPlayer, Mirage.Events.NetworkPlayerEvent>.AddListener(UnityAction<Mirage.INetworkPlayer>)

Mirage.Events.AddLateEventUnity<Mirage.INetworkPlayer, Mirage.Events.NetworkPlayerEvent>.RemoveListener(UnityAction<Mirage.INetworkPlayer>)

Mirage.Events.AddLateEventUnity<Mirage.INetworkPlayer, Mirage.Events.NetworkPlayerEvent>.Invoke(Mirage.INetworkPlayer)

Mirage.Events.AddLateEventUnity<Mirage.INetworkPlayer, Mirage.Events.NetworkPlayerEvent>.RemoveAllListeners()

Mirage.Events.AddLateEvent<Mirage.INetworkPlayer>._arg0

Mirage.Events.AddLateEvent<Mirage.INetworkPlayer>.AddListener(System.Action<Mirage.INetworkPlayer>)

Mirage.Events.AddLateEvent<Mirage.INetworkPlayer>.RemoveListener(System.Action<Mirage.INetworkPlayer>)

Mirage.Events.AddLateEvent<Mirage.INetworkPlayer>.Invoke(Mirage.INetworkPlayer)

Mirage.Events.AddLateEventBase.HasInvoked

Mirage.Events.AddLateEventBase.MarkInvoked()

Mirage.Events.AddLateEventBase.Reset()

Syntax
[Serializable]
public class NetworkPlayerAddLateEvent : AddLateEventUnity<INetworkPlayer, NetworkPlayerEvent>, IAddLateEventUnity<INetworkPlayer>, IAddLateEvent<INetworkPlayer>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/NetworkPlayerEvent/index.html b/docs/reference/Mirage.Events/NetworkPlayerEvent/index.html new file mode 100644 index 00000000000..b075af3f5af --- /dev/null +++ b/docs/reference/Mirage.Events/NetworkPlayerEvent/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkPlayerEvent | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Events/index.html b/docs/reference/Mirage.Events/index.html new file mode 100644 index 00000000000..e56fbf6dcd4 --- /dev/null +++ b/docs/reference/Mirage.Events/index.html @@ -0,0 +1,21 @@ + + + + + + +Mirage.Events | Mirage Networking + + + + +
+

Mirage.Events

Classes

AddLateEvent

An event that will invoke handlers immediately if they are added after has been called

AddLateEvent<T0, T1>

Version of with 2 arguments +Create a non-generic class inheriting from this to use in inspector. Same rules as

AddLateEvent<T0>

Version of with 1 argument +Create a non-generic class inheriting from this to use in inspector. Same rules as

AddLateEventBase

AddLateEventUnity

An event that will invoke handlers immediately if they are added after has been called

AddLateEventUnity<T0, T1, TEvent>

Version of with 2 arguments +Create a non-generic class inheriting from this to use in inspector. Same rules as

AddLateEventUnity<T0, TEvent>

Version of with 1 argument +Create a non-generic class inheriting from this to use in inspector. Same rules as

BoolAddLateEvent

BoolUnityEvent

DisconnectAddLateEvent

Event fires from a when it fails to connect to the server

DisconnectEvent

NetworkPlayerAddLateEvent

Event fires from a or during a new connection, a new authentication, or a disconnection.

NetworkPlayerEvent

Interfaces

IAddLateEvent

Event that can only run once, adding handler late will it invoke right away

IAddLateEvent<T0, T1>

Version of with 2 arguments

IAddLateEvent<T0>

Version of with 1 argument

IAddLateEventUnity

Event that can only run once, adding handler late will it invoke right away

IAddLateEventUnity<T0, T1>

Version of with 2 arguments

IAddLateEventUnity<T0>

Version of with 1 argument

+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Logging/ILoggerExtensions/index.html b/docs/reference/Mirage.Logging/ILoggerExtensions/index.html new file mode 100644 index 00000000000..a41c8b24c5a --- /dev/null +++ b/docs/reference/Mirage.Logging/ILoggerExtensions/index.html @@ -0,0 +1,17 @@ + + + + + + +ILoggerExtensions | Mirage Networking + + + + +
+

Class ILoggerExtensions

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class ILoggerExtensions

Methods

LogError(ILogger, Object)

Declaration
public static void LogError(this ILogger logger, object message)
Parameters
TypeNameDescription
ILoggerlogger
System.Objectmessage

Assert(ILogger, Boolean, Object)

Declaration
[Conditional("UNITY_ASSERTIONS")]
public static void Assert(this ILogger logger, bool condition, object message)
Parameters
TypeNameDescription
ILoggerlogger
System.Booleancondition
System.Objectmessage

Assert(ILogger, Boolean)

Declaration
[Conditional("UNITY_ASSERTIONS")]
public static void Assert(this ILogger logger, bool condition)
Parameters
TypeNameDescription
ILoggerlogger
System.Booleancondition

LogWarning(ILogger, Object)

Declaration
public static void LogWarning(this ILogger logger, object message)
Parameters
TypeNameDescription
ILoggerlogger
System.Objectmessage

LogEnabled(ILogger)

Declaration
public static bool LogEnabled(this ILogger logger)
Parameters
TypeNameDescription
ILoggerlogger
Returns
TypeDescription
System.Boolean

WarnEnabled(ILogger)

Declaration
public static bool WarnEnabled(this ILogger logger)
Parameters
TypeNameDescription
ILoggerlogger
Returns
TypeDescription
System.Boolean

ErrorEnabled(ILogger)

Declaration
public static bool ErrorEnabled(this ILogger logger)
Parameters
TypeNameDescription
ILoggerlogger
Returns
TypeDescription
System.Boolean
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Logging/LogFactory/index.html b/docs/reference/Mirage.Logging/LogFactory/index.html new file mode 100644 index 00000000000..5cca5b39ac3 --- /dev/null +++ b/docs/reference/Mirage.Logging/LogFactory/index.html @@ -0,0 +1,18 @@ + + + + + + +LogFactory | Mirage Networking + + + + +
+

Class LogFactory

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class LogFactory

Properties

Loggers

Declaration
public static IReadOnlyDictionary<string, ILogger> Loggers { get; }

Methods

GetLogger<T>(LogType)

Declaration
public static ILogger GetLogger<T>(LogType defaultLogLevel = null)
Parameters
TypeNameDescription
LogTypedefaultLogLevel
Returns
TypeDescription
ILogger

GetLogger(Type, LogType)

Declaration
public static ILogger GetLogger(Type type, LogType defaultLogLevel = null)
Parameters
TypeNameDescription
System.Typetype
LogTypedefaultLogLevel
Returns
TypeDescription
ILogger

GetLogger(String, LogType)

Declaration
public static ILogger GetLogger(string loggerName, LogType defaultLogLevel = null)
Parameters
TypeNameDescription
System.StringloggerName
LogTypedefaultLogLevel
Returns
TypeDescription
ILogger

ReplaceLogHandler(ILogHandler, Boolean)

Replacing log handlers for loggers, with the option to replace for exisitng or just new loggers

Declaration
public static void ReplaceLogHandler(ILogHandler logHandler, bool replaceExisting = true)
Parameters
TypeNameDescription
ILogHandlerlogHandler
System.BooleanreplaceExisting

ReplaceLogHandler(Func<String, ILogHandler>, Boolean)

Replaceing log handlers for loggers, allows for unique log handlers for each type +this can be used to add labels or other processing before logging the result

Declaration
public static void ReplaceLogHandler(Func<string, ILogHandler> createHandler, bool replaceExisting = true)
Parameters
TypeNameDescription
System.Func<System.String, ILogHandler>createHandler
System.BooleanreplaceExisting
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Logging/LogSettings/index.html b/docs/reference/Mirage.Logging/LogSettings/index.html new file mode 100644 index 00000000000..ebac33ce5e8 --- /dev/null +++ b/docs/reference/Mirage.Logging/LogSettings/index.html @@ -0,0 +1,17 @@ + + + + + + +LogSettings | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Logging/LogSettingsExtensions/index.html b/docs/reference/Mirage.Logging/LogSettingsExtensions/index.html new file mode 100644 index 00000000000..b2303b0721d --- /dev/null +++ b/docs/reference/Mirage.Logging/LogSettingsExtensions/index.html @@ -0,0 +1,17 @@ + + + + + + +LogSettingsExtensions | Mirage Networking + + + + +
+

Class LogSettingsExtensions

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class LogSettingsExtensions

Methods

SaveFromLogFactory(LogSettingsSO)

Declaration
public static void SaveFromLogFactory(this LogSettingsSO settings)
Parameters
TypeNameDescription
Mirage.Logging.LogSettingsSOsettings

LoadIntoLogFactory(LogSettingsSO)

Declaration
public static void LoadIntoLogFactory(this LogSettingsSO settings)
Parameters
TypeNameDescription
Mirage.Logging.LogSettingsSOsettings
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Logging/LogSettingsSO.LoggerSettings/index.html b/docs/reference/Mirage.Logging/LogSettingsSO.LoggerSettings/index.html new file mode 100644 index 00000000000..afde8d7baa2 --- /dev/null +++ b/docs/reference/Mirage.Logging/LogSettingsSO.LoggerSettings/index.html @@ -0,0 +1,17 @@ + + + + + + +LogSettingsSO.LoggerSettings | Mirage Networking + + + + +
+

Class LogSettingsSO.LoggerSettings

Inheritance
System.Object
Inherited Members
Show
Syntax
[Serializable]
public class LoggerSettings

Constructors

LoggerSettings(String, String, LogType)

Declaration
public LoggerSettings(string name, string namespace, LogType level)
Parameters
TypeNameDescription
System.Stringname
System.Stringnamespace
LogTypelevel

LoggerSettings(String, LogType)

Declaration
public LoggerSettings(string fullname, LogType level)
Parameters
TypeNameDescription
System.Stringfullname
LogTypelevel

Fields

Name

Declaration
public string Name

Namespace

Declaration
public string Namespace

logLevel

Declaration
public LogType logLevel

Properties

FullName

Declaration
public string FullName { get; }

Methods

GetNameAndNameSpaceFromFullname(String)

Declaration
public static (string name, string  namespace ) GetNameAndNameSpaceFromFullname(string fullname)
Parameters
TypeNameDescription
System.Stringfullname
Returns
TypeDescription
System.ValueTuple{System.String,System.String}
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Logging/LogSettingsSO/index.html b/docs/reference/Mirage.Logging/LogSettingsSO/index.html new file mode 100644 index 00000000000..88fbe262d49 --- /dev/null +++ b/docs/reference/Mirage.Logging/LogSettingsSO/index.html @@ -0,0 +1,17 @@ + + + + + + +LogSettingsSO | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Logging/MirageLogHandler.Settings/index.html b/docs/reference/Mirage.Logging/MirageLogHandler.Settings/index.html new file mode 100644 index 00000000000..2cf1096731a --- /dev/null +++ b/docs/reference/Mirage.Logging/MirageLogHandler.Settings/index.html @@ -0,0 +1,19 @@ + + + + + + +MirageLogHandler.Settings | Mirage Networking + + + + +
+

Class MirageLogHandler.Settings

Inheritance
System.Object
Inherited Members
Show
Syntax
[Serializable]
public class Settings

Constructors

Settings(MirageLogHandler.TimePrefix, Boolean, Boolean)

Declaration
public Settings(MirageLogHandler.TimePrefix timePrefix, bool coloredLabel, bool label)
Parameters
TypeNameDescription
Mirage.Logging.MirageLogHandler.TimePrefixtimePrefix
System.BooleancoloredLabel
System.Booleanlabel

Fields

TimePrefix

Declaration
public MirageLogHandler.TimePrefix TimePrefix

ColoredLabel

Declaration
public readonly bool ColoredLabel

Label

Declaration
public readonly bool Label

ColorSeed

Used to change the colors of names +number is multiple by hash unchecked, so small changes to seed will cause large changes in result +403 seems like a good starting seed, common class like NetworkServer and NetworkClient have different colors

Declaration
public int ColorSeed

ColorSaturation

Declaration
public float ColorSaturation

ColorValue

Declaration
public float ColorValue

Methods

AllowColorToLabel(String, String)

Declaration
public string AllowColorToLabel(string fullname, string label)
Parameters
TypeNameDescription
System.Stringfullname
System.Stringlabel
Returns
TypeDescription
System.String

ColorFromName(String)

Declaration
public Color ColorFromName(string fullName)
Parameters
TypeNameDescription
System.StringfullName
Returns
TypeDescription
Color
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Logging/MirageLogHandler.TimePrefix/index.html b/docs/reference/Mirage.Logging/MirageLogHandler.TimePrefix/index.html new file mode 100644 index 00000000000..ffa834a9387 --- /dev/null +++ b/docs/reference/Mirage.Logging/MirageLogHandler.TimePrefix/index.html @@ -0,0 +1,17 @@ + + + + + + +MirageLogHandler.TimePrefix | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Logging/MirageLogHandler/index.html b/docs/reference/Mirage.Logging/MirageLogHandler/index.html new file mode 100644 index 00000000000..b84d0389def --- /dev/null +++ b/docs/reference/Mirage.Logging/MirageLogHandler/index.html @@ -0,0 +1,17 @@ + + + + + + +MirageLogHandler | Mirage Networking + + + + +
+

Class MirageLogHandler

Log handler that adds prefixes to logging

Inheritance
System.Object
Syntax
public class MirageLogHandler : ILogHandler

Constructors

MirageLogHandler(MirageLogHandler.Settings, String, ILogHandler)

Declaration
public MirageLogHandler(MirageLogHandler.Settings settings, string fullTypeName = null, ILogHandler inner = null)
Parameters
TypeNameDescription
Mirage.Logging.MirageLogHandler.Settingssettings
System.StringfullTypeName
ILogHandlerinner

Methods

LogException(Exception, Object)

Declaration
public void LogException(Exception exception, Object context)
Parameters
TypeNameDescription
System.Exceptionexception
UnityEngine.Objectcontext

LogFormat(LogType, Object, String, Object[])

Declaration
public void LogFormat(LogType logType, Object context, string format, params object[] args)
Parameters
TypeNameDescription
LogTypelogType
UnityEngine.Objectcontext
System.Stringformat
System.Object[]args
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Logging/index.html b/docs/reference/Mirage.Logging/index.html new file mode 100644 index 00000000000..10c1259795e --- /dev/null +++ b/docs/reference/Mirage.Logging/index.html @@ -0,0 +1,17 @@ + + + + + + +Mirage.Logging | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.RemoteCalls/ClientRpcSender/index.html b/docs/reference/Mirage.RemoteCalls/ClientRpcSender/index.html new file mode 100644 index 00000000000..e691f1a60b5 --- /dev/null +++ b/docs/reference/Mirage.RemoteCalls/ClientRpcSender/index.html @@ -0,0 +1,19 @@ + + + + + + +ClientRpcSender | Mirage Networking + + + + +
+

Class ClientRpcSender

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class ClientRpcSender

Methods

Send(NetworkBehaviour, Int32, NetworkWriter, Channel, Boolean)

Declaration
public static void Send(NetworkBehaviour behaviour, int relativeIndex, NetworkWriter writer, Channel channelId, bool excludeOwner)
Parameters
TypeNameDescription
Mirage.NetworkBehaviourbehaviour
System.Int32relativeIndex
Mirage.Serialization.NetworkWriterwriter
Mirage.ChannelchannelId
System.BooleanexcludeOwner

SendTarget(NetworkBehaviour, Int32, NetworkWriter, Channel, INetworkPlayer)

Declaration
public static void SendTarget(NetworkBehaviour behaviour, int relativeIndex, NetworkWriter writer, Channel channelId, INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.NetworkBehaviourbehaviour
System.Int32relativeIndex
Mirage.Serialization.NetworkWriterwriter
Mirage.ChannelchannelId
Mirage.INetworkPlayerplayer

SendTargetWithReturn<T>(NetworkBehaviour, Int32, NetworkWriter, INetworkPlayer)

Declaration
public static UniTask<T> SendTargetWithReturn<T>(NetworkBehaviour behaviour, int relativeIndex, NetworkWriter writer, INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.NetworkBehaviourbehaviour
System.Int32relativeIndex
Mirage.Serialization.NetworkWriterwriter
Mirage.INetworkPlayerplayer
Returns
TypeDescription
Cysharp.Threading.Tasks.UniTask<T>

ShouldInvokeLocally(NetworkBehaviour, RpcTarget, INetworkPlayer, Boolean)

Used by weaver to check if ClientRPC should be invoked locally in host mode

Declaration
public static bool ShouldInvokeLocally(NetworkBehaviour behaviour, RpcTarget target, INetworkPlayer player, bool excludeOwner)
Parameters
TypeNameDescription
Mirage.NetworkBehaviourbehaviour
Mirage.RpcTargettarget
Mirage.INetworkPlayerplayerplayer used for RpcTarget.Player
System.BooleanexcludeOwner
Returns
TypeDescription
System.Boolean

IsLocalPlayerObserver(NetworkBehaviour, Boolean)

Checks if host player can see the object +Weaver uses this to check if RPC should be invoked locally

Declaration
public static bool IsLocalPlayerObserver(NetworkBehaviour behaviour, bool excludeOwner)
Parameters
TypeNameDescription
Mirage.NetworkBehaviourbehaviour
System.BooleanexcludeOwner
Returns
TypeDescription
System.Boolean

IsLocalPlayerTarget(NetworkBehaviour, INetworkPlayer)

Checks if host player is the target player +Weaver uses this to check if RPC should be invoked locally

Declaration
public static bool IsLocalPlayerTarget(NetworkBehaviour behaviour, INetworkPlayer target)
Parameters
TypeNameDescription
Mirage.NetworkBehaviourbehaviour
Mirage.INetworkPlayertarget
Returns
TypeDescription
System.Boolean
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.RemoteCalls/RemoteCall/index.html b/docs/reference/Mirage.RemoteCalls/RemoteCall/index.html new file mode 100644 index 00000000000..cc955b239a3 --- /dev/null +++ b/docs/reference/Mirage.RemoteCalls/RemoteCall/index.html @@ -0,0 +1,17 @@ + + + + + + +RemoteCall | Mirage Networking + + + + +
+

Class RemoteCall

Used for invoking a RPC methods

Inheritance
System.Object
Inherited Members
Show
Syntax
public class RemoteCall

Constructors

RemoteCall(NetworkBehaviour, RpcInvokeType, RpcDelegate, Boolean, String)

Declaration
public RemoteCall(NetworkBehaviour behaviour, RpcInvokeType invokeType, RpcDelegate function, bool requireAuthority, string name)
Parameters
TypeNameDescription
Mirage.NetworkBehaviourbehaviour
Mirage.RemoteCalls.RpcInvokeTypeinvokeType
Mirage.RemoteCalls.RpcDelegatefunction
System.BooleanrequireAuthority
System.Stringname

Fields

DeclaringType

Type that rpc was declared in

Declaration
public readonly Type DeclaringType

InvokeType

Server rpc or client rpc

Declaration
public readonly RpcInvokeType InvokeType

Function

Function to be invoked when receiving message

Declaration
public readonly RpcDelegate Function

RequireAuthority

Used by ServerRpc

Declaration
public readonly bool RequireAuthority

Name

User friendly name

Declaration
public readonly string Name

Behaviour

Declaration
public readonly NetworkBehaviour Behaviour

Methods

ToString()

User friendly name used for debug/error messages

Declaration
public override string ToString()
Returns
TypeDescription
System.String
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.RemoteCalls/RemoteCallCollection/index.html b/docs/reference/Mirage.RemoteCalls/RemoteCallCollection/index.html new file mode 100644 index 00000000000..77836dbeccf --- /dev/null +++ b/docs/reference/Mirage.RemoteCalls/RemoteCallCollection/index.html @@ -0,0 +1,17 @@ + + + + + + +RemoteCallCollection | Mirage Networking + + + + +
+

Class RemoteCallCollection

Inheritance
System.Object
Inherited Members
Show
Syntax
public class RemoteCallCollection

Fields

IndexOffset

This is set by NetworkIdentity when we register each NetworkBehaviour so that they can pass their own idnex in

Declaration
public int[] IndexOffset

RemoteCalls

Declaration
public RemoteCall[] RemoteCalls

Methods

RegisterAll(NetworkBehaviour[])

Declaration
public void RegisterAll(NetworkBehaviour[] behaviours)
Parameters
TypeNameDescription
Mirage.NetworkBehaviour[]behaviours

Register(Int32, String, Boolean, RpcInvokeType, NetworkBehaviour, RpcDelegate)

Declaration
public void Register(int index, string name, bool cmdRequireAuthority, RpcInvokeType invokerType, NetworkBehaviour behaviour, RpcDelegate func)
Parameters
TypeNameDescription
System.Int32index
System.Stringname
System.BooleancmdRequireAuthority
Mirage.RemoteCalls.RpcInvokeTypeinvokerType
Mirage.NetworkBehaviourbehaviour
Mirage.RemoteCalls.RpcDelegatefunc

RegisterRequest<T>(Int32, String, Boolean, RpcInvokeType, NetworkBehaviour, RequestDelegate<T>)

Declaration
public void RegisterRequest<T>(int index, string name, bool cmdRequireAuthority, RpcInvokeType invokerType, NetworkBehaviour behaviour, RequestDelegate<T> func)
Parameters
TypeNameDescription
System.Int32index
System.Stringname
System.BooleancmdRequireAuthority
Mirage.RemoteCalls.RpcInvokeTypeinvokerType
Mirage.NetworkBehaviourbehaviour
Mirage.RemoteCalls.RequestDelegate<T>func

GetIndexOffset(NetworkBehaviour)

Declaration
public int GetIndexOffset(NetworkBehaviour behaviour)
Parameters
TypeNameDescription
Mirage.NetworkBehaviourbehaviour
Returns
TypeDescription
System.Int32

GetRelative(NetworkBehaviour, Int32)

Declaration
public RemoteCall GetRelative(NetworkBehaviour behaviour, int index)
Parameters
TypeNameDescription
Mirage.NetworkBehaviourbehaviour
System.Int32index
Returns
TypeDescription
Mirage.RemoteCalls.RemoteCall

GetAbsolute(Int32)

Declaration
public RemoteCall GetAbsolute(int index)
Parameters
TypeNameDescription
System.Int32index
Returns
TypeDescription
Mirage.RemoteCalls.RemoteCall
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.RemoteCalls/RequestDelegate-1/index.html b/docs/reference/Mirage.RemoteCalls/RequestDelegate-1/index.html new file mode 100644 index 00000000000..95ade12502c --- /dev/null +++ b/docs/reference/Mirage.RemoteCalls/RequestDelegate-1/index.html @@ -0,0 +1,17 @@ + + + + + + +RequestDelegate<T> | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.RemoteCalls/RpcDelegate/index.html b/docs/reference/Mirage.RemoteCalls/RpcDelegate/index.html new file mode 100644 index 00000000000..62e8eb79a72 --- /dev/null +++ b/docs/reference/Mirage.RemoteCalls/RpcDelegate/index.html @@ -0,0 +1,17 @@ + + + + + + +RpcDelegate | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.RemoteCalls/RpcInvokeType/index.html b/docs/reference/Mirage.RemoteCalls/RpcInvokeType/index.html new file mode 100644 index 00000000000..c570c17a6b4 --- /dev/null +++ b/docs/reference/Mirage.RemoteCalls/RpcInvokeType/index.html @@ -0,0 +1,17 @@ + + + + + + +RpcInvokeType | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.RemoteCalls/RpcMessage/index.html b/docs/reference/Mirage.RemoteCalls/RpcMessage/index.html new file mode 100644 index 00000000000..4b1f2f6673f --- /dev/null +++ b/docs/reference/Mirage.RemoteCalls/RpcMessage/index.html @@ -0,0 +1,17 @@ + + + + + + +RpcMessage | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.RemoteCalls/RpcReply/index.html b/docs/reference/Mirage.RemoteCalls/RpcReply/index.html new file mode 100644 index 00000000000..5b11da0a496 --- /dev/null +++ b/docs/reference/Mirage.RemoteCalls/RpcReply/index.html @@ -0,0 +1,17 @@ + + + + + + +RpcReply | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.RemoteCalls/RpcWithReplyMessage/index.html b/docs/reference/Mirage.RemoteCalls/RpcWithReplyMessage/index.html new file mode 100644 index 00000000000..068721f2dfa --- /dev/null +++ b/docs/reference/Mirage.RemoteCalls/RpcWithReplyMessage/index.html @@ -0,0 +1,17 @@ + + + + + + +RpcWithReplyMessage | Mirage Networking + + + + +
+

Struct RpcWithReplyMessage

Syntax
public struct RpcWithReplyMessage

Fields

NetId

Declaration
public uint NetId

FunctionIndex

Declaration
public int FunctionIndex

ReplyId

Id sent with rpc so that server can reply with and send the same Id

Declaration
public int ReplyId

Payload

Declaration
public ArraySegment<byte> Payload
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.RemoteCalls/ServerRpcSender/index.html b/docs/reference/Mirage.RemoteCalls/ServerRpcSender/index.html new file mode 100644 index 00000000000..8f23de071c2 --- /dev/null +++ b/docs/reference/Mirage.RemoteCalls/ServerRpcSender/index.html @@ -0,0 +1,17 @@ + + + + + + +ServerRpcSender | Mirage Networking + + + + +
+

Class ServerRpcSender

Methods used by weaver to send RPCs

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class ServerRpcSender

Methods

Send(NetworkBehaviour, Int32, NetworkWriter, Channel, Boolean)

Declaration
public static void Send(NetworkBehaviour behaviour, int relativeIndex, NetworkWriter writer, Channel channelId, bool requireAuthority)
Parameters
TypeNameDescription
Mirage.NetworkBehaviourbehaviour
System.Int32relativeIndex
Mirage.Serialization.NetworkWriterwriter
Mirage.ChannelchannelId
System.BooleanrequireAuthority

SendWithReturn<T>(NetworkBehaviour, Int32, NetworkWriter, Boolean)

Declaration
public static UniTask<T> SendWithReturn<T>(NetworkBehaviour behaviour, int relativeIndex, NetworkWriter writer, bool requireAuthority)
Parameters
TypeNameDescription
Mirage.NetworkBehaviourbehaviour
System.Int32relativeIndex
Mirage.Serialization.NetworkWriterwriter
System.BooleanrequireAuthority
Returns
TypeDescription
Cysharp.Threading.Tasks.UniTask<T>

ShouldInvokeLocally(NetworkBehaviour, Boolean)

Used by weaver to check if ClientRPC should be invoked locally in host mode

Declaration
public static bool ShouldInvokeLocally(NetworkBehaviour behaviour, bool requireAuthority)
Parameters
TypeNameDescription
Mirage.NetworkBehaviourbehaviour
System.BooleanrequireAuthority
Returns
TypeDescription
System.Boolean
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.RemoteCalls/index.html b/docs/reference/Mirage.RemoteCalls/index.html new file mode 100644 index 00000000000..e513ee0cd75 --- /dev/null +++ b/docs/reference/Mirage.RemoteCalls/index.html @@ -0,0 +1,17 @@ + + + + + + +Mirage.RemoteCalls | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/AnglePacker/index.html b/docs/reference/Mirage.Serialization/AnglePacker/index.html new file mode 100644 index 00000000000..05b6622e699 --- /dev/null +++ b/docs/reference/Mirage.Serialization/AnglePacker/index.html @@ -0,0 +1,17 @@ + + + + + + +AnglePacker | Mirage Networking + + + + +
+

Class AnglePacker

Inheritance
System.Object
Inherited Members
Show
Syntax
public sealed class AnglePacker

Constructors

AnglePacker(Single)

Declaration
public AnglePacker(float lowestPrecision)
Parameters
TypeNameDescription
System.SinglelowestPrecisionlowest precision, actual precision will be caculated from number of bits used

Methods

Pack(Single)

Declaration
public uint Pack(float value)
Parameters
TypeNameDescription
System.Singlevalue
Returns
TypeDescription
System.UInt32

Pack(NetworkWriter, Single)

Declaration
public void Pack(NetworkWriter writer, float value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Singlevalue

Unpack(UInt32)

Declaration
public float Unpack(uint value)
Parameters
TypeNameDescription
System.UInt32value
Returns
TypeDescription
System.Single

Unpack(NetworkReader)

Declaration
public float Unpack(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Single
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/BitCountAttribute/index.html b/docs/reference/Mirage.Serialization/BitCountAttribute/index.html new file mode 100644 index 00000000000..392e8f20b64 --- /dev/null +++ b/docs/reference/Mirage.Serialization/BitCountAttribute/index.html @@ -0,0 +1,18 @@ + + + + + + +BitCountAttribute | Mirage Networking + + + + +
+

Class BitCountAttribute

Tells weaver how many bits to sue for field +Only works with integer fields (byte, int, ulong, enums etc)

NOTE: bits are truncated when using this, so signed values will lose their sign. Use as well if value might be negative

Also See: Bit Packing Documentation

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter)]
public class BitCountAttribute : Attribute, _Attribute

Constructors

BitCountAttribute(Int32)

Declaration
public BitCountAttribute(int bitCount)
Parameters
TypeNameDescription
System.Int32bitCountValue should be between 1 and 64
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/BitCountFromRangeAttribute/index.html b/docs/reference/Mirage.Serialization/BitCountFromRangeAttribute/index.html new file mode 100644 index 00000000000..ce0a7442169 --- /dev/null +++ b/docs/reference/Mirage.Serialization/BitCountFromRangeAttribute/index.html @@ -0,0 +1,18 @@ + + + + + + +BitCountFromRangeAttribute | Mirage Networking + + + + +
+

Class BitCountFromRangeAttribute

Calculates bitcount from then given min/max values and then packs using +Also See: Bit Packing Documentation

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter)]
public class BitCountFromRangeAttribute : Attribute, _Attribute

Constructors

BitCountFromRangeAttribute(Int32, Int32)

Declaration
public BitCountFromRangeAttribute(int min, int max)
Parameters
TypeNameDescription
System.Int32minminimum possible int value
System.Int32maxminimum possible max value
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/BitHelper/index.html b/docs/reference/Mirage.Serialization/BitHelper/index.html new file mode 100644 index 00000000000..4abc62eef76 --- /dev/null +++ b/docs/reference/Mirage.Serialization/BitHelper/index.html @@ -0,0 +1,18 @@ + + + + + + +BitHelper | Mirage Networking + + + + +
+

Class BitHelper

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class BitHelper

Methods

BitCount(Single, Single)

Gets the number of bits need for precision in range negative to positive max

WARNING: these methods are not fast, dont use in hotpath

Declaration
public static int BitCount(float max, float precision)
Parameters
TypeNameDescription
System.Singlemax
System.Singleprecisionlowest precision required, bit count will round up so real precision might be higher
Returns
TypeDescription
System.Int32

BitCount(Single, Single, Boolean)

Gets the number of bits need for precision in range max +If signed then range is negative max to positive max, If unsigned then 0 to max

WARNING: these methods are not fast, dont use in hotpath

Declaration
public static int BitCount(float max, float precision, bool signed)
Parameters
TypeNameDescription
System.Singlemax
System.Singleprecisionlowest precision required, bit count will round up so real precision might be higher
System.Booleansigned
Returns
TypeDescription
System.Int32

BitCount(UInt64)

Gets the number of bits need for max

WARNING: these methods are not fast, dont use in hotpath

Declaration
public static int BitCount(ulong max)
Parameters
TypeNameDescription
System.UInt64max
Returns
TypeDescription
System.Int32
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/BitMask/index.html b/docs/reference/Mirage.Serialization/BitMask/index.html new file mode 100644 index 00000000000..5fae4b6aee7 --- /dev/null +++ b/docs/reference/Mirage.Serialization/BitMask/index.html @@ -0,0 +1,18 @@ + + + + + + +BitMask | Mirage Networking + + + + +
+

Class BitMask

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class BitMask

Methods

Mask(Int32)

Creates mask for bits

(showing 32 bits for simplify, result is 64 bit)

Example bits = 4 => mask = 00000000_00000000_00000000_00001111

Example bits = 10 => mask = 00000000_00000000_00000011_11111111

Declaration
public static ulong Mask(int bits)
Parameters
TypeNameDescription
System.Int32bits
Returns
TypeDescription
System.UInt64

OuterMask(Int32, Int32)

Creates Mask either side of start and end +Note this mask is only valid for start [0..63] and end [0..64]

Declaration
public static ulong OuterMask(int start, int end)
Parameters
TypeNameDescription
System.Int32start
System.Int32end
Returns
TypeDescription
System.UInt64
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/CollectionExtensions/index.html b/docs/reference/Mirage.Serialization/CollectionExtensions/index.html new file mode 100644 index 00000000000..6c158069b1b --- /dev/null +++ b/docs/reference/Mirage.Serialization/CollectionExtensions/index.html @@ -0,0 +1,17 @@ + + + + + + +CollectionExtensions | Mirage Networking + + + + +
+

Class CollectionExtensions

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class CollectionExtensions

Methods

WriteBytesAndSize(NetworkWriter, Byte[], Int32, Int32)

For byte arrays with dynamic size, where the reader doesn't know how many will come

Declaration
public static void WriteBytesAndSize(this NetworkWriter writer, byte[] buffer, int offset, int count)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Byte[]bufferarray or null
System.Int32offset
System.Int32count

WriteBytesAndSize(NetworkWriter, Byte[])

Write method for weaver to use

Declaration
public static void WriteBytesAndSize(this NetworkWriter writer, byte[] buffer)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Byte[]bufferarray or null

WriteBytesAndSizeSegment(NetworkWriter, ArraySegment<Byte>)

Declaration
public static void WriteBytesAndSizeSegment(this NetworkWriter writer, ArraySegment<byte> buffer)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.ArraySegment<System.Byte>buffer

WriteList<T>(NetworkWriter, List<T>)

Declaration
[WeaverSerializeCollection]
public static void WriteList<T>(this NetworkWriter writer, List<T> list)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Collections.Generic.List<T>list

WriteArray<T>(NetworkWriter, T[])

Declaration
public static void WriteArray<T>(this NetworkWriter writer, T[] array)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
{T}[]array

WriteArraySegment<T>(NetworkWriter, ArraySegment<T>)

Declaration
[WeaverSerializeCollection]
public static void WriteArraySegment<T>(this NetworkWriter writer, ArraySegment<T> segment)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.ArraySegment<T>segment

WriteDictionary<TKey, TValue>(NetworkWriter, Dictionary<TKey, TValue>)

Declaration
[WeaverSerializeCollection]
public static void WriteDictionary<TKey, TValue>(this NetworkWriter writer, Dictionary<TKey, TValue> dictionary)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Collections.Generic.Dictionary<TKey, TValue>dictionary

ReadBytesAndSize(NetworkReader)

Declaration
public static byte[] ReadBytesAndSize(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Byte[]array or null

ReadBytesAndSizeSegment(NetworkReader)

Declaration
public static ArraySegment<byte> ReadBytesAndSizeSegment(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.ArraySegment<System.Byte>

ReadBytes(NetworkReader, Int32)

Declaration
public static byte[] ReadBytes(this NetworkReader reader, int count)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
System.Int32count
Returns
TypeDescription
System.Byte[]

ReadList<T>(NetworkReader)

Declaration
[WeaverSerializeCollection]
public static List<T> ReadList<T>(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Collections.Generic.List<T>

ReadArray<T>(NetworkReader)

Declaration
public static T[] ReadArray<T>(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
{T}[]

ReadArraySegment<T>(NetworkReader)

Declaration
[WeaverSerializeCollection]
public static ArraySegment<T> ReadArraySegment<T>(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.ArraySegment<T>

ReadDictionary<TKey, TValue>(NetworkReader)

Declaration
[WeaverSerializeCollection]
public static Dictionary<TKey, TValue> ReadDictionary<TKey, TValue>(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Collections.Generic.Dictionary<TKey, TValue>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/CompressedExtensions/index.html b/docs/reference/Mirage.Serialization/CompressedExtensions/index.html new file mode 100644 index 00000000000..30728701fe6 --- /dev/null +++ b/docs/reference/Mirage.Serialization/CompressedExtensions/index.html @@ -0,0 +1,17 @@ + + + + + + +CompressedExtensions | Mirage Networking + + + + +
+

Class CompressedExtensions

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class CompressedExtensions

Methods

WriteQuaternion(NetworkWriter, Quaternion)

Packs Quaternion using

Declaration
public static void WriteQuaternion(this NetworkWriter writer, Quaternion rotation)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Quaternionrotation

ReadQuaternion(NetworkReader)

Unpacks Quaternion using

Declaration
public static Quaternion ReadQuaternion(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Quaternion
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/FloatPackAttribute/index.html b/docs/reference/Mirage.Serialization/FloatPackAttribute/index.html new file mode 100644 index 00000000000..2f3f64a1448 --- /dev/null +++ b/docs/reference/Mirage.Serialization/FloatPackAttribute/index.html @@ -0,0 +1,18 @@ + + + + + + +FloatPackAttribute | Mirage Networking + + + + +
+

Class FloatPackAttribute

Packs a float field, clamped from -max to +max, with +Also See: Bit Packing Documentation

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter)]
public class FloatPackAttribute : Attribute, _Attribute

Constructors

FloatPackAttribute(Single, Single)

Declaration
public FloatPackAttribute(float max, float precision)
Parameters
TypeNameDescription
System.SinglemaxMax value of the float
System.SingleprecisionSmallest possible value of the field. Real precision will be calculated using bitcount but will always be lower than this parameter

FloatPackAttribute(Single, Int32)

Declaration
public FloatPackAttribute(float max, int bitCount)
Parameters
TypeNameDescription
System.SinglemaxMax value of the float
System.Int32bitCountnumber of bits to pack the field into
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/FloatPacker/index.html b/docs/reference/Mirage.Serialization/FloatPacker/index.html new file mode 100644 index 00000000000..99772f6155a --- /dev/null +++ b/docs/reference/Mirage.Serialization/FloatPacker/index.html @@ -0,0 +1,19 @@ + + + + + + +FloatPacker | Mirage Networking + + + + +
+

Class FloatPacker

Helps compresses a float into a reduced number of bits

Inheritance
System.Object
Inherited Members
Show
Syntax
public sealed class FloatPacker

Constructors

FloatPacker(Single, Single)

Declaration
public FloatPacker(float max, float lowestPrecision)
Parameters
TypeNameDescription
System.Singlemax
System.SinglelowestPrecisionlowest precision, actual precision will be caculated from number of bits used

FloatPacker(Single, Int32)

Declaration
public FloatPacker(float max, int bitCount)
Parameters
TypeNameDescription
System.Singlemax
System.Int32bitCount

FloatPacker(Single, Single, Boolean)

Declaration
public FloatPacker(float max, float lowestPrecision, bool signed)
Parameters
TypeNameDescription
System.Singlemax
System.SinglelowestPrecisionlowest precision, actual precision will be caculated from number of bits used
System.Booleansignedif negative values will be allowed or not

FloatPacker(Single, Int32, Boolean)

Declaration
public FloatPacker(float max, int bitCount, bool signed)
Parameters
TypeNameDescription
System.Singlemax
System.Int32bitCount
System.Booleansignedif negative values will be allowed or not

Methods

Pack(Single)

Packs a float value into a uint +Clamps the value within min/max range

Declaration
public uint Pack(float value)
Parameters
TypeNameDescription
System.Singlevalue
Returns
TypeDescription
System.UInt32

Pack(NetworkWriter, Single)

Packs and Writes a float value +Clamps the value within min/max range

Declaration
public void Pack(NetworkWriter writer, float value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Singlevalue

PackNoClamp(Single)

Packs a float value into a uint without clamping it in range

WARNING: only use this method if value is always in range. Out of range values may not be unpacked correctly

Declaration
public uint PackNoClamp(float value)
Parameters
TypeNameDescription
System.Singlevalue
Returns
TypeDescription
System.UInt32

PackNoClamp(NetworkWriter, Single)

Declaration
public void PackNoClamp(NetworkWriter writer, float value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Singlevalue

Unpack(UInt32)

Unpacks uint value to float

Declaration
public float Unpack(uint value)
Parameters
TypeNameDescription
System.UInt32value
Returns
TypeDescription
System.Single

Unpack(NetworkReader)

Reads and unpacks float value

Declaration
public float Unpack(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Single
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/FromBitCount/index.html b/docs/reference/Mirage.Serialization/FromBitCount/index.html new file mode 100644 index 00000000000..1f5ea022fe4 --- /dev/null +++ b/docs/reference/Mirage.Serialization/FromBitCount/index.html @@ -0,0 +1,17 @@ + + + + + + +FromBitCount | Mirage Networking + + + + +
+

Class FromBitCount

The max value for N number of bits

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class FromBitCount

Fields

b1

Declaration
public const ulong b1 = 1UL

b2

Declaration
public const ulong b2 = 3UL

b3

Declaration
public const ulong b3 = 7UL

b4

Declaration
public const ulong b4 = 15UL

b5

Declaration
public const ulong b5 = 31UL

b6

Declaration
public const ulong b6 = 63UL

b7

Declaration
public const ulong b7 = 127UL

b8

Declaration
public const ulong b8 = 255UL

b9

Declaration
public const ulong b9 = 511UL

b10

Declaration
public const ulong b10 = 1023UL

b11

Declaration
public const ulong b11 = 2047UL

b12

Declaration
public const ulong b12 = 4095UL

b13

Declaration
public const ulong b13 = 8191UL

b14

Declaration
public const ulong b14 = 16383UL

b15

Declaration
public const ulong b15 = 32767UL

b16

Declaration
public const ulong b16 = 65535UL

b17

Declaration
public const ulong b17 = 131071UL

b18

Declaration
public const ulong b18 = 262143UL

b19

Declaration
public const ulong b19 = 524287UL

b20

Declaration
public const ulong b20 = 1048575UL

b21

Declaration
public const ulong b21 = 2097151UL

b22

Declaration
public const ulong b22 = 4194303UL

b23

Declaration
public const ulong b23 = 8388607UL

b24

Declaration
public const ulong b24 = 16777215UL

b25

Declaration
public const ulong b25 = 33554431UL

b26

Declaration
public const ulong b26 = 67108863UL

b27

Declaration
public const ulong b27 = 134217727UL

b28

Declaration
public const ulong b28 = 268435455UL

b29

Declaration
public const ulong b29 = 536870911UL

b30

Declaration
public const ulong b30 = 1073741823UL

b31

Declaration
public const ulong b31 = 2147483647UL

b32

Declaration
public const ulong b32 = 4294967295UL

b33

Declaration
public const ulong b33 = 8589934591UL

b34

Declaration
public const ulong b34 = 17179869183UL

b35

Declaration
public const ulong b35 = 34359738367UL

b36

Declaration
public const ulong b36 = 68719476735UL

b37

Declaration
public const ulong b37 = 137438953471UL

b38

Declaration
public const ulong b38 = 274877906943UL

b39

Declaration
public const ulong b39 = 549755813887UL

b40

Declaration
public const ulong b40 = 1099511627775UL

b41

Declaration
public const ulong b41 = 2199023255551UL

b42

Declaration
public const ulong b42 = 4398046511103UL

b43

Declaration
public const ulong b43 = 8796093022207UL

b44

Declaration
public const ulong b44 = 17592186044415UL

b45

Declaration
public const ulong b45 = 35184372088831UL

b46

Declaration
public const ulong b46 = 70368744177663UL

b47

Declaration
public const ulong b47 = 140737488355327UL

b48

Declaration
public const ulong b48 = 281474976710655UL

b49

Declaration
public const ulong b49 = 562949953421311UL

b50

Declaration
public const ulong b50 = 1125899906842623UL

b51

Declaration
public const ulong b51 = 2251799813685247UL

b52

Declaration
public const ulong b52 = 4503599627370495UL

b53

Declaration
public const ulong b53 = 9007199254740991UL

b54

Declaration
public const ulong b54 = 18014398509481983UL

b55

Declaration
public const ulong b55 = 36028797018963967UL

b56

Declaration
public const ulong b56 = 72057594037927935UL

b57

Declaration
public const ulong b57 = 144115188075855871UL

b58

Declaration
public const ulong b58 = 288230376151711743UL

b59

Declaration
public const ulong b59 = 576460752303423487UL

b60

Declaration
public const ulong b60 = 1152921504606846975UL

b61

Declaration
public const ulong b61 = 2305843009213693951UL

b62

Declaration
public const ulong b62 = 4611686018427387903UL

b63

Declaration
public const ulong b63 = 9223372036854775807UL

b64

Declaration
public const ulong b64 = 18446744073709551615UL
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/GenericTypesSerializationExtensions/index.html b/docs/reference/Mirage.Serialization/GenericTypesSerializationExtensions/index.html new file mode 100644 index 00000000000..fa4c347871e --- /dev/null +++ b/docs/reference/Mirage.Serialization/GenericTypesSerializationExtensions/index.html @@ -0,0 +1,17 @@ + + + + + + +GenericTypesSerializationExtensions | Mirage Networking + + + + +
+

Class GenericTypesSerializationExtensions

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class GenericTypesSerializationExtensions

Methods

Write<T>(NetworkWriter, T)

Writes any type that mirage supports

Declaration
public static void Write<T>(this NetworkWriter writer, T value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Tvalue

Read<T>(NetworkReader)

Reads any data type that mirage supports

Declaration
public static T Read<T>(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
T
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/MessageIdCache-1/index.html b/docs/reference/Mirage.Serialization/MessageIdCache-1/index.html new file mode 100644 index 00000000000..fe4a244ba9a --- /dev/null +++ b/docs/reference/Mirage.Serialization/MessageIdCache-1/index.html @@ -0,0 +1,18 @@ + + + + + + +MessageIdCache<T> | Mirage Networking + + + + +
+

Class MessageIdCache<T>

Class that will cache the ID for type T +avoids needing to calculate the stable hash of the full name each time a message is sent

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class MessageIdCache<T>
Type Parameters
NameDescription
T

Fields

Id

Declaration
public static readonly int Id
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/MessagePacker/index.html b/docs/reference/Mirage.Serialization/MessagePacker/index.html new file mode 100644 index 00000000000..c11abd0907f --- /dev/null +++ b/docs/reference/Mirage.Serialization/MessagePacker/index.html @@ -0,0 +1,20 @@ + + + + + + +MessagePacker | Mirage Networking + + + + +
+

Class MessagePacker

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class MessagePacker

Properties

MessageTypes

Map of Message Id => Type +When we receive a message, we can lookup here to find out what type it was. +This is populated by the weaver.

Declaration
public static IReadOnlyDictionary<int, Type> MessageTypes { get; }

Methods

RegisterMessage<T>()

Registers a message with its ID, Useful for debugging if a message handler is missing +Used by weaver

Declaration
public static void RegisterMessage<T>()

GetId<T>()

Gets the Id from for T

Declaration
public static int GetId<T>()
Returns
TypeDescription
System.Int32

GetId(Type)

Used to calculate new hash for type

Declaration
public static int GetId(Type type)
Parameters
TypeNameDescription
System.Typetype
Returns
TypeDescription
System.Int32

Pack<T>(T, NetworkWriter)

Declaration
public static void Pack<T>(T message, NetworkWriter writer)
Parameters
TypeNameDescription
Tmessage
Mirage.Serialization.NetworkWriterwriter

Pack<T>(T)

Declaration
public static byte[] Pack<T>(T message)
Parameters
TypeNameDescription
Tmessage
Returns
TypeDescription
System.Byte[]

Unpack<T>(Byte[], IObjectLocator)

unpack a message we received

Declaration
public static T Unpack<T>(byte[] data, IObjectLocator objectLocator)
Parameters
TypeNameDescription
System.Byte[]data
Mirage.IObjectLocatorobjectLocatorCan be null, but must be set in order to read NetworkIdentity Values
Returns
TypeDescription
T

UnpackId(NetworkReader)

Declaration
public static int UnpackId(NetworkReader messageReader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReadermessageReader
Returns
TypeDescription
System.Int32
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/MirageNetworkReader/index.html b/docs/reference/Mirage.Serialization/MirageNetworkReader/index.html new file mode 100644 index 00000000000..c2604cdb5ef --- /dev/null +++ b/docs/reference/Mirage.Serialization/MirageNetworkReader/index.html @@ -0,0 +1,17 @@ + + + + + + +MirageNetworkReader | Mirage Networking + + + + +
+

Class MirageNetworkReader

NetworkReader but has a ObjectLocator field that can be used by Reader functions to fetch NetworkIdentity

Inheritance
System.Object
Mirage.Serialization.NetworkReader
Inherited Members
Show

Mirage.Serialization.NetworkReader.BitLength

Mirage.Serialization.NetworkReader.BitPosition

Mirage.Serialization.NetworkReader.BytePosition

Mirage.Serialization.NetworkReader.Dispose()

Mirage.Serialization.NetworkReader.CanRead()

Mirage.Serialization.NetworkReader.ReadBoolean()

Mirage.Serialization.NetworkReader.ReadBooleanAsUlong()

Mirage.Serialization.NetworkReader.ReadSByte()

Mirage.Serialization.NetworkReader.ReadByte()

Mirage.Serialization.NetworkReader.ReadInt16()

Mirage.Serialization.NetworkReader.ReadUInt16()

Mirage.Serialization.NetworkReader.ReadInt32()

Mirage.Serialization.NetworkReader.ReadUInt32()

Mirage.Serialization.NetworkReader.ReadInt64()

Mirage.Serialization.NetworkReader.ReadUInt64()

Mirage.Serialization.NetworkReader.ReadSingle()

Mirage.Serialization.NetworkReader.ReadDouble()

Mirage.Serialization.NetworkReader.PadAndCopy<T>(T)

Syntax
public class MirageNetworkReader : NetworkReader, IDisposable

Properties

ObjectLocator

Used to find objects by net id

Declaration
public IObjectLocator ObjectLocator { get; set; }
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/MirageTypesExtensions/index.html b/docs/reference/Mirage.Serialization/MirageTypesExtensions/index.html new file mode 100644 index 00000000000..9efb5f67940 --- /dev/null +++ b/docs/reference/Mirage.Serialization/MirageTypesExtensions/index.html @@ -0,0 +1,17 @@ + + + + + + +MirageTypesExtensions | Mirage Networking + + + + +
+

Class MirageTypesExtensions

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class MirageTypesExtensions

Methods

WriteNetworkIdentity(NetworkWriter, NetworkIdentity)

Declaration
public static void WriteNetworkIdentity(this NetworkWriter writer, NetworkIdentity value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Mirage.NetworkIdentityvalue

WriteNetworkBehaviour(NetworkWriter, NetworkBehaviour)

Declaration
public static void WriteNetworkBehaviour(this NetworkWriter writer, NetworkBehaviour value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Mirage.NetworkBehaviourvalue

WriteGameObject(NetworkWriter, GameObject)

Declaration
public static void WriteGameObject(this NetworkWriter writer, GameObject value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
GameObjectvalue

ToMirageReader(NetworkReader)

Casts reader to , throw if cast is invalid

Declaration
public static MirageNetworkReader ToMirageReader(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Mirage.Serialization.MirageNetworkReader

ReadNetworkIdentity(NetworkReader)

Declaration
public static NetworkIdentity ReadNetworkIdentity(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Mirage.NetworkIdentity

ReadNetworkBehaviour(NetworkReader)

Declaration
public static NetworkBehaviour ReadNetworkBehaviour(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Mirage.NetworkBehaviour

ReadNetworkBehaviour<T>(NetworkReader)

Declaration
public static T ReadNetworkBehaviour<T>(this NetworkReader reader)
where T : NetworkBehaviour
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
T

ReadGameObject(NetworkReader)

Declaration
public static GameObject ReadGameObject(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
GameObject
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/NetworkReader/index.html b/docs/reference/Mirage.Serialization/NetworkReader/index.html new file mode 100644 index 00000000000..ccbc38fb16d --- /dev/null +++ b/docs/reference/Mirage.Serialization/NetworkReader/index.html @@ -0,0 +1,20 @@ + + + + + + +NetworkReader | Mirage Networking + + + + +
+

Class NetworkReader

Bit writer, writes values to a buffer on a bit level +Use to reduce memory allocation

Inheritance
System.Object
Inherited Members
Show
Syntax
public class NetworkReader : IDisposable

Constructors

NetworkReader()

Declaration
public NetworkReader()

Properties

BitLength

Size of buffer that is being read from

Declaration
public int BitLength { get; }

BitPosition

Current bit position for reading from buffer

Declaration
public int BitPosition { get; }

BytePosition

Current rounded up to nearest multiple of 8

Declaration
public int BytePosition { get; }

Methods

Finalize()

Declaration
protected void Finalize()

Dispose(Boolean)

Declaration
protected virtual void Dispose(bool disposing)
Parameters
TypeNameDescription
System.Booleandisposingtrue if called from IDisposable

Dispose()

Declaration
public void Dispose()

Reset(ArraySegment<Byte>)

Declaration
public void Reset(ArraySegment<byte> segment)
Parameters
TypeNameDescription
System.ArraySegment<System.Byte>segment

Reset(Byte[])

Declaration
public void Reset(byte[] array)
Parameters
TypeNameDescription
System.Byte[]array

Reset(Byte[], Int32, Int32)

Declaration
public void Reset(byte[] array, int position, int length)
Parameters
TypeNameDescription
System.Byte[]array
System.Int32position
System.Int32length

CanRead()

Can read atleast 1 bit

Declaration
public bool CanRead()
Returns
TypeDescription
System.Boolean

CanReadBits(Int32)

Can atleast readCount bits

Declaration
public bool CanReadBits(int readCount)
Parameters
TypeNameDescription
System.Int32readCount
Returns
TypeDescription
System.Boolean

CanReadBytes(Int32)

Can atleast readCount bytes

Declaration
public bool CanReadBytes(int readCount)
Parameters
TypeNameDescription
System.Int32readCount
Returns
TypeDescription
System.Boolean

ReadBoolean()

Declaration
public bool ReadBoolean()
Returns
TypeDescription
System.Boolean

ReadBooleanAsUlong()

Writes first bit of value to buffer

Declaration
public ulong ReadBooleanAsUlong()
Returns
TypeDescription
System.UInt64

ReadSByte()

Declaration
public sbyte ReadSByte()
Returns
TypeDescription
System.SByte

ReadByte()

Declaration
public byte ReadByte()
Returns
TypeDescription
System.Byte

ReadInt16()

Declaration
public short ReadInt16()
Returns
TypeDescription
System.Int16

ReadUInt16()

Declaration
public ushort ReadUInt16()
Returns
TypeDescription
System.UInt16

ReadInt32()

Declaration
public int ReadInt32()
Returns
TypeDescription
System.Int32

ReadUInt32()

Declaration
public uint ReadUInt32()
Returns
TypeDescription
System.UInt32

ReadInt64()

Declaration
public long ReadInt64()
Returns
TypeDescription
System.Int64

ReadUInt64()

Declaration
public ulong ReadUInt64()
Returns
TypeDescription
System.UInt64

ReadSingle()

Declaration
public float ReadSingle()
Returns
TypeDescription
System.Single

ReadDouble()

Declaration
public double ReadDouble()
Returns
TypeDescription
System.Double

Read(Int32)

Declaration
public ulong Read(int bits)
Parameters
TypeNameDescription
System.Int32bits
Returns
TypeDescription
System.UInt64

ReadAtPosition(Int32, Int32)

Reads n bits from buffer at bitPosition

Declaration
public ulong ReadAtPosition(int bits, int bitPosition)
Parameters
TypeNameDescription
System.Int32bitsnumber of bits in value to write
System.Int32bitPositionwhere to write bits
Returns
TypeDescription
System.UInt64

Skip(Int32)

Declaration
public void Skip(int bits)
Parameters
TypeNameDescription
System.Int32bits

MoveBitPosition(Int32)

Moves the internal bit position +For most usecases it is safer to use +WARNING: When reading from earlier position make sure to move position back to end of buffer after reading

Declaration
public void MoveBitPosition(int newPosition)
Parameters
TypeNameDescription
System.Int32newPosition

PadAndCopy<T>(out T)

Moves position to nearest byte then copies struct from that position

Declaration
public void PadAndCopy<T>(out T value)
where T : struct
Parameters
TypeNameDescription
Tvalue

ReadBytes(Byte[], Int32, Int32)

Moves position to nearest byte then copies bytes from that position

Declaration
public void ReadBytes(byte[] array, int offset, int length)
Parameters
TypeNameDescription
System.Byte[]array
System.Int32offset
System.Int32length

ReadBytesSegment(Int32)

Declaration
public ArraySegment<byte> ReadBytesSegment(int count)
Parameters
TypeNameDescription
System.Int32count
Returns
TypeDescription
System.ArraySegment<System.Byte>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/NetworkReaderPool/index.html b/docs/reference/Mirage.Serialization/NetworkReaderPool/index.html new file mode 100644 index 00000000000..56093dabc96 --- /dev/null +++ b/docs/reference/Mirage.Serialization/NetworkReaderPool/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkReaderPool | Mirage Networking + + + + +
+

Class NetworkReaderPool

Holds static reference to of

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class NetworkReaderPool

Methods

Configure(Int32, Int32)

Declaration
public static void Configure(int startPoolSize = 5, int maxPoolSize = 100)
Parameters
TypeNameDescription
System.Int32startPoolSize
System.Int32maxPoolSize

GetReader(ArraySegment<Byte>, IObjectLocator)

Gets reader from pool. sets internal array and objectLocator values

Declaration
public static PooledNetworkReader GetReader(ArraySegment<byte> packet, IObjectLocator objectLocator)
Parameters
TypeNameDescription
System.ArraySegment<System.Byte>packet
Mirage.IObjectLocatorobjectLocatorCan be null, but must be set in order to read NetworkIdentity Values
Returns
TypeDescription
Mirage.Serialization.PooledNetworkReader

GetReader(Byte[], IObjectLocator)

Gets reader from pool. sets internal array and objectLocator values

Declaration
public static PooledNetworkReader GetReader(byte[] array, IObjectLocator objectLocator)
Parameters
TypeNameDescription
System.Byte[]array
Mirage.IObjectLocatorobjectLocatorCan be null, but must be set in order to read NetworkIdentity Values
Returns
TypeDescription
Mirage.Serialization.PooledNetworkReader

GetReader(Byte[], Int32, Int32, IObjectLocator)

Gets reader from pool. sets internal array and objectLocator values

Declaration
public static PooledNetworkReader GetReader(byte[] array, int offset, int length, IObjectLocator objectLocator)
Parameters
TypeNameDescription
System.Byte[]array
System.Int32offset
System.Int32length
Mirage.IObjectLocatorobjectLocatorCan be null, but must be set in order to read NetworkIdentity Values
Returns
TypeDescription
Mirage.Serialization.PooledNetworkReader
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/NetworkWriter/index.html b/docs/reference/Mirage.Serialization/NetworkWriter/index.html new file mode 100644 index 00000000000..7a645d14298 --- /dev/null +++ b/docs/reference/Mirage.Serialization/NetworkWriter/index.html @@ -0,0 +1,26 @@ + + + + + + +NetworkWriter | Mirage Networking + + + + +
+

Class NetworkWriter

Bit writer, writes values to a buffer on a bit level +Use to reduce memory allocation

Inheritance
System.Object
Inherited Members
Show
Syntax
public class NetworkWriter

Constructors

NetworkWriter(Int32)

Declaration
public NetworkWriter(int minByteCapacity)
Parameters
TypeNameDescription
System.Int32minByteCapacity

NetworkWriter(Int32, Boolean)

Declaration
public NetworkWriter(int minByteCapacity, bool allowResize)
Parameters
TypeNameDescription
System.Int32minByteCapacity
System.BooleanallowResize

Properties

ByteCapacity

Size limit of buffer

Declaration
public int ByteCapacity { get; }

ByteLength

Current rounded up to nearest multiple of 8 +To set byte position use multiple by 8

Declaration
public int ByteLength { get; }

BitPosition

Current bit position for writing to buffer +To set bit position use

Declaration
public int BitPosition { get; }

Methods

Finalize()

Declaration
protected void Finalize()

Reset()

Declaration
public void Reset()

ToArray()

Copies internal buffer to new Array +To reduce Allocations use instead

Declaration
public byte[] ToArray()
Returns
TypeDescription
System.Byte[]

ToArraySegment()

Declaration
public ArraySegment<byte> ToArraySegment()
Returns
TypeDescription
System.ArraySegment<System.Byte>

WriteBoolean(Boolean)

Declaration
public void WriteBoolean(bool value)
Parameters
TypeNameDescription
System.Booleanvalue

WriteBoolean(UInt64)

Writes first bit of value to buffer

Declaration
public void WriteBoolean(ulong value)
Parameters
TypeNameDescription
System.UInt64value

WriteSByte(SByte)

Declaration
public void WriteSByte(sbyte value)
Parameters
TypeNameDescription
System.SBytevalue

WriteByte(Byte)

Declaration
public void WriteByte(byte value)
Parameters
TypeNameDescription
System.Bytevalue

WriteInt16(Int16)

Declaration
public void WriteInt16(short value)
Parameters
TypeNameDescription
System.Int16value

WriteUInt16(UInt16)

Declaration
public void WriteUInt16(ushort value)
Parameters
TypeNameDescription
System.UInt16value

WriteInt32(Int32)

Declaration
public void WriteInt32(int value)
Parameters
TypeNameDescription
System.Int32value

WriteUInt32(UInt32)

Declaration
public void WriteUInt32(uint value)
Parameters
TypeNameDescription
System.UInt32value

WriteInt64(Int64)

Declaration
public void WriteInt64(long value)
Parameters
TypeNameDescription
System.Int64value

WriteUInt64(UInt64)

Declaration
public void WriteUInt64(ulong value)
Parameters
TypeNameDescription
System.UInt64value

WriteSingle(Single)

Declaration
public void WriteSingle(float value)
Parameters
TypeNameDescription
System.Singlevalue

WriteDouble(Double)

Declaration
public void WriteDouble(double value)
Parameters
TypeNameDescription
System.Doublevalue

Write(UInt64, Int32)

Declaration
public void Write(ulong value, int bits)
Parameters
TypeNameDescription
System.UInt64value
System.Int32bits

WriteAtBytePosition(UInt64, Int32, Int32)

Same as expect position given is in bytes instead of bits +WARNING: When writing to bytes instead of bits make sure you are able to read at the right position when deserializing as it might cause data to be misaligned

Declaration
public void WriteAtBytePosition(ulong value, int bits, int bytePosition)
Parameters
TypeNameDescription
System.UInt64value
System.Int32bits
System.Int32bytePosition

WriteAtPosition(UInt64, Int32, Int32)

Writes n bits from value to bitPosition +This methods can be used to go back to a previous position to write length or other flags to the buffer after other data has been written +WARNING: This method does not change the internal position so will not change the overall length if writing past internal position

Declaration
public void WriteAtPosition(ulong value, int bits, int bitPosition)
Parameters
TypeNameDescription
System.UInt64valuevalue to write
System.Int32bitsnumber of bits in value to write
System.Int32bitPositionwhere to write bits

MoveBitPosition(Int32)

Moves the internal bit position +For most usecases it is safer to use +WARNING: When writing to earlier position make sure to move position back to end of buffer after writing because position is also used as length

Declaration
public void MoveBitPosition(int newPosition)
Parameters
TypeNameDescription
System.Int32newPosition

PadAndCopy<T>(T)

Moves position to nearest byte then copies struct to that position

Declaration
public void PadAndCopy<T>(in T value)
where T : struct
Parameters
TypeNameDescription
Tvalue

WriteBytes(Byte[], Int32, Int32)

Moves position to nearest byte then writes bytes to that position

Declaration
public void WriteBytes(byte[] array, int offset, int length)
Parameters
TypeNameDescription
System.Byte[]array
System.Int32offset
System.Int32length

CopyFromWriter(NetworkWriter)

Copies all data from other

Declaration
public void CopyFromWriter(NetworkWriter other)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterother

CopyFromWriter(NetworkWriter, Int32, Int32)

Copies bitLength bits from other starting at otherBitPosition

Declaration
public void CopyFromWriter(NetworkWriter other, int otherBitPosition, int bitLength)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterother
System.Int32otherBitPosition
System.Int32bitLength

CopyFromPointer(Void*, Int32, Int32)

Copies bitLength bits from ptr starting at otherBitPosition

Declaration
public void CopyFromPointer(void *ptr, int otherBitPosition, int bitLength)
Parameters
TypeNameDescription
System.Void*ptr
System.Int32otherBitPosition
System.Int32bitLength
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/NetworkWriterPool/index.html b/docs/reference/Mirage.Serialization/NetworkWriterPool/index.html new file mode 100644 index 00000000000..c1744e28004 --- /dev/null +++ b/docs/reference/Mirage.Serialization/NetworkWriterPool/index.html @@ -0,0 +1,18 @@ + + + + + + +NetworkWriterPool | Mirage Networking + + + + +
+

Class NetworkWriterPool

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class NetworkWriterPool

Properties

BufferSize

Current Size of buffers, or null before Configure has been called

Declaration
public static int? BufferSize { get; }

Methods

Configure(Int32, Int32, Int32)

Configures an exist pool or creates a new one +Does not create a new pool if bufferSize is less that current

Declaration
public static void Configure(int bufferSize, int startPoolSize = 5, int maxPoolSize = 100)
Parameters
TypeNameDescription
System.Int32bufferSizestarting capacity of buffer
System.Int32startPoolSize
System.Int32maxPoolSize

GetWriter()

Declaration
public static PooledNetworkWriter GetWriter()
Returns
TypeDescription
Mirage.Serialization.PooledNetworkWriter
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/PackedExtensions/index.html b/docs/reference/Mirage.Serialization/PackedExtensions/index.html new file mode 100644 index 00000000000..5857ccdcbe2 --- /dev/null +++ b/docs/reference/Mirage.Serialization/PackedExtensions/index.html @@ -0,0 +1,17 @@ + + + + + + +PackedExtensions | Mirage Networking + + + + +
+

Class PackedExtensions

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class PackedExtensions

Methods

WritePackedInt32(NetworkWriter, Int32)

Declaration
public static void WritePackedInt32(this NetworkWriter writer, int i)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Int32i

WritePackedUInt32(NetworkWriter, UInt32)

Declaration
public static void WritePackedUInt32(this NetworkWriter writer, uint value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.UInt32value

WritePackedInt64(NetworkWriter, Int64)

Declaration
public static void WritePackedInt64(this NetworkWriter writer, long i)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Int64i

WritePackedUInt64(NetworkWriter, UInt64)

Declaration
public static void WritePackedUInt64(this NetworkWriter writer, ulong value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.UInt64value

ReadPackedInt32(NetworkReader)

Declaration
public static int ReadPackedInt32(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Int32

ReadPackedUInt32(NetworkReader)

Declaration
public static uint ReadPackedUInt32(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.UInt32

ReadPackedInt64(NetworkReader)

Declaration
public static long ReadPackedInt64(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Int64

ReadPackedUInt64(NetworkReader)

Declaration
public static ulong ReadPackedUInt64(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.UInt64
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/PooledNetworkReader/index.html b/docs/reference/Mirage.Serialization/PooledNetworkReader/index.html new file mode 100644 index 00000000000..9262446b54b --- /dev/null +++ b/docs/reference/Mirage.Serialization/PooledNetworkReader/index.html @@ -0,0 +1,17 @@ + + + + + + +PooledNetworkReader | Mirage Networking + + + + +
+

Class PooledNetworkReader

NetworkReader to be used with

Inheritance
System.Object
Mirage.Serialization.NetworkReader
Mirage.Serialization.MirageNetworkReader
Inherited Members
Show

Mirage.Serialization.MirageNetworkReader.ObjectLocator

Mirage.Serialization.NetworkReader.BitLength

Mirage.Serialization.NetworkReader.BitPosition

Mirage.Serialization.NetworkReader.BytePosition

Mirage.Serialization.NetworkReader.Dispose()

Mirage.Serialization.NetworkReader.CanRead()

Mirage.Serialization.NetworkReader.ReadBoolean()

Mirage.Serialization.NetworkReader.ReadBooleanAsUlong()

Mirage.Serialization.NetworkReader.ReadSByte()

Mirage.Serialization.NetworkReader.ReadByte()

Mirage.Serialization.NetworkReader.ReadInt16()

Mirage.Serialization.NetworkReader.ReadUInt16()

Mirage.Serialization.NetworkReader.ReadInt32()

Mirage.Serialization.NetworkReader.ReadUInt32()

Mirage.Serialization.NetworkReader.ReadInt64()

Mirage.Serialization.NetworkReader.ReadUInt64()

Mirage.Serialization.NetworkReader.ReadSingle()

Mirage.Serialization.NetworkReader.ReadDouble()

Mirage.Serialization.NetworkReader.PadAndCopy<T>(T)

Syntax
public sealed class PooledNetworkReader : MirageNetworkReader, IDisposable

Methods

CreateNew(Pool<PooledNetworkReader>)

Declaration
public static PooledNetworkReader CreateNew(Pool<PooledNetworkReader> pool)
Parameters
TypeNameDescription
Mirage.SocketLayer.Pool<Mirage.Serialization.PooledNetworkReader>pool
Returns
TypeDescription
Mirage.Serialization.PooledNetworkReader

Release()

Puts object back in Pool

Declaration
public void Release()

IDisposable.Dispose()

Declaration
void IDisposable.Dispose()

Dispose(Boolean)

Declaration
protected override void Dispose(bool disposing)
Parameters
TypeNameDescription
System.Booleandisposing
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/PooledNetworkWriter/index.html b/docs/reference/Mirage.Serialization/PooledNetworkWriter/index.html new file mode 100644 index 00000000000..11a2a490f2d --- /dev/null +++ b/docs/reference/Mirage.Serialization/PooledNetworkWriter/index.html @@ -0,0 +1,17 @@ + + + + + + +PooledNetworkWriter | Mirage Networking + + + + +
+

Class PooledNetworkWriter

NetworkWriter to be used with

Inheritance
System.Object
Mirage.Serialization.NetworkWriter
Inherited Members
Show

Mirage.Serialization.NetworkWriter.ByteCapacity

Mirage.Serialization.NetworkWriter.ByteLength

Mirage.Serialization.NetworkWriter.BitPosition

Mirage.Serialization.NetworkWriter.Reset()

Mirage.Serialization.NetworkWriter.ToArray()

Mirage.Serialization.NetworkWriter.ToArraySegment()

Mirage.Serialization.NetworkWriter.PadAndCopy<T>(T)

Mirage.Serialization.NetworkWriter.CopyFromWriter(Mirage.Serialization.NetworkWriter)

Syntax
public sealed class PooledNetworkWriter : NetworkWriter, IDisposable

Methods

CreateNew(Int32, Pool<PooledNetworkWriter>)

Declaration
public static PooledNetworkWriter CreateNew(int bufferSize, Pool<PooledNetworkWriter> pool)
Parameters
TypeNameDescription
System.Int32bufferSize
Mirage.SocketLayer.Pool<Mirage.Serialization.PooledNetworkWriter>pool
Returns
TypeDescription
Mirage.Serialization.PooledNetworkWriter

Release()

Puts object back in Pool

Declaration
public void Release()

IDisposable.Dispose()

Declaration
void IDisposable.Dispose()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/QuaternionPackAttribute/index.html b/docs/reference/Mirage.Serialization/QuaternionPackAttribute/index.html new file mode 100644 index 00000000000..79ffe2023e1 --- /dev/null +++ b/docs/reference/Mirage.Serialization/QuaternionPackAttribute/index.html @@ -0,0 +1,17 @@ + + + + + + +QuaternionPackAttribute | Mirage Networking + + + + +
+

Class QuaternionPackAttribute

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
public class QuaternionPackAttribute : Attribute, _Attribute

Constructors

QuaternionPackAttribute(Int32)

Declaration
public QuaternionPackAttribute(int bitPerElement = 9)
Parameters
TypeNameDescription
System.Int32bitPerElement
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/QuaternionPacker/index.html b/docs/reference/Mirage.Serialization/QuaternionPacker/index.html new file mode 100644 index 00000000000..efaf31c69c6 --- /dev/null +++ b/docs/reference/Mirage.Serialization/QuaternionPacker/index.html @@ -0,0 +1,17 @@ + + + + + + +QuaternionPacker | Mirage Networking + + + + +
+

Class QuaternionPacker

Inheritance
System.Object
Inherited Members
Show
Syntax
public sealed class QuaternionPacker

Constructors

QuaternionPacker(Int32)

Declaration
public QuaternionPacker(int quaternionBitLength = 10)
Parameters
TypeNameDescription
System.Int32quaternionBitLength10 per "smallest 3" is good enough for most people

Fields

Default9

Default packer using 9 bits per element, 29 bits total

Declaration
public static readonly QuaternionPacker Default9

Default10

Default packer using 10 bits per element, 32 bits total

Declaration
public static readonly QuaternionPacker Default10

Methods

PackAsInt(Quaternion)

Declaration
public static uint PackAsInt(Quaternion value)
Parameters
TypeNameDescription
Quaternionvalue
Returns
TypeDescription
System.UInt32

UnpackFromInt(UInt32)

Declaration
public static Quaternion UnpackFromInt(uint value)
Parameters
TypeNameDescription
System.UInt32value
Returns
TypeDescription
Quaternion

Pack(NetworkWriter, Quaternion)

Declaration
public void Pack(NetworkWriter writer, Quaternion value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Quaternionvalue

Pack(Quaternion)

Declaration
public ulong Pack(Quaternion value)
Parameters
TypeNameDescription
Quaternionvalue
Returns
TypeDescription
System.UInt64

Unpack(NetworkReader)

Declaration
public Quaternion Unpack(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Quaternion

Unpack(UInt64)

Declaration
public Quaternion Unpack(ulong combine)
Parameters
TypeNameDescription
System.UInt64combine
Returns
TypeDescription
Quaternion
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/Reader-1/index.html b/docs/reference/Mirage.Serialization/Reader-1/index.html new file mode 100644 index 00000000000..286547bd9f2 --- /dev/null +++ b/docs/reference/Mirage.Serialization/Reader-1/index.html @@ -0,0 +1,20 @@ + + + + + + +Reader<T> | Mirage Networking + + + + +
+

Class Reader<T>

a class that holds readers for the different types +Note that c# creates a different static variable for each +type +This will be populated by the weaver

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class Reader<T>
Type Parameters
NameDescription
T

Properties

Read

Declaration
public static Func<NetworkReader, T> Read { set; }
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/StringExtensions/index.html b/docs/reference/Mirage.Serialization/StringExtensions/index.html new file mode 100644 index 00000000000..f5a103dcfc1 --- /dev/null +++ b/docs/reference/Mirage.Serialization/StringExtensions/index.html @@ -0,0 +1,20 @@ + + + + + + +StringExtensions | Mirage Networking + + + + +
+

Class StringExtensions

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class StringExtensions

Properties

MaxStringLength

Maximum number of bytes a string can be serialized to. This is to avoid allocation attack. +Defaults MTU, 1300 +NOTE: this is byte size after Encoding +IMPORTANT: Setting this property will resize the internal buffer. Do not call in hotpath. It is best to call once when you start the application

Declaration
public static int MaxStringLength { get; set; }

Methods

WriteString(NetworkWriter, String)

Declaration
public static void WriteString(this NetworkWriter writer, string value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Stringvaluestring or null

ReadString(NetworkReader)

Declaration
public static string ReadString(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Stringstring or null

WriteString(NetworkWriter, String, Encoding)

Declaration
public static void WriteString(this NetworkWriter writer, string value, Encoding encoding)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Stringvaluestring or null
System.Text.EncodingencodingUse this for encoding other than the default (UTF8). Make sure to use same encoding for ReadString

ReadString(NetworkReader, Encoding)

Declaration
public static string ReadString(this NetworkReader reader, Encoding encoding)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
System.Text.EncodingencodingUse this for encoding other than the default (UTF8). Make sure to use same encoding for WriterString
Returns
TypeDescription
System.Stringstring or null
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/SystemTypesExtensions/index.html b/docs/reference/Mirage.Serialization/SystemTypesExtensions/index.html new file mode 100644 index 00000000000..3d8bc3a84cb --- /dev/null +++ b/docs/reference/Mirage.Serialization/SystemTypesExtensions/index.html @@ -0,0 +1,17 @@ + + + + + + +SystemTypesExtensions | Mirage Networking + + + + +
+

Class SystemTypesExtensions

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class SystemTypesExtensions

Methods

WriteByteExtension(NetworkWriter, Byte)

Declaration
public static void WriteByteExtension(this NetworkWriter writer, byte value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Bytevalue

WriteSByteExtension(NetworkWriter, SByte)

Declaration
public static void WriteSByteExtension(this NetworkWriter writer, sbyte value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.SBytevalue

WriteChar(NetworkWriter, Char)

Declaration
public static void WriteChar(this NetworkWriter writer, char value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Charvalue

WriteBooleanExtension(NetworkWriter, Boolean)

Declaration
public static void WriteBooleanExtension(this NetworkWriter writer, bool value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Booleanvalue

WriteUInt16Extension(NetworkWriter, UInt16)

Declaration
public static void WriteUInt16Extension(this NetworkWriter writer, ushort value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.UInt16value

WriteInt16Extension(NetworkWriter, Int16)

Declaration
public static void WriteInt16Extension(this NetworkWriter writer, short value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Int16value

WriteSingleConverter(NetworkWriter, Single)

Declaration
public static void WriteSingleConverter(this NetworkWriter writer, float value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Singlevalue

WriteDoubleConverter(NetworkWriter, Double)

Declaration
public static void WriteDoubleConverter(this NetworkWriter writer, double value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Doublevalue

WriteDecimalConverter(NetworkWriter, Decimal)

Declaration
public static void WriteDecimalConverter(this NetworkWriter writer, decimal value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Decimalvalue

WriteGuid(NetworkWriter, Guid)

Declaration
public static void WriteGuid(this NetworkWriter writer, Guid value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Guidvalue

WriteNullable<T>(NetworkWriter, Nullable<T>)

Declaration
[WeaverSerializeCollection]
public static void WriteNullable<T>(this NetworkWriter writer, T? nullable)
where T : struct
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Nullable<T>nullable

ReadByteExtension(NetworkReader)

Declaration
public static byte ReadByteExtension(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Byte

ReadSByteExtension(NetworkReader)

Declaration
public static sbyte ReadSByteExtension(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.SByte

ReadChar(NetworkReader)

Declaration
public static char ReadChar(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Char

ReadBooleanExtension(NetworkReader)

Declaration
public static bool ReadBooleanExtension(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Boolean

ReadInt16Extension(NetworkReader)

Declaration
public static short ReadInt16Extension(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Int16

ReadUInt16Extension(NetworkReader)

Declaration
public static ushort ReadUInt16Extension(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.UInt16

ReadSingleConverter(NetworkReader)

Declaration
public static float ReadSingleConverter(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Single

ReadDoubleConverter(NetworkReader)

Declaration
public static double ReadDoubleConverter(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Double

ReadDecimalConverter(NetworkReader)

Declaration
public static decimal ReadDecimalConverter(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Decimal

ReadGuid(NetworkReader)

Declaration
public static Guid ReadGuid(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Guid

ReadNullable<T>(NetworkReader)

Declaration
[WeaverSerializeCollection]
public static T? ReadNullable<T>(this NetworkReader reader)
where T : struct
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Nullable<T>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/UnityTypesExtensions/index.html b/docs/reference/Mirage.Serialization/UnityTypesExtensions/index.html new file mode 100644 index 00000000000..e70a547f664 --- /dev/null +++ b/docs/reference/Mirage.Serialization/UnityTypesExtensions/index.html @@ -0,0 +1,17 @@ + + + + + + +UnityTypesExtensions | Mirage Networking + + + + +
+

Class UnityTypesExtensions

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class UnityTypesExtensions

Methods

WriteVector2(NetworkWriter, Vector2)

Declaration
public static void WriteVector2(this NetworkWriter writer, Vector2 value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Vector2value

WriteVector3(NetworkWriter, Vector3)

Declaration
public static void WriteVector3(this NetworkWriter writer, Vector3 value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Vector3value

WriteVector4(NetworkWriter, Vector4)

Declaration
public static void WriteVector4(this NetworkWriter writer, Vector4 value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Vector4value

WriteVector2Int(NetworkWriter, Vector2Int)

Declaration
public static void WriteVector2Int(this NetworkWriter writer, Vector2Int value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Vector2Intvalue

WriteVector3Int(NetworkWriter, Vector3Int)

Declaration
public static void WriteVector3Int(this NetworkWriter writer, Vector3Int value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Vector3Intvalue

WriteColor(NetworkWriter, Color)

Declaration
public static void WriteColor(this NetworkWriter writer, Color value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Colorvalue

WriteColor32(NetworkWriter, Color32)

Declaration
public static void WriteColor32(this NetworkWriter writer, Color32 value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Color32value

WriteRect(NetworkWriter, Rect)

Declaration
public static void WriteRect(this NetworkWriter writer, Rect value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Rectvalue

WritePlane(NetworkWriter, Plane)

Declaration
public static void WritePlane(this NetworkWriter writer, Plane value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Planevalue

WriteRay(NetworkWriter, Ray)

Declaration
public static void WriteRay(this NetworkWriter writer, Ray value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Rayvalue

WriteMatrix4X4(NetworkWriter, Matrix4x4)

Declaration
public static void WriteMatrix4X4(this NetworkWriter writer, Matrix4x4 value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Matrix4x4value

ReadVector2(NetworkReader)

Declaration
public static Vector2 ReadVector2(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Vector2

ReadVector3(NetworkReader)

Declaration
public static Vector3 ReadVector3(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Vector3

ReadVector4(NetworkReader)

Declaration
public static Vector4 ReadVector4(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Vector4

ReadVector2Int(NetworkReader)

Declaration
public static Vector2Int ReadVector2Int(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Vector2Int

ReadVector3Int(NetworkReader)

Declaration
public static Vector3Int ReadVector3Int(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Vector3Int

ReadColor(NetworkReader)

Declaration
public static Color ReadColor(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Color

ReadColor32(NetworkReader)

Declaration
public static Color32 ReadColor32(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Color32

ReadRect(NetworkReader)

Declaration
public static Rect ReadRect(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Rect

ReadPlane(NetworkReader)

Declaration
public static Plane ReadPlane(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Plane

ReadRay(NetworkReader)

Declaration
public static Ray ReadRay(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Ray

ReadMatrix4x4(NetworkReader)

Declaration
public static Matrix4x4 ReadMatrix4x4(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Matrix4x4
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/VarDoublePacker/index.html b/docs/reference/Mirage.Serialization/VarDoublePacker/index.html new file mode 100644 index 00000000000..d30310b3cc7 --- /dev/null +++ b/docs/reference/Mirage.Serialization/VarDoublePacker/index.html @@ -0,0 +1,17 @@ + + + + + + +VarDoublePacker | Mirage Networking + + + + +
+

Class VarDoublePacker

Packs a double using and

Inheritance
System.Object
Inherited Members
Show
Syntax
public sealed class VarDoublePacker

Constructors

VarDoublePacker(Double, Int32)

Declaration
public VarDoublePacker(double precision, int blockSize)
Parameters
TypeNameDescription
System.Doubleprecision
System.Int32blockSize

Methods

Pack(NetworkWriter, Double)

Declaration
public void Pack(NetworkWriter writer, double value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Doublevalue

Unpack(NetworkReader)

Declaration
public double Unpack(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Double
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/VarFloatPacker/index.html b/docs/reference/Mirage.Serialization/VarFloatPacker/index.html new file mode 100644 index 00000000000..32b02b7e2df --- /dev/null +++ b/docs/reference/Mirage.Serialization/VarFloatPacker/index.html @@ -0,0 +1,17 @@ + + + + + + +VarFloatPacker | Mirage Networking + + + + +
+

Class VarFloatPacker

Packs a float using and

Inheritance
System.Object
Inherited Members
Show
Syntax
public sealed class VarFloatPacker

Constructors

VarFloatPacker(Single, Int32)

Declaration
public VarFloatPacker(float precision, int blockSize)
Parameters
TypeNameDescription
System.Singleprecision
System.Int32blockSize

Methods

Pack(NetworkWriter, Single)

Declaration
public void Pack(NetworkWriter writer, float value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.Singlevalue

Unpack(NetworkReader)

Declaration
public float Unpack(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.Single
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/VarIntAttribute/index.html b/docs/reference/Mirage.Serialization/VarIntAttribute/index.html new file mode 100644 index 00000000000..9afc538d242 --- /dev/null +++ b/docs/reference/Mirage.Serialization/VarIntAttribute/index.html @@ -0,0 +1,19 @@ + + + + + + +VarIntAttribute | Mirage Networking + + + + +
+

Class VarIntAttribute

Tells weaver the max range for small, medium and large values. +Allows small values to be sent using less bits +Only works with integer fields (byte, int, ulong, enums etc)

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter)]
public class VarIntAttribute : Attribute, _Attribute

Constructors

VarIntAttribute(UInt64, UInt64)

Declaration
public VarIntAttribute(ulong smallMax, ulong mediumMax)
Parameters
TypeNameDescription
System.UInt64smallMax
System.UInt64mediumMax

VarIntAttribute(UInt64, UInt64, UInt64, Boolean)

Declaration
public VarIntAttribute(ulong smallMax, ulong mediumMax, ulong largeMax, bool throwIfOverLarge = true)
Parameters
TypeNameDescription
System.UInt64smallMax
System.UInt64mediumMax
System.UInt64largeMax
System.BooleanthrowIfOverLarge
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/VarIntBlocksAttribute/index.html b/docs/reference/Mirage.Serialization/VarIntBlocksAttribute/index.html new file mode 100644 index 00000000000..2979c7d8027 --- /dev/null +++ b/docs/reference/Mirage.Serialization/VarIntBlocksAttribute/index.html @@ -0,0 +1,21 @@ + + + + + + +VarIntBlocksAttribute | Mirage Networking + + + + +
+

Class VarIntBlocksAttribute

Tells weaver the block size to use for packing int values +Allows small values to be sent using less bits +Only works with integer fields (byte, int, ulong, enums etc)

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter)]
public class VarIntBlocksAttribute : Attribute, _Attribute

Constructors

VarIntBlocksAttribute(Int32)

Bit size of each block +how many bits per size bits, +eg if size = 6 then values under 2^6 will be sent at 7 bits, values under 2^12 sent as 14 bits, etc

Declaration
public VarIntBlocksAttribute(int blockSize)
Parameters
TypeNameDescription
System.Int32blockSizeValue should be between 1 and 64
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/VarIntBlocksPacker/index.html b/docs/reference/Mirage.Serialization/VarIntBlocksPacker/index.html new file mode 100644 index 00000000000..31be0f8241f --- /dev/null +++ b/docs/reference/Mirage.Serialization/VarIntBlocksPacker/index.html @@ -0,0 +1,17 @@ + + + + + + +VarIntBlocksPacker | Mirage Networking + + + + +
+

Class VarIntBlocksPacker

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class VarIntBlocksPacker

Methods

Pack(NetworkWriter, UInt64, Int32)

Declaration
public static void Pack(NetworkWriter writer, ulong value, int blockSize)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.UInt64value
System.Int32blockSize

Unpack(NetworkReader, Int32)

Declaration
public static ulong Unpack(NetworkReader reader, int blockSize)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
System.Int32blockSize
Returns
TypeDescription
System.UInt64
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/VarIntPacker/index.html b/docs/reference/Mirage.Serialization/VarIntPacker/index.html new file mode 100644 index 00000000000..d6d2654819a --- /dev/null +++ b/docs/reference/Mirage.Serialization/VarIntPacker/index.html @@ -0,0 +1,17 @@ + + + + + + +VarIntPacker | Mirage Networking + + + + +
+

Class VarIntPacker

Inheritance
System.Object
Inherited Members
Show
Syntax
public sealed class VarIntPacker

Constructors

VarIntPacker(UInt64, UInt64)

Declaration
public VarIntPacker(ulong smallValue, ulong mediumValue)
Parameters
TypeNameDescription
System.UInt64smallValue
System.UInt64mediumValue

VarIntPacker(UInt64, UInt64, UInt64, Boolean)

Declaration
public VarIntPacker(ulong smallValue, ulong mediumValue, ulong largeValue, bool throwIfOverLarge = true)
Parameters
TypeNameDescription
System.UInt64smallValue
System.UInt64mediumValue
System.UInt64largeValue
System.BooleanthrowIfOverLarge

Methods

FromBitCount(Int32, Int32)

Declaration
public static VarIntPacker FromBitCount(int smallBits, int mediumBits)
Parameters
TypeNameDescription
System.Int32smallBits
System.Int32mediumBits
Returns
TypeDescription
Mirage.Serialization.VarIntPacker

FromBitCount(Int32, Int32, Int32, Boolean)

Declaration
public static VarIntPacker FromBitCount(int smallBits, int mediumBits, int largeBits, bool throwIfOverLarge = true)
Parameters
TypeNameDescription
System.Int32smallBits
System.Int32mediumBits
System.Int32largeBits
System.BooleanthrowIfOverLarge
Returns
TypeDescription
Mirage.Serialization.VarIntPacker

PackUlong(NetworkWriter, UInt64)

Declaration
public void PackUlong(NetworkWriter writer, ulong value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.UInt64value

PackUint(NetworkWriter, UInt32)

Declaration
public void PackUint(NetworkWriter writer, uint value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.UInt32value

PackUshort(NetworkWriter, UInt16)

Declaration
public void PackUshort(NetworkWriter writer, ushort value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.UInt16value

UnpackUlong(NetworkReader)

Declaration
public ulong UnpackUlong(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.UInt64

UnpackUint(NetworkReader)

Declaration
public uint UnpackUint(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.UInt32

UnpackUshort(NetworkReader)

Declaration
public ushort UnpackUshort(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
System.UInt16
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/VarVector2Packer/index.html b/docs/reference/Mirage.Serialization/VarVector2Packer/index.html new file mode 100644 index 00000000000..5feb898251e --- /dev/null +++ b/docs/reference/Mirage.Serialization/VarVector2Packer/index.html @@ -0,0 +1,17 @@ + + + + + + +VarVector2Packer | Mirage Networking + + + + +
+

Class VarVector2Packer

Packs a vector3 using and

Inheritance
System.Object
Inherited Members
Show
Syntax
public sealed class VarVector2Packer

Constructors

VarVector2Packer(Vector2, Int32)

Declaration
public VarVector2Packer(Vector2 precision, int blocksize)
Parameters
TypeNameDescription
Vector2precision
System.Int32blocksize

Methods

Pack(NetworkWriter, Vector2)

Declaration
public void Pack(NetworkWriter writer, Vector2 position)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Vector2position

Unpack(NetworkReader)

Declaration
public Vector2 Unpack(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Vector2
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/VarVector3Packer/index.html b/docs/reference/Mirage.Serialization/VarVector3Packer/index.html new file mode 100644 index 00000000000..221cb1f8064 --- /dev/null +++ b/docs/reference/Mirage.Serialization/VarVector3Packer/index.html @@ -0,0 +1,17 @@ + + + + + + +VarVector3Packer | Mirage Networking + + + + +
+

Class VarVector3Packer

Packs a vector3 using and

Inheritance
System.Object
Inherited Members
Show
Syntax
public sealed class VarVector3Packer

Constructors

VarVector3Packer(Vector3, Int32)

Declaration
public VarVector3Packer(Vector3 precision, int blocksize)
Parameters
TypeNameDescription
Vector3precision
System.Int32blocksize

Methods

Pack(NetworkWriter, Vector3)

Declaration
public void Pack(NetworkWriter writer, Vector3 position)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Vector3position

Unpack(NetworkReader)

Declaration
public Vector3 Unpack(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Vector3
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/Vector2PackAttribute/index.html b/docs/reference/Mirage.Serialization/Vector2PackAttribute/index.html new file mode 100644 index 00000000000..0fd74915a62 --- /dev/null +++ b/docs/reference/Mirage.Serialization/Vector2PackAttribute/index.html @@ -0,0 +1,17 @@ + + + + + + +Vector2PackAttribute | Mirage Networking + + + + +
+

Class Vector2PackAttribute

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
public class Vector2PackAttribute : Attribute, _Attribute

Constructors

Vector2PackAttribute(Single, Single, Single, Single)

Declaration
public Vector2PackAttribute(float xMax, float yMax, float xPrecision, float yPrecision)
Parameters
TypeNameDescription
System.SinglexMax
System.SingleyMax
System.SinglexPrecision
System.SingleyPrecision

Vector2PackAttribute(Single, Single, Single)

Declaration
public Vector2PackAttribute(float xMax, float yMax, float precision)
Parameters
TypeNameDescription
System.SinglexMax
System.SingleyMax
System.Singleprecision

Vector2PackAttribute(Single, Single, Int32, Int32)

Declaration
public Vector2PackAttribute(float xMax, float yMax, int xBitCount, int yBitCount)
Parameters
TypeNameDescription
System.SinglexMax
System.SingleyMax
System.Int32xBitCount
System.Int32yBitCount

Vector2PackAttribute(Single, Single, Int32)

Declaration
public Vector2PackAttribute(float xMax, float yMax, int bitCount)
Parameters
TypeNameDescription
System.SinglexMax
System.SingleyMax
System.Int32bitCount
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/Vector2Packer/index.html b/docs/reference/Mirage.Serialization/Vector2Packer/index.html new file mode 100644 index 00000000000..643708bd40c --- /dev/null +++ b/docs/reference/Mirage.Serialization/Vector2Packer/index.html @@ -0,0 +1,17 @@ + + + + + + +Vector2Packer | Mirage Networking + + + + +
+

Class Vector2Packer

Inheritance
System.Object
Inherited Members
Show
Syntax
public sealed class Vector2Packer

Constructors

Vector2Packer(Single, Single, Int32, Int32)

Declaration
public Vector2Packer(float xMax, float yMax, int xBitCount, int yBitCount)
Parameters
TypeNameDescription
System.SinglexMax
System.SingleyMax
System.Int32xBitCount
System.Int32yBitCount

Vector2Packer(Single, Single, Single, Single)

Declaration
public Vector2Packer(float xMax, float yMax, float xPrecision, float yPrecision)
Parameters
TypeNameDescription
System.SinglexMax
System.SingleyMax
System.SinglexPrecision
System.SingleyPrecision

Vector2Packer(Vector2, Vector2)

Declaration
public Vector2Packer(Vector2 max, Vector2 precision)
Parameters
TypeNameDescription
Vector2max
Vector2precision

Methods

Pack(NetworkWriter, Vector2)

Declaration
public void Pack(NetworkWriter writer, Vector2 value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Vector2value

Unpack(NetworkReader)

Declaration
public Vector2 Unpack(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Vector2
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/Vector3PackAttribute/index.html b/docs/reference/Mirage.Serialization/Vector3PackAttribute/index.html new file mode 100644 index 00000000000..ca827b60c73 --- /dev/null +++ b/docs/reference/Mirage.Serialization/Vector3PackAttribute/index.html @@ -0,0 +1,17 @@ + + + + + + +Vector3PackAttribute | Mirage Networking + + + + +
+

Class Vector3PackAttribute

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
public class Vector3PackAttribute : Attribute, _Attribute

Constructors

Vector3PackAttribute(Single, Single, Single, Single, Single, Single)

Declaration
public Vector3PackAttribute(float xMax, float yMax, float zMax, float xPrecision, float yPrecision, float zPrecision)
Parameters
TypeNameDescription
System.SinglexMax
System.SingleyMax
System.SinglezMax
System.SinglexPrecision
System.SingleyPrecision
System.SinglezPrecision

Vector3PackAttribute(Single, Single, Single, Single)

Declaration
public Vector3PackAttribute(float xMax, float yMax, float zMax, float precision)
Parameters
TypeNameDescription
System.SinglexMax
System.SingleyMax
System.SinglezMax
System.Singleprecision

Vector3PackAttribute(Single, Single, Single, Int32, Int32, Int32)

Declaration
public Vector3PackAttribute(float xMax, float yMax, float zMax, int xBitCount, int yBitCount, int zBitCount)
Parameters
TypeNameDescription
System.SinglexMax
System.SingleyMax
System.SinglezMax
System.Int32xBitCount
System.Int32yBitCount
System.Int32zBitCount

Vector3PackAttribute(Single, Single, Single, Int32)

Declaration
public Vector3PackAttribute(float xMax, float yMax, float zMax, int bitCount)
Parameters
TypeNameDescription
System.SinglexMax
System.SingleyMax
System.SinglezMax
System.Int32bitCount
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/Vector3Packer/index.html b/docs/reference/Mirage.Serialization/Vector3Packer/index.html new file mode 100644 index 00000000000..4b244151aa5 --- /dev/null +++ b/docs/reference/Mirage.Serialization/Vector3Packer/index.html @@ -0,0 +1,17 @@ + + + + + + +Vector3Packer | Mirage Networking + + + + +
+

Class Vector3Packer

Inheritance
System.Object
Inherited Members
Show
Syntax
public sealed class Vector3Packer

Constructors

Vector3Packer(Single, Single, Single, Int32, Int32, Int32)

Declaration
public Vector3Packer(float xMax, float yMax, float zMax, int xBitCount, int yBitCount, int zBitCount)
Parameters
TypeNameDescription
System.SinglexMax
System.SingleyMax
System.SinglezMax
System.Int32xBitCount
System.Int32yBitCount
System.Int32zBitCount

Vector3Packer(Single, Single, Single, Single, Single, Single)

Declaration
public Vector3Packer(float xMax, float yMax, float zMax, float xPrecision, float yPrecision, float zPrecision)
Parameters
TypeNameDescription
System.SinglexMax
System.SingleyMax
System.SinglezMax
System.SinglexPrecision
System.SingleyPrecision
System.SinglezPrecision

Vector3Packer(Vector3, Vector3)

Declaration
public Vector3Packer(Vector3 max, Vector3 precision)
Parameters
TypeNameDescription
Vector3max
Vector3precision

Methods

Pack(NetworkWriter, Vector3)

Declaration
public void Pack(NetworkWriter writer, Vector3 value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Vector3value

Unpack(NetworkReader)

Declaration
public Vector3 Unpack(NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Vector3
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/WeaverIgnoreAttribute/index.html b/docs/reference/Mirage.Serialization/WeaverIgnoreAttribute/index.html new file mode 100644 index 00000000000..83908ea2284 --- /dev/null +++ b/docs/reference/Mirage.Serialization/WeaverIgnoreAttribute/index.html @@ -0,0 +1,17 @@ + + + + + + +WeaverIgnoreAttribute | Mirage Networking + + + + +
+
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/WeaverSerializeCollectionAttribute/index.html b/docs/reference/Mirage.Serialization/WeaverSerializeCollectionAttribute/index.html new file mode 100644 index 00000000000..00ead628ca1 --- /dev/null +++ b/docs/reference/Mirage.Serialization/WeaverSerializeCollectionAttribute/index.html @@ -0,0 +1,18 @@ + + + + + + +WeaverSerializeCollectionAttribute | Mirage Networking + + + + +
+

Class WeaverSerializeCollectionAttribute

Tells weaver to use this method to write a generic type or collection +Can also be used for other generic types like Nullable

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Method)]
public sealed class WeaverSerializeCollectionAttribute : Attribute, _Attribute

Constructors

WeaverSerializeCollectionAttribute()

Declaration
public WeaverSerializeCollectionAttribute()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/WeaverWriteAsGenericAttribute/index.html b/docs/reference/Mirage.Serialization/WeaverWriteAsGenericAttribute/index.html new file mode 100644 index 00000000000..07091e66995 --- /dev/null +++ b/docs/reference/Mirage.Serialization/WeaverWriteAsGenericAttribute/index.html @@ -0,0 +1,19 @@ + + + + + + +WeaverWriteAsGenericAttribute | Mirage Networking + + + + +
+

Class WeaverWriteAsGenericAttribute

Tells Weaver to serialize a type as generic instead of creating a custom functions.

Use this when you have created and assigned your own Read/Write functions +or when you can't use extension methods for types and need to manually assign them.

This will cause Weaver to use the and generic functions instead of creating new ones. +You must set these functions manually when using this attribute.

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Enum | AttributeTargets.Interface | AttributeTargets.Struct)]
public sealed class WeaverWriteAsGenericAttribute : Attribute, _Attribute
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/Writer-1/index.html b/docs/reference/Mirage.Serialization/Writer-1/index.html new file mode 100644 index 00000000000..06daa4b48b7 --- /dev/null +++ b/docs/reference/Mirage.Serialization/Writer-1/index.html @@ -0,0 +1,20 @@ + + + + + + +Writer<T> | Mirage Networking + + + + +
+

Class Writer<T>

a class that holds writers for the different types +Note that c# creates a different static variable for each +type +This will be populated by the weaver

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class Writer<T>
Type Parameters
NameDescription
T

Properties

Write

Declaration
public static Action<NetworkWriter, T> Write { set; }
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/ZigZag/index.html b/docs/reference/Mirage.Serialization/ZigZag/index.html new file mode 100644 index 00000000000..8efbb519b45 --- /dev/null +++ b/docs/reference/Mirage.Serialization/ZigZag/index.html @@ -0,0 +1,17 @@ + + + + + + +ZigZag | Mirage Networking + + + + +
+

Class ZigZag

See zigzag encoding

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class ZigZag

Methods

Encode(Int32)

Declaration
public static uint Encode(int v)
Parameters
TypeNameDescription
System.Int32v
Returns
TypeDescription
System.UInt32

Encode(Int64)

Declaration
public static ulong Encode(long v)
Parameters
TypeNameDescription
System.Int64v
Returns
TypeDescription
System.UInt64

Decode(UInt32)

Declaration
public static int Decode(uint v)
Parameters
TypeNameDescription
System.UInt32v
Returns
TypeDescription
System.Int32

Decode(UInt64)

Declaration
public static long Decode(ulong v)
Parameters
TypeNameDescription
System.UInt64v
Returns
TypeDescription
System.Int64
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/ZigZagEncodeAttribute/index.html b/docs/reference/Mirage.Serialization/ZigZagEncodeAttribute/index.html new file mode 100644 index 00000000000..a0c38c6af1f --- /dev/null +++ b/docs/reference/Mirage.Serialization/ZigZagEncodeAttribute/index.html @@ -0,0 +1,18 @@ + + + + + + +ZigZagEncodeAttribute | Mirage Networking + + + + +
+

Class ZigZagEncodeAttribute

Used along size to encodes a integer value using so that both positive and negative values can be sent +Also See: Bit Packing Documentation

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter)]
public class ZigZagEncodeAttribute : Attribute, _Attribute

Constructors

ZigZagEncodeAttribute()

Declaration
public ZigZagEncodeAttribute()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Serialization/index.html b/docs/reference/Mirage.Serialization/index.html new file mode 100644 index 00000000000..30d27574863 --- /dev/null +++ b/docs/reference/Mirage.Serialization/index.html @@ -0,0 +1,37 @@ + + + + + + +Mirage.Serialization | Mirage Networking + + + + +
+

Mirage.Serialization

Classes

AnglePacker

BitCountAttribute

Tells weaver how many bits to sue for field +Only works with integer fields (byte, int, ulong, enums etc)

NOTE: bits are truncated when using this, so signed values will lose their sign. Use as well if value might be negative

Also See: Bit Packing Documentation

BitCountFromRangeAttribute

Calculates bitcount from then given min/max values and then packs using +Also See: Bit Packing Documentation

BitHelper

BitMask

CollectionExtensions

CompressedExtensions

FloatPackAttribute

Packs a float field, clamped from -max to +max, with +Also See: Bit Packing Documentation

FloatPacker

Helps compresses a float into a reduced number of bits

FromBitCount

The max value for N number of bits

GenericTypesSerializationExtensions

MessageIdCache<T>

Class that will cache the ID for type T +avoids needing to calculate the stable hash of the full name each time a message is sent

MessagePacker

MirageNetworkReader

NetworkReader but has a ObjectLocator field that can be used by Reader functions to fetch NetworkIdentity

MirageTypesExtensions

NetworkReader

Bit writer, writes values to a buffer on a bit level +Use to reduce memory allocation

NetworkReaderPool

Holds static reference to of

NetworkWriter

Bit writer, writes values to a buffer on a bit level +Use to reduce memory allocation

NetworkWriterPool

PackedExtensions

PooledNetworkReader

NetworkReader to be used with

PooledNetworkWriter

NetworkWriter to be used with

QuaternionPackAttribute

QuaternionPacker

Reader<T>

a class that holds readers for the different types +Note that c# creates a different static variable for each +type +This will be populated by the weaver

StringExtensions

SystemTypesExtensions

UnityTypesExtensions

VarDoublePacker

Packs a double using and

VarFloatPacker

Packs a float using and

VarIntAttribute

Tells weaver the max range for small, medium and large values. +Allows small values to be sent using less bits +Only works with integer fields (byte, int, ulong, enums etc)

VarIntBlocksAttribute

Tells weaver the block size to use for packing int values +Allows small values to be sent using less bits +Only works with integer fields (byte, int, ulong, enums etc)

VarIntBlocksPacker

VarIntPacker

VarVector2Packer

Packs a vector3 using and

VarVector3Packer

Packs a vector3 using and

Vector2PackAttribute

Vector2Packer

Vector3PackAttribute

Vector3Packer

WeaverIgnoreAttribute

Tells Weaver to ignore an Extension method

WeaverSerializeCollectionAttribute

Tells weaver to use this method to write a generic type or collection +Can also be used for other generic types like Nullable

WeaverWriteAsGenericAttribute

Tells Weaver to serialize a type as generic instead of creating a custom functions.

Use this when you have created and assigned your own Read/Write functions +or when you can't use extension methods for types and need to manually assign them.

This will cause Weaver to use the and generic functions instead of creating new ones. +You must set these functions manually when using this attribute.

Writer<T>

a class that holds writers for the different types +Note that c# creates a different static variable for each +type +This will be populated by the weaver

ZigZag

See zigzag encoding

ZigZagEncodeAttribute

Used along size to encodes a integer value using so that both positive and negative values can be sent +Also See: Bit Packing Documentation

+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/AckSystem.ReliablePacket/index.html b/docs/reference/Mirage.SocketLayer/AckSystem.ReliablePacket/index.html new file mode 100644 index 00000000000..f5567cc511e --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/AckSystem.ReliablePacket/index.html @@ -0,0 +1,17 @@ + + + + + + +AckSystem.ReliablePacket | Mirage Networking + + + + +
+

Class AckSystem.ReliablePacket

Inheritance
System.Object
Inherited Members
Show
Syntax
public class ReliablePacket

Fields

LastSequence

Declaration
public ushort LastSequence

Length

Declaration
public int Length

Buffer

Declaration
public ByteBuffer Buffer

Order

Declaration
public ushort Order

Sequences

Declaration
public readonly List<ushort> Sequences

Methods

OnSend(UInt16)

Declaration
public void OnSend(ushort sequence)
Parameters
TypeNameDescription
System.UInt16sequence

OnAck()

Declaration
public void OnAck()

Setup(UInt16, ByteBuffer, Int32)

Declaration
public void Setup(ushort order, ByteBuffer buffer, int length)
Parameters
TypeNameDescription
System.UInt16order
Mirage.SocketLayer.ByteBufferbuffer
System.Int32length

GetHashCode()

Declaration
public override int GetHashCode()
Returns
TypeDescription
System.Int32

Equals(Object)

Declaration
public override bool Equals(object obj)
Parameters
TypeNameDescription
System.Objectobj
Returns
TypeDescription
System.Boolean

CreateNew(Pool<AckSystem.ReliablePacket>)

Declaration
public static AckSystem.ReliablePacket CreateNew(Pool<AckSystem.ReliablePacket> pool)
Parameters
TypeNameDescription
Mirage.SocketLayer.Pool<Mirage.SocketLayer.AckSystem.ReliablePacket>pool
Returns
TypeDescription
Mirage.SocketLayer.AckSystem.ReliablePacket
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/AckSystem.ReliableReceived/index.html b/docs/reference/Mirage.SocketLayer/AckSystem.ReliableReceived/index.html new file mode 100644 index 00000000000..aaa90d0025a --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/AckSystem.ReliableReceived/index.html @@ -0,0 +1,17 @@ + + + + + + +AckSystem.ReliableReceived | Mirage Networking + + + + +
+

Struct AckSystem.ReliableReceived

Syntax
public struct ReliableReceived : IEquatable<AckSystem.ReliableReceived>

Constructors

ReliableReceived(ByteBuffer, Int32, Boolean)

Declaration
public ReliableReceived(ByteBuffer buffer, int length, bool isFragment)
Parameters
TypeNameDescription
Mirage.SocketLayer.ByteBufferbuffer
System.Int32length
System.BooleanisFragment

Fields

Buffer

Declaration
public readonly ByteBuffer Buffer

Length

Declaration
public readonly int Length

IsFragment

Declaration
public readonly bool IsFragment

Properties

FragmentIndex

Declaration
public int FragmentIndex { get; }

Methods

Equals(AckSystem.ReliableReceived)

Declaration
public bool Equals(AckSystem.ReliableReceived other)
Parameters
TypeNameDescription
Mirage.SocketLayer.AckSystem.ReliableReceivedother
Returns
TypeDescription
System.Boolean
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/AckSystem/index.html b/docs/reference/Mirage.SocketLayer/AckSystem/index.html new file mode 100644 index 00000000000..c71aeb39403 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/AckSystem/index.html @@ -0,0 +1,19 @@ + + + + + + +AckSystem | Mirage Networking + + + + +
+

Class AckSystem

Inheritance
System.Object
Inherited Members
Show
Syntax
public class AckSystem : IDisposable

Constructors

AckSystem(IRawConnection, Config, Int32, ITime, Pool<ByteBuffer>, ILogger, Metrics)

Declaration
public AckSystem(IRawConnection connection, Config config, int maxPacketSize, ITime time, Pool<ByteBuffer> bufferPool, ILogger logger = null, Metrics metrics = null)
Parameters
TypeNameDescription
Mirage.SocketLayer.IRawConnectionconnection
Mirage.SocketLayer.Configconfig
System.Int32maxPacketSize
Mirage.SocketLayer.ITimetime
Mirage.SocketLayer.Pool<Mirage.SocketLayer.ByteBuffer>bufferPool
ILoggerlogger
Mirage.SocketLayer.Metricsmetrics

Fields

SEQUENCE_HEADER

Declaration
public const int SEQUENCE_HEADER = 13

NOTIFY_HEADER_SIZE

PacketType, sequence, ack sequence, mask

Declaration
public const int NOTIFY_HEADER_SIZE = 13

RELIABLE_HEADER_SIZE

PacketType, sequence, ack sequence, mask, order

Declaration
public const int RELIABLE_HEADER_SIZE = 15

ACK_HEADER_SIZE

PacketType, ack sequence, mask

Declaration
public const int ACK_HEADER_SIZE = 11

FRAGMENT_INDEX_SIZE

Declaration
public const int FRAGMENT_INDEX_SIZE = 1

MIN_RELIABLE_HEADER_SIZE

Smallest size a header for reliable packet, + 2 bytes per message

Declaration
public const int MIN_RELIABLE_HEADER_SIZE = 17

MIN_RELIABLE_FRAGMENT_HEADER_SIZE

Smallest size a header for reliable packet, + 1 byte for fragment index

Declaration
public const int MIN_RELIABLE_FRAGMENT_HEADER_SIZE = 16

SizePerFragment

Declaration
public readonly int SizePerFragment

Methods

Dispose()

Declaration
public void Dispose()

NextReliablePacket(out AckSystem.ReliableReceived)

Gets next Reliable packet in order, packet consists for multiple messages +[length, message, length, message, ...]

Declaration
public bool NextReliablePacket(out AckSystem.ReliableReceived packet)
Parameters
TypeNameDescription
Mirage.SocketLayer.AckSystem.ReliableReceivedpacket
Returns
TypeDescription
System.Booleantrue if next packet is available

GetNextFragment()

Declaration
public AckSystem.ReliableReceived GetNextFragment()
Returns
TypeDescription
Mirage.SocketLayer.AckSystem.ReliableReceived

Update()

Declaration
public void Update()

SendNotify(Byte[], Int32, Int32)

Use for non-alloc version

Declaration
public INotifyToken SendNotify(byte[] inPacket, int inOffset, int inLength)
Parameters
TypeNameDescription
System.Byte[]inPacket
System.Int32inOffset
System.Int32inLength
Returns
TypeDescription
Mirage.SocketLayer.INotifyToken

SendNotify(Byte[], Int32, Int32, INotifyCallBack)

Declaration
public void SendNotify(byte[] inPacket, int inOffset, int inLength, INotifyCallBack callBacks)
Parameters
TypeNameDescription
System.Byte[]inPacket
System.Int32inOffset
System.Int32inLength
Mirage.SocketLayer.INotifyCallBackcallBacks

SendReliable(Byte[], Int32, Int32)

Declaration
public void SendReliable(byte[] message, int offset, int length)
Parameters
TypeNameDescription
System.Byte[]message
System.Int32offset
System.Int32length

ReceiveNotify(Byte[], Int32)

Receives incoming Notify packet +Ignores duplicate or late packets

Declaration
public ArraySegment<byte> ReceiveNotify(byte[] packet, int length)
Parameters
TypeNameDescription
System.Byte[]packet
System.Int32length
Returns
TypeDescription
System.ArraySegment<System.Byte>default or new packet to handle

InvalidFragment(Byte[])

Checks if fragment index is less than max fragment size

Declaration
public bool InvalidFragment(byte[] array)
Parameters
TypeNameDescription
System.Byte[]array
Returns
TypeDescription
System.Boolean

ReceiveReliable(Byte[], Int32, Boolean)

Declaration
public void ReceiveReliable(byte[] packet, int length, bool isFragment)
Parameters
TypeNameDescription
System.Byte[]packet
System.Int32length
System.BooleanisFragment

ReceiveAck(Byte[])

Declaration
public void ReceiveAck(byte[] packet)
Parameters
TypeNameDescription
System.Byte[]packet
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/ArrayBatch/index.html b/docs/reference/Mirage.SocketLayer/ArrayBatch/index.html new file mode 100644 index 00000000000..8529c6079b7 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/ArrayBatch/index.html @@ -0,0 +1,17 @@ + + + + + + +ArrayBatch | Mirage Networking + + + + +
+

Class ArrayBatch

Inheritance
System.Object
Mirage.SocketLayer.Batch
Inherited Members
Show

Mirage.SocketLayer.Batch.MESSAGE_LENGTH_SIZE

Mirage.SocketLayer.Batch.Flush()

Syntax
public class ArrayBatch : Batch

Constructors

ArrayBatch(Int32, Action<Byte[], Int32>, PacketType)

Declaration
public ArrayBatch(int maxPacketSize, Action<byte[], int> send, PacketType reliable)
Parameters
TypeNameDescription
System.Int32maxPacketSize
System.Action<System.Byte[], System.Int32>send
Mirage.SocketLayer.PacketTypereliable

Properties

Created

Declaration
protected override bool Created { get; }

Methods

GetBatch()

Declaration
protected override byte[] GetBatch()
Returns
TypeDescription
System.Byte[]

GetBatchLength()

Declaration
protected override int GetBatchLength()
Returns
TypeDescription
System.Int32

CreateNewBatch()

Declaration
protected override void CreateNewBatch()

SendAndReset()

Declaration
protected override void SendAndReset()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/AutoCompleteToken/index.html b/docs/reference/Mirage.SocketLayer/AutoCompleteToken/index.html new file mode 100644 index 00000000000..50871bcd4e5 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/AutoCompleteToken/index.html @@ -0,0 +1,17 @@ + + + + + + +AutoCompleteToken | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/Batch/index.html b/docs/reference/Mirage.SocketLayer/Batch/index.html new file mode 100644 index 00000000000..62ececf1f9d --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/Batch/index.html @@ -0,0 +1,17 @@ + + + + + + +Batch | Mirage Networking + + + + +
+

Class Batch

Inheritance
System.Object
Inherited Members
Show
Syntax
public abstract class Batch

Constructors

Batch(Int32)

Declaration
public Batch(int maxPacketSize)
Parameters
TypeNameDescription
System.Int32maxPacketSize

Fields

MESSAGE_LENGTH_SIZE

Declaration
public const int MESSAGE_LENGTH_SIZE = 2

Properties

Created

Declaration
protected abstract bool Created { get; }

Methods

GetBatch()

Declaration
protected abstract byte[] GetBatch()
Returns
TypeDescription
System.Byte[]

GetBatchLength()

Declaration
protected abstract int GetBatchLength()
Returns
TypeDescription
System.Int32

CreateNewBatch()

Declaration
protected abstract void CreateNewBatch()

SendAndReset()

Declaration
protected abstract void SendAndReset()

AddMessage(Byte[], Int32, Int32)

Declaration
public void AddMessage(byte[] message, int offset, int length)
Parameters
TypeNameDescription
System.Byte[]message
System.Int32offset
System.Int32length

Flush()

Declaration
public void Flush()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/ByteBuffer/index.html b/docs/reference/Mirage.SocketLayer/ByteBuffer/index.html new file mode 100644 index 00000000000..6d450c6a919 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/ByteBuffer/index.html @@ -0,0 +1,17 @@ + + + + + + +ByteBuffer | Mirage Networking + + + + +
+

Class ByteBuffer

Warpper around a byte[] that belongs to a

Inheritance
System.Object
Inherited Members
Show
Syntax
public sealed class ByteBuffer : IDisposable

Fields

array

Declaration
public readonly byte[] array

Methods

CreateNew(Int32, Pool<ByteBuffer>)

Declaration
public static ByteBuffer CreateNew(int bufferSize, Pool<ByteBuffer> pool)
Parameters
TypeNameDescription
System.Int32bufferSize
Mirage.SocketLayer.Pool<Mirage.SocketLayer.ByteBuffer>pool
Returns
TypeDescription
Mirage.SocketLayer.ByteBuffer

Release()

Declaration
public void Release()

IDisposable.Dispose()

Declaration
void IDisposable.Dispose()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/ByteUtils/index.html b/docs/reference/Mirage.SocketLayer/ByteUtils/index.html new file mode 100644 index 00000000000..ea69db21a9b --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/ByteUtils/index.html @@ -0,0 +1,17 @@ + + + + + + +ByteUtils | Mirage Networking + + + + +
+

Class ByteUtils

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class ByteUtils

Methods

WriteByte(Byte[], ref Int32, Byte)

Declaration
public static void WriteByte(byte[] buffer, ref int offset, byte value)
Parameters
TypeNameDescription
System.Byte[]buffer
System.Int32offset
System.Bytevalue

ReadByte(Byte[], ref Int32)

Declaration
public static byte ReadByte(byte[] buffer, ref int offset)
Parameters
TypeNameDescription
System.Byte[]buffer
System.Int32offset
Returns
TypeDescription
System.Byte

WriteUShort(Byte[], ref Int32, UInt16)

Declaration
public static void WriteUShort(byte[] buffer, ref int offset, ushort value)
Parameters
TypeNameDescription
System.Byte[]buffer
System.Int32offset
System.UInt16value

ReadUShort(Byte[], ref Int32)

Declaration
public static ushort ReadUShort(byte[] buffer, ref int offset)
Parameters
TypeNameDescription
System.Byte[]buffer
System.Int32offset
Returns
TypeDescription
System.UInt16

WriteUInt(Byte[], ref Int32, UInt32)

Declaration
public static void WriteUInt(byte[] buffer, ref int offset, uint value)
Parameters
TypeNameDescription
System.Byte[]buffer
System.Int32offset
System.UInt32value

ReadUInt(Byte[], ref Int32)

Declaration
public static uint ReadUInt(byte[] buffer, ref int offset)
Parameters
TypeNameDescription
System.Byte[]buffer
System.Int32offset
Returns
TypeDescription
System.UInt32

WriteULong(Byte[], ref Int32, UInt64)

Declaration
public static void WriteULong(byte[] buffer, ref int offset, ulong value)
Parameters
TypeNameDescription
System.Byte[]buffer
System.Int32offset
System.UInt64value

ReadULong(Byte[], ref Int32)

Declaration
public static ulong ReadULong(byte[] buffer, ref int offset)
Parameters
TypeNameDescription
System.Byte[]buffer
System.Int32offset
Returns
TypeDescription
System.UInt64
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/Commands/index.html b/docs/reference/Mirage.SocketLayer/Commands/index.html new file mode 100644 index 00000000000..61540418fdb --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/Commands/index.html @@ -0,0 +1,17 @@ + + + + + + +Commands | Mirage Networking + + + + +
+
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/Config/index.html b/docs/reference/Mirage.SocketLayer/Config/index.html new file mode 100644 index 00000000000..06d96b43446 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/Config/index.html @@ -0,0 +1,31 @@ + + + + + + +Config | Mirage Networking + + + + +
+

Class Config

Inheritance
System.Object
Inherited Members
Show
Syntax
public class Config

Fields

MaxConnections

Max concurrent connections server will accept

Declaration
public int MaxConnections

ConnectAttemptInterval

How often connect attempt message will be re-sent if server does not reply

Declaration
public float ConnectAttemptInterval

MaxConnectAttempts

How many times attempt to connect before giving up

Declaration
public int MaxConnectAttempts

KeepAliveInterval

how long after previous send before sending keep alive message +Keep alive is to stop connection from timing out +keep alive is sent over unreliable so this interval should be low enough so that does not timeout if some unreliable packets are missed

Declaration
public float KeepAliveInterval

TimeoutDuration

how long without a message before disconnecting connection

Declaration
public float TimeoutDuration

key

Key sent with connection message (defaults to Major version of assmebly) +Used to validate that server and client are same application/version +NOTE: key will be ASCII encoded

Declaration
public string key

DisconnectDuration

How long after disconnect before connection is fully removed from Peer

Declaration
public float DisconnectDuration

BufferPoolStartSize

How many buffers to create at start

Declaration
public int BufferPoolStartSize

BufferPoolMaxSize

max number of buffers allowed to be stored in pool +buffers over this limit will be left for GC

Declaration
public int BufferPoolMaxSize

TimeBeforeEmptyAck

how long after last send to send ack without a message

Declaration
public float TimeBeforeEmptyAck

ReceivesBeforeEmptyAck

How many receives before sending an empty ack +this is so that acks are still sent even if receives many message before replying

Declaration
public int ReceivesBeforeEmptyAck

EmptyAckLimit

How many empty acks to send via +Send enough acks that there is a high chances that 1 of them reaches other size +Empty Ack count resets after receives new message

Declaration
public int EmptyAckLimit

MaxReliablePacketsInSendBufferPerConnection

How many packets can exist it ring buffers for Ack and Reliable system +This value wont count null packets so can be set lower than 's value to limit actual number of packets waiting to be acked +Example: (max=2000) (MTU=1200) (connections=100) => 240MB

Declaration
public int MaxReliablePacketsInSendBufferPerConnection

SequenceSize

Bit size of sequence used for AckSystem +this value also determines the size of ring buffers for Ack and Reliable system +Max of 16

Declaration
public int SequenceSize

MaxReliableFragments

How many fragments large reliable message can be split into +if set to 0 then messages over will not be allowed to be sent +max value is 255

Declaration
public int MaxReliableFragments

DisableReliableLayer

Enable if the Socket you are using has its own Reliable layer. For example using Websocket, which is TCP.

Declaration
public bool DisableReliableLayer
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/ConnectionExtensions/index.html b/docs/reference/Mirage.SocketLayer/ConnectionExtensions/index.html new file mode 100644 index 00000000000..12e958e5ba6 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/ConnectionExtensions/index.html @@ -0,0 +1,17 @@ + + + + + + +ConnectionExtensions | Mirage Networking + + + + +
+

Class ConnectionExtensions

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class ConnectionExtensions

Methods

SendUnreliable(IConnection, Byte[])

Declaration
public static void SendUnreliable(this IConnection conn, byte[] packet)
Parameters
TypeNameDescription
Mirage.SocketLayer.IConnectionconn
System.Byte[]packet

SendUnreliable(IConnection, ArraySegment<Byte>)

Declaration
public static void SendUnreliable(this IConnection conn, ArraySegment<byte> packet)
Parameters
TypeNameDescription
Mirage.SocketLayer.IConnectionconn
System.ArraySegment<System.Byte>packet

SendNotify(IConnection, Byte[])

Declaration
public static INotifyToken SendNotify(this IConnection conn, byte[] packet)
Parameters
TypeNameDescription
Mirage.SocketLayer.IConnectionconn
System.Byte[]packet
Returns
TypeDescription
Mirage.SocketLayer.INotifyToken

SendNotify(IConnection, ArraySegment<Byte>)

Declaration
public static INotifyToken SendNotify(this IConnection conn, ArraySegment<byte> packet)
Parameters
TypeNameDescription
Mirage.SocketLayer.IConnectionconn
System.ArraySegment<System.Byte>packet
Returns
TypeDescription
Mirage.SocketLayer.INotifyToken

SendNotify(IConnection, Byte[], INotifyCallBack)

Declaration
public static void SendNotify(this IConnection conn, byte[] packet, INotifyCallBack callBacks)
Parameters
TypeNameDescription
Mirage.SocketLayer.IConnectionconn
System.Byte[]packet
Mirage.SocketLayer.INotifyCallBackcallBacks

SendNotify(IConnection, ArraySegment<Byte>, INotifyCallBack)

Declaration
public static void SendNotify(this IConnection conn, ArraySegment<byte> packet, INotifyCallBack callBacks)
Parameters
TypeNameDescription
Mirage.SocketLayer.IConnectionconn
System.ArraySegment<System.Byte>packet
Mirage.SocketLayer.INotifyCallBackcallBacks

SendReliable(IConnection, Byte[])

Declaration
public static void SendReliable(this IConnection conn, byte[] packet)
Parameters
TypeNameDescription
Mirage.SocketLayer.IConnectionconn
System.Byte[]packet

SendReliable(IConnection, ArraySegment<Byte>)

Declaration
public static void SendReliable(this IConnection conn, ArraySegment<byte> packet)
Parameters
TypeNameDescription
Mirage.SocketLayer.IConnectionconn
System.ArraySegment<System.Byte>packet
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/ConnectionState/index.html b/docs/reference/Mirage.SocketLayer/ConnectionState/index.html new file mode 100644 index 00000000000..7acf2b84d10 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/ConnectionState/index.html @@ -0,0 +1,17 @@ + + + + + + +ConnectionState | Mirage Networking + + + + +
+
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/DisconnectReason/index.html b/docs/reference/Mirage.SocketLayer/DisconnectReason/index.html new file mode 100644 index 00000000000..2923250a98a --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/DisconnectReason/index.html @@ -0,0 +1,17 @@ + + + + + + +DisconnectReason | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/IConnection/index.html b/docs/reference/Mirage.SocketLayer/IConnection/index.html new file mode 100644 index 00000000000..2f83562b950 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/IConnection/index.html @@ -0,0 +1,17 @@ + + + + + + +IConnection | Mirage Networking + + + + +
+

Interface IConnection

Connection for

Syntax
public interface IConnection

Properties

EndPoint

Declaration
IEndPoint EndPoint { get; }

State

Declaration
ConnectionState State { get; }

Methods

Disconnect()

Declaration
void Disconnect()

SendNotify(Byte[], Int32, Int32)

Declaration
INotifyToken SendNotify(byte[] packet, int offset, int length)
Parameters
TypeNameDescription
System.Byte[]packet
System.Int32offset
System.Int32length
Returns
TypeDescription
Mirage.SocketLayer.INotifyToken

SendNotify(Byte[], Int32, Int32, INotifyCallBack)

Declaration
void SendNotify(byte[] packet, int offset, int length, INotifyCallBack callBacks)
Parameters
TypeNameDescription
System.Byte[]packet
System.Int32offset
System.Int32length
Mirage.SocketLayer.INotifyCallBackcallBacks

SendReliable(Byte[], Int32, Int32)

single message, batched by AckSystem

Declaration
void SendReliable(byte[] message, int offset, int length)
Parameters
TypeNameDescription
System.Byte[]message
System.Int32offset
System.Int32length

SendUnreliable(Byte[], Int32, Int32)

Declaration
void SendUnreliable(byte[] packet, int offset, int length)
Parameters
TypeNameDescription
System.Byte[]packet
System.Int32offset
System.Int32length

FlushBatch()

Forces the connection to send any batched message immediately to the socket

Note: this will only send the packet to the socket. Some sockets may not send on main thread so might not send immediately

Declaration
void FlushBatch()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/IDataHandler/index.html b/docs/reference/Mirage.SocketLayer/IDataHandler/index.html new file mode 100644 index 00000000000..1dbed2a52d0 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/IDataHandler/index.html @@ -0,0 +1,18 @@ + + + + + + +IDataHandler | Mirage Networking + + + + +
+
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/IEndPoint/index.html b/docs/reference/Mirage.SocketLayer/IEndPoint/index.html new file mode 100644 index 00000000000..0a96725f34e --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/IEndPoint/index.html @@ -0,0 +1,19 @@ + + + + + + +IEndPoint | Mirage Networking + + + + +
+

Interface IEndPoint

Object that can be used as an endpoint for and

Implementation of this should override and so that 2 instance wil be equal if they have the same address internally

When a new connection is received by Peer a copy of this endpoint will be created and given to that connection. +On future received the incoming endpoint will be compared to active connections inside a dictionary

Syntax
public interface IEndPoint

Methods

CreateCopy()

Creates a new instance of with same connection data +this is called when a new connection is created by

Declaration
IEndPoint CreateCopy()
Returns
TypeDescription
Mirage.SocketLayer.IEndPoint
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/IHasAddress/index.html b/docs/reference/Mirage.SocketLayer/IHasAddress/index.html new file mode 100644 index 00000000000..e579db1866d --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/IHasAddress/index.html @@ -0,0 +1,17 @@ + + + + + + +IHasAddress | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/IHasPort/index.html b/docs/reference/Mirage.SocketLayer/IHasPort/index.html new file mode 100644 index 00000000000..564b4a5ac4d --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/IHasPort/index.html @@ -0,0 +1,17 @@ + + + + + + +IHasPort | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/INotifyCallBack/index.html b/docs/reference/Mirage.SocketLayer/INotifyCallBack/index.html new file mode 100644 index 00000000000..99dffbce5a6 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/INotifyCallBack/index.html @@ -0,0 +1,17 @@ + + + + + + +INotifyCallBack | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/INotifyCallBackExtensions/index.html b/docs/reference/Mirage.SocketLayer/INotifyCallBackExtensions/index.html new file mode 100644 index 00000000000..a1319003621 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/INotifyCallBackExtensions/index.html @@ -0,0 +1,17 @@ + + + + + + +INotifyCallBackExtensions | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/INotifyToken/index.html b/docs/reference/Mirage.SocketLayer/INotifyToken/index.html new file mode 100644 index 00000000000..9ac52caccab --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/INotifyToken/index.html @@ -0,0 +1,17 @@ + + + + + + +INotifyToken | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/IPeer/index.html b/docs/reference/Mirage.SocketLayer/IPeer/index.html new file mode 100644 index 00000000000..36312e57448 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/IPeer/index.html @@ -0,0 +1,17 @@ + + + + + + +IPeer | Mirage Networking + + + + +
+

Interface IPeer

Syntax
public interface IPeer

Methods

Bind(IEndPoint)

Declaration
void Bind(IEndPoint endPoint)
Parameters
TypeNameDescription
Mirage.SocketLayer.IEndPointendPoint

Connect(IEndPoint)

Declaration
IConnection Connect(IEndPoint endPoint)
Parameters
TypeNameDescription
Mirage.SocketLayer.IEndPointendPoint
Returns
TypeDescription
Mirage.SocketLayer.IConnection

Close()

Declaration
void Close()

UpdateReceive()

Call this at the start of the frame to receive new messages

Declaration
void UpdateReceive()

UpdateSent()

Call this at end of frame to send new batches

Declaration
void UpdateSent()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/IRawConnection/index.html b/docs/reference/Mirage.SocketLayer/IRawConnection/index.html new file mode 100644 index 00000000000..2e70fc5fee0 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/IRawConnection/index.html @@ -0,0 +1,19 @@ + + + + + + +IRawConnection | Mirage Networking + + + + +
+
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/ISocket/index.html b/docs/reference/Mirage.SocketLayer/ISocket/index.html new file mode 100644 index 00000000000..59d99d7d5b0 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/ISocket/index.html @@ -0,0 +1,20 @@ + + + + + + +ISocket | Mirage Networking + + + + +
+

Interface ISocket

Link between Mirage and the outside world

Syntax
public interface ISocket

Methods

Bind(IEndPoint)

Starts listens for data on an endpoint +Used by Server to allow clients to connect

Declaration
void Bind(IEndPoint endPoint)
Parameters
TypeNameDescription
Mirage.SocketLayer.IEndPointendPointthe endpoint to listen on

Connect(IEndPoint)

Sets up Socket ready to send data to endpoint as a client

Declaration
void Connect(IEndPoint endPoint)
Parameters
TypeNameDescription
Mirage.SocketLayer.IEndPointendPoint

Close()

Closes the socket, stops receiving messages from other peers

Declaration
void Close()

Poll()

Checks if a packet is available

Declaration
bool Poll()
Returns
TypeDescription
System.Booleantrue if there is atleast 1 packet to read

Receive(Byte[], out IEndPoint)

Gets next packet +Should be called after Poll

Implementation should check that incoming packet is within the size of buffer,
and make sure not to return bytesReceived above that size
Declaration
int Receive(byte[] buffer, out IEndPoint endPoint)
Parameters
TypeNameDescription
System.Byte[]bufferbuffer to write recevived packet into
Mirage.SocketLayer.IEndPointendPointwhere packet came from
Returns
TypeDescription
System.Int32length of packet, should not be above buffer length

Send(IEndPoint, Byte[], Int32)

Sends a packet to an endpoint +Implementation should use length because packet is a buffer than may contain data from previous packets

Declaration
void Send(IEndPoint endPoint, byte[] packet, int length)
Parameters
TypeNameDescription
Mirage.SocketLayer.IEndPointendPointwhere packet is being sent to
System.Byte[]packetbuffer that contains the packet, starting at index 0
System.Int32lengthlength of the packet
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/ITime/index.html b/docs/reference/Mirage.SocketLayer/ITime/index.html new file mode 100644 index 00000000000..34f220abc35 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/ITime/index.html @@ -0,0 +1,17 @@ + + + + + + +ITime | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/Metrics.Frame/index.html b/docs/reference/Mirage.SocketLayer/Metrics.Frame/index.html new file mode 100644 index 00000000000..63d4501e01f --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/Metrics.Frame/index.html @@ -0,0 +1,17 @@ + + + + + + +Metrics.Frame | Mirage Networking + + + + +
+

Struct Metrics.Frame

Syntax
public struct Frame

Fields

init

Is this frame initialized (uninitialized frames can be excluded from averages)

Declaration
public bool init

connectionCount

Number of connections

Declaration
public int connectionCount

sendCount

Number of send calls to connections

Declaration
public int sendCount

sendBytes

Number of bytes sent to connections

Declaration
public int sendBytes

resendCount

Number of resend calls by reliable system

Declaration
public int resendCount

resendBytes

Number of bytes resent by reliable system

Declaration
public int resendBytes

receiveCount

Number of packets received from connections

Declaration
public int receiveCount

receiveBytes

Number of bytes received from connections

Declaration
public int receiveBytes

sendUnconnectedCount

Number of send calls to unconnected addresses

Declaration
public int sendUnconnectedCount

sendUnconnectedBytes

Number of bytes sent to unconnected addresses

Declaration
public int sendUnconnectedBytes

receiveUnconnectedBytes

Number of packets received from unconnected addresses

Declaration
public int receiveUnconnectedBytes

receiveUnconnectedCount

Number of bytes received from unconnected addresses

Declaration
public int receiveUnconnectedCount

sendMessagesUnreliableCount

Number of Unreliable message sent to connections

Declaration
public int sendMessagesUnreliableCount

sendMessagesUnreliableBytes

Number of Unreliable bytes sent to connections (excludes packets headers, will just be the message sent by high level)

Declaration
public int sendMessagesUnreliableBytes

receiveMessagesUnreliableCount

Number of Unreliable message received from connections

Declaration
public int receiveMessagesUnreliableCount

receiveMessagesUnreliableBytes

Number of Unreliable bytes received from connections (excludes packets headers, will just be the message sent by high level)

Declaration
public int receiveMessagesUnreliableBytes

sendMessagesReliableCount

Number of Reliable message sent to connections

Declaration
public int sendMessagesReliableCount

sendMessagesReliableBytes

Number of Reliable bytes sent to connections (excludes packets headers, will just be the message sent by high level)

Declaration
public int sendMessagesReliableBytes

receiveMessagesReliableCount

Number of Reliable message received from connections

Declaration
public int receiveMessagesReliableCount

receiveMessagesReliableBytes

Number of Reliable bytes received from connections (excludes packets headers, will just be the message sent by high level)

Declaration
public int receiveMessagesReliableBytes

sendMessagesNotifyCount

Number of Notify message sent to connections

Declaration
public int sendMessagesNotifyCount

sendMessagesNotifyBytes

Number of Notify bytes sent to connections (excludes packets headers, will just be the message sent by high level)

Declaration
public int sendMessagesNotifyBytes

receiveMessagesNotifyCount

Number of Notify message received from connections

Declaration
public int receiveMessagesNotifyCount

receiveMessagesNotifyBytes

Number of Notify bytes received from connections (excludes packets headers, will just be the message sent by high level)

Declaration
public int receiveMessagesNotifyBytes

Properties

sendMessagesCountTotal

Number of message sent to connections

Declaration
public int sendMessagesCountTotal { get; }

sendMessagesBytesTotal

Number of bytes sent to connections (excludes packets headers, will just be the message sent by high level)

Declaration
public int sendMessagesBytesTotal { get; }

receiveMessagesCountTotal

Number of message received from connections

Declaration
public int receiveMessagesCountTotal { get; }

receiveMessagesBytesTotal

Number of bytes received from connections (excludes packets headers, will just be the message sent by high level)

Declaration
public int receiveMessagesBytesTotal { get; }
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/Metrics/index.html b/docs/reference/Mirage.SocketLayer/Metrics/index.html new file mode 100644 index 00000000000..aa25f119153 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/Metrics/index.html @@ -0,0 +1,17 @@ + + + + + + +Metrics | Mirage Networking + + + + +
+

Class Metrics

Inheritance
System.Object
Inherited Members
Show
Syntax
public class Metrics

Constructors

Metrics(Int32)

Declaration
public Metrics(int bitSize = 10)
Parameters
TypeNameDescription
System.Int32bitSize

Fields

Sequencer

Declaration
public readonly Sequencer Sequencer

buffer

Declaration
public readonly Metrics.Frame[] buffer

tick

Declaration
public uint tick

Methods

OnTick(Int32)

Declaration
public void OnTick(int connectionCount)
Parameters
TypeNameDescription
System.Int32connectionCount

OnSend(Int32)

Declaration
public void OnSend(int length)
Parameters
TypeNameDescription
System.Int32length

OnResend(Int32)

Declaration
public void OnResend(int length)
Parameters
TypeNameDescription
System.Int32length

OnReceive(Int32)

Declaration
public void OnReceive(int length)
Parameters
TypeNameDescription
System.Int32length

OnReceiveUnconnected(Int32)

Declaration
public void OnReceiveUnconnected(int length)
Parameters
TypeNameDescription
System.Int32length

OnSendMessageUnreliable(Int32)

Declaration
public void OnSendMessageUnreliable(int length)
Parameters
TypeNameDescription
System.Int32length

OnReceiveMessageUnreliable(Int32)

Declaration
public void OnReceiveMessageUnreliable(int length)
Parameters
TypeNameDescription
System.Int32length

OnSendMessageReliable(Int32)

Declaration
public void OnSendMessageReliable(int length)
Parameters
TypeNameDescription
System.Int32length

OnReceiveMessageReliable(Int32)

Declaration
public void OnReceiveMessageReliable(int length)
Parameters
TypeNameDescription
System.Int32length

OnSendMessageNotify(Int32)

Declaration
public void OnSendMessageNotify(int length)
Parameters
TypeNameDescription
System.Int32length

OnReceiveMessageNotify(Int32)

Declaration
public void OnReceiveMessageNotify(int length)
Parameters
TypeNameDescription
System.Int32length

OnReceiveMessage(PacketType, Int32)

Declaration
public void OnReceiveMessage(PacketType packetType, int length)
Parameters
TypeNameDescription
Mirage.SocketLayer.PacketTypepacketType
System.Int32length
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/NotifyToken/index.html b/docs/reference/Mirage.SocketLayer/NotifyToken/index.html new file mode 100644 index 00000000000..36d8e9b8905 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/NotifyToken/index.html @@ -0,0 +1,17 @@ + + + + + + +NotifyToken | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/PacketType/index.html b/docs/reference/Mirage.SocketLayer/PacketType/index.html new file mode 100644 index 00000000000..6603cb81dc5 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/PacketType/index.html @@ -0,0 +1,22 @@ + + + + + + +PacketType | Mirage Networking + + + + +
+

Enum PacketType

Syntax
public enum PacketType

Fields

Command

see

Declaration
Command = 1

Unreliable

data packet sent with no guarantee for order or reliability +used for data that is fire and forget

Declaration
Unreliable = 2

Notify

data packet sent with ack header so sender knows if packet gets delivered or lost

Declaration
Notify = 3

Reliable

data packet that are guarantee to be in order, and not lost. +contains ack header +If a package is lost then other Reliable packets will be held until the lost packet is resent

Declaration
Reliable = 4

ReliableFragment

part of a Reliable message. same as Reliable but only part of a message

Declaration
ReliableFragment = 6

Ack

packet with just ack header +only sent if no other packets with ack header were sent recently

Declaration
Ack = 5

KeepAlive

Used to keep connection alive. +Similar to ping/pong

Declaration
KeepAlive = 10
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/Peer/index.html b/docs/reference/Mirage.SocketLayer/Peer/index.html new file mode 100644 index 00000000000..9a3cab0a799 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/Peer/index.html @@ -0,0 +1,17 @@ + + + + + + +Peer | Mirage Networking + + + + +
+

Class Peer

Controls flow of data in/out of mirage, Uses

Inheritance
System.Object
Inherited Members
Show
Syntax
public sealed class Peer : IPeer

Constructors

Peer(ISocket, Int32, IDataHandler, Config, ILogger, Metrics)

Declaration
public Peer(ISocket socket, int maxPacketSize, IDataHandler dataHandler, Config config = null, ILogger logger = null, Metrics metrics = null)
Parameters
TypeNameDescription
Mirage.SocketLayer.ISocketsocket
System.Int32maxPacketSize
Mirage.SocketLayer.IDataHandlerdataHandler
Mirage.SocketLayer.Configconfig
ILoggerlogger
Mirage.SocketLayer.Metricsmetrics

Properties

PoolMetrics

Declaration
public PoolMetrics PoolMetrics { get; }

Methods

Bind(IEndPoint)

Declaration
public void Bind(IEndPoint endPoint)
Parameters
TypeNameDescription
Mirage.SocketLayer.IEndPointendPoint

Connect(IEndPoint)

Declaration
public IConnection Connect(IEndPoint endPoint)
Parameters
TypeNameDescription
Mirage.SocketLayer.IEndPointendPoint
Returns
TypeDescription
Mirage.SocketLayer.IConnection

Close()

Declaration
public void Close()

UpdateReceive()

Call this at the start of the frame to receive new messages

Declaration
public void UpdateReceive()

UpdateSent()

Call this at end of frame to send new batches

Declaration
public void UpdateSent()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItem/index.html b/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItem/index.html new file mode 100644 index 00000000000..7c14400a46e --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItem/index.html @@ -0,0 +1,17 @@ + + + + + + +Pool<T>.CreateNewItem | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount/index.html b/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount/index.html new file mode 100644 index 00000000000..36e9be580ad --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/Pool-1.CreateNewItemNoCount/index.html @@ -0,0 +1,17 @@ + + + + + + +Pool<T>.CreateNewItemNoCount | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/Pool-1/index.html b/docs/reference/Mirage.SocketLayer/Pool-1/index.html new file mode 100644 index 00000000000..9cdb2e22653 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/Pool-1/index.html @@ -0,0 +1,17 @@ + + + + + + +Pool<T> | Mirage Networking + + + + +
+

Class Pool<T>

Holds a collection of so they can be re-used without allocations

Inheritance
System.Object
Inherited Members
Show
Syntax
public class Pool<T>
where T : class
Type Parameters
NameDescription
T

Constructors

Pool(Pool<T>.CreateNewItemNoCount, Int32, Int32, ILogger)

Creates pool, that does not require Buffer size

Declaration
public Pool(Pool<T>.CreateNewItemNoCount createNew, int startPoolSize, int maxPoolSize, ILogger logger = null)
Parameters
TypeNameDescription
Mirage.SocketLayer.Pool.CreateNewItemNoCount<>createNew
System.Int32startPoolSizehow many buffers to create at start
System.Int32maxPoolSizemax number of buffers in pool
ILoggerlogger

Pool(Pool<T>.CreateNewItem, Int32, Int32, Int32, ILogger)

Creates pool where buffer size will be passed to items when created them

Declaration
public Pool(Pool<T>.CreateNewItem createNew, int bufferSize, int startPoolSize, int maxPoolSize, ILogger logger = null)
Parameters
TypeNameDescription
Mirage.SocketLayer.Pool.CreateNewItem<>createNew
System.Int32bufferSizesize of each buffer
System.Int32startPoolSizehow many buffers to create at start
System.Int32maxPoolSizemax number of buffers in pool
ILoggerlogger

Properties

Metrics

Declaration
public PoolMetrics Metrics { get; }

Methods

Configure(Int32, Int32)

sets max pool size and then creates writers up to new start size

Declaration
public void Configure(int startPoolSize, int maxPoolSize)
Parameters
TypeNameDescription
System.Int32startPoolSize
System.Int32maxPoolSize

Take()

Declaration
public T Take()
Returns
TypeDescription
T

Put(T)

Declaration
public void Put(T buffer)
Parameters
TypeNameDescription
Tbuffer
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/PoolMetrics/index.html b/docs/reference/Mirage.SocketLayer/PoolMetrics/index.html new file mode 100644 index 00000000000..3840d031097 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/PoolMetrics/index.html @@ -0,0 +1,17 @@ + + + + + + +PoolMetrics | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/RejectReason/index.html b/docs/reference/Mirage.SocketLayer/RejectReason/index.html new file mode 100644 index 00000000000..aacf28d3ff9 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/RejectReason/index.html @@ -0,0 +1,17 @@ + + + + + + +RejectReason | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/ReliableBatch/index.html b/docs/reference/Mirage.SocketLayer/ReliableBatch/index.html new file mode 100644 index 00000000000..ea0512600ae --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/ReliableBatch/index.html @@ -0,0 +1,17 @@ + + + + + + +ReliableBatch | Mirage Networking + + + + +
+

Class ReliableBatch

Inheritance
System.Object
Mirage.SocketLayer.Batch
Inherited Members
Show

Mirage.SocketLayer.Batch.MESSAGE_LENGTH_SIZE

Mirage.SocketLayer.Batch.Flush()

Syntax
public class ReliableBatch : Batch, IDisposable

Constructors

ReliableBatch(Int32, Func<PacketType, AckSystem.ReliablePacket>, Action<AckSystem.ReliablePacket>)

Declaration
public ReliableBatch(int maxPacketSize, Func<PacketType, AckSystem.ReliablePacket> createReliableBuffer, Action<AckSystem.ReliablePacket> sendReliablePacket)
Parameters
TypeNameDescription
System.Int32maxPacketSize
System.Func<Mirage.SocketLayer.PacketType, Mirage.SocketLayer.AckSystem.ReliablePacket>createReliableBuffer
System.Action<Mirage.SocketLayer.AckSystem.ReliablePacket>sendReliablePacket

Properties

Created

Declaration
protected override bool Created { get; }

Methods

GetBatch()

Declaration
protected override byte[] GetBatch()
Returns
TypeDescription
System.Byte[]

GetBatchLength()

Declaration
protected override int GetBatchLength()
Returns
TypeDescription
System.Int32

CreateNewBatch()

Declaration
protected override void CreateNewBatch()

SendAndReset()

Declaration
protected override void SendAndReset()

IDisposable.Dispose()

Declaration
void IDisposable.Dispose()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/RingBuffer-1/index.html b/docs/reference/Mirage.SocketLayer/RingBuffer-1/index.html new file mode 100644 index 00000000000..209d662cb4d --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/RingBuffer-1/index.html @@ -0,0 +1,24 @@ + + + + + + +RingBuffer<T> | Mirage Networking + + + + +
+

Class RingBuffer<T>

Inheritance
System.Object
Inherited Members
Show
Syntax
public class RingBuffer<T>
Type Parameters
NameDescription
T

Constructors

RingBuffer(Int32, ILogger)

Declaration
public RingBuffer(int bitCount, ILogger logger)
Parameters
TypeNameDescription
System.Int32bitCount
UnityEngine.ILoggerlogger

RingBuffer(Int32, IEqualityComparer<T>, ILogger)

Declaration
public RingBuffer(int bitCount, IEqualityComparer<T> comparer, ILogger logger)
Parameters
TypeNameDescription
System.Int32bitCount
System.Collections.Generic.IEqualityComparer<T>comparer
UnityEngine.ILoggerlogger

Fields

Sequencer

Declaration
public readonly Sequencer Sequencer

Properties

Read

Declaration
public uint Read { get; }

Write

Declaration
public uint Write { get; }

Count

Number of non-null items in buffer +NOTE: this is not distance from read to write

Declaration
public int Count { get; }

Capacity

Declaration
public int Capacity { get; }

Item[UInt32]

Declaration
public T this[uint index] { get; }

Item[Int32]

Declaration
public T this[int index] { get; }

IsFull

Declaration
public bool IsFull { get; }

Methods

DistanceToRead(UInt32)

Declaration
public long DistanceToRead(uint from)
Parameters
TypeNameDescription
System.UInt32from
Returns
TypeDescription
System.Int64

Enqueue(T)

Declaration
public uint Enqueue(T item)
Parameters
TypeNameDescription
Titem
Returns
TypeDescription
System.UInt32sequance of written item

TryPeak(out T)

Tries to read the item at read index +same as but does not remove the item after reading it

Declaration
public bool TryPeak(out T item)
Parameters
TypeNameDescription
Titem
Returns
TypeDescription
System.Booleantrue if item exists, or false if it is missing

Exists(UInt32)

Does item exist at index +Index will be moved into bounds

Declaration
public bool Exists(uint index)
Parameters
TypeNameDescription
System.UInt32index
Returns
TypeDescription
System.Booleantrue if item exists, or false if it is missing

RemoveNext()

Removes the item at read index and increments read index +can be used after to do the same as

Declaration
public void RemoveNext()

Dequeue()

Removes next item and increments read index +Assumes next items exists, best to use this with

Declaration
public T Dequeue()
Returns
TypeDescription
T

TryDequeue(out T)

Tries to remove the item at read index

Declaration
public bool TryDequeue(out T item)
Parameters
TypeNameDescription
Titem
Returns
TypeDescription
System.Booleantrue if item exists, or false if it is missing

InsertAt(UInt32, T)

Declaration
public void InsertAt(uint index, T item)
Parameters
TypeNameDescription
System.UInt32index
Titem

RemoveAt(UInt32)

Declaration
public void RemoveAt(uint index)
Parameters
TypeNameDescription
System.UInt32index

MoveReadToNextNonEmpty()

Moves read index to next non empty position +this is useful when removing items from buffer in random order. +Will stop when write == read, or when next buffer item is not empty

Declaration
public void MoveReadToNextNonEmpty()

MoveReadOne()

Moves read 1 index

Declaration
public void MoveReadOne()

ClearAndRelease(Action<T>)

Declaration
public void ClearAndRelease(Action<T> releaseItem)
Parameters
TypeNameDescription
System.Action<T>releaseItem
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/Sequencer/index.html b/docs/reference/Mirage.SocketLayer/Sequencer/index.html new file mode 100644 index 00000000000..de54a5aaf89 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/Sequencer/index.html @@ -0,0 +1,24 @@ + + + + + + +Sequencer | Mirage Networking + + + + +
+

Class Sequencer

A sequence generator that can wrap. +For example a 2 bit sequencer would generate +the following numbers: +0,1,2,3,0,1,2,3,0,1,2,3...

Inheritance
System.Object
Inherited Members
Show
Syntax
public class Sequencer

Constructors

Sequencer(Int32)

Declaration
public Sequencer(int bits)
Parameters
TypeNameDescription
System.Int32bitsamount of bits for the sequence

Properties

Bits

Number of bits used for the sequence generator up to 64

Declaration
public int Bits { get; }

Methods

Next()

Generates the next value in the sequence +starts with 0

Declaration
public ulong Next()
Returns
TypeDescription
System.UInt640, 1, 2, ..., (2^n)-1, 0, 1, 2, ...

NextAfter(UInt64)

Gets the next sequence value after a given sequence +wraps if necessary

Declaration
public ulong NextAfter(ulong sequence)
Parameters
TypeNameDescription
System.UInt64sequencecurrent sequence value
Returns
TypeDescription
System.UInt64the next sequence value

MoveInBounds(UInt64)

returns a sequence value from the given value +wraps if necessary

Declaration
public ulong MoveInBounds(ulong sequence)
Parameters
TypeNameDescription
System.UInt64sequencecurrent sequence value
Returns
TypeDescription
System.UInt64the next sequence value

Distance(UInt64, UInt64)

Calculates the distance between 2 sequences, taking into account +wrapping

Declaration
public long Distance(ulong from, ulong to)
Parameters
TypeNameDescription
System.UInt64fromcurrent sequence value
System.UInt64toprevious sequence value
Returns
TypeDescription
System.Int64from - to, adjusted for wrapping
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/SocketFactory/index.html b/docs/reference/Mirage.SocketLayer/SocketFactory/index.html new file mode 100644 index 00000000000..cefc5367d6f --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/SocketFactory/index.html @@ -0,0 +1,18 @@ + + + + + + +SocketFactory | Mirage Networking + + + + +
+

Class SocketFactory

Creates an instance of

Inheritance
System.Object
Syntax
public abstract class SocketFactory : MonoBehaviour

Properties

MaxPacketSize

Max size for packets sent to or received from Socket +Called once when Sockets are created

Declaration
public abstract int MaxPacketSize { get; }

Methods

CreateServerSocket()

Creates a to be used by on the server

Declaration
public abstract ISocket CreateServerSocket()
Returns
TypeDescription
Mirage.SocketLayer.ISocket

GetBindEndPoint()

Creates the that the Server Socket will bind to

Declaration
public abstract IEndPoint GetBindEndPoint()
Returns
TypeDescription
Mirage.SocketLayer.IEndPoint

CreateClientSocket()

Creates a to be used by on the client

Declaration
public abstract ISocket CreateClientSocket()
Returns
TypeDescription
Mirage.SocketLayer.ISocket

GetConnectEndPoint(String, Nullable<UInt16>)

Creates the that the Client Socket will connect to using the parameter given

Declaration
public abstract IEndPoint GetConnectEndPoint(string address = null, ushort? port = default(ushort? ))
Parameters
TypeNameDescription
System.Stringaddress
System.Nullable<System.UInt16>port
Returns
TypeDescription
Mirage.SocketLayer.IEndPoint
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.SocketLayer/index.html b/docs/reference/Mirage.SocketLayer/index.html new file mode 100644 index 00000000000..2647b4e5478 --- /dev/null +++ b/docs/reference/Mirage.SocketLayer/index.html @@ -0,0 +1,23 @@ + + + + + + +Mirage.SocketLayer | Mirage Networking + + + + +
+

Mirage.SocketLayer

Classes

AckSystem

AckSystem.ReliablePacket

ArrayBatch

AutoCompleteToken

Token that invokes immediately

Batch

ByteBuffer

Warpper around a byte[] that belongs to a

ByteUtils

Config

ConnectionExtensions

INotifyCallBackExtensions

Metrics

NotifyToken

Object returned from with events for when packet is Lost or Delivered

Peer

Controls flow of data in/out of mirage, Uses

Pool<T>

Holds a collection of so they can be re-used without allocations

ReliableBatch

RingBuffer<T>

Sequencer

A sequence generator that can wrap. +For example a 2 bit sequencer would generate +the following numbers: +0,1,2,3,0,1,2,3,0,1,2,3...

SocketFactory

Creates an instance of

Structs

AckSystem.ReliableReceived

Metrics.Frame

PoolMetrics

Interfaces

IConnection

Connection for

IDataHandler

Handles data from SocketLayer +A high level script should implement this interface give it to Peer when it is created

IEndPoint

Object that can be used as an endpoint for and

Implementation of this should override and so that 2 instance wil be equal if they have the same address internally

When a new connection is received by Peer a copy of this endpoint will be created and given to that connection. +On future received the incoming endpoint will be compared to active connections inside a dictionary

IHasAddress

Can be added to SocketFactory that have an Address Setting

IHasPort

Can be added to SocketFactory that have a Port Setting

INotifyCallBack

Can be passed into and methods will be invoked when notify is delivered or lost

See the Notify Example on how to use this interface

INotifyToken

Object returned from with events for when packet is Lost or Delivered

IPeer

IRawConnection

A connection that can send data directly to sockets +Only things inside socket layer should be sending raw packets. Others should use the methods inside

ISocket

Link between Mirage and the outside world

ITime

Enums

Commands

Small message used to control a connection

and Commands uses their own byte/enum to split up the flow and add struture to the code.

ConnectionState

DisconnectReason

Reason why a connection was disconnected

PacketType

RejectReason

Reason for reject sent from server

Delegates

Pool<T>.CreateNewItem

Pool<T>.CreateNewItemNoCount

+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Sockets.Udp/EndPointWrapper/index.html b/docs/reference/Mirage.Sockets.Udp/EndPointWrapper/index.html new file mode 100644 index 00000000000..2ce143f767b --- /dev/null +++ b/docs/reference/Mirage.Sockets.Udp/EndPointWrapper/index.html @@ -0,0 +1,17 @@ + + + + + + +EndPointWrapper | Mirage Networking + + + + +
+

Class EndPointWrapper

Inheritance
System.Object
Inherited Members
Show
Syntax
public class EndPointWrapper : IEndPoint

Constructors

EndPointWrapper(EndPoint)

Declaration
public EndPointWrapper(EndPoint endPoint)
Parameters
TypeNameDescription
System.Net.EndPointendPoint

Fields

inner

Declaration
public EndPoint inner

Methods

Equals(Object)

Declaration
public override bool Equals(object obj)
Parameters
TypeNameDescription
System.Objectobj
Returns
TypeDescription
System.Boolean

GetHashCode()

Declaration
public override int GetHashCode()
Returns
TypeDescription
System.Int32

ToString()

Declaration
public override string ToString()
Returns
TypeDescription
System.String

IEndPoint.CreateCopy()

Declaration
IEndPoint IEndPoint.CreateCopy()
Returns
TypeDescription
Mirage.SocketLayer.IEndPoint
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Sockets.Udp/InitUDP/index.html b/docs/reference/Mirage.Sockets.Udp/InitUDP/index.html new file mode 100644 index 00000000000..a4bfeb3ea58 --- /dev/null +++ b/docs/reference/Mirage.Sockets.Udp/InitUDP/index.html @@ -0,0 +1,17 @@ + + + + + + +InitUDP | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Sockets.Udp/NanoEndPoint/index.html b/docs/reference/Mirage.Sockets.Udp/NanoEndPoint/index.html new file mode 100644 index 00000000000..2d1d737880d --- /dev/null +++ b/docs/reference/Mirage.Sockets.Udp/NanoEndPoint/index.html @@ -0,0 +1,17 @@ + + + + + + +NanoEndPoint | Mirage Networking + + + + +
+

Class NanoEndPoint

Inheritance
System.Object
Inherited Members
Show
Syntax
public sealed class NanoEndPoint : IEndPoint

Constructors

NanoEndPoint(String, UInt16)

Declaration
public NanoEndPoint(string host, ushort port)
Parameters
TypeNameDescription
System.Stringhost
System.UInt16port

Methods

CreateCopy()

Declaration
public IEndPoint CreateCopy()
Returns
TypeDescription
Mirage.SocketLayer.IEndPoint
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Sockets.Udp/NanoSocket/index.html b/docs/reference/Mirage.Sockets.Udp/NanoSocket/index.html new file mode 100644 index 00000000000..c0faf7fbcd2 --- /dev/null +++ b/docs/reference/Mirage.Sockets.Udp/NanoSocket/index.html @@ -0,0 +1,17 @@ + + + + + + +NanoSocket | Mirage Networking + + + + +
+

Class NanoSocket

Inheritance
System.Object
Inherited Members
Show
Syntax
public sealed class NanoSocket : ISocket

Constructors

NanoSocket(UdpSocketFactory)

Declaration
public NanoSocket(UdpSocketFactory factory)
Parameters
TypeNameDescription
Mirage.Sockets.Udp.UdpSocketFactoryfactory

Properties

Supported

Declaration
public static bool Supported { get; }

Methods

Bind(IEndPoint)

Declaration
public void Bind(IEndPoint endPoint)
Parameters
TypeNameDescription
Mirage.SocketLayer.IEndPointendPoint

Connect(IEndPoint)

Declaration
public void Connect(IEndPoint endPoint)
Parameters
TypeNameDescription
Mirage.SocketLayer.IEndPointendPoint

Close()

Declaration
public void Close()

Poll()

Declaration
public bool Poll()
Returns
TypeDescription
System.Boolean

Receive(Byte[], out IEndPoint)

Declaration
public int Receive(byte[] buffer, out IEndPoint endPoint)
Parameters
TypeNameDescription
System.Byte[]buffer
Mirage.SocketLayer.IEndPointendPoint
Returns
TypeDescription
System.Int32

Send(IEndPoint, Byte[], Int32)

Declaration
public void Send(IEndPoint endPoint, byte[] packet, int length)
Parameters
TypeNameDescription
Mirage.SocketLayer.IEndPointendPoint
System.Byte[]packet
System.Int32length
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Sockets.Udp/NanoSocketException/index.html b/docs/reference/Mirage.Sockets.Udp/NanoSocketException/index.html new file mode 100644 index 00000000000..a161d7ba6a5 --- /dev/null +++ b/docs/reference/Mirage.Sockets.Udp/NanoSocketException/index.html @@ -0,0 +1,17 @@ + + + + + + +NanoSocketException | Mirage Networking + + + + +
+

Class NanoSocketException

Inheritance
System.Object
System.Exception
Inherited Members
Show
Syntax
public class NanoSocketException : Exception, _Exception, ISerializable

Constructors

NanoSocketException(String)

Declaration
public NanoSocketException(string message)
Parameters
TypeNameDescription
System.Stringmessage
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Sockets.Udp/SocketLib/index.html b/docs/reference/Mirage.Sockets.Udp/SocketLib/index.html new file mode 100644 index 00000000000..c57b3eba8b1 --- /dev/null +++ b/docs/reference/Mirage.Sockets.Udp/SocketLib/index.html @@ -0,0 +1,17 @@ + + + + + + +SocketLib | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Sockets.Udp/UdpMTU/index.html b/docs/reference/Mirage.Sockets.Udp/UdpMTU/index.html new file mode 100644 index 00000000000..996eced87a4 --- /dev/null +++ b/docs/reference/Mirage.Sockets.Udp/UdpMTU/index.html @@ -0,0 +1,19 @@ + + + + + + +UdpMTU | Mirage Networking + + + + +
+

Class UdpMTU

Inheritance
System.Object
Inherited Members
Show
Syntax
public class UdpMTU

Properties

MaxPacketSize

Max size of array that will be sent to or can be received from +This will also be the size of all buffers used by +This is not max message size because this size includes packets header added by

Declaration
public static int MaxPacketSize { get; }
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Sockets.Udp/UdpSocket/index.html b/docs/reference/Mirage.Sockets.Udp/UdpSocket/index.html new file mode 100644 index 00000000000..1d7b09d1e73 --- /dev/null +++ b/docs/reference/Mirage.Sockets.Udp/UdpSocket/index.html @@ -0,0 +1,17 @@ + + + + + + +UdpSocket | Mirage Networking + + + + +
+

Class UdpSocket

Inheritance
System.Object
Inherited Members
Show
Syntax
public class UdpSocket : ISocket

Methods

Bind(IEndPoint)

Declaration
public void Bind(IEndPoint endPoint)
Parameters
TypeNameDescription
Mirage.SocketLayer.IEndPointendPoint

Connect(IEndPoint)

Declaration
public void Connect(IEndPoint endPoint)
Parameters
TypeNameDescription
Mirage.SocketLayer.IEndPointendPoint

Close()

Declaration
public void Close()

Poll()

Is message avaliable

Declaration
public bool Poll()
Returns
TypeDescription
System.Booleantrue if data to read

Receive(Byte[], out IEndPoint)

Declaration
public int Receive(byte[] buffer, out IEndPoint endPoint)
Parameters
TypeNameDescription
System.Byte[]buffer
Mirage.SocketLayer.IEndPointendPoint
Returns
TypeDescription
System.Int32

Send(IEndPoint, Byte[], Int32)

Declaration
public void Send(IEndPoint endPoint, byte[] packet, int length)
Parameters
TypeNameDescription
Mirage.SocketLayer.IEndPointendPoint
System.Byte[]packet
System.Int32length
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Sockets.Udp/UdpSocketFactory/index.html b/docs/reference/Mirage.Sockets.Udp/UdpSocketFactory/index.html new file mode 100644 index 00000000000..206a521f47d --- /dev/null +++ b/docs/reference/Mirage.Sockets.Udp/UdpSocketFactory/index.html @@ -0,0 +1,17 @@ + + + + + + +UdpSocketFactory | Mirage Networking + + + + +
+

Class UdpSocketFactory

Inheritance
System.Object
Mirage.SocketLayer.SocketFactory
Syntax
public sealed class UdpSocketFactory : SocketFactory, IHasAddress, IHasPort

Fields

Address

Declaration
public string Address

Port

Declaration
public ushort Port

SocketLib

Declaration
public SocketLib SocketLib

BufferSize

Declaration
public int BufferSize

Properties

MaxPacketSize

Declaration
public override int MaxPacketSize { get; }

IHasAddress.Address

Declaration
string IHasAddress.Address { get; set; }

IHasPort.Port

Declaration
int IHasPort.Port { get; set; }

Methods

CreateClientSocket()

Declaration
public override ISocket CreateClientSocket()
Returns
TypeDescription
Mirage.SocketLayer.ISocket

CreateServerSocket()

Declaration
public override ISocket CreateServerSocket()
Returns
TypeDescription
Mirage.SocketLayer.ISocket

GetBindEndPoint()

Declaration
public override IEndPoint GetBindEndPoint()
Returns
TypeDescription
Mirage.SocketLayer.IEndPoint

GetConnectEndPoint(String, Nullable<UInt16>)

Declaration
public override IEndPoint GetConnectEndPoint(string address = null, ushort? port = default(ushort? ))
Parameters
TypeNameDescription
System.Stringaddress
System.Nullable<System.UInt16>port
Returns
TypeDescription
Mirage.SocketLayer.IEndPoint
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Sockets.Udp/index.html b/docs/reference/Mirage.Sockets.Udp/index.html new file mode 100644 index 00000000000..6fc0264f11e --- /dev/null +++ b/docs/reference/Mirage.Sockets.Udp/index.html @@ -0,0 +1,17 @@ + + + + + + +Mirage.Sockets.Udp | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Visibility/AlwaysNetworkVisibility/index.html b/docs/reference/Mirage.Visibility/AlwaysNetworkVisibility/index.html new file mode 100644 index 00000000000..172b90feb80 --- /dev/null +++ b/docs/reference/Mirage.Visibility/AlwaysNetworkVisibility/index.html @@ -0,0 +1,18 @@ + + + + + + +AlwaysNetworkVisibility | Mirage Networking + + + + +
+

Class AlwaysNetworkVisibility

Always shows an object, even if player is loading scene +This can be used to make sure that Managers in DontDestoryOnLoad dont get despawned

Inheritance
System.Object
Mirage.NetworkBehaviour
Mirage.NetworkVisibility
Inherited Members
Show

Mirage.NetworkVisibility.OnVisibilityChanged

Mirage.NetworkBehaviour._nextSyncTime

Mirage.NetworkBehaviour.SyncSettings

Mirage.NetworkBehaviour.IsServer

Mirage.NetworkBehaviour.IsClient

Mirage.NetworkBehaviour.IsLocalClient

Mirage.NetworkBehaviour.IsHost

Mirage.NetworkBehaviour.IsLocalPlayer

Mirage.NetworkBehaviour.IsServerOnly

Mirage.NetworkBehaviour.IsClientOnly

Mirage.NetworkBehaviour.HasAuthority

Mirage.NetworkBehaviour.NetId

Mirage.NetworkBehaviour.Server

Mirage.NetworkBehaviour.ServerObjectManager

Mirage.NetworkBehaviour.Client

Mirage.NetworkBehaviour.ClientObjectManager

Mirage.NetworkBehaviour.Owner

Mirage.NetworkBehaviour.World

Mirage.NetworkBehaviour.NetworkTime

Mirage.NetworkBehaviour.BehaviourId

Mirage.NetworkBehaviour.SyncVarDirtyBits

Mirage.NetworkBehaviour.AnySyncObjectDirty

Mirage.NetworkBehaviour.syncObjects

Mirage.NetworkBehaviour.Identity

Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND

Mirage.NetworkBehaviour.ComponentIndex

Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)

Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()

Mirage.NetworkBehaviour.SyncVarEqual<T>(T, T)

Mirage.NetworkBehaviour.ClearDirtyBits()

Mirage.NetworkBehaviour.AnyDirtyBits()

Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.GetRpcCount()

Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)

Syntax
public class AlwaysNetworkVisibility : NetworkVisibility, INetworkVisibility

Methods

OnCheckObserver(INetworkPlayer)

Declaration
public override bool OnCheckObserver(INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayer
Returns
TypeDescription
System.Boolean

OnRebuildObservers(HashSet<INetworkPlayer>, Boolean)

Declaration
public override void OnRebuildObservers(HashSet<INetworkPlayer> observers, bool initialize)
Parameters
TypeNameDescription
System.Collections.Generic.HashSet<Mirage.INetworkPlayer>observers
System.Booleaninitialize
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage.Visibility/index.html b/docs/reference/Mirage.Visibility/index.html new file mode 100644 index 00000000000..9ac3e9b25ce --- /dev/null +++ b/docs/reference/Mirage.Visibility/index.html @@ -0,0 +1,18 @@ + + + + + + +Mirage.Visibility | Mirage Networking + + + + + + + + + \ No newline at end of file diff --git a/docs/reference/Mirage/AddCharacterMessage/index.html b/docs/reference/Mirage/AddCharacterMessage/index.html new file mode 100644 index 00000000000..28cd64e3280 --- /dev/null +++ b/docs/reference/Mirage/AddCharacterMessage/index.html @@ -0,0 +1,17 @@ + + + + + + +AddCharacterMessage | Mirage Networking + + + + +
+

Struct AddCharacterMessage

Syntax
public struct AddCharacterMessage
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/AuthorityChanged/index.html b/docs/reference/Mirage/AuthorityChanged/index.html new file mode 100644 index 00000000000..bb791d7ee3d --- /dev/null +++ b/docs/reference/Mirage/AuthorityChanged/index.html @@ -0,0 +1,17 @@ + + + + + + +AuthorityChanged | Mirage Networking + + + + +
+

Delegate AuthorityChanged

Event that can be used to check authority

Syntax
public delegate void AuthorityChanged(NetworkIdentity identity, bool hasAuthority, INetworkPlayer owner);
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/AutoPool-1.Wrapper/index.html b/docs/reference/Mirage/AutoPool-1.Wrapper/index.html new file mode 100644 index 00000000000..132fa6f4ce7 --- /dev/null +++ b/docs/reference/Mirage/AutoPool-1.Wrapper/index.html @@ -0,0 +1,17 @@ + + + + + + +AutoPool<T>.Wrapper | Mirage Networking + + + + +
+

Class AutoPool<T>.Wrapper

Inheritance
System.Object
Inherited Members
Show
Syntax
public class Wrapper : IDisposable

Constructors

Wrapper(Pool<AutoPool<T>.Wrapper>)

Declaration
public Wrapper(Pool<AutoPool<T>.Wrapper> pool)
Parameters
TypeNameDescription
Mirage.SocketLayer.Pool<Mirage.AutoPool.Wrapper<>>pool

Fields

Item

Declaration
public readonly T Item

Methods

Dispose()

Declaration
public void Dispose()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/AutoPool-1/index.html b/docs/reference/Mirage/AutoPool-1/index.html new file mode 100644 index 00000000000..32ed6826e84 --- /dev/null +++ b/docs/reference/Mirage/AutoPool-1/index.html @@ -0,0 +1,17 @@ + + + + + + +AutoPool<T> | Mirage Networking + + + + +
+

Class AutoPool<T>

Pool class that will create a Disposable wrapper around T so it can be used with any class automatically without additional setup

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class AutoPool<T>
where T : class, new()
Type Parameters
NameDescription
T

Fields

Pool

Default pool instance, safe to use on main thread

Declaration
public static Pool<AutoPool<T>.Wrapper> Pool

Methods

Take()

Declaration
public static AutoPool<T>.Wrapper Take()
Returns
TypeDescription
Mirage.AutoPool.Wrapper<>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/Channel/index.html b/docs/reference/Mirage/Channel/index.html new file mode 100644 index 00000000000..0166b037eae --- /dev/null +++ b/docs/reference/Mirage/Channel/index.html @@ -0,0 +1,17 @@ + + + + + + +Channel | Mirage Networking + + + + +
+
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/CharacterSpawner.PlayerSpawnMethod/index.html b/docs/reference/Mirage/CharacterSpawner.PlayerSpawnMethod/index.html new file mode 100644 index 00000000000..e2d96b5c300 --- /dev/null +++ b/docs/reference/Mirage/CharacterSpawner.PlayerSpawnMethod/index.html @@ -0,0 +1,17 @@ + + + + + + +CharacterSpawner.PlayerSpawnMethod | Mirage Networking + + + + +
+

Enum CharacterSpawner.PlayerSpawnMethod

Enumeration of methods of where to spawn player objects in multiplayer games.

Syntax
public enum PlayerSpawnMethod

Fields

Random

Declaration
Random = 0

RoundRobin

Declaration
RoundRobin = 1
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/CharacterSpawner/index.html b/docs/reference/Mirage/CharacterSpawner/index.html new file mode 100644 index 00000000000..585f8718545 --- /dev/null +++ b/docs/reference/Mirage/CharacterSpawner/index.html @@ -0,0 +1,20 @@ + + + + + + +CharacterSpawner | Mirage Networking + + + + +
+

Class CharacterSpawner

Spawns a player as soon as the connection is authenticated

Inheritance
System.Object
Syntax
public class CharacterSpawner : MonoBehaviour

Fields

Client

Declaration
public NetworkClient Client

Server

Declaration
public NetworkServer Server

SceneManager

Declaration
public NetworkSceneManager SceneManager

ClientObjectManager

Declaration
public ClientObjectManager ClientObjectManager

ServerObjectManager

Declaration
public ServerObjectManager ServerObjectManager

PlayerPrefab

Declaration
public NetworkIdentity PlayerPrefab

AutoSpawn

Declaration
public bool AutoSpawn

SetName

Declaration
public bool SetName

startPositionIndex

Declaration
public int startPositionIndex

startPositions

List of transforms where players can be spawned

Declaration
public List<Transform> startPositions

playerSpawnMethod

The current method of spawning players used by the CharacterSpawner.

Declaration
public CharacterSpawner.PlayerSpawnMethod playerSpawnMethod

Methods

Awake()

Declaration
protected virtual void Awake()

OnDestroy()

Declaration
protected virtual void OnDestroy()

OnClientFinishedSceneChange(Scene, SceneOperation)

Called on the client when a normal scene change happens. +The default implementation of this function sets the client as ready and adds a player. Override the function to dictate what happens when the client connects.

Declaration
public virtual void OnClientFinishedSceneChange(Scene scene, SceneOperation sceneOperation)
Parameters
TypeNameDescription
Scenescene
Mirage.SceneOperationsceneOperationThe type of scene load that happened.

RequestServerSpawnPlayer()

Declaration
public virtual void RequestServerSpawnPlayer()

OnServerAddPlayer(INetworkPlayer)

Called on the server when a client adds a new player with ClientScene.AddPlayer. +The default implementation for this function creates a new player object from the playerPrefab.

Declaration
public virtual void OnServerAddPlayer(INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerConnection from client.

SetCharacterName(INetworkPlayer, NetworkIdentity)

Declaration
protected virtual void SetCharacterName(INetworkPlayer player, NetworkIdentity character)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayer
Mirage.NetworkIdentitycharacter

GetStartPosition()

This finds a spawn position based on start position objects in the scene. +This is used by the default implementation of OnServerAddPlayer.

Declaration
public virtual Transform GetStartPosition()
Returns
TypeDescription
TransformReturns the transform to spawn a player at, or null.
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/ClientAttribute/index.html b/docs/reference/Mirage/ClientAttribute/index.html new file mode 100644 index 00000000000..9eb4e5473ac --- /dev/null +++ b/docs/reference/Mirage/ClientAttribute/index.html @@ -0,0 +1,20 @@ + + + + + + +ClientAttribute | Mirage Networking + + + + +
+

Class ClientAttribute

Prevents this method from running if client is not active. +Can only be used inside a NetworkBehaviour

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Method)]
public class ClientAttribute : Attribute, _Attribute

Fields

error

If true, when the method is called from a client, it throws an error +If false, no error is thrown, but the method won't execute +useful for unity built in methods such as Await, Update, Start, etc.

Declaration
public bool error
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/ClientObjectManager/index.html b/docs/reference/Mirage/ClientObjectManager/index.html new file mode 100644 index 00000000000..f9d03906e76 --- /dev/null +++ b/docs/reference/Mirage/ClientObjectManager/index.html @@ -0,0 +1,33 @@ + + + + + + +ClientObjectManager | Mirage Networking + + + + +
+

Class ClientObjectManager

Inheritance
System.Object
Syntax
public class ClientObjectManager : MonoBehaviour

Fields

spawnPrefabs

List of prefabs that will be registered with the spawning system. +For each of these prefabs, ClientManager.RegisterPrefab() will be automatically invoke.

Declaration
public List<NetworkIdentity> spawnPrefabs

NetworkPrefabs

A scriptable object that holds all the prefabs that will be registered with the spawning system. +For each of these prefabs, ClientManager.RegisterPrefab() will be automatically invoked.

Declaration
public NetworkPrefabs NetworkPrefabs

spawnableObjects

This is dictionary of the disabled NetworkIdentity objects in the scene that could be spawned by messages from the server. +The key to the dictionary is the NetworkIdentity sceneId.

Declaration
public readonly Dictionary<ulong, NetworkIdentity> spawnableObjects

Properties

Client

Declaration
public NetworkClient Client { get; }

Methods

PrepareToSpawnSceneObjects()

Call this after loading/unloading a scene in the client after connection to register the spawnable objects

Declaration
public void PrepareToSpawnSceneObjects()

RegisterPrefabs(IEnumerable<NetworkIdentity>, Boolean)

Calls on each object in the prefabs collection

Declaration
public void RegisterPrefabs(IEnumerable<NetworkIdentity> prefabs, bool skipExisting)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<Mirage.NetworkIdentity>prefabs
System.BooleanskipExistingDont call for prefab's who's hash is already in the list of handlers. This can happen if custom handler is added for a prefab in the insepctor list

GetSpawnHandler(Int32)

Find the registered or dynamic handler for prefabHash +Useful for debuggers

Declaration
public SpawnHandler GetSpawnHandler(int prefabHash)
Parameters
TypeNameDescription
System.Int32prefabHashasset id of the prefab
Returns
TypeDescription
Mirage.SpawnHandlertrue if prefab was registered

RegisterPrefab(NetworkIdentity, Int32)

Registers a prefab with the spawning system.

When a NetworkIdentity object is spawned on the server with ServerObjectManager.Spawn(), +the server will send a spawn message to the client with the PrefabHash. +the client then finds the prefab registered with RegisterPrefab() to instantiate the client object.

The ClientObjectManager has a list of spawnable prefabs, it uses this function to register those prefabs with the ClientScene. +The set of current spawnable object is available in the ClientScene static member variable ClientScene.prefabs, which is a dictionary of PrefabHash and prefab references.

Declaration
public void RegisterPrefab(NetworkIdentity identity, int newPrefabHash)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentityA Prefab that will be spawned.
System.Int32newPrefabHashA hash to be assigned to this prefab. This allows a dynamically created game object to be registered for an already known asset Id.

RegisterPrefab(NetworkIdentity)

Registers a prefab with the spawning system.

When a NetworkIdentity object is spawned on the server with ServerObjectManager.Spawn(), +the server will send a spawn message to the client with the PrefabHash. +the client then finds the prefab registered with RegisterPrefab() to instantiate the client object.

The ClientObjectManager has a list of spawnable prefabs, it uses this function to register those prefabs with the ClientScene. +The set of current spawnable object is available in the ClientScene static member variable ClientScene.prefabs, which is a dictionary of PrefabHash and prefab references.

Declaration
public void RegisterPrefab(NetworkIdentity identity)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentityA Prefab that will be spawned.

RegisterUnspawnHandler(NetworkIdentity, UnSpawnDelegate)

Registers an unspawn handler for a prefab +Should be called after RegisterPrefab

Declaration
public void RegisterUnspawnHandler(NetworkIdentity identity, UnSpawnDelegate unspawnHandler)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentityPrefab to add handler for
Mirage.UnSpawnDelegateunspawnHandlerA method to use as a custom un-spawnhandler on clients.

UnregisterPrefab(NetworkIdentity)

Removes a registered spawn prefab that was setup with ClientScene.RegisterPrefab.

Declaration
public void UnregisterPrefab(NetworkIdentity identity)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentityThe prefab to be removed from registration.

RegisterSpawnHandler(NetworkIdentity, SpawnHandlerDelegate, UnSpawnDelegate)

Registers custom handlers for a prefab with the spawning system.

When a NetworkIdentity object is spawned on the server with ServerObjectManager.Spawn(), +the server will send a spawn message to the client with the PrefabHash. +the client then finds the prefab registered with RegisterPrefab() to instantiate the client object.

The ClientObjectManager has a list of spawnable prefabs, it uses this function to register those prefabs with the ClientScene. +The set of current spawnable object is available in the ClientScene static member variable ClientScene.prefabs, which is a dictionary of PrefabHash and prefab references.

Declaration
public void RegisterSpawnHandler(NetworkIdentity identity, SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentityA Prefab that will be spawned.
Mirage.SpawnHandlerDelegatespawnHandlerA method to use as a custom spawnhandler on clients.
Mirage.UnSpawnDelegateunspawnHandlerA method to use as a custom un-spawnhandler on clients.

RegisterSpawnHandler(Int32, SpawnHandlerDelegate, UnSpawnDelegate)

This is an advanced spawning function that registers a custom prefabHash with the UNET spawning system. +This can be used to register custom spawning methods for an prefabHash - instead of the usual method of registering spawning methods for a prefab. This should be used when no prefab exists for the spawned objects - such as when they are constructed dynamically at runtime from configuration data.

Declaration
public void RegisterSpawnHandler(int prefabHash, SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler)
Parameters
TypeNameDescription
System.Int32prefabHash
Mirage.SpawnHandlerDelegatespawnHandlerA method to use as a custom spawnhandler on clients.
Mirage.UnSpawnDelegateunspawnHandlerA method to use as a custom un-spawnhandler on clients.

RegisterSpawnHandler(NetworkIdentity, SpawnHandlerAsyncDelegate, UnSpawnDelegate)

Declaration
public void RegisterSpawnHandler(NetworkIdentity identity, SpawnHandlerAsyncDelegate spawnHandler, UnSpawnDelegate unspawnHandler)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity
Mirage.SpawnHandlerAsyncDelegatespawnHandler
Mirage.UnSpawnDelegateunspawnHandler

RegisterSpawnHandler(Int32, SpawnHandlerAsyncDelegate, UnSpawnDelegate)

Declaration
public void RegisterSpawnHandler(int prefabHash, SpawnHandlerAsyncDelegate spawnHandler, UnSpawnDelegate unspawnHandler)
Parameters
TypeNameDescription
System.Int32prefabHash
Mirage.SpawnHandlerAsyncDelegatespawnHandler
Mirage.UnSpawnDelegateunspawnHandler

UnregisterSpawnHandler(Int32)

Removes a registered spawn handler function that was registered with ClientScene.RegisterHandler().

Declaration
public void UnregisterSpawnHandler(int prefabHash)
Parameters
TypeNameDescription
System.Int32prefabHashThe prefabHash for the handler to be removed for.

ClearSpawners()

This clears the registered spawn prefabs and spawn handler functions for this client.

Declaration
public void ClearSpawners()

RegisterDynamicSpawnHandler(DynamicSpawnHandlerDelegate)

Declaration
public void RegisterDynamicSpawnHandler(DynamicSpawnHandlerDelegate dynamicHandler)
Parameters
TypeNameDescription
Mirage.DynamicSpawnHandlerDelegatedynamicHandler

DestroyAllClientObjects()

Destroys all networked objects on the client. +This can be used to clean up when a network connection is closed.

Declaration
public void DestroyAllClientObjects()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/ClientRpcAttribute/index.html b/docs/reference/Mirage/ClientRpcAttribute/index.html new file mode 100644 index 00000000000..240e0d32e0c --- /dev/null +++ b/docs/reference/Mirage/ClientRpcAttribute/index.html @@ -0,0 +1,18 @@ + + + + + + +ClientRpcAttribute | Mirage Networking + + + + +
+

Class ClientRpcAttribute

The server uses a Remote Procedure Call (RPC) to run this function on specific clients. +Note that if you set the target as Connection, you need to pass a specific connection as a parameter of your method

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Method)]
public class ClientRpcAttribute : Attribute, _Attribute

Fields

channel

Declaration
public Channel channel

target

Declaration
public RpcTarget target

excludeOwner

Declaration
public bool excludeOwner

excludeHost

stops method being called on host/server

Declaration
public bool excludeHost
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/ClientStoppedReason/index.html b/docs/reference/Mirage/ClientStoppedReason/index.html new file mode 100644 index 00000000000..00747492c42 --- /dev/null +++ b/docs/reference/Mirage/ClientStoppedReason/index.html @@ -0,0 +1,18 @@ + + + + + + +ClientStoppedReason | Mirage Networking + + + + +
+

Enum ClientStoppedReason

Reason why Client was stopped or disconnected

Syntax
[Serializable]
public enum ClientStoppedReason

Fields

None

No reason given

Declaration
None = 0

Timeout

Connecting timed out +Server not sending replies

Declaration
Timeout = 1

LocalConnectionClosed

Connection disconnect called locally

Declaration
LocalConnectionClosed = 2

RemoteConnectionClosed

Connection disconnect called on server

Declaration
RemoteConnectionClosed = 3

InvalidPacket

Server disconnected because sent packet was not allowed by server config

Declaration
InvalidPacket = 8

ServerFull

Server rejected connecting because it was full

Declaration
ServerFull = 4

ConnectingTimeout

Server did not reply

Declaration
ConnectingTimeout = 5

ConnectingCancel

Disconnect called locally before server replies with connected

Declaration
ConnectingCancel = 6

KeyInvalid

Key given with first message did not match the value on the server, See SocketLayer Config

Declaration
KeyInvalid = 9

HostModeStopped

Disconnect called when server was stopped in host mode

Declaration
HostModeStopped = 7
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/ConnectState/index.html b/docs/reference/Mirage/ConnectState/index.html new file mode 100644 index 00000000000..5e0a9c3f11f --- /dev/null +++ b/docs/reference/Mirage/ConnectState/index.html @@ -0,0 +1,17 @@ + + + + + + +ConnectState | Mirage Networking + + + + +
+

Enum ConnectState

Syntax
public enum ConnectState

Fields

Disconnected

Declaration
Disconnected = 0

Connecting

Declaration
Connecting = 1

Connected

Declaration
Connected = 2
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/DeserializeFailedException/index.html b/docs/reference/Mirage/DeserializeFailedException/index.html new file mode 100644 index 00000000000..2b4a9556126 --- /dev/null +++ b/docs/reference/Mirage/DeserializeFailedException/index.html @@ -0,0 +1,17 @@ + + + + + + +DeserializeFailedException | Mirage Networking + + + + +
+

Class DeserializeFailedException

Inheritance
System.Object
System.Exception
Inherited Members
Show
Syntax
[Serializable]
public class DeserializeFailedException : Exception, _Exception, ISerializable

Constructors

DeserializeFailedException(String)

Declaration
public DeserializeFailedException(string message)
Parameters
TypeNameDescription
System.Stringmessage

DeserializeFailedException(SerializationInfo, StreamingContext)

Declaration
protected DeserializeFailedException(SerializationInfo info, StreamingContext context)
Parameters
TypeNameDescription
System.Runtime.Serialization.SerializationInfoinfo
System.Runtime.Serialization.StreamingContextcontext
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/DynamicSpawnHandlerDelegate/index.html b/docs/reference/Mirage/DynamicSpawnHandlerDelegate/index.html new file mode 100644 index 00000000000..25668a53b97 --- /dev/null +++ b/docs/reference/Mirage/DynamicSpawnHandlerDelegate/index.html @@ -0,0 +1,17 @@ + + + + + + +DynamicSpawnHandlerDelegate | Mirage Networking + + + + +
+

Delegate DynamicSpawnHandlerDelegate

Syntax
public delegate SpawnHandler DynamicSpawnHandlerDelegate(int prefabHash);
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/ExponentialMovingAverage/index.html b/docs/reference/Mirage/ExponentialMovingAverage/index.html new file mode 100644 index 00000000000..e7dd459ab4a --- /dev/null +++ b/docs/reference/Mirage/ExponentialMovingAverage/index.html @@ -0,0 +1,17 @@ + + + + + + +ExponentialMovingAverage | Mirage Networking + + + + +
+

Class ExponentialMovingAverage

Inheritance
System.Object
Inherited Members
Show
Syntax
public class ExponentialMovingAverage

Constructors

ExponentialMovingAverage(Int32)

Declaration
public ExponentialMovingAverage(int n)
Parameters
TypeNameDescription
System.Int32n

Properties

Value

Declaration
public double Value { get; }

Var

Declaration
public double Var { get; }

Methods

Reset()

Declaration
public void Reset()

Add(Double)

Declaration
public void Add(double newValue)
Parameters
TypeNameDescription
System.DoublenewValue
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/FoldoutEventAttribute/index.html b/docs/reference/Mirage/FoldoutEventAttribute/index.html new file mode 100644 index 00000000000..207b912869b --- /dev/null +++ b/docs/reference/Mirage/FoldoutEventAttribute/index.html @@ -0,0 +1,17 @@ + + + + + + +FoldoutEventAttribute | Mirage Networking + + + + +
+

Class FoldoutEventAttribute

Draws UnityEvent as a foldout

Inheritance
System.Object
Syntax
[AttributeUsage(AttributeTargets.Field)]
public sealed class FoldoutEventAttribute : PropertyAttribute
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/GameObjectExtensions/index.html b/docs/reference/Mirage/GameObjectExtensions/index.html new file mode 100644 index 00000000000..fb516b7ea8a --- /dev/null +++ b/docs/reference/Mirage/GameObjectExtensions/index.html @@ -0,0 +1,17 @@ + + + + + + +GameObjectExtensions | Mirage Networking + + + + +
+

Class GameObjectExtensions

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class GameObjectExtensions

Methods

GetNetworkIdentity(GameObject)

Gets on a and throws if the GameObject does not have one.

Declaration
public static NetworkIdentity GetNetworkIdentity(this GameObject gameObject)
Parameters
TypeNameDescription
GameObjectgameObject
Returns
TypeDescription
Mirage.NetworkIdentityattached NetworkIdentity
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/GameObjectSerializers/index.html b/docs/reference/Mirage/GameObjectSerializers/index.html new file mode 100644 index 00000000000..8ce9f26f6f3 --- /dev/null +++ b/docs/reference/Mirage/GameObjectSerializers/index.html @@ -0,0 +1,17 @@ + + + + + + +GameObjectSerializers | Mirage Networking + + + + +
+

Class GameObjectSerializers

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class GameObjectSerializers

Methods

WriteGameObjectSyncVar(NetworkWriter, GameObjectSyncvar)

Declaration
public static void WriteGameObjectSyncVar(this NetworkWriter writer, GameObjectSyncvar id)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Mirage.GameObjectSyncvarid

ReadGameObjectSyncVar(NetworkReader)

Declaration
public static GameObjectSyncvar ReadGameObjectSyncVar(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Mirage.GameObjectSyncvar
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/GameObjectSyncvar/index.html b/docs/reference/Mirage/GameObjectSyncvar/index.html new file mode 100644 index 00000000000..98a03b5a4b3 --- /dev/null +++ b/docs/reference/Mirage/GameObjectSyncvar/index.html @@ -0,0 +1,18 @@ + + + + + + +GameObjectSyncvar | Mirage Networking + + + + +
+

Struct GameObjectSyncvar

backing struct for a NetworkIdentity when used as a syncvar +the weaver will replace the syncvar with this struct.

Syntax
public struct GameObjectSyncvar

Properties

Value

Declaration
public GameObject Value { get; set; }
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/HasAuthorityAttribute/index.html b/docs/reference/Mirage/HasAuthorityAttribute/index.html new file mode 100644 index 00000000000..fd0b52c28b0 --- /dev/null +++ b/docs/reference/Mirage/HasAuthorityAttribute/index.html @@ -0,0 +1,20 @@ + + + + + + +HasAuthorityAttribute | Mirage Networking + + + + +
+

Class HasAuthorityAttribute

Prevents players without authority from running this method. +Can only be used inside a NetworkBehaviour

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Method)]
public class HasAuthorityAttribute : Attribute, _Attribute

Fields

error

If true, when the method is called from a client, it throws an error +If false, no error is thrown, but the method won't execute +useful for unity built in methods such as Await, Update, Start, etc.

Declaration
public bool error
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/HeadlessAutoStart/index.html b/docs/reference/Mirage/HeadlessAutoStart/index.html new file mode 100644 index 00000000000..b11bcf9088f --- /dev/null +++ b/docs/reference/Mirage/HeadlessAutoStart/index.html @@ -0,0 +1,18 @@ + + + + + + +HeadlessAutoStart | Mirage Networking + + + + +
+

Class HeadlessAutoStart

Inheritance
System.Object
Syntax
public class HeadlessAutoStart : MonoBehaviour

Fields

Server

Declaration
public NetworkServer Server

startOnHeadless

Automatically invoke StartServer() +If the application is a Server Build or run with the -batchMode ServerRpc line argument, StartServer is automatically invoked.

Declaration
public bool startOnHeadless
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/HeadlessFrameLimiter/index.html b/docs/reference/Mirage/HeadlessFrameLimiter/index.html new file mode 100644 index 00000000000..8d0efceabff --- /dev/null +++ b/docs/reference/Mirage/HeadlessFrameLimiter/index.html @@ -0,0 +1,17 @@ + + + + + + +HeadlessFrameLimiter | Mirage Networking + + + + +
+

Class HeadlessFrameLimiter

Inheritance
System.Object
Syntax
public class HeadlessFrameLimiter : MonoBehaviour

Fields

serverTickRate

Server Update frequency, per second. Use around 60Hz for fast paced games like Counter-Strike to minimize latency. Use around 30Hz for games like WoW to minimize computations. Use around 1-10Hz for slow paced games like EVE.

Declaration
public int serverTickRate

Methods

Start()

Set the frame rate for a headless server.

Declaration
public void Start()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/HostRendererVisibility/index.html b/docs/reference/Mirage/HostRendererVisibility/index.html new file mode 100644 index 00000000000..00770694ef3 --- /dev/null +++ b/docs/reference/Mirage/HostRendererVisibility/index.html @@ -0,0 +1,17 @@ + + + + + + +HostRendererVisibility | Mirage Networking + + + + +
+

Class HostRendererVisibility

Disables all Renders on GameObject when the NetworkIdentity is not visible too the host player because of a

Inheritance
System.Object
Mirage.NetworkBehaviour
Inherited Members
Show

Mirage.NetworkBehaviour._nextSyncTime

Mirage.NetworkBehaviour.SyncSettings

Mirage.NetworkBehaviour.IsServer

Mirage.NetworkBehaviour.IsClient

Mirage.NetworkBehaviour.IsLocalClient

Mirage.NetworkBehaviour.IsHost

Mirage.NetworkBehaviour.IsLocalPlayer

Mirage.NetworkBehaviour.IsServerOnly

Mirage.NetworkBehaviour.IsClientOnly

Mirage.NetworkBehaviour.HasAuthority

Mirage.NetworkBehaviour.NetId

Mirage.NetworkBehaviour.Server

Mirage.NetworkBehaviour.ServerObjectManager

Mirage.NetworkBehaviour.Client

Mirage.NetworkBehaviour.ClientObjectManager

Mirage.NetworkBehaviour.Owner

Mirage.NetworkBehaviour.World

Mirage.NetworkBehaviour.NetworkTime

Mirage.NetworkBehaviour.BehaviourId

Mirage.NetworkBehaviour.SyncVarDirtyBits

Mirage.NetworkBehaviour.AnySyncObjectDirty

Mirage.NetworkBehaviour.syncObjects

Mirage.NetworkBehaviour.Identity

Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND

Mirage.NetworkBehaviour.ComponentIndex

Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)

Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()

Mirage.NetworkBehaviour.SyncVarEqual<T>(T, T)

Mirage.NetworkBehaviour.ClearDirtyBits()

Mirage.NetworkBehaviour.AnyDirtyBits()

Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.GetRpcCount()

Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)

Syntax
public class HostRendererVisibility : NetworkBehaviour

Methods

SetRenderers(Renderer[])

Can be used to override default GetComponentsInChildren for renderers. Useful if setting up Renderer after Awake is called

Declaration
public void SetRenderers(Renderer[] renderers)
Parameters
TypeNameDescription
Renderer[]renderers

SetHostVisibility(Boolean)

Declaration
protected virtual void SetHostVisibility(bool visible)
Parameters
TypeNameDescription
System.Booleanvisible
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/IMessageReceiver/index.html b/docs/reference/Mirage/IMessageReceiver/index.html new file mode 100644 index 00000000000..d0b2ac3742d --- /dev/null +++ b/docs/reference/Mirage/IMessageReceiver/index.html @@ -0,0 +1,18 @@ + + + + + + +IMessageReceiver | Mirage Networking + + + + +
+

Interface IMessageReceiver

An object that can receive messages

Syntax
public interface IMessageReceiver

Methods

RegisterHandler<T>(MessageDelegateWithPlayer<T>, Boolean)

Registers a handler for a network message that has INetworkPlayer and T Message parameters

When network message are sent, the first 2 bytes are the Id for the type T. +When message is received the handler with the matching Id is found and invoked

Declaration
void RegisterHandler<T>(MessageDelegateWithPlayer<T> handler, bool allowUnauthenticated)
Parameters
TypeNameDescription
Mirage.MessageDelegateWithPlayer<T>handler
System.BooleanallowUnauthenticated

UnregisterHandler<T>()

Declaration
void UnregisterHandler<T>()

ClearHandlers()

Declaration
void ClearHandlers()

HandleMessage(INetworkPlayer, ArraySegment<Byte>)

Declaration
void HandleMessage(INetworkPlayer player, ArraySegment<byte> packet)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayer
System.ArraySegment<System.Byte>packet
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/IMessageSender/index.html b/docs/reference/Mirage/IMessageSender/index.html new file mode 100644 index 00000000000..aab6f49f540 --- /dev/null +++ b/docs/reference/Mirage/IMessageSender/index.html @@ -0,0 +1,17 @@ + + + + + + +IMessageSender | Mirage Networking + + + + +
+

Interface IMessageSender

An object that can send messages

Syntax
public interface IMessageSender

Methods

Send<T>(T, Channel)

Declaration
void Send<T>(T message, Channel channelId = Channel.Reliable)
Parameters
TypeNameDescription
Tmessage
Mirage.ChannelchannelId

Send(ArraySegment<Byte>, Channel)

Declaration
void Send(ArraySegment<byte> segment, Channel channelId = Channel.Reliable)
Parameters
TypeNameDescription
System.ArraySegment<System.Byte>segment
Mirage.ChannelchannelId

Send<T>(T, INotifyCallBack)

Declaration
void Send<T>(T message, INotifyCallBack notifyCallBack)
Parameters
TypeNameDescription
Tmessage
Mirage.SocketLayer.INotifyCallBacknotifyCallBack
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/INetIdGenerator/index.html b/docs/reference/Mirage/INetIdGenerator/index.html new file mode 100644 index 00000000000..06e5e2c8627 --- /dev/null +++ b/docs/reference/Mirage/INetIdGenerator/index.html @@ -0,0 +1,17 @@ + + + + + + +INetIdGenerator | Mirage Networking + + + + +
+

Interface INetIdGenerator

Syntax
public interface INetIdGenerator

Methods

GenerateNetId()

Generate your own specific net id.

Declaration
uint GenerateNetId()
Returns
TypeDescription
System.UInt32
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/INetworkPlayer/index.html b/docs/reference/Mirage/INetworkPlayer/index.html new file mode 100644 index 00000000000..7078e4bc0ec --- /dev/null +++ b/docs/reference/Mirage/INetworkPlayer/index.html @@ -0,0 +1,18 @@ + + + + + + +INetworkPlayer | Mirage Networking + + + + +
+

Interface INetworkPlayer

An object owned by a player that can: send/receive messages, have network visibility, be an object owner, authenticated permissions, and load scenes. +May be from the server to client or from client to server

Syntax
public interface INetworkPlayer : IMessageSender, IVisibilityTracker, IObjectOwner, ISceneLoader

Properties

Address

Declaration
IEndPoint Address { get; }

Connection

Declaration
IConnection Connection { get; }

Authentication

Declaration
PlayerAuthentication Authentication { get; }

IsAuthenticated

Declaration
bool IsAuthenticated { get; }

IsHost

True if this Player is the local player on the server or client

Declaration
bool IsHost { get; }

Methods

SetAuthentication(PlayerAuthentication, Boolean)

Declaration
void SetAuthentication(PlayerAuthentication authentication, bool allowReplace = false)
Parameters
TypeNameDescription
Mirage.Authentication.PlayerAuthenticationauthentication
System.BooleanallowReplace

Disconnect()

Declaration
void Disconnect()

MarkAsDisconnected()

Declaration
void MarkAsDisconnected()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/INetworkVisibility/index.html b/docs/reference/Mirage/INetworkVisibility/index.html new file mode 100644 index 00000000000..2e1785292f3 --- /dev/null +++ b/docs/reference/Mirage/INetworkVisibility/index.html @@ -0,0 +1,17 @@ + + + + + + +INetworkVisibility | Mirage Networking + + + + +
+

Interface INetworkVisibility

Syntax
public interface INetworkVisibility

Methods

OnCheckObserver(INetworkPlayer)

Declaration
bool OnCheckObserver(INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayer
Returns
TypeDescription
System.Boolean

OnRebuildObservers(HashSet<INetworkPlayer>, Boolean)

Declaration
void OnRebuildObservers(HashSet<INetworkPlayer> observers, bool initialize)
Parameters
TypeNameDescription
System.Collections.Generic.HashSet<Mirage.INetworkPlayer>observers
System.Booleaninitialize
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/IObjectLocator/index.html b/docs/reference/Mirage/IObjectLocator/index.html new file mode 100644 index 00000000000..fcad61adc9a --- /dev/null +++ b/docs/reference/Mirage/IObjectLocator/index.html @@ -0,0 +1,18 @@ + + + + + + +IObjectLocator | Mirage Networking + + + + +
+

Interface IObjectLocator

An object that implements this interface can find objects by their net id +This is used by readers when trying to deserialize gameobjects

Syntax
public interface IObjectLocator

Methods

TryGetIdentity(UInt32, out NetworkIdentity)

Finds a network identity by id

Declaration
bool TryGetIdentity(uint netId, out NetworkIdentity identity)
Parameters
TypeNameDescription
System.UInt32netIdthe id of the object to find
Mirage.NetworkIdentityidentityThe NetworkIdentity matching the netId or null if none is found
Returns
TypeDescription
System.Booleantrue if identity is found and is not null
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/IObjectOwner/index.html b/docs/reference/Mirage/IObjectOwner/index.html new file mode 100644 index 00000000000..899e289eaad --- /dev/null +++ b/docs/reference/Mirage/IObjectOwner/index.html @@ -0,0 +1,19 @@ + + + + + + +IObjectOwner | Mirage Networking + + + + +
+

Interface IObjectOwner

An object that can own networked objects

Syntax
public interface IObjectOwner

Properties

Identity

The main object owned by this player, normally the player's character

Declaration
NetworkIdentity Identity { get; set; }

HasCharacter

Declaration
bool HasCharacter { get; }

OwnedObjects

All the objects owned by the player

Declaration
IReadOnlyCollection<NetworkIdentity> OwnedObjects { get; }

Methods

AddOwnedObject(NetworkIdentity)

Declaration
void AddOwnedObject(NetworkIdentity networkIdentity)
Parameters
TypeNameDescription
Mirage.NetworkIdentitynetworkIdentity

RemoveOwnedObject(NetworkIdentity)

Declaration
void RemoveOwnedObject(NetworkIdentity networkIdentity)
Parameters
TypeNameDescription
Mirage.NetworkIdentitynetworkIdentity

RemoveAllOwnedObject(Boolean)

Removes all owned objects. This is useful to call when player disconnects to avoid objects being destroyed

Declaration
void RemoveAllOwnedObject(bool sendAuthorityChangeEvent)
Parameters
TypeNameDescription
System.BooleansendAuthorityChangeEventShould message be send to owner client? If player is disconnecting you should set this false

DestroyOwnedObjects()

Destroys or unspawns all owned objects. +This is called when the player is disconnects. +It will be called after , so Disconnected can be used to remove any owned objects from the list before they are destroyed.

Declaration
void DestroyOwnedObjects()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/ISceneLoader/index.html b/docs/reference/Mirage/ISceneLoader/index.html new file mode 100644 index 00000000000..3f2d068f2d6 --- /dev/null +++ b/docs/reference/Mirage/ISceneLoader/index.html @@ -0,0 +1,17 @@ + + + + + + +ISceneLoader | Mirage Networking + + + + +
+

Interface ISceneLoader

Syntax
public interface ISceneLoader

Properties

SceneIsReady

Scene is fully loaded and we now can do things with player.

Declaration
bool SceneIsReady { get; set; }
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/IVisibilityTracker/index.html b/docs/reference/Mirage/IVisibilityTracker/index.html new file mode 100644 index 00000000000..7b276321705 --- /dev/null +++ b/docs/reference/Mirage/IVisibilityTracker/index.html @@ -0,0 +1,21 @@ + + + + + + +IVisibilityTracker | Mirage Networking + + + + +
+

Interface IVisibilityTracker

An object that can observe NetworkIdentities. +this is useful for interest management

Syntax
public interface IVisibilityTracker

Properties

VisList

HashSet of all that this player can see +Only valid on server +Reverse collection for

Declaration
IReadOnlyCollection<NetworkIdentity> VisList { get; }

Methods

AddToVisList(NetworkIdentity)

Called when sending spawn message to client

Declaration
void AddToVisList(NetworkIdentity identity)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity

RemoveFromVisList(NetworkIdentity)

Called when sending destroy message to client

Declaration
void RemoveFromVisList(NetworkIdentity identity)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity

RemoveAllVisibleObjects()

Removes all that this player can see +This is called when loading a new scene

Declaration
void RemoveAllVisibleObjects()

ContainsInVisList(NetworkIdentity)

Checks if player can see

Declaration
bool ContainsInVisList(NetworkIdentity identity)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity
Returns
TypeDescription
System.Boolean
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/LocalPlayerAttribute/index.html b/docs/reference/Mirage/LocalPlayerAttribute/index.html new file mode 100644 index 00000000000..48da6f26eae --- /dev/null +++ b/docs/reference/Mirage/LocalPlayerAttribute/index.html @@ -0,0 +1,20 @@ + + + + + + +LocalPlayerAttribute | Mirage Networking + + + + +
+

Class LocalPlayerAttribute

Prevents nonlocal players from running this method. +Can only be used inside a NetworkBehaviour

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Method)]
public class LocalPlayerAttribute : Attribute, _Attribute

Fields

error

If true, when the method is called from a client, it throws an error +If false, no error is thrown, but the method won't execute +useful for unity built in methods such as Await, Update, Start, etc.

Declaration
public bool error
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/MessageDelegate-1/index.html b/docs/reference/Mirage/MessageDelegate-1/index.html new file mode 100644 index 00000000000..2f06cb3c565 --- /dev/null +++ b/docs/reference/Mirage/MessageDelegate-1/index.html @@ -0,0 +1,17 @@ + + + + + + +MessageDelegate<T> | Mirage Networking + + + + +
+

Delegate MessageDelegate<T>

Syntax
public delegate void MessageDelegate<in T>(T message);
Type Parameters
NameDescription
T
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/MessageDelegateAsync-1/index.html b/docs/reference/Mirage/MessageDelegateAsync-1/index.html new file mode 100644 index 00000000000..9ff1ea92631 --- /dev/null +++ b/docs/reference/Mirage/MessageDelegateAsync-1/index.html @@ -0,0 +1,17 @@ + + + + + + +MessageDelegateAsync<T> | Mirage Networking + + + + +
+

Delegate MessageDelegateAsync<T>

Syntax
public delegate UniTaskVoid MessageDelegateAsync<in T>(T message);
Type Parameters
NameDescription
T
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/MessageDelegateWithPlayer-1/index.html b/docs/reference/Mirage/MessageDelegateWithPlayer-1/index.html new file mode 100644 index 00000000000..a4e53a5e24e --- /dev/null +++ b/docs/reference/Mirage/MessageDelegateWithPlayer-1/index.html @@ -0,0 +1,17 @@ + + + + + + +MessageDelegateWithPlayer<T> | Mirage Networking + + + + +
+

Delegate MessageDelegateWithPlayer<T>

Syntax
public delegate void MessageDelegateWithPlayer<in T>(INetworkPlayer player, T message);
Type Parameters
NameDescription
T
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/MessageDelegateWithPlayerAsync-1/index.html b/docs/reference/Mirage/MessageDelegateWithPlayerAsync-1/index.html new file mode 100644 index 00000000000..f7c78d0a505 --- /dev/null +++ b/docs/reference/Mirage/MessageDelegateWithPlayerAsync-1/index.html @@ -0,0 +1,17 @@ + + + + + + +MessageDelegateWithPlayerAsync<T> | Mirage Networking + + + + +
+

Delegate MessageDelegateWithPlayerAsync<T>

Syntax
public delegate UniTaskVoid MessageDelegateWithPlayerAsync<in T>(INetworkPlayer player, T message);
Type Parameters
NameDescription
T
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/MessageHandler/index.html b/docs/reference/Mirage/MessageHandler/index.html new file mode 100644 index 00000000000..c769a73318f --- /dev/null +++ b/docs/reference/Mirage/MessageHandler/index.html @@ -0,0 +1,18 @@ + + + + + + +MessageHandler | Mirage Networking + + + + +
+

Class MessageHandler

Inheritance
System.Object
Inherited Members
Show
Syntax
public class MessageHandler : IMessageReceiver

Constructors

MessageHandler(IObjectLocator, Boolean, Boolean)

Declaration
public MessageHandler(IObjectLocator objectLocator, bool disconnectOnException, bool rethrowException = false)
Parameters
TypeNameDescription
Mirage.IObjectLocatorobjectLocator
System.BooleandisconnectOnException
System.BooleanrethrowException

Methods

RegisterHandler<T>(MessageDelegateWithPlayer<T>, Boolean)

Declaration
public void RegisterHandler<T>(MessageDelegateWithPlayer<T> handler, bool allowUnauthenticated)
Parameters
TypeNameDescription
Mirage.MessageDelegateWithPlayer<T>handler
System.BooleanallowUnauthenticated

UnregisterHandler<T>()

Unregister a handler for a particular message type. +Note: Messages dont need to be unregister when server or client stops as MessageHandler will be re-created next time server or client starts

Declaration
public void UnregisterHandler<T>()

ClearHandlers()

Clear all registered callback handlers.

Declaration
public void ClearHandlers()

HandleMessage(INetworkPlayer, ArraySegment<Byte>)

Declaration
public void HandleMessage(INetworkPlayer player, ArraySegment<byte> packet)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayer
System.ArraySegment<System.Byte>packet

LogAndCheckDisconnect(INetworkPlayer, Exception)

Declaration
public void LogAndCheckDisconnect(INetworkPlayer player, Exception e)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayer
System.Exceptione
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/MessageReceiverExtensions/index.html b/docs/reference/Mirage/MessageReceiverExtensions/index.html new file mode 100644 index 00000000000..824c8325a57 --- /dev/null +++ b/docs/reference/Mirage/MessageReceiverExtensions/index.html @@ -0,0 +1,21 @@ + + + + + + +MessageReceiverExtensions | Mirage Networking + + + + +
+

Class MessageReceiverExtensions

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class MessageReceiverExtensions

Methods

RegisterHandler<T>(IMessageReceiver, MessageDelegateWithPlayer<T>)

Registers a handler for a network message that has INetworkPlayer and T Message parameters

When network message are sent, the first 2 bytes are the Id for the type T. +When message is received the handler with the matching Id is found and invoked

Declaration
public static void RegisterHandler<T>(this IMessageReceiver receiver, MessageDelegateWithPlayer<T> handler)
Parameters
TypeNameDescription
Mirage.IMessageReceiverreceiver
Mirage.MessageDelegateWithPlayer<T>handler

RegisterHandler<T>(IMessageReceiver, MessageDelegate<T>, Boolean)

Registers a handler for a network message that has just T Message parameter

When network message are sent, the first 2 bytes are the Id for the type T. +When message is received the handler with the matching Id is found and invoked

Declaration
public static void RegisterHandler<T>(this IMessageReceiver receiver, MessageDelegate<T> handler, bool allowUnauthenticated = false)
Parameters
TypeNameDescription
Mirage.IMessageReceiverreceiver
Mirage.MessageDelegate<T>handler
System.BooleanallowUnauthenticated

RegisterHandler<T>(IMessageReceiver, MessageDelegateWithPlayerAsync<T>, Boolean)

Registers a handler for a network message that has INetworkPlayer and T Message parameters and returns UniTaskVoid.

This allows for async handles without allocations

When network message are sent, the first 2 bytes are the Id for the type T. +When message is received the handler with the matching Id is found and invoked

Declaration
public static void RegisterHandler<T>(this IMessageReceiver receiver, MessageDelegateWithPlayerAsync<T> handler, bool allowUnauthenticated = false)
Parameters
TypeNameDescription
Mirage.IMessageReceiverreceiver
Mirage.MessageDelegateWithPlayerAsync<T>handler
System.BooleanallowUnauthenticated

RegisterHandler<T>(IMessageReceiver, MessageDelegateAsync<T>, Boolean)

Registers a handler for a network message that has just T Message parameter and returns UniTaskVoid.

This allows for async handles without allocations

When network message are sent, the first 2 bytes are the Id for the type T. +When message is received the handler with the matching Id is found and invoked

Declaration
public static void RegisterHandler<T>(this IMessageReceiver receiver, MessageDelegateAsync<T> handler, bool allowUnauthenticated = false)
Parameters
TypeNameDescription
Mirage.IMessageReceiverreceiver
Mirage.MessageDelegateAsync<T>handler
System.BooleanallowUnauthenticated
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/MessageWaiter-1/index.html b/docs/reference/Mirage/MessageWaiter-1/index.html new file mode 100644 index 00000000000..471d765c48f --- /dev/null +++ b/docs/reference/Mirage/MessageWaiter-1/index.html @@ -0,0 +1,18 @@ + + + + + + +MessageWaiter<T> | Mirage Networking + + + + +
+

Class MessageWaiter<T>

Register handler just for 1 message +Useful on client when you want too receive a single auth message

Inheritance
System.Object
Inherited Members
Show
Syntax
public class MessageWaiter<T>
Type Parameters
NameDescription
T

Constructors

MessageWaiter(NetworkClient, Boolean)

Declaration
public MessageWaiter(NetworkClient client, bool allowUnauthenticated = false)
Parameters
TypeNameDescription
Mirage.NetworkClientclient
System.BooleanallowUnauthenticated

Methods

WaitAsync()

Declaration
public UniTask<(bool disconnected, T message)> WaitAsync()
Returns
TypeDescription
Cysharp.Threading.Tasks.UniTask<System.ValueTuple<System.Boolean, T>>

Callback(MessageDelegateWithPlayer<T>)

Use callback instead of async for methods that uses ArraySegment, because internal buffer will be recylced and data will be load before Async completes

Declaration
public void Callback(MessageDelegateWithPlayer<T> callback)
Parameters
TypeNameDescription
Mirage.MessageDelegateWithPlayer<T>callback
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/MethodInvocationException/index.html b/docs/reference/Mirage/MethodInvocationException/index.html new file mode 100644 index 00000000000..6d3d98a9df5 --- /dev/null +++ b/docs/reference/Mirage/MethodInvocationException/index.html @@ -0,0 +1,17 @@ + + + + + + +MethodInvocationException | Mirage Networking + + + + +
+

Class MethodInvocationException

Exception thrown if a guarded method is invoked incorrectly

Inheritance
System.Object
System.Exception
Inherited Members
Show
Syntax
[Serializable]
public class MethodInvocationException : Exception, _Exception, ISerializable

Constructors

MethodInvocationException()

Initializes a new instance of the class

Declaration
public MethodInvocationException()

MethodInvocationException(String)

Initializes a new instance of the class

Declaration
public MethodInvocationException(string message)
Parameters
TypeNameDescription
System.StringmessageA that describes the exception.

MethodInvocationException(SerializationInfo, StreamingContext)

Declaration
protected MethodInvocationException(SerializationInfo info, StreamingContext context)
Parameters
TypeNameDescription
System.Runtime.Serialization.SerializationInfoinfo
System.Runtime.Serialization.StreamingContextcontext
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkAnimator/index.html b/docs/reference/Mirage/NetworkAnimator/index.html new file mode 100644 index 00000000000..a3cddad5c27 --- /dev/null +++ b/docs/reference/Mirage/NetworkAnimator/index.html @@ -0,0 +1,19 @@ + + + + + + +NetworkAnimator | Mirage Networking + + + + +
+

Class NetworkAnimator

A component to synchronize animation states for networked objects.

Inheritance
System.Object
Mirage.NetworkBehaviour
Inherited Members
Show

Mirage.NetworkBehaviour._nextSyncTime

Mirage.NetworkBehaviour.SyncSettings

Mirage.NetworkBehaviour.IsServer

Mirage.NetworkBehaviour.IsClient

Mirage.NetworkBehaviour.IsLocalClient

Mirage.NetworkBehaviour.IsHost

Mirage.NetworkBehaviour.IsLocalPlayer

Mirage.NetworkBehaviour.IsServerOnly

Mirage.NetworkBehaviour.IsClientOnly

Mirage.NetworkBehaviour.HasAuthority

Mirage.NetworkBehaviour.NetId

Mirage.NetworkBehaviour.Server

Mirage.NetworkBehaviour.ServerObjectManager

Mirage.NetworkBehaviour.Client

Mirage.NetworkBehaviour.ClientObjectManager

Mirage.NetworkBehaviour.Owner

Mirage.NetworkBehaviour.World

Mirage.NetworkBehaviour.NetworkTime

Mirage.NetworkBehaviour.BehaviourId

Mirage.NetworkBehaviour.SyncVarDirtyBits

Mirage.NetworkBehaviour.AnySyncObjectDirty

Mirage.NetworkBehaviour.syncObjects

Mirage.NetworkBehaviour.Identity

Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND

Mirage.NetworkBehaviour.ComponentIndex

Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)

Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()

Mirage.NetworkBehaviour.SyncVarEqual<T>(T, T)

Mirage.NetworkBehaviour.ClearDirtyBits()

Mirage.NetworkBehaviour.AnyDirtyBits()

Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.GetRpcCount()

Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)

Syntax
[Obsolete("NetworkAnimator is not optimzied so should not used in production.")]
public class NetworkAnimator : NetworkBehaviour

Fields

ClientAuthority

Declaration
public bool ClientAuthority

Animator

The animator component to synchronize.

Declaration
public Animator Animator

Methods

OnSerialize(NetworkWriter, Boolean)

Custom Serialization

Declaration
public override bool OnSerialize(NetworkWriter writer, bool initialState)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.BooleaninitialState
Returns
TypeDescription
System.Boolean

OnDeserialize(NetworkReader, Boolean)

Custom Deserialization

Declaration
public override void OnDeserialize(NetworkReader reader, bool initialState)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
System.BooleaninitialState

SetTrigger(String)

Causes an animation trigger to be invoked for a networked object. +If local authority is set, and this is called from the client, then the trigger will be invoked on the server and all clients. If not, then this is called on the server, and the trigger will be called on all clients.

Declaration
public void SetTrigger(string triggerName)
Parameters
TypeNameDescription
System.StringtriggerNameName of trigger.

SetTrigger(Int32)

Causes an animation trigger to be invoked for a networked object.

Declaration
public void SetTrigger(int hash)
Parameters
TypeNameDescription
System.Int32hashHash id of trigger (from the Animator).

ResetTrigger(String)

Causes an animation trigger to be reset for a networked object. +If local authority is set, and this is called from the client, then the trigger will be reset on the server and all clients. If not, then this is called on the server, and the trigger will be reset on all clients.

Declaration
public void ResetTrigger(string triggerName)
Parameters
TypeNameDescription
System.StringtriggerNameName of trigger.

ResetTrigger(Int32)

Causes an animation trigger to be reset for a networked object.

Declaration
public void ResetTrigger(int hash)
Parameters
TypeNameDescription
System.Int32hashHash id of trigger (from the Animator).
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkBehaviorSerializers/index.html b/docs/reference/Mirage/NetworkBehaviorSerializers/index.html new file mode 100644 index 00000000000..4e6e3dfe9e1 --- /dev/null +++ b/docs/reference/Mirage/NetworkBehaviorSerializers/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkBehaviorSerializers | Mirage Networking + + + + +
+

Class NetworkBehaviorSerializers

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class NetworkBehaviorSerializers

Methods

WriteNetworkBehaviorSyncVar(NetworkWriter, NetworkBehaviorSyncvar)

Declaration
public static void WriteNetworkBehaviorSyncVar(this NetworkWriter writer, NetworkBehaviorSyncvar id)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Mirage.NetworkBehaviorSyncvarid

ReadNetworkBehaviourSyncVar(NetworkReader)

Declaration
public static NetworkBehaviorSyncvar ReadNetworkBehaviourSyncVar(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Mirage.NetworkBehaviorSyncvar

WriteGenericNetworkBehaviorSyncVar<T>(NetworkWriter, NetworkBehaviorSyncvar<T>)

Declaration
[WeaverSerializeCollection]
public static void WriteGenericNetworkBehaviorSyncVar<T>(this NetworkWriter writer, NetworkBehaviorSyncvar<T> id)
where T : NetworkBehaviour
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Mirage.NetworkBehaviorSyncvar<T>id

ReadGenericNetworkBehaviourSyncVar<T>(NetworkReader)

Declaration
[WeaverSerializeCollection]
public static NetworkBehaviorSyncvar<T> ReadGenericNetworkBehaviourSyncVar<T>(this NetworkReader reader)
where T : NetworkBehaviour
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Mirage.NetworkBehaviorSyncvar<T>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkBehaviorSyncvar-1/index.html b/docs/reference/Mirage/NetworkBehaviorSyncvar-1/index.html new file mode 100644 index 00000000000..9e0da441e77 --- /dev/null +++ b/docs/reference/Mirage/NetworkBehaviorSyncvar-1/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkBehaviorSyncvar<T> | Mirage Networking + + + + +
+

Struct NetworkBehaviorSyncvar<T>

Syntax
public struct NetworkBehaviorSyncvar<T>
where T : NetworkBehaviour
Type Parameters
NameDescription
T

Constructors

NetworkBehaviorSyncvar(T)

Declaration
public NetworkBehaviorSyncvar(T behaviour)
Parameters
TypeNameDescription
Tbehaviour

Properties

Value

Declaration
public T Value { get; set; }
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkBehaviorSyncvar/index.html b/docs/reference/Mirage/NetworkBehaviorSyncvar/index.html new file mode 100644 index 00000000000..37459010a55 --- /dev/null +++ b/docs/reference/Mirage/NetworkBehaviorSyncvar/index.html @@ -0,0 +1,18 @@ + + + + + + +NetworkBehaviorSyncvar | Mirage Networking + + + + +
+

Struct NetworkBehaviorSyncvar

backing struct for a NetworkIdentity when used as a syncvar +the weaver will replace the syncvar with this struct.

Syntax
public struct NetworkBehaviorSyncvar

Constructors

NetworkBehaviorSyncvar(NetworkBehaviour)

Declaration
public NetworkBehaviorSyncvar(NetworkBehaviour behaviour)
Parameters
TypeNameDescription
Mirage.NetworkBehaviourbehaviour

Properties

Value

Declaration
public NetworkBehaviour Value { get; set; }

Methods

GetAs<T>()

returns Value cast as T

Declaration
public T GetAs<T>()
where T : NetworkBehaviour
Returns
TypeDescription
T
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkBehaviour.Id/index.html b/docs/reference/Mirage/NetworkBehaviour.Id/index.html new file mode 100644 index 00000000000..1f783d5331b --- /dev/null +++ b/docs/reference/Mirage/NetworkBehaviour.Id/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkBehaviour.Id | Mirage Networking + + + + +
+

Struct NetworkBehaviour.Id

Syntax
public struct Id : IEquatable<NetworkBehaviour.Id>

Constructors

Id(UInt32, Int32)

Declaration
public Id(uint netId, int componentIndex)
Parameters
TypeNameDescription
System.UInt32netId
System.Int32componentIndex

Id(NetworkBehaviour)

Declaration
public Id(NetworkBehaviour behaviour)
Parameters
TypeNameDescription
Mirage.NetworkBehaviourbehaviour

Fields

NetId

Declaration
public readonly uint NetId

ComponentIndex

Declaration
public readonly int ComponentIndex

Methods

GetHashCode()

Declaration
public override int GetHashCode()
Returns
TypeDescription
System.Int32

Equals(NetworkBehaviour.Id)

Declaration
public bool Equals(NetworkBehaviour.Id other)
Parameters
TypeNameDescription
Mirage.NetworkBehaviour.Idother
Returns
TypeDescription
System.Boolean

Equals(Object)

Declaration
public override bool Equals(object obj)
Parameters
TypeNameDescription
System.Objectobj
Returns
TypeDescription
System.Boolean
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkBehaviour/index.html b/docs/reference/Mirage/NetworkBehaviour/index.html new file mode 100644 index 00000000000..4fe489dfe32 --- /dev/null +++ b/docs/reference/Mirage/NetworkBehaviour/index.html @@ -0,0 +1,25 @@ + + + + + + +NetworkBehaviour | Mirage Networking + + + + +
+

Class NetworkBehaviour

Base class which should be inherited by scripts which contain networking functionality.

Inheritance
System.Object
Syntax
public abstract class NetworkBehaviour : MonoBehaviour

Fields

_nextSyncTime

Declaration
protected double _nextSyncTime

SyncSettings

Sync settings for this NetworkBehaviour +Settings will be hidden in inspector unless Behaviour has SyncVar or SyncObjects

Declaration
public SyncSettings SyncSettings

syncObjects

objects that can synchronize themselves, such as synclists

Declaration
protected readonly List<ISyncObject> syncObjects

COMPONENT_INDEX_NOT_FOUND

Declaration
public const int COMPONENT_INDEX_NOT_FOUND = -1

Properties

IsServer

Returns true if this object is active on an active server. +This is only true if the object has been spawned. This is different from NetworkServer.active, which is true if the server itself is active rather than this object being active.

Declaration
public bool IsServer { get; }

IsClient

Returns true if running as a client and this object was spawned by a server.

Declaration
public bool IsClient { get; }

IsLocalClient

Returns true if we're on host mode.

Declaration
[Obsolete("use IsHost instead")]
public bool IsLocalClient { get; }

IsHost

Returns true if we're on host mode.

Declaration
public bool IsHost { get; }

IsLocalPlayer

This returns true if this object is the one that represents the player on the local machine. +In multiplayer games, there are multiple instances of the Player object. The client needs to know which one is for "themselves" so that only that player processes input and potentially has a camera attached. The IsLocalPlayer function will return true only for the player instance that belongs to the player on the local machine, so it can be used to filter out input for non-local players.

Declaration
public bool IsLocalPlayer { get; }

IsServerOnly

True if this object only exists on the server

Declaration
public bool IsServerOnly { get; }

IsClientOnly

True if this object exists on a client that is not also acting as a server

Declaration
public bool IsClientOnly { get; }

HasAuthority

This returns true if this object is the authoritative version of the object in the distributed network application. +The value on the NetworkIdentity determines how authority is determined. For most objects, authority is held by the server. For objects with set, authority is held by the client of that player.

Declaration
public bool HasAuthority { get; }

NetId

The unique network Id of this object. +This is assigned at runtime by the network server and will be unique for all objects for that network session.

Declaration
public uint NetId { get; }

Server

The associated to this object.

Declaration
public NetworkServer Server { get; }

ServerObjectManager

Quick Reference to the NetworkIdentities ServerObjectManager. Present only for server/host instances.

Declaration
public ServerObjectManager ServerObjectManager { get; }

Client

The associated to this object.

Declaration
public NetworkClient Client { get; }

ClientObjectManager

Quick Reference to the NetworkIdentities ClientObjectManager. Present only for instances instances.

Declaration
public ClientObjectManager ClientObjectManager { get; }

Owner

The associated with this This is only valid for player objects on the server.

Declaration
public INetworkPlayer Owner { get; }

World

Declaration
public NetworkWorld World { get; }

NetworkTime

Returns the appropriate NetworkTime instance based on if this NetworkBehaviour is running as a Server or Client.

Declaration
public NetworkTime NetworkTime { get; }

BehaviourId

Get Id of this NetworkBehaviour, Its NetId and ComponentIndex

Declaration
public NetworkBehaviour.Id BehaviourId { get; }

SyncVarDirtyBits

Declaration
protected ulong SyncVarDirtyBits { get; }

AnySyncObjectDirty

Declaration
protected bool AnySyncObjectDirty { get; }

Identity

Returns the NetworkIdentity of this object

Declaration
public NetworkIdentity Identity { get; }

ComponentIndex

Returns the index of the component on this object

Declaration
public int ComponentIndex { get; }

Methods

GetSyncVarHookGuard(UInt64)

Declaration
protected bool GetSyncVarHookGuard(ulong dirtyBit)
Parameters
TypeNameDescription
System.UInt64dirtyBit
Returns
TypeDescription
System.Boolean

SetSyncVarHookGuard(UInt64, Boolean)

Declaration
protected void SetSyncVarHookGuard(ulong dirtyBit, bool value)
Parameters
TypeNameDescription
System.UInt64dirtyBit
System.Booleanvalue

InitSyncObject(ISyncObject)

Declaration
protected void InitSyncObject(ISyncObject syncObject)
Parameters
TypeNameDescription
Mirage.Collections.ISyncObjectsyncObject

UpdateSyncObjectShouldSync()

Call this after updating SyncSettings to update all SyncObjects

This only needs to be called manually if updating syncSettings at runtime. +Mirage will automatically call this after serializing or deserializing with initialState

Declaration
public void UpdateSyncObjectShouldSync()

SyncVarEqual<T>(T, T)

Declaration
protected bool SyncVarEqual<T>(T value, T fieldValue)
Parameters
TypeNameDescription
Tvalue
TfieldValue
Returns
TypeDescription
System.Boolean

SetDirtyBit(UInt64)

Used to set the behaviour as dirty, so that a network update will be sent for the object. +these are masks, not bit numbers, ie. 0x004 not 2

Declaration
public void SetDirtyBit(ulong bitMask)
Parameters
TypeNameDescription
System.UInt64bitMaskBit mask to set.

ClearDirtyBit(UInt64)

Used to clear dirty bit. +Object may still be in dirty list, so will be checked in next update. but values in this mask will no longer be set until they are changed again

Declaration
public void ClearDirtyBit(ulong bitMask)
Parameters
TypeNameDescription
System.UInt64bitMaskBit mask to set.

ClearDirtyBits()

Declaration
public void ClearDirtyBits()

ClearShouldSync(Double)

Clears dirty bits and sets the next sync time

Declaration
public void ClearShouldSync(double now)
Parameters
TypeNameDescription
System.Doublenow

ShouldSync(Double)

True if this behaviour is dirty and it is time to sync

Declaration
public bool ShouldSync(double time)
Parameters
TypeNameDescription
System.Doubletime
Returns
TypeDescription
System.Boolean

TimeToSync(Double)

If it is time to sync based on last sync and

Declaration
public bool TimeToSync(double time)
Parameters
TypeNameDescription
System.Doubletime
Returns
TypeDescription
System.Boolean

AnyDirtyBits()

Are any SyncVar or SyncObjects dirty

Declaration
public bool AnyDirtyBits()
Returns
TypeDescription
System.Boolean

OnSerialize(NetworkWriter, Boolean)

Virtual function to override to send custom serialization data. The corresponding function to send serialization data is OnDeserialize().

Declaration
public virtual bool OnSerialize(NetworkWriter writer, bool initialState)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriterWriter to use to write to the stream.
System.BooleaninitialStateIf this is being called to send initial state.
Returns
TypeDescription
System.BooleanTrue if data was written.

OnDeserialize(NetworkReader, Boolean)

Virtual function to override to receive custom serialization data. The corresponding function to send serialization data is OnSerialize().

Declaration
public virtual void OnDeserialize(NetworkReader reader, bool initialState)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreaderReader to read from the stream.
System.BooleaninitialStateTrue if being sent initial state.

SerializeSyncVars(NetworkWriter, Boolean)

Declaration
public virtual bool SerializeSyncVars(NetworkWriter writer, bool initialState)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.BooleaninitialState
Returns
TypeDescription
System.Boolean

DeserializeSyncVars(NetworkReader, Boolean)

Declaration
public virtual void DeserializeSyncVars(NetworkReader reader, bool initialState)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
System.BooleaninitialState

SetDeserializeMask(UInt64, Int32)

Declaration
protected void SetDeserializeMask(ulong dirtyBit, int offset)
Parameters
TypeNameDescription
System.UInt64dirtyBit
System.Int32offset

SerializeObjects(NetworkWriter, Boolean)

Declaration
public bool SerializeObjects(NetworkWriter writer, bool initialState)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.BooleaninitialState
Returns
TypeDescription
System.Boolean

SerializeObjectsAll(NetworkWriter)

Declaration
public bool SerializeObjectsAll(NetworkWriter writer)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Returns
TypeDescription
System.Boolean

SerializeObjectsDelta(NetworkWriter)

Declaration
public bool SerializeObjectsDelta(NetworkWriter writer)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Returns
TypeDescription
System.Boolean

GetRpcCount()

Declaration
protected virtual int GetRpcCount()
Returns
TypeDescription
System.Int32

RegisterRpc(RemoteCallCollection)

Declaration
protected virtual void RegisterRpc(RemoteCallCollection collection)
Parameters
TypeNameDescription
Mirage.RemoteCalls.RemoteCallCollectioncollection
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkClient/index.html b/docs/reference/Mirage/NetworkClient/index.html new file mode 100644 index 00000000000..f8847860aff --- /dev/null +++ b/docs/reference/Mirage/NetworkClient/index.html @@ -0,0 +1,23 @@ + + + + + + +NetworkClient | Mirage Networking + + + + +
+

Class NetworkClient

This is a network client class used by the networking system. It contains a NetworkConnection that is used to connect to a network server. +The handle connection state, messages handlers, and connection configuration. There can be many instances in a process at a time, but only one that is connected to a game server () that uses spawned objects. +has an internal update function where it handles events from the transport layer. This includes asynchronous connect events, disconnect events and incoming data from a server.

Inheritance
System.Object
Syntax
public class NetworkClient : MonoBehaviour, IMessageSender

Fields

EnablePeerMetrics

Declaration
public bool EnablePeerMetrics

MetricsSize

Declaration
public int MetricsSize

SocketFactory

Declaration
public SocketFactory SocketFactory

ObjectManager

Declaration
public ClientObjectManager ObjectManager

DisconnectOnException

Declaration
public bool DisconnectOnException

RethrowException

Declaration
public bool RethrowException

RunInBackground

Declaration
public bool RunInBackground

Authenticator

Declaration
public AuthenticatorSettings Authenticator

ManualUpdate

Set to true if you want to manually call and and stop mirage from automatically calling them

Declaration
public bool ManualUpdate

Properties

Metrics

Declaration
public Metrics Metrics { get; }

PeerConfig

Config for peer, if not set will use default settings

Declaration
public Config PeerConfig { get; set; }

PeerPoolMetrics

Declaration
public PoolMetrics? PeerPoolMetrics { get; }

Started

Event fires when the client starts, before it has connected to the Server.

Declaration
public IAddLateEventUnity Started { get; }

Connected

Event fires once the Client has connected its Server.

Declaration
public IAddLateEventUnity<INetworkPlayer> Connected { get; }

Authenticated

Event fires after the Client connection has successfully been authenticated with its Server.

Declaration
public IAddLateEventUnity<INetworkPlayer> Authenticated { get; }

Disconnected

Event fires after the Client has disconnected from its Server and Cleanup has been called.

Declaration
public IAddLateEventUnity<ClientStoppedReason> Disconnected { get; }

Player

The NetworkConnection object this client is using.

Declaration
public INetworkPlayer Player { get; }

Active

active is true while a client is connecting/connected +(= while the network is active)

Declaration
public bool Active { get; }

IsConnected

This gives the current connection status of the client.

Declaration
public bool IsConnected { get; }

World

Declaration
public NetworkWorld World { get; }

SyncVarSender

Declaration
public SyncVarSender SyncVarSender { get; }

MessageHandler

Declaration
public MessageHandler MessageHandler { get; }

IsLocalClient

Is this NetworkClient connected to a local server in host mode

Declaration
[Obsolete("use IsHost instead")]
public bool IsLocalClient { get; }

IsHost

Is this NetworkClient connected to a local server in host mode

Declaration
public bool IsHost { get; }

Methods

Connect(String, Nullable<UInt16>)

Connect client to a NetworkServer instance.

Declaration
public void Connect(string address = null, ushort? port = default(ushort? ))
Parameters
TypeNameDescription
System.Stringaddress
System.Nullable<System.UInt16>port

Disconnect()

Disconnect from server. +The disconnect message will be invoked.

Declaration
public void Disconnect()

Send<T>(T, Channel)

This sends a network message with a message Id to the server. This message is sent on channel zero, which by default is the reliable channel. +The message must be an instance of a class derived from MessageBase. +The message id passed to Send() is used to identify the handler function to invoke on the server when the message is received.

Declaration
public void Send<T>(T message, Channel channelId = Channel.Reliable)
Parameters
TypeNameDescription
Tmessage
Mirage.ChannelchannelId

Send(ArraySegment<Byte>, Channel)

Declaration
public void Send(ArraySegment<byte> segment, Channel channelId = Channel.Reliable)
Parameters
TypeNameDescription
System.ArraySegment<System.Byte>segment
Mirage.ChannelchannelId

Send<T>(T, INotifyCallBack)

Declaration
public void Send<T>(T message, INotifyCallBack notifyCallBack)
Parameters
TypeNameDescription
Tmessage
Mirage.SocketLayer.INotifyCallBacknotifyCallBack

UpdateReceive()

Declaration
public void UpdateReceive()

UpdateSent()

Declaration
public void UpdateSent()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkDiagnostics.MessageInfo/index.html b/docs/reference/Mirage/NetworkDiagnostics.MessageInfo/index.html new file mode 100644 index 00000000000..ee448541077 --- /dev/null +++ b/docs/reference/Mirage/NetworkDiagnostics.MessageInfo/index.html @@ -0,0 +1,18 @@ + + + + + + +NetworkDiagnostics.MessageInfo | Mirage Networking + + + + +
+

Struct NetworkDiagnostics.MessageInfo

Describes an outgoing message

Syntax
public struct MessageInfo

Constructors

MessageInfo(Object, Int32, Int32)

Declaration
public MessageInfo(object message, int bytes, int count)
Parameters
TypeNameDescription
System.Objectmessage
System.Int32bytes
System.Int32count

Fields

message

The message being sent

Declaration
public readonly object message

bytes

how big was the message (does not include transport headers)

Declaration
public readonly int bytes

count

How many connections was the message sent to +If an object has a lot of observers this count could be high

Declaration
public readonly int count
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkDiagnostics/index.html b/docs/reference/Mirage/NetworkDiagnostics/index.html new file mode 100644 index 00000000000..a0673684772 --- /dev/null +++ b/docs/reference/Mirage/NetworkDiagnostics/index.html @@ -0,0 +1,19 @@ + + + + + + +NetworkDiagnostics | Mirage Networking + + + + +
+

Class NetworkDiagnostics

Provides profiling information from mirror +A profiler can subscribe to these events and +present the data in a friendly way to the user

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class NetworkDiagnostics
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkExtensions/index.html b/docs/reference/Mirage/NetworkExtensions/index.html new file mode 100644 index 00000000000..90f833e8d76 --- /dev/null +++ b/docs/reference/Mirage/NetworkExtensions/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkExtensions | Mirage Networking + + + + +
+

Class NetworkExtensions

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class NetworkExtensions
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkFlags/index.html b/docs/reference/Mirage/NetworkFlags/index.html new file mode 100644 index 00000000000..d8c2ae21e51 --- /dev/null +++ b/docs/reference/Mirage/NetworkFlags/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkFlags | Mirage Networking + + + + +
+

Enum NetworkFlags

Syntax
[Flags]
public enum NetworkFlags

Fields

NotActive

If both server and client are not active. Can be used to check for singleplayer or unspawned object

Declaration
NotActive = 1

Server

Declaration
Server = 2

Client

Declaration
Client = 4

Active

If either Server or Client is active.

Note this will not check host mode. For host mode you need to use and

Declaration
Active = 6

HasAuthority

Declaration
HasAuthority = 8

LocalOwner

Declaration
LocalOwner = 16
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkIdentity/index.html b/docs/reference/Mirage/NetworkIdentity/index.html new file mode 100644 index 00000000000..06b3242cfd7 --- /dev/null +++ b/docs/reference/Mirage/NetworkIdentity/index.html @@ -0,0 +1,46 @@ + + + + + + +NetworkIdentity | Mirage Networking + + + + +
+

Class NetworkIdentity

The NetworkIdentity identifies objects across the network, between server and clients. +Its primary data is a NetworkInstanceId which is allocated by the server and then set on clients. +This is used in network communications to be able to lookup game objects on different machines.

Inheritance
System.Object
Syntax
public sealed class NetworkIdentity : MonoBehaviour

Fields

SpawnSettings

Declaration
public NetworkSpawnSettings SpawnSettings

observers

The set of network connections (players) that can see this object.

Declaration
public readonly HashSet<INetworkPlayer> observers

ServerObjectManager

Declaration
public ServerObjectManager ServerObjectManager

ClientObjectManager

The ClientObjectManager is present only for client instances.

Declaration
public ClientObjectManager ClientObjectManager

Properties

IsClient

Returns true if running as a client and this object was spawned by a server.

Declaration
public bool IsClient { get; }

IsServer

Returns true if NetworkServer.active and server is not stopped.

Declaration
public bool IsServer { get; }

IsLocalClient

Returns true if we're on host mode.

Declaration
[Obsolete("use IsHost instead")]
public bool IsLocalClient { get; }

IsHost

Returns true if we're on host mode.

Declaration
public bool IsHost { get; }

IsLocalPlayer

This returns true if this object is the one that represents the player on the local machine. +This is set when the server has spawned an object for this particular client.

Declaration
public bool IsLocalPlayer { get; }

HasAuthority

This returns true if this object is the authoritative player object on the client. +This value is determined at runtime. For most objects, authority is held by the server. +For objects that had their authority set by AssignClientAuthority on the server, this will be true on the client that owns the object. NOT on other clients.

Declaration
public bool HasAuthority { get; }

NetId

Unique identifier for this particular object instance, used for tracking objects between networked clients and the server. +This is a unique identifier for this particular GameObject instance. Use it to track GameObjects between networked clients and the server.

Declaration
public uint NetId { get; }

IsSceneObject

Is this object part of a scene and have a Scene Id?

Declaration
public bool IsSceneObject { get; }

IsPrefab

Is this object a prefab and have a so that it can be spawned over the network

Declaration
public bool IsPrefab { get; }

IsSpawned

Has this object been spawned and have a

Declaration
public bool IsSpawned { get; }

Server

The NetworkServer associated with this NetworkIdentity.

Declaration
public NetworkServer Server { get; }

World

The world this object exists in

Declaration
public NetworkWorld World { get; }

SyncVarSender

Declaration
public SyncVarSender SyncVarSender { get; }

InitialState

True while applying spawn payload within OnDeserializeAll +Can be used inside syncvar hooks to tell if object has just spawned

Declaration
public bool InitialState { get; }

Client

The NetworkClient associated with this NetworkIdentity.

Declaration
public NetworkClient Client { get; }

Owner

The INetworkPlayer associated with this . This property is only valid on server +Use it to return details such as the connection's identity, IP address and ready status.

Declaration
public INetworkPlayer Owner { get; }

NetworkBehaviours

Array of NetworkBehaviours associated with this NetworkIdentity. Can be in child GameObjects.

Declaration
public NetworkBehaviour[] NetworkBehaviours { get; }

Visibility

Returns the NetworkVisibility behaviour on this gameObject, or a default visibility where all objects are visible. +Note: NetworkVisibility must be on same gameObject has NetworkIdentity, not on a child object

Declaration
public INetworkVisibility Visibility { get; }

PrefabHash

Declaration
public int PrefabHash { get; set; }

OnStartServer

This is invoked for NetworkBehaviour objects when they become active on the server. +This could be triggered by NetworkServer.Start() for objects in the scene, or by ServerObjectManager.Spawn() for objects you spawn at runtime. +This will be called for objects on a "host" as well as for object on a dedicated server. +OnStartServer is invoked before this object is added to collection of spawned objects

Declaration
public IAddLateEvent OnStartServer { get; }

OnStartClient

Called on every NetworkBehaviour when it is activated on a client. +Objects on the host have this function called, as there is a local client on the host. The values of SyncVars on object are guaranteed to be initialized +correctly with the latest state from the server when this function is called on the client.

Declaration
public IAddLateEvent OnStartClient { get; }

OnStartLocalPlayer

Called when the local player object has been set up. +This happens after OnStartClient(), as it is triggered by an ownership message from the server. This is an appropriate place to activate components or +functionality that should only be active for the local player, such as cameras and input.

Declaration
public IAddLateEvent OnStartLocalPlayer { get; }

OnAuthorityChanged

This is invoked on behaviours that have authority given or removed, see +This is called after and before

When or is called on the server, this will be called on the client that owns the object.

When an object is spawned with with a NetworkConnection parameter included, +this will be called on the client that owns the object.

NOTE: this even is only called for client and host

Declaration
public IAddLateEvent<bool> OnAuthorityChanged { get; }

OnOwnerChanged

This is invoked on behaviours that have an owner assigned. +This even is only called on server +See for more comments on owner and authority

Declaration
public IAddLateEvent<INetworkPlayer> OnOwnerChanged { get; }

OnStopClient

This is invoked on clients when the server has caused this object to be destroyed. +This can be used as a hook to invoke effects or do client specific cleanup.

Declaration
public IAddLateEvent OnStopClient { get; }

OnStopServer

This is called on the server when the object is unspawned

Declaration
public IAddLateEvent OnStopServer { get; }

SpawnedFromInstantiate

Declaration
public bool SpawnedFromInstantiate { get; }

Methods

RebuildObservers(Boolean)

This causes the set of players that can see this object to be rebuild. +The OnRebuildObservers callback function will be invoked on each NetworkBehaviour.

Declaration
public void RebuildObservers(bool initialize)
Parameters
TypeNameDescription
System.BooleaninitializeTrue if this is the first time.

AssignClientAuthority(INetworkPlayer)

Assign control of an object to a client via the client's +This causes hasAuthority to be set on the client that owns the object, and NetworkBehaviour.OnStartAuthority will be called on that client. This object then will be +in the NetworkConnection.clientOwnedObjects list for the connection. +Authority can be removed with RemoveClientAuthority. Only one client can own an object at any time. This does not need to be called for player objects, as their +authority is setup automatically.

Declaration
public void AssignClientAuthority(INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerThe connection of the client to assign authority to.

RemoveClientAuthority()

Removes ownership for an object. +This applies to objects that had authority set by AssignClientAuthority, or with a NetworkConnection +parameter included. +Authority cannot be removed for player objects.

Declaration
public void RemoveClientAuthority()

ToString()

Declaration
public override string ToString()
Returns
TypeDescription
System.String
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkIdentitySerializers/index.html b/docs/reference/Mirage/NetworkIdentitySerializers/index.html new file mode 100644 index 00000000000..58c0f32b9d6 --- /dev/null +++ b/docs/reference/Mirage/NetworkIdentitySerializers/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkIdentitySerializers | Mirage Networking + + + + +
+

Class NetworkIdentitySerializers

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class NetworkIdentitySerializers

Methods

WriteNetworkIdentitySyncVar(NetworkWriter, NetworkIdentitySyncvar)

Declaration
public static void WriteNetworkIdentitySyncVar(this NetworkWriter writer, NetworkIdentitySyncvar id)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Mirage.NetworkIdentitySyncvarid

ReadNetworkIdentitySyncVar(NetworkReader)

Declaration
public static NetworkIdentitySyncvar ReadNetworkIdentitySyncVar(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Mirage.NetworkIdentitySyncvar
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkIdentitySyncvar/index.html b/docs/reference/Mirage/NetworkIdentitySyncvar/index.html new file mode 100644 index 00000000000..44815fdf67d --- /dev/null +++ b/docs/reference/Mirage/NetworkIdentitySyncvar/index.html @@ -0,0 +1,18 @@ + + + + + + +NetworkIdentitySyncvar | Mirage Networking + + + + +
+

Struct NetworkIdentitySyncvar

backing struct for a NetworkIdentity when used as a syncvar +the weaver will replace the syncvar with this struct.

Syntax
public struct NetworkIdentitySyncvar

Properties

Value

Declaration
public NetworkIdentity Value { get; set; }
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkInspectorCallbacks/index.html b/docs/reference/Mirage/NetworkInspectorCallbacks/index.html new file mode 100644 index 00000000000..0fbc078dd94 --- /dev/null +++ b/docs/reference/Mirage/NetworkInspectorCallbacks/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkInspectorCallbacks | Mirage Networking + + + + +
+

Class NetworkInspectorCallbacks

Callbacks for

Inheritance
System.Object
Mirage.NetworkBehaviour
Inherited Members
Show

Mirage.NetworkBehaviour._nextSyncTime

Mirage.NetworkBehaviour.SyncSettings

Mirage.NetworkBehaviour.IsServer

Mirage.NetworkBehaviour.IsClient

Mirage.NetworkBehaviour.IsLocalClient

Mirage.NetworkBehaviour.IsHost

Mirage.NetworkBehaviour.IsLocalPlayer

Mirage.NetworkBehaviour.IsServerOnly

Mirage.NetworkBehaviour.IsClientOnly

Mirage.NetworkBehaviour.HasAuthority

Mirage.NetworkBehaviour.NetId

Mirage.NetworkBehaviour.Server

Mirage.NetworkBehaviour.ServerObjectManager

Mirage.NetworkBehaviour.Client

Mirage.NetworkBehaviour.ClientObjectManager

Mirage.NetworkBehaviour.Owner

Mirage.NetworkBehaviour.World

Mirage.NetworkBehaviour.NetworkTime

Mirage.NetworkBehaviour.BehaviourId

Mirage.NetworkBehaviour.SyncVarDirtyBits

Mirage.NetworkBehaviour.AnySyncObjectDirty

Mirage.NetworkBehaviour.syncObjects

Mirage.NetworkBehaviour.Identity

Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND

Mirage.NetworkBehaviour.ComponentIndex

Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)

Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()

Mirage.NetworkBehaviour.SyncVarEqual<T>(T, T)

Mirage.NetworkBehaviour.ClearDirtyBits()

Mirage.NetworkBehaviour.AnyDirtyBits()

Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.GetRpcCount()

Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)

Syntax
public class NetworkInspectorCallbacks : NetworkBehaviour
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkManager/index.html b/docs/reference/Mirage/NetworkManager/index.html new file mode 100644 index 00000000000..98ca9335c52 --- /dev/null +++ b/docs/reference/Mirage/NetworkManager/index.html @@ -0,0 +1,18 @@ + + + + + + +NetworkManager | Mirage Networking + + + + +
+

Class NetworkManager

Inheritance
System.Object
Syntax
public class NetworkManager : MonoBehaviour

Fields

Server

Declaration
public NetworkServer Server

Client

Declaration
public NetworkClient Client

NetworkSceneManager

Declaration
public NetworkSceneManager NetworkSceneManager

ServerObjectManager

Declaration
public ServerObjectManager ServerObjectManager

ClientObjectManager

Declaration
public ClientObjectManager ClientObjectManager

ValidateReferences

Declaration
public bool ValidateReferences

Properties

IsNetworkActive

True if the server or client is started and running +This is set True in StartServer / StartClient, and set False in StopServer / StopClient

Declaration
public bool IsNetworkActive { get; }

NetworkMode

helper enum to know if we started the NetworkManager as server/client/host.

Declaration
public NetworkManagerMode NetworkMode { get; }
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkManagerGUI/index.html b/docs/reference/Mirage/NetworkManagerGUI/index.html new file mode 100644 index 00000000000..e78b7a5442b --- /dev/null +++ b/docs/reference/Mirage/NetworkManagerGUI/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkManagerGUI | Mirage Networking + + + + +
+

Class NetworkManagerGUI

Inheritance
System.Object
Syntax
public class NetworkManagerGUI : MonoBehaviour

Fields

NetworkAddress

Declaration
public string NetworkAddress

AutoConfigureNetworkManager

Declaration
public bool AutoConfigureNetworkManager

NetworkManager

Declaration
public NetworkManager NetworkManager

Scale

Declaration
public float Scale

GUIAnchor

Declaration
public TextAnchor GUIAnchor
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkManagerHud/index.html b/docs/reference/Mirage/NetworkManagerHud/index.html new file mode 100644 index 00000000000..c3579d4fce5 --- /dev/null +++ b/docs/reference/Mirage/NetworkManagerHud/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkManagerHud | Mirage Networking + + + + +
+

Class NetworkManagerHud

Inheritance
System.Object
Syntax
public class NetworkManagerHud : MonoBehaviour

Fields

NetworkManager

Declaration
public NetworkManager NetworkManager

NetworkAddress

Declaration
public string NetworkAddress

DontDestroy

Declaration
public bool DontDestroy

NetworkAddressInput

Declaration
public InputField NetworkAddressInput

OfflineGO

Declaration
public GameObject OfflineGO

OnlineGO

Declaration
public GameObject OnlineGO

StatusLabel

Declaration
public Text StatusLabel

Methods

StartHostButtonHandler()

Declaration
public void StartHostButtonHandler()

StartServerOnlyButtonHandler()

Declaration
public void StartServerOnlyButtonHandler()

StartClientButtonHandler()

Declaration
public void StartClientButtonHandler()

StopButtonHandler()

Declaration
public void StopButtonHandler()

OnNetworkAddressInputUpdate()

Declaration
public void OnNetworkAddressInputUpdate()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkManagerMode/index.html b/docs/reference/Mirage/NetworkManagerMode/index.html new file mode 100644 index 00000000000..84e6ad7ac93 --- /dev/null +++ b/docs/reference/Mirage/NetworkManagerMode/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkManagerMode | Mirage Networking + + + + +
+

Enum NetworkManagerMode

Syntax
[Flags]
public enum NetworkManagerMode

Fields

None

Declaration
None = 0

Server

Declaration
Server = 1

Client

Declaration
Client = 2

Host

Declaration
Host = 3
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkMatchChecker/index.html b/docs/reference/Mirage/NetworkMatchChecker/index.html new file mode 100644 index 00000000000..a2c78895c81 --- /dev/null +++ b/docs/reference/Mirage/NetworkMatchChecker/index.html @@ -0,0 +1,21 @@ + + + + + + +NetworkMatchChecker | Mirage Networking + + + + +
+

Class NetworkMatchChecker

Component that controls visibility of networked objects based on match id. +Any object with this component on it will only be visible to other objects in the same match. +This would be used to isolate players to their respective matches within a single game server instance.

Inheritance
System.Object
Mirage.NetworkBehaviour
Mirage.NetworkVisibility
Inherited Members
Show

Mirage.NetworkVisibility.OnVisibilityChanged

Mirage.NetworkBehaviour._nextSyncTime

Mirage.NetworkBehaviour.SyncSettings

Mirage.NetworkBehaviour.IsServer

Mirage.NetworkBehaviour.IsClient

Mirage.NetworkBehaviour.IsLocalClient

Mirage.NetworkBehaviour.IsHost

Mirage.NetworkBehaviour.IsLocalPlayer

Mirage.NetworkBehaviour.IsServerOnly

Mirage.NetworkBehaviour.IsClientOnly

Mirage.NetworkBehaviour.HasAuthority

Mirage.NetworkBehaviour.NetId

Mirage.NetworkBehaviour.Server

Mirage.NetworkBehaviour.ServerObjectManager

Mirage.NetworkBehaviour.Client

Mirage.NetworkBehaviour.ClientObjectManager

Mirage.NetworkBehaviour.Owner

Mirage.NetworkBehaviour.World

Mirage.NetworkBehaviour.NetworkTime

Mirage.NetworkBehaviour.BehaviourId

Mirage.NetworkBehaviour.SyncVarDirtyBits

Mirage.NetworkBehaviour.AnySyncObjectDirty

Mirage.NetworkBehaviour.syncObjects

Mirage.NetworkBehaviour.Identity

Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND

Mirage.NetworkBehaviour.ComponentIndex

Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)

Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()

Mirage.NetworkBehaviour.SyncVarEqual<T>(T, T)

Mirage.NetworkBehaviour.ClearDirtyBits()

Mirage.NetworkBehaviour.AnyDirtyBits()

Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.GetRpcCount()

Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)

Syntax
public class NetworkMatchChecker : NetworkVisibility, INetworkVisibility

Fields

currentMatchDebug

Declaration
public string currentMatchDebug

Properties

MatchId

Set this to the same value on all networked objects that belong to a given match

Declaration
public Guid MatchId { get; set; }

Methods

Awake()

Declaration
public void Awake()

OnStartServer()

Declaration
public void OnStartServer()

OnCheckObserver(INetworkPlayer)

Callback used by the visibility system to determine if an observer (player) can see this object. +If this function returns true, the network connection will be added as an observer.

Declaration
public override bool OnCheckObserver(INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerNetwork connection of a player.
Returns
TypeDescription
System.BooleanTrue if the player can see this object.

OnRebuildObservers(HashSet<INetworkPlayer>, Boolean)

Callback used by the visibility system to (re)construct the set of observers that can see this object. +Implementations of this callback should add network connections of players that can see this object to the observers set.

Declaration
public override void OnRebuildObservers(HashSet<INetworkPlayer> observers, bool initialize)
Parameters
TypeNameDescription
System.Collections.Generic.HashSet<Mirage.INetworkPlayer>observersThe new set of observers for this object.
System.BooleaninitializeTrue if the set of observers is being built for the first time.
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkMessageAttribute/index.html b/docs/reference/Mirage/NetworkMessageAttribute/index.html new file mode 100644 index 00000000000..7d2f88f2d91 --- /dev/null +++ b/docs/reference/Mirage/NetworkMessageAttribute/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkMessageAttribute | Mirage Networking + + + + +
+

Class NetworkMessageAttribute

Tell the weaver to generate reader and writer for a class

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct)]
public class NetworkMessageAttribute : Attribute, _Attribute
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkMethodAttribute/index.html b/docs/reference/Mirage/NetworkMethodAttribute/index.html new file mode 100644 index 00000000000..e9aac7f3975 --- /dev/null +++ b/docs/reference/Mirage/NetworkMethodAttribute/index.html @@ -0,0 +1,19 @@ + + + + + + +NetworkMethodAttribute | Mirage Networking + + + + +
+

Class NetworkMethodAttribute

Prevents this method from running unless the NetworkFlags match the current state +Can only be used inside a NetworkBehaviour

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Method)]
public class NetworkMethodAttribute : Attribute, _Attribute

Constructors

NetworkMethodAttribute(NetworkFlags)

Declaration
public NetworkMethodAttribute(NetworkFlags flags)
Parameters
TypeNameDescription
Mirage.NetworkFlagsflags

Fields

error

If true, if called incorrectly method will throw. +If false, no error is thrown, but the method won't execute.

useful for unity built in methods such as Await, Update, Start, etc.

Declaration
public bool error
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkPingDisplay/index.html b/docs/reference/Mirage/NetworkPingDisplay/index.html new file mode 100644 index 00000000000..0bf99770e16 --- /dev/null +++ b/docs/reference/Mirage/NetworkPingDisplay/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkPingDisplay | Mirage Networking + + + + +
+

Class NetworkPingDisplay

Component that will display the clients ping in milliseconds

Inheritance
System.Object
Syntax
public class NetworkPingDisplay : MonoBehaviour

Fields

Client

Declaration
public NetworkClient Client

NetworkPingLabelText

Declaration
public Text NetworkPingLabelText
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkPingMessage/index.html b/docs/reference/Mirage/NetworkPingMessage/index.html new file mode 100644 index 00000000000..23b895b1fe1 --- /dev/null +++ b/docs/reference/Mirage/NetworkPingMessage/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkPingMessage | Mirage Networking + + + + +
+

Struct NetworkPingMessage

Syntax
public struct NetworkPingMessage

Fields

ClientTime

Declaration
public double ClientTime
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkPlayer/index.html b/docs/reference/Mirage/NetworkPlayer/index.html new file mode 100644 index 00000000000..e95bb9e8bb7 --- /dev/null +++ b/docs/reference/Mirage/NetworkPlayer/index.html @@ -0,0 +1,27 @@ + + + + + + +NetworkPlayer | Mirage Networking + + + + +
+

Class NetworkPlayer

A High level network connection. This is used for connections from client-to-server and for connection from server-to-client.

Inheritance
System.Object
Inherited Members
Show
Syntax
public sealed class NetworkPlayer : INetworkPlayer, IMessageSender, IVisibilityTracker, IObjectOwner, ISceneLoader

Constructors

NetworkPlayer(IConnection, Boolean)

Creates a new NetworkConnection with the specified address and connectionId

Declaration
public NetworkPlayer(IConnection connection, bool isHost)
Parameters
TypeNameDescription
Mirage.SocketLayer.IConnectionconnection
System.BooleanisHost

Properties

IsHost

Declaration
public bool IsHost { get; }

Authentication

Authentication information for this NetworkPlayer

Declaration
public PlayerAuthentication Authentication { get; }

IsAuthenticated

Helper methods to check if Authentication is set

Declaration
public bool IsAuthenticated { get; }

SceneIsReady

Flag that tells us if the scene has fully loaded in for player. +This property is read-only. It is set by the system on the client when the scene has fully loaded, and set by the system on the server when a ready message is received from a client. +A client that is ready is sent spawned objects by the server and updates to the state of spawned objects. A client that is not ready is not sent spawned objects. +Starts as true, when a client connects it is assumed that it is already in a ready scene. It will be set to not ready if NetworkSceneManager loads a scene

Declaration
public bool SceneIsReady { get; set; }

HasCharacter

Checks if this player has a

Declaration
public bool HasCharacter { get; }

Address

The IP address / URL / FQDN associated with the connection. +Can be useful for a game master to do IP Bans etc.

Declaration
public IEndPoint Address { get; }

Connection

Declaration
public IConnection Connection { get; }

VisList

List of all networkIdentity that this player can see +Only valid on server

Declaration
public IReadOnlyCollection<NetworkIdentity> VisList { get; }

OwnedObjects

Declaration
public IReadOnlyCollection<NetworkIdentity> OwnedObjects { get; }

Identity

The NetworkIdentity for this connection.

Declaration
public NetworkIdentity Identity { get; set; }

Methods

SetAuthentication(PlayerAuthentication, Boolean)

Declaration
public void SetAuthentication(PlayerAuthentication authentication, bool allowReplace)
Parameters
TypeNameDescription
Mirage.Authentication.PlayerAuthenticationauthentication
System.BooleanallowReplace

Disconnect()

Disconnects the player. +A disconnected player can not send messages

Declaration
public void Disconnect()

MarkAsDisconnected()

Marks player as disconnected, used when the disconnect call is from peer +A disconnected player can not send messages

Declaration
public void MarkAsDisconnected()

Send<T>(T, Channel)

This sends a network message to the connection.

Declaration
public void Send<T>(T message, Channel channelId = Channel.Reliable)
Parameters
TypeNameDescription
Tmessage
Mirage.ChannelchannelIdThe transport layer channel to send on.

Send(ArraySegment<Byte>, Channel)

Sends a block of data +Only use this method if data has message Id already included, otherwise receives wont know how to handle it. Otherwise use (T, int)">

Declaration
public void Send(ArraySegment<byte> segment, Channel channelId = Channel.Reliable)
Parameters
TypeNameDescription
System.ArraySegment<System.Byte>segment
Mirage.ChannelchannelId

Send<T>(T, INotifyCallBack)

This sends a network message to the connection.

Declaration
public void Send<T>(T message, INotifyCallBack callBacks)
Parameters
TypeNameDescription
Tmessage
Mirage.SocketLayer.INotifyCallBackcallBacks

ToString()

Declaration
public override string ToString()
Returns
TypeDescription
System.String

AddToVisList(NetworkIdentity)

Declaration
public void AddToVisList(NetworkIdentity identity)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity

RemoveFromVisList(NetworkIdentity)

Declaration
public void RemoveFromVisList(NetworkIdentity identity)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity

ContainsInVisList(NetworkIdentity)

Checks if player can see NetworkIdentity

Declaration
public bool ContainsInVisList(NetworkIdentity identity)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity
Returns
TypeDescription
System.Boolean

RemoveAllVisibleObjects()

Removes all objects that this player can see +This is called when loading a new scene

Declaration
public void RemoveAllVisibleObjects()

AddOwnedObject(NetworkIdentity)

Declaration
public void AddOwnedObject(NetworkIdentity identity)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity

RemoveOwnedObject(NetworkIdentity)

Declaration
public void RemoveOwnedObject(NetworkIdentity identity)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity

RemoveAllOwnedObject(Boolean)

Declaration
public void RemoveAllOwnedObject(bool sendAuthorityChangeEvent)
Parameters
TypeNameDescription
System.BooleansendAuthorityChangeEvent

DestroyOwnedObjects()

Destroy all objects owned by this player +NOTE: only destroyed objects that are currently spawned

Declaration
public void DestroyOwnedObjects()
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkPongMessage/index.html b/docs/reference/Mirage/NetworkPongMessage/index.html new file mode 100644 index 00000000000..713779a0544 --- /dev/null +++ b/docs/reference/Mirage/NetworkPongMessage/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkPongMessage | Mirage Networking + + + + +
+

Struct NetworkPongMessage

Syntax
public struct NetworkPongMessage

Fields

ClientTime

Declaration
public double ClientTime

ServerTime

Declaration
public double ServerTime
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkPrefabs/index.html b/docs/reference/Mirage/NetworkPrefabs/index.html new file mode 100644 index 00000000000..56ff5875767 --- /dev/null +++ b/docs/reference/Mirage/NetworkPrefabs/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkPrefabs | Mirage Networking + + + + +
+

Class NetworkPrefabs

A scriptable object that contains a list of prefabs that can be spawned on the network.

Inheritance
System.Object
Syntax
public sealed class NetworkPrefabs : ScriptableObject

Fields

Prefabs

Declaration
public List<NetworkIdentity> Prefabs
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkProximityChecker/index.html b/docs/reference/Mirage/NetworkProximityChecker/index.html new file mode 100644 index 00000000000..9bd010b599b --- /dev/null +++ b/docs/reference/Mirage/NetworkProximityChecker/index.html @@ -0,0 +1,21 @@ + + + + + + +NetworkProximityChecker | Mirage Networking + + + + +
+

Class NetworkProximityChecker

Component that controls visibility of networked objects for players. +Any object with this component on it will not be visible to players more than a (configurable) distance away.

Inheritance
System.Object
Mirage.NetworkBehaviour
Mirage.NetworkVisibility
Inherited Members
Show

Mirage.NetworkVisibility.OnVisibilityChanged

Mirage.NetworkBehaviour._nextSyncTime

Mirage.NetworkBehaviour.SyncSettings

Mirage.NetworkBehaviour.IsServer

Mirage.NetworkBehaviour.IsClient

Mirage.NetworkBehaviour.IsLocalClient

Mirage.NetworkBehaviour.IsHost

Mirage.NetworkBehaviour.IsLocalPlayer

Mirage.NetworkBehaviour.IsServerOnly

Mirage.NetworkBehaviour.IsClientOnly

Mirage.NetworkBehaviour.HasAuthority

Mirage.NetworkBehaviour.NetId

Mirage.NetworkBehaviour.Server

Mirage.NetworkBehaviour.ServerObjectManager

Mirage.NetworkBehaviour.Client

Mirage.NetworkBehaviour.ClientObjectManager

Mirage.NetworkBehaviour.Owner

Mirage.NetworkBehaviour.World

Mirage.NetworkBehaviour.NetworkTime

Mirage.NetworkBehaviour.BehaviourId

Mirage.NetworkBehaviour.SyncVarDirtyBits

Mirage.NetworkBehaviour.AnySyncObjectDirty

Mirage.NetworkBehaviour.syncObjects

Mirage.NetworkBehaviour.Identity

Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND

Mirage.NetworkBehaviour.ComponentIndex

Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)

Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()

Mirage.NetworkBehaviour.SyncVarEqual<T>(T, T)

Mirage.NetworkBehaviour.ClearDirtyBits()

Mirage.NetworkBehaviour.AnyDirtyBits()

Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.GetRpcCount()

Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)

Syntax
public class NetworkProximityChecker : NetworkVisibility, INetworkVisibility

Fields

VisibilityRange

The maximim range that objects will be visible at.

Declaration
public int VisibilityRange

VisibilityUpdateInterval

How often (in seconds) that this object should update the list of observers that can see it.

Declaration
public float VisibilityUpdateInterval

ForceHidden

Flag to force this object to be hidden for players. +If this object is a player object, it will not be hidden for that player.

Declaration
public bool ForceHidden

Methods

Awake()

Declaration
public void Awake()

OnCheckObserver(INetworkPlayer)

Callback used by the visibility system to determine if an observer (player) can see this object. +If this function returns true, the network connection will be added as an observer.

Declaration
public override bool OnCheckObserver(INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerNetwork connection of a player.
Returns
TypeDescription
System.BooleanTrue if the player can see this object.

OnRebuildObservers(HashSet<INetworkPlayer>, Boolean)

Callback used by the visibility system to (re)construct the set of observers that can see this object. +Implementations of this callback should add network connections of players that can see this object to the observers set.

Declaration
public override void OnRebuildObservers(HashSet<INetworkPlayer> observers, bool initialize)
Parameters
TypeNameDescription
System.Collections.Generic.HashSet<Mirage.INetworkPlayer>observersThe new set of observers for this object.
System.BooleaninitializeTrue if the set of observers is being built for the first time.
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkSceneChecker/index.html b/docs/reference/Mirage/NetworkSceneChecker/index.html new file mode 100644 index 00000000000..469fb81b09a --- /dev/null +++ b/docs/reference/Mirage/NetworkSceneChecker/index.html @@ -0,0 +1,22 @@ + + + + + + +NetworkSceneChecker | Mirage Networking + + + + +
+

Class NetworkSceneChecker

Component that controls visibility of networked objects between scenes. +Any object with this component on it will only be visible to other objects in the same scene +This would be used when the server has multiple additive subscenes loaded to isolate players to their respective subscenes

Inheritance
System.Object
Mirage.NetworkBehaviour
Mirage.NetworkVisibility
Inherited Members
Show

Mirage.NetworkVisibility.OnVisibilityChanged

Mirage.NetworkBehaviour._nextSyncTime

Mirage.NetworkBehaviour.SyncSettings

Mirage.NetworkBehaviour.IsServer

Mirage.NetworkBehaviour.IsClient

Mirage.NetworkBehaviour.IsLocalClient

Mirage.NetworkBehaviour.IsHost

Mirage.NetworkBehaviour.IsLocalPlayer

Mirage.NetworkBehaviour.IsServerOnly

Mirage.NetworkBehaviour.IsClientOnly

Mirage.NetworkBehaviour.HasAuthority

Mirage.NetworkBehaviour.NetId

Mirage.NetworkBehaviour.Server

Mirage.NetworkBehaviour.ServerObjectManager

Mirage.NetworkBehaviour.Client

Mirage.NetworkBehaviour.ClientObjectManager

Mirage.NetworkBehaviour.Owner

Mirage.NetworkBehaviour.World

Mirage.NetworkBehaviour.NetworkTime

Mirage.NetworkBehaviour.BehaviourId

Mirage.NetworkBehaviour.SyncVarDirtyBits

Mirage.NetworkBehaviour.AnySyncObjectDirty

Mirage.NetworkBehaviour.syncObjects

Mirage.NetworkBehaviour.Identity

Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND

Mirage.NetworkBehaviour.ComponentIndex

Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)

Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()

Mirage.NetworkBehaviour.SyncVarEqual<T>(T, T)

Mirage.NetworkBehaviour.ClearDirtyBits()

Mirage.NetworkBehaviour.AnyDirtyBits()

Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.GetRpcCount()

Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)

Syntax
[Obsolete("This checker is inefficient, use SimpleSceneChecker instead")]
public class NetworkSceneChecker : NetworkVisibility, INetworkVisibility

Fields

forceHidden

Flag to force this object to be hidden from all observers. +If this object is a player object, it will not be hidden for that client.

Declaration
public bool forceHidden

Methods

OnStartServer()

Declaration
public void OnStartServer()

OnCheckObserver(INetworkPlayer)

Callback used by the visibility system to determine if an observer (player) can see this object. +If this function returns true, the network connection will be added as an observer.

Declaration
public override bool OnCheckObserver(INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerNetwork connection of a player.
Returns
TypeDescription
System.BooleanTrue if the player can see this object.

OnRebuildObservers(HashSet<INetworkPlayer>, Boolean)

Callback used by the visibility system to (re)construct the set of observers that can see this object. +Implementations of this callback should add network connections of players that can see this object to the observers set.

Declaration
public override void OnRebuildObservers(HashSet<INetworkPlayer> observers, bool initialize)
Parameters
TypeNameDescription
System.Collections.Generic.HashSet<Mirage.INetworkPlayer>observersThe new set of observers for this object.
System.BooleaninitializeTrue if the set of observers is being built for the first time.
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkSceneManager/index.html b/docs/reference/Mirage/NetworkSceneManager/index.html new file mode 100644 index 00000000000..8e61501977d --- /dev/null +++ b/docs/reference/Mirage/NetworkSceneManager/index.html @@ -0,0 +1,32 @@ + + + + + + +NetworkSceneManager | Mirage Networking + + + + +
+

Class NetworkSceneManager

NetworkSceneManager is an optional component that helps keep scene in sync between server and client. +The loads scenes as instructed by the . +The controls the currently active Scene and any additive Load/Unload. +when a client connect NetworkSceneManager will send a message telling the new client to load the scene that is active on the server

Inheritance
System.Object
Syntax
public class NetworkSceneManager : MonoBehaviour

Fields

Client

Declaration
public NetworkClient Client

Server

Declaration
public NetworkServer Server

ServerObjectManager

Declaration
public ServerObjectManager ServerObjectManager

ClientObjectManager

Declaration
public ClientObjectManager ClientObjectManager

SendAdditiveScenesOnAuthenticate

Declaration
public bool SendAdditiveScenesOnAuthenticate

DontDestroy

Sets the NetworksSceneManagers GameObject to DontDestroyOnLoad. Default = true.

Declaration
public bool DontDestroy

SceneLoadingAsyncOperationInfo

Information on any scene that is currently being loaded.

Declaration
public AsyncOperation SceneLoadingAsyncOperationInfo

Properties

ActiveScenePath

The path of the current active scene. +If using additive scenes this will be the first scene. +Value from

Declaration
public string ActiveScenePath { get; }

ServerSceneData

Collection of scenes and which player's are in those scenes.

Declaration
public IReadOnlyDictionary<Scene, HashSet<INetworkPlayer>> ServerSceneData { get; }

OnClientStartedSceneChange

Event fires when the Client starts changing scene.

Declaration
public SceneChangeStartedEvent OnClientStartedSceneChange { get; }

OnClientFinishedSceneChange

Event fires after the Client has completed its scene change.

Declaration
public SceneChangeFinishedEvent OnClientFinishedSceneChange { get; }

OnServerStartedSceneChange

Event fires before Server changes scene.

Declaration
public SceneChangeStartedEvent OnServerStartedSceneChange { get; }

OnServerFinishedSceneChange

Event fires after Server has completed scene change.

Declaration
public SceneChangeFinishedEvent OnServerFinishedSceneChange { get; }

OnPlayerSceneReady

Event fires On the server, after Client sends to the server

Declaration
public PlayerSceneChangeEvent OnPlayerSceneReady { get; }

Methods

Start()

Declaration
public virtual void Start()

OnDestroy()

Declaration
public virtual void OnDestroy()

IsPlayerInScene(Scene, INetworkPlayer)

Check whether or not the player is in a specific scene or not.

Declaration
public bool IsPlayerInScene(Scene scene, INetworkPlayer player)
Parameters
TypeNameDescription
ScenesceneThe scene we want to check in.
Mirage.INetworkPlayerplayerThe player we want to check for.
Returns
TypeDescription
System.BooleanReturns true or false if the player is in the scene specified.

ScenesPlayerIsIn(INetworkPlayer)

What scene is this specific player currently in.

Declaration
public Scene[] ScenesPlayerIsIn(INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerThe player we want to check against.
Returns
TypeDescription
Scene[]Returns back a array of scene's the player is currently in.

ScenesPlayerIsInNonAlloc(INetworkPlayer, List<Scene>)

Declaration
public void ScenesPlayerIsInNonAlloc(INetworkPlayer player, List<Scene> scenes)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayer
System.Collections.Generic.List<Scene>scenes

ClientStartSceneMessage(INetworkPlayer, SceneMessage)

Received message from server to start loading scene or scenes.

Default implementation is to load main activate scene server is using and load any +other additive scenes in background and notify event handler. If this is not intended +behavior you need please override this function.

Declaration
public virtual void ClientStartSceneMessage(INetworkPlayer player, SceneMessage message)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayer
Mirage.SceneMessagemessage

ClientFinishedLoadingSceneMessage(INetworkPlayer, SceneReadyMessage)

Received message from server that it has finished loading the scene.

Default implementation will set AllowSceneActivation = true and invoke event handler. +If this is not good enough intended behavior then override this method.

Declaration
protected virtual void ClientFinishedLoadingSceneMessage(INetworkPlayer player, SceneReadyMessage message)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerThe player who sent the message.
Mirage.SceneReadyMessagemessageThe message data coming back from server.

ClientNotReadyMessage(INetworkPlayer, SceneNotReadyMessage)

Received message that player is not ready.

Default implementation is to set player to not ready.

Declaration
protected virtual void ClientNotReadyMessage(INetworkPlayer player, SceneNotReadyMessage message)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerThe player that is currently not ready.
Mirage.SceneNotReadyMessagemessageThe message data coming in.

SetSceneIsReady()

Signal that the client connection is ready to enter the game. +This could be for example when a client enters an ongoing game and has finished loading the current scene. The server should respond to the message with an appropriate handler which instantiates the players object for example.

Declaration
public void SetSceneIsReady()

ServerLoadForPlayers(String, IEnumerable<INetworkPlayer>, Boolean, SceneOperation)

Loads a scene on players but NOT on server +Note: does not load for Host player, they should be loaded using server methods instead

Declaration
public void ServerLoadForPlayers(string scenePath, IEnumerable<INetworkPlayer> players, bool shouldClientLoadOrUnloadNormally, SceneOperation sceneOperation = SceneOperation.Normal)
Parameters
TypeNameDescription
System.StringscenePath
System.Collections.Generic.IEnumerable<Mirage.INetworkPlayer>players
System.BooleanshouldClientLoadOrUnloadNormally
Mirage.SceneOperationsceneOperation

ServerSceneUnLoading(Scene, IEnumerable<INetworkPlayer>)

Unload a specific scene from server and clients

Declaration
public void ServerSceneUnLoading(Scene scene, IEnumerable<INetworkPlayer> players)
Parameters
TypeNameDescription
ScenesceneWhat scene do we want to tell server and clients to unload.
System.Collections.Generic.IEnumerable<Mirage.INetworkPlayer>playersThe players we want to tell to unload the scene.

ServerSceneUnLoadingAsync(Scene, IEnumerable<INetworkPlayer>)

Unload a specific scene from server and clients

Declaration
public UniTask ServerSceneUnLoadingAsync(Scene scene, IEnumerable<INetworkPlayer> players)
Parameters
TypeNameDescription
ScenesceneWhat scene do we want to tell server and clients to unload.
System.Collections.Generic.IEnumerable<Mirage.INetworkPlayer>playersThe players we want to tell to unload the scene.
Returns
TypeDescription
Cysharp.Threading.Tasks.UniTask

ServerLoadSceneNormal(String, Nullable<LoadSceneParameters>)

Allows server to fully load in a new scene and override current active scene.

Declaration
public void ServerLoadSceneNormal(string scenePath, LoadSceneParameters? sceneLoadParameters = default(LoadSceneParameters? ))
Parameters
TypeNameDescription
System.StringscenePathThe full path to the scene file or the name of the scene.
System.Nullable<LoadSceneParameters>sceneLoadParametersWhat settings should we be using for physics scene loading.

ServerLoadSceneNormalAsync(String, Nullable<LoadSceneParameters>)

Allows server to fully load in a new scene and override current active scene.

Declaration
public UniTask ServerLoadSceneNormalAsync(string scenePath, LoadSceneParameters? sceneLoadParameters = default(LoadSceneParameters? ))
Parameters
TypeNameDescription
System.StringscenePathThe full path to the scene file or the name of the scene.
System.Nullable<LoadSceneParameters>sceneLoadParametersWhat settings should we be using for physics scene loading.
Returns
TypeDescription
Cysharp.Threading.Tasks.UniTask

ServerLoadSceneAdditively(String, IEnumerable<INetworkPlayer>, Boolean, Nullable<LoadSceneParameters>)

Allows server to fully load in another scene on top of current active scene.

Declaration
public void ServerLoadSceneAdditively(string scenePath, IEnumerable<INetworkPlayer> players, bool shouldClientLoadNormally = false, LoadSceneParameters? sceneLoadParameters = default(LoadSceneParameters? ))
Parameters
TypeNameDescription
System.StringscenePathThe full path to the scene file or the name of the scene.
System.Collections.Generic.IEnumerable<Mirage.INetworkPlayer>playersCollection of player's that are receiving the new scene load.
System.BooleanshouldClientLoadNormallyShould the clients load this additively too or load it full normal scene change.
System.Nullable<LoadSceneParameters>sceneLoadParametersWhat settings should we be using for physics scene loading.

ServerLoadSceneAdditivelyAsync(String, IEnumerable<INetworkPlayer>, Boolean, Nullable<LoadSceneParameters>)

Allows server to fully load in another scene on top of current active scene.

Declaration
public UniTask ServerLoadSceneAdditivelyAsync(string scenePath, IEnumerable<INetworkPlayer> players, bool shouldClientLoadNormally = false, LoadSceneParameters? sceneLoadParameters = default(LoadSceneParameters? ))
Parameters
TypeNameDescription
System.StringscenePathThe full path to the scene file or the name of the scene.
System.Collections.Generic.IEnumerable<Mirage.INetworkPlayer>playersCollection of player's that are receiving the new scene load.
System.BooleanshouldClientLoadNormallyShould the clients load this additively too or load it full normal scene change.
System.Nullable<LoadSceneParameters>sceneLoadParametersWhat settings should we be using for physics scene loading.
Returns
TypeDescription
Cysharp.Threading.Tasks.UniTask

ServerUnloadSceneAdditively(Scene, IEnumerable<INetworkPlayer>)

Allows server to fully unload a scene additively.

Declaration
public void ServerUnloadSceneAdditively(Scene scene, IEnumerable<INetworkPlayer> players)
Parameters
TypeNameDescription
ScenesceneThe scene handle which we want to unload additively.
System.Collections.Generic.IEnumerable<Mirage.INetworkPlayer>playersCollection of player's that are receiving the new scene unload.

ServerUnloadSceneAdditivelyAsync(Scene, IEnumerable<INetworkPlayer>)

Allows server to fully unload a scene additively.

Declaration
public UniTask ServerUnloadSceneAdditivelyAsync(Scene scene, IEnumerable<INetworkPlayer> players)
Parameters
TypeNameDescription
ScenesceneThe scene handle which we want to unload additively.
System.Collections.Generic.IEnumerable<Mirage.INetworkPlayer>playersCollection of player's that are receiving the new scene unload.
Returns
TypeDescription
Cysharp.Threading.Tasks.UniTask

OnServerAuthenticated(INetworkPlayer)

When player authenticates to server we send a message to them to load up main scene and +any other scenes that are loaded on server.

Default implementation takes main activate scene as main and any other loaded scenes and sends it to player's +Please override this function if this is not intended behavior for you.

Declaration
protected virtual void OnServerAuthenticated(INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerThe current player that finished authenticating.

OnServerPlayerDisconnected(INetworkPlayer)

When player disconnects from server we will need to clean up info in scenes related to user. +Default implementation we loop through list of scenes and find where this player was in and removed them from list.

Declaration
protected virtual void OnServerPlayerDisconnected(INetworkPlayer disconnectedPlayer)
Parameters
TypeNameDescription
Mirage.INetworkPlayerdisconnectedPlayer

SetAllClientsNotReady(IEnumerable<INetworkPlayer>)

Marks all connected clients as no longer ready.

All clients will no longer be sent state synchronization updates.
The player&apos;s clients can call ClientManager.Ready() again to re-enter the ready state.
This is useful when switching scenes.
Declaration
public void SetAllClientsNotReady(IEnumerable<INetworkPlayer> players = null)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<Mirage.INetworkPlayer>players

SetClientNotReady(INetworkPlayer)

Sets a player as not ready and removes all visible objects +Players that are not ready will not be sent spawn message or state updates. +Players that are not ready do not receive spawned objects or state synchronization updates. They client can be made ready again by calling SetClientReady().

Declaration
public void SetClientNotReady(INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerThe player to make not ready.

GetSceneByPathOrName(String)

Let's us get scene by full path or by its name.

Declaration
public Scene GetSceneByPathOrName(string scenePath)
Parameters
TypeNameDescription
System.StringscenePathThe path or name representing the scene.
Returns
TypeDescription
SceneReturns back correct scene data.
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkServer/index.html b/docs/reference/Mirage/NetworkServer/index.html new file mode 100644 index 00000000000..9af10837296 --- /dev/null +++ b/docs/reference/Mirage/NetworkServer/index.html @@ -0,0 +1,23 @@ + + + + + + +NetworkServer | Mirage Networking + + + + +
+

Class NetworkServer

The NetworkServer.

Inheritance
System.Object
Syntax
public class NetworkServer : MonoBehaviour

Fields

EnablePeerMetrics

Declaration
public bool EnablePeerMetrics

MetricsSize

Declaration
public int MetricsSize

MaxConnections

The maximum number of concurrent network connections to support. Excluding the host player. +This field is only used if the property is null

Declaration
public int MaxConnections

DisconnectOnException

Declaration
public bool DisconnectOnException

RethrowException

Declaration
public bool RethrowException

RunInBackground

Declaration
public bool RunInBackground

Listening

Declaration
public bool Listening

SocketFactory

Declaration
public SocketFactory SocketFactory

ObjectManager

Declaration
public ServerObjectManager ObjectManager

Authenticator

Declaration
public AuthenticatorSettings Authenticator

ManualUpdate

Set to true if you want to manually call and and stop mirage from automatically calling them

Declaration
public bool ManualUpdate

Properties

Metrics

Declaration
public Metrics Metrics { get; }

PeerConfig

Config for peer, if not set will use default settings

Declaration
public Config PeerConfig { get; set; }

PeerPoolMetrics

Declaration
public PoolMetrics? PeerPoolMetrics { get; }

Started

This is invoked when a server is started - including when a host is started.

Declaration
public IAddLateEventUnity Started { get; }

Connected

Declaration
public NetworkPlayerEvent Connected { get; }

Authenticated

Declaration
public NetworkPlayerEvent Authenticated { get; }

Disconnected

Declaration
public NetworkPlayerEvent Disconnected { get; }

Stopped

Declaration
public IAddLateEventUnity Stopped { get; }

OnStartHost

Declaration
public IAddLateEventUnity OnStartHost { get; }

OnStopHost

Declaration
public IAddLateEventUnity OnStopHost { get; }

LocalPlayer

The connection to the host mode client (if any).

Declaration
public INetworkPlayer LocalPlayer { get; }

LocalClient

The host client for this server

Declaration
public NetworkClient LocalClient { get; }

LocalClientActive

True if there is a local client connected to this server (host mode)

Declaration
[Obsolete("use IsHost instead")]
public bool LocalClientActive { get; }

IsHost

True if there is a local client connected to this server (host mode)

Declaration
public bool IsHost { get; }

AllPlayers

All players on server (including unauthenticated players)

Declaration
public IReadOnlyCollection<INetworkPlayer> AllPlayers { get; }

Players

Declaration
[Obsolete("Use AllPlayers or AuthenticatedPlayers instead")]
public IReadOnlyCollection<INetworkPlayer> Players { get; }

AuthenticatedPlayers

List of players that have Authenticated with server

Declaration
public IReadOnlyList<INetworkPlayer> AuthenticatedPlayers { get; }

Active

Checks if the server has been started. +This will be true after NetworkServer.Listen() has been called.

Declaration
public bool Active { get; }

World

Declaration
public NetworkWorld World { get; }

SyncVarSender

Declaration
public SyncVarSender SyncVarSender { get; }

MessageHandler

Declaration
public MessageHandler MessageHandler { get; }

Methods

Stop()

This shuts down the server and disconnects all clients. +If In host mode, this will also stop the local client

Declaration
public void Stop()

StartServer(NetworkClient)

Start the server +If localClient is given then will start in host mode

Declaration
public void StartServer(NetworkClient localClient = null)
Parameters
TypeNameDescription
Mirage.NetworkClientlocalClientif not null then start the server and client in hostmode

UpdateReceive()

Declaration
public void UpdateReceive()

UpdateSent()

Declaration
public void UpdateSent()

SetAuthenticationFailedCallback(Action<INetworkPlayer, AuthenticationResult>)

Declaration
public void SetAuthenticationFailedCallback(Action<INetworkPlayer, AuthenticationResult> callback)
Parameters
TypeNameDescription
System.Action<Mirage.INetworkPlayer, Mirage.Authentication.AuthenticationResult>callback

SendToAll<T>(T, Boolean, Channel)

Declaration
[Obsolete("Use SendToAll(msg, authenticatedOnly, excludeLocalPlayer, channelId) instead")]
public void SendToAll<T>(T msg, bool excludeLocalPlayer, Channel channelId = Channel.Reliable)
Parameters
TypeNameDescription
Tmsg
System.BooleanexcludeLocalPlayer
Mirage.ChannelchannelId

SendToAll<T>(T, Boolean, Boolean, Channel)

Declaration
public void SendToAll<T>(T msg, bool authenticatedOnly, bool excludeLocalPlayer, Channel channelId = Channel.Reliable)
Parameters
TypeNameDescription
Tmsg
System.BooleanauthenticatedOnly
System.BooleanexcludeLocalPlayer
Mirage.ChannelchannelId

SendToMany<T>(IReadOnlyList<INetworkPlayer>, T, Boolean, Channel)

Declaration
public void SendToMany<T>(IReadOnlyList<INetworkPlayer> players, T msg, bool excludeLocalPlayer, Channel channelId = Channel.Reliable)
Parameters
TypeNameDescription
System.Collections.Generic.IReadOnlyList<Mirage.INetworkPlayer>players
Tmsg
System.BooleanexcludeLocalPlayer
Mirage.ChannelchannelId

SendToMany<T>(IEnumerable<INetworkPlayer>, T, Boolean, Channel)

Warning: this will allocate, Use or instead

Declaration
public void SendToMany<T>(IEnumerable<INetworkPlayer> players, T msg, bool excludeLocalPlayer, Channel channelId = Channel.Reliable)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<Mirage.INetworkPlayer>players
Tmsg
System.BooleanexcludeLocalPlayer
Mirage.ChannelchannelId

SendToMany<T, TEnumerator>(TEnumerator, T, Boolean, Channel)

use to avoid allocation of IEnumerator

Declaration
public void SendToMany<T, TEnumerator>(TEnumerator playerEnumerator, T msg, bool excludeLocalPlayer, Channel channelId = Channel.Reliable)
where TEnumerator : struct, IEnumerator<INetworkPlayer>
Parameters
TypeNameDescription
TEnumeratorplayerEnumerator
Tmsg
System.BooleanexcludeLocalPlayer
Mirage.ChannelchannelId

SendToObservers<T>(NetworkIdentity, T, Boolean, Boolean, Channel)

Declaration
public void SendToObservers<T>(NetworkIdentity identity, T msg, bool excludeLocalPlayer, bool excludeOwner, Channel channelId = Channel.Reliable)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity
Tmsg
System.BooleanexcludeLocalPlayer
System.BooleanexcludeOwner
Mirage.ChannelchannelId

SendToMany<T>(List<INetworkPlayer>, T, Channel)

Sends to list of players. +All other SendTo... functions call this, it dooes not do any extra checks, just serializes message if not empty, then sends it

Declaration
public static void SendToMany<T>(List<INetworkPlayer> players, T msg, Channel channelId = Channel.Reliable)
Parameters
TypeNameDescription
System.Collections.Generic.List<Mirage.INetworkPlayer>players
Tmsg
Mirage.ChannelchannelId

SendToMany<T>(IReadOnlyList<INetworkPlayer>, T, Channel)

Sends to list of players. +All other SendTo... functions call this, it dooes not do any extra checks, just serializes message if not empty, then sends it

Declaration
public static void SendToMany<T>(IReadOnlyList<INetworkPlayer> players, T msg, Channel channelId = Channel.Reliable)
Parameters
TypeNameDescription
System.Collections.Generic.IReadOnlyList<Mirage.INetworkPlayer>players
Tmsg
Mirage.ChannelchannelId
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkSpawnSettings/index.html b/docs/reference/Mirage/NetworkSpawnSettings/index.html new file mode 100644 index 00000000000..cb8cec06e44 --- /dev/null +++ b/docs/reference/Mirage/NetworkSpawnSettings/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkSpawnSettings | Mirage Networking + + + + +
+

Struct NetworkSpawnSettings

Spawn Settings for

Syntax
[Serializable]
public struct NetworkSpawnSettings

Constructors

NetworkSpawnSettings(Boolean, Boolean, Boolean, Boolean, SyncActiveOption)

Declaration
public NetworkSpawnSettings(bool sendPosition, bool sendRotation, bool sendScale, bool sendName, SyncActiveOption sendActive)
Parameters
TypeNameDescription
System.BooleansendPosition
System.BooleansendRotation
System.BooleansendScale
System.BooleansendName
Mirage.SyncActiveOptionsendActive

NetworkSpawnSettings(Boolean, Boolean, Boolean)

Declaration
public NetworkSpawnSettings(bool sendPosition, bool sendRotation, bool sendScale)
Parameters
TypeNameDescription
System.BooleansendPosition
System.BooleansendRotation
System.BooleansendScale

Fields

SendPosition

Declaration
public bool SendPosition

SendRotation

Declaration
public bool SendRotation

SendScale

Declaration
public bool SendScale

SendName

Declaration
public bool SendName

SendActive

Declaration
public SyncActiveOption SendActive

Properties

Default

Declaration
public static NetworkSpawnSettings Default { get; }
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkTime/index.html b/docs/reference/Mirage/NetworkTime/index.html new file mode 100644 index 00000000000..48cdbc28ce5 --- /dev/null +++ b/docs/reference/Mirage/NetworkTime/index.html @@ -0,0 +1,23 @@ + + + + + + +NetworkTime | Mirage Networking + + + + +
+

Class NetworkTime

Synchronize time between the server and the clients

Inheritance
System.Object
Inherited Members
Show
Syntax
public class NetworkTime

Constructors

NetworkTime()

Declaration
public NetworkTime()

Fields

PingInterval

how often are we sending ping messages +used to calculate network time and RTT

Declaration
public float PingInterval

PingWindowSize

average out the last few results from Ping

Declaration
public int PingWindowSize

Properties

Time

The time in seconds since the server started.

Declaration
public double Time { get; }

TimeVar

Measurement of the variance of time. +The higher the variance, the less accurate the time is

Declaration
public double TimeVar { get; }

TimeSd

standard deviation of time. +The higher the variance, the less accurate the time is

Declaration
public double TimeSd { get; }

Offset

Clock difference in seconds between the client and the server

Declaration
public double Offset { get; }

Rtt

how long in seconds does it take for a message to go +to the server and come back

Declaration
public double Rtt { get; }

RttVar

measure variance of rtt +the higher the number, the less accurate rtt is

Declaration
public double RttVar { get; }

RttSd

Measure the standard deviation of rtt +the higher the number, the less accurate rtt is

Declaration
public double RttSd { get; }

Methods

Reset()

Declaration
public void Reset()

PingNow(IMessageSender)

Sends right away ignoring lastPingTime

Declaration
public void PingNow(IMessageSender client)
Parameters
TypeNameDescription
Mirage.IMessageSenderclient
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkTransform/index.html b/docs/reference/Mirage/NetworkTransform/index.html new file mode 100644 index 00000000000..6176d06ef06 --- /dev/null +++ b/docs/reference/Mirage/NetworkTransform/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkTransform | Mirage Networking + + + + +
+

Class NetworkTransform

Inheritance
System.Object
Mirage.NetworkBehaviour
Mirage.NetworkTransformBase
Inherited Members
Show

Mirage.NetworkTransformBase.ClientAuthority

Mirage.NetworkTransformBase.LocalPositionSensitivity

Mirage.NetworkTransformBase.LocalRotationSensitivity

Mirage.NetworkTransformBase.LocalScaleSensitivity

Mirage.NetworkBehaviour._nextSyncTime

Mirage.NetworkBehaviour.SyncSettings

Mirage.NetworkBehaviour.IsServer

Mirage.NetworkBehaviour.IsClient

Mirage.NetworkBehaviour.IsLocalClient

Mirage.NetworkBehaviour.IsHost

Mirage.NetworkBehaviour.IsLocalPlayer

Mirage.NetworkBehaviour.IsServerOnly

Mirage.NetworkBehaviour.IsClientOnly

Mirage.NetworkBehaviour.HasAuthority

Mirage.NetworkBehaviour.NetId

Mirage.NetworkBehaviour.Server

Mirage.NetworkBehaviour.ServerObjectManager

Mirage.NetworkBehaviour.Client

Mirage.NetworkBehaviour.ClientObjectManager

Mirage.NetworkBehaviour.Owner

Mirage.NetworkBehaviour.World

Mirage.NetworkBehaviour.NetworkTime

Mirage.NetworkBehaviour.BehaviourId

Mirage.NetworkBehaviour.SyncVarDirtyBits

Mirage.NetworkBehaviour.AnySyncObjectDirty

Mirage.NetworkBehaviour.syncObjects

Mirage.NetworkBehaviour.Identity

Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND

Mirage.NetworkBehaviour.ComponentIndex

Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)

Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()

Mirage.NetworkBehaviour.SyncVarEqual<T>(T, T)

Mirage.NetworkBehaviour.ClearDirtyBits()

Mirage.NetworkBehaviour.AnyDirtyBits()

Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.GetRpcCount()

Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)

Syntax
public class NetworkTransform : NetworkTransformBase

Properties

TargetComponent

Declaration
protected override Transform TargetComponent { get; }
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkTransformBase.DataPoint/index.html b/docs/reference/Mirage/NetworkTransformBase.DataPoint/index.html new file mode 100644 index 00000000000..24d87625f5c --- /dev/null +++ b/docs/reference/Mirage/NetworkTransformBase.DataPoint/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkTransformBase.DataPoint | Mirage Networking + + + + +
+

Class NetworkTransformBase.DataPoint

Inheritance
System.Object
Inherited Members
Show
Syntax
public class DataPoint

Fields

TimeStamp

Declaration
public float TimeStamp

LocalPosition

Declaration
public Vector3 LocalPosition

LocalRotation

Declaration
public Quaternion LocalRotation

LocalScale

Declaration
public Vector3 LocalScale

MovementSpeed

Declaration
public float MovementSpeed
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkTransformBase/index.html b/docs/reference/Mirage/NetworkTransformBase/index.html new file mode 100644 index 00000000000..66532617f48 --- /dev/null +++ b/docs/reference/Mirage/NetworkTransformBase/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkTransformBase | Mirage Networking + + + + +
+

Class NetworkTransformBase

Inheritance
System.Object
Mirage.NetworkBehaviour
Inherited Members
Show

Mirage.NetworkBehaviour._nextSyncTime

Mirage.NetworkBehaviour.SyncSettings

Mirage.NetworkBehaviour.IsServer

Mirage.NetworkBehaviour.IsClient

Mirage.NetworkBehaviour.IsLocalClient

Mirage.NetworkBehaviour.IsHost

Mirage.NetworkBehaviour.IsLocalPlayer

Mirage.NetworkBehaviour.IsServerOnly

Mirage.NetworkBehaviour.IsClientOnly

Mirage.NetworkBehaviour.HasAuthority

Mirage.NetworkBehaviour.NetId

Mirage.NetworkBehaviour.Server

Mirage.NetworkBehaviour.ServerObjectManager

Mirage.NetworkBehaviour.Client

Mirage.NetworkBehaviour.ClientObjectManager

Mirage.NetworkBehaviour.Owner

Mirage.NetworkBehaviour.World

Mirage.NetworkBehaviour.NetworkTime

Mirage.NetworkBehaviour.BehaviourId

Mirage.NetworkBehaviour.SyncVarDirtyBits

Mirage.NetworkBehaviour.AnySyncObjectDirty

Mirage.NetworkBehaviour.syncObjects

Mirage.NetworkBehaviour.Identity

Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND

Mirage.NetworkBehaviour.ComponentIndex

Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)

Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()

Mirage.NetworkBehaviour.SyncVarEqual<T>(T, T)

Mirage.NetworkBehaviour.ClearDirtyBits()

Mirage.NetworkBehaviour.AnyDirtyBits()

Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.GetRpcCount()

Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)

Syntax
[Obsolete("NetworkTransform is not optimzied so should not used in production.")]
public abstract class NetworkTransformBase : NetworkBehaviour

Fields

ClientAuthority

Declaration
public bool ClientAuthority

LocalPositionSensitivity

Declaration
public float LocalPositionSensitivity

LocalRotationSensitivity

Declaration
public float LocalRotationSensitivity

LocalScaleSensitivity

Declaration
public float LocalScaleSensitivity

Properties

TargetComponent

Declaration
protected abstract Transform TargetComponent { get; }

Methods

SerializeIntoWriter(NetworkWriter, Vector3, Quaternion, Vector3)

Declaration
public static void SerializeIntoWriter(NetworkWriter writer, Vector3 position, Quaternion rotation, Vector3 scale)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Vector3position
Quaternionrotation
Vector3scale

OnSerialize(NetworkWriter, Boolean)

Declaration
public override bool OnSerialize(NetworkWriter writer, bool initialState)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
System.BooleaninitialState
Returns
TypeDescription
System.Boolean

OnDeserialize(NetworkReader, Boolean)

Declaration
public override void OnDeserialize(NetworkReader reader, bool initialState)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
System.BooleaninitialState
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkTransformChild/index.html b/docs/reference/Mirage/NetworkTransformChild/index.html new file mode 100644 index 00000000000..2a46b371f14 --- /dev/null +++ b/docs/reference/Mirage/NetworkTransformChild/index.html @@ -0,0 +1,18 @@ + + + + + + +NetworkTransformChild | Mirage Networking + + + + +
+

Class NetworkTransformChild

A component to synchronize the position of child transforms of networked objects. +There must be a NetworkTransform on the root object of the hierarchy. There can be multiple NetworkTransformChild components on an object. This does not use physics for synchronization, it simply synchronizes the localPosition and localRotation of the child transform and lerps towards the received values.

Inheritance
System.Object
Mirage.NetworkBehaviour
Mirage.NetworkTransformBase
Inherited Members
Show

Mirage.NetworkTransformBase.ClientAuthority

Mirage.NetworkTransformBase.LocalPositionSensitivity

Mirage.NetworkTransformBase.LocalRotationSensitivity

Mirage.NetworkTransformBase.LocalScaleSensitivity

Mirage.NetworkBehaviour._nextSyncTime

Mirage.NetworkBehaviour.SyncSettings

Mirage.NetworkBehaviour.IsServer

Mirage.NetworkBehaviour.IsClient

Mirage.NetworkBehaviour.IsLocalClient

Mirage.NetworkBehaviour.IsHost

Mirage.NetworkBehaviour.IsLocalPlayer

Mirage.NetworkBehaviour.IsServerOnly

Mirage.NetworkBehaviour.IsClientOnly

Mirage.NetworkBehaviour.HasAuthority

Mirage.NetworkBehaviour.NetId

Mirage.NetworkBehaviour.Server

Mirage.NetworkBehaviour.ServerObjectManager

Mirage.NetworkBehaviour.Client

Mirage.NetworkBehaviour.ClientObjectManager

Mirage.NetworkBehaviour.Owner

Mirage.NetworkBehaviour.World

Mirage.NetworkBehaviour.NetworkTime

Mirage.NetworkBehaviour.BehaviourId

Mirage.NetworkBehaviour.SyncVarDirtyBits

Mirage.NetworkBehaviour.AnySyncObjectDirty

Mirage.NetworkBehaviour.syncObjects

Mirage.NetworkBehaviour.Identity

Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND

Mirage.NetworkBehaviour.ComponentIndex

Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)

Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()

Mirage.NetworkBehaviour.SyncVarEqual<T>(T, T)

Mirage.NetworkBehaviour.ClearDirtyBits()

Mirage.NetworkBehaviour.AnyDirtyBits()

Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.GetRpcCount()

Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)

Syntax
public class NetworkTransformChild : NetworkTransformBase

Fields

Target

Declaration
public Transform Target

Properties

TargetComponent

Declaration
protected override Transform TargetComponent { get; }
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkVisibility.VisibilityChanged/index.html b/docs/reference/Mirage/NetworkVisibility.VisibilityChanged/index.html new file mode 100644 index 00000000000..e6181475ad1 --- /dev/null +++ b/docs/reference/Mirage/NetworkVisibility.VisibilityChanged/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkVisibility.VisibilityChanged | Mirage Networking + + + + +
+

Delegate NetworkVisibility.VisibilityChanged

Syntax
public delegate void VisibilityChanged(INetworkPlayer player, bool visible);
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkVisibility/index.html b/docs/reference/Mirage/NetworkVisibility/index.html new file mode 100644 index 00000000000..ce450caf7af --- /dev/null +++ b/docs/reference/Mirage/NetworkVisibility/index.html @@ -0,0 +1,20 @@ + + + + + + +NetworkVisibility | Mirage Networking + + + + +
+

Class NetworkVisibility

NetworkBehaviour that calculates if the gameObject should be visible to different players or not

Inheritance
System.Object
Mirage.NetworkBehaviour
Inherited Members
Show

Mirage.NetworkBehaviour._nextSyncTime

Mirage.NetworkBehaviour.SyncSettings

Mirage.NetworkBehaviour.IsServer

Mirage.NetworkBehaviour.IsClient

Mirage.NetworkBehaviour.IsLocalClient

Mirage.NetworkBehaviour.IsHost

Mirage.NetworkBehaviour.IsLocalPlayer

Mirage.NetworkBehaviour.IsServerOnly

Mirage.NetworkBehaviour.IsClientOnly

Mirage.NetworkBehaviour.HasAuthority

Mirage.NetworkBehaviour.NetId

Mirage.NetworkBehaviour.Server

Mirage.NetworkBehaviour.ServerObjectManager

Mirage.NetworkBehaviour.Client

Mirage.NetworkBehaviour.ClientObjectManager

Mirage.NetworkBehaviour.Owner

Mirage.NetworkBehaviour.World

Mirage.NetworkBehaviour.NetworkTime

Mirage.NetworkBehaviour.BehaviourId

Mirage.NetworkBehaviour.SyncVarDirtyBits

Mirage.NetworkBehaviour.AnySyncObjectDirty

Mirage.NetworkBehaviour.syncObjects

Mirage.NetworkBehaviour.Identity

Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND

Mirage.NetworkBehaviour.ComponentIndex

Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)

Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()

Mirage.NetworkBehaviour.SyncVarEqual<T>(T, T)

Mirage.NetworkBehaviour.ClearDirtyBits()

Mirage.NetworkBehaviour.AnyDirtyBits()

Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.GetRpcCount()

Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)

Syntax
public abstract class NetworkVisibility : NetworkBehaviour, INetworkVisibility

Methods

OnCheckObserver(INetworkPlayer)

Callback used by the visibility system to determine if an observer (player) can see this object. +If this function returns true, the network connection will be added as an observer.

Declaration
public abstract bool OnCheckObserver(INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerNetwork connection of a player.
Returns
TypeDescription
System.BooleanTrue if the player can see this object.

OnRebuildObservers(HashSet<INetworkPlayer>, Boolean)

Callback used by the visibility system to (re)construct the set of observers that can see this object. +Implementations of this callback should add network connections of players that can see this object to the observers set.

NOTE: override this function if you want to optimize this loop in your visibility, +for example if you need to call GetComponent on this object you can call it once at the start of the loop

Declaration
public virtual void OnRebuildObservers(HashSet<INetworkPlayer> observers, bool initialize)
Parameters
TypeNameDescription
System.Collections.Generic.HashSet<Mirage.INetworkPlayer>observersThe new set of observers for this object.
System.BooleaninitializeTrue if the set of observers is being built for the first time.
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkWorld/index.html b/docs/reference/Mirage/NetworkWorld/index.html new file mode 100644 index 00000000000..246edc2074e --- /dev/null +++ b/docs/reference/Mirage/NetworkWorld/index.html @@ -0,0 +1,18 @@ + + + + + + +NetworkWorld | Mirage Networking + + + + +
+

Class NetworkWorld

Holds collection of spawned network objects +This class works on both server and client

Inheritance
System.Object
Inherited Members
Show
Syntax
public class NetworkWorld : IObjectLocator

Constructors

NetworkWorld()

Declaration
public NetworkWorld()

Properties

Time

Time kept in this world

Declaration
public NetworkTime Time { get; }

SpawnedIdentities

Declaration
public IReadOnlyCollection<NetworkIdentity> SpawnedIdentities { get; }

Methods

TryGetIdentity(UInt32, out NetworkIdentity)

Declaration
public bool TryGetIdentity(uint netId, out NetworkIdentity identity)
Parameters
TypeNameDescription
System.UInt32netId
Mirage.NetworkIdentityidentity
Returns
TypeDescription
System.Boolean
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkWorldExtensions/index.html b/docs/reference/Mirage/NetworkWorldExtensions/index.html new file mode 100644 index 00000000000..93d77f4e8a9 --- /dev/null +++ b/docs/reference/Mirage/NetworkWorldExtensions/index.html @@ -0,0 +1,17 @@ + + + + + + +NetworkWorldExtensions | Mirage Networking + + + + +
+

Class NetworkWorldExtensions

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class NetworkWorldExtensions

Methods

AddAndInvokeOnSpawn(NetworkWorld, Action<NetworkIdentity>)

adds an event handler, and invokes it on current objects in world

Declaration
public static void AddAndInvokeOnSpawn(this NetworkWorld world, Action<NetworkIdentity> action)
Parameters
TypeNameDescription
Mirage.NetworkWorldworld
System.Action<Mirage.NetworkIdentity>action

AddAndInvokeOnAuthorityChanged(NetworkWorld, AuthorityChanged)

adds an event handler, and invokes it on current objects in world

Declaration
public static void AddAndInvokeOnAuthorityChanged(this NetworkWorld world, AuthorityChanged action)
Parameters
TypeNameDescription
Mirage.NetworkWorldworld
Mirage.AuthorityChangedaction
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/NetworkedPrefabAttribute/index.html b/docs/reference/Mirage/NetworkedPrefabAttribute/index.html new file mode 100644 index 00000000000..0bfe930c520 --- /dev/null +++ b/docs/reference/Mirage/NetworkedPrefabAttribute/index.html @@ -0,0 +1,18 @@ + + + + + + +NetworkedPrefabAttribute | Mirage Networking + + + + +
+

Class NetworkedPrefabAttribute

Forces the user to provide a prefab that has a NetworkIdentity component and is registered. +Also provides a fix button to fix the prefab if it hasn't been networked.

Inheritance
System.Object
Syntax
[AttributeUsage(AttributeTargets.Field)]
public sealed class NetworkedPrefabAttribute : PropertyAttribute
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/ObjectDestroyMessage/index.html b/docs/reference/Mirage/ObjectDestroyMessage/index.html new file mode 100644 index 00000000000..7b25920725d --- /dev/null +++ b/docs/reference/Mirage/ObjectDestroyMessage/index.html @@ -0,0 +1,17 @@ + + + + + + +ObjectDestroyMessage | Mirage Networking + + + + +
+

Struct ObjectDestroyMessage

Syntax
public struct ObjectDestroyMessage

Fields

NetId

Declaration
public uint NetId
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/ObjectHideMessage/index.html b/docs/reference/Mirage/ObjectHideMessage/index.html new file mode 100644 index 00000000000..d0a0a4669be --- /dev/null +++ b/docs/reference/Mirage/ObjectHideMessage/index.html @@ -0,0 +1,17 @@ + + + + + + +ObjectHideMessage | Mirage Networking + + + + +
+

Struct ObjectHideMessage

Syntax
public struct ObjectHideMessage

Fields

NetId

Declaration
public uint NetId
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/OnlineOfflineScene/index.html b/docs/reference/Mirage/OnlineOfflineScene/index.html new file mode 100644 index 00000000000..6c9f7f5c82b --- /dev/null +++ b/docs/reference/Mirage/OnlineOfflineScene/index.html @@ -0,0 +1,17 @@ + + + + + + +OnlineOfflineScene | Mirage Networking + + + + +
+

Class OnlineOfflineScene

Inheritance
System.Object
Syntax
public class OnlineOfflineScene : MonoBehaviour

Fields

Server

Declaration
public NetworkServer Server

NetworkSceneManager

Declaration
public NetworkSceneManager NetworkSceneManager

OnlineScene

Declaration
public string OnlineScene

OfflineScene

Declaration
public string OfflineScene
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/PipePeerConnection.PipeEndPoint/index.html b/docs/reference/Mirage/PipePeerConnection.PipeEndPoint/index.html new file mode 100644 index 00000000000..be122911e2c --- /dev/null +++ b/docs/reference/Mirage/PipePeerConnection.PipeEndPoint/index.html @@ -0,0 +1,17 @@ + + + + + + +PipePeerConnection.PipeEndPoint | Mirage Networking + + + + +
+

Class PipePeerConnection.PipeEndPoint

Inheritance
System.Object
Inherited Members
Show
Syntax
public class PipeEndPoint : IEndPoint

Methods

IEndPoint.CreateCopy()

Declaration
IEndPoint IEndPoint.CreateCopy()
Returns
TypeDescription
Mirage.SocketLayer.IEndPoint
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/PipePeerConnection/index.html b/docs/reference/Mirage/PipePeerConnection/index.html new file mode 100644 index 00000000000..0b527d1f653 --- /dev/null +++ b/docs/reference/Mirage/PipePeerConnection/index.html @@ -0,0 +1,17 @@ + + + + + + +PipePeerConnection | Mirage Networking + + + + +
+

Class PipePeerConnection

A that is directly sends data to a

Inheritance
System.Object
Inherited Members
Show
Syntax
public class PipePeerConnection : IConnection

Properties

IConnection.EndPoint

Declaration
IEndPoint IConnection.EndPoint { get; }

State

Declaration
public ConnectionState State { get; }

Methods

Create(IDataHandler, IDataHandler, Action, Action)

Declaration
public static (IConnection clientConn, IConnection serverConn) Create(IDataHandler clientHandler, IDataHandler serverHandler, Action clientOnDisconnect, Action serverOnDisconnect)
Parameters
TypeNameDescription
Mirage.SocketLayer.IDataHandlerclientHandler
Mirage.SocketLayer.IDataHandlerserverHandler
System.ActionclientOnDisconnect
System.ActionserverOnDisconnect
Returns
TypeDescription
System.ValueTuple{Mirage.SocketLayer.IConnection,Mirage.SocketLayer.IConnection}

ToString()

Declaration
public override string ToString()
Returns
TypeDescription
System.String

IConnection.FlushBatch()

Declaration
void IConnection.FlushBatch()

IConnection.Disconnect()

Declaration
void IConnection.Disconnect()

SendNotify(Byte[], Int32, Int32)

Declaration
public INotifyToken SendNotify(byte[] packet, int offset, int length)
Parameters
TypeNameDescription
System.Byte[]packet
System.Int32offset
System.Int32length
Returns
TypeDescription
Mirage.SocketLayer.INotifyToken

SendNotify(ArraySegment<Byte>)

Declaration
public INotifyToken SendNotify(ArraySegment<byte> packet)
Parameters
TypeNameDescription
System.ArraySegment<System.Byte>packet
Returns
TypeDescription
Mirage.SocketLayer.INotifyToken

SendNotify(Byte[])

Declaration
public INotifyToken SendNotify(byte[] packet)
Parameters
TypeNameDescription
System.Byte[]packet
Returns
TypeDescription
Mirage.SocketLayer.INotifyToken

SendNotify(Byte[], Int32, Int32, INotifyCallBack)

Declaration
public void SendNotify(byte[] packet, int offset, int length, INotifyCallBack callBacks)
Parameters
TypeNameDescription
System.Byte[]packet
System.Int32offset
System.Int32length
Mirage.SocketLayer.INotifyCallBackcallBacks

SendNotify(ArraySegment<Byte>, INotifyCallBack)

Declaration
public void SendNotify(ArraySegment<byte> packet, INotifyCallBack callBacks)
Parameters
TypeNameDescription
System.ArraySegment<System.Byte>packet
Mirage.SocketLayer.INotifyCallBackcallBacks

SendNotify(Byte[], INotifyCallBack)

Declaration
public void SendNotify(byte[] packet, INotifyCallBack callBacks)
Parameters
TypeNameDescription
System.Byte[]packet
Mirage.SocketLayer.INotifyCallBackcallBacks

SendReliable(Byte[], Int32, Int32)

Declaration
public void SendReliable(byte[] message, int offset, int length)
Parameters
TypeNameDescription
System.Byte[]message
System.Int32offset
System.Int32length

SendReliable(ArraySegment<Byte>)

Declaration
public void SendReliable(ArraySegment<byte> message)
Parameters
TypeNameDescription
System.ArraySegment<System.Byte>message

SendReliable(Byte[])

Declaration
public void SendReliable(byte[] message)
Parameters
TypeNameDescription
System.Byte[]message

SendUnreliable(Byte[], Int32, Int32)

Declaration
public void SendUnreliable(byte[] packet, int offset, int length)
Parameters
TypeNameDescription
System.Byte[]packet
System.Int32offset
System.Int32length

SendUnreliable(ArraySegment<Byte>)

Declaration
public void SendUnreliable(ArraySegment<byte> packet)
Parameters
TypeNameDescription
System.ArraySegment<System.Byte>packet

SendUnreliable(Byte[])

Declaration
public void SendUnreliable(byte[] packet)
Parameters
TypeNameDescription
System.Byte[]packet
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/PlayerSceneChangeEvent/index.html b/docs/reference/Mirage/PlayerSceneChangeEvent/index.html new file mode 100644 index 00000000000..241f42145ef --- /dev/null +++ b/docs/reference/Mirage/PlayerSceneChangeEvent/index.html @@ -0,0 +1,17 @@ + + + + + + +PlayerSceneChangeEvent | Mirage Networking + + + + +
+

Class PlayerSceneChangeEvent

Inheritance
System.Object
Syntax
[Serializable]
public class PlayerSceneChangeEvent : UnityEvent<INetworkPlayer>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/ReadOnlyInspectorAttribute/index.html b/docs/reference/Mirage/ReadOnlyInspectorAttribute/index.html new file mode 100644 index 00000000000..639b7d28be3 --- /dev/null +++ b/docs/reference/Mirage/ReadOnlyInspectorAttribute/index.html @@ -0,0 +1,18 @@ + + + + + + +ReadOnlyInspectorAttribute | Mirage Networking + + + + +
+

Class ReadOnlyInspectorAttribute

Makes field readonly in inspector. +This is useful for fields that are set by code, but are shown iin inpector for debuggiing

Inheritance
System.Object
Syntax
[AttributeUsage(AttributeTargets.Field)]
public sealed class ReadOnlyInspectorAttribute : PropertyAttribute
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/RemoveAuthorityMessage/index.html b/docs/reference/Mirage/RemoveAuthorityMessage/index.html new file mode 100644 index 00000000000..345b7b6d057 --- /dev/null +++ b/docs/reference/Mirage/RemoveAuthorityMessage/index.html @@ -0,0 +1,17 @@ + + + + + + +RemoveAuthorityMessage | Mirage Networking + + + + +
+

Struct RemoveAuthorityMessage

Syntax
public struct RemoveAuthorityMessage

Fields

NetId

Declaration
public uint NetId
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/RemoveCharacterMessage/index.html b/docs/reference/Mirage/RemoveCharacterMessage/index.html new file mode 100644 index 00000000000..4ea36e5b6b4 --- /dev/null +++ b/docs/reference/Mirage/RemoveCharacterMessage/index.html @@ -0,0 +1,17 @@ + + + + + + +RemoveCharacterMessage | Mirage Networking + + + + +
+

Struct RemoveCharacterMessage

Syntax
public struct RemoveCharacterMessage

Fields

KeepAuthority

Declaration
public bool KeepAuthority
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/RpcTarget/index.html b/docs/reference/Mirage/RpcTarget/index.html new file mode 100644 index 00000000000..90b536f5009 --- /dev/null +++ b/docs/reference/Mirage/RpcTarget/index.html @@ -0,0 +1,17 @@ + + + + + + +RpcTarget | Mirage Networking + + + + +
+

Enum RpcTarget

Used by ClientRpc to tell mirage who to send remote call to

Syntax
public enum RpcTarget

Fields

Owner

Sends to the that owns the object

Declaration
Owner = 0

Observers

Sends to all that can see the object

Declaration
Observers = 1

Player

Sends to the that is given as an argument in the RPC function (requires target to be an observer)

Declaration
Player = 2
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SceneAttribute/index.html b/docs/reference/Mirage/SceneAttribute/index.html new file mode 100644 index 00000000000..061e90667e4 --- /dev/null +++ b/docs/reference/Mirage/SceneAttribute/index.html @@ -0,0 +1,17 @@ + + + + + + +SceneAttribute | Mirage Networking + + + + +
+

Class SceneAttribute

Converts a string property into a Scene property in the inspector

Inheritance
System.Object
Syntax
public sealed class SceneAttribute : PropertyAttribute
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SceneChangeFinishedEvent/index.html b/docs/reference/Mirage/SceneChangeFinishedEvent/index.html new file mode 100644 index 00000000000..78279df5ec1 --- /dev/null +++ b/docs/reference/Mirage/SceneChangeFinishedEvent/index.html @@ -0,0 +1,19 @@ + + + + + + +SceneChangeFinishedEvent | Mirage Networking + + + + +
+

Class SceneChangeFinishedEvent

Event fires from INetworkSceneManager when a scene change finishes on either Server or Client. +Scene - Loaded scene +SceneOperation - Scene change type (Normal, Additive Load, Additive Unload).

Inheritance
System.Object
Syntax
[Serializable]
public class SceneChangeFinishedEvent : UnityEvent<Scene, SceneOperation>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SceneChangeStartedEvent/index.html b/docs/reference/Mirage/SceneChangeStartedEvent/index.html new file mode 100644 index 00000000000..869260d6344 --- /dev/null +++ b/docs/reference/Mirage/SceneChangeStartedEvent/index.html @@ -0,0 +1,19 @@ + + + + + + +SceneChangeStartedEvent | Mirage Networking + + + + +
+

Class SceneChangeStartedEvent

Event fires from INetworkSceneManager when a scene change begins on either Server or Client. +Scene - Name or path of the scene that's about to be loaded +SceneOperation - Scene change type (Normal, Additive Load, Additive Unload).

Inheritance
System.Object
Syntax
[Serializable]
public class SceneChangeStartedEvent : UnityEvent<string, SceneOperation>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SceneMessage/index.html b/docs/reference/Mirage/SceneMessage/index.html new file mode 100644 index 00000000000..4f0c89ce18f --- /dev/null +++ b/docs/reference/Mirage/SceneMessage/index.html @@ -0,0 +1,17 @@ + + + + + + +SceneMessage | Mirage Networking + + + + +
+

Struct SceneMessage

Syntax
public struct SceneMessage

Fields

MainActivateScene

Declaration
public string MainActivateScene

SceneOperation

Declaration
public SceneOperation SceneOperation

AdditiveScenes

Declaration
public List<string> AdditiveScenes
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SceneNotReadyMessage/index.html b/docs/reference/Mirage/SceneNotReadyMessage/index.html new file mode 100644 index 00000000000..062113c0004 --- /dev/null +++ b/docs/reference/Mirage/SceneNotReadyMessage/index.html @@ -0,0 +1,18 @@ + + + + + + +SceneNotReadyMessage | Mirage Networking + + + + +
+

Struct SceneNotReadyMessage

Sent to client to mark their scene as not ready +Client can sent once its scene is ready again

Syntax
public struct SceneNotReadyMessage
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SceneOperation/index.html b/docs/reference/Mirage/SceneOperation/index.html new file mode 100644 index 00000000000..eec95af7023 --- /dev/null +++ b/docs/reference/Mirage/SceneOperation/index.html @@ -0,0 +1,17 @@ + + + + + + +SceneOperation | Mirage Networking + + + + +
+

Enum SceneOperation

Syntax
public enum SceneOperation : byte

Fields

Normal

Declaration
Normal = 0

LoadAdditive

Declaration
LoadAdditive = 1

UnloadAdditive

Declaration
UnloadAdditive = 2
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SceneReadyMessage/index.html b/docs/reference/Mirage/SceneReadyMessage/index.html new file mode 100644 index 00000000000..090fefc536d --- /dev/null +++ b/docs/reference/Mirage/SceneReadyMessage/index.html @@ -0,0 +1,17 @@ + + + + + + +SceneReadyMessage | Mirage Networking + + + + +
+

Struct SceneReadyMessage

Sent to indicate the scene is finished loading

Syntax
public struct SceneReadyMessage
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SceneVisibilityChecker/index.html b/docs/reference/Mirage/SceneVisibilityChecker/index.html new file mode 100644 index 00000000000..43fbabda93c --- /dev/null +++ b/docs/reference/Mirage/SceneVisibilityChecker/index.html @@ -0,0 +1,17 @@ + + + + + + +SceneVisibilityChecker | Mirage Networking + + + + +
+

Class SceneVisibilityChecker

Inheritance
System.Object
Mirage.NetworkBehaviour
Mirage.NetworkVisibility
Inherited Members
Show

Mirage.NetworkVisibility.OnVisibilityChanged

Mirage.NetworkBehaviour._nextSyncTime

Mirage.NetworkBehaviour.SyncSettings

Mirage.NetworkBehaviour.IsServer

Mirage.NetworkBehaviour.IsClient

Mirage.NetworkBehaviour.IsLocalClient

Mirage.NetworkBehaviour.IsHost

Mirage.NetworkBehaviour.IsLocalPlayer

Mirage.NetworkBehaviour.IsServerOnly

Mirage.NetworkBehaviour.IsClientOnly

Mirage.NetworkBehaviour.HasAuthority

Mirage.NetworkBehaviour.NetId

Mirage.NetworkBehaviour.Server

Mirage.NetworkBehaviour.ServerObjectManager

Mirage.NetworkBehaviour.Client

Mirage.NetworkBehaviour.ClientObjectManager

Mirage.NetworkBehaviour.Owner

Mirage.NetworkBehaviour.World

Mirage.NetworkBehaviour.NetworkTime

Mirage.NetworkBehaviour.BehaviourId

Mirage.NetworkBehaviour.SyncVarDirtyBits

Mirage.NetworkBehaviour.AnySyncObjectDirty

Mirage.NetworkBehaviour.syncObjects

Mirage.NetworkBehaviour.Identity

Mirage.NetworkBehaviour.COMPONENT_INDEX_NOT_FOUND

Mirage.NetworkBehaviour.ComponentIndex

Mirage.NetworkBehaviour.InitSyncObject(Mirage.Collections.ISyncObject)

Mirage.NetworkBehaviour.UpdateSyncObjectShouldSync()

Mirage.NetworkBehaviour.SyncVarEqual<T>(T, T)

Mirage.NetworkBehaviour.ClearDirtyBits()

Mirage.NetworkBehaviour.AnyDirtyBits()

Mirage.NetworkBehaviour.SerializeObjectsAll(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.SerializeObjectsDelta(Mirage.Serialization.NetworkWriter)

Mirage.NetworkBehaviour.GetRpcCount()

Mirage.NetworkBehaviour.RegisterRpc(Mirage.RemoteCalls.RemoteCallCollection)

Syntax
public class SceneVisibilityChecker : NetworkVisibility, INetworkVisibility

Methods

OnCheckObserver(INetworkPlayer)

Declaration
public override bool OnCheckObserver(INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayer
Returns
TypeDescription
System.Boolean

OnRebuildObservers(HashSet<INetworkPlayer>, Boolean)

Declaration
public override void OnRebuildObservers(HashSet<INetworkPlayer> observers, bool initialize)
Parameters
TypeNameDescription
System.Collections.Generic.HashSet<Mirage.INetworkPlayer>observers
System.Booleaninitialize

MoveToScene(Scene)

Call this function on an object to move it to a new scene and rebuild its observers

Declaration
public void MoveToScene(Scene scene)
Parameters
TypeNameDescription
Scenescene
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/ServerAttribute/index.html b/docs/reference/Mirage/ServerAttribute/index.html new file mode 100644 index 00000000000..f128623dc60 --- /dev/null +++ b/docs/reference/Mirage/ServerAttribute/index.html @@ -0,0 +1,20 @@ + + + + + + +ServerAttribute | Mirage Networking + + + + +
+

Class ServerAttribute

Prevents a method from running if server is not active. +Can only be used inside a NetworkBehaviour

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Method)]
public class ServerAttribute : Attribute, _Attribute

Fields

error

If true, when the method is called from a client, it throws an error +If false, no error is thrown, but the method won't execute +useful for unity built in methods such as Await, Update, Start, etc.

Declaration
public bool error
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/ServerObjectManager/index.html b/docs/reference/Mirage/ServerObjectManager/index.html new file mode 100644 index 00000000000..e132dfadc58 --- /dev/null +++ b/docs/reference/Mirage/ServerObjectManager/index.html @@ -0,0 +1,27 @@ + + + + + + +ServerObjectManager | Mirage Networking + + + + +
+

Class ServerObjectManager

The ServerObjectManager.

Inheritance
System.Object
Syntax
public class ServerObjectManager : MonoBehaviour

Fields

NetIdGenerator

Declaration
public INetIdGenerator NetIdGenerator

Properties

Server

Declaration
public NetworkServer Server { get; }

DefaultVisibility

Declaration
public INetworkVisibility DefaultVisibility { get; }

Methods

ReplaceCharacter(INetworkPlayer, NetworkIdentity, Int32, Boolean)

This replaces the player object for a connection with a different player object. The old player object is not destroyed. +If a connection already has a player object, this can be used to replace that object with a different player object. This does NOT change the ready state of the connection, so it can safely be used while changing scenes.

Declaration
public void ReplaceCharacter(INetworkPlayer player, NetworkIdentity character, int prefabHash, bool keepAuthority = false)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerConnection which is adding the player.
Mirage.NetworkIdentitycharacterPlayer object spawned for the player.
System.Int32prefabHash
System.BooleankeepAuthorityDoes the previous player remain attached to this connection?

ReplaceCharacter(INetworkPlayer, NetworkIdentity, Boolean)

This replaces the player object for a connection with a different player object. The old player object is not destroyed. +If a connection already has a player object, this can be used to replace that object with a different player object. This does NOT change the ready state of the connection, so it can safely be used while changing scenes.

Declaration
public void ReplaceCharacter(INetworkPlayer player, NetworkIdentity identity, bool keepAuthority = false)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerConnection which is adding the player.
Mirage.NetworkIdentityidentityPlayer object spawned for the player.
System.BooleankeepAuthorityDoes the previous player remain attached to this connection?

AddCharacter(INetworkPlayer, NetworkIdentity, Int32)

When is received from a player, the server calls this to associate the character GameObject with the NetworkPlayer. +When a character is added for a player the object is automatically spawned, so you do not need to call ServerObjectManager.Spawn for that object. +This function is used for adding a character, not replacing. If there is already a character then use instead.

Declaration
public void AddCharacter(INetworkPlayer player, NetworkIdentity character, int prefabHash)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerthe Player to add the character to
Mirage.NetworkIdentitycharacterThe Network Object to add to the Player. Can be spawned or unspawned. Calling this method will respawn it.
System.Int32prefabHashNew prefab hash to give to the player, used for dynamically creating objects at runtime.

AddCharacter(INetworkPlayer, NetworkIdentity)

When is received from a player, the server calls this to associate the character GameObject with the NetworkPlayer. +When a character is added for a player the object is automatically spawned, so you do not need to call ServerObjectManager.Spawn for that object. +This function is used for adding a character, not replacing. If there is already a character then use instead.

Declaration
public void AddCharacter(INetworkPlayer player, NetworkIdentity identity)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerthe Player to add the character to
Mirage.NetworkIdentityidentity

RemoveCharacter(INetworkPlayer, Boolean)

Removes the character from a player, with the option to keep the player as the owner of the object

Declaration
public void RemoveCharacter(INetworkPlayer player, bool keepAuthority = false)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayer
System.BooleankeepAuthority

DestroyCharacter(INetworkPlayer, Boolean)

Removes and destroys the character from a player

Declaration
public void DestroyCharacter(INetworkPlayer player, bool destroyServerObject = true)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayer
System.BooleandestroyServerObject

Spawn(NetworkIdentity, Int32, INetworkPlayer)

Assigns prefabHash to the identity and then spawns it with owner

can only be set on an identity if the current value is Empty

This method is useful if you are creating network objects at runtime and both server and client know what  to set on an object
Declaration
public void Spawn(NetworkIdentity identity, int prefabHash, INetworkPlayer owner = null)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity
System.Int32prefabHashThe prefabHash of the object to spawn. Used for custom spawn handlers.
Mirage.INetworkPlayerownerThe connection that has authority over the object

Spawn(NetworkIdentity, INetworkPlayer)

Spawns the identity and keeping owner as

Declaration
public void Spawn(NetworkIdentity identity, INetworkPlayer owner)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity
Mirage.INetworkPlayerowner

Spawn(NetworkIdentity)

Spawns the identity and assigns owner to be it's owner

Declaration
public void Spawn(NetworkIdentity identity)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity

Destroy(GameObject, Boolean)

Destroys this object and corresponding objects on all clients. +Game object to destroy. +Sets if server object will also be destroyed

Declaration
public void Destroy(GameObject gameObject, bool destroyServerObject = true)
Parameters
TypeNameDescription
GameObjectgameObject
System.BooleandestroyServerObject

Destroy(NetworkIdentity, Boolean)

Destroys this object and corresponding objects on all clients. +Game object to destroy. +Sets if server object will also be destroyed

Declaration
public void Destroy(NetworkIdentity identity, bool destroyServerObject = true)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity
System.BooleandestroyServerObject

SpawnSceneObjects()

This causes NetworkIdentity objects in a scene to be spawned on a server.

Calling SpawnObjects() causes all scene objects to be spawned.
It is like calling Spawn() for each of them.
Declaration
public void SpawnSceneObjects()

SpawnVisibleObjects(INetworkPlayer)

Sends spawn message for scene objects and other visible objects to the given player if it has a character

If there is a then this will be called after the client finishes loading the scene and sends

Declaration
public void SpawnVisibleObjects(INetworkPlayer player)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerThe player to spawn objects for

SpawnVisibleObjects(INetworkPlayer, Boolean)

Sends spawn message for scene objects and other visible objects to the given player if it has a character

Declaration
public void SpawnVisibleObjects(INetworkPlayer player, bool ignoreHasCharacter)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerThe player to spawn objects for
System.BooleanignoreHasCharacterIf true will spawn visibile objects even if player does not have a spawned character yet

SpawnVisibleObjects(INetworkPlayer, NetworkIdentity)

Sends spawn message for scene objects and other visible objects to the given player if it has a character

Declaration
public void SpawnVisibleObjects(INetworkPlayer player, NetworkIdentity skip)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerThe player to spawn objects for
Mirage.NetworkIdentityskip

SpawnVisibleObjects(INetworkPlayer, Boolean, NetworkIdentity)

Sends spawn message for scene objects and other visible objects to the given player if it has a character

Declaration
public void SpawnVisibleObjects(INetworkPlayer player, bool ignoreHasCharacter, NetworkIdentity skip)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerThe player to spawn objects for
System.BooleanignoreHasCharacterIf true will spawn visibile objects even if player does not have a spawned character yet
Mirage.NetworkIdentityskipNetworkIdentity to skip when spawning. Can be null

SpawnVisibleObjects(INetworkPlayer, Boolean, HashSet<NetworkIdentity>)

Sends spawn message for scene objects and other visible objects to the given player if it has a character

Declaration
public void SpawnVisibleObjects(INetworkPlayer player, bool ignoreHasCharacter, HashSet<NetworkIdentity> skip)
Parameters
TypeNameDescription
Mirage.INetworkPlayerplayerThe player to spawn objects for
System.BooleanignoreHasCharacterIf true will spawn visibile objects even if player does not have a spawned character yet
System.Collections.Generic.HashSet<Mirage.NetworkIdentity>skipNetworkIdentity to skip when spawning. Can be null
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/ServerObjectManagerExtensions/index.html b/docs/reference/Mirage/ServerObjectManagerExtensions/index.html new file mode 100644 index 00000000000..fc4e82cf94f --- /dev/null +++ b/docs/reference/Mirage/ServerObjectManagerExtensions/index.html @@ -0,0 +1,23 @@ + + + + + + +ServerObjectManagerExtensions | Mirage Networking + + + + +
+

Class ServerObjectManagerExtensions

Extra helper methods for that dont add any extra logic

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class ServerObjectManagerExtensions

Methods

AddCharacter(ServerObjectManager, INetworkPlayer, GameObject, Int32)

When is received from a player, the server calls this to associate the character GameObject with the NetworkPlayer. +When a character is added for a player the object is automatically spawned, so you do not need to call ServerObjectManager.Spawn for that object. +This function is used for adding a character, not replacing. If there is already a character then use instead.

Declaration
public static void AddCharacter(this ServerObjectManager som, INetworkPlayer player, GameObject character, int prefabHash)
Parameters
TypeNameDescription
Mirage.ServerObjectManagersom
Mirage.INetworkPlayerplayerthe Player to add the character to
GameObjectcharacterThe Network Object to add to the Player. Can be spawned or unspawned. Calling this method will respawn it.
System.Int32prefabHashNew prefab hash to give to the player, used for dynamically creating objects at runtime.

AddCharacter(ServerObjectManager, INetworkPlayer, GameObject)

When is received from a player, the server calls this to associate the character GameObject with the NetworkPlayer. +When a character is added for a player the object is automatically spawned, so you do not need to call ServerObjectManager.Spawn for that object. +This function is used for adding a character, not replacing. If there is already a character then use instead.

Declaration
public static void AddCharacter(this ServerObjectManager som, INetworkPlayer player, GameObject character)
Parameters
TypeNameDescription
Mirage.ServerObjectManagersom
Mirage.INetworkPlayerplayerthe Player to add the character to
GameObjectcharacterThe Network Object to add to the Player. Can be spawned or unspawned. Calling this method will respawn it.

ReplaceCharacter(ServerObjectManager, INetworkPlayer, GameObject, Boolean)

This replaces the player object for a connection with a different player object. The old player object is not destroyed. +If a connection already has a player object, this can be used to replace that object with a different player object. This does NOT change the ready state of the connection, so it can safely be used while changing scenes.

Declaration
public static void ReplaceCharacter(this ServerObjectManager som, INetworkPlayer player, GameObject character, bool keepAuthority = false)
Parameters
TypeNameDescription
Mirage.ServerObjectManagersom
Mirage.INetworkPlayerplayerConnection which is adding the player.
GameObjectcharacterPlayer object spawned for the player.
System.BooleankeepAuthorityDoes the previous player remain attached to this connection?

ReplaceCharacter(ServerObjectManager, INetworkPlayer, GameObject, Int32, Boolean)

This replaces the player object for a connection with a different player object. The old player object is not destroyed. +If a connection already has a player object, this can be used to replace that object with a different player object. This does NOT change the ready state of the connection, so it can safely be used while changing scenes.

Declaration
public static void ReplaceCharacter(this ServerObjectManager som, INetworkPlayer player, GameObject character, int prefabHash, bool keepAuthority = false)
Parameters
TypeNameDescription
Mirage.ServerObjectManagersom
Mirage.INetworkPlayerplayerConnection which is adding the player.
GameObjectcharacterPlayer object spawned for the player.
System.Int32prefabHash
System.BooleankeepAuthorityDoes the previous player remain attached to this connection?

Spawn(ServerObjectManager, GameObject, GameObject)

Spawns the identity and settings its owner to the player that owns ownerObject

Declaration
public static void Spawn(this ServerObjectManager som, GameObject obj, GameObject ownerObject)
Parameters
TypeNameDescription
Mirage.ServerObjectManagersom
GameObjectobj
GameObjectownerObjectAn object owned by a player

Spawn(ServerObjectManager, GameObject, Int32, INetworkPlayer)

Assigns prefabHash to the obj and then spawns it with owner

can only be set on an identity if the current value is Empty

This method is useful if you are creating network objects at runtime and both server and client know what  to set on an object
Declaration
public static void Spawn(this ServerObjectManager som, GameObject obj, int prefabHash, INetworkPlayer owner = null)
Parameters
TypeNameDescription
Mirage.ServerObjectManagersom
GameObjectobjThe object to spawn.
System.Int32prefabHashThe prefabHash of the object to spawn. Used for custom spawn handlers.
Mirage.INetworkPlayerownerThe connection that has authority over the object

Spawn(ServerObjectManager, GameObject, INetworkPlayer)

Spawns the identity and settings its owner to owner

Declaration
public static void Spawn(this ServerObjectManager som, GameObject obj, INetworkPlayer owner = null)
Parameters
TypeNameDescription
Mirage.ServerObjectManagersom
GameObjectobj
Mirage.INetworkPlayerowner

SpawnInstantiate(ServerObjectManager, GameObject, Nullable<Int32>, INetworkPlayer)

Instantiate a prefab an then Spawns it with ServerObjectManager

Declaration
public static GameObject SpawnInstantiate(this ServerObjectManager som, GameObject prefab, int? prefabHash = default(int? ), INetworkPlayer owner = null)
Parameters
TypeNameDescription
Mirage.ServerObjectManagersom
GameObjectprefab
System.Nullable<System.Int32>prefabHash
Mirage.INetworkPlayerowner
Returns
TypeDescription
GameObject

SpawnInstantiate(ServerObjectManager, NetworkIdentity, Nullable<Int32>, INetworkPlayer)

Instantiate a prefab an then Spawns it with ServerObjectManager

Declaration
public static NetworkIdentity SpawnInstantiate(this ServerObjectManager som, NetworkIdentity prefab, int? prefabHash = default(int? ), INetworkPlayer owner = null)
Parameters
TypeNameDescription
Mirage.ServerObjectManagersom
Mirage.NetworkIdentityprefab
System.Nullable<System.Int32>prefabHash
Mirage.INetworkPlayerowner
Returns
TypeDescription
Mirage.NetworkIdentity
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/ServerRpcAttribute/index.html b/docs/reference/Mirage/ServerRpcAttribute/index.html new file mode 100644 index 00000000000..84d51eefaeb --- /dev/null +++ b/docs/reference/Mirage/ServerRpcAttribute/index.html @@ -0,0 +1,18 @@ + + + + + + +ServerRpcAttribute | Mirage Networking + + + + +
+

Class ServerRpcAttribute

Call this from a client to run this function on the server. +Make sure to validate input etc. It's not possible to call this from a server.

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Method)]
public class ServerRpcAttribute : Attribute, _Attribute

Fields

channel

Declaration
public Channel channel

requireAuthority

Declaration
public bool requireAuthority
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/ShowInInspectorAttribute/index.html b/docs/reference/Mirage/ShowInInspectorAttribute/index.html new file mode 100644 index 00000000000..f7f2703628e --- /dev/null +++ b/docs/reference/Mirage/ShowInInspectorAttribute/index.html @@ -0,0 +1,18 @@ + + + + + + +ShowInInspectorAttribute | Mirage Networking + + + + +
+

Class ShowInInspectorAttribute

Used to show private SyncList in the inspector, +Use instead of SerializeField for non Serializable types

Inheritance
System.Object
System.Attribute
Inherited Members
Show
Syntax
[AttributeUsage(AttributeTargets.Field)]
public sealed class ShowInInspectorAttribute : Attribute, _Attribute
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SpawnEvent/index.html b/docs/reference/Mirage/SpawnEvent/index.html new file mode 100644 index 00000000000..606efffd8e5 --- /dev/null +++ b/docs/reference/Mirage/SpawnEvent/index.html @@ -0,0 +1,17 @@ + + + + + + +SpawnEvent | Mirage Networking + + + + +
+

Class SpawnEvent

Inheritance
System.Object
Syntax
[Serializable]
public class SpawnEvent : UnityEvent<NetworkIdentity>
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SpawnHandler/index.html b/docs/reference/Mirage/SpawnHandler/index.html new file mode 100644 index 00000000000..ae1cf770892 --- /dev/null +++ b/docs/reference/Mirage/SpawnHandler/index.html @@ -0,0 +1,17 @@ + + + + + + +SpawnHandler | Mirage Networking + + + + +
+

Class SpawnHandler

Inheritance
System.Object
Inherited Members
Show
Syntax
public class SpawnHandler

Constructors

SpawnHandler(NetworkIdentity)

Declaration
public SpawnHandler(NetworkIdentity prefab)
Parameters
TypeNameDescription
Mirage.NetworkIdentityprefab

SpawnHandler(SpawnHandlerDelegate, UnSpawnDelegate)

Declaration
public SpawnHandler(SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler)
Parameters
TypeNameDescription
Mirage.SpawnHandlerDelegatespawnHandler
Mirage.UnSpawnDelegateunspawnHandler

SpawnHandler(NetworkIdentity, SpawnHandlerDelegate, UnSpawnDelegate)

Declaration
public SpawnHandler(NetworkIdentity prefab, SpawnHandlerDelegate spawnHandler, UnSpawnDelegate unspawnHandler)
Parameters
TypeNameDescription
Mirage.NetworkIdentityprefab
Mirage.SpawnHandlerDelegatespawnHandler
Mirage.UnSpawnDelegateunspawnHandler

SpawnHandler(SpawnHandlerAsyncDelegate, UnSpawnDelegate)

Declaration
public SpawnHandler(SpawnHandlerAsyncDelegate spawnHandlerAsync, UnSpawnDelegate unspawnHandler)
Parameters
TypeNameDescription
Mirage.SpawnHandlerAsyncDelegatespawnHandlerAsync
Mirage.UnSpawnDelegateunspawnHandler

SpawnHandler(NetworkIdentity, SpawnHandlerAsyncDelegate, UnSpawnDelegate)

Declaration
public SpawnHandler(NetworkIdentity prefab, SpawnHandlerAsyncDelegate spawnHandlerAsync, UnSpawnDelegate unspawnHandler)
Parameters
TypeNameDescription
Mirage.NetworkIdentityprefab
Mirage.SpawnHandlerAsyncDelegatespawnHandlerAsync
Mirage.UnSpawnDelegateunspawnHandler

Fields

Prefab

Declaration
public readonly NetworkIdentity Prefab

Handler

Declaration
public readonly SpawnHandlerDelegate Handler

HandlerAsync

Declaration
public readonly SpawnHandlerAsyncDelegate HandlerAsync

Properties

UnspawnHandler

Declaration
public UnSpawnDelegate UnspawnHandler { get; }

Methods

AddUnspawnHandler(UnSpawnDelegate)

Declaration
public void AddUnspawnHandler(UnSpawnDelegate unspawnHandler)
Parameters
TypeNameDescription
Mirage.UnSpawnDelegateunspawnHandler

IsAsyncSpawn()

Declaration
public bool IsAsyncSpawn()
Returns
TypeDescription
System.Boolean
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SpawnHandlerAsyncDelegate/index.html b/docs/reference/Mirage/SpawnHandlerAsyncDelegate/index.html new file mode 100644 index 00000000000..816b57e6cde --- /dev/null +++ b/docs/reference/Mirage/SpawnHandlerAsyncDelegate/index.html @@ -0,0 +1,17 @@ + + + + + + +SpawnHandlerAsyncDelegate | Mirage Networking + + + + +
+

Delegate SpawnHandlerAsyncDelegate

Syntax
public delegate UniTask<NetworkIdentity> SpawnHandlerAsyncDelegate(SpawnMessage msg);
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SpawnHandlerDelegate/index.html b/docs/reference/Mirage/SpawnHandlerDelegate/index.html new file mode 100644 index 00000000000..f697e019b7d --- /dev/null +++ b/docs/reference/Mirage/SpawnHandlerDelegate/index.html @@ -0,0 +1,17 @@ + + + + + + +SpawnHandlerDelegate | Mirage Networking + + + + +
+

Delegate SpawnHandlerDelegate

Syntax
public delegate NetworkIdentity SpawnHandlerDelegate(SpawnMessage msg);
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SpawnMessage/index.html b/docs/reference/Mirage/SpawnMessage/index.html new file mode 100644 index 00000000000..f707bfbb64f --- /dev/null +++ b/docs/reference/Mirage/SpawnMessage/index.html @@ -0,0 +1,19 @@ + + + + + + +SpawnMessage | Mirage Networking + + + + +
+

Struct SpawnMessage

Syntax
public struct SpawnMessage

Fields

NetId

netId of new or existing object

Declaration
public uint NetId

IsLocalPlayer

Is the spawning object the local player. Sets ClientScene.localPlayer

Declaration
public bool IsLocalPlayer

IsOwner

Sets hasAuthority on the spawned object

Declaration
public bool IsOwner

SceneId

The id of the scene object to spawn

Declaration
public ulong? SceneId

PrefabHash

The id of the prefab to spawn +If sceneId != 0 then it is used instead of prefabHash

Declaration
public int? PrefabHash

SpawnValues

Spawn values to set after spawning object, values based on

Declaration
public SpawnValues SpawnValues

Payload

The serialized component data +ArraySegment to avoid unnecessary allocations

Declaration
public ArraySegment<byte> Payload

Methods

ToString()

Declaration
public override string ToString()
Returns
TypeDescription
System.String
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SpawnObjectException/index.html b/docs/reference/Mirage/SpawnObjectException/index.html new file mode 100644 index 00000000000..f5ebc5fb21b --- /dev/null +++ b/docs/reference/Mirage/SpawnObjectException/index.html @@ -0,0 +1,17 @@ + + + + + + +SpawnObjectException | Mirage Networking + + + + +
+

Class SpawnObjectException

Exception thrown when spawning fails

Inheritance
System.Object
System.Exception
Inherited Members
Show
Syntax
[Serializable]
public class SpawnObjectException : Exception, _Exception, ISerializable

Constructors

SpawnObjectException(String)

Declaration
public SpawnObjectException(string message)
Parameters
TypeNameDescription
System.Stringmessage
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SpawnValues/index.html b/docs/reference/Mirage/SpawnValues/index.html new file mode 100644 index 00000000000..169d37c7fb4 --- /dev/null +++ b/docs/reference/Mirage/SpawnValues/index.html @@ -0,0 +1,17 @@ + + + + + + +SpawnValues | Mirage Networking + + + + +
+

Struct SpawnValues

Syntax
public struct SpawnValues

Fields

Position

Declaration
public Vector3? Position

Rotation

Declaration
public Quaternion? Rotation

Scale

Declaration
public Vector3? Scale

Name

Declaration
public string Name

SelfActive

Declaration
public bool? SelfActive

Methods

ToString()

Declaration
public override string ToString()
Returns
TypeDescription
System.String
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/StringHash/index.html b/docs/reference/Mirage/StringHash/index.html new file mode 100644 index 00000000000..88c870fe227 --- /dev/null +++ b/docs/reference/Mirage/StringHash/index.html @@ -0,0 +1,17 @@ + + + + + + +StringHash | Mirage Networking + + + + +
+

Class StringHash

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class StringHash

Fields

EmptyString

Declaration
public const int EmptyString = 23

Methods

GetStableHashCode(String)

Gets a hash for a string. This hash will be the same on all platforms

Declaration
public static int GetStableHashCode(this string text)
Parameters
TypeNameDescription
System.Stringtext
Returns
TypeDescription
System.Int32
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SyncActiveOption/index.html b/docs/reference/Mirage/SyncActiveOption/index.html new file mode 100644 index 00000000000..05d8d538160 --- /dev/null +++ b/docs/reference/Mirage/SyncActiveOption/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncActiveOption | Mirage Networking + + + + +
+

Enum SyncActiveOption

Syntax
public enum SyncActiveOption

Fields

DoNothing

Do nothing - leave the game object in its current state.

Declaration
DoNothing = 0

SyncWithServer

Synchronize the active state of the game object with the server's state.

Declaration
SyncWithServer = 1

ForceEnable

Force-enable the game object, even if the server's version is disabled.

Declaration
ForceEnable = 2
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SyncFrom/index.html b/docs/reference/Mirage/SyncFrom/index.html new file mode 100644 index 00000000000..979580efd76 --- /dev/null +++ b/docs/reference/Mirage/SyncFrom/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncFrom | Mirage Networking + + + + +
+

Enum SyncFrom

Syntax
[Flags]
public enum SyncFrom : byte

Fields

None

Declaration
None = 0

Owner

syncs from Owner to Server or

Declaration
Owner = 1

Server

Declaration
Server = 2
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SyncHookType/index.html b/docs/reference/Mirage/SyncHookType/index.html new file mode 100644 index 00000000000..51a6d57f087 --- /dev/null +++ b/docs/reference/Mirage/SyncHookType/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncHookType | Mirage Networking + + + + +
+

Enum SyncHookType

Syntax
public enum SyncHookType

Fields

Automatic

Looks for hooks matching the signature, gives compile error if none or more than 1 is found

Declaration
Automatic = 0

MethodWith0Arg

Hook with signature void hookName()

Declaration
MethodWith0Arg = 1

MethodWith1Arg

Hook with signature void hookName(T newValue)

Declaration
MethodWith1Arg = 2

MethodWith2Arg

Hook with signature void hookName(T oldValue, T newValue)

Declaration
MethodWith2Arg = 3

EventWith0Arg

Hook with signature event Action hookName;

Declaration
EventWith0Arg = 4

EventWith1Arg

Hook with signature event Action{T} hookName;

Declaration
EventWith1Arg = 5

EventWith2Arg

Hook with signature event Action{T,T} hookName;

Declaration
EventWith2Arg = 6
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SyncPrefab/index.html b/docs/reference/Mirage/SyncPrefab/index.html new file mode 100644 index 00000000000..03c9069cbc3 --- /dev/null +++ b/docs/reference/Mirage/SyncPrefab/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncPrefab | Mirage Networking + + + + +
+

Struct SyncPrefab

Syntax
public struct SyncPrefab

Constructors

SyncPrefab(NetworkIdentity)

Declaration
public SyncPrefab(NetworkIdentity prefab)
Parameters
TypeNameDescription
Mirage.NetworkIdentityprefab

SyncPrefab(Int32)

Declaration
public SyncPrefab(int hash)
Parameters
TypeNameDescription
System.Int32hash

Fields

Prefab

Declaration
public NetworkIdentity Prefab

PrefabHash

Declaration
public int PrefabHash

Methods

FindPrefab(ClientObjectManager)

Searches ClientObjectManager to find a prefab using its hash

Declaration
public NetworkIdentity FindPrefab(ClientObjectManager manager)
Parameters
TypeNameDescription
Mirage.ClientObjectManagermanager
Returns
TypeDescription
Mirage.NetworkIdentity

FindPrefab(IEnumerable<NetworkIdentity>)

Searches ClientObjectManager to find a prefab using its hash

Declaration
public NetworkIdentity FindPrefab(IEnumerable<NetworkIdentity> collection)
Parameters
TypeNameDescription
System.Collections.Generic.IEnumerable<Mirage.NetworkIdentity>collection
Returns
TypeDescription
Mirage.NetworkIdentity
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SyncPrefabSerialize/index.html b/docs/reference/Mirage/SyncPrefabSerialize/index.html new file mode 100644 index 00000000000..5d4962d24d8 --- /dev/null +++ b/docs/reference/Mirage/SyncPrefabSerialize/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncPrefabSerialize | Mirage Networking + + + + +
+

Class SyncPrefabSerialize

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class SyncPrefabSerialize

Methods

WriteSyncPrefab(NetworkWriter, SyncPrefab)

Declaration
public static void WriteSyncPrefab(this NetworkWriter writer, SyncPrefab value)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkWriterwriter
Mirage.SyncPrefabvalue

ReadSyncPrefab(NetworkReader)

Declaration
public static SyncPrefab ReadSyncPrefab(this NetworkReader reader)
Parameters
TypeNameDescription
Mirage.Serialization.NetworkReaderreader
Returns
TypeDescription
Mirage.SyncPrefab
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SyncSettings/index.html b/docs/reference/Mirage/SyncSettings/index.html new file mode 100644 index 00000000000..7cccaea910a --- /dev/null +++ b/docs/reference/Mirage/SyncSettings/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncSettings | Mirage Networking + + + + +
+

Struct SyncSettings

Syntax
[Serializable]
public struct SyncSettings

Fields

INTERVAL_TOOLTIP

Declaration
public const string INTERVAL_TOOLTIP = "Time in seconds until next change is synchronized to the client. '0' means send immediately if changed. '0.5' means only send changes every 500ms.\n(This is for state synchronization like SyncVars, SyncLists, OnSerialize. Not for Cmds, Rpcs, etc.)"

From

Declaration
public SyncFrom From

To

Declaration
public SyncTo To

Timing

Declaration
public SyncTiming Timing

Interval

Declaration
public float Interval

Default

Declaration
public static readonly SyncSettings Default

Methods

UpdateTime(ref Double, Double)

Declaration
public void UpdateTime(ref double nextSyncTime, double now)
Parameters
TypeNameDescription
System.DoublenextSyncTime
System.Doublenow

UpdateTime(Single, SyncTiming, ref Double, Double)

Declaration
public static void UpdateTime(float interval, SyncTiming timing, ref double nextSyncTime, double now)
Parameters
TypeNameDescription
System.Singleinterval
Mirage.SyncTimingtiming
System.DoublenextSyncTime
System.Doublenow

ShouldSyncFrom(NetworkIdentity, Boolean)

Declaration
public bool ShouldSyncFrom(NetworkIdentity identity, bool syncInHostMode)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity
System.BooleansyncInHostMode
Returns
TypeDescription
System.Boolean

ToObserverWriterOnly(NetworkIdentity)

Declaration
public bool ToObserverWriterOnly(NetworkIdentity identity)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity
Returns
TypeDescription
System.Boolean

CopyToObservers(NetworkIdentity)

Declaration
public bool CopyToObservers(NetworkIdentity identity)
Parameters
TypeNameDescription
Mirage.NetworkIdentityidentity
Returns
TypeDescription
System.Boolean

IsValidDirection(SyncFrom, SyncTo)

Declaration
public static bool IsValidDirection(SyncFrom from, SyncTo to)
Parameters
TypeNameDescription
Mirage.SyncFromfrom
Mirage.SyncToto
Returns
TypeDescription
System.Boolean

InvalidReason(SyncFrom, SyncTo)

Declaration
public static string InvalidReason(SyncFrom from, SyncTo to)
Parameters
TypeNameDescription
Mirage.SyncFromfrom
Mirage.SyncToto
Returns
TypeDescription
System.String
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SyncTiming/index.html b/docs/reference/Mirage/SyncTiming/index.html new file mode 100644 index 00000000000..c9a041fffc4 --- /dev/null +++ b/docs/reference/Mirage/SyncTiming/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncTiming | Mirage Networking + + + + +
+

Enum SyncTiming

Syntax
public enum SyncTiming : byte

Fields

Variable

Will wait for atleast after last sync before sending again.

Best used when values dont change often, or for non-time-critical data.

Will send less often than for the same .

Declaration
Variable = 0

Fixed

Will ensure data is sent every if changed.

Best used for data that changes often and you want (1/) updates per second

Declaration
Fixed = 1

NoInterval

Ignores Interval and will send changes in next update

Declaration
NoInterval = 2
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SyncTo/index.html b/docs/reference/Mirage/SyncTo/index.html new file mode 100644 index 00000000000..489c7de03a5 --- /dev/null +++ b/docs/reference/Mirage/SyncTo/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncTo | Mirage Networking + + + + +
+

Enum SyncTo

Syntax
[Flags]
public enum SyncTo : byte

Fields

None

Declaration
None = 0

Owner

Declaration
Owner = 1

ObserversOnly

Declaration
ObserversOnly = 2

Server

Declaration
Server = 4

OwnerAndObservers

Declaration
OwnerAndObservers = 3
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SyncVarAttribute/index.html b/docs/reference/Mirage/SyncVarAttribute/index.html new file mode 100644 index 00000000000..ead79c9044f --- /dev/null +++ b/docs/reference/Mirage/SyncVarAttribute/index.html @@ -0,0 +1,18 @@ + + + + + + +SyncVarAttribute | Mirage Networking + + + + +
+

Class SyncVarAttribute

SyncVars are used to synchronize a variable from the server to all clients automatically. +Value must be changed on server, not directly by clients. Hook parameter allows you to define a client-side method to be invoked when the client gets an update from the server.

Inheritance
System.Object
Syntax
[AttributeUsage(AttributeTargets.Field)]
public class SyncVarAttribute : PropertyAttribute

Fields

hook

A function that should be called on the client when the value changes.

Declaration
public string hook

initialOnly

If true, this syncvar will only be sent with spawn message, any other changes will not be sent to existing objects

Declaration
public bool initialOnly

invokeHookOnServer

If true this syncvar hook will also fire on the server side.

Declaration
public bool invokeHookOnServer

invokeHookOnOwner

If true this syncvar hook will also fire the owner when it is sending data

Declaration
public bool invokeHookOnOwner

hookType

What type of look Mirage should look for

Declaration
public SyncHookType hookType
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SyncVarReceiver/index.html b/docs/reference/Mirage/SyncVarReceiver/index.html new file mode 100644 index 00000000000..2b122066499 --- /dev/null +++ b/docs/reference/Mirage/SyncVarReceiver/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncVarReceiver | Mirage Networking + + + + +
+

Class SyncVarReceiver

Class that handles syncvar message and passes it to correct

Inheritance
System.Object
Inherited Members
Show
Syntax
public class SyncVarReceiver

Constructors

SyncVarReceiver(NetworkClient, IObjectLocator)

Declaration
public SyncVarReceiver(NetworkClient client, IObjectLocator objectLocator)
Parameters
TypeNameDescription
Mirage.NetworkClientclient
Mirage.IObjectLocatorobjectLocator

SyncVarReceiver(NetworkServer, IObjectLocator)

Declaration
public SyncVarReceiver(NetworkServer server, IObjectLocator objectLocator)
Parameters
TypeNameDescription
Mirage.NetworkServerserver
Mirage.IObjectLocatorobjectLocator
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/SyncVarSender/index.html b/docs/reference/Mirage/SyncVarSender/index.html new file mode 100644 index 00000000000..ef7ffd77adf --- /dev/null +++ b/docs/reference/Mirage/SyncVarSender/index.html @@ -0,0 +1,17 @@ + + + + + + +SyncVarSender | Mirage Networking + + + + +
+

Class SyncVarSender

Class that Syncs syncvar and other State

Inheritance
System.Object
Inherited Members
Show
Syntax
public class SyncVarSender

Methods

AddDirtyObject(NetworkIdentity)

Declaration
public void AddDirtyObject(NetworkIdentity dirty)
Parameters
TypeNameDescription
Mirage.NetworkIdentitydirty
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/UnSpawnDelegate/index.html b/docs/reference/Mirage/UnSpawnDelegate/index.html new file mode 100644 index 00000000000..abcf7dff559 --- /dev/null +++ b/docs/reference/Mirage/UnSpawnDelegate/index.html @@ -0,0 +1,17 @@ + + + + + + +UnSpawnDelegate | Mirage Networking + + + + +
+

Delegate UnSpawnDelegate

Syntax
public delegate void UnSpawnDelegate(NetworkIdentity spawned);
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/UpdateVarsMessage/index.html b/docs/reference/Mirage/UpdateVarsMessage/index.html new file mode 100644 index 00000000000..75b7336f563 --- /dev/null +++ b/docs/reference/Mirage/UpdateVarsMessage/index.html @@ -0,0 +1,17 @@ + + + + + + +UpdateVarsMessage | Mirage Networking + + + + +
+

Struct UpdateVarsMessage

Syntax
public struct UpdateVarsMessage

Fields

NetId

Declaration
public uint NetId

Payload

Declaration
public ArraySegment<byte> Payload
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/Version/index.html b/docs/reference/Mirage/Version/index.html new file mode 100644 index 00000000000..82f8e0314c1 --- /dev/null +++ b/docs/reference/Mirage/Version/index.html @@ -0,0 +1,17 @@ + + + + + + +Version | Mirage Networking + + + + +
+

Class Version

Inheritance
System.Object
Inherited Members
Show
Syntax
public static class Version

Fields

Current

Declaration
public static readonly string Current
+ + + + \ No newline at end of file diff --git a/docs/reference/Mirage/index.html b/docs/reference/Mirage/index.html new file mode 100644 index 00000000000..96c37e8216f --- /dev/null +++ b/docs/reference/Mirage/index.html @@ -0,0 +1,56 @@ + + + + + + +Mirage | Mirage Networking + + + + +
+

Mirage

Classes

AutoPool<T>

Pool class that will create a Disposable wrapper around T so it can be used with any class automatically without additional setup

AutoPool<T>.Wrapper

CharacterSpawner

Spawns a player as soon as the connection is authenticated

ClientAttribute

Prevents this method from running if client is not active. +Can only be used inside a NetworkBehaviour

ClientObjectManager

ClientRpcAttribute

The server uses a Remote Procedure Call (RPC) to run this function on specific clients. +Note that if you set the target as Connection, you need to pass a specific connection as a parameter of your method

DeserializeFailedException

ExponentialMovingAverage

FoldoutEventAttribute

Draws UnityEvent as a foldout

GameObjectExtensions

GameObjectSerializers

HasAuthorityAttribute

Prevents players without authority from running this method. +Can only be used inside a NetworkBehaviour

HeadlessAutoStart

HeadlessFrameLimiter

HostRendererVisibility

Disables all Renders on GameObject when the NetworkIdentity is not visible too the host player because of a

LocalPlayerAttribute

Prevents nonlocal players from running this method. +Can only be used inside a NetworkBehaviour

MessageHandler

MessageReceiverExtensions

MessageWaiter<T>

Register handler just for 1 message +Useful on client when you want too receive a single auth message

MethodInvocationException

Exception thrown if a guarded method is invoked incorrectly

NetworkAnimator

A component to synchronize animation states for networked objects.

NetworkBehaviorSerializers

NetworkBehaviour

Base class which should be inherited by scripts which contain networking functionality.

NetworkClient

This is a network client class used by the networking system. It contains a NetworkConnection that is used to connect to a network server. +The handle connection state, messages handlers, and connection configuration. There can be many instances in a process at a time, but only one that is connected to a game server () that uses spawned objects. +has an internal update function where it handles events from the transport layer. This includes asynchronous connect events, disconnect events and incoming data from a server.

NetworkDiagnostics

Provides profiling information from mirror +A profiler can subscribe to these events and +present the data in a friendly way to the user

NetworkExtensions

NetworkIdentity

The NetworkIdentity identifies objects across the network, between server and clients. +Its primary data is a NetworkInstanceId which is allocated by the server and then set on clients. +This is used in network communications to be able to lookup game objects on different machines.

NetworkIdentitySerializers

NetworkInspectorCallbacks

Callbacks for

NetworkManager

NetworkManagerGUI

NetworkManagerHud

NetworkMatchChecker

Component that controls visibility of networked objects based on match id. +Any object with this component on it will only be visible to other objects in the same match. +This would be used to isolate players to their respective matches within a single game server instance.

NetworkMessageAttribute

Tell the weaver to generate reader and writer for a class

NetworkMethodAttribute

Prevents this method from running unless the NetworkFlags match the current state +Can only be used inside a NetworkBehaviour

NetworkPingDisplay

Component that will display the clients ping in milliseconds

NetworkPlayer

A High level network connection. This is used for connections from client-to-server and for connection from server-to-client.

NetworkPrefabs

A scriptable object that contains a list of prefabs that can be spawned on the network.

NetworkProximityChecker

Component that controls visibility of networked objects for players. +Any object with this component on it will not be visible to players more than a (configurable) distance away.

NetworkSceneChecker

Component that controls visibility of networked objects between scenes. +Any object with this component on it will only be visible to other objects in the same scene +This would be used when the server has multiple additive subscenes loaded to isolate players to their respective subscenes

NetworkSceneManager

NetworkSceneManager is an optional component that helps keep scene in sync between server and client. +The loads scenes as instructed by the . +The controls the currently active Scene and any additive Load/Unload. +when a client connect NetworkSceneManager will send a message telling the new client to load the scene that is active on the server

NetworkServer

The NetworkServer.

NetworkTime

Synchronize time between the server and the clients

NetworkTransform

NetworkTransformBase

NetworkTransformBase.DataPoint

NetworkTransformChild

A component to synchronize the position of child transforms of networked objects. +There must be a NetworkTransform on the root object of the hierarchy. There can be multiple NetworkTransformChild components on an object. This does not use physics for synchronization, it simply synchronizes the localPosition and localRotation of the child transform and lerps towards the received values.

NetworkVisibility

NetworkBehaviour that calculates if the gameObject should be visible to different players or not

NetworkWorld

Holds collection of spawned network objects +This class works on both server and client

NetworkWorldExtensions

NetworkedPrefabAttribute

Forces the user to provide a prefab that has a NetworkIdentity component and is registered. +Also provides a fix button to fix the prefab if it hasn't been networked.

OnlineOfflineScene

PipePeerConnection

A that is directly sends data to a

PipePeerConnection.PipeEndPoint

PlayerSceneChangeEvent

ReadOnlyInspectorAttribute

Makes field readonly in inspector. +This is useful for fields that are set by code, but are shown iin inpector for debuggiing

SceneAttribute

Converts a string property into a Scene property in the inspector

SceneChangeFinishedEvent

Event fires from INetworkSceneManager when a scene change finishes on either Server or Client. +Scene - Loaded scene +SceneOperation - Scene change type (Normal, Additive Load, Additive Unload).

SceneChangeStartedEvent

Event fires from INetworkSceneManager when a scene change begins on either Server or Client. +Scene - Name or path of the scene that's about to be loaded +SceneOperation - Scene change type (Normal, Additive Load, Additive Unload).

SceneVisibilityChecker

ServerAttribute

Prevents a method from running if server is not active. +Can only be used inside a NetworkBehaviour

ServerObjectManager

The ServerObjectManager.

ServerObjectManagerExtensions

Extra helper methods for that dont add any extra logic

ServerRpcAttribute

Call this from a client to run this function on the server. +Make sure to validate input etc. It's not possible to call this from a server.

ShowInInspectorAttribute

Used to show private SyncList in the inspector, +Use instead of SerializeField for non Serializable types

SpawnEvent

SpawnHandler

SpawnObjectException

Exception thrown when spawning fails

StringHash

SyncPrefabSerialize

SyncVarAttribute

SyncVars are used to synchronize a variable from the server to all clients automatically. +Value must be changed on server, not directly by clients. Hook parameter allows you to define a client-side method to be invoked when the client gets an update from the server.

SyncVarReceiver

Class that handles syncvar message and passes it to correct

SyncVarSender

Class that Syncs syncvar and other State

Version

Structs

AddCharacterMessage

GameObjectSyncvar

backing struct for a NetworkIdentity when used as a syncvar +the weaver will replace the syncvar with this struct.

NetworkBehaviorSyncvar

backing struct for a NetworkIdentity when used as a syncvar +the weaver will replace the syncvar with this struct.

NetworkBehaviorSyncvar<T>

NetworkBehaviour.Id

NetworkDiagnostics.MessageInfo

Describes an outgoing message

NetworkIdentitySyncvar

backing struct for a NetworkIdentity when used as a syncvar +the weaver will replace the syncvar with this struct.

NetworkPingMessage

NetworkPongMessage

NetworkSpawnSettings

Spawn Settings for

ObjectDestroyMessage

ObjectHideMessage

RemoveAuthorityMessage

RemoveCharacterMessage

SceneMessage

SceneNotReadyMessage

Sent to client to mark their scene as not ready +Client can sent once its scene is ready again

SceneReadyMessage

Sent to indicate the scene is finished loading

SpawnMessage

SpawnValues

SyncPrefab

SyncSettings

UpdateVarsMessage

Interfaces

IMessageReceiver

An object that can receive messages

IMessageSender

An object that can send messages

INetIdGenerator

INetworkPlayer

An object owned by a player that can: send/receive messages, have network visibility, be an object owner, authenticated permissions, and load scenes. +May be from the server to client or from client to server

INetworkVisibility

IObjectLocator

An object that implements this interface can find objects by their net id +This is used by readers when trying to deserialize gameobjects

IObjectOwner

An object that can own networked objects

ISceneLoader

IVisibilityTracker

An object that can observe NetworkIdentities. +this is useful for interest management

Enums

Channel

CharacterSpawner.PlayerSpawnMethod

Enumeration of methods of where to spawn player objects in multiplayer games.

ClientStoppedReason

Reason why Client was stopped or disconnected

ConnectState

NetworkFlags

NetworkManagerMode

RpcTarget

Used by ClientRpc to tell mirage who to send remote call to

SceneOperation

SyncActiveOption

SyncFrom

SyncHookType

SyncTiming

SyncTo

Delegates

AuthorityChanged

Event that can be used to check authority

DynamicSpawnHandlerDelegate

MessageDelegate<T>

MessageDelegateAsync<T>

MessageDelegateWithPlayer<T>

MessageDelegateWithPlayerAsync<T>

NetworkVisibility.VisibilityChanged

SpawnHandlerAsyncDelegate

SpawnHandlerDelegate

UnSpawnDelegate

+ + + + \ No newline at end of file diff --git a/img/components/LogLevelWindow.png b/img/components/LogLevelWindow.png new file mode 100644 index 00000000000..9499206cf11 Binary files /dev/null and b/img/components/LogLevelWindow.png differ diff --git a/img/components/NetworkAddressAndPortSettings.png b/img/components/NetworkAddressAndPortSettings.png new file mode 100644 index 00000000000..9900aca15ca Binary files /dev/null and b/img/components/NetworkAddressAndPortSettings.png differ diff --git a/img/components/NetworkAnimatorComponent.png b/img/components/NetworkAnimatorComponent.png new file mode 100644 index 00000000000..55d99e8a4fc Binary files /dev/null and b/img/components/NetworkAnimatorComponent.png differ diff --git a/img/components/NetworkDiscovery.png b/img/components/NetworkDiscovery.png new file mode 100644 index 00000000000..5adbc166bfa Binary files /dev/null and b/img/components/NetworkDiscovery.png differ diff --git a/img/components/NetworkGame3Instances.jpg b/img/components/NetworkGame3Instances.jpg new file mode 100644 index 00000000000..e5cf1fd7ef1 Binary files /dev/null and b/img/components/NetworkGame3Instances.jpg differ diff --git a/img/components/NetworkIdentity.PNG b/img/components/NetworkIdentity.PNG new file mode 100644 index 00000000000..eb79948b686 Binary files /dev/null and b/img/components/NetworkIdentity.PNG differ diff --git a/img/components/NetworkIdentityPreview.png b/img/components/NetworkIdentityPreview.png new file mode 100644 index 00000000000..56fe7f7c2d6 Binary files /dev/null and b/img/components/NetworkIdentityPreview.png differ diff --git a/img/components/NetworkIdentityPreviewRuntime.png b/img/components/NetworkIdentityPreviewRuntime.png new file mode 100644 index 00000000000..84cd8448317 Binary files /dev/null and b/img/components/NetworkIdentityPreviewRuntime.png differ diff --git a/img/components/NetworkLogSettings.png b/img/components/NetworkLogSettings.png new file mode 100644 index 00000000000..b8317ed33be Binary files /dev/null and b/img/components/NetworkLogSettings.png differ diff --git a/img/components/NetworkLogSettingsNoSettings.png b/img/components/NetworkLogSettingsNoSettings.png new file mode 100644 index 00000000000..3a9356f2e8d Binary files /dev/null and b/img/components/NetworkLogSettingsNoSettings.png differ diff --git a/img/components/NetworkManagerHUDComponent.png b/img/components/NetworkManagerHUDComponent.png new file mode 100644 index 00000000000..51721c0c049 Binary files /dev/null and b/img/components/NetworkManagerHUDComponent.png differ diff --git a/img/components/NetworkManagerHUDConnected.png b/img/components/NetworkManagerHUDConnected.png new file mode 100644 index 00000000000..caed2439054 Binary files /dev/null and b/img/components/NetworkManagerHUDConnected.png differ diff --git a/img/components/NetworkManagerHUDConnectionAttempt.png b/img/components/NetworkManagerHUDConnectionAttempt.png new file mode 100644 index 00000000000..1d4ece2108a Binary files /dev/null and b/img/components/NetworkManagerHUDConnectionAttempt.png differ diff --git a/img/components/NetworkManagerHUDHostingLAN.png b/img/components/NetworkManagerHUDHostingLAN.png new file mode 100644 index 00000000000..8d0405a33de Binary files /dev/null and b/img/components/NetworkManagerHUDHostingLAN.png differ diff --git a/img/components/NetworkManagerHUDUI.png b/img/components/NetworkManagerHUDUI.png new file mode 100644 index 00000000000..c8740e42fbe Binary files /dev/null and b/img/components/NetworkManagerHUDUI.png differ diff --git a/img/components/NetworkManagerInspector.png b/img/components/NetworkManagerInspector.png new file mode 100644 index 00000000000..32c692ff74f Binary files /dev/null and b/img/components/NetworkManagerInspector.png differ diff --git a/img/components/NetworkManagerSpawnInfo.png b/img/components/NetworkManagerSpawnInfo.png new file mode 100644 index 00000000000..fd5a94eee36 Binary files /dev/null and b/img/components/NetworkManagerSpawnInfo.png differ diff --git a/img/components/NetworkMatchChecker.png b/img/components/NetworkMatchChecker.png new file mode 100644 index 00000000000..c2d67ef086f Binary files /dev/null and b/img/components/NetworkMatchChecker.png differ diff --git a/img/components/NetworkPingDisplay.png b/img/components/NetworkPingDisplay.png new file mode 100644 index 00000000000..a1acc8bc4d4 Binary files /dev/null and b/img/components/NetworkPingDisplay.png differ diff --git a/img/components/NetworkProximityCheck.png b/img/components/NetworkProximityCheck.png new file mode 100644 index 00000000000..586e66b9a0c Binary files /dev/null and b/img/components/NetworkProximityCheck.png differ diff --git a/img/components/NetworkRigidbody.png b/img/components/NetworkRigidbody.png new file mode 100644 index 00000000000..241e9b1b1a3 Binary files /dev/null and b/img/components/NetworkRigidbody.png differ diff --git a/img/components/NetworkRoomManager.png b/img/components/NetworkRoomManager.png new file mode 100644 index 00000000000..2eba94e11b1 Binary files /dev/null and b/img/components/NetworkRoomManager.png differ diff --git a/img/components/NetworkRoomPlayer.png b/img/components/NetworkRoomPlayer.png new file mode 100644 index 00000000000..74f709c2bbc Binary files /dev/null and b/img/components/NetworkRoomPlayer.png differ diff --git a/img/components/NetworkSceneChecker.png b/img/components/NetworkSceneChecker.png new file mode 100644 index 00000000000..b1b7addfe7b Binary files /dev/null and b/img/components/NetworkSceneChecker.png differ diff --git a/img/components/NetworkSceneManager.png b/img/components/NetworkSceneManager.png new file mode 100644 index 00000000000..260f4ba0d4d Binary files /dev/null and b/img/components/NetworkSceneManager.png differ diff --git a/img/components/NetworkStartPosition.PNG b/img/components/NetworkStartPosition.PNG new file mode 100644 index 00000000000..f71deb8d872 Binary files /dev/null and b/img/components/NetworkStartPosition.PNG differ diff --git a/img/components/NetworkTransform.png b/img/components/NetworkTransform.png new file mode 100644 index 00000000000..02cebef6019 Binary files /dev/null and b/img/components/NetworkTransform.png differ diff --git a/img/examples/UPM-samples.png b/img/examples/UPM-samples.png new file mode 100644 index 00000000000..07ada0e8c21 Binary files /dev/null and b/img/examples/UPM-samples.png differ diff --git a/img/examples/basic/Basic.PNG b/img/examples/basic/Basic.PNG new file mode 100644 index 00000000000..1db3e8cd3eb Binary files /dev/null and b/img/examples/basic/Basic.PNG differ diff --git a/img/examples/basic/BasicPlayer.PNG b/img/examples/basic/BasicPlayer.PNG new file mode 100644 index 00000000000..691bc738723 Binary files /dev/null and b/img/examples/basic/BasicPlayer.PNG differ diff --git a/img/examples/change-scene/ChangeScene.png b/img/examples/change-scene/ChangeScene.png new file mode 100644 index 00000000000..2629d20a10c Binary files /dev/null and b/img/examples/change-scene/ChangeScene.png differ diff --git a/img/examples/chat/Chat.png b/img/examples/chat/Chat.png new file mode 100644 index 00000000000..ea081b602a9 Binary files /dev/null and b/img/examples/chat/Chat.png differ diff --git a/img/examples/multiple-additive-scenes/MultiSceneNetworkManager.PNG b/img/examples/multiple-additive-scenes/MultiSceneNetworkManager.PNG new file mode 100644 index 00000000000..ed03fde941d Binary files /dev/null and b/img/examples/multiple-additive-scenes/MultiSceneNetworkManager.PNG differ diff --git a/img/examples/pong/Pong1.jpg b/img/examples/pong/Pong1.jpg new file mode 100644 index 00000000000..8527e877479 Binary files /dev/null and b/img/examples/pong/Pong1.jpg differ diff --git a/img/examples/pong/Pong2.jpg b/img/examples/pong/Pong2.jpg new file mode 100644 index 00000000000..05488bb30ee Binary files /dev/null and b/img/examples/pong/Pong2.jpg differ diff --git a/img/examples/pong/Pong3.jpg b/img/examples/pong/Pong3.jpg new file mode 100644 index 00000000000..0b1d04a8379 Binary files /dev/null and b/img/examples/pong/Pong3.jpg differ diff --git a/img/examples/pong/Pong4.jpg b/img/examples/pong/Pong4.jpg new file mode 100644 index 00000000000..15ef9cb6d7a Binary files /dev/null and b/img/examples/pong/Pong4.jpg differ diff --git a/img/examples/room/Room1.PNG b/img/examples/room/Room1.PNG new file mode 100644 index 00000000000..fdb34ea1805 Binary files /dev/null and b/img/examples/room/Room1.PNG differ diff --git a/img/examples/room/Room2.PNG b/img/examples/room/Room2.PNG new file mode 100644 index 00000000000..68c9f94cf16 Binary files /dev/null and b/img/examples/room/Room2.PNG differ diff --git a/img/examples/room/RoomManager.PNG b/img/examples/room/RoomManager.PNG new file mode 100644 index 00000000000..2bfc0ec8033 Binary files /dev/null and b/img/examples/room/RoomManager.PNG differ diff --git a/img/examples/room/RoomPlayer.PNG b/img/examples/room/RoomPlayer.PNG new file mode 100644 index 00000000000..f54c3050123 Binary files /dev/null and b/img/examples/room/RoomPlayer.PNG differ diff --git a/img/favicon.ico b/img/favicon.ico new file mode 100644 index 00000000000..16ab3625388 Binary files /dev/null and b/img/favicon.ico differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/image--008.jpg b/img/guides/community-guides/mirage-quick-start-guide/image--008.jpg new file mode 100644 index 00000000000..6a896a06c08 Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/image--008.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/image--009.jpg b/img/guides/community-guides/mirage-quick-start-guide/image--009.jpg new file mode 100644 index 00000000000..7a7ae73b66d Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/image--009.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/image--010.jpg b/img/guides/community-guides/mirage-quick-start-guide/image--010.jpg new file mode 100644 index 00000000000..8a1fe2adf6d Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/image--010.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/image--011.jpg b/img/guides/community-guides/mirage-quick-start-guide/image--011.jpg new file mode 100644 index 00000000000..dc752178c3c Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/image--011.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/image--012.jpg b/img/guides/community-guides/mirage-quick-start-guide/image--012.jpg new file mode 100644 index 00000000000..421fc313214 Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/image--012.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/image--013.jpg b/img/guides/community-guides/mirage-quick-start-guide/image--013.jpg new file mode 100644 index 00000000000..0883cb33d0c Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/image--013.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/image--014.jpg b/img/guides/community-guides/mirage-quick-start-guide/image--014.jpg new file mode 100644 index 00000000000..9ce78f0ad8f Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/image--014.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/image--015.jpg b/img/guides/community-guides/mirage-quick-start-guide/image--015.jpg new file mode 100644 index 00000000000..a092e9caec2 Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/image--015.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/image--016.jpg b/img/guides/community-guides/mirage-quick-start-guide/image--016.jpg new file mode 100644 index 00000000000..0053f42b9bf Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/image--016.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/image--017.jpg b/img/guides/community-guides/mirage-quick-start-guide/image--017.jpg new file mode 100644 index 00000000000..2321f506863 Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/image--017.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/image--018.jpg b/img/guides/community-guides/mirage-quick-start-guide/image--018.jpg new file mode 100644 index 00000000000..a66ecbcf8a3 Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/image--018.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/image--019.jpg b/img/guides/community-guides/mirage-quick-start-guide/image--019.jpg new file mode 100644 index 00000000000..f9cc2b330ca Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/image--019.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/image--020.jpg b/img/guides/community-guides/mirage-quick-start-guide/image--020.jpg new file mode 100644 index 00000000000..9d9696afbc3 Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/image--020.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/network-manager.jpg b/img/guides/community-guides/mirage-quick-start-guide/network-manager.jpg new file mode 100644 index 00000000000..8b03a95031d Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/network-manager.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/player-components.jpg b/img/guides/community-guides/mirage-quick-start-guide/player-components.jpg new file mode 100644 index 00000000000..9ad7bc06f12 Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/player-components.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/spawn-player.jpg b/img/guides/community-guides/mirage-quick-start-guide/spawn-player.jpg new file mode 100644 index 00000000000..03db54192da Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/spawn-player.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/start-server-script.jpg b/img/guides/community-guides/mirage-quick-start-guide/start-server-script.jpg new file mode 100644 index 00000000000..5478947e773 Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/start-server-script.jpg differ diff --git a/img/guides/community-guides/mirage-quick-start-guide/video_tutorial.png b/img/guides/community-guides/mirage-quick-start-guide/video_tutorial.png new file mode 100644 index 00000000000..6482809c8bf Binary files /dev/null and b/img/guides/community-guides/mirage-quick-start-guide/video_tutorial.png differ diff --git a/img/guides/development-servers/aws/aws-setup.png b/img/guides/development-servers/aws/aws-setup.png new file mode 100644 index 00000000000..ab17c3d9239 Binary files /dev/null and b/img/guides/development-servers/aws/aws-setup.png differ diff --git a/img/guides/development-servers/aws/configure-rdp.png b/img/guides/development-servers/aws/configure-rdp.png new file mode 100644 index 00000000000..5f768c0cf87 Binary files /dev/null and b/img/guides/development-servers/aws/configure-rdp.png differ diff --git a/img/guides/development-servers/aws/connect-instance-1.png b/img/guides/development-servers/aws/connect-instance-1.png new file mode 100644 index 00000000000..11b8bd83be4 Binary files /dev/null and b/img/guides/development-servers/aws/connect-instance-1.png differ diff --git a/img/guides/development-servers/aws/connect-instance-2.png b/img/guides/development-servers/aws/connect-instance-2.png new file mode 100644 index 00000000000..c2e8de055c5 Binary files /dev/null and b/img/guides/development-servers/aws/connect-instance-2.png differ diff --git a/img/guides/development-servers/aws/connect-instance-3.png b/img/guides/development-servers/aws/connect-instance-3.png new file mode 100644 index 00000000000..85615892223 Binary files /dev/null and b/img/guides/development-servers/aws/connect-instance-3.png differ diff --git a/img/guides/development-servers/aws/drive-on-host.png b/img/guides/development-servers/aws/drive-on-host.png new file mode 100644 index 00000000000..b0e5aea454d Binary files /dev/null and b/img/guides/development-servers/aws/drive-on-host.png differ diff --git a/img/guides/development-servers/aws/firewall-exception.png b/img/guides/development-servers/aws/firewall-exception.png new file mode 100644 index 00000000000..84e4049e262 Binary files /dev/null and b/img/guides/development-servers/aws/firewall-exception.png differ diff --git a/img/guides/development-servers/aws/key-pair.png b/img/guides/development-servers/aws/key-pair.png new file mode 100644 index 00000000000..49561c60b6d Binary files /dev/null and b/img/guides/development-servers/aws/key-pair.png differ diff --git a/img/guides/development-servers/aws/microsoft-server-2019.png b/img/guides/development-servers/aws/microsoft-server-2019.png new file mode 100644 index 00000000000..f8c1db610e1 Binary files /dev/null and b/img/guides/development-servers/aws/microsoft-server-2019.png differ diff --git a/img/guides/development-servers/aws/review.png b/img/guides/development-servers/aws/review.png new file mode 100644 index 00000000000..694572a493d Binary files /dev/null and b/img/guides/development-servers/aws/review.png differ diff --git a/img/guides/development-servers/aws/running-instances.png b/img/guides/development-servers/aws/running-instances.png new file mode 100644 index 00000000000..1d6c824ada8 Binary files /dev/null and b/img/guides/development-servers/aws/running-instances.png differ diff --git a/img/guides/development-servers/aws/step-2.png b/img/guides/development-servers/aws/step-2.png new file mode 100644 index 00000000000..870623b0390 Binary files /dev/null and b/img/guides/development-servers/aws/step-2.png differ diff --git a/img/guides/development-servers/aws/step-6.png b/img/guides/development-servers/aws/step-6.png new file mode 100644 index 00000000000..62b86b15909 Binary files /dev/null and b/img/guides/development-servers/aws/step-6.png differ diff --git a/img/guides/development-servers/aws/windows-admin-pass-2.png b/img/guides/development-servers/aws/windows-admin-pass-2.png new file mode 100644 index 00000000000..33c99bd6734 Binary files /dev/null and b/img/guides/development-servers/aws/windows-admin-pass-2.png differ diff --git a/img/guides/development-servers/aws/windows-admin-pass.png b/img/guides/development-servers/aws/windows-admin-pass.png new file mode 100644 index 00000000000..11f6cd1c21c Binary files /dev/null and b/img/guides/development-servers/aws/windows-admin-pass.png differ diff --git a/img/guides/development-servers/google-cloud/01-vm-instances.jpg b/img/guides/development-servers/google-cloud/01-vm-instances.jpg new file mode 100644 index 00000000000..e693137a858 Binary files /dev/null and b/img/guides/development-servers/google-cloud/01-vm-instances.jpg differ diff --git a/img/guides/development-servers/google-cloud/02-create-instance-name-region.jpg b/img/guides/development-servers/google-cloud/02-create-instance-name-region.jpg new file mode 100644 index 00000000000..e86b20f3870 Binary files /dev/null and b/img/guides/development-servers/google-cloud/02-create-instance-name-region.jpg differ diff --git a/img/guides/development-servers/google-cloud/03-boot-disk.jpg b/img/guides/development-servers/google-cloud/03-boot-disk.jpg new file mode 100644 index 00000000000..73b84bca8f9 Binary files /dev/null and b/img/guides/development-servers/google-cloud/03-boot-disk.jpg differ diff --git a/img/guides/development-servers/google-cloud/04-expand-network-settings.jpg b/img/guides/development-servers/google-cloud/04-expand-network-settings.jpg new file mode 100644 index 00000000000..c9f1c893bd6 Binary files /dev/null and b/img/guides/development-servers/google-cloud/04-expand-network-settings.jpg differ diff --git a/img/guides/development-servers/google-cloud/05-network-tag.jpg b/img/guides/development-servers/google-cloud/05-network-tag.jpg new file mode 100644 index 00000000000..7bd8caa02fd Binary files /dev/null and b/img/guides/development-servers/google-cloud/05-network-tag.jpg differ diff --git a/img/guides/development-servers/google-cloud/06-ip-address.jpg b/img/guides/development-servers/google-cloud/06-ip-address.jpg new file mode 100644 index 00000000000..b9738ea8aac Binary files /dev/null and b/img/guides/development-servers/google-cloud/06-ip-address.jpg differ diff --git a/img/guides/development-servers/google-cloud/07-create-network-rule.jpg b/img/guides/development-servers/google-cloud/07-create-network-rule.jpg new file mode 100644 index 00000000000..bc0804b29cf Binary files /dev/null and b/img/guides/development-servers/google-cloud/07-create-network-rule.jpg differ diff --git a/img/guides/development-servers/google-cloud/08-connect-to-instance.jpg b/img/guides/development-servers/google-cloud/08-connect-to-instance.jpg new file mode 100644 index 00000000000..61c367de2ef Binary files /dev/null and b/img/guides/development-servers/google-cloud/08-connect-to-instance.jpg differ diff --git a/img/guides/development-servers/google-cloud/09-update-and-install.jpg b/img/guides/development-servers/google-cloud/09-update-and-install.jpg new file mode 100644 index 00000000000..7344ffea05f Binary files /dev/null and b/img/guides/development-servers/google-cloud/09-update-and-install.jpg differ diff --git a/img/guides/development-servers/google-cloud/10-server-build.jpg b/img/guides/development-servers/google-cloud/10-server-build.jpg new file mode 100644 index 00000000000..0cd5df50004 Binary files /dev/null and b/img/guides/development-servers/google-cloud/10-server-build.jpg differ diff --git a/img/guides/development-servers/google-cloud/11-upload-a-file.jpg b/img/guides/development-servers/google-cloud/11-upload-a-file.jpg new file mode 100644 index 00000000000..0df81132a52 Binary files /dev/null and b/img/guides/development-servers/google-cloud/11-upload-a-file.jpg differ diff --git a/img/guides/development-servers/google-cloud/12-uploading.jpg b/img/guides/development-servers/google-cloud/12-uploading.jpg new file mode 100644 index 00000000000..b628c77b3d3 Binary files /dev/null and b/img/guides/development-servers/google-cloud/12-uploading.jpg differ diff --git a/img/guides/game-objects/child-objects1.png b/img/guides/game-objects/child-objects1.png new file mode 100644 index 00000000000..f6a01b36750 Binary files /dev/null and b/img/guides/game-objects/child-objects1.png differ diff --git a/img/guides/game-objects/child-objects2.png b/img/guides/game-objects/child-objects2.png new file mode 100644 index 00000000000..88c8e0f87c3 Binary files /dev/null and b/img/guides/game-objects/child-objects2.png differ diff --git a/img/guides/game-objects/child-objects3.png b/img/guides/game-objects/child-objects3.png new file mode 100644 index 00000000000..e6520a95075 Binary files /dev/null and b/img/guides/game-objects/child-objects3.png differ diff --git a/img/guides/game-objects/network-local-players.png b/img/guides/game-objects/network-local-players.png new file mode 100644 index 00000000000..ddf28174da8 Binary files /dev/null and b/img/guides/game-objects/network-local-players.png differ diff --git a/img/guides/game-objects/spawn-objects.png b/img/guides/game-objects/spawn-objects.png new file mode 100644 index 00000000000..b350b20a04e Binary files /dev/null and b/img/guides/game-objects/spawn-objects.png differ diff --git a/img/guides/remote-actions/unet-directions.jpg b/img/guides/remote-actions/unet-directions.jpg new file mode 100644 index 00000000000..9f88897011e Binary files /dev/null and b/img/guides/remote-actions/unet-directions.jpg differ diff --git a/img/install-mirage.png b/img/install-mirage.png new file mode 100644 index 00000000000..c393235ecf5 Binary files /dev/null and b/img/install-mirage.png differ diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 00000000000..986b5f0e530 Binary files /dev/null and b/img/logo.png differ diff --git a/img/scoped-registry.png b/img/scoped-registry.png new file mode 100644 index 00000000000..6cda8892864 Binary files /dev/null and b/img/scoped-registry.png differ diff --git a/index.html b/index.html new file mode 100644 index 00000000000..e7480eb0922 --- /dev/null +++ b/index.html @@ -0,0 +1,17 @@ + + + + + + +Mirage Networking | Mirage Networking + + + + +
+

Mirage Networking

Easy to use high performance Network library for Unity

Modularity

Mirage is built on top of modular components and is easily extensible. Use only the features that you need.

Shared codebase

Both server and client can share the same code in a single project which improves productivity and simplifies development.

No static state

Run multiple servers/clients from a single Unity instance.

Low bandwidth usage

Use our Bit Packing features to greatly reduce bandwidth.

State synchronization

Use SyncVars to easily synchronize your game state over the network.

Server authoritative

Utilize the Server RPCs to do server-authoritative tasks.

+ + + + \ No newline at end of file diff --git a/lunr-index-1715030059162.json b/lunr-index-1715030059162.json new file mode 100644 index 00000000000..085c99bd809 --- /dev/null +++ b/lunr-index-1715030059162.json @@ -0,0 +1 @@ +{"version":"2.3.9","fields":["title","content","keywords"],"fieldVectors":[["title/0",[0,1407.705]],["content/0",[0,2.112,1,2.395,2,8.145,3,1.724,4,2.071,5,8.887,6,6.487,7,2.567,8,5.687,9,2.898,10,5.132,11,0.915,12,7.298,13,3.699,14,1.438,15,1.684,16,1.754,17,1.979,18,3.89,19,2.865,20,2.04,21,2.395,22,2.49,23,1.84,24,2.048,25,1.564,26,1.504,27,0.842,28,1.11,29,4.782,30,2.81,31,2.074,32,3.29,33,1.904,34,6.818,35,2.49,36,2.154,37,1.281,38,1.739,39,2.617,40,2.617,41,2.009,42,1.564,43,2.727,44,1.821,45,2.81,46,2.81,47,3.29,48,1.496,49,1.927,50,1.29,51,2.04,52,1.13,53,1.406,54,1.821,55,0.752,56,1.684,57,8.225,58,2.617,59,3.699,60,3.465,61,2.112,62,4.357,63,2.49,64,2.074,65,4.159,66,5.176,67,2.256,68,1.636,69,1.555,70,2.154,71,1.71,72,1.388,73,2.81,74,2.395,75,2.49,76,2.81,77,1.564,78,2.112,79,2.256,80,2.81,81,4.573,82,8.307,83,4.078,84,2.831,85,1.388,86,5.067,87,2.81,88,1.881,89,1.481,90,1.304,91,2.49,92,5.636,93,3.087,94,8.592,95,1.881,96,1.625,97,1.821,98,1.209,99,2.154,100,1.684,101,1.264,102,3.387,103,1.86,104,1.671,105,5.819,106,2.207,107,2.815,108,4.998,109,1.927,110,2.617,111,7.361,112,2.009,113,1.412,114,1.105,115,5.142]],["keywords/0",[]],["title/1",[5,501.29,29,798.226]],["content/1",[]],["keywords/1",[]],["title/2",[5,356.307,10,327.302,34,456.236,116,694.393]],["content/2",[2,5.471,5,8.3,10,5.577,19,4.389,24,3.553,27,6.36,28,4.931,29,9.668,34,5.371,38,11.18,101,5.615,106,5.323,114,8.346,117,9.383,118,9.215,119,10.638,120,6.866,121,7.369,122,7.935,123,9.062,124,8.263,125,6.089,126,6.866,127,7.597]],["keywords/2",[]],["title/3",[5,311.291,10,285.95,34,398.595,84,506.647,102,351.1]],["content/3",[2,3.416,5,6.704,9,4.364,10,7.212,23,5.104,24,4.507,27,3.77,28,6.255,29,4.17,34,10.662,37,3.554,42,4.337,62,3.248,65,4.506,84,4.263,102,6.889,114,6.223,125,3.802,126,4.287,127,7.661,128,5.218,129,5.159,130,5.063,131,7.794,132,7.794,133,7.258,134,7.258,135,3.185,136,6.598,137,4.601,138,3.087,139,2.812,140,4.67,141,3.63,142,6.431,143,5.753,144,6.642,145,5.159,146,5.975,147,6.106,148,5.104,149,5.345,150,3.643,151,3.275,152,2.806,153,3.97]],["keywords/3",[]],["title/4",[127,754.444,154,1154.419,155,1154.419]],["content/4",[2,5.629,5,6.197,7,6.37,10,3.964,19,3.12,85,10.657,88,14.445,102,4.867,121,7.581,124,8.501,126,7.064,127,14.353,130,5.165,137,7.581,145,8.501,154,11.96,155,11.96,156,9.845,157,8.699,158,12.843,159,12.843,160,9.179,161,7.637,162,5.647,163,7.475,164,11.96]],["keywords/4",[]],["title/5",[5,501.29,6,1082.951]],["content/5",[]],["keywords/5",[]],["title/6",[165,1435.736]],["content/6",[5,5.702,6,17.316,8,3.777,9,6.414,10,6.598,19,1.687,21,5.918,24,6.591,27,5.623,34,8.695,41,4.963,47,4.414,93,5.05,98,2.988,102,2.632,107,6.23,113,3.49,118,5.126,125,5.588,127,6.972,130,2.793,138,4.537,143,5.126,163,4.042,166,4.704,167,3.537,168,5.574,169,9.048,170,5.22,171,8.611,172,3.258,173,3.777,174,2.549,175,6.945,176,2.944,177,6.153,178,4.548,179,4.07,180,3.587,181,4.548,182,6.153,183,6.945,184,4.548,185,5.324,186,4.704,187,4.13]],["keywords/6",[]],["title/7",[5,501.29,57,774.347]],["content/7",[4,7.073,5,7.711,55,4.732,57,9.176,61,13.287,96,10.219,129,11.702,188,9.838,189,12.281,190,9.509,191,9.897,192,15.662,193,11.702,194,17.678]],["keywords/7",[]],["title/8",[5,501.29,18,1121.303]],["content/8",[]],["keywords/8",[]],["title/9",[61,1121.303,62,621.606]],["content/9",[2,6.219,5,3.045,10,4.38,18,10.665,19,2.201,25,7.897,26,4.848,28,3.579,34,6.105,42,5.042,52,3.644,61,6.81,62,5.912,71,5.514,72,4.475,77,5.042,88,6.065,93,3.129,96,5.238,106,3.864,120,4.984,141,4.22,148,5.933,188,9.733,195,5.471,196,6.475,197,9.197,198,9.06,199,6.946,200,6.382,201,9.06,202,12.572,203,7.721,204,3.05,205,9.06,206,9.06,207,9.06,208,11.116,209,9.06,210,9.06,211,4.402,212,8.936,213,5.759,214,9.06,215,9.06,216,5.814,217,5.933,218,5.514,219,7.476,220,4.594,221,5.169]],["keywords/9",[]],["title/10",[5,416.543,18,931.738,222,637.316]],["content/10",[2,1.496,3,2.094,4,1.365,18,2.565,19,1.501,21,2.908,24,5.008,27,5.27,28,2.441,52,2.485,55,3.222,71,2.077,72,3.052,84,1.866,86,2.403,88,2.284,89,6.341,93,1.178,96,1.973,103,2.259,104,2.029,106,1.455,125,1.664,126,1.877,127,5.154,135,2.525,136,1.789,139,4.342,145,2.259,176,1.446,187,2.029,191,1.91,200,2.403,202,3.023,203,5.266,204,1.149,217,2.234,219,2.816,220,6.103,221,1.947,222,3.177,223,2.284,224,2.673,225,1.658,226,2.403,227,3.412,228,3.412,229,2.816,230,2.094,231,6.179,232,6.179,233,3.412,234,2.371,235,3.412,236,1.959,237,2.616,238,3.412,239,3.178,240,3.412,241,3.023,242,6.546,243,2.284,244,2.99,245,2.403,246,2.234,247,1.651,248,0.925,249,2.868,250,2.565,251,1.715,252,3.468,253,8.469,254,6.775,255,1.595,256,3.412,257,2.582,258,5.266,259,5.755,260,8.469,261,1.835,262,8.469,263,6.366,264,2.234,265,2.337,266,3.412,267,3.412,268,3.649,269,3.412,270,5.276,271,1.973,272,3.412,273,1.754,274,3.412,275,2.371,276,1.91,277,3.412,278,3.412,279,3.412,280,5.475,281,2.109,282,3.412,283,4.841,284,8.469,285,7.221,286,3.412,287,3.412,288,5.755,289,6.492,290,2.294,291,6.179,292,3.412,293,3.412,294,2.519,295,2.673,296,1.625,297,2.816]],["keywords/10",[]],["title/11",[5,416.543,57,643.438,60,829.836]],["content/11",[]],["keywords/11",[]],["title/12",[19,362.389,60,998.669]],["content/12",[5,8.021,7,9.322,24,5.349,27,5.629,57,9.756,60,12.582,62,7.831,211,9.131,298,8.511,299,13.643,300,11.731]],["keywords/12",[]],["title/13",[24,301.801,27,317.588,254,309.476,298,480.197]],["content/13",[5,5.564,19,2.693,24,4.713,27,3.321,28,4.38,34,10.619,48,5.901,60,7.422,62,6.9,93,5.719,127,6.748,180,5.727,213,12.598,216,10.627,254,3.236,268,3.892,298,11.583,301,7.115,302,8.184,303,8.333,304,6.498,305,7.422,306,8.86,307,5.164,308,7.603,309,8.048]],["keywords/13",[]],["title/14",[24,533.058]],["content/14",[5,1.379,19,2.39,22,6.459,24,4.663,26,2.195,27,1.229,28,7.279,34,7.05,47,2.608,48,2.184,59,2.932,60,4.88,65,2.372,68,2.388,88,4.88,90,1.904,98,1.765,99,5.589,100,2.458,106,1.749,123,2.978,135,4.021,140,2.458,180,3.766,184,2.687,190,2.207,208,5.712,213,7.578,216,4.678,218,2.497,220,4.989,225,3.542,248,1.113,298,9.367,300,12.493,306,5.264,307,1.911,310,6.213,311,5.381,312,3.49,313,7.142,314,12.719,315,2.687,316,13.395,317,2.311,318,3.496,319,3.496,320,3.084,321,4.103,322,3.496,323,2.243,324,3.821,325,3.145,326,4.103,327,2.14,328,3.293,329,4.103,330,10.563,331,7.199,332,6.759,333,6.459,334,3.821,335,3.635,336,3.293,337,4.103,338,3.821,339,5.48,340,7.542,341,9.915,342,3.821,343,2.932,344,2.584,345,4.103,346,3.635,347,3.214,348,2.89,349,2.608,350,3.293,351,1.729,352,2.978,353,3.293,354,3.496,355,2.978,356,3.496,357,4.103,358,2.716,359,3.496]],["keywords/14",[]],["title/15",[27,560.943]],["content/15",[5,2.531,12,4.66,24,5.07,26,6.55,27,7.341,28,6.11,34,10.26,43,3.967,48,4.008,62,3.138,71,4.583,93,4.228,130,3.029,135,5.003,148,11.666,169,3.629,174,2.765,179,7.176,180,6.324,190,6.585,211,3.658,213,4.787,220,6.207,237,5.773,248,2.042,252,1.655,298,3.41,300,4.7,310,6.418,316,5.773,317,4.242,340,11.858,341,5.467,360,5.66,361,9.202,362,6.045,363,7.531,364,4.881,365,5.773,366,3.508,367,5.304,368,4.932,369,5.164,370,5.382,371,7.013,372,6.418,373,5.232,374,7.531]],["keywords/15",[]],["title/16",[5,416.543,53,620.193,375,411.811]],["content/16",[]],["keywords/16",[]],["title/17",[2,464.757,5,356.307,53,530.506,375,352.259]],["content/17",[2,8.168,5,4.378,7,6.463,10,4.022,32,8.282,34,5.606,44,8.445,51,13.527,52,5.241,53,9.323,65,7.533,69,7.209,106,5.556,113,6.548,157,12.622,204,4.387,290,4.837,312,4.622,375,8.344,376,6.305,377,18.635,378,9.989,379,7.584,380,7.868]],["keywords/17",[]],["title/18",[53,746.373,375,495.595]],["content/18",[2,4.921,4,6.688,14,8.553,19,2.727,26,6.007,32,10.624,34,4.83,51,8.15,52,4.515,53,11.068,69,6.211,124,7.431,125,5.476,141,5.229,212,7.07,273,5.772,309,8.15,375,6.634,381,7.276,382,11.227,383,6.727,384,9.012,385,7.276,386,5.971,387,11.227,388,10.455,389,10.015,390,7.907,391,10.726,392,11.227,393,8.438,394,9.567]],["keywords/18",[]],["title/19",[395,1239.745]],["content/19",[33,12.216,37,8.223,53,9.023,56,10.806,161,10.725,204,6.072,220,9.144,393,13.556,395,11.938,396,10.426,397,9.454,398,15.369,399,4.039,400,5.239]],["keywords/19",[]],["title/20",[5,416.543,81,787.917,82,873.124]],["content/20",[2,6.17,5,7.186,10,6.075,12,5.55,14,4.59,15,5.374,19,2.179,24,2.553,27,2.686,34,3.859,38,5.55,81,16.436,82,12.239,83,7.98,84,4.905,85,9.721,93,3.098,106,3.825,121,5.295,130,3.607,138,3.552,167,8.85,190,4.825,290,3.33,351,3.78,370,6.41,378,6.876,384,7.2,401,11.996,402,5.756,403,8.969,404,6.075,405,8.969,406,7.401,407,5.151,408,8.969,409,8.969,410,4.148]],["keywords/20",[]],["title/21",[5,416.543,86,873.124,88,829.836]],["content/21",[5,6.328,8,7.191,19,3.212,24,5.36,27,3.961,86,16.833,88,12.606,89,6.966,90,10.178,91,11.716,104,7.864,125,6.45,126,7.273,302,9.761,411,6.645,412,11.269,413,15.539,414,9.599,415,12.314,416,10.614,417,9.451,418,13.223,419,11.269]],["keywords/21",[]],["title/22",[5,416.543,82,873.124,92,971.168]],["content/22",[2,8.876,4,2.211,5,7.365,10,6.975,12,3.419,19,1.342,24,2.691,26,2.956,29,5.058,34,9.431,37,2.519,41,3.949,48,2.941,50,2.537,82,12.657,83,9.345,84,3.022,92,15.865,93,3.265,102,2.094,106,4.031,114,2.172,126,3.039,127,3.363,137,3.262,150,2.583,243,8.294,244,2.673,247,2.673,248,1.499,308,3.789,354,8.056,355,4.011,379,3.216,407,5.429,410,2.555,417,3.949,420,5.146,421,9.506,422,5.525,423,4.011,424,3.839,425,5.525,426,1.483,427,6.756,428,5.146,429,4.559,430,5.525,431,4.559,432,4.559,433,5.525,434,4.709,435,5.525,436,5.146,437,4.236,438,4.236,439,4.079,440,4.895,441,4.709,442,5.525,443,4.709,444,5.141]],["keywords/22",[]],["title/23",[5,416.543,82,873.124,102,469.812]],["content/23",[]],["keywords/23",[]],["title/24",[19,301.124,102,469.812,317,698.32]],["content/24",[2,3.157,4,1.619,5,2.42,7,2.007,10,5.649,14,2.071,24,4.627,25,2.252,27,4.054,28,1.598,32,4.578,34,3.099,43,2.132,62,1.686,64,2.987,69,5.384,93,2.487,102,8.419,104,2.406,105,4.008,107,8.157,114,1.59,135,2.943,138,2.852,140,2.425,152,2.593,153,2.061,167,2.061,172,1.899,254,5.341,290,4.382,301,2.597,308,8.095,317,5.482,320,3.042,368,2.65,376,6.548,386,1.21,410,3.33,411,6.801,416,3.248,445,5.004,446,3.585,447,3.339,448,4.047,449,16.314,450,2.987,451,3.042,452,2.463,453,2.526,454,3.448,455,3.585,456,2.709,457,2.623,458,3.448,459,5.004,460,3.769,461,4.047,462,4.047,463,4.047,464,2.892,465,2.483,466,3.042,467,4.047,468,3.769,469,2.526,470,9.248,471,2.85,472,3.769,473,8.622,474,3.042,475,4.047,476,4.047,477,2.741,478,3.769,479,3.17,480,2.775,481,4.047,482,4.047,483,1.858,484,5.004,485,4.047,486,4.047,487,2.987,488,1.899,489,2.741,490,2.987,491,2.892,492,2.679,493,3.448,494,2.811,495,3.339,496,3.769,497,2.709,498,3.102]],["keywords/24",[]],["title/25",[5,416.543,93,428.137,94,820.567]],["content/25",[]],["keywords/25",[]],["title/26",[426,502.78]],["content/26",[]],["keywords/26",[]],["title/27",[24,352.823,426,332.782,499,685.804]],["content/27",[252,5.548,254,7.367,281,8.615,499,13.964,500,17.334,501,17.334,502,17.334,503,17.334]],["keywords/27",[]],["title/28",[5,416.543,57,643.438,102,469.812]],["content/28",[]],["keywords/28",[]],["title/29",[397,981.732]],["content/29",[5,6.66,10,3.422,13,5.7,26,8.86,27,4.96,28,4.38,48,5.901,62,8.259,102,8.332,114,4.358,138,4.391,139,4,153,5.647,211,5.386,223,7.422,298,5.021,317,6.246,376,5.365,386,3.315,396,6.409,452,6.748,479,8.686,504,9.161,505,6.03,506,10.325,507,7.809,508,5.901,509,10.325,510,10.525,511,9.108,512,6.545,513,7.339,514,8.9]],["keywords/29",[]],["title/30",[102,565.397,386,446.084]],["content/30",[5,6.611,10,5.064,27,3.28,37,4.993,96,6.331,98,4.712,102,8.87,113,5.503,128,7.331,173,5.956,234,11.399,364,7.098,368,7.171,386,6.534,404,14.8,466,8.231,505,8.923,515,10.951,516,10.951,517,9.703,518,9.617,519,8.579,520,8.79,521,7.171,522,10.951,523,10.951,524,6.094,525,11.399,526,9.332]],["keywords/30",[]],["title/31",[5,416.543,62,516.519,105,689.872]],["content/31",[2,6.374,5,7.158,10,4.489,12,4.264,19,4.541,24,1.961,34,7.266,41,4.925,48,6.059,52,2.772,57,8.766,62,8.389,93,6.953,102,5.512,105,13.239,111,4.301,114,8.754,120,3.79,126,6.261,167,3.51,190,3.707,204,2.32,225,3.348,236,3.957,375,2.289,414,5.002,426,1.85,457,4.466,492,4.561,527,4.513,528,5.283,529,6.891,530,7.782,531,6.891,532,6.417,533,7.71,534,5.399,535,4.854,536,6.105,537,4.726,538,4.925]],["keywords/31",[]],["title/32",[5,416.543,57,643.438,94,820.567]],["content/32",[]],["keywords/32",[]],["title/33",[257,782.587]],["content/33",[5,2.897,12,5.335,19,3.315,24,3.884,28,5.391,34,3.71,57,4.476,62,7.057,89,7.189,91,7.64,93,8.372,94,11.211,100,5.166,101,6.139,102,7.298,106,3.677,135,3.524,148,5.647,225,4.189,290,3.201,296,4.107,308,5.913,355,6.259,375,2.864,386,2.578,539,7.64,540,8.623,541,7.348,542,5.019,543,8.623,544,8.623,545,8.623,546,8.623,547,8.623,548,6.755,549,7.641,550,8.623,551,8.623,552,7.348,553,8.623,554,3.389,555,11.629,556,3.534,557,8.623,558,4.107,559,7.55]],["keywords/33",[]],["title/34",[426,502.78]],["content/34",[]],["keywords/34",[]],["title/35",[27,371.279,426,332.782,499,685.804]],["content/35",[75,7.566,252,5.603,254,7.939,268,5.908,281,7.948,472,7.953,499,14.101,554,3.356,558,4.068,560,8.54,561,8.54,562,8.54,563,8.54,564,15.005,565,8.54,566,8.54,567,7.545,568,8.54,569,6.451,570,8.54,571,8.54,572,7.278,573,8.54,574,8.54]],["keywords/35",[]],["title/36",[24,352.823,426,332.782,499,685.804]],["content/36",[252,5.823,254,7.731,281,9.04,499,14.654,564,15.762,575,11.37,576,11.37,577,11.37,578,11.37,579,11.37,580,11.37,581,11.37,582,11.37]],["keywords/36",[]],["title/37",[5,416.543,111,773.712,115,885.961]],["content/37",[2,9.18,5,7.369,8,9.959,10,7.026,19,4.007,24,4.03,27,4.241,34,9.436,48,3.531,93,2.291,105,7.88,108,9.836,111,12.334,115,14.969,128,4.441,135,2.712,167,3.379,169,6.823,172,5.176,180,5.698,243,4.441,312,2.353,313,4.816,331,4.006,375,2.204,411,3.334,423,4.816,424,4.609,444,3.608,457,4.3,489,4.494,583,5.878,584,6.635,585,8.291,586,4.217,587,4.55,588,5.326,589,5.654,590,4.105,591,5.198]],["keywords/37",[]],["title/38",[0,1121.303,592,1050.764]],["content/38",[]],["keywords/38",[]],["title/39",[592,1050.764,593,957.347]],["content/39",[16,12.247,19,4.766,57,10.185,136,10.285,592,17.275,593,12.592,594,13.82,595,13.135,596,17.384]],["keywords/39",[]],["title/40",[50,486.873,549,896.606,597,830.727]],["content/40",[]],["keywords/40",[]],["title/41",[598,1253.749]],["content/41",[2,8.254,5,6.328,7,6.559,24,3.764,27,6.569,43,6.966,57,6.864,163,7.697,172,6.204,174,4.854,369,9.068,375,4.393,407,7.594,457,8.571,556,5.419,597,10.36,599,10.614,600,13.223,601,15.539,602,13.223,603,9.314,604,12.512,605,8.957,606,8.114,607,12.314]],["keywords/41",[]],["title/42",[608,1382.483]],["content/42",[2,2.618,4,1.315,9,3.344,11,1.07,19,0.798,24,2.875,27,2.459,37,1.499,55,1.599,62,1.369,67,2.638,71,2,84,1.797,89,1.731,93,5.96,98,2.57,107,1.787,113,1.651,130,4.062,138,5.197,139,6.225,151,2.51,172,3.852,174,1.206,187,1.954,197,2.13,200,2.315,216,2.109,252,3.963,254,7.555,255,1.536,281,4,290,3.048,296,2.845,299,2.386,312,3.582,366,1.531,369,5.63,375,3.894,386,2.455,396,3.453,410,2.762,457,2.13,464,4.269,549,11.168,556,3.364,558,1.565,559,4.542,599,4.794,601,10.829,606,5.037,607,5.562,609,2.712,610,9.406,611,2.254,612,1.397,613,3.286,614,3.286,615,3.286,616,5.973,617,2.912,618,2.226,619,2.2,620,2.47,621,2.912,622,3.286,623,3.998,624,4.679,625,3.286,626,2.175,627,3.286,628,1.887,629,3.286,630,3.286,631,3.286,632,3.286,633,3.286,634,5.973,635,2.575,636,2.034,637,3.286,638,1.554,639,11.72,640,3.286,641,6.996,642,3.871,643,5.973,644,5.973,645,5.973,646,3.286,647,3.286]],["keywords/42",[]],["title/43",[5,501.29,111,931.126]],["content/43",[2,8.911,4,2.488,5,7.921,8,3.382,10,6.587,19,1.511,23,4.072,24,5.026,27,4.048,29,5.591,34,6.815,37,2.835,48,3.31,50,2.855,52,4.203,64,4.59,104,3.698,105,5.816,107,5.683,108,4.32,111,11.937,118,4.59,121,3.671,139,2.243,163,3.62,169,5.036,172,6.341,186,4.212,211,3.021,225,3.021,244,5.056,313,4.514,343,4.444,351,2.621,375,3.472,379,3.62,386,4.736,407,3.571,423,4.514,424,4.32,465,3.816,489,4.212,508,3.31,541,5.299,556,2.548,604,5.962,605,4.212,628,3.571,648,4.767,649,4.872,650,4.59,651,5.51,652,6.219,653,5.791,654,6.219,655,6.219,656,6.219,657,5.791]],["keywords/43",[]],["title/44",[97,1213.875]],["content/44",[97,17.069,130,8.867,351,9.291,658,18.191]],["keywords/44",[]],["title/45",[659,1744.142]],["content/45",[659,22.782]],["keywords/45",[]],["title/46",[102,469.812,130,498.58,317,698.32]],["content/46",[2,2.053,5,3.67,10,3.372,14,5.589,15,6.545,19,1.138,24,4.661,26,2.506,27,3.272,37,3.736,52,1.884,57,2.431,60,3.136,62,1.952,65,6.314,92,6.42,93,4.526,102,8.86,123,3.4,125,3.997,128,3.136,130,3.296,141,5.087,145,3.101,148,7.153,152,1.686,153,2.386,174,1.72,190,5.876,195,2.828,212,6.879,213,5.208,225,2.276,250,3.521,254,1.367,275,3.254,298,4.947,317,2.639,375,4.353,376,5.285,379,2.726,390,5.772,391,3.006,397,2.455,411,4.118,431,3.865,444,2.547,449,15.027,451,3.521,455,4.15,473,4.15,508,2.493,593,3.006,595,3.136,605,3.173,636,5.07,660,3.136,661,3.458,662,4.684,663,8.194,664,3.212,665,4.684,666,2.607,667,2.786,668,3.521,669,4.15,670,2.977,671,3.865,672,4.362,673,3.136,674,3.173,675,4.15,676,4.684,677,4.362,678,4.684,679,3.865,680,4.362,681,10.172,682,4.684,683,4.684,684,4.684,685,3.458,686,3.521,687,7.631,688,3.458,689,4.684,690,4.15,691,3.521]],["keywords/46",[]],["title/47",[692,1596.012]],["content/47",[692,20.847]],["keywords/47",[]],["title/48",[102,401.872,130,426.48,317,597.335,331,640.247]],["content/48",[]],["keywords/48",[]],["title/49",[5,416.543,57,643.438,693,1154.419]],["content/49",[2,3.387,5,5.289,10,3.858,24,3.558,27,5.417,34,6.773,48,4.113,57,6.488,68,4.497,84,4.226,93,4.317,102,9.118,109,5.298,121,4.561,130,3.108,186,5.233,190,11.432,236,4.437,254,2.255,273,6.426,289,5.923,312,4.433,317,8.867,351,3.256,375,2.567,376,8.751,384,6.202,401,6.584,427,5.522,449,19.063,505,4.202,527,5.06,693,7.195,694,5.923,695,3.238,696,11.074,697,7.727,698,6.202,699,7.195,700,7.727,701,6.053,702,6.584]],["keywords/49",[]],["title/50",[148,976.947,190,802.497]],["content/50",[15,8.304,19,2.136,24,4.882,26,4.705,27,5.138,34,3.783,60,5.886,62,3.664,65,5.083,74,7.493,84,4.809,93,6.723,102,3.332,138,3.482,148,5.758,163,5.118,167,4.479,190,7.455,212,5.537,213,8.809,254,2.566,298,6.276,389,5.268,391,5.642,411,4.418,443,11.81,449,7.493,478,8.188,538,6.284,666,4.893,667,5.229,668,6.609,669,7.79,671,7.255,672,8.188,673,5.886,674,5.956,675,7.79,703,7.79,704,6.284,705,9.504,706,7.493,707,12.279,708,8.793,709,8.793,710,8.793,711,8.793,712,5.537,713,8.188,714,6.888,715,6.888,716,7.255]],["keywords/50",[]],["title/51",[717,1596.012]],["content/51",[130,8.867,351,9.291,658,18.191,717,22.443]],["keywords/51",[]],["title/52",[718,1503.341]],["content/52",[]],["keywords/52",[]],["title/53",[93,428.137,375,411.811,542,721.524]],["content/53",[2,4.742,5,3.635,10,5.018,26,5.788,28,4.273,34,4.655,69,5.985,93,3.736,94,7.161,102,8.824,148,7.084,150,5.057,188,9.048,204,3.642,225,5.256,254,3.157,257,4.52,308,7.419,315,7.084,375,6.488,376,5.234,379,6.297,381,7.012,524,6.021,542,6.297,592,7.62,718,8.684,719,8.475,720,7.732,721,8.475,722,8.475,723,8.03,724,10.818,725,8.684,726,12.463,727,10.818,728,9.585]],["keywords/53",[]],["title/54",[93,515.243,106,636.146]],["content/54",[2,4.184,5,3.207,7,4.734,8,5.191,10,5.581,12,9.143,34,8.758,50,4.383,93,8.387,101,9.156,106,4.07,112,10.561,114,5.808,135,6.039,145,9.781,147,7.478,148,6.251,169,7.121,174,3.504,179,5.595,180,4.931,188,5.312,191,5.344,236,5.481,257,3.988,305,6.39,325,7.317,370,6.822,480,6.546,587,6.546,729,9.545,730,9.545,731,6.631,732,8.889,733,9.545,734,4.265,735,9.545,736,9.545]],["keywords/54",[]],["title/55",[62,516.519,93,428.137,105,689.872]],["content/55",[2,7.179,10,6.737,34,9.391,102,8.272,105,9.115,111,10.223,114,6.438,120,9.009,145,10.842,188,9.115,308,11.232,723,8.09,737,16.379,738,16.379,739,16.379,740,9.062]],["keywords/55",[]],["title/56",[5,416.543,141,577.371,375,411.811]],["content/56",[2,9.338,24,6.064,27,6.381,28,6.241,34,6.798,62,6.583,90,7.332,96,9.133,97,10.24,98,6.798,100,9.466,167,8.047,188,8.793,199,12.112,298,7.155,741,13.037,742,13.037,743,15.799]],["keywords/56",[]],["title/57",[718,1197.481,744,1321.747]],["content/57",[2,5.048,8,6.263,10,3.555,27,5.102,50,5.288,70,8.828,93,5.883,102,6.456,105,6.409,109,7.897,114,4.526,135,4.707,169,5.55,173,6.263,180,5.949,188,6.409,217,7.542,246,7.542,308,11.681,331,6.954,370,8.231,404,7.801,411,5.787,427,8.231,480,7.897,538,8.231,592,8.112,707,10.203,718,9.244,732,10.725,734,5.146,744,15.092,745,10.203,746,12.365,747,9.503,748,11.516]],["keywords/57",[]],["title/58",[94,1239.745]],["content/58",[94,17.433,130,8.867,351,9.291,658,18.191]],["keywords/58",[]],["title/59",[749,1744.142]],["content/59",[34,4.389,59,11.113,65,5.896,77,5.676,84,5.578,93,3.523,254,7.257,312,3.618,429,8.417,619,10.409,670,6.483,723,5.038,725,8.187,749,14.481,750,10.2,751,8.417,752,10.952,753,10.2,754,10.2,755,10.2,756,10.2,757,10.2,758,10.2,759,10.2,760,15.549,761,8.417,762,10.2,763,10.2,764,8.692,765,10.2,766,10.2,767,10.2,768,10.2,769,10.2,770,9.037,771,15.549,772,9.499,773,9.037,774,9.499,775,10.2]],["keywords/59",[]],["title/60",[0,1407.705]],["content/60",[]],["keywords/60",[]],["title/61",[660,998.669,776,862.416]],["content/61",[4,7.872,55,4.392,104,6.512,106,6.996,135,4.476,138,7.792,220,5.553,225,5.32,247,5.299,264,7.171,271,6.331,276,11.016,289,8.395,477,7.418,660,7.331,686,8.231,716,9.036,731,7.608,776,12.632,777,9.703,778,8.138,779,6.248,780,10.198,781,17.119,782,9.036,783,10.198,784,10.951,785,10.198,786,8.79,787,10.951,788,7.608]],["keywords/61",[]],["title/62",[139,538.178,660,998.669]],["content/62",[19,3.469,24,4.065,27,4.278,28,7.853,55,3.823,96,8.256,98,6.145,135,5.837,138,7.873,139,8.25,151,6.002,276,7.996,618,9.674,660,9.561,777,12.654,778,9.861,789,12.171,790,13.3,791,13.3,792,14.282,793,14.282,794,11.785]],["keywords/62",[]],["title/63",[10,460.483,660,998.669]],["content/63",[4,4.73,8,6.429,9,6.619,10,7.002,24,5.858,27,6.165,32,7.514,55,3.164,90,5.486,104,7.03,114,4.646,135,7.097,138,4.682,150,5.526,167,6.021,172,5.547,174,4.34,211,5.743,246,7.742,397,6.197,605,8.007,660,13.779,723,5.839,777,10.474,795,11.822,796,5.675,797,11.822,798,11.822,799,6.136,800,8.886]],["keywords/63",[]],["title/64",[211,724.734,298,675.592]],["content/64",[5,4.723,8,7.645,10,6.069,24,4.001,26,7.521,27,4.21,104,8.359,113,7.064,135,5.745,167,7.16,211,9.552,247,6.801,298,8.904,327,7.332,603,9.901,660,9.41,790,13.091,791,13.091,801,11.283,802,14.778,803,11.283,804,8.774,805,11.599,806,11.979]],["keywords/64",[]],["title/65",[24,301.801,27,317.588,211,515.126,254,309.476]],["content/65",[5,7.251,10,6.661,24,6.712,27,7.481,28,5.073,81,8.163,85,6.343,113,6.454,211,10.483,298,5.816,301,8.241,339,9.653,459,8.922,464,9.179,465,7.88,605,8.699,807,9.653,808,12.843,809,12.843,810,11.379,811,10.061]],["keywords/65",[]],["title/66",[62,621.606,812,948.221]],["content/66",[]],["keywords/66",[]],["title/67",[813,1435.736]],["content/67",[4,5.38,14,5.316,33,4.183,48,3.287,52,4.178,57,9.13,74,5.263,77,3.437,89,3.253,99,4.734,125,3.012,129,4.088,135,2.524,136,3.237,142,5.096,153,3.146,161,3.672,196,4.414,197,4.003,212,6.543,213,12.113,216,3.963,219,5.096,223,4.134,237,4.734,290,4.992,309,7.542,312,2.19,315,4.044,323,3.196,327,3.221,331,3.729,375,3.451,376,2.988,379,3.594,389,10.539,390,4.35,453,3.854,469,6.484,489,4.183,510,8.547,549,3.458,594,13.423,612,2.626,626,4.088,661,11.64,704,4.414,720,4.414,813,7.964,814,8.339,815,5.751,816,5.096,817,4.838,818,5.751,819,5.096,820,5.751,821,5.751,822,5.751,823,5.751,824,5.751,825,2.69,826,5.751,827,5.751,828,7.425,829,5.751,830,5.471,831,5.751,832,3.889,833,4.838,834,5.263,835,5.751,836,5.751]],["keywords/67",[]],["title/68",[751,1231.016,837,1231.016]],["content/68",[4,9.424,19,4.471,56,11.029,186,12.468,380,11.114,396,10.641,751,19.437,838,16.308,839,18.407,840,18.407,841,11.592]],["keywords/68",[]],["title/69",[5,416.543,141,577.371,375,411.811]],["content/69",[2,6.936,5,6.422,10,3.222,19,3.844,34,4.491,38,6.459,96,9.148,102,3.956,106,6.748,121,6.162,125,5.092,141,8.902,188,8.807,199,8.002,200,15.023,213,6.635,254,3.047,290,3.875,333,9.248,343,11.31,375,6.349,444,8.606,491,7.46,567,4.68,612,4.438,626,6.91,698,8.379,814,8.379,828,7.46,842,10.439,843,9.721,844,6.459,845,6.353,846,8.379]],["keywords/69",[]],["title/70",[93,515.243,101,671.055]],["content/70",[2,10.198,10,4.554,25,8.211,69,8.163,93,7.023,101,9.146,106,8.671,107,8.024,125,7.197,126,8.115,127,8.979,290,5.477,312,5.233,567,6.615,598,9.877,734,6.593,847,14.754,848,14.754,849,13.072,850,10.545]],["keywords/70",[]],["title/71",[93,515.243,112,1066.213]],["content/71",[2,6.408,4,2.455,5,2.062,7,1.68,12,9.718,19,3.252,24,4.161,26,1.812,27,4.009,42,1.885,50,3.864,52,1.362,55,1.643,68,3.572,84,1.852,93,5.424,100,5.042,101,2.761,102,1.283,111,3.83,112,12.527,113,3.084,125,1.652,129,2.242,130,3.385,135,1.384,138,2.43,141,1.577,151,1.423,162,2.698,168,2.718,169,5.77,173,1.842,174,1.243,176,1.435,178,2.218,180,3.17,197,2.195,220,4.267,248,1.664,252,1.349,254,6.934,268,2.154,271,5.974,273,3.155,281,2.872,299,10.613,308,2.322,320,2.545,343,2.42,352,2.458,365,2.596,396,1.958,397,1.775,410,5.536,411,1.702,417,4.386,427,4.386,441,2.886,446,3,453,2.114,457,3.978,465,2.078,480,2.322,507,4.323,590,2.095,617,3,618,2.294,650,4.53,657,5.715,832,2.133,846,2.718,851,3.153,852,3,853,2.794,854,4.926,855,3.386,856,3,857,8.416,858,2.545,859,1.958,860,3.386,861,7.456,862,1.589,863,3.386,864,2.596,865,8.416,866,3.735,867,6.755,868,3.153,869,2.5,870,2.718,871,4.264,872,4.323,873,4.323,874,3.501,875,6.137,876,1.852,877,1.376]],["keywords/71",[]],["title/72",[9,593.677,34,456.236,93,366.224,97,687.258]],["content/72",[8,9.074,9,9.342,37,7.608,42,9.286,125,8.139,135,6.819,145,11.045,162,7.336,172,10.367,176,7.073,247,10.691,248,4.525,273,8.578,492,11.045,593,10.708,878,16.686]],["keywords/72",[]],["title/73",[344,939.492,619,998.669]],["content/73",[37,7.608,93,5.763,98,7.179,125,8.139,162,7.336,176,7.073,273,8.578,344,10.508,366,10.292,593,14.18,619,16.584,876,9.125,879,16.686,880,8.835]],["keywords/73",[]],["title/74",[10,327.302,34,456.236,93,366.224,163,617.184]],["content/74",[2,5.549,5,4.254,9,10.22,10,5.634,25,7.046,29,6.774,34,7.854,52,5.092,93,6.304,101,5.695,102,4.798,103,8.381,112,9.048,135,5.174,163,7.369,172,5.94,187,7.529,188,7.046,273,6.509,507,8.917,619,8.475,650,9.345,740,7.004,881,2.41,882,12.66,883,12.66,884,12.66,885,12.66,886,7.644,887,11.79,888,12.66]],["keywords/74",[]],["title/75",[889,1467.278]],["content/75",[10,5.249,19,4.13,26,9.098,27,5.093,34,7.316,106,7.251,257,7.105,273,8.742,386,5.084,889,17.528,890,13.321,891,17.004,892,13.649,893,11.813,894,17.004,895,13.035]],["keywords/75",[]],["title/76",[93,428.137,105,689.872,114,487.203]],["content/76",[10,5.801,14,9.618,34,8.087,52,7.559,62,7.831,105,10.46,109,12.889,290,6.977,369,12.889,567,8.426,896,18.795,897,18.795]],["keywords/76",[]],["title/77",[799,972.13]],["content/77",[]],["keywords/77",[]],["title/78",[764,1596.012]],["content/78",[25,13.251,764,20.291]],["keywords/78",[]],["title/79",[898,1872.876]],["content/79",[106,8.958,395,13.906,899,21.008,900,23.823,901,18.612,902,21.008]],["keywords/79",[]],["title/80",[776,1082.694]],["content/80",[]],["keywords/80",[]],["title/81",[533,1010.481,776,862.416]],["content/81",[5,2.926,14,4.455,15,5.217,20,12.372,34,3.746,57,7.138,84,4.762,89,4.587,254,8.66,319,7.42,400,2.529,533,5.897,776,7.95,832,5.483,903,6.989,904,13.752,905,8.707,906,8.707,907,8.707,908,8.108,909,8.108,910,6.821,911,6.32,912,8.707,913,7.714,914,8.707,915,11.348,916,8.108,917,8.108,918,7.714,919,11.719,920,6.223,921,6.821,922,8.707]],["keywords/81",[]],["title/82",[386,446.084,776,862.416]],["content/82",[2,7.762,4,7.086,10,3.748,19,2.95,100,7.276,110,11.309,191,6.799,195,7.332,196,8.679,204,4.088,236,6.973,290,4.508,312,4.307,317,6.841,386,3.631,504,6.718,511,6.679,533,8.225,776,14.122,781,9.514,813,9.309,832,7.647,877,4.936,923,10.348,924,9.747,925,17.71,926,12.144,927,8.815,928,12.144,929,12.144,930,12.144]],["keywords/82",[]],["title/83",[276,694.042,290,460.186,776,716.618]],["content/83",[2,5.629,15,7.695,20,9.323,32,11.722,41,9.179,48,9.816,50,5.897,55,4.937,106,7.864,190,6.908,276,12.081,290,6.846,340,9.845,444,6.984,623,8.597,731,8.922,776,12.474,783,11.96,915,15.218,931,12.843,932,12.843,933,12.843,934,12.843,935,12.843]],["keywords/83",[]],["title/84",[936,1872.876]],["content/84",[]],["keywords/84",[]],["title/85",[16,773.712,937,588.206,938,971.168]],["content/85",[4,6.452,11,2.082,25,3.56,48,3.405,52,2.573,55,2.864,85,5.285,130,2.573,135,2.614,138,4.238,162,2.813,172,3.001,174,3.928,204,2.154,217,4.189,220,5.426,230,3.925,247,3.095,248,3.741,249,2.969,251,6.932,252,4.265,254,6.551,255,5.002,264,9.033,265,4.046,290,2.375,315,4.189,323,3.292,344,4.029,351,4.51,358,7.083,465,3.925,479,5.012,508,3.405,603,4.506,612,4.549,628,3.673,635,8.383,638,6.52,695,2.681,778,3.173,812,4.066,880,5.666,937,5.077,939,5.285,940,6.397,941,6.963,942,4.862,943,6.397,944,6.397,945,6.397,946,3.024,947,9.965,948,5.957,949,3.626,950,10.701,951,5.668,952,5.668,953,5.957]],["keywords/85",[]],["title/86",[85,925.008]],["content/86",[]],["keywords/86",[]],["title/87",[122,1190.415]],["content/87",[4,8.524,10,4.877,19,5.175,24,4.497,27,4.732,85,7.803,104,9.395,114,6.21,121,9.327,122,13.542,139,7.686,140,9.466,512,9.327,734,7.06,954,9.616,955,8.409,956,15.799]],["keywords/87",[]],["title/88",[101,671.055,957,931.126]],["content/88",[4,6.003,5,5.041,16,9.364,19,4.996,36,11.501,101,10.558,106,6.397,114,5.896,157,10.162,179,8.793,236,8.615,525,14.289,590,9.283,957,14.649,958,12.785,959,11.753,960,7.787,961,15.002]],["keywords/88",[]],["title/89",[85,736.812,102,565.397]],["content/89",[4,7.954,10,7.059,19,3.469,34,8.554,36,10.948,42,7.948,85,9.819,102,9.852,121,8.431,135,5.837,136,7.486,236,8.201,691,10.735,734,6.382,962,8.914,963,14.282,964,13.3,965,14.282]],["keywords/89",[]],["title/90",[880,991.714]],["content/90",[]],["keywords/90",[]],["title/91",[796,716.13,880,789.946]],["content/91",[7,6.114,16,4.74,17,5.349,19,4.349,24,3.508,26,4.064,27,5.896,37,3.463,43,4.001,93,2.623,98,7.704,113,6.194,125,6.013,135,3.104,165,5.822,174,6.573,186,5.144,220,3.851,234,5.276,268,2.666,270,3.329,299,5.513,301,4.874,313,5.513,344,7.763,360,5.709,375,2.523,407,4.361,426,3.309,459,5.276,489,5.144,499,4.202,556,3.112,586,4.827,604,4.333,605,5.144,619,5.084,636,4.7,788,5.276,796,7.468,799,3.942,804,4.74,876,4.154,880,10.424,911,5.513,966,5.513,967,10.921,968,6.267,969,4.7,970,10.921,971,5.027,972,6.472,973,5.709,974,7.595,975,4.974]],["keywords/91",[]],["title/92",[296,590.46,426,332.782,752,873.124]],["content/92",[7,4.344,10,4.264,11,1.646,19,2.127,24,3.932,26,4.686,27,4.678,34,2.175,52,2.033,55,1.353,62,2.107,84,2.765,93,4.001,109,3.467,113,2.541,114,3.442,125,4.272,130,3.522,135,2.066,136,2.65,162,2.223,169,4.22,174,1.856,176,2.143,180,2.612,204,1.702,211,2.456,225,4.254,252,1.111,254,6.17,268,4.849,276,2.831,281,2.989,296,9.252,375,1.68,402,3.244,410,2.338,426,6.433,444,2.75,452,3.077,533,3.424,556,3.589,559,4.845,605,3.424,752,9.73,864,3.876,880,9.059,892,4.058,942,2.297,952,4.479,955,2.691,976,4.308,977,5.862,978,3.053,979,4.964,980,4.308,981,5.056,982,2.866,983,4.308,984,4.172,985,5.056,986,4.308,987,4.479,988,4.308,989,4.479,990,5.056,991,5.056,992,5.056,993,5.056,994,5.056,995,5.056,996,5.056,997,5.056,998,5.056,999,5.056]],["keywords/92",[]],["title/93",[13,962.881]],["content/93",[]],["keywords/93",[]],["title/94",[13,766.98,15,893.846]],["content/94",[4,3.662,13,13.074,15,8.57,17,6.447,19,4.834,23,5.994,24,2.605,27,2.742,34,3.938,40,8.524,41,6.542,71,5.571,85,4.521,93,3.161,96,8.268,97,5.933,120,5.035,141,4.263,170,6.88,182,8.11,184,5.994,191,5.125,193,6.059,217,5.994,218,5.571,220,7.252,230,5.616,241,12.672,264,5.994,271,5.292,343,6.542,375,3.041,384,7.347,393,6.88,444,4.978,688,6.757,742,7.553,770,8.11,924,7.347,986,7.8,1000,10.751,1001,9.153,1002,7.553,1003,13.32,1004,8.524]],["keywords/94",[]],["title/95",[918,1321.747,1005,1271.298]],["content/95",[4,5.807,13,7.462,19,3.526,20,10.536,96,8.391,113,7.294,126,7.983,127,8.833,170,10.909,191,8.126,220,7.359,225,9.767,327,12.031,368,9.505,393,10.909,439,10.714,799,10.435,918,20.436,1006,11.126,1007,13.517]],["keywords/95",[]],["title/96",[13,766.98,598,998.669]],["content/96",[4,6.388,13,12.938,15,6.328,17,11.246,34,4.544,44,6.846,48,5.622,49,7.243,79,8.478,96,9.23,100,6.328,106,4.504,135,4.317,141,4.919,165,8.097,191,5.914,195,6.377,222,8.209,237,8.097,375,5.304,393,7.939,426,4.286,661,7.797,802,7.939,805,8.716,877,4.293,900,9.836,924,8.478,1008,10.562,1009,9.001,1010,7.338,1011,9.836,1012,9.836,1013,10.562,1014,9.836,1015,10.562,1016,8.716]],["keywords/96",[]],["title/97",[13,766.98,375,495.595]],["content/97",[]],["keywords/97",[]],["title/98",[27,446.817,712,939.492]],["content/98",[13,13.933,14,8.231,19,3.907,24,6.137,27,4.817,43,8.473,50,7.385,93,5.555,237,12.33,257,6.721,533,10.894,731,11.174,1017,12.911,1018,11.03,1019,16.084]],["keywords/98",[]],["title/99",[24,424.606,712,939.492]],["content/99",[1,5.053,2,6.733,7,2.941,12,3.669,13,11.919,19,3.731,24,1.688,27,4.601,48,5.343,54,3.843,55,1.587,93,3.467,96,5.803,98,2.551,100,3.553,106,2.528,113,2.98,120,9.451,126,3.261,127,3.609,135,4.103,138,2.348,139,5.541,143,7.41,165,4.545,173,3.225,174,5.639,176,4.255,179,3.475,187,5.97,224,4.645,244,2.869,246,3.883,271,3.428,289,7.695,317,5.655,368,6.574,426,4.124,491,4.238,505,3.225,517,5.253,593,3.805,712,3.734,745,5.253,746,4.304,807,4.457,845,3.609,952,5.253,1000,4.457,1002,4.893,1003,5.522,1004,5.522,1020,18.659,1021,5.929,1022,8.283,1023,5.522,1024,3.883,1025,5.053,1026,5.053,1027,8.283,1028,5.053,1029,5.522,1030,4.304,1031,4.304,1032,5.929,1033,4.377]],["keywords/99",[]],["title/100",[13,766.98,97,966.908]],["content/100",[2,3.931,3,5.504,4,3.589,7,4.449,11,2.919,13,12.992,17,6.318,19,4.221,24,2.553,27,5.895,96,8.138,97,12.756,138,3.552,174,3.293,195,5.416,196,10.061,217,5.874,252,3.094,254,2.618,255,4.193,275,6.231,281,3.061,304,5.257,312,3.181,313,6.511,315,5.874,366,4.178,375,2.98,426,4.665,556,3.676,569,6.705,598,6.004,612,5.985,1034,8.969,1035,8.353,1036,7.947,1037,8.969,1038,8.353,1039,14.807]],["keywords/100",[]],["title/101",[5,501.29,169,718.957]],["content/101",[]],["keywords/101",[]],["title/102",[27,446.817,169,718.957]],["content/102",[5,5.041,10,7.245,12,12.727,27,7.563,47,13.073,57,7.787,93,5.181,169,9.912,179,8.793,225,7.288,411,7.539,1040,9.536,1041,9.364,1042,11.753,1043,15.002,1044,15.002]],["keywords/102",[]],["title/103",[24,424.606,169,718.957]],["content/103",[2,5.251,9,6.708,10,7.047,12,12.835,19,2.91,24,7.225,27,5.252,47,11.146,120,6.59,135,4.896,150,5.6,169,9.996,172,5.621,174,4.398,179,10.278,226,8.438,249,5.56,307,5.58,400,3.48,410,5.54,695,5.02,876,9.59,978,7.234]],["keywords/103",[]],["title/104",[169,718.957,521,976.947]],["content/104",[10,7.907,12,9.606,19,3.771,24,4.419,27,6.306,107,11.45,114,6.101,120,8.539,135,6.345,169,11.513,179,9.099,225,7.542,521,10.166,1045,13.754,1046,9.526]],["keywords/104",[]],["title/105",[19,362.389,119,1271.298]],["content/105",[10,5.351,24,4.934,28,6.847,114,8.905,139,6.253,169,8.354,197,11.235,254,5.059,453,10.819,512,10.233,521,11.351,567,7.771,604,9.889,1047,15.358,1048,17.334]],["keywords/105",[]],["title/106",[19,362.389,1049,1491.833]],["content/106",[10,5.938,19,3.31,24,3.879,90,6.324,93,4.707,107,7.411,141,6.347,169,9.271,174,5.003,197,8.832,220,9.754,254,6.508,281,4.651,521,12.598,866,8.294,876,7.453,1041,12.007,1050,17.044,1051,13.627,1052,12.074,1053,13.627,1054,13.627]],["keywords/106",[]],["title/107",[152,537.025,169,718.957]],["content/107",[10,7.647,19,5.368,24,4.749,107,12.017,152,7.954,169,10.649,176,7.073,221,9.519,1055,22.096,1056,13.072,1057,16.686]],["keywords/107",[]],["title/108",[169,902.593]],["content/108",[10,5.801,24,5.349,98,8.087,139,6.78,152,6.766,169,9.058,174,6.9,244,9.094,383,11.261,513,12.441,1046,11.532,1058,18.795]],["keywords/108",[]],["title/109",[150,875.505]],["content/109",[10,6.641,24,6.123,150,10.057,169,10.368,174,7.898,1059,21.514]],["keywords/109",[]],["title/110",[50,684.985,169,718.957]],["content/110",[]],["keywords/110",[]],["title/111",[24,424.606,712,939.492]],["content/111",[10,6.193,19,4.874,50,9.212,93,6.929,169,9.669,179,11.759,180,10.364,257,8.383,1060,20.063]],["keywords/111",[]],["title/112",[27,446.817,712,939.492]],["content/112",[10,5.801,19,4.566,24,5.349,27,5.629,50,8.63,125,9.168,169,11.504,179,11.016,257,7.853,569,8.952,1061,17.503]],["keywords/112",[]],["title/113",[13,637.316,85,612.248,1000,931.738]],["content/113",[]],["keywords/113",[]],["title/114",[2,653.869,1027,1231.016]],["content/114",[24,5.585,27,5.877,28,7.751,85,9.691,120,10.792,138,7.77,139,7.078,971,12.988,1000,14.748,1027,16.191]],["keywords/114",[]],["title/115",[1010,1036.419,1062,1321.747]],["content/115",[]],["keywords/115",[]],["title/116",[139,538.178,222,766.98]],["content/116",[105,9.463,138,6.734,139,8.071,222,8.742,252,4.918,254,6.53,638,10.576,841,10.708,1063,17.004,1064,17.004,1065,17.004,1066,11.383,1067,17.004]],["keywords/116",[]],["title/117",[13,766.98,222,766.98]],["content/117",[5,1.648,13,8.281,19,2.432,24,1.948,33,1.796,37,1.209,43,1.397,50,1.217,55,1.832,71,2.985,93,1.694,96,1.533,106,2.919,113,1.332,138,3.964,139,4.504,173,1.442,179,1.554,195,1.601,196,8.924,220,2.487,222,4.386,242,1.442,244,1.283,247,7.417,248,0.719,252,3.697,254,7.721,255,5.837,268,5.381,270,1.162,276,1.485,290,0.984,311,1.957,317,2.763,359,5.833,364,5.529,368,1.736,375,1.63,397,1.39,426,1.837,471,4.821,483,1.217,554,1.042,556,1.087,628,3.931,635,2.077,636,1.641,638,3.236,642,9.381,667,1.577,670,1.685,723,1.31,778,1.315,971,3.247,1002,11.944,1022,2.188,1023,2.469,1024,1.736,1025,2.26,1068,2.799,1069,4.905,1070,2.652,1071,2.652,1072,2.652,1073,2.652,1074,2.652,1075,2.469,1076,4.346,1077,2.652,1078,4.568,1079,2.698,1080,3.938,1081,4.905,1082,4.905,1083,4.905,1084,3.364,1085,2.349,1086,2.469,1087,2.652,1088,3.455,1089,2.652,1090,2.652,1091,2.652,1092,3.506,1093,2.652,1094,2.652,1095,2.077,1096,2.652,1097,4.905,1098,6.845,1099,2.652,1100,6.374,1101,2.652,1102,2.652,1103,2.652,1104,2.652,1105,1.205,1106,2.652,1107,2.652,1108,6.845,1109,2.652,1110,4.905,1111,2.652,1112,2.652,1113,4.905,1114,2.652,1115,2.652,1116,2.652,1117,1.818,1118,2.349,1119,2.652,1120,2.652,1121,2.652,1122,2.652,1123,1.842,1124,2.652,1125,2.033,1126,2.652,1127,2.652,1128,2.652,1129,1.993,1130,2.652]],["keywords/117",[]],["title/118",[960,774.347,1131,957.347]],["content/118",[]],["keywords/118",[]],["title/119",[4,495.984,960,643.438,1131,795.5]],["content/119",[4,3.7,7,4.587,11,3.01,19,4.305,42,8.024,44,5.994,84,7.886,179,5.421,265,5.452,375,4.79,414,6.714,421,9.345,489,6.264,527,6.056,542,8.392,556,5.909,588,14.224,667,5.5,695,3.875,752,6.514,796,4.439,880,4.897,960,7.484,1046,5.675,1131,9.253,1132,10.156,1133,9.248,1134,9.248,1135,10.837,1136,7.881,1137,9.248,1138,9.248,1139,12.948,1140,9.248,1141,7.245,1142,9.248,1143,5.243,1144,9.248,1145,7.424,1146,9.248,1147,6.122]],["keywords/119",[]],["title/120",[1131,957.347,1143,845.678]],["content/120",[]],["keywords/120",[]],["title/121",[19,362.389,230,915.374]],["content/121",[556,11.121,722,18.169]],["keywords/121",[]],["title/122",[248,404.609,799,774.347]],["content/122",[1143,13.868]],["keywords/122",[]],["title/123",[130,600.018,483,684.985]],["content/123",[55,2.968,104,6.593,162,4.875,249,7.685,252,3.64,254,7.674,265,4.192,484,11.504,530,5.932,695,4.646,960,5.755,1148,19.414,1149,7.809,1150,10.325,1151,15.421,1152,6.982,1153,9.823,1154,6.694,1155,6.498,1156,11.087,1157,11.087,1158,9.922,1159,11.087,1160,11.087,1161,11.087,1162,11.087,1163,11.087,1164,9.823,1165,9.448]],["keywords/123",[]],["title/124",[130,600.018,723,736.812]],["content/124",[55,3.885,138,5.748,162,6.382,220,7.359,252,4.419,254,7.631,265,5.488,695,6.082,960,7.534,1132,10.223,1149,10.223,1152,9.14,1153,12.859,1166,20.105,1167,16.246,1168,14.514,1169,12.369,1170,14.514]],["keywords/124",[]],["title/125",[351,628.744,612,634.27]],["content/125",[4,2.8,252,3.232,254,8.123,265,2.646,268,5.161,270,5.054,281,2.389,290,2.598,351,2.95,364,9.53,410,3.237,483,3.214,505,3.806,554,6.701,558,5.492,628,4.019,674,7.81,695,2.933,937,3.321,939,3.457,962,7.197,1150,6.518,1151,10.738,1171,4.863,1172,5.618,1173,5.964,1174,6.518,1175,6.999,1176,5.261,1177,13.098,1178,8.839,1179,5.483,1180,5.365,1181,10.738,1182,13.685,1183,5.483,1184,8.839,1185,9.033,1186,5.261,1187,5.365,1188,10.738,1189,9.033,1190,5.618,1191,4.633,1192,5.483]],["keywords/125",[]],["title/126",[421,803.444,960,643.438,1154,748.486]],["content/126",[]],["keywords/126",[]],["title/127",[19,362.389,230,915.374]],["content/127",[541,19.263,556,10.954,722,17.709]],["keywords/127",[]],["title/128",[248,404.609,799,774.347]],["content/128",[1193,21.675]],["keywords/128",[]],["title/129",[130,600.018,483,684.985]],["content/129",[52,3.37,55,2.243,107,4.557,141,3.903,162,3.684,249,9.602,252,2.932,254,7.216,265,3.168,383,5.021,414,6.083,421,14.284,444,9.039,484,11.547,556,3.434,587,15.852,695,3.511,960,6.925,978,5.06,1149,5.902,1154,8.055,1167,5.902,1194,6.083,1195,7.141,1196,7.424,1197,7.424,1198,6.424,1199,7.141,1200,11.368,1201,7.804,1202,7.804,1203,7.424,1204,7.804,1205,11.368,1206,7.804,1207,7.424,1208,6.424,1209,7.804,1210,7.804]],["keywords/129",[]],["title/130",[130,600.018,723,736.812]],["content/130",[49,6.838,55,2.669,162,4.384,218,6.069,249,7.093,252,4.085,254,7.906,261,8.221,350,8.004,383,5.975,421,9.905,483,11.326,530,5.336,603,14.672,667,5.93,695,4.179,723,7.548,960,5.176,1132,7.024,1149,7.024,1154,6.021,1198,7.644,1211,8.498,1212,9.286,1213,14.233,1214,8.498,1215,9.286,1216,3.871]],["keywords/130",[]],["title/131",[351,628.744,612,634.27]],["content/131",[4,2.715,252,3.163,254,8.321,265,2.566,268,5.05,270,4.926,281,2.316,351,2.86,364,9.325,410,3.138,483,3.116,484,13.882,505,3.691,554,6.575,558,5.354,674,7.613,695,2.844,937,3.22,939,3.352,962,7.015,1167,7.917,1171,4.715,1172,5.447,1176,5.101,1177,12.88,1178,8.616,1179,5.317,1180,5.202,1182,9.022,1183,5.317,1184,8.616,1185,8.806,1186,5.101,1187,5.202,1189,8.806,1190,5.447,1191,4.492,1192,5.317,1196,6.012,1217,10.467,1218,10.467]],["keywords/131",[]],["title/132",[960,774.347,1154,900.768]],["content/132",[]],["keywords/132",[]],["title/133",[19,362.389,230,915.374]],["content/133",[135,6.345,138,6.148,244,7.511,265,5.87,534,12.162,556,6.362,620,11.669,670,9.867,722,12.162,957,9.69,960,10.928,1139,8.745,1216,6.026,1219,15.524,1220,13.787,1221,11.206,1222,12.81,1223,11.269,1224,9.606]],["keywords/133",[]],["title/134",[248,404.609,799,774.347]],["content/134",[1193,21.675]],["keywords/134",[]],["title/135",[130,600.018,483,684.985]],["content/135",[55,3.083,104,6.849,162,5.064,249,9.407,252,3.744,254,7.558,265,4.354,421,11.04,444,9.264,483,5.288,484,8.001,530,6.162,556,4.719,695,4.826,1132,8.112,1148,20.652,1149,8.112,1152,7.253,1200,9.814,1205,9.814,1225,10.725,1226,9.022,1227,10.203,1228,11.516,1229,11.516,1230,11.516]],["keywords/135",[]],["title/136",[130,600.018,723,736.812]],["content/136",[14,7.082,55,3.704,162,6.085,249,6.422,252,4.275,254,7.499,265,5.233,556,5.671,667,8.23,695,5.799,1123,9.614,1129,10.402,1132,9.747,1148,11.419,1149,9.747,1152,8.715,1220,9.062,1226,10.842,1231,15.61,1232,13.839,1233,19.447,1234,13.839]],["keywords/136",[]],["title/137",[351,628.744,612,634.27]],["content/137",[4,2.988,252,3.381,254,8.164,265,2.824,268,5.398,270,5.329,281,2.549,351,3.147,364,9.968,410,3.453,483,3.429,505,4.061,554,6.967,558,5.792,674,8.236,695,3.129,937,3.544,939,3.688,962,7.589,1171,5.188,1172,5.994,1176,5.613,1177,13.557,1178,9.321,1179,5.851,1180,5.725,1182,9.76,1183,5.851,1184,9.321,1185,9.526,1186,5.613,1187,5.725,1189,9.526,1190,5.994,1191,4.943,1192,5.851,1225,6.955,1226,9.526,1235,12.159,1236,12.159]],["keywords/137",[]],["title/138",[1131,957.347,1147,987.514]],["content/138",[]],["keywords/138",[]],["title/139",[348,1050.764,1147,987.514]],["content/139",[7,2.336,19,1.144,25,2.621,48,2.506,54,3.052,105,2.621,108,5.719,135,3.364,138,5.209,167,2.398,176,3.49,195,2.843,236,2.704,254,6.835,331,2.843,348,3.317,364,5.336,386,1.408,417,5.884,421,3.052,424,3.271,437,3.61,447,3.886,465,2.889,483,6.859,507,3.317,508,2.506,556,4.495,620,15.415,667,8.884,670,5.232,712,2.965,723,2.326,731,3.271,938,3.689,959,3.689,960,9.179,1131,5.283,1139,2.653,1147,8.707,1152,5.184,1154,2.843,1194,3.418,1195,4.013,1216,1.828,1220,5.391,1223,3.418,1237,4.385,1238,4.709,1239,4.709,1240,4.709,1241,4.709,1242,11.653,1243,20.509,1244,2.993,1245,4.709,1246,4.709,1247,4.709,1248,4.709,1249,8.408,1250,4.709,1251,10.968,1252,4.013,1253,4.385,1254,4.709,1255,6.793,1256,4.709,1257,7.294,1258,4.013,1259,8.232,1260,4.709,1261,4.709,1262,10.968,1263,3.689,1264,4.385,1265,3.78,1266,2.722,1267,3.189,1268,4.172]],["keywords/139",[]],["title/140",[248,404.609,799,774.347]],["content/140",[1147,16.194]],["keywords/140",[]],["title/141",[130,600.018,483,684.985]],["content/141",[55,5.031,162,8.264,252,5.247,254,7.656,603,13.238,695,7.876,1147,12.441,1149,13.238,1269,17.503]],["keywords/141",[]],["title/142",[351,628.744,612,634.27]],["content/142",[4,2.845,252,3.268,254,8.147,265,2.689,268,5.219,270,5.12,281,2.427,290,2.64,351,2.997,364,9.635,410,3.288,483,3.265,505,3.867,554,6.765,558,5.564,628,4.083,674,7.912,695,2.98,937,3.374,939,3.512,962,7.291,1171,4.94,1172,5.708,1174,6.622,1176,5.345,1177,13.21,1178,8.955,1179,5.571,1180,5.451,1181,10.878,1182,13.817,1183,5.571,1184,8.955,1185,9.152,1186,5.345,1187,5.451,1188,10.878,1189,9.152,1190,5.708,1191,4.707,1192,5.571,1269,6.622,1270,5.571,1271,7.111]],["keywords/142",[]],["title/143",[844,767.039,1139,698.32,1272,995.038]],["content/143",[17,14.456,397,13.22,398,21.491,844,12.7,1139,11.562,1272,16.475]],["keywords/143",[]],["title/144",[752,746.861,844,656.117,1139,597.335,1272,851.145]],["content/144",[]],["keywords/144",[]],["title/145",[1131,957.347,1145,1197.481]],["content/145",[]],["keywords/145",[]],["title/146",[19,362.389,230,915.374]],["content/146",[556,10.954,722,17.709,1145,18.144]],["keywords/146",[]],["title/147",[248,404.609,799,774.347]],["content/147",[1273,18.616,1274,23.192,1275,20.548]],["keywords/147",[]],["title/148",[130,600.018,483,684.985]],["content/148",[55,4.084,105,11.58,162,6.709,252,4.574,254,7.423,484,10.601,695,6.394,1066,10.215,1149,10.747,1165,17.732,1267,10.335,1276,13.519,1277,15.259,1278,14.21,1279,14.21,1280,13.519,1281,13.003]],["keywords/148",[]],["title/149",[130,600.018,723,736.812]],["content/149",[55,3.648,105,10.706,162,5.992,252,4.229,254,7.456,484,9.467,695,5.71,1066,9.123,1149,9.598,1165,11.613,1252,11.613,1267,13.03,1276,12.074,1278,12.691,1279,12.691,1280,12.074,1281,16.394,1282,13.627,1283,7.825,1284,12.691,1285,12.691,1286,11.613]],["keywords/149",[]],["title/150",[130,600.018,667,887.154]],["content/150",[55,4.551,105,12.451,162,7.476,252,4.918,254,7.298,428,15.835,695,7.125,1149,11.976,1273,13.649,1281,14.49,1287,15.835,1288,15.835,1289,15.835]],["keywords/150",[]],["title/151",[351,628.744,612,634.27]],["content/151",[4,2,252,3.013,254,8.096,265,3.279,268,4.032,270,3.801,281,1.706,290,3.219,351,2.107,364,8.885,410,2.312,505,2.719,554,5.388,558,5.471,628,4.98,674,9.286,695,3.634,723,2.469,937,2.372,939,2.469,962,5.413,1165,7.39,1171,3.473,1176,3.757,1177,10.776,1178,8.805,1179,3.916,1180,3.832,1183,3.916,1184,6.648,1185,10.74,1186,3.757,1187,3.832,1189,8.998,1191,3.309,1192,3.916,1280,4.429,1281,15.554,1285,8.076,1286,7.39,1288,4.655,1289,8.076,1290,4.999,1291,4.999,1292,4.429,1293,4.999,1294,4.999,1295,4.429,1296,4.999,1297,4.999,1298,8.672,1299,13.709,1300,8.672,1301,13.709,1302,8.672,1303,8.672,1304,8.672,1305,4.999]],["keywords/151",[]],["title/152",[1135,1121.303,1136,1271.298]],["content/152",[]],["keywords/152",[]],["title/153",[19,362.389,230,915.374]],["content/153",[105,12.907,556,9.504,1249,17.779]],["keywords/153",[]],["title/154",[248,404.609,799,774.347]],["content/154",[1306,24.464]],["keywords/154",[]],["title/155",[130,600.018,483,684.985]],["content/155",[55,2.425,107,4.927,141,4.22,162,3.984,204,3.05,249,9.184,252,3.119,254,7.197,265,3.426,383,5.429,414,6.577,421,13.927,444,7.717,556,3.713,587,15.628,695,3.797,960,7.365,978,5.471,1149,6.382,1154,8.567,1167,6.382,1194,6.577,1195,7.721,1197,8.027,1198,6.946,1200,12.092,1203,12.572,1205,7.721,1207,8.027,1208,6.946,1227,8.027,1264,8.438,1307,8.438,1308,8.438,1309,9.06,1310,9.06,1311,9.06,1312,9.06]],["keywords/155",[]],["title/156",[351,628.744,612,634.27]],["content/156",[4,2.963,252,3.361,254,8.152,265,2.8,268,5.368,270,5.293,281,2.528,351,3.121,364,9.911,410,3.425,483,3.4,505,4.028,554,6.932,558,5.752,674,8.18,695,3.103,937,3.514,939,3.658,962,7.538,1167,8.506,1171,5.145,1172,5.945,1176,5.566,1177,13.497,1178,9.258,1179,5.802,1180,5.677,1182,9.694,1183,5.802,1184,9.258,1185,9.461,1186,5.566,1187,5.677,1189,9.461,1190,5.945,1191,4.902,1192,5.802,1307,6.897,1308,6.897,1313,12.077,1314,12.077]],["keywords/156",[]],["title/157",[248,404.609,799,774.347]],["content/157",[1193,21.675]],["keywords/157",[]],["title/158",[130,600.018,483,684.985]],["content/158",[55,2.243,107,4.557,141,3.903,162,3.684,204,2.821,249,9.602,252,2.932,254,7.216,265,3.168,383,5.021,414,6.083,421,14.284,444,9.039,484,11.547,556,3.434,587,15.852,695,3.511,960,6.925,978,5.06,1149,5.902,1154,8.055,1167,5.902,1194,6.083,1195,7.141,1197,7.424,1198,6.424,1199,7.141,1200,11.368,1201,7.804,1202,7.804,1203,7.424,1204,7.804,1205,11.368,1206,7.804,1207,7.424,1208,6.424,1209,7.804,1210,7.804,1315,8.38]],["keywords/158",[]],["title/159",[130,600.018,723,736.812]],["content/159",[49,6.838,55,2.669,162,4.384,218,6.069,249,7.093,252,4.085,254,7.906,261,8.221,350,8.004,383,5.975,421,9.905,483,11.326,530,5.336,603,14.672,667,5.93,695,4.179,723,7.548,960,5.176,1132,7.024,1149,7.024,1154,6.021,1198,7.644,1211,8.498,1212,9.286,1213,14.233,1214,8.498,1215,9.286,1216,3.871]],["keywords/159",[]],["title/160",[351,628.744,612,634.27]],["content/160",[4,2.715,252,3.163,254,8.321,265,2.566,268,5.05,270,4.926,281,2.316,351,2.86,364,9.325,410,3.138,483,3.116,484,13.882,505,3.691,554,6.575,558,5.354,674,7.613,695,2.844,937,3.22,939,3.352,962,7.015,1167,7.917,1171,4.715,1172,5.447,1176,5.101,1177,12.88,1178,8.616,1179,5.317,1180,5.202,1182,9.022,1183,5.317,1184,8.616,1185,8.806,1186,5.101,1187,5.202,1189,8.806,1190,5.447,1191,4.492,1192,5.317,1196,6.012,1217,10.467,1218,10.467]],["keywords/160",[]],["title/161",[5,416.543,57,643.438,1316,674.161]],["content/161",[4,6.936,5,7.613,33,11.741,55,4.64,57,8.997,125,8.455,129,11.474,188,12.609,189,12.043,190,9.324,191,12.685,192,15.358,1316,9.427]],["keywords/161",[]],["title/162",[5,416.543,1316,674.161,1317,820.567]],["content/162",[]],["keywords/162",[]],["title/163",[27,560.943]],["content/163",[24,4.343,27,6.232,37,6.958,114,5.997,150,7.133,153,7.772,174,9.336,244,7.383,249,7.081,270,6.688,636,9.442,893,10.601,1317,15.674,1318,11.954,1319,9.699,1320,11.697,1321,15.259]],["keywords/163",[]],["title/164",[24,533.058]],["content/164",[10,5.195,24,3.855,42,4.753,62,5.643,69,7.493,93,2.95,107,4.644,113,4.291,114,5.323,116,5.593,119,7.278,130,5.447,136,4.477,139,3.081,150,6.331,153,4.35,166,5.785,167,4.35,169,8.111,174,9.133,180,8.694,211,4.149,221,4.872,406,7.047,465,5.24,508,4.546,524,4.753,780,7.953,832,5.378,1033,6.304,1046,5.24,1223,9.831,1316,4.644,1317,12.679,1322,5.856,1323,7.566,1324,8.54,1325,6.419,1326,7.953,1327,8.54,1328,7.047,1329,7.278,1330,7.566,1331,9.997]],["keywords/164",[]],["title/165",[27,446.817,211,724.734]],["content/165",[24,5.71,28,7.925,93,6.929,106,8.555,119,17.097,174,7.365,290,7.448,1223,14.564,1332,20.063]],["keywords/165",[]],["title/166",[24,424.606,211,724.734]],["content/166",[24,6.275,93,7.614,114,8.664,180,11.388,1333,22.046]],["keywords/166",[]],["title/167",[211,724.734,298,675.592]],["content/167",[10,6.484,24,5.979,28,8.298,34,9.039,93,7.255,174,7.712,1334,21.008]],["keywords/167",[]],["title/168",[805,1231.016,841,939.492]],["content/168",[4,6.003,27,4.493,61,11.276,62,6.251,79,12.042,106,6.397,145,9.931,220,7.607,283,11.753,303,11.276,764,12.785,805,16.972,841,15.903,901,13.292,1026,12.785,1335,10.89,1336,15.002,1337,12.042,1338,15.002,1339,13.292]],["keywords/168",[]],["title/169",[0,1121.303,1316,811.322]],["content/169",[]],["keywords/169",[]],["title/170",[344,939.492,619,998.669]],["content/170",[5,4.195,7,6.192,11,4.063,19,3.032,24,6.044,27,5.412,37,8.239,59,8.922,163,7.266,174,8.545,180,6.448,186,8.455,218,7.597,247,6.04,273,6.418,344,11.379,426,6.631,512,7.369,619,12.096,661,9.215,685,9.215,741,10.301,1340,10.638]],["keywords/170",[]],["title/171",[5,501.29,1316,811.322]],["content/171",[4,3.819,5,7.398,7,4.734,10,5.581,15,5.719,24,2.717,28,3.77,34,9.473,41,6.822,57,7.67,62,3.977,93,5.104,98,4.107,102,3.618,106,4.07,150,4.462,151,4.011,174,3.504,185,11.328,187,10.752,248,2.589,276,5.344,290,5.486,305,9.892,356,8.134,360,7.174,362,7.662,376,4.618,685,7.046,861,8.457,1316,12.664,1317,6.318,1341,5.446,1342,6.465,1343,9.545,1344,9.545]],["keywords/171",[]],["title/172",[5,501.29,139,538.178]],["content/172",[5,5.271,7,5.118,10,3.185,19,2.506,24,2.937,27,3.09,32,9.97,34,4.439,55,2.762,97,6.687,104,6.136,129,6.83,136,8.222,138,7.515,139,6.846,141,4.806,151,4.336,173,8.531,184,6.757,187,6.136,226,7.267,247,7.59,248,4.254,255,4.823,265,3.901,273,5.305,276,8.782,362,8.282,372,8.793,456,6.907,605,6.989,1066,6.907,1345,8.793,1346,10.318,1347,9.609,1348,9.609,1349,10.318,1350,7.616,1351,10.318,1352,8.793]],["keywords/172",[]],["title/173",[8,811.322,419,1271.298]],["content/173",[4,3.388,5,1.634,8,4.604,19,3.703,24,3.2,27,4.029,44,5.487,47,7.147,50,2.233,62,3.528,86,5.963,90,8.348,104,2.892,113,4.255,120,2.675,130,1.956,135,1.987,138,1.926,139,1.754,141,2.265,153,2.477,167,2.477,220,2.466,254,4.449,268,4.721,294,3.59,335,4.308,364,7.288,386,2.532,396,2.811,400,1.413,411,2.444,412,4.144,413,6.986,415,4.529,416,3.903,417,3.475,419,9.582,424,3.378,444,2.645,483,2.233,488,2.282,496,4.529,527,3.184,530,2.602,542,2.83,556,3.47,612,2.067,801,3.903,869,3.59,877,1.977,941,2.455,1125,6.49,1143,4.799,1167,3.425,1216,3.287,1267,5.735,1331,6.25,1353,8.121,1354,4.144,1355,9.278,1356,4.308,1357,13.45,1358,13.45,1359,4.013,1360,11.244,1361,4.308,1362,3.121,1363,4.308,1364,4.308,1365,4.529,1366,4.529,1367,4.863,1368,4.529,1369,7.501,1370,7.215,1371,3.728,1372,4.863,1373,4.863,1374,8.467,1375,4.529,1376,4.863,1377,4.863,1378,4.529,1379,4.863,1380,4.863,1381,4.529,1382,4.863,1383,4.863,1384,4.013]],["keywords/173",[]],["title/174",[0,931.738,27,371.279,79,995.038]],["content/174",[]],["keywords/174",[]],["title/175",[1385,1872.876]],["content/175",[4,2.372,24,2.857,26,3.173,27,5.147,28,6.068,37,2.704,43,3.124,48,3.156,50,2.722,65,7.546,68,3.451,79,8.058,96,5.803,97,3.843,98,2.551,100,3.553,109,6.884,135,5.335,141,2.762,143,4.377,167,5.113,180,3.063,193,3.925,218,3.609,225,2.88,226,4.176,298,4.546,303,4.457,316,4.545,331,3.58,332,7.4,339,7.545,341,4.304,349,3.769,350,4.759,361,7.545,368,3.883,375,1.97,400,1.722,444,3.225,445,4.119,453,6.265,458,5.053,459,4.119,464,7.174,483,2.722,490,4.377,491,4.238,535,7.07,661,9.636,720,7.174,725,4.759,728,5.253,745,5.253,807,4.457,814,4.759,828,4.238,841,3.734,916,5.522,917,5.522,978,3.58,1342,6.799,1353,3.58,1386,5.929,1387,5.929,1388,5.929,1389,4.176,1390,5.929,1391,8.894,1392,5.053,1393,5.929,1394,5.253,1395,5.253,1396,5.522,1397,4.893,1398,4.759,1399,5.929,1400,5.929,1401,5.929,1402,4.545,1403,5.522,1404,5.929,1405,5.929,1406,5.522,1407,5.929,1408,5.929]],["keywords/175",[]],["title/176",[1409,939.47,1410,939.47,1411,851.145,1412,874.98]],["content/176",[125,11.026,598,15.132,841,14.235,1412,18.652]],["keywords/176",[]],["title/177",[316,950.29,747,1022.903,1413,1022.903]],["content/177",[125,10.753,598,14.758,841,13.883,1413,18.191,1414,15.756]],["keywords/177",[]],["title/178",[1415,1321.747,1416,1389.29]],["content/178",[7,8.434,68,9.897,90,7.891,141,7.92,190,9.147,204,5.725,251,8.545,375,5.649,389,10.188,426,4.565,452,10.349,1342,11.517,1402,13.035,1415,15.065,1416,15.835,1417,17.004,1418,15.835]],["keywords/178",[]],["title/179",[27,317.588,298,480.197,361,796.999,1395,939.47]],["content/179",[5,3.427,26,5.458,27,4.657,28,6.142,42,5.676,43,5.374,47,6.483,65,5.896,79,8.187,90,4.734,96,10.893,100,6.111,123,11.288,135,4.169,167,5.195,193,6.752,298,4.619,310,8.692,316,7.819,339,15.842,346,9.037,347,7.991,349,6.483,350,8.187,361,7.666,375,3.388,379,5.937,439,7.529,458,8.692,598,6.828,671,8.417,699,9.499,982,5.782,1031,11.288,1342,6.909,1395,9.037,1419,15.549,1420,9.037,1421,10.2,1422,7.529,1423,10.2,1424,9.499]],["keywords/179",[]],["title/180",[1409,939.47,1410,939.47,1411,851.145,1412,874.98]],["content/180",[]],["keywords/180",[]],["title/181",[483,569.183,591,971.168,1425,1022.903]],["content/181",[17,11.329,26,8.606,141,7.491,165,12.33,190,8.652,204,5.415,325,12.33,389,9.637,426,5.788,453,10.039,491,11.495,591,12.601,1255,13.272,1412,13.272,1418,20.08,1425,13.272,1426,14.979,1427,14.25]],["keywords/181",[]],["title/182",[57,383.86,141,344.446,190,397.814,375,245.676,723,365.253,1428,655.217,1429,579.376]],["content/182",[4,0.896,17,1.577,19,1.018,20,1.625,24,1.193,26,1.198,27,1.255,28,2.935,37,4.563,43,1.18,44,4.816,47,1.423,48,3.145,50,1.028,52,3.535,53,1.12,68,1.303,84,1.225,90,1.039,106,3.168,123,4.289,125,2.044,126,2.305,135,3.592,141,4.093,147,1.754,190,8.595,193,1.482,195,1.352,196,10.448,213,11.837,220,1.135,225,2.87,237,6.737,246,5.755,248,1.137,251,1.125,258,5.035,264,1.466,268,0.786,280,1.984,290,2.758,302,1.653,323,1.289,332,1.269,334,5.502,339,3.15,344,2.639,348,2.952,349,2.664,361,1.683,368,1.466,375,1.392,386,2.628,389,2.511,438,1.716,439,6.487,445,2.912,453,1.397,464,2.995,469,1.397,483,1.028,484,1.556,491,1.6,498,1.716,507,2.952,521,2.745,535,1.577,537,1.535,549,1.254,590,2.593,591,1.754,593,1.437,596,1.984,624,3.283,626,2.774,636,4.597,649,1.754,650,1.653,658,6.131,666,2.332,667,1.331,670,1.423,673,5.883,677,3.903,686,1.683,701,5.821,716,4.875,723,1.106,746,1.625,789,1.908,814,1.797,828,2.995,846,1.797,869,1.653,877,3.02,942,1.017,973,1.683,986,1.908,987,1.984,1005,1.908,1029,2.085,1123,2.912,1129,1.683,1171,5.162,1216,1.627,1226,3.283,1339,1.984,1345,1.908,1355,1.848,1396,2.085,1402,1.716,1403,5.502,1409,3.713,1411,1.797,1412,1.848,1415,1.984,1428,6.583,1430,2.239,1431,1.754,1432,2.239,1433,2.239,1434,3.042,1435,2.085,1436,4.191,1437,4.191,1438,2.239,1439,2.239,1440,2.239,1441,2.239,1442,2.239,1443,2.239,1444,2.239,1445,2.239,1446,1.984,1447,2.239,1448,2.239,1449,4.191,1450,4.191,1451,1.556,1452,2.239,1453,2.239,1454,8.788,1455,2.239,1456,5.908,1457,2.239,1458,2.239,1459,2.239,1460,2.239,1461,1.848,1462,1.984,1463,2.085,1464,1.556,1465,2.239,1466,3.283,1467,1.908,1468,2.239,1469,3.903,1470,5.035,1471,2.239,1472,3.283,1473,2.239,1474,5.908,1475,1.908,1476,2.239,1477,2.239,1478,3.713,1479,1.517,1480,1.374,1481,2.239,1482,2.239,1483,2.239,1484,2.239,1485,2.239,1486,1.683,1487,1.984,1488,2.085,1489,2.239,1490,4.191,1491,2.085,1492,2.085,1493,3.571,1494,2.745,1495,2.239,1496,4.191,1497,2.239,1498,4.191,1499,2.239,1500,4.191,1501,1.754,1502,2.085]],["keywords/182",[]],["title/183",[27,221.496,44,479.316,344,465.725,404,500.916,667,439.78,1470,630.208,1475,630.208]],["content/183",[4,1.556,7,3.447,19,1.688,20,2.822,26,2.08,27,1.164,28,3.722,44,2.52,52,1.564,53,1.945,62,2.896,78,2.922,89,2.048,90,1.804,135,1.589,139,1.403,141,3.237,153,1.98,167,1.98,180,2.008,190,2.091,193,2.574,197,6.107,204,2.34,213,10.79,225,1.889,237,2.981,241,14.073,246,2.546,248,1.054,283,3.046,290,2.58,316,2.981,338,3.621,344,4.377,347,7.382,348,4.895,349,7.286,352,2.822,355,5.045,361,2.922,375,3.808,389,7.893,453,8.223,459,2.701,464,2.779,469,2.427,497,2.603,510,7.286,626,4.6,650,2.87,666,12.18,673,6.308,720,2.779,812,2.471,814,3.121,817,3.046,825,1.693,828,4.967,830,3.445,834,3.313,854,3.121,877,4.66,1171,2.701,1339,6.157,1466,5.445,1470,16.649,1472,5.445,1475,5.922,1486,5.224,1488,8.775,1491,3.621,1492,3.621,1494,2.546,1502,3.621,1503,3.888,1504,3.888,1505,10.156,1506,4.895,1507,10.675,1508,3.445,1509,3.313,1510,3.888,1511,3.888,1512,5.045,1513,3.888,1514,6.472,1515,3.888,1516,3.888,1517,3.621,1518,3.621,1519,3.888,1520,3.888,1521,3.888,1522,3.621,1523,3.888,1524,3.888,1525,3.888,1526,3.121,1527,3.888,1528,3.888,1529,3.121]],["keywords/183",[]],["title/184",[28,489.665,332,702.709,670,787.917]],["content/184",[4,2.715,19,1.648,24,1.931,25,3.777,26,7.698,27,6.337,28,2.681,37,3.094,57,3.522,62,2.828,65,8.317,109,7.708,113,3.41,125,7.018,135,2.773,149,4.654,153,3.457,180,3.506,190,3.65,197,4.398,204,2.285,213,4.313,220,3.441,252,1.492,275,4.715,290,2.519,300,4.236,318,5.783,332,6.372,341,10.444,349,9.145,355,8.159,361,10.814,376,3.284,386,2.029,390,7.917,444,3.691,453,7.015,459,4.715,487,5.009,498,5.202,650,5.009,661,8.297,746,8.159,825,2.956,877,4.569,1353,4.097,1392,5.783,1398,5.447,1428,6.012,1429,5.317,1470,5.783,1472,8.806,1475,5.783,1506,4.78,1507,13.398,1509,9.578,1530,6.012,1531,5.6,1532,6.786,1533,6.786,1534,6.786,1535,6.786,1536,6.012,1537,6.786,1538,6.786]],["keywords/184",[]],["title/185",[1539,1872.876]],["content/185",[]],["keywords/185",[]],["title/186",[19,362.389,400,433.335]],["content/186",[4,6.505,68,6.297,98,6.995,106,6.933,120,8.942,126,5.95,130,4.351,161,6.433,165,8.293,222,8.358,244,5.234,247,10.508,248,4.409,249,5.021,252,2.378,254,6.795,265,4.09,273,5.562,281,3.692,397,5.671,527,7.084,638,5.114,969,6.694,1031,7.853,1066,7.242,1540,10.818,1541,7.242,1542,16.258,1543,10.818,1544,8.293,1545,10.818,1546,10.818,1547,10.818]],["keywords/186",[]],["title/187",[28,739.805]],["content/187",[5,4.356,7,2.287,19,2.621,22,4.086,27,1.381,28,5.12,34,3.478,37,2.103,42,4.498,50,3.711,53,2.307,60,3.087,61,6.075,64,3.404,65,4.673,78,3.466,103,3.053,106,1.966,126,2.536,130,1.855,135,4.41,136,2.417,141,3.765,167,4.117,179,2.703,180,2.382,188,2.566,195,2.784,196,3.296,212,5.09,225,2.24,230,4.96,254,6.142,298,3.66,300,10.128,303,3.466,310,3.93,312,3.827,314,4.294,315,3.02,317,4.553,318,6.888,332,4.582,341,10.701,346,9.561,347,6.333,349,6.859,350,6.488,358,3.053,361,3.466,372,3.93,375,4.897,389,2.763,390,3.248,396,2.666,397,2.417,400,1.339,492,3.053,598,3.087,636,2.853,650,3.404,675,11.484,690,4.086,752,5.693,832,2.904,841,2.904,866,2.807,1007,4.294,1010,3.204,1384,3.805,1413,6.67,1472,3.613,1494,5.293,1548,8.083,1549,8.083,1550,8.083,1551,4.611,1552,4.611,1553,4.611,1554,4.611,1555,4.611,1556,4.086,1557,4.611,1558,4.611,1559,4.611,1560,4.611,1561,4.611,1562,4.611,1563,4.611,1564,4.611,1565,4.611,1566,4.611,1567,4.611,1568,3.805,1569,4.611]],["keywords/187",[]],["title/188",[1411,995.038,1413,1022.903,1414,885.961]],["content/188",[]],["keywords/188",[]],["title/189",[153,759.873,1570,1321.747]],["content/189",[17,10.858,19,2.45,23,10.095,69,5.579,103,6.675,106,7.979,113,5.068,125,4.919,135,4.121,152,3.63,176,4.275,196,7.207,246,6.604,380,6.089,453,6.294,483,4.63,506,9.391,524,5.612,661,19.323,723,4.981,828,11.017,968,8.321,1350,7.444,1402,7.731,1413,8.321,1414,13.374,1426,9.391,1429,7.901,1571,15.415,1572,12.72,1573,6.831,1574,6.188,1575,15.415,1576,10.085,1577,9.391]],["keywords/189",[]],["title/190",[27,317.588,141,493.877,290,393.638,375,352.259]],["content/190",[5,4.215,7,1.795,17,7.656,19,3.396,27,1.084,34,1.557,44,7.045,56,5.327,57,1.879,62,2.716,69,3.606,72,1.788,78,2.721,106,6.957,113,1.819,125,1.766,130,2.622,135,1.479,141,5.843,176,1.534,190,10.872,195,2.186,213,6.909,216,2.323,217,2.37,220,3.305,225,3.166,248,1.768,280,5.775,290,2.42,298,1.639,300,4.068,303,4.899,309,2.628,316,2.775,323,3.344,339,6.683,341,9.106,347,2.836,348,2.55,355,2.628,375,4.167,386,2.659,439,2.672,453,4.068,469,2.259,483,1.662,492,2.396,499,2.003,596,3.207,626,2.396,650,2.672,667,2.153,668,4.899,670,2.301,687,6.07,704,2.587,715,2.836,716,2.987,723,1.788,747,2.987,817,2.836,828,8.966,834,3.085,837,10.351,1010,2.515,1011,3.371,1105,1.645,1123,2.515,1129,2.721,1139,3.672,1167,2.55,1194,4.732,1226,2.836,1263,2.836,1391,3.207,1414,2.587,1420,3.207,1429,2.836,1434,2.628,1435,3.371,1467,5.555,1487,3.207,1506,2.55,1573,2.452,1578,6.07,1579,6.518,1580,3.62,1581,6.454,1582,6.518,1583,6.518,1584,3.62,1585,3.62,1586,3.62,1587,3.62,1588,3.62,1589,8.891,1590,15.226,1591,6.518,1592,6.518,1593,3.62,1594,3.371,1595,3.62,1596,3.62,1597,3.62,1598,6.518,1599,3.62,1600,3.62,1601,3.62,1602,2.628,1603,3.085,1604,3.371]],["keywords/190",[]],["title/191",[44,966.908,347,1168.755]],["content/191",[7,3.935,17,11.286,19,3.892,20,9.268,25,4.415,27,2.376,28,3.133,42,4.415,56,7.65,96,4.586,106,7.831,113,3.986,135,3.242,195,4.79,213,5.042,225,3.854,312,2.814,323,2.44,341,11.632,347,14.388,348,12.935,349,11.673,355,5.758,375,5.323,421,8.275,444,6.944,453,7.969,483,3.642,586,5.042,667,4.717,668,5.962,670,5.042,723,3.918,761,6.546,776,7.381,828,5.669,909,7.387,1171,8.87,1414,5.669,1429,6.215,1467,6.76,1472,10.003,1577,7.387,1581,9.268,1605,7.028,1606,7.028,1607,7.028,1608,7.933]],["keywords/191",[]],["title/192",[28,489.665,190,666.828,290,460.186]],["content/192",[28,7.424,106,8.014,190,12.84,216,12.061,510,11.946,668,14.127,955,10.004,1410,16.652,1478,16.652,1573,12.73,1609,18.795]],["keywords/192",[]],["title/193",[141,493.877,190,570.398,375,352.259,1610,903.612]],["content/193",[7,8.449,14,5.893,19,2.798,26,6.162,28,4.549,34,4.955,69,9.424,135,4.707,141,5.364,190,6.195,331,6.954,375,3.826,410,7.877,483,5.288,594,8.112,666,9.48,720,8.231,723,5.688,813,13.058,1252,9.814,1486,8.656,1509,9.814,1536,19.846,1544,8.828,1611,17.034,1612,17.034,1613,15.54,1614,10.203,1615,10.203,1616,10.203]],["keywords/193",[]],["title/194",[34,641.881,65,862.416]],["content/194",[27,6.147,34,8.831,65,14.579,432,16.936,586,13.045,1042,16.079,1610,17.49]],["keywords/194",[]],["title/195",[34,533.366,1615,1098.295,1616,1098.295]],["content/195",[15,6.328,19,2.566,25,5.878,27,3.163,28,4.172,34,6.87,53,5.284,56,6.328,65,6.106,113,5.308,135,4.317,213,6.713,254,3.083,275,13.374,375,3.509,389,6.328,453,6.592,510,10.149,591,8.275,666,10.713,828,11.412,1100,9.836,1414,7.549,1478,9.358,1509,13.607,1536,9.358,1573,7.154,1615,9.358,1616,19.01,1617,10.562,1618,14.869,1619,14.146,1620,9.836,1621,10.562,1622,10.562,1623,10.562]],["keywords/195",[]],["title/196",[26,798.226,27,446.817]],["content/196",[19,1.543,26,5.691,27,5.353,34,6.907,43,3.346,53,5.322,56,9.618,62,5.718,90,2.948,103,4.204,106,6.845,129,4.204,136,3.329,147,4.976,167,3.235,195,3.835,211,3.086,218,3.865,236,3.647,254,4.005,275,4.412,290,2.358,323,1.954,391,4.076,411,3.192,483,2.916,666,8.933,667,3.777,670,4.037,723,3.137,866,3.865,877,2.582,938,8.333,975,6.966,1123,4.412,1389,7.492,1581,4.611,1603,5.412,1613,10.52,1614,5.627,1618,5.915,1619,5.627,1620,5.915,1624,10.637,1625,16.052,1626,9.906,1627,12.78,1628,13.723,1629,11.694,1630,12.78,1631,12.78,1632,9.906,1633,6.351,1634,4.204,1635,16.052,1636,6.351,1637,6.351,1638,6.351,1639,6.351]],["keywords/196",[]],["title/197",[19,362.389,1613,1143.63]],["content/197",[14,5.046,19,3.681,34,6.52,85,7.484,106,4.205,161,5.864,174,3.62,254,5.386,306,9.874,323,3.034,368,9.923,380,5.954,452,6.002,457,9.821,510,6.268,668,11.39,715,7.726,720,7.048,825,4.295,837,8.138,866,6.002,1046,6.051,1506,6.946,1613,20.708,1626,9.184,1627,9.184,1629,8.404,1630,9.184,1640,9.862,1641,9.862,1642,9.184,1643,9.862,1644,9.862,1645,14.112]],["keywords/197",[]],["title/198",[53,620.193,666,689.872,1646,1056.375]],["content/198",[19,4.834,27,2.742,34,3.938,47,5.818,53,9.957,62,3.814,89,9.274,90,4.248,135,3.741,136,4.798,141,4.263,176,3.88,195,8.636,211,4.447,250,6.88,254,2.671,290,3.398,375,3.041,383,5.484,527,5.994,666,11.075,668,6.88,866,5.571,873,6.447,1198,7.017,1335,10.383,1464,9.937,1506,6.447,1613,7.017,1614,8.11,1631,8.524,1632,8.524,1634,11.653,1642,8.524,1645,8.524,1646,7.8,1647,9.153,1648,7.8,1649,14.303,1650,11.802,1651,7.8,1652,7.171,1653,9.153,1654,7.8]],["keywords/198",[]],["title/199",[141,577.371,837,1022.903,1655,931.738]],["content/199",[17,11.753,19,4.053,57,8.661,106,7.115,135,6.819,195,10.075,290,6.194,348,11.753,380,10.075,453,10.414,661,18.287,1572,13.769,1574,13.558,1578,15.539,1656,16.686]],["keywords/199",[]],["title/200",[4,370.659,61,696.306,62,386.004,841,583.405,1657,926.397]],["content/200",[]],["keywords/200",[]],["title/201",[813,1435.736]],["content/201",[3,3.521,4,6.745,14,4.996,20,4.166,33,3.887,48,3.054,52,3.927,57,8.751,74,4.89,77,3.194,89,3.023,99,4.399,113,2.884,125,2.799,129,3.799,135,2.345,136,3.008,142,4.735,153,2.923,161,3.413,196,4.101,197,3.719,212,6.149,213,11.657,216,3.683,219,4.735,223,3.842,237,4.399,290,4.731,309,7.088,312,2.035,315,3.758,323,3.004,327,5.093,331,3.465,375,3.244,376,2.777,379,5.683,389,10.101,390,4.042,453,3.582,469,6.094,489,3.887,491,4.101,510,8.1,549,3.213,594,12.917,612,2.44,626,3.799,661,11.1,704,4.101,720,4.101,813,7.485,814,7.837,815,5.344,816,4.735,817,4.496,818,5.344,819,4.735,820,5.344,821,5.344,822,5.344,823,5.344,824,5.344,825,2.5,826,5.344,827,5.344,828,6.978,829,5.344,830,5.084,831,5.344,832,3.614,833,4.496,834,4.89,835,5.344,836,5.344,841,3.614,1505,5.084,1658,3.521]],["keywords/201",[]],["title/202",[5,416.543,57,643.438,106,528.6]],["content/202",[2,2.241,5,2.972,10,2.73,14,4.526,27,1.532,28,2.02,34,2.2,37,2.332,43,2.694,44,3.314,48,6.22,52,6.326,57,2.654,62,2.131,65,2.956,78,3.844,84,2.797,93,3.055,102,6.526,104,3.041,105,7.748,106,6.707,107,2.781,114,3.476,125,2.494,126,4.865,128,3.423,137,3.019,141,2.382,161,3.041,174,1.877,179,2.997,188,4.922,195,5.34,196,8.352,213,7.428,217,3.349,220,2.593,275,3.553,290,1.898,308,3.507,309,3.712,315,5.792,323,2.721,341,3.712,349,3.25,356,4.358,375,2.938,379,2.976,386,3.494,390,3.602,391,5.676,414,3.712,424,3.553,426,1.373,453,7.294,469,3.192,483,6.393,487,3.775,491,6.321,518,2.997,530,2.736,534,4.006,536,4.531,567,3.965,593,5.676,626,5.854,691,3.844,719,4.006,720,3.655,723,5.772,741,4.22,782,4.22,825,2.227,850,3.655,877,2.079,889,4.006,1398,4.105,1486,3.844,1494,3.349,1544,3.92,1659,4.531,1660,5.114,1661,5.114,1662,4.531,1663,5.114,1664,4.762,1665,5.114,1666,5.114,1667,5.114,1668,4.762,1669,5.114]],["keywords/202",[]],["title/203",[93,515.243,112,1066.213]],["content/203",[2,2.776,4,3.465,5,1.178,10,1.955,19,1.538,24,1.803,27,1.897,44,2.272,52,1.41,55,0.938,57,3.287,62,1.461,71,2.134,78,4.76,85,1.732,93,5.866,97,2.272,99,2.688,101,5.519,102,3.282,106,5.84,107,1.907,113,1.762,114,3.404,115,2.506,135,5.597,136,1.838,140,3.794,148,2.296,153,5.405,157,4.29,161,2.085,162,1.542,166,2.375,169,1.69,174,1.287,188,1.951,195,2.117,196,6.19,197,2.272,212,2.208,213,2.228,217,5.672,219,2.893,252,0.771,254,6.738,268,1.231,273,3.256,275,6.017,281,2.956,290,2.351,312,1.244,315,2.296,323,1.079,359,2.988,375,2.877,390,4.461,410,1.621,411,1.762,450,2.588,453,9.321,469,3.953,480,4.343,508,3.371,524,1.951,530,5.678,605,2.375,609,2.893,626,4.192,628,4.973,668,2.635,691,4.76,703,3.106,734,1.567,741,5.226,867,2.814,871,2.436,872,2.469,877,2.574,889,2.747,1005,2.988,1062,3.106,1143,3.59,1191,2.321,1325,2.635,1353,2.117,1431,2.747,1451,2.436,1514,5.898,1574,2.151,1658,2.151,1659,3.106,1670,3.506,1671,3.506,1672,3.506,1673,3.506,1674,5.397,1675,5.611,1676,2.635,1677,3.506,1678,3.506,1679,3.506,1680,2.055,1681,3.265,1682,3.106,1683,2.117,1684,3.106,1685,3.265,1686,3.265,1687,3.265,1688,5.611,1689,2.988,1690,5.611,1691,3.106,1692,5.611,1693,2.988,1694,3.106,1695,3.106,1696,3.106,1697,3.506,1698,3.506,1699,2.688]],["keywords/203",[]],["title/204",[27,446.817,248,404.609]],["content/204",[4,4.793,5,4.026,24,5.904,26,6.41,27,6.838,34,7.545,41,8.562,48,6.377,93,4.138,106,7.478,118,8.843,126,6.59,168,9.617,213,7.615,248,3.249,254,3.497,264,7.846,298,5.425,302,8.843,305,8.02,397,6.28,445,8.323,492,7.93,590,10.851,841,7.545,1010,8.323,1056,9.386,1700,17.536,1701,11.98,1702,11.98]],["keywords/204",[]],["title/205",[140,893.846,877,606.417]],["content/205",[24,5.239,27,7.055,28,7.271,218,11.203,220,9.333,248,4.992,254,5.372,264,12.054,397,9.649,841,14.834,1703,17.142]],["keywords/205",[]],["title/206",[841,939.492,1466,1168.755]],["content/206",[19,4.381,27,6.963,28,7.124,37,8.223,41,12.89,60,12.073,62,7.515,135,7.371,251,9.063,273,9.272,877,7.331,1355,14.882,1704,18.035]],["keywords/206",[]],["title/207",[27,371.279,273,637.316,505,674.161]],["content/207",[4,3.99,19,3.712,27,2.987,48,5.308,55,2.669,62,6.368,106,4.252,121,5.887,128,6.675,135,4.075,174,3.661,188,13.188,217,6.53,252,2.192,254,7.615,268,3.5,273,7.857,281,3.403,290,3.702,312,3.537,315,6.53,453,13.001,623,6.675,628,8.776,666,5.549,871,6.928,1494,6.53,1680,5.845,1681,9.286,1705,9.286,1706,9.972,1707,8.835,1708,8.228,1709,9.972]],["keywords/207",[]],["title/208",[5,416.543,60,829.836,1009,1056.375]],["content/208",[4,8.027,56,12.021,127,12.21,142,16.555,161,11.931,288,18.684,444,10.911,841,12.635,1335,14.564]],["keywords/208",[]],["title/209",[323,458.918,1710,1491.833]],["content/209",[4,1.273,5,1.069,10,1.79,19,1.941,24,0.905,26,3.102,27,1.737,37,1.45,48,1.693,52,1.279,55,0.851,65,1.839,93,4.435,101,2.608,103,2.106,105,1.77,106,2.472,125,1.552,136,1.667,141,1.482,162,1.399,163,1.852,172,2.72,180,1.643,197,2.062,244,1.539,252,2.823,254,7.85,255,3.734,268,1.117,271,1.839,273,1.635,281,4.382,290,4.25,295,2.492,298,1.441,302,2.348,305,2.129,309,2.309,311,2.348,323,2.457,381,2.062,410,3.694,429,6.592,483,1.461,530,5.27,567,2.599,595,3.881,605,2.155,628,7.374,642,2.062,648,2.439,705,9.642,715,4.542,832,3.651,871,2.21,872,2.241,876,1.74,877,1.293,938,2.492,1123,2.21,1143,3.287,1169,6.808,1252,2.711,1286,4.941,1325,2.391,1680,1.864,1682,2.818,1683,1.921,1684,2.818,1685,2.962,1686,2.962,1687,5.399,1688,5.137,1689,2.711,1690,5.137,1691,2.818,1692,5.137,1693,2.711,1694,2.818,1695,2.818,1696,2.818,1711,3.181,1712,3.181,1713,9.85,1714,3.181,1715,3.181,1716,2.962,1717,2.711,1718,2.962,1719,3.181,1720,5.798,1721,2.818,1722,7.989,1723,4.358,1724,3.181,1725,6.592,1726,3.181,1727,4.941,1728,3.181,1729,2.962,1730,5.399,1731,5.399,1732,3.181,1733,3.181,1734,3.181,1735,3.181,1736,3.181,1737,3.181,1738,3.181,1739,3.181,1740,3.181,1741,5.798,1742,3.181,1743,3.181,1744,5.137,1745,8.727,1746,3.181,1747,3.181,1748,3.181,1749,3.181,1750,3.181,1751,3.181,1752,2.962,1753,3.181]],["keywords/209",[]],["title/210",[129,987.514,1754,739.949]],["content/210",[4,1.529,5,1.284,7,1.895,10,1.18,19,2.257,24,1.088,26,3.661,27,2.05,52,5.237,53,1.912,55,1.023,65,2.209,93,3.209,98,2.944,102,3.522,106,2.918,120,2.102,138,1.513,139,1.379,161,2.272,162,1.68,172,3.211,174,2.512,193,2.53,216,2.452,244,1.849,252,3.696,254,7.808,255,3.199,271,2.209,281,4.939,290,2.54,298,1.731,302,5.051,305,4.581,311,8.354,375,1.269,381,2.477,410,3.164,457,2.477,567,1.713,569,1.82,612,1.625,619,2.558,624,2.994,628,2.194,642,4.435,705,2.621,832,2.407,843,8.654,844,5.75,871,2.655,876,3.742,877,1.553,1325,2.872,1340,3.256,1341,2.18,1384,5.647,1479,2.588,1613,2.929,1652,5.361,1680,2.24,1682,10.027,1683,4.132,1684,3.386,1717,3.256,1718,3.559,1723,2.872,1725,5.647,1727,3.256,1729,3.559,1730,6.373,1731,6.373,1744,3.386,1745,3.386,1755,6.843,1756,3.559,1757,16.815,1758,6.843,1759,3.821,1760,3.821,1761,6.843,1762,6.843,1763,3.821,1764,3.821,1765,3.821,1766,3.821,1767,3.821,1768,3.821,1769,3.821,1770,3.821,1771,6.843,1772,3.821,1773,3.821,1774,6.843,1775,3.821,1776,3.821,1777,3.821,1778,3.821,1779,3.386,1780,3.821]],["keywords/210",[]],["title/211",[494,1036.419,1231,1197.481]],["content/211",[10,1.065,23,2.26,26,1.847,37,1.574,42,1.921,50,1.585,52,3.439,69,1.91,78,2.594,81,2.194,93,2.953,97,2.237,101,1.553,105,4.758,106,1.472,108,2.398,136,1.809,137,3.686,152,1.243,163,2.009,180,3.226,195,2.084,213,3.969,216,2.215,252,1.879,254,7.941,265,3.233,268,1.212,281,3.579,290,1.281,309,2.506,315,2.26,343,2.467,355,2.506,381,2.237,386,2.557,391,2.215,410,2.888,421,4.047,429,2.848,483,4.815,494,5.94,530,5.611,567,4.701,569,5.78,612,1.468,628,1.982,642,2.237,648,4.787,723,3.084,810,3.058,832,3.932,872,4.398,876,1.888,877,1.403,960,1.792,1041,3.897,1143,3.54,1211,2.941,1231,14.827,1257,3.058,1353,2.084,1359,2.848,1434,2.506,1675,3.058,1683,2.084,1688,5.532,1689,2.941,1690,5.532,1691,3.058,1692,5.532,1693,2.941,1694,3.058,1695,3.058,1696,3.058,1716,3.215,1717,2.941,1723,2.594,1744,7.575,1745,7.575,1752,3.215,1781,10.486,1782,6.244,1783,3.452,1784,6.244,1785,3.452,1786,2.038,1787,8.417,1788,8.653,1789,8.55,1790,3.452,1791,3.452,1792,3.452,1793,3.452,1794,3.452,1795,6.244,1796,3.215,1797,3.452,1798,3.452,1799,3.452,1800,3.452,1801,3.452,1802,8.55,1803,3.452,1804,3.452,1805,3.452,1806,3.452,1807,3.452]],["keywords/211",[]],["title/212",[129,987.514,1155,874.404]],["content/212",[26,6.872,52,5.165,65,7.424,89,9.716,93,7.453,114,5.047,125,6.264,172,6.026,236,7.375,258,10.944,290,4.768,305,8.597,483,5.897,494,12.812,498,9.845,567,5.758,642,8.324,698,10.309,723,9.109,1231,20.048,1341,7.327,1717,10.944,1808,12.843,1809,9.845,1810,12.843]],["keywords/212",[]],["title/213",[5,416.543,10,382.635,34,533.366]],["content/213",[2,3.91,4,2.618,5,7.167,6,4.749,7,1.803,8,10.297,9,3.663,10,6.864,12,2.249,15,2.178,19,1.589,24,1.034,27,1.089,29,4.773,34,10.66,35,3.22,36,2.786,37,1.657,38,2.249,48,1.935,57,1.887,59,4.676,62,1.514,71,2.212,75,5.796,90,1.687,93,4.345,98,1.564,102,1.377,105,3.641,106,3.804,108,4.545,112,2.598,114,1.428,117,2.732,120,1.999,125,1.773,130,4.385,135,3.646,140,2.178,145,2.406,148,4.284,151,1.527,156,2.786,162,1.598,163,5.192,167,1.851,187,2.161,190,1.955,218,2.212,220,1.843,224,2.847,236,3.757,246,2.38,248,0.986,257,1.519,313,2.638,370,2.598,386,2.667,396,2.101,411,4.483,414,2.638,452,2.212,453,2.269,457,2.356,492,2.406,505,1.977,512,2.146,524,2.023,538,2.598,556,1.489,567,1.629,595,2.433,619,2.433,648,2.786,688,4.829,721,2.847,734,1.624,742,2.999,789,3.097,802,2.732,844,2.249,870,2.917,978,2.195,1105,1.652,1208,2.786,1222,2.999,1342,4.431,1352,3.097,1414,2.598,1425,2.999,1434,2.638,1779,3.22,1811,3.635,1812,3.635,1813,3.635,1814,2.917,1815,3.635,1816,3.635,1817,3.635,1818,3.635,1819,3.635,1820,3.635,1821,3.635,1822,3.097,1823,3.635,1824,3.635,1825,3.22,1826,3.635,1827,3.385,1828,5.575,1829,3.635]],["keywords/213",[]],["title/214",[5,501.29,1317,987.514]],["content/214",[]],["keywords/214",[]],["title/215",[8,811.322,844,923.096]],["content/215",[2,6.925,8,8.592,19,3.838,24,6.064,27,6.381,120,11.718,162,6.947,247,7.645,386,4.724,458,13.464,556,6.475,595,10.576,605,10.702,695,6.621,946,7.468,1830,12.682,1831,10.576,1832,14.713]],["keywords/215",[]],["title/216",[24,352.823,27,371.279,98,533.366]],["content/216",[24,5.722,27,6.021,50,9.231,98,10.714,125,7.08,126,7.983,127,8.833,162,6.382,174,7.38,222,7.462,273,7.462,880,10.646,1467,12.369,1833,10.223,1834,13.517,1835,14.514,1836,14.514,1837,12.859]],["keywords/216",[]],["title/217",[27,371.279,174,455.069,796,595.062]],["content/217",[10,5.116,15,4.005,19,2.696,24,5.233,26,5.939,27,7.05,31,4.934,32,4.249,33,4.528,34,7.131,37,3.048,38,4.136,42,3.72,93,6.85,98,6.124,118,4.934,120,6.105,125,3.261,126,3.677,127,4.068,138,5.637,166,4.528,171,5.024,174,7.281,176,2.834,185,5.124,218,4.068,243,4.475,248,1.813,249,3.102,296,5.287,303,5.024,439,4.934,465,4.102,612,6.052,796,8.827,811,8.696,876,11.493,880,3.54,1035,6.225,1389,4.708,1531,5.516,1634,4.425,1838,10.337,1839,6.225,1840,5.366,1841,6.225]],["keywords/217",[]],["title/218",[24,352.823,174,455.069,796,595.062]],["content/218",[2,5.114,5,3.92,10,6.958,24,6.841,27,3.494,29,6.243,34,9.698,37,5.32,93,4.03,98,5.02,125,5.691,126,6.417,127,7.101,166,7.903,174,8.275,185,8.944,218,7.101,243,7.81,303,8.769,612,4.96,796,10.82,880,6.178,969,7.219,986,9.942,1486,8.769]],["keywords/218",[]],["title/219",[5,501.29,1316,811.322]],["content/219",[5,5.127,16,9.524,19,5.055,37,6.958,90,7.081,125,7.443,126,8.393,127,9.287,162,9.149,185,11.697,303,11.469,595,10.215,612,6.487,626,10.101,636,9.442,686,11.469,734,6.818,1316,12.877,1389,10.747]],["keywords/219",[]],["title/220",[567,668.825,1842,1066.213]],["content/220",[]],["keywords/220",[]],["title/221",[114,736.085]],["content/221",[27,7.346,62,8.176,116,12.849,1843,19.621,1844,24.526,1845,19.621,1846,16.721,1847,19.621]],["keywords/221",[]],["title/222",[150,875.505]],["content/222",[4,6.211,27,4.65,52,6.244,56,9.302,113,7.801,150,9.842,151,8.848,162,6.826,270,6.804,426,4.168,618,10.515,734,6.937,1842,11.095,1848,15.524,1849,14.457,1850,13.754,1851,15.524,1852,14.457,1853,13.229,1854,12.162]],["keywords/222",[]],["title/223",[27,446.817,116,976.947]],["content/223",[10,4.48,12,8.981,19,3.526,23,9.505,62,6.048,97,9.407,102,7.62,116,9.505,129,9.608,151,6.1,187,8.631,197,9.407,406,11.977,456,9.716,464,10.373,465,8.906,520,11.65,567,6.507,686,10.909,1359,11.977,1683,8.764,1814,11.65,1842,10.373,1855,12.369,1856,14.514]],["keywords/223",[]],["title/224",[27,446.817,62,621.606]],["content/224",[2,4.054,3,5.675,10,6.177,24,2.632,27,4.318,52,3.72,55,2.476,62,7.384,114,6.965,130,3.72,139,5.202,140,5.541,151,3.887,244,4.475,247,4.475,252,3.895,254,7.006,281,4.921,304,5.421,366,4.307,426,3.871,567,4.146,609,7.631,618,6.264,623,6.191,695,3.875,789,7.881,893,10.017,946,4.372,1342,6.264,1394,8.194,1674,7.881,1683,5.584,1830,7.424,1831,6.191,1854,7.245,1857,14.419,1858,8.613,1859,9.248,1860,9.248]],["keywords/224",[]],["title/225",[1861,873.124,1862,1154.419,1863,1239.627]],["content/225",[5,3.111,10,5.473,14,2.759,16,3.365,19,2.249,24,2.635,27,3.643,29,11.196,48,2.87,52,3.723,55,3.256,62,3.857,114,5.671,135,2.204,151,3.89,174,1.979,220,2.734,236,3.096,252,3.172,254,7.821,281,6.475,301,3.46,375,1.791,504,2.983,511,2.966,548,4.224,623,3.609,628,10.182,685,3.98,1117,3.697,1319,7.732,1394,8.202,1683,3.256,1858,5.021,1861,6.52,1862,5.021,1864,5.392,1865,5.392,1866,3.652,1867,6.062,1868,5.392,1869,5.392,1870,5.021,1871,5.392,1872,5.392,1873,5.392,1874,5.392,1875,5.392,1876,5.392,1877,14.429,1878,5.392,1879,5.021,1880,5.392,1881,5.392,1882,5.392,1883,5.392,1884,5.392,1885,8.621,1886,5.392]],["keywords/225",[]],["title/226",[24,424.606,116,976.947]],["content/226",[4,5.723,5,4.806,10,5.434,14,4.684,19,3.474,24,2.605,27,4.284,37,4.174,52,5.753,81,5.818,85,7.064,96,5.292,101,8.952,114,6.919,116,11.528,136,4.798,138,3.625,139,3.302,140,5.484,141,4.263,149,6.277,151,8.363,157,9.688,176,3.88,222,4.706,225,4.447,247,6.921,315,9.367,410,4.233,453,5.713,464,6.542,511,5.035,567,4.104,618,6.2,636,5.664,734,4.09,1222,7.553,1814,7.347,1842,6.542,1854,7.171,1887,4.429]],["keywords/226",[]],["title/227",[24,352.823,62,516.519,169,597.412]],["content/227",[10,4.554,19,3.584,24,5.787,90,6.847,113,7.414,151,9.778,169,9.799,181,9.662,204,4.967,296,9.685,304,8.648,426,3.961,734,6.593,1244,12.924,1888,13.74,1889,11.843,1890,13.74,1891,13.74,1892,14.754]],["keywords/227",[]],["title/228",[24,424.606,62,621.606]],["content/228",[19,4.664,151,11.132,204,6.464,296,9.145,304,11.253,426,5.154,618,13.004,1889,15.411,1893,19.199]],["keywords/228",[]],["title/229",[62,516.519,93,428.137,180,640.349]],["content/229",[10,7.084,19,4.294,107,9.614,114,6.948,151,10.709,204,5.952,296,8.42,304,10.361,426,4.746,618,11.974,1889,14.19,1894,17.678]],["keywords/229",[]],["title/230",[169,718.957,306,798.226]],["content/230",[10,6.137,19,3.469,24,4.065,90,6.628,113,7.177,151,9.611,169,11.021,179,8.371,204,4.808,296,9.47,304,8.371,426,3.834,734,6.382,1244,12.636,1356,17.614,1888,13.3,1889,11.464,1890,13.3,1891,13.3]],["keywords/230",[]],["title/231",[27,446.817,306,798.226]],["content/231",[9,7.87,10,6.069,19,3.415,24,5.596,27,5.889,139,5.071,151,9.529,174,5.16,204,4.732,244,6.801,296,6.696,304,8.239,306,10.52,307,6.547,426,3.774,618,9.521,1319,8.935,1342,9.521,1889,11.283,1895,14.057,1896,7.521,1897,14.057]],["keywords/231",[]],["title/232",[27,446.817,150,697.38]],["content/232",[10,7.686,24,4.131,27,6.908,102,5.501,113,10.103,136,7.608,150,9.398,151,6.1,174,5.328,176,6.153,225,7.051,296,6.913,489,9.831,1117,9.953,1319,9.225,1814,11.65,1842,10.373,1898,13.517,1899,13.517]],["keywords/232",[]],["title/233",[24,424.606,306,798.226]],["content/233",[5,4.877,10,4.48,19,5.603,24,5.722,139,5.236,141,6.76,151,9.693,171,10.909,185,11.126,204,4.886,296,6.913,304,8.507,307,6.76,426,3.896,618,9.831,778,7.199,1319,9.225,1572,11.977,1655,10.909,1889,11.65,1900,14.514]],["keywords/233",[]],["title/234",[24,424.606,150,697.38]],["content/234",[10,6.206,19,3.526,24,4.131,101,6.529,102,5.501,114,7.902,136,10.539,150,6.785,151,6.1,174,7.38,222,7.462,225,7.051,226,10.223,306,7.766,465,8.906,489,9.831,1842,10.373,1887,7.023,1898,13.517,1899,13.517,1901,14.514,1902,14.514]],["keywords/234",[]],["title/235",[10,382.635,34,533.366,102,469.812]],["content/235",[4,2.77,5,4.903,8,2.105,9,5.257,10,7.451,19,0.94,23,2.535,24,5.55,25,3.853,27,4.745,28,1.529,34,9.184,37,1.765,38,2.395,41,2.767,42,2.154,47,2.461,59,2.767,62,1.613,70,2.968,83,3.924,98,1.666,100,2.319,101,5.909,102,8.618,114,7.93,116,2.535,117,2.91,122,2.461,124,4.582,125,1.888,126,2.129,128,6.286,129,4.582,137,2.285,138,1.533,139,2.497,141,1.803,150,3.236,153,1.972,163,2.253,174,3.447,190,2.082,191,3.876,220,1.963,236,2.223,244,1.873,248,1.05,271,2.238,290,2.57,305,4.634,331,2.337,340,2.968,375,1.286,376,4.543,379,2.253,380,4.18,383,4.148,410,1.79,436,3.605,450,2.858,510,2.461,537,2.655,556,1.586,587,2.655,612,1.646,688,2.858,704,2.767,740,2.142,816,3.194,869,2.858,886,4.18,955,2.06,969,2.395,1434,2.81,1814,3.107,1903,3.871,1904,3.605,1905,3.43,1906,3.107,1907,4.442,1908,3.871,1909,3.871,1910,2.416,1911,3.194,1912,3.299,1913,5.557]],["keywords/235",[]],["title/236",[98,533.366,114,487.203,222,637.316]],["content/236",[]],["keywords/236",[]],["title/237",[10,207.358,34,289.042,114,264.025,141,312.889,222,345.374,375,223.169,1887,325.041,1914,388.35]],["content/237",[10,5.817,16,6.366,19,5.12,90,4.734,114,7.406,116,6.68,135,4.169,141,4.751,150,4.768,161,6.066,222,5.244,234,7.086,236,5.857,254,7.481,268,3.58,281,5.307,375,3.388,471,7.184,508,5.429,734,4.558,841,6.423,1866,6.909,1887,4.935,1914,10.893,1915,8.417,1916,9.499,1917,10.2,1918,10.2,1919,14.481,1920,10.2,1921,9.499,1922,9.499,1923,10.2,1924,9.499]],["keywords/237",[]],["title/238",[114,586.326,450,1101.212]],["content/238",[5,0.966,10,5.193,19,2.582,24,2.589,25,5.062,26,1.538,27,2.196,29,2.827,48,2.812,50,1.319,52,2.125,55,0.769,62,1.197,69,1.59,84,2.889,85,1.419,90,2.452,101,4.092,106,1.225,114,6.891,124,1.902,126,1.581,130,1.156,135,2.159,138,3.602,139,3.282,141,3.415,161,1.709,166,1.946,174,2.692,176,1.218,180,2.729,220,3.718,230,1.763,236,3.034,252,2.633,254,7.616,264,1.882,268,4.996,271,1.661,281,2.502,290,2.722,312,1.019,375,2.436,376,1.39,378,4.05,402,1.844,450,5.412,483,1.319,530,3.923,554,1.129,569,2.516,623,1.924,628,6.105,642,5.896,674,1.946,734,1.284,740,1.59,741,2.371,761,2.371,778,2.62,832,1.81,886,3.19,915,2.371,957,7.476,960,2.742,971,1.902,1191,1.902,1220,4.802,1224,4.537,1662,2.546,1787,2.307,1866,1.946,1887,7.348,1906,5.885,1907,1.844,1910,3.297,1925,2.874,1926,5.283,1927,1.749,1928,3.971,1929,7.332,1930,4.681,1931,5.283,1932,2.874,1933,7.332,1934,2.874,1935,10.55,1936,2.874,1937,2.874,1938,2.874,1939,2.874,1940,5.283,1941,5.283,1942,2.874,1943,2.874,1944,2.874,1945,2.874,1946,2.874,1947,2.874,1948,2.546,1949,2.874,1950,2.874,1951,2.874,1952,2.874,1953,2.874,1954,2.874]],["keywords/238",[]],["title/239",[10,327.302,115,757.842,858,796.999,1955,987.478]],["content/239",[]],["keywords/239",[]],["title/240",[10,460.483,115,1066.213]],["content/240",[2,1.138,4,1.039,5,0.873,6,1.886,10,1.486,19,2.038,24,0.739,34,2.071,37,1.184,48,1.383,55,0.695,62,2.005,70,1.991,84,2.632,89,1.368,90,1.205,93,3.853,101,2.165,104,1.545,105,3.742,108,1.805,109,1.781,111,1.621,113,1.305,115,3.44,116,3.152,121,2.841,130,1.936,133,2.419,135,1.062,150,2.25,153,1.323,162,2.116,176,1.101,180,3.474,187,2.862,191,1.454,204,0.875,217,1.701,230,5.148,252,3.142,254,6.601,261,3.617,268,1.689,271,3.887,273,5.735,281,2.295,290,1.787,304,2.821,312,0.921,325,1.991,343,3.44,367,1.83,375,0.863,381,1.684,386,0.777,391,1.667,396,1.502,402,1.667,410,1.201,416,2.085,444,2.617,446,2.301,456,1.739,457,7.23,489,1.759,494,1.805,495,2.143,530,1.39,538,7.044,548,2.035,556,1.972,567,5.001,569,1.237,585,1.952,586,1.651,605,3.26,612,1.104,623,1.739,624,2.035,648,1.991,664,1.781,688,1.917,691,1.952,695,2.017,701,2.035,719,2.035,723,1.283,744,4.264,779,1.482,832,3.031,871,1.805,872,1.83,876,1.421,960,1.348,1010,1.805,1041,7.686,1068,1.482,1331,1.917,1341,1.482,1355,2.143,1384,2.143,1397,2.143,1464,3.344,1493,2.214,1531,2.143,1705,2.419,1723,1.952,1788,6.924,1809,7.556,1834,6.262,1956,4.264,1957,2.598,1958,2.598,1959,2.598,1960,2.598,1961,6.262,1962,2.143,1963,2.598,1964,6.262,1965,2.598,1966,4.813,1967,4.813,1968,2.598,1969,2.598,1970,2.598,1971,2.143,1972,2.598,1973,2.598,1974,2.598,1975,2.598,1976,1.805,1977,2.598,1978,2.598,1979,2.598,1980,2.598,1981,2.419,1982,12.664,1983,2.419,1984,2.419,1985,2.419,1986,2.419,1987,2.419,1988,2.419,1989,2.419,1990,2.419,1991,6.262,1992,2.419,1993,2.301,1994,1.856,1995,2.419,1996,2.598,1997,2.598,1998,4.482,1999,2.419,2000,6.724,2001,2.299,2002,4.482,2003,2.419,2004,4.482,2005,2.419,2006,2.419,2007,2.419,2008,2.419,2009,2.419,2010,2.419,2011,2.419,2012,2.419,2013,2.419,2014,2.419,2015,2.598,2016,4.813]],["keywords/240",[]],["title/241",[858,1121.303,1041,931.126]],["content/241",[2,1.138,4,1.039,5,2.26,10,3.443,11,0.845,19,2.394,24,1.914,26,1.39,27,2.513,48,2.562,52,1.045,55,0.695,69,1.437,90,1.205,93,0.897,101,5.018,102,2.548,103,4.451,111,4.197,114,1.021,115,5.997,116,3.152,121,1.533,125,1.267,126,1.429,135,1.062,145,3.186,150,2.25,153,1.323,162,1.142,163,1.512,174,0.954,217,1.701,218,1.581,230,4.126,252,2.452,254,7.48,257,1.085,261,1.397,268,1.689,273,3.457,281,2.864,290,1.787,299,1.886,304,1.522,312,0.921,340,1.991,343,1.856,369,1.781,375,2.787,391,1.667,396,2.782,397,1.362,410,2.226,416,2.085,426,1.805,443,4.101,444,1.413,457,3.119,477,1.759,494,1.805,495,2.143,530,1.39,556,2.756,558,1.237,559,1.437,567,3.762,569,1.237,590,1.607,624,3.77,664,1.781,695,3.516,701,2.035,703,2.301,706,2.214,713,2.419,714,3.77,715,2.035,719,2.035,802,1.952,832,1.636,858,1.952,871,1.805,872,1.83,876,1.421,877,1.056,975,1.701,1041,7.686,1066,1.739,1147,1.719,1331,1.917,1464,1.805,1723,1.952,1788,8.133,1809,5.155,1961,6.262,1964,2.419,1981,2.419,1982,13.42,1983,2.419,1984,2.419,1985,2.419,1986,2.419,1987,2.419,1988,2.419,1989,2.419,1990,2.419,1991,7.814,1992,2.419,1993,2.301,1994,1.856,1995,2.419,1998,4.482,1999,2.419,2001,2.299,2002,4.482,2003,2.419,2004,4.482,2005,2.419,2006,2.419,2007,6.262,2008,2.419,2009,2.419,2010,2.419,2011,2.419,2012,2.419,2013,2.419,2014,2.419,2017,2.598,2018,8.391,2019,2.598,2020,4.813,2021,2.598,2022,4.813,2023,2.598,2024,2.598,2025,2.598,2026,2.598,2027,2.598,2028,10.388,2029,2.598,2030,2.598,2031,2.598,2032,2.598,2033,2.598,2034,4.813,2035,2.598,2036,2.598,2037,2.598,2038,2.598,2039,2.598,2040,2.598,2041,2.598,2042,2.419,2043,2.598,2044,2.598]],["keywords/241",[]],["title/242",[1041,931.126,1955,1389.29]],["content/242",[5,4.114,10,5.499,24,2.143,57,3.909,89,3.967,93,4.228,101,5.507,102,6.752,107,4.096,130,3.029,135,5.003,141,3.508,150,5.723,173,4.096,174,4.494,204,2.535,252,2.691,254,6.731,273,7.952,281,4.178,343,5.382,369,5.164,375,4.067,426,3.286,464,5.382,512,4.446,609,6.214,628,4.325,695,5.13,740,4.166,746,5.467,858,5.66,876,4.119,877,3.061,1041,7.641,1052,6.672,1244,4.787,1462,6.672,1703,7.013,1809,11.858,1982,6.672,2028,14.405,2042,7.013,2045,15.468,2046,7.531,2047,7.531,2048,7.531,2049,12.242,2050,7.531]],["keywords/242",[]],["title/243",[10,382.635,34,533.366,93,428.137]],["content/243",[2,2.485,4,1.242,5,1.905,10,6.598,12,1.92,24,5.369,26,1.661,27,5.457,28,3.091,34,9.815,37,1.415,38,3.508,41,2.218,42,4.355,47,1.973,48,3.017,52,2.28,55,0.831,59,2.218,62,1.293,65,1.794,71,3.45,89,1.635,90,1.44,93,7.647,106,1.323,109,2.128,117,2.333,118,2.291,120,1.707,136,2.972,137,1.832,139,2.045,141,1.446,143,2.291,144,2.645,147,2.431,148,3.712,151,1.304,156,2.379,162,2.493,163,3.3,166,2.102,173,1.688,174,5.476,180,2.928,187,1.846,216,1.992,220,2.874,236,5.549,244,1.502,251,1.56,257,2.369,271,3.277,273,4.023,290,2.105,296,2.7,299,4.115,301,1.992,305,2.078,344,1.954,353,4.55,368,2.032,375,3.21,437,2.379,439,4.185,459,2.156,464,2.218,493,2.645,532,2.89,537,2.128,538,2.218,558,1.478,583,2.75,626,3.753,668,2.333,685,2.291,694,2.379,712,4.928,731,3.938,734,1.387,773,5.023,778,1.539,796,6.062,832,1.954,850,4.052,861,2.75,867,2.491,870,2.491,872,3.993,968,2.561,977,3.795,1017,2.491,1018,2.128,1117,2.128,1316,1.688,1325,2.333,1350,4.185,1425,2.561,1486,2.333,1518,2.89,1529,2.491,1646,2.645,1699,2.379,1838,5.279,1855,2.645,2051,2.645,2052,10.475,2053,3.104,2054,3.104,2055,3.104,2056,2.491,2057,3.104,2058,3.104]],["keywords/243",[]],["title/244",[10,382.635,34,533.366,114,487.203]],["content/244",[]],["keywords/244",[]],["title/245",[5,356.307,57,550.39,68,617.184,114,416.748]],["content/245",[2,2.955,4,1.504,5,3.756,7,1.864,8,2.044,9,2.985,10,3.974,15,1.195,19,3.127,24,3.182,25,1.11,27,2.746,28,2.106,29,1.067,34,5.189,37,0.909,52,1.512,55,1.006,57,4.759,62,2.809,68,2.188,71,1.213,85,0.985,90,0.925,98,2.294,101,4.596,103,1.32,106,4.357,114,5.355,117,1.499,120,1.097,125,2.601,126,2.067,130,2.144,135,2.179,139,1.356,141,1.751,143,2.774,153,1.016,157,3.611,162,0.877,166,1.351,167,1.016,168,1.6,170,1.499,174,0.732,187,1.186,195,1.204,220,1.011,222,1.025,244,1.819,251,1.002,252,2.995,254,7.296,264,1.306,265,3.03,270,0.874,271,1.153,273,5.747,281,4.394,290,1.395,304,1.169,315,1.306,340,1.528,372,1.699,376,0.965,381,1.292,386,0.596,397,1.045,404,1.351,410,0.922,426,1.009,450,1.472,457,5.194,471,3.755,504,2.079,511,2.067,530,5.982,549,2.985,552,1.699,564,7.182,567,2.39,587,1.367,593,1.279,612,0.848,617,1.767,619,1.335,623,1.335,670,1.267,695,0.835,712,1.256,720,1.425,740,5.653,778,0.989,833,1.562,844,2.326,866,1.213,871,2.611,886,2.269,938,2.945,955,1.061,1123,2.611,1154,2.269,1316,1.084,1322,1.367,1526,3.017,1658,1.223,1674,1.699,1756,1.857,1787,3.017,1822,8.708,1867,1.306,1910,2.346,1914,1.153,1915,1.645,2059,1.699,2060,1.699,2061,6.279,2062,5.331,2063,1.994,2064,1.994,2065,3.758,2066,1.857,2067,1.857,2068,1.857,2069,1.857,2070,3.758,2071,1.994,2072,6.83,2073,1.994,2074,1.994,2075,1.994,2076,1.994,2077,1.994,2078,1.994,2079,1.767,2080,1.857,2081,6.742,2082,3.5,2083,3.5,2084,3.5,2085,3.203,2086,3.5,2087,1.857,2088,1.994,2089,1.994,2090,1.994,2091,1.994,2092,1.994,2093,4.965,2094,1.994,2095,1.994,2096,4.965,2097,1.857,2098,1.857,2099,3.5,2100,1.857,2101,1.857,2102,1.645]],["keywords/245",[]],["title/246",[2103,1872.876]],["content/246",[5,6.315,10,5.801,34,8.087,57,9.756,68,10.939,101,10.737,734,8.398,740,10.398,1530,16.652,2104,16.016,2105,17.503]],["keywords/246",[]],["title/247",[10,327.302,34,456.236,1033,782.719,1425,874.98]],["content/247",[2,2.582,3,3.614,5,5.752,8,3.203,9,3.298,10,3.081,24,4.872,27,2.99,28,2.327,29,3.152,34,7.365,101,4.49,106,2.512,109,4.039,113,2.96,114,2.315,116,3.857,120,3.24,139,4.686,148,3.857,150,2.753,161,3.503,174,7.274,190,11.682,236,3.382,244,4.83,247,2.85,248,2.707,290,3.706,375,4.316,386,1.761,398,5.019,427,4.21,429,4.86,489,6.761,505,3.203,537,4.039,556,4.091,590,6.177,612,2.504,695,6.409,740,5.522,778,2.922,800,4.427,892,4.728,1024,3.857,1033,4.348,1040,3.744,1317,6.608,1320,4.515,1466,4.615,1971,4.86,2106,4.515,2107,5.89,2108,5.89,2109,4.21,2110,5.89,2111,5.89,2112,5.89,2113,8.844,2114,5.89,2115,5.89,2116,5.89,2117,5.219,2118,5.89,2119,5.219,2120,5.89,2121,5.89,2122,5.89,2123,5.89,2124,5.89]],["keywords/247",[]],["title/248",[10,382.635,34,533.366,93,428.137]],["content/248",[3,3.433,5,4.969,10,5.965,23,6.257,24,4.727,27,2.862,28,2.21,34,8.315,42,3.114,57,2.904,93,8.227,101,4.298,109,3.837,113,2.811,114,5.812,116,3.664,134,5.21,139,5.991,144,4.768,156,4.289,163,3.256,166,3.789,174,7.094,180,4.936,190,7.955,197,3.626,204,1.884,239,8.898,244,6.051,248,2.591,290,2.077,299,4.061,366,2.606,368,3.664,375,3.174,397,2.933,465,3.433,505,3.043,558,2.665,604,3.192,734,2.5,740,3.095,778,4.739,867,4.491,872,6.73,895,4.289,1033,4.13,1322,6.552,1325,7.181,1431,4.383,2051,4.768,2125,5.595,2126,5.595,2127,4.957,2128,5.595,2129,5.595,2130,5.595,2131,5.595,2132,5.595,2133,8.898,2134,5.595,2135,4.768,2136,5.21]],["keywords/248",[]],["title/249",[10,285.95,24,263.671,34,398.595,114,364.096,169,446.457]],["content/249",[5,1.55,7,2.287,10,4.55,19,1.12,24,4.977,27,3.232,28,1.822,34,6.343,52,1.855,93,3.727,103,3.053,113,4.062,114,3.177,121,2.722,130,3.251,135,1.885,138,1.826,139,1.664,144,3.93,169,7.82,174,4.758,181,3.02,244,2.231,252,1.777,254,7.227,257,1.927,265,3.056,270,2.021,273,2.371,281,4.424,290,1.712,298,2.088,362,3.702,375,1.532,386,1.379,395,3.053,471,5.693,512,2.722,530,6.935,538,3.296,558,2.197,559,2.551,567,2.067,587,5.543,590,2.853,688,3.404,796,3.88,876,2.522,877,3.286,895,3.535,938,3.613,1088,3.248,1123,3.204,1154,2.784,1322,3.162,1323,4.086,1634,3.053,1787,3.702,1822,13.828,1915,3.805,2066,4.294,2067,4.294,2068,4.294,2072,11.046,2080,4.294,2082,4.294,2083,4.294,2084,4.294,2085,3.93,2086,4.294,2093,4.294,2096,7.527,2098,4.294,2099,7.527,2100,4.294,2101,4.294,2105,4.294,2137,2.878,2138,3.805,2139,6.075,2140,4.611,2141,4.611,2142,4.611,2143,4.611,2144,3.805,2145,4.611,2146,4.611,2147,4.611]],["keywords/249",[]],["title/250",[10,382.635,114,487.203,1914,716.618]],["content/250",[]],["keywords/250",[]],["title/251",[10,207.358,34,289.042,114,264.025,141,312.889,222,345.374,375,223.169,1887,325.041,1914,388.35]],["content/251",[2,0.796,4,0.726,10,4.175,19,3.586,24,1.395,27,3.132,34,3.668,37,0.828,38,1.123,52,1.383,55,0.486,57,0.942,62,2.042,89,0.956,90,0.842,93,1.693,98,0.781,101,2.205,103,2.277,105,1.914,106,1.467,108,2.39,111,1.133,112,1.297,114,3.746,123,2.497,126,0.998,130,0.73,137,1.072,138,1.362,140,2.061,141,2.283,145,1.202,150,1.608,161,1.08,174,2.285,178,3.21,191,1.016,217,1.189,220,0.92,222,0.933,252,2.095,254,8.012,265,2.354,268,4.249,273,0.933,281,3.569,290,2.757,295,1.422,296,0.865,312,1.22,331,1.096,358,1.202,375,2.832,381,2.229,391,2.207,410,0.839,411,1.728,416,1.457,424,1.261,426,0.487,444,0.987,452,1.105,453,1.133,469,6.528,471,1.279,495,1.498,497,1.215,498,1.392,527,1.189,530,2.623,542,2.002,559,1.004,569,2.965,585,1.364,590,2.128,612,0.772,623,1.215,628,1.042,642,2.229,670,1.154,691,1.364,714,2.695,723,0.897,734,4.673,796,0.871,871,1.261,872,1.279,876,0.993,886,2.077,938,1.422,942,0.825,1046,1.114,1047,1.608,1123,1.261,1139,1.938,1143,1.029,1147,1.202,1152,3.087,1244,1.154,1253,3.203,1283,1.042,1286,2.931,1319,2.186,1329,1.547,1381,1.691,1494,2.253,1603,1.547,1674,1.547,1680,1.064,1689,1.547,1693,1.547,1708,1.498,1787,1.457,1854,2.695,1866,1.23,1887,0.878,1906,1.457,1914,7.819,1916,1.691,1919,3.203,1921,1.691,1922,1.691,1924,1.691,1928,2.585,1994,1.297,2085,1.547,2148,1.815,2149,1.815,2150,8.525,2151,1.815,2152,6.225,2153,6.225,2154,1.815,2155,4.902,2156,3.44,2157,3.44,2158,2.838,2159,1.815,2160,1.815,2161,1.34,2162,1.815,2163,5.797,2164,1.815,2165,1.815,2166,4.565,2167,1.815,2168,1.815,2169,1.815,2170,1.815,2171,1.815,2172,3.44,2173,3.44,2174,3.44,2175,3.44,2176,4.902,2177,1.815,2178,1.815,2179,1.815,2180,1.815,2181,1.815,2182,1.815,2183,1.815,2184,1.815,2185,1.815,2186,1.815,2187,1.815,2188,1.815,2189,1.815,2190,1.815,2191,1.815,2192,1.691,2193,1.815,2194,1.691,2195,1.815,2196,3.44,2197,4.902,2198,1.815,2199,3.44,2200,1.815,2201,1.815,2202,1.815,2203,1.815,2204,1.815,2205,1.815,2206,1.815,2207,1.815,2208,1.547]],["keywords/251",[]],["title/252",[107,674.161,114,487.203,222,637.316]],["content/252",[]],["keywords/252",[]],["title/253",[9,835.248,549,835.248]],["content/253",[4,3.174,8,4.314,9,7.148,10,4.946,19,1.927,24,5.729,27,5.5,28,3.133,34,5.494,93,2.74,103,5.251,107,10.947,114,8.888,120,4.363,127,4.828,130,3.191,135,3.242,138,7.273,139,4.606,140,7.65,142,10.536,157,5.373,166,5.373,204,2.671,223,5.31,244,3.838,257,3.315,317,4.469,369,5.44,376,3.838,410,7.41,444,6.944,505,6.944,510,5.042,537,5.44,549,7.148,558,3.778,598,5.31,611,5.44,1045,7.028,1366,7.387,1662,7.028,2209,7.933,2210,7.933,2211,7.028]],["keywords/253",[]],["title/254",[107,811.322,494,1036.419]],["content/254",[7,2.466,10,6.891,19,3.755,21,4.236,24,1.415,27,1.489,34,9.336,42,4.803,55,1.331,70,3.811,90,2.307,93,6.972,94,3.291,98,2.139,99,3.811,101,2.236,107,9.216,113,2.498,116,3.255,137,2.935,148,3.255,149,3.409,150,4.034,152,1.79,161,2.956,167,2.532,174,3.168,187,2.956,191,2.783,195,3.002,221,6.525,230,3.05,252,3.002,254,6.333,281,1.697,290,3.204,365,3.811,379,2.893,386,1.486,396,2.874,487,3.67,494,3.454,504,2.75,549,2.783,558,4.111,567,3.869,590,3.076,592,3.501,597,3.895,606,3.05,612,2.114,623,3.328,642,3.222,731,3.454,877,2.021,880,2.632,1634,3.291,1786,5.095,1910,5.387,1911,4.102,2212,4.971,2213,4.971,2214,7.646,2215,3.895,2216,4.629,2217,3.895,2218,7.121,2219,4.971,2220,4.971,2221,4.971,2222,4.971,2223,3.67,2224,4.971,2225,4.971,2226,8.63,2227,4.971,2228,7.355,2229,4.971,2230,4.971]],["keywords/254",[]],["title/255",[107,811.322,150,697.38]],["content/255",[19,4.829,34,6.145,68,8.313,93,6.866,107,12.437,150,6.676,152,7.157,179,8.371,252,3.139,254,5.802,281,4.874,369,9.794,510,9.078,1223,10.367,1568,11.785,1573,9.674,2231,14.282,2232,14.282,2233,14.282,2234,14.282,2235,14.282]],["keywords/255",[]],["title/256",[0,931.738,5,416.543,2236,1239.627]],["content/256",[]],["keywords/256",[]],["title/257",[31,782.719,32,673.976,33,718.229,273,545.153]],["content/257",[5,7.255,7,4.54,9,5.125,12,5.664,19,4.276,24,4.071,27,4.284,33,6.2,34,7.575,47,5.818,68,5.328,93,3.161,100,5.484,117,6.88,135,3.741,151,3.847,165,7.017,174,3.36,184,5.994,191,5.125,193,6.059,247,4.429,273,4.706,276,5.125,298,4.145,344,5.764,351,3.858,388,13.32,778,4.54,796,4.394,866,8.705,968,7.553,1348,8.524,1352,7.8,1556,8.11,2051,12.189,2237,9.153,2238,9.153,2239,9.153,2240,9.153,2241,9.153,2242,9.153,2243,9.153,2244,9.153,2245,9.153,2246,9.153,2247,9.153,2248,9.153,2249,9.153]],["keywords/257",[]],["title/258",[212,780.663,747,1022.903,2250,1154.419]],["content/258",[2,9.458,5,7.925,7,6.37,8,10.03,10,5.693,34,5.526,59,9.179,65,7.424,96,7.424,109,8.807,117,9.653,120,7.064,136,6.732,162,5.647,212,8.088,273,6.603,397,6.732,454,10.944,734,5.739,747,10.597,2250,11.96,2251,12.843,2252,12.843,2253,12.843,2254,12.843,2255,12.843,2256,12.843]],["keywords/258",[]],["title/259",[5,501.29,83,845.678]],["content/259",[]],["keywords/259",[]],["title/260",[2,464.757,5,356.307,82,746.861,92,830.727]],["content/260",[2,6.26,5,7.684,10,4.408,34,8.554,38,8.837,59,10.207,82,10.059,83,8.096,92,11.189,93,4.933,117,10.735,138,5.656,139,5.152,218,8.692,276,7.996,353,11.464,397,7.486,427,10.207,825,6.221,1018,9.794,1208,10.948,1424,13.3,2257,14.282,2258,14.282]],["keywords/260",[]],["title/261",[2,464.757,5,356.307,82,746.861,102,401.872]],["content/261",[2,7.905,5,7.812,10,5.567,19,4.381,27,5.402,82,12.703,93,6.229,102,8.811,190,9.701,317,10.16,401,15.369,406,14.882]],["keywords/261",[]],["title/262",[5,356.307,24,301.801,83,601.09,344,667.771]],["content/262",[4,4.231,5,6.473,10,7.483,24,5.066,34,10.832,47,4.008,62,2.628,69,3.489,83,9.059,90,4.907,93,5.519,101,2.837,102,4.007,113,3.169,114,6.281,116,4.13,135,2.577,136,3.306,139,4.925,150,2.948,157,7.162,166,4.272,225,5.137,226,4.442,244,3.051,305,4.222,335,5.587,344,6.659,355,4.578,370,4.507,375,2.095,376,5.116,380,3.808,386,3.162,411,3.169,477,9.248,488,2.959,489,4.272,527,4.13,590,3.902,740,3.489,778,5.245,978,3.808,1017,8.487,1141,4.941,1368,5.873,2052,5.873,2113,5.587,2259,6.306,2260,5.873]],["keywords/262",[]],["title/263",[5,416.543,83,702.709,298,561.378]],["content/263",[2,3.673,5,2.816,9,4.692,10,5.849,23,5.488,24,3.797,27,3.996,34,8.902,55,2.243,60,5.61,83,9.422,93,4.608,96,4.844,102,3.176,137,7.875,150,3.917,167,4.268,176,3.552,180,6.891,187,4.983,220,4.249,222,4.308,225,4.071,270,3.673,273,6.859,276,7.469,290,3.111,296,6.354,298,8.582,301,5.377,340,6.424,386,2.506,426,4.462,499,4.636,620,6.298,802,6.298,1017,6.726,1030,6.083,1068,4.781,2261,5.61,2262,13.341,2263,10.227,2264,10.227,2265,7.804,2266,7.804,2267,8.38]],["keywords/263",[]],["title/264",[5,416.543,83,702.709,222,637.316]],["content/264",[2,2.653,5,5.231,7,1.654,10,5.102,19,2.877,24,2.366,25,1.856,27,2.489,29,4.447,34,5.703,35,2.955,38,2.064,42,1.856,50,4.691,55,0.893,64,2.462,72,2.99,82,7.196,83,10.296,84,3.311,92,8.004,93,5.377,98,3.576,104,1.984,117,2.507,125,1.627,130,1.342,137,3.574,138,1.321,139,1.203,150,1.559,156,2.557,167,1.699,168,4.859,174,5.317,180,4.293,187,1.984,204,1.123,217,2.184,220,1.691,222,3.112,224,2.613,229,2.752,236,4.773,246,2.184,248,0.905,252,0.733,254,4.544,265,2.289,268,1.171,271,1.928,273,1.715,276,5.72,290,2.247,296,1.589,298,3.764,304,1.955,332,4.711,336,2.677,348,4.264,353,2.677,355,2.421,370,2.384,375,3.394,397,1.748,407,5.867,410,2.799,411,1.676,420,3.106,423,4.395,426,3.18,434,2.843,443,2.843,499,1.845,504,1.845,525,2.317,530,1.785,556,1.367,558,1.589,569,2.884,604,1.903,612,1.418,734,5.293,881,0.635,887,3.106,923,2.843,971,2.208,973,2.507,1009,2.843,1012,3.106,1018,2.287,1046,2.047,1061,3.106,1068,1.903,1652,2.613,1786,1.969,1787,2.677,1788,2.752,2051,2.843,2113,2.955,2260,3.106,2263,2.557,2264,2.557,2268,3.336,2269,3.336,2270,3.336,2271,6.054,2272,3.336,2273,4.995,2274,3.336,2275,3.336,2276,2.752,2277,3.336,2278,6.054,2279,3.336,2280,3.336,2281,3.336,2282,3.336,2283,3.336,2284,3.336,2285,3.336]],["keywords/264",[]],["title/265",[0,931.738,344,780.663,619,829.836]],["content/265",[]],["keywords/265",[]],["title/266",[344,780.663,619,829.836,1634,820.567]],["content/266",[4,8.299,5,5.893,10,3.698,19,2.91,25,9.759,85,5.917,98,5.155,106,5.109,126,6.59,127,7.291,136,6.28,138,6.945,161,7.124,162,5.268,179,7.022,218,7.291,244,5.797,248,4.756,249,8.138,360,9.005,444,6.515,535,8.438,567,5.371,712,7.545,734,5.353,796,5.751,799,6.219,1056,9.386,1634,11.608,2286,9.005,2287,9.617]],["keywords/266",[]],["title/267",[56,742.734,841,780.663,2288,1239.627]],["content/267",[]],["keywords/267",[]],["title/268",[1680,1097.744]],["content/268",[4,9.55,19,5.798,56,14.302,69,10.398,135,7.681,221,10.723,386,5.62,612,7.991,1680,11.016]],["keywords/268",[]],["title/269",[2,820.88]],["content/269",[2,6.875,4,6.276,5,3.467,24,2.937,27,3.09,52,4.15,55,2.762,56,6.182,62,4.299,102,3.91,106,4.4,135,4.217,141,4.806,176,4.374,187,6.136,188,10.561,191,10.625,213,6.558,218,6.279,331,6.23,375,3.428,379,6.005,391,10.066,488,4.841,491,7.374,504,5.708,511,5.675,518,6.048,527,6.757,567,4.626,623,6.907,626,6.83,688,7.616,691,7.755,1105,4.688,1337,8.282,2289,10.318,2290,10.318,2291,8.514,2292,10.318,2293,9.141,2294,10.318,2295,9.609,2296,9.609]],["keywords/269",[]],["title/270",[2,464.757,4,424.26,162,466.228,193,701.905]],["content/270",[2,7.92,4,7.229,5,4.195,9,6.989,24,3.553,27,3.739,42,6.947,56,10.826,89,6.577,152,4.494,162,5.489,193,11.961,226,8.793,257,5.216,367,12.727,370,8.922,380,10.91,511,6.866,593,8.011,886,7.537,903,10.02,1105,8.211,1508,11.06,1910,7.791,2297,12.483,2298,12.483,2299,12.483,2300,13.581]],["keywords/270",[]],["title/271",[5,416.543,151,520.947,1842,885.961]],["content/271",[4,5.291,19,4.574,50,6.072,56,7.923,57,6.864,68,7.697,84,7.232,89,6.966,126,7.273,136,6.932,151,7.914,176,5.606,270,5.796,297,10.912,304,7.751,404,8.957,444,7.191,488,6.204,527,8.66,533,8.957,603,9.314,636,8.182,841,8.328,1316,7.191,1337,10.614,1341,10.744,1659,11.716,1842,9.451,2301,13.223]],["keywords/271",[]],["title/272",[24,352.823,27,371.279,151,520.947]],["content/272",[4,4.199,13,5.395,19,1.903,24,5.189,27,4.759,28,4.993,55,2.097,56,6.288,62,5.267,89,2.345,130,1.79,151,1.87,188,5.84,252,4.008,254,8.34,270,7.991,281,7.499,306,4.192,307,3.649,323,1.369,386,1.331,426,1.195,564,11.288,612,1.892,811,3.487,832,2.803,838,3.943,893,5.443,903,3.572,1318,8.222,1322,3.052,1683,2.687,2061,7.296,2069,4.145,2087,4.145,2261,2.979,2302,4.145,2303,4.145,2304,4.45,2305,4.45,2306,3.793,2307,3.943,2308,4.45,2309,4.45,2310,4.145,2311,4.45,2312,4.45,2313,4.45,2314,4.45,2315,4.45,2316,4.45,2317,4.45,2318,4.45,2319,4.45,2320,4.45,2321,3.672,2322,4.45,2323,4.45]],["keywords/272",[]],["title/273",[151,626.936,162,655.939]],["content/273",[4,6.226,19,2.48,24,2.906,27,3.058,55,3.546,56,7.937,62,6.484,89,3.187,90,2.808,93,6.932,113,5.131,130,2.433,136,3.171,151,4.291,162,5.825,252,3.421,254,7.821,270,6.821,281,5.933,296,2.882,304,3.546,323,1.861,386,1.809,393,4.547,404,4.098,426,2.741,590,3.743,626,4.005,719,4.74,740,3.347,832,3.81,838,5.36,864,4.638,868,5.634,893,7.094,903,4.856,1316,3.29,1318,4.74,1322,9.085,1323,5.36,1325,4.547,1326,5.634,1328,4.992,1434,4.392,1683,6.165,2302,5.634,2324,5.634,2325,5.634,2326,6.05,2327,6.05,2328,9.509,2329,5.156,2330,5.156,2331,5.156]],["keywords/273",[]],["title/274",[426,400.488,880,789.946]],["content/274",[4,5.214,56,7.807,89,6.865,254,7.331,261,7.009,290,4.837,323,4.008,367,13.125,380,11.252,559,13.134,832,8.206,876,7.126,880,6.9,903,10.459,2332,13.03,2333,9.989,2334,11.545,2335,12.135,2336,11.545,2337,11.545,2338,11.545,2339,11.545,2340,11.545,2341,11.545]],["keywords/274",[]],["title/275",[2342,1024.277]],["content/275",[19,2.727,56,6.727,152,4.041,176,4.759,1354,14.244,2342,6.14,2343,11.227,2344,11.227,2345,16.715,2346,11.227,2347,11.227,2348,11.227,2349,10.455,2350,15.566,2351,11.227,2352,11.227,2353,16.715,2354,11.227,2355,11.227,2356,11.227,2357,11.227,2358,16.715,2359,16.715,2360,16.715,2361,16.715,2362,16.715,2363,9.567,2364,11.227,2365,11.227,2366,14.809,2367,11.227,2368,11.227,2369,10.455,2370,11.227]],["keywords/275",[]],["title/276",[10,460.483,57,774.347]],["content/276",[2,7.905,19,4.381,101,8.112,188,10.037,213,11.463,304,10.571,402,11.573,404,12.216,411,9.063,734,8.059,740,12.861,886,10.889,2104,15.369]],["keywords/276",[]],["title/277",[114,586.326,150,697.38]],["content/277",[4,7.52,10,5.801,56,11.261,89,9.902,114,7.387,162,8.264,832,11.836,895,14.408,903,15.086,2371,18.795,2372,16.652,2373,18.795]],["keywords/277",[]],["title/278",[5,501.29,139,538.178]],["content/278",[]],["keywords/278",[]],["title/279",[608,1382.483]],["content/279",[4,4.668,55,4.603,138,6.811,139,7.369,218,7.101,220,10.357,243,7.81,247,5.645,248,3.164,252,2.565,290,4.331,312,4.138,373,8.105,426,3.132,492,11.384,504,9.515,511,6.417,638,8.13,731,8.105,799,6.056,955,6.21,1867,7.64,1887,5.645,1927,7.101,2374,9.627,2375,11.667,2376,11.667,2377,9.627,2378,11.667,2379,8.769,2380,11.667,2381,7.416]],["keywords/279",[]],["title/280",[130,753.275]],["content/280",[4,3.647,19,1.286,24,3.416,25,2.947,27,2.73,43,2.79,52,2.13,55,1.418,93,3.148,113,2.661,125,2.583,130,2.13,138,3.61,200,3.73,244,2.562,249,2.458,252,4.365,254,7.959,265,4.537,281,4.866,290,1.966,298,2.398,304,3.104,351,2.232,373,3.679,410,2.449,457,3.432,471,6.42,504,2.93,511,2.913,558,2.522,559,2.93,612,3.875,623,3.545,628,6.891,635,7.141,638,5.673,642,3.432,707,15.556,740,2.93,778,2.627,880,2.804,937,2.513,939,2.616,955,2.819,1066,6.102,1171,3.679,1398,4.251,1683,3.198,1867,3.468,1870,4.932,1879,4.932,1927,3.223,2072,4.513,2374,4.37,2382,17.557,2383,14.256,2384,12.631,2385,5.296,2386,5.296,2387,5.296,2388,5.296,2389,5.296,2390,5.296,2391,4.692,2392,4.932]],["keywords/280",[]],["title/281",[24,424.606,796,716.13]],["content/281",[]],["keywords/281",[]],["title/282",[2393,1435.736]],["content/282",[211,10.452,407,12.354,586,13.675,667,12.794,969,13.312,2394,21.514]],["keywords/282",[]],["title/283",[2395,1872.876]],["content/283",[5,7.711,10,7.084,83,13.009,93,6.105,138,9.088,139,6.377,225,8.588,407,10.151,586,11.236,796,8.486,2396,17.678]],["keywords/283",[]],["title/284",[2397,1744.142]],["content/284",[10,6.805,138,8.73,139,7.953,604,12.577,796,10.583]],["keywords/284",[]],["title/285",[2398,1596.012]],["content/285",[4,5.291,19,3.212,24,5.36,138,8.685,139,4.77,174,4.854,252,2.907,254,6.975,264,8.66,281,4.513,296,6.299,445,9.187,512,7.806,556,7.717,569,6.299,586,13.94,612,5.622,796,6.348,2334,11.716,2381,11.969,2398,11.269,2399,13.223]],["keywords/285",[]],["title/286",[604,851.104,2400,1082.951]],["content/286",[24,5.349,43,9.902,174,6.9,197,12.182,220,9.53,254,5.485,558,8.952,604,10.723,969,11.63,2400,13.643,2401,15.086,2402,18.795]],["keywords/286",[]],["title/287",[804,1168.954]],["content/287",[19,4.874,244,9.707,254,5.855,788,13.938,796,9.631,804,12.522,911,14.564,2403,20.063,2404,16.104]],["keywords/287",[]],["title/288",[268,523.674,556,611.353]],["content/288",[4,1.268,10,0.978,11,2.592,19,2.386,24,4.818,26,1.696,27,2.942,34,1.364,37,1.445,52,1.275,55,2.132,68,1.845,71,1.929,90,1.471,93,3.392,107,3.143,130,3.204,135,1.295,139,1.143,162,3.502,167,2.944,174,4.192,180,4.114,181,2.076,220,1.607,245,2.233,248,0.86,252,3.321,254,7.876,265,3.714,268,4.924,281,4.372,289,2.43,294,4.266,296,1.51,298,1.435,308,2.174,313,4.195,323,0.975,344,1.996,368,2.076,369,2.174,426,0.851,438,8.755,512,1.871,556,3.264,586,6.243,590,1.961,604,4.544,628,6.558,642,2.054,734,1.416,752,2.233,796,1.522,799,1.645,812,3.673,828,2.265,870,2.544,892,2.544,969,6.078,978,1.914,1030,2.301,1084,3.963,1092,4.13,1117,2.174,1148,8.105,1194,2.301,1216,1.23,1359,2.616,2334,10.118,2381,2.015,2393,2.43,2397,7.417,2398,4.925,2405,2.43,2406,2.952,2407,2.952,2408,2.952,2409,3.17,2410,3.17,2411,5.779,2412,3.17,2413,2.544,2414,3.17,2415,2.483,2416,3.17,2417,3.17,2418,3.17,2419,3.17,2420,3.17,2421,3.17,2422,3.17,2423,3.17,2424,3.17,2425,11.42,2426,3.17,2427,3.17,2428,3.17,2429,3.17,2430,3.17,2431,2.544,2432,3.17,2433,2.701,2434,3.17,2435,3.17,2436,3.17,2437,3.17,2438,3.17,2439,3.17,2440,3.17]],["keywords/288",[]],["title/289",[130,600.018,796,716.13]],["content/289",[]],["keywords/289",[]],["title/290",[130,600.018,483,684.985]],["content/290",[24,4.065,55,3.823,93,6.866,162,6.28,172,6.701,252,5.027,254,7.855,255,6.676,281,4.874,323,4.393,369,9.794,375,4.744,695,5.985,876,7.811,1725,16.405,2441,13.3,2442,18.514]],["keywords/290",[]],["title/291",[351,628.744,612,634.27]],["content/291",[11,2.128,19,2.647,55,2.917,71,6.632,93,3.763,98,2.813,138,2.589,162,2.874,174,2.4,221,3.73,242,5.926,252,3.992,254,8.016,255,3.056,265,4.12,268,2.295,270,2.865,281,4.782,290,4.045,296,3.114,411,3.285,426,2.925,483,3.002,530,3.498,558,5.19,612,4.633,695,2.74,740,3.617,796,5.231,856,5.792,876,3.575,937,5.17,939,3.229,941,3.3,1024,4.281,1105,2.971,1725,8.992,2137,4.08,2441,6.088,2442,13.047,2443,3.257,2444,3.09,2445,6.538,2446,6.538,2447,5.122,2448,6.538,2449,6.538,2450,6.538,2451,6.538,2452,6.538,2453,6.538,2454,6.538,2455,5.248,2456,6.538,2457,6.538,2458,6.538,2459,6.538,2460,6.538,2461,6.538,2462,6.088]],["keywords/291",[]],["title/292",[4,495.984,102,469.812,376,599.795]],["content/292",[4,5.452,12,8.432,19,3.31,24,3.879,27,4.082,36,10.447,37,6.214,64,10.059,102,9.181,104,8.104,126,7.495,135,5.569,172,6.394,195,8.228,222,7.006,234,9.467,270,5.973,271,7.878,376,10.789,426,3.658,499,7.539,518,7.987,841,8.582,1854,10.676,2463,13.627]],["keywords/292",[]],["title/293",[27,446.817,796,716.13]],["content/293",[]],["keywords/293",[]],["title/294",[268,523.674,556,611.353]],["content/294",[4,2.779,19,2.783,24,3.261,27,3.431,37,3.167,52,2.793,55,1.859,68,4.042,90,3.223,130,2.793,141,3.235,162,3.053,174,2.549,225,3.374,230,7.029,245,4.891,248,1.884,252,3.214,254,7.425,258,5.918,268,7.503,289,5.324,294,5.126,308,4.762,375,2.307,426,1.864,494,4.825,556,5.992,590,4.297,642,4.501,666,3.865,752,4.891,796,3.334,799,3.605,876,6.265,984,5.731,1041,9.127,1084,7.856,1092,8.188,1117,4.762,2405,5.324,2406,6.467,2407,6.467,2408,6.467,2413,5.574,2415,5.441,2464,6.945,2465,6.945,2466,6.945,2467,14.623,2468,6.467,2469,6.945,2470,6.945,2471,6.945,2472,6.945,2473,6.945,2474,6.945,2475,6.945,2476,6.945,2477,6.945]],["keywords/294",[]],["title/295",[169,718.957,876,815.884]],["content/295",[3,4.071,4,2.655,10,6.1,11,2.159,24,4.695,26,3.55,27,4.941,43,7.459,55,1.776,107,5.999,114,2.608,138,2.627,162,2.917,163,3.862,169,3.197,174,5.198,190,3.569,195,4.006,244,3.21,252,3.626,254,7.452,261,3.569,281,2.264,296,3.16,358,4.392,375,4.704,390,4.673,426,1.781,535,4.673,556,2.719,558,3.16,559,6.103,569,5.254,695,2.78,761,5.475,779,3.785,796,6.797,825,2.89,876,3.629,1350,4.898,1479,4.494,2137,6.885,2478,6.635,2479,6.635,2480,5.475,2481,9.401,2482,5.654,2483,6.635,2484,6.635,2485,16.497,2486,6.635,2487,6.635,2488,6.635,2489,11.031,2490,6.635]],["keywords/295",[]],["title/296",[1572,1545.441]],["content/296",[]],["keywords/296",[]],["title/297",[751,1022.903,837,1022.903,2491,1239.627]],["content/297",[4,6.803,5,5.714,56,13.405,59,12.153,69,9.407,113,8.545,136,8.913,489,11.517,751,14.031,1406,15.835,1828,14.49,2492,17.004,2493,17.004,2494,17.004,2495,17.004,2496,17.004]],["keywords/297",[]],["title/298",[10,460.483,1914,862.416]],["content/298",[10,7.896,217,13.757,273,10.8,1914,14.788,2497,21.008]],["keywords/298",[]],["title/299",[102,469.812,376,599.795,611,850.08]],["content/299",[]],["keywords/299",[]],["title/300",[19,362.389,139,538.178]],["content/300",[15,9.466,19,5.175,24,6.064,27,4.732,102,5.988,106,6.737,139,7.686,244,10.308,376,10.308,470,12.378,497,10.576,518,9.26,1352,13.464,1573,10.702,1854,12.378,2498,15.799]],["keywords/300",[]],["title/301",[102,565.397,376,721.825]],["content/301",[4,6.411,10,2.449,19,3.102,24,5.227,27,6.029,43,4.179,93,6.952,102,8.151,114,5.018,138,5.056,139,2.862,140,7.65,174,5.882,180,6.595,196,5.669,230,4.867,254,2.315,290,2.945,305,5.31,376,9.74,379,4.617,470,10.003,549,10.282,778,6.333,975,12.027,1045,7.028,1319,5.042,1573,5.373,2499,7.933,2500,6.215,2501,7.933,2502,6.367,2503,7.933,2504,7.387,2505,7.933,2506,9.788,2507,7.387,2508,7.933,2509,7.933]],["keywords/301",[]],["title/302",[1911,1022.903,1912,1056.375,2510,1154.419]],["content/302",[10,6.158,19,4.416,24,4.507,25,4.337,34,5.416,37,3.554,50,3.579,83,4.418,90,3.617,93,6.278,98,3.353,102,4.771,107,11.604,113,3.917,114,8.386,138,3.087,139,4.541,141,3.63,153,8.065,174,8.242,220,6.382,290,4.673,375,2.589,558,5.996,636,4.823,690,6.905,712,4.908,778,3.866,1634,5.159,1907,5.002,1911,15,1912,15.491,2102,6.431,2504,7.258,2511,11.722,2512,7.794]],["keywords/302",[]],["title/303",[211,724.734,298,675.592]],["content/303",[19,3.65,24,5.86,27,4.5,37,6.851,39,9.083,48,7.998,50,4.479,93,3.369,98,4.197,102,5.695,135,3.986,138,3.863,139,3.519,153,4.968,167,4.968,174,3.581,197,6.322,211,7.299,218,5.936,220,4.946,298,8.3,301,6.259,375,3.24,376,7.27,452,5.936,465,5.985,510,6.2,524,5.428,598,10.059,636,9.297,712,9.463,723,4.817,728,8.642,1512,10.907,2296,9.083,2381,6.2,2507,9.083,2513,9.754,2514,9.754,2515,6.971]],["keywords/303",[]],["title/304",[249,869.165]],["content/304",[3,9.602,4,8.469,5,4.171,8,6.75,10,2.364,19,4.371,42,6.908,58,7.134,97,4.965,101,5.583,136,4.015,170,5.758,179,7.275,247,8.707,248,5.363,249,8.351,276,4.289,303,5.758,312,2.717,351,5.231,397,4.015,454,6.528,490,5.654,567,3.434,635,6.001,638,5.868,695,3.21,734,3.423,796,3.677,799,8.123,1506,5.395,1526,9.963,1556,6.787,1971,6.321,2216,7.134,2384,6.787,2443,3.816,2516,9.515,2517,7.66,2518,7.66,2519,7.66,2520,7.66,2521,7.66,2522,7.66,2523,7.66,2524,7.66,2525,7.66,2526,7.66,2527,7.134,2528,7.134]],["keywords/304",[]],["title/305",[5,356.307,19,257.579,57,550.39,102,401.872]],["content/305",[]],["keywords/305",[]],["title/306",[19,454.95]],["content/306",[5,7.956,19,3.707,24,4.343,27,4.57,57,10.801,89,8.039,102,8.974,104,9.074,130,6.137,135,6.236,376,7.383,397,7.998,451,11.469,590,9.442,832,9.609,1825,13.519,2529,15.259,2530,15.259]],["keywords/306",[]],["title/307",[102,469.812,376,599.795,465,760.623]],["content/307",[11,3.14,27,5.452,55,2.583,62,4.02,100,5.781,102,8.386,113,4.848,140,5.781,141,8.478,157,10.093,225,4.687,252,3.275,254,7.703,270,4.229,281,3.293,290,5.531,369,6.616,376,9.905,396,5.578,427,6.896,466,7.252,518,5.655,623,6.459,696,8.548,2531,9.648,2532,8.985,2533,14.9,2534,13.876,2535,8.548,2536,8.985,2537,9.648,2538,8.985]],["keywords/307",[]],["title/308",[102,469.812,317,698.32,376,599.795]],["content/308",[11,2.607,19,1.109,24,3.663,27,3.854,37,2.081,55,2.144,62,3.338,89,4.22,93,6.703,102,8.187,103,3.021,113,6.467,130,4.305,135,1.865,138,5.096,140,4.8,157,10.925,167,4.08,176,1.935,186,9.92,211,2.217,220,6.525,226,3.215,246,2.989,252,2.829,254,6.889,270,3.511,281,2.734,290,1.694,317,9.795,320,3.431,342,7.46,376,8.413,426,1.225,451,3.431,459,3.171,465,6.568,466,6.021,468,4.251,518,4.695,558,2.174,559,4.432,623,5.362,696,4.044,712,2.874,832,2.874,2261,3.055,2532,7.46,2534,15.02,2535,4.044,2536,4.251,2538,4.251,2539,4.564,2540,14.645,2541,8.01,2542,4.564,2543,4.564,2544,4.564,2545,4.564]],["keywords/308",[]],["title/309",[426,400.488,499,825.333]],["content/309",[222,11.061,397,11.277,426,5.776,518,12.61,2546,18.334,2547,21.514]],["keywords/309",[]],["title/310",[130,600.018,2548,1271.298]],["content/310",[24,3.156,55,2.968,93,3.829,102,8.917,138,6.558,176,4.7,225,5.386,242,6.03,252,2.437,254,7.845,270,4.859,281,3.784,317,9.329,376,5.365,452,12.063,470,8.686,518,6.498,605,7.51,1024,7.261,1392,9.448,2506,8.499,2546,9.448,2548,9.448,2549,9.823,2550,10.325,2551,16.56,2552,10.325,2553,9.823]],["keywords/310",[]],["title/311",[62,621.606,130,600.018]],["content/311",[52,8.749,55,3.488,57,6.763,62,7.765,102,4.938,135,5.325,153,6.637,225,6.33,242,7.086,252,2.864,254,7.851,270,8.168,271,7.533,281,4.447,518,7.637,740,7.209,1024,8.533,1544,16.676,1867,8.533,2549,11.545,2554,13.03]],["keywords/311",[]],["title/312",[130,600.018,2161,1101.212]],["content/312",[52,8.679,55,3.438,57,6.666,102,4.867,135,5.249,153,6.542,225,6.239,242,6.984,252,2.823,254,7.817,270,8.083,271,7.424,281,4.383,518,7.527,740,7.105,1024,8.41,1544,16.542,2161,13.613,2549,11.379,2555,12.843,2556,12.843,2557,12.843]],["keywords/312",[]],["title/313",[247,721.825,248,404.609]],["content/313",[]],["keywords/313",[]],["title/314",[10,460.483,34,641.881]],["content/314",[4,2.225,5,1.868,10,5.947,16,3.47,19,1.351,24,5.132,25,3.094,27,1.665,29,5.085,34,6.337,81,3.534,83,3.152,114,2.185,122,3.534,126,3.058,141,2.59,167,2.832,172,6.91,176,2.357,191,3.113,230,3.411,245,3.916,247,6.022,252,2.089,254,6.413,268,1.952,281,1.897,301,3.568,305,3.722,315,3.641,325,4.262,358,3.68,364,3.603,379,3.236,380,5.738,444,5.169,459,3.863,495,4.588,512,3.282,556,2.278,567,2.493,569,7.015,586,9.361,695,2.33,734,5.562,746,4.036,854,4.463,864,4.262,946,2.628,954,7.575,1014,5.178,1024,3.641,1723,4.179,1831,3.722,1993,4.926,1994,3.974,2136,5.178,2350,5.178,2400,4.036,2558,5.56,2559,5.178,2560,5.56,2561,4.926,2562,5.56,2563,3.813,2564,4.926,2565,4.104,2566,4.588,2567,4.738,2568,4.738,2569,5.56,2570,5.56,2571,5.56,2572,5.56,2573,5.56,2574,5.56,2575,4.738,2576,5.56,2577,9.504,2578,5.56,2579,5.56,2580,5.56]],["keywords/314",[]],["title/315",[222,637.316,247,599.795,248,336.206]],["content/315",[4,4.932,14,3.886,19,2.994,42,4.227,52,6.257,55,2.033,85,6.088,95,5.084,130,4.958,141,3.537,176,3.22,187,4.517,204,2.557,220,7.888,229,10.172,247,5.964,248,4.22,249,8.309,252,3.42,254,6.154,268,2.666,281,2.592,290,2.819,315,4.974,351,3.201,426,2.039,524,4.227,661,5.606,778,3.767,799,8.075,876,4.154,937,3.604,939,3.751,946,3.59,1105,7.07,1493,6.472,2581,14.488,2582,7.595,2583,18.68,2584,7.595,2585,7.33,2586,7.126,2587,7.595,2588,7.595,2589,7.595,2590,7.595,2591,7.595]],["keywords/315",[]],["title/316",[1068,851.104,2592,1389.29]],["content/316",[4,3.378,10,1.901,32,3.914,55,3.213,93,1.174,96,1.965,130,1.367,135,1.389,138,1.346,139,2.222,162,1.495,220,3.122,222,1.748,225,1.651,229,2.805,230,3.779,246,2.226,247,1.645,248,3.974,249,2.858,252,3.221,254,8.14,255,1.589,265,3.192,268,2.162,281,2.881,290,3.134,315,2.226,323,3.693,343,2.429,397,5.433,439,2.509,444,3.349,483,1.561,512,4.984,593,3.952,612,1.445,704,2.429,723,1.679,778,3.054,779,4.816,854,2.728,856,3.012,866,2.069,876,3.368,937,1.613,939,1.679,971,2.25,978,3.718,979,1.927,1041,12.632,1105,3.836,1231,14.716,1668,3.166,1809,4.721,1956,3.012,2261,2.275,2265,3.166,2585,2.021,2586,1.965,2592,3.166,2593,3.399,2594,9.183,2595,18.847,2596,3.399,2597,3.399,2598,3.399,2599,3.399,2600,3.399,2601,4.401,2602,3.399,2603,3.399,2604,3.399,2605,3.399,2606,3.399,2607,3.166,2608,3.399,2609,3.399,2610,3.399,2611,3.399,2612,3.399,2613,5.735,2614,8.442,2615,3.399,2616,3.399]],["keywords/316",[]],["title/317",[10,460.483,2617,1121.303]],["content/317",[4,1.874,10,5.775,24,1.333,27,1.403,55,2.193,96,2.708,101,2.107,106,1.997,123,3.4,128,3.136,130,3.296,135,1.914,138,1.855,141,2.182,157,5.55,161,2.786,167,4.174,168,3.76,174,1.72,176,1.986,182,4.15,187,2.786,191,2.623,218,2.851,220,4.155,222,2.408,229,3.865,247,7.923,248,1.27,249,3.803,252,3.876,254,6.823,255,2.19,265,3.098,268,1.644,275,5.693,281,1.599,315,3.067,323,4.031,351,4.604,376,2.266,397,4.295,438,3.591,512,4.837,583,4.15,658,3.865,695,1.963,712,2.95,937,7.065,939,7.354,1056,3.67,1105,4.963,1141,3.67,1451,3.254,1512,3.4,1572,6.762,1605,4.15,1699,3.591,1809,3.591,2559,4.362,2585,2.786,2586,2.708,2594,4.15,2595,15.25,2607,4.362,2617,13.254,2618,4.684,2619,8.194,2620,4.684,2621,4.684,2622,4.684,2623,4.684,2624,4.684,2625,4.362,2626,4.362,2627,4.684,2628,4.684,2629,4.684,2630,4.15,2631,4.362,2632,4.684,2633,4.684,2634,4.684,2635,4.684,2636,4.684]],["keywords/317",[]],["title/318",[351,789.338]],["content/318",[]],["keywords/318",[]],["title/319",[162,823.478]],["content/319",[19,4.06,37,7.621,55,3.005,130,4.515,162,7.349,248,3.045,252,4.389,254,7.237,281,3.832,296,5.347,312,3.982,351,9.968,360,8.438,397,8.762,556,8.183,695,7.004,778,5.568,796,8.024,1079,6.175,1544,8.606,2637,11.227,2638,11.227,2639,11.227,2640,11.227,2641,10.455]],["keywords/319",[]],["title/320",[98,398.595,143,683.83,248,251.254,251,465.526,941,467.603]],["content/320",[4,6.45,15,4.796,25,7.157,55,2.142,98,6.936,106,3.413,120,7.073,125,3.904,140,4.796,161,7.647,197,5.188,204,2.695,222,4.115,248,5.484,249,3.714,251,8.1,252,4.445,254,7.293,265,3.026,281,2.732,351,6.794,358,5.298,397,6.741,445,5.56,556,5.27,611,5.489,635,10.075,638,3.783,937,3.798,939,3.953,941,8.137,947,15.012,1105,7.325,1568,6.604,2585,4.76,2586,4.627,2642,8.004,2643,8.004,2644,8.004]],["keywords/320",[]],["title/321",[5,416.543,139,447.195,248,336.206]],["content/321",[3,5.395,4,3.518,19,4.167,37,4.009,55,2.354,57,4.564,62,3.664,93,3.037,98,3.783,113,4.418,130,5.574,139,6.188,190,9.227,245,6.193,248,3.759,249,4.08,252,3.046,254,7.329,281,4.73,351,9.926,358,5.82,360,6.609,383,5.268,471,6.193,556,3.603,595,5.886,635,6.888,638,4.156,796,4.221,799,4.564,832,5.537,937,4.172,1079,4.836,1223,6.383,1544,6.74,2645,8.793,2646,17.153,2647,8.793,2648,8.793,2649,8.793]],["keywords/321",[]],["title/322",[946,585.982,1831,829.836,2650,850.08]],["content/322",[43,6.766,55,3.438,162,5.647,190,6.908,245,9.046,248,5.002,252,5.49,254,7.289,351,7.773,554,5.047,556,5.263,620,9.653,638,6.071,946,6.071,948,11.96,951,11.379,1079,7.064,1223,9.323,1831,8.597,2650,8.807,2651,12.843,2652,18.442,2653,12.843]],["keywords/322",[]],["title/323",[249,692.33,1526,1197.481]],["content/323",[]],["keywords/323",[]],["title/324",[348,1050.764,1337,1197.481]],["content/324",[7,5.712,19,2.798,31,8.501,47,7.32,52,4.632,98,7.329,106,4.911,172,5.403,204,3.877,222,8.757,248,5.498,249,5.345,251,5.787,265,6.441,276,9.537,312,6.042,348,8.112,371,10.725,400,4.948,493,9.814,975,7.542,1479,7.801,1839,10.725,2286,8.656,2287,9.244,2443,10.098,2654,11.516,2655,11.516,2656,12.365,2657,11.516,2658,11.516]],["keywords/324",[]],["title/325",[248,404.609,2287,1197.481]],["content/325",[14,7.082,52,5.566,103,9.161,113,6.954,191,7.748,222,9.998,248,6.098,493,11.793,864,10.609,937,6.567,1026,11.793,1068,7.895,1079,7.612,1223,14.117,2287,11.108,2656,10.046,2659,13.839,2660,8.637,2661,13.839,2662,13.839,2663,13.839,2664,13.839,2665,3.362,2666,13.839,2667,13.839]],["keywords/325",[]],["title/326",[15,635.327,98,456.236,251,532.846,941,535.224]],["content/326",[4,4.226,5,3.549,10,5.942,14,8.17,15,9.567,16,9.966,50,4.85,55,2.827,96,6.106,98,6.87,103,6.992,111,9.966,122,12.236,125,5.152,136,5.536,163,6.148,167,5.38,179,6.191,184,6.917,234,7.338,244,5.11,248,4.33,268,5.605,567,7.158,569,5.031,638,4.993,712,6.652,734,7.135,1506,7.439,2656,7.667,2668,10.562,2669,10.562,2670,10.562,2671,10.562,2672,10.562,2673,8.275]],["keywords/326",[]],["title/327",[98,456.236,251,532.846,351,446.898,941,535.224]],["content/327",[4,2.471,14,5.316,15,3.7,19,3.267,37,2.816,50,2.836,55,3.6,98,8.719,103,4.088,130,4.178,222,3.175,225,3,248,5.169,249,2.866,251,5.221,252,3.867,254,5.134,257,2.58,261,7.234,265,5.085,312,3.685,351,5.667,494,7.218,626,4.088,638,6.357,649,4.838,681,5.751,779,5.927,799,6.98,854,4.957,941,3.117,975,4.044,1040,6.603,1088,4.35,1143,5.889,1223,9.762,1434,4.483,2287,4.957,2443,10.599,2656,15.445,2674,6.176,2675,5.263,2676,6.176,2677,6.176,2678,5.471,2679,6.176,2680,6.176,2681,6.176,2682,9.675,2683,5.751,2684,5.751]],["keywords/327",[]],["title/328",[98,398.595,204,311.89,222,476.278,251,465.526,941,467.603]],["content/328",[2,1.251,5,0.959,19,1.771,25,1.589,37,1.302,48,1.52,52,1.148,55,1.952,95,1.911,98,3.894,103,1.89,130,2.112,138,1.131,161,3.123,172,1.34,174,2.677,176,1.21,179,1.674,204,0.961,220,1.448,222,3.749,247,2.541,248,1.978,250,2.146,251,2.639,252,4.547,254,7.972,257,3.047,265,1.08,268,2.56,281,3.089,290,1.95,323,0.878,351,1.203,367,2.011,375,2.423,426,1.41,457,1.851,509,4.891,556,2.988,569,4.311,628,4.188,638,2.483,714,14.667,734,7.492,937,6.223,939,4.47,941,1.441,1010,1.984,1062,2.53,1066,3.516,1068,1.629,1105,7.942,1143,2.977,1431,2.237,2109,6.468,2287,4.216,2443,3.633,2585,5.382,2586,5.232,2641,2.659,2656,3.812,2682,6.791,2683,6.791,2684,6.791,2685,5.252,2686,9.05,2687,5.252,2688,2.855,2689,2.855,2690,2.855,2691,2.855,2692,2.855,2693,2.855,2694,2.855,2695,7.292,2696,2.855,2697,2.855,2698,2.855,2699,2.855,2700,11.925,2701,2.855,2702,2.855,2703,2.855,2704,5.252,2705,2.855,2706,2.855,2707,5.252,2708,5.252,2709,2.855,2710,2.855,2711,2.855]],["keywords/328",[]],["title/329",[160,1338.544]],["content/329",[4,7.216,19,4.381,63,15.979,64,13.313,160,12.89,612,7.668,1009,15.369,1646,15.369,2443,11.581,2712,18.035,2713,18.035,2714,16.795,2715,18.035]],["keywords/329",[]],["title/330",[2516,1435.736]],["content/330",[]],["keywords/330",[]],["title/331",[0,1407.705]],["content/331",[5,6.469,8,5.744,10,4.928,16,6.592,19,2.566,37,4.816,41,7.549,68,6.148,81,6.713,101,9.652,114,4.151,135,4.317,141,4.919,172,4.956,179,11.283,180,5.456,244,5.11,257,4.413,375,3.509,454,9.001,490,7.797,638,4.993,712,6.652,731,13.374,734,7.135,955,8.499,957,6.592,1272,8.478,1935,7.338,1971,8.716,2384,9.358,2516,12.24,2527,9.836,2528,9.836,2716,10.562,2717,10.562]],["keywords/331",[]],["title/332",[19,301.124,130,498.58,230,760.623]],["content/332",[5,1.916,10,2.997,19,1.385,24,3.61,25,5.404,27,2.908,52,3.906,55,1.526,89,3.004,101,9.982,105,9.347,108,11.668,114,4.985,116,6.359,138,3.846,139,2.057,141,2.656,143,4.209,162,2.507,172,2.675,174,4.656,180,8.676,252,3.292,254,7.364,281,3.314,304,5.692,312,2.022,375,1.894,426,2.607,512,3.366,567,2.556,642,8.22,712,3.591,731,3.961,774,5.31,880,3.019,886,3.443,955,3.035,969,3.528,1047,8.603,1066,3.817,1080,4.577,1147,6.428,1337,4.577,1512,4.139,2194,5.31,2516,7.444,2718,9.711,2719,5.702,2720,11.237,2721,11.811,2722,5.702,2723,5.702,2724,5.702,2725,5.702,2726,4.859,2727,5.702]],["keywords/332",[]],["title/333",[8,811.322,9,835.248]],["content/333",[8,12.037,9,8.66,14,6.265,19,1.829,24,5.578,27,6.29,102,2.854,135,5.003,145,8.104,162,3.311,174,4.494,180,6.324,187,4.478,191,4.216,197,4.881,247,7.484,249,3.495,255,3.52,273,6.294,344,7.71,375,4.067,538,5.382,542,4.383,556,8.606,603,5.304,673,5.041,695,6.482,796,3.615,802,5.66,844,4.66,946,5.787,1068,4.296,1143,4.269,1221,4.008,1272,6.045,1341,4.296,1350,5.559,1461,6.214,1831,5.041,1896,4.029,2056,6.045,2728,7.531,2729,7.531,2730,12.242,2731,7.531,2732,7.531,2733,7.013]],["keywords/333",[]],["title/334",[249,692.33,1033,1101.212]],["content/334",[]],["keywords/334",[]],["title/335",[249,692.33,1033,1101.212]],["content/335",[2,2.042,5,1.566,10,4.581,24,2.322,27,2.443,29,2.493,34,8.432,50,2.139,68,2.712,98,5.618,106,1.987,121,2.751,129,3.084,138,1.845,162,8.976,163,2.712,173,2.534,174,3.994,236,6.247,244,2.255,249,2.162,251,5.467,268,2.863,273,6.713,296,2.219,331,2.813,375,1.548,383,2.792,407,2.676,410,2.155,457,3.02,533,3.156,537,3.195,549,2.609,556,6.69,558,2.219,595,3.119,606,2.859,688,3.44,694,3.572,695,6.841,734,2.082,778,2.311,811,3.651,859,8.579,941,6.59,960,5.647,1033,3.44,1244,2.962,1320,8.339,1341,2.658,1654,3.971,1827,7.596,2117,9.638,2276,3.845,2673,8.523,2734,14.822,2735,13.105,2736,4.66,2737,4.66,2738,4.66,2739,4.339,2740,4.66,2741,4.66,2742,13.057,2743,4.66,2744,4.66,2745,4.66,2746,4.66,2747,4.66,2748,4.66,2749,4.66,2750,4.66]],["keywords/335",[]],["title/336",[8,811.322,1526,1197.481]],["content/336",[]],["keywords/336",[]],["title/337",[98,533.366,222,637.316,249,575.286]],["content/337",[3,5.593,4,2.119,7,2.627,9,2.965,10,2.814,19,2.214,24,1.507,34,3.922,38,3.277,69,5.043,90,5.569,96,3.061,98,6.134,104,3.149,128,3.545,162,7.065,174,4.405,176,2.245,179,3.104,186,3.587,222,4.686,234,3.679,244,7.775,247,2.562,249,6.616,252,2.004,268,4.212,273,4.686,276,2.965,281,1.807,304,3.104,312,1.878,325,4.06,331,3.198,351,2.232,365,4.06,366,2.467,375,3.028,386,4.263,397,2.776,410,5.549,426,1.422,469,3.305,499,6.639,537,3.632,549,2.965,554,4.716,555,4.513,558,4.342,559,2.93,589,4.513,611,3.632,695,3.82,806,4.513,937,2.513,939,2.616,946,2.503,960,4.731,975,3.468,977,3.545,1177,9.904,1191,3.506,1244,3.366,1320,9.199,1331,3.909,1347,4.932,1855,4.513,2286,3.98,2673,4.149,2734,11.38,2739,4.932,2751,4.513,2752,4.513,2753,5.296,2754,7.768,2755,5.296,2756,5.296,2757,4.932,2758,3.632,2759,8.489]],["keywords/337",[]],["title/338",[172,581.621,375,411.811,957,773.712]],["content/338",[]],["keywords/338",[]],["title/339",[608,1382.483]],["content/339",[4,5.37,52,7.655,55,5.919,106,5.724,130,5.399,135,5.486,149,9.204,162,5.902,186,9.092,248,3.64,312,4.761,397,7.036,426,3.603,491,9.593,505,7.3,508,7.144,593,8.613,608,9.908,694,10.29,949,7.609,975,8.79,1830,17.75,2443,6.686,2760,10.774,2761,11.438,2762,11.438]],["keywords/339",[]],["title/340",[97,966.908,130,600.018]],["content/340",[19,2.047,24,2.398,27,2.524,52,1.945,55,3.587,62,2.015,90,2.244,93,2.91,107,7.287,113,4.234,151,2.032,152,1.741,162,3.705,174,1.775,176,2.05,200,3.407,204,1.628,220,2.452,224,3.789,230,6.87,247,2.34,252,3.943,254,8.006,255,2.261,265,1.829,270,2.12,281,3.821,290,3.128,375,1.607,379,2.815,386,1.446,391,3.104,410,2.236,456,3.238,483,2.221,494,3.36,505,4.583,528,3.708,618,5.708,628,2.777,664,3.317,866,2.943,893,3.36,949,4.777,1118,7.466,1216,1.877,1316,4.583,1322,3.317,1342,3.276,1451,3.36,1501,3.789,1708,6.953,1830,3.882,2001,3.829,2321,3.991,2377,3.991,2431,3.882,2566,3.991,2763,7.466,2764,10.427,2765,8.427,2766,4.285,2767,10.427,2768,4.504,2769,4.504,2770,4.504,2771,4.121,2772,10.427,2773,14.149,2774,2.796,2775,4.504,2776,4.504,2777,4.504,2778,4.504,2779,3.991,2780,4.504,2781,4.504]],["keywords/340",[]],["title/341",[172,699.954,2563,1023.031]],["content/341",[]],["keywords/341",[]],["title/342",[608,1382.483]],["content/342",[4,6.105,52,6.137,135,6.236,149,10.464,162,6.709,248,5.643,312,5.412,397,7.998,505,11.316,593,9.792,608,11.263,799,7.92,949,8.65,975,9.992,1831,13.929,2760,12.248,2761,13.003,2762,13.003,2782,15.259,2783,12.591]],["keywords/342",[]],["title/343",[97,966.908,130,600.018]],["content/343",[4,2.541,19,3.334,55,1.7,93,2.194,162,2.793,252,4.25,254,8.384,255,2.969,265,4.022,281,3.63,290,6.635,323,5.498,628,6.108,638,3.002,667,3.777,871,4.412,893,4.412,949,3.6,1041,11.155,1216,2.466,1283,3.647,1362,4.076,1651,9.064,1683,3.835,1809,4.869,2329,5.412,2594,15.834,2626,5.915,2763,5.627,2784,4.976,2785,17.872,2786,5.915,2787,9.906,2788,5.915,2789,6.351,2790,6.351,2791,6.351,2792,6.351,2793,6.351,2794,6.351,2795,6.351,2796,6.351,2797,5.915,2798,4.037]],["keywords/343",[]],["title/344",[1316,1018.549]],["content/344",[14,4.782,19,3.531,24,5.077,27,4.354,33,6.33,42,8.09,50,4.291,90,4.337,107,5.082,113,4.696,151,6.109,174,3.431,187,5.557,191,5.232,200,6.582,204,3.146,220,4.738,223,6.256,247,4.522,290,3.469,296,4.451,301,5.997,379,5.439,386,4.347,393,7.024,410,4.321,426,2.509,456,9.731,492,6.186,505,7.905,528,7.164,618,6.33,620,7.024,740,5.17,800,7.024,1316,9.702,1501,7.321,1683,5.643,1831,9.731,2377,7.711,2431,7.501,2563,9.968,2566,7.711,2799,8.703,2800,8.703,2801,8.703,2802,8.703]],["keywords/344",[]],["title/345",[130,753.275]],["content/345",[4,2.523,19,3.882,24,3.009,27,1.889,42,3.51,52,2.536,55,1.688,93,2.178,130,2.536,161,6.288,162,2.773,190,5.688,200,7.448,220,3.198,225,3.064,247,3.051,252,3.513,254,7.892,276,5.92,281,5.454,290,5.068,296,3.004,301,4.047,378,4.835,386,1.886,512,3.723,585,4.74,628,9.177,949,5.994,1316,3.43,1322,4.325,1341,3.598,1501,8.284,1683,3.808,1809,4.835,1831,4.222,2330,5.374,2444,4.998,2563,9.363,2784,4.941,2786,9.847,2787,17.939,2788,12.715,2803,9.847,2804,6.306,2805,10.574,2806,5.873,2807,9.847,2808,6.306,2809,6.306,2810,6.306,2811,6.306]],["keywords/345",[]],["title/346",[351,628.744,612,634.27]],["content/346",[4,2.926,10,1.626,19,0.696,24,1.499,34,2.266,55,2.839,69,2.914,84,4.962,89,2.775,90,2.444,98,3.904,138,1.134,161,1.703,162,2.316,174,3.893,195,3.18,244,2.549,247,3.538,249,1.329,251,2.647,252,2.627,254,8.226,255,1.339,265,4.519,268,2.567,270,2.309,273,1.473,281,1.798,290,1.955,295,2.244,351,3.082,386,0.857,483,1.315,530,3.912,554,3.566,556,2.159,558,4.322,592,3.71,595,3.526,612,3.109,669,2.538,670,1.821,674,8.095,695,5.953,723,1.415,772,2.668,937,1.359,939,1.415,941,2.659,960,2.734,1176,2.153,1177,7.368,1180,2.196,1186,2.153,1187,2.196,1257,2.538,1258,4.489,1335,7.699,1341,3.005,1723,2.153,1786,3.11,2575,2.441,2613,4.905,2734,6.874,2812,2.864,2813,2.864,2814,2.538,2815,2.864,2816,2.864,2817,2.864,2818,2.864,2819,2.864,2820,2.864,2821,2.668,2822,2.864,2823,2.864,2824,2.864,2825,5.267,2826,5.267,2827,5.267,2828,2.864,2829,7.312,2830,2.864,2831,7.312,2832,2.864,2833,2.864,2834,2.668,2835,2.864,2836,5.267,2837,14.205,2838,10.606,2839,5.267,2840,3.659,2841,5.267,2842,5.267,2843,5.267,2844,9.073]],["keywords/346",[]],["title/347",[172,581.621,375,411.811,2733,1154.419]],["content/347",[]],["keywords/347",[]],["title/348",[608,1382.483]],["content/348",[4,1.746,19,1.87,24,2.191,27,1.307,52,4.156,55,4.54,62,1.818,90,2.025,93,2.659,106,1.861,107,6.778,113,2.193,130,1.755,135,3.147,149,2.992,151,1.834,152,1.571,162,4.543,174,1.602,176,1.85,186,2.955,204,1.469,220,2.212,224,3.418,230,6.34,247,2.111,248,1.183,252,2.271,254,7.845,255,2.04,265,1.65,270,1.912,281,3.526,290,2.858,312,1.548,375,1.45,379,2.54,386,1.305,391,2.8,397,2.287,410,3.56,426,1.171,483,2.003,491,3.118,494,3.031,505,5.619,528,3.345,593,2.8,608,3.221,618,5.215,628,5.933,664,2.992,694,3.345,866,2.656,893,3.031,949,5.857,975,2.857,1018,2.992,1118,6.822,1216,1.694,1316,2.373,1322,2.992,1342,2.955,1451,3.031,1501,3.418,2001,3.533,2321,3.601,2443,2.174,2468,4.063,2760,3.502,2761,3.718,2762,3.718,2764,9.622,2766,3.866,2767,9.622,2768,4.063,2769,4.063,2770,4.063,2771,3.718,2772,9.622,2773,13.247,2774,2.522,2775,4.063,2776,4.063,2777,4.063,2778,4.063,2779,3.601,2780,4.063,2781,4.063,2845,11.043,2846,7.699]],["keywords/348",[]],["title/349",[14,763.395,172,699.954]],["content/349",[]],["keywords/349",[]],["title/350",[608,1382.483]],["content/350",[4,6.211,52,6.244,135,6.345,149,10.646,248,5.71,312,5.506,397,8.138,505,11.45,593,9.962,608,11.459,734,6.937,799,8.058,946,9.952,949,8.8,975,10.166,1079,8.539,2760,12.461,2761,13.229,2762,13.229]],["keywords/350",[]],["title/351",[97,966.908,130,600.018]],["content/351",[4,3.065,8,4.166,19,3.015,24,2.18,55,2.05,93,2.646,125,3.736,162,3.368,252,4.9,254,8.143,255,3.581,265,4.693,281,2.614,290,5.809,323,3.818,391,4.916,438,9.515,469,4.781,484,5.322,628,4.399,638,3.621,667,4.555,705,8.512,876,4.189,949,4.342,1041,12.341,1216,4.818,1342,5.189,2192,14.573,2763,6.787,2784,6.001,2797,7.134,2847,6.787,2848,11.559,2849,6.787,2850,7.66,2851,7.66,2852,7.66,2853,12.413,2854,6.528,2855,7.66]],["keywords/351",[]],["title/352",[1316,1018.549]],["content/352",[14,9.129,19,3.531,24,5.077,27,4.354,33,6.33,42,8.09,50,4.291,90,4.337,107,5.082,113,4.696,151,6.109,174,3.431,187,5.557,191,5.232,200,6.582,204,3.146,220,4.738,223,6.256,247,4.522,290,3.469,296,4.451,301,5.997,379,5.439,386,4.347,393,7.024,410,4.321,426,2.509,456,9.731,492,6.186,505,7.905,528,7.164,618,6.33,620,7.024,740,5.17,800,7.024,946,6.871,1316,9.702,1501,7.321,1683,5.643,2377,7.711,2431,7.501,2566,7.711,2799,8.703,2800,8.703,2801,8.703,2802,8.703]],["keywords/352",[]],["title/353",[130,753.275]],["content/353",[4,2.655,14,7.245,19,4.007,24,3.14,27,1.987,42,3.692,52,2.669,55,1.776,93,2.291,130,2.669,161,6.56,162,2.917,190,5.934,200,7.77,220,3.364,225,3.223,247,3.21,252,2.425,254,7.977,276,6.176,281,5.63,290,5.256,296,3.16,301,4.258,378,5.086,386,1.984,512,3.917,585,4.987,628,11.348,946,3.136,949,6.253,951,5.878,1316,3.608,1322,4.55,1341,3.785,1501,8.642,1683,4.006,2330,5.654,2444,5.215,2784,5.198,2803,10.273,2806,6.179,2807,10.273,2848,17.053,2849,5.878,2856,6.635,2857,11.031,2858,6.635,2859,6.635]],["keywords/353",[]],["title/354",[172,699.954,375,495.595]],["content/354",[]],["keywords/354",[]],["title/355",[172,699.954,603,1050.764]],["content/355",[2,5.806,3,6.265,7,3.001,27,6.799,42,5.682,43,3.187,47,3.845,49,10.672,54,3.921,90,4.739,113,3.04,130,2.433,138,2.396,162,2.66,167,5.201,172,11.459,225,2.939,244,2.927,301,12.1,375,5.17,383,3.625,386,1.809,407,7.607,410,4.722,444,3.29,508,3.22,556,4.184,603,14.136,604,14.19,701,4.74,712,3.81,971,4.005,977,4.05,1018,4.149,1148,4.992,1422,4.466,1725,4.992,2377,8.426,2400,4.392,2860,5.36,2861,6.05,2862,6.05,2863,6.05,2864,4.392,2865,6.05,2866,6.05,2867,6.05,2868,5.36,2869,4.74,2870,6.05]],["keywords/355",[]],["title/356",[19,301.124,27,371.279,604,707.218]],["content/356",[2,2.021,3,2.83,4,3.234,5,1.55,8,2.508,10,3.331,19,1.963,24,5.99,27,3.232,34,1.984,37,2.103,38,2.853,47,2.931,48,2.454,52,1.855,70,3.535,83,2.614,88,3.087,93,8.845,125,2.249,130,1.855,135,3.303,137,2.722,138,5.133,139,1.664,141,2.148,164,4.294,167,2.349,176,1.955,181,5.293,220,2.338,224,3.613,225,2.24,230,4.96,236,4.642,247,6.272,264,3.02,369,7.4,375,1.532,410,2.132,439,3.404,441,3.93,456,3.087,524,4.498,667,2.742,680,4.294,802,3.466,869,3.404,877,1.875,946,2.18,977,3.087,1031,3.348,1041,2.878,1052,4.086,1268,4.086,1397,3.805,1427,4.086,1462,4.086,1506,10.383,1512,3.348,1603,16.619,1613,3.535,1651,3.93,1779,4.086,1828,3.93,1956,4.086,2581,4.294,2766,4.086,2849,14.377,2868,4.086,2871,10.791,2872,2.307,2873,8.083,2874,4.611,2875,8.083,2876,7.527,2877,4.611,2878,8.083,2879,4.294,2880,4.611,2881,4.611,2882,4.611,2883,4.611,2884,4.611,2885,4.294]],["keywords/356",[]],["title/357",[90,692.33,172,699.954]],["content/357",[19,3.075,26,6.774,90,8.471,104,7.529,195,7.644,244,11.336,261,6.81,312,4.49,375,4.206,386,7.006,410,5.854,423,9.19,469,7.902,556,7.48,611,8.682,649,9.919,844,7.834,881,2.41,955,6.739,1018,12.517,2734,8.206,2886,15.062,2887,12.66,2888,12.66,2889,10.789]],["keywords/357",[]],["title/358",[844,1158.872]],["content/358",[19,3.075,90,12.008,138,7.229,153,6.449,163,7.369,167,6.449,172,5.94,211,11.382,247,8.832,313,9.19,386,3.786,423,13.251,524,7.046,556,5.188,844,11.295,881,2.41,1010,8.796,1117,8.682,1191,8.381,1244,8.047,1371,9.705,2890,11.79,2891,9.705]],["keywords/358",[]],["title/359",[881,356.527]],["content/359",[19,2.136,47,5.589,54,8.982,90,11.326,126,7.623,130,5.574,138,6.793,143,6.49,172,4.125,211,11.441,220,4.458,244,4.254,247,9.419,254,2.566,386,4.144,410,4.066,423,14.131,424,9.628,483,4.037,492,5.82,844,12.045,881,3.706,1010,6.108,1216,3.413,1284,8.188,1369,7.79,1371,6.74,1825,7.79,2331,7.493,2510,8.188,2891,6.74,2892,8.188,2893,8.793,2894,8.793]],["keywords/359",[]],["title/360",[2889,1596.012]],["content/360",[19,3.771,90,9.77,138,8.337,211,10.228,247,7.511,386,6.295,410,9.736,469,9.69,535,10.934,770,13.754,923,13.229,1010,10.785,1479,10.515,2889,13.229,2895,15.524,2896,15.524,2897,14.457]],["keywords/360",[]],["title/361",[244,721.825,386,446.084]],["content/361",[4,2.939,5,5.898,7,3.643,10,5.971,14,6.138,19,1.784,27,2.2,37,3.349,47,4.668,52,2.954,56,4.401,68,4.275,93,2.537,106,3.132,126,4.04,130,2.954,135,3.002,162,3.229,179,8.912,204,2.473,236,8.731,244,3.554,333,6.507,353,5.896,366,7.082,386,5.248,400,2.133,410,5.547,514,5.896,542,6.982,556,3.01,590,4.545,591,5.754,649,5.754,685,5.422,695,3.078,704,5.249,731,5.103,734,3.282,796,3.526,811,5.754,862,5.628,953,6.84,984,12.546,987,6.507,1141,5.754,1331,5.422,1342,4.975,1398,5.896,1420,6.507,1508,6.507,1822,10.222,2261,4.917,2566,6.061,2734,4.76,2759,6.84,2898,7.345,2899,7.345,2900,7.345,2901,7.345,2902,7.345,2903,7.345,2904,7.345]],["keywords/361",[]],["title/362",[172,581.621,642,803.444,1341,707.218]],["content/362",[]],["keywords/362",[]],["title/363",[296,710.592,1341,851.104]],["content/363",[3,5.19,14,4.329,24,3.826,27,6.226,138,6.623,174,4.934,195,8.116,211,4.109,296,11.814,298,8.628,301,10.732,348,5.958,360,6.358,375,2.81,386,5.001,410,6.215,445,5.877,452,5.148,556,5.508,558,7.966,559,4.68,604,10.869,695,5.632,869,6.244,977,12.753,1223,9.757,1341,9.541,2834,12.517,2905,7.878,2906,7.495,2907,8.459]],["keywords/363",[]],["title/364",[2908,1744.142]],["content/364",[]],["keywords/364",[]],["title/365",[55,501.321]],["content/365",[2909,19.263,2910,19.263,2911,22.604,2912,18.652]],["keywords/365",[]],["title/366",[638,885.325]],["content/366",[13,11.464,19,4.673,93,4.707,106,5.811,139,8.044,153,6.941,176,5.777,190,7.331,244,6.594,248,3.696,271,7.878,290,5.059,364,8.832,426,3.658,465,8.362,778,6.759,972,11.613,973,10.243,1025,16.394,1095,10.676,1105,6.192,1887,6.594,2913,12.691,2914,10.939]],["keywords/366",[]],["title/367",[72,925.008]],["content/367",[50,8.281,230,11.066,247,12.448,459,12.529,972,15.369,973,13.556,1079,9.92,1095,14.129,2915,16.795,2916,18.035,2917,18.035,2918,14.882]],["keywords/367",[]],["title/368",[2919,1060.364,2920,656.117,2921,525.94,2922,515.126]],["content/368",[]],["keywords/368",[]],["title/369",[400,544.017]],["content/369",[14,10.503,204,6.91,504,11.355,2391,18.184,2923,17.49,2924,20.524,2925,19.113,2926,20.524]],["keywords/369",[]],["title/370",[2920,656.117,2921,525.94,2927,1060.364,2928,417.798]],["content/370",[]],["keywords/370",[]],["title/371",[399,334.114,881,283.991]],["content/371",[90,7.464,139,5.802,271,9.298,312,5.705,358,10.647,386,4.809,776,9.298,778,7.978,881,4.105,1249,12.33,1353,9.712,2920,9.952,2929,11.873,2930,10.223,2931,16.084,2932,16.084,2933,6.984,2934,11.03,2935,16.084]],["keywords/371",[]],["title/372",[400,544.017]],["content/372",[204,7.808,2936,20.548,2937,23.192]],["keywords/372",[]],["title/373",[386,446.084,2001,510.148]],["content/373",[90,9.984,176,9.12,312,7.631,877,8.745,1143,12.196,1353,12.99]],["keywords/373",[]],["title/374",[2920,656.117,2933,460.433,2938,1060.364,2939,718.229]],["content/374",[]],["keywords/374",[]],["title/375",[399,334.114,881,283.991]],["content/375",[535,15.921,881,4.303,2940,15.132,2941,22.604]],["keywords/375",[]],["title/376",[2920,656.117,2933,460.433,2939,718.229,2942,1060.364]],["content/376",[]],["keywords/376",[]],["title/377",[366,694.839,862,699.954]],["content/377",[139,7.953,204,7.422,911,16.003,2943,17.696,2944,22.046]],["keywords/377",[]],["title/378",[2920,656.117,2933,460.433,2945,1060.364,2946,621.508]],["content/378",[]],["keywords/378",[]],["title/379",[399,334.114,881,283.991]],["content/379",[98,8.261,249,8.91,268,6.739,351,8.092,796,9.216,881,3.655,1224,11.88,2920,11.88,2933,8.337,2947,19.199,2948,19.199]],["keywords/379",[]],["title/380",[400,544.017]],["content/380",[13,9.871,19,4.664,204,6.464,271,11.099,1088,13.523,1316,10.441,2798,12.203,2920,11.88,2933,8.337,2949,19.199,2950,19.199]],["keywords/380",[]],["title/381",[400,544.017]],["content/381",[37,9.358,252,4.512,1155,12.03,2349,19.113,2920,12.7,2933,8.912,2951,20.524,2952,20.524]],["keywords/381",[]],["title/382",[400,544.017]],["content/382",[19,5.226,204,7.243,351,9.067,2953,18.334,2954,19.061,2955,21.514]],["keywords/382",[]],["title/383",[2920,656.117,2928,417.798,2933,460.433,2956,1060.364]],["content/383",[]],["keywords/383",[]],["title/384",[399,334.114,881,283.991]],["content/384",[14,10.041,93,6.777,152,7.063,307,9.139,407,11.268,2920,12.141,2928,7.731,2957,19.621,2958,19.621,2959,12.357]],["keywords/384",[]],["title/385",[399,334.114,881,283.991]],["content/385",[19,4.381,139,6.506,204,6.072,395,11.938,426,4.842,593,11.573,666,10.037,880,9.55,881,3.433,942,8.195,1105,8.195,2342,9.863,2960,18.035,2961,18.035]],["keywords/385",[]],["title/386",[400,544.017]],["content/386",[799,11.733,1221,12.031,2660,14.108,2962,22.604]],["keywords/386",[]],["title/387",[1266,612.987,2920,656.117,2928,417.798,2963,1060.364]],["content/387",[]],["keywords/387",[]],["title/388",[399,334.114,881,283.991]],["content/388",[14,11.281,881,4.197,2964,16.9,2965,22.046,2966,22.046]],["keywords/388",[]],["title/389",[2920,656.117,2928,417.798,2934,727.149,2967,1060.364]],["content/389",[]],["keywords/389",[]],["title/390",[399,334.114,881,283.991]],["content/390",[19,4.829,151,8.355,290,5.302,386,4.271,595,9.561,734,6.382,881,2.719,1506,10.059,2342,10.873,2444,6.751,2920,8.837,2928,5.627,2964,15.24,2968,14.282,2969,14.282,2970,14.282,2971,9.078,2972,7.308,2973,13.3,2974,14.282,2975,12.654,2976,14.282,2977,14.282]],["keywords/390",[]],["title/391",[386,446.084,2001,510.148]],["content/391",[4,6.321,19,3.838,69,8.741,77,8.793,145,10.458,151,6.64,152,5.687,153,8.047,297,13.037,410,7.306,469,9.861,734,7.06,2342,8.641,2964,12.112,2973,14.713,2978,15.799,2979,15.799,2980,15.799,2981,15.799,2982,15.799,2983,12.378]],["keywords/391",[]],["title/392",[2920,656.117,2928,417.798,2971,673.976,2984,1060.364]],["content/392",[]],["keywords/392",[]],["title/393",[399,334.114,881,283.991]],["content/393",[323,6.954,666,12.58,881,4.303,2985,22.604]],["keywords/393",[]],["title/394",[2920,656.117,2928,417.798,2971,673.976,2986,1060.364]],["content/394",[]],["keywords/394",[]],["title/395",[399,334.114,881,283.991]],["content/395",[216,13.171,311,15.15,386,6.137,2920,12.7,2928,8.087,2971,13.045,2987,20.524,2988,20.524]],["keywords/395",[]],["title/396",[399,334.114,881,283.991]],["content/396",[151,9.041,881,4.096,966,15.618,2989,21.514,2990,21.514,2991,21.514]],["keywords/396",[]],["title/397",[400,544.017]],["content/397",[2,8.238,106,8.014,151,7.898,290,6.977,1506,13.238,2920,11.63,2928,7.405,2992,18.795,2993,16.016,2994,18.795,2995,18.795,2996,11.261]],["keywords/397",[]],["title/398",[400,544.017]],["content/398",[14,10.266,189,13.938,204,6.755,252,4.41,426,5.386,2381,12.752,2997,17.775,2998,20.063,2999,20.063]],["keywords/398",[]],["title/399",[2920,656.117,2928,417.798,3000,1060.364,3001,757.842]],["content/399",[]],["keywords/399",[]],["title/400",[399,334.114,881,283.991]],["content/400",[101,7.797,204,5.836,307,8.074,379,10.089,740,9.59,874,9.889,942,7.877,1676,13.029,1887,8.387,2872,8.672,2920,10.726,2928,6.83,3002,13.58,3003,17.334,3004,17.334,3005,17.334]],["keywords/400",[]],["title/401",[399,334.114,881,283.991]],["content/401",[799,11.443,881,4.197,3006,22.046,3007,22.046,3008,22.046]],["keywords/401",[]],["title/402",[400,544.017]],["content/402",[204,6.91,799,10.653,2872,10.268,2920,12.7,2928,8.087,3009,20.524,3010,20.524,3011,20.524]],["keywords/402",[]],["title/403",[400,544.017]],["content/403",[204,7.61,969,13.987,3012,21.051,3013,22.604]],["keywords/403",[]],["title/404",[1224,656.117,2920,656.117,3014,1060.364,3015,445.613]],["content/404",[]],["keywords/404",[]],["title/405",[399,334.114,881,283.991]],["content/405",[52,8.449,101,9.45,740,11.622,886,12.684,1928,15.79,3016,19.564,3017,21.008]],["keywords/405",[]],["title/406",[2920,656.117,3015,445.613,3018,1060.364,3019,687.258]],["content/406",[]],["keywords/406",[]],["title/407",[399,334.114,881,283.991]],["content/407",[19,4.986,307,9.559,881,3.907,955,10.924,1319,13.045,1887,9.931,3020,15.427,3021,20.524]],["keywords/407",[]],["title/408",[2920,656.117,2921,525.94,3015,445.613,3022,1060.364]],["content/408",[]],["keywords/408",[]],["title/409",[399,334.114,881,283.991]],["content/409",[559,10.855,881,3.735,927,14.244,942,8.916,1867,12.849,2920,12.141,2959,12.357,3023,19.621,3024,19.621,3025,9.106]],["keywords/409",[]],["title/410",[399,334.114,881,283.991]],["content/410",[10,4.965,19,3.907,102,8.172,114,8.474,136,8.431,211,7.814,298,7.284,483,7.385,598,10.767,612,6.838,881,4.63,3026,16.084,3027,4.694,3028,16.084,3029,13.706,3030,16.084]],["keywords/410",[]],["title/411",[386,446.084,2001,510.148]],["content/411",[152,7.562,312,7.451,2872,10.51,2934,14.406,3031,21.008,3032,21.008,3033,9.714]],["keywords/411",[]],["title/412",[400,544.017]],["content/412",[2342,12.362,3034,19.263,3035,16.686,3036,22.604]],["keywords/412",[]],["title/413",[1283,608.91,2872,530.506,3033,490.332,3037,1060.364]],["content/413",[]],["keywords/413",[]],["title/414",[399,334.114,881,283.991]],["content/414",[298,9.743,604,12.274,881,4.096,955,11.451,2400,15.618,3038,21.514]],["keywords/414",[]],["title/415",[2872,530.506,2928,417.798,3033,490.332,3039,1060.364]],["content/415",[]],["keywords/415",[]],["title/416",[399,334.114,881,283.991]],["content/416",[28,8.498,90,9.984,244,10.41,881,4.096,955,11.451,3040,21.514]],["keywords/416",[]],["title/417",[2872,530.506,3015,445.613,3033,490.332,3041,1060.364]],["content/417",[]],["keywords/417",[]],["title/418",[399,334.114,881,283.991]],["content/418",[225,10.205,1139,11.834,1194,15.25,1651,17.902,2929,15.507,3042,16.863,3043,21.008]],["keywords/418",[]],["title/419",[1283,608.91,1754,525.94,3033,490.332,3044,1060.364]],["content/419",[]],["keywords/419",[]],["title/420",[399,334.114,881,283.991]],["content/420",[426,5.267,881,3.735,1040,12.472,1754,9.732,2443,9.774,2568,16.721,2921,9.732,3033,9.073,3045,19.621,3046,19.621]],["keywords/420",[]],["title/421",[400,544.017]],["content/421",[204,7.61,937,10.726,2563,15.501,3047,22.604]],["keywords/421",[]],["title/422",[1754,525.94,2921,525.94,3033,490.332,3048,1060.364]],["content/422",[]],["keywords/422",[]],["title/423",[399,334.114,881,283.991]],["content/423",[53,10.268,152,7.388,160,14.669,1754,10.18,2921,10.18,3033,9.491,3049,20.524,3050,20.524]],["keywords/423",[]],["title/424",[400,544.017]],["content/424",[204,8.257,351,8.27,937,9.31,1216,7.617,1283,11.268,3033,9.073,3051,16.721,3052,19.621,3053,19.621]],["keywords/424",[]],["title/425",[400,544.017]],["content/425",[28,8.498,138,8.52,439,15.881,673,14.402,957,13.428,3054,21.514]],["keywords/425",[]],["title/426",[1155,621.508,1216,411.615,3033,490.332,3055,1060.364]],["content/426",[]],["keywords/426",[]],["title/427",[399,334.114,881,283.991]],["content/427",[211,10.452,298,9.743,881,4.096,2758,14.753,2860,19.061,3056,21.514]],["keywords/427",[]],["title/428",[1216,411.615,2921,525.94,3033,490.332,3057,1060.364]],["content/428",[]],["keywords/428",[]],["title/429",[399,334.114,881,283.991]],["content/429",[19,4.766,569,9.346,881,3.735,1216,7.617,2758,13.456,2840,13.632,3015,8.246,3033,9.073,3058,19.621,3059,19.621]],["keywords/429",[]],["title/430",[400,544.017]],["content/430",[54,13.616,81,13.353,102,7.962,130,10.289,204,7.073,3060,21.008]],["keywords/430",[]],["title/431",[3033,490.332,3061,1060.364,3062,542.605,3063,630.57]],["content/431",[]],["keywords/431",[]],["title/432",[399,334.114,881,283.991]],["content/432",[248,5.698,249,9.749,328,16.863,426,5.64,881,3.999,2443,10.465,3064,21.008]],["keywords/432",[]],["title/433",[366,694.839,862,699.954]],["content/433",[19,5.226,85,10.626,248,5.835,556,8.816,2223,15.881,3065,21.514]],["keywords/433",[]],["title/434",[3015,445.613,3033,490.332,3062,542.605,3066,1060.364]],["content/434",[]],["keywords/434",[]],["title/435",[399,334.114,881,283.991]],["content/435",[107,9.808,152,8.369,153,9.186,181,11.81,949,10.223,2758,12.368,3033,8.34,3067,18.035,3068,18.035,3069,18.035,3070,18.035,3071,8.34,3072,10.647]],["keywords/435",[]],["title/436",[400,544.017]],["content/436",[19,4.566,95,12.582,204,6.328,252,4.131,312,6.666,426,5.046,2443,9.362,2601,13.433,3002,14.724,3073,18.795,3074,18.795,3075,18.795]],["keywords/436",[]],["title/437",[3033,490.332,3071,490.332,3076,1060.364,3077,680.462]],["content/437",[]],["keywords/437",[]],["title/438",[3078,1338.544]],["content/438",[19,4.13,135,6.949,141,7.92,211,8.26,941,11.293,1866,11.517,2443,8.47,3033,7.863,3063,10.112,3071,7.863,3079,17.004,3080,17.004,3081,15.065,3082,17.004,3083,17.004,3084,17.004]],["keywords/438",[]],["title/439",[400,544.017]],["content/439",[7,9.732,50,9.009,204,6.606,447,16.191,880,10.39,1283,11.268,3033,9.073,3071,9.073,3085,19.621,3086,19.621]],["keywords/439",[]],["title/440",[400,544.017]],["content/440",[257,9.212,877,8.961,2137,13.76,3035,16.273,3087,22.046]],["keywords/440",[]],["title/441",[386,446.084,2001,510.148]],["content/441",[11,6.386,100,11.756,877,7.976,2381,12.472,2444,9.275,3033,9.073,3035,14.484,3071,9.073,3088,19.621,3089,12.141]],["keywords/441",[]],["title/442",[400,544.017]],["content/442",[95,13.135,204,6.606,1224,12.141,3033,9.073,3071,9.073,3090,21.73,3091,19.621,3092,19.621,3093,19.621]],["keywords/442",[]],["title/443",[400,544.017]],["content/443",[95,13.135,204,6.606,612,8.342,3033,9.073,3071,9.073,3094,17.384,3095,16.721,3096,19.621,3097,19.621,3098,10.185]],["keywords/443",[]],["title/444",[399,334.114,881,283.991]],["content/444",[52,7.123,90,5.636,504,6.718,511,6.679,518,7.118,850,12.657,886,7.332,927,8.815,1629,10.348,1910,7.579,2273,10.02,3099,17.154,3100,12.144,3101,12.144,3102,24.522,3103,12.144,3104,12.144,3105,12.144,3106,12.144,3107,12.144,3108,12.144,3109,12.144,3110,12.144]],["keywords/444",[]],["title/445",[400,544.017]],["content/445",[98,9.485,204,7.422,960,11.443,2500,17.271,3111,22.046]],["keywords/445",[]],["title/446",[3033,490.332,3071,740.529,3112,1060.364]],["content/446",[]],["keywords/446",[]],["title/447",[399,334.114,881,283.991]],["content/447",[19,5.103,141,9.785,248,5.698,323,6.462,351,8.854,1655,15.79,3113,21.008]],["keywords/447",[]],["title/448",[2922,515.126,3033,490.332,3071,490.332,3114,1060.364]],["content/448",[]],["keywords/448",[]],["title/449",[399,334.114,881,283.991]],["content/449",[29,11.24,114,8.256,122,13.353,204,7.073,379,12.227,1480,12.89,3115,21.008]],["keywords/449",[]],["title/450",[2921,525.94,3033,490.332,3071,490.332,3116,1060.364]],["content/450",[]],["keywords/450",[]],["title/451",[399,334.114,881,283.991]],["content/451",[10,7.271,102,6.976,150,8.605,153,9.376,174,6.757,181,12.054,222,9.463,1319,11.7,1887,8.906,3117,18.407,3118,18.407,3119,18.407]],["keywords/451",[]],["title/452",[1266,612.987,2922,515.126,3033,490.332,3120,1060.364]],["content/452",[]],["keywords/452",[]],["title/453",[399,334.114,881,283.991]],["content/453",[53,10.268,138,8.128,513,13.586,2922,9.971,3033,9.491,3072,12.116,3121,20.524,3122,20.524]],["keywords/453",[]],["title/454",[400,544.017]],["content/454",[19,5.103,98,9.039,129,13.906,162,9.237,204,7.073,2758,14.406,3123,21.008]],["keywords/454",[]],["title/455",[386,446.084,2001,510.148]],["content/455",[98,8.442,135,8.019,276,10.986,877,7.976,2922,9.532,2939,13.29,3033,9.073,3124,17.384,3125,19.621,3126,19.621]],["keywords/455",[]],["title/456",[399,334.114,881,283.991]],["content/456",[14,8.538,37,7.608,50,7.661,53,8.348,101,7.506,153,8.499,160,11.925,204,5.618,636,10.325,957,10.414,1994,11.925,2758,11.442,2779,13.769,3127,16.686,3128,15.539,3129,16.686,3130,14.219,3131,16.686]],["keywords/456",[]],["title/457",[612,634.27,2972,763.395]],["content/457",[411,11.359,3132,21.051,3133,21.051,3134,22.604]],["keywords/457",[]],["title/458",[386,446.084,2001,510.148]],["content/458",[212,13.883,273,11.334,411,11.078,3132,20.53,3133,20.53]],["keywords/458",[]],["title/459",[2922,515.126,2996,635.327,3033,490.332,3135,1060.364]],["content/459",[]],["keywords/459",[]],["title/460",[399,334.114,881,283.991]],["content/460",[19,5.103,136,11.012,1092,15.014,3033,9.714,3136,17.902,3137,21.008,3138,21.008]],["keywords/460",[]],["title/461",[2922,515.126,3033,490.332,3063,630.57,3139,1060.364]],["content/461",[]],["keywords/461",[]],["title/462",[399,334.114,881,283.991]],["content/462",[13,10.8,19,5.103,28,8.298,151,8.828,298,9.513,881,3.999,3140,21.008]],["keywords/462",[]],["title/463",[1283,608.91,2922,515.126,3033,490.332,3141,1060.364]],["content/463",[]],["keywords/463",[]],["title/464",[399,334.114,881,283.991]],["content/464",[53,9.817,386,5.867,525,13.632,881,3.735,2922,9.532,2946,11.501,3033,9.073,3142,19.621,3143,19.621,3144,19.621]],["keywords/464",[]],["title/465",[400,544.017]],["content/465",[10,5.801,37,8.57,83,10.654,204,6.328,273,9.663,445,13.057,636,11.63,2922,9.131,2946,11.016,3033,8.691,3145,18.795,3146,18.795]],["keywords/465",[]],["title/466",[400,544.017]],["content/466",[204,6.328,248,5.097,251,9.445,351,7.921,880,9.952,924,15.086,2443,9.362,2922,9.131,3001,13.433,3033,8.691,3147,18.795,3148,18.795]],["keywords/466",[]],["title/467",[400,544.017]],["content/467",[13,11.621,204,7.61,2137,14.108,3149,22.604]],["keywords/467",[]],["title/468",[386,446.084,2001,510.148]],["content/468",[13,10.088,100,11.756,270,8.6,877,7.976,1634,12.988,2137,12.247,2922,9.532,3033,9.073,3089,12.141,3150,19.621]],["keywords/468",[]],["title/469",[400,544.017]],["content/469",[27,6.292,204,7.073,294,15.507,712,13.23,796,10.084,799,10.904,3151,21.008]],["keywords/469",[]],["title/470",[386,446.084,2001,510.148]],["content/470",[139,7.578,796,10.084,2342,11.489,2922,10.205,3033,9.714,3089,12.999,3152,21.008]],["keywords/470",[]],["title/471",[400,544.017]],["content/471",[204,6.464,375,6.378,426,5.154,946,9.076,1220,12.573,1224,11.88,2734,12.444,2922,9.327,3033,8.878,3153,19.199,3154,19.199]],["keywords/471",[]],["title/472",[400,544.017]],["content/472",[12,13.312,160,15.376,3155,18.334,3156,21.514,3157,21.514,3158,21.514]],["keywords/472",[]],["title/473",[2922,515.126,3019,687.258,3033,490.332,3159,1060.364]],["content/473",[]],["keywords/473",[]],["title/474",[399,334.114,881,283.991]],["content/474",[10,6.484,102,7.962,152,7.562,881,3.999,955,11.181,1861,14.797,3160,21.008]],["keywords/474",[]],["title/475",[2872,530.506,2922,515.126,3033,490.332,3161,1060.364]],["content/475",[]],["keywords/475",[]],["title/476",[399,334.114,881,283.991]],["content/476",[2,7.598,98,7.458,204,5.836,331,10.466,504,9.59,796,8.321,881,3.3,1031,12.583,2872,8.672,2922,8.421,3033,8.016,3162,17.334,3163,17.334,3164,16.143,3165,16.143,3166,17.334]],["keywords/476",[]],["title/477",[400,544.017]],["content/477",[68,11.677,100,12.021,106,8.555,204,6.755,874,11.446,1139,11.302,1914,11.598,3167,15.718,3168,20.063]],["keywords/477",[]],["title/478",[386,446.084,2001,510.148]],["content/478",[98,9.039,1754,10.42,2922,10.205,3033,9.714,3169,21.008,3170,18.612,3171,21.008]],["keywords/478",[]],["title/479",[400,544.017]],["content/479",[43,10.813,139,7.404,204,6.91,979,11.635,982,11.635,1887,9.931,3172,20.524,3173,20.524]],["keywords/479",[]],["title/480",[366,694.839,862,699.954]],["content/480",[411,10.082,734,8.965,796,9.631,1040,12.752,1216,7.788,2922,9.746,3033,9.277,3174,20.063,3175,20.063]],["keywords/480",[]],["title/481",[400,544.017]],["content/481",[43,10.115,138,7.603,296,9.145,604,10.953,695,8.045,1341,10.953,2922,9.327,3033,8.878,3098,9.966,3176,19.199,3177,19.199]],["keywords/481",[]],["title/482",[400,544.017]],["content/482",[204,6.606,530,10.499,695,8.222,1341,11.194,2922,9.532,2933,8.52,3033,9.073,3178,16.191,3179,19.621,3180,19.621]],["keywords/482",[]],["title/483",[400,544.017]],["content/483",[19,5.226,290,7.987,410,9.949,946,10.17,2860,19.061,3181,21.514]],["keywords/483",[]],["title/484",[386,446.084,2001,510.148]],["content/484",[135,8.199,276,11.233,877,8.155,2758,13.758,2921,9.951,3033,9.277,3077,12.875,3182,20.063,3183,20.063]],["keywords/484",[]],["title/485",[399,334.114,881,283.991]],["content/485",[13,10.088,174,7.203,290,7.284,307,9.139,955,10.444,1907,12.592,2515,14.023,3164,18.273,3184,19.621,3185,19.621]],["keywords/485",[]],["title/486",[400,544.017]],["content/486",[5,4.51,7,6.657,13,11.369,52,5.399,53,12.038,93,4.636,138,5.315,139,7.977,204,4.519,375,4.459,705,9.204,778,6.657,977,8.985,1000,10.089,1887,6.494,3186,13.422,3187,13.422,3188,10.29,3189,13.422,3190,13.422,3191,13.422,3192,10.774,3193,13.422,3194,13.422]],["keywords/486",[]],["title/487",[386,446.084,2001,510.148]],["content/487",[19,3.979,93,5.657,125,7.99,139,5.909,223,10.965,225,7.957,307,7.629,977,10.965,1907,10.511,2910,13.958,2921,8.124,2996,9.814,3029,13.958,3033,7.574,3170,14.512,3195,12.311,3196,16.379,3197,13.516,3198,16.379]],["keywords/487",[]],["title/488",[399,334.114,881,283.991]],["content/488",[242,10.671,306,10.499,312,6.959,825,8.546,955,10.444,1335,14.244,2443,9.774,3199,19.621,3200,19.621,3201,19.621]],["keywords/488",[]],["title/489",[400,544.017]],["content/489",[25,11.691,37,9.579,120,11.555,188,11.691,204,7.073,3155,17.902,3202,21.008]],["keywords/489",[]],["title/490",[386,446.084,2001,510.148]],["content/490",[98,8.831,120,11.289,312,7.28,351,8.65,488,9.63,1024,13.441,1335,14.899,2443,10.224]],["keywords/490",[]],["title/491",[2921,525.94,3033,490.332,3089,656.117,3203,1060.364]],["content/491",[]],["keywords/491",[]],["title/492",[399,334.114,881,283.991]],["content/492",[27,5.629,249,8.722,251,9.445,375,6.244,558,8.952,604,13.618,881,3.578,937,8.918,2139,14.127,3204,18.795,3205,18.795]],["keywords/492",[]],["title/493",[2921,525.94,3033,490.332,3098,550.39,3206,1060.364]],["content/493",[]],["keywords/493",[]],["title/494",[399,334.114,881,283.991]],["content/494",[98,9.257,351,9.067,881,4.096,1221,11.451,3207,17.753,3208,21.514]],["keywords/494",[]],["title/495",[2921,794.306,3033,490.332,3209,1060.364]],["content/495",[]],["keywords/495",[]],["title/496",[399,334.114,881,283.991]],["content/496",[139,6.926,704,13.722,881,3.655,955,10.219,1139,10.816,2921,12,3033,8.878,3210,17.88,3211,19.199,3212,19.199]],["keywords/496",[]],["title/497",[399,334.114,881,283.991]],["content/497",[188,10.244,204,6.197,375,6.115,569,8.768,1422,13.587,1910,11.489,2726,15.686,2840,12.788,2869,14.421,3213,16.308,3214,18.407,3215,18.407,3216,18.407]],["keywords/497",[]],["title/498",[612,634.27,2972,763.395]],["content/498",[19,5.355,55,5.901,386,6.592,886,13.311,3217,22.046]],["keywords/498",[]],["title/499",[386,446.084,2001,510.148]],["content/499",[135,9.501,191,13.016,511,9.92,518,10.571,877,9.45,1910,11.256,2921,8.945,2933,7.831,3033,8.34,3218,18.035,3219,18.035]],["keywords/499",[]],["title/500",[400,544.017]],["content/500",[98,8.442,189,13.632,204,6.606,248,5.322,2921,9.732,2933,8.52,3033,9.073,3220,17.384,3221,19.621,3222,19.621]],["keywords/500",[]],["title/501",[400,544.017]],["content/501",[2,8.793,172,9.413,452,12.21,567,8.995,2921,9.951,3025,9.311,3033,9.277,3223,20.063,3224,20.063]],["keywords/501",[]],["title/502",[399,334.114,881,283.991]],["content/502",[114,8.664,375,7.324,881,4.197,3225,16.003,3226,22.046]],["keywords/502",[]],["title/503",[612,634.27,2972,763.395]],["content/503",[107,9.808,114,9.137,204,6.072,225,8.761,312,6.397,375,7.723,666,10.037,889,14.129,3227,13.092,3228,18.035,3229,18.035,3230,18.035]],["keywords/503",[]],["title/504",[400,544.017]],["content/504",[10,5.15,23,10.927,24,4.749,43,11.641,114,6.558,137,9.85,204,5.618,323,6.797,375,7.341,445,11.592,850,11.925,3231,16.686,3232,16.686,3233,16.686,3234,16.686]],["keywords/504",[]],["title/505",[386,446.084,2001,510.148]],["content/505",[10,4.143,23,12.464,27,4.02,101,6.038,114,5.275,120,7.383,290,4.983,375,6.323,378,10.29,411,6.745,488,6.298,556,5.5,558,6.393,638,6.345,850,9.593,877,5.456,1362,8.613,1906,10.774,2933,5.828,3033,6.207,3235,13.422,3236,13.422,3237,13.422,3238,13.422,3239,11.438,3240,10.089,3241,13.422,3242,12.5,3243,13.422]],["keywords/505",[]],["title/506",[399,334.114,881,283.991]],["content/506",[881,4.303,3244,21.051,3245,18.144,3246,22.604]],["keywords/506",[]],["title/507",[400,544.017]],["content/507",[19,4.211,43,11.936,137,10.233,139,6.253,204,5.836,660,11.604,788,12.043,1266,10.021,1887,8.387,2413,13.914,2933,7.527,3033,8.016,3247,17.334,3248,17.334,3249,17.334]],["keywords/507",[]],["title/508",[612,634.27,2972,763.395]],["content/508",[28,8.498,37,9.81,52,8.653,152,7.745,628,12.354,3250,21.514]],["keywords/508",[]],["title/509",[386,446.084,2001,510.148]],["content/509",[252,4.313,426,5.267,488,9.206,504,10.855,2933,8.52,2934,13.456,3033,9.073,3251,19.621,3252,19.621,3253,19.621]],["keywords/509",[]],["title/510",[612,634.27,2972,763.395]],["content/510",[98,9.257,152,7.745,3254,20.035,3255,21.514,3256,15.618,3257,21.514]],["keywords/510",[]],["title/511",[400,544.017]],["content/511",[189,15.316,204,7.422,426,5.918,3258,22.046,3259,22.046]],["keywords/511",[]],["title/512",[386,446.084,2001,510.148]],["content/512",[98,8.261,125,9.365,152,8.709,2933,8.337,3033,8.878,3077,12.321,3256,13.937,3260,19.199,3261,19.199,3262,19.199]],["keywords/512",[]],["title/513",[400,544.017]],["content/513",[19,5.226,290,7.987,400,6.249,599,17.269,2972,11.009,3263,21.514]],["keywords/513",[]],["title/514",[386,446.084,2001,510.148]],["content/514",[2,5.973,19,3.31,27,4.082,62,5.678,90,6.324,136,7.143,176,5.777,204,4.588,332,12.64,358,9.021,367,9.598,375,4.527,386,4.075,397,7.143,459,9.467,549,7.63,597,15.071,599,10.939,601,11.245,695,5.71,881,4.611,3264,13.627,3265,13.627,3266,13.627]],["keywords/514",[]],["title/515",[1155,621.508,2933,460.433,3033,490.332,3267,1060.364]],["content/515",[]],["keywords/515",[]],["title/516",[399,334.114,881,283.991]],["content/516",[19,4.766,101,8.826,251,9.86,312,6.959,877,7.976,957,12.247,978,11.847,2516,15.042,2673,15.372,3268,19.621]],["keywords/516",[]],["title/517",[1754,525.94,2933,460.433,3033,490.332,3269,1060.364]],["content/517",[]],["keywords/517",[]],["title/518",[399,334.114,881,283.991]],["content/518",[138,8.319,344,13.23,604,11.985,695,8.803,881,3.999,3270,17.335,3271,21.008]],["keywords/518",[]],["title/519",[1216,411.615,2933,460.433,3033,490.332,3272,1060.364]],["content/519",[]],["keywords/519",[]],["title/520",[399,334.114,881,283.991]],["content/520",[204,6.91,1216,7.967,2933,8.912,3033,9.491,3273,18.184,3274,16.079,3275,20.524,3276,20.524]],["keywords/520",[]],["title/521",[399,334.114,881,283.991]],["content/521",[592,15.153,881,4.096,1905,19.061,3277,21.514,3278,16.855,3279,21.514]],["keywords/521",[]],["title/522",[612,634.27,2972,763.395]],["content/522",[62,9.094,102,6.208,204,5.514,252,3.6,411,8.231,426,4.397,444,8.908,598,10.965,612,6.964,1910,13.623,2342,8.958,2502,13.148,2972,8.382,3280,16.379,3281,16.379,3282,13.516,3283,16.379]],["keywords/522",[]],["title/523",[400,544.017]],["content/523",[5,7.229,29,11.511,204,7.243,255,10.057,270,9.43,3284,21.514]],["keywords/523",[]],["title/524",[386,446.084,2001,510.148]],["content/524",[10,5.567,100,10.806,114,7.088,153,9.186,174,6.621,191,10.097,518,10.571,877,9.45,979,10.223,1910,11.256,2342,9.863,3285,18.035,3286,18.035]],["keywords/524",[]],["title/525",[1216,411.615,2933,460.433,3033,490.332,3287,1060.364]],["content/525",[]],["keywords/525",[]],["title/526",[399,334.114,881,283.991]],["content/526",[49,14.406,375,6.979,667,12.493,859,12.144,2261,14.063,2930,13.353,3288,21.008]],["keywords/526",[]],["title/527",[2921,525.94,2933,460.433,3033,490.332,3289,1060.364]],["content/527",[]],["keywords/527",[]],["title/528",[399,334.114,881,283.991]],["content/528",[146,14.718,216,12.321,375,6.378,586,12.203,740,10.622,881,3.655,2295,17.88,2734,12.444,3290,17.88,3291,19.199,3292,19.199]],["keywords/528",[]],["title/529",[2933,695.373,3033,490.332,3293,1060.364]],["content/529",[]],["keywords/529",[]],["title/530",[399,334.114,881,283.991]],["content/530",[172,8.294,290,6.562,298,8.005,304,10.361,603,12.451,881,3.365,942,8.033,1541,11.834,2933,7.676,3025,8.204,3033,8.174,3294,8.033,3295,17.678,3296,17.678,3297,17.678]],["keywords/530",[]],["title/531",[399,334.114,881,283.991]],["content/531",[89,10.813,146,15.734,172,9.63,603,14.456,881,3.907,1480,12.593,3298,16.936,3299,20.524]],["keywords/531",[]],["title/532",[400,544.017]],["content/532",[5,6.742,19,4.874,101,9.025,172,9.413,179,11.759,204,6.755,638,9.484,957,12.522,3300,20.063]],["keywords/532",[]],["title/533",[2933,460.433,3025,492.094,3033,490.332,3301,1060.364]],["content/533",[]],["keywords/533",[]],["title/534",[399,334.114,881,283.991]],["content/534",[93,7.614,138,8.73,298,9.984,604,12.577,3302,22.046]],["keywords/534",[]],["title/535",[2928,417.798,2959,667.771,3033,490.332,3303,1060.364]],["content/535",[]],["keywords/535",[]],["title/536",[399,334.114,881,283.991]],["content/536",[172,9.413,434,17.097,701,15.718,2650,13.758,2928,7.905,2959,12.635,3033,9.277,3304,20.063,3305,20.063]],["keywords/536",[]],["title/537",[399,334.114,881,283.991]],["content/537",[2,4.859,19,4.023,43,5.841,62,4.62,98,4.77,153,5.647,179,6.498,204,3.733,261,5.964,268,3.892,312,3.932,375,3.683,380,6.694,426,2.976,477,7.51,604,6.325,664,7.603,804,6.92,877,4.507,942,5.038,960,5.755,1574,6.803,1887,5.365,1914,6.409,2342,6.064,2500,8.686,2650,7.603,2734,7.186,2972,5.673,2983,8.686,3298,9.149,3306,11.087,3307,11.087,3308,11.087,3309,11.087,3310,11.087,3311,11.087,3312,11.087,3313,11.087,3314,11.087,3315,11.087,3316,11.087,3317,10.325,3318,11.087]],["keywords/537",[]],["title/538",[400,544.017]],["content/538",[19,2.91,43,6.312,55,3.207,77,6.667,89,6.312,90,5.56,151,5.035,169,5.774,172,8.228,189,8.323,204,4.033,251,6.02,296,5.707,304,7.022,375,5.826,386,3.582,410,5.54,426,4.708,477,8.115,1105,5.444,1861,8.438,3273,10.615,3274,9.386,3298,9.886,3319,11.98,3320,11.98,3321,11.98,3322,11.98,3323,11.98,3324,11.98,3325,11.98,3326,11.157,3327,11.98,3328,11.98,3329,11.98,3330,11.98]],["keywords/538",[]],["title/539",[386,446.084,2001,510.148]],["content/539",[2,7.453,176,7.208,222,8.742,249,7.891,261,9.147,554,6.683,877,6.912,1031,12.343,2342,9.299,3256,12.343,3317,15.835,3331,13.649,3332,17.004,3333,17.004,3334,17.004,3335,17.004,3336,17.004]],["keywords/539",[]],["title/540",[2928,417.798,3033,490.332,3063,630.57,3337,1060.364]],["content/540",[]],["keywords/540",[]],["title/541",[399,334.114,881,283.991]],["content/541",[65,9.646,101,7.506,383,9.997,881,3.176,920,11.925,942,7.582,955,8.881,1042,13.072,1224,10.325,2515,11.925,2928,6.574,3033,7.716,3225,12.113,3227,12.113,3338,16.686,3339,16.686,3340,16.686,3341,16.686]],["keywords/541",[]],["title/542",[400,544.017]],["content/542",[204,6.91,554,8.067,1177,14.259,1216,7.967,3015,8.625,3033,9.491,3342,20.524,3343,20.524]],["keywords/542",[]],["title/543",[400,544.017]],["content/543",[37,9.358,499,11.355,1216,7.967,3015,8.625,3033,9.491,3344,20.524,3345,20.524,3346,20.524]],["keywords/543",[]],["title/544",[399,334.114,881,283.991]],["content/544",[10,6.484,37,9.579,83,11.909,114,8.256,434,17.902,3347,18.612,3348,21.008]],["keywords/544",[]],["title/545",[400,544.017]],["content/545",[2,5.796,10,4.082,19,3.212,24,5.36,27,3.961,28,5.223,43,6.966,83,7.496,93,4.567,98,5.69,102,7.137,137,7.806,138,5.237,140,7.923,151,5.557,204,4.452,296,6.299,298,5.988,317,7.449,376,6.398,386,3.954,2264,10.137,2922,6.424,3015,5.557,3033,6.115,3349,13.223,3350,13.223,3351,13.223,3352,13.223,3353,13.223]],["keywords/545",[]],["title/546",[399,334.114,881,283.991]],["content/546",[204,7.422,306,11.796,942,10.018,3354,22.046,3355,22.046]],["keywords/546",[]],["title/547",[400,544.017]],["content/547",[5,5.94,52,7.11,101,7.952,290,6.562,397,9.266,880,12.152,2721,16.462,2922,8.588,3015,7.429,3033,8.174,3356,17.678,3357,14.19,3358,17.678,3359,17.678]],["keywords/547",[]],["title/548",[399,334.114,881,283.991]],["content/548",[27,4.732,37,7.204,69,8.741,93,5.457,98,6.798,102,5.988,130,6.355,242,11.586,305,10.576,410,7.306,499,8.741,549,8.846,1683,12.864,2161,11.662,3360,15.799,3361,15.799,3362,15.799,3363,15.799,3364,15.799]],["keywords/548",[]],["title/549",[386,446.084,2001,510.148]],["content/549",[169,9.456,176,8.318,242,10.671,252,4.313,877,7.976,3365,19.621,3366,14.023,3367,17.384,3368,17.384,3369,19.621]],["keywords/549",[]],["title/550",[2928,417.798,3015,445.613,3033,490.332,3370,1060.364]],["content/550",[]],["keywords/550",[]],["title/551",[399,334.114,881,283.991]],["content/551",[106,9.401,290,8.184,306,11.796,982,12.497,3371,22.046]],["keywords/551",[]],["title/552",[2928,417.798,3015,445.613,3033,490.332,3372,1060.364]],["content/552",[]],["keywords/552",[]],["title/553",[399,334.114,881,283.991]],["content/553",[141,7.772,191,9.342,373,11.592,881,3.176,890,13.072,2940,11.17,3015,9.286,3033,7.716,3225,12.113,3373,16.686,3374,16.686,3375,16.686,3376,13.072,3377,16.686,3378,15.539,3379,16.686,3380,16.686]],["keywords/553",[]],["title/554",[399,334.114,881,283.991]],["content/554",[881,4.197,3298,18.191,3357,17.696,3381,22.046,3382,22.046]],["keywords/554",[]],["title/555",[400,544.017]],["content/555",[10,3.8,14,9.153,101,9.477,106,5.25,191,6.893,204,4.145,216,7.9,222,6.329,252,2.706,312,4.367,375,4.09,381,7.979,567,5.519,650,9.088,734,5.501,2104,10.491,2617,9.253,2959,7.753,3025,5.713,3033,5.693,3298,10.159,3331,9.882,3357,16.912,3383,12.311,3384,12.311,3385,12.311,3386,11.465,3387,12.311,3388,12.311,3389,12.311,3390,12.311,3391,12.311]],["keywords/555",[]],["title/556",[399,334.114,881,283.991]],["content/556",[14,10.75,200,14.797,312,7.451,955,11.181,3392,19.564,3393,21.008,3394,21.008]],["keywords/556",[]],["title/557",[400,544.017]],["content/557",[77,10.685,98,8.261,204,6.464,518,11.253,1084,13.166,2922,9.327,3025,8.91,3033,8.878,3395,19.199,3396,19.199,3397,19.199]],["keywords/557",[]],["title/558",[400,544.017]],["content/558",[5,6.593,136,10.285,200,13.82,212,12.357,1317,12.988,3392,18.273,3398,19.621,3399,18.273,3400,18.273,3401,19.621]],["keywords/558",[]],["title/559",[2872,530.506,3294,481.837,3402,1060.364,3403,640.247]],["content/559",[]],["keywords/559",[]],["title/560",[399,334.114,881,283.991]],["content/560",[942,9.776,1480,13.201,3404,21.514,3405,21.514,3406,20.035,3407,21.514]],["keywords/560",[]],["title/561",[2872,530.506,3063,630.57,3294,481.837,3408,1060.364]],["content/561",[]],["keywords/561",[]],["title/562",[399,334.114,881,283.991]],["content/562",[5,6.06,24,5.133,138,7.142,139,6.506,307,8.4,330,15.979,979,10.223,1224,11.159,2872,9.023,3294,8.195,3409,15.369,3410,18.035,3411,18.035,3412,18.035]],["keywords/562",[]],["title/563",[400,544.017]],["content/563",[53,11.03,204,7.422,375,7.324,1607,19.532,3413,22.046]],["keywords/563",[]],["title/564",[2798,673.976,2872,530.506,3294,481.837,3414,1060.364]],["content/564",[]],["keywords/564",[]],["title/565",[399,334.114,881,283.991]],["content/565",[975,13.441,1754,10.18,2872,10.268,3294,9.326,3415,16.475,3416,20.524,3417,20.524,3418,20.524]],["keywords/565",[]],["title/566",[400,544.017]],["content/566",[24,5.979,27,6.292,98,9.039,204,7.073,410,9.714,611,14.406,3419,21.008]],["keywords/566",[]],["title/567",[1754,525.94,2872,530.506,3294,481.837,3420,1060.364]],["content/567",[]],["keywords/567",[]],["title/568",[399,334.114,881,283.991]],["content/568",[255,10.057,881,4.096,1135,16.171,3421,21.514,3422,21.514,3423,21.514]],["keywords/568",[]],["title/569",[1216,411.615,2872,530.506,3294,481.837,3424,1060.364]],["content/569",[]],["keywords/569",[]],["title/570",[399,334.114,881,283.991]],["content/570",[312,8.017,375,7.509,556,9.263,3425,22.604]],["keywords/570",[]],["title/571",[1216,411.615,2872,530.506,3294,481.837,3426,1060.364]],["content/571",[]],["keywords/571",[]],["title/572",[399,334.114,881,283.991]],["content/572",[50,9.646,204,7.073,328,16.863,569,10.006,1088,14.797,3427,13.906,3428,21.008]],["keywords/572",[]],["title/573",[1216,411.615,2872,530.506,3294,481.837,3429,1060.364]],["content/573",[]],["keywords/573",[]],["title/574",[399,334.114,881,283.991]],["content/574",[124,11.938,136,9.454,920,12.89,1610,15.369,2872,9.023,2921,8.945,3294,8.195,3430,14.882,3431,18.035,3432,14.882,3433,18.035,3434,18.035,3435,18.035,3436,18.035]],["keywords/574",[]],["title/575",[400,544.017]],["content/575",[43,11.614,204,7.422,2400,16.003,3437,22.046,3438,22.046]],["keywords/575",[]],["title/576",[1754,525.94,3072,625.967,3294,481.837,3439,1060.364]],["content/576",[]],["keywords/576",[]],["title/577",[399,334.114,881,283.991]],["content/577",[28,8.298,102,7.962,151,8.828,178,13.757,298,9.513,881,3.999,3440,21.008]],["keywords/577",[]],["title/578",[1754,525.94,3072,625.967,3294,481.837,3441,1060.364]],["content/578",[]],["keywords/578",[]],["title/579",[399,334.114,881,283.991]],["content/579",[101,9.232,167,10.454,740,11.355,881,3.907,979,11.635,2515,14.669,3386,19.113,3442,20.524]],["keywords/579",[]],["title/580",[1754,525.94,2939,718.229,3294,481.837,3443,1060.364]],["content/580",[]],["keywords/580",[]],["title/581",[399,334.114,881,283.991]],["content/581",[77,11.165,136,10.517,881,3.819,1155,11.759,1754,9.951,3294,9.117,3444,20.063,3445,20.063,3446,20.063]],["keywords/581",[]],["title/582",[399,334.114,881,283.991]],["content/582",[13,7.585,24,4.199,93,7.023,102,7.706,138,5.843,139,7.335,211,7.168,298,11.355,376,7.139,451,11.09,955,7.853,1046,9.053,1866,9.994,2381,9.378,3447,14.754,3448,14.754,3449,14.754,3450,14.754,3451,14.754]],["keywords/582",[]],["title/583",[386,446.084,2001,510.148]],["content/583",[93,7.727,102,6.444,151,7.146,244,8.227,296,8.099,298,11.324,488,10.497,1754,8.434,3098,8.826,3294,7.727,3452,17.004,3453,17.004,3454,17.004]],["keywords/583",[]],["title/584",[400,544.017]],["content/584",[93,6.631,138,7.603,204,6.464,402,12.321,426,5.154,1754,9.523,2400,13.937,3015,8.068,3294,8.724,3455,19.199,3456,19.199]],["keywords/584",[]],["title/585",[399,334.114,881,283.991]],["content/585",[7,9.322,37,8.57,255,8.786,497,12.582,825,8.186,874,10.723,1024,12.308,1139,10.588,3457,17.503,3458,18.795,3459,18.795,3460,18.795]],["keywords/585",[]],["title/586",[400,544.017]],["content/586",[19,4.566,42,10.46,204,6.328,255,8.786,426,5.046,1031,13.643,1135,14.127,1216,7.296,3062,9.618,3294,8.54,3461,18.795,3462,18.795]],["keywords/586",[]],["title/587",[399,334.114,881,283.991]],["content/587",[50,9.878,83,12.196,222,11.061,290,7.987,3463,18.334,3464,21.514]],["keywords/587",[]],["title/588",[400,544.017]],["content/588",[43,11.334,204,7.243,306,11.511,3029,18.334,3465,21.514,3466,21.514]],["keywords/588",[]],["title/589",[1216,411.615,3062,542.605,3294,481.837,3467,1060.364]],["content/589",[]],["keywords/589",[]],["title/590",[399,334.114,881,283.991]],["content/590",[4,7.216,52,7.254,208,14.129,799,9.361,920,12.89,960,9.361,2971,11.463,3098,9.361,3294,8.195,3468,18.035,3469,18.035,3470,16.795,3471,18.035,3472,18.035]],["keywords/590",[]],["title/591",[400,544.017]],["content/591",[85,11.164,162,9.939,204,7.61,3473,22.604]],["keywords/591",[]],["title/592",[3063,630.57,3098,550.39,3294,481.837,3474,1060.364]],["content/592",[]],["keywords/592",[]],["title/593",[399,334.114,881,283.991]],["content/593",[70,14.408,139,6.78,146,14.408,508,10.004,881,3.578,1224,11.63,3002,14.724,3042,15.086,3098,9.756,3294,8.54,3475,18.795,3476,18.795]],["keywords/593",[]],["title/594",[399,334.114,881,283.991]],["content/594",[53,9.209,114,7.234,204,6.197,955,9.797,1084,16.153,1962,15.189,2565,13.587,3477,17.142,3478,18.407,3479,18.407,3480,18.407,3481,18.407]],["keywords/594",[]],["title/595",[400,544.017]],["content/595",[204,5.836,218,10.55,268,6.085,375,5.758,379,10.089,556,7.104,978,10.466,1155,10.16,1928,13.029,1935,15.741,3098,8.997,3294,7.877,3482,17.334,3483,17.334,3484,17.334]],["keywords/595",[]],["title/596",[400,544.017]],["content/596",[98,9.257,204,7.243,265,8.135,1131,13.806,1270,16.855,3485,21.514]],["keywords/596",[]],["title/597",[366,694.839,862,699.954]],["content/597",[37,9.81,530,11.511,1131,13.806,1270,16.855,2085,18.334,3486,21.514]],["keywords/597",[]],["title/598",[3025,492.094,3098,550.39,3294,481.837,3487,1060.364]],["content/598",[]],["keywords/598",[]],["title/599",[399,334.114,881,283.991]],["content/599",[211,9.746,298,9.086,881,3.819,2971,12.752,3062,10.266,3294,9.117,3488,17.775,3489,20.063,3490,20.063]],["keywords/599",[]],["title/600",[400,544.017]],["content/600",[10,4.408,152,9.358,204,4.808,426,3.834,1912,12.171,2500,11.189,2972,7.308,3001,10.207,3062,7.308,3294,6.49,3491,14.282,3492,14.282,3493,14.282,3494,13.3,3495,14.282,3496,13.3,3497,14.282,3498,12.171,3499,14.282,3500,14.282,3501,14.282,3502,14.282,3503,14.282]],["keywords/600",[]],["title/601",[386,446.084,2001,510.148]],["content/601",[55,3.885,72,7.169,98,6.245,101,6.529,152,5.225,504,8.03,511,7.983,518,8.507,740,8.03,886,8.764,1887,9.728,1910,9.059,2342,7.938,3001,10.373,3062,7.427,3294,6.595,3504,24.9,3505,14.514,3506,14.514,3507,14.514,3508,12.369,3509,14.514]],["keywords/601",[]],["title/602",[400,544.017]],["content/602",[114,8.664,204,7.422,1084,15.118,1887,10.667,3510,22.046]],["keywords/602",[]],["title/603",[386,446.084,2001,510.148]],["content/603",[101,7.952,174,6.489,271,10.219,290,6.562,740,12.696,877,7.186,982,10.021,1887,8.553,3062,9.046,3089,10.938,3294,8.033,3331,14.19,3511,17.678,3512,17.678]],["keywords/603",[]],["title/604",[399,334.114,881,283.991]],["content/604",[152,8.137,492,14.963,3513,22.604,3514,22.604]],["keywords/604",[]],["title/605",[400,544.017]],["content/605",[126,11.555,204,7.073,252,4.618,426,5.64,2381,13.353,3515,18.612,3516,21.008]],["keywords/605",[]],["title/606",[3062,819.475,3294,481.837,3517,1060.364]],["content/606",[]],["keywords/606",[]],["title/607",[399,334.114,881,283.991]],["content/607",[136,10.285,881,3.735,942,8.916,1541,13.135,3062,10.041,3071,9.073,3294,8.916,3518,19.621,3519,19.621,3520,19.621]],["keywords/607",[]],["title/608",[400,544.017]],["content/608",[37,10.307,252,4.969,3415,18.144,3521,22.604]],["keywords/608",[]],["title/609",[366,694.839,862,699.954]],["content/609",[5,6.897,29,10.982,152,7.388,160,14.669,211,9.971,971,13.586,1927,12.491,3522,20.524]],["keywords/609",[]],["title/610",[386,446.084,2001,510.148]],["content/610",[100,11.503,136,10.064,593,12.321,2342,10.5,2921,9.523,3062,9.825,3294,8.724,3415,19.42,3523,17.88,3524,19.199]],["keywords/610",[]],["title/611",[399,334.114,881,283.991]],["content/611",[24,6.123,114,8.456,271,12.437,862,10.094,942,9.776,3525,21.514]],["keywords/611",[]],["title/612",[400,544.017]],["content/612",[114,8.456,204,7.243,734,9.613,1935,14.946,3167,16.855,3526,21.514]],["keywords/612",[]],["title/613",[386,446.084,2001,510.148]],["content/613",[176,8.318,268,6.888,569,9.346,877,7.976,979,11.123,3025,9.106,3062,10.041,3294,8.916,3527,19.621,3528,19.621]],["keywords/613",[]],["title/614",[399,334.114,881,283.991]],["content/614",[19,3.12,126,7.064,146,9.845,174,6.77,204,4.324,211,6.239,252,2.823,296,6.117,298,8.352,426,3.448,569,6.117,586,11.722,587,8.807,796,11.321,825,5.594,876,7.024,942,5.836,955,6.836,971,14.284,982,7.28,3529,12.843,3530,12.843,3531,12.843,3532,12.843,3533,12.843,3534,12.843]],["keywords/614",[]],["title/615",[612,634.27,2972,763.395]],["content/615",[50,10.122,296,10.501,411,11.078,3535,18.787,3536,22.046]],["keywords/615",[]],["title/616",[386,446.084,2001,510.148]],["content/616",[169,7.751,180,11.138,211,7.814,296,10.271,298,9.765,876,8.796,877,9.887,979,9.118,3071,7.438,3072,9.495,3294,7.309,3409,13.706,3537,16.084,3538,16.084,3539,16.084]],["keywords/616",[]],["title/617",[399,334.114,881,283.991]],["content/617",[290,7.987,410,9.949,3102,20.035,3195,16.171,3540,21.514,3541,21.514]],["keywords/617",[]],["title/618",[400,544.017]],["content/618",[101,9.45,130,8.449,138,8.319,204,7.073,273,10.8,796,10.084,3542,21.008]],["keywords/618",[]],["title/619",[2996,635.327,3071,490.332,3294,481.837,3543,1060.364]],["content/619",[]],["keywords/619",[]],["title/620",[399,334.114,881,283.991]],["content/620",[4,8.405,25,11.691,95,14.063,426,5.64,2443,10.465,3544,21.008,3545,21.008]],["keywords/620",[]],["title/621",[1224,656.117,3071,490.332,3294,481.837,3546,1060.364]],["content/621",[]],["keywords/621",[]],["title/622",[399,334.114,881,283.991]],["content/622",[16,9.364,50,6.888,85,7.41,95,13.769,106,6.397,351,8.669,426,5.522,825,6.534,881,4.807,1480,9.205,1619,13.292,3547,15.002,3548,15.002,3549,15.002,3550,15.002,3551,15.002,3552,15.002,3553,15.002]],["keywords/622",[]],["title/623",[366,694.839,862,699.954]],["content/623",[25,12.269,174,8.093,734,9.851,1907,14.147,3554,22.046]],["keywords/623",[]],["title/624",[1266,612.987,2922,515.126,3294,481.837,3555,1060.364]],["content/624",[]],["keywords/624",[]],["title/625",[399,334.114,881,283.991]],["content/625",[37,8.947,176,8.318,252,4.313,1024,12.849,2922,9.532,3063,11.668,3294,8.916,3556,19.621,3557,19.621,3558,19.621]],["keywords/625",[]],["title/626",[400,544.017]],["content/626",[43,11.334,204,7.243,1143,12.196,1173,18.334,3559,20.035,3560,21.514]],["keywords/626",[]],["title/627",[2922,515.126,2928,417.798,3294,481.837,3561,1060.364]],["content/627",[]],["keywords/627",[]],["title/628",[399,334.114,881,283.991]],["content/628",[23,12.849,28,7.751,63,17.384,1337,15.75,1866,13.29,3562,17.384,3563,15.042,3564,19.621,3565,17.384,3566,19.621]],["keywords/628",[]],["title/629",[2921,525.94,2959,667.771,3294,481.837,3567,1060.364]],["content/629",[]],["keywords/629",[]],["title/630",[399,334.114,881,283.991]],["content/630",[243,15.132,782,18.652,881,4.303,3568,22.604]],["keywords/630",[]],["title/631",[2921,525.94,2959,667.771,3294,481.837,3569,1060.364]],["content/631",[]],["keywords/631",[]],["title/632",[399,334.114,881,283.991]],["content/632",[136,11.277,146,16.493,243,14.402,1541,14.402,3570,6.733,3571,21.514]],["keywords/632",[]],["title/633",[1266,612.987,2921,525.94,3294,481.837,3572,1060.364]],["content/633",[]],["keywords/633",[]],["title/634",[399,334.114,881,283.991]],["content/634",[332,9.459,383,9.997,881,4.716,937,7.917,942,7.582,2921,8.276,2939,11.302,3294,7.582,3573,22.096,3574,19.577,3575,16.686,3576,16.686,3577,16.686,3578,16.686]],["keywords/634",[]],["title/635",[399,334.114,881,283.991]],["content/635",[72,10.626,204,7.243,426,5.776,3099,13.675,3579,19.061,3580,21.514]],["keywords/635",[]],["title/636",[400,544.017]],["content/636",[28,8.708,204,7.422,2929,16.273,3581,20.53,3582,22.046]],["keywords/636",[]],["title/637",[2921,525.94,2971,673.976,3294,481.837,3583,1060.364]],["content/637",[]],["keywords/637",[]],["title/638",[399,334.114,881,283.991]],["content/638",[204,7.422,538,15.756,3584,14.593,3585,22.046,3586,22.046]],["keywords/638",[]],["title/639",[2921,525.94,2971,673.976,3294,481.837,3587,1060.364]],["content/639",[]],["keywords/639",[]],["title/640",[399,334.114,881,283.991]],["content/640",[19,4.986,395,13.586,920,14.669,1907,13.171,3588,20.524,3589,20.524,3590,20.524,3591,20.524]],["keywords/640",[]],["title/641",[2921,525.94,3077,680.462,3294,481.837,3592,1060.364]],["content/641",[]],["keywords/641",[]],["title/642",[399,334.114,881,283.991]],["content/642",[24,5.71,27,6.009,62,8.36,72,9.909,204,6.755,674,13.589,3593,20.063,3594,20.063,3595,20.063]],["keywords/642",[]],["title/643",[1283,608.91,2921,525.94,3294,481.837,3596,1060.364]],["content/643",[]],["keywords/643",[]],["title/644",[399,334.114,881,283.991]],["content/644",[881,4.415,3597,23.192,3598,23.192]],["keywords/644",[]],["title/645",[2921,525.94,2946,621.508,3294,481.837,3599,1060.364]],["content/645",[]],["keywords/645",[]],["title/646",[399,334.114,881,283.991]],["content/646",[204,6.755,243,13.43,920,14.339,2872,10.037,2921,9.951,3294,9.117,3600,20.063,3601,20.063,3602,20.063]],["keywords/646",[]],["title/647",[400,544.017]],["content/647",[204,7.422,734,9.851,3603,22.046,3604,22.046,3605,22.046]],["keywords/647",[]],["title/648",[2872,530.506,2921,525.94,3294,481.837,3606,1060.364]],["content/648",[]],["keywords/648",[]],["title/649",[399,334.114,881,283.991]],["content/649",[221,12.577,880,11.674,2601,15.756,3607,22.046,3608,22.046]],["keywords/649",[]],["title/650",[2921,525.94,3098,550.39,3294,481.837,3609,1060.364]],["content/650",[]],["keywords/650",[]],["title/651",[399,334.114,881,283.991]],["content/651",[285,14.595,569,10.006,979,11.909,1046,12.89,2929,15.507,3610,13.353,3611,21.008]],["keywords/651",[]],["title/652",[2921,525.94,3098,550.39,3294,481.837,3612,1060.364]],["content/652",[]],["keywords/652",[]],["title/653",[399,334.114,881,283.991]],["content/653",[880,11.392,881,4.096,2443,10.717,3099,13.675,3432,17.753,3613,21.514]],["keywords/653",[]],["title/654",[2921,525.94,2922,515.126,3294,481.837,3614,1060.364]],["content/654",[]],["keywords/654",[]],["title/655",[399,334.114,881,283.991]],["content/655",[37,9.81,312,7.631,1105,9.776,2443,10.717,2601,15.376,3615,21.514]],["keywords/655",[]],["title/656",[2933,460.433,3072,625.967,3294,481.837,3616,1060.364]],["content/656",[]],["keywords/656",[]],["title/657",[366,694.839,862,699.954]],["content/657",[152,8.137,1927,13.757,2923,19.263,3617,22.604]],["keywords/657",[]],["title/658",[2933,460.433,3077,680.462,3294,481.837,3618,1060.364]],["content/658",[]],["keywords/658",[]],["title/659",[399,334.114,881,283.991]],["content/659",[53,9.817,569,9.346,881,3.735,1887,9.494,2933,8.52,2940,13.135,3294,8.916,3403,11.847,3619,19.621,3620,19.621]],["keywords/659",[]],["title/660",[399,334.114,881,283.991]],["content/660",[138,7.603,507,13.523,673,17.733,877,7.804,978,11.592,2864,13.937,3610,12.203,3621,19.199,3622,19.199]],["keywords/660",[]],["title/661",[612,634.27,2972,763.395]],["content/661",[1046,13.527,2109,15.756,3623,22.046,3624,16.273,3625,22.046]],["keywords/661",[]],["title/662",[386,446.084,2001,510.148]],["content/662",[19,4.211,135,7.084,176,7.348,569,8.257,734,7.746,877,7.046,941,8.749,1155,10.16,1634,11.474,2586,10.021,2933,7.527,3294,7.877,3626,17.334,3627,13.58,3628,14.772,3629,17.334]],["keywords/662",[]],["title/663",[399,334.114,881,283.991]],["content/663",[19,4.053,53,8.348,85,8.241,89,8.79,141,7.772,176,7.073,248,4.525,351,7.032,375,5.543,385,10.815,881,3.176,1046,10.238,1353,10.075,1680,9.78,3630,16.686,3631,16.686,3632,16.686,3633,16.686]],["keywords/663",[]],["title/664",[400,544.017]],["content/664",[483,9.878,695,9.015,1341,12.274,3178,17.753,3634,21.514,3635,21.514]],["keywords/664",[]],["title/665",[1155,621.508,2933,460.433,3294,481.837,3636,1060.364]],["content/665",[]],["keywords/665",[]],["title/666",[399,334.114,881,283.991]],["content/666",[53,9.817,68,11.421,248,5.322,778,9.732,1194,14.244,1222,16.191,1480,12.04,1887,9.494,3637,19.621,3638,19.621]],["keywords/666",[]],["title/667",[366,694.839,862,699.954]],["content/667",[19,4.986,248,5.567,483,9.424,1040,13.045,1154,12.393,3639,20.524,3640,20.524,3641,20.524]],["keywords/667",[]],["title/668",[2933,460.433,3019,687.258,3294,481.837,3642,1060.364]],["content/668",[]],["keywords/668",[]],["title/669",[366,694.839,862,699.954]],["content/669",[23,12.849,53,9.817,306,10.499,1927,11.942,2379,14.748,2872,9.817,2933,8.52,3294,8.916,3643,19.621,3644,19.621]],["keywords/669",[]],["title/670",[399,334.114,881,283.991]],["content/670",[50,6.774,150,6.897,174,7.465,204,4.967,211,9.878,298,9.208,397,7.734,518,8.648,605,9.994,955,10.823,1464,10.25,1654,12.573,1849,13.74,3645,14.754,3646,13.74,3647,14.754,3648,12.573,3649,14.754,3650,14.754,3651,13.74,3652,14.754]],["keywords/670",[]],["title/671",[386,446.084,2001,510.148]],["content/671",[19,6.041,24,5.71,62,8.36,176,8.505,180,10.364,376,9.707,518,11.759,3648,17.097]],["keywords/671",[]],["title/672",[2922,515.126,2933,460.433,3294,481.837,3653,1060.364]],["content/672",[]],["keywords/672",[]],["title/673",[399,334.114,881,283.991]],["content/673",[152,5.79,188,8.951,204,5.415,248,4.362,268,5.646,351,6.779,466,12.089,569,7.661,881,4.105,937,7.632,2601,11.495,2928,6.337,2959,10.129,3294,7.309,3654,16.084,3655,16.084,3656,16.084,3657,14.979,3658,16.084]],["keywords/673",[]],["title/674",[400,544.017]],["content/674",[19,4.471,29,9.849,106,7.849,151,7.735,204,6.197,386,5.504,426,4.941,776,10.641,2381,11.7,3659,18.407,3660,18.407,3661,18.407,3662,18.407]],["keywords/674",[]],["title/675",[386,446.084,2001,510.148]],["content/675",[135,8.388,188,11.422,204,6.91,504,11.355,511,11.289,877,8.343,3657,19.113,3663,20.524]],["keywords/675",[]],["title/676",[2928,417.798,2971,673.976,3294,481.837,3664,1060.364]],["content/676",[]],["keywords/676",[]],["title/677",[399,334.114,881,283.991]],["content/677",[48,8.409,53,7.904,126,8.69,255,7.386,311,11.662,332,8.956,386,4.724,734,9.52,864,12.112,881,4.056,982,8.956,1088,11.128,1486,11.875,2072,13.464,3099,10.042,3665,15.799,3666,15.799,3667,15.799,3668,15.799]],["keywords/677",[]],["title/678",[2928,417.798,2996,635.327,3294,481.837,3669,1060.364]],["content/678",[]],["keywords/678",[]],["title/679",[399,334.114,881,283.991]],["content/679",[24,5.239,28,7.271,50,8.452,153,9.376,298,8.336,379,10.714,452,11.203,511,10.124,2928,7.253,3294,8.364,3403,11.114,3670,18.407,3671,18.407]],["keywords/679",[]],["title/680",[400,544.017]],["content/680",[107,9.808,204,6.072,411,9.063,889,14.129,927,13.092,1283,10.356,2928,7.106,3294,8.195,3672,18.035,3673,18.035,3674,18.035,3675,18.035,3676,13.092,3677,18.035]],["keywords/680",[]],["title/681",[386,446.084,2001,510.148]],["content/681",[257,8.99,270,9.43,776,12.437,781,16.855,877,8.745,3676,15.618]],["keywords/681",[]],["title/682",[2928,417.798,3089,656.117,3294,481.837,3678,1060.364]],["content/682",[]],["keywords/682",[]],["title/683",[399,334.114,881,283.991]],["content/683",[106,9.662,300,10.819,524,9.647,776,13.098,881,3.3,1867,14.838,3679,22.657,3680,17.334,3681,15.358,3682,15.358,3683,17.334,3684,17.334]],["keywords/683",[]],["title/684",[2928,417.798,3015,445.613,3294,481.837,3685,1060.364]],["content/684",[]],["keywords/684",[]],["title/685",[399,334.114,881,283.991]],["content/685",[130,9.091,718,18.144,881,4.303,3686,22.604]],["keywords/685",[]],["title/686",[2928,417.798,3025,492.094,3294,481.837,3687,1060.364]],["content/686",[]],["keywords/686",[]],["title/687",[399,334.114,881,283.991]],["content/687",[20,15.618,776,12.437,881,4.096,3688,21.514,3689,21.514,3690,21.514]],["keywords/687",[]],["title/688",[2946,621.508,3015,445.613,3294,481.837,3691,1060.364]],["content/688",[]],["keywords/688",[]],["title/689",[399,334.114,881,283.991]],["content/689",[10,6.193,734,8.965,881,3.819,3015,8.431,3089,12.414,3294,9.117,3692,20.063,3693,20.063,3694,20.063]],["keywords/689",[]],["title/690",[400,544.017]],["content/690",[5,7.229,139,7.761,351,9.067,799,11.167,3695,21.514,3696,21.514]],["keywords/690",[]],["title/691",[1224,656.117,3015,445.613,3294,481.837,3697,1060.364]],["content/691",[]],["keywords/691",[]],["title/692",[366,694.839,862,699.954]],["content/692",[4,6.936,28,6.847,77,9.647,84,9.48,139,6.253,204,5.836,411,8.711,673,11.604,1224,10.726,2455,13.914,3015,7.285,3294,7.877,3698,17.334,3699,17.334,3700,17.334,3701,17.334]],["keywords/692",[]],["title/693",[386,446.084,2001,510.148]],["content/693",[28,7.751,77,10.92,236,11.268,488,9.206,3015,8.246,3062,10.041,3294,8.916,3702,19.621,3703,16.721,3704,19.621]],["keywords/693",[]],["title/694",[400,544.017]],["content/694",[351,9.527,695,9.472,799,11.733,3705,22.604]],["keywords/694",[]],["title/695",[366,694.839,862,699.954]],["content/695",[19,5.226,176,9.12,796,10.327,957,13.428,1220,14.089,3706,21.514]],["keywords/695",[]],["title/696",[386,446.084,2001,510.148]],["content/696",[152,7.063,162,8.627,176,8.318,204,6.606,3015,8.246,3071,9.073,3294,8.916,3415,15.75,3707,18.273,3708,19.621]],["keywords/696",[]],["title/697",[399,334.114,881,283.991]],["content/697",[351,7.921,426,5.046,490,13.874,695,7.876,881,3.578,924,15.086,1341,10.723,1907,12.061,2930,11.946,3709,18.795,3710,18.795,3711,18.795]],["keywords/697",[]],["title/698",[400,544.017]],["content/698",[204,7.243,351,9.067,695,9.015,796,10.327,799,11.167,3712,21.514]],["keywords/698",[]],["title/699",[3015,445.613,3071,490.332,3294,481.837,3713,1060.364]],["content/699",[]],["keywords/699",[]],["title/700",[399,334.114,881,283.991]],["content/700",[248,4.992,351,7.758,796,8.836,881,4.484,1125,14.111,2922,8.942,3015,7.735,3294,8.364,3430,15.189,3714,18.407,3715,18.407,3716,18.407]],["keywords/700",[]],["title/701",[399,334.114,881,283.991]],["content/701",[174,7.898,248,5.835,351,9.067,796,10.327,881,4.096,3717,21.514]],["keywords/701",[]],["title/702",[400,544.017]],["content/702",[37,9.148,252,4.41,3015,10.451,3294,9.117,3718,20.063,3719,20.063,3720,20.063,3721,20.063]],["keywords/702",[]],["title/703",[399,334.114,881,283.991]],["content/703",[68,10.497,84,9.863,169,8.692,174,8.534,426,4.842,796,11.16,876,9.863,881,4.426,3167,14.129,3722,18.035,3723,18.035]],["keywords/703",[]],["title/704",[612,634.27,2972,763.395]],["content/704",[55,5.139,98,8.261,138,7.603,411,9.648,426,5.154,796,11.614,2342,10.5,3707,17.88,3724,19.199,3725,19.199]],["keywords/704",[]],["title/705",[400,544.017]],["content/705",[204,7.422,796,12.642,3167,17.271,3726,22.046]],["keywords/705",[]],["title/706",[366,694.839,862,699.954]],["content/706",[90,9.749,124,13.906,351,8.854,796,10.084,957,13.112,1541,14.063,3727,21.008]],["keywords/706",[]],["title/707",[386,446.084,2001,510.148]],["content/707",[16,10.223,19,3.979,138,6.486,152,5.896,426,4.397,796,10.477,877,6.658,2342,8.958,3015,9.172,3294,7.443,3535,13.958,3728,16.379,3729,16.379,3730,16.379,3731,16.379,3732,14.512,3733,16.379]],["keywords/707",[]],["title/708",[400,544.017]],["content/708",[10,6.484,174,7.712,559,11.622,1319,13.353,3734,19.564,3735,21.008,3736,21.008]],["keywords/708",[]],["title/709",[3015,445.613,3025,492.094,3294,481.837,3737,1060.364]],["content/709",[]],["keywords/709",[]],["title/710",[399,334.114,881,283.991]],["content/710",[84,10.279,174,6.9,248,5.097,351,7.921,426,5.046,881,3.578,1266,10.865,3025,8.722,3294,8.54,3430,15.509,3738,18.795,3739,18.795]],["keywords/710",[]],["title/711",[399,334.114,881,283.991]],["content/711",[72,10.888,204,7.422,2379,16.57,3099,14.012,3740,22.046]],["keywords/711",[]],["title/712",[400,544.017]],["content/712",[138,7.945,204,6.755,513,13.28,2381,12.752,2996,12.021,3025,9.311,3294,9.117,3741,20.063,3742,20.063]],["keywords/712",[]],["title/713",[399,334.114,881,283.991]],["content/713",[98,9.485,881,4.197,2586,12.744,3743,22.046,3744,22.046]],["keywords/713",[]],["title/714",[386,446.084,2001,510.148]],["content/714",[135,7.846,488,9.008,779,10.953,1139,10.816,1634,12.709,2586,11.099,3025,8.91,3294,8.724,3403,11.592,3745,19.199,3746,19.199]],["keywords/714",[]],["title/715",[399,334.114,881,283.991]],["content/715",[88,9.716,102,7.62,151,6.1,176,6.153,255,6.785,268,5.095,389,8.696,569,6.913,594,10.223,817,11.371,825,6.322,881,3.827,982,8.228,2106,11.126,3747,10.083,3748,12.859,3749,14.514,3750,14.514,3751,14.514,3752,14.514,3753,20.105,3754,14.514,3755,14.514]],["keywords/715",[]],["title/716",[386,446.084,2001,510.148]],["content/716",[55,5.031,102,9.047,151,7.898,268,6.597,376,9.094,877,7.64,1573,12.73,2342,10.279,3756,18.795,3757,15.509,3758,15.509]],["keywords/716",[]],["title/717",[2946,621.508,3025,492.094,3294,481.837,3759,1060.364]],["content/717",[]],["keywords/717",[]],["title/718",[399,334.114,881,283.991]],["content/718",[162,8.627,251,9.86,351,8.27,881,3.735,1221,10.444,2798,12.472,3025,9.106,3294,8.916,3760,19.621,3761,19.621]],["keywords/718",[]],["title/719",[400,544.017]],["content/719",[7,9.951,85,9.909,106,8.555,351,8.456,921,15.718,1464,13.938,3762,20.063,3763,20.063,3764,20.063]],["keywords/719",[]],["title/720",[3019,687.258,3025,492.094,3294,481.837,3765,1060.364]],["content/720",[]],["keywords/720",[]],["title/721",[399,334.114,881,283.991]],["content/721",[72,10.376,174,7.712,586,13.353,796,10.084,881,3.999,3766,21.008,3767,21.008]],["keywords/721",[]],["title/722",[2928,417.798,3025,492.094,3294,481.837,3768,1060.364]],["content/722",[]],["keywords/722",[]],["title/723",[399,334.114,881,283.991]],["content/723",[19,6.397,152,7.936,3769,19.532,3770,22.046]],["keywords/723",[]],["title/724",[2872,530.506,2959,667.771,3570,331.841,3771,1060.364]],["content/724",[]],["keywords/724",[]],["title/725",[399,334.114,881,283.991]],["content/725",[53,9.605,386,5.741,881,3.655,2872,9.605,2959,12.091,3130,16.361,3570,6.008,3772,17.88,3773,17.88,3774,19.199,3775,19.199]],["keywords/725",[]],["title/726",[399,334.114,881,283.991]],["content/726",[2300,16.57,2342,12.057,3776,20.53,3777,19.532,3778,22.046]],["keywords/726",[]],["title/727",[612,634.27,2972,763.395]],["content/727",[221,12.577,257,9.212,3779,20.53,3780,20.53,3781,22.046]],["keywords/727",[]],["title/728",[386,446.084,2001,510.148]],["content/728",[221,11.985,2300,15.79,3776,19.564,3777,18.612,3779,19.564,3782,21.008,3783,21.008]],["keywords/728",[]],["title/729",[2872,530.506,2959,667.771,3570,331.841,3784,1060.364]],["content/729",[]],["keywords/729",[]],["title/730",[399,334.114,881,283.991]],["content/730",[25,11.422,53,10.268,216,13.171,394,17.49,664,14.075,781,16.079,881,3.907,3785,20.524]],["keywords/730",[]],["title/731",[1266,612.987,2872,530.506,3570,331.841,3786,1060.364]],["content/731",[]],["keywords/731",[]],["title/732",[399,334.114,881,283.991]],["content/732",[53,10.51,234,14.595,323,6.462,376,10.165,881,3.999,955,11.181,3787,21.008]],["keywords/732",[]],["title/733",[1266,612.987,2872,530.506,3570,331.841,3788,1060.364]],["content/733",[]],["keywords/733",[]],["title/734",[399,334.114,881,283.991]],["content/734",[10,3.853,14,6.388,24,5.143,29,6.679,52,5.021,53,6.245,102,4.731,107,6.789,114,4.906,150,5.836,152,4.494,153,6.358,204,4.203,306,6.679,375,4.147,386,3.733,459,8.673,549,6.989,712,7.861,881,2.376,920,8.922,1680,7.317,2056,10.02,3477,11.625,3789,12.483,3790,12.483,3791,12.483,3792,12.483,3793,11.625,3794,7.724,3795,12.483,3796,12.483,3797,12.483,3798,12.483,3799,12.483]],["keywords/734",[]],["title/735",[1266,612.987,2872,530.506,3570,331.841,3800,1060.364]],["content/735",[]],["keywords/735",[]],["title/736",[399,334.114,881,283.991]],["content/736",[37,8.754,150,8.975,306,10.273,567,8.607,636,11.88,2872,9.605,3403,11.592,3570,6.008,3703,16.361,3801,19.199,3802,19.199]],["keywords/736",[]],["title/737",[399,334.114,881,283.991]],["content/737",[16,12.522,137,11.844,162,8.821,567,8.995,585,15.08,734,8.965,877,8.155,3803,20.063,3804,20.063]],["keywords/737",[]],["title/738",[400,544.017]],["content/738",[27,5.75,43,10.115,296,9.145,695,8.045,1283,11.025,1341,10.953,2872,9.605,3570,6.008,3805,19.199,3806,19.199,3807,19.199]],["keywords/738",[]],["title/739",[399,334.114,881,283.991]],["content/739",[249,9.749,881,3.999,941,10.604,1041,13.112,3808,21.008,3809,17.335,3810,21.008]],["keywords/739",[]],["title/740",[400,544.017]],["content/740",[5,7.059,98,9.039,204,7.073,249,9.749,939,10.376,3811,21.008,3812,21.008]],["keywords/740",[]],["title/741",[1283,608.91,2872,530.506,3570,331.841,3813,1060.364]],["content/741",[]],["keywords/741",[]],["title/742",[399,334.114,881,283.991]],["content/742",[53,9.605,307,8.942,504,10.622,862,9.008,881,4.606,3225,13.937,3814,11.334,3815,17.01,3816,19.199,3817,19.199]],["keywords/742",[]],["title/743",[2872,530.506,3062,542.605,3570,331.841,3818,1060.364]],["content/743",[]],["keywords/743",[]],["title/744",[399,334.114,881,283.991]],["content/744",[139,9.363,881,4.096,942,9.776,1887,10.41,3819,21.514]],["keywords/744",[]],["title/745",[2872,530.506,3071,490.332,3570,331.841,3820,1060.364]],["content/745",[]],["keywords/745",[]],["title/746",[399,334.114,881,283.991]],["content/746",[204,6.91,666,11.422,2872,10.268,3071,9.491,3570,6.423,3821,16.936,3822,20.524,3823,20.524]],["keywords/746",[]],["title/747",[400,544.017]],["content/747",[204,7.243,844,13.312,1143,12.196,2930,13.675,3274,16.855,3824,21.514]],["keywords/747",[]],["title/748",[2872,530.506,2933,460.433,3570,331.841,3825,1060.364]],["content/748",[]],["keywords/748",[]],["title/749",[366,694.839,862,699.954]],["content/749",[53,9.817,106,8.367,179,11.501,825,8.546,1152,12.357,1914,11.343,2286,14.748,3826,19.621,3827,19.621,3828,19.621]],["keywords/749",[]],["title/750",[2872,530.506,2933,460.433,3570,331.841,3829,1060.364]],["content/750",[]],["keywords/750",[]],["title/751",[399,334.114,881,283.991]],["content/751",[136,10.758,268,7.205,556,8.411,796,9.852,881,3.907,908,19.113,3830,20.524,3831,20.524]],["keywords/751",[]],["title/752",[2872,530.506,2933,460.433,3570,331.841,3832,1060.364]],["content/752",[]],["keywords/752",[]],["title/753",[399,334.114,881,283.991]],["content/753",[100,12.587,268,7.374,556,8.609,796,10.084,881,3.999,3624,15.507,3833,21.008]],["keywords/753",[]],["title/754",[2872,530.506,2933,460.433,3570,331.841,3834,1060.364]],["content/754",[]],["keywords/754",[]],["title/755",[399,334.114,881,283.991]],["content/755",[16,12.522,881,3.819,1266,11.598,1754,9.951,3570,6.279,3794,12.414,3835,20.063,3836,20.063,3837,20.063]],["keywords/755",[]],["title/756",[399,334.114,881,283.991]],["content/756",[37,10.052,949,12.497,1040,14.012,3838,20.53,3839,22.046]],["keywords/756",[]],["title/757",[400,544.017]],["content/757",[19,5.504,72,8.561,151,7.285,204,5.836,300,10.819,349,11.018,695,7.264,927,12.583,1341,9.889,1398,13.914,3840,17.334,3841,17.334,3842,17.334,3843,16.143,3844,17.334]],["keywords/757",[]],["title/758",[366,694.839,862,699.954]],["content/758",[98,9.039,410,9.714,723,10.376,2291,17.335,3610,13.353,3845,19.564,3846,21.008]],["keywords/758",[]],["title/759",[386,446.084,2001,510.148]],["content/759",[877,9.427,3838,21.598,3847,21.598]],["keywords/759",[]],["title/760",[1754,525.94,3403,640.247,3570,331.841,3848,1060.364]],["content/760",[]],["keywords/760",[]],["title/761",[399,334.114,881,283.991]],["content/761",[123,14.899,606,12.593,881,3.907,939,10.137,1494,13.441,1914,11.865,2586,11.865,3849,20.524]],["keywords/761",[]],["title/762",[1754,525.94,3071,490.332,3570,331.841,3850,1060.364]],["content/762",[]],["keywords/762",[]],["title/763",[399,334.114,881,283.991]],["content/763",[212,12.925,1022,16.936,1754,10.18,3071,9.491,3570,6.423,3851,20.524,3852,20.524,3853,20.524]],["keywords/763",[]],["title/764",[399,334.114,881,283.991]],["content/764",[37,6.03,50,6.072,53,6.616,85,9.301,98,5.69,106,5.639,157,8.957,204,4.452,243,8.852,255,6.181,270,5.796,351,5.573,367,9.314,381,8.571,520,10.614,542,7.697,606,8.114,636,8.182,1249,10.137,1935,9.187,3128,12.314,3854,10.912,3855,13.223,3856,13.223,3857,12.314,3858,13.223,3859,13.223,3860,13.223,3861,13.223,3862,11.269,3863,13.223]],["keywords/764",[]],["title/765",[612,634.27,2972,763.395]],["content/765",[85,10.626,351,9.067,411,10.811,666,11.973,734,9.613,3864,21.514]],["keywords/765",[]],["title/766",[400,544.017]],["content/766",[29,11.537,85,7.944,189,11.174,204,8.189,426,6.53,590,13.342,734,7.187,957,13.458,1911,13.272,2214,14.25,3865,16.084,3866,16.084,3867,16.084]],["keywords/766",[]],["title/767",[366,694.839,862,699.954]],["content/767",[10,5.351,37,7.904,43,9.132,85,8.561,102,6.57,111,10.819,114,6.813,138,8.973,139,6.253,488,8.133,556,7.104,1935,12.043,3868,17.334,3869,17.334,3870,17.334]],["keywords/767",[]],["title/768",[386,446.084,2001,510.148]],["content/768",[10,5.567,84,9.863,85,8.907,101,8.112,102,8.811,114,7.088,252,3.964,351,7.601,375,5.991,488,10.908,1935,12.529,3871,18.035]],["keywords/768",[]],["title/769",[1754,525.94,2922,515.126,3570,331.841,3872,1060.364]],["content/769",[]],["keywords/769",[]],["title/770",[399,334.114,881,283.991]],["content/770",[123,13.643,880,9.952,942,8.54,1683,11.348,1754,9.322,2443,9.362,3015,7.898,3207,15.509,3570,5.882,3873,18.795,3874,18.795,3875,18.795]],["keywords/770",[]],["title/771",[400,544.017]],["content/771",[50,8.452,83,10.434,102,6.976,204,6.197,273,9.463,290,6.833,1754,9.13,2263,14.111,3025,8.542,3570,5.76,3876,18.407,3877,18.407,3878,18.407]],["keywords/771",[]],["title/772",[612,634.27,2972,763.395]],["content/772",[152,7.936,734,9.851,3879,22.046,3880,20.53,3881,22.046]],["keywords/772",[]],["title/773",[386,446.084,2001,510.148]],["content/773",[152,7.562,734,9.387,1754,10.42,3025,9.749,3570,6.574,3882,21.008,3883,21.008]],["keywords/773",[]],["title/774",[399,334.114,881,283.991]],["content/774",[10,5.567,68,10.497,107,9.808,150,8.431,152,8.369,169,8.692,204,6.072,298,8.167,426,4.842,825,7.855,3884,18.035,3885,18.035,3886,18.035]],["keywords/774",[]],["title/775",[386,446.084,2001,510.148]],["content/775",[19,4.566,113,9.445,152,6.766,176,7.967,225,9.131,558,8.952,877,7.64,2208,16.016,3887,18.795,3888,23.87,3889,18.795]],["keywords/775",[]],["title/776",[1216,411.615,2959,667.771,3570,331.841,3890,1060.364]],["content/776",[]],["keywords/776",[]],["title/777",[399,334.114,881,283.991]],["content/777",[101,9.677,114,8.456,569,10.248,881,4.096,1887,10.41,3891,21.514]],["keywords/777",[]],["title/778",[1216,411.615,1266,612.987,3570,331.841,3892,1060.364]],["content/778",[]],["keywords/778",[]],["title/779",[399,334.114,881,283.991]],["content/779",[114,7.885,138,7.945,139,7.238,152,7.222,169,9.669,734,8.965,3893,20.063,3894,18.684,3895,20.063]],["keywords/779",[]],["title/780",[1216,411.615,3072,625.967,3570,331.841,3896,1060.364]],["content/780",[]],["keywords/780",[]],["title/781",[399,334.114,881,283.991]],["content/781",[19,4.471,85,9.091,101,8.28,212,11.592,290,6.833,881,3.504,971,12.184,1216,7.145,2996,11.029,3570,5.76,3897,18.407,3898,18.407,3899,18.407]],["keywords/781",[]],["title/782",[366,694.839,862,699.954]],["content/782",[101,9.917,221,12.577,957,13.76,3900,19.532,3901,22.046]],["keywords/782",[]],["title/783",[386,446.084,2001,510.148]],["content/783",[85,10.626,101,9.677,176,9.12,265,8.135,841,13.549,877,8.745]],["keywords/783",[]],["title/784",[1216,411.615,3063,630.57,3570,331.841,3902,1060.364]],["content/784",[]],["keywords/784",[]],["title/785",[399,334.114,881,283.991]],["content/785",[702,20.617,825,8.363,881,3.655,1216,7.453,1683,11.592,3063,11.417,3570,6.008,3903,19.199,3904,19.199,3905,19.199]],["keywords/785",[]],["title/786",[399,334.114,881,283.991]],["content/786",[2,6.925,7,7.836,10,4.877,51,11.469,53,10.659,152,5.687,191,8.846,257,6.602,375,7.078,592,11.128,816,13.037,862,7.413,1480,9.694,3906,13.998,3907,15.799,3908,15.799,3909,15.799,3910,11.469,3911,15.799]],["keywords/786",[]],["title/787",[612,634.27,2972,763.395]],["content/787",[152,8.137,734,10.101,3912,21.051,3913,22.604]],["keywords/787",[]],["title/788",[386,446.084,2001,510.148]],["content/788",[152,8.349,734,10.363,3912,21.598]],["keywords/788",[]],["title/789",[1216,411.615,1283,608.91,3570,331.841,3914,1060.364]],["content/789",[]],["keywords/789",[]],["title/790",[399,334.114,881,283.991]],["content/790",[37,10.052,51,16.003,3188,16.9,3915,22.046,3916,22.046]],["keywords/790",[]],["title/791",[1216,411.615,2946,621.508,3570,331.841,3917,1060.364]],["content/791",[]],["keywords/791",[]],["title/792",[399,334.114,881,283.991]],["content/792",[37,9.358,51,14.899,375,8.378,379,11.946,606,12.593,873,14.456,3918,20.524]],["keywords/792",[]],["title/793",[1216,411.615,2872,530.506,3570,331.841,3919,1060.364]],["content/793",[]],["keywords/793",[]],["title/794",[399,334.114,881,283.991]],["content/794",[25,10.46,29,10.056,137,11.095,162,8.264,567,8.426,585,14.127,881,3.578,1216,9.266,3570,5.882,3920,18.795,3921,18.795]],["keywords/794",[]],["title/795",[399,334.114,881,283.991]],["content/795",[24,5.71,27,6.009,102,7.604,376,9.707,395,13.28,881,3.819,3906,17.775,3922,18.684,3923,20.063]],["keywords/795",[]],["title/796",[400,544.017]],["content/796",[24,5.71,27,6.009,102,7.604,140,12.021,204,6.755,376,9.707,426,5.386,427,14.339,3924,20.063]],["keywords/796",[]],["title/797",[1216,411.615,3098,550.39,3570,331.841,3925,1060.364]],["content/797",[]],["keywords/797",[]],["title/798",[399,334.114,881,283.991]],["content/798",[27,5.513,211,8.942,298,8.336,796,8.836,876,10.067,881,3.504,1216,7.145,2481,15.686,3062,9.419,3570,5.76,3926,17.142,3927,18.407,3928,18.407]],["keywords/798",[]],["title/799",[366,694.839,862,699.954]],["content/799",[19,5.103,225,10.205,588,16.863,1147,13.906,3809,17.335,3929,21.008,3930,21.008]],["keywords/799",[]],["title/800",[386,446.084,2001,510.148]],["content/800",[95,14.063,426,5.64,1131,13.481,2342,11.489,3809,17.335,3931,21.008,3932,21.008]],["keywords/800",[]],["title/801",[1216,411.615,2922,515.126,3570,331.841,3933,1060.364]],["content/801",[]],["keywords/801",[]],["title/802",[399,334.114,881,283.991]],["content/802",[48,11.451,107,11.7,380,12.99,850,15.376,2218,17.753,3934,21.514]],["keywords/802",[]],["title/803",[1216,411.615,2922,515.126,3570,331.841,3935,1060.364]],["content/803",[]],["keywords/803",[]],["title/804",[399,334.114,881,283.991]],["content/804",[27,6.147,37,9.358,137,12.116,504,11.355,1867,13.441,3610,13.045,3936,20.524,3937,20.524]],["keywords/804",[]],["title/805",[1216,411.615,2921,525.94,3570,331.841,3938,1060.364]],["content/805",[]],["keywords/805",[]],["title/806",[366,694.839,862,699.954]],["content/806",[19,5.103,50,9.646,93,7.255,145,13.906,518,12.313,3939,17.902,3940,21.008]],["keywords/806",[]],["title/807",[1216,411.615,3015,445.613,3570,331.841,3941,1060.364]],["content/807",[]],["keywords/807",[]],["title/808",[399,334.114,881,283.991]],["content/808",[25,12.147,248,5.92,351,9.199,385,14.146,881,4.155,982,12.373,1216,6.358,3025,7.601,3570,5.126,3942,16.379,3943,16.379,3944,16.379,3945,16.379]],["keywords/808",[]],["title/809",[399,334.114,881,283.991]],["content/809",[225,10.452,375,7.147,1263,16.855,1270,16.855,3809,17.753,3946,21.514]],["keywords/809",[]],["title/810",[400,544.017]],["content/810",[7,9.732,124,12.988,410,9.073,721,15.372,1216,7.617,3025,9.106,3570,6.141,3947,13.632,3948,19.621,3949,19.621]],["keywords/810",[]],["title/811",[400,544.017]],["content/811",[204,6.606,304,11.501,1139,11.053,1216,7.617,3025,9.106,3570,6.141,3584,12.988,3947,13.632,3950,19.621,3951,19.621]],["keywords/811",[]],["title/812",[399,334.114,881,283.991]],["content/812",[5,8.474,19,4.986,29,10.982,139,7.404,881,3.907,3952,20.524,3953,20.524]],["keywords/812",[]],["title/813",[400,544.017]],["content/813",[53,9.403,126,10.338,247,9.094,365,14.408,375,6.244,410,8.691,3610,11.946,3947,13.057,3954,18.795,3955,18.795,3956,18.795,3957,18.795]],["keywords/813",[]],["title/814",[386,446.084,2001,510.148]],["content/814",[53,10.51,128,14.063,176,8.905,375,6.979,666,11.691,877,8.539,3958,21.008]],["keywords/814",[]],["title/815",[1216,411.615,3025,492.094,3570,331.841,3959,1060.364]],["content/815",[]],["keywords/815",[]],["title/816",[399,334.114,881,283.991]],["content/816",[24,5.842,27,6.147,880,10.868,881,3.907,3960,20.524,3961,20.524,3962,20.524,3963,20.524]],["keywords/816",[]],["title/817",[1362,680.462,3098,550.39,3570,331.841,3964,1060.364]],["content/817",[]],["keywords/817",[]],["title/818",[399,334.114,881,283.991]],["content/818",[24,5.979,139,7.578,375,6.979,876,11.489,881,3.999,942,9.546,3965,21.008]],["keywords/818",[]],["title/819",[2971,673.976,3098,550.39,3570,331.841,3966,1060.364]],["content/819",[]],["keywords/819",[]],["title/820",[399,334.114,881,283.991]],["content/820",[93,5.096,101,6.637,102,7.706,107,8.024,135,6.03,376,7.139,386,6.08,666,8.211,740,11.249,889,11.559,1244,9.378,1342,9.994,1683,8.909,2996,8.84,3098,7.658,3570,4.617,3967,12.573,3968,14.754,3969,14.754,3970,14.754,3971,14.754,3972,14.754]],["keywords/820",[]],["title/821",[399,334.114,881,283.991]],["content/821",[16,13.112,95,14.063,426,5.64,508,11.181,881,3.999,3973,21.008,3974,21.008]],["keywords/821",[]],["title/822",[400,544.017]],["content/822",[138,8.319,204,7.073,874,11.985,2286,15.79,3610,13.353,3975,19.564,3976,21.008]],["keywords/822",[]],["title/823",[3098,550.39,3403,640.247,3570,331.841,3977,1060.364]],["content/823",[]],["keywords/823",[]],["title/824",[399,334.114,881,283.991]],["content/824",[19,4.053,24,4.749,102,6.324,139,6.019,298,7.556,323,5.133,376,8.073,549,12.371,740,12.224,881,3.176,942,7.582,1887,8.073,3463,14.219,3978,16.686,3979,16.686,3980,16.686]],["keywords/824",[]],["title/825",[3078,1338.544]],["content/825",[53,9.817,942,8.916,1887,9.494,3098,10.185,3403,11.847,3570,6.141,3981,17.384,3982,19.621,3983,19.621,3984,19.621]],["keywords/825",[]],["title/826",[399,334.114,881,283.991]],["content/826",[5,6.897,24,5.842,50,9.424,86,14.456,88,13.739,204,6.91,452,12.491,3985,20.524]],["keywords/826",[]],["title/827",[612,634.27,2972,763.395]],["content/827",[5,7.408,90,10.231,411,11.078,477,14.932,3986,22.046]],["keywords/827",[]],["title/828",[386,446.084,2001,510.148]],["content/828",[411,10.314,1861,14.456,2300,15.427,3098,10.653,3403,12.393,3570,6.423,3987,20.524,3988,20.524]],["keywords/828",[]],["title/829",[400,544.017]],["content/829",[204,6.606,695,10.277,1283,11.268,3098,10.185,3570,6.141,3989,17.384,3990,19.621,3991,19.621,3992,19.621]],["keywords/829",[]],["title/830",[399,334.114,881,283.991]],["content/830",[679,17.753,979,12.196,1139,12.12,3584,14.241,3610,13.675,3993,21.514]],["keywords/830",[]],["title/831",[400,544.017]],["content/831",[204,6.606,542,11.421,556,10.051,960,10.185,1152,12.357,2443,9.774,2892,18.273,3994,19.621,3995,19.621]],["keywords/831",[]],["title/832",[366,694.839,862,699.954]],["content/832",[319,16.721,410,9.073,1139,11.053,1283,11.268,3098,10.185,3227,14.244,3570,6.141,3610,12.472,3996,19.621,3997,19.621]],["keywords/832",[]],["title/833",[400,544.017]],["content/833",[7,9.732,397,10.285,638,9.275,796,9.419,880,10.39,960,10.185,1131,12.592,2443,9.774,3998,19.621,3999,19.621]],["keywords/833",[]],["title/834",[1224,656.117,3098,550.39,3570,331.841,4000,1060.364]],["content/834",[]],["keywords/834",[]],["title/835",[366,694.839,862,699.954]],["content/835",[255,10.306,512,13.014,2443,10.982,3815,19.532,4001,22.046]],["keywords/835",[]],["title/836",[1155,621.508,3098,550.39,3570,331.841,4002,1060.364]],["content/836",[]],["keywords/836",[]],["title/837",[366,694.839,862,699.954]],["content/837",[366,10.02,1194,15.618,2443,10.717,4003,21.514,4004,21.514,4005,21.514]],["keywords/837",[]],["title/838",[3019,687.258,3098,550.39,3570,331.841,4006,1060.364]],["content/838",[]],["keywords/838",[]],["title/839",[366,694.839,862,699.954]],["content/839",[162,9.459,257,8.99,2223,15.881,2443,10.717,4007,20.035,4008,21.514]],["keywords/839",[]],["title/840",[3019,687.258,3098,550.39,3570,331.841,4009,1060.364]],["content/840",[]],["keywords/840",[]],["title/841",[366,694.839,862,699.954]],["content/841",[25,10.46,328,15.086,666,10.46,2443,9.362,3062,9.618,3098,9.756,3427,12.441,3570,5.882,4010,17.503,4011,17.503,4012,18.795,4013,18.795]],["keywords/841",[]],["title/842",[399,334.114,881,283.991]],["content/842",[29,13.306,107,10.911,569,9.556,881,3.819,2214,17.775,4014,16.555,4015,20.063,4016,20.063]],["keywords/842",[]],["title/843",[612,634.27,2972,763.395]],["content/843",[152,5.4,225,7.288,242,8.159,386,4.486,407,8.615,426,4.027,518,8.793,549,11.516,558,7.146,2079,13.292,2506,11.501,2548,12.785,4017,15.002,4018,15.002,4019,15.002,4020,15.002,4021,15.002,4022,13.971,4023,15.002,4024,15.002,4025,13.971,4026,15.002,4027,15.002]],["keywords/843",[]],["title/844",[400,544.017]],["content/844",[5,5.825,10,5.351,43,9.132,50,7.959,93,5.987,107,9.427,114,6.813,151,7.285,204,5.836,257,7.243,1479,11.741,4028,15.358,4029,17.334,4030,16.143,4031,17.334,4032,17.334]],["keywords/844",[]],["title/845",[386,446.084,2001,510.148]],["content/845",[19,3.771,176,6.581,225,7.542,242,8.443,877,8.558,1910,9.69,2079,13.754,2342,8.49,2506,11.901,4022,14.457,4025,14.457,4033,15.524,4034,15.524,4035,15.524,4036,14.457,4037,15.524,4038,15.524,4039,15.524,4040,15.524,4041,15.524,4042,13.754]],["keywords/845",[]],["title/846",[3062,542.605,3098,550.39,3570,331.841,4043,1060.364]],["content/846",[]],["keywords/846",[]],["title/847",[399,334.114,881,283.991]],["content/847",[4,3.819,7,4.734,19,3.59,53,4.775,135,3.901,141,4.446,186,6.465,197,6.187,212,6.011,264,6.251,273,4.907,375,3.171,380,5.763,386,4.419,389,10.833,396,5.518,464,6.822,525,10.266,542,5.556,612,4.058,666,5.312,813,7.317,877,6.007,881,3.442,942,4.337,1244,6.067,1446,8.457,3062,4.884,3098,4.954,3570,2.987,3747,10.266,4044,16.339,4045,9.545,4046,9.545,4047,9.545,4048,9.545,4049,9.545,4050,8.889,4051,9.545,4052,9.545,4053,9.545,4054,7.876,4055,9.545,4056,8.889,4057,9.545,4058,9.545]],["keywords/847",[]],["title/848",[400,544.017]],["content/848",[19,4.874,265,7.586,290,7.448,642,13.003,880,10.623,960,10.414,3274,15.718,4059,20.063,4060,20.063]],["keywords/848",[]],["title/849",[2922,515.126,3098,550.39,3570,331.841,4061,1060.364]],["content/849",[]],["keywords/849",[]],["title/850",[399,334.114,881,283.991]],["content/850",[174,6.757,211,8.942,298,8.336,695,7.713,881,3.504,955,9.797,1341,10.501,2921,9.13,3098,9.554,3570,5.76,4062,17.142,4063,18.407,4064,18.407]],["keywords/850",[]],["title/851",[612,634.27,2972,763.395]],["content/851",[24,5.585,29,10.499,261,10.555,604,11.194,2393,15.042,4065,18.273,4066,19.621,4067,19.621,4068,18.273,4069,19.621]],["keywords/851",[]],["title/852",[386,446.084,2001,510.148]],["content/852",[19,4.471,969,11.39,2342,14.206,2393,14.111,3015,7.735,3098,9.554,3570,5.76,4065,17.142,4070,18.407,4071,18.407,4072,18.407]],["keywords/852",[]],["title/853",[400,544.017]],["content/853",[57,11.167,102,8.154,290,7.987,862,10.094,4073,21.514,4074,21.514]],["keywords/853",[]],["title/854",[386,446.084,2001,510.148]],["content/854",[151,7.735,290,6.833,323,5.662,426,4.941,497,12.322,518,10.789,527,12.054,877,7.482,1335,13.362,2959,11.592,3062,9.419,3570,5.76,4075,18.407]],["keywords/854",[]],["title/855",[400,544.017]],["content/855",[19,4.986,290,7.619,880,10.868,960,10.653,1145,16.475,3274,16.079,4076,20.524,4077,20.524]],["keywords/855",[]],["title/856",[1266,612.987,3062,542.605,3570,331.841,4078,1060.364]],["content/856",[]],["keywords/856",[]],["title/857",[399,334.114,881,283.991]],["content/857",[88,14.758,881,4.197,1680,12.922,3947,15.316,4079,22.046]],["keywords/857",[]],["title/858",[1266,612.987,3062,542.605,3570,331.841,4080,1060.364]],["content/858",[]],["keywords/858",[]],["title/859",[399,334.114,881,283.991]],["content/859",[10,5.801,139,6.78,527,12.308,590,11.63,862,8.818,1480,11.532,1914,10.865,2939,12.73,3062,9.618,3570,5.882,4081,18.795,4082,18.795]],["keywords/859",[]],["title/860",[399,334.114,881,283.991]],["content/860",[204,7.243,498,16.493,920,15.376,4083,16.493,4084,20.035,4085,21.514]],["keywords/860",[]],["title/861",[400,544.017]],["content/861",[19,4.566,290,6.977,880,9.952,960,9.756,1143,10.654,3062,9.618,3077,12.061,3274,14.724,3570,5.882,4086,17.503,4087,18.795,4088,18.795]],["keywords/861",[]],["title/862",[400,544.017]],["content/862",[417,13.433,421,12.182,880,9.952,960,9.756,1046,11.532,1154,11.348,3062,9.618,3077,12.061,3570,5.882,4089,18.795,4090,18.795,4091,18.795]],["keywords/862",[]],["title/863",[400,544.017]],["content/863",[19,4.664,880,10.166,1135,14.431,3062,9.825,3403,11.592,3570,6.008,4092,19.199,4093,19.199,4094,19.199,4095,19.199,4096,19.199]],["keywords/863",[]],["title/864",[400,544.017]],["content/864",[84,10.731,249,9.106,265,7.419,375,6.518,695,8.222,880,10.39,960,10.185,1139,11.053,4097,19.621,4098,19.621]],["keywords/864",[]],["title/865",[3062,542.605,3403,640.247,3570,331.841,4099,1060.364]],["content/865",[]],["keywords/865",[]],["title/866",[366,694.839,862,699.954]],["content/866",[189,13.057,204,6.328,397,9.852,426,5.046,979,10.654,3062,9.618,3403,11.348,3570,5.882,4100,18.795,4101,18.795,4102,18.795,4103,18.795]],["keywords/866",[]],["title/867",[400,544.017]],["content/867",[204,7.243,225,10.452,276,12.045,2263,16.493,4104,18.334,4105,21.514]],["keywords/867",[]],["title/868",[366,694.839,862,699.954]],["content/868",[85,10.888,138,8.73,294,16.273,4106,18.191,4107,22.046]],["keywords/868",[]],["title/869",[3062,542.605,3063,630.57,3570,331.841,4108,1060.364]],["content/869",[]],["keywords/869",[]],["title/870",[399,334.114,881,283.991]],["content/870",[28,7.424,50,8.63,53,11.942,93,6.491,139,6.78,386,5.62,407,10.793,881,3.578,1463,17.503,4109,18.795,4110,18.795]],["keywords/870",[]],["title/871",[2946,621.508,3062,542.605,3570,331.841,4111,1060.364]],["content/871",[]],["keywords/871",[]],["title/872",[399,334.114,881,283.991]],["content/872",[695,8.222,881,3.735,960,10.185,2443,9.774,2734,12.717,3062,10.041,3089,12.141,3570,6.141,4112,19.621,4113,19.621]],["keywords/872",[]],["title/873",[399,334.114,881,283.991]],["content/873",[130,9.091,718,18.144,881,4.303,4114,22.604]],["keywords/873",[]],["title/874",[400,544.017]],["content/874",[55,5.031,189,13.057,204,6.328,556,7.702,954,11.439,1131,12.061,1224,11.63,3062,9.618,3570,5.882,4115,18.795,4116,18.795,4117,18.795]],["keywords/874",[]],["title/875",[399,334.114,881,283.991]],["content/875",[10,5.801,24,5.349,28,9.429,285,13.057,411,9.445,686,14.127,1512,13.643,4118,18.795,4119,18.795,4120,18.795,4121,18.795]],["keywords/875",[]],["title/876",[400,544.017]],["content/876",[55,4.927,189,12.788,204,6.197,1131,11.812,1143,10.434,1145,14.775,1147,12.184,1216,7.145,3062,9.419,3570,5.76,4122,18.407,4123,18.407,4124,18.407]],["keywords/876",[]],["title/877",[399,334.114,881,283.991]],["content/877",[50,8.452,105,10.244,152,6.626,296,8.768,411,9.25,960,9.554,978,11.114,1041,11.489,1319,11.7,1976,12.788,2563,12.623,4125,18.407,4126,18.407]],["keywords/877",[]],["title/878",[400,544.017]],["content/878",[5,6.451,29,10.273,98,8.261,150,8.975,204,6.464,590,11.88,2922,9.327,3062,9.825,3570,6.008,4127,19.199,4128,19.199]],["keywords/878",[]],["title/879",[400,544.017]],["content/879",[68,10.089,88,11.604,130,6.972,174,6.363,204,5.836,218,10.55,273,8.912,1927,10.55,3244,16.143,3610,14.401,3947,12.043,4129,17.334,4130,17.334,4131,17.334,4132,17.334]],["keywords/879",[]],["title/880",[3025,492.094,3062,542.605,3570,331.841,4133,1060.364]],["content/880",[]],["keywords/880",[]],["title/881",[399,334.114,881,283.991]],["content/881",[19,3.707,53,7.634,139,5.505,160,10.906,290,5.665,307,7.107,779,8.705,874,13.509,881,2.905,942,6.934,1139,8.596,1353,9.213,4134,15.259,4135,20.979,4136,13.519,4137,15.259,4138,15.259,4139,15.259,4140,15.259]],["keywords/881",[]],["title/882",[1266,612.987,3071,490.332,3570,331.841,4141,1060.364]],["content/882",[]],["keywords/882",[]],["title/883",[399,334.114,881,283.991]],["content/883",[37,8.393,98,7.92,139,6.64,249,8.542,351,7.758,1266,10.641,2443,9.169,3071,8.512,3570,5.76,4142,18.407,4143,18.407,4144,18.407,4145,18.407]],["keywords/883",[]],["title/884",[612,634.27,2972,763.395]],["content/884",[77,12.269,152,7.936,1786,13.014,3584,14.593,4146,22.046]],["keywords/884",[]],["title/885",[386,446.084,2001,510.148]],["content/885",[19,4.874,77,13.839,152,7.222,176,8.505,660,13.43,776,11.598,1786,11.844,3584,13.28]],["keywords/885",[]],["title/886",[2971,673.976,3071,490.332,3570,331.841,4147,1060.364]],["content/886",[]],["keywords/886",[]],["title/887",[366,694.839,862,699.954]],["content/887",[138,8.128,152,7.388,788,14.259,1927,15.349,4148,20.524,4149,20.524,4150,20.524]],["keywords/887",[]],["title/888",[2946,621.508,3071,490.332,3570,331.841,4151,1060.364]],["content/888",[]],["keywords/888",[]],["title/889",[399,334.114,881,283.991]],["content/889",[204,7.073,920,18.283,982,11.909,1088,14.797,4152,19.564,4153,21.008]],["keywords/889",[]],["title/890",[366,694.839,862,699.954]],["content/890",[20,12.583,204,5.836,776,10.021,799,8.997,919,14.772,920,12.389,1042,13.58,1927,10.55,2798,11.018,3071,8.016,3463,14.772,3570,5.425,4154,17.334,4155,17.334,4156,17.334,4157,17.334]],["keywords/890",[]],["title/891",[612,634.27,2972,763.395]],["content/891",[139,7.578,271,12.144,411,10.557,444,11.425,2381,13.353,4158,21.008,4159,21.008]],["keywords/891",[]],["title/892",[386,446.084,2001,510.148]],["content/892",[19,5.368,27,4.998,98,7.179,139,6.019,380,10.075,426,4.479,598,11.17,740,9.231,877,8.982,2379,12.541,2798,10.606,3071,7.716,3192,13.393,3570,5.222,4160,16.686,4161,16.686]],["keywords/892",[]],["title/893",[400,544.017]],["content/893",[105,11.165,204,6.755,411,10.082,426,5.386,2585,11.931,3195,15.08,3814,11.844,4162,20.063,4163,20.063]],["keywords/893",[]],["title/894",[2921,525.94,3071,490.332,3570,331.841,4164,1060.364]],["content/894",[]],["keywords/894",[]],["title/895",[399,334.114,881,283.991]],["content/895",[19,5.226,554,8.456,695,9.015,881,4.096,941,10.859,4165,21.514]],["keywords/895",[]],["title/896",[2928,417.798,3071,490.332,3570,331.841,4166,1060.364]],["content/896",[]],["keywords/896",[]],["title/897",[399,334.114,881,283.991]],["content/897",[77,11.973,204,7.243,212,13.549,3095,18.334,3427,14.241,4167,21.514]],["keywords/897",[]],["title/898",[366,694.839,862,699.954]],["content/898",[19,4.664,53,9.605,255,8.975,386,5.741,2928,7.565,3071,8.878,3130,16.361,3570,6.008,4168,19.199,4169,19.199,4170,19.199]],["keywords/898",[]],["title/899",[366,694.839,862,699.954]],["content/899",[5,6.742,77,11.165,221,11.446,937,9.52,960,10.414,1131,12.875,4171,15.08,4172,18.684,4173,20.063]],["keywords/899",[]],["title/900",[386,446.084,2001,510.148]],["content/900",[223,14.063,497,14.063,799,10.904,1335,15.25,2585,12.493,2586,12.144,3809,17.335]],["keywords/900",[]],["title/901",[3015,445.613,3071,490.332,3570,331.841,4174,1060.364]],["content/901",[]],["keywords/901",[]],["title/902",[366,694.839,862,699.954]],["content/902",[5,6.185,77,10.244,221,10.501,937,8.734,960,9.554,1131,11.812,3015,7.735,3071,8.512,3570,5.76,4171,13.835,4172,17.142,4175,18.407,4176,18.407]],["keywords/902",[]],["title/903",[366,694.839,862,699.954]],["content/903",[271,12.437,285,14.946,862,10.094,2929,15.881,4177,21.514,4178,21.514]],["keywords/903",[]],["title/904",[386,446.084,2001,510.148]],["content/904",[19,4.294,55,6.143,72,8.731,98,7.606,106,7.538,176,7.494,222,9.088,276,9.897,285,15.943,776,14.731,877,7.186]],["keywords/904",[]],["title/905",[3025,492.094,3071,490.332,3570,331.841,4179,1060.364]],["content/905",[]],["keywords/905",[]],["title/906",[366,694.839,862,699.954]],["content/906",[204,7.422,638,10.421,2929,16.273,4180,22.046,4181,22.046]],["keywords/906",[]],["title/907",[2922,515.126,2934,727.149,3570,331.841,4182,1060.364]],["content/907",[]],["keywords/907",[]],["title/908",[399,334.114,881,283.991]],["content/908",[19,3.907,24,6.137,27,6.458,50,7.385,153,8.193,199,12.33,204,5.415,268,5.646,306,8.606,309,11.676,569,7.661,726,12.33,2922,7.814,3072,9.495,3570,5.034,4183,16.084,4184,16.084,4185,16.084]],["keywords/908",[]],["title/909",[400,544.017]],["content/909",[138,8.319,204,7.073,788,14.595,2929,15.507,3042,16.863,4186,21.008,4187,21.008]],["keywords/909",[]],["title/910",[2922,515.126,3072,625.967,3570,331.841,4188,1060.364]],["content/910",[]],["keywords/910",[]],["title/911",[399,334.114,881,283.991]],["content/911",[69,10.622,268,6.739,513,12.709,881,3.655,955,10.219,2922,9.327,3072,11.334,3570,6.008,4189,19.199,4190,19.199,4191,19.199]],["keywords/911",[]],["title/912",[612,634.27,2972,763.395]],["content/912",[859,12.437,1139,12.12,1602,15.618,4192,15.376,4193,21.514,4194,21.514]],["keywords/912",[]],["title/913",[386,446.084,2001,510.148]],["content/913",[221,12.896,3676,16.409,4195,17.328,4196,21.051]],["keywords/913",[]],["title/914",[2922,515.126,3072,625.967,3570,331.841,4197,1060.364]],["content/914",[]],["keywords/914",[]],["title/915",[399,334.114,881,283.991]],["content/915",[881,4.303,942,10.272,3225,16.409,4198,22.604]],["keywords/915",[]],["title/916",[2922,515.126,3072,625.967,3570,331.841,4199,1060.364]],["content/916",[]],["keywords/916",[]],["title/917",[399,334.114,881,283.991]],["content/917",[881,3.907,942,9.326,2922,9.971,2996,12.297,3225,14.899,3570,6.423,4200,20.524,4201,20.524]],["keywords/917",[]],["title/918",[399,334.114,881,283.991]],["content/918",[19,5.226,138,8.52,881,4.096,911,15.618,2930,13.675,4202,21.514]],["keywords/918",[]],["title/919",[400,544.017]],["content/919",[138,8.52,204,7.243,426,5.776,1221,11.451,4203,15.153,4204,21.514]],["keywords/919",[]],["title/920",[366,694.839,862,699.954]],["content/920",[19,4.874,138,9.848,513,13.28,1221,10.679,1914,11.598,4203,14.131,4205,20.063,4206,20.063]],["keywords/920",[]],["title/921",[2922,515.126,2996,635.327,3570,331.841,4207,1060.364]],["content/921",[]],["keywords/921",[]],["title/922",[399,334.114,881,283.991]],["content/922",[50,9.878,139,7.761,153,10.958,307,10.02,1131,13.806,4208,21.514]],["keywords/922",[]],["title/923",[2922,515.126,3063,630.57,3570,331.841,4209,1060.364]],["content/923",[]],["keywords/923",[]],["title/924",[399,334.114,881,283.991]],["content/924",[50,9.646,248,5.698,328,16.863,569,10.006,1056,16.458,4210,19.564,4211,21.008]],["keywords/924",[]],["title/925",[2922,515.126,3063,630.57,3570,331.841,4212,1060.364]],["content/925",[]],["keywords/925",[]],["title/926",[399,334.114,881,283.991]],["content/926",[389,12.021,881,3.819,1283,11.521,2922,9.746,3570,6.279,3747,13.938,4213,20.063,4214,20.063,4215,20.063]],["keywords/926",[]],["title/927",[400,544.017]],["content/927",[95,13.43,204,6.755,426,5.386,880,10.623,937,9.52,941,10.127,1479,13.589,4216,20.063,4217,20.063]],["keywords/927",[]],["title/928",[2922,515.126,3089,656.117,3570,331.841,4218,1060.364]],["content/928",[]],["keywords/928",[]],["title/929",[399,334.114,881,283.991]],["content/929",[139,6.64,862,8.636,942,10.703,1088,12.965,1158,11.029,1887,8.906,2922,8.942,2933,7.993,3570,5.76,4219,18.407,4220,18.407,4221,18.407]],["keywords/929",[]],["title/930",[399,334.114,881,283.991]],["content/930",[24,5.349,28,7.424,151,7.898,174,6.9,204,6.328,306,10.056,619,12.582,825,8.186,4222,17.503,4223,18.795,4224,18.795,4225,18.795]],["keywords/930",[]],["title/931",[400,544.017]],["content/931",[24,5.842,204,6.91,211,9.971,298,9.295,306,10.982,307,9.559,2261,13.739,4226,20.524]],["keywords/931",[]],["title/932",[2922,515.126,2933,460.433,3570,331.841,4227,1060.364]],["content/932",[]],["keywords/932",[]],["title/933",[399,334.114,881,283.991]],["content/933",[95,12.322,204,6.197,380,11.114,426,6.323,1480,11.294,2922,8.942,3015,7.735,3570,5.76,4228,16.308,4229,18.407,4230,18.407,4231,18.407]],["keywords/933",[]],["title/934",[400,544.017]],["content/934",[37,9.358,176,8.701,252,4.512,261,11.041,660,13.739,776,11.865,1024,13.441,4232,20.524]],["keywords/934",[]],["title/935",[2922,515.126,3015,445.613,3570,331.841,4233,1060.364]],["content/935",[]],["keywords/935",[]],["title/936",[399,334.114,881,283.991]],["content/936",[298,9.743,508,11.451,598,14.402,881,4.096,4234,20.035,4235,21.514]],["keywords/936",[]],["title/937",[2922,515.126,3015,445.613,3570,331.841,4236,1060.364]],["content/937",[]],["keywords/937",[]],["title/938",[399,334.114,881,283.991]],["content/938",[180,9.918,521,12.573,776,11.099,825,8.363,2261,12.852,2922,9.327,3015,8.068,3570,6.008,3610,12.203,4237,19.199,4238,19.199]],["keywords/938",[]],["title/939",[399,334.114,881,283.991]],["content/939",[174,6.757,411,9.25,504,10.183,695,7.713,812,11.7,955,9.797,2102,15.189,2481,15.686,2515,13.155,4239,18.407,4240,18.407,4241,17.142,4242,18.407]],["keywords/939",[]],["title/940",[400,544.017]],["content/940",[5,6.451,13,9.871,93,6.631,204,6.464,554,7.546,2922,9.327,3025,8.91,3570,6.008,4243,19.199,4244,19.199,4245,19.199]],["keywords/940",[]],["title/941",[400,544.017]],["content/941",[5,7.408,13,11.334,3170,19.532,4246,20.53,4247,22.046]],["keywords/941",[]],["title/942",[386,446.084,2001,510.148]],["content/942",[19,4.294,176,7.494,255,8.264,312,6.27,402,11.344,426,6.161,723,8.731,877,7.186,2342,9.668,2548,15.064,4248,15.662,4249,17.678,4250,17.678,4251,17.678]],["keywords/942",[]],["title/943",[1362,680.462,2921,525.94,3570,331.841,4252,1060.364]],["content/943",[]],["keywords/943",[]],["title/944",[399,334.114,881,283.991]],["content/944",[592,14.131,717,17.097,881,3.819,942,9.117,1266,11.598,2921,9.951,3570,6.279,4253,20.063,4254,20.063]],["keywords/944",[]],["title/945",[400,544.017]],["content/945",[24,5.585,62,8.176,151,8.246,204,6.606,2921,9.732,2934,13.456,3570,6.141,4255,18.273,4256,19.621,4257,19.621]],["keywords/945",[]],["title/946",[612,634.27,2972,763.395]],["content/946",[152,7.936,804,13.76,1887,10.667,4258,22.046,4259,22.046]],["keywords/946",[]],["title/947",[400,544.017]],["content/947",[24,5.464,204,6.464,257,8.022,307,11.268,1602,13.937,2261,12.852,3610,12.203,4260,19.199,4261,19.199,4262,19.199]],["keywords/947",[]],["title/948",[366,694.839,862,699.954]],["content/948",[11,5.87,19,4.381,111,11.256,174,6.621,176,7.645,1221,9.599,2675,15.369,3910,13.092,4263,12.89,4264,18.035,4265,18.035,4266,15.979,4267,16.795,4268,18.035]],["keywords/948",[]],["title/949",[386,446.084,2001,510.148]],["content/949",[156,14.718,488,9.008,877,7.804,1634,12.709,2261,12.852,2921,9.523,3077,12.321,3570,6.008,4269,16.361,4270,19.199,4271,19.199]],["keywords/949",[]],["title/950",[399,334.114,881,283.991]],["content/950",[19,5.355,152,7.936,513,14.593,1786,13.014,4272,22.046]],["keywords/950",[]],["title/951",[612,634.27,2972,763.395]],["content/951",[152,7.745,513,14.241,612,9.147,2381,13.675,3256,15.618,4273,21.514]],["keywords/951",[]],["title/952",[386,446.084,2001,510.148]],["content/952",[129,13.586,152,7.388,513,16.694,612,8.726,877,8.343,2381,13.045,3610,13.045]],["keywords/952",[]],["title/953",[2921,525.94,3077,680.462,3570,331.841,4274,1060.364]],["content/953",[]],["keywords/953",[]],["title/954",[399,334.114,881,283.991]],["content/954",[20,11.077,50,7.006,307,7.107,344,9.609,569,7.268,776,12.029,801,12.248,825,9.063,982,8.65,1610,13.003,2840,10.601,4275,13.519,4276,15.259,4277,14.21,4278,15.259,4279,15.259,4280,15.259,4281,15.259,4282,12.248,4283,15.259,4284,15.259]],["keywords/954",[]],["title/955",[2921,525.94,2996,635.327,3570,331.841,4285,1060.364]],["content/955",[]],["keywords/955",[]],["title/956",[399,334.114,881,283.991]],["content/956",[27,5.402,60,12.073,163,10.497,306,12.439,383,10.806,452,10.976,569,8.59,2840,12.529,2921,8.945,2996,10.806,3570,5.644,4286,18.035,4287,18.035]],["keywords/956",[]],["title/957",[400,544.017]],["content/957",[5,6.593,27,5.877,151,8.246,327,10.234,3610,12.472,4288,17.384,4289,18.273,4290,19.621,4291,19.621,4292,19.621]],["keywords/957",[]],["title/958",[386,446.084,2001,510.148]],["content/958",[47,6.133,71,5.872,93,3.332,135,3.943,138,3.821,139,5.375,149,6.616,174,3.542,176,6.316,191,5.402,211,4.687,221,5.504,222,4.96,276,5.402,296,7.097,298,4.369,307,4.494,327,9.495,410,4.462,411,4.848,426,2.59,469,6.022,488,6.991,513,6.387,752,6.796,877,8.322,927,7.004,1084,6.616,1117,6.616,1887,7.209,2921,4.786,2929,7.122,2996,5.781,3256,7.004,3570,3.019,4293,12.295,4294,9.648,4295,9.648,4296,9.648,4297,9.648,4298,9.648,4299,9.648,4300,8.985,4301,9.648,4302,9.648,4303,9.648]],["keywords/958",[]],["title/959",[612,634.27,2972,763.395]],["content/959",[2,8.996,60,13.739,188,11.422,275,14.259,411,10.314,539,18.184,4304,20.524,4305,20.524]],["keywords/959",[]],["title/960",[400,544.017]],["content/960",[204,7.073,248,5.698,799,10.904,2443,10.465,4106,17.335,4306,21.008,4307,21.008]],["keywords/960",[]],["title/961",[386,446.084,2001,510.148]],["content/961",[199,15.734,877,8.343,2921,10.18,3001,14.669,3095,17.49,3570,6.423,4308,19.113,4309,20.524]],["keywords/961",[]],["title/962",[400,544.017]],["content/962",[50,9.212,1910,12.522,2921,9.951,3089,12.414,3570,6.279,4192,14.339,4310,20.063,4311,20.063,4312,20.063]],["keywords/962",[]],["title/963",[399,334.114,881,283.991]],["content/963",[290,8.184,539,19.532,881,4.197,1541,14.758,4313,22.046]],["keywords/963",[]],["title/964",[400,544.017]],["content/964",[5,6.742,43,10.569,52,8.069,57,10.414,60,13.43,799,10.414,4314,20.063,4315,20.063,4316,20.063]],["keywords/964",[]],["title/965",[2921,525.94,2933,460.433,3570,331.841,4317,1060.364]],["content/965",[]],["keywords/965",[]],["title/966",[399,334.114,881,283.991]],["content/966",[10,6.057,27,7.346,306,10.499,1319,12.472,2921,9.732,3025,9.106,3570,6.141,4318,19.621,4319,19.621]],["keywords/966",[]],["title/967",[612,634.27,2972,763.395]],["content/967",[62,10.508,298,9.295,1867,13.441,2342,11.225,3508,17.49,4320,20.524,4321,20.524]],["keywords/967",[]],["title/968",[386,446.084,2001,510.148]],["content/968",[11,5.431,19,4.053,62,6.952,152,6.006,174,6.125,445,11.592,877,6.783,1362,10.708,2342,9.125,2933,7.245,3570,5.222,4322,16.686,4323,22.096,4324,14.783,4325,13.769,4326,16.686,4327,16.686]],["keywords/968",[]],["title/969",[612,634.27,2972,763.395]],["content/969",[152,7.936,298,9.984,306,11.796,4328,20.53,4329,22.046]],["keywords/969",[]],["title/970",[386,446.084,2001,510.148]],["content/970",[19,4.874,152,7.222,176,8.505,2307,17.775,2933,8.712,2934,13.758,3570,6.279,4330,20.063,4331,20.063]],["keywords/970",[]],["title/971",[612,634.27,2972,763.395]],["content/971",[5,7.059,27,6.292,306,11.24,307,9.785,2342,11.489,4332,21.008,4333,21.008]],["keywords/971",[]],["title/972",[386,446.084,2001,510.148]],["content/972",[174,8.298,306,12.095,877,9.188,2307,20.027]],["keywords/972",[]],["title/973",[2933,460.433,2934,727.149,3570,331.841,4334,1060.364]],["content/973",[]],["keywords/973",[]],["title/974",[399,334.114,881,283.991]],["content/974",[10,5.926,135,7.846,152,6.911,186,13.004,726,14.718,1887,9.29,3020,14.431,4275,17.01,4335,19.199,4336,19.199,4337,19.199]],["keywords/974",[]],["title/975",[2933,460.433,3072,625.967,3570,331.841,4338,1060.364]],["content/975",[]],["keywords/975",[]],["title/976",[399,334.114,881,283.991]],["content/976",[19,4.874,306,10.735,569,11.845,955,10.679,979,11.373,1832,18.684,2840,13.938,4339,20.063]],["keywords/976",[]],["title/977",[2933,460.433,3063,630.57,3570,331.841,4340,1060.364]],["content/977",[]],["keywords/977",[]],["title/978",[399,334.114,881,283.991]],["content/978",[27,5.295,50,8.117,55,4.732,81,11.236,323,7.06,666,9.838,726,13.552,1080,14.19,1283,10.151,2933,7.676,3570,5.532,4341,17.678,4342,17.678,4343,17.678]],["keywords/978",[]],["title/979",[400,544.017]],["content/979",[290,7.448,660,13.43,776,11.598,2933,8.712,3089,12.414,3570,6.279,4344,18.684,4345,20.063,4346,20.063]],["keywords/979",[]],["title/980",[612,634.27,2972,763.395]],["content/980",[150,8.975,152,6.911,1319,12.203,2381,12.203,3910,13.937,4347,19.199,4348,19.199,4349,19.199,4350,14.718,4351,19.199,4352,19.199]],["keywords/980",[]],["title/981",[386,446.084,2001,510.148]],["content/981",[4,6.936,19,5.504,106,7.392,150,8.103,152,6.24,222,8.912,426,4.653,488,8.133,535,12.209,595,11.604,977,11.604,1319,11.018,2137,10.819,2208,14.772,4353,17.334]],["keywords/981",[]],["title/982",[1224,656.117,2933,460.433,3570,331.841,4354,1060.364]],["content/982",[]],["keywords/982",[]],["title/983",[399,334.114,881,283.991]],["content/983",[52,9.091,170,16.99,982,12.814,4355,22.604]],["keywords/983",[]],["title/984",[1224,656.117,2933,460.433,3570,331.841,4356,1060.364]],["content/984",[]],["keywords/984",[]],["title/985",[399,334.114,881,283.991]],["content/985",[380,12.99,410,9.949,488,10.094,4357,17.753,4358,20.035,4359,21.514]],["keywords/985",[]],["title/986",[1224,656.117,2933,460.433,3570,331.841,4360,1060.364]],["content/986",[]],["keywords/986",[]],["title/987",[399,334.114,881,283.991]],["content/987",[204,7.073,385,13.616,497,14.063,3130,17.902,3399,19.564,4361,19.564,4362,21.008]],["keywords/987",[]],["title/988",[1155,621.508,2933,460.433,3570,331.841,4363,1060.364]],["content/988",[]],["keywords/988",[]],["title/989",[399,334.114,881,283.991]],["content/989",[151,8.246,174,7.203,983,16.721,2872,9.817,2933,8.52,3570,6.141,4364,19.621,4365,19.621,4366,19.621,4367,19.621]],["keywords/989",[]],["title/990",[400,544.017]],["content/990",[53,9.605,204,6.464,211,9.327,386,5.741,389,11.503,3747,13.338,3772,17.88,4368,19.199,4369,19.199,4370,19.199,4371,19.199]],["keywords/990",[]],["title/991",[2872,530.506,2933,460.433,3570,331.841,4372,1060.364]],["content/991",[]],["keywords/991",[]],["title/992",[399,334.114,881,283.991]],["content/992",[10,6.641,102,8.154,114,8.456,399,4.818,4373,20.035,4374,21.514]],["keywords/992",[]],["title/993",[1216,411.615,2933,460.433,3570,331.841,4375,1060.364]],["content/993",[]],["keywords/993",[]],["title/994",[399,334.114,881,283.991]],["content/994",[19,4.986,411,10.314,444,11.162,2933,8.912,3062,10.503,3570,6.423,4376,20.524,4377,20.524]],["keywords/994",[]],["title/995",[400,544.017]],["content/995",[52,8.653,1494,14.089,4378,18.334,4379,17.269,4380,21.514,4381,21.514]],["keywords/995",[]],["title/996",[2933,460.433,3062,542.605,3570,331.841,4382,1060.364]],["content/996",[]],["keywords/996",[]],["title/997",[399,334.114,881,283.991]],["content/997",[4,7.851,52,7.892,623,13.135,1451,13.632,2933,8.52,3062,10.041,3570,6.141,4383,18.273,4384,19.621,4385,19.621]],["keywords/997",[]],["title/998",[399,334.114,881,283.991]],["content/998",[5,4.195,19,3.032,24,3.553,27,3.739,29,6.679,52,5.021,62,5.201,151,10.38,169,6.016,306,12.454,447,10.301,1422,15.676,2502,10.02,2869,16.637,2964,16.279,4386,12.483,4387,12.483,4388,12.483,4389,12.483,4390,12.483,4391,12.483,4392,12.483,4393,12.483]],["keywords/998",[]],["title/999",[400,544.017]],["content/999",[204,6.464,2964,18.547,4394,24.193,4395,20.617,4396,24.193,4397,19.199,4398,19.199]],["keywords/999",[]],["title/1000",[386,446.084,2001,510.148]],["content/1000",[19,1.674,121,6.72,135,4.652,141,3.21,151,10.842,152,5.235,176,2.921,248,6.885,386,4.349,488,5.341,497,7.62,556,4.665,606,6.985,877,10.319,1655,5.179,1867,4.513,2310,6.417,2324,6.417,2325,6.417,2328,6.417,2342,3.769,2369,6.417,2964,5.283,2972,3.526,3078,4.925,4241,6.417,4399,14.391,4400,6.891,4401,10.601,4402,9.393,4403,6.891,4404,6.891,4405,6.105,4406,6.891,4407,6.891,4408,6.891,4409,11.383,4410,6.891,4411,6.891,4412,6.891,4413,6.891]],["keywords/1000",[]],["title/1001",[2921,525.94,2933,460.433,3570,331.841,4414,1060.364]],["content/1001",[]],["keywords/1001",[]],["title/1002",[399,334.114,881,283.991]],["content/1002",[50,10.122,152,7.936,569,10.501,3910,16.003,4415,22.046]],["keywords/1002",[]],["title/1003",[2933,460.433,3015,445.613,3570,331.841,4416,1060.364]],["content/1003",[]],["keywords/1003",[]],["title/1004",[399,334.114,881,283.991]],["content/1004",[4,7.682,290,7.127,386,5.741,1451,16.808,2933,8.337,3025,8.91,3570,6.008,4417,19.199,4418,19.199,4419,19.199]],["keywords/1004",[]],["title/1005",[399,334.114,881,283.991]],["content/1005",[136,10.758,306,10.982,323,6.314,365,15.734,1680,12.03,4420,20.524,4421,20.524,4422,20.524]],["keywords/1005",[]],["title/1006",[386,446.084,2001,510.148]],["content/1006",[152,7.562,1362,13.481,2928,8.277,3570,6.574,4423,21.008,4424,21.008,4425,21.008]],["keywords/1006",[]],["title/1007",[612,634.27,2972,763.395]],["content/1007",[55,5.901,138,8.73,411,11.078,695,9.238,4426,22.046]],["keywords/1007",[]],["title/1008",[400,544.017]],["content/1008",[55,5.759,204,7.243,296,10.248,1887,10.41,2502,17.269,4427,21.514]],["keywords/1008",[]],["title/1009",[386,446.084,2001,510.148]],["content/1009",[10,6.641,595,14.402,877,8.745,1040,13.675,2734,13.944,4428,17.269]],["keywords/1009",[]],["title/1010",[1266,612.987,2928,417.798,3570,331.841,4429,1060.364]],["content/1010",[]],["keywords/1010",[]],["title/1011",[399,334.114,881,283.991]],["content/1011",[204,6.91,2928,8.087,3072,12.116,3242,19.113,3570,6.423,4263,14.669,4430,20.524,4431,20.524]],["keywords/1011",[]],["title/1012",[400,544.017]],["content/1012",[114,7.885,124,13.28,298,9.086,877,8.155,881,3.819,1867,13.138,4432,20.063,4433,20.063,4434,20.063]],["keywords/1012",[]],["title/1013",[2928,417.798,3072,625.967,3570,331.841,4435,1060.364]],["content/1013",[]],["keywords/1013",[]],["title/1014",[399,334.114,881,283.991]],["content/1014",[24,5.349,211,9.131,296,8.952,298,8.511,510,11.946,796,9.022,2928,7.405,3072,11.095,3570,5.882,4436,18.795,4437,18.795,4438,18.795]],["keywords/1014",[]],["title/1015",[400,544.017]],["content/1015",[44,13.944,90,9.984,332,12.196,1117,14.753,4439,20.035,4440,21.514]],["keywords/1015",[]],["title/1016",[2928,417.798,2939,718.229,3570,331.841,4441,1060.364]],["content/1016",[]],["keywords/1016",[]],["title/1017",[399,334.114,881,283.991]],["content/1017",[37,8.57,328,15.086,569,8.952,636,11.63,2928,7.405,2971,11.946,3570,5.882,3854,15.509,4442,18.795,4443,18.795,4444,18.795,4445,18.795]],["keywords/1017",[]],["title/1018",[400,544.017]],["content/1018",[57,10.414,592,14.131,2928,7.905,3077,12.875,3570,6.279,4446,17.775,4447,18.684,4448,20.063,4449,20.063]],["keywords/1018",[]],["title/1019",[612,634.27,2972,763.395]],["content/1019",[5,7.059,19,5.103,27,6.292,72,10.376,176,8.905,4450,21.008,4451,21.008]],["keywords/1019",[]],["title/1020",[386,446.084,2001,510.148]],["content/1020",[11,6.117,19,5.798,176,7.967,312,6.666,504,10.398,877,7.64,2928,7.405,3077,12.061,3494,17.503,3570,5.882,4452,18.795]],["keywords/1020",[]],["title/1021",[612,634.27,2972,763.395]],["content/1021",[5,7.059,19,5.103,24,5.979,72,10.376,176,8.905,4453,21.008,4454,21.008]],["keywords/1021",[]],["title/1022",[386,446.084,2001,510.148]],["content/1022",[11,6.117,19,5.798,176,7.967,312,6.666,511,10.338,877,7.64,2928,7.405,3077,12.061,3496,17.503,3570,5.882,4455,18.795]],["keywords/1022",[]],["title/1023",[612,634.27,2972,763.395]],["content/1023",[27,6.009,28,7.925,358,13.28,386,5.999,1220,13.138,4456,18.684,4457,20.063,4458,18.684,4459,20.063]],["keywords/1023",[]],["title/1024",[386,446.084,2001,510.148]],["content/1024",[19,5.031,24,2.807,93,5.234,106,4.205,152,7.455,167,5.023,169,7.303,176,4.18,257,4.121,268,3.462,323,3.034,332,10.461,336,7.916,386,2.949,410,4.56,426,2.647,569,8.79,586,11.73,796,7.274,877,4.009,881,3.513,955,5.249,969,6.102,1220,6.458,3195,7.412,3366,10.83,3624,11.186,4460,9.862,4461,15.153,4462,12.504,4463,12.504,4464,15.153]],["keywords/1024",[]],["title/1025",[2928,417.798,3403,640.247,3570,331.841,4465,1060.364]],["content/1025",[]],["keywords/1025",[]],["title/1026",[399,334.114,881,283.991]],["content/1026",[89,11.908,695,9.472,3188,17.328,4466,22.604]],["keywords/1026",[]],["title/1027",[1283,608.91,2928,417.798,3570,331.841,4467,1060.364]],["content/1027",[]],["keywords/1027",[]],["title/1028",[366,694.839,862,699.954]],["content/1028",[5,6.451,211,9.327,298,8.695,806,16.361,969,11.88,2928,7.565,2946,11.253,3570,6.008,4468,19.199,4469,19.199,4470,19.199]],["keywords/1028",[]],["title/1029",[366,694.839,862,699.954]],["content/1029",[5,7.059,211,10.205,298,9.513,806,17.902,876,11.489,4471,21.008,4472,21.008]],["keywords/1029",[]],["title/1030",[386,446.084,2001,510.148]],["content/1030",[8,11.989,211,10.71,298,9.984,876,12.057,1389,15.528]],["keywords/1030",[]],["title/1031",[2928,417.798,3089,656.117,3570,331.841,4473,1060.364]],["content/1031",[]],["keywords/1031",[]],["title/1032",[399,334.114,881,283.991]],["content/1032",[65,11.598,208,15.718,395,13.28,1541,13.43,2798,12.752,2928,7.905,3570,6.279,4474,20.063,4475,20.063]],["keywords/1032",[]],["title/1033",[612,634.27,2972,763.395]],["content/1033",[28,8.708,93,7.614,2342,12.057,4476,20.53,4477,22.046]],["keywords/1033",[]],["title/1034",[386,446.084,2001,510.148]],["content/1034",[28,8.298,93,7.255,2342,11.489,2798,13.353,2928,8.277,3570,6.574,4478,21.008]],["keywords/1034",[]],["title/1035",[612,634.27,2972,763.395]],["content/1035",[249,10.231,411,11.078,4479,19.532,4480,22.046,4481,22.046]],["keywords/1035",[]],["title/1036",[386,446.084,2001,510.148]],["content/1036",[411,10.082,1155,11.759,1680,11.759,2585,11.931,2586,11.598,2928,7.905,3570,6.279,4479,17.775,4482,20.063]],["keywords/1036",[]],["title/1037",[612,634.27,2972,763.395]],["content/1037",[411,11.078,1040,14.012,2784,17.271,4483,22.046,4484,22.046]],["keywords/1037",[]],["title/1038",[386,446.084,2001,510.148]],["content/1038",[411,10.557,1040,13.353,1155,12.313,2784,16.458,2928,8.277,3570,6.574,4485,21.008]],["keywords/1038",[]],["title/1039",[612,634.27,2972,763.395]],["content/1039",[53,10.764,275,14.946,411,10.811,1680,12.61,4486,21.514,4487,21.514]],["keywords/1039",[]],["title/1040",[386,446.084,2001,510.148]],["content/1040",[19,4.874,53,10.037,411,10.082,1680,11.759,2928,7.905,3019,13.003,3570,6.279,4488,20.063,4489,20.063]],["keywords/1040",[]],["title/1041",[612,634.27,2972,763.395]],["content/1041",[83,12.196,152,7.745,180,11.113,441,18.334,4490,20.035,4491,21.514]],["keywords/1041",[]],["title/1042",[386,446.084,2001,510.148]],["content/1042",[137,11.583,211,9.532,298,8.886,488,9.206,2263,15.042,2264,15.042,2928,7.731,3019,12.717,3570,6.141,4492,19.621]],["keywords/1042",[]],["title/1043",[400,544.017]],["content/1043",[530,10.499,588,15.75,1147,12.988,2928,7.731,3019,12.717,3570,6.141,4493,19.621,4494,19.621,4495,19.621,4496,19.621]],["keywords/1043",[]],["title/1044",[399,334.114,881,283.991]],["content/1044",[19,4.566,139,6.78,204,6.328,2137,11.731,3273,16.652,4497,16.652,4498,18.795,4499,18.795,4500,18.795,4501,18.795,4502,18.795,4503,18.795]],["keywords/1044",[]],["title/1045",[612,634.27,2972,763.395]],["content/1045",[93,7.104,138,5.941,257,6.269,300,9.364,307,6.987,411,7.539,426,4.027,504,8.3,850,10.722,1105,6.817,2381,9.536,4504,15.002,4505,15.002,4506,15.002,4507,15.002,4508,13.971,4509,15.002,4510,9.931,4511,15.002,4512,15.002,4513,10.722,4514,15.002,4515,15.002]],["keywords/1045",[]],["title/1046",[400,544.017]],["content/1046",[28,7.584,100,11.503,139,6.926,204,6.464,257,8.022,367,13.523,2381,12.203,4516,19.199,4517,19.199,4518,19.199,4519,19.199]],["keywords/1046",[]],["title/1047",[386,446.084,2001,510.148]],["content/1047",[4,4.859,13,6.243,19,5.078,139,4.381,221,10.104,248,3.294,300,11.054,307,5.656,332,10.039,410,8.189,411,6.102,850,8.679,881,3.979,2342,11.433,2381,7.719,2443,6.049,2928,4.785,3062,6.214,3195,9.127,3570,3.8,4510,8.038,4513,8.679,4520,12.144,4521,12.144,4522,12.144,4523,12.144,4524,12.144,4525,12.144]],["keywords/1047",[]],["title/1048",[399,334.114,881,283.991]],["content/1048",[62,8.753,151,8.828,296,10.006,559,11.622,1867,13.757,4526,21.008,4527,21.008]],["keywords/1048",[]],["title/1049",[612,634.27,2972,763.395]],["content/1049",[152,7.063,327,12.793,4513,14.023,4528,22.84,4529,19.621,4530,19.621,4531,19.621,4532,19.621]],["keywords/1049",[]],["title/1050",[386,446.084,2001,510.148]],["content/1050",[19,5.504,138,8.973,152,6.24,176,7.348,327,11.818,2922,8.421,2928,6.83,3570,5.425,4513,12.389,4528,21.1,4533,17.334,4534,17.334]],["keywords/1050",[]],["title/1051",[612,634.27,2972,763.395]],["content/1051",[77,14.236,221,11.985,261,11.301,3427,13.906,4535,21.008,4536,21.008]],["keywords/1051",[]],["title/1052",[386,446.084,2001,510.148]],["content/1052",[77,11.422,261,11.041,268,7.205,406,16.936,488,9.63,877,8.343,3427,13.586,4537,20.524]],["keywords/1052",[]],["title/1053",[2922,515.126,2928,417.798,3570,331.841,4538,1060.364]],["content/1053",[]],["keywords/1053",[]],["title/1054",[399,334.114,881,283.991]],["content/1054",[136,9.852,137,11.095,153,9.573,389,11.261,2921,9.322,2928,7.405,3570,5.882,3747,13.057,4361,17.503,4539,18.795,4540,18.795,4541,18.795]],["keywords/1054",[]],["title/1055",[612,634.27,2972,763.395]],["content/1055",[19,5.103,72,10.376,152,7.562,3769,18.612,4542,19.564,4543,21.008,4544,21.008]],["keywords/1055",[]],["title/1056",[386,446.084,2001,510.148]],["content/1056",[152,7.745,2921,10.671,2928,8.477,3570,6.733,4542,20.035,4545,21.514]],["keywords/1056",[]],["title/1057",[4054,1545.441]],["content/1057",[2342,12.057,2553,19.532,4546,22.046,4547,22.046,4548,22.046]],["keywords/1057",[]],["title/1058",[386,446.084,2001,510.148]],["content/1058",[19,4.471,152,6.626,176,7.803,881,3.504,2928,7.253,2933,7.993,3195,13.835,3570,5.76,4300,17.142,4549,18.407,4550,18.407,4551,18.407,4552,18.407]],["keywords/1058",[]],["title/1059",[612,634.27,2972,763.395]],["content/1059",[176,8.701,268,7.205,559,11.355,979,11.635,982,11.635,3278,16.079,4553,20.524,4554,20.524]],["keywords/1059",[]],["title/1060",[386,446.084,2001,510.148]],["content/1060",[176,9.12,268,7.552,559,11.902,979,12.196,982,12.196,3278,16.855]],["keywords/1060",[]],["title/1061",[2928,630.983,3570,331.841,4555,1060.364]],["content/1061",[]],["keywords/1061",[]],["title/1062",[399,334.114,881,283.991]],["content/1062",[19,4.986,204,6.91,623,13.739,880,10.868,942,9.326,2443,10.224,3099,13.045,4556,20.524]],["keywords/1062",[]],["title/1063",[2928,417.798,3015,445.613,3570,331.841,4557,1060.364]],["content/1063",[]],["keywords/1063",[]],["title/1064",[399,334.114,881,283.991]],["content/1064",[102,7.123,130,7.559,151,7.898,942,8.54,2928,7.405,2940,12.582,3015,7.898,3570,5.882,3906,16.652,4558,18.795,4559,18.795,4560,18.795]],["keywords/1064",[]],["title/1065",[400,544.017]],["content/1065",[95,12.852,204,6.464,385,12.444,426,5.154,2928,7.565,3015,8.068,3463,16.361,3570,6.008,4561,19.199,4562,19.199,4563,19.199]],["keywords/1065",[]],["title/1066",[4054,1545.441]],["content/1066",[2342,12.057,3254,20.53,4564,22.046,4565,20.53,4566,22.046]],["keywords/1066",[]],["title/1067",[386,446.084,2001,510.148]],["content/1067",[19,5.491,176,9.582,4567,22.604,4568,22.604]],["keywords/1067",[]],["title/1068",[2971,673.976,3015,445.613,3570,331.841,4569,1060.364]],["content/1068",[]],["keywords/1068",[]],["title/1069",[399,334.114,881,283.991]],["content/1069",[389,13.209,3747,15.316,4570,20.53,4571,20.53,4572,22.046]],["keywords/1069",[]],["title/1070",[3015,445.613,3077,680.462,3570,331.841,4573,1060.364]],["content/1070",[]],["keywords/1070",[]],["title/1071",[399,334.114,881,283.991]],["content/1071",[4,8.405,389,12.587,1451,14.595,3099,13.353,3747,14.595,4574,21.008,4575,21.008]],["keywords/1071",[]],["title/1072",[2996,635.327,3015,445.613,3570,331.841,4576,1060.364]],["content/1072",[]],["keywords/1072",[]],["title/1073",[399,334.114,881,283.991]],["content/1073",[16,11.983,389,11.503,955,10.219,1451,13.338,3015,8.068,3403,11.592,3570,6.008,3747,13.338,4577,19.199,4578,19.199,4579,19.199]],["keywords/1073",[]],["title/1074",[612,634.27,2972,763.395]],["content/1074",[411,11.078,886,13.311,4580,18.191,4581,22.046,4582,22.046]],["keywords/1074",[]],["title/1075",[400,544.017]],["content/1075",[12,12.7,52,8.255,93,7.089,114,8.067,126,11.289,179,12.03,4583,20.524,4584,20.524]],["keywords/1075",[]],["title/1076",[386,446.084,2001,510.148]],["content/1076",[19,4.874,152,7.222,176,8.505,3015,8.431,3063,11.931,3570,6.279,4585,20.063,4586,20.063,4587,20.063]],["keywords/1076",[]],["title/1077",[400,544.017]],["content/1077",[5,7.229,351,9.067,799,11.167,1030,15.618,4588,21.514,4589,21.514]],["keywords/1077",[]],["title/1078",[3015,445.613,3063,630.57,3570,331.841,4590,1060.364]],["content/1078",[]],["keywords/1078",[]],["title/1079",[399,334.114,881,283.991]],["content/1079",[397,10.285,512,11.583,695,8.222,825,8.546,4591,15.042,4592,18.273,4593,19.621,4594,19.621,4595,18.273,4596,18.273]],["keywords/1079",[]],["title/1080",[3015,445.613,3063,630.57,3570,331.841,4597,1060.364]],["content/1080",[]],["keywords/1080",[]],["title/1081",[399,334.114,881,283.991]],["content/1081",[397,9.649,512,10.866,796,8.836,825,8.017,3015,7.735,3063,10.946,3570,5.76,4591,14.111,4592,17.142,4595,17.142,4596,17.142,4598,18.407,4599,18.407]],["keywords/1081",[]],["title/1082",[400,544.017]],["content/1082",[389,12.89,3747,14.946,3748,19.061,4600,21.514,4601,21.514,4602,21.514]],["keywords/1082",[]],["title/1083",[3015,445.613,3063,630.57,3570,331.841,4603,1060.364]],["content/1083",[]],["keywords/1083",[]],["title/1084",[399,334.114,881,283.991]],["content/1084",[89,10.813,390,14.456,817,16.079,828,14.669,1613,15.734,3747,14.259,4604,20.524,4605,20.524]],["keywords/1084",[]],["title/1085",[1283,608.91,3015,445.613,3570,331.841,4606,1060.364]],["content/1085",[]],["keywords/1085",[]],["title/1086",[399,334.114,881,283.991]],["content/1086",[399,4.937,592,15.528,717,18.787,4607,22.046,4608,22.046]],["keywords/1086",[]],["title/1087",[1283,608.91,3015,445.613,3570,331.841,4609,1060.364]],["content/1087",[]],["keywords/1087",[]],["title/1088",[399,334.114,881,283.991]],["content/1088",[386,6.759,3078,16.155,4610,22.604,4611,22.604]],["keywords/1088",[]],["title/1089",[1283,608.91,3015,445.613,3570,331.841,4612,1060.364]],["content/1089",[]],["keywords/1089",[]],["title/1090",[399,334.114,881,283.991]],["content/1090",[52,8.449,90,9.749,312,7.451,1494,13.757,3814,12.401,4613,19.564,4614,21.008]],["keywords/1090",[]],["title/1091",[2946,621.508,3015,445.613,3570,331.841,4615,1060.364]],["content/1091",[]],["keywords/1091",[]],["title/1092",[399,334.114,881,283.991]],["content/1092",[52,7.403,55,4.927,151,7.735,488,8.636,558,8.768,2276,15.189,4358,17.142,4616,17.142,4617,18.407,4618,17.142,4619,18.407,4620,18.407,4621,18.407]],["keywords/1092",[]],["title/1093",[2946,621.508,3015,445.613,3570,331.841,4622,1060.364]],["content/1093",[]],["keywords/1093",[]],["title/1094",[399,334.114,881,283.991]],["content/1094",[77,12.269,799,11.443,858,16.57,4623,19.532,4624,22.046]],["keywords/1094",[]],["title/1095",[2946,621.508,3015,445.613,3570,331.841,4625,1060.364]],["content/1095",[]],["keywords/1095",[]],["title/1096",[399,334.114,881,283.991]],["content/1096",[52,7.892,72,9.691,257,8.199,2946,11.501,3015,8.246,3099,12.472,3570,6.141,4626,19.621,4627,19.621,4628,19.621]],["keywords/1096",[]],["title/1097",[400,544.017]],["content/1097",[52,8.069,72,9.909,151,8.431,2946,11.759,3015,8.431,3570,6.279,4629,20.063,4630,20.063,4631,20.063]],["keywords/1097",[]],["title/1098",[400,544.017]],["content/1098",[89,11.067,389,12.587,452,12.785,817,16.458,3747,14.595,4632,21.008,4633,21.008]],["keywords/1098",[]],["title/1099",[2946,621.508,3015,445.613,3570,331.841,4634,1060.364]],["content/1099",[]],["keywords/1099",[]],["title/1100",[399,334.114,881,283.991]],["content/1100",[19,5.355,72,10.888,886,13.311,4635,22.046,4636,22.046]],["keywords/1100",[]],["title/1101",[2946,621.508,3015,445.613,3570,331.841,4637,1060.364]],["content/1101",[]],["keywords/1101",[]],["title/1102",[399,334.114,881,283.991]],["content/1102",[72,9.909,411,10.082,666,11.165,2946,11.759,3015,8.431,3570,6.279,4638,20.063,4639,20.063,4640,20.063]],["keywords/1102",[]],["title/1103",[612,634.27,2972,763.395]],["content/1103",[152,7.745,2760,17.269,3427,14.241,4282,17.269,4641,21.514,4642,21.514]],["keywords/1103",[]],["title/1104",[386,446.084,2001,510.148]],["content/1104",[19,5.103,152,7.562,176,8.905,386,6.282,3427,13.906,4643,21.008,4644,21.008]],["keywords/1104",[]],["title/1105",[2946,621.508,3015,445.613,3570,331.841,4645,1060.364]],["content/1105",[]],["keywords/1105",[]],["title/1106",[399,334.114,881,283.991]],["content/1106",[24,4.934,50,7.959,53,8.672,62,7.223,135,7.084,139,6.253,254,5.059,298,7.85,955,9.226,4192,12.389,4646,16.143,4647,17.334,4648,17.334,4649,17.334,4650,17.334,4651,17.334]],["keywords/1106",[]],["title/1107",[3015,445.613,3089,656.117,3570,331.841,4652,1060.364]],["content/1107",[]],["keywords/1107",[]],["title/1108",[399,334.114,881,283.991]],["content/1108",[249,9.311,567,8.995,881,3.819,3015,8.431,3089,12.414,3570,6.279,4591,15.38,4653,20.063,4654,20.063]],["keywords/1108",[]],["title/1109",[400,544.017]],["content/1109",[37,8.947,43,10.337,518,11.501,1244,12.472,3015,8.246,3089,12.141,3570,6.141,4655,19.621,4656,19.621,4657,19.621]],["keywords/1109",[]],["title/1110",[400,544.017]],["content/1110",[43,10.569,518,11.759,1224,12.414,3015,8.431,3570,6.279,4658,17.775,4659,20.063,4660,20.063,4661,20.063]],["keywords/1110",[]],["title/1111",[399,334.114,881,283.991]],["content/1111",[290,7.619,323,6.314,410,9.491,594,14.456,819,16.936,4662,20.524,4663,20.524,4664,20.524]],["keywords/1111",[]],["title/1112",[612,634.27,2972,763.395]],["content/1112",[4,8.821,386,6.592,1680,12.922,4665,22.046,4666,22.046]],["keywords/1112",[]],["title/1113",[386,446.084,2001,510.148]],["content/1113",[4,8.212,56,12.297,221,11.709,1680,12.03,2798,13.045,3015,8.625,3570,6.423,4667,20.524]],["keywords/1113",[]],["title/1114",[400,544.017]],["content/1114",[114,7.712,411,9.86,1155,11.501,2563,13.456,3015,8.246,3570,6.141,4668,19.621,4669,19.621,4670,19.621,4671,19.621]],["keywords/1114",[]],["title/1115",[612,634.27,2972,763.395]],["content/1115",[488,11.199,492,15.801,504,13.206,511,13.129,2586,10.865,4672,18.795,4673,18.795,4674,18.795]],["keywords/1115",[]],["title/1116",[386,446.084,2001,510.148]],["content/1116",[24,6.532,27,6.873,176,7.494,488,10.767,1155,10.361,2586,10.219,3015,7.429,3570,5.532,3624,16.94,4675,17.678,4676,17.678]],["keywords/1116",[]],["title/1117",[612,634.27,2972,763.395]],["content/1117",[93,7.43,504,11.902,807,16.171,2135,18.334,4677,21.514,4678,21.514]],["keywords/1117",[]],["title/1118",[386,446.084,2001,510.148]],["content/1118",[19,4.874,152,7.222,176,8.505,1216,7.788,3015,8.431,3570,6.279,4679,20.063,4680,20.063,4681,20.063]],["keywords/1118",[]],["title/1119",[400,544.017]],["content/1119",[48,11.181,139,9.228,218,12.785,513,13.906,4682,17.335,4683,21.008]],["keywords/1119",[]],["title/1120",[366,694.839,862,699.954]],["content/1120",[135,8.019,138,7.77,381,12.717,505,10.671,513,12.988,3015,8.246,3098,10.185,3570,6.141,4684,19.621,4685,19.621]],["keywords/1120",[]],["title/1121",[400,544.017]],["content/1121",[17,14.131,71,12.21,77,11.165,290,7.448,390,14.131,1505,17.775,4044,16.104,4686,20.063,4687,20.063]],["keywords/1121",[]],["title/1122",[3015,445.613,3071,490.332,3570,331.841,4688,1060.364]],["content/1122",[]],["keywords/1122",[]],["title/1123",[399,334.114,881,283.991]],["content/1123",[167,9.994,190,10.555,254,5.727,358,12.988,395,12.988,1494,12.849,2940,13.135,4689,16.191,4690,19.621,4691,19.621]],["keywords/1123",[]],["title/1124",[3015,445.613,3071,490.332,3570,331.841,4692,1060.364]],["content/1124",[]],["keywords/1124",[]],["title/1125",[399,334.114,881,283.991]],["content/1125",[27,6.292,32,13.353,53,10.51,234,14.595,1194,15.25,4693,21.008,4694,21.008]],["keywords/1125",[]],["title/1126",[2921,525.94,3015,445.613,3570,331.841,4695,1060.364]],["content/1126",[]],["keywords/1126",[]],["title/1127",[3078,1338.544]],["content/1127",[799,10.414,825,8.739,2443,9.994,3078,14.339,3981,17.775,4696,18.684,4697,20.063,4698,20.063,4699,18.684]],["keywords/1127",[]],["title/1128",[2933,460.433,3015,445.613,3570,331.841,4700,1060.364]],["content/1128",[]],["keywords/1128",[]],["title/1129",[399,334.114,881,283.991]],["content/1129",[799,11.443,2443,10.982,4696,20.53,4699,20.53,4701,22.046]],["keywords/1129",[]],["title/1130",[2933,460.433,3015,445.613,3570,331.841,4702,1060.364]],["content/1130",[]],["keywords/1130",[]],["title/1131",[399,334.114,881,283.991]],["content/1131",[24,5.464,307,8.942,979,10.884,982,10.884,2109,13.722,2928,7.565,3015,8.068,3570,6.008,4703,19.199,4704,19.199,4705,19.199]],["keywords/1131",[]],["title/1132",[399,334.114,881,283.991]],["content/1132",[62,9.186,152,7.936,174,8.093,1191,14.593,4706,22.046]],["keywords/1132",[]],["title/1133",[400,544.017]],["content/1133",[5,7.229,139,7.761,2665,5.226,4707,21.514,4708,21.514,4709,21.514]],["keywords/1133",[]],["title/1134",[2928,417.798,3015,445.613,3570,331.841,4710,1060.364]],["content/1134",[]],["keywords/1134",[]],["title/1135",[399,334.114,881,283.991]],["content/1135",[15,12.297,85,10.137,139,7.404,2928,8.087,3015,8.625,3570,6.423,4711,20.524,4712,20.524]],["keywords/1135",[]],["title/1136",[400,544.017]],["content/1136",[10,6.057,114,7.712,151,8.246,2928,7.731,3015,8.246,3570,6.141,4713,15.042,4714,19.621,4715,19.621,4716,19.621]],["keywords/1136",[]],["title/1137",[400,544.017]],["content/1137",[5,7.059,10,6.484,29,11.24,114,8.256,2840,14.595,4717,21.008,4718,21.008]],["keywords/1137",[]],["title/1138",[2928,417.798,3015,445.613,3570,331.841,4719,1060.364]],["content/1138",[]],["keywords/1138",[]],["title/1139",[399,334.114,881,283.991]],["content/1139",[365,15.734,3015,10.598,3570,6.423,4720,18.184,4721,20.524,4722,20.524,4723,20.524]],["keywords/1139",[]],["title/1140",[399,334.114,881,283.991]],["content/1140",[10,6.977,130,9.091,191,12.656,4724,22.604]],["keywords/1140",[]],["title/1141",[4054,1545.441]],["content/1141",[19,3.362,252,6.016,312,9.708,4725,27.37,4726,13.839,4727,13.839,4728,13.839,4729,13.839,4730,13.839,4731,13.839,4732,13.839]],["keywords/1141",[]],["title/1142",[386,446.084,2001,510.148]],["content/1142",[19,3.415,27,4.21,195,11.872,312,4.986,2342,15.587,3015,5.907,3025,6.523,3570,4.399,4733,11.979,4734,14.057,4735,14.057,4736,14.057,4737,14.057,4738,14.057,4739,14.057,4740,14.057,4741,14.057,4742,14.057,4743,14.057]],["keywords/1142",[]],["title/1143",[400,544.017]],["content/1143",[225,10.452,366,10.02,517,19.061,4744,21.514,4745,21.514,4746,21.514]],["keywords/1143",[]],["title/1144",[3015,445.613,3025,492.094,3570,331.841,4747,1060.364]],["content/1144",[]],["keywords/1144",[]],["title/1145",[399,334.114,881,283.991]],["content/1145",[152,8.137,1581,16.409,2374,18.652,4748,22.604]],["keywords/1145",[]],["title/1146",[3015,445.613,3025,492.094,3570,331.841,4749,1060.364]],["content/1146",[]],["keywords/1146",[]],["title/1147",[399,334.114,881,283.991]],["content/1147",[52,7.892,243,13.135,327,10.234,332,13.903,799,10.185,1479,13.29,4750,19.621,4751,19.621,4752,19.621]],["keywords/1147",[]],["title/1148",[2959,667.771,3025,492.094,3570,331.841,4753,1060.364]],["content/1148",[]],["keywords/1148",[]],["title/1149",[399,334.114,881,283.991]],["content/1149",[130,8.255,178,13.441,411,10.314,426,5.51,4754,19.113,4755,20.524,4756,17.49,4757,20.524]],["keywords/1149",[]],["title/1150",[1362,680.462,3025,492.094,3570,331.841,4758,1060.364]],["content/1150",[]],["keywords/1150",[]],["title/1151",[399,334.114,881,283.991]],["content/1151",[141,8.942,322,16.361,399,4.3,518,11.253,825,8.363,1655,14.431,4689,15.843,4759,19.199,4760,13.937,4761,19.199,4762,19.199]],["keywords/1151",[]],["title/1152",[1266,612.987,3025,492.094,3570,331.841,4763,1060.364]],["content/1152",[]],["keywords/1152",[]],["title/1153",[399,334.114,881,283.991]],["content/1153",[26,10.735,212,12.635,273,10.315,825,8.739,2443,9.994,4764,20.063,4765,20.063,4766,18.684,4767,20.063]],["keywords/1153",[]],["title/1154",[3025,492.094,3072,625.967,3570,331.841,4768,1060.364]],["content/1154",[]],["keywords/1154",[]],["title/1155",[399,334.114,881,283.991]],["content/1155",[19,5.355,385,14.289,4769,22.046,4770,22.046,4771,22.046]],["keywords/1155",[]],["title/1156",[3025,492.094,3072,625.967,3570,331.841,4772,1060.364]],["content/1156",[]],["keywords/1156",[]],["title/1157",[399,334.114,881,283.991]],["content/1157",[52,8.653,151,9.041,296,10.248,4106,17.753,4773,21.514,4774,21.514]],["keywords/1157",[]],["title/1158",[2939,718.229,3025,492.094,3570,331.841,4775,1060.364]],["content/1158",[]],["keywords/1158",[]],["title/1159",[366,694.839,862,699.954]],["content/1159",[2,8.415,5,6.451,1030,13.937,1220,12.573,2223,14.172,2939,13.004,3025,8.91,3570,6.008,4776,19.199,4777,19.199,4778,19.199]],["keywords/1159",[]],["title/1160",[400,544.017]],["content/1160",[28,7.925,513,13.28,2971,12.752,3025,9.311,3570,6.279,4779,18.684,4780,20.063,4781,20.063,4782,20.063]],["keywords/1160",[]],["title/1161",[400,544.017]],["content/1161",[351,9.527,3584,14.963,4783,22.604,4784,22.604]],["keywords/1161",[]],["title/1162",[3025,492.094,3077,680.462,3570,331.841,4785,1060.364]],["content/1162",[]],["keywords/1162",[]],["title/1163",[399,334.114,881,283.991]],["content/1163",[19,5.355,520,17.696,3090,19.532,4786,22.046,4787,22.046]],["keywords/1163",[]],["title/1164",[3025,492.094,3403,640.247,3570,331.841,4788,1060.364]],["content/1164",[]],["keywords/1164",[]],["title/1165",[399,334.114,881,283.991]],["content/1165",[332,11.373,3025,9.311,3403,12.114,3570,6.279,4192,14.339,4789,20.063,4790,20.063,4791,20.063,4792,20.063]],["keywords/1165",[]],["title/1166",[400,544.017]],["content/1166",[327,11.499,589,18.787,2144,18.191,4793,22.046,4794,22.046]],["keywords/1166",[]],["title/1167",[1283,608.91,3025,492.094,3570,331.841,4795,1060.364]],["content/1167",[]],["keywords/1167",[]],["title/1168",[399,334.114,881,283.991]],["content/1168",[102,7.436,130,7.892,317,11.053,881,3.735,1283,11.268,3025,9.106,3570,6.141,4796,19.621,4797,19.621,4798,19.621]],["keywords/1168",[]],["title/1169",[400,544.017]],["content/1169",[2,8.6,43,10.337,52,7.892,102,7.436,404,13.29,725,15.75,726,15.042,799,10.185,4799,19.621,4800,19.621]],["keywords/1169",[]],["title/1170",[1283,608.91,3025,492.094,3570,331.841,4801,1060.364]],["content/1170",[]],["keywords/1170",[]],["title/1171",[399,334.114,881,283.991]],["content/1171",[102,8.154,130,8.653,317,12.12,397,11.277,4802,21.514,4803,21.514]],["keywords/1171",[]],["title/1172",[2946,621.508,3025,492.094,3570,331.841,4804,1060.364]],["content/1172",[]],["keywords/1172",[]],["title/1173",[399,334.114,881,283.991]],["content/1173",[5,6.742,10,6.193,27,6.009,102,7.604,150,9.379,306,10.735,524,11.165,4805,20.063,4806,20.063]],["keywords/1173",[]],["title/1174",[2946,621.508,3025,492.094,3570,331.841,4807,1060.364]],["content/1174",[]],["keywords/1174",[]],["title/1175",[366,694.839,862,699.954]],["content/1175",[212,13.549,273,11.061,1907,13.806,4766,20.035,4808,20.035,4809,21.514]],["keywords/1175",[]],["title/1176",[2946,621.508,3025,492.094,3570,331.841,4810,1060.364]],["content/1176",[]],["keywords/1176",[]],["title/1177",[399,334.114,881,283.991]],["content/1177",[128,14.063,312,7.451,323,6.462,942,9.546,4811,21.008,4812,21.008,4813,21.008]],["keywords/1177",[]],["title/1178",[2946,621.508,3025,492.094,3570,331.841,4814,1060.364]],["content/1178",[]],["keywords/1178",[]],["title/1179",[399,334.114,881,283.991]],["content/1179",[695,8.045,1341,10.953,2864,13.937,3001,13.722,3025,8.91,3570,6.008,3794,11.88,4815,19.199,4816,19.199,4817,19.199,4818,19.199]],["keywords/1179",[]],["title/1180",[400,544.017]],["content/1180",[52,8.653,349,13.675,3167,16.855,4819,21.514,4820,21.514,4821,21.514]],["keywords/1180",[]],["title/1181",[2798,673.976,3025,492.094,3570,331.841,4822,1060.364]],["content/1181",[]],["keywords/1181",[]],["title/1182",[399,334.114,881,283.991]],["content/1182",[1927,12.785,3019,13.616,3025,9.749,3570,6.574,4823,21.008,4824,21.008,4825,21.008]],["keywords/1182",[]],["title/1183",[400,544.017]],["content/1183",[77,10.92,375,6.518,2872,9.817,3025,9.106,3427,16.235,3570,6.141,4826,19.621,4827,19.621,4828,19.621]],["keywords/1183",[]],["title/1184",[400,544.017]],["content/1184",[351,8.27,612,8.342,786,15.75,937,9.31,942,8.916,2872,9.817,3025,9.106,3570,6.141,4829,19.621,4830,19.621]],["keywords/1184",[]],["title/1185",[400,544.017]],["content/1185",[351,8.27,612,8.342,786,15.75,939,9.691,942,8.916,1754,9.732,3025,9.106,3570,6.141,4831,19.621,4832,19.621]],["keywords/1185",[]],["title/1186",[400,544.017]],["content/1186",[138,8.319,453,13.112,796,10.084,3793,19.564,3794,12.999,4833,21.008,4834,21.008]],["keywords/1186",[]],["title/1187",[1754,525.94,3025,492.094,3570,331.841,4835,1060.364]],["content/1187",[]],["keywords/1187",[]],["title/1188",[399,334.114,881,283.991]],["content/1188",[19,4.986,332,11.635,1754,10.18,3025,9.525,3570,6.423,4836,20.524,4837,20.524,4838,20.524]],["keywords/1188",[]],["title/1189",[400,544.017]],["content/1189",[19,4.566,136,9.852,825,8.186,2443,9.362,4839,18.795,4840,18.795,4841,18.795,4842,18.795,4843,18.795,4844,18.795,4845,18.795,4846,18.795]],["keywords/1189",[]],["title/1190",[386,446.084,2001,510.148]],["content/1190",[2,8.415,4,7.682,145,12.709,191,10.749,273,9.871,488,11.351,3427,12.709,4808,17.88,4847,19.199,4848,19.199]],["keywords/1190",[]],["title/1191",[3025,492.094,3098,550.39,3570,331.841,4849,1060.364]],["content/1191",[]],["keywords/1191",[]],["title/1192",[399,334.114,881,283.991]],["content/1192",[10,6.805,150,10.306,4850,18.787,4851,22.046,4852,22.046]],["keywords/1192",[]],["title/1193",[3025,492.094,3062,542.605,3570,331.841,4853,1060.364]],["content/1193",[]],["keywords/1193",[]],["title/1194",[399,334.114,881,283.991]],["content/1194",[275,13.938,327,10.465,1480,12.31,2921,9.951,3025,9.311,3099,12.752,3570,6.279,4854,20.063,4855,20.063]],["keywords/1194",[]],["title/1195",[400,544.017]],["content/1195",[7,10.935,351,9.291,4591,16.9,4856,22.046,4857,22.046]],["keywords/1195",[]],["title/1196",[3015,445.613,3025,492.094,3570,331.841,4858,1060.364]],["content/1196",[]],["keywords/1196",[]],["title/1197",[399,334.114,881,283.991]],["content/1197",[193,13.906,268,7.374,295,16.458,426,5.64,876,11.489,982,11.909,4859,21.008]],["keywords/1197",[]],["title/1198",[2872,530.506,2959,667.771,3027,309.476,4860,1060.364]],["content/1198",[]],["keywords/1198",[]],["title/1199",[399,334.114,881,283.991]],["content/1199",[152,6.911,203,16.361,389,11.503,1451,13.338,2872,9.605,2959,12.091,3027,5.603,3747,13.338,4861,19.199,4862,19.199,4863,19.199]],["keywords/1199",[]],["title/1200",[386,446.084,2001,510.148]],["content/1200",[203,19.263,411,11.359,807,16.99,4864,22.604]],["keywords/1200",[]],["title/1201",[1362,680.462,2872,530.506,3027,309.476,4865,1060.364]],["content/1201",[]],["keywords/1201",[]],["title/1202",[399,334.114,881,283.991]],["content/1202",[389,12.297,1266,11.865,2872,10.268,2940,13.739,3027,5.99,3747,14.259,4866,20.524,4867,20.524]],["keywords/1202",[]],["title/1203",[400,544.017]],["content/1203",[695,8.222,799,10.185,1266,11.343,2872,9.817,3027,5.727,4591,15.042,4868,19.621,4869,19.621,4870,19.621,4871,19.621]],["keywords/1203",[]],["title/1204",[400,544.017]],["content/1204",[567,8.995,695,8.407,799,10.414,2872,10.037,3027,5.855,3072,11.844,4872,20.063,4873,20.063,4874,20.063]],["keywords/1204",[]],["title/1205",[400,544.017]],["content/1205",[389,13.209,3747,15.316,4875,22.046,4876,22.046,4877,22.046]],["keywords/1205",[]],["title/1206",[2872,530.506,3027,309.476,3072,625.967,4878,1060.364]],["content/1206",[]],["keywords/1206",[]],["title/1207",[399,334.114,881,283.991]],["content/1207",[77,13.839,124,13.28,2872,10.037,3027,5.855,3072,11.844,4879,20.063,4880,20.063,4881,20.063]],["keywords/1207",[]],["title/1208",[400,544.017]],["content/1208",[77,11.973,96,12.437,124,14.241,4882,19.061,4883,21.514,4884,21.514]],["keywords/1208",[]],["title/1209",[2872,530.506,2946,621.508,3027,309.476,4885,1060.364]],["content/1209",[]],["keywords/1209",[]],["title/1210",[399,334.114,881,283.991]],["content/1210",[5,5.504,10,5.056,27,4.906,150,7.657,152,5.896,306,8.764,825,7.134,2872,8.195,2946,9.6,3027,4.78,4886,16.379,4887,16.379,4888,16.379,4889,15.254,4890,21.826,4891,16.379,4892,21.826]],["keywords/1210",[]],["title/1211",[399,334.114,881,283.991]],["content/1211",[373,14.259,519,16.079,1221,10.924,1365,19.113,2433,17.49,2864,14.899,2930,13.045,4893,20.524]],["keywords/1211",[]],["title/1212",[386,446.084,2001,510.148]],["content/1212",[43,11.908,152,8.137,734,10.101,4889,21.051]],["keywords/1212",[]],["title/1213",[1362,680.462,1754,525.94,3027,309.476,4894,1060.364]],["content/1213",[]],["keywords/1213",[]],["title/1214",[399,334.114,881,283.991]],["content/1214",[97,14.289,130,8.867,705,15.118,4895,22.046,4896,22.046]],["keywords/1214",[]],["title/1215",[366,694.839,862,699.954]],["content/1215",[86,13.238,179,11.016,804,11.731,877,7.64,911,13.643,1359,15.509,1754,9.322,2934,12.889,3027,5.485,4897,18.795,4898,18.795,4899,18.795]],["keywords/1215",[]],["title/1216",[400,544.017]],["content/1216",[588,16.475,1147,13.586,1754,10.18,2971,13.045,3027,5.99,4900,20.524,4901,20.524,4902,20.524]],["keywords/1216",[]],["title/1217",[400,544.017]],["content/1217",[44,13.944,71,13.094,389,12.89,877,8.745,1139,12.12,4903,21.514]],["keywords/1217",[]],["title/1218",[1754,525.94,2996,635.327,3027,309.476,4904,1060.364]],["content/1218",[]],["keywords/1218",[]],["title/1219",[399,334.114,881,283.991]],["content/1219",[32,13.675,50,9.878,53,10.764,1480,13.201,4905,21.514,4906,21.514]],["keywords/1219",[]],["title/1220",[1754,525.94,2996,635.327,3027,309.476,4907,1060.364]],["content/1220",[]],["keywords/1220",[]],["title/1221",[399,334.114,881,283.991]],["content/1221",[19,5.103,2161,15.507,4908,21.008,4909,16.863,4910,19.564,4911,21.008,4912,21.008]],["keywords/1221",[]],["title/1222",[1283,608.91,1754,525.94,3027,309.476,4913,1060.364]],["content/1222",[]],["keywords/1222",[]],["title/1223",[399,334.114,881,283.991]],["content/1223",[16,13.428,202,19.061,273,11.061,942,9.776,4914,21.514,4915,21.514]],["keywords/1223",[]],["title/1224",[1155,621.508,1754,525.94,3027,309.476,4916,1060.364]],["content/1224",[]],["keywords/1224",[]],["title/1225",[399,334.114,881,283.991]],["content/1225",[248,6.745,351,8.456,937,9.52,939,9.909,3427,16.461,4917,20.063,4918,20.063]],["keywords/1225",[]],["title/1226",[1155,621.508,1754,525.94,3027,309.476,4919,1060.364]],["content/1226",[]],["keywords/1226",[]],["title/1227",[399,334.114,881,283.991]],["content/1227",[19,5.226,796,10.327,866,13.094,1237,20.035,4920,21.514,4921,21.514]],["keywords/1227",[]],["title/1228",[1216,411.615,1754,525.94,3027,309.476,4922,1060.364]],["content/1228",[]],["keywords/1228",[]],["title/1229",[399,334.114,881,283.991]],["content/1229",[10,5.926,84,10.5,174,7.048,459,13.338,593,12.321,866,11.685,2617,14.431,3427,12.709,3748,17.01,4923,19.199,4924,19.199]],["keywords/1229",[]],["title/1230",[1216,411.615,1754,525.94,3027,309.476,4925,1060.364]],["content/1230",[]],["keywords/1230",[]],["title/1231",[399,334.114,881,283.991]],["content/1231",[53,10.764,128,14.402,845,13.094,877,8.745,4689,17.753,4926,21.514]],["keywords/1231",[]],["title/1232",[1754,525.94,3027,309.476,3071,490.332,4927,1060.364]],["content/1232",[]],["keywords/1232",[]],["title/1233",[399,334.114,881,283.991]],["content/1233",[28,6.241,62,6.583,101,7.107,151,6.64,259,14.713,327,8.241,524,8.793,740,8.741,803,12.682,825,6.882,877,6.422,1754,7.836,1828,13.464,2922,7.675,3027,4.611,4928,15.799,4929,15.799,4930,15.799,4931,21.305,4932,15.799]],["keywords/1233",[]],["title/1234",[386,446.084,2001,510.148]],["content/1234",[28,6.847,52,6.972,62,7.223,151,9.522,223,11.604,268,6.085,327,13.962,514,13.914,4933,17.334,4934,17.334,4935,17.334,4936,17.334]],["keywords/1234",[]],["title/1235",[1754,525.94,2921,525.94,3027,309.476,4937,1060.364]],["content/1235",[]],["keywords/1235",[]],["title/1236",[399,334.114,881,283.991]],["content/1236",[62,6.952,93,5.763,100,9.997,298,7.556,734,7.456,825,7.268,877,6.783,886,10.075,1754,8.276,2921,8.276,3027,4.87,3523,15.539,4910,15.539,4938,16.686,4939,16.686,4940,22.096,4941,16.686]],["keywords/1236",[]],["title/1237",[386,446.084,2001,510.148]],["content/1237",[101,7.649,114,6.683,121,10.038,152,6.121,734,7.598,825,7.406,877,6.912,886,10.267,1754,8.434,1887,8.227,2921,8.434,3027,4.963,3910,12.343,4942,17.004,4943,22.373,4944,17.004]],["keywords/1237",[]],["title/1238",[386,446.084,2001,510.148]],["content/1238",[114,8.067,152,7.388,1754,10.18,1887,9.931,2933,8.912,3027,5.99,3910,14.899,4945,20.524]],["keywords/1238",[]],["title/1239",[400,544.017]],["content/1239",[5,7.229,533,14.572,886,12.99,1030,15.618,4946,21.514,4947,21.514]],["keywords/1239",[]],["title/1240",[1754,525.94,2933,460.433,3027,309.476,4948,1060.364]],["content/1240",[]],["keywords/1240",[]],["title/1241",[399,334.114,881,283.991]],["content/1241",[1676,16.99,2223,16.686,4949,22.604,4950,22.604]],["keywords/1241",[]],["title/1242",[1754,525.94,2928,417.798,3027,309.476,4951,1060.364]],["content/1242",[]],["keywords/1242",[]],["title/1243",[399,334.114,881,283.991]],["content/1243",[492,13.906,886,12.684,979,11.909,3099,13.353,4510,13.906,4952,21.008,4953,21.008]],["keywords/1243",[]],["title/1244",[1754,525.94,2928,417.798,3027,309.476,4954,1060.364]],["content/1244",[]],["keywords/1244",[]],["title/1245",[399,334.114,881,283.991]],["content/1245",[50,9.009,327,10.234,365,15.042,2840,13.632,4379,15.75,4955,18.273,4956,17.384,4957,19.621,4958,19.621,4959,19.621]],["keywords/1245",[]],["title/1246",[1754,525.94,2928,417.798,3027,309.476,4960,1060.364]],["content/1246",[]],["keywords/1246",[]],["title/1247",[399,334.114,881,283.991]],["content/1247",[352,14.244,519,15.372,1145,15.75,1754,9.732,2928,7.731,3027,5.727,4760,14.244,4961,19.621,4962,19.621,4963,19.621]],["keywords/1247",[]],["title/1248",[400,544.017]],["content/1248",[268,7.739,556,9.034,876,12.057,4964,22.046,4965,22.046]],["keywords/1248",[]],["title/1249",[1754,525.94,2928,417.798,3027,309.476,4966,1060.364]],["content/1249",[]],["keywords/1249",[]],["title/1250",[399,334.114,881,283.991]],["content/1250",[191,11.762,204,7.073,3099,13.353,4967,21.008,4968,21.008,4969,21.008,4970,21.008]],["keywords/1250",[]],["title/1251",[1754,525.94,3015,445.613,3027,309.476,4971,1060.364]],["content/1251",[]],["keywords/1251",[]],["title/1252",[399,334.114,881,283.991]],["content/1252",[24,5.979,27,6.292,373,14.595,2940,14.063,4972,17.335,4973,21.008,4974,21.008]],["keywords/1252",[]],["title/1253",[1754,525.94,3015,445.613,3027,309.476,4975,1060.364]],["content/1253",[]],["keywords/1253",[]],["title/1254",[399,334.114,881,283.991]],["content/1254",[171,16.171,298,9.743,489,14.572,881,4.096,4263,15.376,4976,21.514]],["keywords/1254",[]],["title/1255",[1754,525.94,3015,445.613,3027,309.476,4977,1060.364]],["content/1255",[]],["keywords/1255",[]],["title/1256",[399,334.114,881,283.991]],["content/1256",[307,9.139,352,14.244,606,12.04,1754,9.732,3015,8.246,3027,5.727,3099,12.472,4978,19.621,4979,19.621,4980,19.621]],["keywords/1256",[]],["title/1257",[400,544.017]],["content/1257",[796,9.419,979,11.123,982,11.123,1754,9.732,2864,14.244,3015,8.246,3027,5.727,4981,19.621,4982,19.621,4983,19.621]],["keywords/1257",[]],["title/1258",[400,544.017]],["content/1258",[14,10.266,27,6.009,28,7.925,102,7.604,138,7.945,317,11.302,4984,20.063,4985,20.063,4986,20.063]],["keywords/1258",[]],["title/1259",[1216,411.615,2959,667.771,3027,309.476,4987,1060.364]],["content/1259",[]],["keywords/1259",[]],["title/1260",[399,334.114,881,283.991]],["content/1260",[10,6.335,24,5.842,62,8.552,114,8.067,2940,13.739,3270,16.936,4988,20.524,4989,20.524]],["keywords/1260",[]],["title/1261",[1216,411.615,1362,680.462,3027,309.476,4990,1060.364]],["content/1261",[]],["keywords/1261",[]],["title/1262",[399,334.114,881,283.991]],["content/1262",[148,12.573,211,9.327,307,8.942,327,10.014,873,13.523,1216,7.453,1362,12.321,3027,5.603,4991,19.199,4992,19.199,4993,19.199]],["keywords/1262",[]],["title/1263",[400,544.017]],["content/1263",[52,8.449,61,15.79,193,13.906,2840,14.595,4994,21.008,4995,21.008,4996,21.008]],["keywords/1263",[]],["title/1264",[1216,411.615,1362,680.462,3027,309.476,4997,1060.364]],["content/1264",[]],["keywords/1264",[]],["title/1265",[399,334.114,881,283.991]],["content/1265",[358,13.906,373,14.595,376,10.165,1353,12.684,1517,19.564,4998,21.008,4999,21.008]],["keywords/1265",[]],["title/1266",[1216,411.615,1266,612.987,3027,309.476,5000,1060.364]],["content/1266",[]],["keywords/1266",[]],["title/1267",[399,334.114,881,283.991]],["content/1267",[298,8.336,311,13.587,317,10.369,376,8.906,881,3.504,982,10.434,1216,7.145,1266,10.641,3027,5.372,5001,18.407,5002,18.407,5003,18.407,5004,18.407]],["keywords/1267",[]],["title/1268",[2001,640.449]],["content/1268",[10,6.335,52,8.255,114,8.067,825,8.94,1910,12.81,5005,20.524,5006,20.524,5007,20.524]],["keywords/1268",[]],["title/1269",[386,446.084,2001,510.148]],["content/1269",[10,6.641,52,8.653,114,8.456,488,10.094,504,11.902,1910,13.428]],["keywords/1269",[]],["title/1270",[1216,411.615,3027,309.476,3072,625.967,5008,1060.364]],["content/1270",[]],["keywords/1270",[]],["title/1271",[399,334.114,881,283.991]],["content/1271",[13,9.272,97,11.689,135,7.371,161,10.725,1216,7.001,2443,8.984,2940,12.073,3027,5.264,3072,10.647,5009,18.035,5010,18.035,5011,18.035,5012,16.795,5013,18.035]],["keywords/1271",[]],["title/1272",[386,446.084,2001,510.148]],["content/1272",[13,11.621,492,14.963,5012,21.051,5014,13.757]],["keywords/1272",[]],["title/1273",[1216,411.615,2939,718.229,3027,309.476,5015,1060.364]],["content/1273",[]],["keywords/1273",[]],["title/1274",[399,334.114,881,283.991]],["content/1274",[24,5.464,102,7.276,180,9.918,317,10.816,376,9.29,1216,7.453,2515,13.722,2939,13.004,3027,5.603,5016,19.199,5017,19.199]],["keywords/1274",[]],["title/1275",[400,544.017]],["content/1275",[2,7.598,53,8.672,375,5.758,825,7.55,979,9.826,1216,6.729,2971,11.018,3027,5.059,5018,17.334,5019,17.334,5020,17.334,5021,17.334,5022,17.334,5023,22.657,5024,17.334]],["keywords/1275",[]],["title/1276",[386,446.084,2001,510.148]],["content/1276",[135,9.238,327,11.79,410,10.453,1391,20.027]],["keywords/1276",[]],["title/1277",[1216,411.615,3027,309.476,3077,680.462,5025,1060.364]],["content/1277",[]],["keywords/1277",[]],["title/1278",[366,694.839,862,699.954]],["content/1278",[2,7.179,152,5.896,249,7.601,825,9.507,1216,6.358,2996,9.814,3027,4.78,4171,12.311,5026,16.379,5027,16.379,5028,16.379,5029,16.379,5030,17.52,5031,16.379,5032,16.379,5033,16.379,5034,16.379]],["keywords/1278",[]],["title/1279",[386,446.084,2001,510.148]],["content/1279",[152,9.342,881,4.096,3195,16.171,5030,20.832]],["keywords/1279",[]],["title/1280",[1216,411.615,2996,635.327,3027,309.476,5035,1060.364]],["content/1280",[]],["keywords/1280",[]],["title/1281",[366,694.839,862,699.954]],["content/1281",[1216,7.788,2996,12.021,3027,5.855,4083,15.38,4192,14.339,5036,20.063,5037,20.063,5038,20.063,5039,18.684]],["keywords/1281",[]],["title/1282",[400,544.017]],["content/1282",[8,13.228,151,10.222,505,13.228,1216,6.244,1831,10.767,2996,9.637,3027,4.694,4713,18.646,5039,14.979,5040,14.979,5041,14.979,5042,14.979]],["keywords/1282",[]],["title/1283",[400,544.017]],["content/1283",[8,13.727,151,10.608,505,13.727,1831,11.604,4713,19.35,5040,16.143,5041,16.143,5042,16.143]],["keywords/1283",[]],["title/1284",[1216,411.615,2996,635.327,3027,309.476,5043,1060.364]],["content/1284",[]],["keywords/1284",[]],["title/1285",[399,334.114,881,283.991]],["content/1285",[19,3.907,102,6.096,114,6.321,152,5.79,166,10.894,174,5.905,376,7.782,379,9.362,404,10.894,825,7.006,1216,6.244,3027,4.694,3403,9.712,5044,14.979,5045,16.084,5046,16.084,5047,14.25,5048,21.562,5049,16.084]],["keywords/1285",[]],["title/1286",[399,334.114,881,283.991]],["content/1286",[102,7.604,244,9.707,323,6.172,471,14.131,525,13.938,664,13.758,2840,13.938,5050,20.063,5051,20.063]],["keywords/1286",[]],["title/1287",[386,446.084,2001,510.148]],["content/1287",[19,5.355,152,7.936,176,9.346,5047,19.532,5052,20.53]],["keywords/1287",[]],["title/1288",[1216,411.615,3027,309.476,3403,640.247,5053,1060.364]],["content/1288",[]],["keywords/1288",[]],["title/1289",[399,334.114,881,283.991]],["content/1289",[19,5.226,176,9.12,3256,15.618,5047,19.061,5052,20.035,5054,21.514]],["keywords/1289",[]],["title/1290",[1216,411.615,3027,309.476,3403,640.247,5055,1060.364]],["content/1290",[]],["keywords/1290",[]],["title/1291",[399,334.114,881,283.991]],["content/1291",[299,16.003,336,17.696,1604,20.53,3227,16.003,5056,22.046]],["keywords/1291",[]],["title/1292",[1216,411.615,3027,309.476,3403,640.247,5057,1060.364]],["content/1292",[]],["keywords/1292",[]],["title/1293",[366,694.839,862,699.954]],["content/1293",[349,13.675,612,9.147,4760,15.618,5058,21.514,5059,21.514,5060,21.514]],["keywords/1293",[]],["title/1294",[1216,411.615,3027,309.476,3063,630.57,5061,1060.364]],["content/1294",[]],["keywords/1294",[]],["title/1295",[399,334.114,881,283.991]],["content/1295",[102,7.779,331,12.393,376,9.931,395,13.586,508,10.924,881,3.907,5062,20.524,5063,20.524]],["keywords/1295",[]],["title/1296",[1216,411.615,3027,309.476,3063,630.57,5064,1060.364]],["content/1296",[]],["keywords/1296",[]],["title/1297",[399,334.114,881,283.991]],["content/1297",[16,12.81,1216,7.967,2879,19.113,3027,5.99,3063,12.205,5065,20.524,5066,20.524,5067,20.524]],["keywords/1297",[]],["title/1298",[400,544.017]],["content/1298",[33,10.515,96,8.975,138,6.148,139,5.6,327,10.981,804,13.14,825,6.762,877,8.558,911,11.269,1216,6.026,3027,4.531,3063,9.232,4760,11.269,5068,15.524,5069,15.524,5070,15.524,5071,21.053,5072,15.524]],["keywords/1298",[]],["title/1299",[386,446.084,2001,510.148]],["content/1299",[268,7.043,327,10.465,778,9.951,804,12.522,877,8.155,1216,7.788,1283,11.521,3027,5.855,5073,20.063]],["keywords/1299",[]],["title/1300",[399,334.114,881,283.991]],["content/1300",[138,8.52,193,14.241,426,5.776,796,10.327,982,12.196,5074,21.514]],["keywords/1300",[]],["title/1301",[400,544.017]],["content/1301",[53,10.268,71,12.491,88,13.739,139,7.404,5075,16.475,5076,20.524,5077,20.524,5078,20.524]],["keywords/1301",[]],["title/1302",[1216,411.615,1283,608.91,3027,309.476,5079,1060.364]],["content/1302",[]],["keywords/1302",[]],["title/1303",[399,334.114,881,283.991]],["content/1303",[248,6.131,1040,14.367,5080,20.027,5081,22.604]],["keywords/1303",[]],["title/1304",[1216,411.615,1283,608.91,3027,309.476,5082,1060.364]],["content/1304",[]],["keywords/1304",[]],["title/1305",[399,334.114,881,283.991]],["content/1305",[351,9.291,890,17.271,939,10.888,2940,14.758,5083,22.046]],["keywords/1305",[]],["title/1306",[1216,411.615,1283,608.91,3027,309.476,5084,1060.364]],["content/1306",[]],["keywords/1306",[]],["title/1307",[399,334.114,881,283.991]],["content/1307",[327,10.957,825,9.15,982,11.909,5085,17.335,5086,21.008,5087,21.008,5088,21.008]],["keywords/1307",[]],["title/1308",[1216,411.615,2946,621.508,3027,309.476,5089,1060.364]],["content/1308",[]],["keywords/1308",[]],["title/1309",[399,334.114,881,283.991]],["content/1309",[52,8.255,332,11.635,373,14.259,812,13.045,5090,20.524,5091,20.524,5092,20.524,5093,20.524]],["keywords/1309",[]],["title/1310",[1216,411.615,2946,621.508,3027,309.476,5094,1060.364]],["content/1310",[]],["keywords/1310",[]],["title/1311",[366,694.839,862,699.954]],["content/1311",[195,11.348,524,10.46,858,14.127,1216,7.296,1506,13.238,2133,17.503,3001,13.433,3027,5.485,4682,15.509,4779,17.503,5095,18.795,5096,18.795]],["keywords/1311",[]],["title/1312",[400,544.017]],["content/1312",[71,13.094,375,7.147,404,14.572,5097,21.514,5098,21.514,5099,21.514]],["keywords/1312",[]],["title/1313",[1216,411.615,3001,757.842,3027,309.476,5100,1060.364]],["content/1313",[]],["keywords/1313",[]],["title/1314",[399,334.114,881,283.991]],["content/1314",[77,11.165,167,10.219,874,11.446,1139,11.302,1506,14.131,4203,14.131,5101,17.097,5102,20.063,5103,20.063]],["keywords/1314",[]],["title/1315",[1216,411.615,3001,757.842,3027,309.476,5104,1060.364]],["content/1315",[]],["keywords/1315",[]],["title/1316",[399,334.114,881,283.991]],["content/1316",[11,5.431,152,6.006,211,8.106,375,5.543,399,3.737,444,9.074,465,10.238,484,11.592,825,7.268,1216,6.477,3027,4.87,3089,10.325,5105,16.686,5106,16.686,5107,16.686,5108,22.096,5109,16.686]],["keywords/1316",[]],["title/1317",[386,446.084,2001,510.148]],["content/1317",[101,9.025,268,7.043,569,9.556,877,8.155,1216,7.788,3027,5.855,3089,12.414,5110,20.063,5111,20.063]],["keywords/1317",[]],["title/1318",[400,544.017]],["content/1318",[373,15.704,519,17.709,5112,22.604,5113,22.604]],["keywords/1318",[]],["title/1319",[1216,411.615,1224,656.117,3027,309.476,5114,1060.364]],["content/1319",[]],["keywords/1319",[]],["title/1320",[399,334.114,881,283.991]],["content/1320",[5,6.593,29,10.499,114,7.712,153,9.994,251,9.86,825,8.546,941,9.904,5115,19.621,5116,19.621,5117,19.621]],["keywords/1320",[]],["title/1321",[1216,411.615,1224,656.117,3027,309.476,5118,1060.364]],["content/1321",[]],["keywords/1321",[]],["title/1322",[366,694.839,862,699.954]],["content/1322",[37,9.81,225,10.452,327,11.222,4760,15.618,5119,21.514,5120,21.514]],["keywords/1322",[]],["title/1323",[1216,411.615,2798,673.976,3027,309.476,5121,1060.364]],["content/1323",[]],["keywords/1323",[]],["title/1324",[399,334.114,881,283.991]],["content/1324",[19,4.986,1216,7.967,2798,13.045,3027,5.99,5122,20.524,5123,20.524,5124,20.524,5125,20.524]],["keywords/1324",[]],["title/1325",[399,334.114,881,283.991]],["content/1325",[10,6.057,181,12.849,307,9.139,778,9.732,859,11.343,1154,11.847,1353,11.847,4760,14.244,5126,18.273,5127,18.273]],["keywords/1325",[]],["title/1326",[400,544.017]],["content/1326",[327,10.957,877,8.539,971,13.906,4760,15.25,5128,21.008,5129,21.008,5130,21.008]],["keywords/1326",[]],["title/1327",[366,694.839,862,699.954]],["content/1327",[24,3.82,54,8.699,138,5.315,176,5.69,223,8.985,407,7.708,411,6.745,514,10.774,778,6.657,1171,9.325,1402,10.29,1461,11.076,1927,14.643,2405,14.59,4203,13.405,5101,11.438,5131,11.892,5132,11.892,5133,11.892,5134,10.774,5135,11.892,5136,11.892,5137,11.892,5138,11.892,5139,12.5,5140,11.892]],["keywords/1327",[]],["title/1328",[1216,411.615,2798,673.976,3027,309.476,5141,987.478]],["content/1328",[]],["keywords/1328",[]],["title/1329",[399,334.114,881,283.991]],["content/1329",[10,6.057,181,12.849,307,9.139,778,9.732,859,11.343,1154,11.847,1353,11.847,4760,14.244,5126,18.273,5127,18.273]],["keywords/1329",[]],["title/1330",[366,694.839,862,699.954]],["content/1330",[24,3.82,54,8.699,138,5.315,176,5.69,223,8.985,407,7.708,411,6.745,514,10.774,778,6.657,1171,9.325,1402,10.29,1461,11.076,1927,14.643,2405,14.59,4203,13.405,5101,11.438,5131,11.892,5132,11.892,5133,11.892,5134,10.774,5135,11.892,5136,11.892,5137,11.892,5138,11.892,5139,12.5,5140,11.892]],["keywords/1330",[]],["title/1331",[1216,411.615,2798,673.976,3027,309.476,5141,987.478]],["content/1331",[]],["keywords/1331",[]],["title/1332",[399,334.114,881,283.991]],["content/1332",[778,10.671,859,12.437,1154,12.99,1353,12.99,4760,15.618,5142,21.514]],["keywords/1332",[]],["title/1333",[366,694.839,862,699.954]],["content/1333",[24,3.709,54,8.445,138,5.16,176,5.524,223,8.723,407,7.483,411,6.548,514,10.459,778,6.463,1155,7.637,1171,9.053,1216,5.058,1402,9.989,1461,10.752,1927,14.449,2405,9.989,3027,3.803,4203,13.125,5101,11.104,5131,11.545,5132,11.545,5133,11.545,5134,10.459,5135,11.545,5136,11.545,5137,11.545,5138,11.545,5140,11.545,5143,13.03]],["keywords/1333",[]],["title/1334",[399,334.114,881,283.991]],["content/1334",[19,4.874,358,13.28,567,8.995,942,9.117,979,11.373,2443,9.994,4357,16.555,5144,20.063,5145,20.063]],["keywords/1334",[]],["title/1335",[400,544.017]],["content/1335",[88,14.063,424,14.595,4720,18.612,5146,21.008,5147,21.008,5148,21.008,5149,21.008]],["keywords/1335",[]],["title/1336",[1155,621.508,1216,411.615,3027,309.476,5150,1060.364]],["content/1336",[]],["keywords/1336",[]],["title/1337",[399,334.114,881,283.991]],["content/1337",[383,11.261,399,4.209,413,15.509,556,7.702,1155,11.016,1216,7.296,1378,17.503,2864,13.643,3027,5.485,4760,13.643,5151,18.795,5152,18.795]],["keywords/1337",[]],["title/1338",[400,544.017]],["content/1338",[19,4.13,290,6.312,327,8.869,437,13.035,825,7.406,1155,9.966,1216,6.601,1927,10.349,2405,13.035,3027,4.963,4760,12.343,5153,17.004,5154,17.004,5155,17.004,5156,22.373,5157,17.004]],["keywords/1338",[]],["title/1339",[386,446.084,2001,510.148]],["content/1339",[4,9.044,19,5.491,877,9.188,2405,17.328]],["keywords/1339",[]],["title/1340",[1216,411.615,2872,530.506,3027,309.476,5158,1060.364]],["content/1340",[]],["keywords/1340",[]],["title/1341",[399,334.114,881,283.991]],["content/1341",[71,10.976,307,8.4,505,9.808,825,7.855,1216,7.001,1754,8.945,2758,12.368,3027,5.264,3409,15.369,5159,18.035,5160,18.035,5161,23.248,5162,18.035]],["keywords/1341",[]],["title/1342",[386,446.084,2001,510.148]],["content/1342",[505,12.949,946,11.256]],["keywords/1342",[]],["title/1343",[1216,621.646,3027,309.476,5163,1060.364]],["content/1343",[]],["keywords/1343",[]],["title/1344",[399,334.114,881,283.991]],["content/1344",[27,6.603,211,10.71,2940,14.758,4756,18.787,5164,22.046]],["keywords/1344",[]],["title/1345",[1216,411.615,3027,309.476,3098,550.39,5165,1060.364]],["content/1345",[]],["keywords/1345",[]],["title/1346",[399,334.114,881,283.991]],["content/1346",[230,13.527,666,12.269,3821,18.191,5166,22.046,5167,22.046]],["keywords/1346",[]],["title/1347",[1216,411.615,3027,309.476,3062,542.605,5168,1060.364]],["content/1347",[]],["keywords/1347",[]],["title/1348",[399,334.114,881,283.991]],["content/1348",[666,11.422,1216,7.967,1480,12.593,3027,5.99,3071,9.491,5169,20.524,5170,20.524,5171,13.045]],["keywords/1348",[]],["title/1349",[2001,640.449]],["content/1349",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1349",[]],["title/1350",[399,334.114,881,283.991]],["content/1350",[10,3.339,19,2.628,24,4.627,52,4.351,101,4.866,114,4.252,137,6.386,150,5.057,184,7.084,191,6.057,193,7.161,211,5.256,257,4.52,307,5.039,375,3.594,399,2.423,488,5.076,508,5.758,587,7.419,666,6.021,695,4.533,845,6.584,873,7.62,1680,6.341,2363,9.219,3794,10.06,4510,7.161,4909,8.684,5177,8.927,5178,8.927,5179,7.853,5180,7.853,5181,6.752,5182,7.012,5183,7.012,5184,6.942,5185,7.732,5186,8.475,5187,7.732,5188,9.585,5189,9.585,5190,9.585,5191,7.986,5192,8.927,5193,8.927]],["keywords/1350",[]],["title/1351",[400,544.017]],["content/1351",[43,9.132,52,6.972,248,4.701,251,8.711,351,7.306,426,4.653,941,8.749,1221,9.226,2660,10.819,2923,14.772,5194,16.143,5195,16.143,5196,16.143,5197,11.018,5198,11.018,5199,11.018]],["keywords/1351",[]],["title/1352",[366,694.839,862,699.954]],["content/1352",[8,10.441,10,5.926,28,7.584,93,6.631,139,6.926,723,9.482,2734,12.444,5200,15.843,5201,16.361,5202,16.361,5203,16.361]],["keywords/1352",[]],["title/1353",[386,446.084,2001,510.148]],["content/1353",[10,5.308,19,2.834,62,4.861,102,4.422,114,6.759,151,4.903,152,6.191,153,5.943,169,5.623,174,4.283,249,5.414,386,3.489,426,3.132,488,8.069,524,6.493,567,5.231,695,4.889,844,7.219,881,3.274,942,5.302,946,5.515,1158,6.99,1216,4.529,1658,7.159,1786,6.887,2922,5.668,3027,3.405,3366,8.338,3814,6.887,5014,7.101,5171,7.416,5204,9.365,5205,8.338,5206,9.942,5207,9.942,5208,7.282]],["keywords/1353",[]],["title/1354",[2001,640.449]],["content/1354",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1354",[]],["title/1355",[399,334.114,881,283.991]],["content/1355",[10,3.339,19,2.628,24,4.627,52,4.351,101,4.866,114,4.252,137,6.386,150,5.057,184,7.084,191,6.057,193,7.161,211,5.256,257,4.52,307,5.039,375,3.594,399,2.423,488,5.076,508,5.758,587,7.419,666,6.021,695,4.533,845,6.584,873,7.62,1680,6.341,2363,9.219,3794,10.06,4510,7.161,4909,8.684,5177,8.927,5178,8.927,5179,7.853,5180,7.853,5181,6.752,5182,7.012,5183,7.012,5184,6.942,5185,7.732,5186,8.475,5187,7.732,5188,9.585,5189,9.585,5190,9.585,5191,7.986,5192,8.927,5193,8.927]],["keywords/1355",[]],["title/1356",[400,544.017]],["content/1356",[43,9.132,52,6.972,248,4.701,251,8.711,351,7.306,426,4.653,941,8.749,1221,9.226,2660,10.819,2923,14.772,5194,16.143,5195,16.143,5196,16.143,5197,11.018,5198,11.018,5199,11.018]],["keywords/1356",[]],["title/1357",[366,694.839,862,699.954]],["content/1357",[8,10.441,10,5.926,28,7.584,93,6.631,139,6.926,723,9.482,2734,12.444,5200,15.843,5201,16.361,5202,16.361,5203,16.361]],["keywords/1357",[]],["title/1358",[386,446.084,2001,510.148]],["content/1358",[10,5.308,19,2.834,62,4.861,102,4.422,114,6.759,151,4.903,152,6.191,153,5.943,169,5.623,174,4.283,249,5.414,386,3.489,426,3.132,488,8.069,524,6.493,567,5.231,695,4.889,844,7.219,881,3.274,942,5.302,946,5.515,1158,6.99,1216,4.529,1658,7.159,1786,6.887,2922,5.668,3027,3.405,3366,8.338,3814,6.887,5014,7.101,5171,7.416,5204,9.365,5205,8.338,5206,9.942,5207,9.942,5208,7.282]],["keywords/1358",[]],["title/1359",[2001,640.449]],["content/1359",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1359",[]],["title/1360",[399,334.114,881,283.991]],["content/1360",[10,3.339,19,2.628,24,4.627,52,4.351,101,4.866,114,4.252,137,6.386,150,5.057,184,7.084,191,6.057,193,7.161,211,5.256,257,4.52,307,5.039,375,3.594,399,2.423,488,5.076,508,5.758,587,7.419,666,6.021,695,4.533,845,6.584,873,7.62,1680,6.341,2363,9.219,3794,10.06,4510,7.161,4909,8.684,5177,8.927,5178,8.927,5179,7.853,5180,7.853,5181,6.752,5182,7.012,5183,7.012,5184,6.942,5185,7.732,5186,8.475,5187,7.732,5188,9.585,5189,9.585,5190,9.585,5191,7.986,5192,8.927,5193,8.927]],["keywords/1360",[]],["title/1361",[400,544.017]],["content/1361",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1361",[]],["title/1362",[366,694.839,862,699.954]],["content/1362",[8,10.441,10,5.926,28,7.584,93,6.631,139,6.926,723,9.482,2734,12.444,5200,15.843,5201,16.361,5202,16.361,5203,16.361]],["keywords/1362",[]],["title/1363",[386,446.084,2001,510.148]],["content/1363",[10,5.308,19,2.834,62,4.861,102,4.422,114,6.759,151,4.903,152,6.191,153,5.943,169,5.623,174,4.283,249,5.414,386,3.489,426,3.132,488,8.069,524,6.493,567,5.231,695,4.889,844,7.219,881,3.274,942,5.302,946,5.515,1158,6.99,1216,4.529,1658,7.159,1786,6.887,2922,5.668,3027,3.405,3366,8.338,3814,6.887,5014,7.101,5171,7.416,5204,9.365,5205,8.338,5206,9.942,5207,9.942,5208,7.282]],["keywords/1363",[]],["title/1364",[2001,640.449]],["content/1364",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1364",[]],["title/1365",[399,334.114,881,283.991]],["content/1365",[10,3.555,19,2.798,24,4.848,52,4.632,101,5.18,114,4.526,137,6.799,150,5.384,184,7.542,193,7.623,211,5.595,257,4.812,307,5.364,375,3.826,399,2.579,488,5.403,508,6.13,587,7.897,666,6.409,695,4.826,845,7.009,873,8.112,1680,6.75,3794,10.54,4510,7.623,5177,9.503,5178,9.503,5179,8.36,5180,8.36,5181,7.188,5182,7.464,5183,7.464,5184,7.39,5185,8.231,5186,9.022,5187,8.231,5191,8.501,5192,9.503,5193,9.503,5209,9.022]],["keywords/1365",[]],["title/1366",[400,544.017]],["content/1366",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1366",[]],["title/1367",[366,694.839,862,699.954]],["content/1367",[8,10.441,10,5.926,28,7.584,93,6.631,139,6.926,723,9.482,2734,12.444,5200,15.843,5201,16.361,5202,16.361,5203,16.361]],["keywords/1367",[]],["title/1368",[386,446.084,2001,510.148]],["content/1368",[10,5.308,19,2.834,62,4.861,102,4.422,114,6.759,151,4.903,152,6.191,153,5.943,169,5.623,174,4.283,249,5.414,386,3.489,426,3.132,488,8.069,524,6.493,567,5.231,695,4.889,844,7.219,881,3.274,942,5.302,946,5.515,1158,6.99,1216,4.529,1658,7.159,1786,6.887,2922,5.668,3027,3.405,3366,8.338,3814,6.887,5014,7.101,5171,7.416,5204,9.365,5205,8.338,5206,9.942,5207,9.942,5208,7.282]],["keywords/1368",[]],["title/1369",[2001,640.449]],["content/1369",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1369",[]],["title/1370",[399,334.114,881,283.991]],["content/1370",[10,3.555,19,2.798,24,4.848,52,4.632,101,5.18,114,4.526,137,6.799,150,5.384,184,7.542,193,7.623,211,5.595,257,4.812,307,5.364,375,3.826,399,2.579,488,5.403,508,6.13,587,7.897,666,6.409,695,4.826,845,7.009,873,8.112,1680,6.75,3794,10.54,4510,7.623,5177,9.503,5178,9.503,5179,8.36,5180,8.36,5181,7.188,5182,7.464,5183,7.464,5184,7.39,5185,8.231,5186,9.022,5187,8.231,5191,8.501,5192,9.503,5193,9.503,5209,9.022]],["keywords/1370",[]],["title/1371",[400,544.017]],["content/1371",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1371",[]],["title/1372",[366,694.839,862,699.954]],["content/1372",[8,11.989,10,6.805,2734,14.289,5200,18.191,5210,22.046]],["keywords/1372",[]],["title/1373",[386,446.084,2001,510.148]],["content/1373",[19,3.838,152,5.687,249,7.332,426,4.241,488,7.413,524,8.793,567,7.083,695,6.621,881,3.008,942,7.179,946,7.468,1158,9.466,1216,6.133,1658,9.694,1786,9.327,2921,7.836,3027,4.611,3814,9.327,5014,9.616,5171,10.042,5208,9.861]],["keywords/1373",[]],["title/1374",[2001,640.449]],["content/1374",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1374",[]],["title/1375",[399,334.114,881,283.991]],["content/1375",[19,3.165,24,5.304,52,5.241,101,5.861,150,6.091,184,8.533,204,4.387,211,6.33,257,5.445,307,6.069,375,4.329,399,2.918,488,6.114,508,6.936,666,7.252,845,7.93,873,9.178,1680,7.637,3794,8.063,4510,8.625,5179,9.459,5180,9.459,5181,8.133,5182,8.445,5183,8.445,5184,8.362,5185,9.313,5186,10.208,5187,9.313,5191,9.618,5209,10.208,5211,10.752]],["keywords/1375",[]],["title/1376",[400,544.017]],["content/1376",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1376",[]],["title/1377",[386,446.084,2001,510.148]],["content/1377",[19,3.838,152,5.687,249,7.332,426,4.241,488,7.413,524,8.793,567,7.083,695,6.621,881,3.008,942,7.179,946,7.468,1158,9.466,1216,6.133,1658,9.694,1786,9.327,2921,7.836,3027,4.611,3814,9.327,5014,9.616,5171,10.042,5208,9.861]],["keywords/1377",[]],["title/1378",[2001,640.449]],["content/1378",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1378",[]],["title/1379",[399,334.114,881,283.991]],["content/1379",[19,3.165,24,5.304,52,5.241,101,5.861,150,6.091,184,8.533,204,4.387,211,6.33,257,5.445,307,6.069,375,4.329,399,2.918,488,6.114,508,6.936,666,7.252,845,7.93,873,9.178,1680,7.637,3794,8.063,4510,8.625,5179,9.459,5180,9.459,5181,8.133,5182,8.445,5183,8.445,5184,8.362,5185,9.313,5186,10.208,5187,9.313,5191,9.618,5209,10.208,5211,10.752]],["keywords/1379",[]],["title/1380",[400,544.017]],["content/1380",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1380",[]],["title/1381",[386,446.084,2001,510.148]],["content/1381",[19,3.838,152,5.687,249,7.332,426,4.241,488,7.413,524,8.793,567,7.083,695,6.621,881,3.008,942,7.179,946,7.468,1158,9.466,1216,6.133,1658,9.694,1786,9.327,2933,6.86,3027,4.611,3814,9.327,5014,9.616,5171,10.042,5208,9.861]],["keywords/1381",[]],["title/1382",[2001,640.449]],["content/1382",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1382",[]],["title/1383",[399,334.114,881,283.991]],["content/1383",[19,3.415,24,4.001,52,5.654,101,6.323,150,6.571,184,9.205,204,4.732,307,6.547,375,4.67,399,3.148,488,6.595,508,7.482,666,7.823,845,8.555,1680,8.239,3794,8.698,4510,9.305,5179,10.204,5180,10.204,5181,8.774,5182,9.111,5183,9.111,5184,9.021,5185,10.046,5187,10.046,5191,10.376,5209,11.013,5211,11.599]],["keywords/1383",[]],["title/1384",[400,544.017]],["content/1384",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1384",[]],["title/1385",[386,446.084,2001,510.148]],["content/1385",[19,3.838,152,5.687,249,7.332,426,4.241,488,7.413,524,8.793,567,7.083,695,6.621,881,3.008,942,7.179,946,7.468,1158,9.466,1216,6.133,1658,9.694,1786,9.327,2933,6.86,3027,4.611,3814,9.327,5014,9.616,5171,10.042,5208,9.861]],["keywords/1385",[]],["title/1386",[2001,640.449]],["content/1386",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1386",[]],["title/1387",[399,334.114,881,283.991]],["content/1387",[19,3.415,24,4.001,52,5.654,101,6.323,150,6.571,184,9.205,204,4.732,307,6.547,375,4.67,399,3.148,488,6.595,508,7.482,666,7.823,845,8.555,1680,8.239,3794,8.698,4510,9.305,5179,10.204,5180,10.204,5181,8.774,5182,9.111,5183,9.111,5184,9.021,5185,10.046,5187,10.046,5191,10.376,5209,11.013,5211,11.599]],["keywords/1387",[]],["title/1388",[400,544.017]],["content/1388",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1388",[]],["title/1389",[386,446.084,2001,510.148]],["content/1389",[19,3.838,152,5.687,249,7.332,426,4.241,488,7.413,524,8.793,567,7.083,695,6.621,881,3.008,942,7.179,946,7.468,1158,9.466,1216,6.133,1658,9.694,1786,9.327,2933,6.86,3027,4.611,3814,9.327,5014,9.616,5171,10.042,5208,9.861]],["keywords/1389",[]],["title/1390",[2001,640.449]],["content/1390",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1390",[]],["title/1391",[399,334.114,881,283.991]],["content/1391",[19,3.415,24,4.001,52,5.654,101,6.323,150,6.571,184,9.205,204,4.732,307,6.547,375,4.67,399,3.148,488,6.595,508,7.482,666,7.823,845,8.555,1680,8.239,3794,8.698,4510,9.305,5179,10.204,5180,10.204,5181,8.774,5182,9.111,5183,9.111,5184,9.021,5185,10.046,5187,10.046,5191,10.376,5209,11.013,5211,11.599]],["keywords/1391",[]],["title/1392",[400,544.017]],["content/1392",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1392",[]],["title/1393",[386,446.084,2001,510.148]],["content/1393",[19,3.838,152,5.687,249,7.332,426,4.241,488,7.413,524,8.793,567,7.083,695,6.621,881,3.008,942,7.179,946,7.468,1158,9.466,1216,6.133,1658,9.694,1786,9.327,2933,6.86,3027,4.611,3814,9.327,5014,9.616,5171,10.042,5208,9.861]],["keywords/1393",[]],["title/1394",[2001,640.449]],["content/1394",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1394",[]],["title/1395",[399,334.114,881,283.991]],["content/1395",[19,3.644,24,4.27,101,6.748,150,7.013,184,9.824,204,5.051,307,6.987,375,4.984,399,3.36,488,7.039,508,7.985,666,8.349,845,9.13,1680,8.793,3794,9.283,5179,10.89,5180,10.89,5181,9.364,5182,9.723,5183,9.723,5184,9.627,5185,10.722,5187,10.722,5212,13.971]],["keywords/1395",[]],["title/1396",[400,544.017]],["content/1396",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1396",[]],["title/1397",[386,446.084,2001,510.148]],["content/1397",[19,3.838,152,5.687,249,7.332,426,4.241,488,7.413,524,8.793,567,7.083,695,6.621,881,3.008,942,7.179,946,7.468,1158,9.466,1216,6.133,1658,9.694,1786,9.327,2933,6.86,3027,4.611,3814,9.327,5014,9.616,5171,10.042,5208,9.861]],["keywords/1397",[]],["title/1398",[2001,640.449]],["content/1398",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1398",[]],["title/1399",[399,334.114,881,283.991]],["content/1399",[19,3.907,24,4.578,101,7.235,150,7.519,184,10.533,307,7.491,375,5.343,399,3.602,488,7.547,508,8.561,666,8.951,845,9.789,3794,9.952,5181,10.039,5182,10.425,5183,10.425,5184,10.322,5185,11.495,5187,11.495,5212,14.979]],["keywords/1399",[]],["title/1400",[400,544.017]],["content/1400",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1400",[]],["title/1401",[386,446.084,2001,510.148]],["content/1401",[19,3.838,152,5.687,249,7.332,426,4.241,488,7.413,524,8.793,567,7.083,695,6.621,881,3.008,942,7.179,946,7.468,1158,9.466,1216,6.133,1658,9.694,1786,9.327,2928,6.225,3027,4.611,3814,9.327,5014,9.616,5171,10.042,5208,9.861]],["keywords/1401",[]],["title/1402",[2001,640.449]],["content/1402",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1402",[]],["title/1403",[399,334.114,881,283.991]],["content/1403",[24,5.239,150,8.605,307,8.573,375,6.115,399,4.122,508,9.797,845,11.203,3794,11.39,5181,11.489,5182,11.93,5183,11.93,5184,11.812,5213,13.835]],["keywords/1403",[]],["title/1404",[400,544.017]],["content/1404",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1404",[]],["title/1405",[386,446.084,2001,510.148]],["content/1405",[19,3.838,152,5.687,249,7.332,426,4.241,488,7.413,524,8.793,567,7.083,695,6.621,881,3.008,942,7.179,946,7.468,1158,9.466,1216,6.133,1658,9.694,1786,9.327,3015,6.64,3027,4.611,3814,9.327,5014,9.616,5171,10.042,5208,9.861]],["keywords/1405",[]],["title/1406",[2001,640.449]],["content/1406",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1406",[]],["title/1407",[399,334.114,881,283.991]],["content/1407",[24,5.239,150,8.605,307,8.573,375,6.115,399,4.122,508,9.797,845,11.203,3794,11.39,5181,11.489,5182,11.93,5183,11.93,5184,11.812,5213,13.835]],["keywords/1407",[]],["title/1408",[400,544.017]],["content/1408",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1408",[]],["title/1409",[386,446.084,2001,510.148]],["content/1409",[19,3.838,152,5.687,249,7.332,426,4.241,488,7.413,524,8.793,567,7.083,695,6.621,881,3.008,942,7.179,946,7.468,1158,9.466,1216,6.133,1658,9.694,1786,9.327,3015,6.64,3027,4.611,3814,9.327,5014,9.616,5171,10.042,5208,9.861]],["keywords/1409",[]],["title/1410",[2001,640.449]],["content/1410",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1410",[]],["title/1411",[399,334.114,881,283.991]],["content/1411",[24,5.239,150,8.605,307,8.573,375,6.115,399,4.122,508,9.797,845,11.203,3794,11.39,5181,11.489,5182,11.93,5183,11.93,5184,11.812,5213,13.835]],["keywords/1411",[]],["title/1412",[400,544.017]],["content/1412",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1412",[]],["title/1413",[386,446.084,2001,510.148]],["content/1413",[19,3.838,152,5.687,249,7.332,426,4.241,488,7.413,524,8.793,567,7.083,695,6.621,881,3.008,942,7.179,946,7.468,1158,9.466,1216,6.133,1658,9.694,1786,9.327,3015,6.64,3027,4.611,3814,9.327,5014,9.616,5171,10.042,5208,9.861]],["keywords/1413",[]],["title/1414",[2001,640.449]],["content/1414",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1414",[]],["title/1415",[399,334.114,881,283.991]],["content/1415",[24,5.239,150,8.605,307,8.573,375,6.115,399,4.122,508,9.797,845,11.203,3794,11.39,5181,11.489,5182,11.93,5183,11.93,5184,11.812,5213,13.835]],["keywords/1415",[]],["title/1416",[400,544.017]],["content/1416",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1416",[]],["title/1417",[386,446.084,2001,510.148]],["content/1417",[19,3.838,152,5.687,249,7.332,426,4.241,488,7.413,524,8.793,567,7.083,695,6.621,881,3.008,942,7.179,946,7.468,1158,9.466,1216,6.133,1658,9.694,1786,9.327,3015,6.64,3027,4.611,3814,9.327,5014,9.616,5171,10.042,5208,9.861]],["keywords/1417",[]],["title/1418",[2001,640.449]],["content/1418",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1418",[]],["title/1419",[399,334.114,881,283.991]],["content/1419",[24,5.239,150,8.605,307,8.573,375,6.115,399,4.122,508,9.797,845,11.203,3794,11.39,5181,11.489,5182,11.93,5183,11.93,5184,11.812,5213,13.835]],["keywords/1419",[]],["title/1420",[400,544.017]],["content/1420",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1420",[]],["title/1421",[386,446.084,2001,510.148]],["content/1421",[19,3.838,152,5.687,249,7.332,426,4.241,488,7.413,524,8.793,567,7.083,695,6.621,881,3.008,942,7.179,946,7.468,1158,9.466,1216,6.133,1658,9.694,1786,9.327,3015,6.64,3027,4.611,3814,9.327,5014,9.616,5171,10.042,5208,9.861]],["keywords/1421",[]],["title/1422",[2001,640.449]],["content/1422",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1422",[]],["title/1423",[399,334.114,881,283.991]],["content/1423",[24,5.239,150,8.605,307,8.573,375,6.115,399,4.122,508,9.797,845,11.203,3794,11.39,5181,11.489,5182,11.93,5183,11.93,5184,11.812,5213,13.835]],["keywords/1423",[]],["title/1424",[400,544.017]],["content/1424",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1424",[]],["title/1425",[386,446.084,2001,510.148]],["content/1425",[19,3.838,152,5.687,249,7.332,426,4.241,488,7.413,524,8.793,567,7.083,695,6.621,881,3.008,942,7.179,946,7.468,1158,9.466,1216,6.133,1658,9.694,1786,9.327,3015,6.64,3027,4.611,3814,9.327,5014,9.616,5171,10.042,5208,9.861]],["keywords/1425",[]],["title/1426",[2001,640.449]],["content/1426",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1426",[]],["title/1427",[399,334.114,881,283.991]],["content/1427",[24,5.239,150,8.605,307,8.573,375,6.115,399,4.122,508,9.797,845,11.203,3794,11.39,5181,11.489,5182,11.93,5183,11.93,5184,11.812,5213,13.835]],["keywords/1427",[]],["title/1428",[400,544.017]],["content/1428",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1428",[]],["title/1429",[386,446.084,2001,510.148]],["content/1429",[19,3.838,152,5.687,249,7.332,426,4.241,488,7.413,524,8.793,567,7.083,695,6.621,881,3.008,942,7.179,946,7.468,1158,9.466,1216,6.133,1658,9.694,1786,9.327,3015,6.64,3027,4.611,3814,9.327,5014,9.616,5171,10.042,5208,9.861]],["keywords/1429",[]],["title/1430",[2001,640.449]],["content/1430",[152,6.626,172,8.636,173,10.011,270,8.068,567,8.252,825,8.017,946,8.701,1574,11.294,5172,11.93,5173,11.93,5174,11.7,5175,11.7,5176,11.7]],["keywords/1430",[]],["title/1431",[399,334.114,881,283.991]],["content/1431",[24,5.239,150,8.605,307,8.573,375,6.115,399,4.122,508,9.797,845,11.203,3794,11.39,5181,11.489,5182,11.93,5183,11.93,5184,11.812,5213,13.835]],["keywords/1431",[]],["title/1432",[400,544.017]],["content/1432",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1432",[]],["title/1433",[386,446.084,2001,510.148]],["content/1433",[19,3.838,152,5.687,249,7.332,426,4.241,488,7.413,524,8.793,567,7.083,695,6.621,881,3.008,942,7.179,946,7.468,1158,9.466,1216,6.133,1658,9.694,1786,9.327,3015,6.64,3027,4.611,3814,9.327,5014,9.616,5171,10.042,5208,9.861]],["keywords/1433",[]],["title/1434",[2001,640.449]],["content/1434",[19,4.874,173,10.911,270,8.793,825,8.739,946,9.484,1574,12.31,5174,12.752,5175,12.752,5176,12.752]],["keywords/1434",[]],["title/1435",[399,334.114,881,283.991]],["content/1435",[150,10.057,399,4.818,508,11.451,3794,13.312,5184,13.806,5213,16.171]],["keywords/1435",[]],["title/1436",[400,544.017]],["content/1436",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1436",[]],["title/1437",[386,446.084,2001,510.148]],["content/1437",[152,6.121,249,7.891,426,4.565,524,9.463,881,3.237,942,7.727,946,8.038,1158,10.188,1216,6.601,1658,10.433,1786,10.038,3015,7.146,3027,4.963,3814,10.038,5014,10.349,5171,10.808,5208,10.613]],["keywords/1437",[]],["title/1438",[2001,640.449]],["content/1438",[19,4.874,173,10.911,270,8.793,825,8.739,946,9.484,1574,12.31,5174,12.752,5175,12.752,5176,12.752]],["keywords/1438",[]],["title/1439",[400,544.017]],["content/1439",[248,5.207,251,9.648,290,7.127,351,8.092,426,5.154,941,9.691,1221,10.219,2660,11.983,5197,12.203,5198,12.203,5199,12.203]],["keywords/1439",[]],["title/1440",[386,446.084,2001,510.148]],["content/1440",[152,6.121,249,7.891,426,4.565,524,9.463,881,3.237,942,7.727,946,8.038,1158,10.188,1216,6.601,1658,10.433,1786,10.038,3015,7.146,3027,4.963,3814,10.038,5014,10.349,5208,10.613,5214,17.004]],["keywords/1440",[]],["title/1441",[400,544.017]],["content/1441",[351,8.456,946,9.484,1041,12.522,1362,12.875,3027,5.855,3098,10.414,5215,20.063,5216,20.063,5217,20.063]],["keywords/1441",[]],["title/1442",[399,334.114,881,283.991]],["content/1442",[101,9.232,130,8.255,373,14.259,437,15.734,942,9.326,1154,12.393,3099,13.045,5218,20.524]],["keywords/1442",[]],["title/1443",[400,544.017]],["content/1443",[115,15.376,204,7.243,567,9.645,4591,16.493,5219,21.514,5220,21.514]],["keywords/1443",[]],["title/1444",[1362,680.462,3027,309.476,3098,550.39,5221,1060.364]],["content/1444",[]],["keywords/1444",[]],["title/1445",[399,334.114,881,283.991]],["content/1445",[65,12.437,191,12.045,208,16.855,2864,15.618,5222,21.514,5223,21.514]],["keywords/1445",[]],["title/1446",[1362,680.462,3027,309.476,3098,550.39,5224,1060.364]],["content/1446",[]],["keywords/1446",[]],["title/1447",[399,334.114,881,283.991]],["content/1447",[1362,12.875,3020,15.08,3027,5.855,3098,10.414,4192,14.339,4379,16.104,5225,20.063,5226,20.063,5227,20.063]],["keywords/1447",[]],["title/1448",[399,334.114,881,283.991]],["content/1448",[890,17.271,942,10.018,2443,10.982,2940,14.758,5228,22.046]],["keywords/1448",[]],["title/1449",[400,544.017]],["content/1449",[19,5.355,173,11.989,946,10.421,5229,22.046,5230,22.046]],["keywords/1449",[]],["title/1450",[386,446.084,2001,510.148]],["content/1450",[247,9.931,249,9.525,270,8.996,426,5.51,488,9.63,946,9.702,1158,12.297,2758,14.075]],["keywords/1450",[]],["title/1451",[1362,680.462,3027,309.476,3098,550.39,5231,1060.364]],["content/1451",[]],["keywords/1451",[]],["title/1452",[399,334.114,881,283.991]],["content/1452",[391,11.573,395,11.938,937,8.558,939,11.482,1266,10.426,2342,9.863,3027,5.264,3098,9.361,3427,11.938,5232,18.035,5233,18.035,5234,18.035,5235,18.035]],["keywords/1452",[]],["title/1453",[386,446.084,2001,510.148]],["content/1453",[2342,14.403,5236,22.046,5237,22.046,5238,22.046]],["keywords/1453",[]],["title/1454",[1266,612.987,3027,309.476,3098,550.39,5239,1060.364]],["content/1454",[]],["keywords/1454",[]],["title/1455",[399,334.114,881,283.991]],["content/1455",[351,8.092,1153,17.01,1266,11.099,1634,12.709,3027,5.603,3098,9.966,5240,19.199,5241,19.199,5242,19.199,5243,19.199,5244,19.199]],["keywords/1455",[]],["title/1456",[400,544.017]],["content/1456",[55,4.732,247,8.553,248,4.794,249,8.204,569,8.42,799,9.176,2934,12.122,3027,5.159,3098,9.176,5080,15.662,5245,17.678,5246,17.678,5247,17.678,5248,17.678,5249,17.678]],["keywords/1456",[]],["title/1457",[400,544.017]],["content/1457",[248,5.322,251,9.86,799,10.185,941,9.904,2934,13.456,3027,5.727,3098,10.185,5080,17.384,5250,19.621,5251,19.621]],["keywords/1457",[]],["title/1458",[399,334.114,881,283.991]],["content/1458",[290,8.391,593,14.506,881,4.303,5252,22.604]],["keywords/1458",[]],["title/1459",[400,544.017]],["content/1459",[2,8.6,38,12.141,84,10.731,549,10.986,3027,5.727,3072,11.583,3098,10.185,5253,19.621,5254,19.621,5255,19.621]],["keywords/1459",[]],["title/1460",[400,544.017]],["content/1460",[138,8.52,139,7.761,247,10.41,248,5.835,5256,21.514,5257,21.514]],["keywords/1460",[]],["title/1461",[386,446.084,2001,510.148]],["content/1461",[135,8.793,152,7.745,276,12.045,524,11.973,1658,13.201,5258,20.035]],["keywords/1461",[]],["title/1462",[2971,673.976,3027,309.476,3098,550.39,5259,1060.364]],["content/1462",[]],["keywords/1462",[]],["title/1463",[399,334.114,881,283.991]],["content/1463",[124,12.709,185,14.718,332,10.884,395,12.709,3027,5.603,3077,12.321,3095,16.361,3098,9.966,5260,19.199,5261,19.199,5262,19.199]],["keywords/1463",[]],["title/1464",[400,544.017]],["content/1464",[62,8.552,3027,5.99,3077,13.171,3098,10.653,5263,20.524,5264,20.524,5265,20.524,5266,20.524]],["keywords/1464",[]],["title/1465",[400,544.017]],["content/1465",[52,7.892,222,10.088,799,10.185,3027,5.727,3063,11.668,3098,10.185,5267,19.621,5268,19.621,5269,19.621,5270,19.621]],["keywords/1465",[]],["title/1466",[399,334.114,881,283.991]],["content/1466",[19,3.187,24,1.699,53,2.986,55,2.702,67,4.791,77,3.322,102,2.262,125,2.912,130,2.401,136,3.129,139,3.642,148,3.909,150,2.79,171,4.486,174,3.706,176,4.279,204,2.01,211,2.9,212,8.261,243,3.996,332,3.384,351,2.516,375,1.983,376,2.888,385,3.869,386,1.785,426,2.71,559,3.302,569,2.843,604,3.405,626,3.951,761,4.925,825,2.6,877,2.426,880,3.161,881,1.136,937,2.832,941,3.013,942,4.587,955,3.177,966,9.522,1341,3.405,1414,7.215,1427,5.288,1469,5.559,1480,3.662,2001,2.041,2161,4.406,2217,4.676,3432,10.824,3703,5.087,4135,5.288,4570,5.559,4850,5.087,5271,5.969,5272,5.969,5273,5.969,5274,5.969,5275,5.969,5276,5.969,5277,5.969,5278,5.969,5279,5.969,5280,5.969,5281,5.969,5282,5.969,5283,5.969,5284,5.969,5285,5.969,5286,5.969,5287,5.969,5288,5.969,5289,5.969,5290,5.969,5291,5.969,5292,5.969,5293,5.969,5294,5.969,5295,5.969,5296,5.969,5297,5.969,5298,5.969,5299,5.969,5300,5.969,5301,5.969,5302,5.969,5303,5.969,5304,5.969,5305,5.969,5306,5.969,5307,5.969,5308,5.969,5309,5.969,5310,5.969,5311,5.969,5312,5.969,5313,5.969,5314,5.969,5315,5.969]],["keywords/1466",[]],["title/1467",[400,544.017]],["content/1467",[14,10.452,24,3.321,27,6.118,64,8.612,120,6.417,139,4.209,160,8.338,162,5.13,204,3.928,222,8.842,244,5.645,247,5.645,252,2.565,273,5.998,300,7.282,312,4.138,660,7.81,686,8.769,796,5.601,866,7.101,880,6.178,2631,10.865,4263,8.338,5316,11.667,5317,11.667,5318,11.667,5319,11.667,5320,11.667,5321,11.667,5322,11.667,5323,11.667,5324,11.667,5325,11.667,5326,11.667,5327,11.667,5328,11.667]],["keywords/1467",[]],["title/1468",[366,694.839,862,699.954]],["content/1468",[28,6.717,50,7.807,56,10.188,135,6.949,136,8.913,376,8.227,611,11.66,2443,8.47,3027,4.963,3071,7.863,3098,8.826,3427,11.256,5329,17.004,5330,17.004,5331,17.004,5332,17.004,5333,17.004]],["keywords/1468",[]],["title/1469",[400,544.017]],["content/1469",[152,7.063,332,11.123,594,13.82,2959,12.357,3027,5.727,3062,10.041,5334,15.042,5335,19.621,5336,19.621,5337,19.621]],["keywords/1469",[]],["title/1470",[400,544.017]],["content/1470",[199,17.328,290,8.391,5338,22.604,5339,22.604]],["keywords/1470",[]],["title/1471",[3027,309.476,3062,542.605,3077,680.462,5340,1060.364]],["content/1471",[]],["keywords/1471",[]],["title/1472",[399,334.114,881,283.991]],["content/1472",[27,5.513,102,6.976,386,5.504,549,10.306,1117,12.623,1422,13.587,2869,14.421,2996,11.029,3027,5.372,3062,9.419,5341,18.407,5342,18.407,5343,18.407]],["keywords/1472",[]],["title/1473",[2001,640.449]],["content/1473",[19,2.91,43,6.312,96,6.926,102,4.541,176,5.079,263,9.005,327,6.249,391,13.311,549,6.708,556,4.91,674,8.115,825,5.218,866,7.291,876,6.552,877,4.87,969,7.413,1006,9.184,2333,9.184,3910,8.697,5030,9.617,5344,10.209,5345,11.157,5346,10.615,5347,11.98,5348,11.98,5349,11.98,5350,11.157,5351,11.98,5352,11.98,5353,11.157,5354,11.98,5355,10.209,5356,10.209,5357,11.98,5358,11.157,5359,11.157,5360,11.157]],["keywords/1473",[]],["title/1474",[399,334.114,881,283.991]],["content/1474",[1,0.356,2,0.536,3,0.506,5,0.668,7,0.798,9,1.113,10,1.82,12,0.511,13,0.215,16,0.763,18,0.314,19,0.66,23,0.274,24,2.206,25,0.896,26,0.441,27,2.093,28,2.549,29,0.224,33,0.283,34,0.355,38,0.259,42,2.268,43,0.435,44,0.535,48,0.439,50,1.72,52,0.168,53,0.611,54,0.535,55,1.177,56,0.964,60,0.28,65,1.362,68,0.48,69,0.89,72,0.206,77,2.268,81,0.524,83,0.237,84,1.678,85,0.795,86,0.581,89,0.435,90,0.383,93,1.937,94,1.316,98,0.355,100,0.494,101,1.977,102,3.548,105,0.233,106,0.178,108,0.573,109,0.287,112,0.873,114,1.068,115,0.299,118,0.308,120,0.23,121,0.247,122,0.266,125,0.596,127,0.254,128,0.552,129,0.546,130,1.372,135,0.499,136,1.235,137,0.95,138,1.351,139,1.231,141,0.75,147,0.327,149,0.287,150,1.101,151,0.676,152,1.349,153,1.012,157,0.283,160,0.59,161,0.248,163,0.243,167,0.623,169,1.309,172,0.573,173,0.449,174,3.668,176,0.999,177,0.37,178,0.54,180,0.831,181,0.54,188,1.106,191,0.901,204,1.033,208,0.646,211,1.145,212,0.52,216,0.529,218,0.254,221,0.918,222,0.215,223,0.818,225,0.782,226,0.861,230,0.506,234,0.29,236,0.24,242,0.875,248,0.224,249,0.747,252,0.092,254,0.58,268,0.429,270,0.536,271,0.477,273,0.215,275,0.573,276,0.234,289,0.32,290,0.597,295,1.261,296,0.582,298,2.67,300,0.261,304,0.716,305,0.28,306,1.261,307,1.898,312,0.705,317,0.907,318,0.703,319,1.041,322,0.356,323,0.725,325,0.632,327,1.954,331,0.252,332,3.013,336,0.335,343,0.299,349,0.266,351,0.348,352,0.303,358,0.546,360,0.314,364,0.535,367,0.581,368,0.8,375,1.019,376,0.591,379,0.937,380,0.738,381,1.043,383,1.412,384,0.335,385,0.271,386,1.314,389,0.25,395,1.065,396,0.477,397,3.091,399,0.839,404,0.559,407,1.56,410,1.578,421,0.271,426,0.729,432,0.345,438,0.32,440,0.37,444,0.875,445,0.849,460,0.389,465,0.256,466,0.314,477,0.283,479,0.327,480,0.566,483,0.379,488,0.755,490,0.308,492,0.546,494,0.29,497,0.28,499,0.676,505,0.665,507,0.861,508,0.65,510,0.266,512,0.95,519,0.646,520,0.335,521,0.274,525,0.573,526,0.703,528,1.806,530,0.441,533,0.283,535,0.294,536,0.37,538,0.299,542,0.243,549,0.901,552,0.356,556,0.338,558,0.393,559,0.456,564,0.327,569,1.461,572,0.356,587,0.566,592,0.294,593,0.268,594,1.913,597,0.327,604,0.471,606,0.75,612,0.845,624,0.327,628,0.474,641,0.356,666,0.896,674,0.559,679,0.345,686,0.314,691,0.314,694,0.32,695,1.286,698,0.335,714,0.646,720,0.299,721,0.327,723,0.206,725,0.335,726,0.632,734,0.888,740,0.231,746,0.599,776,0.707,778,0.207,779,0.238,786,0.335,796,0.201,799,0.634,800,0.314,804,0.261,807,0.62,812,0.777,816,0.681,825,2.691,833,0.646,841,0.263,844,0.996,845,1.653,853,0.345,859,0.477,864,0.32,866,0.98,869,1.188,870,0.335,873,0.294,874,0.471,877,3.15,880,0.221,881,1.612,890,0.646,893,0.849,910,0.327,913,0.731,921,0.327,923,0.356,942,2.549,946,0.197,954,0.502,955,0.65,959,0.327,962,0.261,964,0.389,966,0.303,969,0.259,973,0.314,975,0.274,976,0.356,977,0.28,978,0.972,979,0.237,982,1.934,983,0.356,1005,0.356,1016,0.345,1030,0.599,1042,0.327,1080,0.335,1088,0.294,1095,0.327,1117,0.287,1131,0.529,1139,0.688,1152,0.52,1216,0.32,1221,0.65,1244,3.379,1316,0.227,1320,0.32,1322,0.838,1325,0.62,1341,1.55,1342,0.283,1353,0.738,1364,0.37,1414,0.299,1422,0.902,1434,0.303,1446,0.37,1451,0.29,1464,0.29,1466,0.646,1472,0.327,1479,0.283,1480,0.988,1494,1.054,1522,0.389,1541,0.28,1573,0.283,1581,0.599,1606,0.37,1648,0.356,1652,0.327,1655,0.62,1676,0.62,1680,0.943,1683,0.252,1699,0.32,1840,0.662,1850,0.37,1853,0.356,1887,1.314,1907,0.268,1913,2.738,1927,0.502,1948,0.37,2059,0.356,2060,0.703,2106,0.32,2109,0.299,2127,0.37,2138,0.681,2144,0.681,2215,0.646,2217,0.646,2218,0.681,2286,0.314,2293,0.37,2306,0.356,2333,0.632,2342,0.451,2372,0.37,2415,0.327,2433,1.041,2443,1.174,2500,0.327,2515,1.941,2546,0.356,2561,0.37,2563,0.566,2585,0.248,2630,0.37,2656,0.599,2673,0.327,2754,0.356,2757,0.389,2758,0.287,2760,0.662,2814,0.37,2840,0.29,2854,0.356,2864,0.599,2869,0.646,2940,0.818,2954,0.37,2959,0.263,2971,0.266,2983,0.327,3020,0.62,3033,0.193,3078,0.59,3090,0.37,3099,1.95,3167,0.327,3178,0.345,3188,0.32,3192,0.335,3195,0.314,3213,1.083,3225,0.303,3256,0.599,3270,0.345,3278,0.646,3290,0.389,3331,0.335,3378,0.389,3409,0.356,3427,2.031,3430,0.681,3432,0.345,3470,0.389,3508,0.356,3584,0.277,3681,0.37,3703,0.356,3773,0.389,3780,0.389,3814,0.247,3821,0.681,3854,0.681,3857,0.389,3862,0.703,3880,0.389,3894,0.389,3900,1.083,3926,0.389,3939,0.703,4014,0.345,4044,0.335,4068,0.389,4104,0.356,4210,0.389,4228,0.37,4234,0.389,4246,0.389,4255,0.389,4263,0.299,4266,0.37,4275,0.37,4277,0.768,4282,0.335,4289,0.389,4324,0.37,4325,0.345,4357,0.345,4373,0.389,4379,0.662,4383,0.389,4439,0.389,4447,0.389,4476,0.389,4490,0.389,4510,0.277,4571,0.389,4613,0.389,4616,0.389,4623,0.37,4658,0.37,4689,0.681,4713,0.32,4850,1.041,4882,0.37,4909,0.335,4956,0.37,5014,0.254,5030,0.335,5085,0.345,5134,0.335,5205,0.873,5334,1.234,5361,1.595,5362,0.418,5363,0.389,5364,0.389,5365,0.389,5366,0.389,5367,0.418,5368,0.418,5369,0.418,5370,0.418,5371,0.37,5372,1.499,5373,0.418,5374,0.731,5375,0.389,5376,0.418,5377,0.389,5378,0.389,5379,0.389,5380,0.389,5381,0.389,5382,0.418,5383,0.389,5384,0.389,5385,0.418,5386,0.731,5387,0.389,5388,0.389,5389,0.418,5390,0.768,5391,0.418,5392,0.37,5393,0.418,5394,0.418,5395,0.418,5396,0.418,5397,0.418,5398,0.418,5399,0.418,5400,0.418,5401,0.418,5402,0.418,5403,0.418,5404,0.768,5405,0.418,5406,0.418,5407,0.418,5408,0.418,5409,0.418,5410,0.418,5411,0.418,5412,0.418,5413,0.825,5414,0.418,5415,0.418,5416,0.418,5417,0.418,5418,0.303,5419,0.37,5420,0.418,5421,0.768,5422,0.418,5423,0.418,5424,0.418,5425,0.418,5426,0.418,5427,0.418,5428,0.418,5429,0.418,5430,0.418,5431,0.418,5432,0.418,5433,0.418,5434,0.418,5435,0.418,5436,0.418,5437,0.418,5438,0.418,5439,0.418,5440,0.418,5441,0.418,5442,0.418,5443,0.418,5444,0.418,5445,0.418,5446,0.418,5447,0.418,5448,0.418,5449,0.418,5450,0.418,5451,0.418,5452,0.418,5453,0.418,5454,0.37,5455,0.703,5456,0.418,5457,0.37,5458,0.418,5459,0.418,5460,0.418,5461,0.418,5462,0.418,5463,0.418,5464,0.418,5465,0.418,5466,0.418,5467,0.418,5468,0.418,5469,0.418,5470,0.418,5471,0.418,5472,0.418,5473,0.418,5474,0.418,5475,0.418,5476,0.418,5477,0.37,5478,0.418,5479,0.389,5480,0.418,5481,0.418,5482,0.418,5483,0.418,5484,0.768,5485,0.418,5486,0.418,5487,0.389,5488,0.418,5489,0.389,5490,0.389,5491,0.418,5492,0.314,5493,0.389,5494,0.389,5495,0.418,5496,0.389,5497,0.389,5498,0.418,5499,0.389,5500,0.389,5501,0.418,5502,0.389,5503,0.418,5504,0.418,5505,0.389,5506,0.389,5507,0.389,5508,0.389,5509,0.418,5510,0.418,5511,0.418,5512,0.418,5513,0.418,5514,0.418,5515,0.389,5516,0.389,5517,0.389,5518,0.389,5519,0.418,5520,0.389,5521,0.389,5522,0.418,5523,0.418,5524,0.418,5525,0.418,5526,0.389,5527,0.418,5528,0.418,5529,0.389,5530,0.418,5531,0.389,5532,0.389,5533,0.418,5534,0.389,5535,0.418,5536,0.389,5537,0.418,5538,0.389,5539,0.418,5540,0.389,5541,0.418,5542,0.418,5543,0.389,5544,0.418,5545,0.418,5546,0.389,5547,0.389,5548,0.389,5549,0.418,5550,0.389,5551,0.389,5552,0.389,5553,0.418,5554,0.389,5555,0.418,5556,0.418,5557,0.418,5558,0.418,5559,0.418,5560,0.418,5561,0.418,5562,0.389,5563,0.418,5564,0.389,5565,0.418,5566,0.389,5567,0.418,5568,0.389,5569,0.418,5570,0.389,5571,0.418,5572,0.389,5573,0.418,5574,0.418,5575,0.418,5576,0.981,5577,0.418,5578,0.356,5579,0.389,5580,0.389,5581,0.418,5582,0.731,5583,0.418,5584,0.389,5585,0.418,5586,0.418,5587,0.389,5588,0.389,5589,0.418,5590,0.389,5591,0.389,5592,0.389,5593,0.418,5594,0.825,5595,0.418,5596,0.418,5597,0.418,5598,0.389,5599,0.418,5600,0.389,5601,0.418,5602,0.418,5603,0.418,5604,1.494,5605,0.389,5606,0.418,5607,0.389,5608,0.389,5609,0.418,5610,0.389,5611,0.418,5612,0.389,5613,0.418,5614,0.418,5615,0.418,5616,0.418,5617,0.389,5618,0.389,5619,0.418,5620,0.389,5621,0.389,5622,0.418,5623,0.418,5624,0.418,5625,0.418,5626,0.418,5627,0.389,5628,0.418,5629,0.389,5630,0.418,5631,0.389,5632,0.418,5633,0.418,5634,0.418,5635,0.418,5636,0.418,5637,0.418,5638,0.418,5639,0.418,5640,0.418,5641,0.418,5642,0.418,5643,0.768,5644,0.389,5645,0.389,5646,0.389,5647,0.418,5648,0.418,5649,0.389,5650,0.418,5651,0.418,5652,0.418,5653,0.418,5654,0.418,5655,0.418,5656,0.418,5657,0.418,5658,0.418,5659,0.418,5660,0.389,5661,0.418,5662,0.389,5663,0.418,5664,0.389,5665,0.418,5666,0.389,5667,0.418,5668,0.418,5669,0.418,5670,0.418,5671,0.418,5672,0.418,5673,0.418,5674,0.389,5675,0.418,5676,0.418,5677,0.418,5678,0.418,5679,0.418,5680,0.389,5681,0.418,5682,0.389,5683,0.418,5684,0.389,5685,0.768,5686,0.731,5687,0.418,5688,0.418,5689,0.418,5690,0.389,5691,0.418,5692,0.389,5693,0.418,5694,0.389,5695,0.389,5696,0.389,5697,0.418,5698,0.345,5699,0.389,5700,0.389,5701,0.418,5702,0.62,5703,0.389,5704,0.389,5705,0.418,5706,0.389,5707,0.418,5708,0.389,5709,0.418,5710,0.389,5711,0.389,5712,0.418,5713,0.418,5714,0.418,5715,0.418,5716,0.389,5717,0.418,5718,0.389,5719,0.418,5720,0.389,5721,0.389,5722,0.389,5723,0.418,5724,0.389,5725,0.389,5726,0.389,5727,0.418,5728,0.389,5729,0.389,5730,0.418,5731,0.418,5732,0.418,5733,0.418,5734,0.418,5735,0.418,5736,0.418,5737,0.418,5738,0.418,5739,0.418,5740,0.418,5741,0.418,5742,0.418,5743,0.418,5744,0.37,5745,0.418,5746,0.418,5747,0.389,5748,0.389,5749,0.418,5750,0.389,5751,0.418,5752,0.418,5753,0.418,5754,0.389,5755,0.418,5756,0.389,5757,0.418,5758,0.389,5759,0.418,5760,0.389,5761,0.418,5762,0.418,5763,0.418,5764,0.418,5765,0.418,5766,0.418,5767,0.389,5768,0.418,5769,0.418,5770,0.418,5771,0.825,5772,0.418,5773,0.418,5774,0.389,5775,0.418,5776,0.389,5777,0.418,5778,0.418,5779,0.418,5780,0.825,5781,0.418,5782,0.418,5783,0.418,5784,0.389,5785,0.389,5786,0.389,5787,0.418,5788,0.418,5789,0.389,5790,0.418,5791,0.418,5792,0.418,5793,0.731,5794,0.418,5795,0.389,5796,0.418,5797,0.389,5798,0.418,5799,0.418,5800,0.389,5801,0.418,5802,0.389,5803,0.389,5804,0.418,5805,0.389,5806,0.418,5807,0.389,5808,0.418,5809,0.418,5810,0.418,5811,0.356,5812,0.418,5813,0.418,5814,0.418,5815,0.389,5816,0.418,5817,0.389,5818,0.389,5819,0.418,5820,0.389,5821,0.418,5822,0.418,5823,0.418,5824,0.418,5825,0.389,5826,0.418,5827,0.418,5828,0.418,5829,0.418,5830,0.418,5831,0.418,5832,0.418,5833,0.418,5834,0.418,5835,0.389,5836,0.418,5837,0.389,5838,0.418,5839,0.389,5840,0.418,5841,0.389,5842,0.418,5843,0.418,5844,0.389,5845,0.37,5846,0.389,5847,0.418,5848,0.389,5849,0.418,5850,0.768,5851,0.389,5852,0.418,5853,0.418,5854,0.418,5855,0.389,5856,0.389,5857,0.418,5858,0.389,5859,0.389,5860,0.335,5861,0.389,5862,0.389,5863,0.389,5864,0.389,5865,0.418,5866,0.418,5867,0.418,5868,0.418,5869,0.389,5870,0.418,5871,0.389,5872,0.418,5873,0.389,5874,0.418,5875,0.389,5876,0.418,5877,0.389,5878,0.418,5879,0.389,5880,0.389,5881,0.37,5882,0.389,5883,0.418,5884,0.389,5885,0.418,5886,0.389,5887,0.731,5888,0.389,5889,0.389,5890,0.418,5891,0.418,5892,0.418,5893,0.825,5894,0.418,5895,0.389,5896,0.389,5897,0.389,5898,0.418,5899,0.418,5900,0.418,5901,0.418,5902,0.389,5903,0.389,5904,0.389,5905,0.418,5906,0.345,5907,0.389,5908,0.418,5909,0.418,5910,0.389,5911,0.418,5912,0.418,5913,0.418,5914,0.418,5915,0.418,5916,0.418,5917,0.418,5918,0.418,5919,0.418,5920,0.389,5921,0.418,5922,1.138,5923,1.138,5924,1.138,5925,0.389,5926,0.418,5927,0.389,5928,0.418,5929,0.418,5930,0.418,5931,0.418,5932,0.418,5933,0.418,5934,0.283,5935,0.389,5936,0.418,5937,0.389,5938,0.389,5939,0.389,5940,0.418,5941,0.389,5942,0.389,5943,0.418,5944,0.418,5945,0.418,5946,0.418,5947,0.418,5948,0.418,5949,0.418,5950,0.389,5951,0.418,5952,0.418,5953,0.418,5954,0.418,5955,0.418,5956,0.418,5957,0.418,5958,0.418,5959,0.418,5960,0.418,5961,0.418,5962,0.418,5963,0.418,5964,0.418,5965,0.418,5966,0.825,5967,0.418,5968,0.418,5969,0.418,5970,0.418,5971,0.418,5972,0.418,5973,0.418,5974,0.418,5975,0.356,5976,0.418,5977,0.418,5978,0.418,5979,0.418,5980,0.418,5981,0.418,5982,0.418,5983,0.418,5984,0.389,5985,0.418,5986,0.418,5987,0.418,5988,0.418,5989,0.389,5990,0.418,5991,0.418,5992,0.418,5993,0.418,5994,0.418,5995,0.418,5996,0.418,5997,0.389,5998,0.389,5999,0.389,6000,0.418,6001,0.418,6002,0.418,6003,0.418,6004,0.418,6005,0.418,6006,0.389,6007,0.418,6008,0.389,6009,0.418,6010,0.418,6011,0.389,6012,0.418,6013,0.418,6014,0.356,6015,0.418,6016,0.418,6017,0.418,6018,0.418,6019,0.418,6020,0.418,6021,0.418,6022,0.389,6023,0.418,6024,0.389,6025,0.418,6026,0.389,6027,0.389,6028,0.418,6029,0.418,6030,0.418,6031,0.418,6032,0.389,6033,0.389,6034,0.37,6035,0.418,6036,0.418,6037,0.389,6038,0.389]],["keywords/1474",[]],["title/1475",[612,634.27,2972,763.395]],["content/1475",[14,8.231,24,4.578,27,4.817,28,6.353,102,6.096,114,6.321,188,8.951,246,10.533,375,5.343,877,6.538,6039,14.979,6040,16.084,6041,14.979,6042,16.084,6043,12.911,6044,14.979,6045,16.084,6046,14.25,6047,14.979,6048,14.979]],["keywords/1475",[]],["title/1476",[400,544.017]],["content/1476",[2,1.586,3,0.605,5,1.728,6,1.39,7,0.489,10,1.358,11,0.321,13,1.86,18,0.741,19,2.159,23,0.646,24,1.854,27,1.318,28,1.429,32,0.627,33,0.668,42,1.066,43,2.319,44,0.639,48,0.525,51,0.716,52,0.77,53,3.26,54,0.639,55,0.264,56,1.672,57,0.994,62,0.798,65,1.613,71,0.6,72,0.487,77,1.553,82,0.695,84,1.979,85,0.487,86,0.695,88,0.66,89,0.52,90,1.295,93,0.661,95,0.66,96,1.613,98,0.424,100,0.591,101,0.444,102,2.469,106,0.421,111,0.616,114,0.388,120,1.053,121,1.131,126,0.543,127,0.6,128,0.66,130,1.455,135,1.799,138,0.758,139,1.305,140,0.591,146,0.756,148,1.254,151,3.005,157,0.668,167,0.975,169,1.345,171,0.741,172,0.463,174,0.703,176,0.812,188,0.549,197,0.639,204,0.645,211,1.356,212,0.621,218,0.6,221,0.563,222,0.985,248,0.981,249,0.889,251,0.496,252,0.217,254,0.288,255,0.461,257,0.412,263,4.394,270,0.432,273,0.985,276,0.552,290,0.366,298,0.447,300,0.616,302,0.728,304,0.578,309,0.716,312,0.35,317,1.079,323,0.859,327,3.73,331,2.185,332,0.559,349,1.774,351,0.416,375,0.927,376,0.927,385,1.809,386,0.835,389,1.147,397,1.004,404,0.668,426,0.971,427,0.705,444,0.536,480,0.676,483,0.453,488,2.065,497,0.66,499,1.544,504,0.546,508,0.525,510,0.627,511,1.99,512,1.648,518,0.578,521,1.828,528,0.756,533,0.668,538,0.705,542,0.574,549,1.072,556,0.404,567,0.442,572,0.841,586,0.627,594,1.966,606,0.605,638,0.905,651,0.874,666,0.549,667,0.587,671,0.814,685,0.728,695,0.413,705,0.676,734,0.856,740,0.546,742,0.814,778,1.795,781,0.773,796,0.474,799,4.027,802,0.741,804,0.616,813,0.756,819,1.58,825,2.547,853,0.814,866,1.166,877,4.597,880,2.33,881,0.531,919,0.841,937,1.717,939,0.487,941,0.498,942,2.961,946,0.905,969,0.61,978,0.596,979,2.051,982,1.086,1006,0.756,1031,0.716,1068,0.563,1076,0.874,1084,0.676,1105,0.448,1220,0.646,1221,0.525,1258,0.841,1318,0.773,1319,0.627,1341,0.563,1363,0.874,1411,1.537,1414,1.369,1429,0.773,1451,0.685,1464,0.685,1480,0.605,1541,0.66,1581,0.716,1676,1.439,1754,0.489,1830,0.792,1831,1.868,1842,0.705,1887,2.129,1907,1.229,1914,1.107,1927,1.166,2215,1.5,2217,0.773,2291,0.814,2331,0.841,2401,0.792,2431,0.792,2443,1.802,2447,0.773,2586,0.57,2617,1.439,2650,0.676,2656,0.716,2678,0.874,2758,0.676,2845,0.874,2864,0.716,2891,0.756,3063,0.587,3072,0.582,3077,0.633,3094,0.874,3136,0.841,3220,0.874,3400,0.919,3406,0.919,3427,1.268,3922,0.919,4044,0.792,4062,0.919,4086,0.919,4192,0.705,4203,0.695,4263,0.705,4267,0.919,4344,0.919,4357,0.814,4456,0.919,4458,0.919,4513,0.705,4565,0.919,4580,0.814,4646,0.919,4713,1.468,5075,0.792,5085,0.814,5205,0.705,5258,0.919,5334,2.139,5390,0.919,5419,1.697,5454,0.874,5576,2.904,5698,2.303,5702,0.741,5975,0.841,5999,0.919,6014,0.841,6049,0.986,6050,0.986,6051,0.986,6052,0.986,6053,0.919,6054,0.919,6055,0.919,6056,0.919,6057,0.919,6058,0.919,6059,0.919,6060,0.919,6061,0.919,6062,0.919,6063,0.919,6064,0.986,6065,0.919,6066,0.919,6067,0.986,6068,0.919,6069,0.986,6070,0.919,6071,0.919,6072,0.919,6073,0.986,6074,0.986,6075,0.986,6076,0.919,6077,0.986,6078,0.986,6079,0.986,6080,0.919,6081,0.919,6082,0.986,6083,0.986,6084,0.986,6085,0.986,6086,0.919,6087,0.919,6088,0.986,6089,0.919,6090,0.986,6091,0.919,6092,0.919,6093,0.986,6094,0.919,6095,0.919,6096,0.919,6097,0.919,6098,0.986,6099,0.919,6100,0.986,6101,0.919,6102,0.919,6103,0.919,6104,0.919,6105,0.919,6106,0.919,6107,0.919,6108,0.986,6109,0.919,6110,0.919,6111,0.919,6112,0.919,6113,0.814,6114,0.919,6115,0.919,6116,0.919,6117,0.919,6118,0.919,6119,0.986,6120,0.919,6121,0.919,6122,0.986,6123,0.919,6124,0.986,6125,0.919,6126,0.919,6127,0.986,6128,0.986,6129,0.919,6130,0.986,6131,1.632,6132,0.919,6133,0.986,6134,0.986,6135,0.986,6136,0.919,6137,0.986,6138,0.919,6139,0.986,6140,4.556,6141,0.986,6142,0.986,6143,0.986,6144,0.919,6145,0.986,6146,0.919,6147,0.986,6148,0.919,6149,0.986,6150,0.986,6151,0.986,6152,0.919,6153,0.919,6154,0.919,6155,0.919,6156,0.919,6157,0.986,6158,0.919,6159,0.986,6160,0.919,6161,0.986,6162,0.986,6163,1.58,6164,0.919,6165,0.986,6166,0.919,6167,0.986,6168,0.919,6169,0.986,6170,0.986,6171,0.986,6172,0.986,6173,0.986,6174,0.919,6175,0.986,6176,0.919,6177,0.919,6178,0.986,6179,0.919,6180,0.986,6181,0.986,6182,0.986,6183,0.919,6184,0.986,6185,0.919,6186,0.919,6187,0.986,6188,0.792,6189,0.919,6190,0.986,6191,0.841,6192,0.814,6193,0.919,6194,0.986,6195,0.919,6196,0.919,6197,0.986,6198,0.919,6199,0.986,6200,0.919,6201,0.986,6202,0.986,6203,0.986,6204,0.986,6205,0.986,6206,0.986,6207,0.919,6208,0.986,6209,0.841,6210,0.919,6211,0.986,6212,0.986,6213,0.986,6214,0.986,6215,0.841,6216,0.919,6217,0.986,6218,0.919,6219,0.986,6220,0.919,6221,0.919,6222,0.919,6223,0.986,6224,0.986,6225,0.986,6226,0.986,6227,0.919,6228,0.986,6229,0.919,6230,0.986,6231,0.919,6232,0.919,6233,0.986,6234,0.986,6235,0.986,6236,0.919,6237,0.986,6238,0.986,6239,0.919,6240,0.986,6241,0.919,6242,0.986,6243,0.919,6244,0.986,6245,0.919,6246,0.986,6247,0.986,6248,0.986,6249,0.919,6250,0.986,6251,0.919,6252,0.986,6253,0.986,6254,0.986,6255,0.919,6256,0.986,6257,0.919,6258,0.919,6259,0.986,6260,1.915,6261,0.986,6262,0.986,6263,0.986,6264,0.841,6265,0.919,6266,0.986,6267,0.919,6268,0.986,6269,0.986,6270,0.986,6271,0.919,6272,0.986,6273,0.919,6274,0.919,6275,0.919,6276,0.986,6277,0.986,6278,0.919,6279,0.919,6280,1.697,6281,0.919,6282,0.986,6283,0.919,6284,0.986,6285,0.986,6286,0.919,6287,0.986,6288,0.919,6289,0.986,6290,0.986,6291,0.986,6292,0.919,6293,0.986,6294,0.919,6295,0.986,6296,0.919,6297,0.986,6298,0.919,6299,0.986,6300,0.919,6301,0.986,6302,0.986,6303,0.986,6304,0.919,6305,0.986,6306,0.919,6307,0.986,6308,0.986,6309,0.986,6310,0.986,6311,0.986,6312,0.986,6313,0.986,6314,0.919,6315,0.986,6316,0.986,6317,0.986,6318,0.919,6319,0.919,6320,0.919,6321,0.986,6322,0.986,6323,0.986,6324,0.986,6325,0.986,6326,0.986,6327,0.919,6328,0.986,6329,0.919,6330,0.986,6331,0.919,6332,0.986,6333,0.986,6334,0.874,6335,0.986,6336,0.986,6337,0.919,6338,0.986,6339,0.986,6340,0.653,6341,0.986,6342,0.986,6343,0.986,6344,0.986,6345,0.919,6346,0.986,6347,0.919,6348,0.986,6349,0.986,6350,0.986,6351,0.986,6352,0.986,6353,0.986,6354,0.986,6355,0.919,6356,0.919,6357,0.919,6358,0.986,6359,0.919,6360,0.986,6361,0.986,6362,0.986,6363,0.986,6364,0.986,6365,0.919,6366,0.986,6367,0.986,6368,0.986,6369,0.986,6370,0.986,6371,1.697,6372,0.986,6373,0.986,6374,0.919,6375,0.986,6376,0.919,6377,0.986,6378,0.919,6379,0.986,6380,0.919,6381,0.986,6382,0.986,6383,0.986,6384,0.919,6385,0.919,6386,0.986,6387,0.986,6388,0.986,6389,0.986,6390,0.919,6391,0.919,6392,0.986,6393,0.986,6394,0.986,6395,0.986,6396,0.986,6397,0.986,6398,0.986,6399,0.986,6400,0.986,6401,0.986]],["keywords/1476",[]],["title/1477",[366,694.839,862,699.954]],["content/1477",[5,1.729,11,0.624,14,1.853,19,0.466,24,1.465,28,0.757,50,1.663,57,1.88,68,1.116,84,1.048,85,0.947,90,0.89,94,1.269,104,1.14,111,1.196,114,0.753,138,1.434,139,5.045,141,1.687,151,0.805,152,1.304,153,0.976,166,1.298,169,1.745,172,1.699,173,1.042,174,1.889,176,3.77,180,0.99,204,0.645,236,1.101,243,1.283,248,3.793,255,1.693,261,1.031,283,1.502,306,1.026,307,0.893,343,4.66,344,2.28,366,0.893,381,1.242,400,0.557,410,1.675,426,0.972,455,1.698,480,2.483,483,0.88,490,1.415,499,1.06,511,1.054,519,1.502,521,1.255,530,1.938,556,5.731,569,1.725,589,1.633,590,1.186,620,1.441,638,0.906,642,2.347,695,1.517,704,3.678,706,1.633,779,3.72,796,0.92,800,1.441,812,2.302,825,6.372,859,1.108,874,1.094,877,6.191,881,0.689,901,1.698,937,3.094,941,0.967,942,0.871,946,1.712,959,1.502,960,1.88,979,1.087,982,1.087,1125,1.469,1199,1.633,1221,1.927,1249,2.776,1265,1.539,1342,2.453,1361,1.698,1402,2.776,1541,1.283,1568,1.582,1581,1.391,1634,1.269,1796,3.372,1841,3.372,1907,3.303,1914,2.093,1927,7.637,1994,1.37,2321,1.582,2374,1.582,2443,0.955,2565,1.415,2585,1.14,2586,1.108,2650,1.314,2734,1.242,2735,1.539,3016,1.785,3081,1.698,3192,1.539,3256,1.391,3843,1.785,3845,1.785,3910,1.391,3975,1.785,4007,1.785,4011,1.785,4084,1.785,4171,2.722,4203,1.35,4263,1.37,4328,1.785,4446,3.208,4508,1.785,5134,1.539,5455,1.633,5627,1.785,5702,1.441,5906,1.582,5975,1.633,6191,3.086,6192,1.582,6340,1.269,6402,1.785,6403,1.917,6404,1.785,6405,1.917,6406,1.917,6407,1.785,6408,1.917,6409,1.917,6410,1.917,6411,1.917,6412,1.917,6413,1.917,6414,1.917,6415,1.917,6416,1.917,6417,1.917,6418,1.917,6419,1.917,6420,1.917,6421,1.917,6422,1.917,6423,3.621,6424,1.917,6425,1.917,6426,1.917,6427,1.917,6428,1.917,6429,1.917,6430,1.917,6431,1.917,6432,1.917,6433,1.785,6434,1.917,6435,1.785,6436,1.917,6437,1.785,6438,1.917,6439,1.917,6440,1.917,6441,1.917,6442,1.917,6443,1.917,6444,1.785,6445,1.785,6446,1.785,6447,1.698,6448,1.785,6449,1.785,6450,1.785,6451,1.917,6452,1.917,6453,1.917,6454,1.917,6455,1.917,6456,1.917,6457,1.917,6458,1.917,6459,1.917,6460,1.917,6461,1.917,6462,1.917,6463,1.917,6464,1.582,6465,1.917,6466,1.917,6467,1.917,6468,1.917,6469,1.917,6470,1.917,6471,1.917,6472,1.917,6473,1.917,6474,1.917,6475,1.917,6476,1.785,6477,1.917,6478,1.917,6479,1.785,6480,1.785,6481,1.785,6482,1.785,6483,1.917,6484,1.917,6485,1.917,6486,1.917,6487,1.917,6488,1.917,6489,1.917,6490,1.917,6491,1.917,6492,1.917,6493,1.917,6494,1.917,6495,1.917,6496,1.917,6497,1.917,6498,1.917,6499,1.917,6500,1.917,6501,1.917,6502,1.917,6503,1.917,6504,1.917,6505,1.917,6506,1.785,6507,1.785,6508,1.917,6509,1.785,6510,1.785,6511,1.917,6512,1.785,6513,1.785,6514,1.917,6515,3.086,6516,1.785,6517,1.785,6518,1.785,6519,1.917,6520,1.917,6521,1.917,6522,1.917,6523,1.917,6524,1.917,6525,1.917,6526,1.785,6527,1.785,6528,1.785,6529,1.917,6530,1.785,6531,1.785,6532,1.917,6533,1.633,6534,1.785,6535,1.917,6536,1.785,6537,1.785,6538,1.785,6539,1.785,6540,1.785,6541,1.917,6542,1.917,6543,1.785,6544,1.785,6545,1.917,6546,1.785,6547,1.785,6548,1.917,6549,1.785,6550,1.785,6551,1.917,6552,1.917,6553,1.785,6554,1.917,6555,1.785,6556,1.785,6557,1.917,6558,1.917,6559,1.633,6560,1.785,6561,1.917,6562,1.633,6563,1.785,6564,1.785,6565,1.917,6566,1.785,6567,1.785,6568,1.917,6569,3.621,6570,1.917,6571,1.917]],["keywords/1477",[]],["title/1478",[3078,1338.544]],["content/1478",[2,5.661,10,2.484,34,1.974,47,2.916,52,3.236,84,2.509,89,2.417,93,1.584,97,2.973,100,2.749,101,2.064,114,1.803,130,1.845,135,4.392,136,2.405,139,1.655,141,2.137,162,2.017,169,2.211,172,3.775,218,2.792,221,2.617,222,2.359,323,4.52,325,6.168,351,1.934,386,1.372,395,3.037,437,3.517,521,3.004,586,2.916,638,2.169,796,2.202,825,9.147,833,3.594,862,2.153,939,2.266,1227,4.065,1652,3.594,1907,2.944,1914,2.652,1927,2.792,2106,3.517,2443,2.285,2585,2.728,2625,4.272,2910,3.91,3078,3.279,3225,3.33,3563,3.517,3814,2.708,3981,7.129,4054,3.786,4171,3.448,4282,3.683,5044,4.272,5576,3.683,6163,3.786,6192,3.786,6572,7.493,6573,4.272,6574,4.272,6575,4.588,6576,4.588,6577,4.588,6578,4.588,6579,4.588,6580,4.588,6581,4.588,6582,4.588,6583,8.047,6584,4.588,6585,4.588,6586,4.588,6587,4.588,6588,4.588,6589,4.588,6590,4.588,6591,4.588,6592,4.588,6593,4.588,6594,4.588,6595,4.588,6596,4.588,6597,4.588,6598,4.588,6599,4.588,6600,4.588,6601,4.588,6602,4.588,6603,4.588,6604,4.588,6605,4.588,6606,4.588,6607,4.588,6608,4.588,6609,4.588,6610,4.588,6611,4.588,6612,4.588,6613,4.588,6614,4.588,6615,4.588,6616,4.588,6617,4.588,6618,4.588,6619,4.588,6620,4.588,6621,4.588,6622,4.588,6623,4.588,6624,4.588,6625,4.588,6626,4.588,6627,10.747,6628,4.588,6629,4.588,6630,4.588,6631,4.588,6632,4.588,6633,4.588,6634,8.047,6635,4.588,6636,4.588,6637,4.588,6638,4.588,6639,4.588,6640,4.588,6641,4.588,6642,4.588]],["keywords/1478",[]],["title/1479",[386,446.084,2001,510.148]],["content/1479",[2,0.908,14,1.061,19,2.79,24,1.571,26,1.109,27,1.168,28,1.54,34,2.374,37,0.945,50,0.952,52,1.568,55,0.555,65,1.198,71,2.372,72,1.024,77,1.153,85,1.024,90,0.962,93,1.346,94,1.372,102,5.8,114,0.815,120,1.14,130,0.834,135,3.859,139,0.748,151,2.927,152,6.621,169,5.065,170,1.558,172,0.972,174,0.761,176,3.504,180,1.071,188,4.601,220,1.051,221,5.387,243,2.609,246,1.357,254,2.033,257,0.866,261,1.115,263,1.558,268,0.728,270,2.419,271,1.198,276,1.16,323,2.143,327,3.633,332,3.128,341,1.505,375,0.689,376,1.003,386,1.166,390,1.46,391,3.541,395,2.58,397,2.893,400,0.602,407,1.19,410,1.803,426,2.822,452,1.261,488,6.192,499,3.854,511,2.144,512,1.224,525,1.44,533,1.404,537,1.421,549,1.16,556,0.849,559,3.854,567,1.748,569,0.987,585,1.558,612,1.657,734,0.926,773,1.836,776,1.198,778,2.737,800,1.558,812,2.478,846,1.664,852,1.836,858,1.558,866,1.261,869,2.877,876,1.133,877,4.273,881,2.913,910,1.624,942,4.776,979,1.175,982,2.21,1006,2.988,1030,1.505,1084,2.673,1092,1.481,1105,0.942,1214,1.766,1244,1.317,1316,3.001,1322,1.421,1328,1.71,1354,1.766,1397,1.71,1479,3.738,1480,8.098,1541,2.609,1831,1.387,1842,1.481,1846,1.766,1896,1.109,1915,1.71,2223,1.53,2306,1.766,2333,1.589,2336,3.454,2337,1.836,2338,1.836,2339,1.836,2340,1.836,2341,1.836,2342,5.164,2443,1.032,2482,1.766,2563,1.421,2650,1.421,2771,1.766,2983,1.624,3207,1.71,3225,1.505,3256,4.006,3366,6.749,3367,3.454,3368,3.454,3376,1.624,3814,1.224,3910,1.505,4462,4.553,4463,4.553,4510,1.372,4591,1.589,5014,1.261,5030,1.664,5205,2.786,5208,1.294,5334,1.589,5344,1.766,5346,1.836,5355,1.766,5356,1.766,5361,1.664,5457,1.836,5578,1.766,5604,4.148,5702,1.558,5744,1.836,5860,7.58,5934,2.64,6043,1.664,6046,1.836,6334,1.836,6533,1.766,6559,1.766,6562,1.766,6643,1.93,6644,1.93,6645,1.93,6646,4.702,6647,1.93,6648,1.766,6649,1.93,6650,1.93,6651,1.93,6652,1.93,6653,1.93,6654,1.93,6655,1.93,6656,1.93,6657,3.63,6658,1.93,6659,1.836,6660,1.93,6661,1.93,6662,1.93,6663,1.93,6664,1.93,6665,1.93,6666,1.93,6667,1.93,6668,1.93,6669,1.93,6670,1.836,6671,1.93,6672,2.073,6673,2.073,6674,2.073,6675,2.073,6676,2.073]],["keywords/1479",[]],["title/1480",[1216,411.615,3027,309.476,3062,542.605,6677,1060.364]],["content/1480",[]],["keywords/1480",[]],["title/1481",[399,334.114,881,283.991]],["content/1481",[52,8.255,102,7.779,386,6.137,490,15.15,2940,13.739,5499,19.113,5500,19.113,6678,20.524]],["keywords/1481",[]],["title/1482",[3027,309.476,3062,542.605,3071,490.332,6679,1060.364]],["content/1482",[]],["keywords/1482",[]],["title/1483",[399,334.114,881,283.991]],["content/1483",[151,8.431,152,7.222,2933,8.712,3027,5.855,3062,10.266,5205,14.339,5877,18.684,6680,20.063,6681,20.063]],["keywords/1483",[]],["title/1484",[400,544.017]],["content/1484",[52,8.449,72,10.376,327,10.957,804,13.112,6065,19.564,6066,19.564,6682,21.008]],["keywords/1484",[]],["title/1485",[3015,445.613,3027,309.476,3062,542.605,6683,1060.364]],["content/1485",[]],["keywords/1485",[]],["title/1486",[399,334.114,881,283.991]],["content/1486",[7,9.732,28,7.751,569,9.346,1866,13.29,3025,9.106,3027,5.727,3062,10.041,5660,18.273,6684,19.621,6685,19.621]],["keywords/1486",[]],["title/1487",[400,544.017]],["content/1487",[4733,19.263,6209,19.263,6210,21.051,6686,22.604]],["keywords/1487",[]],["title/1488",[3025,492.094,3027,309.476,3062,542.605,6687,1060.364]],["content/1488",[]],["keywords/1488",[]],["title/1489",[399,334.114,881,283.991]],["content/1489",[28,8.107,174,7.534,411,10.314,3270,16.936,3278,16.079,4325,16.936,5767,19.113,6688,20.524]],["keywords/1489",[]],["title/1490",[2959,667.771,3027,309.476,3071,490.332,6689,1060.364]],["content/1490",[]],["keywords/1490",[]],["title/1491",[399,334.114,881,283.991]],["content/1491",[28,8.107,69,11.355,375,6.818,969,12.7,2500,16.079,3178,16.936,5598,19.113,6690,20.524]],["keywords/1491",[]],["title/1492",[2934,727.149,3027,309.476,3071,490.332,6691,1060.364]],["content/1492",[]],["keywords/1492",[]],["title/1493",[399,334.114,881,283.991]],["content/1493",[200,14.797,216,13.481,317,11.834,399,4.705,606,12.89,6006,19.564,6692,21.008]],["keywords/1493",[]],["title/1494",[3027,309.476,3071,490.332,3403,640.247,6693,1060.364]],["content/1494",[]],["keywords/1494",[]],["title/1495",[399,334.114,881,283.991]],["content/1495",[72,8.731,152,6.364,386,5.286,612,7.516,1648,15.064,3027,5.159,3071,8.174,3099,11.236,3403,10.674,5205,12.634,5875,16.462,6008,16.462,6694,17.678,6695,17.678,6696,17.678]],["keywords/1495",[]],["title/1496",[399,334.114,881,283.991]],["content/1496",[7,6.37,33,8.699,52,5.165,86,9.046,101,5.777,167,6.542,173,6.984,273,6.603,332,7.28,375,4.266,526,10.944,612,5.46,825,5.594,841,8.088,942,5.836,1414,9.179,5496,11.96,5497,11.96,5576,10.309,5604,9.653,5662,11.96,5706,11.96,5756,11.96,5848,11.96,5886,11.96,5887,11.379,5888,11.96,5889,11.96,6697,12.843,6698,12.843,6699,12.843,6700,12.843,6701,12.843,6702,12.843]],["keywords/1496",[]],["title/1497",[400,544.017]],["content/1497",[130,9.091,714,17.709,6314,21.051,6703,22.604]],["keywords/1497",[]],["title/1498",[1283,608.91,3027,309.476,3071,490.332,6704,1060.364]],["content/1498",[]],["keywords/1498",[]],["title/1499",[399,334.114,881,283.991]],["content/1499",[130,8.449,1283,12.064,3027,6.131,3071,9.714,4720,18.612,6705,21.008,6706,21.008]],["keywords/1499",[]],["title/1500",[2001,640.449]],["content/1500",[19,4.874,43,10.569,152,7.222,176,8.505,674,13.589,969,12.414,2333,15.38,5350,18.684,6707,20.063]],["keywords/1500",[]],["title/1501",[386,446.084,2001,510.148]],["content/1501",[19,4.874,152,7.222,176,8.505,2333,15.38,2946,11.759,3027,5.855,3071,9.277,6643,18.684,6708,20.063]],["keywords/1501",[]],["title/1502",[400,544.017]],["content/1502",[19,4.986,102,7.779,176,8.701,3136,17.49,6318,19.113,6319,19.113,6320,19.113,6709,20.524]],["keywords/1502",[]],["title/1503",[3001,757.842,3027,309.476,3071,490.332,6710,1060.364]],["content/1503",[]],["keywords/1503",[]],["title/1504",[399,334.114,881,283.991]],["content/1504",[10,6.193,114,7.885,174,7.365,492,13.28,3278,15.718,4379,16.104,4955,18.684,5807,18.684,6711,20.063]],["keywords/1504",[]],["title/1505",[3001,757.842,3027,309.476,3071,490.332,6712,1060.364]],["content/1505",[]],["keywords/1505",[]],["title/1506",[399,334.114,881,283.991]],["content/1506",[24,6.123,81,13.675,114,8.456,5570,20.035,6713,21.514,6714,21.514]],["keywords/1506",[]],["title/1507",[3027,309.476,3071,490.332,3089,656.117,6715,1060.364]],["content/1507",[]],["keywords/1507",[]],["title/1508",[399,334.114,881,283.991]],["content/1508",[173,11.7,375,7.147,526,18.334,1866,14.572,5664,20.035,6716,21.514]],["keywords/1508",[]],["title/1509",[3027,309.476,3071,490.332,3089,656.117,6717,1060.364]],["content/1509",[]],["keywords/1509",[]],["title/1510",[399,334.114,881,283.991]],["content/1510",[289,16.9,3020,16.57,5600,20.53,6718,22.046,6719,22.046]],["keywords/1510",[]],["title/1511",[1224,656.117,3027,309.476,3071,490.332,6720,1060.364]],["content/1511",[]],["keywords/1511",[]],["title/1512",[399,334.114,881,283.991]],["content/1512",[24,5.349,102,7.123,298,8.511,740,10.398,1866,12.73,1887,9.094,2798,11.946,3027,5.485,3071,8.691,5666,17.503,6721,18.795,6722,18.795]],["keywords/1512",[]],["title/1513",[400,544.017]],["content/1513",[37,9.148,252,4.41,327,10.465,2798,12.752,3027,5.855,3071,9.277,6243,18.684,6723,20.063,6724,20.063]],["keywords/1513",[]],["title/1514",[2001,640.449]],["content/1514",[152,8.137,327,11.79,1006,17.328,6725,22.604]],["keywords/1514",[]],["title/1515",[386,446.084,2001,510.148]],["content/1515",[152,7.562,327,10.957,1006,16.104,2798,13.353,3027,6.131,3071,9.714,6726,21.008]],["keywords/1515",[]],["title/1516",[400,544.017]],["content/1516",[263,15.08,327,10.465,331,12.114,2798,12.752,3027,5.855,3071,9.277,6376,18.684,6727,20.063,6728,20.063]],["keywords/1516",[]],["title/1517",[2001,640.449]],["content/1517",[391,17,5030,15.411,5344,16.361,5345,17.88,5346,17.01,5355,16.361,5356,16.361,6729,19.199,6730,19.199]],["keywords/1517",[]],["title/1518",[400,544.017]],["content/1518",[327,11.222,542,12.522,799,11.167,6371,19.061,6380,20.035,6731,21.514]],["keywords/1518",[]],["title/1519",[386,446.084,2001,510.148]],["content/1519",[391,16.509,1155,10.571,2342,9.863,3027,5.264,3071,8.34,5344,15.369,5355,15.369,5356,15.369,6644,16.795,6732,18.035,6733,18.035,6734,18.035]],["keywords/1519",[]],["title/1520",[399,334.114,881,283.991]],["content/1520",[332,12.497,466,16.57,982,12.497,5920,20.53,6735,22.046]],["keywords/1520",[]],["title/1521",[400,544.017]],["content/1521",[24,5.239,27,5.513,102,6.976,167,9.376,376,8.906,426,4.941,802,13.835,1155,10.789,3027,5.372,3071,8.512,6327,17.142,6736,18.407,6737,18.407]],["keywords/1521",[]],["title/1522",[400,544.017]],["content/1522",[27,6.292,102,7.962,204,7.073,317,11.834,6120,19.564,6121,19.564,6738,21.008]],["keywords/1522",[]],["title/1523",[1155,621.508,3027,309.476,3071,490.332,6739,1060.364]],["content/1523",[]],["keywords/1523",[]],["title/1524",[399,334.114,881,283.991]],["content/1524",[24,5.349,27,5.629,373,13.057,800,14.127,807,14.127,1155,11.016,2940,12.582,3027,5.485,3071,8.691,5839,17.503,6740,18.795,6741,18.795]],["keywords/1524",[]],["title/1525",[400,544.017]],["content/1525",[140,12.021,327,10.465,799,10.414,1155,11.759,3027,5.855,3071,9.277,6378,18.684,6742,20.063,6743,20.063]],["keywords/1525",[]],["title/1526",[400,544.017]],["content/1526",[877,8.539,880,11.124,942,9.546,979,11.909,4580,17.335,6236,19.564,6744,21.008]],["keywords/1526",[]],["title/1527",[386,446.084,2001,510.148]],["content/1527",[93,5.873,169,8.195,180,8.784,254,4.963,559,9.407,877,6.912,1155,9.966,2341,15.065,3027,4.963,3071,7.863,3207,14.031,3366,12.153,4462,14.031,4463,14.031,6645,15.835,6646,14.49,6745,17.004]],["keywords/1527",[]],["title/1528",[400,544.017]],["content/1528",[24,5.979,877,8.539,880,11.124,942,9.546,979,11.909,6158,19.564,6746,21.008]],["keywords/1528",[]],["title/1529",[386,446.084,2001,510.148]],["content/1529",[254,5.855,559,11.099,877,8.155,1155,11.759,2338,17.775,2339,17.775,3027,5.855,3071,9.277,6747,20.063]],["keywords/1529",[]],["title/1530",[400,544.017]],["content/1530",[877,8.539,880,11.124,942,9.546,979,11.909,2139,15.79,6207,19.564,6748,21.008]],["keywords/1530",[]],["title/1531",[386,446.084,2001,510.148]],["content/1531",[169,9.058,254,5.485,332,10.654,559,10.398,877,7.64,881,3.578,2340,16.652,3366,13.433,4462,15.509,4463,15.509,6646,16.016,6647,17.503]],["keywords/1531",[]],["title/1532",[1155,621.508,3027,309.476,3071,490.332,6749,1060.364]],["content/1532",[]],["keywords/1532",[]],["title/1533",[399,334.114,881,283.991]],["content/1533",[399,4.209,1434,13.643,3019,12.182,3020,14.127,3027,5.485,3071,8.691,5604,14.127,5937,17.503,5938,17.503,5939,17.503,6750,18.795,6751,18.795]],["keywords/1533",[]],["title/1534",[400,544.017]],["content/1534",[27,6.292,877,8.539,880,11.124,942,9.546,979,11.909,6329,19.564,6752,21.008]],["keywords/1534",[]],["title/1535",[386,446.084,2001,510.148]],["content/1535",[72,6.165,135,7.384,152,4.494,169,6.016,170,9.383,221,7.122,254,3.643,276,6.989,332,7.076,559,6.906,585,9.383,612,7.682,877,5.074,881,4.043,982,7.076,2336,16.009,2337,11.06,2443,6.218,3019,8.091,3027,3.643,3071,5.773,3366,8.922,3814,7.369,4462,10.301,4463,10.301,5205,8.922,5604,9.383,5934,12.239,6646,10.638,6753,12.483]],["keywords/1535",[]],["title/1536",[2001,640.449]],["content/1536",[866,13.417,876,12.057,2342,12.057,5353,20.53,6754,22.046]],["keywords/1536",[]],["title/1537",[386,446.084,2001,510.148]],["content/1537",[866,14.115,876,12.684,2342,12.684]],["keywords/1537",[]],["title/1538",[3019,687.258,3027,309.476,3071,490.332,6755,1060.364]],["content/1538",[]],["keywords/1538",[]],["title/1539",[399,334.114,881,283.991]],["content/1539",[52,7.892,332,11.123,480,13.456,612,8.342,853,16.191,5502,18.273,5604,14.748,5795,18.273,6756,19.621,6757,19.621]],["keywords/1539",[]],["title/1540",[3019,687.258,3027,309.476,3071,490.332,6758,1060.364]],["content/1540",[]],["keywords/1540",[]],["title/1541",[399,334.114,881,283.991]],["content/1541",[612,9.373,5604,16.57,5760,20.53,6759,22.046,6760,22.046]],["keywords/1541",[]],["title/1542",[3019,687.258,3027,309.476,3071,490.332,6761,1060.364]],["content/1542",[]],["keywords/1542",[]],["title/1543",[399,334.114,881,283.991]],["content/1543",[19,5.226,152,7.745,488,10.094,5855,20.035,5856,20.035,6762,21.514]],["keywords/1543",[]],["title/1544",[3019,687.258,3027,309.476,3071,490.332,6763,1060.364]],["content/1544",[]],["keywords/1544",[]],["title/1545",[399,334.114,881,283.991]],["content/1545",[102,6.835,121,10.647,3019,11.689,3027,5.264,3071,8.34,3099,11.463,4909,14.476,5529,16.795,5802,16.795,5803,16.795,6764,18.035,6765,18.035,6766,18.035,6767,18.035]],["keywords/1545",[]],["title/1546",[399,334.114,881,283.991]],["content/1546",[27,5.192,55,4.64,84,9.48,85,8.561,139,6.253,152,6.24,249,8.044,368,11.351,381,11.235,508,9.226,955,9.226,976,14.772,3033,8.016,5800,16.143,6768,17.334,6769,17.334]],["keywords/1546",[]],["title/1547",[400,544.017]],["content/1547",[135,10.176,151,8.449,488,11.683,586,9.225,796,6.967,969,8.981,5576,19.987,6160,13.517,6163,11.977,6164,13.517,6347,13.517,6365,13.517,6770,14.514,6771,14.514,6772,14.514,6773,14.514]],["keywords/1547",[]],["title/1548",[366,694.839,862,699.954]],["content/1548",[19,4.766,176,8.318,410,9.073,2872,9.817,3027,5.727,3071,9.073,6512,18.273,6513,18.273,6774,19.621,6775,19.621]],["keywords/1548",[]],["title/1549",[399,334.114,881,283.991]],["content/1549",[24,6.123,52,8.653,332,12.196,5489,20.035,5490,20.035,6776,21.514]],["keywords/1549",[]],["title/1550",[400,544.017]],["content/1550",[62,6.952,85,8.241,121,9.85,135,6.819,146,12.791,157,11.302,488,7.829,866,10.155,982,9.459,1363,14.783,2872,8.348,3027,4.87,3071,7.716,6163,13.769,6166,15.539,6777,16.686,6778,16.686,6779,16.686]],["keywords/1550",[]],["title/1551",[400,544.017]],["content/1551",[5,7.408,52,8.867,309,16.003,6068,20.53,6780,22.046]],["keywords/1551",[]],["title/1552",[1754,525.94,3027,309.476,3071,490.332,6781,1060.364]],["content/1552",[]],["keywords/1552",[]],["title/1553",[399,334.114,881,283.991]],["content/1553",[549,10.986,612,10.428,2342,10.731,5604,18.434,5605,18.273,5758,18.273,6782,19.621,6783,19.621]],["keywords/1553",[]],["title/1554",[1754,525.94,3027,309.476,3071,490.332,6784,1060.364]],["content/1554",[]],["keywords/1554",[]],["title/1555",[399,334.114,881,283.991]],["content/1555",[27,6.444,942,9.776,978,12.99,2854,18.334,3020,16.171,6785,21.514]],["keywords/1555",[]],["title/1556",[1754,525.94,3027,309.476,3071,490.332,6786,1060.364]],["content/1556",[]],["keywords/1556",[]],["title/1557",[399,334.114,881,283.991]],["content/1557",[2,8.793,128,13.43,204,6.755,881,3.819,1216,7.788,3027,5.855,3071,9.277,6787,20.063,6788,20.063]],["keywords/1557",[]],["title/1558",[400,544.017]],["content/1558",[2,9.663,84,12.057,518,12.922,6168,20.53,6789,22.046]],["keywords/1558",[]],["title/1559",[386,446.084,2001,510.148]],["content/1559",[102,7.604,188,11.165,271,11.598,386,5.999,488,9.413,2921,9.951,3027,5.855,3071,9.277,6790,20.063]],["keywords/1559",[]],["title/1560",[400,544.017]],["content/1560",[10,5.801,24,5.349,27,5.629,114,7.387,167,9.573,508,10.004,2933,8.161,3027,5.485,3071,8.691,6337,17.503,6791,18.795,6792,18.795]],["keywords/1560",[]],["title/1561",[400,544.017]],["content/1561",[130,7.892,386,5.867,2933,8.52,3027,5.727,3071,9.073,6191,16.721,6192,16.191,6193,18.273,6793,19.621,6794,19.621]],["keywords/1561",[]],["title/1562",[399,334.114,881,283.991]],["content/1562",[24,2.632,42,5.147,54,5.994,55,4.743,69,5.116,81,5.878,84,7.886,125,4.511,137,8.512,141,4.307,151,3.887,167,4.711,268,3.246,275,6.425,323,4.435,327,4.824,331,5.584,368,6.056,426,3.871,499,5.116,559,5.116,714,11.296,776,5.346,877,5.861,880,4.897,881,1.761,1451,6.425,1680,5.421,2217,7.245,5085,7.631,5520,8.613,5521,8.613,5564,8.613,5572,8.613,5582,8.194,5682,8.613,5720,8.613,5721,8.613,5722,8.613,5774,8.613,5887,8.194,5989,8.613,6022,8.613,6795,9.248,6796,9.248,6797,9.248,6798,9.248,6799,9.248,6800,9.248,6801,9.248,6802,9.248,6803,9.248,6804,9.248]],["keywords/1562",[]],["title/1563",[400,544.017]],["content/1563",[53,7.634,56,12.467,130,6.137,204,5.137,375,5.069,705,10.464,853,12.591,1411,16.702,1414,14.871,1429,11.954,1581,11.077,1887,7.383,6102,14.21,6103,14.21,6107,14.21,6200,14.21,6249,14.21,6805,15.259,6806,15.259,6807,15.259]],["keywords/1563",[]],["title/1564",[2933,460.433,3027,309.476,3071,490.332,6808,1060.364]],["content/1564",[]],["keywords/1564",[]],["title/1565",[399,334.114,881,283.991]],["content/1565",[5,4.958,53,7.382,114,5.799,121,8.71,130,5.934,147,11.559,488,6.923,569,7.028,666,8.211,881,2.809,2840,10.25,2933,6.407,3027,4.306,3071,6.823,3814,8.71,3821,12.175,5536,13.74,5710,13.74,5711,13.74,5863,13.74,5864,13.74,6809,14.754,6810,14.754,6811,14.754,6812,14.754]],["keywords/1565",[]],["title/1566",[399,334.114,881,283.991]],["content/1566",[3,2.601,5,1.424,10,1.308,24,2.136,27,1.27,50,4.637,54,2.747,55,2.703,69,2.345,84,4.105,93,1.464,100,2.54,101,3.376,102,3.827,137,2.502,139,2.707,141,1.974,174,3.707,176,1.797,178,2.776,188,2.359,204,2.527,221,2.418,242,2.305,252,0.932,270,1.858,271,2.451,298,1.92,306,2.268,312,1.503,323,1.304,327,2.211,332,2.403,351,1.787,358,2.806,368,2.776,379,4.368,380,6.098,386,3.02,426,2.015,432,3.498,438,3.25,488,1.989,499,2.345,533,2.871,694,3.25,698,3.403,726,3.25,746,3.077,844,2.623,866,4.568,877,3.051,942,5.547,955,2.256,966,3.077,969,2.623,975,2.776,1341,2.418,1480,6.196,1887,4.886,1907,2.72,2059,3.612,2060,6.396,2109,3.03,2215,3.321,2286,3.186,2333,3.25,2443,2.112,2515,3.03,2656,3.077,2673,3.321,3167,3.321,3192,3.403,3331,3.403,3900,8.947,4282,3.403,5205,3.03,5361,3.403,5386,3.756,5387,3.948,5388,3.948,5505,3.948,5506,3.948,5515,3.948,5516,3.948,5517,3.948,5518,3.948,5534,3.948,5546,3.948,5547,3.948,5548,3.948,5584,3.948,5587,3.948,5588,3.948,5643,6.989,5644,3.948,5645,3.948,5646,3.948,5694,3.948,5695,3.948,5702,3.186,5703,3.948,5704,3.948,5724,3.948,5725,3.948,5726,3.948,5750,3.948,5797,3.948,5837,3.948,5884,3.948,5895,3.948,5896,3.948,5897,3.948,5902,3.948,5903,3.948,5904,3.948,6014,3.612,6032,3.948,6033,3.948,6034,3.756,6037,3.948,6038,3.948,6813,4.239,6814,4.239,6815,4.239,6816,4.239,6817,4.239,6818,4.239,6819,4.239,6820,4.239,6821,4.239,6822,4.239,6823,4.239,6824,4.239,6825,4.239,6826,4.239,6827,4.239,6828,4.239,6829,4.239,6830,4.239,6831,4.239,6832,4.239,6833,4.239]],["keywords/1566",[]],["title/1567",[400,544.017]],["content/1567",[3,3.349,5,1.834,19,3.975,24,1.553,27,1.635,43,4.928,51,3.962,52,2.195,53,8.93,65,3.155,86,3.844,88,3.654,93,3.231,98,2.348,102,3.545,111,3.406,128,3.654,130,2.195,174,2.004,221,3.114,273,2.806,290,2.026,317,5.27,323,1.679,331,3.295,375,1.813,385,6.063,386,2.797,389,5.605,426,1.465,427,3.901,483,2.506,499,3.019,504,3.019,511,3.002,549,5.237,695,2.287,825,2.377,866,3.322,969,3.377,1220,3.574,1341,3.114,1887,2.641,2215,4.276,2217,4.276,2401,4.381,2431,4.381,4580,4.504,5698,4.504,5702,4.102,6014,4.651,6053,5.083,6054,5.083,6055,5.083,6056,5.083,6057,5.083,6058,5.083,6059,5.083,6060,5.083,6061,5.083,6062,5.083,6070,5.083,6071,5.083,6072,5.083,6080,5.083,6081,5.083,6101,5.083,6104,5.083,6105,5.083,6106,5.083,6109,5.083,6110,5.083,6111,5.083,6112,5.083,6113,4.504,6114,5.083,6115,5.083,6116,5.083,6117,5.083,6118,5.083,6131,7.971,6132,5.083,6140,12.889,6179,5.083,6198,5.083,6220,5.083,6221,5.083,6222,5.083,6241,5.083,6251,5.083,6273,5.083,6274,5.083,6384,5.083,6385,5.083,6834,5.458,6835,5.458,6836,5.458,6837,5.458,6838,5.458,6839,5.458,6840,5.458,6841,5.458,6842,5.458,6843,5.458,6844,5.458,6845,5.458,6846,5.458]],["keywords/1567",[]],["title/1568",[366,694.839,862,699.954]],["content/1568",[50,7.006,104,9.074,176,8.821,480,10.464,519,11.954,706,13.003,1125,11.697,1581,11.077,2567,13.003,4171,11.469,5455,13.003,6191,17.732,6192,12.591,6444,14.21,6445,14.21,6446,14.21,6447,13.519,6448,14.21,6449,14.21,6450,14.21,6847,15.259]],["keywords/1568",[]],["title/1569",[2922,515.126,3027,309.476,3072,625.967,6848,1060.364]],["content/1569",[]],["keywords/1569",[]],["title/1570",[399,334.114,881,283.991]],["content/1570",[26,9.849,93,6.357,102,6.976,112,13.155,130,7.403,317,10.369,721,14.421,1095,14.421,3099,11.7,5526,17.142,5680,17.142,6849,18.407,6850,18.407]],["keywords/1570",[]],["title/1571",[2922,515.126,2971,673.976,3027,309.476,6851,1060.364]],["content/1571",[]],["keywords/1571",[]],["title/1572",[399,334.114,881,283.991]],["content/1572",[24,6.123,27,6.444,43,11.334,4510,14.241,5815,20.035,6852,21.514]],["keywords/1572",[]],["title/1573",[1155,621.508,2922,515.126,3027,309.476,6853,1060.364]],["content/1573",[]],["keywords/1573",[]],["title/1574",[399,334.114,881,283.991]],["content/1574",[114,8.256,508,11.181,825,9.15,1887,10.165,5941,19.564,5942,19.564,6854,21.008]],["keywords/1574",[]],["title/1575",[2921,525.94,3027,309.476,3077,680.462,6855,1060.364]],["content/1575",[]],["keywords/1575",[]],["title/1576",[399,334.114,881,283.991]],["content/1576",[68,11.421,307,9.139,322,16.721,327,10.234,2933,8.52,2939,13.29,3027,5.727,4689,16.191,6856,19.621,6857,19.621]],["keywords/1576",[]],["title/1577",[399,334.114,881,283.991]],["content/1577",[50,5.983,52,7.495,55,3.488,65,7.533,69,7.209,84,10.191,153,6.637,188,10.371,208,10.208,327,6.797,367,9.178,499,7.209,877,5.297,942,5.921,946,6.16,3213,11.545,5361,10.459,5386,11.545,5562,12.135,5879,12.135,5880,12.135,5881,11.545,5882,12.135,6026,12.135,6027,12.135,6858,13.03,6859,13.03,6860,13.03,6861,13.03,6862,13.03]],["keywords/1577",[]],["title/1578",[400,544.017]],["content/1578",[5,4.195,6,9.062,7,6.192,19,4.389,24,3.553,84,6.827,120,6.866,139,4.503,248,3.386,312,4.428,331,7.537,825,5.437,880,6.61,942,5.673,946,5.901,1031,9.062,2443,6.218,2656,9.062,2678,11.06,2758,8.561,5454,11.06,6125,11.625,6126,11.625,6129,11.625,6185,11.625,6186,11.625,6195,11.625,6196,11.625,6218,11.625,6286,11.625,6863,12.483,6864,12.483,6865,12.483,6866,12.483,6867,12.483]],["keywords/1578",[]],["title/1579",[2933,460.433,3027,309.476,3063,630.57,6868,1060.364]],["content/1579",[]],["keywords/1579",[]],["title/1580",[399,334.114,881,283.991]],["content/1580",[7,6.657,10,4.143,19,3.26,94,8.885,130,5.399,172,6.298,176,5.69,307,6.252,323,4.129,426,3.603,497,8.985,525,9.325,572,11.438,825,5.846,877,5.456,2127,11.892,2933,5.828,3027,3.917,3063,7.982,5531,12.5,5532,12.5,5582,11.892,5858,12.5,5859,12.5,5860,10.774,5861,12.5,5862,12.5,6869,13.422,6870,13.422,6871,13.422,6872,13.422]],["keywords/1580",[]],["title/1581",[399,334.114,881,283.991]],["content/1581",[93,6.357,150,8.605,177,16.308,178,12.054,298,8.336,524,10.244,1353,11.114,2515,13.155,4263,13.155,5649,17.142,5674,17.142,6873,18.407,6874,18.407]],["keywords/1581",[]],["title/1582",[400,544.017]],["content/1582",[2,6.575,10,4.631,32,9.536,43,7.904,53,7.506,174,5.507,225,7.288,499,8.3,825,6.534,1318,11.753,1319,9.536,2933,6.514,2946,8.793,3027,4.379,6183,13.971,6278,13.971,6279,13.971,6280,13.292,6281,13.971,6288,13.971,6875,15.002,6876,15.002,6877,15.002,6878,15.002]],["keywords/1582",[]],["title/1583",[400,544.017]],["content/1583",[96,11.598,327,10.465,671,16.555,2933,8.712,2946,11.759,3027,5.855,6371,17.775,6879,20.063,6880,20.063]],["keywords/1583",[]],["title/1584",[400,544.017]],["content/1584",[151,8.431,734,8.965,1318,15.718,2933,8.712,3027,5.855,3089,12.414,6300,18.684,6881,20.063,6882,20.063]],["keywords/1584",[]],["title/1585",[400,544.017]],["content/1585",[42,9.286,106,7.115,120,9.178,204,5.618,248,4.525,825,9.624,877,6.783,3427,11.045,5419,14.783,6094,15.539,6095,15.539,6096,15.539,6097,15.539,6390,15.539,6391,15.539,6883,16.686,6884,16.686]],["keywords/1585",[]],["title/1586",[366,694.839,862,699.954]],["content/1586",[50,9.212,153,10.219,172,9.413,204,6.755,410,9.277,642,13.003,2734,13.003,6404,18.684,6885,20.063]],["keywords/1586",[]],["title/1587",[2798,673.976,2933,460.433,3027,309.476,6886,1060.364]],["content/1587",[]],["keywords/1587",[]],["title/1588",[399,334.114,881,283.991]],["content/1588",[249,8.91,695,8.045,881,3.655,1155,11.253,1320,14.718,2546,16.361,2933,8.337,3027,5.603,5708,17.88,6887,19.199,6888,19.199]],["keywords/1588",[]],["title/1589",[400,544.017]],["content/1589",[101,8.826,216,12.592,511,10.792,740,10.855,2933,8.52,3019,12.717,3027,5.727,6148,18.273,6889,19.621,6890,19.621]],["keywords/1589",[]],["title/1590",[400,544.017]],["content/1590",[13,10.315,96,11.598,877,8.155,1754,9.951,2933,8.712,3027,5.855,3220,17.775,6891,20.063,6892,20.063]],["keywords/1590",[]],["title/1591",[400,544.017]],["content/1591",[19,4.766,385,12.717,511,10.792,1216,7.617,2933,8.52,3027,5.727,6140,17.384,6280,17.384,6893,19.621,6894,19.621]],["keywords/1591",[]],["title/1592",[399,334.114,881,283.991]],["content/1592",[23,11.135,50,7.807,317,9.579,327,8.869,385,11.021,466,12.78,812,10.808,5484,15.835,5578,14.49,5579,15.835,5580,15.835,5844,15.835,5845,15.065,5846,15.835,6895,17.004,6896,17.004,6897,17.004]],["keywords/1592",[]],["title/1593",[400,544.017]],["content/1593",[55,5.494,248,5.567,385,13.302,397,10.758,512,12.116,781,16.079,1105,9.326,6898,20.524]],["keywords/1593",[]],["title/1594",[366,694.839,862,699.954]],["content/1594",[5,5.825,152,6.24,366,8.074,825,7.55,937,8.225,1194,12.583,1216,6.729,2933,7.527,3027,5.059,6437,16.143,6526,16.143,6527,21.1,6528,16.143,6899,17.334,6900,17.334]],["keywords/1594",[]],["title/1595",[386,446.084,2001,510.148]],["content/1595",[152,9.078,881,4.801,3225,14.899,5604,18.956,6648,17.49]],["keywords/1595",[]],["title/1596",[2933,460.433,3027,309.476,3098,550.39,6901,1060.364]],["content/1596",[]],["keywords/1596",[]],["title/1597",[399,334.114,881,283.991]],["content/1597",[29,10.056,152,6.766,153,9.573,296,8.952,564,14.724,2933,8.161,3027,5.485,3062,9.618,5728,17.503,5729,17.503,6902,18.795,6903,18.795]],["keywords/1597",[]],["title/1598",[400,544.017]],["content/1598",[290,6.562,327,9.221,825,7.7,1006,13.552,2933,7.676,3027,5.159,3062,9.046,3192,14.19,4192,12.634,6292,16.462,6530,21.371,6531,16.462,6904,17.678,6905,17.678]],["keywords/1598",[]],["title/1599",[386,446.084,2001,510.148]],["content/1599",[55,6.051,135,9.238,139,8.154,6649,21.051]],["keywords/1599",[]],["title/1600",[2933,460.433,3027,309.476,3062,542.605,6906,1060.364]],["content/1600",[]],["keywords/1600",[]],["title/1601",[366,694.839,862,699.954]],["content/1601",[19,4.053,139,6.019,141,7.772,152,6.006,825,7.268,1199,18.83,2933,7.245,3027,4.87,3071,7.716,5134,13.393,5975,14.219,6509,15.539,6510,15.539,6533,14.219,6534,15.539,6907,16.686,6908,16.686]],["keywords/1601",[]],["title/1602",[386,446.084,2001,510.148]],["content/1602",[2933,11.108,3027,6.131,5860,16.863,6533,17.902,6650,19.564,6909,21.008]],["keywords/1602",[]],["title/1603",[399,334.114,881,283.991]],["content/1603",[307,10.268,978,13.311,982,12.497,5631,20.53,6910,22.046]],["keywords/1603",[]],["title/1604",[400,544.017]],["content/1604",[10,6.484,114,8.256,521,13.757,877,8.539,982,11.909,2864,15.25,6911,21.008]],["keywords/1604",[]],["title/1605",[2928,417.798,2933,460.433,3027,309.476,6912,1060.364]],["content/1605",[]],["keywords/1605",[]],["title/1606",[366,694.839,862,699.954]],["content/1606",[28,7.751,180,10.136,204,6.606,874,11.194,2933,8.52,3025,9.106,3027,5.727,6402,18.273,6913,19.621,6914,19.621]],["keywords/1606",[]],["title/1607",[399,334.114,881,283.991]],["content/1607",[150,9.594,864,15.734,1466,16.079,2293,18.184,4379,16.475,5421,19.113,5629,19.113,6915,20.524]],["keywords/1607",[]],["title/1608",[400,544.017]],["content/1608",[33,15.311,53,11.309,6239,21.051,6916,22.604]],["keywords/1608",[]],["title/1609",[366,694.839,862,699.954]],["content/1609",[1914,12.744,2586,12.744,4171,16.57,6433,20.53,6917,22.046]],["keywords/1609",[]],["title/1610",[2933,460.433,3025,492.094,3027,309.476,6918,1060.364]],["content/1610",[]],["keywords/1610",[]],["title/1611",[399,334.114,881,283.991]],["content/1611",[28,7.751,507,13.82,512,11.583,2333,15.042,2933,8.52,3025,9.106,3027,5.727,5820,18.273,6919,19.621,6920,19.621]],["keywords/1611",[]],["title/1612",[400,544.017]],["content/1612",[52,8.255,327,10.705,2933,8.912,3025,9.525,3027,5.99,6063,19.113,6921,20.524,6922,20.524]],["keywords/1612",[]],["title/1613",[400,544.017]],["content/1613",[327,10.465,1084,13.758,2933,8.712,3025,9.311,3027,5.855,5085,16.555,6136,18.684,6923,20.063,6924,20.063]],["keywords/1613",[]],["title/1614",[399,334.114,881,283.991]],["content/1614",[130,8.867,692,18.787,3821,18.191,6925,22.046,6926,22.046]],["keywords/1614",[]],["title/1615",[400,544.017]],["content/1615",[327,11.79,6138,21.051,6927,21.051,6928,22.604]],["keywords/1615",[]],["title/1616",[386,446.084,2001,510.148]],["content/1616",[85,10.376,135,8.586,221,11.985,327,10.957,397,11.012,6651,19.564,6929,21.008]],["keywords/1616",[]],["title/1617",[2928,417.798,2959,667.771,3027,309.476,6930,1060.364]],["content/1617",[]],["keywords/1617",[]],["title/1618",[399,334.114,881,283.991]],["content/1618",[65,15.225,4756,18.787,5716,20.53,6931,22.046]],["keywords/1618",[]],["title/1619",[2928,417.798,2959,667.771,3027,309.476,6932,1060.364]],["content/1619",[]],["keywords/1619",[]],["title/1620",[399,334.114,881,283.991]],["content/1620",[24,5.842,307,9.559,465,12.593,873,14.456,877,8.343,5538,19.113,6933,20.524,6934,20.524]],["keywords/1620",[]],["title/1621",[1362,680.462,2928,417.798,3027,309.476,6935,1060.364]],["content/1621",[]],["keywords/1621",[]],["title/1622",[399,334.114,881,283.991]],["content/1622",[90,9.525,606,12.593,874,11.709,1362,13.171,2928,8.087,3027,5.99,6936,20.524,6937,20.524]],["keywords/1622",[]],["title/1623",[400,544.017]],["content/1623",[28,8.107,1362,13.171,2928,8.087,3027,5.99,4222,19.113,6304,19.113,6938,20.524,6939,20.524]],["keywords/1623",[]],["title/1624",[400,544.017]],["content/1624",[7,10.671,48,11.451,126,11.833,188,11.973,6123,20.035,6940,21.514]],["keywords/1624",[]],["title/1625",[1266,612.987,2928,417.798,3027,309.476,6941,1060.364]],["content/1625",[]],["keywords/1625",[]],["title/1626",[399,334.114,881,283.991]],["content/1626",[24,5.239,27,5.513,151,7.735,307,10.971,869,13.587,955,9.797,2515,13.155,4713,14.111,5590,17.142,5591,17.142,5592,17.142,6942,18.407]],["keywords/1626",[]],["title/1627",[1266,612.987,2928,417.798,3027,309.476,6943,1060.364]],["content/1627",[]],["keywords/1627",[]],["title/1628",[366,694.839,862,699.954]],["content/1628",[1266,11.598,1914,11.598,2585,11.931,2928,7.905,3027,5.855,4171,15.08,6435,18.684,6944,20.063,6945,20.063]],["keywords/1628",[]],["title/1629",[400,544.017]],["content/1629",[7,9.951,43,10.569,148,13.138,211,9.746,1266,11.598,2928,7.905,3027,5.855,6946,20.063,6947,20.063]],["keywords/1629",[]],["title/1630",[400,544.017]],["content/1630",[27,6.444,62,8.964,151,9.041,4713,16.493,6331,20.035,6948,21.514]],["keywords/1630",[]],["title/1631",[386,446.084,2001,510.148]],["content/1631",[188,12.58,488,10.606,499,12.505,2771,19.263]],["keywords/1631",[]],["title/1632",[1266,612.987,2928,417.798,3027,309.476,6949,1060.364]],["content/1632",[]],["keywords/1632",[]],["title/1633",[3078,1338.544]],["content/1633",[2928,7.905,2934,13.758,3027,5.855,3078,14.339,6572,18.684,6573,18.684,6574,18.684,6950,20.063,6951,20.063]],["keywords/1633",[]],["title/1634",[400,544.017]],["content/1634",[5,7.408,90,10.231,257,9.212,742,18.191,6952,22.046]],["keywords/1634",[]],["title/1635",[2928,417.798,2934,727.149,3027,309.476,6953,1060.364]],["content/1635",[]],["keywords/1635",[]],["title/1636",[366,694.839,862,699.954]],["content/1636",[173,8.592,176,6.698,779,9.014,825,9.28,1568,13.037,1914,9.133,2585,9.395,4171,16.013,6479,14.713,6480,14.713,6481,14.713,6482,14.713,6506,14.713,6507,14.713,6954,15.799,6955,15.799,6956,15.799,6957,15.799,6958,15.799]],["keywords/1636",[]],["title/1637",[2928,417.798,3027,309.476,3072,625.967,6959,1060.364]],["content/1637",[]],["keywords/1637",[]],["title/1638",[366,694.839,862,699.954]],["content/1638",[152,7.936,2735,17.696,3910,16.003,6476,20.53,6960,22.046]],["keywords/1638",[]],["title/1639",[2928,417.798,3027,309.476,3072,625.967,6961,1060.364]],["content/1639",[]],["keywords/1639",[]],["title/1640",[399,334.114,881,283.991]],["content/1640",[24,5.71,296,9.556,298,9.086,877,8.155,2306,17.097,5374,17.775,5375,18.684,6962,20.063,6963,20.063]],["keywords/1640",[]],["title/1641",[366,694.839,862,699.954]],["content/1641",[141,8.942,426,5.154,812,12.203,2443,9.564,2928,7.565,2939,13.004,3027,5.603,3081,17.01,4192,13.722,6964,19.199,6965,19.199]],["keywords/1641",[]],["title/1642",[400,544.017]],["content/1642",[2,9.907,4510,14.963,6306,21.051,6966,22.604]],["keywords/1642",[]],["title/1643",[386,446.084,2001,510.148]],["content/1643",[2,7.905,52,7.254,93,6.229,114,7.088,135,7.371,188,10.037,220,9.144,488,8.462,1030,13.092,2928,7.106,2939,12.216,3027,5.264,4510,11.938,6967,18.035]],["keywords/1643",[]],["title/1644",[399,334.114,881,283.991]],["content/1644",[9,10.523,60,12.582,174,8.763,188,10.46,230,11.532,492,12.441,5374,16.652,5383,17.503,5384,17.503,6968,18.795,6969,18.795]],["keywords/1644",[]],["title/1645",[400,544.017]],["content/1645",[102,7.962,121,12.401,212,13.23,877,8.539,978,12.684,6296,19.564,6970,21.008]],["keywords/1645",[]],["title/1646",[386,446.084,2001,510.148]],["content/1646",[19,4.653,50,3.921,52,3.435,102,9.66,120,4.697,135,3.49,152,3.074,169,6.527,188,4.753,246,5.593,257,3.568,323,5.892,376,4.132,390,6.015,395,8.965,397,4.477,410,6.263,452,5.198,525,5.933,567,3.829,569,4.068,812,5.428,852,7.566,858,6.419,869,6.304,877,3.471,881,2.578,942,6.154,1214,7.278,1480,5.24,2223,6.304,2983,6.691,3366,9.679,3367,11.999,3368,11.999,3376,6.691,5205,6.104,5578,7.278,5744,7.566,6652,7.953,6653,7.953,6654,7.953,6655,7.953,6656,7.953,6657,12.612]],["keywords/1646",[]],["title/1647",[2928,417.798,2939,718.229,3027,309.476,6971,1060.364]],["content/1647",[]],["keywords/1647",[]],["title/1648",[399,334.114,881,283.991]],["content/1648",[94,9.454,102,5.413,139,5.152,151,6.002,152,5.141,307,6.652,323,4.393,381,12.885,400,4.148,825,8.659,877,8.081,1016,11.785,2928,5.627,2939,9.674,3027,4.168,3854,11.785,6536,13.3,6537,13.3,6538,13.3,6539,18.514,6540,13.3,6972,14.282,6973,14.282]],["keywords/1648",[]],["title/1649",[612,634.27,2972,763.395]],["content/1649",[102,8.355,152,7.936,6046,19.532,6047,20.53,6048,20.53]],["keywords/1649",[]],["title/1650",[386,446.084,2001,510.148]],["content/1650",[94,11.702,102,6.7,130,7.11,152,6.364,400,5.135,499,9.78,2321,14.587,2928,6.965,2971,11.236,3027,5.159,5860,14.19,6974,17.678,6975,17.678,6976,17.678,6977,17.678]],["keywords/1650",[]],["title/1651",[386,446.084,2001,510.148]],["content/1651",[19,4.053,24,4.749,151,7.012,152,6.006,176,7.073,306,8.928,411,8.385,499,9.231,511,9.178,825,7.268,1322,11.442,2928,6.574,2971,10.606,3027,4.87,6543,20.577,6544,15.539,6978,16.686]],["keywords/1651",[]],["title/1652",[400,544.017]],["content/1652",[204,7.073,273,10.8,499,11.622,2215,16.458,5698,17.335,6099,19.564,6979,21.008]],["keywords/1652",[]],["title/1653",[386,446.084,2001,510.148]],["content/1653",[24,6.275,151,9.265,221,12.577,499,12.196,1328,18.191]],["keywords/1653",[]],["title/1654",[2928,417.798,2971,673.976,3027,309.476,6980,1060.364]],["content/1654",[]],["keywords/1654",[]],["title/1655",[399,334.114,881,283.991]],["content/1655",[10,4.272,28,5.466,93,4.78,135,5.656,150,9.091,152,4.982,153,7.049,169,6.669,174,5.08,221,7.895,367,9.747,383,8.292,477,9.374,833,10.842,942,6.288,1606,12.261,2106,10.609,2928,5.453,3027,4.039,3077,8.881,5377,12.888,5378,12.888,5379,12.888,5380,12.888,5381,12.888,6981,13.839,6982,13.839,6983,13.839]],["keywords/1655",[]],["title/1656",[400,544.017]],["content/1656",[27,5.75,28,7.584,263,14.431,521,12.573,538,13.722,1076,17.01,1464,13.338,6174,17.88,6374,17.88,6984,19.199,6985,19.199]],["keywords/1656",[]],["title/1657",[2928,417.798,2996,635.327,3027,309.476,6986,1060.364]],["content/1657",[]],["keywords/1657",[]],["title/1658",[399,334.114,881,283.991]],["content/1658",[225,9.971,349,13.045,1472,16.079,2928,8.087,2996,12.297,3027,5.99,6987,20.524,6988,20.524]],["keywords/1658",[]],["title/1659",[400,544.017]],["content/1659",[151,9.265,685,16.273,1831,14.758,6227,20.53,6989,22.046]],["keywords/1659",[]],["title/1660",[386,446.084,2001,510.148]],["content/1660",[221,11.985,1316,11.425,1831,14.063,2928,8.277,2996,12.587,3027,6.131,6990,21.008]],["keywords/1660",[]],["title/1661",[400,544.017]],["content/1661",[151,9.265,685,16.273,2650,15.118,6229,20.53,6991,22.046]],["keywords/1661",[]],["title/1662",[386,446.084,2001,510.148]],["content/1662",[386,6.137,1316,11.162,2482,17.49,2650,14.075,2928,8.087,2996,12.297,3027,5.99,6992,20.524]],["keywords/1662",[]],["title/1663",[400,544.017]],["content/1663",[151,8.625,685,15.15,825,8.94,946,9.702,6355,19.113,6356,19.113,6357,19.113,6993,20.524]],["keywords/1663",[]],["title/1664",[386,446.084,2001,510.148]],["content/1664",[14,10.75,151,8.828,172,9.857,261,11.301,488,9.857,800,15.79,1316,11.425]],["keywords/1664",[]],["title/1665",[2928,417.798,2996,635.327,3027,309.476,6994,1060.364]],["content/1665",[]],["keywords/1665",[]],["title/1666",[399,334.114,881,283.991]],["content/1666",[296,9.145,881,3.655,1341,10.953,2928,7.565,2996,11.503,3027,5.603,5817,17.88,5818,17.88,6995,19.199,6996,19.199,6997,19.199]],["keywords/1666",[]],["title/1667",[400,544.017]],["content/1667",[327,10.234,469,12.247,1084,13.456,2928,7.731,3027,5.727,3094,17.384,3403,11.847,6294,18.273,6998,19.621,6999,19.621]],["keywords/1667",[]],["title/1668",[400,544.017]],["content/1668",[57,11.167,139,7.761,1887,10.41,4513,15.376,6271,20.035,7000,21.514]],["keywords/1668",[]],["title/1669",[2928,417.798,3027,309.476,3403,640.247,7001,1060.364]],["content/1669",[]],["keywords/1669",[]],["title/1670",[399,334.114,881,283.991]],["content/1670",[13,9.871,28,7.584,174,7.048,1887,9.29,2515,13.722,2928,7.565,3027,5.603,3403,11.592,5566,17.88,7002,19.199,7003,19.199]],["keywords/1670",[]],["title/1671",[400,544.017]],["content/1671",[151,9.265,734,9.851,1842,15.756,6275,20.53,7004,22.046]],["keywords/1671",[]],["title/1672",[386,446.084,2001,510.148]],["content/1672",[151,8.431,488,9.413,499,11.099,1842,14.339,2928,7.905,3027,5.855,3403,12.114,4591,15.38,7005,20.063]],["keywords/1672",[]],["title/1673",[399,334.114,881,283.991]],["content/1673",[27,6.77,332,12.814,910,17.709,7006,22.604]],["keywords/1673",[]],["title/1674",[400,544.017]],["content/1674",[13,11.061,151,9.041,511,11.833,4713,16.493,6267,20.035,7007,21.514]],["keywords/1674",[]],["title/1675",[2928,417.798,3027,309.476,3403,640.247,7008,1060.364]],["content/1675",[]],["keywords/1675",[]],["title/1676",[399,334.114,881,283.991]],["content/1676",[212,14.235,249,10.49,4401,21.051,7009,22.604]],["keywords/1676",[]],["title/1677",[2928,417.798,3027,309.476,3063,630.57,7010,1060.364]],["content/1677",[]],["keywords/1677",[]],["title/1678",[399,334.114,881,283.991]],["content/1678",[50,8.281,109,12.368,163,10.497,204,6.072,641,15.369,720,12.89,5507,16.795,5508,16.795,5610,16.795,5747,16.795,5748,16.795,7011,18.035,7012,18.035,7013,18.035]],["keywords/1678",[]],["title/1679",[2928,417.798,3027,309.476,3063,630.57,7014,1060.364]],["content/1679",[]],["keywords/1679",[]],["title/1680",[399,334.114,881,283.991]],["content/1680",[94,14.963,112,16.155,1581,16.409,7015,22.604]],["keywords/1680",[]],["title/1681",[2928,417.798,3027,309.476,3063,630.57,7016,1060.364]],["content/1681",[]],["keywords/1681",[]],["title/1682",[399,334.114,881,283.991]],["content/1682",[24,5.349,93,6.491,94,12.441,102,9.941,112,13.433,118,13.874,191,10.523,317,10.588,7017,18.795,7018,18.795]],["keywords/1682",[]],["title/1683",[2928,417.798,3027,309.476,3063,630.57,7019,1060.364]],["content/1683",[]],["keywords/1683",[]],["title/1684",[399,334.114,881,283.991]],["content/1684",[102,8.567,130,9.091,317,12.734,7020,22.604]],["keywords/1684",[]],["title/1685",[1283,608.91,2928,417.798,3027,309.476,7021,1060.364]],["content/1685",[]],["keywords/1685",[]],["title/1686",[399,334.114,881,283.991]],["content/1686",[10,6.193,150,9.379,1283,11.521,2928,7.905,2940,13.43,3027,5.855,5805,18.684,7022,20.063,7023,20.063]],["keywords/1686",[]],["title/1687",[399,334.114,881,283.991]],["content/1687",[56,11.261,395,12.441,511,10.338,825,8.186,1541,12.582,3508,20.341,5702,14.127,6546,22.229,6547,17.503,7024,18.795]],["keywords/1687",[]],["title/1688",[400,544.017]],["content/1688",[89,11.067,304,12.313,877,8.539,1831,14.063,2650,14.406,6359,19.564,7025,21.008]],["keywords/1688",[]],["title/1689",[386,446.084,2001,510.148]],["content/1689",[5702,17.897,5860,19.113]],["keywords/1689",[]],["title/1690",[1283,608.91,2928,417.798,3027,309.476,7026,1060.364]],["content/1690",[]],["keywords/1690",[]],["title/1691",[399,334.114,881,283.991]],["content/1691",[101,9.677,130,8.653,397,11.277,877,8.745,4956,19.061,7027,21.514]],["keywords/1691",[]],["title/1692",[1283,608.91,2928,417.798,3027,309.476,7028,1060.364]],["content/1692",[]],["keywords/1692",[]],["title/1693",[399,334.114,881,283.991]],["content/1693",[5,4.877,174,5.328,304,11.784,312,5.148,624,11.371,628,8.335,881,2.763,1030,10.536,1353,8.764,2217,11.371,2372,12.859,2928,5.719,2946,8.507,3027,4.236,3195,10.909,3225,10.536,5696,13.517,5835,13.517,5934,9.831,5935,13.517,7029,14.514,7030,14.514,7031,14.514,7032,14.514,7033,14.514]],["keywords/1693",[]],["title/1694",[400,544.017]],["content/1694",[512,12.7,567,9.645,734,9.613,877,8.745,6298,20.035,7034,21.514]],["keywords/1694",[]],["title/1695",[2928,417.798,3027,309.476,3089,656.117,7035,1060.364]],["content/1695",[]],["keywords/1695",[]],["title/1696",[399,334.114,881,283.991]],["content/1696",[28,6.847,152,6.24,174,6.363,695,7.264,825,7.55,1341,9.889,2928,6.83,3027,5.059,3089,10.726,3256,12.583,5568,16.143,6549,21.1,6550,16.143,7036,17.334,7037,17.334]],["keywords/1696",[]],["title/1697",[386,446.084,2001,510.148]],["content/1697",[152,7.745,2928,8.477,3027,6.279,3089,13.312,3256,15.618,7038,21.514]],["keywords/1697",[]],["title/1698",[400,544.017]],["content/1698",[54,13.616,90,9.749,172,9.857,197,13.616,511,11.555,877,8.539,7039,21.008]],["keywords/1698",[]],["title/1699",[386,446.084,2001,510.148]],["content/1699",[488,10.881,1105,10.539,1354,19.763]],["keywords/1699",[]],["title/1700",[2928,417.798,3027,309.476,3089,656.117,7040,1060.364]],["content/1700",[]],["keywords/1700",[]],["title/1701",[399,334.114,881,283.991]],["content/1701",[127,12.491,160,14.669,796,9.852,825,8.94,866,12.491,5607,19.113,5608,19.113,7041,20.524]],["keywords/1701",[]],["title/1702",[2798,673.976,2928,417.798,3027,309.476,7042,1060.364]],["content/1702",[]],["keywords/1702",[]],["title/1703",[399,334.114,881,283.991]],["content/1703",[507,13.82,804,12.247,2144,16.191,2798,12.472,2928,7.731,3027,5.727,5906,16.191,5907,18.273,7043,19.621,7044,19.621]],["keywords/1703",[]],["title/1704",[612,634.27,2972,763.395]],["content/1704",[28,8.498,375,7.147,407,12.354,877,8.745,6041,20.035,7045,21.514]],["keywords/1704",[]],["title/1705",[386,446.084,2001,510.148]],["content/1705",[28,7.925,375,6.665,407,11.521,877,8.155,1216,7.788,2563,13.758,2928,7.905,3027,5.855,7046,20.063]],["keywords/1705",[]],["title/1706",[612,634.27,2972,763.395]],["content/1706",[14,10.75,24,5.979,27,6.292,114,8.256,246,13.757,6039,19.564,7047,21.008]],["keywords/1706",[]],["title/1707",[386,446.084,2001,510.148]],["content/1707",[512,12.7,567,9.645,734,9.613,846,17.269,5014,13.094,6658,20.035]],["keywords/1707",[]],["title/1708",[1216,411.615,2928,417.798,3027,309.476,7048,1060.364]],["content/1708",[]],["keywords/1708",[]],["title/1709",[399,334.114,881,283.991]],["content/1709",[19,5.226,679,17.753,859,12.437,1139,12.12,6011,20.035,7049,21.514]],["keywords/1709",[]],["title/1710",[2928,417.798,3027,309.476,3098,550.39,7050,1060.364]],["content/1710",[]],["keywords/1710",[]],["title/1711",[399,334.114,881,283.991]],["content/1711",[25,12.451,242,12.168,395,11.256,1244,16.887,1541,11.383,2138,18.462,2443,11.145,5776,15.835,7051,17.004,7052,17.004]],["keywords/1711",[]],["title/1712",[2928,417.798,3027,309.476,3062,542.605,7053,1060.364]],["content/1712",[]],["keywords/1712",[]],["title/1713",[399,334.114,881,283.991]],["content/1713",[24,5.585,28,7.751,306,10.499,524,10.92,825,8.546,910,15.372,1422,14.484,3432,16.191,7054,19.621,7055,19.621]],["keywords/1713",[]],["title/1714",[2928,417.798,3027,309.476,3062,542.605,7056,1060.364]],["content/1714",[]],["keywords/1714",[]],["title/1715",[399,334.114,881,283.991]],["content/1715",[383,13.209,880,11.674,2940,14.758,5540,20.53,7057,22.046]],["keywords/1715",[]],["title/1716",[2928,417.798,3027,309.476,3062,542.605,7058,1060.364]],["content/1716",[]],["keywords/1716",[]],["title/1717",[399,334.114,881,283.991]],["content/1717",[2,7.313,50,7.661,204,5.618,276,9.342,364,10.815,383,9.997,407,9.582,569,7.948,844,10.325,1699,12.791,3099,14.045,4104,14.219,4850,14.219,5686,14.783,7059,16.686,7060,16.686,7061,16.686]],["keywords/1717",[]],["title/1718",[2922,515.126,2928,417.798,3027,309.476,7062,1060.364]],["content/1718",[]],["keywords/1718",[]],["title/1719",[399,334.114,881,283.991]],["content/1719",[94,15.352,1581,16.835,7063,23.192]],["keywords/1719",[]],["title/1720",[2922,515.126,2928,417.798,3027,309.476,7064,1060.364]],["content/1720",[]],["keywords/1720",[]],["title/1721",[399,334.114,881,283.991]],["content/1721",[130,9.731,397,10.064,597,15.041,692,16.361,2921,9.523,2928,7.565,3027,5.603,7065,19.199,7066,19.199,7067,19.199]],["keywords/1721",[]],["title/1722",[612,634.27,2972,763.395]],["content/1722",[152,7.936,188,12.269,6043,17.696,6044,20.53,7068,22.046]],["keywords/1722",[]],["title/1723",[386,446.084,2001,510.148]],["content/1723",[27,6.292,488,9.857,778,10.42,877,8.539,1846,17.902,6043,16.863,7069,21.008]],["keywords/1723",[]],["title/1724",[2928,417.798,2933,460.433,3027,309.476,7070,1060.364]],["content/1724",[]],["keywords/1724",[]],["title/1725",[399,334.114,881,283.991]],["content/1725",[24,4.934,135,7.084,169,8.354,877,7.046,979,9.826,982,9.826,1907,11.124,2814,15.358,2928,8.927,3027,5.059,5543,16.143,6659,15.358,7071,17.334,7072,17.334,7073,17.334]],["keywords/1725",[]],["title/1726",[386,446.084,2001,510.148]],["content/1726",[24,5.031,152,6.364,169,8.519,176,7.494,268,6.205,979,10.021,982,10.021,1896,9.459,2928,6.965,3015,7.429,3027,5.159,6553,16.462,6659,15.662,7074,17.678,7075,17.678]],["keywords/1726",[]],["title/1727",[386,446.084,2001,510.148]],["content/1727",[152,8.571,6660,22.174]],["keywords/1727",[]],["title/1728",[1266,612.987,3015,445.613,3027,309.476,7076,1060.364]],["content/1728",[]],["keywords/1728",[]],["title/1729",[399,334.114,881,283.991]],["content/1729",[174,6.757,383,11.029,399,4.122,877,7.482,881,3.504,890,14.421,982,13.353,5784,17.142,5785,17.142,5786,17.142,7077,18.407,7078,18.407]],["keywords/1729",[]],["title/1730",[1266,612.987,3015,445.613,3027,309.476,7079,1060.364]],["content/1730",[]],["keywords/1730",[]],["title/1731",[399,334.114,881,283.991]],["content/1731",[27,5.295,139,6.377,307,8.234,825,7.7,845,10.759,1265,14.19,2934,12.122,3015,7.429,3027,5.159,4192,12.634,6555,21.371,6556,16.462,7080,17.678,7081,17.678]],["keywords/1731",[]],["title/1732",[386,446.084,2001,510.148]],["content/1732",[221,11.985,3015,8.828,3027,6.131,3072,12.401,6661,19.564,6662,19.564,7082,21.008]],["keywords/1732",[]],["title/1733",[399,334.114,881,283.991]],["content/1733",[19,1.49,26,3.282,27,1.837,28,7.501,42,7.446,50,2.816,52,2.467,93,2.118,98,2.639,108,4.261,130,2.467,138,5.299,161,3.647,167,3.124,174,2.251,176,5.672,180,6.912,223,8.957,226,4.32,268,3.626,270,2.688,290,2.277,295,10.482,312,4.746,379,3.57,528,12.035,535,4.32,549,3.434,559,3.393,604,5.893,674,4.154,786,4.923,807,4.61,825,2.671,870,4.923,978,3.703,983,5.226,1353,3.703,1422,4.527,1466,4.805,1494,8.762,1652,4.805,2215,4.805,2869,4.805,3099,3.898,3430,5.061,3681,5.434,3854,5.061,4228,5.434,4266,5.434,5492,4.61,5493,5.712,5494,5.712,5550,5.712,5551,5.712,5552,5.712,5698,5.061,5699,5.712,5700,5.712,5718,5.712,5789,5.712,5841,5.712,5910,5.712,5922,12.46,5923,12.46,5924,12.46,5925,5.712,5927,5.712,7083,6.133,7084,6.133,7085,6.133,7086,6.133,7087,6.133,7088,6.133,7089,6.133,7090,6.133,7091,6.133,7092,6.133]],["keywords/1733",[]],["title/1734",[400,544.017]],["content/1734",[5,4.254,19,3.075,24,5.195,57,6.572,102,4.798,152,4.557,169,8.797,176,5.367,204,4.262,243,8.475,255,5.918,323,3.895,1541,8.475,3015,5.321,3019,8.206,3027,3.695,4263,9.048,4513,9.048,6089,11.79,6152,11.79,6153,11.79,6154,11.79,6155,11.79,6156,11.79,6176,11.79,6177,11.79,6283,11.79,7093,12.66,7094,12.66,7095,12.66,7096,12.66,7097,12.66,7098,12.66]],["keywords/1734",[]],["title/1735",[400,544.017]],["content/1735",[65,10.641,148,12.054,211,8.942,254,5.372,752,12.965,942,8.364,2443,9.169,2447,14.421,6146,17.142,6188,14.775,6189,17.142,7099,18.407,7100,18.407]],["keywords/1735",[]],["title/1736",[386,446.084,2001,510.148]],["content/1736",[19,4.053,77,9.286,152,6.006,176,7.073,243,14.792,825,7.268,1361,19.577,1541,11.17,2872,8.348,3015,7.012,3027,4.87,4192,11.925,5334,12.791,6559,14.219,6560,15.539,7101,16.686]],["keywords/1736",[]],["title/1737",[386,446.084,2001,510.148]],["content/1737",[24,5.133,65,10.426,488,8.462,778,8.945,881,4.426,942,10.564,2872,9.023,3015,7.579,3027,5.264,5208,11.256,6559,15.369,7102,18.035]],["keywords/1737",[]],["title/1738",[399,334.114,881,283.991]],["content/1738",[222,10.8,248,5.698,799,10.904,1221,11.181,2443,10.465,6024,19.564,7103,21.008]],["keywords/1738",[]],["title/1739",[400,544.017]],["content/1739",[10,5.567,204,6.072,426,4.842,2586,10.426,2617,13.556,3015,7.579,3027,5.264,3062,9.229,6091,16.795,6092,16.795,6345,16.795,7104,18.035,7105,18.035,7106,18.035]],["keywords/1739",[]],["title/1740",[399,334.114,881,283.991]],["content/1740",[27,6.444,306,11.511,524,11.973,942,9.776,2144,17.753,7107,21.514]],["keywords/1740",[]],["title/1741",[400,544.017]],["content/1741",[28,8.929,1092,16.155,6144,21.051,7108,22.604]],["keywords/1741",[]],["title/1742",[386,446.084,2001,510.148]],["content/1742",[19,3.12,28,5.073,152,9.641,221,7.327,327,6.699,332,7.28,537,8.807,776,7.424,881,3.511,910,10.061,1084,12.647,1092,9.179,1479,8.699,1480,16.434,1915,10.597,5361,10.309,5457,11.379,6663,11.96,6664,11.96,6665,11.96]],["keywords/1742",[]],["title/1743",[2922,515.126,3015,445.613,3027,309.476,7109,1060.364]],["content/1743",[]],["keywords/1743",[]],["title/1744",[399,334.114,881,283.991]],["content/1744",[28,7.584,69,10.622,85,9.482,254,5.603,483,8.815,1364,17.01,2922,9.327,3015,8.068,3027,5.603,7110,19.199,7111,19.199]],["keywords/1744",[]],["title/1745",[399,334.114,881,283.991]],["content/1745",[5,4.026,18,9.005,77,9.759,174,6.438,298,5.425,332,6.791,389,7.178,410,8.109,825,7.638,845,7.291,877,4.87,881,2.281,942,5.444,1042,9.386,1216,4.651,1316,6.515,1913,9.617,2342,6.552,2415,9.386,2563,8.216,2630,10.615,3078,8.562,4623,10.615,5455,10.209,5554,11.157,5997,11.157,5998,11.157,6562,10.209,6563,16.331,6564,11.157,7112,11.98,7113,11.98,7114,11.98,7115,11.98]],["keywords/1745",[]],["title/1746",[2001,640.449]],["content/1746",[96,11.865,263,15.427,327,10.705,825,8.94,877,8.343,5358,19.113,5359,19.113,5360,19.113]],["keywords/1746",[]],["title/1747",[400,544.017]],["content/1747",[2,7.453,5,5.714,10,5.249,18,12.78,276,9.52,825,7.406,1451,11.813,2617,12.78,6215,14.49,6216,15.835,6231,15.835,6232,15.835,6245,15.835,7116,17.004,7117,17.004,7118,17.004,7119,17.004]],["keywords/1747",[]],["title/1748",[386,446.084,2001,510.148]],["content/1748",[27,5.192,169,8.354,263,13.029,327,9.041,426,4.653,2342,9.48,3025,8.044,3027,5.059,3072,10.233,3366,12.389,6562,14.772,6667,16.143,6668,16.143,6669,16.143,7120,17.334,7121,17.334]],["keywords/1748",[]],["title/1749",[400,544.017]],["content/1749",[2,7.453,5,5.714,82,11.976,102,6.444,114,6.683,263,12.78,799,8.826,877,6.912,937,8.068,939,8.398,2342,9.299,6257,15.835,6258,15.835,6566,15.835,6567,15.835,7122,17.004,7123,17.004]],["keywords/1749",[]],["title/1750",[386,446.084,2001,510.148]],["content/1750",[488,9.206,511,10.792,778,9.732,2342,10.731,3025,9.106,3027,5.727,3403,11.847,6670,17.384,6671,18.273,7124,19.621]],["keywords/1750",[]],["title/1751",[399,334.114,881,283.991]],["content/1751",[24,4.419,94,10.276,552,13.229,942,9.567,1224,9.606,1541,10.392,2946,9.099,3001,11.095,3025,11.087,3027,6.972,5612,14.457,5692,14.457,7125,15.524,7126,15.524,7127,15.524,7128,15.524,7129,15.524]],["keywords/1751",[]],["title/1752",[399,334.114,881,283.991]],["content/1752",[1,14.219,93,5.763,102,8.374,174,6.125,386,4.989,397,8.746,726,12.791,921,13.072,1244,10.606,2515,11.925,5620,15.539,5621,15.539,5984,15.539,7130,16.686,7131,16.686,7132,16.686,7133,16.686]],["keywords/1752",[]],["title/1753",[400,544.017]],["content/1753",[52,8.867,480,15.118,651,19.532,6076,20.53,7134,22.046]],["keywords/1753",[]],["title/1754",[2872,530.506,3025,492.094,3027,309.476,7135,1060.364]],["content/1754",[]],["keywords/1754",[]],["title/1755",[399,334.114,881,283.991]],["content/1755",[594,15.153,2714,20.035,5334,16.493,5617,20.035,5618,20.035,7136,21.514]],["keywords/1755",[]],["title/1756",[2872,530.506,3025,492.094,3027,309.476,7137,1060.364]],["content/1756",[]],["keywords/1756",[]],["title/1757",[399,334.114,881,283.991]],["content/1757",[191,11.491,397,10.758,698,16.475,3427,13.586,4882,18.184,5754,19.113,7138,20.524,7139,20.524]],["keywords/1757",[]],["title/1758",[2872,530.506,3025,492.094,3027,309.476,7140,1060.364]],["content/1758",[]],["keywords/1758",[]],["title/1759",[399,334.114,881,283.991]],["content/1759",[152,7.745,332,12.196,594,15.153,5334,16.493,5873,20.035,7141,21.514]],["keywords/1759",[]],["title/1760",[1754,525.94,3025,492.094,3027,309.476,7142,1060.364]],["content/1760",[]],["keywords/1760",[]],["title/1761",[399,334.114,881,283.991]],["content/1761",[152,7.222,332,11.373,1754,9.951,3025,9.311,3027,5.855,5334,15.38,5871,18.684,7143,20.063,7144,20.063]],["keywords/1761",[]],["title/1762",[399,334.114,881,283.991]],["content/1762",[100,8.989,332,8.504,397,7.864,480,10.288,594,10.567,845,9.13,877,6.098,942,6.817,959,11.753,1216,5.824,1676,15.46,5479,13.971,5690,13.971,5850,19.154,5851,13.971,5869,13.971,7145,15.002,7146,15.002,7147,15.002,7148,15.002,7149,15.002,7150,15.002]],["keywords/1762",[]],["title/1763",[400,544.017]],["content/1763",[5,6.451,6,13.937,19,4.664,171,14.431,606,11.78,1480,11.78,6255,17.88,6264,16.361,6265,17.88,7151,19.199,7152,19.199]],["keywords/1763",[]],["title/1764",[366,694.839,862,699.954]],["content/1764",[19,4.471,480,12.623,3025,8.542,3027,5.372,3098,9.554,4263,13.155,6515,20.073,6516,17.142,6517,17.142,6518,17.142,7153,18.407,7154,18.407]],["keywords/1764",[]],["title/1765",[3025,492.094,3027,309.476,3098,550.39,7155,1060.364]],["content/1765",[]],["keywords/1765",[]],["title/1766",[399,334.114,881,283.991]],["content/1766",[9,4.875,19,2.115,24,2.478,25,4.845,27,2.608,42,4.845,48,4.634,77,4.845,102,5.212,122,5.534,149,5.971,153,4.435,174,7.108,221,4.967,225,4.23,226,6.133,230,5.342,298,3.943,332,4.936,376,4.213,386,4.112,399,1.95,410,4.026,505,4.735,512,5.14,556,3.568,695,5.763,725,6.989,734,3.891,877,3.539,881,1.657,954,5.299,978,5.257,1244,5.534,1341,4.967,1422,6.427,1573,5.897,1853,7.42,1913,6.989,2869,6.821,2954,7.714,3939,11.719,4014,7.185,4324,7.714,5014,5.299,5361,6.989,5363,8.108,5364,8.108,5365,8.108,5366,8.108,5371,7.714,5372,8.108,5684,8.108,5685,12.807,5686,7.714,7156,8.707,7157,8.707,7158,8.707,7159,8.707]],["keywords/1766",[]],["title/1767",[2921,525.94,3025,492.094,3027,309.476,7160,1060.364]],["content/1767",[]],["keywords/1767",[]],["title/1768",[399,334.114,881,283.991]],["content/1768",[52,7.892,881,3.735,2933,8.52,2959,12.357,3025,9.106,3027,5.727,4044,15.75,5487,18.273,7161,19.621,7162,19.621]],["keywords/1768",[]],["title/1769",[400,544.017]],["content/1769",[3,13.527,351,9.291,3072,13.014,4044,17.696,7163,22.046]],["keywords/1769",[]],["title/1770",[55,399.326,2909,1271.298]],["content/1770",[]],["keywords/1770",[]],["title/1771",[312,664.279]],["content/1771",[13,11.798,252,5.601,265,6.684,554,6.948,2665,6.19,7164,22.949,7165,22.949,7166,17.678]],["keywords/1771",[]],["title/1772",[426,502.78]],["content/1772",[11,6.618,27,6.09,93,7.023,248,6.31,252,4.47,268,5.179,281,5.035,323,6.255,1085,13.072,2665,4.939,7167,20.334,7168,13.74,7169,20.334,7170,9.877,7171,13.74]],["keywords/1772",[]],["title/1773",[638,705.202,2914,1197.481]],["content/1773",[]],["keywords/1773",[]],["title/1774",[257,782.587]],["content/1774",[10,3.698,13,10.664,247,10.036,252,5.018,254,7.847,255,5.6,359,20.704,375,3.98,554,4.709,1088,8.438,1095,9.386,2137,7.478,2261,13.885,2665,5.546,2918,9.886,7172,11.98]],["keywords/1774",[]],["title/1775",[426,502.78]],["content/1775",[10,5.188,11,6.06,13,10.312,247,8.133,248,6.435,252,4.092,268,6.535,323,5.727,1105,8.46,2261,14.863,2665,4.522,2914,14.944,2918,13.869,7173,16.808,7174,10.313,7175,15.865,7176,11.311,7177,6.368,7178,6.884,7179,11.311,7180,16.808]],["keywords/1775",[]],["title/1776",[172,699.954,642,966.908]],["content/1776",[]],["keywords/1776",[]],["title/1777",[130,753.275]],["content/1777",[4,3.662,19,3.474,27,4.284,55,3.829,83,5.189,93,7.457,127,5.571,130,3.682,138,3.625,162,4.025,195,5.527,213,5.818,216,5.874,217,5.994,252,3.87,254,7.591,265,3.461,281,4.881,290,3.398,410,4.233,556,3.751,612,3.892,628,5.256,695,5.994,719,7.171,871,6.359,872,6.447,876,7.822,1389,6.447,1434,6.645,1675,8.11,1788,7.553,2754,7.8,2876,8.524,7181,19.901,7182,9.153,7183,14.303]],["keywords/1777",[]],["title/1778",[55,399.326,1068,851.104]],["content/1778",[2,4.275,8,5.305,37,4.447,52,3.923,55,4.906,101,4.387,130,3.923,162,4.289,167,4.968,173,5.305,176,4.135,254,6.856,255,4.56,301,9.642,323,5.638,386,2.917,397,5.113,426,2.618,457,6.322,595,6.529,628,11.824,636,6.035,695,7.68,705,10.304,807,7.331,854,7.829,1016,8.049,1068,5.565,2847,8.642,3427,9.946,7184,20.59,7185,22.237]],["keywords/1778",[]],["title/1779",[695,625.143,1341,851.104]],["content/1779",[19,3.838,24,4.497,27,4.732,43,8.323,98,6.798,125,7.707,126,8.69,127,9.616,172,7.413,174,5.8,313,11.469,386,4.724,556,6.475,642,10.24,695,10.101,880,8.366,1341,13.752]],["keywords/1779",[]],["title/1780",[24,424.606,130,600.018]],["content/1780",[4,2.421,19,3.218,24,2.906,27,1.812,37,2.759,55,1.619,78,4.547,90,2.808,93,5.375,114,2.378,121,3.571,125,2.951,130,2.433,136,3.171,150,2.828,161,3.598,162,2.66,217,3.962,236,5.863,252,1.33,254,8.01,281,5.311,305,4.05,354,5.156,373,4.203,507,4.261,534,4.74,569,2.882,628,11.525,705,10.672,803,4.856,832,3.81,871,4.203,893,4.203,978,3.653,1169,13.261,1389,4.261,1683,3.653,1721,9.047,1723,4.547,1727,8.701,2161,7.537,2223,4.466,2264,10.156,2329,5.156,2720,5.36,7186,5.634,7187,5.634,7188,9.509,7189,5.634,7190,12.337,7191,5.634,7192,5.634,7193,5.634,7194,5.634,7195,5.634,7196,9.509,7197,5.634,7198,5.634]],["keywords/1780",[]],["title/1781",[24,301.801,27,317.588,130,426.48,254,309.476]],["content/1781",[4,2.326,19,3.125,24,2.81,27,2.957,37,2.651,55,1.556,78,4.369,90,2.698,93,5.238,114,2.285,121,3.432,125,2.836,130,2.338,136,3.047,150,2.718,151,2.443,161,3.457,162,2.556,178,3.807,217,3.807,236,5.669,252,1.278,254,8.002,281,5.176,305,3.892,354,4.954,373,4.039,507,4.095,534,4.554,558,2.769,569,2.769,628,11.307,705,10.4,803,4.666,832,3.661,871,4.039,893,4.039,978,3.51,1169,12.923,1389,4.095,1683,3.51,1721,8.746,1723,4.369,1727,8.412,2161,7.287,2223,4.291,2264,9.863,2329,4.954,2720,5.151,2906,5.151,7186,5.414,7187,5.414,7188,9.193,7189,5.414,7190,11.981,7191,5.414,7192,5.414,7193,5.414,7194,5.414,7195,5.414,7196,9.193,7197,5.414,7198,5.414]],["keywords/1781",[]],["title/1782",[505,811.322,695,625.143]],["content/1782",[4,4.382,5,3.68,9,12.234,10,5.064,12,6.776,24,3.117,34,7.059,37,4.993,83,6.208,93,3.782,113,5.503,114,4.304,173,5.956,244,5.299,290,6.091,305,7.331,375,5.451,398,9.332,407,6.289,410,7.587,558,5.216,611,11.251,636,6.776,695,9.807,877,4.452,977,7.331,1017,8.79,1117,7.51,1341,6.248,1814,8.79,1913,8.79,3910,7.95,3989,9.703]],["keywords/1782",[]],["title/1783",[130,753.275]],["content/1783",[4,2.372,19,3.171,24,4.372,27,3.007,55,1.587,85,6.447,93,4.508,114,3.945,130,2.385,139,2.139,140,3.553,161,3.526,162,2.607,244,2.869,252,2.207,254,8.258,265,2.242,281,6.368,283,4.645,290,2.201,375,3.335,386,1.773,396,3.428,404,4.016,410,7.946,558,2.824,628,10.715,695,2.485,871,4.119,876,3.243,969,3.669,1211,5.053,1231,14.977,1322,4.066,1544,4.545,1683,3.58,2330,5.053,7199,5.929,7200,18.659,7201,13.054,7202,5.929,7203,5.929,7204,5.929,7205,10.038,7206,5.929,7207,5.929,7208,5.929]],["keywords/1783",[]],["title/1784",[638,705.202,2913,1389.29]],["content/1784",[]],["keywords/1784",[]],["title/1785",[312,664.279]],["content/1785",[252,4.846,255,10.306,2665,5.355,7209,23.333]],["keywords/1785",[]],["title/1786",[72,736.812,2915,1389.29]],["content/1786",[]],["keywords/1786",[]],["title/1787",[257,782.587]],["content/1787",[10,6.641,254,7.575,2665,5.226,7210,22.994]],["keywords/1787",[]],["title/1788",[72,736.812,2918,1231.016]],["content/1788",[]],["keywords/1788",[]],["title/1789",[257,782.587]],["content/1789",[254,7.575,255,10.057,2665,5.226,7209,22.994]],["keywords/1789",[]],["title/1790",[638,705.202,1025,1271.298]],["content/1790",[]],["keywords/1790",[]],["title/1791",[312,664.279]],["content/1791",[252,4.846,2565,19.44,2665,5.355,6340,14.593]],["keywords/1791",[]],["title/1792",[55,399.326,2910,1271.298]],["content/1792",[]],["keywords/1792",[]],["title/1793",[257,782.587]],["content/1793",[252,4.512,254,7.36,255,9.594,499,11.355,2665,4.986,7209,22.344]],["keywords/1793",[]],["title/1794",[55,399.326,7211,1491.833]],["content/1794",[]],["keywords/1794",[]],["title/1795",[426,502.78]],["content/1795",[11,4.893,13,7.729,19,2.875,24,5.458,27,3.545,77,9.673,93,6.624,138,4.687,139,8.476,174,6.381,225,5.75,242,6.437,248,5.201,252,1.588,254,3.455,268,4.155,281,2.466,323,4.625,465,7.263,499,6.548,1078,11.023,1079,12.924,1084,8.117,1085,6.402,1086,11.023,2665,3.652,2914,5.8,7170,7.923,7171,6.729,7175,6.158,7212,10.487,7213,5.963]],["keywords/1795",[]],["title/1796",[7214,1872.876]],["content/1796",[]],["keywords/1796",[]],["title/1797",[55,501.321]],["content/1797",[19,5.103,106,8.958,1000,15.79,1027,17.335,1028,17.902,7215,18.612,7216,19.564]],["keywords/1797",[]],["title/1798",[638,885.325]],["content/1798",[7217,21.096,7218,21.096]],["keywords/1798",[]],["title/1799",[72,925.008]],["content/1799",[7219,21.675]],["keywords/1799",[]],["title/1800",[55,399.326,2912,1231.016]],["content/1800",[]],["keywords/1800",[]],["title/1801",[2444,885.325]],["content/1801",[10,7.084,11,5.754,13,11.798,247,11.104,248,4.794,252,3.886,323,5.438,2665,4.294,7177,16.462,7178,10.759,7220,22.949]],["keywords/1801",[]],["title/1802",[312,664.279]],["content/1802",[10,4.48,13,13.907,19,3.526,27,4.347,93,6.944,247,11.161,252,4.419,352,14.594,375,4.822,380,8.764,569,6.913,949,11.397,2665,4.884,2918,11.977]],["keywords/1802",[]],["title/1803",[426,502.78]],["content/1803",[98,6.798,173,8.592,189,10.976,247,7.645,248,5.778,252,3.473,268,5.546,375,5.249,426,4.241,1075,19.84,1079,11.718,1125,12.112,1480,9.694,1840,12.682,2415,12.378,2665,3.838,7221,15.799,7222,9.861]],["keywords/1803",[]],["title/1804",[55,399.326,7215,1321.747]],["content/1804",[]],["keywords/1804",[]],["title/1805",[312,664.279]],["content/1805",[252,5.391,673,16.418,779,11.194,2583,17.384,2665,5.958,3563,18.801]],["keywords/1805",[]],["title/1806",[426,502.78]],["content/1806",[11,5.87,248,6.305,252,3.964,268,6.331,323,5.548,554,7.088,2665,4.381,7223,23.248,7224,23.248,7225,18.035,7226,9.65]],["keywords/1806",[]],["title/1807",[638,705.202,7217,1321.747]],["content/1807",[252,4.729,638,12.268,7217,22.994,7227,11.833]],["keywords/1807",[]],["title/1808",[55,399.326,7216,1389.29]],["content/1808",[]],["keywords/1808",[]],["title/1809",[312,664.279]],["content/1809",[252,5.391,2583,17.384,2665,5.958,2912,22.078,3563,18.801]],["keywords/1809",[]],["title/1810",[257,782.587]],["content/1810",[10,6.641,254,7.575,2665,5.226,7228,25.953]],["keywords/1810",[]],["title/1811",[72,736.812,7219,1321.747]],["content/1811",[]],["keywords/1811",[]],["title/1812",[426,502.78]],["content/1812",[11,6.618,248,6.31,268,5.179,281,5.035,323,6.255,554,5.799,1000,18.847,2665,4.939,7215,18.015,7226,7.894,7229,20.334,7230,20.334,7231,20.334]],["keywords/1812",[]],["title/1813",[638,705.202,7218,1321.747]],["content/1813",[]],["keywords/1813",[]],["title/1814",[312,664.279]],["content/1814",[252,4.846,2665,5.355,6340,14.593,7232,26.336]],["keywords/1814",[]],["title/1815",[55,399.326,1027,1231.016]],["content/1815",[]],["keywords/1815",[]],["title/1816",[312,664.279]],["content/1816",[13,11.086,24,6.137,27,6.458,252,5.713,504,8.898,511,8.847,554,6.321,1028,13.706,2665,6.313,7233,21.562]],["keywords/1816",[]],["title/1817",[426,502.78]],["content/1817",[62,10.973,252,4.846,281,7.524,2665,5.355]],["keywords/1817",[]],["title/1818",[55,399.326,1028,1271.298]],["content/1818",[]],["keywords/1818",[]],["title/1819",[312,664.279]],["content/1819",[24,3.117,128,7.331,130,4.405,225,5.32,252,5.145,254,4.789,255,7.67,265,6.204,375,3.638,378,8.395,673,10.983,803,8.79,913,9.703,1000,8.231,1493,9.332,1885,10.198,2601,11.726,2665,5.685,7219,9.703,7234,16.407,7235,10.951,7236,16.407,7237,10.951,7238,10.951,7239,16.407,7240,16.407,7241,16.407,7242,10.951]],["keywords/1819",[]],["title/1820",[426,502.78]],["content/1820",[11,6.003,93,8.145,139,6.653,242,6.984,248,6.396,252,2.823,268,6.474,270,5.629,323,5.673,2665,4.48,2914,10.309,6340,8.501,7170,12.346,7175,10.944,7212,16.34,7218,16.34,7243,12.843,7244,18.442,7245,9.48]],["keywords/1820",[]],["title/1821",[2908,1744.142]],["content/1821",[]],["keywords/1821",[]],["title/1822",[55,501.321]],["content/1822",[4248,21.675]],["keywords/1822",[]],["title/1823",[638,885.325]],["content/1823",[7246,21.675]],["keywords/1823",[]],["title/1824",[55,399.326,4248,1321.747]],["content/1824",[]],["keywords/1824",[]],["title/1825",[312,664.279]],["content/1825",[252,4.846,255,10.306,1039,22.443,2665,5.355]],["keywords/1825",[]],["title/1826",[426,502.78]],["content/1826",[11,5.764,24,5.041,93,6.117,139,6.389,242,6.604,248,5.67,252,2.669,254,3.544,255,8.279,268,4.263,270,5.322,281,4.144,323,5.448,569,5.784,1038,16.493,1039,15.092,2665,4.302,2914,9.747,7170,8.129,7175,10.348,7212,15.691,7213,10.02,7246,15.691,7247,12.144,7248,9.309]],["keywords/1826",[]],["title/1827",[2784,1467.278]],["content/1827",[]],["keywords/1827",[]],["title/1828",[55,501.321]],["content/1828",[7249,19.621,7250,20.238,7251,19.621,7252,19.621,7253,19.621,7254,18.273,7255,19.621,7256,19.621,7257,19.621]],["keywords/1828",[]],["title/1829",[638,885.325]],["content/1829",[7258,22.782]],["keywords/1829",[]],["title/1830",[72,925.008]],["content/1830",[8,10.221,9,10.523,10,7.368,24,5.349,27,5.629,104,11.177,172,8.818,187,11.177,746,13.643,946,8.884,3124,16.652]],["keywords/1830",[]],["title/1831",[638,705.202,7246,1321.747]],["content/1831",[]],["keywords/1831",[]],["title/1832",[312,664.279]],["content/1832",[252,4.846,255,10.306,1039,22.443,2665,5.355]],["keywords/1832",[]],["title/1833",[72,736.812,3124,1321.747]],["content/1833",[]],["keywords/1833",[]],["title/1834",[257,782.587]],["content/1834",[254,7.158,386,5.867,554,7.712,558,9.346,1191,12.988,2665,4.766,7259,20.238,7260,15.372]],["keywords/1834",[]],["title/1835",[426,502.78]],["content/1835",[8,2.915,10,5.455,11,5.752,19,2.941,24,1.525,69,2.965,90,2.487,114,2.106,138,2.122,151,2.252,162,6.319,172,4.321,174,3.381,181,3.51,190,4.954,222,2.755,234,6.398,247,2.593,248,4.793,251,4.628,281,6.815,320,4.028,323,5.437,375,1.78,386,4.297,497,3.588,510,3.406,520,4.302,606,7.43,778,2.658,937,6.819,939,7.098,941,4.648,976,4.567,979,3.038,1016,4.422,1018,3.675,1191,6.096,1340,4.567,1512,6.685,1683,3.236,1867,3.51,2138,9.992,2665,4.85,2758,8.304,7226,2.868,7260,7.215,7261,5.359,7262,5.359,7263,7.599,7264,5.359,7265,5.359,7266,7.599,7267,5.398,7268,7.599,7269,7.599,7270,5.398,7271,7.599,7272,9.209,7273,3.83]],["keywords/1835",[]],["title/1836",[55,399.326,7274,1491.833]],["content/1836",[]],["keywords/1836",[]],["title/1837",[2444,885.325]],["content/1837",[11,5.87,248,4.891,252,5.11,323,5.548,1830,18.661,2665,5.647,2891,17.822,7275,23.248,7276,16.795]],["keywords/1837",[]],["title/1838",[426,502.78]],["content/1838",[248,5.567,252,4.512,268,7.205,2665,4.986,7277,20.243,7278,20.524,7279,20.524]],["keywords/1838",[]],["title/1839",[55,331.817,2783,1022.903,7280,1239.627]],["content/1839",[]],["keywords/1839",[]],["title/1840",[2444,885.325]],["content/1840",[11,5.87,248,4.891,252,5.11,323,5.548,1831,15.563,2665,5.647,7281,23.248,7282,23.248,7283,18.035]],["keywords/1840",[]],["title/1841",[257,782.587]],["content/1841",[252,4.98,254,7.812,556,9.285,673,15.167,2665,5.504,7284,20.074,7285,17.334,7286,17.334]],["keywords/1841",[]],["title/1842",[426,502.78]],["content/1842",[248,5.441,252,4.41,268,7.043,2665,4.874,7277,19.961,7284,17.775,7287,20.063,7288,20.063]],["keywords/1842",[]],["title/1843",[55,399.326,7254,1389.29]],["content/1843",[]],["keywords/1843",[]],["title/1844",[426,502.78]],["content/1844",[11,6.117,248,5.097,252,4.131,281,6.414,323,5.782,1105,8.54,2665,4.566,7226,10.056,7289,18.795,7290,18.795,7291,19.697]],["keywords/1844",[]],["title/1845",[638,705.202,7292,1491.833]],["content/1845",[]],["keywords/1845",[]],["title/1846",[2444,885.325]],["content/1846",[11,6.386,14,12.55,248,5.322,252,4.313,323,6.036,2665,4.766,7293,24.526,7294,19.621]],["keywords/1846",[]],["title/1847",[257,782.587]],["content/1847",[10,5.682,252,4.046,254,7.992,396,13.617,1079,10.124,2665,5.722,7295,23.555]],["keywords/1847",[]],["title/1848",[426,502.78]],["content/1848",[248,4.525,252,5.446,268,5.857,281,7.541,554,6.558,606,13.558,2665,6.018,4083,16.939,7226,8.928,7296,22.096]],["keywords/1848",[]],["title/1849",[55,399.326,7297,1491.833]],["content/1849",[]],["keywords/1849",[]],["title/1850",[2444,885.325]],["content/1850",[11,5.87,248,4.891,252,5.11,323,5.548,2665,5.647,2845,20.597,2891,17.822,7298,23.248,7299,18.035]],["keywords/1850",[]],["title/1851",[426,502.78]],["content/1851",[248,5.567,252,4.512,268,7.205,2665,4.986,7277,20.243,7300,20.524,7301,20.524]],["keywords/1851",[]],["title/1852",[55,399.326,7302,1491.833]],["content/1852",[]],["keywords/1852",[]],["title/1853",[2444,885.325]],["content/1853",[10,5.875,11,6.195,248,5.162,252,4.861,254,3.917,323,5.855,569,6.393,946,8.997,2665,5.372,2891,18.445,7276,12.5,7303,19.032,7304,19.032,7305,17.724,7306,13.422,7307,12.5]],["keywords/1853",[]],["title/1854",[257,782.587]],["content/1854",[252,5.361,254,8.154,265,5.233,375,4.597,554,7.643,1079,7.612,1154,11.742,2665,5.925,7259,16.047,7291,16.047,7308,12.888,7309,12.888]],["keywords/1854",[]],["title/1855",[426,502.78]],["content/1855",[11,6.707,19,1.947,55,1.222,69,2.526,70,3.501,81,8.182,162,2.008,248,6.346,252,4.68,265,3.03,268,5.142,281,6.47,296,1.169,312,1.62,323,6.339,375,1.517,421,5.194,554,1.795,606,2.802,611,3.131,664,5.495,937,3.803,939,3.958,1041,10.855,1079,4.408,1220,8.43,1221,2.431,1907,2.93,1994,1.754,2665,5.454,2734,2.96,7222,6.684,7226,3.426,7258,2.286,7260,3.578,7263,3.768,7266,3.768,7267,2.677,7268,3.768,7269,3.768,7270,2.677,7271,3.768,7273,1.754,7277,3.665,7310,2.092,7311,2.092,7312,3.891,7313,4.253,7314,4.253,7315,2.175,7316,4.253,7317,4.046,7318,1.293,7319,3.891,7320,2.092,7321,1.293,7322,4.566,7323,6.443,7324,4.566,7325,8.014,7326,4.566,7327,4.566,7328,2.286,7329,2.286,7330,2.455,7331,2.455,7332,2.455,7333,4.566,7334,2.455,7335,2.455,7336,4.253,7337,2.455,7338,2.455,7339,4.566,7340,4.566,7341,2.455,7342,2.455,7343,2.455,7344,2.455,7345,4.253,7346,2.175,7347,2.175,7348,3.891,7349,2.025]],["keywords/1855",[]],["title/1856",[55,399.326,7350,1491.833]],["content/1856",[]],["keywords/1856",[]],["title/1857",[2444,885.325]],["content/1857",[10,7.57,11,6.386,248,5.322,252,4.313,323,6.036,2665,4.766,7351,24.526,7352,19.621]],["keywords/1857",[]],["title/1858",[312,664.279]],["content/1858",[10,8.011,242,11.7,949,12.196,2665,5.226,7353,21.514]],["keywords/1858",[]],["title/1859",[257,782.587]],["content/1859",[252,5.299,254,8.1,265,5.974,554,8.373,1154,12.864,2665,5.855,7259,17.58,7291,17.58]],["keywords/1859",[]],["title/1860",[426,502.78]],["content/1860",[11,7.164,162,2.358,248,6.726,252,4.912,265,1.104,268,5.957,281,6.644,323,6.771,554,6.026,606,3.29,664,3.677,937,4.372,939,4.551,1041,8.973,1221,2.854,1994,2.087,2665,5.706,7222,5.751,7226,8.663,7260,4.201,7263,4.425,7266,4.425,7267,3.143,7268,4.425,7269,4.425,7270,3.143,7271,4.425,7273,2.087,7277,4.304,7310,2.489,7311,2.489,7312,4.57,7313,4.994,7315,14.345,7316,4.994,7317,4.751,7318,1.539,7319,4.57,7320,2.489,7321,1.539,7336,4.994,7346,2.588,7347,2.588,7348,4.57,7349,2.41,7354,5.362,7355,5.362,7356,5.362,7357,5.362,7358,5.362,7359,5.362,7360,5.362,7361,5.362,7362,5.362,7363,5.362,7364,5.362]],["keywords/1860",[]],["title/1861",[55,331.817,2783,1022.903,7365,1239.627]],["content/1861",[]],["keywords/1861",[]],["title/1862",[2444,885.325]],["content/1862",[10,7.271,11,5.991,248,4.992,252,4.046,323,5.662,2665,4.471,7250,21.435,7366,23.555,7367,18.407]],["keywords/1862",[]],["title/1863",[312,664.279]],["content/1863",[10,7.896,242,11.425,949,11.909,2665,5.103,7250,17.335,7368,21.008]],["keywords/1863",[]],["title/1864",[257,782.587]],["content/1864",[252,5.096,254,8.271,265,3.571,375,3.137,554,5.76,556,6.006,673,9.811,1154,8.849,2665,6.074,2783,7.793,7259,12.093,7291,12.093,7369,9.444,7370,9.444,7371,20.24,7372,14.655,7373,9.444,7374,14.655,7375,9.444,7376,9.444,7377,9.444]],["keywords/1864",[]],["title/1865",[426,502.78]],["content/1865",[11,6.587,162,2.708,248,6.288,252,4.671,265,1.285,268,5.144,281,6.495,323,6.226,444,3.349,554,4.718,556,4.247,606,3.779,664,4.223,673,10.537,937,4.918,939,5.119,1041,8.376,1221,3.278,1994,2.429,2665,5.464,2783,11.074,7226,7.18,7250,15.128,7260,4.825,7263,5.082,7266,5.082,7267,3.609,7268,5.082,7269,5.082,7270,3.609,7271,5.082,7273,2.429,7277,4.943,7310,2.897,7311,2.897,7312,5.248,7318,1.791,7319,5.248,7321,1.791,7348,5.248,7349,2.805,7378,6.158,7379,10.364,7380,6.158,7381,6.158,7382,6.158,7383,6.158,7384,8.442,7385,6.158,7386,6.158,7387,3.399,7388,6.158,7389,3.399,7390,6.158,7391,3.399]],["keywords/1865",[]],["title/1866",[4308,1744.142]],["content/1866",[]],["keywords/1866",[]],["title/1867",[55,501.321]],["content/1867",[2,9.806,19,4.13,27,5.093,93,5.873,156,13.035,172,7.978,217,11.135,375,5.649,549,9.52,597,13.321,599,13.649,601,14.031,603,11.976,604,9.701,1010,11.813,7392,15.065]],["keywords/1867",[]],["title/1868",[55,399.326,599,1197.481]],["content/1868",[]],["keywords/1868",[]],["title/1869",[312,664.279]],["content/1869",[27,7.246,93,8.356,252,5.318,504,10.622,2665,5.877,7393,19.199,7394,19.199]],["keywords/1869",[]],["title/1870",[426,502.78]],["content/1870",[11,2.753,19,3.265,27,2.534,29,4.526,50,6.172,52,3.402,93,7.179,107,7.31,138,6.623,139,4.849,161,5.03,176,3.586,220,4.289,248,2.294,252,2.955,254,4.881,281,4.587,323,2.602,367,5.958,444,4.6,471,9.467,549,9.364,554,3.325,558,4.029,569,4.029,604,4.826,641,14.252,734,6.006,804,8.389,982,4.795,1896,4.526,2400,12.141,2404,6.79,2665,3.265,4036,12.517,5492,10.103,7222,5.28,7395,13.441,7396,8.459,7397,4.626,7398,8.459,7399,6.627,7400,6.627]],["keywords/1870",[]],["title/1871",[55,399.326,7401,1491.833]],["content/1871",[]],["keywords/1871",[]],["title/1872",[2444,885.325]],["content/1872",[10,7.176,11,5.87,248,4.891,252,5.11,323,5.548,2665,5.647,7402,23.248,7403,23.248,7404,18.035]],["keywords/1872",[]],["title/1873",[257,782.587]],["content/1873",[252,5.299,254,8.1,265,5.974,554,8.373,1154,12.864,2665,5.855,7259,17.58,7291,17.58]],["keywords/1873",[]],["title/1874",[426,502.78]],["content/1874",[11,6.654,162,3.889,248,6.118,252,4.823,265,1.934,268,4.102,281,7.699,323,6.289,421,5.732,606,5.427,664,6.065,937,6.606,939,6.876,1041,5.52,1079,2.813,1221,4.707,1487,7.836,1994,3.655,2665,5.842,7222,5.52,7226,2.736,7260,6.929,7263,7.298,7266,7.298,7267,5.184,7268,7.298,7269,7.298,7270,5.184,7271,7.298,7273,3.655,7310,4.358,7311,4.358,7312,7.537,7314,8.236,7315,4.531,7317,7.836,7318,2.694,7319,7.537,7320,4.358,7321,2.694,7345,8.236,7346,4.531,7347,4.531,7348,7.537,7349,4.22,7405,8.844]],["keywords/1874",[]],["title/1875",[55,399.326,7392,1321.747]],["content/1875",[55,4.274,89,5.564,162,4.644,252,2.322,254,3.083,1068,9.109,1079,5.809,1833,7.439,7178,6.428,7227,5.809,7392,14.146,7406,9.001,7407,9.836,7408,9.836,7409,9.836,7410,9.836,7411,9.836,7412,9.836,7413,9.836,7414,9.836,7415,9.836,7416,9.836,7417,9.836,7418,9.836,7419,9.836,7420,9.836,7421,9.836,7422,9.836,7423,9.836,7424,9.836,7425,9.836,7426,9.836,7427,9.836,7428,9.836,7429,9.836,7430,9.836,7431,9.836,7432,9.836,7433,9.836,7434,9.836,7435,9.836,7436,9.836,7437,9.836,7438,9.836,7439,9.836,7440,9.836]],["keywords/1875",[]],["title/1876",[55,399.326,601,1231.016]],["content/1876",[]],["keywords/1876",[]],["title/1877",[257,782.587]],["content/1877",[252,4.618,254,7.466,554,8.256,610,23.823,2665,5.103]],["keywords/1877",[]],["title/1878",[426,502.78]],["content/1878",[11,6.249,248,5.207,252,4.22,281,6.552,323,5.906,549,13.545,2665,4.664,7226,10.273,7441,19.199,7442,19.199]],["keywords/1878",[]],["title/1879",[55,399.326,7443,1271.298]],["content/1879",[]],["keywords/1879",[]],["title/1880",[312,664.279]],["content/1880",[252,5.391,705,13.456,721,19.215,1976,17.039,2665,5.958,7444,18.273]],["keywords/1880",[]],["title/1881",[257,782.587]],["content/1881",[252,4.512,254,7.36,375,6.818,2665,4.986,3947,18.967]],["keywords/1881",[]],["title/1882",[7445,1872.876]],["content/1882",[]],["keywords/1882",[]],["title/1883",[55,501.321]],["content/1883",[52,6.588,55,4.384,89,12.932,106,6.984,126,9.009,130,6.588,220,8.305,556,10.059,595,10.965,1512,11.89,3488,14.512,3947,11.379,7443,13.958,7446,16.379,7447,15.254]],["keywords/1883",[]],["title/1884",[55,399.326,7447,1389.29]],["content/1884",[]],["keywords/1884",[]],["title/1885",[312,664.279]],["content/1885",[24,6.137,27,6.458,252,5.713,504,8.898,511,8.847,554,6.321,2665,6.313,7443,13.706,7448,20.08,7449,21.562]],["keywords/1885",[]],["title/1886",[426,502.78]],["content/1886",[248,5.567,252,4.512,268,7.205,1994,14.669,2665,4.986,7349,16.936,7450,25.219]],["keywords/1886",[]],["title/1887",[55,399.326,3488,1321.747]],["content/1887",[]],["keywords/1887",[]],["title/1888",[312,664.279]],["content/1888",[24,6.532,27,6.873,252,5.601,504,9.78,511,9.723,2665,6.19,7443,15.064,7448,21.371]],["keywords/1888",[]],["title/1889",[7451,1872.876]],["content/1889",[]],["keywords/1889",[]],["title/1890",[55,501.321]],["content/1890",[13,3.656,19,4.181,27,2.13,28,4.614,55,4.608,77,9.58,106,7.34,149,8.01,151,7.234,163,10.019,167,8.768,174,4.288,178,7.65,204,3.933,290,4.336,296,5.564,304,10.089,307,3.312,348,12.124,351,7.255,483,5.364,723,5.769,1068,9.82,1088,5.008,1342,4.816,1634,11.394,1887,5.652,2964,5.451,2975,6.3,4402,5.868,7452,7.111,7453,5.708,7454,7.111,7455,6.622,7456,11.681,7457,5.451,7458,11.681,7459,6.3,7460,6.3,7461,6.3,7462,6.3,7463,6.3]],["keywords/1890",[]],["title/1891",[72,925.008]],["content/1891",[26,9.476,67,14.216,77,12.787,151,7.443,204,5.962,296,8.436,483,8.132,510,11.257,626,11.723,723,8.747,1634,15.209,1887,8.569,2502,14.216,4399,10.348,7453,14.216,7464,12.144,7465,12.144,7466,10.348,7467,12.144,7468,12.144]],["keywords/1891",[]],["title/1892",[55,399.326,7455,1389.29]],["content/1892",[]],["keywords/1892",[]],["title/1893",[312,664.279]],["content/1893",[242,11.989,554,8.664,2665,5.355,7469,26.336]],["keywords/1893",[]],["title/1894",[426,502.78]],["content/1894",[47,9.378,152,5.311,174,5.416,242,8.024,252,3.243,271,8.529,281,6.94,290,5.477,296,11.082,537,10.118,606,15.386,977,9.877,1244,9.378,1867,9.662,2665,4.939,3967,12.573,7470,20.334]],["keywords/1894",[]],["title/1895",[55,399.326,7471,1389.29]],["content/1895",[]],["keywords/1895",[]],["title/1896",[312,664.279]],["content/1896",[242,11.989,2665,5.355,7472,24.526,7473,20.53]],["keywords/1896",[]],["title/1897",[426,502.78]],["content/1897",[11,7.023,248,5.852,252,4.743,281,7.364,323,6.638,499,7.105,1887,11.411,2665,5.242,7474,17.175,7475,17.175,7476,17.175,7477,15.716,7478,15.716,7479,10.944]],["keywords/1897",[]],["title/1898",[55,399.326,2964,1143.63]],["content/1898",[]],["keywords/1898",[]],["title/1899",[426,502.78]],["content/1899",[11,6.399,248,5.333,252,4.984,281,7.739,296,9.365,323,6.048,499,7.777,1887,11.882,2665,5.508,7480,18.31,7481,18.31,7482,18.31]],["keywords/1899",[]],["title/1900",[55,331.817,7457,950.29,7471,1154.419]],["content/1900",[]],["keywords/1900",[]],["title/1901",[312,664.279]],["content/1901",[242,13.338,2665,5.958,7457,15.042,7472,22.84,7473,18.273,7483,24.526]],["keywords/1901",[]],["title/1902",[426,502.78]],["content/1902",[11,6.451,248,5.376,252,4.357,281,6.765,323,6.097,499,6.134,1887,10.638,2665,4.815,7453,19.811,7457,15.194,7477,14.112,7478,14.112,7479,9.448,7484,15.421,7485,15.421,7486,15.421,7487,15.421]],["keywords/1902",[]],["title/1903",[55,399.326,2975,1321.747]],["content/1903",[]],["keywords/1903",[]],["title/1904",[426,502.78]],["content/1904",[11,5.598,106,4.975,151,4.903,152,4.2,163,6.791,248,4.664,252,4.955,270,5.114,273,5.998,281,7.693,296,8.192,323,5.29,1867,7.64,1887,10.906,2665,5.476,4395,14.656,7488,16.016,7489,16.016,7490,16.016,7491,10.337,7492,9.942]],["keywords/1904",[]],["title/1905",[55,399.326,7459,1321.747]],["content/1905",[55,4.837,89,6.577,252,2.744,254,3.643,1068,10.308,1833,8.793,4405,11.06,5934,8.455,7178,7.597,7227,6.866,7459,16.009,7493,11.06,7494,12.483,7495,24.7,7496,12.483,7497,12.483,7498,12.483,7499,12.483,7500,12.483,7501,12.483,7502,12.483,7503,12.483,7504,12.483,7505,11.06,7506,11.06,7507,11.06,7508,12.483,7509,12.483,7510,12.483]],["keywords/1905",[]],["title/1906",[55,283.833,7457,812.869,7511,987.478,7512,987.478]],["content/1906",[]],["keywords/1906",[]],["title/1907",[426,502.78]],["content/1907",[11,5.885,106,4.07,151,4.011,152,3.436,163,5.556,248,4.904,252,4.474,270,4.184,273,4.907,281,6.947,323,5.562,1867,6.251,1887,9.849,2665,4.945,4395,12.592,7453,18.691,7457,13.86,7477,12.592,7478,12.592,7479,8.134,7487,13.761,7491,8.457,7492,8.134,7513,13.761,7514,13.761,7515,13.761]],["keywords/1907",[]],["title/1908",[55,331.817,7511,1154.419,7512,1154.419]],["content/1908",[]],["keywords/1908",[]],["title/1909",[426,502.78]],["content/1909",[11,6.357,106,4.613,151,4.546,152,3.894,163,6.297,248,5.297,252,4.774,270,4.742,273,5.562,281,7.412,323,6.008,1867,7.084,1887,10.508,2665,5.276,4395,13.854,7477,13.854,7478,13.854,7479,9.219,7491,9.585,7492,9.219,7516,15.14,7517,15.14,7518,15.14]],["keywords/1909",[]],["title/1910",[55,399.326,7460,1321.747]],["content/1910",[55,6.476,252,4.22,254,5.603,1068,10.953,5934,13.004,7178,11.685,7227,10.56,7460,21.435,7519,19.199]],["keywords/1910",[]],["title/1911",[55,399.326,7461,1321.747]],["content/1911",[27,3.494,28,4.609,55,4.603,89,6.146,151,4.903,178,7.64,252,2.565,254,3.405,1068,9.812,1088,8.218,1833,8.218,5934,7.903,7178,7.101,7227,6.417,7461,15.237,7493,10.337,7505,10.337,7506,10.337,7507,10.337,7520,11.667,7521,24.034,7522,11.667,7523,11.667,7524,11.667,7525,11.667,7526,11.667,7527,11.667,7528,11.667,7529,11.667,7530,11.667,7531,11.667,7532,11.667,7533,10.865,7534,11.667]],["keywords/1911",[]],["title/1912",[55,399.326,7462,1321.747]],["content/1912",[55,6.476,252,4.22,254,5.603,1068,10.953,5934,13.004,7178,11.685,7227,10.56,7462,21.435,7535,19.199]],["keywords/1912",[]],["title/1913",[72,736.812,4399,1271.298]],["content/1913",[]],["keywords/1913",[]],["title/1914",[426,502.78]],["content/1914",[11,7.018,248,5.848,281,7.359,323,6.633,1887,12.574,2665,5.238,7480,20.08,7481,20.08,7482,20.08]],["keywords/1914",[]],["title/1915",[72,736.812,7536,1389.29]],["content/1915",[]],["keywords/1915",[]],["title/1916",[426,502.78]],["content/1916",[11,7.018,248,5.848,281,7.359,323,6.633,1887,12.574,2665,5.238,7474,20.08,7475,20.08,7476,20.08]],["keywords/1916",[]],["title/1917",[72,736.812,7466,1271.298]],["content/1917",[]],["keywords/1917",[]],["title/1918",[426,502.78]],["content/1918",[11,7.018,248,5.848,281,7.359,323,6.633,1887,12.574,2665,5.238,7488,20.08,7489,20.08,7490,20.08]],["keywords/1918",[]],["title/1919",[72,612.248,7457,950.29,7536,1154.419]],["content/1919",[]],["keywords/1919",[]],["title/1920",[426,502.78]],["content/1920",[11,6.544,248,5.453,281,6.861,323,6.185,1887,12.048,2665,4.884,7453,21.713,7484,18.723,7485,18.723,7486,18.723]],["keywords/1920",[]],["title/1921",[72,736.812,7537,1389.29]],["content/1921",[]],["keywords/1921",[]],["title/1922",[426,502.78]],["content/1922",[11,7.018,248,5.848,281,7.359,323,6.633,1887,12.574,2665,5.238,7516,20.08,7517,20.08,7518,20.08]],["keywords/1922",[]],["title/1923",[72,612.248,7457,950.29,7537,1154.419]],["content/1923",[]],["keywords/1923",[]],["title/1924",[426,502.78]],["content/1924",[11,6.544,248,5.453,281,6.861,323,6.185,1887,12.048,2665,4.884,7453,21.713,7513,18.723,7514,18.723,7515,18.723]],["keywords/1924",[]],["title/1925",[55,399.326,4402,1231.016]],["content/1925",[55,6.476,252,4.22,254,5.603,1068,10.953,4402,19.964,5934,13.004,7178,11.685,7227,10.56,7538,17.88]],["keywords/1925",[]],["title/1926",[55,399.326,7463,1321.747]],["content/1926",[13,5.772,28,4.435,55,4.474,89,5.914,151,4.718,178,7.352,252,2.468,254,3.277,290,6.205,307,5.229,1068,9.536,1342,7.604,1833,7.907,5934,7.604,7178,6.833,7227,6.175,7463,14.809,7493,9.947,7505,9.947,7506,9.947,7507,9.947,7539,11.227,7540,23.652,7541,11.227,7542,11.227,7543,11.227,7544,11.227,7545,11.227,7546,11.227,7547,11.227,7548,11.227,7549,11.227,7550,11.227,7551,11.227,7552,10.455,7553,10.455]],["keywords/1926",[]],["title/1927",[7554,1872.876]],["content/1927",[]],["keywords/1927",[]],["title/1928",[55,501.321]],["content/1928",[19,4.13,51,16.241,52,6.839,53,11.194,65,9.83,376,8.227,394,14.49,1887,8.227,5576,13.649,7555,15.835,7556,15.835,7557,15.065,7558,15.835,7559,15.835,7560,15.835]],["keywords/1928",[]],["title/1929",[261,1007.47]],["content/1929",[7561,21.675]],["keywords/1929",[]],["title/1930",[51,1082.951,55,399.326]],["content/1930",[19,4.381,51,18.675,55,6.223,65,10.426,252,3.964,254,5.264,376,8.726,623,12.073,1068,10.289,7178,10.976,7227,9.92]],["keywords/1930",[]],["title/1931",[55,399.326,7556,1389.29]],["content/1931",[]],["keywords/1931",[]],["title/1932",[426,502.78]],["content/1932",[11,6.544,248,5.453,252,4.419,281,6.861,323,6.185,375,8.272,1105,9.136,2665,4.884,7557,17.812,7562,14.514,7563,14.514,7564,20.105,7565,14.514,7566,14.514]],["keywords/1932",[]],["title/1933",[55,399.326,394,1271.298]],["content/1933",[]],["keywords/1933",[]],["title/1934",[257,782.587]],["content/1934",[252,4.41,254,7.258,385,16.118,1105,9.117,2665,4.874,7567,20.063,7568,20.063]],["keywords/1934",[]],["title/1935",[426,502.78]],["content/1935",[7,2.707,11,5.326,19,1.326,36,4.184,43,2.875,52,2.195,53,7.278,153,2.78,221,7.003,236,3.134,248,6.1,252,3.597,254,4.776,268,4.309,281,3.192,290,2.026,323,5.034,364,3.537,368,3.574,385,7.956,554,3.676,558,4.456,569,5.847,1105,7.436,1887,5.94,1896,5.005,2665,3.975,3188,4.184,7174,3.349,7397,5.116,7569,9.354,7570,9.853,7571,17.85,7572,5.083,7573,11.432,7574,9.354,7575,15.211,7576,5.083,7577,9.354,7578,9.354,7579,9.354,7580,5.458,7581,9.354,7582,14.547,7583,5.458,7584,9.354,7585,12.276,7586,9.354,7587,5.458]],["keywords/1935",[]],["title/1936",[55,399.326,7557,1321.747]],["content/1936",[]],["keywords/1936",[]],["title/1937",[312,664.279]],["content/1937",[252,4.846,2665,5.355,7588,24.526,7589,22.046]],["keywords/1937",[]],["title/1938",[55,399.326,7555,1389.29]],["content/1938",[]],["keywords/1938",[]],["title/1939",[426,502.78]],["content/1939",[10,5.528,11,6.232,139,6.461,248,5.93,252,4.209,268,4.329,281,4.985,323,5.89,385,15.654,554,6.455,1105,8.7,1422,10.782,1896,5.031,2665,4.651,7178,7.505,7226,6.598,7397,5.143,7570,15.369,7573,17.831,7590,5.491,7591,5.491,7592,9.404,7593,9.404,7594,9.404,7595,5.491,7596,5.491,7597,5.491,7598,5.491,7599,5.491,7600,5.491,7601,5.491,7602,5.491]],["keywords/1939",[]],["title/1940",[55,399.326,7558,1389.29]],["content/1940",[]],["keywords/1940",[]],["title/1941",[2444,885.325]],["content/1941",[11,5.941,32,14.891,248,4.951,252,4.012,255,8.533,323,7.207,1680,10.699,2665,4.434,7174,11.2,7248,9.705,7575,22.049,7603,23.429,7604,15.555]],["keywords/1941",[]],["title/1942",[312,664.279]],["content/1942",[252,5.601,255,10.728,323,7.06,1680,13.451,2665,6.19,7575,15.064,7588,21.371]],["keywords/1942",[]],["title/1943",[257,782.587]],["content/1943",[252,4.618,254,7.466,255,9.82,2665,5.103,7604,21.799]],["keywords/1943",[]],["title/1944",[426,502.78]],["content/1944",[11,5.331,248,5.92,252,3.6,254,4.78,255,10.203,268,5.75,323,6.714,1105,7.443,1680,9.6,2665,3.979,7174,10.05,7604,18.6,7605,21.826,7606,16.379]],["keywords/1944",[]],["title/1945",[55,399.326,7559,1389.29]],["content/1945",[]],["keywords/1945",[]],["title/1946",[2444,885.325]],["content/1946",[11,4.883,248,4.069,252,3.298,254,6.003,255,9.615,323,4.615,375,6.833,569,9.797,2665,3.644,7210,18.223,7248,11.501,7607,20.568,7608,23.471,7609,20.568,7610,15.002]],["keywords/1946",[]],["title/1947",[426,502.78]],["content/1947",[10,7.689,11,5.492,248,4.576,252,3.709,255,7.887,281,5.758,323,5.19,982,9.565,988,18.969,2665,4.099,3178,13.923,3815,14.949,4357,9.382,7178,6.92,7248,8.716,7572,10.588,7575,14.378,7611,16.873,7612,11.37,7613,16.873,7614,16.873]],["keywords/1947",[]],["title/1948",[261,802.497,7561,1321.747]],["content/1948",[]],["keywords/1948",[]],["title/1949",[312,664.279]],["content/1949",[49,14.786,254,7.585,483,7.385,530,8.606,667,9.565,723,7.944,2665,6.313,7615,21.562,7616,21.562,7617,21.562]],["keywords/1949",[]],["title/1950",[55,399.326,7560,1389.29]],["content/1950",[]],["keywords/1950",[]],["title/1951",[2444,885.325]],["content/1951",[11,5.235,248,4.362,252,3.536,323,4.948,554,8.474,1896,11.537,2665,3.907,3188,16.529,7397,11.792,7618,21.562,7619,20.08,7620,20.08,7621,16.084]],["keywords/1951",[]],["title/1952",[312,664.279]],["content/1952",[19,2.319,42,5.312,55,2.555,62,3.977,184,6.251,252,5.119,265,3.609,323,2.936,331,5.763,364,6.187,383,5.719,386,5.406,504,5.281,511,5.25,542,5.556,554,5.808,704,6.822,705,10.133,949,8.377,957,5.958,1141,7.478,1143,8.377,1431,7.478,2665,5.656,2885,8.889,3188,11.328,7561,8.457,7619,13.761,7620,13.761,7622,14.777,7623,9.545,7624,14.777,7625,9.545,7626,14.777,7627,14.777]],["keywords/1952",[]],["title/1953",[426,502.78]],["content/1953",[11,6.065,248,6.439,252,4.096,255,10.169,268,6.541,323,5.732,705,8.936,2665,4.527,3188,14.285,7174,13.348,7248,9.989,7604,20.231,7628,18.635,7629,18.635,7630,12.135]],["keywords/1953",[]],["title/1954",[7631,1872.876]],["content/1954",[]],["keywords/1954",[]],["title/1955",[55,501.321]],["content/1955",[19,5.722,138,7.289,296,8.768,426,6.323,796,11.307,2443,9.169,3415,14.775,3535,15.686,3732,16.308,7632,15.686]],["keywords/1955",[]],["title/1956",[638,885.325]],["content/1956",[7633,21.598,7634,21.598,7635,21.598]],["keywords/1956",[]],["title/1957",[261,1007.47]],["content/1957",[7636,20.187]],["keywords/1957",[]],["title/1958",[2774,1082.694]],["content/1958",[98,9.485,876,12.057,2774,12.744,7637,19.532,7638,17.696]],["keywords/1958",[]],["title/1959",[55,399.326,7632,1271.298]],["content/1959",[]],["keywords/1959",[]],["title/1960",[2444,885.325]],["content/1960",[11,4.435,98,8.277,248,3.696,252,2.996,255,8.993,323,6.859,554,5.356,1317,12.734,1896,7.292,2480,15.874,2665,3.31,7248,10.447,7273,9.739,7397,7.453,7636,15.874,7638,15.442,7639,19.238,7640,17.915,7641,12.691,7642,12.691]],["keywords/1960",[]],["title/1961",[312,664.279]],["content/1961",[19,2.478,24,2.903,27,3.055,71,6.208,98,8.108,139,3.68,162,4.485,248,4.217,252,5.256,255,4.768,296,4.858,323,5.797,554,4.009,778,5.059,796,9.046,876,5.578,949,13.554,1317,10.293,2480,12.831,2665,6.04,5075,8.187,7636,8.417,7638,8.187,7640,14.481,7643,15.549]],["keywords/1961",[]],["title/1962",[426,502.78]],["content/1962",[19,4.294,71,10.759,139,6.377,248,4.794,252,3.886,255,8.264,268,6.205,270,7.748,323,5.438,2665,4.294,3240,17.249,5075,14.19,7174,10.847,7644,17.678]],["keywords/1962",[]],["title/1963",[2774,862.416,7645,1491.833]],["content/1963",[11,5.431,248,4.525,252,3.668,265,6.309,323,5.133,939,8.241,2137,10.414,2455,13.393,2586,9.646,2774,12.774,7222,10.414,7227,9.178,7637,14.783,7646,14.783,7647,16.686,7648,13.393,7649,15.539]],["keywords/1963",[]],["title/1964",[2774,862.416,7638,1197.481]],["content/1964",[98,7.316,252,3.738,265,6.429,281,5.803,876,9.299,939,8.398,2137,10.613,2455,13.649,2586,9.83,2774,14.455,7227,9.353,7638,13.649,7648,13.649,7649,15.835,7650,17.004]],["keywords/1964",[]],["title/1965",[55,399.326,3535,1271.298]],["content/1965",[]],["keywords/1965",[]],["title/1966",[426,502.78]],["content/1966",[10,1.185,11,4.723,19,2.758,50,5.996,93,6.446,125,1.872,180,4.817,211,1.864,248,5.062,252,3.19,265,3.526,268,3.985,281,2.344,296,4.442,298,4.223,323,4.464,554,5.703,586,8.3,794,9.369,796,3.298,804,7.086,937,6.886,969,2.375,1105,6.594,1317,13.306,1896,4.989,2137,10.52,2335,3.574,2393,5.266,2398,3.27,2401,11.648,2443,4.645,2585,8.629,2665,3.525,5492,8.534,7226,4.989,7273,10.371,7318,4.912,7321,4.912,7397,5.1,7400,5.382,7646,3.4,7651,6.397,7652,13.514,7653,8.262,7654,6.869,7655,6.869,7656,3.574,7657,6.397,7658,6.869,7659,6.869]],["keywords/1966",[]],["title/1967",[261,802.497,7636,1231.016]],["content/1967",[]],["keywords/1967",[]],["title/1968",[312,664.279]],["content/1968",[254,7.158,483,9.009,530,10.499,876,13.413,969,15.176,2665,5.958]],["keywords/1968",[]],["title/1969",[55,399.326,3415,1197.481]],["content/1969",[]],["keywords/1969",[]],["title/1970",[312,664.279]],["content/1970",[162,7.476,236,9.764,252,4.918,265,6.429,375,5.649,512,10.038,734,7.598,740,9.407,2665,5.435,7632,21.309,7660,22.373,7661,17.004]],["keywords/1970",[]],["title/1971",[426,502.78]],["content/1971",[11,5.771,162,6.344,248,5.675,252,3.898,255,6.745,265,3.5,268,4.27,281,4.151,323,6.677,554,3.638,1220,13.112,1317,14.368,1896,4.953,2665,4.307,7248,7.096,7273,8.694,7318,2.841,7321,2.841,7323,7.847,7397,5.063,7406,7.889,7632,7.889,7636,11.907,7637,8.202,7638,7.431,7641,8.621,7642,5.021,7662,9.257,7663,5.392,7664,5.392,7665,14.429,7666,14.429,7667,14.429,7668,5.392,7669,5.392,7670,5.392,7671,9.257,7672,9.257,7673,9.257,7674,5.392,7675,5.392]],["keywords/1971",[]],["title/1972",[638,705.202,7633,1389.29]],["content/1972",[]],["keywords/1972",[]],["title/1973",[312,664.279]],["content/1973",[122,14.586,252,5.601,265,6.684,954,10.759,2565,16.94,2665,6.19,6340,11.702,7676,21.371]],["keywords/1973",[]],["title/1974",[638,705.202,7634,1389.29]],["content/1974",[]],["keywords/1974",[]],["title/1975",[312,664.279]],["content/1975",[252,5.391,265,7.419,2455,19.687,2565,18.104,2665,5.958,6340,12.988]],["keywords/1975",[]],["title/1976",[638,705.202,7635,1389.29]],["content/1976",[]],["keywords/1976",[]],["title/1977",[312,664.279]],["content/1977",[27,4.21,85,9.711,122,12.497,138,5.567,167,7.16,244,6.801,252,5.398,265,7.434,294,10.376,796,6.748,954,8.555,2455,15.782,2565,14.513,2665,5.965,6340,9.305,7676,18.31]],["keywords/1977",[]],["title/1978",[55,399.326,3732,1321.747]],["content/1978",[]],["keywords/1978",[]],["title/1979",[426,502.78]],["content/1979",[11,4.839,19,1.727,50,3.265,180,3.673,211,3.454,248,5.157,252,3.268,265,4.417,268,4.1,281,2.427,296,3.387,298,3.22,323,4.573,554,6.765,804,7.291,937,8.168,969,4.4,1105,6.755,1317,13.53,1896,7.955,2443,3.542,2480,16.867,2585,10.236,2665,3.611,5492,8.78,7226,3.805,7273,10.625,7318,6.154,7321,6.154,7397,8.13,7400,5.571,7646,6.3,7651,10.878,7652,16.03,7653,10.349,7656,6.622,7657,10.878,7677,11.681]],["keywords/1979",[]],["title/1980",[55,399.326,7678,1389.29]],["content/1980",[]],["keywords/1980",[]],["title/1981",[2444,885.325]],["content/1981",[11,5.87,104,10.725,248,4.891,252,3.964,323,5.548,483,8.281,556,7.391,1132,16.374,2665,4.381,6464,14.882,7323,9.808,7679,18.035,7680,18.035]],["keywords/1981",[]],["title/1982",[4479,1659.346]],["content/1982",[]],["keywords/1982",[]],["title/1983",[55,501.321]],["content/1983",[7,2.306,19,5.21,32,2.955,42,4.531,48,1.332,55,1.743,64,1.847,85,1.236,90,1.162,95,3.113,98,4.122,105,1.393,106,4.085,113,3.272,121,2.745,125,4.673,135,1.9,139,0.903,140,6.507,170,6.12,176,1.971,191,1.401,222,1.287,234,1.739,236,3.739,244,3.939,248,3.789,249,1.162,251,3.272,261,3.503,265,3.078,290,0.929,301,1.606,312,3.852,323,0.77,351,3.431,375,0.831,383,1.5,397,3.413,417,3.323,421,1.622,426,1.748,437,4.992,456,4.359,527,1.639,542,2.706,548,5.101,556,6.682,588,2.009,605,1.695,611,3.189,704,4.654,734,1.118,752,1.763,779,3.715,803,3.732,844,2.877,874,2.653,880,1.325,937,3.09,939,2.296,957,1.562,960,9.116,962,4.064,1040,1.591,1046,1.536,1056,1.961,1066,3.113,1079,1.377,1105,2.959,1131,10.008,1132,1.763,1135,3.495,1136,3.962,1139,2.619,1141,1.961,1143,3.691,1152,5.127,1164,2.217,1173,2.133,1249,3.564,1255,3.837,1270,1.961,1272,6.535,1275,2.217,1292,2.217,1295,2.217,1353,1.511,1356,2.217,1371,3.564,1479,1.695,1506,3.275,1650,2.065,1907,1.606,1927,2.83,2223,1.847,2276,3.837,2443,6.959,2447,1.961,2585,2.765,2586,3.764,2656,1.817,2936,2.217,3574,2.217,3624,1.847,3628,2.133,4106,2.065,6188,2.009,6215,2.133,6447,2.217,6515,2.133,7678,2.331,7681,2.331,7682,2.503,7683,2.503,7684,2.331,7685,2.331,7686,2.331,7687,2.217,7688,2.331,7689,2.331,7690,2.331,7691,2.331,7692,2.503,7693,2.331,7694,2.503,7695,2.331,7696,2.331,7697,2.331,7698,2.503,7699,2.331,7700,2.331,7701,2.331,7702,2.331,7703,2.331,7704,2.503,7705,2.331,7706,2.331,7707,2.217,7708,2.331,7709,2.331,7710,2.331,7711,2.217,7712,2.217,7713,2.217,7714,2.503,7715,2.217,7716,2.503]],["keywords/1983",[]],["title/1984",[55,399.326,7684,1389.29]],["content/1984",[]],["keywords/1984",[]],["title/1985",[2444,885.325]],["content/1985",[11,4.966,248,4.138,252,3.354,265,7.868,323,4.694,535,14.656,541,17.732,556,8.527,1152,14.912,2665,3.707,7318,8.039,7321,8.039,7323,8.298,7717,15.259,7718,15.259,7719,20.808]],["keywords/1985",[]],["title/1986",[55,399.326,7681,1389.29]],["content/1986",[]],["keywords/1986",[]],["title/1987",[2444,885.325]],["content/1987",[11,5.431,19,4.053,248,4.525,252,3.668,323,5.133,542,9.712,960,8.661,1267,14.967,2106,12.791,2665,4.053,7720,16.686,7721,16.686,7722,20.577,7723,11.302,7724,14.783,7725,15.539]],["keywords/1987",[]],["title/1988",[426,502.78]],["content/1988",[11,6.625,248,6.586,252,4.474,268,6.347,281,3.258,323,6.262,402,6.125,556,9.542,937,7.012,939,7.298,954,5.809,1143,10.249,2665,4.945,7267,5.595,7270,5.595,7723,12.246,7726,8.889,7727,8.889,7728,10.266,7729,10.908,7730,6.929,7731,8.889,7732,8.889,7733,10.908]],["keywords/1988",[]],["title/1989",[55,399.326,7686,1389.29]],["content/1989",[]],["keywords/1989",[]],["title/1990",[426,502.78]],["content/1990",[11,3.995,19,2.982,100,5.605,105,5.206,135,5.017,141,4.357,248,4.841,252,2.698,265,4.641,268,4.309,323,3.776,402,6.003,414,6.79,421,7.956,426,3.295,530,2.92,542,7.145,554,2.145,812,7.802,960,8.494,1105,5.578,1143,5.303,1152,14.543,1154,5.648,1198,7.171,1249,7.171,1255,10.129,1267,14.774,1370,7.971,1480,7.532,1531,10.129,1866,8.315,1896,2.92,2665,2.982,3559,5.083,7323,6.676,7397,2.985,7723,6.336,7724,8.288,7730,6.79,7734,9.354,7735,11.432,7736,9.354,7737,5.458,7738,5.458,7739,3.792]],["keywords/1990",[]],["title/1991",[55,399.326,7687,1321.747]],["content/1991",[]],["keywords/1991",[]],["title/1992",[426,502.78]],["content/1992",[11,4.278,62,7.813,89,4.333,106,5.605,113,4.133,130,5.287,248,5.086,252,2.889,254,5.473,265,3.11,268,4.614,323,4.043,364,5.331,391,8.435,670,5.228,712,5.18,959,6.444,960,11.91,962,8.204,971,5.445,1105,5.973,1216,3.193,1464,13.027,2665,3.193,2735,16.455,4192,5.879,6464,6.787,7318,4.333,7321,4.333,7323,7.148,7739,9.132,7740,8.225,7741,8.225,7742,8.225,7743,8.225,7744,8.225,7745,8.225,7746,8.225,7747,8.225]],["keywords/1992",[]],["title/1993",[55,399.326,7688,1389.29]],["content/1993",[]],["keywords/1993",[]],["title/1994",[426,502.78]],["content/1994",[11,5.652,19,4.218,108,12.064,248,5.582,252,3.817,268,4.15,281,4.035,323,5.342,937,8.24,939,8.577,1105,7.891,1131,7.586,1147,16.723,1265,9.489,2585,7.03,2586,6.834,2665,4.218,7267,6.929,7270,6.929,7748,11.822,7749,11.822,7750,11.822,7751,11.822,7752,11.009]],["keywords/1994",[]],["title/1995",[55,399.326,7689,1389.29]],["content/1995",[]],["keywords/1995",[]],["title/1996",[2444,885.325]],["content/1996",[11,6.133,19,2.478,248,4.217,252,3.418,265,3.857,312,5.515,323,4.783,402,6.546,417,7.29,445,7.086,535,7.184,542,5.937,556,7.722,960,5.294,1131,6.546,1132,13.273,1143,10.682,1152,15.057,1198,7.819,1242,9.037,1267,12.764,1345,8.692,2665,3.777,7318,5.374,7321,5.374,7723,10.532,7730,7.404,7753,15.549,7754,15.549]],["keywords/1996",[]],["title/1997",[55,399.326,7691,1389.29]],["content/1997",[]],["keywords/1997",[]],["title/1998",[426,502.78]],["content/1998",[4,6.751,11,5.492,247,5.501,248,6.449,251,5.713,252,3.709,268,3.991,281,3.88,323,5.19,556,6.914,799,8.758,937,8.006,939,8.333,941,5.739,1079,12.243,1105,7.667,2585,6.761,2586,6.573,2665,4.099,7222,7.096,7267,6.664,7270,6.664,7755,11.37,7756,11.37,7757,11.37,7758,11.37]],["keywords/1998",[]],["title/1999",[55,399.326,1173,1271.298]],["content/1999",[]],["keywords/1999",[]],["title/2000",[2444,885.325]],["content/2000",[7,5.719,11,5.549,19,2.801,248,4.624,252,3.748,265,4.36,323,5.245,402,7.399,542,6.711,554,4.532,556,4.725,960,5.985,1132,12.008,1143,6.536,1152,14.114,1249,8.839,1255,14.068,1267,11.548,1896,6.169,2106,8.839,2665,4.141,7318,6.074,7321,6.074,7397,6.306,7722,15.877,7723,11.548,7724,10.216,7725,10.738,7730,8.37,7759,17.049,7760,17.049]],["keywords/2000",[]],["title/2001",[426,502.78]],["content/2001",[11,5.733,19,1.294,68,3.101,248,5.859,251,2.677,252,3.872,268,5.024,281,3.127,323,5.419,370,6.548,402,5.88,421,10.453,426,1.43,444,2.897,445,3.701,556,10.548,937,6.792,939,4.525,941,2.689,954,9.815,1080,4.276,1131,7.736,1143,11.8,1164,10.68,1265,9.676,1480,3.269,2665,4.279,7267,5.37,7270,3.123,7685,8.532,7723,9.695,7726,4.961,7727,4.961,7728,8.375,7729,6.763,7730,6.651,7731,4.961,7732,4.961,7733,6.763,7761,5.327,7762,5.327,7763,9.162]],["keywords/2001",[]],["title/2002",[55,399.326,3574,1321.747]],["content/2002",[]],["keywords/2002",[]],["title/2003",[426,502.78]],["content/2003",[11,6.003,14,2.611,19,0.672,248,5.853,251,1.39,252,4.055,264,1.812,265,2.684,268,4.509,281,4.384,323,5.674,367,1.949,426,0.743,450,2.042,527,1.812,569,3.381,779,7.329,874,6.655,937,8.752,939,9.383,1079,4.855,1105,8.382,1139,1.559,1154,5.329,1221,6.209,1699,2.121,1976,3.544,2443,1.378,2563,3.499,2585,7.639,2586,7.426,2665,4.481,3051,9.941,4203,3.593,6340,4.699,7245,2.042,7250,8.529,7267,7.529,7270,7.529,7284,6.289,7318,3.74,7320,2.358,7321,3.74,7328,6.611,7329,2.577,7764,5.102,7765,5.102,7766,3.997,7767,2.767,7768,2.767,7769,2.283,7770,2.767,7771,2.767,7772,2.767,7773,2.767,7774,2.767,7775,2.767,7776,7.099,7777,2.767,7778,2.767,7779,5.102,7780,2.767,7781,5.102,7782,2.767,7783,2.767,7784,2.767,7785,3.415,7786,2.767,7787,2.767,7788,2.767,7789,2.767,7790,2.767,7791,2.767,7792,2.767,7793,2.767,7794,2.767,7795,2.767,7796,2.767,7797,5.102,7798,2.767,7799,2.767]],["keywords/2003",[]],["title/2004",[55,399.326,7800,1491.833]],["content/2004",[]],["keywords/2004",[]],["title/2005",[312,664.279]],["content/2005",[85,12.634,252,4.618,265,7.943,949,11.909,1105,9.546,2665,5.103]],["keywords/2005",[]],["title/2006",[55,399.326,3628,1271.298]],["content/2006",[]],["keywords/2006",[]],["title/2007",[257,782.587]],["content/2007",[10,5.682,19,4.471,25,10.244,85,9.091,252,4.046,254,6.875,375,6.115,921,14.421,2665,4.471,3624,17.387,3627,14.421]],["keywords/2007",[]],["title/2008",[55,399.326,7693,1389.29]],["content/2008",[]],["keywords/2008",[]],["title/2009",[257,782.587]],["content/2009",[25,8.492,85,7.536,139,7.506,161,9.074,248,5.643,252,3.354,254,6.073,391,9.792,444,8.298,778,7.568,1105,6.934,1287,14.21,2276,12.591,2443,7.601,2568,13.003,2665,3.707,7801,20.808,7802,15.259,7803,15.259]],["keywords/2009",[]],["title/2010",[426,502.78]],["content/2010",[11,5.405,19,3.038,85,4.719,139,6.971,160,3.998,247,4.623,248,6.461,252,4.248,265,4.728,268,5.83,281,3.261,290,2.077,323,5.109,375,1.859,417,3.998,508,2.978,556,2.293,569,2.665,734,2.5,740,3.095,778,2.775,779,3.192,812,3.556,937,4.534,941,2.824,957,3.492,1079,5.255,1105,8.781,1265,4.491,1887,2.707,2443,2.787,2585,5.682,2665,4.694,3099,3.556,3624,7.053,3627,7.485,7222,7.805,7270,3.279,7323,6.801,7576,5.21,7653,4.957,7785,6.396,7804,9.555,7805,9.555,7806,9.555,7807,14.788,7808,9.555,7809,4.957,7810,9.555,7811,9.555]],["keywords/2010",[]],["title/2011",[55,399.326,7695,1389.29]],["content/2011",[]],["keywords/2011",[]],["title/2012",[426,502.78]],["content/2012",[11,6.288,162,6.028,248,6.218,252,4.247,254,2.531,268,5.445,281,3.92,323,5.943,556,6.967,567,6.146,734,5.132,937,8.066,939,10.74,979,2.834,1079,4.77,1105,8.778,1125,6.648,2585,6.83,2586,8.966,2665,4.693,2864,3.629,3628,4.26,7222,3.12,7267,6.732,7270,9.091,7273,3.573,7399,3.916,7406,4.26,7812,4.999,7813,4.999,7814,4.999,7815,4.999,7816,4.999,7817,4.999,7818,4.999,7819,4.999,7820,4.999,7821,4.999,7822,4.999,7823,3.473,7824,4.999,7825,4.999,7826,4.999,7827,4.999,7828,4.999,7829,4.999,7830,4.26]],["keywords/2012",[]],["title/2013",[55,399.326,7690,1389.29]],["content/2013",[]],["keywords/2013",[]],["title/2014",[312,664.279]],["content/2014",[252,5.538,254,7.353,962,15.725,1184,1.249,2601,18.006,2665,6.12,7831,3.105,7832,3.105,7833,1.63,7834,3.105,7835,1.63,7836,3.105,7837,1.63,7838,3.105,7839,1.63,7840,3.105,7841,1.63,7842,3.105,7843,1.63,7844,3.105,7845,1.63,7846,3.105,7847,1.63,7848,3.105,7849,1.63,7850,3.105,7851,1.63,7852,3.105,7853,1.63,7854,3.105,7855,1.63,7856,3.105,7857,1.63,7858,3.105,7859,1.63,7860,3.105,7861,1.63,7862,3.105,7863,1.63,7864,3.105,7865,1.63,7866,3.105,7867,1.63,7868,3.105,7869,1.63,7870,3.105,7871,1.63,7872,3.105,7873,1.63,7874,3.105,7875,1.63,7876,3.105,7877,1.63,7878,3.105,7879,1.63,7880,3.105,7881,1.63,7882,3.105,7883,1.63,7884,3.105,7885,1.63,7886,3.105,7887,1.63,7888,3.105,7889,1.63,7890,3.105,7891,1.63,7892,3.105,7893,1.63,7894,3.105,7895,1.63,7896,3.105,7897,1.63,7898,3.105,7899,1.63,7900,3.105,7901,1.63,7902,3.105,7903,1.63,7904,3.105,7905,1.63,7906,3.105,7907,1.63,7908,3.105,7909,1.63,7910,3.105,7911,1.63,7912,3.105,7913,1.63,7914,3.105,7915,1.63,7916,3.105,7917,1.63,7918,3.105,7919,1.63,7920,3.105,7921,1.63,7922,3.105,7923,1.63,7924,3.105,7925,1.63,7926,3.105,7927,1.63,7928,3.105,7929,1.63,7930,3.105,7931,1.63,7932,3.105,7933,1.63,7934,3.105,7935,1.63,7936,3.105,7937,1.63,7938,3.105,7939,1.63,7940,3.105,7941,1.63,7942,3.105,7943,1.63,7944,3.105,7945,1.63,7946,3.105,7947,1.63,7948,3.105,7949,1.63,7950,3.105,7951,1.63,7952,3.105,7953,1.63,7954,3.105,7955,1.63,7956,3.105,7957,1.63]],["keywords/2014",[]],["title/2015",[55,399.326,6215,1271.298]],["content/2015",[]],["keywords/2015",[]],["title/2016",[426,502.78]],["content/2016",[11,4.64,248,5.099,252,3.134,254,2.66,265,4.537,268,4.212,281,1.807,323,4.386,375,5.833,484,3.679,508,6.387,556,7.195,569,5.716,734,5.362,812,7.628,859,5.269,939,5.927,941,6.057,1024,7.859,1105,6.478,1123,3.679,1221,10.007,1914,6.937,1976,6.333,2665,3.463,2930,5.794,3624,15.326,3627,13.755,6188,9.633,7245,3.909,7318,6.322,7321,6.322,7323,2.88,7785,6.102,7809,10.632,7958,4.692,7959,4.692,7960,7.768,7961,7.768,7962,9.115,7963,11.175,7964,14.256]],["keywords/2016",[]],["title/2017",[55,399.326,6515,1271.298]],["content/2017",[]],["keywords/2017",[]],["title/2018",[257,782.587]],["content/2018",[44,11.457,153,9.004,174,6.489,252,3.886,254,6.698,265,6.684,396,10.219,569,8.42,874,10.085,1105,8.033,1139,9.958,2665,4.294,4195,17.592]],["keywords/2018",[]],["title/2019",[426,502.78]],["content/2019",[11,3.397,44,6.766,48,5.556,62,4.349,106,6.748,248,4.292,252,3.479,254,4.619,265,5.984,268,3.664,281,3.563,290,5.875,323,3.211,380,6.303,396,6.034,484,7.252,874,5.955,1105,7.191,1123,7.252,1371,8.002,1914,9.148,2447,8.178,2665,3.844,4136,9.248,4195,14.652,7318,8.337,7321,8.337,7323,5.677,7958,9.248,7959,9.248,7960,13.486,7961,13.486,7965,15.825,7966,9.721]],["keywords/2019",[]],["title/2020",[55,399.326,2586,862.416]],["content/2020",[]],["keywords/2020",[]],["title/2021",[2444,885.325]],["content/2021",[252,4.969,2586,15.453,2665,5.491]],["keywords/2021",[]],["title/2022",[257,782.587]],["content/2022",[105,6.947,141,5.814,252,4.668,254,7.515,265,8.03,331,7.537,396,10.445,414,9.062,874,10.308,941,9.12,955,6.644,960,6.48,1139,7.032,1167,8.793,2665,5.159,7967,16.827,7968,15.398,7969,16.827,7970,10.638]],["keywords/2022",[]],["title/2023",[426,502.78]],["content/2023",[11,5.186,19,0.541,37,1.016,69,1.233,105,7.222,174,0.818,242,2.269,245,1.569,248,6.154,251,2.956,252,4.71,254,0.65,265,3.77,268,6.522,281,4.713,323,4.902,411,3.718,483,1.023,490,1.644,498,3.198,499,1.233,542,1.297,554,2.908,556,3.032,558,1.061,636,1.379,638,1.972,779,4.994,874,3.356,941,3.735,954,1.356,960,8.271,962,4.618,1024,1.459,1079,3.235,1143,1.263,1154,2.519,1221,5.307,1353,1.345,1464,1.548,1480,1.367,1494,1.459,1512,3.028,1650,1.838,1976,2.898,2102,1.838,2665,5.336,2930,4.703,3646,3.885,4083,5.672,4203,2.938,5418,1.617,6113,4.854,6340,1.475,7222,1.39,7226,4.684,7245,3.079,7318,4.612,7321,4.612,7323,6.563,7723,1.509,7728,1.548,7739,5.14,7785,4.953,7968,5.012,7970,3.555,7971,2.075,7972,2.075,7973,2.228,7974,4.171,7975,7.399,7976,4.171,7977,2.228,7978,9.97,7979,2.228,7980,2.228,7981,2.228,7982,4.171,7983,4.171,7984,4.171,7985,2.075,7986,1.974,7987,4.171,7988,1.974,7989,4.171,7990,1.788,7991,4.171,7992,4.171,7993,4.171,7994,1.788,7995,4.171,7996,4.171,7997,4.171,7998,1.708,7999,2.228,8000,2.228,8001,2.228,8002,2.228,8003,2.228,8004,2.228,8005,2.075,8006,2.075,8007,2.075,8008,2.075,8009,3.885,8010,4.171,8011,4.171,8012,2.228,8013,2.228]],["keywords/2023",[]],["title/2024",[55,399.326,7696,1389.29]],["content/2024",[]],["keywords/2024",[]],["title/2025",[426,502.78]],["content/2025",[11,6.481,245,6.453,248,6.21,252,4.377,265,3.464,268,5.024,281,4.885,323,6.125,556,5.866,937,9.448,939,9.834,954,5.576,962,5.719,1105,9.048,2585,8.512,2586,8.275,2665,4.837,7267,8.39,7270,8.39,7318,2.807,7321,2.807,7323,2.897,7728,3.701,7739,3.701,7994,4.276,8014,5.327,8015,5.327,8016,5.327,8017,4.72,8018,5.327,8019,4.72,8020,5.327,8021,5.327,8022,5.327,8023,5.327,8024,5.327,8025,4.174,8026,5.327,8027,4.174,8028,5.327,8029,5.327,8030,5.327,8031,5.327,8032,5.327,8033,5.327,8034,5.327,8035,5.327]],["keywords/2025",[]],["title/2026",[55,399.326,6188,1197.481]],["content/2026",[]],["keywords/2026",[]],["title/2027",[426,502.78]],["content/2027",[10,3.649,11,5.652,123,8.582,242,6.429,248,5.582,252,3.817,268,4.15,270,5.181,281,7.025,323,5.342,1105,5.372,1494,7.742,1676,13.052,1914,11.899,2665,5.51,4083,13.312,6188,9.489,7226,6.325,7963,11.009,7971,11.009,7972,11.009,8036,17.365,8037,11.822,8038,14.798]],["keywords/2027",[]],["title/2028",[55,399.326,2585,887.154]],["content/2028",[]],["keywords/2028",[]],["title/2029",[2444,885.325]],["content/2029",[11,6.618,248,5.515,252,4.47,323,6.255,554,5.799,1896,7.894,2665,4.939,7323,11.058,7397,8.069,8039,20.334,8040,20.334,8041,25.075,8042,20.334]],["keywords/2029",[]],["title/2030",[257,782.587]],["content/2030",[19,4.023,105,11.03,141,5.164,251,5.571,252,4.357,254,7.203,265,7.494,331,9.999,375,5.501,396,9.573,414,8.048,779,6.325,874,9.447,960,8.595,1139,6.246,1167,11.664,2286,8.333,2665,4.815,7968,14.112,7970,9.448,8043,16.56,8044,16.56]],["keywords/2030",[]],["title/2031",[426,502.78]],["content/2031",[11,6.013,19,1.575,37,1.641,62,1.5,69,1.054,105,8.11,167,0.97,176,2.169,242,1.036,247,2.476,248,5.208,251,6.653,252,4.294,254,0.556,265,5.006,268,1.263,281,6.553,290,0.707,323,5.683,336,1.529,383,1.141,386,1.076,411,3.259,426,0.966,437,1.46,453,1.189,487,1.406,498,2.759,542,1.108,556,9.247,606,2.208,626,1.261,636,2.227,638,1.701,779,5.049,874,3.7,941,0.961,960,8.168,977,1.275,1024,4.247,1046,1.169,1079,1.98,1158,1.141,1221,2.724,1335,1.382,1464,1.323,1480,3.14,1494,2.357,1512,5.606,1650,1.571,1927,1.159,1976,2.501,2102,1.571,2665,4.823,2930,4.909,6340,1.261,7222,1.189,7226,1.019,7245,1.406,7267,2.11,7318,6.974,7321,6.974,7323,1.957,7723,1.29,7728,1.323,7739,5.365,7785,3.426,7967,8.241,7968,4.361,7969,3.352,7970,3.067,7986,1.687,7988,1.687,7990,1.529,7994,1.529,7998,1.46,8005,1.774,8006,1.774,8007,1.774,8008,1.774,8009,3.352,8045,3.599,8046,3.599,8047,1.904,8048,1.904,8049,1.904,8050,1.904,8051,3.599,8052,3.352,8053,1.904,8054,1.904,8055,1.904,8056,1.904,8057,1.904,8058,1.904,8059,1.904,8060,1.904,8061,1.904,8062,1.904,8063,1.904,8064,1.904,8065,1.904,8066,1.904,8067,3.599,8068,1.904,8069,1.904,8070,1.904,8071,1.904,8072,1.904,8073,1.904,8074,1.904,8075,1.904,8076,1.904,8077,1.904,8078,1.904,8079,3.599,8080,6.485,8081,8.85,8082,3.599,8083,5.117,8084,1.904]],["keywords/2031",[]],["title/2032",[55,399.326,2447,1168.755]],["content/2032",[]],["keywords/2032",[]],["title/2033",[426,502.78]],["content/2033",[10,4.022,11,4.241,123,9.459,248,5.054,252,4.096,268,4.574,281,6.36,323,4.008,1105,5.921,1494,8.533,1676,14.006,1914,12.576,2447,10.208,2665,5.284,4195,14.285,7323,7.086,7966,12.135,8038,15.88,8085,12.135,8086,18.635,8087,12.135,8088,13.03]],["keywords/2033",[]],["title/2034",[55,399.326,7697,1389.29]],["content/2034",[]],["keywords/2034",[]],["title/2035",[2444,885.325]],["content/2035",[11,6.117,248,5.097,252,4.131,254,5.485,323,5.782,1263,14.724,2665,4.566,7323,10.221,8089,18.795,8090,18.795,8091,23.87]],["keywords/2035",[]],["title/2036",[55,399.326,8092,1491.833]],["content/2036",[]],["keywords/2036",[]],["title/2037",[257,782.587]],["content/2037",[252,4.313,254,7.158,375,6.518,941,12.38,1105,8.916,2665,4.766,8093,19.621,8094,18.273]],["keywords/2037",[]],["title/2038",[55,399.326,7699,1389.29]],["content/2038",[]],["keywords/2038",[]],["title/2039",[257,782.587]],["content/2039",[62,5.13,113,6.186,174,6.567,225,5.981,249,5.713,252,2.706,254,5.221,255,5.755,257,5.144,265,4.655,375,5.942,510,7.825,542,7.166,593,7.9,722,9.645,779,10.205,801,9.882,874,7.024,1010,8.553,1024,8.062,1105,5.594,1135,9.253,1139,6.935,1907,7.9,1927,7.493,2433,10.491,2665,2.991,3457,16.658,4135,10.907,4196,11.465,7735,11.465,8095,12.311]],["keywords/2039",[]],["title/2040",[426,502.78]],["content/2040",[11,5.201,19,3.882,37,4.821,167,5.386,225,5.137,248,5.224,252,3.513,255,10.776,268,3.712,281,3.609,323,4.916,556,6.549,569,7.612,636,6.543,937,7.583,939,7.893,1105,7.261,1135,18.223,2585,6.288,2586,6.113,2665,3.882,5825,9.847,7174,6.488,7248,8.106,7267,6.198,7270,6.198,8096,10.574,8097,10.574,8098,10.574,8099,10.574,8100,10.574,8101,6.306,8102,6.306]],["keywords/2040",[]],["title/2041",[55,399.326,1270,1168.755]],["content/2041",[]],["keywords/2041",[]],["title/2042",[2444,885.325]],["content/2042",[11,5.331,54,10.616,248,4.442,252,3.6,254,4.78,323,5.039,1208,12.556,1216,8.472,1431,12.832,1605,14.512,2665,3.979,7323,8.908,8103,16.379,8104,16.379,8105,21.826,8106,16.379,8107,16.379]],["keywords/2042",[]],["title/2043",[312,664.279]],["content/2043",[19,4.48,54,11.953,225,8.959,252,4.054,620,13.862,949,10.454,959,10.061,960,12.241,1105,8.38,1216,4.985,1263,10.061,1266,7.424,1268,16.34,1270,14.448,2665,4.48,3274,14.448,8108,18.442,8109,18.442]],["keywords/2043",[]],["title/2044",[426,502.78]],["content/2044",[11,6.704,248,6.716,252,4.528,268,6.732,281,2.466,323,6.336,447,9.767,556,9.301,937,5.616,939,5.846,954,4.398,962,4.51,1105,5.378,1147,13.634,2665,5.003,7267,4.235,7270,4.235,7728,8.223,7729,8.737,7733,8.737,7739,8.223,7752,17.86,8110,11.836,8111,7.226,8112,7.226,8113,11.836,8114,7.226,8115,7.226]],["keywords/2044",[]],["title/2045",[55,399.326,2936,1321.747]],["content/2045",[]],["keywords/2045",[]],["title/2046",[2444,885.325]],["content/2046",[11,5.754,248,4.794,252,3.886,265,6.684,323,5.438,1267,15.544,2665,4.294,7318,9.313,7321,9.313,7998,13.552,8116,22.949,8117,18.421]],["keywords/2046",[]],["title/2047",[426,502.78]],["content/2047",[11,6.261,248,6.047,252,4.229,268,4.784,281,4.651,323,5.918,556,7.884,937,9.128,939,9.501,1353,13.463,2665,4.673,7267,7.987,7270,7.987,7729,14.2,7733,14.2,7998,10.447,8118,12.074]],["keywords/2047",[]],["title/2048",[55,399.326,7702,1389.29]],["content/2048",[]],["keywords/2048",[]],["title/2049",[2444,885.325]],["content/2049",[11,5.754,248,4.794,252,3.886,265,6.684,323,5.438,1267,15.544,2665,4.294,7318,9.313,7321,9.313,7723,11.974,8117,18.421,8119,17.678,8120,17.678]],["keywords/2049",[]],["title/2050",[426,502.78]],["content/2050",[11,6.261,248,6.047,252,4.229,268,4.784,281,4.651,323,5.918,402,8.745,556,7.884,937,9.128,939,9.501,1143,10.905,2665,4.673,7267,7.987,7270,7.987,7723,9.23,7729,14.2,7730,9.892,7733,14.2]],["keywords/2050",[]],["title/2051",[55,399.326,7703,1389.29]],["content/2051",[]],["keywords/2051",[]],["title/2052",[2444,885.325]],["content/2052",[11,5.544,248,4.62,252,3.744,254,3.361,323,5.24,554,4.526,558,5.486,962,12.652,1896,6.162,2665,4.138,7397,6.298,7739,11.834,8025,15.881,8027,15.881,8121,17.034,8122,17.034,8123,22.399,8124,22.399,8125,17.034,8126,15.092]],["keywords/2052",[]],["title/2053",[55,399.326,7705,1389.29]],["content/2053",[]],["keywords/2053",[]],["title/2054",[2444,885.325]],["content/2054",[11,3.848,54,7.662,104,7.03,236,6.789,244,8.402,248,3.206,252,2.599,254,3.45,323,3.637,456,7.914,483,5.428,527,7.742,556,8.435,650,12.818,752,8.327,960,12.543,1129,8.886,1139,11.595,1155,6.929,1223,8.582,1226,9.262,2665,2.872,6464,9.755,7323,6.429,8117,13.939,8127,11.822,8128,11.822,8129,11.822,8130,11.822]],["keywords/2054",[]],["title/2055",[55,399.326,7700,1389.29]],["content/2055",[]],["keywords/2055",[]],["title/2056",[426,502.78]],["content/2056",[11,6.45,248,6.187,252,4.356,254,1.171,268,4.99,281,4.852,323,6.096,402,1.371,490,2.961,554,1.577,556,7.813,638,1.897,779,3.235,841,3.571,937,9.403,939,9.788,1079,3.931,1105,9.005,1143,2.274,1353,3.424,1896,1.143,2585,8.454,2586,8.219,2665,4.814,3051,3.419,4106,3.311,5418,2.912,7226,1.143,7267,8.333,7270,8.333,7397,1.169,7723,1.448,7730,1.551,7766,1.674,7785,1.431,7985,5.28,7986,1.893,7988,1.893,7990,1.715,7998,1.638,8118,1.893,8131,2.137,8132,2.137,8133,2.137,8134,2.137,8135,2.137,8136,2.137,8137,5.67,8138,2.137,8139,2.137,8140,2.137,8141,2.137,8142,2.137,8143,1.821,8144,2.137,8145,1.821,8146,2.137,8147,2.137,8148,2.137,8149,2.137,8150,2.137,8151,2.137,8152,2.137,8153,2.137,8154,2.137,8155,5.67,8156,2.137,8157,2.137,8158,2.137,8159,2.137,8160,2.137,8161,2.137,8162,2.137,8163,2.137,8164,2.137,8165,2.137,8166,2.137,8167,2.137,8168,2.137,8169,2.137,8170,2.137,8171,2.137,8172,2.137,8173,2.137,8174,2.137,8175,2.137,8176,2.137,8177,2.137,8178,2.137,8179,2.137,8180,2.137,8181,2.137,8182,2.137,8183,2.137,8184,2.137,8185,2.137,8186,2.137,8187,2.137,8188,2.137,8189,2.137,8190,2.137]],["keywords/2056",[]],["title/2057",[55,399.326,7701,1389.29]],["content/2057",[]],["keywords/2057",[]],["title/2058",[426,502.78]],["content/2058",[11,6.503,248,6.226,252,4.392,268,5.049,281,4.909,323,6.146,556,8.187,705,4.981,937,9.48,939,9.867,1066,4.862,1105,9.078,1273,5.83,1664,6.764,2585,8.553,2586,8.315,2665,4.853,2847,6.435,6086,6.764,6087,6.764,7267,8.43,7270,8.43,7444,6.764,7630,2.029,8191,2.179,8192,2.179,8193,2.179,8194,2.179,8195,2.179,8196,7.263,8197,2.179,8198,2.179,8199,2.179,8200,2.179,8201,2.179,8202,2.179,8203,2.179,8204,2.179,8205,2.179,8206,2.179,8207,2.179,8208,2.179,8209,2.179,8210,2.179,8211,7.263,8212,2.179,8213,2.179,8214,7.263,8215,2.179,8216,2.179,8217,2.179,8218,1.798,8219,2.179,8220,2.179,8221,1.798,8222,2.179,8223,2.179,8224,2.179,8225,2.179,8226,2.179,8227,2.179,8228,2.179,8229,2.179,8230,2.179,8231,2.179,8232,2.179,8233,2.179,8234,2.179,8235,2.179,8236,2.179,8237,2.179,8238,2.179,8239,2.179,8240,2.179,8241,2.179,8242,2.179,8243,2.179,8244,2.179,8245,2.179,8246,2.179,8247,2.179]],["keywords/2058",[]],["title/2059",[55,399.326,7706,1389.29]],["content/2059",[]],["keywords/2059",[]],["title/2060",[426,502.78]],["content/2060",[11,5.544,248,5.498,252,3.744,265,6.441,268,4.043,281,3.93,323,5.24,556,6.98,937,8.083,939,8.413,962,10.632,1105,7.74,2665,4.138,7267,6.75,7270,6.75,7318,8.974,7321,8.974,7729,12.574,7733,12.574,7739,8.001,8025,9.022,8027,9.022,8117,17.98]],["keywords/2060",[]],["title/2061",[55,399.326,7708,1389.29]],["content/2061",[]],["keywords/2061",[]],["title/2062",[2444,885.325]],["content/2062",[11,5.754,248,4.794,252,3.886,265,6.684,323,5.438,1267,15.544,2665,4.294,7318,9.313,7321,9.313,8117,18.421,8218,14.587,8248,22.949]],["keywords/2062",[]],["title/2063",[426,502.78]],["content/2063",[11,6.261,105,10.706,248,6.047,252,4.229,268,4.784,281,4.651,323,5.918,937,9.128,939,9.501,1273,19.444,2665,4.673,7267,7.987,7270,7.987,7729,14.2,7733,14.2,8218,11.245]],["keywords/2063",[]],["title/2064",[55,399.326,7707,1321.747]],["content/2064",[]],["keywords/2064",[]],["title/2065",[2444,885.325]],["content/2065",[11,5.544,248,4.62,252,3.744,254,3.361,323,5.24,554,4.526,558,5.486,962,12.652,1896,6.162,2665,4.138,7397,6.298,7739,11.834,8025,15.881,8027,15.881,8126,15.092,8249,17.034,8250,17.034,8251,22.399,8252,22.399,8253,17.034]],["keywords/2065",[]],["title/2066",[426,502.78]],["content/2066",[11,6.305,248,6.23,252,4.258,254,1.467,265,4.361,268,5.464,281,3.937,323,5.959,554,1.976,556,6.989,558,2.395,937,8.092,939,8.423,954,5.304,962,5.439,1105,3.96,1896,2.69,2665,4.706,5418,6.326,7267,6.761,7270,6.761,7318,6.077,7321,6.077,7323,4.739,7397,2.749,7707,7.721,7728,3.493,7739,3.493,7990,4.035,8017,4.454,8019,4.454,8025,3.938,8027,3.938,8126,7.721,8143,4.284,8145,4.284,8254,8.715,8255,8.715,8256,13.762,8257,13.762,8258,8.715,8259,8.715,8260,8.715,8261,8.715,8262,8.715,8263,8.715,8264,8.715,8265,8.715]],["keywords/2066",[]],["title/2067",[55,399.326,7710,1389.29]],["content/2067",[]],["keywords/2067",[]],["title/2068",[2444,885.325]],["content/2068",[11,5.603,248,4.669,252,3.784,265,5.621,323,5.295,402,13.859,1132,8.228,1143,12.243,1267,7.912,2665,4.181,7318,7.832,7321,7.832,7723,11.659,7730,15.678,8266,17.213,8267,17.213,8268,19.22,8269,19.22,8270,9.954,8271,9.954,8272,9.954,8273,9.954]],["keywords/2068",[]],["title/2069",[55,399.326,7709,1389.29]],["content/2069",[]],["keywords/2069",[]],["title/2070",[2444,885.325]],["content/2070",[11,5.754,248,4.794,252,3.886,265,6.684,323,5.438,1267,15.544,2665,4.294,7318,9.313,7321,9.313,8117,18.421,8221,14.587,8274,22.949]],["keywords/2070",[]],["title/2071",[426,502.78]],["content/2071",[11,6.261,105,10.706,248,6.047,252,4.229,268,4.784,281,4.651,323,5.918,937,9.128,939,9.501,1066,16.216,2665,4.673,7267,7.987,7270,7.987,7729,14.2,7733,14.2,8221,11.245]],["keywords/2071",[]],["title/2072",[55,399.326,1295,1321.747]],["content/2072",[]],["keywords/2072",[]],["title/2073",[2444,885.325]],["content/2073",[11,5.619,248,4.682,252,3.795,265,5.281,323,5.311,402,12.561,1143,11.096,1152,8.796,1267,9.461,1273,13.857,2665,4.194,7318,7.358,7321,7.358,7723,9.461,7730,14.209,8218,7.328,8268,16.68,8269,16.68,8270,11.902,8271,11.902,8272,11.902,8273,11.902,8275,13.967,8276,13.967,8277,13.967]],["keywords/2073",[]],["title/2074",[426,502.78]],["content/2074",[11,6.261,248,6.047,252,4.229,268,4.784,281,4.651,323,5.918,556,7.884,937,9.128,939,9.501,1273,19.444,2665,4.673,7267,7.987,7270,7.987,7729,14.2,7733,14.2,8218,11.245]],["keywords/2074",[]],["title/2075",[55,399.326,1275,1321.747]],["content/2075",[]],["keywords/2075",[]],["title/2076",[2444,885.325]],["content/2076",[11,4.894,248,4.078,252,3.305,265,5.686,323,4.626,402,15.08,1132,6.877,1143,13.321,1267,6.613,2665,3.653,7318,7.922,7321,7.922,7723,10.185,7730,17.059,8268,17.556,8269,17.556,8270,8.32,8271,8.32,8272,8.32,8273,8.32,8278,15.037,8279,15.037,8280,19.185,8281,9.093,8282,9.093]],["keywords/2076",[]],["title/2077",[55,399.326,1292,1321.747]],["content/2077",[]],["keywords/2077",[]],["title/2078",[2444,885.325]],["content/2078",[11,4.977,248,4.147,252,3.361,265,5.782,323,4.704,402,14.103,1066,10.236,1143,12.458,1152,7.605,1267,8.18,2665,3.714,7318,8.056,7321,8.056,7723,8.18,7730,15.953,8221,6.111,8268,15.031,8269,15.031,8270,10.291,8271,10.291,8272,10.291,8273,10.291,8280,16.426,8281,11.246,8282,11.246,8283,12.077,8284,12.077,8285,12.077]],["keywords/2078",[]],["title/2079",[426,502.78]],["content/2079",[11,6.261,248,6.047,252,4.229,268,4.784,281,4.651,323,5.918,556,7.884,937,9.128,939,9.501,1066,16.216,2665,4.673,7267,7.987,7270,7.987,7729,14.2,7733,14.2,8221,11.245]],["keywords/2079",[]],["title/2080",[55,399.326,7711,1321.747]],["content/2080",[55,5.635,89,8.179,95,10.392,140,9.302,252,3.413,254,4.531,426,4.168,880,8.22,1068,12.011,1479,10.515,1833,10.934,2443,7.733,4350,11.901,7178,9.448,7227,8.539,7711,18.653,8286,13.229,8287,15.524,8288,13.229]],["keywords/2080",[]],["title/2081",[55,399.326,7712,1321.747]],["content/2081",[]],["keywords/2081",[]],["title/2082",[2444,885.325]],["content/2082",[252,4.969,2665,5.491,7712,23.683]],["keywords/2082",[]],["title/2083",[55,399.326,7713,1321.747]],["content/2083",[19,4.917,48,5.027,55,3.923,89,4.975,95,6.322,98,8.708,106,7.658,121,8.652,135,3.86,140,5.659,176,6.213,222,4.855,248,3.975,249,4.383,252,2.076,254,5.907,290,3.506,351,6.177,375,3.137,383,5.659,426,2.535,611,10.05,880,7.76,1056,7.399,1068,8.361,1833,6.652,2443,7.3,2656,6.856,4350,7.24,7178,5.748,7227,5.195,7713,12.985,8286,8.048,8288,8.048,8289,8.795,8290,9.444,8291,9.444,8292,8.795]],["keywords/2083",[]],["title/2084",[55,399.326,8293,1491.833]],["content/2084",[]],["keywords/2084",[]],["title/2085",[257,782.587]],["content/2085",[251,12.325,252,4.313,254,7.158,375,6.518,1105,8.916,2665,4.766,8094,18.273,8294,19.621]],["keywords/2085",[]],["title/2086",[55,399.326,7715,1321.747]],["content/2086",[]],["keywords/2086",[]],["title/2087",[2444,885.325]],["content/2087",[252,4.969,2665,5.491,7715,23.683]],["keywords/2087",[]],["title/2088",[55,399.326,1136,1271.298]],["content/2088",[]],["keywords/2088",[]],["title/2089",[426,502.78]],["content/2089",[11,6.55,245,6.582,248,6.758,252,4.424,265,3.533,268,7.065,323,6.191,954,5.688,962,5.833,1105,9.145,2665,4.889,7323,7.905,7728,10.099,7739,10.099,7994,11.668,8295,9.345,8296,9.345,8297,24.916,8298,9.345,8299,9.345,8300,9.345,8301,9.345,8302,9.345,8303,9.345]],["keywords/2089",[]],["title/2090",[8304,1872.876]],["content/2090",[]],["keywords/2090",[]],["title/2091",[55,501.321]],["content/2091",[4,3.903,10,3.011,12,6.035,19,3.65,68,5.677,106,4.159,130,3.923,149,6.689,151,4.099,190,5.247,195,5.889,247,4.719,268,3.424,296,4.646,351,6.333,497,6.529,542,5.677,548,7.641,723,4.817,779,5.565,859,5.639,927,7.08,960,5.063,973,7.331,1002,8.049,1022,8.049,1033,7.2,1040,6.2,1602,7.08,1927,5.936,2056,7.829,2943,7.829,3002,7.641,3245,7.829,3376,7.641,3584,12.132,3610,6.2,3947,6.776,8305,8.642,8306,9.083,8307,8.312,8308,7.829,8309,9.754,8310,9.083,8311,9.083,8312,9.083,8313,9.083,8314,9.754,8315,9.083,8316,9.083,8317,9.754,8318,9.754]],["keywords/2091",[]],["title/2092",[638,885.325]],["content/2092",[8319,20.548,8320,20.548,8321,18.616]],["keywords/2092",[]],["title/2093",[72,925.008]],["content/2093",[4,2.655,10,3.405,19,3.439,28,7.233,31,4.898,32,4.217,72,5.448,104,3.946,106,4.704,125,3.236,130,2.669,138,4.369,151,2.788,167,3.379,173,3.608,190,3.569,204,3.714,247,5.338,268,2.329,270,2.908,271,3.836,273,3.411,276,6.176,285,9.836,290,2.463,296,3.16,300,6.885,349,4.217,375,3.665,426,2.961,452,4.038,477,4.494,512,3.917,513,7.302,521,4.345,595,9.478,660,4.441,686,4.987,723,3.277,776,6.377,778,5.472,786,5.326,846,5.326,859,6.377,927,8.008,1024,4.345,1046,4.071,1258,5.654,1486,4.987,1512,4.816,1529,5.326,2563,4.55,2891,5.086,2929,4.898,3245,8.855,3376,8.642,3610,7.012,4293,5.475,8322,5.086,8323,5.654,8324,4.55,8325,6.635,8326,6.179,8327,6.179,8328,4.898,8329,5.198,8330,6.179,8331,6.179,8332,6.635,8333,6.635,8334,5.878]],["keywords/2093",[]],["title/2094",[261,1007.47]],["content/2094",[12,8.981,19,4.884,27,4.347,28,7.942,52,5.838,139,5.236,141,6.76,244,7.023,307,6.76,612,6.171,704,10.373,866,12.236,1033,10.714,2261,13.458,2291,11.977,5181,9.059,8335,14.514,8336,14.514,8337,13.517,8338,11.977,8339,13.517,8340,12.859]],["keywords/2094",[]],["title/2095",[2774,1082.694]],["content/2095",[8341,22.174,8342,22.174]],["keywords/2095",[]],["title/2096",[638,705.202,8319,1321.747]],["content/2096",[]],["keywords/2096",[]],["title/2097",[2444,885.325]],["content/2097",[11,5.235,248,4.362,252,3.536,265,6.082,323,4.948,554,6.321,874,12.301,1896,8.606,2665,3.907,2930,13.705,7318,8.473,7321,8.473,7397,8.796,8343,21.562,8344,19.104,8345,14.979]],["keywords/2097",[]],["title/2098",[312,664.279]],["content/2098",[252,5.446,265,6.309,554,6.558,874,12.606,949,14.044,2665,6.018,2930,14.045,8308,13.393,8344,19.577]],["keywords/2098",[]],["title/2099",[257,782.587]],["content/2099",[252,4.618,254,7.466,265,7.943,2665,5.103,8346,25.581]],["keywords/2099",[]],["title/2100",[426,502.78]],["content/2100",[11,6.117,248,6.474,252,4.131,268,6.597,323,5.782,554,7.387,2665,4.566,7226,10.056,8347,23.87,8348,17.503]],["keywords/2100",[]],["title/2101",[55,399.326,8305,1321.747]],["content/2101",[]],["keywords/2101",[]],["title/2102",[312,664.279]],["content/2102",[252,5.748,265,5.488,508,10.701,874,11.47,949,8.228,2665,6.352,2930,12.779,3584,13.308,5418,14.594,8308,11.65,8349,20.105,8350,14.514]],["keywords/2102",[]],["title/2103",[426,502.78]],["content/2103",[11,6.008,248,6.155,252,4.747,265,4.862,268,5.659,270,5.636,281,5.502,323,5.679,508,6.845,554,3.146,874,7.337,1105,3.637,1914,7.434,2665,5.246,2930,8.174,3584,8.513,7226,4.283,7318,4.217,7321,4.217,7323,4.353,7648,10.323,7990,10.323,8305,7.091,8308,10.323,8351,8.004,8352,8.004,8353,12.86,8354,8.004,8355,8.004,8356,8.004,8357,11.394,8358,11.394,8359,6.821,8360,12.86,8361,8.004,8362,8.004]],["keywords/2103",[]],["title/2104",[55,399.326,8307,1271.298]],["content/2104",[]],["keywords/2104",[]],["title/2105",[2444,885.325]],["content/2105",[242,12.293,2665,5.491,8307,22.779]],["keywords/2105",[]],["title/2106",[312,664.279]],["content/2106",[135,7.371,151,7.579,190,13.839,252,3.964,296,8.59,380,10.889,483,8.281,1002,14.882,1105,8.195,2665,4.381,8307,15.369,8363,18.035]],["keywords/2106",[]],["title/2107",[55,399.326,8306,1389.29]],["content/2107",[]],["keywords/2107",[]],["title/2108",[2444,885.325]],["content/2108",[11,4.966,138,8.24,248,4.138,252,3.354,323,4.694,788,14.456,2665,3.707,3676,15.105,7323,8.298,8338,17.17,8364,15.259,8365,20.808,8366,15.259,8367,15.259,8368,15.259,8369,15.259,8370,15.259,8371,15.259]],["keywords/2108",[]],["title/2109",[257,782.587]],["content/2109",[106,10.754,242,11.162,254,7.36,270,8.996,554,8.067,2665,4.986]],["keywords/2109",[]],["title/2110",[426,502.78]],["content/2110",[242,13.174,248,5.218,265,5.153,268,6.753,270,10.617,281,6.566,779,7.775,2665,5.884,7323,7.411,7785,9.123,8372,17.044,8373,17.044,8374,17.044,8375,17.044]],["keywords/2110",[]],["title/2111",[55,399.326,3002,1168.755]],["content/2111",[]],["keywords/2111",[]],["title/2112",[2444,885.325]],["content/2112",[11,3.654,28,6.602,90,7.757,248,3.045,252,2.468,254,4.878,265,4.245,323,3.454,385,10.833,569,7.962,1602,16.059,2665,2.727,3676,12.134,3947,15.369,7318,5.914,7321,5.914,7570,16.029,8334,14.809,8376,16.715,8377,15.566,8378,16.715,8379,11.227,8380,10.455,8381,11.227,8382,10.455,8383,10.455]],["keywords/2112",[]],["title/2113",[312,664.279]],["content/2113",[54,4.365,139,2.43,252,4.85,254,6.682,265,8.343,483,5.129,508,3.585,723,3.326,779,6.372,788,7.76,859,6.457,949,3.818,1139,6.292,1220,4.41,1224,4.167,1242,9.896,1754,3.341,2601,15.07,2665,5.36,2735,11.487,2798,4.281,3019,7.239,3042,5.406,3089,4.167,3227,8.108,3584,12.222,4682,11.808,8338,11.808,8384,11.169,8385,11.169,8386,11.169,8387,11.169,8388,11.169,8389,11.169,8390,11.169,8391,11.169]],["keywords/2113",[]],["title/2114",[426,502.78]],["content/2114",[11,5.323,19,0.883,50,1.669,77,2.023,139,3.933,163,2.115,225,1.766,248,5.491,252,4.162,254,1.061,265,6.183,268,4.416,271,2.101,281,4.784,290,1.349,323,5.031,331,2.195,410,3.025,469,4.083,508,1.935,513,2.406,533,2.462,554,3.506,558,1.731,778,1.803,788,2.525,810,3.22,812,2.31,859,12.031,1139,2.047,1152,2.289,1220,2.38,1221,3.482,1316,3.558,1371,2.786,1479,2.462,1529,2.917,1896,1.945,1927,2.212,1976,4.545,2331,3.097,2502,2.917,2665,4.599,2930,9.701,3042,5.251,4083,5.015,6340,2.406,7226,3.5,7245,2.683,7318,8.615,7321,8.615,7397,1.988,7785,10.217,8319,7.904,8328,4.829,8329,2.847,8344,5.796,8348,6.092,8392,6.542,8393,3.635,8394,6.542,8395,9.66,8396,10.903,8397,10.903,8398,10.903,8399,3.097,8400,2.847,8401,5.796,8402,6.542,8403,6.542,8404,6.542,8405,6.542]],["keywords/2114",[]],["title/2115",[55,399.326,2943,1197.481]],["content/2115",[]],["keywords/2115",[]],["title/2116",[2444,885.325]],["content/2116",[11,6.386,248,5.322,252,4.313,323,6.036,2665,4.766,3676,17.804,7323,10.671,8406,19.621,8407,19.621]],["keywords/2116",[]],["title/2117",[312,664.279]],["content/2117",[252,4.512,254,5.99,265,7.76,723,10.137,2601,14.669,2665,4.986,8408,25.219]],["keywords/2117",[]],["title/2118",[257,782.587]],["content/2118",[106,10.754,242,11.162,254,7.36,554,8.067,966,14.899,2665,4.986]],["keywords/2118",[]],["title/2119",[426,502.78]],["content/2119",[11,3.175,139,5.421,242,11.198,248,4.971,252,3.303,265,6.93,268,5.274,281,7.027,323,3,779,5.565,966,14.947,1976,10.439,2665,5.706,2930,9.55,7260,11.772,7318,7.916,7321,7.916,7323,5.305,7785,10.059,8372,13.313,8373,13.313,8374,13.313,8375,13.313,8409,15.026]],["keywords/2119",[]],["title/2120",[55,399.326,8308,1197.481]],["content/2120",[]],["keywords/2120",[]],["title/2121",[312,664.279]],["content/2121",[252,4.729,779,12.274,949,12.196,1221,13.814,2665,5.226]],["keywords/2121",[]],["title/2122",[426,502.78]],["content/2122",[11,4.504,248,5.274,252,4.275,268,4.858,281,6.637,323,4.257,1105,6.288,1676,14.617,1914,11.242,2665,5.462,4195,14.908,7323,7.526,8038,16.572,8085,12.888,8087,12.888,8308,11.108,8345,12.888,8377,18.111,8382,12.888]],["keywords/2122",[]],["title/2123",[261,802.497,866,907.938]],["content/2123",[]],["keywords/2123",[]],["title/2124",[312,664.279]],["content/2124",[24,6.539,27,6.882,28,6.996,244,11.117,254,6.706,283,9.514,307,8.249,352,8.815,483,5.576,667,7.221,670,7.719,723,5.998,825,5.289,2665,5.581,8340,10.759,8410,17.71,8411,17.71,8412,17.71]],["keywords/2124",[]],["title/2125",[55,399.326,8310,1389.29]],["content/2125",[]],["keywords/2125",[]],["title/2126",[426,502.78]],["content/2126",[11,5.66,248,5.588,252,3.822,265,6.575,268,4.157,281,4.042,323,5.349,556,7.126,779,5.572,874,12.953,954,4.401,962,4.513,1105,7.902,1976,15.773,2665,4.224,2840,15.773,5418,5.249,7318,9.161,7321,9.161,7728,2.824,7739,2.824,7766,3.185,7785,12.279,7990,3.263,8017,3.602,8019,3.602,8025,3.185,8027,3.185,8052,6.734,8143,3.464,8145,3.464,8413,7.231,8414,7.231,8415,7.231,8416,7.231,8417,7.231,8418,7.231,8419,7.231]],["keywords/2126",[]],["title/2127",[261,802.497,5181,931.126]],["content/2127",[]],["keywords/2127",[]],["title/2128",[312,664.279]],["content/2128",[9,8.557,24,4.35,27,5.566,28,10.053,106,6.517,141,7.118,150,7.144,152,7.498,254,6.916,307,8.655,352,7.239,483,4.579,505,5.423,667,5.93,723,4.925,975,6.53,1040,9.714,1117,6.838,1216,3.871,1263,7.812,1655,11.487,1754,4.946,2665,5.757]],["keywords/2128",[]],["title/2129",[55,399.326,1602,1082.951]],["content/2129",[]],["keywords/2129",[]],["title/2130",[312,664.279]],["content/2130",[7,2.575,19,2.176,23,1.846,24,0.802,27,2.161,28,5.138,31,2.081,38,3.212,62,1.175,68,3.021,77,1.569,90,2.409,106,1.202,113,1.417,130,2.088,138,5.151,139,5.417,141,1.313,152,1.015,153,6.02,167,1.436,179,4.228,192,2.498,225,1.37,226,1.986,244,5.071,245,6.31,246,4.724,252,4.324,255,1.318,265,5.678,290,1.047,294,3.832,306,1.508,307,2.418,320,2.119,330,4.599,352,2.046,375,1.724,378,2.161,380,1.702,381,4.675,391,1.809,404,1.91,423,2.046,444,1.533,483,1.294,487,2.081,497,1.887,521,1.846,527,8.517,530,1.508,542,3.021,554,1.108,556,3.672,569,1.343,606,1.73,660,1.887,673,5.998,776,1.63,778,3.578,788,6.224,859,5.179,874,5.98,910,2.209,911,3.768,915,2.326,960,1.463,971,1.866,978,1.702,1006,2.161,1018,1.933,1117,1.933,1135,2.119,1139,4.064,1141,2.209,1143,5.942,1152,5.642,1154,3.134,1191,1.866,1208,3.979,1224,1.744,1345,2.402,1434,2.046,1629,2.402,1914,1.63,1948,2.498,2106,2.161,2166,2.625,2286,3.902,2291,2.326,2374,2.326,2665,4.778,2854,2.402,3002,2.209,3042,2.263,3099,1.792,3210,4.834,3563,2.161,3565,4.599,3584,1.866,3610,1.792,3967,2.402,4682,12.391,6034,4.599,6131,2.402,8420,5.191,8421,5.191,8422,6.718,8423,5.191,8424,2.819,8425,2.819,8426,2.819,8427,5.191,8428,5.191,8429,5.191,8430,5.191,8431,5.191,8432,5.191,8433,5.191,8434,5.191,8435,2.819,8436,2.819,8437,2.819,8438,2.819,8439,5.191,8440,5.191]],["keywords/2130",[]],["title/2131",[55,399.326,8311,1389.29]],["content/2131",[]],["keywords/2131",[]],["title/2132",[426,502.78]],["content/2132",[11,6.011,248,5.487,252,4.06,268,2.812,281,5.505,323,5.681,564,18.493,779,10.537,859,13.646,1105,8.392,1316,6.998,2665,4.486,6340,12.225,7766,10.082,7769,10.619,8322,14.158,8328,9.499,8329,6.276,8399,6.826,8400,6.276,8441,8.01,8442,8.01,8443,15.24,8444,12.868,8445,12.868,8446,8.01,8447,8.01]],["keywords/2132",[]],["title/2133",[261,802.497,8337,1389.29]],["content/2133",[]],["keywords/2133",[]],["title/2134",[312,664.279]],["content/2134",[7,5.639,32,10.724,49,11.571,139,4.102,174,6.194,254,6.94,307,7.859,389,6.812,483,5.22,530,6.084,667,6.761,670,7.227,723,5.615,778,8.369,859,6.573,1046,6.976,1370,14.378,1602,8.254,2261,7.611,2665,5.776,3563,15.423,8448,16.873,8449,16.873,8450,15.713]],["keywords/2134",[]],["title/2135",[72,736.812,8323,1271.298]],["content/2135",[]],["keywords/2135",[]],["title/2136",[426,502.78]],["content/2136",[11,4.648,28,9.033,32,9.078,139,8.25,244,6.91,247,6.91,248,3.873,281,4.874,290,5.302,323,4.393,402,9.165,778,9.861,859,8.256,915,11.785,2665,3.469,3610,9.078,6340,13.16,7769,11.785,8443,11.785,8451,19.881]],["keywords/2136",[]],["title/2137",[72,736.812,8326,1389.29]],["content/2137",[]],["keywords/2137",[]],["title/2138",[257,782.587]],["content/2138",[254,7.466,255,9.82,300,15.966,375,6.979,2665,5.103]],["keywords/2138",[]],["title/2139",[72,736.812,8322,1143.63]],["content/2139",[]],["keywords/2139",[]],["title/2140",[257,782.587]],["content/2140",[9,13.364,254,8.054,285,16.583,2665,5.798,5181,11.731,8324,12.889]],["keywords/2140",[]],["title/2141",[426,502.78]],["content/2141",[11,4.957,28,2.311,113,2.94,138,6.031,139,5.494,149,6.807,248,4.625,265,7.857,268,2.054,281,5.82,307,4.623,308,4.013,323,4.685,402,3.755,776,7.473,859,11.419,1316,5.399,1976,14.437,2109,4.182,2415,4.584,2665,4.501,2930,13.209,2943,7.968,3002,4.584,3581,9.244,7318,10.948,7321,10.948,7785,10.195,8328,7.327,8329,4.584,8395,13.494,8399,4.986,8400,4.584,8401,8.795,8452,9.244]],["keywords/2141",[]],["title/2142",[72,736.812,8327,1389.29]],["content/2142",[]],["keywords/2142",[]],["title/2143",[257,782.587]],["content/2143",[254,7.466,265,7.943,349,16.259,375,6.979,2665,5.103]],["keywords/2143",[]],["title/2144",[72,736.812,8324,1023.031]],["content/2144",[]],["keywords/2144",[]],["title/2145",[426,502.78]],["content/2145",[28,8.838,106,9.54,167,8.661,174,6.242,190,9.147,247,8.227,248,4.612,268,5.969,290,8.306,2665,4.13,8324,11.66,8453,20.835,8454,12.343]],["keywords/2145",[]],["title/2146",[72,736.812,8328,1101.212]],["content/2146",[]],["keywords/2146",[]],["title/2147",[426,502.78]],["content/2147",[281,8.607,2665,6.126,8455,23.486,8456,23.486]],["keywords/2147",[]],["title/2148",[55,399.326,8312,1389.29]],["content/2148",[]],["keywords/2148",[]],["title/2149",[426,502.78]],["content/2149",[11,5.431,248,4.525,252,3.668,281,5.695,323,5.133,554,6.558,1105,7.582,1316,12.017,1896,8.928,2665,4.053,3245,17.736,7397,9.125,8328,12.317,8457,16.686,8458,16.686,8459,16.686]],["keywords/2149",[]],["title/2150",[72,736.812,8329,1168.755]],["content/2150",[10,5.801,72,11.789,151,7.898,252,4.131,268,6.597,859,10.865,3245,15.086,3376,14.724,7227,10.338,8329,18.7]],["keywords/2150",[]],["title/2151",[72,736.812,8331,1389.29]],["content/2151",[]],["keywords/2151",[]],["title/2152",[426,502.78]],["content/2152",[11,4.504,68,8.055,98,5.954,138,5.48,139,4.992,173,7.526,204,4.659,248,3.753,265,5.233,281,4.723,323,4.257,379,8.055,479,10.842,776,8,859,12.998,1046,8.491,2665,3.362,2930,12.361,3227,16.322,7318,7.291,7321,7.291,7785,9.264,8460,19.447]],["keywords/2152",[]],["title/2153",[72,736.812,8334,1321.747]],["content/2153",[]],["keywords/2153",[]],["title/2154",[257,782.587]],["content/2154",[254,7.575,877,10.55,1353,12.99,2665,5.226]],["keywords/2154",[]],["title/2155",[72,736.812,8330,1389.29]],["content/2155",[]],["keywords/2155",[]],["title/2156",[426,502.78]],["content/2156",[11,5.292,62,4.508,138,4.284,139,3.903,174,5.968,248,5.297,268,3.798,281,7.412,285,15.088,290,6.035,323,5.001,778,5.366,825,7.081,1331,12.001,1464,7.516,2665,5.655,2943,8.684,8322,8.293,8443,8.927,8454,11.802,8461,13.415,8462,13.415,8463,13.854,8464,13.854]],["keywords/2156",[]],["title/2157",[72,736.812,4293,1231.016]],["content/2157",[]],["keywords/2157",[]],["title/2158",[426,502.78]],["content/2158",[7,2.311,11,4.25,19,1.981,24,2.322,27,1.396,28,1.841,37,2.125,50,3.745,62,3.399,103,5.399,138,3.23,139,1.681,141,2.17,145,5.399,174,1.711,244,2.255,247,5.264,248,4.428,251,2.342,265,3.084,268,3.819,276,4.567,281,4.456,285,15.13,306,2.493,323,4.017,370,3.33,375,1.548,444,4.436,469,2.908,483,2.139,487,3.44,530,2.493,533,3.156,549,2.609,554,1.831,558,2.219,636,2.883,776,4.715,778,2.311,779,4.654,812,2.962,825,4.738,859,13.491,874,10.032,941,2.352,955,2.48,1139,4.595,1220,3.051,1529,3.74,1867,5.342,2665,3.966,2930,10.377,3610,2.962,6113,3.845,7226,2.493,7318,2.455,7321,2.455,7323,2.534,7766,3.651,7785,3.119,8324,5.594,8454,7.897,8461,6.731,8462,6.731,8465,9.638,8466,7.227,8467,4.66,8468,4.66,8469,4.128,8470,4.66,8471,7.227]],["keywords/2158",[]],["title/2159",[55,399.326,8313,1389.29]],["content/2159",[]],["keywords/2159",[]],["title/2160",[426,502.78]],["content/2160",[252,5.391,281,8.37,2665,5.958,8455,22.84,8456,22.84]],["keywords/2160",[]],["title/2161",[261,802.497,8338,1231.016]],["content/2161",[]],["keywords/2161",[]],["title/2162",[312,664.279]],["content/2162",[19,2.73,28,2.681,125,3.31,129,7.44,139,4.055,145,4.492,167,3.457,178,4.444,244,8.094,246,4.444,247,8.094,254,6.175,264,4.444,483,3.116,508,5.982,513,7.44,537,4.654,594,4.78,667,4.036,670,4.313,723,3.352,788,13.882,812,4.313,859,12.796,866,6.841,911,8.159,1123,4.715,1129,5.101,1216,2.634,1340,5.783,1648,5.783,1962,5.6,2481,5.783,2665,5.14,3227,12.144,3245,5.447,3376,13.106,4682,16.489,5204,9.022,8422,6.32,8472,6.786,8473,6.32,8474,11.24,8475,11.24,8476,6.786]],["keywords/2162",[]],["title/2163",[55,399.326,3947,1036.419]],["content/2163",[]],["keywords/2163",[]],["title/2164",[2444,885.325]],["content/2164",[11,6.117,248,5.097,252,4.131,254,5.485,323,5.782,1216,7.296,2665,4.566,7323,10.221,8477,18.795,8478,18.795,8479,23.87]],["keywords/2164",[]],["title/2165",[312,664.279]],["content/2165",[252,5.497,432,18.462,874,12.764,949,12.683,954,10.349,2665,6.074,3584,16.552,8320,15.065]],["keywords/2165",[]],["title/2166",[426,502.78]],["content/2166",[11,7.373,248,6.144,252,4.98,265,1.956,281,7.731,323,6.969,2665,5.503,2930,16.736,7318,2.725,7321,2.725,7323,11.985,8338,7.371,8480,5.173,8481,5.173,8482,8.319,8483,5.173,8484,5.173,8485,5.173,8486,5.173,8487,5.173,8488,5.173,8489,5.173,8490,5.173,8491,5.173,8492,5.173,8493,5.173,8494,5.173,8495,5.173,8496,5.173,8497,5.173,8498,5.173,8499,5.173,8500,5.173,8501,5.173,8502,5.173,8503,8.933,8504,5.173]],["keywords/2166",[]],["title/2167",[638,705.202,8320,1321.747]],["content/2167",[]],["keywords/2167",[]],["title/2168",[312,664.279]],["content/2168",[28,8.009,31,8.822,32,7.597,38,3.259,138,2.086,139,6.315,174,2.684,244,9.072,252,5.013,265,8.51,300,5.663,412,2.441,505,1.558,513,6.006,542,13.1,554,1.126,778,7.944,779,9.582,788,8.303,859,8.212,911,6.586,1331,3.888,2400,9.541,2665,5.539,3227,8.676,8473,2.668,8482,4.905,8505,4.905,8506,2.864,8507,5.267,8508,5.267,8509,5.267,8510,2.864,8511,5.267,8512,5.267,8513,5.267,8514,5.267,8515,9.073,8516,5.267,8517,5.267,8518,5.267,8519,5.267,8520,5.267,8521,5.267,8522,5.267,8523,5.267,8524,5.267,8525,5.267,8526,5.267,8527,5.267,8528,5.267,8529,5.267,8530,5.267]],["keywords/2168",[]],["title/2169",[257,782.587]],["content/2169",[28,8.04,31,10.908,32,9.392,139,7.343,244,9.849,252,4.474,254,7.323,265,7.696,542,11.848,778,7.329,779,8.43,859,8.542,2400,10.727,2665,4.945,3227,10.727,8531,14.777,8532,14.777,8533,14.777,8534,14.777]],["keywords/2169",[]],["title/2170",[55,399.326,3610,948.221]],["content/2170",[]],["keywords/2170",[]],["title/2171",[2444,885.325]],["content/2171",[11,3.797,248,3.164,252,2.565,254,5.961,265,4.411,323,3.589,385,11.147,569,9.729,776,9.942,1602,16.363,2665,2.834,3676,12.484,3947,15.66,7318,6.146,7321,6.146,7570,16.395,8323,14.656,8380,10.865,8383,10.865,8535,17.198,8536,17.198,8537,10.337,8538,10.865]],["keywords/2171",[]],["title/2172",[257,782.587]],["content/2172",[252,4.618,254,7.466,2665,5.103,8321,22.14]],["keywords/2172",[]],["title/2173",[426,502.78]],["content/2173",[11,5.061,62,4.25,138,4.039,139,3.68,174,5.708,248,5.111,252,4.988,268,3.58,281,7.193,285,14.642,290,5.772,323,4.783,778,5.059,825,6.773,1331,11.478,1464,7.086,2665,5.512,2943,8.187,8322,7.819,8443,8.417,8454,11.288,8461,12.831,8462,12.831,8463,13.251,8464,13.251]],["keywords/2173",[]],["title/2174",[2774,862.416,8539,1491.833]],["content/2174",[252,4.313,1079,10.792,1914,11.343,2774,14.178,4195,15.042,7227,10.792,8315,18.273,8341,18.273,8540,19.621]],["keywords/2174",[]],["title/2175",[2774,862.416,8541,1491.833]],["content/2175",[252,4.512,1079,11.289,1914,11.865,2774,14.579,7227,11.289,8342,19.113,8542,20.524]],["keywords/2175",[]],["title/2176",[638,705.202,8321,1197.481]],["content/2176",[]],["keywords/2176",[]],["title/2177",[2444,885.325]],["content/2177",[11,5.235,106,9.195,248,4.362,252,3.536,265,8.153,323,4.948,2665,3.907,7318,11.359,7321,11.359,7323,8.747,8543,16.084,8544,16.084,8545,20.08,8546,20.08]],["keywords/2177",[]],["title/2178",[312,664.279]],["content/2178",[106,9.422,252,5.446,265,9.367,949,14.044,2665,6.018,8545,20.577,8546,20.577]],["keywords/2178",[]],["title/2179",[426,502.78]],["content/2179",[248,5.441,252,4.41,255,9.379,268,7.043,270,8.793,2665,4.874,3240,18.691,7174,12.31]],["keywords/2179",[]],["title/2180",[261,802.497,8339,1389.29]],["content/2180",[]],["keywords/2180",[]],["title/2181",[312,664.279]],["content/2181",[27,5.644,28,8.325,48,5.429,49,10.663,69,5.643,81,6.483,139,3.68,153,5.195,174,3.744,180,5.269,254,6.622,283,7.991,290,3.786,294,7.529,307,4.751,352,7.404,483,4.683,530,5.458,537,6.995,556,4.18,667,6.066,670,6.483,673,6.828,723,5.038,825,4.443,1046,9.541,1152,6.423,2261,6.828,2665,5.512,3563,11.92,8547,14.481,8548,15.549,8549,14.481]],["keywords/2181",[]],["title/2182",[55,399.326,8550,1491.833]],["content/2182",[]],["keywords/2182",[]],["title/2183",[2444,885.325]],["content/2183",[11,3.802,62,4.867,100,4.26,106,8.108,236,4.083,248,3.168,252,2.568,254,3.409,265,7.19,323,3.593,385,11.157,512,4.198,527,7.65,542,6.799,569,5.564,874,12.321,1041,4.438,1139,8.375,1152,7.356,1914,9.951,2163,16.03,2665,2.838,4195,8.955,7318,10.017,7321,10.017,7570,16.407,7960,14.669,7961,14.669,8551,11.681,8552,7.111,8553,11.681,8554,7.111]],["keywords/2183",[]],["title/2184",[257,782.587]],["content/2184",[252,4.618,254,7.466,2665,5.103,3947,17.772,8321,16.863]],["keywords/2184",[]],["title/2185",[426,502.78]],["content/2185",[11,5.39,62,4.62,106,4.728,141,5.164,248,5.376,252,4.357,265,4.192,268,3.892,281,5.652,290,4.116,323,5.094,375,3.683,590,10.247,874,9.447,937,5.261,1079,6.098,1139,9.329,1152,6.982,1914,6.409,2665,4.815,7222,10.336,7318,5.841,7321,5.841,7323,6.03,7958,9.823,7959,9.823,7960,14.112,7961,14.112,8555,16.56]],["keywords/2185",[]],["title/2186",[55,399.326,8316,1389.29]],["content/2186",[]],["keywords/2186",[]],["title/2187",[2444,885.325]],["content/2187",[11,4.966,248,4.138,252,3.354,323,4.694,2665,3.707,3676,15.105,7323,8.298,8556,15.259,8557,20.808,8558,20.808,8559,20.808,8560,15.259,8561,20.808,8562,20.808,8563,15.259,8564,15.259,8565,15.259]],["keywords/2187",[]],["title/2188",[257,782.587]],["content/2188",[106,10.754,242,11.162,254,7.36,270,8.996,554,8.067,2665,4.986]],["keywords/2188",[]],["title/2189",[426,502.78]],["content/2189",[242,12.826,248,5.002,265,4.856,268,6.474,270,10.337,281,7.364,779,7.327,2665,6.067,7323,6.984,7785,8.597,8038,15.716,8372,16.34,8373,16.34,8374,16.34,8375,16.34]],["keywords/2189",[]],["title/2190",[55,399.326,3584,987.514]],["content/2190",[]],["keywords/2190",[]],["title/2191",[2444,885.325]],["content/2191",[11,5.991,248,4.992,252,4.046,323,5.662,438,14.111,960,13.483,2665,4.471,3584,12.184,7323,10.011,8566,18.407,8567,18.407]],["keywords/2191",[]],["title/2192",[257,782.587]],["content/2192",[19,4.381,141,8.4,252,3.964,254,6.785,265,6.819,351,7.601,542,10.497,960,13.354,2665,4.381,3584,11.938,6464,14.882]],["keywords/2192",[]],["title/2193",[426,502.78]],["content/2193",[11,4.355,62,2.555,104,3.647,245,4.32,248,5.478,252,3.451,254,3.015,268,6.15,323,4.116,351,2.585,396,7.735,417,4.383,469,11.853,483,6.144,487,4.527,491,7.382,530,7.159,556,9.35,590,3.795,591,4.805,723,6.608,812,3.898,962,9.798,1022,12.954,1046,6.338,1384,5.061,2273,5.061,2665,3.814,3584,16.795,7739,13.193,7994,4.923,8025,4.805,8027,4.805,8568,6.133,8569,6.133,8570,6.133,8571,6.133,8572,6.133,8573,6.133,8574,6.133]],["keywords/2193",[]],["title/2194",[8575,1872.876]],["content/2194",[]],["keywords/2194",[]],["title/2195",[55,501.321]],["content/2195",[782,16.936,920,14.669,8576,19.113,8577,19.113,8578,19.113,8579,19.113,8580,19.113,8581,19.113]],["keywords/2195",[]],["title/2196",[261,1007.47]],["content/2196",[8582,21.675]],["keywords/2196",[]],["title/2197",[55,399.326,927,1082.951]],["content/2197",[]],["keywords/2197",[]],["title/2198",[257,782.587]],["content/2198",[106,7.115,174,6.125,244,8.073,252,3.668,254,6.449,265,6.309,510,10.606,776,12.774,778,8.276,859,9.646,966,12.113,1139,9.4,1152,10.508,2665,4.053,3676,16.04]],["keywords/2198",[]],["title/2199",[426,502.78]],["content/2199",[11,4.408,19,4.088,24,3.855,27,4.056,28,3.373,106,8.167,248,5.664,252,4.21,254,4.912,268,6.723,300,8.453,323,2.627,349,8.608,569,4.068,776,7.829,966,13.904,1046,5.24,2665,4.653,4152,7.953,4293,11.175,5418,6.199,7174,5.24,8324,9.287,8454,9.831,8537,11.999,8583,12.612,8584,12.612,8585,12.612,8586,12.612,8587,7.566,8588,7.566,8589,7.566]],["keywords/2199",[]],["title/2200",[55,399.326,8590,1491.833]],["content/2200",[]],["keywords/2200",[]],["title/2201",[2444,885.325]],["content/2201",[11,5.941,248,4.951,252,4.012,323,5.615,385,15.185,1132,16.502,2665,4.434,2891,13.993,7305,16.999,7307,11.79,7323,9.927,7570,18.806,8591,18.254,8592,18.254,8593,18.254]],["keywords/2201",[]],["title/2202",[312,664.279]],["content/2202",[252,4.729,949,12.196,2665,5.226,3584,18.448]],["keywords/2202",[]],["title/2203",[257,782.587]],["content/2203",[113,4.696,163,5.439,251,8.964,252,5.297,254,8.098,265,5.496,542,5.439,554,3.673,569,4.451,874,5.331,941,9.004,954,8.847,1041,5.833,1079,7.995,1154,8.777,1220,9.519,2273,7.711,2665,5.853,4136,12.879,7308,8.703,7309,8.703,8594,9.345,8595,9.345,8596,14.536]],["keywords/2203",[]],["title/2204",[426,502.78]],["content/2204",[11,5.238,19,2.118,105,1.967,152,4.441,163,2.057,167,3.249,245,2.489,248,5.579,251,1.776,252,4.259,254,1.031,268,4.832,281,4.698,306,1.891,323,4.951,358,4.222,380,7.449,381,4.134,411,4.381,469,6.662,479,2.769,483,1.623,508,1.881,534,2.769,554,3.426,558,4.152,559,4.823,874,3.639,941,9.042,954,2.151,1010,2.455,1041,14.651,1079,8.853,1220,13.813,1276,3.131,1335,2.565,2665,4.706,2754,5.435,3099,5.541,7222,6.662,7226,4.664,7728,8.57,7994,2.837,8597,3.534,8598,3.534,8599,6.378,8600,3.534,8601,6.378,8602,3.534,8603,3.534,8604,6.378,8605,6.378,8606,6.378,8607,3.534,8608,3.534,8609,3.534,8610,3.534,8611,6.378,8612,6.378,8613,6.378,8614,6.378,8615,3.534]],["keywords/2204",[]],["title/2205",[55,399.326,8577,1389.29]],["content/2205",[]],["keywords/2205",[]],["title/2206",[426,502.78]],["content/2206",[252,5.247,281,8.146,1105,10.847,2665,5.798,8505,22.229,8616,23.87]],["keywords/2206",[]],["title/2207",[55,399.326,8576,1389.29]],["content/2207",[]],["keywords/2207",[]],["title/2208",[2444,885.325]],["content/2208",[11,6.386,248,5.322,252,4.313,285,17.039,323,6.036,2665,4.766,8617,24.526,8618,19.621]],["keywords/2208",[]],["title/2209",[312,664.279]],["content/2209",[252,4.846,285,15.316,2665,5.355,7210,23.333]],["keywords/2209",[]],["title/2210",[426,502.78]],["content/2210",[11,3.848,248,6.554,252,4.524,255,5.526,265,4.47,268,7.963,270,9.021,323,3.637,554,4.646,2665,5.51,3240,13.052,7174,7.254,7226,6.325,7323,6.429,7648,13.939,8324,8.107,8357,15.386,8358,15.386,8359,10.074,8454,8.582,8619,16.172]],["keywords/2210",[]],["title/2211",[55,399.326,8578,1389.29]],["content/2211",[]],["keywords/2211",[]],["title/2212",[2444,885.325]],["content/2212",[11,5.754,248,4.794,252,3.886,298,10.393,323,5.438,349,14.586,2665,4.294,5418,12.832,7174,10.847,8143,15.064,8145,15.064,8620,22.949]],["keywords/2212",[]],["title/2213",[426,502.78]],["content/2213",[248,5.567,252,4.512,268,7.205,2665,4.986,8324,14.075,8453,23.486,8454,14.899]],["keywords/2213",[]],["title/2214",[55,399.326,8579,1389.29]],["content/2214",[]],["keywords/2214",[]],["title/2215",[2444,885.325]],["content/2215",[11,6.386,139,8.848,248,5.322,252,4.313,323,6.036,2665,4.766,7174,12.04,8621,24.526]],["keywords/2215",[]],["title/2216",[55,399.326,8580,1389.29]],["content/2216",[]],["keywords/2216",[]],["title/2217",[257,782.587]],["content/2217",[3,9.205,19,3.644,139,5.412,204,5.051,244,7.259,252,3.298,254,6.003,265,5.673,778,7.441,859,8.673,874,8.559,1105,6.817,1139,14.225,1152,12.953,1221,7.985,2665,3.644,3227,10.89,3676,14.931]],["keywords/2217",[]],["title/2218",[261,802.497,8582,1321.747]],["content/2218",[]],["keywords/2218",[]],["title/2219",[312,664.279]],["content/2219",[57,11.912,120,12.623,254,7.437,483,8.117,530,9.459,723,8.731,919,19.556,2665,6.19]],["keywords/2219",[]],["title/2220",[55,399.326,920,1066.213]],["content/2220",[]],["keywords/2220",[]],["title/2221",[2444,885.325]],["content/2221",[11,6.386,248,5.322,252,4.313,323,6.036,781,19.215,2665,4.766,8622,24.526,8623,19.621]],["keywords/2221",[]],["title/2222",[257,782.587]],["content/2222",[252,4.512,254,7.36,554,8.067,799,13.09,1105,9.326,2665,4.986]],["keywords/2222",[]],["title/2223",[426,502.78]],["content/2223",[11,5.977,248,5.833,252,4.728,265,4.828,268,4.482,281,6.268,285,16.34,323,5.649,444,6.944,554,3.118,779,7.284,825,5.561,859,7.381,874,7.284,2665,5.225,2930,8.115,7226,4.244,7318,4.179,7321,4.179,7323,4.314,7766,6.215,7785,5.31,8324,8.756,8454,11.632,8461,10.536,8462,10.536,8465,11.312,8466,11.312,8469,7.028,8471,11.312]],["keywords/2223",[]],["title/2224",[8624,1872.876]],["content/2224",[]],["keywords/2224",[]],["title/2225",[55,501.321]],["content/2225",[10,5.457,19,4.294,37,8.06,57,9.176,89,9.313,93,6.105,102,6.7,376,8.553,445,12.281,636,10.938,978,10.674,1866,11.974,8625,16.462,8626,17.678,8627,17.678]],["keywords/2225",[]],["title/2226",[55,399.326,8581,1389.29]],["content/2226",[]],["keywords/2226",[]],["title/2227",[426,502.78]],["content/2227",[11,5.827,139,2.74,247,3.675,248,5.718,252,4.635,265,4.661,268,4.327,281,6.11,285,16.075,323,5.508,444,6.704,554,2.985,558,3.618,779,7.033,825,5.369,859,7.126,874,7.033,941,3.834,2665,5.122,2930,7.835,7226,4.064,7318,4.001,7321,4.001,7323,4.13,7766,5.95,7785,5.084,8324,8.453,8454,11.294,8461,10.172,8462,10.172,8465,10.921,8466,10.921,8469,6.729,8471,10.921,8628,7.595]],["keywords/2227",[]],["title/2228",[55,399.326,8625,1389.29]],["content/2228",[]],["keywords/2228",[]],["title/2229",[426,502.78]],["content/2229",[11,6.129,93,6.504,248,5.948,252,4.139,268,4.642,270,8.254,281,4.513,323,5.793,407,10.814,505,10.241,554,7.401,1896,7.075,2665,4.574,7170,8.852,7226,7.075,7397,7.232,8629,14.753,8630,14.753,8631,10.36]],["keywords/2229",[]],["title/2230",[55,399.326,782,1231.016]],["content/2230",[]],["keywords/2230",[]],["title/2231",[312,664.279]],["content/2231",[252,5.713,255,7.519,265,6.082,300,13.458,349,13.705,2665,6.313,4195,16.529,5418,11.676,8582,21.551]],["keywords/2231",[]],["title/2232",[257,782.587]],["content/2232",[252,3.413,254,8.058,255,7.257,265,7.961,270,6.804,375,6.994,2665,5.803,3676,15.283,8632,21.053,8633,21.053]],["keywords/2232",[]],["title/2233",[426,502.78]],["content/2233",[11,3.32,248,6.154,252,4.633,254,5.5,268,7.398,270,9.238,300,9.705,323,3.138,349,9.883,569,4.858,2665,5.12,4293,12.831,5418,7.404,7174,6.259,8324,10.663,8454,11.288,8537,13.777,8583,14.481,8584,14.481,8585,14.481,8586,14.481,8587,9.037,8588,9.037,8589,9.037]],["keywords/2233",[]],["title/2234",[638,705.202,8634,1321.747]],["content/2234",[252,4.729,638,12.268,7227,11.833,8634,22.994]],["keywords/2234",[]],["title/2235",[2774,862.416,8635,1271.298]],["content/2235",[19,4.211,29,9.275,50,7.959,151,7.285,169,8.354,252,3.81,281,5.916,554,6.813,604,9.889,2137,10.819,2139,13.029,2774,13.098,7227,9.534,8635,14.772,8636,17.334]],["keywords/2235",[]],["title/2236",[55,399.326,8637,1491.833]],["content/2236",[]],["keywords/2236",[]],["title/2237",[312,664.279]],["content/2237",[19,4.471,190,9.902,225,8.942,252,4.046,308,12.623,1105,8.364,1840,14.775,1914,15.017,2415,14.421,2665,4.471,8638,18.407]],["keywords/2237",[]],["title/2238",[426,502.78]],["content/2238",[248,5.441,252,4.41,268,7.043,590,15.387,1105,9.117,2665,4.874,8639,18.684,8640,20.063]],["keywords/2238",[]],["title/2239",[4,749.352]],["content/2239",[]],["keywords/2239",[]],["title/2240",[55,501.321]],["content/2240",[2,5.021,3,0.863,5,4.424,6,1.021,7,0.697,8,3.776,9,2.789,10,4.371,11,0.878,12,3.083,13,0.723,14,0.72,19,3.76,24,4.519,26,4.187,27,4.869,28,4.525,31,1.038,32,0.894,34,1.671,37,1.229,38,0.87,42,1.501,43,0.741,44,1.748,48,0.748,52,0.566,55,2.314,56,0.843,64,1.038,67,1.129,68,1.569,71,1.641,77,0.783,81,3.167,83,4.902,84,1.475,85,0.695,86,0.99,88,0.941,89,0.741,90,1.251,93,3.252,96,2.246,98,2.144,99,1.078,101,1.747,102,4.99,104,2.963,105,0.783,106,0.6,111,1.683,113,0.707,114,2.358,115,1.927,120,1.483,126,0.773,127,0.856,135,0.575,137,0.83,138,1.068,139,2.164,140,1.616,145,2.571,151,2.918,162,3.44,163,0.818,167,1.373,169,0.678,172,1.265,173,1.466,174,1.426,176,0.596,178,1.766,186,1.826,188,0.783,189,0.977,190,1.45,199,1.078,216,0.902,218,0.856,220,0.713,243,0.941,246,0.921,247,2.411,248,1.054,254,0.787,255,0.657,257,1.127,271,2.246,273,0.723,290,0.522,296,1.284,297,1.16,298,0.637,299,1.021,301,0.902,304,2.277,307,0.655,312,0.956,317,4.408,323,0.433,327,0.733,331,1.628,339,1.057,344,0.886,351,0.593,368,0.921,370,1.005,373,4.168,375,1.29,376,3.786,384,2.164,386,1.794,396,1.559,397,0.737,401,2.298,402,1.73,410,1.247,417,1.005,426,2.528,427,1.005,451,2.027,452,3.032,456,0.941,465,1.654,473,2.389,474,2.027,480,1.849,483,0.646,504,1.492,507,0.99,511,0.773,512,1.592,518,2.277,525,0.977,527,0.921,535,0.99,548,1.102,556,1.105,567,1.209,586,0.894,595,4.016,598,0.941,609,1.16,612,0.598,618,0.952,628,0.807,636,0.87,649,1.102,660,0.941,691,1.057,695,1.628,702,1.198,712,0.886,715,1.102,734,2.226,740,1.492,746,1.021,778,1.337,785,1.31,796,0.675,805,1.16,812,0.894,844,0.87,850,1.005,881,0.513,886,0.849,924,1.129,937,0.667,939,0.695,946,0.665,949,0.797,958,1.198,967,1.246,968,1.16,970,1.246,971,0.931,972,1.198,973,1.057,980,1.198,982,1.529,989,1.246,1024,0.921,1031,1.957,1040,0.894,1068,0.802,1079,0.773,1088,0.99,1095,1.102,1316,0.765,1341,0.802,1529,1.129,1530,1.246,1570,1.246,1573,0.952,1708,1.16,1837,1.246,1854,1.102,1861,0.99,1866,0.952,1887,1.305,1910,1.683,1914,0.813,1927,0.856,1928,1.057,2109,1.005,2263,1.078,2264,1.078,2273,1.16,2300,1.057,2379,1.057,2381,0.894,2443,0.7,2564,1.246,2567,1.198,2568,1.198,2617,1.057,2779,1.16,2897,1.31,2983,1.102,2993,1.198,3155,1.198,3207,1.16,3347,1.246,3357,1.129,3498,2.298,3579,1.246,3648,1.198,3757,1.16,3758,1.16,4083,1.078,4263,1.005,4269,1.198,4288,1.246,4428,1.129,4513,1.005,4733,1.198,4972,1.16,5075,1.129,5845,1.246,5906,2.225,5934,0.952,6209,1.198,6264,1.198,6927,1.31,8639,1.31,8641,1.406,8642,1.31,8643,1.31,8644,1.246,8645,1.31,8646,1.31,8647,1.31,8648,1.31,8649,1.406,8650,1.31,8651,1.406,8652,2.164,8653,1.31,8654,1.246,8655,1.406,8656,1.31,8657,1.31,8658,1.246,8659,1.31,8660,1.246,8661,1.31,8662,1.406,8663,1.31,8664,1.31,8665,2.511,8666,1.31,8667,1.31,8668,1.406,8669,1.406,8670,1.31,8671,1.246,8672,1.31,8673,1.198,8674,1.246,8675,1.31,8676,1.31,8677,1.31,8678,1.246,8679,1.31,8680,1.31,8681,1.246,8682,1.246,8683,1.31,8684,1.31,8685,1.31,8686,1.31,8687,1.31]],["keywords/2240",[]],["title/2241",[638,885.325]],["content/2241",[19,4.063,24,3.826,102,6.338,114,3.325,139,3.052,221,9.541,244,8.092,375,2.81,376,4.093,470,6.627,510,5.377,549,7.525,555,7.209,638,10.461,695,9.273,734,7.473,975,5.54,1036,7.495,1244,5.377,1329,7.209,1330,7.495,1494,10.952,1573,5.73,1906,6.79,2443,8.331,2506,6.485,2516,6.485,2650,5.801,2953,7.209,3239,7.209,8634,7.495,8688,7.495,8689,7.878,8690,7.495,8691,7.878,8692,8.459,8693,7.495,8694,7.878,8695,7.878,8696,7.209,8697,7.878,8698,7.878,8699,7.209,8700,7.878]],["keywords/2241",[]],["title/2242",[72,925.008]],["content/2242",[5,5.18,10,8.08,13,5.185,19,3.745,24,4.387,25,5.612,27,4.617,57,5.234,72,4.981,83,5.717,85,4.981,93,3.483,102,3.822,138,3.994,139,6.75,181,6.604,276,5.646,358,6.675,376,4.879,407,5.791,567,4.521,604,5.753,734,4.506,778,5.002,921,7.901,939,4.981,1158,6.042,2137,6.294,3282,8.321,3627,7.901,4446,8.935,4497,8.935,8701,8.935,8702,9.391,8703,8.935,8704,10.085,8705,10.085,8706,9.391,8707,9.391]],["keywords/2242",[]],["title/2243",[261,1007.47]],["content/2243",[4,5.37,10,4.143,19,3.26,24,3.82,34,5.775,59,9.593,93,4.636,114,5.275,138,5.315,140,8.042,174,4.927,306,7.182,307,6.252,344,8.453,426,3.603,474,10.089,804,8.378,969,8.305,2261,8.985,2393,10.29,2886,11.076,4378,11.438,6407,12.5,8660,11.892,8708,11.892,8709,12.5,8710,12.5,8711,11.438,8712,11.892,8713,11.892,8714,11.438]],["keywords/2243",[]],["title/2244",[2774,1082.694]],["content/2244",[19,4.381,50,8.281,151,7.579,169,8.692,8635,15.369,8715,15.979,8716,15.979,8717,15.979,8718,15.979,8719,15.979,8720,15.979,8721,14.476,8722,14.476,8723,14.476]],["keywords/2244",[]],["title/2245",[55,399.326,8724,1491.833]],["content/2245",[]],["keywords/2245",[]],["title/2246",[2444,885.325]],["content/2246",[11,6.386,248,5.322,252,4.313,323,6.036,1914,14.178,2665,4.766,8725,24.526,8726,19.621]],["keywords/2246",[]],["title/2247",[312,664.279]],["content/2247",[252,4.729,949,12.196,1041,16.198,1079,11.833,2665,5.226]],["keywords/2247",[]],["title/2248",[426,502.78]],["content/2248",[252,4.846,281,7.524,2665,5.355,4083,20.189]],["keywords/2248",[]],["title/2249",[261,802.497,804,931.126]],["content/2249",[]],["keywords/2249",[]],["title/2250",[312,664.279]],["content/2250",[254,7.158,483,9.009,530,10.499,788,17.039,911,17.804,2665,5.958]],["keywords/2250",[]],["title/2251",[55,399.326,850,1066.213]],["content/2251",[]],["keywords/2251",[]],["title/2252",[312,664.279]],["content/2252",[14,4.544,19,2.157,24,3.975,27,4.183,93,4.824,111,5.542,114,5.489,252,5.779,265,3.358,396,5.133,426,2.384,466,10.498,504,4.913,511,4.884,518,5.205,554,5.489,734,3.968,849,12.375,850,6.347,886,10.424,1910,10.775,2665,6.386,8708,7.868,8727,13.967,8728,13.967,8729,13.967,8730,13.967,8731,8.88,8732,13.967]],["keywords/2252",[]],["title/2253",[426,502.78]],["content/2253",[10,2.843,11,3.941,19,1.302,24,4.607,25,2.983,27,1.605,28,3.638,52,3.704,62,2.233,84,2.931,93,6.896,98,5.21,102,6.134,105,5.125,106,2.285,107,5.008,111,5.748,114,3.62,166,8.202,174,3.381,225,5.883,242,6.585,248,4.39,252,3.159,268,3.233,270,2.349,276,6.78,281,6.032,290,3.419,323,3.725,375,1.78,376,2.593,386,1.603,465,3.288,474,10.802,499,10.464,549,3.001,569,2.553,734,4.115,849,4.748,1683,5.561,2161,6.798,2665,4.595,6334,4.748,7170,6.165,7399,4.199,8733,9.209,8734,5.359,8735,4.748,8736,4.991,8737,9.209,8738,9.209,8739,5.359,8740,9.209,8741,9.209,8742,5.359]],["keywords/2253",[]],["title/2254",[55,399.326,1837,1321.747]],["content/2254",[]],["keywords/2254",[]],["title/2255",[312,664.279]],["content/2255",[15,8.696,19,3.526,24,4.131,62,6.048,136,7.608,174,5.328,187,8.631,250,10.909,252,3.19,410,6.712,426,6.192,456,9.716,554,5.704,558,6.913,559,8.03,942,11.315,979,8.228,1092,10.373,1389,10.223,2665,3.526,8652,11.65]],["keywords/2255",[]],["title/2256",[261,802.497,8708,1321.747]],["content/2256",[]],["keywords/2256",[]],["title/2257",[312,664.279]],["content/2257",[254,7.158,483,9.009,530,10.499,534,19.215,2665,5.958,8743,24.526]],["keywords/2257",[]],["title/2258",[261,802.497,8710,1389.29]],["content/2258",[]],["keywords/2258",[]],["title/2259",[312,664.279]],["content/2259",[28,10.653,254,7.437,307,10.689,483,8.117,530,9.459,723,8.731,2665,6.19]],["keywords/2259",[]],["title/2260",[261,802.497,8709,1389.29]],["content/2260",[]],["keywords/2260",[]],["title/2261",[312,664.279]],["content/2261",[7,3.219,27,6.76,28,7.145,49,7.427,69,3.59,81,4.125,90,3.012,125,3.166,138,2.57,139,2.341,153,3.306,174,5.973,180,5.595,211,3.153,234,4.509,244,3.14,254,6.798,294,10.288,298,2.939,306,3.473,307,8.425,444,3.53,483,2.98,530,3.473,556,2.66,667,3.859,670,4.125,673,4.345,723,3.205,859,3.752,1046,6.645,1123,4.509,1129,4.878,1167,4.571,1226,5.084,1263,5.084,1602,7.862,2261,4.345,2665,5.658,2929,4.791,3563,8.303,8340,5.75,8450,10.086,8547,10.086,8549,10.086,8744,10.83,8745,10.83,8746,10.83,8747,10.83,8748,10.83]],["keywords/2261",[]],["title/2262",[55,399.326,886,900.768]],["content/2262",[]],["keywords/2262",[]],["title/2263",[312,664.279]],["content/2263",[10,4.842,14,5.28,27,3.09,38,9.706,101,9.537,102,3.91,114,7.459,120,8.628,137,6.091,139,3.722,236,9.008,252,4.172,296,7.472,548,8.083,673,6.907,734,7.009,740,8.678,949,5.849,1930,9.141,2563,10.757,2617,7.755,2665,4.61,3357,15.233,3862,8.793,4618,14.608,8749,15.686,8750,15.686,8751,10.318,8752,10.318]],["keywords/2263",[]],["title/2264",[257,782.587]],["content/2264",[24,7.281,252,4.618,254,7.466,511,11.555,2665,5.103]],["keywords/2264",[]],["title/2265",[426,502.78]],["content/2265",[5,1.038,7,0.804,10,4.259,11,4.097,14,3.461,19,3.057,24,4.374,25,3.141,27,2.334,28,1.22,29,6.735,34,0.697,38,3.492,44,1.05,52,0.652,85,1.525,98,3.353,101,9.197,102,0.614,106,0.691,114,6.718,116,2.897,121,0.957,124,1.073,138,1.752,139,1.596,141,0.755,150,0.758,152,2.032,157,2.092,166,1.098,174,2.072,176,0.687,187,0.964,191,2.477,204,0.546,222,5.37,236,0.931,247,0.784,248,3.583,252,3.155,265,0.613,268,0.569,281,4.709,323,3.872,375,1.47,379,1.798,380,0.979,396,2.557,426,2.584,450,3.265,533,2.996,554,0.637,558,0.772,598,1.085,664,1.111,688,3.265,734,1.977,740,9.456,825,0.706,844,2.737,886,2.671,895,3.391,957,1.928,1040,1.03,1105,2.01,1222,1.337,1319,1.03,1526,1.301,1655,1.218,1833,3.116,1853,1.381,1855,1.381,1866,1.098,1887,5.054,1896,0.867,1904,2.876,1928,10.372,1935,10.999,2059,1.381,2060,1.381,2104,7.452,2158,9.248,2563,3.034,2665,3.486,3331,4.53,3651,2.876,3769,3.919,5702,5.858,7318,0.854,7321,0.854,7323,3.069,7397,0.886,7823,5.414,8721,4.53,8722,4.53,8723,8.996,8753,1.621,8754,3.088,8755,3.088,8756,1.509,8757,1.621,8758,1.621,8759,1.621,8760,1.621,8761,1.621,8762,1.621,8763,1.621,8764,5.644,8765,4.424,8766,3.088,8767,3.088,8768,6.298,8769,3.088,8770,5.644,8771,2.876,8772,3.088,8773,1.621,8774,3.088,8775,2.876,8776,1.621,8777,1.621,8778,1.621,8779,3.088,8780,3.088,8781,3.088,8782,1.621]],["keywords/2265",[]],["title/2266",[55,399.326,967,1321.747]],["content/2266",[]],["keywords/2266",[]],["title/2267",[312,664.279]],["content/2267",[174,5.416,252,5.512,306,7.894,426,3.961,554,7.992,586,12.924,804,14.522,955,7.853,2393,11.31,2401,16.322,2665,6.091,3012,18.936,8783,14.754]],["keywords/2267",[]],["title/2268",[55,399.326,8642,1389.29]],["content/2268",[]],["keywords/2268",[]],["title/2269",[2444,885.325]],["content/2269",[11,6.618,139,7.335,242,8.024,248,5.515,252,3.243,302,15.01,323,6.255,988,17.328,2665,4.939,7174,9.053,8784,20.334,8785,20.334,8786,18.936,8787,13.74,8788,13.74]],["keywords/2269",[]],["title/2270",[2774,862.416,8715,1321.747]],["content/2270",[252,4.512,1928,15.427,1935,14.259,2774,14.579,7227,11.289,8715,18.184,8789,20.524]],["keywords/2270",[]],["title/2271",[55,399.326,8643,1389.29]],["content/2271",[]],["keywords/2271",[]],["title/2272",[2444,885.325]],["content/2272",[11,6.386,248,5.322,252,4.313,323,6.036,1650,20.238,2665,4.766,7323,10.671,8790,19.621,8791,19.621]],["keywords/2272",[]],["title/2273",[257,782.587]],["content/2273",[252,5.11,254,7.931,556,9.527,642,15.068,1353,14.037,2665,5.647]],["keywords/2273",[]],["title/2274",[426,502.78]],["content/2274",[11,5.642,248,4.701,252,4.98,281,7.733,323,5.332,606,13.902,2575,19.308,2665,5.504,7998,13.288,8792,22.657]],["keywords/2274",[]],["title/2275",[55,399.326,8644,1321.747]],["content/2275",[55,6.143,252,3.886,254,5.159,297,14.587,1068,10.085,2779,14.587,4288,15.662,4350,13.552,7178,10.759,7227,9.723,8644,20.332,8793,15.064,8794,15.064]],["keywords/2275",[]],["title/2276",[55,399.326,8645,1389.29]],["content/2276",[]],["keywords/2276",[]],["title/2277",[426,502.78]],["content/2277",[11,5.053,48,8.263,248,5.71,252,3.413,268,5.449,323,4.776,457,10.062,567,11.484,734,9.408,812,9.867,979,8.8,1105,7.054,2665,3.771,7823,10.785,7830,13.229,8795,15.524,8796,15.524]],["keywords/2277",[]],["title/2278",[55,399.326,8647,1389.29]],["content/2278",[]],["keywords/2278",[]],["title/2279",[312,664.279]],["content/2279",[15,8.696,19,3.526,24,4.131,62,6.048,136,7.608,174,5.328,187,8.631,250,10.909,252,3.19,410,6.712,426,6.192,456,9.716,554,5.704,558,6.913,559,8.03,942,11.315,979,8.228,1092,10.373,1389,10.223,2665,3.526,8652,11.65]],["keywords/2279",[]],["title/2280",[55,399.326,8646,1389.29]],["content/2280",[]],["keywords/2280",[]],["title/2281",[426,502.78]],["content/2281",[11,6.003,85,9.109,248,5.852,252,4.054,268,4.508,281,4.383,323,5.673,937,8.751,939,9.109,1105,8.38,2585,7.637,2586,7.424,2665,4.48,7267,7.527,7270,7.527,8688,19.118,8797,12.843,8798,12.843,8799,12.843,8800,12.843,8801,12.843,8802,12.843]],["keywords/2281",[]],["title/2282",[638,705.202,8688,1321.747]],["content/2282",[]],["keywords/2282",[]],["title/2283",[257,782.587]],["content/2283",[252,4.512,254,7.36,375,6.818,556,10.335,567,9.202,2665,4.986]],["keywords/2283",[]],["title/2284",[55,399.326,4733,1271.298]],["content/2284",[]],["keywords/2284",[]],["title/2285",[312,664.279]],["content/2285",[26,8.027,27,7.03,65,8.673,120,11.313,252,4.521,296,9.797,504,8.3,554,5.896,801,12.042,876,8.205,1634,9.931,1652,11.753,1707,18.223,2665,4.996,8803,20.568,8804,15.002]],["keywords/2285",[]],["title/2286",[55,399.326,6209,1271.298]],["content/2286",[]],["keywords/2286",[]],["title/2287",[312,664.279]],["content/2287",[19,5.2,27,3.792,34,9.21,54,8.206,252,2.783,265,4.787,316,9.705,410,5.854,424,8.796,483,5.813,653,16.999,973,16.089,1531,10.447,2665,3.075,4754,11.79,5404,11.79,8805,18.254,8806,12.66,8807,12.66,8808,18.254,8809,12.66,8810,12.66,8811,12.66,8812,12.66,8813,12.66,8814,12.66]],["keywords/2287",[]],["title/2288",[426,502.78]],["content/2288",[27,5.877,62,10.219,252,4.313,281,6.697,375,6.518,1331,14.484,1369,17.384,2665,4.766,4756,16.721]],["keywords/2288",[]],["title/2289",[55,399.326,3347,1321.747]],["content/2289",[]],["keywords/2289",[]],["title/2290",[426,502.78]],["content/2290",[11,6.003,19,4.48,83,10.454,141,5.982,174,4.715,225,6.239,242,6.984,248,5.002,252,2.823,270,5.629,281,6.294,323,5.673,375,4.266,499,7.105,1683,7.754,2264,18.079,2665,4.48,7226,6.872,8815,18.442,8816,12.843,8817,12.843,8818,12.843,8819,12.843]],["keywords/2290",[]],["title/2291",[72,736.812,8701,1321.747]],["content/2291",[]],["keywords/2291",[]],["title/2292",[426,502.78]],["content/2292",[5,4.806,11,5.73,16,5.713,69,5.064,81,5.818,85,7.064,93,4.94,139,7.179,244,4.429,248,4.775,281,6.792,296,4.36,323,4.4,554,3.598,723,4.521,740,5.064,778,4.54,779,5.222,859,8.268,1079,7.867,1887,9.629,1896,4.898,2137,5.713,2665,4.834,3197,11.802,6340,9.468,7170,6.128,7397,5.006,7769,7.553,8820,13.32,8821,8.11,8822,13.32,8823,13.32,8824,13.32]],["keywords/2292",[]],["title/2293",[72,736.812,8703,1321.747]],["content/2293",[]],["keywords/2293",[]],["title/2294",[426,502.78]],["content/2294",[85,9.482,186,13.004,248,5.207,268,6.739,351,8.092,921,15.041,954,11.685,2665,4.664,7728,13.338,8825,24.193]],["keywords/2294",[]],["title/2295",[72,736.812,8702,1389.29]],["content/2295",[]],["keywords/2295",[]],["title/2296",[426,502.78]],["content/2296",[11,6.266,139,7.74,248,5.221,254,4.66,281,6.57,323,5.922,804,13.392,2404,12.816,2665,4.676,4203,11.246,5492,16.127,7222,9.966,7245,7.797,7400,12.509,8328,11.786,8400,8.275,8826,19.01,8827,14.146,8828,14.869]],["keywords/2296",[]],["title/2297",[72,736.812,2137,931.126]],["content/2297",[]],["keywords/2297",[]],["title/2298",[257,782.587]],["content/2298",[13,9.289,24,3.553,27,3.739,28,7.137,93,6.241,180,6.448,254,8.213,300,11.278,554,7.101,558,5.946,2665,6,2912,10.301,3035,13.338,6648,15.398,8322,9.57,8324,8.561]],["keywords/2298",[]],["title/2299",[426,502.78]],["content/2299",[11,4.802,13,10.454,248,4.002,254,4.306,281,7.941,307,9.471,323,4.539,554,5.799,559,8.163,1896,7.894,2665,5.652,7397,8.069,8829,18.936,8830,18.936,8831,13.74,8832,18.936]],["keywords/2299",[]],["title/2300",[72,736.812,3282,1231.016]],["content/2300",[]],["keywords/2300",[]],["title/2301",[426,502.78]],["content/2301",[11,6.399,93,6.791,248,6.15,268,4.934,281,4.797,323,6.048,407,11.291,505,10.693,554,7.727,1896,7.521,2665,4.776,7170,9.41,7226,7.521,7397,7.688,8629,15.404,8630,15.404,8631,11.013]],["keywords/2301",[]],["title/2302",[72,736.812,3627,1168.755]],["content/2302",[]],["keywords/2302",[]],["title/2303",[426,502.78]],["content/2303",[5,4.137,10,3.8,11,4.007,16,11.165,25,9.955,29,12.373,49,8.442,81,7.825,85,8.835,122,13.391,248,4.851,268,4.322,323,3.787,444,9.728,554,4.839,558,5.864,569,8.52,734,9.414,2665,2.991,7226,6.587,7399,9.645,7728,8.553,8833,11.465,8834,11.465]],["keywords/2303",[]],["title/2304",[72,736.812,8706,1389.29]],["content/2304",[]],["keywords/2304",[]],["title/2305",[257,782.587]],["content/2305",[10,6.003,29,10.406,93,6.717,107,7.526,181,12.735,254,7.777,308,9.49,369,9.49,375,4.597,465,8.491,554,5.439,734,6.184,2665,5.462,2997,17.23,4028,17.23,8835,11.793]],["keywords/2305",[]],["title/2306",[426,502.78]],["content/2306",[10,5.881,11,5.443,14,4.329,19,3.265,24,2.408,93,5.776,138,3.35,139,3.052,150,7.818,152,4.838,153,4.309,174,6.14,181,10.952,248,4.536,254,2.469,281,6.502,307,8.873,323,5.145,375,2.81,559,4.68,604,4.826,734,8.513,955,4.502,1319,5.377,1907,5.428,2665,4.628,4014,11.091,7226,4.526,7823,9.338,8836,12.517,8837,12.517,8838,7.878,8839,7.878,8840,12.517]],["keywords/2306",[]],["title/2307",[72,736.812,4497,1321.747]],["content/2307",[]],["keywords/2307",[]],["title/2308",[257,782.587]],["content/2308",[93,6.357,102,6.976,254,6.875,320,13.835,375,6.115,376,8.906,554,7.234,877,7.482,1486,13.835,2211,20.869,2665,4.471]],["keywords/2308",[]],["title/2309",[72,736.812,8707,1389.29]],["content/2309",[]],["keywords/2309",[]],["title/2310",[257,782.587]],["content/2310",[27,5.513,93,6.357,125,8.979,254,6.875,971,12.184,1040,11.7,2665,4.471,3515,20.869,3939,15.686,8835,15.686,8841,18.407]],["keywords/2310",[]],["title/2311",[426,502.78]],["content/2311",[11,5.925,24,4.241,29,12.514,50,4.43,93,5.146,102,3.657,114,3.792,125,7.268,138,5.901,139,5.375,150,4.51,152,3.473,174,6.682,248,5.552,268,3.387,281,6.212,290,3.582,323,5.6,376,4.668,554,3.792,2665,4.973,4042,13.201,7226,5.162,7823,12.646,8842,13.876,8843,13.876,8844,13.876]],["keywords/2311",[]],["title/2312",[55,399.326,8648,1389.29]],["content/2312",[]],["keywords/2312",[]],["title/2313",[312,664.279]],["content/2313",[15,8.696,19,3.526,24,4.131,62,6.048,136,7.608,174,5.328,187,8.631,250,10.909,252,3.19,410,6.712,426,6.192,456,9.716,554,5.704,558,6.913,559,8.03,942,11.315,979,8.228,1092,10.373,1389,10.223,2665,3.526,8652,11.65]],["keywords/2313",[]],["title/2314",[2774,862.416,8845,1491.833]],["content/2314",[11,5.991,139,6.64,248,4.992,252,4.046,281,6.282,323,5.662,2774,13.617,7222,11.489,7227,10.124,8716,16.308,8846,18.407,8847,17.142]],["keywords/2314",[]],["title/2315",[2774,862.416,8848,1491.833]],["content/2315",[11,5.991,139,6.64,248,4.992,252,4.046,323,5.662,2413,14.775,2774,13.617,7222,11.489,7227,10.124,8717,16.308,8847,17.142,8849,18.407]],["keywords/2315",[]],["title/2316",[2774,862.416,8850,1491.833]],["content/2316",[11,5.754,93,6.105,139,6.377,248,4.794,252,3.886,281,6.033,323,5.438,1079,9.723,2774,13.267,7222,11.033,7227,9.723,8718,15.662,8851,17.678,8852,16.462]],["keywords/2316",[]],["title/2317",[2774,862.416,8853,1491.833]],["content/2317",[11,5.754,93,6.105,139,6.377,248,4.794,252,3.886,323,5.438,1079,9.723,2413,14.19,2774,13.267,7222,11.033,7227,9.723,8719,15.662,8852,16.462,8854,17.678]],["keywords/2317",[]],["title/2318",[55,399.326,2379,1121.303]],["content/2318",[]],["keywords/2318",[]],["title/2319",[2444,885.325]],["content/2319",[11,5.053,248,4.21,252,3.413,254,4.531,323,4.776,554,8.275,559,8.589,1896,11.265,2665,3.771,3624,15.541,7397,11.514,8855,21.053,8856,18.653,8857,18.653,8858,15.524]],["keywords/2319",[]],["title/2320",[426,502.78]],["content/2320",[11,5.034,24,3.484,27,3.667,62,3.138,90,3.495,93,6.153,106,3.211,113,3.784,135,3.078,139,4.416,248,4.832,252,4.308,281,6.689,306,4.029,323,4.758,362,6.045,469,4.7,497,5.041,554,2.96,664,5.164,740,4.166,859,7.077,982,6.94,1316,4.096,1866,5.101,1887,8.62,1896,4.029,2379,5.66,2665,4.761,3197,10.102,6340,8.104,7170,8.195,7397,4.119,7769,6.214,8820,11.401,8821,6.672,8822,11.401,8823,11.401,8824,11.401,8859,12.242,8860,12.242,8861,12.242,8862,7.531]],["keywords/2320",[]],["title/2321",[55,399.326,8650,1389.29]],["content/2321",[]],["keywords/2321",[]],["title/2322",[426,502.78]],["content/2322",[5,5.611,7,3.356,11,5.435,16,6.997,68,3.938,69,6.202,81,7.126,85,8.247,139,7.975,244,5.424,248,4.529,252,2.464,254,2.684,268,2.375,271,3.911,281,3.826,296,5.34,323,3.449,554,3.614,559,5.088,723,5.537,740,6.202,778,9.896,779,6.396,1079,9.184,1084,4.639,1105,5.094,1887,10.696,1896,4.921,1927,4.117,2137,4.223,2413,5.43,2665,2.723,3197,11.846,7397,5.03,8701,9.933,8716,5.994,8717,5.994,8718,5.994,8719,5.994,8863,11.211,8864,11.211,8865,11.211,8866,3.773,8867,3.773,8868,3.773,8869,3.773]],["keywords/2322",[]],["title/2323",[55,399.326,8870,1491.833]],["content/2323",[]],["keywords/2323",[]],["title/2324",[2444,885.325]],["content/2324",[11,5.534,24,6.368,248,4.612,252,3.738,254,4.963,323,5.231,554,6.683,559,9.407,1896,9.098,2665,4.13,3197,18.462,7213,14.031,7397,9.299,8871,22.373]],["keywords/2324",[]],["title/2325",[426,502.78]],["content/2325",[11,3.952,19,4.302,153,6.185,176,5.148,223,8.129,247,5.876,248,4.803,252,3.893,268,4.263,281,4.144,307,5.656,323,3.736,376,5.876,426,3.26,874,6.928,1024,7.952,1079,6.679,1084,12.145,1316,11.369,2665,4.302,2675,10.348,8821,10.759,8872,17.71,8873,12.144,8874,12.144,8875,12.144,8876,12.144,8877,17.71,8878,12.144]],["keywords/2325",[]],["title/2326",[55,399.326,980,1271.298]],["content/2326",[]],["keywords/2326",[]],["title/2327",[2444,885.325]],["content/2327",[11,5.708,55,4.694,139,6.326,190,9.433,242,6.515,248,4.756,252,3.855,290,6.51,302,12.944,323,5.394,505,9.537,980,14.944,982,6.791,988,14.944,1036,10.615,2665,5.039,7174,7.351,8786,16.331,8787,11.157,8788,11.157,8879,17.536,8880,17.536]],["keywords/2327",[]],["title/2328",[55,399.326,8653,1389.29]],["content/2328",[]],["keywords/2328",[]],["title/2329",[426,502.78]],["content/2329",[11,6.008,85,9.117,162,5.654,248,5.857,252,4.058,254,3.753,268,4.514,281,4.389,323,5.679,937,8.759,939,9.117,1079,7.073,1105,8.388,2585,7.647,2586,7.434,2665,4.484,2953,13.737,3051,10.959,7267,7.538,7270,7.538,8689,15.012,8881,8.004,8882,8.004,8883,8.004,8884,8.004,8885,8.004,8886,8.004,8887,8.004,8888,8.004,8889,8.004,8890,8.004,8891,8.004,8892,8.004]],["keywords/2329",[]],["title/2330",[55,399.326,4263,1066.213]],["content/2330",[]],["keywords/2330",[]],["title/2331",[312,664.279]],["content/2331",[2,8.068,6,19.878,8,10.011,252,5.178,554,7.234,2665,5.722,5793,20.869]],["keywords/2331",[]],["title/2332",[426,502.78]],["content/2332",[5,4.503,6,12.11,10,4.136,11,5.43,24,4.748,27,4.013,85,4.162,169,4.061,171,16.606,174,5.578,180,4.353,222,4.332,248,4.865,249,2.244,252,3.667,268,1.698,270,3.693,281,5.185,296,5.333,323,5.848,375,2.799,383,8.029,554,4.401,606,8.222,937,3.998,939,4.162,957,10.412,1158,2.898,1177,9.309,1896,4.509,2665,4.052,2751,7.181,2752,7.181,7174,5.17,7226,2.588,7267,2.835,7270,2.835,7323,4.583,7397,4.608,8893,8.427,8894,13.4,8895,4.836,8896,4.836,8897,8.427,8898,4.836,8899,4.836]],["keywords/2332",[]],["title/2333",[638,705.202,2953,1271.298]],["content/2333",[]],["keywords/2333",[]],["title/2334",[2444,885.325]],["content/2334",[11,6.386,248,5.322,252,4.313,323,6.036,1317,16.235,2665,4.766,7273,14.023,8900,24.526]],["keywords/2334",[]],["title/2335",[257,782.587]],["content/2335",[162,9.024,252,4.512,254,7.36,375,6.818,556,10.335,2665,4.986]],["keywords/2335",[]],["title/2336",[426,502.78]],["content/2336",[162,7.773,248,4.794,252,3.886,254,5.159,268,8.056,556,7.244,1079,14.016,1125,13.552,2665,4.294,7222,11.033,8901,22.949]],["keywords/2336",[]],["title/2337",[638,705.202,8902,1491.833]],["content/2337",[]],["keywords/2337",[]],["title/2338",[2444,885.325]],["content/2338",[11,6.386,248,5.322,252,4.313,323,6.036,1317,16.235,2665,4.766,7222,12.247,8903,24.526]],["keywords/2338",[]],["title/2339",[257,782.587]],["content/2339",[252,4.512,254,7.36,375,6.818,556,10.335,1079,11.289,2665,4.986]],["keywords/2339",[]],["title/2340",[638,705.202,8690,1321.747]],["content/2340",[]],["keywords/2340",[]],["title/2341",[2444,885.325]],["content/2341",[11,6.618,122,12.924,248,5.515,252,4.47,265,5.579,323,6.255,1317,13.46,2665,4.939,7273,10.545,7318,7.773,7321,7.773,7728,10.25,8904,14.754,8905,14.754,8906,18.015,8907,20.334]],["keywords/2341",[]],["title/2342",[312,664.279]],["content/2342",[122,15.172,252,5.247,265,7.106,949,13.531,954,11.439,2665,5.798,8906,21.148]],["keywords/2342",[]],["title/2343",[426,502.78]],["content/2343",[11,5.881,248,6.699,252,4.668,265,4.72,268,7.454,270,7.92,323,5.558,554,7.101,2665,5.159,7226,9.668,7323,6.789,7648,14.504,8357,16.009,8358,16.009,8359,10.638,8908,18.069,8909,12.483]],["keywords/2343",[]],["title/2344",[55,399.326,4269,1271.298]],["content/2344",[55,5.506,56,8.989,71,9.13,89,7.904,96,8.673,127,9.13,151,6.305,218,9.13,247,7.259,252,3.298,618,10.162,1068,11.734,1105,6.817,1833,10.567,4269,17.528,4972,12.379,5075,12.042,5906,16.972,7178,9.13,7227,8.252]],["keywords/2344",[]],["title/2345",[638,705.202,8691,1389.29]],["content/2345",[]],["keywords/2345",[]],["title/2346",[2444,885.325]],["content/2346",[11,5.235,139,7.779,248,4.362,252,3.536,265,8.153,323,4.948,779,12.301,1154,13.019,2665,3.907,7318,11.359,7321,11.359,8359,13.706,8910,21.562]],["keywords/2346",[]],["title/2347",[312,664.279]],["content/2347",[3,7.768,10,5.634,28,5.001,31,9.345,139,8.96,244,8.832,252,4.705,265,6.902,327,6.604,407,7.27,527,8.291,679,10.447,779,10.414,949,12.134,955,6.739,1154,12.925,1397,10.447,2665,5.2,3227,9.19]],["keywords/2347",[]],["title/2348",[55,399.326,511,820.553]],["content/2348",[]],["keywords/2348",[]],["title/2349",[312,664.279]],["content/2349",[4,3.99,13,7.857,120,5.485,174,5.61,220,5.056,252,5.735,265,3.77,306,5.336,375,3.313,554,8.828,558,4.75,611,6.838,886,6.021,927,13.489,2665,6.338,2726,13.024,2909,8.498,3562,13.541,8856,13.541,8857,13.541,8911,14.233,8912,14.233,8913,14.233]],["keywords/2349",[]],["title/2350",[257,782.587]],["content/2350",[5,1.459,10,1.34,13,5.292,19,1.862,24,4.815,27,4.689,28,7.111,62,4.289,93,2.648,151,5.22,153,2.212,174,1.594,178,8.134,180,3.96,211,3.724,225,2.109,252,5.008,254,7.883,298,3.472,307,4.794,375,3.419,396,2.51,452,7.559,477,5.193,510,2.76,511,4.217,521,2.844,554,4.882,558,2.068,621,3.847,1602,5.565,1861,3.058,2137,2.71,2379,7.736,2665,5.534,3020,3.264,3034,6.533,3035,7.598,3610,2.76,3947,7.151,4428,8.262,4513,3.103,7466,3.7,7533,4.044,7552,7.139,8321,3.485,8914,7.139,8915,7.139,8916,4.342,8917,4.342,8918,7.666,8919,3.583,8920,3.583]],["keywords/2350",[]],["title/2351",[426,502.78]],["content/2351",[5,1.845,11,4.754,19,1.334,24,1.563,27,3.694,28,2.169,55,1.47,85,4.644,98,2.363,138,3.724,139,8.133,190,5.058,225,2.668,244,2.657,248,3.962,252,4.209,254,4.794,281,6.535,296,4.479,300,5.869,307,6.803,323,4.493,349,5.977,504,3.038,512,3.242,569,2.616,694,4.21,778,2.724,788,3.815,804,11.178,958,4.68,1887,2.657,2404,7.548,2665,4.651,2673,4.302,4203,6.623,5418,3.986,5492,10.979,7174,3.369,7222,5.869,7245,4.053,7400,7.367,8328,6.941,8400,4.302,8463,8.013,8464,8.013,8587,4.865,8588,4.865,8589,4.865,8826,12.941,8827,8.331,8828,8.757,8921,9.404,8922,5.491]],["keywords/2351",[]],["title/2352",[55,399.326,8671,1321.747]],["content/2352",[2,6.362,5,4.877,55,5.381,71,8.833,96,11.622,101,9.043,216,9.314,252,3.19,254,4.236,734,6.486,740,8.03,881,3.827,1068,8.28,2109,10.373,2564,12.859,4350,11.126,7178,8.833,7227,7.983,8671,17.812,8793,12.369,8794,12.369]],["keywords/2352",[]],["title/2353",[55,399.326,8654,1321.747]],["content/2353",[55,6.389,89,9.902,252,4.131,1068,13.618,1105,8.54,1833,13.238,7178,11.439,7227,10.338,8654,21.148]],["keywords/2353",[]],["title/2354",[55,399.326,8656,1389.29]],["content/2354",[]],["keywords/2354",[]],["title/2355",[426,502.78]],["content/2355",[11,6.003,85,9.109,248,5.852,252,4.054,268,4.508,281,4.383,323,5.673,937,8.751,939,9.109,1105,8.38,2585,7.637,2586,7.424,2665,4.48,7267,7.527,7270,7.527,8693,19.118,8923,12.843,8924,12.843,8925,12.843,8926,12.843,8927,12.843,8928,12.843]],["keywords/2355",[]],["title/2356",[55,399.326,162,655.939]],["content/2356",[]],["keywords/2356",[]],["title/2357",[312,664.279]],["content/2357",[8,6.515,10,3.698,162,5.268,172,5.621,187,7.124,242,9.537,252,3.855,254,3.497,265,4.53,304,7.022,375,5.826,431,9.886,483,5.501,649,9.386,695,5.02,946,5.663,949,6.791,1026,10.209,1317,7.93,1353,7.234,2601,8.562,2650,14.224,2665,5.546,2758,14.224,8929,17.536,8930,11.98,8931,17.536]],["keywords/2357",[]],["title/2358",[257,782.587]],["content/2358",[2,1.113,5,2.767,10,6.21,19,0.617,24,3.45,26,2.521,27,4.708,29,2.521,34,1.092,36,3.612,42,1.413,48,2.508,59,1.814,61,3.541,77,1.413,84,1.388,85,2.327,93,4.544,98,1.092,114,1.852,118,1.874,121,1.499,122,4.19,124,1.68,135,1.037,162,2.071,163,1.477,169,3.177,180,3.405,190,5.902,191,2.638,211,2.289,242,2.562,252,4.422,254,7.439,264,1.662,265,0.96,268,5.246,298,2.133,299,3.42,331,1.533,339,3.541,340,1.946,360,1.908,368,1.662,375,0.843,380,2.845,444,1.38,452,5.012,457,1.645,477,3.191,504,1.404,511,1.396,554,5.539,556,1.04,558,7.488,604,2.688,731,1.764,734,4.328,801,2.038,867,2.038,872,4.643,886,4.973,890,1.989,892,3.782,954,1.545,955,1.351,962,1.584,971,1.68,1000,1.908,1018,3.231,1178,3.612,1220,1.662,1350,4.866,1607,2.249,1861,1.788,1910,5.14,1962,3.887,2056,2.038,2119,4.174,2137,1.584,2139,3.541,2300,6.19,2366,2.249,2665,5.073,3034,4.015,3035,4.866,3682,4.174,4972,3.887,5811,2.163,8690,2.249,8906,5.84,8919,2.095,8920,2.095,8932,2.538,8933,4.711,8934,4.711,8935,2.538,8936,2.538,8937,4.711,8938,4.711]],["keywords/2358",[]],["title/2359",[426,502.78]],["content/2359",[4,0.787,5,0.661,9,2.078,10,1.146,11,5.698,14,1.007,19,1.28,50,0.903,84,1.076,90,4.696,98,2.868,120,1.082,124,1.302,135,0.804,138,2.64,172,3.128,174,2.447,222,1.908,226,1.386,242,5.503,244,1.796,247,3.836,248,5.764,249,3.68,251,0.989,252,3.521,265,1.403,268,4.743,270,1.627,281,4.611,323,5.386,375,2.634,386,0.588,410,3.666,469,2.317,488,0.923,499,6.127,505,2.019,537,1.349,542,1.145,554,6.503,556,3.249,558,2.509,611,1.349,664,2.545,695,0.824,723,0.972,778,0.976,811,2.908,877,1.509,937,6.411,939,3.916,941,0.993,955,1.976,960,4.116,1040,2.359,1079,2.898,1158,1.179,1176,2.79,1177,9.387,1186,2.79,1191,1.302,1244,1.251,1317,2.457,1320,1.508,1335,1.428,1654,3.163,1896,4.856,1976,2.579,2117,1.743,2462,3.456,2650,2.545,2665,4.645,2734,5.882,2735,5.351,2751,3.163,2752,3.163,2758,4.572,7222,1.228,7226,6.829,7267,4.647,7270,2.175,7318,1.036,7321,1.036,7323,1.07,7397,4.963,7492,1.677,7687,5.906,7739,5.508,7998,4.039,8939,1.967,8940,1.967,8941,9.075,8942,1.967,8943,1.967,8944,3.712,8945,1.967,8946,3.712,8947,3.712,8948,3.712,8949,1.967,8950,1.967,8951,1.967,8952,1.967,8953,1.967,8954,3.712,8955,3.712,8956,3.712,8957,3.712,8958,3.712,8959,1.967,8960,1.967,8961,3.712,8962,3.712,8963,3.712,8964,3.712,8965,1.967]],["keywords/2359",[]],["title/2360",[261,802.497,8660,1321.747]],["content/2360",[]],["keywords/2360",[]],["title/2361",[312,664.279]],["content/2361",[10,3.222,19,3.844,24,6.07,27,6.388,50,7.266,113,5.245,135,4.266,211,7.688,254,7.041,298,7.167,301,6.699,452,12.981,483,4.793,670,6.635,723,5.156,1129,7.846,1167,7.352,1224,6.459,1319,6.635,2139,11.895,2665,5.86,8966,15.825,8967,10.439,8968,15.825]],["keywords/2361",[]],["title/2362",[638,705.202,8693,1321.747]],["content/2362",[]],["keywords/2362",[]],["title/2363",[257,782.587]],["content/2363",[252,4.512,254,7.36,375,6.818,556,10.335,734,9.171,2665,4.986]],["keywords/2363",[]],["title/2364",[55,399.326,2993,1271.298]],["content/2364",[55,4.236,89,5.499,162,4.59,252,2.295,254,3.047,1068,9.028,1079,5.742,1316,5.677,1833,7.352,2993,13.486,7178,6.353,7227,5.742,7406,8.895,7407,9.721,7408,9.721,7409,9.721,7410,9.721,7411,9.721,7412,9.721,7413,9.721,7414,9.721,7415,9.721,7416,9.721,7417,9.721,7418,9.721,7419,9.721,7420,9.721,7421,9.721,7422,9.721,7423,9.721,7424,9.721,7425,9.721,7426,9.721,7427,9.721,7428,9.721,7429,9.721,7430,9.721,7431,9.721,7432,9.721,7433,9.721,7434,9.721,7435,9.721,7436,9.721,7437,9.721,7438,9.721,7439,9.721,7440,9.721]],["keywords/2364",[]],["title/2365",[55,399.326,188,830.229]],["content/2365",[]],["keywords/2365",[]],["title/2366",[312,664.279]],["content/2366",[24,5.475,27,5.762,252,5.828,504,7.539,511,7.495,518,13.069,554,5.356,886,13.463,1910,13.917,2665,6.441,8969,19.238]],["keywords/2366",[]],["title/2367",[257,782.587]],["content/2367",[24,3.603,26,6.774,27,3.792,62,7.606,188,7.046,189,8.796,252,4.012,254,7.552,261,6.81,264,8.291,375,6.064,554,4.976,558,8.695,559,7.004,1707,11.217,1846,10.789,1850,11.217,1852,11.79,2665,4.434,4378,10.789,8970,18.254,8971,18.254,8972,12.66]],["keywords/2367",[]],["title/2368",[55,399.326,734,666.619]],["content/2368",[]],["keywords/2368",[]],["title/2369",[312,664.279]],["content/2369",[5,4.51,10,4.143,24,3.82,28,5.302,93,4.636,125,6.547,190,7.22,252,5.289,375,4.459,407,10.929,886,14.528,949,7.609,1910,13.802,2665,5.845,4972,11.076,8696,11.438,8973,19.032,8974,13.422]],["keywords/2369",[]],["title/2370",[257,782.587]],["content/2370",[2,0.759,3,1.062,5,1.578,9,0.969,10,6.474,11,0.563,19,1.735,24,4.534,26,0.926,27,4.912,29,0.926,36,2.52,48,0.921,83,3.387,85,0.855,93,2.063,98,2.02,101,0.779,102,1.78,104,1.955,109,1.187,113,1.652,114,4.301,115,2.35,118,1.278,121,1.022,122,2.09,124,2.176,125,1.604,126,0.952,129,1.146,139,0.624,140,1.037,141,0.806,150,0.809,152,0.623,153,1.675,156,2.52,162,3.611,165,1.327,166,1.172,167,0.882,169,2.879,171,2.471,174,4.819,179,1.014,180,3.086,181,3.075,186,1.172,187,1.955,190,1.768,204,0.583,211,1.597,225,0.841,252,4.323,254,7.201,257,0.723,265,0.654,268,3.546,296,3.911,298,3.234,299,1.256,300,1.08,306,0.926,339,1.301,341,1.256,361,1.301,362,3.769,370,1.237,375,1.985,380,1.045,383,1.037,452,3.636,477,3.18,489,1.172,504,1.819,505,0.941,511,1.808,549,0.969,554,4.893,556,1.347,558,4.812,567,3.202,595,1.159,604,3.409,605,1.172,621,1.533,695,1.378,731,1.202,734,2.67,867,1.389,872,2.316,892,2.639,893,3.262,895,1.327,954,1.053,958,2.802,971,1.146,978,1.985,1017,1.389,1018,1.187,1040,1.1,1046,1.062,1050,1.533,1080,1.389,1177,2.284,1221,0.921,1317,3.108,1318,2.576,1319,1.1,1322,3.22,1325,2.471,1328,2.713,1341,1.876,1350,4.41,1861,1.219,1913,1.389,1935,2.284,1962,1.428,1971,1.428,2119,2.913,2135,1.475,2137,2.052,2139,2.471,2263,2.52,2303,1.612,2366,1.533,2565,1.278,2665,4.777,3020,1.301,3034,2.802,3035,3.466,3282,1.428,3682,2.913,3734,3.062,3814,1.022,4399,6.086,4405,1.533,4428,3.769,4513,1.237,5204,1.389,5811,1.475,7553,1.612,8919,1.428,8920,1.428,8975,3.288,8976,3.288,8977,3.288,8978,1.731,8979,1.731,8980,1.731,8981,3.288,8982,3.288]],["keywords/2370",[]],["title/2371",[426,502.78]],["content/2371",[3,3.953,10,6.948,11,4.513,12,3.987,14,3.297,24,5.128,28,4.252,48,3.429,69,3.565,90,4.996,93,6.222,98,2.772,120,3.544,121,6.355,125,3.143,135,2.633,152,4.991,162,2.833,169,8.682,174,3.952,181,4.219,236,3.7,248,3.76,252,3.561,255,3.012,268,2.262,270,2.824,281,4.732,296,3.069,323,3.312,375,4.606,383,6.45,404,4.364,489,4.364,505,5.855,558,3.069,598,4.313,1050,5.709,1316,3.504,2135,5.491,2139,4.843,2561,5.709,2665,3.935,3240,8.091,4104,5.491,4513,4.605,5371,5.709,5477,5.709,7170,4.313,7174,3.953,7226,3.447,8983,6.443,8984,6.443,8985,10.765,8986,6.443,8987,13.865]],["keywords/2371",[]],["title/2372",[55,399.326,3155,1271.298]],["content/2372",[]],["keywords/2372",[]],["title/2373",[312,664.279]],["content/2373",[188,12.948,252,5.782,255,6.897,554,5.799,648,15.588,1143,8.364,2665,6.389,6043,16.322,8988,20.334,8989,20.334,8990,14.754]],["keywords/2373",[]],["title/2374",[261,802.497,4378,1271.298]],["content/2374",[]],["keywords/2374",[]],["title/2375",[312,664.279]],["content/2375",[24,6.137,27,6.458,49,14.786,254,7.585,298,9.765,483,7.385,530,8.606,667,9.565,723,7.944,2665,6.313]],["keywords/2375",[]],["title/2376",[55,399.326,199,1143.63]],["content/2376",[]],["keywords/2376",[]],["title/2377",[312,664.279]],["content/2377",[188,11.913,252,5.862,255,5.918,311,9.345,554,4.976,567,8.184,2665,6.478,6043,14.652,8991,16.999,8992,18.254,8993,12.66,8994,18.254,8995,18.254,8996,18.254]],["keywords/2377",[]],["title/2378",[426,502.78]],["content/2378",[252,5.782,281,8.976,2665,6.389,8997,20.334,8998,20.334,8999,20.334,9000,20.334,9001,20.334]],["keywords/2378",[]],["title/2379",[55,399.326,8658,1321.747]],["content/2379",[55,6.282,89,7.904,140,8.989,252,3.298,254,6.003,351,6.323,880,7.944,937,7.119,939,7.41,1068,11.734,1833,10.567,2443,7.473,7178,9.13,7227,8.252,8286,12.785,8288,12.785,8289,13.971,8292,13.971,8658,18.223]],["keywords/2379",[]],["title/2380",[55,399.326,8657,1389.29]],["content/2380",[]],["keywords/2380",[]],["title/2381",[312,664.279]],["content/2381",[252,4.846,255,10.306,2665,5.355,9002,26.336]],["keywords/2381",[]],["title/2382",[257,782.587]],["content/2382",[5,5.825,10,5.351,81,11.018,167,8.829,252,3.81,254,6.613,375,7.527,556,7.104,841,10.916,1046,10.636,2056,13.914,2665,4.211,9003,22.657]],["keywords/2382",[]],["title/2383",[426,502.78]],["content/2383",[5,4.86,10,5.747,11,3.681,15,4.097,19,2.748,28,5.714,38,6.999,52,2.75,69,3.783,83,6.412,90,3.173,93,6.927,98,2.942,125,8.199,204,2.302,248,3.923,252,3.695,268,3.97,270,4.958,276,3.829,281,4.937,290,2.539,323,3.479,375,5.584,407,12.75,505,6.151,554,4.445,558,6.89,893,7.858,955,3.64,1018,4.689,1316,7.867,1683,6.83,1896,3.659,2665,4.083,7170,4.578,7226,3.659,7397,3.74,8629,8.861,8630,8.861,8631,5.357,9004,5.827]],["keywords/2383",[]],["title/2384",[55,399.326,8659,1389.29]],["content/2384",[]],["keywords/2384",[]],["title/2385",[2444,885.325]],["content/2385",[11,6.386,248,5.322,252,4.313,323,6.036,977,16.418,2665,4.766,9005,24.526,9006,19.621]],["keywords/2385",[]],["title/2386",[312,664.279]],["content/2386",[15,8.84,19,3.584,62,6.148,136,7.734,174,5.416,187,8.774,250,11.09,252,3.243,410,6.823,426,6.246,456,9.877,554,5.799,558,7.028,559,8.163,942,10.572,979,8.364,1092,10.545,1389,10.392,2665,3.584,6264,12.573,8652,11.843]],["keywords/2386",[]],["title/2387",[55,399.326,8661,1389.29]],["content/2387",[]],["keywords/2387",[]],["title/2388",[312,664.279]],["content/2388",[24,6.981,252,5.391,311,14.484,511,10.792,2665,5.958,9007,24.526]],["keywords/2388",[]],["title/2389",[638,705.202,8694,1389.29]],["content/2389",[]],["keywords/2389",[]],["title/2390",[312,664.279]],["content/2390",[252,4.846,1353,13.311,2665,5.355,9008,24.526]],["keywords/2390",[]],["title/2391",[638,705.202,8695,1389.29]],["content/2391",[]],["keywords/2391",[]],["title/2392",[312,664.279]],["content/2392",[252,5.391,1353,14.809,2665,5.958,9008,22.84,9009,24.526]],["keywords/2392",[]],["title/2393",[55,399.326,3357,1197.481]],["content/2393",[]],["keywords/2393",[]],["title/2394",[312,664.279]],["content/2394",[101,11.846,252,4.846,1930,19.532,2665,5.355]],["keywords/2394",[]],["title/2395",[55,399.326,2567,1271.298]],["content/2395",[]],["keywords/2395",[]],["title/2396",[312,664.279]],["content/2396",[10,7.666,14,6.479,83,7.177,93,7.393,125,6.176,252,4.705,265,4.787,407,7.27,410,5.854,421,8.206,424,8.796,431,15.062,554,4.976,977,8.475,1143,7.177,2109,9.048,2665,5.2,5392,16.172,9010,18.254,9011,12.66,9012,18.254]],["keywords/2396",[]],["title/2397",[426,502.78]],["content/2397",[5,4.995,10,5.869,11,3.802,15,4.26,19,2.838,28,5.872,38,7.228,52,2.86,69,3.934,83,6.622,90,3.3,93,7.06,98,3.059,125,8.396,204,2.394,248,4.032,252,3.268,268,4.1,270,5.12,276,3.981,281,3.987,290,2.64,323,3.593,375,5.718,407,12.952,505,6.353,554,4.591,558,7.081,955,3.785,1018,4.876,1316,8.085,1683,7.053,1896,3.805,2665,3.611,7170,4.76,7226,3.805,7397,3.889,8629,9.152,8630,9.152,8631,5.571,9004,6.06]],["keywords/2397",[]],["title/2398",[55,399.326,2381,948.221]],["content/2398",[]],["keywords/2398",[]],["title/2399",[2444,885.325]],["content/2399",[11,5.142,28,8.416,106,6.737,248,4.285,252,3.473,290,5.865,300,9.861,313,11.469,323,4.86,554,6.21,1896,8.454,2665,3.838,3035,15.726,4513,11.292,5950,14.713,7397,8.641,8443,13.037,9013,21.305]],["keywords/2399",[]],["title/2400",[257,782.587]],["content/2400",[9,2.65,10,3.399,13,6.787,14,2.422,19,1.15,24,4.266,27,3.298,28,5.921,29,4.425,34,2.037,38,5.117,50,3.797,62,1.972,93,3.804,102,5.003,114,4.328,125,2.309,127,2.881,139,1.708,140,2.836,189,3.289,244,4.002,252,4.519,254,7.523,257,1.978,300,6.874,320,6.216,324,4.408,341,6.004,375,5.474,376,5.329,379,2.755,410,2.189,426,1.271,456,3.169,479,3.709,518,2.775,549,8.392,554,5.189,558,2.255,734,4.921,778,2.348,819,3.906,941,2.389,971,3.134,977,3.169,1350,3.494,2211,7.327,2381,3.009,2665,4.993,2912,3.906,2997,7.327,3035,6.105,3515,7.327,4028,7.327,4050,4.408,6648,7.048,8322,3.629,8324,3.246,8835,7.048,9014,4.734]],["keywords/2400",[]],["title/2401",[426,502.78]],["content/2401",[3,2.024,5,2.014,10,2.542,11,5.627,13,3.081,19,2,28,2.367,29,9.251,50,1.515,85,1.629,93,4.968,102,1.25,113,1.658,114,1.296,125,2.923,138,5.21,139,5.927,150,2.801,152,1.187,174,2.2,181,2.16,247,2.9,248,5.089,252,4.509,254,1.749,255,1.542,264,2.16,268,2.104,270,1.446,271,1.907,281,6.621,290,1.225,307,6.7,323,5.319,327,1.721,376,1.596,379,1.92,396,1.907,426,0.886,554,2.355,660,2.208,734,1.474,752,2.323,778,1.636,804,7.335,833,4.695,975,2.16,1079,1.814,1316,3.259,1896,1.765,2404,4.81,2665,4.983,3240,4.504,3610,2.097,3967,2.811,4014,4.945,4042,5.309,4203,4.221,5492,7.613,7174,2.024,7222,3.74,7226,3.206,7245,2.435,7397,1.804,7400,4.695,7823,8.164,8328,4.424,8400,2.584,8826,8.974,8827,5.309,8829,5.581,8830,5.581,8831,3.072,8832,5.581,8836,5.581,8837,5.581,8838,3.072,8839,3.072,8840,5.581,8842,5.581,8843,5.581,8844,5.581,9015,3.299]],["keywords/2401",[]],["title/2402",[55,399.326,702,1271.298]],["content/2402",[]],["keywords/2402",[]],["title/2403",[312,664.279]],["content/2403",[10,7.865,24,5.031,93,6.105,252,3.886,407,10.151,431,18.937,554,6.948,977,11.834,2109,12.634,2665,4.294,5392,20.332]],["keywords/2403",[]],["title/2404",[426,502.78]],["content/2404",[5,4.995,10,5.869,11,3.802,15,4.26,19,2.838,28,5.872,38,7.228,52,2.86,69,3.934,83,6.622,90,3.3,93,7.06,98,3.059,125,8.396,204,2.394,248,4.032,252,3.268,268,4.1,270,5.12,276,3.981,281,3.987,290,2.64,323,3.593,375,5.718,407,12.952,505,6.353,554,4.591,558,7.081,893,8.115,955,3.785,1018,4.876,1316,8.085,1896,3.805,2665,3.611,7170,4.76,7226,3.805,7397,3.889,8629,9.152,8630,9.152,8631,5.571,9004,6.06]],["keywords/2404",[]],["title/2405",[55,399.326,2300,1121.303]],["content/2405",[]],["keywords/2405",[]],["title/2406",[2444,885.325]],["content/2406",[252,4.969,2300,20.091,2665,5.491]],["keywords/2406",[]],["title/2407",[312,664.279]],["content/2407",[5,5.041,19,3.644,86,14.487,90,6.962,138,5.941,139,5.412,252,4.521,265,5.673,364,9.723,412,12.785,413,12.379,417,10.722,444,8.159,720,10.722,1143,8.504,1191,9.931,2665,4.996,3777,18.223,9016,20.568]],["keywords/2407",[]],["title/2408",[257,782.587]],["content/2408",[24,1.874,27,4.218,42,3.665,62,2.744,90,9.688,104,3.916,139,2.376,245,4.639,252,4.589,254,7.437,413,16.246,419,5.612,424,9.785,453,4.111,542,6.381,590,4.075,1353,12.604,1370,13.994,1371,12.588,1375,13.116,1494,4.313,1594,10.21,1699,5.049,1976,7.617,2097,15.293,2665,5.071,9017,10.964,9018,16.421,9019,10.964,9020,10.964,9021,10.964,9022,10.964]],["keywords/2408",[]],["title/2409",[426,502.78]],["content/2409",[11,5.142,24,6.064,67,12.682,138,6.257,248,4.285,252,4.683,281,7.271,323,4.86,606,13.072,626,10.458,1479,10.702,2665,5.175,9023,21.305,9024,15.799,9025,15.799]],["keywords/2409",[]],["title/2410",[638,705.202,8696,1271.298]],["content/2410",[]],["keywords/2410",[]],["title/2411",[2444,885.325]],["content/2411",[11,5.151,248,4.292,252,3.479,323,4.868,554,9.009,1896,12.265,2665,3.844,7226,8.468,7397,12.536,8711,13.486,9026,15.825,9027,15.825,9028,19.862,9029,19.862,9030,19.862,9031,14.737,9032,14.737,9033,10.439]],["keywords/2411",[]],["title/2412",[312,664.279]],["content/2412",[252,5.782,554,9.855,2665,6.389,8711,12.573,9028,18.936,9029,18.936,9030,18.936,9031,18.936,9032,18.936]],["keywords/2412",[]],["title/2413",[257,782.587]],["content/2413",[225,12.252,252,4.512,254,7.36,1105,9.326,2665,4.986,8696,17.49]],["keywords/2413",[]],["title/2414",[55,399.326,518,874.404]],["content/2414",[]],["keywords/2414",[]],["title/2415",[312,664.279]],["content/2415",[24,4.627,27,4.869,102,4.1,127,6.584,225,5.256,252,5.577,254,3.157,375,3.594,376,5.234,396,6.254,504,5.985,511,5.95,554,6.39,558,5.153,567,4.85,886,11.793,955,5.758,1910,12.19,2665,6.163,3136,9.219,4658,9.585,8991,15.14,9034,16.258,9035,10.818,9036,16.258]],["keywords/2415",[]],["title/2416",[257,782.587]],["content/2416",[19,1.661,24,4.117,27,5.034,62,2.849,69,3.783,102,8.726,138,2.708,151,7.824,153,3.483,178,12.192,223,7.572,252,4.667,254,7.514,255,3.197,317,3.852,369,4.689,386,5.026,396,3.953,452,4.162,525,4.751,556,2.802,688,5.048,1040,4.346,2553,10.021,2665,5.157,3757,9.334,3758,9.334,4030,10.534,8673,5.827,9037,11.311,9038,6.838,9039,6.838,9040,11.311,9041,11.311,9042,11.311,9043,11.311]],["keywords/2416",[]],["title/2417",[426,502.78]],["content/2417",[7,2.677,8,1.099,9,2.132,10,0.908,11,4.227,13,1.039,14,1.034,19,1.489,24,2.637,25,0.58,27,3.89,28,0.798,34,0.87,37,0.476,50,1.748,62,1.225,71,0.635,83,0.591,93,7.277,98,0.87,102,8.681,113,0.524,114,0.794,116,0.683,130,0.813,135,0.826,138,0.8,139,3.901,140,2.281,141,0.941,151,0.849,152,0.728,174,0.742,176,0.442,185,0.799,186,2.579,220,3.792,225,2.247,234,4.257,242,2.071,244,1.423,247,1.423,248,4.175,252,2.767,254,2.862,268,2.844,270,2.027,271,1.169,276,2.589,281,3.852,290,2.003,296,0.497,298,0.472,302,0.77,307,0.486,308,2.611,313,0.757,317,3.452,320,4.056,323,4.641,353,0.837,355,2.135,369,3.171,375,2.036,376,7.146,386,0.604,393,1.519,396,4.323,410,1.36,426,0.543,427,2.721,440,0.924,451,6.964,452,3.285,459,1.404,464,0.745,465,1.24,470,1.584,474,2.862,488,0.948,494,0.725,497,0.698,499,3.39,507,0.735,513,0.69,525,3.749,549,4.87,554,1.496,558,0.963,559,1.627,569,0.497,590,0.645,666,2.119,716,1.668,719,0.817,721,0.817,731,0.725,778,3.383,794,0.861,851,2.739,975,0.683,984,0.861,1030,2.135,1040,2.42,1208,0.799,1221,0.555,1244,1.285,1431,0.817,1494,1.926,1573,1.992,1655,0.784,1699,1.55,1887,1.423,1896,1.574,2137,1.262,2138,0.861,2161,1.492,2266,0.971,2405,2.919,2506,1.55,2535,3.373,2550,1.882,2665,3.424,5811,0.889,7170,4.566,7174,3.311,7226,0.558,7397,1.608,8699,1.723,8735,5.429,8736,0.971,9044,2.021,9045,2.021,9046,1.043,9047,2.021,9048,2.021,9049,1.043,9050,2.021,9051,1.043,9052,2.021,9053,1.043,9054,1.043,9055,2.021,9056,1.043,9057,2.021,9058,1.043,9059,1.043,9060,2.021,9061,10.321,9062,9.265,9063,2.021,9064,1.043,9065,6.128,9066,2.021,9067,2.021,9068,3.807,9069,2.021,9070,3.807,9071,6.821,9072,3.807,9073,3.807,9074,2.021,9075,2.021,9076,3.807,9077,2.021,9078,2.021,9079,2.021,9080,2.021,9081,2.021,9082,2.021,9083,1.043,9084,1.043,9085,0.971,9086,2.021,9087,1.043,9088,2.021]],["keywords/2417",[]],["title/2418",[55,399.326,504,825.333]],["content/2418",[]],["keywords/2418",[]],["title/2419",[312,664.279]],["content/2419",[4,3.174,5,2.666,13,6.564,19,1.927,28,3.133,93,2.74,120,4.363,174,4.687,220,4.022,252,5.599,257,3.315,265,4.828,298,3.592,306,4.244,312,2.814,375,2.635,542,4.617,554,8.453,558,3.778,569,3.778,611,5.44,722,6.215,799,4.117,927,11.632,1867,8.361,1910,4.951,2400,5.758,2665,6.187,2726,10.88,2909,6.76,3562,11.312,3565,11.312,6131,6.76,8856,11.312,8857,11.312,8911,11.89,8912,11.89,8913,11.89]],["keywords/2419",[]],["title/2420",[257,782.587]],["content/2420",[3,4.12,13,4.696,14,1.914,19,0.909,24,3.171,27,4.651,28,5.069,50,1.718,62,5.347,93,4.432,174,1.373,180,3.468,211,4.437,225,1.818,252,5.252,254,8.059,296,1.782,298,5.812,306,3.593,307,3.127,375,3.034,452,4.086,477,4.548,511,2.058,554,3.59,558,4.351,1602,4.874,1861,2.635,2137,2.335,2379,6.865,2665,5.804,2925,8.506,3029,3.188,3035,6.742,3610,2.378,3847,6.253,3947,6.345,4325,5.54,4402,7.537,4428,7.332,4580,5.54,5881,3.315,6670,5.949,7466,9.494,8321,3.003,8914,6.253,8915,6.253,8919,5.54,8920,5.54,9089,6.714,9090,6.714,9091,9.134,9092,3.741]],["keywords/2420",[]],["title/2421",[426,502.78]],["content/2421",[11,4.784,14,2.349,19,1.115,24,1.831,27,1.927,29,2.456,50,2.107,62,2.681,93,5.076,98,1.975,138,3.188,139,1.656,174,1.685,176,1.046,180,1.275,211,2.23,248,3.986,249,2.13,252,3.701,254,4.29,281,5.746,298,2.079,306,3.442,307,1.15,323,4.521,381,2.975,471,13.045,554,5.078,569,2.186,638,1.167,804,11.56,1031,3.332,1046,1.514,1079,10.703,1105,2.086,1316,2.496,1355,2.037,1480,1.514,1896,6.913,1907,1.584,1927,2.793,1994,1.764,2391,5.7,2392,15.679,2401,3.684,2404,10.37,2665,4.09,3165,4.274,3270,2.037,4325,5.309,5492,14.285,7213,2.037,7222,2.865,7397,7.066,7400,10.121,7823,1.715,8463,3.911,8464,3.911,8919,2.037,8920,2.037,9085,2.299,9093,2.468,9094,4.59,9095,4.59,9096,4.59,9097,2.468,9098,2.468,9099,8.05,9100,2.468,9101,8.05,9102,4.59,9103,4.59,9104,4.59,9105,4.59,9106,4.59,9107,2.468,9108,2.468,9109,2.468,9110,4.59,9111,4.59,9112,4.59,9113,2.468]],["keywords/2421",[]],["title/2422",[55,399.326,480,1023.031]],["content/2422",[]],["keywords/2422",[]],["title/2423",[257,782.587]],["content/2423",[111,12.81,242,11.162,254,7.36,270,8.996,2665,4.986,9114,22.344]],["keywords/2423",[]],["title/2424",[55,399.326,8664,1389.29]],["content/2424",[]],["keywords/2424",[]],["title/2425",[312,664.279]],["content/2425",[252,5.782,1066,13.612,1143,11.527,1147,9.766,2665,6.389,8666,18.936,8667,18.936,9115,20.334,9116,20.334,9117,20.334]],["keywords/2425",[]],["title/2426",[55,399.326,8663,1389.29]],["content/2426",[]],["keywords/2426",[]],["title/2427",[312,664.279]],["content/2427",[252,5.713,554,6.321,1143,13.788,2665,6.313,5793,19.104,6666,20.08,9118,21.562,9119,21.562]],["keywords/2427",[]],["title/2428",[257,782.587]],["content/2428",[111,12.81,242,11.162,254,7.36,966,14.899,2665,4.986,9114,22.344]],["keywords/2428",[]],["title/2429",[426,502.78]],["content/2429",[11,5.655,105,7.834,108,9.78,248,5.338,252,3.819,268,3.148,270,6.17,281,4.804,323,5.345,554,6.829,648,10.792,937,9.339,939,6.953,1066,15.191,1105,4.076,1147,11.502,1177,13.673,1896,7.532,2665,4.221,2751,11.996,2752,11.996,7226,4.799,7267,8.251,7270,5.257,7397,7.699,9120,14.077]],["keywords/2429",[]],["title/2430",[55,399.326,8665,1389.29]],["content/2430",[]],["keywords/2430",[]],["title/2431",[312,664.279]],["content/2431",[111,13.76,252,4.846,586,16.739,2665,5.355]],["keywords/2431",[]],["title/2432",[257,782.587]],["content/2432",[111,12.81,242,11.162,254,7.36,270,8.996,2665,4.986,9114,22.344]],["keywords/2432",[]],["title/2433",[55,399.326,2263,1143.63]],["content/2433",[]],["keywords/2433",[]],["title/2434",[426,502.78]],["content/2434",[5,4.708,10,6.055,11,3.547,15,3.917,19,2.647,28,5.534,38,6.742,52,2.629,62,2.724,69,3.617,83,7.942,90,3.034,93,6.775,98,4.688,113,3.285,125,7.973,130,2.629,135,2.672,174,4,204,2.201,220,3.315,248,3.8,252,2.395,268,3.825,270,2.865,276,3.66,281,2.231,290,2.427,323,3.352,375,5.43,407,12.517,499,3.617,505,5.926,510,4.155,554,4.283,558,6.673,955,3.48,966,4.746,984,8.992,1018,4.483,1316,7.619,1896,3.498,2665,2.647,4010,6.088,7170,4.376,7226,3.498,7397,3.575,8629,8.537,8630,8.537,8631,5.122,9004,5.571,9121,6.538]],["keywords/2434",[]],["title/2435",[2774,862.416,8720,1321.747]],["content/2435",[83,11.123,93,6.777,252,4.313,281,6.697,554,7.712,2774,14.178,7227,10.792,8720,17.384,9122,19.621]],["keywords/2435",[]],["title/2436",[55,399.326,8670,1389.29]],["content/2436",[]],["keywords/2436",[]],["title/2437",[426,502.78]],["content/2437",[10,4.885,11,5.151,52,6.365,151,6.65,248,4.292,252,3.479,281,5.401,296,7.538,323,4.868,396,9.148,477,16.341,619,14.278,1105,7.191,1861,11.146,1887,7.657,2665,3.844,8635,13.486,9123,10.439,9124,15.825,9125,10.439,9126,15.825,9127,10.439,9128,10.439,9129,10.439,9130,10.439]],["keywords/2437",[]],["title/2438",[55,399.326,1861,1050.764]],["content/2438",[]],["keywords/2438",[]],["title/2439",[2444,885.325]],["content/2439",[252,4.969,1861,18.827,2665,5.491]],["keywords/2439",[]],["title/2440",[257,782.587]],["content/2440",[90,11.605,252,4.918,254,7.754,477,11.517,2300,12.78,2665,5.435,8835,14.49,9131,17.004,9132,22.373]],["keywords/2440",[]],["title/2441",[426,502.78]],["content/2441",[11,5.142,29,11.399,122,13.542,248,5.778,252,3.473,268,5.546,323,4.86,444,11.586,554,6.21,734,9.52,2665,3.838,7226,8.454,7399,12.378,7728,10.976,8833,14.713,8834,14.713]],["keywords/2441",[]],["title/2442",[638,705.202,1329,1271.298]],["content/2442",[]],["keywords/2442",[]],["title/2443",[312,664.279]],["content/2443",[122,16.739,252,4.846,954,13.417,2665,5.355]],["keywords/2443",[]],["title/2444",[638,705.202,1330,1321.747]],["content/2444",[]],["keywords/2444",[]],["title/2445",[312,664.279]],["content/2445",[122,16.739,252,4.846,954,13.417,2665,5.355]],["keywords/2445",[]],["title/2446",[55,399.326,3648,1271.298]],["content/2446",[]],["keywords/2446",[]],["title/2447",[312,664.279]],["content/2447",[27,6.458,252,5.713,255,10.08,504,8.898,518,14.257,2665,6.313,9133,21.562,9134,21.562]],["keywords/2447",[]],["title/2448",[55,399.326,8672,1389.29]],["content/2448",[]],["keywords/2448",[]],["title/2449",[426,502.78]],["content/2449",[248,5.698,268,7.374,2665,5.103,8324,14.406,8454,15.25,8619,23.823]],["keywords/2449",[]],["title/2450",[55,399.326,8673,1271.298]],["content/2450",[55,6.476,252,4.22,254,5.603,1068,10.953,5934,13.004,7178,11.685,7227,10.56,7538,17.88,8673,20.617]],["keywords/2450",[]],["title/2451",[55,399.326,8674,1321.747]],["content/2451",[19,3.644,37,6.841,55,5.506,252,3.298,254,4.379,304,8.793,312,7.295,375,4.984,612,6.378,715,11.753,949,8.504,1068,8.559,4350,11.501,7178,9.13,7227,8.252,8674,18.223,8675,13.971,8676,13.971,8677,13.971,8793,12.785,8794,12.785]],["keywords/2451",[]],["title/2452",[638,705.202,8697,1389.29]],["content/2452",[]],["keywords/2452",[]],["title/2453",[312,664.279]],["content/2453",[122,16.739,252,4.846,954,13.417,2665,5.355]],["keywords/2453",[]],["title/2454",[638,705.202,8698,1389.29]],["content/2454",[]],["keywords/2454",[]],["title/2455",[312,664.279]],["content/2455",[252,4.846,554,8.664,2228,22.443,2665,5.355]],["keywords/2455",[]],["title/2456",[55,399.326,3579,1321.747]],["content/2456",[]],["keywords/2456",[]],["title/2457",[257,782.587]],["content/2457",[9,13.188,252,4.046,254,7.992,2665,5.722,5181,11.489,8324,12.623,9135,23.555]],["keywords/2457",[]],["title/2458",[426,502.78]],["content/2458",[11,6.2,139,4.621,248,5.844,252,4.316,255,1.482,265,5.712,268,4.009,270,1.389,281,6.042,323,5.86,619,6.575,859,12.456,1105,1.44,1316,6.966,1976,10.495,2665,5.02,2930,9.602,3240,4.344,7174,1.945,7245,7.251,7318,7.959,7321,7.959,7785,10.113,8322,4.43,8323,4.925,8328,9.456,8329,6.24,8395,13.385,8399,6.788,8400,6.24,8401,8.703,8452,9.147,8538,2.952,9136,5.779,9137,3.17,9138,3.17,9139,5.779,9140,5.779,9141,5.779,9142,5.779,9143,3.17,9144,5.779,9145,3.17,9146,5.779,9147,5.779,9148,9.822,9149,5.779,9150,5.779]],["keywords/2458",[]],["title/2459",[261,802.497,2393,1143.63]],["content/2459",[]],["keywords/2459",[]],["title/2460",[312,664.279]],["content/2460",[10,6.003,93,6.717,98,5.954,100,8.292,125,6.75,138,8.904,181,9.062,254,6.562,407,12.912,483,6.354,530,7.405,586,8.796,604,11.095,723,6.835,796,6.643,1046,8.491,1634,9.161,2665,5.462]],["keywords/2460",[]],["title/2461",[55,399.326,8678,1321.747]],["content/2461",[55,5.989,102,6.444,252,3.738,254,4.963,255,7.949,257,9.349,304,9.966,1068,9.701,2983,13.321,4350,13.035,7178,10.349,7227,9.353,8678,19.823,8794,14.49]],["keywords/2461",[]],["title/2462",[55,399.326,3758,1231.016]],["content/2462",[24,3.764,27,3.961,55,5.041,102,9.058,151,5.557,178,8.66,248,3.586,252,2.907,254,3.859,317,10.608,376,9.112,386,5.631,451,9.939,465,8.114,474,9.939,1068,7.544,1573,8.957,3498,11.269,3758,15.539,5934,8.957,7178,8.048,7227,7.273,9151,13.223,9152,12.314]],["keywords/2462",[]],["title/2463",[638,705.202,8699,1271.298]],["content/2463",[24,6.368,102,8.479,244,10.825,252,3.738,510,10.808,549,12.526,638,10.576,975,11.135,1244,10.808,7227,9.353,8699,19.066]],["keywords/2463",[]],["title/2464",[470,1168.755,638,705.202]],["content/2464",[]],["keywords/2464",[]],["title/2465",[312,664.279]],["content/2465",[252,5.601,255,8.264,474,19.153,2552,21.371,2665,6.19,9153,22.949,9154,17.678]],["keywords/2465",[]],["title/2466",[55,399.326,3757,1231.016]],["content/2466",[24,3.603,27,3.792,55,4.886,99,9.705,102,8.879,151,5.321,178,8.291,248,3.434,252,2.783,254,3.695,317,10.283,323,3.895,376,8.832,386,5.458,451,9.516,465,7.768,474,9.516,525,8.796,1068,7.223,1570,11.217,3498,10.789,3757,15.062,5934,8.575,7178,7.705,7227,6.964,9152,11.79,9155,12.66]],["keywords/2466",[]],["title/2467",[261,802.497,474,1121.303]],["content/2467",[]],["keywords/2467",[]],["title/2468",[312,664.279]],["content/2468",[254,7.437,465,14.081,483,8.117,530,9.459,723,8.731,2665,6.19,9156,22.949,9157,22.949]],["keywords/2468",[]],["title/2469",[638,705.202,2506,1143.63]],["content/2469",[102,7.276,244,9.29,252,4.22,376,9.29,555,16.361,638,11.436,1573,13.004,2506,18.547,7227,10.56]],["keywords/2469",[]],["title/2470",[55,399.326,989,1321.747]],["content/2470",[]],["keywords/2470",[]],["title/2471",[312,664.279]],["content/2471",[15,8.696,19,3.526,24,4.131,62,6.048,136,7.608,174,5.328,187,8.631,250,10.909,252,3.19,410,6.712,426,6.192,456,9.716,554,5.704,558,6.913,559,8.03,942,11.315,979,8.228,1092,10.373,1389,10.223,2665,3.526,8652,11.65]],["keywords/2471",[]],["title/2472",[55,399.326,8679,1389.29]],["content/2472",[]],["keywords/2472",[]],["title/2473",[426,502.78]],["content/2473",[10,3.185,11,6.177,93,5.418,98,4.439,102,7.192,174,3.788,248,5.75,252,4.172,268,3.622,270,6.875,281,5.353,290,3.83,323,5.838,407,10.898,411,5.185,505,8.531,554,6.165,1896,5.521,2665,4.61,5477,9.141,7170,6.907,7226,5.521,7397,5.643,8629,12.289,8630,12.289,8631,8.083,8735,9.141,9158,15.686]],["keywords/2473",[]],["title/2474",[55,399.326,8681,1321.747]],["content/2474",[19,4.776,55,5.263,89,10.358,163,8.182,176,5.959,248,3.812,252,3.09,254,4.103,304,8.239,628,8.072,880,7.443,946,6.645,1068,11.217,1708,11.599,1833,9.901,4350,10.776,5934,9.521,7178,8.555,7227,7.732,8286,11.979,8288,11.979,8681,17.42,8793,11.979]],["keywords/2474",[]],["title/2475",[55,399.326,970,1321.747]],["content/2475",[]],["keywords/2475",[]],["title/2476",[312,664.279]],["content/2476",[252,5.391,554,7.712,804,16.699,2480,20.238,2665,5.958]],["keywords/2476",[]],["title/2477",[55,399.326,8680,1389.29]],["content/2477",[]],["keywords/2477",[]],["title/2478",[426,502.78]],["content/2478",[5,1.54,9,1.794,10,6.002,11,3.495,19,2.971,24,0.48,27,1.373,28,4.832,29,2.452,42,3.249,52,2.348,93,7.542,98,1.379,101,4.053,102,1.215,106,1.367,107,8.793,114,5.552,116,2.099,120,1.763,121,0.995,124,2.121,135,1.31,150,1.498,169,0.812,174,2.951,176,1.359,179,0.988,181,2.099,204,2.706,221,4.586,222,0.866,248,3.318,252,2.36,254,3.36,264,1.103,265,2.641,268,1.125,281,3.075,290,0.626,301,1.081,323,3.303,375,1.939,379,3.398,381,1.092,386,1.746,396,0.974,426,1.23,450,1.244,457,2.077,487,2.366,521,1.103,549,1.794,554,1.26,556,0.691,559,1.773,567,9.086,569,2.781,604,7.363,734,2.048,778,1.59,794,8.175,895,2.457,957,1.052,1105,4.88,1319,2.037,1350,2.366,1786,1.892,1840,2.573,1887,0.815,1896,1.715,1910,7.635,1935,8.966,2137,9.491,2218,2.645,2228,4.975,2381,2.037,2665,2.609,7318,2.414,7321,2.414,7397,1.753,7399,1.32,7648,7.232,7823,1.171,7830,1.436,9159,3.205,9160,3.205,9161,16.167,9162,10.738,9163,3.205,9164,3.205,9165,2.985,9166,4.583,9167,4.583,9168,4.583,9169,3.205,9170,3.205,9171,3.205,9172,3.205,9173,3.205]],["keywords/2478",[]],["title/2479",[55,399.326,1910,931.126]],["content/2479",[]],["keywords/2479",[]],["title/2480",[312,664.279]],["content/2480",[252,4.846,2665,5.355,8703,19.532,9174,26.336]],["keywords/2480",[]],["title/2481",[257,782.587]],["content/2481",[27,6.963,252,5.11,254,7.931,504,9.978,2665,5.647,3282,14.882,9175,23.248]],["keywords/2481",[]],["title/2482",[426,502.78]],["content/2482",[5,0.832,9,1.386,10,6.91,11,4.213,19,2.467,24,1.31,27,1.932,28,4.012,29,6.926,34,1.065,42,2.562,43,0.678,52,1.439,83,3.151,93,8.175,98,1.065,101,0.579,102,3.601,106,1.056,107,8.815,114,7.189,120,1.362,121,1.461,124,1.639,135,1.012,138,2.554,139,2.005,150,4.117,152,0.891,169,0.62,174,2.962,176,1.049,179,0.754,204,2.172,221,3.68,222,0.661,236,0.739,246,1.621,248,3.511,252,2.95,254,2.126,264,0.843,265,1.353,281,4.581,290,0.478,301,0.826,323,3.982,375,1.529,376,0.622,379,2.679,381,0.834,383,1.483,386,1.376,396,0.744,426,0.665,450,0.95,457,1.605,487,1.827,521,0.843,549,1.386,554,3.461,556,0.527,558,3.072,559,1.98,567,2.064,569,1.704,604,5.024,734,5.56,746,0.934,778,1.228,794,2.043,811,1.94,895,1.898,957,0.803,978,2.16,1046,3.41,1319,0.818,1350,1.827,1573,0.871,1786,1.461,1840,1.987,1887,0.622,1896,4.712,1905,2.193,1935,5.606,2137,2.873,2208,5.497,2218,1.062,2228,5.497,2381,1.574,2500,6.322,2511,6.007,2665,3.26,3278,1.008,7170,6.799,7318,1.885,7321,1.885,7397,4.816,7399,5.053,7823,3.198,7830,1.096,9165,2.306,9176,4.603,9177,4.603,9178,2.476,9179,2.476,9180,6.45,9181,2.476,9182,2.476,9183,9.501,9184,3.578,9185,2.476,9186,1.287]],["keywords/2482",[]],["title/2483",[55,399.326,8682,1321.747]],["content/2483",[55,6.476,252,4.22,254,5.603,1068,10.953,5934,13.004,7178,11.685,7227,10.56,8682,21.435,9187,19.199]],["keywords/2483",[]],["title/2484",[2774,862.416,8721,1197.481]],["content/2484",[252,4.512,471,14.456,2774,14.579,7227,11.289,8721,16.475,9188,20.524,9189,20.524]],["keywords/2484",[]],["title/2485",[55,399.326,1928,1121.303]],["content/2485",[]],["keywords/2485",[]],["title/2486",[2444,885.325]],["content/2486",[11,6.464,101,9.559,248,5.387,252,4.366,323,6.11,1928,13.594,2158,19.218,2665,4.825,7823,10.936,8721,10.033,8722,10.033,8723,18.695,8768,16.843,8771,7.195,8775,7.195,9190,21.252,9191,12.5,9192,7.727,9193,12.5,9194,18.086,9195,7.727]],["keywords/2486",[]],["title/2487",[312,664.279]],["content/2487",[101,9.939,252,5.446,734,7.456,949,14.044,1887,10.691,2665,6.018,8721,13.393,8722,13.393,9196,22.096]],["keywords/2487",[]],["title/2488",[257,782.587]],["content/2488",[252,4.618,254,7.466,2158,21.109,2665,5.103,8723,16.863]],["keywords/2488",[]],["title/2489",[426,502.78]],["content/2489",[11,5.331,248,5.92,252,4.798,268,5.75,281,5.59,323,5.039,554,6.438,2158,18.01,2665,5.302,7226,8.764,9197,21.826,9198,16.379,9199,21.826]],["keywords/2489",[]],["title/2490",[2774,862.416,8722,1197.481]],["content/2490",[252,4.512,471,14.456,734,9.171,2774,14.579,7227,11.289,8722,16.475,9200,20.524]],["keywords/2490",[]],["title/2491",[638,705.202,1906,1197.481]],["content/2491",[]],["keywords/2491",[]],["title/2492",[312,664.279]],["content/2492",[2,3.508,10,6.242,19,1.944,84,4.377,85,6.351,93,2.764,101,3.6,102,3.033,114,8.487,122,10.246,176,3.393,180,4.134,247,3.873,249,3.714,252,4.989,254,2.336,265,3.026,290,2.971,375,5.355,380,4.833,530,4.283,554,5.054,556,5.27,872,9.058,954,4.871,962,4.996,1907,5.136,1927,4.871,1935,11.199,2139,6.016,2565,9.493,2665,5.513,2675,6.821,3239,13.737,3862,13.737,4282,6.425,6340,5.298,9201,8.004,9202,12.86]],["keywords/2492",[]],["title/2493",[426,502.78]],["content/2493",[248,5.441,252,4.41,255,9.379,268,7.043,270,8.793,2665,4.874,3240,18.691,7174,12.31]],["keywords/2493",[]],["title/2494",[55,399.326,8683,1389.29]],["content/2494",[]],["keywords/2494",[]],["title/2495",[2444,885.325]],["content/2495",[11,6.386,139,8.848,248,5.322,252,4.313,323,6.036,2665,4.766,7174,12.04,9203,24.526]],["keywords/2495",[]],["title/2496",[638,705.202,3239,1271.298]],["content/2496",[]],["keywords/2496",[]],["title/2497",[312,664.279]],["content/2497",[105,11.316,108,14.126,252,5.782,255,6.897,323,6.255,554,5.799,648,15.588,1066,13.612,1147,9.766,2665,6.389,9204,20.334]],["keywords/2497",[]],["title/2498",[426,502.78]],["content/2498",[248,5.441,252,4.41,255,9.379,268,7.043,270,8.793,2665,4.874,3240,18.691,7174,12.31]],["keywords/2498",[]],["title/2499",[55,399.326,8684,1389.29]],["content/2499",[]],["keywords/2499",[]],["title/2500",[312,664.279]],["content/2500",[252,4.512,254,5.99,265,7.76,2601,14.669,2665,4.986,2996,12.297,9205,25.219]],["keywords/2500",[]],["title/2501",[426,502.78]],["content/2501",[11,5.053,167,7.907,248,5.71,252,3.413,255,9.842,265,5.87,268,5.449,311,15.541,323,4.776,812,9.867,957,13.14,1042,12.162,1105,7.054,2665,3.771,7174,9.526,7323,8.443,9206,15.524,9207,15.524]],["keywords/2501",[]],["title/2502",[261,802.497,8711,1271.298]],["content/2502",[]],["keywords/2502",[]],["title/2503",[312,664.279]],["content/2503",[8,6.789,9,11.89,10,6.555,23,8.175,34,9.137,77,6.947,137,7.369,254,6.198,356,10.638,396,7.217,452,7.597,483,5.732,530,6.679,701,9.78,723,6.165,978,7.537,1392,15.398,2109,8.922,2665,5.159,9208,18.069,9209,18.069,9210,18.069]],["keywords/2503",[]],["title/2504",[261,802.497,8712,1321.747]],["content/2504",[]],["keywords/2504",[]],["title/2505",[312,664.279]],["content/2505",[27,7.42,49,15.153,172,7.829,254,7.231,483,7.661,530,8.928,604,14.134,723,8.241,2665,6.018]],["keywords/2505",[]],["title/2506",[261,802.497,8713,1321.747]],["content/2506",[]],["keywords/2506",[]],["title/2507",[312,664.279]],["content/2507",[16,4.951,49,5.44,81,5.042,120,7.023,126,4.363,151,6.734,254,6.6,281,5.469,315,5.195,483,5.862,521,5.195,530,4.244,619,5.31,667,4.717,670,5.042,723,3.918,942,3.605,1079,4.363,1123,5.511,1129,5.962,1341,12.901,1541,5.31,2482,19.27,2575,10.88,2665,5.493,2821,7.387,9211,12.768,9212,18.365,9213,12.768,9214,12.768,9215,12.768,9216,12.768,9217,12.768,9218,7.933,9219,12.768,9220,7.933]],["keywords/2507",[]],["title/2508",[638,705.202,2516,1143.63]],["content/2508",[]],["keywords/2508",[]],["title/2509",[2444,885.325]],["content/2509",[11,7.018,101,9.699,248,5.848,252,4.74,323,6.633,957,13.458,2665,5.238,7323,8.747,7823,11.174,9221,21.562,9222,16.084,9223,16.084]],["keywords/2509",[]],["title/2510",[312,664.279]],["content/2510",[101,11.032,252,5.391,265,7.419,734,8.768,1935,17.039,2665,5.958]],["keywords/2510",[]],["title/2511",[426,502.78]],["content/2511",[11,5.652,19,4.218,25,9.664,57,9.014,101,7.811,248,6.152,252,3.817,268,6.096,323,5.342,734,7.76,886,10.485,957,10.839,1040,11.038,2665,4.218,4056,16.172,7823,12.064,8756,11.009,9224,17.365,9225,11.822,9226,17.365]],["keywords/2511",[]],["title/2512",[55,399.326,8685,1389.29]],["content/2512",[]],["keywords/2512",[]],["title/2513",[426,502.78]],["content/2513",[11,6.003,248,5.852,252,4.054,268,4.508,281,4.383,323,5.673,556,7.558,937,8.751,939,9.109,1105,8.38,2516,16.542,2585,7.637,2586,7.424,2665,4.48,7267,7.527,7270,7.527,9227,12.843,9228,12.843,9229,12.843,9230,12.843,9231,12.843,9232,12.843]],["keywords/2513",[]],["title/2514",[638,705.202,2650,1023.031]],["content/2514",[]],["keywords/2514",[]],["title/2515",[312,664.279]],["content/2515",[8,8.241,9,5.521,24,2.807,47,9.632,90,7.032,138,6.001,149,6.763,225,7.361,252,5.186,254,2.878,255,4.61,386,5.518,423,11,424,6.851,469,6.155,530,5.277,537,6.763,695,4.132,796,4.734,946,4.662,949,5.59,1105,4.481,1143,5.59,1320,7.56,2601,7.048,2650,6.763,2665,5.731,2886,8.138,6163,8.138,8712,8.737,8714,8.404,9233,15.153,9234,9.862,9235,9.862,9236,9.862,9237,9.862]],["keywords/2515",[]],["title/2516",[426,502.78]],["content/2516",[11,6.251,29,9.615,90,4.387,248,6.291,252,4.222,255,2.583,268,5.787,281,3.226,323,5.908,423,6.862,554,6.479,877,5.962,1105,5.63,1353,12.227,1896,2.956,2665,4.665,2840,6.568,2886,7.801,7174,3.39,7226,7.848,7397,3.022,7723,3.743,7823,8.607,7998,4.236,8118,10.977,8714,12.498,9238,9.453,9239,14.667,9240,5.525,9241,5.525,9242,5.525,9243,9.453,9244,9.453,9245,9.453,9246,9.453,9247,9.453,9248,9.453,9249,9.453,9250,9.453]],["keywords/2516",[]],["title/2517",[261,802.497,2886,1231.016]],["content/2517",[]],["keywords/2517",[]],["title/2518",[312,664.279]],["content/2518",[19,3.712,54,6.463,90,4.628,138,7.359,143,7.361,153,5.079,163,5.804,167,5.079,172,4.679,220,5.056,244,4.825,247,8.991,254,6.08,386,6.229,410,7.067,423,7.239,424,6.928,469,6.224,483,7.017,530,5.336,556,4.086,723,4.925,844,9.457,881,2.909,1010,10.618,1117,6.838,1191,6.601,1244,6.338,1371,7.644,1479,6.754,1866,6.754,2665,4.514,2889,13.024,2890,9.286,6113,8.228]],["keywords/2518",[]],["title/2519",[261,802.497,8714,1271.298]],["content/2519",[]],["keywords/2519",[]],["title/2520",[312,664.279]],["content/2520",[27,6.09,49,13.944,254,7.676,483,6.774,530,7.894,604,11.601,667,8.774,670,9.378,723,7.287,2665,6.389,2868,18.015,3326,18.936]],["keywords/2520",[]],["title/2521",[55,399.326,8686,1389.29]],["content/2521",[]],["keywords/2521",[]],["title/2522",[312,664.279]],["content/2522",[4,3.903,10,3.011,24,2.776,27,2.921,98,4.197,114,3.833,138,3.863,139,3.519,174,3.581,178,9.84,244,7.27,247,4.719,248,2.645,252,4.888,255,4.56,315,9.84,380,5.889,386,4.493,554,7.203,556,3.997,558,8.73,604,5.565,695,7.68,712,6.143,1341,11.747,2665,5.402,2905,13.993,2906,13.313,3989,13.313,8713,8.642,9251,15.026]],["keywords/2522",[]],["title/2523",[2774,862.416,8723,1197.481]],["content/2523",[114,8.067,252,4.512,281,7.005,2774,14.579,7227,11.289,8723,16.475,9252,20.524]],["keywords/2523",[]],["title/2524",[638,705.202,8700,1389.29]],["content/2524",[]],["keywords/2524",[]],["title/2525",[312,664.279]],["content/2525",[122,15.589,252,5.391,954,11.942,2565,18.104,2665,5.958,6340,12.988]],["keywords/2525",[]],["title/2526",[55,399.326,8687,1389.29]],["content/2526",[]],["keywords/2526",[]],["title/2527",[2444,885.325]],["content/2527",[11,6.261,24,5.475,27,5.762,248,5.218,252,4.229,323,5.918,2665,4.673,3624,17.881,3627,18.978,7168,12.691,7213,11.245,7809,17.044,9253,19.238,9254,19.238]],["keywords/2527",[]],["title/2528",[55,399.326,4428,1197.481]],["content/2528",[]],["keywords/2528",[]],["title/2529",[426,502.78]],["content/2529",[11,6.249,248,5.207,252,4.22,281,6.552,323,5.906,2665,4.664,2734,15.681,7823,13.338,9255,24.193]],["keywords/2529",[]],["title/2530",[55,399.326,77,830.229]],["content/2530",[]],["keywords/2530",[]],["title/2531",[312,664.279]],["content/2531",[252,4.618,255,9.82,396,14.788,949,11.909,1105,9.546,2665,5.103]],["keywords/2531",[]]],"invertedIndex":[["",{"_index":254,"title":{"13":{"position":[[13,1]]},"65":{"position":[[7,1]]},"1781":{"position":[[15,1]]}},"content":{"10":{"position":[[842,1],[883,2],[951,2],[1009,1],[1042,1],[1070,2],[1234,2],[1310,2],[1383,1],[1705,1],[1814,1],[1862,1],[1963,1],[1965,2],[2041,1],[2118,1],[2151,1],[2242,1],[2244,2],[2332,1],[2345,1]]},"13":{"position":[[23,1]]},"24":{"position":[[971,1],[990,1],[1002,1],[1029,1],[1059,2],[1159,2],[1213,2],[1316,1],[1344,2]]},"27":{"position":[[40,2],[82,2],[136,2]]},"35":{"position":[[38,2],[78,2],[121,2],[188,2],[258,2],[324,2],[406,1],[421,1],[502,1],[517,1],[618,1],[633,1],[682,1],[718,1]]},"36":{"position":[[40,2],[82,2],[149,2],[219,2],[262,2],[304,2],[376,2],[429,2]]},"42":{"position":[[701,1],[717,1],[789,1],[817,2],[836,2],[918,1],[960,1],[974,1],[982,1],[996,1],[1009,1],[1011,1],[1183,2],[1250,1],[1275,1],[1306,1],[1322,1],[1380,1],[1396,1],[1412,1],[1422,1],[1450,2],[1453,2],[1521,1],[1523,1],[1786,1],[1802,1],[1818,1],[1828,1],[1856,2],[1859,2],[1947,1],[2144,1],[2182,1]]},"46":{"position":[[730,1]]},"49":{"position":[[474,1]]},"50":{"position":[[141,1]]},"53":{"position":[[221,4]]},"59":{"position":[[16,1],[33,1],[89,1],[136,1],[227,1],[237,1],[324,1]]},"69":{"position":[[41,1]]},"71":{"position":[[1477,1],[1496,1],[1512,1],[1534,1],[1536,2],[1596,1],[1598,2],[1634,1],[1636,1],[1748,1],[1767,1],[1783,1],[1805,1],[1807,2],[1867,1],[1869,2],[1905,2],[1992,2],[2095,1],[2127,1],[2129,2],[2196,1],[2198,1]]},"81":{"position":[[139,1],[141,1],[175,1],[177,1],[179,1],[188,1],[190,1],[192,1],[200,1],[202,1],[204,1],[218,1],[230,1],[232,1],[234,1],[247,1],[249,1],[251,1],[258,1],[260,1],[262,1],[272,1],[274,1],[276,1],[285,1],[287,1],[289,1]]},"85":{"position":[[614,1],[651,1],[671,1],[690,1],[745,1],[783,1],[990,2],[1036,1],[1073,1]]},"92":{"position":[[448,1],[1328,1],[1471,1],[1473,2],[1533,1],[1571,1],[1622,1],[1624,2],[1688,2],[1740,1]]},"100":{"position":[[572,1]]},"105":{"position":[[139,1]]},"106":{"position":[[265,2],[346,1],[396,1]]},"116":{"position":[[135,1],[184,1]]},"117":{"position":[[737,1],[785,1],[869,1],[871,2],[923,1],[994,1],[1042,1],[1169,1],[1171,2],[1328,2],[1375,1],[1409,2],[1455,1],[1457,2],[1541,1],[1572,1],[1581,1],[1607,1],[1626,2],[1684,1],[1691,1],[1762,1],[1764,1],[1849,1],[1864,1],[1907,1],[1915,1],[1923,3],[1927,2],[2006,1],[2114,1],[2201,2],[2227,1],[2273,1],[2311,1],[2382,1],[2417,1],[2440,1],[2476,1],[2545,1],[2547,1],[2629,1],[2677,1],[2759,1],[2761,2],[2817,1],[2884,2],[2956,1]]},"123":{"position":[[66,1],[85,1],[140,1],[147,1],[165,1],[199,1],[277,1],[357,1]]},"124":{"position":[[82,1],[101,1],[151,1],[158,1],[173,1]]},"125":{"position":[[111,1],[223,1],[248,1],[285,1],[349,1],[408,1],[478,2],[486,1],[539,1],[547,1],[564,1],[648,1],[716,1],[731,1],[773,1],[791,1],[835,2],[843,1],[858,1],[892,1],[894,1]]},"129":{"position":[[104,1],[123,1],[186,1],[195,1],[270,1],[312,1],[355,1],[414,1],[538,1]]},"130":{"position":[[76,1],[88,1],[99,1],[113,1],[118,1],[152,1],[171,1],[230,1],[239,1],[309,1],[345,1]]},"131":{"position":[[160,1],[185,1],[222,1],[286,1],[324,1],[350,1],[420,2],[428,1],[466,1],[486,1],[494,1],[511,1],[595,1],[663,1],[678,1],[695,1],[697,1],[713,1],[731,1],[775,2],[783,1],[798,1],[815,1],[817,1],[825,1],[827,1]]},"135":{"position":[[66,1],[85,1],[129,1],[141,1],[182,1],[221,1],[275,1]]},"136":{"position":[[68,1],[87,1],[136,1],[148,1],[192,1]]},"137":{"position":[[143,1],[168,1],[205,1],[269,1],[322,1],[392,2],[400,1],[447,1],[455,1],[472,1],[556,1],[624,1],[639,1],[665,1],[683,1],[727,2],[735,1],[750,1],[768,1],[770,1]]},"139":{"position":[[113,1],[119,1],[125,1],[131,1],[341,1],[356,1],[362,1],[443,3],[810,1],[816,1],[882,1],[884,1],[889,1],[899,1],[901,1]]},"141":{"position":[[32,1],[51,1],[111,1]]},"142":{"position":[[111,1],[218,1],[243,1],[280,1],[344,1],[403,1],[473,2],[481,1],[534,1],[542,1],[559,1],[643,1],[711,1],[726,1],[768,1],[786,1],[830,2],[838,1],[853,1],[887,1],[889,1]]},"148":{"position":[[21,1],[103,1],[122,1],[197,1]]},"149":{"position":[[21,1],[67,1],[132,1],[151,1],[238,1]]},"150":{"position":[[55,1],[74,1],[143,1]]},"151":{"position":[[204,1],[302,1],[429,1],[454,1],[491,1],[555,1],[662,1],[732,2],[740,1],[795,1],[803,1],[838,2],[846,1],[901,1],[909,1],[926,1],[1010,1],[1078,1],[1094,1],[1143,1],[1186,1],[1204,1],[1248,2],[1256,1],[1272,1],[1307,1],[1335,2],[1343,1],[1359,1],[1394,1],[1396,1]]},"155":{"position":[[109,1],[128,1],[188,1],[197,1],[272,1],[314,1],[357,1],[483,1]]},"156":{"position":[[157,1],[182,1],[219,1],[283,1],[351,1],[421,2],[429,1],[491,1],[499,1],[516,1],[600,1],[668,1],[683,1],[724,1],[742,1],[786,2],[794,1],[809,1],[842,1],[844,1]]},"158":{"position":[[109,1],[128,1],[186,1],[195,1],[270,1],[312,1],[355,1],[414,1],[538,1]]},"159":{"position":[[76,1],[88,1],[99,1],[113,1],[118,1],[152,1],[171,1],[230,1],[239,1],[309,1],[345,1]]},"160":{"position":[[160,1],[185,1],[222,1],[286,1],[324,1],[350,1],[420,2],[428,1],[466,1],[486,1],[494,1],[511,1],[595,1],[663,1],[678,1],[695,1],[697,1],[713,1],[731,1],[775,2],[783,1],[798,1],[815,1],[817,1],[825,1],[827,1]]},"173":{"position":[[204,1],[709,1],[944,1],[1239,1],[1331,1]]},"186":{"position":[[334,1],[336,2],[353,1],[377,1],[417,1]]},"187":{"position":[[467,1],[469,1],[471,1],[473,1],[475,1],[477,1],[479,1],[481,1],[483,1],[485,1],[487,1]]},"195":{"position":[[332,1]]},"196":{"position":[[695,3],[804,3],[856,3]]},"197":{"position":[[266,1],[317,1],[381,1]]},"198":{"position":[[532,1]]},"203":{"position":[[1602,1],[1630,1],[1649,1],[1672,1],[1735,1],[1771,1],[1853,1],[1877,1],[1901,1],[1923,1],[1933,1],[1947,1],[1987,1],[2004,1],[2026,1],[2064,1],[2081,1],[2152,1],[2154,1],[2156,1]]},"204":{"position":[[273,1]]},"205":{"position":[[51,1]]},"207":{"position":[[223,1],[250,1],[266,1],[345,1],[368,1],[378,1],[438,1],[440,1],[442,1]]},"209":{"position":[[374,1],[402,1],[421,1],[539,1],[605,1],[657,1],[737,1],[739,2],[843,1],[864,1],[872,1],[895,1],[958,1],[994,1],[1076,1],[1137,1],[1202,1],[1247,1],[1268,1],[1306,1],[1413,1],[1468,1],[1490,1],[1504,1],[1558,1],[1581,1],[1609,1],[1692,1],[1740,1],[1763,1],[1787,1],[1809,1],[1811,2],[1908,1],[1922,1],[1962,1],[1979,1],[2001,1],[2039,1],[2056,1],[2127,1],[2129,1],[2131,1]]},"210":{"position":[[417,1],[463,1],[576,1],[625,1],[644,1],[669,1],[732,1],[734,1],[801,1],[906,1],[927,1],[958,1],[995,1],[1030,1],[1057,1],[1065,3],[1069,1],[1071,1],[1073,1],[1075,1],[1207,1],[1234,1],[1253,1],[1333,1],[1442,1],[1536,1],[1550,1],[1584,1],[1603,2],[1612,1],[1651,1],[1653,1],[1655,1],[1657,1]]},"211":{"position":[[107,1],[159,1],[259,1],[261,2],[283,2],[393,2],[402,1],[440,1],[442,2],[463,2],[573,2],[582,1],[619,1],[621,1],[683,1],[704,1],[716,1],[731,1],[733,2],[790,1],[801,2],[810,1],[835,1],[837,1],[839,1],[986,1],[1008,1],[1010,2],[1107,1],[1121,1],[1161,1],[1178,1],[1200,1],[1238,1],[1255,1],[1410,1],[1432,2],[1487,1],[1509,1],[1514,1],[1560,1],[1562,1]]},"224":{"position":[[248,1],[264,1],[286,1],[366,1],[396,1],[454,1],[456,1]]},"225":{"position":[[417,1],[433,1],[513,1],[515,2],[575,2],[718,1],[749,1],[772,2],[813,2],[833,1],[888,1],[963,1],[1020,1],[1097,1],[1128,1],[1151,2],[1192,2],[1212,1],[1267,1],[1342,1],[1399,1],[1476,1],[1478,1]]},"237":{"position":[[228,1],[312,1],[314,2],[411,1],[461,1],[463,2],[558,1],[584,1]]},"238":{"position":[[540,1],[556,1],[654,2],[837,1],[874,2],[975,1],[977,2],[1015,2],[1048,1],[1091,1],[1093,2],[1186,1],[1188,1],[1190,2],[1301,1],[1303,2],[1341,2],[1429,1],[1540,1],[1568,1],[1570,2],[1615,2],[1873,1],[1925,1],[1927,2],[2066,2],[2156,1],[2202,1],[2204,2],[2284,2],[2338,2],[2431,2],[2437,1],[2439,2],[2555,1],[2572,1],[2605,2],[2658,1],[2697,1],[2743,1],[2745,1]]},"240":{"position":[[1886,1],[1893,1],[1924,1],[1951,1],[1970,1],[2145,1],[2292,1],[2344,1],[2346,2],[2426,2],[2551,1],[2599,1],[2673,1],[2700,1],[2939,1],[2941,1],[2957,1],[3048,2],[3179,2],[3304,2],[3427,2],[3499,1],[3567,1],[3582,1],[3598,1],[3600,1]]},"241":{"position":[[299,1],[390,2],[521,2],[646,2],[769,2],[897,2],[937,1],[971,1],[973,2],[1031,1],[1078,1],[1136,1],[1180,2],[1250,1],[1327,1],[1360,1],[1412,2],[1493,2],[1569,1],[1585,2],[1685,1],[1709,2],[1808,1],[2200,1],[2219,1],[2235,1],[2475,1],[2527,1],[2529,2],[2609,2],[2734,1],[2772,1],[2836,1],[2838,2],[2925,1],[2927,2],[3002,2],[3125,1],[3152,1],[3361,1],[3363,1],[3365,1]]},"242":{"position":[[146,2],[288,1],[290,2],[369,1],[431,2],[501,1],[605,1],[691,1]]},"245":{"position":[[406,1],[422,1],[567,1],[589,1],[652,1],[709,1],[772,1],[815,1],[817,2],[890,1],[1073,1],[1140,1],[1186,1],[1195,1],[1197,1],[1873,1],[1875,2],[2120,1],[2122,2],[2225,1],[2276,1],[2299,1],[2319,1],[2327,1],[2343,1],[2363,1],[2383,1],[2490,1],[2492,1],[2559,1],[2606,1],[2615,1],[3661,1],[3680,1],[3727,1],[3780,1],[3819,1],[3873,1],[3887,1],[3889,1],[4056,1],[4064,1],[4080,1],[4100,1],[4120,1],[4202,1],[4254,1],[4331,1],[4385,1],[4387,1]]},"249":{"position":[[728,1],[736,1],[752,1],[772,1],[792,1],[874,1],[926,1],[1003,1],[1065,1],[1067,1],[1176,1],[1439,1],[1493,1],[1537,1],[1549,1],[1579,1],[1629,1],[1682,1],[1690,1]]},"251":{"position":[[270,1],[303,1],[319,1],[421,1],[445,1],[593,1],[687,1],[689,2],[782,1],[832,1],[834,2],[925,1],[951,1],[970,1],[1018,1],[1050,1],[1057,1],[1106,1],[1134,1],[1157,1],[1192,1],[1194,1],[1224,1],[1257,1],[1341,1],[1343,2],[1430,1],[1474,1],[1589,1],[1591,3],[1611,3],[1646,3],[1723,3],[1744,3],[1802,3],[1860,3],[1970,1],[1993,1],[2013,1],[2030,2],[2048,1],[2063,2],[2099,2],[2162,2],[2171,1],[2186,1],[2188,2],[2252,1],[2288,1],[2346,1],[2348,3],[2368,3],[2420,3],[2501,3],[2522,3],[2630,1],[2632,2],[2687,2],[2730,1],[2732,1],[2734,1],[3302,1],[3322,1],[3369,1],[3468,1],[3498,2],[3512,1],[3552,1],[3566,1],[3604,1],[3642,2],[3688,1],[3690,2],[3780,1],[3782,1],[3881,1],[3883,2],[3933,1],[3984,1],[4047,1],[4108,1],[4128,1],[4133,2],[4244,2],[4322,1],[4382,1],[4424,2],[4496,2],[4643,1]]},"254":{"position":[[919,1],[935,1],[1078,1],[1080,2],[1154,1],[1201,1],[1227,2],[1292,2],[1488,2],[1580,1],[1582,1]]},"255":{"position":[[184,1],[232,1]]},"264":{"position":[[2353,1],[2453,1],[2480,1],[2495,1],[2539,1],[2597,2],[2631,2],[2671,1]]},"272":{"position":[[482,1],[499,1],[538,1],[540,2],[558,1],[621,1],[623,2],[671,1],[709,1],[711,2],[729,1],[768,1],[770,2],[788,1],[851,1],[853,2],[891,1],[957,1],[959,2],[982,1],[984,1],[1053,1],[1070,1],[1085,1],[1374,1],[1397,1],[1399,2],[1417,1],[1461,1],[1463,2],[1513,1],[1535,1],[1537,2],[1555,1],[1580,1],[1582,2],[1600,1],[1644,1],[1646,2],[1666,1],[1722,1],[1724,2],[1747,1],[1749,1]]},"273":{"position":[[537,1],[556,1],[595,1],[597,2],[625,1],[664,1],[666,2],[694,1],[696,1],[776,1],[795,1],[810,1],[914,1],[937,1],[939,2],[967,1],[990,1],[992,2],[1020,1],[1022,1]]},"274":{"position":[[122,1],[179,1],[220,1],[264,1],[307,1]]},"280":{"position":[[0,2],[99,2],[169,1],[232,1],[254,1],[270,1],[272,2],[384,1],[429,1],[460,1],[462,2],[580,1],[644,1],[712,1],[726,1],[728,2],[810,1],[820,1],[841,1],[849,1],[867,1],[885,1],[893,2],[896,2],[1019,1],[1021,1]]},"285":{"position":[[100,1],[169,1],[171,2],[199,1]]},"286":{"position":[[134,1]]},"287":{"position":[[85,1]]},"288":{"position":[[430,1],[449,1],[451,2],[522,1],[586,1],[588,2],[699,1],[768,1],[770,2],[863,1],[947,1],[949,1],[981,1],[1000,1],[1057,1],[1074,1],[1084,1],[1094,1],[1120,1],[1166,1],[1203,1],[1214,1],[1216,1],[1614,1],[1710,1],[1803,1],[1822,1],[1903,1],[1949,1],[1992,1],[2081,1],[2101,1],[2177,1],[2179,2],[2282,1],[2301,1],[2334,1],[2343,2],[2362,1],[2382,1],[2433,1],[2435,2],[2540,1],[2542,1]]},"290":{"position":[[91,1],[110,1],[202,1],[215,1],[226,1],[228,1]]},"291":{"position":[[275,1],[294,1],[386,1],[407,1],[452,1],[459,1],[495,1],[528,1],[615,1],[617,1],[619,1],[682,1],[695,1],[706,1],[824,1],[886,1],[904,1],[1067,1],[1106,1],[1118,1],[1120,1]]},"294":{"position":[[382,1],[401,1],[463,1],[465,2],[514,2],[589,1],[751,1],[753,1],[810,1],[812,2],[897,1],[982,1],[984,1]]},"295":{"position":[[330,1],[678,1],[685,1],[700,1],[720,1],[739,1],[807,1],[891,1],[899,1],[962,1],[974,1],[990,1],[992,1],[994,1]]},"301":{"position":[[762,1]]},"307":{"position":[[140,1],[156,1],[178,1],[213,1],[332,1],[334,1],[543,1],[559,1],[600,1],[629,3]]},"308":{"position":[[155,1],[171,1],[193,1],[228,1],[380,1],[382,1],[1317,1],[1333,1],[1378,1],[1407,1],[1569,1],[1585,1],[1607,1],[1642,1],[1796,1],[1798,1]]},"310":{"position":[[175,1],[197,1],[277,1],[279,2],[382,1],[402,1],[420,3],[462,1],[464,1]]},"311":{"position":[[165,1],[187,1],[230,1],[232,2],[272,2],[297,1],[299,1]]},"312":{"position":[[172,1],[194,1],[241,1],[243,2],[287,2],[312,1],[314,1]]},"314":{"position":[[1068,1],[1162,1],[1258,1],[1315,1],[1341,1],[1357,2],[1366,1],[1488,1],[1511,1],[1513,1]]},"315":{"position":[[579,1],[660,1],[697,1],[762,1],[805,1],[807,1]]},"316":{"position":[[316,1],[338,1],[353,1],[360,1],[384,1],[398,1],[405,1],[447,1],[462,1],[481,1],[526,1],[528,2],[606,2],[675,1],[677,2],[702,2],[744,1],[776,1],[778,2],[823,1],[825,1],[874,1],[876,2],[948,2],[1032,1],[1034,1],[1165,1],[1185,1],[1207,1],[1279,1],[1308,1],[1412,1],[1444,1],[1583,1],[1585,1],[1642,1],[1654,1],[1688,1],[1721,1],[1728,1],[1761,1],[1788,2],[1820,1],[1827,1],[1860,1],[1894,1],[1921,2],[1995,1],[1997,1],[1999,1]]},"317":{"position":[[1046,1],[1080,1],[1119,1],[1138,1],[1231,2],[1234,3],[1238,1],[1276,1],[1348,1],[1350,2],[1444,1],[1503,1],[1505,2],[1649,1],[1651,1]]},"319":{"position":[[148,1],[167,1],[222,1],[224,2],[236,1],[238,1]]},"320":{"position":[[400,1],[420,1],[544,1],[618,1],[620,2],[634,1],[695,1],[697,2],[710,1],[712,1]]},"321":{"position":[[281,1],[299,1],[315,1],[330,1],[414,1],[487,1],[489,2],[501,1],[503,1]]},"322":{"position":[[193,1],[231,1],[258,1],[277,1],[330,1]]},"327":{"position":[[634,1],[641,1],[664,1],[1077,1],[1128,1]]},"328":{"position":[[130,1],[132,2],[158,1],[219,1],[221,2],[246,1],[776,1],[799,1],[819,1],[847,1],[867,1],[918,1],[935,1],[966,1],[982,1],[984,1],[1031,1],[1105,1],[1183,1],[1244,1],[1306,1],[1308,1],[1530,1],[1582,1],[1629,1],[1713,1],[1781,1],[1884,1],[1955,1],[1971,1],[2027,1],[2079,1],[2097,2],[2105,1],[2155,1],[2186,1],[2194,1],[2213,1],[2226,2],[2229,1],[2231,1],[2423,1],[2507,1],[2541,1],[2638,1],[2705,1],[2739,1],[2791,1],[2809,2],[2817,1],[2867,1],[2893,1],[2895,1]]},"332":{"position":[[496,1],[515,1],[517,2],[634,2],[714,1],[716,2],[750,1],[793,2],[923,1],[1020,1],[1022,2],[1067,1],[1113,2],[1147,1],[1190,1],[1192,1]]},"340":{"position":[[48,1],[76,2],[99,1],[118,1],[166,1],[204,1],[264,1],[290,1],[305,1],[330,1],[332,1],[334,1],[787,1],[815,3],[839,1],[858,1],[912,1],[934,2],[979,2],[1074,1],[1091,2],[1110,1],[1180,1],[1194,1],[1232,2],[1327,2],[1411,2],[1458,1],[1460,1],[1462,1]]},"343":{"position":[[100,1],[167,1],[189,1],[208,1],[271,1],[336,1],[389,1],[420,1],[463,1],[470,1],[502,1],[519,1],[524,3],[569,1],[576,1],[612,1],[629,1],[634,3],[679,1],[686,1],[720,1],[736,1],[741,3],[787,1],[794,1],[825,1],[842,1],[847,3],[851,1],[853,1]]},"345":{"position":[[60,1],[79,1],[142,1],[244,1],[288,2],[366,1],[387,2],[458,1],[460,2],[539,1],[557,2],[574,1],[607,1],[609,2],[654,1],[684,1],[686,2],[731,1],[733,1],[1004,1]]},"346":{"position":[[68,1],[87,1],[103,1],[145,1],[177,1],[219,1],[296,1],[298,2],[319,1],[321,1],[555,1],[557,2],[606,1],[668,1],[670,2],[889,1],[896,1],[898,2],[1028,2],[1035,1],[1088,1],[1096,1],[1141,2],[1148,1],[1201,1],[1209,1],[1254,2],[1261,1],[1300,1],[1308,1],[1326,1],[1328,1],[1568,1],[1570,2],[1671,1],[1673,2],[1776,1],[1799,1],[1833,2],[1938,1],[1976,1],[1988,1],[2036,1],[2067,1],[2087,1],[2121,2],[2173,2],[2179,1],[2193,1],[2216,1],[2250,2],[2355,1],[2393,1],[2395,1],[2397,2],[2449,2],[2455,1],[2467,1],[2501,1],[2503,2],[2555,2],[2561,1],[2577,1],[2600,1],[2602,1]]},"348":{"position":[[398,1],[417,1],[438,1],[468,2],[500,1],[538,1],[598,1],[624,1],[639,1],[664,1],[666,1],[668,1],[1089,1],[1108,1],[1137,1],[1167,3],[1207,1],[1229,2],[1274,2],[1369,1],[1386,2],[1405,1],[1475,1],[1489,1],[1527,2],[1622,2],[1706,2],[1753,1],[1755,1],[1757,1]]},"351":{"position":[[81,1],[144,1],[166,1],[185,1],[235,1],[282,1],[339,1],[360,1],[369,1],[385,1],[396,1],[403,1],[431,1],[442,1],[476,2],[479,2],[562,1],[564,1],[566,1]]},"353":{"position":[[60,1],[79,1],[129,1],[204,1],[234,2],[312,1],[333,2],[404,1],[406,2],[485,1],[503,2],[520,1],[553,1],[555,2],[600,1],[630,1],[632,2],[677,1],[679,1],[912,1]]},"359":{"position":[[157,1]]},"1106":{"position":[[95,1]]},"1123":{"position":[[64,1]]},"1474":{"position":[[10686,1],[12947,1],[13404,1],[15909,1],[20304,1]]},"1476":{"position":[[3365,1]]},"1479":{"position":[[327,1],[451,1],[511,1],[625,1]]},"1527":{"position":[[48,1]]},"1529":{"position":[[38,1]]},"1531":{"position":[[50,1]]},"1535":{"position":[[38,1]]},"1735":{"position":[[93,1]]},"1744":{"position":[[20,1]]},"1774":{"position":[[42,1],[49,1],[156,1],[163,1],[258,1],[265,1],[344,1],[351,1]]},"1777":{"position":[[111,1],[130,1],[187,1],[247,1],[277,1],[279,1],[332,1],[334,2],[382,1],[384,1]]},"1778":{"position":[[79,1],[98,1],[131,1],[151,1],[157,1],[192,1]]},"1780":{"position":[[239,1],[258,1],[274,1],[324,1],[366,2],[443,2],[568,1],[579,1],[664,1],[695,1],[709,1],[754,1],[813,1],[815,2],[885,2],[894,1],[911,1],[932,1],[955,1],[967,1],[994,1],[1021,1],[1023,1]]},"1781":{"position":[[276,1],[295,1],[311,1],[353,1],[388,1],[430,2],[507,2],[632,1],[643,1],[728,1],[759,1],[773,1],[818,1],[877,1],[879,2],[949,2],[958,1],[975,1],[996,1],[1019,1],[1031,1],[1058,1],[1085,1],[1087,1]]},"1783":{"position":[[53,1],[72,1],[95,1],[147,1],[200,1],[231,1],[233,2],[330,1],[354,1],[389,1],[391,2],[456,1],[458,1],[528,1],[530,2],[593,1],[605,2],[678,2],[729,1],[799,1],[801,2],[835,1],[847,2],[898,1],[939,1],[941,2],[975,2],[1010,1],[1012,1]]},"1787":{"position":[[33,1],[40,1]]},"1789":{"position":[[57,1],[64,1]]},"1793":{"position":[[72,1],[79,1]]},"1795":{"position":[[100,1],[582,1]]},"1810":{"position":[[87,1],[94,1]]},"1819":{"position":[[60,1],[163,1]]},"1826":{"position":[[492,1]]},"1834":{"position":[[82,1],[89,1]]},"1841":{"position":[[82,1],[89,1],[168,1],[175,1]]},"1847":{"position":[[39,1],[46,1],[110,1],[117,1]]},"1853":{"position":[[389,1]]},"1854":{"position":[[37,1],[44,1],[95,1],[102,1],[147,1],[154,1],[204,1],[216,1]]},"1859":{"position":[[37,1],[44,1],[95,1],[102,1],[147,1],[154,1]]},"1864":{"position":[[37,1],[44,1],[95,1],[102,1],[147,1],[154,1],[212,1],[219,1],[283,1],[290,1],[421,1],[428,1],[565,1],[572,1],[627,1],[639,1]]},"1870":{"position":[[290,1],[322,1],[348,1]]},"1873":{"position":[[37,1],[44,1],[95,1],[102,1],[147,1],[154,1]]},"1875":{"position":[[1582,1]]},"1877":{"position":[[42,1],[49,1]]},"1881":{"position":[[45,1],[57,1]]},"1905":{"position":[[1220,1]]},"1910":{"position":[[99,1]]},"1911":{"position":[[1487,1]]},"1912":{"position":[[101,1]]},"1925":{"position":[[107,1]]},"1926":{"position":[[1459,1]]},"1930":{"position":[[112,1]]},"1934":{"position":[[87,1],[94,1]]},"1935":{"position":[[107,1],[314,1],[548,1],[906,1],[1341,1]]},"1943":{"position":[[46,1],[53,1]]},"1944":{"position":[[99,1]]},"1946":{"position":[[159,1],[185,1]]},"1949":{"position":[[24,1],[65,1],[126,1],[177,1]]},"1968":{"position":[[34,1],[73,1]]},"1992":{"position":[[97,1],[112,1],[163,1],[179,1]]},"2007":{"position":[[95,1],[107,1]]},"2009":{"position":[[229,1],[236,1]]},"2012":{"position":[[809,1],[1717,1]]},"2014":{"position":[[39,1],[85,1],[131,1],[177,1],[224,1],[271,1],[318,1],[366,1],[414,1],[464,1],[515,1],[566,1],[617,1],[668,1],[720,1],[772,1],[824,1],[877,1],[930,1],[983,1],[1037,1],[1091,1],[1145,1],[1199,1],[1254,1],[1309,1],[1364,1],[1420,1],[1476,1],[1532,1],[1589,1],[1646,1],[1703,1],[1760,1],[1818,1],[1876,1],[1934,1],[1993,1],[2052,1],[2111,1],[2171,1],[2231,1],[2291,1],[2351,1],[2412,1],[2473,1],[2534,1],[2596,1],[2658,1],[2720,1],[2783,1],[2846,1],[2909,1],[2972,1],[3036,1],[3100,1],[3164,1],[3229,1],[3294,1],[3359,1],[3425,1],[3491,1],[3557,1],[3623,1]]},"2016":{"position":[[85,1],[106,1]]},"2018":{"position":[[121,1],[128,1]]},"2019":{"position":[[216,1],[237,1]]},"2022":{"position":[[84,1],[91,1],[188,1],[195,1],[293,1],[300,1]]},"2023":{"position":[[3473,1]]},"2030":{"position":[[72,1],[79,1],[212,1],[219,1],[338,1],[345,1]]},"2031":{"position":[[3626,1]]},"2035":{"position":[[94,1]]},"2037":{"position":[[67,1],[74,1]]},"2039":{"position":[[358,1],[370,1]]},"2042":{"position":[[86,1]]},"2052":{"position":[[341,1]]},"2054":{"position":[[93,1]]},"2056":{"position":[[2479,1],[5028,1]]},"2065":{"position":[[343,1]]},"2066":{"position":[[419,1]]},"2080":{"position":[[231,1]]},"2083":{"position":[[544,1],[568,1],[597,1],[675,1]]},"2085":{"position":[[71,1],[78,1]]},"2099":{"position":[[53,1],[60,1]]},"2109":{"position":[[54,1],[61,1]]},"2112":{"position":[[244,1],[268,1]]},"2113":{"position":[[63,1],[179,1],[306,1],[406,1],[483,1],[558,1],[635,1],[720,1],[812,1]]},"2114":{"position":[[207,4]]},"2117":{"position":[[71,1]]},"2118":{"position":[[54,1],[61,1]]},"2124":{"position":[[93,1],[182,1],[271,1],[359,1]]},"2128":{"position":[[44,1],[116,1],[185,1],[311,1],[400,1],[489,1]]},"2134":{"position":[[40,1],[113,1],[210,1],[305,1],[394,1]]},"2138":{"position":[[37,1],[49,1]]},"2140":{"position":[[42,1],[49,1],[94,1],[101,1]]},"2143":{"position":[[28,1],[40,1]]},"2154":{"position":[[29,1],[36,1]]},"2162":{"position":[[34,1],[173,1],[288,1],[500,1],[625,1],[745,1],[836,1]]},"2164":{"position":[[56,1]]},"2169":{"position":[[109,1],[116,1],[298,1],[305,1],[429,1],[436,1],[630,1],[637,1]]},"2171":{"position":[[162,1],[185,1],[209,1]]},"2172":{"position":[[57,1],[64,1]]},"2181":{"position":[[40,1],[169,1],[247,1],[329,1],[437,1]]},"2183":{"position":[[235,1],[743,1]]},"2184":{"position":[[49,1],[56,1]]},"2188":{"position":[[54,1],[61,1]]},"2192":{"position":[[91,1],[98,1]]},"2193":{"position":[[145,4],[168,3]]},"2198":{"position":[[152,1],[159,1]]},"2199":{"position":[[726,1],[747,1],[765,2]]},"2203":{"position":[[36,1],[43,1],[84,1],[91,1],[212,1],[219,1],[265,1],[272,1],[328,1],[335,1],[389,1],[396,1],[439,1],[446,1]]},"2204":{"position":[[1824,2]]},"2217":{"position":[[253,1],[260,1]]},"2219":{"position":[[34,1],[67,1],[102,1]]},"2222":{"position":[[53,1],[60,1]]},"2232":{"position":[[62,1],[69,1],[133,1],[145,1],[194,1],[206,1]]},"2233":{"position":[[525,1],[546,1],[564,2]]},"2240":{"position":[[1991,2],[4318,1]]},"2250":{"position":[[32,1],[73,1]]},"2257":{"position":[[28,1],[69,1]]},"2259":{"position":[[40,1],[81,1],[120,1]]},"2261":{"position":[[40,1],[123,1],[223,1],[327,1],[447,1],[535,1],[611,1],[727,1],[859,1],[965,1]]},"2264":{"position":[[49,1],[56,1]]},"2273":{"position":[[40,1],[47,1],[86,1],[93,1]]},"2275":{"position":[[176,1]]},"2283":{"position":[[44,1],[56,1]]},"2296":{"position":[[88,1],[294,1]]},"2298":{"position":[[40,1],[47,1],[98,1],[105,1],[173,1],[180,1],[234,1],[241,1],[341,1],[348,1]]},"2299":{"position":[[141,1]]},"2305":{"position":[[118,1],[130,1],[178,1],[185,1],[307,1],[314,1]]},"2306":{"position":[[861,1]]},"2308":{"position":[[105,1],[117,1]]},"2310":{"position":[[157,1],[164,1]]},"2319":{"position":[[165,1]]},"2322":{"position":[[1036,1],[1768,1],[2480,1]]},"2324":{"position":[[121,1]]},"2329":{"position":[[842,1],[1206,1]]},"2335":{"position":[[50,1],[62,1]]},"2336":{"position":[[89,1]]},"2339":{"position":[[35,1],[47,1]]},"2350":{"position":[[45,1],[52,1],[159,1],[171,1],[240,1],[247,1],[381,1],[388,1],[527,1],[534,1],[720,1],[727,1],[914,1],[921,1],[1025,1],[1032,1],[1097,2],[1161,1],[1168,1],[1277,1],[1284,1],[1333,1],[1340,1],[1406,1],[1413,1],[1482,1],[1489,1],[1652,1],[1659,1],[1765,1],[1772,1]]},"2351":{"position":[[133,1],[154,1],[172,2],[824,1],[1037,1]]},"2352":{"position":[[318,1]]},"2357":{"position":[[466,1]]},"2358":{"position":[[281,1],[288,1],[412,1],[419,1],[555,1],[562,1],[641,1],[648,1],[1199,1],[1206,1],[1307,1],[1314,1],[1444,1],[1451,1],[1816,1],[1823,1],[2013,1],[2020,1],[2103,1],[2110,1],[2296,1],[2303,1],[2386,1],[2393,1],[2577,1],[2584,1],[2713,1],[2720,1],[2769,1],[2776,1],[2949,1],[2956,1],[3086,1],[3093,1],[3160,1],[3167,1],[3237,1],[3244,1],[3345,1],[3352,1],[3460,1],[3467,1]]},"2361":{"position":[[134,1],[167,1],[200,1],[341,1],[386,1],[427,1]]},"2363":{"position":[[49,1],[61,1]]},"2364":{"position":[[1614,1]]},"2367":{"position":[[101,1],[144,1],[198,1],[205,1],[348,1],[355,1]]},"2370":{"position":[[121,1],[128,1],[239,1],[246,1],[382,1],[389,1],[468,1],[475,1],[703,1],[710,1],[1093,1],[1100,1],[1403,1],[1410,1],[1519,1],[1526,1],[1651,1],[1658,1],[1747,1],[1754,1],[1862,1],[1869,1],[1950,1],[1957,1],[2023,1],[2030,1],[2211,1],[2218,1],[2326,1],[2333,1],[2383,1],[2553,1],[2560,1],[2733,1],[2740,1],[3014,1],[3021,1],[3071,1],[3083,1],[3561,1],[3568,1],[3946,1],[3953,1],[4323,1],[4330,1],[4794,1],[4801,1],[5030,1],[5037,1],[5260,1],[5267,1],[5389,1],[5396,1],[5471,1],[5478,1]]},"2375":{"position":[[24,1],[57,1],[90,1],[119,1]]},"2379":{"position":[[203,1],[268,1]]},"2382":{"position":[[123,1],[135,1]]},"2400":{"position":[[40,1],[47,1],[172,1],[179,1],[289,1],[296,1],[915,1],[927,1],[1010,1],[1017,1],[1044,1],[1050,1],[1178,1],[1185,1],[1243,1],[1250,1],[1407,1],[1414,1],[1507,1],[1514,1],[1613,1],[1625,1]]},"2401":{"position":[[720,1],[1136,1]]},"2408":{"position":[[84,1],[91,1],[230,1],[237,1],[365,1],[372,1],[479,1],[486,1],[606,1],[613,1],[730,1],[737,1],[866,1],[873,1]]},"2413":{"position":[[65,1],[72,1]]},"2415":{"position":[[442,1]]},"2416":{"position":[[164,1],[171,1],[352,1],[359,1],[512,1],[519,1],[685,1],[692,1],[835,1],[842,1],[1000,1],[1007,1],[1152,1],[1159,1]]},"2417":{"position":[[1874,1],[3455,1],[4913,1],[4944,2],[5451,1],[5482,2],[6117,1],[6167,1],[6198,2],[7047,1],[7097,1],[7128,2],[10065,1]]},"2420":{"position":[[45,1],[52,1],[159,1],[171,1],[240,1],[247,1],[383,1],[390,1],[453,1],[460,1],[531,1],[538,1],[607,1],[614,1],[673,1],[680,1],[747,1],[754,1],[819,1],[826,1],[938,1],[945,1],[1039,1],[1046,1],[1223,1],[1230,1],[1342,1],[1349,1],[1495,1],[1502,1],[1655,1],[1662,1],[1816,1],[1823,1],[1969,1],[1976,1],[2025,1],[2032,1],[2098,1],[2105,1],[2174,1],[2181,1]]},"2421":{"position":[[312,1],[1126,1],[1414,1],[1786,1],[2243,1],[2684,1],[2722,1],[3113,1],[3620,1],[4120,1]]},"2423":{"position":[[75,1],[82,1]]},"2428":{"position":[[75,1],[82,1]]},"2432":{"position":[[75,1],[82,1]]},"2440":{"position":[[67,1],[74,1],[177,1],[184,1]]},"2450":{"position":[[115,1]]},"2451":{"position":[[281,1]]},"2457":{"position":[[66,1],[73,1],[125,1],[132,1]]},"2460":{"position":[[60,1],[136,1],[267,1]]},"2461":{"position":[[157,1]]},"2462":{"position":[[312,1]]},"2466":{"position":[[347,1]]},"2468":{"position":[[28,1],[73,1],[122,1]]},"2474":{"position":[[298,1]]},"2478":{"position":[[2323,1],[3198,1],[4315,1],[4810,1],[5201,1],[5216,2],[5240,1],[5733,1],[5748,2],[5772,1]]},"2481":{"position":[[49,1],[56,1],[135,1],[142,1]]},"2482":{"position":[[536,1],[1344,1],[3359,1],[3643,1],[4144,1],[5092,1],[5443,1]]},"2483":{"position":[[91,1]]},"2488":{"position":[[67,1],[74,1]]},"2492":{"position":[[413,2]]},"2500":{"position":[[55,1]]},"2503":{"position":[[91,1],[213,1],[328,1]]},"2505":{"position":[[24,1],[85,1],[118,1]]},"2507":{"position":[[126,1],[211,1],[306,1],[413,1],[503,1],[596,1],[691,1]]},"2515":{"position":[[68,1]]},"2518":{"position":[[181,1],[205,1],[354,1],[449,1]]},"2520":{"position":[[24,1],[55,1],[102,1],[135,1],[190,1]]}},"keywords":{}}],["0",{"_index":530,"title":{},"content":{"31":{"position":[[539,3],[543,2],[546,2]]},"123":{"position":[[24,1]]},"130":{"position":[[101,2]]},"135":{"position":[[24,1]]},"159":{"position":[[101,2]]},"173":{"position":[[297,1]]},"202":{"position":[[923,3]]},"203":{"position":[[1870,2],[1873,3],[2114,3],[2141,2]]},"209":{"position":[[1093,2],[1096,3],[2089,3],[2116,2]]},"211":{"position":[[311,2],[491,2],[1288,3],[1315,2]]},"238":{"position":[[1050,2],[2241,2],[2434,2]]},"240":{"position":[[2596,2]]},"241":{"position":[[2769,2]]},"245":{"position":[[2329,2],[2345,2],[2426,2],[2429,3],[4066,2],[4082,2],[4163,2],[4166,3]]},"249":{"position":[[738,2],[754,2],[835,2],[838,3]]},"251":{"position":[[1108,2],[2011,1],[3635,2]]},"264":{"position":[[2455,2]]},"291":{"position":[[605,2]]},"346":{"position":[[2176,2],[2452,2],[2558,2]]},"482":{"position":[[25,1]]},"597":{"position":[[32,1]]},"1043":{"position":[[0,1]]},"1474":{"position":[[3250,1],[20645,1]]},"1477":{"position":[[2929,1],[2972,1]]},"1949":{"position":[[26,1]]},"1968":{"position":[[36,1]]},"1990":{"position":[[590,1]]},"2130":{"position":[[2584,1]]},"2134":{"position":[[42,1]]},"2158":{"position":[[1615,1]]},"2181":{"position":[[42,1]]},"2193":{"position":[[61,1],[136,2],[159,2]]},"2219":{"position":[[36,1]]},"2250":{"position":[[34,1]]},"2257":{"position":[[30,1]]},"2259":{"position":[[42,1]]},"2261":{"position":[[42,1]]},"2375":{"position":[[26,1]]},"2460":{"position":[[62,1]]},"2468":{"position":[[30,1]]},"2492":{"position":[[416,1]]},"2503":{"position":[[93,1]]},"2505":{"position":[[26,1]]},"2507":{"position":[[128,1]]},"2515":{"position":[[141,3]]},"2518":{"position":[[207,1]]},"2520":{"position":[[26,1]]}},"keywords":{}}],["0)scale",{"_index":1666,"title":{},"content":{"202":{"position":[[931,7]]}},"keywords":{}}],["0,0,0.insid",{"_index":1805,"title":{},"content":{"211":{"position":[[1756,12]]}},"keywords":{}}],["0,1,2,3,0,1,2,3,0,1,2,3",{"_index":8318,"title":{},"content":{"2091":{"position":[[602,26]]}},"keywords":{}}],["0..63",{"_index":7745,"title":{},"content":{"1992":{"position":[[464,7]]}},"keywords":{}}],["0..64",{"_index":7746,"title":{},"content":{"1992":{"position":[[480,7]]}},"keywords":{}}],["0.0.0.0/0",{"_index":1608,"title":{},"content":{"191":{"position":[[354,9]]}},"keywords":{}}],["0.00787f",{"_index":1170,"title":{},"content":{"124":{"position":[[199,8]]}},"keywords":{}}],["0.02f",{"_index":1151,"title":{},"content":{"123":{"position":[[113,7],[167,5]]},"125":{"position":[[34,7],[135,7]]}},"keywords":{}}],["0.05",{"_index":1278,"title":{},"content":{"148":{"position":[[43,4]]},"149":{"position":[[42,4]]}},"keywords":{}}],["0.05f",{"_index":1281,"title":{},"content":{"148":{"position":[[164,7]]},"149":{"position":[[192,6],[205,7]]},"150":{"position":[[110,7]]},"151":{"position":[[47,6],[60,7],[123,7],[242,6],[255,7],[334,6],[341,7]]}},"keywords":{}}],["0.1",{"_index":1284,"title":{},"content":{"149":{"position":[[86,3]]},"359":{"position":[[339,4]]}},"keywords":{}}],["0.1f",{"_index":1286,"title":{},"content":{"149":{"position":[[199,5]]},"151":{"position":[[54,5],[249,5]]},"209":{"position":[[1222,5],[1228,6]]},"251":{"position":[[3554,5],[3606,5]]}},"keywords":{}}],["0.2",{"_index":1374,"title":{},"content":{"173":{"position":[[995,4],[1057,3]]}},"keywords":{}}],["0.3f",{"_index":1733,"title":{},"content":{"209":{"position":[[1155,5]]}},"keywords":{}}],["0.5",{"_index":9235,"title":{},"content":{"2515":{"position":[[180,5]]}},"keywords":{}}],["0.5f",{"_index":7193,"title":{},"content":{"1780":{"position":[[743,5]]},"1781":{"position":[[807,5]]}},"keywords":{}}],["0.6f",{"_index":1734,"title":{},"content":{"209":{"position":[[1161,6]]}},"keywords":{}}],["0.707",{"_index":1262,"title":{},"content":{"139":{"position":[[904,6],[972,5],[981,6]]}},"keywords":{}}],["00",{"_index":1215,"title":{},"content":{"130":{"position":[[332,2]]},"159":{"position":[[332,2]]}},"keywords":{}}],["00000000_00000000_00000000_00001111",{"_index":7741,"title":{},"content":{"1992":{"position":[[114,35]]}},"keywords":{}}],["00000000_00000000_00000011_11111111",{"_index":7742,"title":{},"content":{"1992":{"position":[[181,35]]}},"keywords":{}}],["0000_0100",{"_index":1312,"title":{},"content":{"155":{"position":[[522,9]]}},"keywords":{}}],["0000_1110",{"_index":1210,"title":{},"content":{"129":{"position":[[577,9]]},"158":{"position":[[577,9]]}},"keywords":{}}],["000_0010",{"_index":1230,"title":{},"content":{"135":{"position":[[314,8]]}},"keywords":{}}],["0010_1011",{"_index":1202,"title":{},"content":{"129":{"position":[[336,9]]},"158":{"position":[[336,9]]}},"keywords":{}}],["002ec48",{"_index":3004,"title":{},"content":{"400":{"position":[[142,9]]}},"keywords":{}}],["00517bc",{"_index":4376,"title":{},"content":{"994":{"position":[[24,9]]}},"keywords":{}}],["0054dd5",{"_index":4226,"title":{},"content":{"931":{"position":[[57,9]]}},"keywords":{}}],["00945f3)remov",{"_index":4148,"title":{},"content":{"887":{"position":[[35,17]]}},"keywords":{}}],["00a3610",{"_index":6625,"title":{},"content":{"1478":{"position":[[1418,10]]}},"keywords":{}}],["00d476b",{"_index":3052,"title":{},"content":{"424":{"position":[[70,9]]}},"keywords":{}}],["00eb23a",{"_index":5408,"title":{},"content":{"1474":{"position":[[1788,10]]}},"keywords":{}}],["00f4833)remov",{"_index":4265,"title":{},"content":{"948":{"position":[[69,15]]}},"keywords":{}}],["01",{"_index":3025,"title":{"533":{"position":[[17,4]]},"598":{"position":[[17,4]]},"686":{"position":[[17,4]]},"709":{"position":[[17,4]]},"717":{"position":[[14,2]]},"720":{"position":[[14,2]]},"722":{"position":[[14,2]]},"815":{"position":[[17,4]]},"880":{"position":[[17,4]]},"905":{"position":[[16,4]]},"1144":{"position":[[16,4]]},"1146":{"position":[[16,4]]},"1148":{"position":[[13,2]]},"1150":{"position":[[13,2]]},"1152":{"position":[[13,2]]},"1154":{"position":[[13,2]]},"1156":{"position":[[13,2]]},"1158":{"position":[[13,2]]},"1162":{"position":[[13,2]]},"1164":{"position":[[13,2]]},"1167":{"position":[[13,2]]},"1170":{"position":[[13,2]]},"1172":{"position":[[13,2]]},"1174":{"position":[[13,2]]},"1176":{"position":[[13,2]]},"1178":{"position":[[13,2]]},"1181":{"position":[[13,2]]},"1187":{"position":[[13,2]]},"1191":{"position":[[13,2]]},"1193":{"position":[[13,2]]},"1196":{"position":[[13,2]]},"1488":{"position":[[16,4]]},"1610":{"position":[[16,4]]},"1754":{"position":[[12,2]]},"1756":{"position":[[12,2]]},"1758":{"position":[[12,2]]},"1760":{"position":[[12,2]]},"1765":{"position":[[12,2]]},"1767":{"position":[[12,2]]}},"content":{"409":{"position":[[76,2]]},"501":{"position":[[70,3]]},"530":{"position":[[121,3]]},"555":{"position":[[370,2]]},"557":{"position":[[87,2]]},"613":{"position":[[84,3]]},"710":{"position":[[80,2]]},"712":{"position":[[60,2]]},"714":{"position":[[93,2]]},"718":{"position":[[77,2]]},"771":{"position":[[103,3]]},"773":{"position":[[82,3]]},"808":{"position":[[162,3]]},"810":{"position":[[81,3]]},"811":{"position":[[72,3]]},"940":{"position":[[80,3]]},"966":{"position":[[70,3]]},"1004":{"position":[[67,3]]},"1142":{"position":[[511,3]]},"1159":{"position":[[72,2]]},"1160":{"position":[[61,2]]},"1165":{"position":[[89,2]]},"1168":{"position":[[59,2]]},"1179":{"position":[[69,2]]},"1182":{"position":[[42,2]]},"1183":{"position":[[73,2]]},"1184":{"position":[[61,2]]},"1185":{"position":[[65,2]]},"1188":{"position":[[51,2]]},"1194":{"position":[[61,2]]},"1486":{"position":[[61,3]]},"1606":{"position":[[69,3]]},"1611":{"position":[[75,3]]},"1612":{"position":[[49,3]]},"1613":{"position":[[59,3]]},"1748":{"position":[[180,2]]},"1750":{"position":[[96,2]]},"1751":{"position":[[111,2],[130,2],[149,2]]},"1761":{"position":[[50,2]]},"1764":{"position":[[130,2]]},"1768":{"position":[[53,2]]}},"keywords":{}}],["0111_0001",{"_index":1310,"title":{},"content":{"155":{"position":[[338,9]]}},"keywords":{}}],["0111_0010",{"_index":1309,"title":{},"content":{"155":{"position":[[295,9]]}},"keywords":{}}],["0115818)ad",{"_index":3383,"title":{},"content":{"555":{"position":[[59,15]]}},"keywords":{}}],["011_1001",{"_index":1228,"title":{},"content":{"135":{"position":[[205,8]]}},"keywords":{}}],["013b03c",{"_index":3619,"title":{},"content":{"659":{"position":[[39,9]]}},"keywords":{}}],["015d0d5)potenti",{"_index":5828,"title":{},"content":{"1474":{"position":[[15881,18]]}},"keywords":{}}],["01_0010_0100_1101",{"_index":1157,"title":{},"content":{"123":{"position":[[225,17]]}},"keywords":{}}],["01ad248)fix",{"_index":3310,"title":{},"content":{"537":{"position":[[134,15]]}},"keywords":{}}],["01ca9bb)remov",{"_index":4457,"title":{},"content":{"1023":{"position":[[35,17]]}},"keywords":{}}],["01f3bb3",{"_index":5265,"title":{},"content":{"1464":{"position":[[37,9]]}},"keywords":{}}],["02",{"_index":3015,"title":{"404":{"position":[[14,2]]},"406":{"position":[[14,2]]},"408":{"position":[[14,2]]},"417":{"position":[[17,4]]},"434":{"position":[[17,4]]},"550":{"position":[[14,2]]},"552":{"position":[[14,2]]},"684":{"position":[[17,4]]},"688":{"position":[[14,2]]},"691":{"position":[[14,2]]},"699":{"position":[[14,2]]},"709":{"position":[[14,2]]},"807":{"position":[[17,4]]},"901":{"position":[[16,4]]},"935":{"position":[[16,4]]},"937":{"position":[[16,4]]},"1003":{"position":[[16,4]]},"1063":{"position":[[16,4]]},"1068":{"position":[[13,2]]},"1070":{"position":[[13,2]]},"1072":{"position":[[13,2]]},"1078":{"position":[[13,2]]},"1080":{"position":[[13,2]]},"1083":{"position":[[13,2]]},"1085":{"position":[[13,2]]},"1087":{"position":[[13,2]]},"1089":{"position":[[13,2]]},"1091":{"position":[[13,2]]},"1093":{"position":[[13,2]]},"1095":{"position":[[13,2]]},"1099":{"position":[[13,2]]},"1101":{"position":[[13,2]]},"1105":{"position":[[13,2]]},"1107":{"position":[[13,2]]},"1122":{"position":[[13,2]]},"1124":{"position":[[13,2]]},"1126":{"position":[[13,2]]},"1128":{"position":[[13,2]]},"1130":{"position":[[13,2]]},"1134":{"position":[[13,2]]},"1138":{"position":[[13,2]]},"1144":{"position":[[13,2]]},"1146":{"position":[[13,2]]},"1196":{"position":[[16,4]]},"1251":{"position":[[16,4]]},"1253":{"position":[[16,4]]},"1255":{"position":[[16,4]]},"1485":{"position":[[16,4]]},"1728":{"position":[[13,2]]},"1730":{"position":[[13,2]]},"1743":{"position":[[12,2]]}},"content":{"429":{"position":[[65,3]]},"542":{"position":[[53,2]]},"543":{"position":[[57,2]]},"545":{"position":[[303,2]]},"547":{"position":[[129,2]]},"553":{"position":[[161,2],[164,3]]},"584":{"position":[[80,3]]},"689":{"position":[[93,2]]},"692":{"position":[[58,2]]},"693":{"position":[[96,2]]},"696":{"position":[[96,2]]},"700":{"position":[[90,2]]},"702":{"position":[[77,2],[80,3]]},"707":{"position":[[191,2],[194,3]]},"770":{"position":[[80,3]]},"852":{"position":[[136,3]]},"902":{"position":[[104,3]]},"933":{"position":[[99,3]]},"938":{"position":[[77,3]]},"1064":{"position":[[74,3]]},"1065":{"position":[[74,3]]},"1073":{"position":[[66,2]]},"1076":{"position":[[92,2]]},"1081":{"position":[[92,2]]},"1096":{"position":[[66,2]]},"1097":{"position":[[55,2]]},"1102":{"position":[[67,2]]},"1108":{"position":[[71,2]]},"1109":{"position":[[70,2]]},"1110":{"position":[[81,2]]},"1113":{"position":[[51,2]]},"1114":{"position":[[65,2]]},"1116":{"position":[[176,2]]},"1118":{"position":[[90,2]]},"1120":{"position":[[60,2]]},"1131":{"position":[[81,2]]},"1135":{"position":[[51,2]]},"1136":{"position":[[64,2]]},"1139":{"position":[[47,2],[50,3]]},"1142":{"position":[[508,2]]},"1256":{"position":[[77,3]]},"1257":{"position":[[64,3]]},"1405":{"position":[[175,3]]},"1409":{"position":[[175,3]]},"1413":{"position":[[175,3]]},"1417":{"position":[[175,3]]},"1421":{"position":[[175,3]]},"1425":{"position":[[175,3]]},"1429":{"position":[[175,3]]},"1433":{"position":[[175,3]]},"1437":{"position":[[129,3]]},"1440":{"position":[[129,3]]},"1726":{"position":[[93,3]]},"1731":{"position":[[59,2]]},"1732":{"position":[[62,2]]},"1734":{"position":[[348,2]]},"1736":{"position":[[74,2]]},"1737":{"position":[[104,2]]},"1739":{"position":[[119,2]]},"1744":{"position":[[52,2]]}},"keywords":{}}],["0267dbe",{"_index":5199,"title":{},"content":{"1351":{"position":[[141,9]]},"1356":{"position":[[141,9]]},"1361":{"position":[[88,9]]},"1366":{"position":[[88,9]]},"1371":{"position":[[88,9]]},"1376":{"position":[[88,9]]},"1380":{"position":[[88,9]]},"1384":{"position":[[88,9]]},"1388":{"position":[[88,9]]},"1392":{"position":[[88,9]]},"1396":{"position":[[88,9]]},"1400":{"position":[[88,9]]},"1404":{"position":[[88,9]]},"1408":{"position":[[88,9]]},"1412":{"position":[[88,9]]},"1416":{"position":[[88,9]]},"1420":{"position":[[88,9]]},"1424":{"position":[[88,9]]},"1428":{"position":[[88,9]]},"1432":{"position":[[88,9]]},"1436":{"position":[[88,9]]},"1439":{"position":[[88,9]]}},"keywords":{}}],["02ca962",{"_index":3525,"title":{},"content":{"611":{"position":[[45,9]]}},"keywords":{}}],["02e07fa",{"_index":3971,"title":{},"content":{"820":{"position":[[214,9]]}},"keywords":{}}],["03",{"_index":2928,"title":{"370":{"position":[[17,4]]},"383":{"position":[[17,4]]},"387":{"position":[[14,2]]},"389":{"position":[[14,2]]},"392":{"position":[[14,2]]},"394":{"position":[[14,2]]},"399":{"position":[[14,2]]},"415":{"position":[[17,4]]},"535":{"position":[[14,2]]},"540":{"position":[[14,2]]},"550":{"position":[[17,4]]},"552":{"position":[[17,4]]},"627":{"position":[[17,4]]},"676":{"position":[[14,2]]},"678":{"position":[[14,2]]},"682":{"position":[[14,2]]},"684":{"position":[[14,2]]},"686":{"position":[[14,2]]},"722":{"position":[[17,4]]},"896":{"position":[[16,4]]},"1010":{"position":[[13,2]]},"1013":{"position":[[13,2]]},"1016":{"position":[[13,2]]},"1025":{"position":[[13,2]]},"1027":{"position":[[13,2]]},"1031":{"position":[[13,2]]},"1053":{"position":[[13,2]]},"1061":{"position":[[13,2],[16,4]]},"1063":{"position":[[13,2]]},"1134":{"position":[[16,4]]},"1138":{"position":[[16,4]]},"1242":{"position":[[16,4]]},"1244":{"position":[[16,4]]},"1246":{"position":[[16,4]]},"1249":{"position":[[16,4]]},"1605":{"position":[[16,4]]},"1617":{"position":[[13,2]]},"1619":{"position":[[13,2]]},"1621":{"position":[[13,2]]},"1625":{"position":[[13,2]]},"1627":{"position":[[13,2]]},"1632":{"position":[[13,2]]},"1635":{"position":[[13,2]]},"1637":{"position":[[13,2]]},"1639":{"position":[[13,2]]},"1647":{"position":[[13,2]]},"1654":{"position":[[13,2]]},"1657":{"position":[[13,2]]},"1665":{"position":[[13,2]]},"1669":{"position":[[13,2]]},"1675":{"position":[[13,2]]},"1677":{"position":[[13,2]]},"1679":{"position":[[13,2]]},"1681":{"position":[[13,2]]},"1683":{"position":[[13,2]]},"1685":{"position":[[13,2]]},"1690":{"position":[[13,2]]},"1692":{"position":[[13,2]]},"1695":{"position":[[13,2]]},"1700":{"position":[[13,2]]},"1702":{"position":[[13,2]]},"1708":{"position":[[13,2]]},"1710":{"position":[[13,2]]},"1712":{"position":[[13,2]]},"1714":{"position":[[13,2]]},"1716":{"position":[[13,2]]},"1718":{"position":[[13,2]]},"1720":{"position":[[13,2]]},"1724":{"position":[[13,2]]}},"content":{"384":{"position":[[73,2]]},"390":{"position":[[66,2]]},"395":{"position":[[45,2]]},"397":{"position":[[99,2]]},"400":{"position":[[166,2]]},"402":{"position":[[57,2]]},"536":{"position":[[74,2]]},"541":{"position":[[135,2]]},"673":{"position":[[117,2]]},"679":{"position":[[99,2]]},"680":{"position":[[69,2]]},"898":{"position":[[77,3]]},"1006":{"position":[[87,2]]},"1011":{"position":[[70,2]]},"1014":{"position":[[71,2]]},"1017":{"position":[[68,2]]},"1018":{"position":[[61,2]]},"1020":{"position":[[92,2]]},"1022":{"position":[[92,2]]},"1028":{"position":[[70,2]]},"1032":{"position":[[61,2]]},"1034":{"position":[[42,2]]},"1036":{"position":[[85,2]]},"1038":{"position":[[53,2]]},"1040":{"position":[[64,2]]},"1042":{"position":[[73,2]]},"1043":{"position":[[74,2]]},"1047":{"position":[[402,2]]},"1050":{"position":[[134,2]]},"1054":{"position":[[75,2]]},"1056":{"position":[[38,2]]},"1058":{"position":[[135,2]]},"1064":{"position":[[71,2]]},"1065":{"position":[[71,2]]},"1131":{"position":[[84,3]]},"1135":{"position":[[54,3]]},"1136":{"position":[[67,3]]},"1247":{"position":[[58,3]]},"1401":{"position":[[175,3]]},"1622":{"position":[[47,2]]},"1623":{"position":[[47,2]]},"1628":{"position":[[60,2]]},"1629":{"position":[[47,2]]},"1633":{"position":[[76,2]]},"1641":{"position":[[71,2]]},"1643":{"position":[[123,2]]},"1648":{"position":[[66,2]]},"1650":{"position":[[103,2]]},"1651":{"position":[[81,2]]},"1655":{"position":[[284,2]]},"1658":{"position":[[44,2]]},"1660":{"position":[[55,2]]},"1662":{"position":[[51,2]]},"1666":{"position":[[73,2]]},"1667":{"position":[[55,2]]},"1670":{"position":[[77,2]]},"1672":{"position":[[73,2]]},"1686":{"position":[[61,2]]},"1693":{"position":[[249,2]]},"1696":{"position":[[73,2]]},"1697":{"position":[[31,2]]},"1703":{"position":[[77,2]]},"1705":{"position":[[69,2]]},"1721":{"position":[[77,2]]},"1725":{"position":[[68,2],[71,3]]},"1726":{"position":[[90,2]]}},"keywords":{}}],["0348699)non",{"_index":5798,"title":{},"content":{"1474":{"position":[[14846,12]]}},"keywords":{}}],["0348699)oncliententerroom",{"_index":6825,"title":{},"content":{"1566":{"position":[[1325,26]]}},"keywords":{}}],["035e630)alloc",{"_index":6409,"title":{},"content":{"1477":{"position":[[218,19]]}},"keywords":{}}],["03976a5",{"_index":3348,"title":{},"content":{"544":{"position":[[77,9]]}},"keywords":{}}],["039e9cd)ad",{"_index":3320,"title":{},"content":{"538":{"position":[[29,15]]}},"keywords":{}}],["03c767d)messag",{"_index":5752,"title":{},"content":{"1474":{"position":[[12368,16]]}},"keywords":{}}],["03e8cfa",{"_index":4477,"title":{},"content":{"1033":{"position":[[35,9]]}},"keywords":{}}],["03f2075",{"_index":5042,"title":{},"content":{"1282":{"position":[[170,9]]},"1283":{"position":[[170,9]]}},"keywords":{}}],["04",{"_index":2933,"title":{"374":{"position":[[14,2]]},"376":{"position":[[14,2]]},"378":{"position":[[14,2]]},"383":{"position":[[14,2]]},"515":{"position":[[14,2]]},"517":{"position":[[14,2]]},"519":{"position":[[14,2]]},"525":{"position":[[14,2]]},"527":{"position":[[14,2]]},"529":{"position":[[14,2],[17,4]]},"533":{"position":[[14,2]]},"656":{"position":[[14,2]]},"658":{"position":[[14,2]]},"665":{"position":[[14,2]]},"668":{"position":[[14,2]]},"672":{"position":[[14,2]]},"748":{"position":[[17,4]]},"750":{"position":[[17,4]]},"752":{"position":[[17,4]]},"754":{"position":[[17,4]]},"932":{"position":[[16,4]]},"965":{"position":[[16,4]]},"973":{"position":[[13,2]]},"975":{"position":[[13,2]]},"977":{"position":[[13,2]]},"982":{"position":[[13,2]]},"984":{"position":[[13,2]]},"986":{"position":[[13,2]]},"988":{"position":[[13,2]]},"991":{"position":[[13,2]]},"993":{"position":[[13,2]]},"996":{"position":[[13,2]]},"1001":{"position":[[13,2]]},"1003":{"position":[[13,2]]},"1128":{"position":[[16,4]]},"1130":{"position":[[16,4]]},"1240":{"position":[[16,4]]},"1564":{"position":[[17,4]]},"1579":{"position":[[13,2]]},"1587":{"position":[[13,2]]},"1596":{"position":[[13,2]]},"1600":{"position":[[13,2]]},"1605":{"position":[[13,2]]},"1610":{"position":[[13,2]]},"1724":{"position":[[16,4]]}},"content":{"371":{"position":[[108,2]]},"379":{"position":[[77,2]]},"380":{"position":[[89,2]]},"381":{"position":[[65,2]]},"482":{"position":[[59,3]]},"499":{"position":[[156,3]]},"500":{"position":[[86,3]]},"505":{"position":[[394,2]]},"507":{"position":[[127,2]]},"509":{"position":[[92,2]]},"512":{"position":[[89,2]]},"520":{"position":[[44,2]]},"530":{"position":[[118,2]]},"659":{"position":[[63,2]]},"662":{"position":[[174,2]]},"669":{"position":[[89,2]]},"929":{"position":[[110,3]]},"968":{"position":[[162,2]]},"970":{"position":[[82,2]]},"978":{"position":[[118,2]]},"979":{"position":[[47,2]]},"989":{"position":[[72,2]]},"994":{"position":[[47,2]]},"997":{"position":[[69,2]]},"1004":{"position":[[64,2]]},"1058":{"position":[[138,3]]},"1238":{"position":[[48,3]]},"1381":{"position":[[175,3]]},"1385":{"position":[[175,3]]},"1389":{"position":[[175,3]]},"1393":{"position":[[175,3]]},"1397":{"position":[[175,3]]},"1483":{"position":[[54,3]]},"1560":{"position":[[83,3]]},"1561":{"position":[[77,3]]},"1565":{"position":[[204,3]]},"1576":{"position":[[66,2]]},"1580":{"position":[[262,2]]},"1582":{"position":[[203,2]]},"1583":{"position":[[68,2]]},"1584":{"position":[[68,2]]},"1588":{"position":[[94,2]]},"1589":{"position":[[78,2]]},"1590":{"position":[[73,2]]},"1591":{"position":[[70,2]]},"1594":{"position":[[69,2]]},"1597":{"position":[[97,2]]},"1598":{"position":[[54,2]]},"1601":{"position":[[73,2]]},"1602":{"position":[[78,2],[81,3]]},"1606":{"position":[[66,2]]},"1611":{"position":[[72,2]]},"1612":{"position":[[46,2]]},"1613":{"position":[[56,2]]},"1768":{"position":[[56,3]]}},"keywords":{}}],["040bcb4)synclist.findindex",{"_index":6353,"title":{},"content":{"1476":{"position":[[7761,27]]}},"keywords":{}}],["042b4e1)includ",{"_index":6223,"title":{},"content":{"1476":{"position":[[4189,16]]}},"keywords":{}}],["042b4e1)logset",{"_index":6840,"title":{},"content":{"1567":{"position":[[1004,20]]}},"keywords":{}}],["04700f9",{"_index":3920,"title":{},"content":{"794":{"position":[[72,9]]}},"keywords":{}}],["04edac0",{"_index":4418,"title":{},"content":{"1004":{"position":[[41,9]]}},"keywords":{}}],["05",{"_index":2921,"title":{"368":{"position":[[14,2]]},"370":{"position":[[14,2]]},"408":{"position":[[17,4]]},"422":{"position":[[17,4]]},"428":{"position":[[17,4]]},"450":{"position":[[17,4]]},"491":{"position":[[14,2]]},"493":{"position":[[14,2]]},"495":{"position":[[14,2],[17,4]]},"527":{"position":[[17,4]]},"629":{"position":[[14,2]]},"631":{"position":[[14,2]]},"633":{"position":[[14,2]]},"637":{"position":[[14,2]]},"639":{"position":[[14,2]]},"641":{"position":[[14,2]]},"643":{"position":[[14,2]]},"645":{"position":[[14,2]]},"648":{"position":[[14,2]]},"650":{"position":[[14,2]]},"652":{"position":[[14,2]]},"654":{"position":[[14,2]]},"805":{"position":[[17,4]]},"894":{"position":[[16,4]]},"943":{"position":[[13,2]]},"953":{"position":[[13,2]]},"955":{"position":[[13,2]]},"965":{"position":[[13,2]]},"1001":{"position":[[16,4]]},"1126":{"position":[[16,4]]},"1235":{"position":[[16,4]]},"1575":{"position":[[13,2]]},"1767":{"position":[[15,4]]}},"content":{"420":{"position":[[72,3]]},"423":{"position":[[46,3]]},"484":{"position":[[66,2]]},"487":{"position":[[177,2]]},"496":{"position":[[86,2],[89,3]]},"499":{"position":[[153,2]]},"500":{"position":[[83,2]]},"501":{"position":[[67,2]]},"574":{"position":[[105,3]]},"610":{"position":[[111,3]]},"634":{"position":[[166,2]]},"646":{"position":[[62,2]]},"850":{"position":[[84,3]]},"944":{"position":[[53,2]]},"945":{"position":[[61,2]]},"949":{"position":[[102,2]]},"956":{"position":[[82,2]]},"958":{"position":[[630,2]]},"961":{"position":[[70,2]]},"962":{"position":[[77,2]]},"966":{"position":[[67,2]]},"1054":{"position":[[78,3]]},"1056":{"position":[[41,3]]},"1194":{"position":[[64,3]]},"1236":{"position":[[71,3]]},"1237":{"position":[[96,3]]},"1373":{"position":[[175,3]]},"1377":{"position":[[175,3]]},"1559":{"position":[[64,3]]},"1721":{"position":[[80,3]]}},"keywords":{}}],["053949b)weaver",{"_index":5968,"title":{},"content":{"1474":{"position":[[20350,16]]}},"keywords":{}}],["0546de9",{"_index":5149,"title":{},"content":{"1335":{"position":[[60,9]]}},"keywords":{}}],["057e177",{"_index":3705,"title":{},"content":{"694":{"position":[[28,9]]}},"keywords":{}}],["05c119f)don't",{"_index":5645,"title":{},"content":{"1474":{"position":[[9229,14]]},"1566":{"position":[[758,14]]}},"keywords":{}}],["05db6cf",{"_index":3638,"title":{},"content":{"666":{"position":[[76,9]]}},"keywords":{}}],["06",{"_index":2922,"title":{"368":{"position":[[17,3]]},"448":{"position":[[17,4]]},"452":{"position":[[14,2]]},"459":{"position":[[14,2]]},"461":{"position":[[14,2]]},"463":{"position":[[14,2]]},"473":{"position":[[14,2]]},"475":{"position":[[14,2]]},"624":{"position":[[14,2]]},"627":{"position":[[14,2]]},"654":{"position":[[17,4]]},"672":{"position":[[17,4]]},"769":{"position":[[17,4]]},"801":{"position":[[17,4]]},"803":{"position":[[17,4]]},"849":{"position":[[17,4]]},"907":{"position":[[13,2]]},"910":{"position":[[13,2]]},"914":{"position":[[13,2]]},"916":{"position":[[13,2]]},"921":{"position":[[13,2]]},"923":{"position":[[13,2]]},"925":{"position":[[13,2]]},"928":{"position":[[13,2]]},"932":{"position":[[13,2]]},"935":{"position":[[13,2]]},"937":{"position":[[13,2]]},"1053":{"position":[[16,4]]},"1569":{"position":[[13,2]]},"1571":{"position":[[13,2]]},"1573":{"position":[[13,2]]},"1718":{"position":[[16,4]]},"1720":{"position":[[16,4]]},"1743":{"position":[[15,4]]}},"content":{"453":{"position":[[48,2]]},"455":{"position":[[82,2]]},"464":{"position":[[58,2]]},"465":{"position":[[83,2]]},"466":{"position":[[90,2]]},"468":{"position":[[73,2]]},"470":{"position":[[35,2]]},"471":{"position":[[73,2]]},"476":{"position":[[60,2]]},"478":{"position":[[51,2]]},"480":{"position":[[65,2]]},"481":{"position":[[85,2]]},"482":{"position":[[56,2]]},"545":{"position":[[306,3]]},"547":{"position":[[132,3]]},"557":{"position":[[90,3]]},"625":{"position":[[70,2]]},"700":{"position":[[93,3]]},"878":{"position":[[79,3]]},"908":{"position":[[177,2]]},"911":{"position":[[69,2]]},"917":{"position":[[44,2]]},"926":{"position":[[51,2]]},"929":{"position":[[107,2]]},"933":{"position":[[96,2]]},"938":{"position":[[74,2]]},"940":{"position":[[77,2]]},"1050":{"position":[[137,3]]},"1233":{"position":[[82,3]]},"1353":{"position":[[369,3]]},"1358":{"position":[[369,3]]},"1363":{"position":[[369,3]]},"1368":{"position":[[369,3]]},"1744":{"position":[[55,3]]}},"keywords":{}}],["0609d50)check",{"_index":5575,"title":{},"content":{"1474":{"position":[[7491,14]]}},"keywords":{}}],["0609d50)there",{"_index":7065,"title":{},"content":{"1721":{"position":[[19,14]]}},"keywords":{}}],["063e3b4",{"_index":4198,"title":{},"content":{"915":{"position":[[21,9]]}},"keywords":{}}],["06946cf)throw",{"_index":6368,"title":{},"content":{"1476":{"position":[[8165,14]]}},"keywords":{}}],["06d89c0",{"_index":4724,"title":{},"content":{"1140":{"position":[[30,9]]}},"keywords":{}}],["07",{"_index":3071,"title":{"437":{"position":[[14,2]]},"446":{"position":[[14,2],[17,4]]},"448":{"position":[[14,2]]},"450":{"position":[[14,2]]},"619":{"position":[[14,2]]},"621":{"position":[[14,2]]},"699":{"position":[[17,4]]},"745":{"position":[[17,4]]},"762":{"position":[[17,4]]},"882":{"position":[[14,2]]},"886":{"position":[[14,2]]},"888":{"position":[[14,2]]},"894":{"position":[[13,2]]},"896":{"position":[[13,2]]},"901":{"position":[[13,2]]},"905":{"position":[[13,2]]},"1122":{"position":[[16,4]]},"1124":{"position":[[16,4]]},"1232":{"position":[[16,4]]},"1482":{"position":[[16,4]]},"1490":{"position":[[13,2]]},"1492":{"position":[[13,2]]},"1494":{"position":[[13,2]]},"1498":{"position":[[13,2]]},"1503":{"position":[[13,2]]},"1505":{"position":[[13,2]]},"1507":{"position":[[13,2]]},"1509":{"position":[[13,2]]},"1511":{"position":[[13,2]]},"1523":{"position":[[13,2]]},"1532":{"position":[[13,2]]},"1538":{"position":[[13,2]]},"1540":{"position":[[13,2]]},"1542":{"position":[[13,2]]},"1544":{"position":[[13,2]]},"1552":{"position":[[13,2]]},"1554":{"position":[[13,2]]},"1556":{"position":[[13,2]]},"1564":{"position":[[14,2]]}},"content":{"435":{"position":[[140,2]]},"438":{"position":[[143,2]]},"439":{"position":[[79,2]]},"441":{"position":[[70,2]]},"442":{"position":[[70,2]]},"443":{"position":[[58,2]]},"607":{"position":[[64,3]]},"616":{"position":[[194,2]]},"696":{"position":[[99,3]]},"746":{"position":[[45,3]]},"763":{"position":[[77,3]]},"883":{"position":[[94,2]]},"890":{"position":[[136,2]]},"892":{"position":[[171,2]]},"898":{"position":[[74,2]]},"902":{"position":[[101,2]]},"1348":{"position":[[56,3]]},"1468":{"position":[[144,3]]},"1495":{"position":[[119,2]]},"1499":{"position":[[42,2]]},"1501":{"position":[[77,2]]},"1512":{"position":[[77,2]]},"1513":{"position":[[61,2]]},"1515":{"position":[[41,2]]},"1516":{"position":[[63,2]]},"1519":{"position":[[163,2]]},"1521":{"position":[[84,2]]},"1524":{"position":[[90,2]]},"1525":{"position":[[72,2]]},"1527":{"position":[[147,2]]},"1529":{"position":[[61,2]]},"1533":{"position":[[84,2]]},"1535":{"position":[[326,2]]},"1545":{"position":[[124,2]]},"1548":{"position":[[69,2]]},"1550":{"position":[[136,2]]},"1557":{"position":[[56,2]]},"1559":{"position":[[61,2]]},"1560":{"position":[[80,2]]},"1561":{"position":[[74,2]]},"1565":{"position":[[201,2]]},"1601":{"position":[[76,3]]}},"keywords":{}}],["076c05a",{"_index":5049,"title":{},"content":{"1285":{"position":[[122,10]]}},"keywords":{}}],["07ca15d",{"_index":4683,"title":{},"content":{"1119":{"position":[[41,9]]}},"keywords":{}}],["07ef8c9)revert",{"_index":6597,"title":{},"content":{"1478":{"position":[[585,15]]}},"keywords":{}}],["08",{"_index":3062,"title":{"431":{"position":[[14,2]]},"434":{"position":[[14,2]]},"589":{"position":[[17,4]]},"606":{"position":[[14,2],[17,4]]},"743":{"position":[[17,4]]},"846":{"position":[[17,4]]},"856":{"position":[[14,2]]},"858":{"position":[[14,2]]},"865":{"position":[[14,2]]},"869":{"position":[[14,2]]},"871":{"position":[[14,2]]},"880":{"position":[[14,2]]},"996":{"position":[[16,4]]},"1193":{"position":[[16,4]]},"1347":{"position":[[16,4]]},"1471":{"position":[[13,2]]},"1480":{"position":[[13,2]]},"1482":{"position":[[13,2]]},"1485":{"position":[[13,2]]},"1488":{"position":[[13,2]]},"1600":{"position":[[16,4]]},"1712":{"position":[[16,4]]},"1714":{"position":[[16,4]]},"1716":{"position":[[16,4]]}},"content":{"586":{"position":[[81,3]]},"599":{"position":[[63,2]]},"600":{"position":[[88,2]]},"601":{"position":[[208,2]]},"603":{"position":[[144,2]]},"607":{"position":[[61,2]]},"610":{"position":[[108,2]]},"613":{"position":[[81,2]]},"693":{"position":[[99,3]]},"798":{"position":[[87,3]]},"841":{"position":[[84,3]]},"847":{"position":[[538,3]]},"854":{"position":[[100,2]]},"859":{"position":[[88,2]]},"861":{"position":[[71,2]]},"862":{"position":[[82,2]]},"863":{"position":[[66,2]]},"866":{"position":[[92,2]]},"872":{"position":[[61,2]]},"874":{"position":[[77,2]]},"876":{"position":[[94,2]]},"878":{"position":[[76,2]]},"994":{"position":[[50,3]]},"997":{"position":[[72,3]]},"1047":{"position":[[405,3]]},"1469":{"position":[[60,2]]},"1472":{"position":[[86,2]]},"1483":{"position":[[51,2]]},"1486":{"position":[[58,2]]},"1597":{"position":[[100,3]]},"1598":{"position":[[57,3]]},"1739":{"position":[[122,3]]}},"keywords":{}}],["08df6d0)make",{"_index":5746,"title":{},"content":{"1474":{"position":[[12163,13]]}},"keywords":{}}],["09",{"_index":3098,"title":{"493":{"position":[[17,4]]},"592":{"position":[[14,2]]},"598":{"position":[[14,2]]},"650":{"position":[[17,4]]},"652":{"position":[[17,4]]},"797":{"position":[[17,4]]},"817":{"position":[[14,2]]},"819":{"position":[[14,2]]},"823":{"position":[[14,2]]},"834":{"position":[[14,2]]},"836":{"position":[[14,2]]},"838":{"position":[[14,2]]},"840":{"position":[[14,2]]},"846":{"position":[[14,2]]},"849":{"position":[[14,2]]},"1191":{"position":[[16,4]]},"1345":{"position":[[16,4]]},"1444":{"position":[[13,2]]},"1446":{"position":[[13,2]]},"1451":{"position":[[13,2]]},"1454":{"position":[[13,2]]},"1462":{"position":[[13,2]]},"1596":{"position":[[16,4]]},"1710":{"position":[[16,4]]},"1765":{"position":[[15,4]]}},"content":{"443":{"position":[[61,3]]},"481":{"position":[[88,3]]},"583":{"position":[[152,3]]},"590":{"position":[[103,2]]},"593":{"position":[[84,2]]},"595":{"position":[[142,2]]},"820":{"position":[[238,2]]},"825":{"position":[[83,2]]},"828":{"position":[[80,2]]},"829":{"position":[[70,2]]},"832":{"position":[[60,2]]},"841":{"position":[[81,2]]},"847":{"position":[[535,2]]},"850":{"position":[[81,2]]},"852":{"position":[[133,2]]},"1120":{"position":[[63,3]]},"1441":{"position":[[54,2]]},"1447":{"position":[[58,2]]},"1452":{"position":[[76,2]]},"1455":{"position":[[83,2]]},"1456":{"position":[[115,2]]},"1457":{"position":[[67,2]]},"1459":{"position":[[59,2]]},"1463":{"position":[[69,2]]},"1464":{"position":[[60,2]]},"1465":{"position":[[75,2]]},"1468":{"position":[[141,2]]},"1764":{"position":[[133,3]]}},"keywords":{}}],["091bde6",{"_index":5106,"title":{},"content":{"1316":{"position":[[53,9]]}},"keywords":{}}],["096d62d",{"_index":4898,"title":{},"content":{"1215":{"position":[[45,9]]}},"keywords":{}}],["09bbd68)addit",{"_index":5527,"title":{},"content":{"1474":{"position":[[6039,17]]}},"keywords":{}}],["09bbd68)exampl",{"_index":6849,"title":{},"content":{"1570":{"position":[[67,17]]}},"keywords":{}}],["09c3b3b",{"_index":3615,"title":{},"content":{"655":{"position":[[35,9]]}},"keywords":{}}],["09f6892)async",{"_index":6135,"title":{},"content":{"1476":{"position":[[2132,14]]}},"keywords":{}}],["0a9558f",{"_index":4821,"title":{},"content":{"1180":{"position":[[44,9]]}},"keywords":{}}],["0ab0a70",{"_index":4953,"title":{},"content":{"1243":{"position":[[69,9]]}},"keywords":{}}],["0ab4c60)ad",{"_index":5178,"title":{},"content":{"1350":{"position":[[37,15]]},"1355":{"position":[[37,15]]},"1360":{"position":[[37,15]]},"1365":{"position":[[37,15]]},"1370":{"position":[[37,15]]}},"keywords":{}}],["0abbf2a",{"_index":5336,"title":{},"content":{"1469":{"position":[[37,9]]}},"keywords":{}}],["0b28fe4",{"_index":3686,"title":{},"content":{"685":{"position":[[20,9]]}},"keywords":{}}],["0b3ae5e)ad",{"_index":3325,"title":{},"content":{"538":{"position":[[234,15]]}},"keywords":{}}],["0b603fe)fix",{"_index":4134,"title":{},"content":{"881":{"position":[[36,15]]}},"keywords":{}}],["0b763cf",{"_index":3145,"title":{},"content":{"465":{"position":[[59,9]]}},"keywords":{}}],["0b84d4c",{"_index":7043,"title":{},"content":{"1703":{"position":[[54,9]]}},"keywords":{}}],["0b84d4c)reset",{"_index":5908,"title":{},"content":{"1474":{"position":[[17900,14]]}},"keywords":{}}],["0bcbc7f",{"_index":3111,"title":{},"content":{"445":{"position":[[29,9]]}},"keywords":{}}],["0c2556a",{"_index":7122,"title":{},"content":{"1749":{"position":[[91,9]]}},"keywords":{}}],["0c2556a)network",{"_index":6259,"title":{},"content":{"1476":{"position":[[5179,16]]}},"keywords":{}}],["0c30d33)networkbehaviour.syncvargameobjectequ",{"_index":5775,"title":{},"content":{"1474":{"position":[[13129,48]]}},"keywords":{}}],["0c30d33)sync",{"_index":6802,"title":{},"content":{"1562":{"position":[[485,13]]}},"keywords":{}}],["0c3e079)ad",{"_index":6101,"title":{},"content":{"1476":{"position":[[1127,15]]},"1567":{"position":[[269,15]]}},"keywords":{}}],["0ca2804",{"_index":4398,"title":{},"content":{"999":{"position":[[145,9]]}},"keywords":{}}],["0cac9a3",{"_index":3250,"title":{},"content":{"508":{"position":[[38,9]]}},"keywords":{}}],["0d076a7",{"_index":4965,"title":{},"content":{"1248":{"position":[[38,9]]}},"keywords":{}}],["0d1d7b5)show",{"_index":5933,"title":{},"content":{"1474":{"position":[[19124,13]]}},"keywords":{}}],["0d6d34b",{"_index":3846,"title":{},"content":{"758":{"position":[[46,9]]}},"keywords":{}}],["0db933a)fix",{"_index":3291,"title":{},"content":{"528":{"position":[[42,15]]}},"keywords":{}}],["0ddfdb8)serverobjectmanag",{"_index":3865,"title":{},"content":{"766":{"position":[[46,29]]}},"keywords":{}}],["0df3afc",{"_index":4863,"title":{},"content":{"1199":{"position":[[78,9]]}},"keywords":{}}],["0df8c89",{"_index":4959,"title":{},"content":{"1245":{"position":[[72,9]]}},"keywords":{}}],["0e1bc81",{"_index":5900,"title":{},"content":{"1474":{"position":[[17752,10]]}},"keywords":{}}],["0e756c",{"_index":7009,"title":{},"content":{"1676":{"position":[[54,9]]}},"keywords":{}}],["0e756ce)networkidentity.onstartlocalplay",{"_index":5783,"title":{},"content":{"1474":{"position":[[13768,43]]}},"keywords":{}}],["0e7bd82",{"_index":3770,"title":{},"content":{"723":{"position":[[23,9]]}},"keywords":{}}],["0e80e19)button",{"_index":6147,"title":{},"content":{"1476":{"position":[[2409,15]]}},"keywords":{}}],["0e80e19)dispos",{"_index":7099,"title":{},"content":{"1735":{"position":[[53,19]]}},"keywords":{}}],["0e84f45",{"_index":6928,"title":{},"content":{"1615":{"position":[[30,9]]}},"keywords":{}}],["0e84f45)authent",{"_index":6139,"title":{},"content":{"1476":{"position":[[2213,23]]}},"keywords":{}}],["0ec3753",{"_index":2951,"title":{},"content":{"381":{"position":[[41,9]]}},"keywords":{}}],["0ef5c33",{"_index":4891,"title":{},"content":{"1210":{"position":[[107,10]]}},"keywords":{}}],["0efe4ba",{"_index":4146,"title":{},"content":{"884":{"position":[[34,9]]}},"keywords":{}}],["0f10c72",{"_index":7105,"title":{},"content":{"1739":{"position":[[97,9]]}},"keywords":{}}],["0f10c72)sync",{"_index":6346,"title":{},"content":{"1476":{"position":[[7574,13]]}},"keywords":{}}],["0f4cdc5",{"_index":4448,"title":{},"content":{"1018":{"position":[[38,9]]}},"keywords":{}}],["0f55b2b",{"_index":2987,"title":{},"content":{"395":{"position":[[21,9]]}},"keywords":{}}],["0f95185)synctoown",{"_index":6362,"title":{},"content":{"1476":{"position":[[7998,20]]}},"keywords":{}}],["0fe6328",{"_index":6097,"title":{},"content":{"1476":{"position":[[964,10]]},"1585":{"position":[[49,10]]}},"keywords":{}}],["0u",{"_index":2831,"title":{},"content":{"346":{"position":[[1031,3],[1144,3],[1257,3]]}},"keywords":{}}],["0ul",{"_index":1185,"title":{},"content":{"125":{"position":[[481,4],[838,4]]},"131":{"position":[[423,4],[778,4]]},"137":{"position":[[395,4],[730,4]]},"142":{"position":[[476,4],[833,4]]},"151":{"position":[[735,4],[841,4],[1251,4],[1338,4]]},"156":{"position":[[424,4],[789,4]]},"160":{"position":[[423,4],[778,4]]}},"keywords":{}}],["0x004",{"_index":8950,"title":{},"content":{"2359":{"position":[[1219,5]]}},"keywords":{}}],["0xffff",{"_index":1950,"title":{},"content":{"238":{"position":[[2423,7]]}},"keywords":{}}],["1",{"_index":483,"title":{"123":{"position":[[8,2]]},"129":{"position":[[8,2]]},"135":{"position":[[8,2]]},"141":{"position":[[8,2]]},"148":{"position":[[8,2]]},"155":{"position":[[8,2]]},"158":{"position":[[8,2]]},"181":{"position":[[0,2]]},"290":{"position":[[8,2]]}},"content":{"24":{"position":[[1335,2]]},"117":{"position":[[654,2]]},"125":{"position":[[441,3]]},"130":{"position":[[91,2],[115,2],[193,2],[196,3],[292,1],[312,1],[347,1]]},"131":{"position":[[383,3]]},"135":{"position":[[224,1]]},"137":{"position":[[355,3]]},"139":{"position":[[133,1],[818,1],[887,1],[1000,1],[1005,2]]},"142":{"position":[[436,3]]},"156":{"position":[[384,3]]},"159":{"position":[[91,2],[115,2],[193,2],[196,3],[292,1],[312,1],[347,1]]},"160":{"position":[[383,3]]},"173":{"position":[[474,1]]},"175":{"position":[[248,1]]},"182":{"position":[[574,2]]},"189":{"position":[[0,2]]},"190":{"position":[[65,2]]},"191":{"position":[[77,2]]},"193":{"position":[[60,2]]},"196":{"position":[[0,2]]},"202":{"position":[[928,2],[1023,3],[1027,2],[1030,2]]},"209":{"position":[[143,1]]},"211":{"position":[[109,2],[1435,2],[1511,2],[1971,1]]},"212":{"position":[[117,1]]},"238":{"position":[[373,1]]},"291":{"position":[[1115,2]]},"316":{"position":[[1187,2]]},"340":{"position":[[287,2]]},"346":{"position":[[2170,2]]},"348":{"position":[[621,2]]},"359":{"position":[[154,2]]},"410":{"position":[[46,1]]},"664":{"position":[[18,1]]},"667":{"position":[[11,1]]},"1474":{"position":[[3770,2],[10688,1]]},"1476":{"position":[[1511,1]]},"1477":{"position":[[2652,1]]},"1567":{"position":[[538,1]]},"1744":{"position":[[22,1]]},"1890":{"position":[[280,1],[703,1]]},"1891":{"position":[[189,1],[404,1]]},"1949":{"position":[[67,1]]},"1968":{"position":[[75,1]]},"1981":{"position":[[158,1]]},"2023":{"position":[[788,1]]},"2054":{"position":[[320,1]]},"2106":{"position":[[65,1]]},"2113":{"position":[[485,1],[722,1]]},"2124":{"position":[[95,1]]},"2128":{"position":[[46,1]]},"2130":{"position":[[1823,1]]},"2134":{"position":[[115,1]]},"2158":{"position":[[665,1]]},"2162":{"position":[[36,1]]},"2181":{"position":[[171,1]]},"2193":{"position":[[139,2],[156,2],[162,2]]},"2204":{"position":[[1948,1]]},"2219":{"position":[[69,1]]},"2240":{"position":[[1279,1]]},"2250":{"position":[[75,1]]},"2257":{"position":[[71,1]]},"2259":{"position":[[83,1]]},"2261":{"position":[[125,1]]},"2287":{"position":[[203,1]]},"2357":{"position":[[469,1]]},"2361":{"position":[[136,1]]},"2375":{"position":[[59,1]]},"2460":{"position":[[138,1]]},"2468":{"position":[[75,1]]},"2503":{"position":[[215,1]]},"2505":{"position":[[87,1]]},"2507":{"position":[[92,1],[213,1]]},"2518":{"position":[[311,4],[356,1]]},"2520":{"position":[[57,1]]}},"keywords":{}}],["1"",{"_index":1499,"title":{},"content":{"182":{"position":[[3426,8]]}},"keywords":{}}],["1").addcomponent<networkidentity>",{"_index":1942,"title":{},"content":{"238":{"position":[[1724,48]]}},"keywords":{}}],["1.0.0",{"_index":5343,"title":{},"content":{"1472":{"position":[[74,5]]}},"keywords":{}}],["1.1.0",{"_index":7162,"title":{},"content":{"1768":{"position":[[41,5]]}},"keywords":{}}],["1.1.1",{"_index":7160,"title":{"1767":{"position":[[0,5]]}},"content":{},"keywords":{}}],["1.1.2",{"_index":7155,"title":{"1765":{"position":[[0,5]]}},"content":{},"keywords":{}}],["1.5",{"_index":1714,"title":{},"content":{"209":{"position":[[127,3]]}},"keywords":{}}],["10",{"_index":1216,"title":{"426":{"position":[[14,2]]},"428":{"position":[[14,2]]},"519":{"position":[[17,4]]},"525":{"position":[[17,4]]},"569":{"position":[[17,4]]},"571":{"position":[[17,4]]},"573":{"position":[[17,4]]},"589":{"position":[[14,2]]},"776":{"position":[[14,2]]},"778":{"position":[[14,2]]},"780":{"position":[[14,2]]},"784":{"position":[[14,2]]},"789":{"position":[[14,2]]},"791":{"position":[[14,2]]},"793":{"position":[[14,2]]},"797":{"position":[[14,2]]},"801":{"position":[[14,2]]},"803":{"position":[[14,2]]},"805":{"position":[[14,2]]},"807":{"position":[[14,2]]},"815":{"position":[[14,2]]},"993":{"position":[[16,4]]},"1228":{"position":[[16,4]]},"1230":{"position":[[16,4]]},"1259":{"position":[[13,2]]},"1261":{"position":[[13,2]]},"1264":{"position":[[13,2]]},"1266":{"position":[[13,2]]},"1270":{"position":[[13,2]]},"1273":{"position":[[13,2]]},"1277":{"position":[[13,2]]},"1280":{"position":[[13,2]]},"1284":{"position":[[13,2]]},"1288":{"position":[[13,2]]},"1290":{"position":[[13,2]]},"1292":{"position":[[13,2]]},"1294":{"position":[[13,2]]},"1296":{"position":[[13,2]]},"1302":{"position":[[13,2]]},"1304":{"position":[[13,2]]},"1306":{"position":[[13,2]]},"1308":{"position":[[13,2]]},"1310":{"position":[[13,2]]},"1313":{"position":[[13,2]]},"1315":{"position":[[13,2]]},"1319":{"position":[[13,2]]},"1321":{"position":[[13,2]]},"1323":{"position":[[13,2]]},"1328":{"position":[[13,2]]},"1331":{"position":[[13,2]]},"1336":{"position":[[13,2]]},"1340":{"position":[[13,2]]},"1343":{"position":[[13,2],[16,4]]},"1345":{"position":[[13,2]]},"1347":{"position":[[13,2]]},"1480":{"position":[[16,4]]},"1708":{"position":[[16,4]]}},"content":{"130":{"position":[[367,2]]},"133":{"position":[[77,2]]},"139":{"position":[[1329,2]]},"159":{"position":[[367,2]]},"173":{"position":[[517,2],[1333,3]]},"182":{"position":[[3528,2],[3573,2]]},"288":{"position":[[2346,3]]},"340":{"position":[[206,3]]},"343":{"position":[[504,3]]},"348":{"position":[[540,3]]},"351":{"position":[[356,3],[371,3]]},"359":{"position":[[403,2]]},"424":{"position":[[94,2]]},"429":{"position":[[62,2]]},"480":{"position":[[68,3]]},"520":{"position":[[47,3]]},"542":{"position":[[56,3]]},"543":{"position":[[60,3]]},"586":{"position":[[78,2]]},"781":{"position":[[91,2]]},"785":{"position":[[95,2]]},"794":{"position":[[96,2],[99,3]]},"798":{"position":[[84,2]]},"808":{"position":[[159,2]]},"810":{"position":[[78,2]]},"811":{"position":[[69,2]]},"876":{"position":[[97,3]]},"1118":{"position":[[93,3]]},"1262":{"position":[[72,2]]},"1267":{"position":[[93,2]]},"1271":{"position":[[67,2]]},"1274":{"position":[[66,2]]},"1275":{"position":[[53,2]]},"1278":{"position":[[75,2]]},"1281":{"position":[[68,2]]},"1282":{"position":[[193,2]]},"1285":{"position":[[88,2]]},"1297":{"position":[[62,2]]},"1298":{"position":[[76,2]]},"1299":{"position":[[56,2]]},"1311":{"position":[[68,2]]},"1316":{"position":[[76,2]]},"1317":{"position":[[59,2]]},"1324":{"position":[[50,2]]},"1333":{"position":[[320,2]]},"1337":{"position":[[78,2]]},"1338":{"position":[[48,2]]},"1341":{"position":[[68,2]]},"1348":{"position":[[53,2]]},"1353":{"position":[[366,2]]},"1358":{"position":[[366,2]]},"1363":{"position":[[366,2]]},"1368":{"position":[[366,2]]},"1373":{"position":[[172,2]]},"1377":{"position":[[172,2]]},"1381":{"position":[[172,2]]},"1385":{"position":[[172,2]]},"1389":{"position":[[172,2]]},"1393":{"position":[[172,2]]},"1397":{"position":[[172,2]]},"1401":{"position":[[172,2]]},"1405":{"position":[[172,2]]},"1409":{"position":[[172,2]]},"1413":{"position":[[172,2]]},"1417":{"position":[[172,2]]},"1421":{"position":[[172,2]]},"1425":{"position":[[172,2]]},"1429":{"position":[[172,2]]},"1433":{"position":[[172,2]]},"1437":{"position":[[126,2]]},"1440":{"position":[[126,2]]},"1474":{"position":[[16641,2],[21285,2]]},"1557":{"position":[[59,3]]},"1591":{"position":[[73,3]]},"1594":{"position":[[72,3]]},"1705":{"position":[[72,3]]},"1745":{"position":[[253,2]]},"1762":{"position":[[117,2]]},"1992":{"position":[[165,2]]},"2042":{"position":[[88,3],[159,2]]},"2043":{"position":[[160,2]]},"2128":{"position":[[402,2]]},"2162":{"position":[[838,2]]},"2164":{"position":[[58,3]]}},"keywords":{}}],["10""",{"_index":6574,"title":{},"content":{"1478":{"position":[[38,14]]},"1633":{"position":[[38,14]]}},"keywords":{}}],["10.0.0",{"_index":7101,"title":{},"content":{"1736":{"position":[[61,6]]}},"keywords":{}}],["100",{"_index":484,"title":{},"content":{"24":{"position":[[1338,5],[1930,3]]},"123":{"position":[[30,3],[149,4]]},"129":{"position":[[154,4],[159,5],[250,3]]},"131":{"position":[[37,4],[42,5],[326,6],[468,6],[699,5],[819,5]]},"135":{"position":[[30,3]]},"148":{"position":[[23,3]]},"149":{"position":[[23,3]]},"158":{"position":[[154,4],[159,5],[250,3]]},"160":{"position":[[37,4],[42,5],[326,6],[468,6],[699,5],[819,5]]},"182":{"position":[[3104,4]]},"351":{"position":[[284,4]]},"1316":{"position":[[34,3]]},"2016":{"position":[[108,4]]},"2019":{"position":[[239,4]]}},"keywords":{}}],["100.0.0",{"_index":4157,"title":{},"content":{"890":{"position":[[122,7]]}},"keywords":{}}],["100.0.1",{"_index":4151,"title":{"888":{"position":[[0,7]]}},"content":{},"keywords":{}}],["100.0.2",{"_index":4147,"title":{"886":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1000",{"_index":908,"title":{},"content":{"81":{"position":[[133,5]]},"751":{"position":[[42,7]]}},"keywords":{}}],["1001",{"_index":3826,"title":{},"content":{"749":{"position":[[44,7]]}},"keywords":{}}],["1001_1101",{"_index":1201,"title":{},"content":{"129":{"position":[[293,9]]},"158":{"position":[[293,9]]}},"keywords":{}}],["1005",{"_index":3816,"title":{},"content":{"742":{"position":[[83,7]]}},"keywords":{}}],["1006",{"_index":3803,"title":{},"content":{"737":{"position":[[86,7]]}},"keywords":{}}],["1009",{"_index":3798,"title":{},"content":{"734":{"position":[[342,7]]}},"keywords":{}}],["100f",{"_index":1165,"title":{},"content":{"123":{"position":[[383,4]]},"148":{"position":[[152,5],[158,5]]},"149":{"position":[[186,5]]},"151":{"position":[[41,5],[236,5]]}},"keywords":{}}],["101",{"_index":1234,"title":{},"content":{"136":{"position":[[214,3]]}},"keywords":{}}],["101.0.0",{"_index":4145,"title":{},"content":{"883":{"position":[[80,7]]}},"keywords":{}}],["101.0.1",{"_index":4141,"title":{"882":{"position":[[0,7]]}},"content":{},"keywords":{}}],["101.0.2",{"_index":4133,"title":{"880":{"position":[[0,7]]}},"content":{},"keywords":{}}],["101.1.0",{"_index":4128,"title":{},"content":{"878":{"position":[[62,7]]}},"keywords":{}}],["101.10.0",{"_index":4075,"title":{},"content":{"854":{"position":[[85,8]]}},"keywords":{}}],["101.2.0",{"_index":4124,"title":{},"content":{"876":{"position":[[80,7]]}},"keywords":{}}],["101.3.0",{"_index":4117,"title":{},"content":{"874":{"position":[[63,7]]}},"keywords":{}}],["101.4.0",{"_index":4113,"title":{},"content":{"872":{"position":[[47,7]]}},"keywords":{}}],["101.4.1",{"_index":4111,"title":{"871":{"position":[[0,7]]}},"content":{},"keywords":{}}],["101.4.2",{"_index":4108,"title":{"869":{"position":[[0,7]]}},"content":{},"keywords":{}}],["101.5.0",{"_index":4103,"title":{},"content":{"866":{"position":[[78,7]]}},"keywords":{}}],["101.5.1",{"_index":4099,"title":{"865":{"position":[[0,7]]}},"content":{},"keywords":{}}],["101.6.0",{"_index":4096,"title":{},"content":{"863":{"position":[[52,7]]}},"keywords":{}}],["101.7.0",{"_index":4091,"title":{},"content":{"862":{"position":[[68,7]]}},"keywords":{}}],["101.8.0",{"_index":4088,"title":{},"content":{"861":{"position":[[57,7]]}},"keywords":{}}],["101.9.0",{"_index":4082,"title":{},"content":{"859":{"position":[[74,7]]}},"keywords":{}}],["101.9.1",{"_index":4080,"title":{"858":{"position":[[0,7]]}},"content":{},"keywords":{}}],["101.9.2",{"_index":4078,"title":{"856":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1010",{"_index":3789,"title":{},"content":{"734":{"position":[[32,7]]}},"keywords":{}}],["1012",{"_index":3805,"title":{},"content":{"738":{"position":[[46,7]]}},"keywords":{}}],["1014",{"_index":3791,"title":{},"content":{"734":{"position":[[92,7]]}},"keywords":{}}],["1016",{"_index":3780,"title":{},"content":{"727":{"position":[[53,7]]},"1474":{"position":[[2714,7]]}},"keywords":{}}],["1017",{"_index":3773,"title":{},"content":{"725":{"position":[[44,7]]},"1474":{"position":[[1902,7]]}},"keywords":{}}],["1019",{"_index":3763,"title":{},"content":{"719":{"position":[[54,7]]}},"keywords":{}}],["102",{"_index":5566,"title":{},"content":{"1474":{"position":[[7274,6]]},"1670":{"position":[[47,6]]}},"keywords":{}}],["102.0.0",{"_index":4072,"title":{},"content":{"852":{"position":[[119,7]]}},"keywords":{}}],["1021",{"_index":3766,"title":{},"content":{"721":{"position":[[42,7]]}},"keywords":{}}],["1022",{"_index":6051,"title":{},"content":{"1476":{"position":[[90,7]]}},"keywords":{}}],["1023",{"_index":6172,"title":{},"content":{"1476":{"position":[[2991,7]]}},"keywords":{}}],["1023ul",{"_index":7849,"title":{},"content":{"2014":{"position":[[466,6]]}},"keywords":{}}],["1024",{"_index":3749,"title":{},"content":{"715":{"position":[[58,7]]}},"keywords":{}}],["1026",{"_index":3755,"title":{},"content":{"715":{"position":[[246,5]]}},"keywords":{}}],["1028",{"_index":3753,"title":{},"content":{"715":{"position":[[214,7],[240,5]]}},"keywords":{}}],["103",{"_index":6993,"title":{},"content":{"1663":{"position":[[68,4]]}},"keywords":{}}],["103.0.0",{"_index":4064,"title":{},"content":{"850":{"position":[[67,7]]}},"keywords":{}}],["103.0.1",{"_index":4061,"title":{"849":{"position":[[0,7]]}},"content":{},"keywords":{}}],["103.1.0",{"_index":4058,"title":{},"content":{"847":{"position":[[521,7]]}},"keywords":{}}],["103.1.1",{"_index":4043,"title":{"846":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1034",{"_index":3735,"title":{},"content":{"708":{"position":[[66,7]]}},"keywords":{}}],["103593b",{"_index":4941,"title":{},"content":{"1236":{"position":[[131,10]]}},"keywords":{}}],["103syncset",{"_index":6358,"title":{},"content":{"1476":{"position":[[7879,11]]}},"keywords":{}}],["104.0.0",{"_index":4013,"title":{},"content":{"841":{"position":[[67,7]]}},"keywords":{}}],["104.0.1",{"_index":4009,"title":{"840":{"position":[[0,7]]}},"content":{},"keywords":{}}],["104.0.2",{"_index":4006,"title":{"838":{"position":[[0,7]]}},"content":{},"keywords":{}}],["104.0.3",{"_index":4002,"title":{"836":{"position":[[0,7]]}},"content":{},"keywords":{}}],["104.0.4",{"_index":4000,"title":{"834":{"position":[[0,7]]}},"content":{},"keywords":{}}],["104.1.0",{"_index":3997,"title":{},"content":{"832":{"position":[[46,7]]}},"keywords":{}}],["104.2.0",{"_index":3992,"title":{},"content":{"829":{"position":[[56,7]]}},"keywords":{}}],["104.3.0",{"_index":3988,"title":{},"content":{"828":{"position":[[66,7]]}},"keywords":{}}],["1040",{"_index":3695,"title":{},"content":{"690":{"position":[[37,7]]}},"keywords":{}}],["1047",{"_index":6181,"title":{},"content":{"1476":{"position":[[3220,7]]}},"keywords":{}}],["1048575ul",{"_index":7869,"title":{},"content":{"2014":{"position":[[985,9]]}},"keywords":{}}],["1049",{"_index":3689,"title":{},"content":{"687":{"position":[[28,7]]}},"keywords":{}}],["105.0.0",{"_index":3984,"title":{},"content":{"825":{"position":[[69,7]]}},"keywords":{}}],["105.0.1",{"_index":3977,"title":{"823":{"position":[[0,7]]}},"content":{},"keywords":{}}],["105.1.0",{"_index":3972,"title":{},"content":{"820":{"position":[[224,7]]}},"keywords":{}}],["105.1.1",{"_index":3966,"title":{"819":{"position":[[0,7]]}},"content":{},"keywords":{}}],["105.1.2",{"_index":3964,"title":{"817":{"position":[[0,7]]}},"content":{},"keywords":{}}],["105.1.3",{"_index":3959,"title":{"815":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1051fix",{"_index":5409,"title":{},"content":{"1474":{"position":[[1806,8]]}},"keywords":{}}],["1052",{"_index":5407,"title":{},"content":{"1474":{"position":[[1780,7]]}},"keywords":{}}],["1053",{"_index":5446,"title":{},"content":{"1474":{"position":[[3332,5]]}},"keywords":{}}],["1054",{"_index":3679,"title":{},"content":{"683":{"position":[[51,6],[146,6]]}},"keywords":{}}],["1056",{"_index":5397,"title":{},"content":{"1474":{"position":[[1513,7]]}},"keywords":{}}],["1057",{"_index":6141,"title":{},"content":{"1476":{"position":[[2247,7]]}},"keywords":{}}],["106",{"_index":6294,"title":{},"content":{"1476":{"position":[[6196,6]]},"1667":{"position":[[25,6]]}},"keywords":{}}],["106.0.0",{"_index":3951,"title":{},"content":{"811":{"position":[[55,7]]}},"keywords":{}}],["106.1.0",{"_index":3949,"title":{},"content":{"810":{"position":[[64,7]]}},"keywords":{}}],["106.2.0",{"_index":3945,"title":{},"content":{"808":{"position":[[145,7]]}},"keywords":{}}],["106.2.1",{"_index":3941,"title":{"807":{"position":[[0,7]]}},"content":{},"keywords":{}}],["106.2.2",{"_index":3938,"title":{"805":{"position":[[0,7]]}},"content":{},"keywords":{}}],["106.2.3",{"_index":3935,"title":{"803":{"position":[[0,7]]}},"content":{},"keywords":{}}],["106.2.4",{"_index":3933,"title":{"801":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1066weaver",{"_index":3551,"title":{},"content":{"622":{"position":[[174,12]]}},"keywords":{}}],["106c47c",{"_index":3781,"title":{},"content":{"727":{"position":[[61,9]]}},"keywords":{}}],["106e714",{"_index":3754,"title":{},"content":{"715":{"position":[[222,10]]}},"keywords":{}}],["107.0.0",{"_index":3928,"title":{},"content":{"798":{"position":[[70,7]]}},"keywords":{}}],["107.0.1",{"_index":3925,"title":{"797":{"position":[[0,7]]}},"content":{},"keywords":{}}],["107.1.0",{"_index":3921,"title":{},"content":{"794":{"position":[[82,7]]}},"keywords":{}}],["107.1.1",{"_index":3919,"title":{"793":{"position":[[0,7]]}},"content":{},"keywords":{}}],["107.1.2",{"_index":3917,"title":{"791":{"position":[[0,7]]}},"content":{},"keywords":{}}],["107.1.3",{"_index":3914,"title":{"789":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1070",{"_index":3634,"title":{},"content":{"664":{"position":[[24,7]]}},"keywords":{}}],["1072",{"_index":3637,"title":{},"content":{"666":{"position":[[68,7]]}},"keywords":{}}],["1073",{"_index":3640,"title":{},"content":{"667":{"position":[[46,7]]}},"keywords":{}}],["1073741823ul",{"_index":7889,"title":{},"content":{"2014":{"position":[[1534,12]]}},"keywords":{}}],["1076",{"_index":3607,"title":{},"content":{"649":{"position":[[31,7]]}},"keywords":{}}],["1077",{"_index":3604,"title":{},"content":{"647":{"position":[[39,7]]}},"keywords":{}}],["1078",{"_index":3600,"title":{},"content":{"646":{"position":[[30,7]]}},"keywords":{}}],["1079",{"_index":3594,"title":{},"content":{"642":{"position":[[64,7]]}},"keywords":{}}],["108.0.0",{"_index":3905,"title":{},"content":{"785":{"position":[[81,7]]}},"keywords":{}}],["108.0.1",{"_index":3902,"title":{"784":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1087)"",{"_index":6589,"title":{},"content":{"1478":{"position":[[429,13]]}},"keywords":{}}],["1087revert",{"_index":6591,"title":{},"content":{"1478":{"position":[[461,11]]}},"keywords":{}}],["1089",{"_index":6324,"title":{},"content":{"1476":{"position":[[6911,7]]}},"keywords":{}}],["109",{"_index":6356,"title":{},"content":{"1476":{"position":[[7854,6]]},"1663":{"position":[[43,6]]}},"keywords":{}}],["109.0.0",{"_index":3899,"title":{},"content":{"781":{"position":[[77,7]]}},"keywords":{}}],["109.0.1",{"_index":3896,"title":{"780":{"position":[[0,7]]}},"content":{},"keywords":{}}],["109.0.2",{"_index":3892,"title":{"778":{"position":[[0,7]]}},"content":{},"keywords":{}}],["109.0.3",{"_index":3890,"title":{"776":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1091)"",{"_index":6584,"title":{},"content":{"1478":{"position":[[331,13]]}},"keywords":{}}],["1091revert",{"_index":6586,"title":{},"content":{"1478":{"position":[[363,11]]}},"keywords":{}}],["1094",{"_index":3540,"title":{},"content":{"617":{"position":[[30,7]]}},"keywords":{}}],["1095fix",{"_index":3532,"title":{},"content":{"614":{"position":[[190,11]]}},"keywords":{}}],["1099511627775ul",{"_index":7909,"title":{},"content":{"2014":{"position":[[2113,15]]}},"keywords":{}}],["10ab69e)ad",{"_index":3321,"title":{},"content":{"538":{"position":[[70,15]]}},"keywords":{}}],["10e7d6e)runtim",{"_index":4879,"title":{},"content":{"1207":{"position":[[16,16]]}},"keywords":{}}],["10gb",{"_index":1593,"title":{},"content":{"190":{"position":[[941,4]]}},"keywords":{}}],["10hz",{"_index":8813,"title":{},"content":{"2287":{"position":[[205,4]]}},"keywords":{}}],["10k",{"_index":6191,"title":{},"content":{"1476":{"position":[[3417,3]]},"1477":{"position":[[1338,3],[1359,3]]},"1561":{"position":[[13,3]]},"1568":{"position":[[67,3],[88,3]]}},"keywords":{}}],["11",{"_index":1754,"title":{"210":{"position":[[5,3]]},"419":{"position":[[14,2]]},"422":{"position":[[14,2]]},"517":{"position":[[17,4]]},"567":{"position":[[17,4]]},"576":{"position":[[14,2]]},"578":{"position":[[14,2]]},"580":{"position":[[14,2]]},"760":{"position":[[14,2]]},"762":{"position":[[14,2]]},"769":{"position":[[14,2]]},"1187":{"position":[[16,4]]},"1213":{"position":[[13,2]]},"1218":{"position":[[13,2]]},"1220":{"position":[[13,2]]},"1222":{"position":[[13,2]]},"1224":{"position":[[13,2]]},"1226":{"position":[[13,2]]},"1228":{"position":[[13,2]]},"1230":{"position":[[13,2]]},"1232":{"position":[[13,2]]},"1235":{"position":[[13,2]]},"1240":{"position":[[13,2]]},"1242":{"position":[[13,2]]},"1244":{"position":[[13,2]]},"1246":{"position":[[13,2]]},"1249":{"position":[[13,2]]},"1251":{"position":[[13,2]]},"1253":{"position":[[13,2]]},"1255":{"position":[[13,2]]},"1552":{"position":[[16,4]]},"1554":{"position":[[16,4]]},"1556":{"position":[[16,4]]},"1760":{"position":[[15,4]]}},"content":{"420":{"position":[[69,2]]},"423":{"position":[[43,2]]},"478":{"position":[[54,3]]},"565":{"position":[[73,3]]},"581":{"position":[[61,2]]},"583":{"position":[[149,2]]},"584":{"position":[[77,2]]},"755":{"position":[[73,2]]},"763":{"position":[[74,2]]},"770":{"position":[[77,2]]},"771":{"position":[[100,2]]},"773":{"position":[[79,2]]},"1185":{"position":[[68,3]]},"1188":{"position":[[54,3]]},"1215":{"position":[[68,2]]},"1216":{"position":[[53,2]]},"1233":{"position":[[79,2]]},"1236":{"position":[[68,2]]},"1237":{"position":[[93,2]]},"1238":{"position":[[45,2]]},"1247":{"position":[[55,2]]},"1256":{"position":[[74,2]]},"1257":{"position":[[61,2]]},"1341":{"position":[[71,3]]},"1476":{"position":[[660,5]]},"1590":{"position":[[76,3]]},"1761":{"position":[[53,3]]},"2113":{"position":[[408,2]]},"2128":{"position":[[491,2]]}},"keywords":{}}],["11.0.0",{"_index":7097,"title":{},"content":{"1734":{"position":[[335,6]]}},"keywords":{}}],["11.1.0",{"_index":7082,"title":{},"content":{"1732":{"position":[[49,6]]}},"keywords":{}}],["110",{"_index":1203,"title":{},"content":{"129":{"position":[[358,3]]},"155":{"position":[[360,3],[403,3]]},"158":{"position":[[358,3]]}},"keywords":{}}],["110.0.0",{"_index":3883,"title":{},"content":{"773":{"position":[[65,7]]}},"keywords":{}}],["110.0f",{"_index":1691,"title":{},"content":{"203":{"position":[[2006,7]]},"209":{"position":[[1981,7]]},"211":{"position":[[1180,7]]}},"keywords":{}}],["1100",{"_index":3491,"title":{},"content":{"600":{"position":[[56,7]]}},"keywords":{}}],["1101_1011",{"_index":1311,"title":{},"content":{"155":{"position":[[382,10]]}},"keywords":{}}],["1106",{"_index":3470,"title":{},"content":{"590":{"position":[[71,7]]},"1474":{"position":[[3742,7]]}},"keywords":{}}],["1108code",{"_index":5603,"title":{},"content":{"1474":{"position":[[8246,9]]}},"keywords":{}}],["1109",{"_index":3460,"title":{},"content":{"585":{"position":[[97,5]]}},"keywords":{}}],["111",{"_index":6229,"title":{},"content":{"1476":{"position":[[4368,6]]},"1661":{"position":[[30,6]]}},"keywords":{}}],["111.0.0",{"_index":3878,"title":{},"content":{"771":{"position":[[86,7]]}},"keywords":{}}],["111.1.0",{"_index":3875,"title":{},"content":{"770":{"position":[[63,7]]}},"keywords":{}}],["111.1.1",{"_index":3872,"title":{"769":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1110",{"_index":5450,"title":{},"content":{"1474":{"position":[[3395,7]]}},"keywords":{}}],["1110_0110",{"_index":1206,"title":{},"content":{"129":{"position":[[438,10]]},"158":{"position":[[438,10]]}},"keywords":{}}],["1111_0110",{"_index":1204,"title":{},"content":{"129":{"position":[[395,9]]},"158":{"position":[[395,9]]}},"keywords":{}}],["1116",{"_index":3434,"title":{},"content":{"574":{"position":[[70,7]]}},"keywords":{}}],["1118",{"_index":3410,"title":{},"content":{"562":{"position":[[95,7]]}},"keywords":{}}],["111_1111",{"_index":1229,"title":{},"content":{"135":{"position":[[259,8]]}},"keywords":{}}],["111fce6)rpc",{"_index":3714,"title":{},"content":{"700":{"position":[[34,13]]}},"keywords":{}}],["112",{"_index":6227,"title":{},"content":{"1476":{"position":[[4322,6]]},"1659":{"position":[[37,6]]}},"keywords":{}}],["112.0.0",{"_index":3853,"title":{},"content":{"763":{"position":[[60,7]]}},"keywords":{}}],["112.0.1",{"_index":3850,"title":{"762":{"position":[[0,7]]}},"content":{},"keywords":{}}],["112.0.2",{"_index":3848,"title":{"760":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1120",{"_index":3406,"title":{},"content":{"560":{"position":[[36,7]]},"1476":{"position":[[8392,7]]}},"keywords":{}}],["1121",{"_index":3400,"title":{},"content":{"558":{"position":[[63,7]]},"1476":{"position":[[9098,5]]}},"keywords":{}}],["1125",{"_index":6395,"title":{},"content":{"1476":{"position":[[9104,7]]}},"keywords":{}}],["1125899906842623ul",{"_index":7929,"title":{},"content":{"2014":{"position":[[2722,18]]}},"keywords":{}}],["1127",{"_index":3389,"title":{},"content":{"555":{"position":[[338,7]]}},"keywords":{}}],["1128",{"_index":3395,"title":{},"content":{"557":{"position":[[55,7]]}},"keywords":{}}],["1128clientrpc",{"_index":5597,"title":{},"content":{"1474":{"position":[[8014,14]]}},"keywords":{}}],["1128tcp",{"_index":5995,"title":{},"content":{"1474":{"position":[[21141,8]]}},"keywords":{}}],["1129",{"_index":5595,"title":{},"content":{"1474":{"position":[[7988,7]]}},"keywords":{}}],["113",{"_index":6374,"title":{},"content":{"1476":{"position":[[8440,6]]},"1656":{"position":[[82,6]]}},"keywords":{}}],["113.0.0",{"_index":3837,"title":{},"content":{"755":{"position":[[59,7]]}},"keywords":{}}],["113.0.1",{"_index":3834,"title":{"754":{"position":[[0,7]]}},"content":{},"keywords":{}}],["113.0.2",{"_index":3832,"title":{"752":{"position":[[0,7]]}},"content":{},"keywords":{}}],["113.0.3",{"_index":3829,"title":{"750":{"position":[[0,7]]}},"content":{},"keywords":{}}],["113.0.4",{"_index":3825,"title":{"748":{"position":[[0,7]]}},"content":{},"keywords":{}}],["113.1.0",{"_index":3823,"title":{},"content":{"746":{"position":[[28,7]]}},"keywords":{}}],["113.1.1",{"_index":3820,"title":{"745":{"position":[[0,7]]}},"content":{},"keywords":{}}],["113.1.2",{"_index":3818,"title":{"743":{"position":[[0,7]]}},"content":{},"keywords":{}}],["113.1.3",{"_index":3813,"title":{"741":{"position":[[0,7]]}},"content":{},"keywords":{}}],["113.2.0",{"_index":3807,"title":{},"content":{"738":{"position":[[64,7]]}},"keywords":{}}],["113.3.0",{"_index":3802,"title":{},"content":{"736":{"position":[[69,7]]}},"keywords":{}}],["113.3.1",{"_index":3800,"title":{"735":{"position":[[0,7]]}},"content":{},"keywords":{}}],["113.3.2",{"_index":3788,"title":{"733":{"position":[[0,7]]}},"content":{},"keywords":{}}],["113.3.3",{"_index":3786,"title":{"731":{"position":[[0,7]]}},"content":{},"keywords":{}}],["113.3.4",{"_index":3784,"title":{"729":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1130",{"_index":3378,"title":{},"content":{"553":{"position":[[129,7]]},"1474":{"position":[[21115,7]]}},"keywords":{}}],["1131",{"_index":5991,"title":{},"content":{"1474":{"position":[[21022,7]]}},"keywords":{}}],["1132d92)server",{"_index":4335,"title":{},"content":{"974":{"position":[[37,15]]}},"keywords":{}}],["1136",{"_index":6029,"title":{},"content":{"1474":{"position":[[22331,5]]}},"keywords":{}}],["1137",{"_index":6030,"title":{},"content":{"1474":{"position":[[22337,7]]}},"keywords":{}}],["1137865",{"_index":4784,"title":{},"content":{"1161":{"position":[[26,9]]}},"keywords":{}}],["1139527",{"_index":3622,"title":{},"content":{"660":{"position":[[67,9]]}},"keywords":{}}],["114",{"_index":6174,"title":{},"content":{"1476":{"position":[[3043,6]]},"1656":{"position":[[35,6]]}},"keywords":{}}],["114.0.0",{"_index":3775,"title":{},"content":{"725":{"position":[[62,7]]}},"keywords":{}}],["114.0.1",{"_index":3771,"title":{"724":{"position":[[0,7]]}},"content":{},"keywords":{}}],["114.0.2",{"_index":3768,"title":{"722":{"position":[[0,7]]}},"content":{},"keywords":{}}],["114.0.3",{"_index":3765,"title":{"720":{"position":[[0,7]]}},"content":{},"keywords":{}}],["114.1.0",{"_index":3761,"title":{},"content":{"718":{"position":[[63,7]]}},"keywords":{}}],["114.1.1",{"_index":3759,"title":{"717":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1142",{"_index":5638,"title":{},"content":{"1474":{"position":[[9092,5]]}},"keywords":{}}],["1143",{"_index":5639,"title":{},"content":{"1474":{"position":[[9098,7]]}},"keywords":{}}],["1144",{"_index":6418,"title":{},"content":{"1477":{"position":[[485,7]]}},"keywords":{}}],["1145",{"_index":5833,"title":{},"content":{"1474":{"position":[[16176,7]]}},"keywords":{}}],["1147",{"_index":6361,"title":{},"content":{"1476":{"position":[[7990,7]]}},"keywords":{}}],["1149",{"_index":3157,"title":{},"content":{"472":{"position":[[47,7]]}},"keywords":{}}],["115.0.0",{"_index":3746,"title":{},"content":{"714":{"position":[[79,7]]}},"keywords":{}}],["1150",{"_index":3142,"title":{},"content":{"464":{"position":[[26,7]]}},"keywords":{}}],["1151",{"_index":3137,"title":{},"content":{"460":{"position":[[42,7]]}},"keywords":{}}],["1152921504606846975ul",{"_index":7949,"title":{},"content":{"2014":{"position":[[3361,21]]}},"keywords":{}}],["1153",{"_index":6388,"title":{},"content":{"1476":{"position":[[8875,7]]}},"keywords":{}}],["1158",{"_index":5653,"title":{},"content":{"1474":{"position":[[9471,7]]}},"keywords":{}}],["116.0.0",{"_index":3742,"title":{},"content":{"712":{"position":[[46,7]]}},"keywords":{}}],["116.1.0",{"_index":3739,"title":{},"content":{"710":{"position":[[66,7]]}},"keywords":{}}],["116.1.1",{"_index":3737,"title":{"709":{"position":[[0,7]]}},"content":{},"keywords":{}}],["116.2.0",{"_index":3733,"title":{},"content":{"707":{"position":[[177,7]]}},"keywords":{}}],["1168",{"_index":6312,"title":{},"content":{"1476":{"position":[[6646,7]]}},"keywords":{}}],["1169",{"_index":5987,"title":{},"content":{"1474":{"position":[[20884,7]]}},"keywords":{}}],["117.0.0",{"_index":3721,"title":{},"content":{"702":{"position":[[63,7]]}},"keywords":{}}],["117.1.0",{"_index":3716,"title":{},"content":{"700":{"position":[[76,7]]}},"keywords":{}}],["117.1.1",{"_index":3713,"title":{"699":{"position":[[0,7]]}},"content":{},"keywords":{}}],["117.2.0",{"_index":3708,"title":{},"content":{"696":{"position":[[82,7]]}},"keywords":{}}],["1171",{"_index":3016,"title":{},"content":{"405":{"position":[[65,7]]},"1477":{"position":[[204,5]]}},"keywords":{}}],["1172",{"_index":6411,"title":{},"content":{"1477":{"position":[[265,5]]}},"keywords":{}}],["1173",{"_index":6408,"title":{},"content":{"1477":{"position":[[210,7]]}},"keywords":{}}],["1174",{"_index":6412,"title":{},"content":{"1477":{"position":[[271,7]]}},"keywords":{}}],["11750a9)avoid",{"_index":6416,"title":{},"content":{"1477":{"position":[[386,14]]}},"keywords":{}}],["11755e7)loggui",{"_index":3943,"title":{},"content":{"808":{"position":[[63,16]]}},"keywords":{}}],["1179)"",{"_index":5369,"title":{},"content":{"1474":{"position":[[445,13]]}},"keywords":{}}],["118",{"_index":6543,"title":{},"content":{"1477":{"position":[[3894,6]]},"1651":{"position":[[108,6],[133,4]]}},"keywords":{}}],["118.0.0",{"_index":3704,"title":{},"content":{"693":{"position":[[82,7]]}},"keywords":{}}],["1186cf6)add",{"_index":3104,"title":{},"content":{"444":{"position":[[145,12]]}},"keywords":{}}],["118merg",{"_index":6545,"title":{},"content":{"1477":{"position":[[3919,9]]}},"keywords":{}}],["119.0.0",{"_index":3699,"title":{},"content":{"692":{"position":[[44,7]]}},"keywords":{}}],["119.0.1",{"_index":3697,"title":{"691":{"position":[[0,7]]}},"content":{},"keywords":{}}],["119.1.0",{"_index":3694,"title":{},"content":{"689":{"position":[[79,7]]}},"keywords":{}}],["119.1.1",{"_index":3691,"title":{"688":{"position":[[0,7]]}},"content":{},"keywords":{}}],["119.1.2",{"_index":3687,"title":{"686":{"position":[[0,7]]}},"content":{},"keywords":{}}],["119.1.3",{"_index":3685,"title":{"684":{"position":[[0,7]]}},"content":{},"keywords":{}}],["119.1.4",{"_index":3678,"title":{"682":{"position":[[0,7]]}},"content":{},"keywords":{}}],["11_1011_1010_1110",{"_index":1161,"title":{},"content":{"123":{"position":[[304,17]]}},"keywords":{}}],["11a7ab6",{"_index":3299,"title":{},"content":{"531":{"position":[[55,9]]}},"keywords":{}}],["11b2fb3",{"_index":3833,"title":{},"content":{"753":{"position":[[56,9]]}},"keywords":{}}],["11cb7f2",{"_index":4938,"title":{},"content":{"1236":{"position":[[45,9]]}},"keywords":{}}],["11edc14)show",{"_index":6333,"title":{},"content":{"1476":{"position":[[7165,13]]}},"keywords":{}}],["12",{"_index":2872,"title":{"413":{"position":[[14,2]]},"415":{"position":[[14,2]]},"417":{"position":[[14,2]]},"475":{"position":[[17,4]]},"559":{"position":[[14,2]]},"561":{"position":[[14,2]]},"564":{"position":[[14,2]]},"567":{"position":[[14,2]]},"569":{"position":[[14,2]]},"571":{"position":[[14,2]]},"573":{"position":[[14,2]]},"648":{"position":[[17,4]]},"724":{"position":[[14,2]]},"729":{"position":[[14,2]]},"731":{"position":[[14,2]]},"733":{"position":[[14,2]]},"735":{"position":[[14,2]]},"741":{"position":[[14,2]]},"743":{"position":[[14,2]]},"745":{"position":[[14,2]]},"748":{"position":[[14,2]]},"750":{"position":[[14,2]]},"752":{"position":[[14,2]]},"754":{"position":[[14,2]]},"793":{"position":[[17,4]]},"991":{"position":[[16,4]]},"1198":{"position":[[13,2]]},"1201":{"position":[[13,2]]},"1206":{"position":[[13,2]]},"1209":{"position":[[13,2]]},"1340":{"position":[[16,4]]},"1754":{"position":[[15,4]]},"1756":{"position":[[15,4]]},"1758":{"position":[[15,4]]}},"content":{"356":{"position":[[301,2]]},"400":{"position":[[169,3]]},"402":{"position":[[60,3]]},"411":{"position":[[74,2]]},"476":{"position":[[63,3]]},"562":{"position":[[127,2]]},"565":{"position":[[70,2]]},"574":{"position":[[102,2]]},"646":{"position":[[65,3]]},"669":{"position":[[92,3]]},"725":{"position":[[76,2]]},"736":{"position":[[83,2]]},"738":{"position":[[78,2]]},"746":{"position":[[42,2]]},"989":{"position":[[75,3]]},"1183":{"position":[[76,3]]},"1184":{"position":[[64,3]]},"1199":{"position":[[46,2]]},"1202":{"position":[[45,2]]},"1203":{"position":[[72,2]]},"1204":{"position":[[62,2]]},"1207":{"position":[[64,2]]},"1210":{"position":[[75,2]]},"1548":{"position":[[72,3]]},"1550":{"position":[[139,3]]},"1736":{"position":[[77,3]]},"1737":{"position":[[107,3]]}},"keywords":{}}],["12.0.0",{"_index":7081,"title":{},"content":{"1731":{"position":[[46,6]]}},"keywords":{}}],["12.0.1",{"_index":7079,"title":{"1730":{"position":[[0,6]]}},"content":{},"keywords":{}}],["12.0.2",{"_index":7076,"title":{"1728":{"position":[[0,6]]}},"content":{},"keywords":{}}],["120",{"_index":6047,"title":{},"content":{"1475":{"position":[[200,6]]},"1649":{"position":[[29,6]]}},"keywords":{}}],["120.0.0",{"_index":3674,"title":{},"content":{"680":{"position":[[55,7]]}},"keywords":{}}],["120.1.0",{"_index":3671,"title":{},"content":{"679":{"position":[[85,7]]}},"keywords":{}}],["120.1.1",{"_index":3669,"title":{"678":{"position":[[0,7]]}},"content":{},"keywords":{}}],["120.1.2",{"_index":3664,"title":{"676":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1202",{"_index":6269,"title":{},"content":{"1476":{"position":[[5486,7]]}},"keywords":{}}],["1204",{"_index":6363,"title":{},"content":{"1476":{"position":[[8044,7]]}},"keywords":{}}],["1206",{"_index":5627,"title":{},"content":{"1474":{"position":[[8750,5]]},"1477":{"position":[[2662,7]]}},"keywords":{}}],["120f",{"_index":1163,"title":{},"content":{"123":{"position":[[359,4]]}},"keywords":{}}],["121",{"_index":6539,"title":{},"content":{"1477":{"position":[[3807,6]]},"1648":{"position":[[178,6],[203,4]]}},"keywords":{}}],["121.0.0",{"_index":3656,"title":{},"content":{"673":{"position":[[103,7]]}},"keywords":{}}],["121.0.1",{"_index":3653,"title":{"672":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1211",{"_index":6134,"title":{},"content":{"1476":{"position":[[2124,7]]}},"keywords":{}}],["1215",{"_index":6302,"title":{},"content":{"1476":{"position":[[6433,7]]}},"keywords":{}}],["1216",{"_index":5822,"title":{},"content":{"1474":{"position":[[15661,7]]}},"keywords":{}}],["1217",{"_index":6322,"title":{},"content":{"1476":{"position":[[6838,7]]}},"keywords":{}}],["121remov",{"_index":6541,"title":{},"content":{"1477":{"position":[[3832,10]]}},"keywords":{}}],["122",{"_index":6536,"title":{},"content":{"1477":{"position":[[3730,6]]},"1648":{"position":[[101,6]]}},"keywords":{}}],["122.0.0",{"_index":3644,"title":{},"content":{"669":{"position":[[75,7]]}},"keywords":{}}],["122.0.1",{"_index":3642,"title":{"668":{"position":[[0,7]]}},"content":{},"keywords":{}}],["122.0.2",{"_index":3636,"title":{"665":{"position":[[0,7]]}},"content":{},"keywords":{}}],["122.1.0",{"_index":3629,"title":{},"content":{"662":{"position":[[160,7]]}},"keywords":{}}],["122server",{"_index":6538,"title":{},"content":{"1477":{"position":[[3755,10]]},"1648":{"position":[[126,10]]}},"keywords":{}}],["123",{"_index":6306,"title":{},"content":{"1476":{"position":[[6507,6]]},"1642":{"position":[[24,6]]}},"keywords":{}}],["123.0.0",{"_index":3620,"title":{},"content":{"659":{"position":[[49,7]]}},"keywords":{}}],["123.0.1",{"_index":3618,"title":{"658":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.0.2",{"_index":3616,"title":{"656":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.0.3",{"_index":3614,"title":{"654":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.0.4",{"_index":3612,"title":{"652":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.0.5",{"_index":3609,"title":{"650":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.0.6",{"_index":3606,"title":{"648":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.1.0",{"_index":3602,"title":{},"content":{"646":{"position":[[48,7]]}},"keywords":{}}],["123.1.1",{"_index":3599,"title":{"645":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.1.2",{"_index":3596,"title":{"643":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.1.3",{"_index":3592,"title":{"641":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.1.4",{"_index":3587,"title":{"639":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.1.5",{"_index":3583,"title":{"637":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.2.0",{"_index":3578,"title":{},"content":{"634":{"position":[[152,7]]}},"keywords":{}}],["123.2.1",{"_index":3572,"title":{"633":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.2.2",{"_index":3569,"title":{"631":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.2.3",{"_index":3567,"title":{"629":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.2.4",{"_index":3561,"title":{"627":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.3.0",{"_index":3558,"title":{},"content":{"625":{"position":[[56,7]]}},"keywords":{}}],["123.3.1",{"_index":3555,"title":{"624":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.3.2",{"_index":3546,"title":{"621":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.3.3",{"_index":3543,"title":{"619":{"position":[[0,7]]}},"content":{},"keywords":{}}],["123.4.0",{"_index":3539,"title":{},"content":{"616":{"position":[[180,7]]}},"keywords":{}}],["123456789",{"_index":2451,"title":{},"content":{"291":{"position":[[586,10]]}},"keywords":{}}],["124.0.0",{"_index":3528,"title":{},"content":{"613":{"position":[[67,7]]}},"keywords":{}}],["1241",{"_index":7156,"title":{},"content":{"1766":{"position":[[0,5]]}},"keywords":{}}],["12437ba)error",{"_index":5406,"title":{},"content":{"1474":{"position":[[1741,14]]}},"keywords":{}}],["1246",{"_index":5636,"title":{},"content":{"1474":{"position":[[9031,7]]}},"keywords":{}}],["1249",{"_index":5556,"title":{},"content":{"1474":{"position":[[6951,7]]}},"keywords":{}}],["125",{"_index":2853,"title":{},"content":{"351":{"position":[[461,4],[466,4]]}},"keywords":{}}],["125.0.0",{"_index":3524,"title":{},"content":{"610":{"position":[[94,7]]}},"keywords":{}}],["1250headless",{"_index":5715,"title":{},"content":{"1474":{"position":[[11271,13]]}},"keywords":{}}],["1250islocalplay",{"_index":5735,"title":{},"content":{"1474":{"position":[[11836,18]]}},"keywords":{}}],["1250it",{"_index":5738,"title":{},"content":{"1474":{"position":[[11914,7]]}},"keywords":{}}],["1251",{"_index":5713,"title":{},"content":{"1474":{"position":[[11245,7]]}},"keywords":{}}],["1252",{"_index":5731,"title":{},"content":{"1474":{"position":[[11739,7]]}},"keywords":{}}],["1253",{"_index":5736,"title":{},"content":{"1474":{"position":[[11888,7]]}},"keywords":{}}],["1254)"",{"_index":6580,"title":{},"content":{"1478":{"position":[[239,13]]}},"keywords":{}}],["1254revert",{"_index":6582,"title":{},"content":{"1478":{"position":[[271,11]]}},"keywords":{}}],["1255",{"_index":5733,"title":{},"content":{"1474":{"position":[[11810,7]]}},"keywords":{}}],["1257",{"_index":5893,"title":{},"content":{"1474":{"position":[[17636,5],[17642,5]]}},"keywords":{}}],["1257replac",{"_index":5894,"title":{},"content":{"1474":{"position":[[17648,13]]}},"keywords":{}}],["126",{"_index":6331,"title":{},"content":{"1476":{"position":[[7126,6]]},"1630":{"position":[[38,6]]}},"keywords":{}}],["126.0.0",{"_index":3520,"title":{},"content":{"607":{"position":[[47,7]]}},"keywords":{}}],["126.0.1",{"_index":3517,"title":{"606":{"position":[[0,7]]}},"content":{},"keywords":{}}],["126.1.0",{"_index":3512,"title":{},"content":{"603":{"position":[[130,7]]}},"keywords":{}}],["1261",{"_index":5891,"title":{},"content":{"1474":{"position":[[17610,7]]}},"keywords":{}}],["1263",{"_index":5641,"title":{},"content":{"1474":{"position":[[9151,7]]}},"keywords":{}}],["1264",{"_index":5560,"title":{},"content":{"1474":{"position":[[7050,7]]}},"keywords":{}}],["127",{"_index":1227,"title":{},"content":{"135":{"position":[[171,3]]},"155":{"position":[[259,3]]},"1478":{"position":[[1829,4]]}},"keywords":{}}],["127)"",{"_index":6641,"title":{},"content":{"1478":{"position":[[1798,12]]}},"keywords":{}}],["127.0.0",{"_index":3505,"title":{},"content":{"601":{"position":[[194,7]]}},"keywords":{}}],["1270",{"_index":5523,"title":{},"content":{"1474":{"position":[[5923,7]]}},"keywords":{}}],["1271",{"_index":6257,"title":{},"content":{"1476":{"position":[[5120,7]]},"1749":{"position":[[32,7]]}},"keywords":{}}],["1279",{"_index":6290,"title":{},"content":{"1476":{"position":[[6114,7]]}},"keywords":{}}],["127a883)add",{"_index":3108,"title":{},"content":{"444":{"position":[[345,12]]}},"keywords":{}}],["127bcbf",{"_index":3895,"title":{},"content":{"779":{"position":[[80,9]]}},"keywords":{}}],["127ul",{"_index":7843,"title":{},"content":{"2014":{"position":[[320,5]]}},"keywords":{}}],["128",{"_index":1264,"title":{},"content":{"139":{"position":[[1185,3]]},"155":{"position":[[252,3]]}},"keywords":{}}],["128.0.0",{"_index":3493,"title":{},"content":{"600":{"position":[[74,7]]}},"keywords":{}}],["128.1.0",{"_index":3490,"title":{},"content":{"599":{"position":[[49,7]]}},"keywords":{}}],["128.1.1",{"_index":3487,"title":{"598":{"position":[[0,7]]}},"content":{},"keywords":{}}],["128.2.0",{"_index":3484,"title":{},"content":{"595":{"position":[[128,7]]}},"keywords":{}}],["128.3.0",{"_index":3476,"title":{},"content":{"593":{"position":[[70,7]]}},"keywords":{}}],["128.3.1",{"_index":3474,"title":{"592":{"position":[[0,7]]}},"content":{},"keywords":{}}],["128.4.0",{"_index":3472,"title":{},"content":{"590":{"position":[[89,7]]}},"keywords":{}}],["128.4.1",{"_index":3467,"title":{"589":{"position":[[0,7]]}},"content":{},"keywords":{}}],["128.5.0",{"_index":3462,"title":{},"content":{"586":{"position":[[64,7]]}},"keywords":{}}],["128.6.0",{"_index":3456,"title":{},"content":{"584":{"position":[[63,7]]}},"keywords":{}}],["128.7.0",{"_index":3454,"title":{},"content":{"583":{"position":[[135,7]]}},"keywords":{}}],["1280",{"_index":5899,"title":{},"content":{"1474":{"position":[[17744,7]]}},"keywords":{}}],["12827f6)add",{"_index":5498,"title":{},"content":{"1474":{"position":[[5154,12]]}},"keywords":{}}],["12827f6)dont",{"_index":6697,"title":{},"content":{"1496":{"position":[[47,13]]}},"keywords":{}}],["1284",{"_index":6367,"title":{},"content":{"1476":{"position":[[8157,7]]}},"keywords":{}}],["1286",{"_index":6247,"title":{},"content":{"1476":{"position":[[4853,7]]}},"keywords":{}}],["1287",{"_index":6393,"title":{},"content":{"1476":{"position":[[9041,7]]}},"keywords":{}}],["129.0.0",{"_index":3446,"title":{},"content":{"581":{"position":[[47,7]]}},"keywords":{}}],["129.0.1",{"_index":3443,"title":{"580":{"position":[[0,7]]}},"content":{},"keywords":{}}],["129.0.2",{"_index":3441,"title":{"578":{"position":[[0,7]]}},"content":{},"keywords":{}}],["129.0.3",{"_index":3439,"title":{"576":{"position":[[0,7]]}},"content":{},"keywords":{}}],["129.1.0",{"_index":3436,"title":{},"content":{"574":{"position":[[88,7]]}},"keywords":{}}],["129.1.1",{"_index":3429,"title":{"573":{"position":[[0,7]]}},"content":{},"keywords":{}}],["129.1.2",{"_index":3426,"title":{"571":{"position":[[0,7]]}},"content":{},"keywords":{}}],["129.1.3",{"_index":3424,"title":{"569":{"position":[[0,7]]}},"content":{},"keywords":{}}],["129.1.4",{"_index":3420,"title":{"567":{"position":[[0,7]]}},"content":{},"keywords":{}}],["129.2.0",{"_index":3418,"title":{},"content":{"565":{"position":[[56,7]]}},"keywords":{}}],["129.2.1",{"_index":3414,"title":{"564":{"position":[[0,7]]}},"content":{},"keywords":{}}],["129.3.0",{"_index":3412,"title":{},"content":{"562":{"position":[[113,7]]}},"keywords":{}}],["129.3.1",{"_index":3408,"title":{"561":{"position":[[0,7]]}},"content":{},"keywords":{}}],["129.3.2",{"_index":3402,"title":{"559":{"position":[[0,7]]}},"content":{},"keywords":{}}],["129.4.0",{"_index":3397,"title":{},"content":{"557":{"position":[[73,7]]}},"keywords":{}}],["129.5.0",{"_index":3391,"title":{},"content":{"555":{"position":[[356,7]]}},"keywords":{}}],["129.6.0",{"_index":3380,"title":{},"content":{"553":{"position":[[147,7]]}},"keywords":{}}],["129.6.1",{"_index":3372,"title":{"552":{"position":[[0,7]]}},"content":{},"keywords":{}}],["129.6.2",{"_index":3370,"title":{"550":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1291",{"_index":5669,"title":{},"content":{"1474":{"position":[[9939,7]]}},"keywords":{}}],["1294",{"_index":6234,"title":{},"content":{"1476":{"position":[[4477,7]]}},"keywords":{}}],["1295",{"_index":6253,"title":{},"content":{"1476":{"position":[[5018,7]]}},"keywords":{}}],["1296",{"_index":6202,"title":{},"content":{"1476":{"position":[[3698,7]]}},"keywords":{}}],["12a1d73",{"_index":4765,"title":{},"content":{"1153":{"position":[[41,10]]}},"keywords":{}}],["12c5a8f",{"_index":6585,"title":{},"content":{"1478":{"position":[[345,10]]}},"keywords":{}}],["12de543)mov",{"_index":5766,"title":{},"content":{"1474":{"position":[[12711,14]]}},"keywords":{}}],["12ffce7)renam",{"_index":4024,"title":{},"content":{"843":{"position":[[225,17]]}},"keywords":{}}],["13",{"_index":3019,"title":{"406":{"position":[[17,4]]},"473":{"position":[[17,4]]},"668":{"position":[[17,4]]},"720":{"position":[[17,4]]},"838":{"position":[[17,4]]},"840":{"position":[[17,4]]},"1538":{"position":[[16,4]]},"1540":{"position":[[16,4]]},"1542":{"position":[[16,4]]},"1544":{"position":[[16,4]]}},"content":{"1040":{"position":[[67,3]]},"1042":{"position":[[76,3]]},"1043":{"position":[[77,3]]},"1182":{"position":[[45,3]]},"1533":{"position":[[87,3]]},"1535":{"position":[[329,3]]},"1545":{"position":[[127,3]]},"1589":{"position":[[81,3]]},"1734":{"position":[[351,3]]},"2113":{"position":[[65,2],[181,2]]}},"keywords":{}}],["13.0.0",{"_index":7074,"title":{},"content":{"1726":{"position":[[77,6]]}},"keywords":{}}],["13.503f",{"_index":1162,"title":{},"content":{"123":{"position":[[342,7]]}},"keywords":{}}],["13.5f",{"_index":1160,"title":{},"content":{"123":{"position":[[280,5]]}},"keywords":{}}],["130",{"_index":1205,"title":{},"content":{"129":{"position":[[416,3],[458,3]]},"135":{"position":[[277,3]]},"155":{"position":[[485,3]]},"158":{"position":[[416,3],[458,3]]}},"keywords":{}}],["130.0.0",{"_index":3359,"title":{},"content":{"547":{"position":[[115,7]]}},"keywords":{}}],["130.1.0",{"_index":3353,"title":{},"content":{"545":{"position":[[289,7]]}},"keywords":{}}],["130.2.0",{"_index":3346,"title":{},"content":{"543":{"position":[[43,7]]}},"keywords":{}}],["130.3.0",{"_index":3343,"title":{},"content":{"542":{"position":[[39,7]]}},"keywords":{}}],["130.4.0",{"_index":3341,"title":{},"content":{"541":{"position":[[121,7]]}},"keywords":{}}],["130.4.1",{"_index":3337,"title":{"540":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1300",{"_index":8095,"title":{},"content":{"2039":{"position":[[122,4]]}},"keywords":{}}],["1303",{"_index":5677,"title":{},"content":{"1474":{"position":[[10184,7]]}},"keywords":{}}],["1305",{"_index":6150,"title":{},"content":{"1476":{"position":[[2495,7]]}},"keywords":{}}],["131.0.0",{"_index":3305,"title":{},"content":{"536":{"position":[[60,7]]}},"keywords":{}}],["131.0.1",{"_index":3303,"title":{"535":{"position":[[0,7]]}},"content":{},"keywords":{}}],["131.0.2",{"_index":3301,"title":{"533":{"position":[[0,7]]}},"content":{},"keywords":{}}],["131.1.0",{"_index":3297,"title":{},"content":{"530":{"position":[[104,7]]}},"keywords":{}}],["131.1.1",{"_index":3293,"title":{"529":{"position":[[0,7]]}},"content":{},"keywords":{}}],["131.1.2",{"_index":3289,"title":{"527":{"position":[[0,7]]}},"content":{},"keywords":{}}],["131.1.3",{"_index":3287,"title":{"525":{"position":[[0,7]]}},"content":{},"keywords":{}}],["131071ul",{"_index":7863,"title":{},"content":{"2014":{"position":[[826,8]]}},"keywords":{}}],["1317",{"_index":6074,"title":{},"content":{"1476":{"position":[[478,7]]}},"keywords":{}}],["132",{"_index":5590,"title":{},"content":{"1474":{"position":[[7861,6]]},"1626":{"position":[[32,6]]}},"keywords":{}}],["132.0.0",{"_index":3276,"title":{},"content":{"520":{"position":[[30,7]]}},"keywords":{}}],["132.0.1",{"_index":3272,"title":{"519":{"position":[[0,7]]}},"content":{},"keywords":{}}],["132.0.2",{"_index":3269,"title":{"517":{"position":[[0,7]]}},"content":{},"keywords":{}}],["132.0.3",{"_index":3267,"title":{"515":{"position":[[0,7]]}},"content":{},"keywords":{}}],["133",{"_index":5592,"title":{},"content":{"1474":{"position":[[7926,6]]},"1626":{"position":[[97,6]]}},"keywords":{}}],["133.0.0",{"_index":3262,"title":{},"content":{"512":{"position":[[75,7]]}},"keywords":{}}],["1331",{"_index":5829,"title":{},"content":{"1474":{"position":[[16071,7]]}},"keywords":{}}],["1332",{"_index":5772,"title":{},"content":{"1474":{"position":[[13080,7]]}},"keywords":{}}],["1336",{"_index":6225,"title":{},"content":{"1476":{"position":[[4268,7]]}},"keywords":{}}],["1337",{"_index":6016,"title":{},"content":{"1474":{"position":[[22030,7]]}},"keywords":{}}],["1338",{"_index":5932,"title":{},"content":{"1474":{"position":[[19116,7]]}},"keywords":{}}],["134",{"_index":6138,"title":{},"content":{"1476":{"position":[[2206,6]]},"1615":{"position":[[23,6]]}},"keywords":{}}],["134.0.0",{"_index":3253,"title":{},"content":{"509":{"position":[[78,7]]}},"keywords":{}}],["134217727ul",{"_index":7883,"title":{},"content":{"2014":{"position":[[1366,11]]}},"keywords":{}}],["1346",{"_index":5626,"title":{},"content":{"1474":{"position":[[8744,5]]}},"keywords":{}}],["135",{"_index":6123,"title":{},"content":{"1476":{"position":[[1773,6]]},"1624":{"position":[[35,6]]}},"keywords":{}}],["135.0.0",{"_index":3249,"title":{},"content":{"507":{"position":[[113,7]]}},"keywords":{}}],["135.1.0",{"_index":3243,"title":{},"content":{"505":{"position":[[380,7]]}},"keywords":{}}],["1351destroy",{"_index":5628,"title":{},"content":{"1474":{"position":[[8756,14]]}},"keywords":{}}],["1352",{"_index":5624,"title":{},"content":{"1474":{"position":[[8718,7]]}},"keywords":{}}],["1352334)not",{"_index":5799,"title":{},"content":{"1474":{"position":[[14904,12]]}},"keywords":{}}],["1353",{"_index":6204,"title":{},"content":{"1476":{"position":[[3761,7]]}},"keywords":{}}],["1355",{"_index":5853,"title":{},"content":{"1474":{"position":[[16674,7]]}},"keywords":{}}],["136.0.0",{"_index":3224,"title":{},"content":{"501":{"position":[[53,7]]}},"keywords":{}}],["136.1.0",{"_index":3222,"title":{},"content":{"500":{"position":[[69,7]]}},"keywords":{}}],["136.2.0",{"_index":3219,"title":{},"content":{"499":{"position":[[139,7]]}},"keywords":{}}],["1361",{"_index":6084,"title":{},"content":{"1476":{"position":[[703,7]]}},"keywords":{}}],["137.0.0",{"_index":3212,"title":{},"content":{"496":{"position":[[72,7]]}},"keywords":{}}],["137.0.1",{"_index":3209,"title":{"495":{"position":[[0,7]]}},"content":{},"keywords":{}}],["137.0.2",{"_index":3206,"title":{"493":{"position":[[0,7]]}},"content":{},"keywords":{}}],["137.0.3",{"_index":3203,"title":{"491":{"position":[[0,7]]}},"content":{},"keywords":{}}],["137438953471ul",{"_index":7903,"title":{},"content":{"2014":{"position":[[1936,14]]}},"keywords":{}}],["138",{"_index":6304,"title":{},"content":{"1476":{"position":[[6467,6]]},"1623":{"position":[[17,6]]}},"keywords":{}}],["138.0.0",{"_index":3198,"title":{},"content":{"487":{"position":[[163,7]]}},"keywords":{}}],["139.0.0",{"_index":3183,"title":{},"content":{"484":{"position":[[52,7]]}},"keywords":{}}],["13a3c3d)reduc",{"_index":5131,"title":{},"content":{"1327":{"position":[[17,15]]},"1330":{"position":[[17,15]]},"1333":{"position":[[17,15]]}},"keywords":{}}],["13bb748)room",{"_index":5914,"title":{},"content":{"1474":{"position":[[18170,13]]}},"keywords":{}}],["13ce8a9",{"_index":3428,"title":{},"content":{"572":{"position":[[50,9]]}},"keywords":{}}],["13dbcb9",{"_index":5596,"title":{},"content":{"1474":{"position":[[7996,10]]}},"keywords":{}}],["13e6d1f",{"_index":4005,"title":{},"content":{"837":{"position":[[73,9]]}},"keywords":{}}],["14",{"_index":1155,"title":{"212":{"position":[[5,3]]},"426":{"position":[[17,4]]},"515":{"position":[[17,4]]},"665":{"position":[[17,4]]},"836":{"position":[[17,4]]},"988":{"position":[[16,4]]},"1224":{"position":[[16,4]]},"1226":{"position":[[16,4]]},"1336":{"position":[[16,4]]},"1523":{"position":[[16,4]]},"1532":{"position":[[16,4]]},"1573":{"position":[[16,4]]}},"content":{"123":{"position":[[189,2]]},"381":{"position":[[68,3]]},"581":{"position":[[64,3]]},"595":{"position":[[145,3]]},"662":{"position":[[177,3]]},"1036":{"position":[[88,3]]},"1038":{"position":[[56,3]]},"1114":{"position":[[68,3]]},"1116":{"position":[[179,3]]},"1333":{"position":[[323,3]]},"1337":{"position":[[81,3]]},"1338":{"position":[[51,3]]},"1519":{"position":[[166,3]]},"1521":{"position":[[87,3]]},"1524":{"position":[[93,3]]},"1525":{"position":[[75,3]]},"1527":{"position":[[150,3]]},"1529":{"position":[[64,3]]},"1588":{"position":[[97,3]]},"2054":{"position":[[169,2]]}},"keywords":{}}],["14.0.0",{"_index":7072,"title":{},"content":{"1725":{"position":[[55,6]]}},"keywords":{}}],["14.0.1",{"_index":7070,"title":{"1724":{"position":[[0,6]]}},"content":{},"keywords":{}}],["140.0.0",{"_index":3180,"title":{},"content":{"482":{"position":[[42,7]]}},"keywords":{}}],["140.1.0",{"_index":3177,"title":{},"content":{"481":{"position":[[71,7]]}},"keywords":{}}],["140.2.0",{"_index":3175,"title":{},"content":{"480":{"position":[[51,7]]}},"keywords":{}}],["140.3.0",{"_index":3171,"title":{},"content":{"478":{"position":[[37,7]]}},"keywords":{}}],["140737488355327ul",{"_index":7923,"title":{},"content":{"2014":{"position":[[2536,17]]}},"keywords":{}}],["1409",{"_index":5984,"title":{},"content":{"1474":{"position":[[20794,7]]},"1752":{"position":[[102,7]]}},"keywords":{}}],["141",{"_index":5538,"title":{},"content":{"1474":{"position":[[6439,6]]},"1620":{"position":[[52,6]]}},"keywords":{}}],["141.0.0",{"_index":3163,"title":{},"content":{"476":{"position":[[46,7]]}},"keywords":{}}],["141.0.1",{"_index":3161,"title":{"475":{"position":[[0,7]]}},"content":{},"keywords":{}}],["141.0.2",{"_index":3159,"title":{"473":{"position":[[0,7]]}},"content":{},"keywords":{}}],["141.1.0",{"_index":3154,"title":{},"content":{"471":{"position":[[59,7]]}},"keywords":{}}],["141.2.0",{"_index":3152,"title":{},"content":{"470":{"position":[[21,7]]}},"keywords":{}}],["1411d0a",{"_index":4633,"title":{},"content":{"1098":{"position":[[39,9]]}},"keywords":{}}],["1414",{"_index":5366,"title":{},"content":{"1474":{"position":[[348,7]]},"1766":{"position":[[241,7]]}},"keywords":{}}],["142.0.0",{"_index":3150,"title":{},"content":{"468":{"position":[[59,7]]}},"keywords":{}}],["1420",{"_index":6255,"title":{},"content":{"1476":{"position":[[5071,7]]},"1763":{"position":[[36,7]]}},"keywords":{}}],["1421",{"_index":6516,"title":{},"content":{"1477":{"position":[[3286,7]]},"1764":{"position":[[41,7]]}},"keywords":{}}],["1422",{"_index":6518,"title":{},"content":{"1477":{"position":[[3345,7]]},"1764":{"position":[[100,7]]}},"keywords":{}}],["1423a6d",{"_index":6688,"title":{},"content":{"1489":{"position":[[75,9]]}},"keywords":{}}],["1423a6d)mov",{"_index":5768,"title":{},"content":{"1474":{"position":[[12795,17]]}},"keywords":{}}],["1424",{"_index":6265,"title":{},"content":{"1476":{"position":[[5363,7]]},"1763":{"position":[[101,7]]}},"keywords":{}}],["1425",{"_index":6076,"title":{},"content":{"1476":{"position":[[531,7]]},"1753":{"position":[[36,7]]}},"keywords":{}}],["14283b1)ad",{"_index":3349,"title":{},"content":{"545":{"position":[[59,15]]}},"keywords":{}}],["1429",{"_index":5621,"title":{},"content":{"1474":{"position":[[8649,7]]},"1752":{"position":[[32,7]]}},"keywords":{}}],["143.0.0",{"_index":3148,"title":{},"content":{"466":{"position":[[76,7]]}},"keywords":{}}],["143.1.0",{"_index":3146,"title":{},"content":{"465":{"position":[[69,7]]}},"keywords":{}}],["143.2.0",{"_index":3144,"title":{},"content":{"464":{"position":[[44,7]]}},"keywords":{}}],["143.2.1",{"_index":3141,"title":{"463":{"position":[[0,7]]}},"content":{},"keywords":{}}],["143.2.2",{"_index":3139,"title":{"461":{"position":[[0,7]]}},"content":{},"keywords":{}}],["143.2.3",{"_index":3135,"title":{"459":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1439",{"_index":5692,"title":{},"content":{"1474":{"position":[[10804,7]]},"1751":{"position":[[81,7]]}},"keywords":{}}],["144.0.0",{"_index":3126,"title":{},"content":{"455":{"position":[[68,7]]}},"keywords":{}}],["144115188075855871ul",{"_index":7943,"title":{},"content":{"2014":{"position":[[3166,20]]}},"keywords":{}}],["145",{"_index":6136,"title":{},"content":{"1476":{"position":[[2167,6]]},"1613":{"position":[[26,6]]}},"keywords":{}}],["145.0.0",{"_index":3122,"title":{},"content":{"453":{"position":[[34,7]]}},"keywords":{}}],["145.0.1",{"_index":3120,"title":{"452":{"position":[[0,7]]}},"content":{},"keywords":{}}],["145.0.2",{"_index":3116,"title":{"450":{"position":[[0,7]]}},"content":{},"keywords":{}}],["145.0.3",{"_index":3114,"title":{"448":{"position":[[0,7]]}},"content":{},"keywords":{}}],["145.0.4",{"_index":3112,"title":{"446":{"position":[[0,7]]}},"content":{},"keywords":{}}],["145.1.0",{"_index":3097,"title":{},"content":{"443":{"position":[[44,7]]}},"keywords":{}}],["145.2.0",{"_index":3093,"title":{},"content":{"442":{"position":[[56,7]]}},"keywords":{}}],["145.3.0",{"_index":3088,"title":{},"content":{"441":{"position":[[56,7]]}},"keywords":{}}],["1452",{"_index":6245,"title":{},"content":{"1476":{"position":[[4796,7]]},"1747":{"position":[[129,7]]}},"keywords":{}}],["1453",{"_index":6231,"title":{},"content":{"1476":{"position":[[4406,7]]},"1747":{"position":[[69,7]]}},"keywords":{}}],["1454",{"_index":5358,"title":{},"content":{"1473":{"position":[[406,7]]},"1746":{"position":[[37,7]]}},"keywords":{}}],["145edaa)fast",{"_index":6432,"title":{},"content":{"1477":{"position":[[932,15]]}},"keywords":{}}],["146",{"_index":5820,"title":{},"content":{"1474":{"position":[[15556,6]]},"1611":{"position":[[42,6]]}},"keywords":{}}],["146.0.0",{"_index":3086,"title":{},"content":{"439":{"position":[[65,7]]}},"keywords":{}}],["146.1.0",{"_index":3084,"title":{},"content":{"438":{"position":[[129,7]]}},"keywords":{}}],["146.1.1",{"_index":3076,"title":{"437":{"position":[[0,7]]}},"content":{},"keywords":{}}],["146.2.0",{"_index":3070,"title":{},"content":{"435":{"position":[[126,7]]}},"keywords":{}}],["146.2.1",{"_index":3066,"title":{"434":{"position":[[0,7]]}},"content":{},"keywords":{}}],["146.2.2",{"_index":3061,"title":{"431":{"position":[[0,7]]}},"content":{},"keywords":{}}],["146.3.0",{"_index":3059,"title":{},"content":{"429":{"position":[[48,7]]}},"keywords":{}}],["146.3.1",{"_index":3057,"title":{"428":{"position":[[0,7]]}},"content":{},"keywords":{}}],["146.3.2",{"_index":3055,"title":{"426":{"position":[[0,7]]}},"content":{},"keywords":{}}],["146.4.0",{"_index":3053,"title":{},"content":{"424":{"position":[[80,7]]}},"keywords":{}}],["146.5.0",{"_index":3050,"title":{},"content":{"423":{"position":[[29,7]]}},"keywords":{}}],["146.5.1",{"_index":3048,"title":{"422":{"position":[[0,7]]}},"content":{},"keywords":{}}],["146.6.0",{"_index":3046,"title":{},"content":{"420":{"position":[[55,7]]}},"keywords":{}}],["146.6.1",{"_index":3044,"title":{"419":{"position":[[0,7]]}},"content":{},"keywords":{}}],["146.6.2",{"_index":3041,"title":{"417":{"position":[[0,7]]}},"content":{},"keywords":{}}],["146.6.3",{"_index":3039,"title":{"415":{"position":[[0,7]]}},"content":{},"keywords":{}}],["146.6.4",{"_index":3037,"title":{"413":{"position":[[0,7]]}},"content":{},"keywords":{}}],["146.7.0",{"_index":3032,"title":{},"content":{"411":{"position":[[60,7]]}},"keywords":{}}],["1464",{"_index":6216,"title":{},"content":{"1476":{"position":[[4040,7]]},"1747":{"position":[[30,7]]}},"keywords":{}}],["147.0.0",{"_index":3024,"title":{},"content":{"409":{"position":[[62,7]]}},"keywords":{}}],["147.0.1",{"_index":3022,"title":{"408":{"position":[[0,7]]}},"content":{},"keywords":{}}],["147.0.2",{"_index":3018,"title":{"406":{"position":[[0,7]]}},"content":{},"keywords":{}}],["147.0.3",{"_index":3014,"title":{"404":{"position":[[0,7]]}},"content":{},"keywords":{}}],["147.1.0",{"_index":3011,"title":{},"content":{"402":{"position":[[43,7]]}},"keywords":{}}],["147.2.0",{"_index":3005,"title":{},"content":{"400":{"position":[[152,7]]}},"keywords":{}}],["147.2.1",{"_index":3000,"title":{"399":{"position":[[0,7]]}},"content":{},"keywords":{}}],["147.3.0",{"_index":2995,"title":{},"content":{"397":{"position":[[85,7]]}},"keywords":{}}],["147.4.0",{"_index":2988,"title":{},"content":{"395":{"position":[[31,7]]}},"keywords":{}}],["147.4.1",{"_index":2986,"title":{"394":{"position":[[0,7]]}},"content":{},"keywords":{}}],["147.4.2",{"_index":2984,"title":{"392":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1470",{"_index":6024,"title":{},"content":{"1474":{"position":[[22221,7]]},"1738":{"position":[[37,7]]}},"keywords":{}}],["1471",{"_index":6345,"title":{},"content":{"1476":{"position":[[7566,7]]},"1739":{"position":[[89,7]]}},"keywords":{}}],["1474",{"_index":6563,"title":{},"content":{"1477":{"position":[[4306,7]]},"1745":{"position":[[381,7],[407,5]]}},"keywords":{}}],["1474renam",{"_index":6565,"title":{},"content":{"1477":{"position":[[4332,11]]}},"keywords":{}}],["1476",{"_index":5554,"title":{},"content":{"1474":{"position":[[6875,7]]},"1745":{"position":[[46,7]]}},"keywords":{}}],["1479",{"_index":6146,"title":{},"content":{"1476":{"position":[[2401,7]]},"1735":{"position":[[45,7]]}},"keywords":{}}],["148.0.0",{"_index":2970,"title":{},"content":{"390":{"position":[[52,7]]}},"keywords":{}}],["148.0.1",{"_index":2967,"title":{"389":{"position":[[0,7]]}},"content":{},"keywords":{}}],["148.0.2",{"_index":2963,"title":{"387":{"position":[[0,7]]}},"content":{},"keywords":{}}],["148.1.0",{"_index":2958,"title":{},"content":{"384":{"position":[[59,7]]}},"keywords":{}}],["148.1.1",{"_index":2956,"title":{"383":{"position":[[0,7]]}},"content":{},"keywords":{}}],["148.2.0",{"_index":2952,"title":{},"content":{"381":{"position":[[51,7]]}},"keywords":{}}],["148.3.0",{"_index":2950,"title":{},"content":{"380":{"position":[[75,7]]}},"keywords":{}}],["148.4.0",{"_index":2948,"title":{},"content":{"379":{"position":[[63,7]]}},"keywords":{}}],["148.4.1",{"_index":2945,"title":{"378":{"position":[[0,7]]}},"content":{},"keywords":{}}],["148.4.2",{"_index":2942,"title":{"376":{"position":[[0,7]]}},"content":{},"keywords":{}}],["148.4.3",{"_index":2938,"title":{"374":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1480",{"_index":6092,"title":{},"content":{"1476":{"position":[[898,7]]},"1739":{"position":[[44,7]]}},"keywords":{}}],["1486",{"_index":5721,"title":{},"content":{"1474":{"position":[[11423,5]]},"1562":{"position":[[430,5]]}},"keywords":{}}],["148b5a9",{"_index":5170,"title":{},"content":{"1348":{"position":[[30,9]]}},"keywords":{}}],["149.0.0",{"_index":2932,"title":{},"content":{"371":{"position":[[94,7]]}},"keywords":{}}],["149.0.1",{"_index":2927,"title":{"370":{"position":[[0,7]]}},"content":{},"keywords":{}}],["149.1.0",{"_index":2919,"title":{"368":{"position":[[0,7]]}},"content":{},"keywords":{}}],["1490",{"_index":6189,"title":{},"content":{"1476":{"position":[[3387,7]]},"1735":{"position":[[115,7]]}},"keywords":{}}],["1496",{"_index":6283,"title":{},"content":{"1476":{"position":[[5901,7]]},"1734":{"position":[[317,7]]}},"keywords":{}}],["1498",{"_index":5718,"title":{},"content":{"1474":{"position":[[11357,7]]},"1733":{"position":[[232,7]]}},"keywords":{}}],["149bf5a",{"_index":4077,"title":{},"content":{"855":{"position":[[48,9]]}},"keywords":{}}],["14af628",{"_index":4307,"title":{},"content":{"960":{"position":[[48,9]]}},"keywords":{}}],["14ed80a",{"_index":3364,"title":{},"content":{"548":{"position":[[211,9]]}},"keywords":{}}],["15",{"_index":2798,"title":{"564":{"position":[[17,4]]},"1181":{"position":[[16,4]]},"1323":{"position":[[16,4]]},"1328":{"position":[[16,4]]},"1331":{"position":[[16,4]]},"1587":{"position":[[16,4]]},"1702":{"position":[[16,4]]}},"content":{"343":{"position":[[844,2]]},"380":{"position":[[92,3]]},"718":{"position":[[80,3]]},"890":{"position":[[139,3]]},"892":{"position":[[174,3]]},"1032":{"position":[[64,3]]},"1034":{"position":[[45,3]]},"1113":{"position":[[54,3]]},"1324":{"position":[[53,3]]},"1512":{"position":[[80,3]]},"1513":{"position":[[64,3]]},"1515":{"position":[[44,3]]},"1516":{"position":[[66,3]]},"1703":{"position":[[80,3]]},"2113":{"position":[[308,2]]}},"keywords":{}}],["15.0.0",{"_index":7067,"title":{},"content":{"1721":{"position":[[64,6]]}},"keywords":{}}],["15.0.1",{"_index":7064,"title":{"1720":{"position":[[0,6]]}},"content":{},"keywords":{}}],["15.0.2",{"_index":7062,"title":{"1718":{"position":[[0,6]]}},"content":{},"keywords":{}}],["15.0.3",{"_index":7058,"title":{"1716":{"position":[[0,6]]}},"content":{},"keywords":{}}],["15.0.4",{"_index":7056,"title":{"1714":{"position":[[0,6]]}},"content":{},"keywords":{}}],["15.0.5",{"_index":7053,"title":{"1712":{"position":[[0,6]]}},"content":{},"keywords":{}}],["15.0.6",{"_index":7050,"title":{"1710":{"position":[[0,6]]}},"content":{},"keywords":{}}],["15.0.7",{"_index":7048,"title":{"1708":{"position":[[0,6]]}},"content":{},"keywords":{}}],["1500",{"_index":6153,"title":{},"content":{"1476":{"position":[[2564,7]]},"1734":{"position":[[121,7]]}},"keywords":{}}],["1501",{"_index":6156,"title":{},"content":{"1476":{"position":[[2633,7]]},"1734":{"position":[[190,7]]}},"keywords":{}}],["1504",{"_index":5910,"title":{},"content":{"1474":{"position":[[17981,7]]},"1733":{"position":[[628,7]]}},"keywords":{}}],["1509",{"_index":5494,"title":{},"content":{"1474":{"position":[[5090,7]]},"1733":{"position":[[62,7]]}},"keywords":{}}],["150b14a",{"_index":5332,"title":{},"content":{"1468":{"position":[[118,9]]}},"keywords":{}}],["1512",{"_index":6177,"title":{},"content":{"1476":{"position":[[3099,7]]},"1734":{"position":[[247,7]]}},"keywords":{}}],["1515",{"_index":6962,"title":{},"content":{"1640":{"position":[[0,5]]}},"keywords":{}}],["1516",{"_index":5841,"title":{},"content":{"1474":{"position":[[16426,7]]},"1733":{"position":[[572,7]]}},"keywords":{}}],["1519",{"_index":5552,"title":{},"content":{"1474":{"position":[[6818,5]]},"1733":{"position":[[121,5]]}},"keywords":{}}],["152",{"_index":5631,"title":{},"content":{"1474":{"position":[[8882,6]]},"1603":{"position":[[41,6]]}},"keywords":{}}],["1520call",{"_index":5553,"title":{},"content":{"1474":{"position":[[6824,9]]}},"keywords":{}}],["1520fix",{"_index":7084,"title":{},"content":{"1733":{"position":[[127,10]]}},"keywords":{}}],["1524",{"_index":5550,"title":{},"content":{"1474":{"position":[[6792,7]]},"1733":{"position":[[95,7]]}},"keywords":{}}],["1542",{"_index":6549,"title":{},"content":{"1477":{"position":[[4004,7]]},"1696":{"position":[[98,7],[124,5]]}},"keywords":{}}],["1542assign/remov",{"_index":6551,"title":{},"content":{"1477":{"position":[[4030,18]]}},"keywords":{}}],["155",{"_index":1199,"title":{},"content":{"129":{"position":[[257,3]]},"158":{"position":[[257,3]]},"1477":{"position":[[3673,6]]},"1601":{"position":[[113,6],[138,4]]}},"keywords":{}}],["1550",{"_index":7041,"title":{},"content":{"1701":{"position":[[64,5]]}},"keywords":{}}],["1550comment",{"_index":5609,"title":{},"content":{"1474":{"position":[[8355,12]]}},"keywords":{}}],["1551",{"_index":5607,"title":{},"content":{"1474":{"position":[[8329,7]]},"1701":{"position":[[38,7]]}},"keywords":{}}],["1554",{"_index":5835,"title":{},"content":{"1474":{"position":[[16238,7]]},"1693":{"position":[[75,7]]}},"keywords":{}}],["1557",{"_index":5935,"title":{},"content":{"1474":{"position":[[19196,7]]},"1693":{"position":[[155,7]]}},"keywords":{}}],["1559005650",{"_index":3201,"title":{},"content":{"488":{"position":[[134,10]]}},"keywords":{}}],["155a29c",{"_index":6727,"title":{},"content":{"1516":{"position":[[40,9]]}},"keywords":{}}],["155a29c)transport",{"_index":6377,"title":{},"content":{"1476":{"position":[[8496,19]]}},"keywords":{}}],["155remov",{"_index":6535,"title":{},"content":{"1477":{"position":[[3698,10]]}},"keywords":{}}],["156",{"_index":6292,"title":{},"content":{"1476":{"position":[[6155,6]]},"1598":{"position":[[24,6]]}},"keywords":{}}],["1561",{"_index":6359,"title":{},"content":{"1476":{"position":[[7932,7]]},"1688":{"position":[[49,7]]}},"keywords":{}}],["1570",{"_index":6884,"title":{},"content":{"1585":{"position":[[182,5]]}},"keywords":{}}],["1570websocket",{"_index":6392,"title":{},"content":{"1476":{"position":[[9002,14]]}},"keywords":{}}],["1575",{"_index":5508,"title":{},"content":{"1474":{"position":[[5449,7]]},"1678":{"position":[[44,7]]}},"keywords":{}}],["1576",{"_index":6296,"title":{},"content":{"1476":{"position":[[6260,7]]},"1645":{"position":[[48,7]]}},"keywords":{}}],["1578",{"_index":5748,"title":{},"content":{"1474":{"position":[[12203,7]]},"1678":{"position":[[121,7]]}},"keywords":{}}],["1580627",{"_index":4803,"title":{},"content":{"1171":{"position":[[42,9]]}},"keywords":{}}],["1581",{"_index":5817,"title":{},"content":{"1474":{"position":[[15490,6]]},"1666":{"position":[[35,6]]}},"keywords":{}}],["1584",{"_index":5818,"title":{},"content":{"1474":{"position":[[15497,7]]},"1666":{"position":[[42,7]]}},"keywords":{}}],["158ea2f",{"_index":4691,"title":{},"content":{"1123":{"position":[[73,9]]}},"keywords":{}}],["1593",{"_index":6981,"title":{},"content":{"1655":{"position":[[0,5]]}},"keywords":{}}],["1594",{"_index":5381,"title":{},"content":{"1474":{"position":[[1023,7]]},"1655":{"position":[[253,7]]}},"keywords":{}}],["1599",{"_index":6968,"title":{},"content":{"1644":{"position":[[0,5]]}},"keywords":{}}],["15aa537",{"_index":6744,"title":{},"content":{"1526":{"position":[[46,9]]}},"keywords":{}}],["15aa537)logg",{"_index":6237,"title":{},"content":{"1476":{"position":[[4540,15]]}},"keywords":{}}],["15e7bb",{"_index":3300,"title":{},"content":{"532":{"position":[[59,9]]}},"keywords":{}}],["15eb6d1)refactor",{"_index":3497,"title":{},"content":{"600":{"position":[[174,19]]}},"keywords":{}}],["15f27a4",{"_index":3173,"title":{},"content":{"479":{"position":[[57,9]]}},"keywords":{}}],["15f27c4)reader",{"_index":4672,"title":{},"content":{"1115":{"position":[[67,16]]}},"keywords":{}}],["15ffa5b)fix",{"_index":3858,"title":{},"content":{"764":{"position":[[116,15]]}},"keywords":{}}],["15ul",{"_index":7837,"title":{},"content":{"2014":{"position":[[179,4]]}},"keywords":{}}],["16",{"_index":1224,"title":{"404":{"position":[[17,4]]},"621":{"position":[[17,4]]},"691":{"position":[[17,4]]},"834":{"position":[[17,4]]},"982":{"position":[[16,4]]},"984":{"position":[[16,4]]},"986":{"position":[[16,4]]},"1319":{"position":[[16,4]]},"1321":{"position":[[16,4]]},"1511":{"position":[[16,4]]}},"content":{"133":{"position":[[168,2]]},"238":{"position":[[2230,2],[2632,2],[2680,3]]},"379":{"position":[[80,3]]},"442":{"position":[[73,3]]},"471":{"position":[[76,3]]},"541":{"position":[[138,3]]},"562":{"position":[[130,3]]},"593":{"position":[[87,3]]},"692":{"position":[[61,3]]},"874":{"position":[[80,3]]},"1110":{"position":[[84,3]]},"1751":{"position":[[152,3]]},"2113":{"position":[[814,2]]},"2130":{"position":[[2451,2]]},"2361":{"position":[[429,2]]}},"keywords":{}}],["16.0.0",{"_index":7046,"title":{},"content":{"1705":{"position":[[56,6]]}},"keywords":{}}],["160",{"_index":6530,"title":{},"content":{"1477":{"position":[[3611,6]]},"1598":{"position":[[86,6],[111,4]]}},"keywords":{}}],["1600",{"_index":5384,"title":{},"content":{"1474":{"position":[[1156,7]]},"1644":{"position":[[116,7]]}},"keywords":{}}],["1601",{"_index":5375,"title":{},"content":{"1474":{"position":[[753,7]]},"1640":{"position":[[74,7]]}},"keywords":{}}],["1604",{"_index":6476,"title":{},"content":{"1477":{"position":[[2146,7]]},"1638":{"position":[[22,7]]}},"keywords":{}}],["160remov",{"_index":6532,"title":{},"content":{"1477":{"position":[[3636,10]]}},"keywords":{}}],["1611",{"_index":6239,"title":{},"content":{"1476":{"position":[[4630,7]]},"1608":{"position":[[12,7]]}},"keywords":{}}],["1614replac",{"_index":6956,"title":{},"content":{"1636":{"position":[[55,12]]}},"keywords":{}}],["1616",{"_index":6954,"title":{},"content":{"1636":{"position":[[29,7]]}},"keywords":{}}],["1616)""",{"_index":6577,"title":{},"content":{"1478":{"position":[[123,19]]}},"keywords":{}}],["1616revert",{"_index":6579,"title":{},"content":{"1478":{"position":[[161,11]]}},"keywords":{}}],["1617",{"_index":6480,"title":{},"content":{"1477":{"position":[[2245,7]]},"1636":{"position":[[104,7]]}},"keywords":{}}],["1618",{"_index":6507,"title":{},"content":{"1477":{"position":[[3114,7]]},"1636":{"position":[[233,7]]}},"keywords":{}}],["1620",{"_index":6435,"title":{},"content":{"1477":{"position":[[1016,7]]},"1628":{"position":[[29,7]]}},"keywords":{}}],["1621",{"_index":6402,"title":{},"content":{"1477":{"position":[[35,7]]},"1606":{"position":[[35,7]]}},"keywords":{}}],["1623",{"_index":6433,"title":{},"content":{"1477":{"position":[[970,7]]},"1609":{"position":[[29,7]]}},"keywords":{}}],["1636",{"_index":5629,"title":{},"content":{"1474":{"position":[[8824,7]]},"1607":{"position":[[63,7]]}},"keywords":{}}],["16383ul",{"_index":7857,"title":{},"content":{"2014":{"position":[[670,7]]}},"keywords":{}}],["1640",{"_index":6510,"title":{},"content":{"1477":{"position":[[3173,7]]},"1601":{"position":[[42,7]]}},"keywords":{}}],["165",{"_index":5729,"title":{},"content":{"1474":{"position":[[11670,6]]},"1597":{"position":[[67,6]]}},"keywords":{}}],["1659",{"_index":6813,"title":{},"content":{"1566":{"position":[[0,5]]}},"keywords":{}}],["165a1dd)networkbehaviour.syncvarnetworkidentityequ",{"_index":5776,"title":{},"content":{"1474":{"position":[[13229,53]]},"1711":{"position":[[119,53]]}},"keywords":{}}],["1660ca6",{"_index":4098,"title":{},"content":{"864":{"position":[[71,9]]}},"keywords":{}}],["1662c5a)fix",{"_index":5699,"title":{},"content":{"1474":{"position":[[10915,14]]},"1733":{"position":[[166,14]]}},"keywords":{}}],["166b8c9",{"_index":6958,"title":{},"content":{"1636":{"position":[[241,9]]}},"keywords":{}}],["166b8c9)use",{"_index":6508,"title":{},"content":{"1477":{"position":[[3122,12]]}},"keywords":{}}],["167",{"_index":6527,"title":{},"content":{"1477":{"position":[[3557,6]]},"1594":{"position":[[117,6],[142,4]]}},"keywords":{}}],["1671",{"_index":5708,"title":{},"content":{"1474":{"position":[[11118,7]]},"1588":{"position":[[63,7]]}},"keywords":{}}],["1674",{"_index":6437,"title":{},"content":{"1477":{"position":[[1071,7]]},"1594":{"position":[[38,7]]}},"keywords":{}}],["16777215ul",{"_index":7877,"title":{},"content":{"2014":{"position":[[1201,10]]}},"keywords":{}}],["167simplifi",{"_index":6529,"title":{},"content":{"1477":{"position":[[3582,12]]}},"keywords":{}}],["1681",{"_index":6281,"title":{},"content":{"1476":{"position":[[5837,5]]},"1582":{"position":[[104,5]]}},"keywords":{}}],["1683",{"_index":5846,"title":{},"content":{"1474":{"position":[[16544,7]]},"1592":{"position":[[123,7]]}},"keywords":{}}],["1684",{"_index":5580,"title":{},"content":{"1474":{"position":[[7581,7]]},"1592":{"position":[[53,7]]}},"keywords":{}}],["1685",{"_index":6280,"title":{},"content":{"1476":{"position":[[5831,5],[8711,7]]},"1582":{"position":[[98,5]]},"1591":{"position":[[39,7]]}},"keywords":{}}],["1686",{"_index":6251,"title":{},"content":{"1476":{"position":[[4978,7]]},"1567":{"position":[[1136,7]]}},"keywords":{}}],["1688",{"_index":6278,"title":{},"content":{"1476":{"position":[[5805,7]]},"1582":{"position":[[72,7]]}},"keywords":{}}],["1689networkscenecheck",{"_index":6282,"title":{},"content":{"1476":{"position":[[5843,24]]}},"keywords":{}}],["1689new",{"_index":6876,"title":{},"content":{"1582":{"position":[[110,8]]}},"keywords":{}}],["168e622",{"_index":6690,"title":{},"content":{"1491":{"position":[[65,9]]}},"keywords":{}}],["168e622)clientscenemanag",{"_index":5599,"title":{},"content":{"1474":{"position":[[8084,27]]}},"keywords":{}}],["1697",{"_index":6132,"title":{},"content":{"1476":{"position":[[2054,7]]},"1567":{"position":[[756,7]]}},"keywords":{}}],["169720c)perf",{"_index":2976,"title":{},"content":{"390":{"position":[[189,15]]}},"keywords":{}}],["16a6ba0",{"_index":4352,"title":{},"content":{"980":{"position":[[116,9]]}},"keywords":{}}],["16b3000",{"_index":4132,"title":{},"content":{"879":{"position":[[135,9]]}},"keywords":{}}],["17",{"_index":3089,"title":{"491":{"position":[[17,4]]},"682":{"position":[[17,4]]},"928":{"position":[[16,4]]},"1031":{"position":[[16,4]]},"1107":{"position":[[16,4]]},"1507":{"position":[[16,4]]},"1509":{"position":[[16,4]]},"1695":{"position":[[16,4]]},"1700":{"position":[[16,4]]}},"content":{"441":{"position":[[73,3]]},"468":{"position":[[76,3]]},"470":{"position":[[38,3]]},"603":{"position":[[147,3]]},"689":{"position":[[96,3]]},"872":{"position":[[64,3]]},"962":{"position":[[80,3]]},"979":{"position":[[50,3]]},"1108":{"position":[[74,3]]},"1109":{"position":[[73,3]]},"1316":{"position":[[79,3]]},"1317":{"position":[[62,3]]},"1584":{"position":[[71,3]]},"1696":{"position":[[76,3]]},"1697":{"position":[[34,3]]},"2113":{"position":[[637,2]]}},"keywords":{}}],["17.0.0",{"_index":7044,"title":{},"content":{"1703":{"position":[[64,6]]}},"keywords":{}}],["17.0.1",{"_index":7042,"title":{"1702":{"position":[[0,6]]}},"content":{},"keywords":{}}],["17.0.2",{"_index":7040,"title":{"1700":{"position":[[0,6]]}},"content":{},"keywords":{}}],["170",{"_index":1209,"title":{},"content":{"129":{"position":[[540,3]]},"158":{"position":[[540,3]]}},"keywords":{}}],["1702",{"_index":6404,"title":{},"content":{"1477":{"position":[[94,7]]},"1586":{"position":[[42,7]]}},"keywords":{}}],["1708",{"_index":6390,"title":{},"content":{"1476":{"position":[[8976,7]]},"1585":{"position":[[156,7]]}},"keywords":{}}],["1709",{"_index":5649,"title":{},"content":{"1474":{"position":[[9372,7]]},"1581":{"position":[[31,7]]}},"keywords":{}}],["1710ad",{"_index":6098,"title":{},"content":{"1476":{"position":[[982,10]]}},"keywords":{}}],["1710weaver",{"_index":6883,"title":{},"content":{"1585":{"position":[[67,11]]}},"keywords":{}}],["1714allow",{"_index":5533,"title":{},"content":{"1474":{"position":[[6237,13]]}},"keywords":{}}],["1714remov",{"_index":6869,"title":{},"content":{"1580":{"position":[[59,11]]}},"keywords":{}}],["1716",{"_index":6096,"title":{},"content":{"1476":{"position":[[956,7]]},"1585":{"position":[[41,7]]}},"keywords":{}}],["17179869183ul",{"_index":7897,"title":{},"content":{"2014":{"position":[[1762,13]]}},"keywords":{}}],["1723",{"_index":5674,"title":{},"content":{"1474":{"position":[[10073,7]]},"1581":{"position":[[107,7]]}},"keywords":{}}],["1724",{"_index":6185,"title":{},"content":{"1476":{"position":[[3303,7]]},"1578":{"position":[[163,7]]}},"keywords":{}}],["1727",{"_index":6196,"title":{},"content":{"1476":{"position":[[3550,7]]},"1578":{"position":[[281,7]]}},"keywords":{}}],["1728",{"_index":6183,"title":{},"content":{"1476":{"position":[[3262,7]]},"1582":{"position":[[25,7]]}},"keywords":{}}],["1729",{"_index":6129,"title":{},"content":{"1476":{"position":[[1992,7]]},"1578":{"position":[[122,7]]}},"keywords":{}}],["1736bb0)call",{"_index":5555,"title":{},"content":{"1474":{"position":[[6883,13]]}},"keywords":{}}],["1736bb0)port",{"_index":7112,"title":{},"content":{"1745":{"position":[[54,13]]}},"keywords":{}}],["173735c)remov",{"_index":5135,"title":{},"content":{"1327":{"position":[[145,15]]},"1330":{"position":[[145,15]]},"1333":{"position":[[145,15]]}},"keywords":{}}],["1743",{"_index":6288,"title":{},"content":{"1476":{"position":[[6068,7]]},"1582":{"position":[[172,7]]}},"keywords":{}}],["1744",{"_index":5531,"title":{},"content":{"1474":{"position":[[6211,7]]},"1580":{"position":[[33,7]]}},"keywords":{}}],["1751",{"_index":5861,"title":{},"content":{"1474":{"position":[[16812,7]]},"1580":{"position":[[125,7]]}},"keywords":{}}],["1753dispos",{"_index":6187,"title":{},"content":{"1476":{"position":[[3329,15]]}},"keywords":{}}],["1753exclud",{"_index":6864,"title":{},"content":{"1578":{"position":[[189,12]]}},"keywords":{}}],["17592186044415ul",{"_index":7917,"title":{},"content":{"2014":{"position":[[2353,16]]}},"keywords":{}}],["175b6b7",{"_index":5261,"title":{},"content":{"1463":{"position":[[46,9]]}},"keywords":{}}],["1768",{"_index":6027,"title":{},"content":{"1474":{"position":[[22298,7]]},"1577":{"position":[[408,7]]}},"keywords":{}}],["1772",{"_index":6071,"title":{},"content":{"1476":{"position":[[404,7]]},"1567":{"position":[[154,7]]}},"keywords":{}}],["1773",{"_index":6286,"title":{},"content":{"1476":{"position":[[5994,7]]},"1578":{"position":[[371,7]]}},"keywords":{}}],["1775",{"_index":6116,"title":{},"content":{"1476":{"position":[[1617,7]]},"1567":{"position":[[644,7]]}},"keywords":{}}],["1778",{"_index":6125,"title":{},"content":{"1476":{"position":[[1821,7]]},"1578":{"position":[[32,7]]}},"keywords":{}}],["1779",{"_index":6218,"title":{},"content":{"1476":{"position":[[4087,7]]},"1578":{"position":[[328,7]]}},"keywords":{}}],["177c307",{"_index":4674,"title":{},"content":{"1115":{"position":[[144,9]]}},"keywords":{}}],["179",{"_index":6148,"title":{},"content":{"1476":{"position":[[2466,6]]},"1589":{"position":[[48,6]]}},"keywords":{}}],["18",{"_index":3001,"title":{"399":{"position":[[17,4]]},"1313":{"position":[[16,4]]},"1315":{"position":[[16,4]]},"1503":{"position":[[16,4]]},"1505":{"position":[[16,4]]}},"content":{"466":{"position":[[93,3]]},"600":{"position":[[91,3]]},"601":{"position":[[211,3]]},"961":{"position":[[73,3]]},"1179":{"position":[[72,3]]},"1311":{"position":[[71,3]]},"1751":{"position":[[133,3]]}},"keywords":{}}],["18.0.0",{"_index":7038,"title":{},"content":{"1697":{"position":[[18,6]]}},"keywords":{}}],["18014398509481983ul",{"_index":7937,"title":{},"content":{"2014":{"position":[[2974,19]]}},"keywords":{}}],["1815",{"_index":5704,"title":{},"content":{"1474":{"position":[[10984,7]]},"1566":{"position":[[890,7]]}},"keywords":{}}],["1819",{"_index":5516,"title":{},"content":{"1474":{"position":[[5690,7]]},"1566":{"position":[[230,7]]}},"keywords":{}}],["1822",{"_index":6200,"title":{},"content":{"1476":{"position":[[3645,7]]},"1563":{"position":[[145,7]]}},"keywords":{}}],["1823",{"_index":5724,"title":{},"content":{"1474":{"position":[[11501,7]]},"1566":{"position":[[962,7]]}},"keywords":{}}],["1827",{"_index":5548,"title":{},"content":{"1474":{"position":[[6759,7]]},"1566":{"position":[[561,7]]}},"keywords":{}}],["1828",{"_index":5518,"title":{},"content":{"1474":{"position":[[5787,7]]},"1566":{"position":[[327,7]]}},"keywords":{}}],["1829",{"_index":5588,"title":{},"content":{"1474":{"position":[[7812,7]]},"1566":{"position":[[680,7]]}},"keywords":{}}],["1830",{"_index":5388,"title":{},"content":{"1474":{"position":[[1267,7]]},"1566":{"position":[[94,7]]}},"keywords":{}}],["1841",{"_index":5726,"title":{},"content":{"1474":{"position":[[11586,7]]},"1566":{"position":[[1047,7]]}},"keywords":{}}],["1842",{"_index":5646,"title":{},"content":{"1474":{"position":[[9278,7]]},"1566":{"position":[[807,7]]}},"keywords":{}}],["18446744073709551615ul",{"_index":7957,"title":{},"content":{"2014":{"position":[[3625,22]]}},"keywords":{}}],["1852",{"_index":6450,"title":{},"content":{"1477":{"position":[[1474,7]]},"1568":{"position":[[203,7]]}},"keywords":{}}],["186",{"_index":6300,"title":{},"content":{"1476":{"position":[[6379,6]]},"1584":{"position":[[38,6]]}},"keywords":{}}],["1863",{"_index":6241,"title":{},"content":{"1476":{"position":[[4701,7]]},"1567":{"position":[[1067,7]]}},"keywords":{}}],["1864",{"_index":5584,"title":{},"content":{"1474":{"position":[[7704,7]]},"1566":{"position":[[624,7]]}},"keywords":{}}],["1865",{"_index":5644,"title":{},"content":{"1474":{"position":[[9221,7]]},"1566":{"position":[[750,7]]}},"keywords":{}}],["186f228",{"_index":3725,"title":{},"content":{"704":{"position":[[104,9]]}},"keywords":{}}],["1880",{"_index":6179,"title":{},"content":{"1476":{"position":[[3160,7]]},"1567":{"position":[[854,7]]}},"keywords":{}}],["1881",{"_index":6081,"title":{},"content":{"1476":{"position":[[621,7]]},"1567":{"position":[[194,7]]}},"keywords":{}}],["1885",{"_index":6220,"title":{},"content":{"1476":{"position":[[4144,7]]},"1567":{"position":[[959,7]]}},"keywords":{}}],["18852f6",{"_index":3085,"title":{},"content":{"439":{"position":[[55,9]]}},"keywords":{}}],["18d6957",{"_index":5889,"title":{},"content":{"1474":{"position":[[17542,10]]},"1496":{"position":[[309,10]]}},"keywords":{}}],["18f035d)objdestroy",{"_index":6454,"title":{},"content":{"1477":{"position":[[1521,19]]}},"keywords":{}}],["18f3eba",{"_index":5232,"title":{},"content":{"1452":{"position":[[53,9]]}},"keywords":{}}],["19",{"_index":2946,"title":{"378":{"position":[[17,4]]},"645":{"position":[[17,4]]},"688":{"position":[[17,4]]},"717":{"position":[[17,4]]},"791":{"position":[[17,4]]},"871":{"position":[[17,4]]},"888":{"position":[[17,4]]},"1091":{"position":[[16,4]]},"1093":{"position":[[16,4]]},"1095":{"position":[[16,4]]},"1099":{"position":[[16,4]]},"1101":{"position":[[16,4]]},"1105":{"position":[[16,4]]},"1172":{"position":[[16,4]]},"1174":{"position":[[16,4]]},"1176":{"position":[[16,4]]},"1178":{"position":[[16,4]]},"1209":{"position":[[16,4]]},"1308":{"position":[[16,4]]},"1310":{"position":[[16,4]]}},"content":{"464":{"position":[[61,3]]},"465":{"position":[[86,3]]},"1028":{"position":[[73,3]]},"1096":{"position":[[69,3]]},"1097":{"position":[[58,3]]},"1102":{"position":[[70,3]]},"1210":{"position":[[78,3]]},"1501":{"position":[[80,3]]},"1582":{"position":[[206,3]]},"1583":{"position":[[71,3]]},"1693":{"position":[[252,3]]},"1751":{"position":[[114,3]]}},"keywords":{}}],["19.0.0",{"_index":7037,"title":{},"content":{"1696":{"position":[[60,6]]}},"keywords":{}}],["19.0.1",{"_index":7035,"title":{"1695":{"position":[[0,6]]}},"content":{},"keywords":{}}],["19.1.0",{"_index":7033,"title":{},"content":{"1693":{"position":[[236,6]]}},"keywords":{}}],["19.1.1",{"_index":7028,"title":{"1692":{"position":[[0,6]]}},"content":{},"keywords":{}}],["19.1.2",{"_index":7026,"title":{"1690":{"position":[[0,6]]}},"content":{},"keywords":{}}],["1909749",{"_index":3522,"title":{},"content":{"609":{"position":[[67,9]]}},"keywords":{}}],["1913",{"_index":5797,"title":{},"content":{"1474":{"position":[[14838,7]]},"1566":{"position":[[1317,7]]}},"keywords":{}}],["1914",{"_index":6385,"title":{},"content":{"1476":{"position":[[8765,7]]},"1567":{"position":[[1433,7]]}},"keywords":{}}],["1918",{"_index":6105,"title":{},"content":{"1476":{"position":[[1232,7]]},"1567":{"position":[[319,7]]}},"keywords":{}}],["192.168.1.20",{"_index":1560,"title":{},"content":{"187":{"position":[[937,13]]}},"keywords":{}}],["192.168.x.x",{"_index":1550,"title":{},"content":{"187":{"position":[[232,11],[489,11]]}},"keywords":{}}],["1920",{"_index":6110,"title":{},"content":{"1476":{"position":[[1384,7]]},"1567":{"position":[[411,7]]}},"keywords":{}}],["1921",{"_index":6114,"title":{},"content":{"1476":{"position":[[1533,7]]},"1567":{"position":[[560,7]]}},"keywords":{}}],["192fd16)hasauthor",{"_index":5712,"title":{},"content":{"1474":{"position":[[11191,21]]}},"keywords":{}}],["192fd16)remov",{"_index":6810,"title":{},"content":{"1565":{"position":[[124,15]]}},"keywords":{}}],["1944",{"_index":5534,"title":{},"content":{"1474":{"position":[[6302,7]]},"1566":{"position":[[404,7]]}},"keywords":{}}],["1947",{"_index":5546,"title":{},"content":{"1474":{"position":[[6688,7]]},"1566":{"position":[[490,7]]}},"keywords":{}}],["1954",{"_index":6053,"title":{},"content":{"1476":{"position":[[144,7]]},"1567":{"position":[[37,7]]}},"keywords":{}}],["1956add",{"_index":6062,"title":{},"content":{"1476":{"position":[[212,8]]},"1567":{"position":[[105,8]]}},"keywords":{}}],["1957",{"_index":6061,"title":{},"content":{"1476":{"position":[[206,5]]},"1567":{"position":[[99,5]]}},"keywords":{}}],["1958",{"_index":6060,"title":{},"content":{"1476":{"position":[[200,5]]},"1567":{"position":[[93,5]]}},"keywords":{}}],["1959",{"_index":6059,"title":{},"content":{"1476":{"position":[[194,5]]},"1567":{"position":[[87,5]]}},"keywords":{}}],["1960",{"_index":6058,"title":{},"content":{"1476":{"position":[[188,5]]},"1567":{"position":[[81,5]]}},"keywords":{}}],["1961",{"_index":6057,"title":{},"content":{"1476":{"position":[[182,5]]},"1567":{"position":[[75,5]]}},"keywords":{}}],["1962",{"_index":6056,"title":{},"content":{"1476":{"position":[[176,5]]},"1567":{"position":[[69,5]]}},"keywords":{}}],["1963",{"_index":6055,"title":{},"content":{"1476":{"position":[[170,5]]},"1567":{"position":[[63,5]]}},"keywords":{}}],["1971",{"_index":5904,"title":{},"content":{"1474":{"position":[[17829,7]]},"1566":{"position":[[1673,7]]}},"keywords":{}}],["1973e76",{"_index":3390,"title":{},"content":{"555":{"position":[[346,9]]}},"keywords":{}}],["1974a76",{"_index":3948,"title":{},"content":{"810":{"position":[[54,9]]}},"keywords":{}}],["1975",{"_index":6118,"title":{},"content":{"1476":{"position":[[1667,7]]},"1567":{"position":[[694,7]]}},"keywords":{}}],["1977",{"_index":5750,"title":{},"content":{"1474":{"position":[[12301,7]]},"1566":{"position":[[1145,7]]}},"keywords":{}}],["1978",{"_index":5273,"title":{},"content":{"1466":{"position":[[135,7]]}},"keywords":{}}],["199",{"_index":6639,"title":{},"content":{"1478":{"position":[[1733,4]]}},"keywords":{}}],["199)"",{"_index":6636,"title":{},"content":{"1478":{"position":[[1695,12]]}},"keywords":{}}],["1990",{"_index":6198,"title":{},"content":{"1476":{"position":[[3598,7]]},"1567":{"position":[[902,7]]}},"keywords":{}}],["1994",{"_index":6032,"title":{},"content":{"1474":{"position":[[22420,7]]},"1566":{"position":[[1855,7]]}},"keywords":{}}],["19c86e7",{"_index":4926,"title":{},"content":{"1231":{"position":[[38,9]]}},"keywords":{}}],["19cad00",{"_index":3884,"title":{},"content":{"774":{"position":[[64,10]]}},"keywords":{}}],["1a8c09d",{"_index":6811,"title":{},"content":{"1565":{"position":[[177,9]]}},"keywords":{}}],["1a8c09d)remov",{"_index":5865,"title":{},"content":{"1474":{"position":[[16873,15]]}},"keywords":{}}],["1ad8f3d",{"_index":4670,"title":{},"content":{"1114":{"position":[[42,9]]}},"keywords":{}}],["1ade82d)us",{"_index":5326,"title":{},"content":{"1467":{"position":[[324,12]]}},"keywords":{}}],["1ae0381",{"_index":6917,"title":{},"content":{"1609":{"position":[[37,9]]}},"keywords":{}}],["1ae0381)fast",{"_index":6434,"title":{},"content":{"1477":{"position":[[978,15]]}},"keywords":{}}],["1af5b4",{"_index":6862,"title":{},"content":{"1577":{"position":[[416,9]]}},"keywords":{}}],["1af5b4e)webgl",{"_index":6028,"title":{},"content":{"1474":{"position":[[22306,14]]}},"keywords":{}}],["1b02796",{"_index":6921,"title":{},"content":{"1612":{"position":[[23,9]]}},"keywords":{}}],["1b02796)add",{"_index":6064,"title":{},"content":{"1476":{"position":[[240,12]]}},"keywords":{}}],["1b051c7",{"_index":3673,"title":{},"content":{"680":{"position":[[45,9]]}},"keywords":{}}],["1b1e4e6",{"_index":3147,"title":{},"content":{"466":{"position":[[66,9]]}},"keywords":{}}],["1b7e097",{"_index":3471,"title":{},"content":{"590":{"position":[[79,9]]}},"keywords":{}}],["1bb89f2",{"_index":5235,"title":{},"content":{"1452":{"position":[[116,9]]}},"keywords":{}}],["1c18743)elimin",{"_index":6428,"title":{},"content":{"1477":{"position":[[821,18]]}},"keywords":{}}],["1c22ea6",{"_index":4090,"title":{},"content":{"862":{"position":[[58,9]]}},"keywords":{}}],["1c5eed5",{"_index":3302,"title":{},"content":{"534":{"position":[[45,9]]}},"keywords":{}}],["1c77772",{"_index":3394,"title":{},"content":{"556":{"position":[[45,9]]}},"keywords":{}}],["1c9f2d8)new",{"_index":2992,"title":{},"content":{"397":{"position":[[26,12]]}},"keywords":{}}],["1cdbfb6",{"_index":2949,"title":{},"content":{"380":{"position":[[65,9]]}},"keywords":{}}],["1d43243",{"_index":3985,"title":{},"content":{"826":{"position":[[51,9]]}},"keywords":{}}],["1d7363d",{"_index":3096,"title":{},"content":{"443":{"position":[[34,9]]}},"keywords":{}}],["1da5c42",{"_index":4060,"title":{},"content":{"848":{"position":[[49,9]]}},"keywords":{}}],["1db3498)renam",{"_index":4512,"title":{},"content":{"1045":{"position":[[209,17]]}},"keywords":{}}],["1dc0d98)replac",{"_index":6829,"title":{},"content":{"1566":{"position":[[1609,18]]}},"keywords":{}}],["1dc0d98)replaceplay",{"_index":5898,"title":{},"content":{"1474":{"position":[[17692,22]]}},"keywords":{}}],["1ddcbec",{"_index":7049,"title":{},"content":{"1709":{"position":[[31,9]]}},"keywords":{}}],["1ddcbec)us",{"_index":6012,"title":{},"content":{"1474":{"position":[[21885,12]]}},"keywords":{}}],["1df6081",{"_index":4562,"title":{},"content":{"1065":{"position":[[48,9]]}},"keywords":{}}],["1e8c2f",{"_index":6952,"title":{},"content":{"1634":{"position":[[46,9]]}},"keywords":{}}],["1e8c2fe)hasauthor",{"_index":6206,"title":{},"content":{"1476":{"position":[[3824,21]]}},"keywords":{}}],["1ec8910)avoid",{"_index":6413,"title":{},"content":{"1477":{"position":[[279,14]]}},"keywords":{}}],["1ed750a",{"_index":3577,"title":{},"content":{"634":{"position":[[142,9]]}},"keywords":{}}],["1f",{"_index":1169,"title":{},"content":{"124":{"position":[[160,3]]},"209":{"position":[[1335,4],[1357,4],[1379,4]]},"1780":{"position":[[731,3],[735,3],[739,3],[749,4]]},"1781":{"position":[[795,3],[799,3],[803,3],[813,4]]}},"keywords":{}}],["1f07af0)sceneid",{"_index":5443,"title":{},"content":{"1474":{"position":[[3218,16]]}},"keywords":{}}],["1f2c53b",{"_index":4008,"title":{},"content":{"839":{"position":[[51,9]]}},"keywords":{}}],["1fb4970",{"_index":3475,"title":{},"content":{"593":{"position":[[60,9]]}},"keywords":{}}],["1fc1ed2)don't",{"_index":5654,"title":{},"content":{"1474":{"position":[[9479,14]]}},"keywords":{}}],["1fdaa43",{"_index":3043,"title":{},"content":{"418":{"position":[[50,9]]}},"keywords":{}}],["1fe1bf6",{"_index":4824,"title":{},"content":{"1182":{"position":[[19,9]]}},"keywords":{}}],["1st",{"_index":669,"title":{},"content":{"46":{"position":[[781,3]]},"50":{"position":[[194,3]]},"346":{"position":[[2127,3]]}},"keywords":{}}],["1u",{"_index":2830,"title":{},"content":{"346":{"position":[[1024,3]]}},"keywords":{}}],["1ul",{"_index":1184,"title":{},"content":{"125":{"position":[[473,4],[830,4]]},"131":{"position":[[415,4],[770,4]]},"137":{"position":[[387,4],[722,4]]},"142":{"position":[[468,4],[825,4]]},"151":{"position":[[727,4],[1243,4]]},"156":{"position":[[416,4],[781,4]]},"160":{"position":[[415,4],[770,4]]},"2014":{"position":[[41,3]]}},"keywords":{}}],["2",{"_index":723,"title":{"124":{"position":[[8,2]]},"130":{"position":[[8,2]]},"136":{"position":[[8,2]]},"149":{"position":[[8,2]]},"159":{"position":[[8,2]]},"182":{"position":[[0,2]]}},"content":{"53":{"position":[[276,2],[336,2]]},"55":{"position":[[24,1]]},"59":{"position":[[198,1]]},"63":{"position":[[390,1]]},"117":{"position":[[792,2]]},"130":{"position":[[259,2],[297,1]]},"139":{"position":[[1096,1]]},"151":{"position":[[695,3]]},"159":{"position":[[259,2],[297,1]]},"182":{"position":[[846,2]]},"189":{"position":[[370,2]]},"190":{"position":[[247,2]]},"191":{"position":[[151,2]]},"193":{"position":[[119,2]]},"196":{"position":[[45,2]]},"202":{"position":[[939,3],[943,2],[946,2]]},"211":{"position":[[1984,2],[2042,1]]},"212":{"position":[[32,1],[99,2]]},"240":{"position":[[691,1]]},"251":{"position":[[4268,1]]},"303":{"position":[[238,1]]},"316":{"position":[[1209,2]]},"346":{"position":[[2446,2]]},"758":{"position":[[27,1]]},"942":{"position":[[59,1]]},"1352":{"position":[[54,1]]},"1357":{"position":[[54,1]]},"1362":{"position":[[54,1]]},"1367":{"position":[[54,1]]},"1474":{"position":[[3935,2]]},"1890":{"position":[[145,1],[555,1]]},"1891":{"position":[[136,1],[346,1]]},"1949":{"position":[[128,1]]},"2091":{"position":[[548,1]]},"2093":{"position":[[268,1]]},"2113":{"position":[[560,1]]},"2117":{"position":[[73,1]]},"2124":{"position":[[184,1]]},"2128":{"position":[[118,1]]},"2134":{"position":[[212,1]]},"2162":{"position":[[175,1]]},"2181":{"position":[[249,1]]},"2193":{"position":[[142,2],[165,2],[800,1]]},"2219":{"position":[[104,1]]},"2259":{"position":[[122,1]]},"2261":{"position":[[225,1]]},"2292":{"position":[[203,1]]},"2322":{"position":[[212,1],[773,1],[1490,1],[2212,1]]},"2359":{"position":[[1229,1]]},"2361":{"position":[[169,1]]},"2375":{"position":[[92,1]]},"2460":{"position":[[269,1]]},"2468":{"position":[[124,1]]},"2503":{"position":[[330,1]]},"2505":{"position":[[120,1]]},"2507":{"position":[[308,1]]},"2518":{"position":[[451,1]]},"2520":{"position":[[104,1]]}},"keywords":{}}],["2").addcomponent<networkidentity>",{"_index":1943,"title":{},"content":{"238":{"position":[[1824,48]]}},"keywords":{}}],["2.0.0",{"_index":7154,"title":{},"content":{"1764":{"position":[[118,5]]}},"keywords":{}}],["2.0f",{"_index":1381,"title":{},"content":{"173":{"position":[[1241,5]]},"251":{"position":[[4314,7]]}},"keywords":{}}],["20",{"_index":1283,"title":{"413":{"position":[[17,4]]},"419":{"position":[[17,4]]},"463":{"position":[[17,4]]},"643":{"position":[[17,4]]},"741":{"position":[[17,4]]},"789":{"position":[[17,4]]},"1027":{"position":[[16,4]]},"1085":{"position":[[16,4]]},"1087":{"position":[[16,4]]},"1089":{"position":[[16,4]]},"1167":{"position":[[16,4]]},"1170":{"position":[[16,4]]},"1222":{"position":[[16,4]]},"1302":{"position":[[16,4]]},"1304":{"position":[[16,4]]},"1306":{"position":[[16,4]]},"1498":{"position":[[16,4]]},"1685":{"position":[[16,4]]},"1690":{"position":[[16,4]]},"1692":{"position":[[16,4]]}},"content":{"149":{"position":[[69,2]]},"251":{"position":[[447,3]]},"343":{"position":[[521,2]]},"424":{"position":[[97,3]]},"439":{"position":[[82,3]]},"680":{"position":[[72,3]]},"738":{"position":[[81,3]]},"829":{"position":[[73,3]]},"832":{"position":[[63,3]]},"926":{"position":[[54,3]]},"978":{"position":[[121,3]]},"1168":{"position":[[62,3]]},"1299":{"position":[[59,3]]},"1499":{"position":[[45,3]]},"1686":{"position":[[64,3]]}},"keywords":{}}],["20.0.0",{"_index":7023,"title":{},"content":{"1686":{"position":[[48,6]]}},"keywords":{}}],["20.0.1",{"_index":7021,"title":{"1685":{"position":[[0,6]]}},"content":{},"keywords":{}}],["20.0.2",{"_index":7019,"title":{"1683":{"position":[[0,6]]}},"content":{},"keywords":{}}],["20.0.3",{"_index":7016,"title":{"1681":{"position":[[0,6]]}},"content":{},"keywords":{}}],["20.0.4",{"_index":7014,"title":{"1679":{"position":[[0,6]]}},"content":{},"keywords":{}}],["20.0.5",{"_index":7010,"title":{"1677":{"position":[[0,6]]}},"content":{},"keywords":{}}],["20.0.6",{"_index":7008,"title":{"1675":{"position":[[0,6]]}},"content":{},"keywords":{}}],["20.1.0",{"_index":7005,"title":{},"content":{"1672":{"position":[[60,6]]}},"keywords":{}}],["200",{"_index":1197,"title":{},"content":{"129":{"position":[[197,3]]},"155":{"position":[[199,3]]},"158":{"position":[[197,3]]}},"keywords":{}}],["2001",{"_index":6107,"title":{},"content":{"1476":{"position":[[1292,7]]},"1563":{"position":[[98,7]]}},"keywords":{}}],["2014",{"_index":5564,"title":{},"content":{"1474":{"position":[[7210,7]]},"1562":{"position":[[155,7]]}},"keywords":{}}],["2017",{"_index":5722,"title":{},"content":{"1474":{"position":[[11429,7]]},"1562":{"position":[[436,7]]}},"keywords":{}}],["2018.4",{"_index":5743,"title":{},"content":{"1474":{"position":[[12120,6]]}},"keywords":{}}],["2019",{"_index":1446,"title":{},"content":{"182":{"position":[[664,4]]},"847":{"position":[[385,5]]},"1474":{"position":[[2176,4]]}},"keywords":{}}],["2019.1",{"_index":5412,"title":{},"content":{"1474":{"position":[[1939,6]]}},"keywords":{}}],["2019.2",{"_index":5754,"title":{},"content":{"1474":{"position":[[12484,6]]},"1757":{"position":[[60,6]]}},"keywords":{}}],["2019.4",{"_index":3518,"title":{},"content":{"607":{"position":[[30,6]]}},"keywords":{}}],["2019/2020",{"_index":5305,"title":{},"content":{"1466":{"position":[[917,9]]}},"keywords":{}}],["2020",{"_index":3027,"title":{"1198":{"position":[[7,5]]},"1201":{"position":[[7,5]]},"1206":{"position":[[7,5]]},"1209":{"position":[[7,5]]},"1213":{"position":[[7,5]]},"1218":{"position":[[7,5]]},"1220":{"position":[[7,5]]},"1222":{"position":[[7,5]]},"1224":{"position":[[7,5]]},"1226":{"position":[[7,5]]},"1228":{"position":[[7,5]]},"1230":{"position":[[7,5]]},"1232":{"position":[[7,5]]},"1235":{"position":[[7,5]]},"1240":{"position":[[7,5]]},"1242":{"position":[[7,5]]},"1244":{"position":[[7,5]]},"1246":{"position":[[7,5]]},"1249":{"position":[[7,5]]},"1251":{"position":[[7,5]]},"1253":{"position":[[7,5]]},"1255":{"position":[[7,5]]},"1259":{"position":[[7,5]]},"1261":{"position":[[7,5]]},"1264":{"position":[[7,5]]},"1266":{"position":[[7,5]]},"1270":{"position":[[7,5]]},"1273":{"position":[[7,5]]},"1277":{"position":[[7,5]]},"1280":{"position":[[7,5]]},"1284":{"position":[[7,5]]},"1288":{"position":[[7,5]]},"1290":{"position":[[7,5]]},"1292":{"position":[[7,5]]},"1294":{"position":[[7,5]]},"1296":{"position":[[7,5]]},"1302":{"position":[[7,5]]},"1304":{"position":[[7,5]]},"1306":{"position":[[7,5]]},"1308":{"position":[[7,5]]},"1310":{"position":[[7,5]]},"1313":{"position":[[7,5]]},"1315":{"position":[[7,5]]},"1319":{"position":[[7,5]]},"1321":{"position":[[7,5]]},"1323":{"position":[[7,5]]},"1328":{"position":[[7,5]]},"1331":{"position":[[7,5]]},"1336":{"position":[[7,5]]},"1340":{"position":[[7,5]]},"1343":{"position":[[7,5]]},"1345":{"position":[[7,5]]},"1347":{"position":[[7,5]]},"1444":{"position":[[7,5]]},"1446":{"position":[[7,5]]},"1451":{"position":[[7,5]]},"1454":{"position":[[7,5]]},"1462":{"position":[[7,5]]},"1471":{"position":[[7,5]]},"1480":{"position":[[7,5]]},"1482":{"position":[[7,5]]},"1485":{"position":[[7,5]]},"1488":{"position":[[7,5]]},"1490":{"position":[[7,5]]},"1492":{"position":[[7,5]]},"1494":{"position":[[7,5]]},"1498":{"position":[[7,5]]},"1503":{"position":[[7,5]]},"1505":{"position":[[7,5]]},"1507":{"position":[[7,5]]},"1509":{"position":[[7,5]]},"1511":{"position":[[7,5]]},"1523":{"position":[[7,5]]},"1532":{"position":[[7,5]]},"1538":{"position":[[7,5]]},"1540":{"position":[[7,5]]},"1542":{"position":[[7,5]]},"1544":{"position":[[7,5]]},"1552":{"position":[[7,5]]},"1554":{"position":[[7,5]]},"1556":{"position":[[7,5]]},"1564":{"position":[[8,5]]},"1569":{"position":[[7,5]]},"1571":{"position":[[7,5]]},"1573":{"position":[[7,5]]},"1575":{"position":[[7,5]]},"1579":{"position":[[7,5]]},"1587":{"position":[[7,5]]},"1596":{"position":[[7,5]]},"1600":{"position":[[7,5]]},"1605":{"position":[[7,5]]},"1610":{"position":[[7,5]]},"1617":{"position":[[7,5]]},"1619":{"position":[[7,5]]},"1621":{"position":[[7,5]]},"1625":{"position":[[7,5]]},"1627":{"position":[[7,5]]},"1632":{"position":[[7,5]]},"1635":{"position":[[7,5]]},"1637":{"position":[[7,5]]},"1639":{"position":[[7,5]]},"1647":{"position":[[7,5]]},"1654":{"position":[[7,5]]},"1657":{"position":[[7,5]]},"1665":{"position":[[7,5]]},"1669":{"position":[[7,5]]},"1675":{"position":[[7,5]]},"1677":{"position":[[7,5]]},"1679":{"position":[[7,5]]},"1681":{"position":[[7,5]]},"1683":{"position":[[7,5]]},"1685":{"position":[[7,5]]},"1690":{"position":[[7,5]]},"1692":{"position":[[7,5]]},"1695":{"position":[[7,5]]},"1700":{"position":[[7,5]]},"1702":{"position":[[7,5]]},"1708":{"position":[[7,5]]},"1710":{"position":[[7,5]]},"1712":{"position":[[7,5]]},"1714":{"position":[[7,5]]},"1716":{"position":[[7,5]]},"1718":{"position":[[7,5]]},"1720":{"position":[[7,5]]},"1724":{"position":[[7,5]]},"1728":{"position":[[7,5]]},"1730":{"position":[[7,5]]},"1743":{"position":[[6,5]]},"1754":{"position":[[6,5]]},"1756":{"position":[[6,5]]},"1758":{"position":[[6,5]]},"1760":{"position":[[6,5]]},"1765":{"position":[[6,5]]},"1767":{"position":[[6,5]]}},"content":{"410":{"position":[[99,4]]},"1199":{"position":[[40,5]]},"1202":{"position":[[39,5]]},"1203":{"position":[[66,5]]},"1204":{"position":[[56,5]]},"1207":{"position":[[58,5]]},"1210":{"position":[[69,5]]},"1215":{"position":[[62,5]]},"1216":{"position":[[47,5]]},"1233":{"position":[[73,5]]},"1236":{"position":[[62,5]]},"1237":{"position":[[87,5]]},"1238":{"position":[[39,5]]},"1247":{"position":[[49,5]]},"1256":{"position":[[68,5]]},"1257":{"position":[[55,5]]},"1262":{"position":[[66,5]]},"1267":{"position":[[87,5]]},"1271":{"position":[[61,5]]},"1274":{"position":[[60,5]]},"1275":{"position":[[47,5]]},"1278":{"position":[[69,5]]},"1281":{"position":[[62,5]]},"1282":{"position":[[187,5]]},"1285":{"position":[[82,5]]},"1297":{"position":[[56,5]]},"1298":{"position":[[70,5]]},"1299":{"position":[[50,5]]},"1311":{"position":[[62,5]]},"1316":{"position":[[70,5]]},"1317":{"position":[[53,5]]},"1324":{"position":[[44,5]]},"1333":{"position":[[314,5]]},"1337":{"position":[[72,5]]},"1338":{"position":[[42,5]]},"1341":{"position":[[62,5]]},"1348":{"position":[[47,5]]},"1353":{"position":[[360,5]]},"1358":{"position":[[360,5]]},"1363":{"position":[[360,5]]},"1368":{"position":[[360,5]]},"1373":{"position":[[166,5]]},"1377":{"position":[[166,5]]},"1381":{"position":[[166,5]]},"1385":{"position":[[166,5]]},"1389":{"position":[[166,5]]},"1393":{"position":[[166,5]]},"1397":{"position":[[166,5]]},"1401":{"position":[[166,5]]},"1405":{"position":[[166,5]]},"1409":{"position":[[166,5]]},"1413":{"position":[[166,5]]},"1417":{"position":[[166,5]]},"1421":{"position":[[166,5]]},"1425":{"position":[[166,5]]},"1429":{"position":[[166,5]]},"1433":{"position":[[166,5]]},"1437":{"position":[[120,5]]},"1440":{"position":[[120,5]]},"1441":{"position":[[48,5]]},"1447":{"position":[[52,5]]},"1452":{"position":[[70,5]]},"1455":{"position":[[77,5]]},"1456":{"position":[[109,5]]},"1457":{"position":[[61,5]]},"1459":{"position":[[53,5]]},"1463":{"position":[[63,5]]},"1464":{"position":[[54,5]]},"1465":{"position":[[69,5]]},"1468":{"position":[[135,5]]},"1469":{"position":[[54,5]]},"1472":{"position":[[80,5]]},"1483":{"position":[[45,5]]},"1486":{"position":[[52,5]]},"1495":{"position":[[113,5]]},"1499":{"position":[[36,5]]},"1501":{"position":[[71,5]]},"1512":{"position":[[71,5]]},"1513":{"position":[[55,5]]},"1515":{"position":[[35,5]]},"1516":{"position":[[57,5]]},"1519":{"position":[[157,5]]},"1521":{"position":[[78,5]]},"1524":{"position":[[84,5]]},"1525":{"position":[[66,5]]},"1527":{"position":[[141,5]]},"1529":{"position":[[55,5]]},"1533":{"position":[[78,5]]},"1535":{"position":[[320,5]]},"1545":{"position":[[118,5]]},"1548":{"position":[[63,5]]},"1550":{"position":[[130,5]]},"1557":{"position":[[50,5]]},"1559":{"position":[[55,5]]},"1560":{"position":[[74,5]]},"1561":{"position":[[68,5]]},"1565":{"position":[[195,5]]},"1576":{"position":[[60,5]]},"1580":{"position":[[256,5]]},"1582":{"position":[[197,5]]},"1583":{"position":[[62,5]]},"1584":{"position":[[62,5]]},"1588":{"position":[[88,5]]},"1589":{"position":[[72,5]]},"1590":{"position":[[67,5]]},"1591":{"position":[[64,5]]},"1594":{"position":[[63,5]]},"1597":{"position":[[91,5]]},"1598":{"position":[[48,5]]},"1601":{"position":[[67,5]]},"1602":{"position":[[72,5]]},"1606":{"position":[[60,5]]},"1611":{"position":[[66,5]]},"1612":{"position":[[40,5]]},"1613":{"position":[[50,5]]},"1622":{"position":[[41,5]]},"1623":{"position":[[41,5]]},"1628":{"position":[[54,5]]},"1629":{"position":[[41,5]]},"1633":{"position":[[70,5]]},"1641":{"position":[[65,5]]},"1643":{"position":[[117,5]]},"1648":{"position":[[60,5]]},"1650":{"position":[[97,5]]},"1651":{"position":[[75,5]]},"1655":{"position":[[278,5]]},"1658":{"position":[[38,5]]},"1660":{"position":[[49,5]]},"1662":{"position":[[45,5]]},"1666":{"position":[[67,5]]},"1667":{"position":[[49,5]]},"1670":{"position":[[71,5]]},"1672":{"position":[[67,5]]},"1686":{"position":[[55,5]]},"1693":{"position":[[243,5]]},"1696":{"position":[[67,5]]},"1697":{"position":[[25,5]]},"1703":{"position":[[71,5]]},"1705":{"position":[[63,5]]},"1721":{"position":[[71,5]]},"1725":{"position":[[62,5]]},"1726":{"position":[[84,5]]},"1731":{"position":[[53,5]]},"1732":{"position":[[56,5]]},"1734":{"position":[[342,5]]},"1736":{"position":[[68,5]]},"1737":{"position":[[98,5]]},"1739":{"position":[[113,5]]},"1744":{"position":[[46,5]]},"1748":{"position":[[174,5]]},"1750":{"position":[[90,5]]},"1751":{"position":[[105,5],[124,5],[143,5]]},"1761":{"position":[[44,5]]},"1764":{"position":[[124,5]]},"1768":{"position":[[47,5]]}},"keywords":{}}],["2020.1",{"_index":4361,"title":{},"content":{"987":{"position":[[39,6]]},"1054":{"position":[[38,6]]}},"keywords":{}}],["2021",{"_index":3570,"title":{"724":{"position":[[8,5]]},"729":{"position":[[8,5]]},"731":{"position":[[8,5]]},"733":{"position":[[8,5]]},"735":{"position":[[8,5]]},"741":{"position":[[8,5]]},"743":{"position":[[8,5]]},"745":{"position":[[8,5]]},"748":{"position":[[8,5]]},"750":{"position":[[8,5]]},"752":{"position":[[8,5]]},"754":{"position":[[8,5]]},"760":{"position":[[8,5]]},"762":{"position":[[8,5]]},"769":{"position":[[8,5]]},"776":{"position":[[8,5]]},"778":{"position":[[8,5]]},"780":{"position":[[8,5]]},"784":{"position":[[8,5]]},"789":{"position":[[8,5]]},"791":{"position":[[8,5]]},"793":{"position":[[8,5]]},"797":{"position":[[8,5]]},"801":{"position":[[8,5]]},"803":{"position":[[8,5]]},"805":{"position":[[8,5]]},"807":{"position":[[8,5]]},"815":{"position":[[8,5]]},"817":{"position":[[8,5]]},"819":{"position":[[8,5]]},"823":{"position":[[8,5]]},"834":{"position":[[8,5]]},"836":{"position":[[8,5]]},"838":{"position":[[8,5]]},"840":{"position":[[8,5]]},"846":{"position":[[8,5]]},"849":{"position":[[8,5]]},"856":{"position":[[8,5]]},"858":{"position":[[8,5]]},"865":{"position":[[8,5]]},"869":{"position":[[8,5]]},"871":{"position":[[8,5]]},"880":{"position":[[8,5]]},"882":{"position":[[8,5]]},"886":{"position":[[8,5]]},"888":{"position":[[8,5]]},"894":{"position":[[7,5]]},"896":{"position":[[7,5]]},"901":{"position":[[7,5]]},"905":{"position":[[7,5]]},"907":{"position":[[7,5]]},"910":{"position":[[7,5]]},"914":{"position":[[7,5]]},"916":{"position":[[7,5]]},"921":{"position":[[7,5]]},"923":{"position":[[7,5]]},"925":{"position":[[7,5]]},"928":{"position":[[7,5]]},"932":{"position":[[7,5]]},"935":{"position":[[7,5]]},"937":{"position":[[7,5]]},"943":{"position":[[7,5]]},"953":{"position":[[7,5]]},"955":{"position":[[7,5]]},"965":{"position":[[7,5]]},"973":{"position":[[7,5]]},"975":{"position":[[7,5]]},"977":{"position":[[7,5]]},"982":{"position":[[7,5]]},"984":{"position":[[7,5]]},"986":{"position":[[7,5]]},"988":{"position":[[7,5]]},"991":{"position":[[7,5]]},"993":{"position":[[7,5]]},"996":{"position":[[7,5]]},"1001":{"position":[[7,5]]},"1003":{"position":[[7,5]]},"1010":{"position":[[7,5]]},"1013":{"position":[[7,5]]},"1016":{"position":[[7,5]]},"1025":{"position":[[7,5]]},"1027":{"position":[[7,5]]},"1031":{"position":[[7,5]]},"1053":{"position":[[7,5]]},"1061":{"position":[[7,5]]},"1063":{"position":[[7,5]]},"1068":{"position":[[7,5]]},"1070":{"position":[[7,5]]},"1072":{"position":[[7,5]]},"1078":{"position":[[7,5]]},"1080":{"position":[[7,5]]},"1083":{"position":[[7,5]]},"1085":{"position":[[7,5]]},"1087":{"position":[[7,5]]},"1089":{"position":[[7,5]]},"1091":{"position":[[7,5]]},"1093":{"position":[[7,5]]},"1095":{"position":[[7,5]]},"1099":{"position":[[7,5]]},"1101":{"position":[[7,5]]},"1105":{"position":[[7,5]]},"1107":{"position":[[7,5]]},"1122":{"position":[[7,5]]},"1124":{"position":[[7,5]]},"1126":{"position":[[7,5]]},"1128":{"position":[[7,5]]},"1130":{"position":[[7,5]]},"1134":{"position":[[7,5]]},"1138":{"position":[[7,5]]},"1144":{"position":[[7,5]]},"1146":{"position":[[7,5]]},"1148":{"position":[[7,5]]},"1150":{"position":[[7,5]]},"1152":{"position":[[7,5]]},"1154":{"position":[[7,5]]},"1156":{"position":[[7,5]]},"1158":{"position":[[7,5]]},"1162":{"position":[[7,5]]},"1164":{"position":[[7,5]]},"1167":{"position":[[7,5]]},"1170":{"position":[[7,5]]},"1172":{"position":[[7,5]]},"1174":{"position":[[7,5]]},"1176":{"position":[[7,5]]},"1178":{"position":[[7,5]]},"1181":{"position":[[7,5]]},"1187":{"position":[[7,5]]},"1191":{"position":[[7,5]]},"1193":{"position":[[7,5]]},"1196":{"position":[[7,5]]}},"content":{"632":{"position":[[16,4]]},"725":{"position":[[70,5]]},"736":{"position":[[77,5]]},"738":{"position":[[72,5]]},"746":{"position":[[36,5]]},"755":{"position":[[67,5]]},"763":{"position":[[68,5]]},"770":{"position":[[71,5]]},"771":{"position":[[94,5]]},"773":{"position":[[73,5]]},"781":{"position":[[85,5]]},"785":{"position":[[89,5]]},"794":{"position":[[90,5]]},"798":{"position":[[78,5]]},"808":{"position":[[153,5]]},"810":{"position":[[72,5]]},"811":{"position":[[63,5]]},"820":{"position":[[232,5]]},"825":{"position":[[77,5]]},"828":{"position":[[74,5]]},"829":{"position":[[64,5]]},"832":{"position":[[54,5]]},"841":{"position":[[75,5]]},"847":{"position":[[529,5]]},"850":{"position":[[75,5]]},"852":{"position":[[127,5]]},"854":{"position":[[94,5]]},"859":{"position":[[82,5]]},"861":{"position":[[65,5]]},"862":{"position":[[76,5]]},"863":{"position":[[60,5]]},"866":{"position":[[86,5]]},"872":{"position":[[55,5]]},"874":{"position":[[71,5]]},"876":{"position":[[88,5]]},"878":{"position":[[70,5]]},"883":{"position":[[88,5]]},"890":{"position":[[130,5]]},"892":{"position":[[165,5]]},"898":{"position":[[68,5]]},"902":{"position":[[95,5]]},"908":{"position":[[171,5]]},"911":{"position":[[63,5]]},"917":{"position":[[38,5]]},"926":{"position":[[45,5]]},"929":{"position":[[101,5]]},"933":{"position":[[90,5]]},"938":{"position":[[68,5]]},"940":{"position":[[71,5]]},"944":{"position":[[47,5]]},"945":{"position":[[55,5]]},"949":{"position":[[96,5]]},"956":{"position":[[76,5]]},"958":{"position":[[624,5]]},"961":{"position":[[64,5]]},"962":{"position":[[71,5]]},"966":{"position":[[61,5]]},"968":{"position":[[156,5]]},"970":{"position":[[76,5]]},"978":{"position":[[112,5]]},"979":{"position":[[41,5]]},"989":{"position":[[66,5]]},"994":{"position":[[41,5]]},"997":{"position":[[63,5]]},"1004":{"position":[[58,5]]},"1006":{"position":[[81,5]]},"1011":{"position":[[64,5]]},"1014":{"position":[[65,5]]},"1017":{"position":[[62,5]]},"1018":{"position":[[55,5]]},"1020":{"position":[[86,5]]},"1022":{"position":[[86,5]]},"1028":{"position":[[64,5]]},"1032":{"position":[[55,5]]},"1034":{"position":[[36,5]]},"1036":{"position":[[79,5]]},"1038":{"position":[[47,5]]},"1040":{"position":[[58,5]]},"1042":{"position":[[67,5]]},"1043":{"position":[[68,5]]},"1047":{"position":[[396,5]]},"1050":{"position":[[128,5]]},"1054":{"position":[[69,5]]},"1056":{"position":[[32,5]]},"1058":{"position":[[129,5]]},"1064":{"position":[[65,5]]},"1065":{"position":[[65,5]]},"1073":{"position":[[60,5]]},"1076":{"position":[[86,5]]},"1081":{"position":[[86,5]]},"1096":{"position":[[60,5]]},"1097":{"position":[[49,5]]},"1102":{"position":[[61,5]]},"1108":{"position":[[65,5]]},"1109":{"position":[[64,5]]},"1110":{"position":[[75,5]]},"1113":{"position":[[45,5]]},"1114":{"position":[[59,5]]},"1116":{"position":[[170,5]]},"1118":{"position":[[84,5]]},"1120":{"position":[[54,5]]},"1131":{"position":[[75,5]]},"1135":{"position":[[45,5]]},"1136":{"position":[[58,5]]},"1139":{"position":[[41,5]]},"1142":{"position":[[502,5]]},"1159":{"position":[[66,5]]},"1160":{"position":[[55,5]]},"1165":{"position":[[83,5]]},"1168":{"position":[[53,5]]},"1179":{"position":[[63,5]]},"1182":{"position":[[36,5]]},"1183":{"position":[[67,5]]},"1184":{"position":[[55,5]]},"1185":{"position":[[59,5]]},"1188":{"position":[[45,5]]},"1194":{"position":[[55,5]]}},"keywords":{}}],["2021.13f",{"_index":827,"title":{},"content":{"67":{"position":[[785,9]]},"201":{"position":[[785,9]]}},"keywords":{}}],["2021.2",{"_index":3830,"title":{},"content":{"751":{"position":[[35,6]]}},"keywords":{}}],["2021.3",{"_index":3576,"title":{},"content":{"634":{"position":[[135,6]]}},"keywords":{}}],["2021.3.15",{"_index":3433,"title":{},"content":{"574":{"position":[[59,10]]}},"keywords":{}}],["2022",{"_index":3294,"title":{"559":{"position":[[8,5]]},"561":{"position":[[8,5]]},"564":{"position":[[8,5]]},"567":{"position":[[8,5]]},"569":{"position":[[8,5]]},"571":{"position":[[8,5]]},"573":{"position":[[8,5]]},"576":{"position":[[8,5]]},"578":{"position":[[8,5]]},"580":{"position":[[8,5]]},"589":{"position":[[8,5]]},"592":{"position":[[8,5]]},"598":{"position":[[8,5]]},"606":{"position":[[8,5]]},"619":{"position":[[8,5]]},"621":{"position":[[8,5]]},"624":{"position":[[8,5]]},"627":{"position":[[8,5]]},"629":{"position":[[8,5]]},"631":{"position":[[8,5]]},"633":{"position":[[8,5]]},"637":{"position":[[8,5]]},"639":{"position":[[8,5]]},"641":{"position":[[8,5]]},"643":{"position":[[8,5]]},"645":{"position":[[8,5]]},"648":{"position":[[8,5]]},"650":{"position":[[8,5]]},"652":{"position":[[8,5]]},"654":{"position":[[8,5]]},"656":{"position":[[8,5]]},"658":{"position":[[8,5]]},"665":{"position":[[8,5]]},"668":{"position":[[8,5]]},"672":{"position":[[8,5]]},"676":{"position":[[8,5]]},"678":{"position":[[8,5]]},"682":{"position":[[8,5]]},"684":{"position":[[8,5]]},"686":{"position":[[8,5]]},"688":{"position":[[8,5]]},"691":{"position":[[8,5]]},"699":{"position":[[8,5]]},"709":{"position":[[8,5]]},"717":{"position":[[8,5]]},"720":{"position":[[8,5]]},"722":{"position":[[8,5]]}},"content":{"530":{"position":[[39,4]]},"562":{"position":[[121,5]]},"565":{"position":[[64,5]]},"574":{"position":[[96,5]]},"581":{"position":[[55,5]]},"583":{"position":[[143,5]]},"584":{"position":[[71,5]]},"586":{"position":[[72,5]]},"590":{"position":[[97,5]]},"593":{"position":[[78,5]]},"595":{"position":[[136,5]]},"599":{"position":[[57,5]]},"600":{"position":[[82,5]]},"601":{"position":[[202,5]]},"603":{"position":[[138,5]]},"607":{"position":[[55,5]]},"610":{"position":[[102,5]]},"613":{"position":[[75,5]]},"616":{"position":[[188,5]]},"625":{"position":[[64,5]]},"634":{"position":[[160,5]]},"646":{"position":[[56,5]]},"659":{"position":[[57,5]]},"662":{"position":[[168,5]]},"669":{"position":[[83,5]]},"673":{"position":[[111,5]]},"679":{"position":[[93,5]]},"680":{"position":[[63,5]]},"689":{"position":[[87,5]]},"692":{"position":[[52,5]]},"693":{"position":[[90,5]]},"696":{"position":[[90,5]]},"700":{"position":[[84,5]]},"702":{"position":[[71,5]]},"707":{"position":[[185,5]]},"710":{"position":[[74,5]]},"712":{"position":[[54,5]]},"714":{"position":[[87,5]]},"718":{"position":[[71,5]]}},"keywords":{}}],["2022.2",{"_index":3398,"title":{},"content":{"558":{"position":[[46,6]]}},"keywords":{}}],["20227a7)us",{"_index":5138,"title":{},"content":{"1327":{"position":[[260,12]]},"1330":{"position":[[260,12]]},"1333":{"position":[[260,12]]}},"keywords":{}}],["2023",{"_index":3033,"title":{"413":{"position":[[8,5]]},"415":{"position":[[8,5]]},"417":{"position":[[8,5]]},"419":{"position":[[8,5]]},"422":{"position":[[8,5]]},"426":{"position":[[8,5]]},"428":{"position":[[8,5]]},"431":{"position":[[8,5]]},"434":{"position":[[8,5]]},"437":{"position":[[8,5]]},"446":{"position":[[8,5]]},"448":{"position":[[8,5]]},"450":{"position":[[8,5]]},"452":{"position":[[8,5]]},"459":{"position":[[8,5]]},"461":{"position":[[8,5]]},"463":{"position":[[8,5]]},"473":{"position":[[8,5]]},"475":{"position":[[8,5]]},"491":{"position":[[8,5]]},"493":{"position":[[8,5]]},"495":{"position":[[8,5]]},"515":{"position":[[8,5]]},"517":{"position":[[8,5]]},"519":{"position":[[8,5]]},"525":{"position":[[8,5]]},"527":{"position":[[8,5]]},"529":{"position":[[8,5]]},"533":{"position":[[8,5]]},"535":{"position":[[8,5]]},"540":{"position":[[8,5]]},"550":{"position":[[8,5]]},"552":{"position":[[8,5]]}},"content":{"411":{"position":[[68,5]]},"420":{"position":[[63,5]]},"423":{"position":[[37,5]]},"424":{"position":[[88,5]]},"429":{"position":[[56,5]]},"435":{"position":[[134,5]]},"438":{"position":[[137,5]]},"439":{"position":[[73,5]]},"441":{"position":[[64,5]]},"442":{"position":[[64,5]]},"443":{"position":[[52,5]]},"453":{"position":[[42,5]]},"455":{"position":[[76,5]]},"460":{"position":[[37,4]]},"464":{"position":[[52,5]]},"465":{"position":[[77,5]]},"466":{"position":[[84,5]]},"468":{"position":[[67,5]]},"470":{"position":[[29,5]]},"471":{"position":[[67,5]]},"476":{"position":[[54,5]]},"478":{"position":[[45,5]]},"480":{"position":[[59,5]]},"481":{"position":[[79,5]]},"482":{"position":[[50,5]]},"484":{"position":[[60,5]]},"487":{"position":[[171,5]]},"496":{"position":[[80,5]]},"499":{"position":[[147,5]]},"500":{"position":[[77,5]]},"501":{"position":[[61,5]]},"505":{"position":[[388,5]]},"507":{"position":[[121,5]]},"509":{"position":[[86,5]]},"512":{"position":[[83,5]]},"520":{"position":[[38,5]]},"530":{"position":[[112,5]]},"536":{"position":[[68,5]]},"541":{"position":[[129,5]]},"542":{"position":[[47,5]]},"543":{"position":[[51,5]]},"545":{"position":[[297,5]]},"547":{"position":[[123,5]]},"553":{"position":[[155,5]]},"555":{"position":[[364,5]]},"557":{"position":[[81,5]]},"1474":{"position":[[12449,7]]},"1546":{"position":[[72,7]]}},"keywords":{}}],["2023.1",{"_index":3404,"title":{},"content":{"560":{"position":[[23,6]]}},"keywords":{}}],["2024",{"_index":2920,"title":{"368":{"position":[[8,5]]},"370":{"position":[[8,5]]},"374":{"position":[[8,5]]},"376":{"position":[[8,5]]},"378":{"position":[[8,5]]},"383":{"position":[[8,5]]},"387":{"position":[[8,5]]},"389":{"position":[[8,5]]},"392":{"position":[[8,5]]},"394":{"position":[[8,5]]},"399":{"position":[[8,5]]},"404":{"position":[[8,5]]},"406":{"position":[[8,5]]},"408":{"position":[[8,5]]}},"content":{"371":{"position":[[102,5]]},"379":{"position":[[71,5]]},"380":{"position":[[83,5]]},"381":{"position":[[59,5]]},"384":{"position":[[67,5]]},"390":{"position":[[60,5]]},"395":{"position":[[39,5]]},"397":{"position":[[93,5]]},"400":{"position":[[160,5]]},"402":{"position":[[51,5]]},"409":{"position":[[70,5]]}},"keywords":{}}],["2026",{"_index":6102,"title":{},"content":{"1476":{"position":[[1174,7]]},"1563":{"position":[[38,7]]}},"keywords":{}}],["2029",{"_index":6249,"title":{},"content":{"1476":{"position":[[4909,7]]},"1563":{"position":[[201,7]]}},"keywords":{}}],["2037",{"_index":5572,"title":{},"content":{"1474":{"position":[[7433,7]]},"1562":{"position":[[212,7]]}},"keywords":{}}],["203a823)listserv",{"_index":5414,"title":{},"content":{"1474":{"position":[[1993,19]]}},"keywords":{}}],["203e487",{"_index":3934,"title":{},"content":{"802":{"position":[[53,9]]}},"keywords":{}}],["2047ul",{"_index":7851,"title":{},"content":{"2014":{"position":[[517,6]]}},"keywords":{}}],["2048",{"_index":5682,"title":{},"content":{"1474":{"position":[[10365,7]]},"1562":{"position":[[364,7]]}},"keywords":{}}],["2050",{"_index":5774,"title":{},"content":{"1474":{"position":[[13121,7]]},"1562":{"position":[[477,7]]}},"keywords":{}}],["2051",{"_index":5521,"title":{},"content":{"1474":{"position":[[5864,7]]},"1562":{"position":[[60,7]]}},"keywords":{}}],["2054",{"_index":5989,"title":{},"content":{"1474":{"position":[[20973,7]]},"1562":{"position":[[566,7]]}},"keywords":{}}],["2055",{"_index":6022,"title":{},"content":{"1474":{"position":[[22167,7]]},"1562":{"position":[[633,7]]}},"keywords":{}}],["2066",{"_index":6513,"title":{},"content":{"1477":{"position":[[3228,7]]},"1548":{"position":[[38,7]]}},"keywords":{}}],["2076",{"_index":6314,"title":{},"content":{"1476":{"position":[[6681,7]]},"1497":{"position":[[18,7]]}},"keywords":{}}],["2078",{"_index":5800,"title":{},"content":{"1474":{"position":[[14948,7]]},"1546":{"position":[[124,7]]}},"keywords":{}}],["20785b7",{"_index":6856,"title":{},"content":{"1576":{"position":[[43,9]]}},"keywords":{}}],["20785b7)do",{"_index":5634,"title":{},"content":{"1474":{"position":[[8986,11]]}},"keywords":{}}],["2084",{"_index":6164,"title":{},"content":{"1476":{"position":[[2825,7]]},"1547":{"position":[[88,7]]}},"keywords":{}}],["2085",{"_index":6365,"title":{},"content":{"1476":{"position":[[8100,7]]},"1547":{"position":[[201,7]]}},"keywords":{}}],["2086",{"_index":6160,"title":{},"content":{"1476":{"position":[[2736,7]]},"1547":{"position":[[36,7]]}},"keywords":{}}],["2087",{"_index":6347,"title":{},"content":{"1476":{"position":[[7623,7]]},"1547":{"position":[[145,7]]}},"keywords":{}}],["2088",{"_index":6702,"title":{},"content":{"1496":{"position":[[327,5]]}},"keywords":{}}],["2088replac",{"_index":5890,"title":{},"content":{"1474":{"position":[[17560,12]]}},"keywords":{}}],["2089",{"_index":5888,"title":{},"content":{"1474":{"position":[[17534,7]]},"1496":{"position":[[301,7]]}},"keywords":{}}],["2092",{"_index":5848,"title":{},"content":{"1474":{"position":[[16598,7]]},"1496":{"position":[[242,7]]}},"keywords":{}}],["2094",{"_index":5756,"title":{},"content":{"1474":{"position":[[12517,7]]},"1496":{"position":[[188,7]]}},"keywords":{}}],["2095",{"_index":5497,"title":{},"content":{"1474":{"position":[[5146,7]]},"1496":{"position":[[39,7]]}},"keywords":{}}],["2097",{"_index":5706,"title":{},"content":{"1474":{"position":[[11038,7]]},"1496":{"position":[[154,7]]}},"keywords":{}}],["2097151ul",{"_index":7871,"title":{},"content":{"2014":{"position":[[1039,9]]}},"keywords":{}}],["20a2d09",{"_index":7052,"title":{},"content":{"1711":{"position":[[224,9]]}},"keywords":{}}],["20a2d09)networkbehaviourinspector",{"_index":5777,"title":{},"content":{"1474":{"position":[[13334,34]]}},"keywords":{}}],["20e1324",{"_index":5103,"title":{},"content":{"1314":{"position":[[62,9]]}},"keywords":{}}],["20e9e5d",{"_index":6578,"title":{},"content":{"1478":{"position":[[143,10]]}},"keywords":{}}],["20f",{"_index":1285,"title":{},"content":{"149":{"position":[[181,4]]},"151":{"position":[[36,4],[231,4]]}},"keywords":{}}],["21",{"_index":3063,"title":{"431":{"position":[[17,4]]},"461":{"position":[[17,4]]},"540":{"position":[[17,4]]},"561":{"position":[[17,4]]},"592":{"position":[[17,4]]},"784":{"position":[[17,4]]},"869":{"position":[[17,4]]},"923":{"position":[[16,4]]},"925":{"position":[[16,4]]},"977":{"position":[[16,4]]},"1078":{"position":[[16,4]]},"1080":{"position":[[16,4]]},"1083":{"position":[[16,4]]},"1294":{"position":[[16,4]]},"1296":{"position":[[16,4]]},"1579":{"position":[[16,4]]},"1677":{"position":[[16,4]]},"1679":{"position":[[16,4]]},"1681":{"position":[[16,4]]},"1683":{"position":[[16,4]]}},"content":{"438":{"position":[[146,3]]},"625":{"position":[[73,3]]},"785":{"position":[[98,3]]},"1076":{"position":[[95,3]]},"1081":{"position":[[95,3]]},"1297":{"position":[[65,3]]},"1298":{"position":[[79,3]]},"1465":{"position":[[78,3]]},"1476":{"position":[[8657,5]]},"1580":{"position":[[265,3]]}},"keywords":{}}],["21.0.0",{"_index":7003,"title":{},"content":{"1670":{"position":[[64,6]]}},"keywords":{}}],["21.0.1",{"_index":7001,"title":{"1669":{"position":[[0,6]]}},"content":{},"keywords":{}}],["21.1.0",{"_index":6999,"title":{},"content":{"1667":{"position":[[42,6]]}},"keywords":{}}],["21.2.0",{"_index":6997,"title":{},"content":{"1666":{"position":[[60,6]]}},"keywords":{}}],["21.2.1",{"_index":6994,"title":{"1665":{"position":[[0,6]]}},"content":{},"keywords":{}}],["2100",{"_index":5662,"title":{},"content":{"1474":{"position":[[9764,7]]},"1496":{"position":[[100,7]]}},"keywords":{}}],["2101",{"_index":5299,"title":{},"content":{"1466":{"position":[[783,7]]}},"keywords":{}}],["2110",{"_index":5318,"title":{},"content":{"1467":{"position":[[115,7]]}},"keywords":{}}],["2117",{"_index":5280,"title":{},"content":{"1466":{"position":[[278,5]]}},"keywords":{}}],["2117clientscene.localplay",{"_index":5281,"title":{},"content":{"1466":{"position":[[284,28]]}},"keywords":{}}],["2120",{"_index":5278,"title":{},"content":{"1466":{"position":[[252,7]]}},"keywords":{}}],["2125",{"_index":5301,"title":{},"content":{"1466":{"position":[[854,7]]}},"keywords":{}}],["2130",{"_index":5331,"title":{},"content":{"1468":{"position":[[110,7]]}},"keywords":{}}],["2134",{"_index":5316,"title":{},"content":{"1467":{"position":[[38,7]]}},"keywords":{}}],["2141",{"_index":5284,"title":{},"content":{"1466":{"position":[[404,7]]}},"keywords":{}}],["2144",{"_index":5294,"title":{},"content":{"1466":{"position":[[674,7]]}},"keywords":{}}],["2146",{"_index":5292,"title":{},"content":{"1466":{"position":[[613,7]]}},"keywords":{}}],["2147483647ul",{"_index":7891,"title":{},"content":{"2014":{"position":[[1591,12]]}},"keywords":{}}],["2148",{"_index":5303,"title":{},"content":{"1466":{"position":[[887,7]]}},"keywords":{}}],["2150",{"_index":5327,"title":{},"content":{"1467":{"position":[[389,7]]}},"keywords":{}}],["2151",{"_index":5322,"title":{},"content":{"1467":{"position":[[260,7]]}},"keywords":{}}],["2166",{"_index":5314,"title":{},"content":{"1466":{"position":[[1171,7]]}},"keywords":{}}],["217",{"_index":6637,"title":{},"content":{"1478":{"position":[[1708,6]]}},"keywords":{}}],["217revert",{"_index":6640,"title":{},"content":{"1478":{"position":[[1738,10]]}},"keywords":{}}],["2191",{"_index":5271,"title":{},"content":{"1466":{"position":[[58,7]]}},"keywords":{}}],["2195fee)set",{"_index":5929,"title":{},"content":{"1474":{"position":[[19027,12]]}},"keywords":{}}],["2199023255551ul",{"_index":7911,"title":{},"content":{"2014":{"position":[[2173,15]]}},"keywords":{}}],["21acf66",{"_index":6279,"title":{},"content":{"1476":{"position":[[5813,10]]},"1582":{"position":[[80,10]]}},"keywords":{}}],["21bf049",{"_index":3492,"title":{},"content":{"600":{"position":[[64,9]]}},"keywords":{}}],["21c8649",{"_index":5130,"title":{},"content":{"1326":{"position":[[46,9]]}},"keywords":{}}],["21ca49d)us",{"_index":6500,"title":{},"content":{"1477":{"position":[[2959,12]]}},"keywords":{}}],["21f1aee",{"_index":3064,"title":{},"content":{"432":{"position":[[63,9]]}},"keywords":{}}],["22",{"_index":3403,"title":{"559":{"position":[[17,4]]},"760":{"position":[[17,4]]},"823":{"position":[[17,4]]},"865":{"position":[[17,4]]},"1025":{"position":[[16,4]]},"1164":{"position":[[16,4]]},"1288":{"position":[[16,4]]},"1290":{"position":[[16,4]]},"1292":{"position":[[16,4]]},"1494":{"position":[[16,4]]},"1669":{"position":[[16,4]]},"1675":{"position":[[16,4]]}},"content":{"659":{"position":[[66,3]]},"679":{"position":[[102,3]]},"714":{"position":[[96,3]]},"736":{"position":[[86,3]]},"825":{"position":[[86,3]]},"828":{"position":[[83,3]]},"863":{"position":[[69,3]]},"866":{"position":[[95,3]]},"1073":{"position":[[69,3]]},"1165":{"position":[[92,3]]},"1285":{"position":[[91,3]]},"1495":{"position":[[122,3]]},"1667":{"position":[[58,3]]},"1670":{"position":[[80,3]]},"1672":{"position":[[76,3]]},"1750":{"position":[[99,3]]}},"keywords":{}}],["22.0.0",{"_index":6992,"title":{},"content":{"1662":{"position":[[38,6]]}},"keywords":{}}],["2201",{"_index":5297,"title":{},"content":{"1466":{"position":[[738,7]]}},"keywords":{}}],["2202",{"_index":5320,"title":{},"content":{"1467":{"position":[[172,7]]}},"keywords":{}}],["2208",{"_index":5325,"title":{},"content":{"1467":{"position":[[316,7]]}},"keywords":{}}],["222",{"_index":6854,"title":{},"content":{"1574":{"position":[[45,4]]}},"keywords":{}}],["2227",{"_index":5282,"title":{},"content":{"1466":{"position":[[353,7]]}},"keywords":{}}],["222spawnwithauthor",{"_index":5943,"title":{},"content":{"1474":{"position":[[19328,22]]}},"keywords":{}}],["223",{"_index":5941,"title":{},"content":{"1474":{"position":[[19303,6]]},"1574":{"position":[[20,6]]}},"keywords":{}}],["2232c11",{"_index":3598,"title":{},"content":{"644":{"position":[[20,9]]}},"keywords":{}}],["2240",{"_index":5289,"title":{},"content":{"1466":{"position":[[551,7]]}},"keywords":{}}],["2242",{"_index":5287,"title":{},"content":{"1466":{"position":[[485,7]]}},"keywords":{}}],["22478f4",{"_index":3115,"title":{},"content":{"449":{"position":[[53,9]]}},"keywords":{}}],["2251799813685247ul",{"_index":7931,"title":{},"content":{"2014":{"position":[[2785,18]]}},"keywords":{}}],["2261",{"_index":5329,"title":{},"content":{"1468":{"position":[[61,7]]}},"keywords":{}}],["2288",{"_index":5247,"title":{},"content":{"1456":{"position":[[84,7]]}},"keywords":{}}],["228b32e)#1278",{"_index":5365,"title":{},"content":{"1474":{"position":[[226,14]]},"1766":{"position":[[119,14]]}},"keywords":{}}],["2290",{"_index":5245,"title":{},"content":{"1456":{"position":[[38,7]]}},"keywords":{}}],["22931fc)telepathi",{"_index":5946,"title":{},"content":{"1474":{"position":[[19498,18]]}},"keywords":{}}],["2297",{"_index":5242,"title":{},"content":{"1455":{"position":[[52,7]]}},"keywords":{}}],["229aa4b",{"_index":3509,"title":{},"content":{"601":{"position":[[369,9]]}},"keywords":{}}],["229f73d",{"_index":5066,"title":{},"content":{"1297":{"position":[[39,9]]}},"keywords":{}}],["22b45f7)use",{"_index":6521,"title":{},"content":{"1477":{"position":[[3405,12]]}},"keywords":{}}],["22bf925)compli",{"_index":5616,"title":{},"content":{"1474":{"position":[[8560,15]]}},"keywords":{}}],["22bf925)networkbehaviour.syncvargameobjectequ",{"_index":7051,"title":{},"content":{"1711":{"position":[[19,48]]}},"keywords":{}}],["22e2990)fix",{"_index":3307,"title":{},"content":{"537":{"position":[[37,15]]}},"keywords":{}}],["22e7dcd)no",{"_index":3869,"title":{},"content":{"767":{"position":[[65,11]]}},"keywords":{}}],["23",{"_index":2996,"title":{"459":{"position":[[17,4]]},"619":{"position":[[17,4]]},"678":{"position":[[17,4]]},"921":{"position":[[16,4]]},"955":{"position":[[16,4]]},"1072":{"position":[[16,4]]},"1218":{"position":[[16,4]]},"1220":{"position":[[16,4]]},"1280":{"position":[[16,4]]},"1284":{"position":[[16,4]]},"1657":{"position":[[16,4]]},"1665":{"position":[[16,4]]}},"content":{"397":{"position":[[102,3]]},"487":{"position":[[180,3]]},"712":{"position":[[63,3]]},"781":{"position":[[94,3]]},"820":{"position":[[241,3]]},"917":{"position":[[47,3]]},"956":{"position":[[85,3]]},"958":{"position":[[633,3]]},"1278":{"position":[[78,3]]},"1281":{"position":[[71,3]]},"1282":{"position":[[196,3]]},"1472":{"position":[[89,3]]},"1658":{"position":[[47,3]]},"1660":{"position":[[58,3]]},"1662":{"position":[[54,3]]},"1666":{"position":[[76,3]]},"2500":{"position":[[57,2]]}},"keywords":{}}],["23.0.0",{"_index":6990,"title":{},"content":{"1660":{"position":[[42,6]]}},"keywords":{}}],["2300",{"_index":5240,"title":{},"content":{"1455":{"position":[[29,7]]}},"keywords":{}}],["2301",{"_index":5197,"title":{},"content":{"1351":{"position":[[102,7]]},"1356":{"position":[[102,7]]},"1361":{"position":[[49,7]]},"1366":{"position":[[49,7]]},"1371":{"position":[[49,7]]},"1376":{"position":[[49,7]]},"1380":{"position":[[49,7]]},"1384":{"position":[[49,7]]},"1388":{"position":[[49,7]]},"1392":{"position":[[49,7]]},"1396":{"position":[[49,7]]},"1400":{"position":[[49,7]]},"1404":{"position":[[49,7]]},"1408":{"position":[[49,7]]},"1412":{"position":[[49,7]]},"1416":{"position":[[49,7]]},"1420":{"position":[[49,7]]},"1424":{"position":[[49,7]]},"1428":{"position":[[49,7]]},"1432":{"position":[[49,7]]},"1436":{"position":[[49,7]]},"1439":{"position":[[49,7]]}},"keywords":{}}],["2305",{"_index":5176,"title":{},"content":{"1349":{"position":[[107,5]]},"1354":{"position":[[107,5]]},"1359":{"position":[[107,5]]},"1364":{"position":[[107,5]]},"1369":{"position":[[107,5]]},"1374":{"position":[[107,5]]},"1378":{"position":[[107,5]]},"1382":{"position":[[107,5]]},"1386":{"position":[[107,5]]},"1390":{"position":[[107,5]]},"1394":{"position":[[107,5]]},"1398":{"position":[[107,5]]},"1402":{"position":[[107,5]]},"1406":{"position":[[107,5]]},"1410":{"position":[[107,5]]},"1414":{"position":[[107,5]]},"1418":{"position":[[107,5]]},"1422":{"position":[[107,5]]},"1426":{"position":[[107,5]]},"1430":{"position":[[107,5]]},"1434":{"position":[[68,5]]},"1438":{"position":[[68,5]]}},"keywords":{}}],["2305843009213693951ul",{"_index":7951,"title":{},"content":{"2014":{"position":[[3427,21]]}},"keywords":{}}],["2307",{"_index":5174,"title":{},"content":{"1349":{"position":[[81,7]]},"1354":{"position":[[81,7]]},"1359":{"position":[[81,7]]},"1364":{"position":[[81,7]]},"1369":{"position":[[81,7]]},"1374":{"position":[[81,7]]},"1378":{"position":[[81,7]]},"1382":{"position":[[81,7]]},"1386":{"position":[[81,7]]},"1390":{"position":[[81,7]]},"1394":{"position":[[81,7]]},"1398":{"position":[[81,7]]},"1402":{"position":[[81,7]]},"1406":{"position":[[81,7]]},"1410":{"position":[[81,7]]},"1414":{"position":[[81,7]]},"1418":{"position":[[81,7]]},"1422":{"position":[[81,7]]},"1426":{"position":[[81,7]]},"1430":{"position":[[81,7]]},"1434":{"position":[[42,7]]},"1438":{"position":[[42,7]]}},"keywords":{}}],["231",{"_index":5815,"title":{},"content":{"1474":{"position":[[15439,6]]},"1572":{"position":[[44,6]]}},"keywords":{}}],["233",{"_index":5680,"title":{},"content":{"1474":{"position":[[10274,6]]},"1570":{"position":[[103,6]]}},"keywords":{}}],["2331",{"_index":5028,"title":{},"content":{"1278":{"position":[[56,5]]}},"keywords":{}}],["23349af)synclist",{"_index":5040,"title":{},"content":{"1282":{"position":[[55,17]]},"1283":{"position":[[55,17]]}},"keywords":{}}],["234",{"_index":5526,"title":{},"content":{"1474":{"position":[[6032,6]]},"1570":{"position":[[60,6]]}},"keywords":{}}],["23487",{"_index":2816,"title":{},"content":{"346":{"position":[[179,6]]}},"keywords":{}}],["237",{"_index":5711,"title":{},"content":{"1474":{"position":[[11184,6]]},"1565":{"position":[[117,6]]}},"keywords":{}}],["238",{"_index":5864,"title":{},"content":{"1474":{"position":[[16866,6]]},"1565":{"position":[[170,6]]}},"keywords":{}}],["23b0afc",{"_index":5254,"title":{},"content":{"1459":{"position":[[36,9]]}},"keywords":{}}],["23b9fb0)ad",{"_index":5317,"title":{},"content":{"1467":{"position":[[46,15]]}},"keywords":{}}],["23c7b0d",{"_index":6904,"title":{},"content":{"1598":{"position":[[31,9]]}},"keywords":{}}],["23c7b0d)next",{"_index":6293,"title":{},"content":{"1476":{"position":[[6162,13]]}},"keywords":{}}],["23dcca6",{"_index":6760,"title":{},"content":{"1541":{"position":[[24,9]]}},"keywords":{}}],["23dcca6)miss",{"_index":5761,"title":{},"content":{"1474":{"position":[[12591,16]]}},"keywords":{}}],["24",{"_index":3077,"title":{"437":{"position":[[17,4]]},"641":{"position":[[17,4]]},"658":{"position":[[17,4]]},"953":{"position":[[16,4]]},"1070":{"position":[[16,4]]},"1162":{"position":[[16,4]]},"1277":{"position":[[16,4]]},"1471":{"position":[[16,4]]},"1575":{"position":[[16,4]]}},"content":{"484":{"position":[[69,3]]},"512":{"position":[[92,3]]},"861":{"position":[[74,3]]},"862":{"position":[[85,3]]},"949":{"position":[[105,3]]},"1018":{"position":[[64,3]]},"1020":{"position":[[95,3]]},"1022":{"position":[[95,3]]},"1463":{"position":[[72,3]]},"1464":{"position":[[63,3]]},"1476":{"position":[[6953,5]]},"1655":{"position":[[287,3]]}},"keywords":{}}],["24.0.0",{"_index":6988,"title":{},"content":{"1658":{"position":[[31,6]]}},"keywords":{}}],["24.0.1",{"_index":6986,"title":{"1657":{"position":[[0,6]]}},"content":{},"keywords":{}}],["24.1.0",{"_index":6983,"title":{},"content":{"1655":{"position":[[271,6]]}},"keywords":{}}],["24.1.1",{"_index":6980,"title":{"1654":{"position":[[0,6]]}},"content":{},"keywords":{}}],["240mb",{"_index":8438,"title":{},"content":{"2130":{"position":[[2235,5]]}},"keywords":{}}],["241a421)mark",{"_index":3361,"title":{},"content":{"548":{"position":[[64,16]]}},"keywords":{}}],["242",{"_index":5536,"title":{},"content":{"1474":{"position":[[6371,6]]},"1565":{"position":[[52,6]]}},"keywords":{}}],["244",{"_index":6168,"title":{},"content":{"1476":{"position":[[2936,6]]},"1558":{"position":[[36,6]]}},"keywords":{}}],["246a551)alloc",{"_index":6406,"title":{},"content":{"1477":{"position":[[148,19]]}},"keywords":{}}],["247",{"_index":6337,"title":{},"content":{"1476":{"position":[[7302,6]]},"1560":{"position":[[49,6]]}},"keywords":{}}],["2474a0c",{"_index":4748,"title":{},"content":{"1145":{"position":[[20,9]]}},"keywords":{}}],["25",{"_index":2971,"title":{"392":{"position":[[17,4]]},"394":{"position":[[17,4]]},"637":{"position":[[17,4]]},"639":{"position":[[17,4]]},"676":{"position":[[17,4]]},"819":{"position":[[17,4]]},"886":{"position":[[17,4]]},"1068":{"position":[[16,4]]},"1462":{"position":[[16,4]]},"1571":{"position":[[16,4]]},"1654":{"position":[[16,4]]}},"content":{"390":{"position":[[69,3]]},"395":{"position":[[48,3]]},"590":{"position":[[106,3]]},"599":{"position":[[66,3]]},"1017":{"position":[[71,3]]},"1160":{"position":[[64,3]]},"1216":{"position":[[56,3]]},"1275":{"position":[[56,3]]},"1474":{"position":[[16970,5]]},"1650":{"position":[[106,3]]},"1651":{"position":[[84,3]]}},"keywords":{}}],["25.0.0",{"_index":6978,"title":{},"content":{"1651":{"position":[[68,6]]}},"keywords":{}}],["250",{"_index":1363,"title":{},"content":{"173":{"position":[[578,3]]},"1476":{"position":[[8222,6]]},"1550":{"position":[[106,6]]}},"keywords":{}}],["25285b1)fallback",{"_index":6201,"title":{},"content":{"1476":{"position":[[3653,17]]}},"keywords":{}}],["25285b1)more",{"_index":6806,"title":{},"content":{"1563":{"position":[[153,13]]}},"keywords":{}}],["253",{"_index":6068,"title":{},"content":{"1476":{"position":[[344,6]]},"1551":{"position":[[17,6]]}},"keywords":{}}],["255",{"_index":2854,"title":{},"content":{"351":{"position":[[471,4]]},"1474":{"position":[[7757,6]]},"1555":{"position":[[36,6]]},"2130":{"position":[[2649,3]]}},"keywords":{}}],["255ul",{"_index":7845,"title":{},"content":{"2014":{"position":[[368,5]]}},"keywords":{}}],["256",{"_index":5605,"title":{},"content":{"1474":{"position":[[8275,6]]},"1553":{"position":[[24,6]]}},"keywords":{}}],["256b16c",{"_index":4434,"title":{},"content":{"1012":{"position":[[72,9]]}},"keywords":{}}],["257",{"_index":5758,"title":{},"content":{"1474":{"position":[[12551,6]]},"1553":{"position":[[57,6]]}},"keywords":{}}],["259e8d0)networkread",{"_index":4125,"title":{},"content":{"877":{"position":[[63,23]]}},"keywords":{}}],["25a0503",{"_index":4272,"title":{},"content":{"950":{"position":[[34,9]]}},"keywords":{}}],["25ab6f3",{"_index":3641,"title":{},"content":{"667":{"position":[[54,9]]}},"keywords":{}}],["26",{"_index":2939,"title":{"374":{"position":[[17,4]]},"376":{"position":[[17,4]]},"580":{"position":[[17,4]]},"1016":{"position":[[16,4]]},"1158":{"position":[[16,4]]},"1273":{"position":[[16,4]]},"1647":{"position":[[16,4]]}},"content":{"455":{"position":[[85,3]]},"634":{"position":[[169,3]]},"859":{"position":[[91,3]]},"1159":{"position":[[75,3]]},"1274":{"position":[[69,3]]},"1576":{"position":[[69,3]]},"1641":{"position":[[74,3]]},"1643":{"position":[[126,3]]},"1648":{"position":[[69,3]]}},"keywords":{}}],["26.0.0",{"_index":6976,"title":{},"content":{"1650":{"position":[[90,6]]}},"keywords":{}}],["261bf24",{"_index":5032,"title":{},"content":{"1278":{"position":[[114,10]]}},"keywords":{}}],["261f5d6",{"_index":6991,"title":{},"content":{"1661":{"position":[[37,9]]}},"keywords":{}}],["261f5d6)lan",{"_index":6230,"title":{},"content":{"1476":{"position":[[4375,12]]}},"keywords":{}}],["262",{"_index":5490,"title":{},"content":{"1474":{"position":[[5012,6]]},"1549":{"position":[[41,6]]}},"keywords":{}}],["262143ul",{"_index":7865,"title":{},"content":{"2014":{"position":[[879,8]]}},"keywords":{}}],["263",{"_index":6166,"title":{},"content":{"1476":{"position":[[2884,6]]},"1550":{"position":[[42,6]]}},"keywords":{}}],["263a7b2",{"_index":4578,"title":{},"content":{"1073":{"position":[[43,9]]}},"keywords":{}}],["264f9b8",{"_index":6774,"title":{},"content":{"1548":{"position":[[46,9]]}},"keywords":{}}],["264f9b8)use",{"_index":6514,"title":{},"content":{"1477":{"position":[[3236,12]]}},"keywords":{}}],["265",{"_index":5856,"title":{},"content":{"1474":{"position":[[16735,6]]},"1543":{"position":[[44,6]]}},"keywords":{}}],["2668b17)move",{"_index":5764,"title":{},"content":{"1474":{"position":[[12659,13]]}},"keywords":{}}],["266dc8d",{"_index":5220,"title":{},"content":{"1443":{"position":[[58,9]]}},"keywords":{}}],["267",{"_index":5529,"title":{},"content":{"1474":{"position":[[6162,6]]},"1545":{"position":[[50,6]]}},"keywords":{}}],["267f513",{"_index":5339,"title":{},"content":{"1470":{"position":[[29,9]]}},"keywords":{}}],["268",{"_index":5803,"title":{},"content":{"1474":{"position":[[14993,6]]},"1545":{"position":[[94,6]]}},"keywords":{}}],["2683572)synclist",{"_index":6350,"title":{},"content":{"1476":{"position":[[7698,17]]}},"keywords":{}}],["268435455ul",{"_index":7885,"title":{},"content":{"2014":{"position":[[1422,11]]}},"keywords":{}}],["268753c",{"_index":7126,"title":{},"content":{"1751":{"position":[[89,9]]}},"keywords":{}}],["268753c)fix",{"_index":5693,"title":{},"content":{"1474":{"position":[[10812,14]]}},"keywords":{}}],["269",{"_index":5760,"title":{},"content":{"1474":{"position":[[12584,6]]},"1541":{"position":[[17,6]]}},"keywords":{}}],["26a5bbc)fix",{"_index":3855,"title":{},"content":{"764":{"position":[[69,15]]}},"keywords":{}}],["26b3318)fix",{"_index":3530,"title":{},"content":{"614":{"position":[[115,15]]}},"keywords":{}}],["26ec10d)ad",{"_index":3327,"title":{},"content":{"538":{"position":[[300,15]]}},"keywords":{}}],["27",{"_index":3072,"title":{"576":{"position":[[17,4]]},"578":{"position":[[17,4]]},"656":{"position":[[17,4]]},"780":{"position":[[17,4]]},"910":{"position":[[16,4]]},"914":{"position":[[16,4]]},"916":{"position":[[16,4]]},"975":{"position":[[16,4]]},"1013":{"position":[[16,4]]},"1154":{"position":[[16,4]]},"1156":{"position":[[16,4]]},"1206":{"position":[[16,4]]},"1270":{"position":[[16,4]]},"1569":{"position":[[16,4]]},"1637":{"position":[[16,4]]},"1639":{"position":[[16,4]]}},"content":{"435":{"position":[[143,3]]},"453":{"position":[[51,3]]},"616":{"position":[[197,3]]},"908":{"position":[[180,3]]},"911":{"position":[[72,3]]},"1011":{"position":[[73,3]]},"1014":{"position":[[74,3]]},"1204":{"position":[[65,3]]},"1207":{"position":[[67,3]]},"1271":{"position":[[70,3]]},"1459":{"position":[[62,3]]},"1476":{"position":[[4226,5]]},"1732":{"position":[[65,3]]},"1748":{"position":[[183,3]]},"1769":{"position":[[28,5]]}},"keywords":{}}],["27.0.0",{"_index":6973,"title":{},"content":{"1648":{"position":[[53,6]]}},"keywords":{}}],["27.0.1",{"_index":6971,"title":{"1647":{"position":[[0,6]]}},"content":{},"keywords":{}}],["270",{"_index":6329,"title":{},"content":{"1476":{"position":[[7072,6]]},"1534":{"position":[[34,6]]}},"keywords":{}}],["271",{"_index":5353,"title":{},"content":{"1473":{"position":[[302,6]]},"1536":{"position":[[32,6]]}},"keywords":{}}],["2717957)use",{"_index":4729,"title":{},"content":{"1141":{"position":[[159,12]]}},"keywords":{}}],["272",{"_index":5795,"title":{},"content":{"1474":{"position":[[14762,6]]},"1539":{"position":[[88,6]]}},"keywords":{}}],["2726b9e",{"_index":5145,"title":{},"content":{"1334":{"position":[[62,9]]}},"keywords":{}}],["273",{"_index":5502,"title":{},"content":{"1474":{"position":[[5270,6]]},"1539":{"position":[[52,6]]}},"keywords":{}}],["2736fe0)fix",{"_index":3026,"title":{},"content":{"410":{"position":[[60,15]]}},"keywords":{}}],["273d27c",{"_index":4087,"title":{},"content":{"861":{"position":[[47,9]]}},"keywords":{}}],["274",{"_index":6158,"title":{},"content":{"1476":{"position":[[2684,6]]},"1528":{"position":[[34,6]]}},"keywords":{}}],["274877906943ul",{"_index":7905,"title":{},"content":{"2014":{"position":[[1995,14]]}},"keywords":{}}],["275",{"_index":5939,"title":{},"content":{"1474":{"position":[[19267,6]]},"1533":{"position":[[54,6]]}},"keywords":{}}],["276",{"_index":6207,"title":{},"content":{"1476":{"position":[[3873,6]]},"1530":{"position":[[40,6]]}},"keywords":{}}],["2761ff2)telepathi",{"_index":5949,"title":{},"content":{"1474":{"position":[[19745,18]]}},"keywords":{}}],["277",{"_index":6236,"title":{},"content":{"1476":{"position":[[4533,6]]},"1526":{"position":[[39,6]]}},"keywords":{}}],["278a127",{"_index":6783,"title":{},"content":{"1553":{"position":[[64,9]]}},"keywords":{}}],["278a127)misc",{"_index":5759,"title":{},"content":{"1474":{"position":[[12558,13]]}},"keywords":{}}],["279e207",{"_index":3284,"title":{},"content":{"523":{"position":[[48,9]]}},"keywords":{}}],["27b7e25)optim",{"_index":6459,"title":{},"content":{"1477":{"position":[[1674,17]]}},"keywords":{}}],["27b99be",{"_index":4566,"title":{},"content":{"1066":{"position":[[46,9]]}},"keywords":{}}],["27c9522)fix",{"_index":3897,"title":{},"content":{"781":{"position":[[24,15]]}},"keywords":{}}],["28",{"_index":2934,"title":{"389":{"position":[[17,4]]},"907":{"position":[[16,4]]},"973":{"position":[[16,4]]},"1492":{"position":[[16,4]]},"1635":{"position":[[16,4]]}},"content":{"371":{"position":[[111,3]]},"411":{"position":[[77,3]]},"509":{"position":[[95,3]]},"945":{"position":[[64,3]]},"970":{"position":[[85,3]]},"1215":{"position":[[71,3]]},"1456":{"position":[[118,3]]},"1457":{"position":[[70,3]]},"1633":{"position":[[79,3]]},"1731":{"position":[[62,3]]}},"keywords":{}}],["28.0.0",{"_index":6967,"title":{},"content":{"1643":{"position":[[110,6]]}},"keywords":{}}],["281474976710655ul",{"_index":7925,"title":{},"content":{"2014":{"position":[[2598,17]]}},"keywords":{}}],["282",{"_index":6378,"title":{},"content":{"1476":{"position":[[8547,6]]},"1525":{"position":[[42,6]]}},"keywords":{}}],["283",{"_index":5839,"title":{},"content":{"1474":{"position":[[16382,6]]},"1524":{"position":[[60,6]]}},"keywords":{}}],["285",{"_index":6121,"title":{},"content":{"1476":{"position":[[1722,6]]},"1522":{"position":[[38,6]]}},"keywords":{}}],["2858ff4",{"_index":4857,"title":{},"content":{"1195":{"position":[[42,9]]}},"keywords":{}}],["286",{"_index":6327,"title":{},"content":{"1476":{"position":[[7022,6]]},"1521":{"position":[[54,6]]}},"keywords":{}}],["287",{"_index":5920,"title":{},"content":{"1474":{"position":[[18344,6]]},"1520":{"position":[[34,6]]}},"keywords":{}}],["288230376151711743ul",{"_index":7945,"title":{},"content":{"2014":{"position":[[3231,20]]}},"keywords":{}}],["288ed0f",{"_index":4362,"title":{},"content":{"987":{"position":[[55,9]]}},"keywords":{}}],["28d0447",{"_index":3049,"title":{},"content":{"423":{"position":[[19,9]]}},"keywords":{}}],["29",{"_index":1266,"title":{"387":{"position":[[17,4]]},"452":{"position":[[17,4]]},"624":{"position":[[17,4]]},"633":{"position":[[17,4]]},"731":{"position":[[17,4]]},"733":{"position":[[17,4]]},"735":{"position":[[17,4]]},"778":{"position":[[17,4]]},"856":{"position":[[17,4]]},"858":{"position":[[17,4]]},"882":{"position":[[17,4]]},"1010":{"position":[[16,4]]},"1152":{"position":[[16,4]]},"1266":{"position":[[16,4]]},"1454":{"position":[[16,4]]},"1625":{"position":[[16,4]]},"1627":{"position":[[16,4]]},"1632":{"position":[[16,4]]},"1728":{"position":[[16,4]]},"1730":{"position":[[16,4]]}},"content":{"139":{"position":[[1211,2]]},"507":{"position":[[130,3]]},"710":{"position":[[83,3]]},"755":{"position":[[76,3]]},"883":{"position":[[97,3]]},"944":{"position":[[56,3]]},"1202":{"position":[[48,3]]},"1203":{"position":[[75,3]]},"1267":{"position":[[96,3]]},"1452":{"position":[[79,3]]},"1455":{"position":[[86,3]]},"1628":{"position":[[63,3]]},"1629":{"position":[[50,3]]},"2043":{"position":[[51,2]]}},"keywords":{}}],["29.0.0",{"_index":6965,"title":{},"content":{"1641":{"position":[[58,6]]}},"keywords":{}}],["29.0.1",{"_index":6961,"title":{"1639":{"position":[[0,6]]}},"content":{},"keywords":{}}],["29.0.2",{"_index":6959,"title":{"1637":{"position":[[0,6]]}},"content":{},"keywords":{}}],["29.0.3",{"_index":6953,"title":{"1635":{"position":[[0,6]]}},"content":{},"keywords":{}}],["29.1.0",{"_index":6951,"title":{},"content":{"1633":{"position":[[63,6]]}},"keywords":{}}],["29.1.1",{"_index":6949,"title":{"1632":{"position":[[0,6]]}},"content":{},"keywords":{}}],["2906f18",{"_index":3521,"title":{},"content":{"608":{"position":[[35,9]]}},"keywords":{}}],["291",{"_index":6380,"title":{},"content":{"1476":{"position":[[8608,6]]},"1518":{"position":[[45,6]]}},"keywords":{}}],["292",{"_index":6376,"title":{},"content":{"1476":{"position":[[8489,6]]},"1516":{"position":[[33,6]]}},"keywords":{}}],["293",{"_index":5350,"title":{},"content":{"1473":{"position":[[217,6]]},"1500":{"position":[[52,6]]}},"keywords":{}}],["296",{"_index":5666,"title":{},"content":{"1474":{"position":[[9879,6]]},"1512":{"position":[[47,6]]}},"keywords":{}}],["297",{"_index":5664,"title":{},"content":{"1474":{"position":[[9816,6]]},"1508":{"position":[[35,6]]}},"keywords":{}}],["298",{"_index":5600,"title":{},"content":{"1474":{"position":[[8154,6]]},"1510":{"position":[[61,6]]}},"keywords":{}}],["29fb101",{"_index":4873,"title":{},"content":{"1204":{"position":[[39,9]]}},"keywords":{}}],["2^12",{"_index":8129,"title":{},"content":{"2054":{"position":[[156,4]]}},"keywords":{}}],["2^6",{"_index":8128,"title":{},"content":{"2054":{"position":[[115,3]]}},"keywords":{}}],["2^n",{"_index":8568,"title":{},"content":{"2193":{"position":[[150,5]]}},"keywords":{}}],["2a08aac)don't",{"_index":5647,"title":{},"content":{"1474":{"position":[[9286,14]]}},"keywords":{}}],["2a08aac)fix",{"_index":6820,"title":{},"content":{"1566":{"position":[[815,14]]}},"keywords":{}}],["2a2f76c)remov",{"_index":5866,"title":{},"content":{"1474":{"position":[[16929,15]]}},"keywords":{}}],["2a2f76c)us",{"_index":6870,"title":{},"content":{"1580":{"position":[[189,12]]}},"keywords":{}}],["2a3db0b)fix",{"_index":5691,"title":{},"content":{"1474":{"position":[[10768,12]]}},"keywords":{}}],["2a3db0b)releas",{"_index":7147,"title":{},"content":{"1762":{"position":[[82,16]]}},"keywords":{}}],["2a69409",{"_index":3217,"title":{},"content":{"498":{"position":[[57,9]]}},"keywords":{}}],["2a9bdec",{"_index":4074,"title":{},"content":{"853":{"position":[[34,9]]}},"keywords":{}}],["2ae9ddc",{"_index":3162,"title":{},"content":{"476":{"position":[[36,9]]}},"keywords":{}}],["2af7b9d",{"_index":6731,"title":{},"content":{"1518":{"position":[[52,9]]}},"keywords":{}}],["2af7b9d)upd",{"_index":6381,"title":{},"content":{"1476":{"position":[[8615,15]]}},"keywords":{}}],["2b2e71c",{"_index":6793,"title":{},"content":{"1561":{"position":[[50,9]]}},"keywords":{}}],["2b2e71c)exclud",{"_index":6194,"title":{},"content":{"1476":{"position":[[3454,16]]}},"keywords":{}}],["2bc42c5",{"_index":4081,"title":{},"content":{"859":{"position":[[64,9]]}},"keywords":{}}],["2bceedb",{"_index":4572,"title":{},"content":{"1069":{"position":[[29,9]]}},"keywords":{}}],["2bcf22f",{"_index":4105,"title":{},"content":{"867":{"position":[[72,9]]}},"keywords":{}}],["2c04202",{"_index":5034,"title":{},"content":{"1278":{"position":[[161,9]]}},"keywords":{}}],["2c0bac6)fix",{"_index":4502,"title":{},"content":{"1044":{"position":[[86,15]]}},"keywords":{}}],["2c86fc0",{"_index":3340,"title":{},"content":{"541":{"position":[[111,9]]}},"keywords":{}}],["2ca0340",{"_index":5342,"title":{},"content":{"1472":{"position":[[64,9]]}},"keywords":{}}],["2ca2c48)suppress",{"_index":5445,"title":{},"content":{"1474":{"position":[[3286,17]]}},"keywords":{}}],["2d",{"_index":428,"title":{},"content":{"22":{"position":[[399,3]]},"150":{"position":[[16,2]]}},"keywords":{}}],["2d006fe)remov",{"_index":5862,"title":{},"content":{"1474":{"position":[[16820,15]]},"1580":{"position":[[133,15]]}},"keywords":{}}],["2d10305",{"_index":4268,"title":{},"content":{"948":{"position":[[124,9]]}},"keywords":{}}],["2d1b142)prevent",{"_index":5836,"title":{},"content":{"1474":{"position":[[16246,16]]}},"keywords":{}}],["2d1b142)show",{"_index":7030,"title":{},"content":{"1693":{"position":[[83,13]]}},"keywords":{}}],["2d63ee1)set",{"_index":5931,"title":{},"content":{"1474":{"position":[[19088,12]]}},"keywords":{}}],["2d682b5)websocket",{"_index":5974,"title":{},"content":{"1474":{"position":[[20474,19]]}},"keywords":{}}],["2d8990d",{"_index":3696,"title":{},"content":{"690":{"position":[[45,9]]}},"keywords":{}}],["2d89f05",{"_index":6847,"title":{},"content":{"1568":{"position":[[211,9]]}},"keywords":{}}],["2d89f05)networkread",{"_index":6451,"title":{},"content":{"1477":{"position":[[1482,22]]}},"keywords":{}}],["2d8a35a",{"_index":3226,"title":{},"content":{"502":{"position":[[31,9]]}},"keywords":{}}],["2db7576",{"_index":6525,"title":{},"content":{"1477":{"position":[[3506,9]]}},"keywords":{}}],["2de7ecd",{"_index":6787,"title":{},"content":{"1557":{"position":[[33,9]]}},"keywords":{}}],["2de7ecd)fix",{"_index":5689,"title":{},"content":{"1474":{"position":[[10738,12]]}},"keywords":{}}],["2e1263",{"_index":3514,"title":{},"content":{"604":{"position":[[45,9]]}},"keywords":{}}],["2e1601b)improv",{"_index":4219,"title":{},"content":{"929":{"position":[[39,18]]}},"keywords":{}}],["2e39e13)networkmatchcheck",{"_index":6277,"title":{},"content":{"1476":{"position":[[5766,28]]}},"keywords":{}}],["2e39e13)networkserv",{"_index":6843,"title":{},"content":{"1567":{"position":[[1309,22]]}},"keywords":{}}],["2eafb46)improv",{"_index":3479,"title":{},"content":{"594":{"position":[[78,18]]}},"keywords":{}}],["2eb9de6",{"_index":6910,"title":{},"content":{"1603":{"position":[[48,9]]}},"keywords":{}}],["2eb9de6)disconnect",{"_index":5632,"title":{},"content":{"1474":{"position":[[8889,19]]}},"keywords":{}}],["2ec6d3a",{"_index":2962,"title":{},"content":{"386":{"position":[[26,9]]}},"keywords":{}}],["2ed0859)bug",{"_index":5180,"title":{},"content":{"1350":{"position":[[77,12]]},"1355":{"position":[[77,12]]},"1360":{"position":[[77,12]]},"1365":{"position":[[77,12]]},"1370":{"position":[[77,12]]},"1375":{"position":[[31,12]]},"1379":{"position":[[31,12]]},"1383":{"position":[[31,12]]},"1387":{"position":[[31,12]]},"1391":{"position":[[31,12]]},"1395":{"position":[[31,12]]}},"keywords":{}}],["2eeaea4",{"_index":7150,"title":{},"content":{"1762":{"position":[[202,9]]}},"keywords":{}}],["2eeaea4)targetrpc",{"_index":5993,"title":{},"content":{"1474":{"position":[[21067,18]]}},"keywords":{}}],["2f19c7c",{"_index":5714,"title":{},"content":{"1474":{"position":[[11253,10]]}},"keywords":{}}],["2f3c4b5",{"_index":3625,"title":{},"content":{"661":{"position":[[44,9]]}},"keywords":{}}],["2f5db3d",{"_index":2969,"title":{},"content":{"390":{"position":[[42,9]]}},"keywords":{}}],["2f6414f",{"_index":4444,"title":{},"content":{"1017":{"position":[[45,9]]}},"keywords":{}}],["2f7c322",{"_index":3995,"title":{},"content":{"831":{"position":[[71,9]]}},"keywords":{}}],["2f89372",{"_index":3874,"title":{},"content":{"770":{"position":[[53,9]]}},"keywords":{}}],["2k",{"_index":6445,"title":{},"content":{"1477":{"position":[[1373,2]]},"1568":{"position":[[102,2]]}},"keywords":{}}],["2nd",{"_index":1257,"title":{},"content":{"139":{"position":[[735,3],[865,3]]},"211":{"position":[[1387,3]]},"346":{"position":[[2403,3]]}},"keywords":{}}],["2u",{"_index":2832,"title":{},"content":{"346":{"position":[[1137,3]]}},"keywords":{}}],["2ul",{"_index":1302,"title":{},"content":{"151":{"position":[[833,4],[1330,4]]}},"keywords":{}}],["3",{"_index":667,"title":{"150":{"position":[[8,2]]},"183":{"position":[[0,2]]}},"content":{"46":{"position":[[629,1]]},"50":{"position":[[40,1]]},"117":{"position":[[930,2]]},"119":{"position":[[360,1]]},"130":{"position":[[241,1]]},"136":{"position":[[150,1]]},"139":{"position":[[185,1],[947,1],[1068,1],[1250,1],[1323,2]]},"159":{"position":[[241,1]]},"182":{"position":[[1101,2]]},"190":{"position":[[279,2]]},"191":{"position":[[182,2]]},"196":{"position":[[208,2]]},"282":{"position":[[10,1]]},"343":{"position":[[722,2]]},"351":{"position":[[433,2]]},"356":{"position":[[1336,1]]},"526":{"position":[[48,1]]},"1476":{"position":[[1908,1]]},"1949":{"position":[[179,1]]},"2124":{"position":[[273,1]]},"2128":{"position":[[187,1]]},"2134":{"position":[[307,1]]},"2162":{"position":[[290,1]]},"2181":{"position":[[331,1]]},"2261":{"position":[[329,1]]},"2375":{"position":[[121,1]]},"2507":{"position":[[415,1]]},"2520":{"position":[[192,1]]}},"keywords":{}}],["3"",{"_index":8107,"title":{},"content":{"2042":{"position":[[181,7]]}},"keywords":{}}],["3.0.0",{"_index":7144,"title":{},"content":{"1761":{"position":[[38,5]]}},"keywords":{}}],["3.0.1",{"_index":7142,"title":{"1760":{"position":[[0,5]]}},"content":{},"keywords":{}}],["3.0.2",{"_index":7140,"title":{"1758":{"position":[[0,5]]}},"content":{},"keywords":{}}],["3.0.3",{"_index":7137,"title":{"1756":{"position":[[0,5]]}},"content":{},"keywords":{}}],["3.0.4",{"_index":7135,"title":{"1754":{"position":[[0,5]]}},"content":{},"keywords":{}}],["3.1.0",{"_index":7129,"title":{},"content":{"1751":{"position":[[137,5]]}},"keywords":{}}],["3/4",{"_index":2501,"title":{},"content":{"301":{"position":[[147,4]]}},"keywords":{}}],["30",{"_index":1362,"title":{"817":{"position":[[17,4]]},"943":{"position":[[16,4]]},"1150":{"position":[[16,4]]},"1201":{"position":[[16,4]]},"1213":{"position":[[16,4]]},"1261":{"position":[[16,4]]},"1264":{"position":[[16,4]]},"1444":{"position":[[16,4]]},"1446":{"position":[[16,4]]},"1451":{"position":[[16,4]]},"1621":{"position":[[16,4]]}},"content":{"173":{"position":[[553,2]]},"343":{"position":[[827,3]]},"505":{"position":[[397,3]]},"968":{"position":[[165,3]]},"1006":{"position":[[90,3]]},"1262":{"position":[[75,3]]},"1441":{"position":[[57,3]]},"1447":{"position":[[61,3]]},"1622":{"position":[[50,3]]},"1623":{"position":[[50,3]]}},"keywords":{}}],["30.0.0",{"_index":6947,"title":{},"content":{"1629":{"position":[[34,6]]}},"keywords":{}}],["30.1.0",{"_index":6945,"title":{},"content":{"1628":{"position":[[47,6]]}},"keywords":{}}],["30.1.1",{"_index":6943,"title":{"1627":{"position":[[0,6]]}},"content":{},"keywords":{}}],["30.1.2",{"_index":6941,"title":{"1625":{"position":[[0,6]]}},"content":{},"keywords":{}}],["30.2.0",{"_index":6939,"title":{},"content":{"1623":{"position":[[34,6]]}},"keywords":{}}],["30.3.0",{"_index":6937,"title":{},"content":{"1622":{"position":[[34,6]]}},"keywords":{}}],["30.3.1",{"_index":6935,"title":{"1621":{"position":[[0,6]]}},"content":{},"keywords":{}}],["30.3.2",{"_index":6932,"title":{"1619":{"position":[[0,6]]}},"content":{},"keywords":{}}],["30.3.3",{"_index":6930,"title":{"1617":{"position":[[0,6]]}},"content":{},"keywords":{}}],["300",{"_index":5807,"title":{},"content":{"1474":{"position":[[15120,6]]},"1504":{"position":[[64,6]]}},"keywords":{}}],["301",{"_index":5570,"title":{},"content":{"1474":{"position":[[7377,6]]},"1506":{"position":[[28,6]]}},"keywords":{}}],["302)"",{"_index":6624,"title":{},"content":{"1478":{"position":[[1405,12]]}},"keywords":{}}],["302revert",{"_index":6626,"title":{},"content":{"1478":{"position":[[1436,10]]}},"keywords":{}}],["305",{"_index":6320,"title":{},"content":{"1476":{"position":[[6805,6]]},"1502":{"position":[[56,6]]}},"keywords":{}}],["308",{"_index":5875,"title":{},"content":{"1474":{"position":[[17176,6]]},"1495":{"position":[[19,6]]}},"keywords":{}}],["309",{"_index":6008,"title":{},"content":{"1474":{"position":[[21775,6]]},"1495":{"position":[[89,6]]}},"keywords":{}}],["30gb",{"_index":1459,"title":{},"content":{"182":{"position":[[1290,4]]}},"keywords":{}}],["30hz",{"_index":8811,"title":{},"content":{"2287":{"position":[[142,4]]}},"keywords":{}}],["31",{"_index":2959,"title":{"535":{"position":[[17,4]]},"629":{"position":[[17,4]]},"631":{"position":[[17,4]]},"724":{"position":[[17,4]]},"729":{"position":[[17,4]]},"776":{"position":[[17,4]]},"1148":{"position":[[16,4]]},"1198":{"position":[[16,4]]},"1259":{"position":[[16,4]]},"1490":{"position":[[16,4]]},"1617":{"position":[[16,4]]},"1619":{"position":[[16,4]]}},"content":{"384":{"position":[[76,3]]},"409":{"position":[[79,3]]},"536":{"position":[[77,3]]},"555":{"position":[[373,3]]},"673":{"position":[[120,3]]},"725":{"position":[[79,3]]},"854":{"position":[[103,3]]},"1199":{"position":[[49,3]]},"1469":{"position":[[63,3]]},"1474":{"position":[[4958,3]]},"1768":{"position":[[27,3]]}},"keywords":{}}],["31.0.0",{"_index":6924,"title":{},"content":{"1613":{"position":[[43,6]]}},"keywords":{}}],["31.1.0",{"_index":6922,"title":{},"content":{"1612":{"position":[[33,6]]}},"keywords":{}}],["31.2.0",{"_index":6920,"title":{},"content":{"1611":{"position":[[59,6]]}},"keywords":{}}],["31.2.1",{"_index":6918,"title":{"1610":{"position":[[0,6]]}},"content":{},"keywords":{}}],["31.3.0",{"_index":6914,"title":{},"content":{"1606":{"position":[[53,6]]}},"keywords":{}}],["31.3.1",{"_index":6912,"title":{"1605":{"position":[[0,6]]}},"content":{},"keywords":{}}],["31.4.0",{"_index":6909,"title":{},"content":{"1602":{"position":[[65,6]]}},"keywords":{}}],["310ce81",{"_index":6891,"title":{},"content":{"1590":{"position":[[50,9]]}},"keywords":{}}],["310ce81)await",{"_index":6143,"title":{},"content":{"1476":{"position":[[2314,18]]}},"keywords":{}}],["311",{"_index":6006,"title":{},"content":{"1474":{"position":[[21705,6]]},"1493":{"position":[[42,6]]}},"keywords":{}}],["315",{"_index":5598,"title":{},"content":{"1474":{"position":[[8077,6]]},"1491":{"position":[[58,6]]}},"keywords":{}}],["3156504)ad",{"_index":5509,"title":{},"content":{"1474":{"position":[[5457,14]]}},"keywords":{}}],["3156504)comment",{"_index":7011,"title":{},"content":{"1678":{"position":[[52,16]]}},"keywords":{}}],["317",{"_index":5767,"title":{},"content":{"1474":{"position":[[12788,6]]},"1489":{"position":[[68,6]]}},"keywords":{}}],["3179f08)networkserver.spawnobject",{"_index":5791,"title":{},"content":{"1474":{"position":[[14488,36]]}},"keywords":{}}],["3179f08)no",{"_index":6824,"title":{},"content":{"1566":{"position":[[1248,11]]}},"keywords":{}}],["318",{"_index":6210,"title":{},"content":{"1476":{"position":[[3932,6]]},"1487":{"position":[[43,6]]}},"keywords":{}}],["319)"",{"_index":6615,"title":{},"content":{"1478":{"position":[[1251,12]]}},"keywords":{}}],["319e8d8)renam",{"_index":4021,"title":{},"content":{"843":{"position":[[156,17]]}},"keywords":{}}],["319revert",{"_index":6617,"title":{},"content":{"1478":{"position":[[1282,10]]}},"keywords":{}}],["31aca8",{"_index":4165,"title":{},"content":{"895":{"position":[[40,9]]}},"keywords":{}}],["31ul",{"_index":7839,"title":{},"content":{"2014":{"position":[[226,4]]}},"keywords":{}}],["32",{"_index":959,"title":{},"content":{"88":{"position":[[148,2]]},"139":{"position":[[1364,2]]},"1474":{"position":[[17060,5]]},"1477":{"position":[[1777,2]]},"1762":{"position":[[159,5]]},"1992":{"position":[[44,2]]},"2043":{"position":[[181,2]]}},"keywords":{}}],["32.0.0",{"_index":6908,"title":{},"content":{"1601":{"position":[[60,6]]}},"keywords":{}}],["32.0.1",{"_index":6906,"title":{"1600":{"position":[[0,6]]}},"content":{},"keywords":{}}],["323",{"_index":5660,"title":{},"content":{"1474":{"position":[[9704,6]]},"1486":{"position":[[28,6]]}},"keywords":{}}],["324ba60",{"_index":5083,"title":{},"content":{"1305":{"position":[[33,9]]}},"keywords":{}}],["325",{"_index":5348,"title":{},"content":{"1473":{"position":[[149,6]]}},"keywords":{}}],["32767ul",{"_index":7859,"title":{},"content":{"2014":{"position":[[722,7]]}},"keywords":{}}],["328912a",{"_index":3092,"title":{},"content":{"442":{"position":[[46,9]]}},"keywords":{}}],["33",{"_index":5871,"title":{},"content":{"1474":{"position":[[17097,5]]},"1761":{"position":[[22,5]]}},"keywords":{}}],["33.0.0",{"_index":6905,"title":{},"content":{"1598":{"position":[[41,6]]}},"keywords":{}}],["33.1.0",{"_index":6903,"title":{},"content":{"1597":{"position":[[84,6]]}},"keywords":{}}],["33.1.1",{"_index":6901,"title":{"1596":{"position":[[0,6]]}},"content":{},"keywords":{}}],["332",{"_index":6066,"title":{},"content":{"1476":{"position":[[311,6]]},"1484":{"position":[[62,6]]}},"keywords":{}}],["334",{"_index":5877,"title":{},"content":{"1474":{"position":[[17213,6]]},"1483":{"position":[[21,6]]}},"keywords":{}}],["33493a0)prev",{"_index":5831,"title":{},"content":{"1474":{"position":[[16142,16]]}},"keywords":{}}],["335",{"_index":5500,"title":{},"content":{"1474":{"position":[[5202,6]]},"1481":{"position":[[39,6]]}},"keywords":{}}],["33554431ul",{"_index":7879,"title":{},"content":{"2014":{"position":[[1256,10]]}},"keywords":{}}],["336",{"_index":6049,"title":{},"content":{"1476":{"position":[[33,6]]}},"keywords":{}}],["3360b7c",{"_index":4256,"title":{},"content":{"945":{"position":[[38,9]]}},"keywords":{}}],["339",{"_index":5341,"title":{},"content":{"1472":{"position":[[57,6]]}},"keywords":{}}],["339ab4c)test",{"_index":3667,"title":{},"content":{"677":{"position":[[115,15]]}},"keywords":{}}],["34",{"_index":5873,"title":{},"content":{"1474":{"position":[[17142,5]]},"1759":{"position":[[30,5]]}},"keywords":{}}],["34.0.0",{"_index":6900,"title":{},"content":{"1594":{"position":[[56,6]]}},"keywords":{}}],["34.1.0",{"_index":6894,"title":{},"content":{"1591":{"position":[[57,6]]}},"keywords":{}}],["34.10.0",{"_index":6812,"title":{},"content":{"1565":{"position":[[187,7]]}},"keywords":{}}],["34.10.1",{"_index":6808,"title":{"1564":{"position":[[0,7]]}},"content":{},"keywords":{}}],["34.11.0",{"_index":6794,"title":{},"content":{"1561":{"position":[[60,7]]}},"keywords":{}}],["34.12.0",{"_index":6792,"title":{},"content":{"1560":{"position":[[66,7]]}},"keywords":{}}],["34.13.0",{"_index":6790,"title":{},"content":{"1559":{"position":[[47,7]]}},"keywords":{}}],["34.2.0",{"_index":6892,"title":{},"content":{"1590":{"position":[[60,6]]}},"keywords":{}}],["34.3.0",{"_index":6890,"title":{},"content":{"1589":{"position":[[65,6]]}},"keywords":{}}],["34.4.0",{"_index":6888,"title":{},"content":{"1588":{"position":[[81,6]]}},"keywords":{}}],["34.4.1",{"_index":6886,"title":{"1587":{"position":[[0,6]]}},"content":{},"keywords":{}}],["34.5.0",{"_index":6882,"title":{},"content":{"1584":{"position":[[55,6]]}},"keywords":{}}],["34.6.0",{"_index":6880,"title":{},"content":{"1583":{"position":[[55,6]]}},"keywords":{}}],["34.7.0",{"_index":6878,"title":{},"content":{"1582":{"position":[[190,6]]}},"keywords":{}}],["34.8.0",{"_index":6872,"title":{},"content":{"1580":{"position":[[249,6]]}},"keywords":{}}],["34.8.1",{"_index":6868,"title":{"1579":{"position":[[0,6]]}},"content":{},"keywords":{}}],["34.9.0",{"_index":6857,"title":{},"content":{"1576":{"position":[[53,6]]}},"keywords":{}}],["34.9.1",{"_index":6855,"title":{"1575":{"position":[[0,6]]}},"content":{},"keywords":{}}],["34.9.2",{"_index":6853,"title":{"1573":{"position":[[0,6]]}},"content":{},"keywords":{}}],["34.9.3",{"_index":6851,"title":{"1571":{"position":[[0,6]]}},"content":{},"keywords":{}}],["34.9.4",{"_index":6848,"title":{"1569":{"position":[[0,6]]}},"content":{},"keywords":{}}],["340",{"_index":5338,"title":{},"content":{"1470":{"position":[[22,6]]}},"keywords":{}}],["3418fa2)mirag",{"_index":5753,"title":{},"content":{"1474":{"position":[[12457,15]]}},"keywords":{}}],["3418fa2)not",{"_index":6768,"title":{},"content":{"1546":{"position":[[80,12]]}},"keywords":{}}],["343",{"_index":5335,"title":{},"content":{"1469":{"position":[[30,6]]}},"keywords":{}}],["34359738367ul",{"_index":7899,"title":{},"content":{"2014":{"position":[[1820,13]]}},"keywords":{}}],["346",{"_index":5268,"title":{},"content":{"1465":{"position":[[45,6]]}},"keywords":{}}],["3465258",{"_index":3536,"title":{},"content":{"615":{"position":[[43,9]]}},"keywords":{}}],["34699ae",{"_index":3913,"title":{},"content":{"787":{"position":[[59,9]]}},"keywords":{}}],["347bf6c",{"_index":4544,"title":{},"content":{"1055":{"position":[[50,9]]}},"keywords":{}}],["347cb53",{"_index":6982,"title":{},"content":{"1655":{"position":[[261,9]]}},"keywords":{}}],["347cb53)#1599",{"_index":5382,"title":{},"content":{"1474":{"position":[[1031,14]]}},"keywords":{}}],["347d176",{"_index":4999,"title":{},"content":{"1265":{"position":[[40,9]]}},"keywords":{}}],["34a76a2)allow",{"_index":6126,"title":{},"content":{"1476":{"position":[[1829,14]]},"1578":{"position":[[40,17]]}},"keywords":{}}],["35.0.0",{"_index":6788,"title":{},"content":{"1557":{"position":[[43,6]]}},"keywords":{}}],["35.0.1",{"_index":6786,"title":{"1556":{"position":[[0,6]]}},"content":{},"keywords":{}}],["35.0.2",{"_index":6784,"title":{"1554":{"position":[[0,6]]}},"content":{},"keywords":{}}],["35.0.3",{"_index":6781,"title":{"1552":{"position":[[0,6]]}},"content":{},"keywords":{}}],["35.1.0",{"_index":6779,"title":{},"content":{"1550":{"position":[[123,6]]}},"keywords":{}}],["35.2.0",{"_index":6775,"title":{},"content":{"1548":{"position":[[56,6]]}},"keywords":{}}],["35.3.0",{"_index":6767,"title":{},"content":{"1545":{"position":[[111,6]]}},"keywords":{}}],["35.3.1",{"_index":6763,"title":{"1544":{"position":[[0,6]]}},"content":{},"keywords":{}}],["35.3.2",{"_index":6761,"title":{"1542":{"position":[[0,6]]}},"content":{},"keywords":{}}],["35.3.3",{"_index":6758,"title":{"1540":{"position":[[0,6]]}},"content":{},"keywords":{}}],["35.3.4",{"_index":6755,"title":{"1538":{"position":[[0,6]]}},"content":{},"keywords":{}}],["35184372088831ul",{"_index":7919,"title":{},"content":{"2014":{"position":[[2414,16]]}},"keywords":{}}],["354",{"_index":5264,"title":{},"content":{"1464":{"position":[[30,6]]}},"keywords":{}}],["35634d5)make",{"_index":4750,"title":{},"content":{"1147":{"position":[[44,13]]}},"keywords":{}}],["357",{"_index":5260,"title":{},"content":{"1463":{"position":[[39,6]]}},"keywords":{}}],["357da87",{"_index":4974,"title":{},"content":{"1252":{"position":[[54,9]]}},"keywords":{}}],["358",{"_index":5253,"title":{},"content":{"1459":{"position":[[29,6]]}},"keywords":{}}],["359",{"_index":5256,"title":{},"content":{"1460":{"position":[[30,6]]}},"keywords":{}}],["35b9919",{"_index":6599,"title":{},"content":{"1478":{"position":[[638,10]]}},"keywords":{}}],["35cf3ec",{"_index":4163,"title":{},"content":{"893":{"position":[[71,9]]}},"keywords":{}}],["35d217e)add",{"_index":3107,"title":{},"content":{"444":{"position":[[292,12]]}},"keywords":{}}],["35faaf3)exampl",{"_index":5186,"title":{},"content":{"1350":{"position":[[244,17]]},"1355":{"position":[[244,17]]},"1360":{"position":[[244,17]]},"1365":{"position":[[244,17]]},"1370":{"position":[[244,17]]},"1375":{"position":[[198,17]]},"1379":{"position":[[198,17]]}},"keywords":{}}],["36.0.0",{"_index":6753,"title":{},"content":{"1535":{"position":[[313,6]]}},"keywords":{}}],["36028797018963967ul",{"_index":7939,"title":{},"content":{"2014":{"position":[[3038,19]]}},"keywords":{}}],["362044a",{"_index":3058,"title":{},"content":{"429":{"position":[[38,9]]}},"keywords":{}}],["364",{"_index":5225,"title":{},"content":{"1447":{"position":[[28,6]]}},"keywords":{}}],["3659acb)network",{"_index":6261,"title":{},"content":{"1476":{"position":[[5239,16]]}},"keywords":{}}],["366",{"_index":5229,"title":{},"content":{"1449":{"position":[[31,6]]}},"keywords":{}}],["3665b80",{"_index":3633,"title":{},"content":{"663":{"position":[[140,9]]}},"keywords":{}}],["369",{"_index":5182,"title":{},"content":{"1350":{"position":[[144,6]]},"1355":{"position":[[144,6]]},"1360":{"position":[[144,6]]},"1365":{"position":[[144,6]]},"1370":{"position":[[144,6]]},"1375":{"position":[[98,6]]},"1379":{"position":[[98,6]]},"1383":{"position":[[98,6]]},"1387":{"position":[[98,6]]},"1391":{"position":[[98,6]]},"1395":{"position":[[98,6]]},"1399":{"position":[[58,6]]},"1403":{"position":[[58,6]]},"1407":{"position":[[58,6]]},"1411":{"position":[[58,6]]},"1415":{"position":[[58,6]]},"1419":{"position":[[58,6]]},"1423":{"position":[[58,6]]},"1427":{"position":[[58,6]]},"1431":{"position":[[58,6]]}},"keywords":{}}],["36bb3a2)client",{"_index":5591,"title":{},"content":{"1474":{"position":[[7868,15]]},"1626":{"position":[[39,15]]}},"keywords":{}}],["36c1b37",{"_index":3176,"title":{},"content":{"481":{"position":[[61,9]]}},"keywords":{}}],["37.0.0",{"_index":6751,"title":{},"content":{"1533":{"position":[[71,6]]}},"keywords":{}}],["37.0.1",{"_index":6749,"title":{"1532":{"position":[[0,6]]}},"content":{},"keywords":{}}],["370",{"_index":5172,"title":{},"content":{"1349":{"position":[[23,6]]},"1354":{"position":[[23,6]]},"1359":{"position":[[23,6]]},"1364":{"position":[[23,6]]},"1369":{"position":[[23,6]]},"1374":{"position":[[23,6]]},"1378":{"position":[[23,6]]},"1382":{"position":[[23,6]]},"1386":{"position":[[23,6]]},"1390":{"position":[[23,6]]},"1394":{"position":[[23,6]]},"1398":{"position":[[23,6]]},"1402":{"position":[[23,6]]},"1406":{"position":[[23,6]]},"1410":{"position":[[23,6]]},"1414":{"position":[[23,6]]},"1418":{"position":[[23,6]]},"1422":{"position":[[23,6]]},"1426":{"position":[[23,6]]},"1430":{"position":[[23,6]]}},"keywords":{}}],["370c5ab",{"_index":3740,"title":{},"content":{"711":{"position":[[44,9]]}},"keywords":{}}],["371",{"_index":5219,"title":{},"content":{"1443":{"position":[[51,6]]}},"keywords":{}}],["372fd70",{"_index":4244,"title":{},"content":{"940":{"position":[[54,9]]}},"keywords":{}}],["374",{"_index":5184,"title":{},"content":{"1350":{"position":[[186,6]]},"1355":{"position":[[186,6]]},"1360":{"position":[[186,6]]},"1365":{"position":[[186,6]]},"1370":{"position":[[186,6]]},"1375":{"position":[[140,6]]},"1379":{"position":[[140,6]]},"1383":{"position":[[140,6]]},"1387":{"position":[[140,6]]},"1391":{"position":[[140,6]]},"1395":{"position":[[140,6]]},"1399":{"position":[[100,6]]},"1403":{"position":[[100,6]]},"1407":{"position":[[100,6]]},"1411":{"position":[[100,6]]},"1415":{"position":[[100,6]]},"1419":{"position":[[100,6]]},"1423":{"position":[[100,6]]},"1427":{"position":[[100,6]]},"1431":{"position":[[100,6]]},"1435":{"position":[[26,6]]}},"keywords":{}}],["377c47c)make",{"_index":5742,"title":{},"content":{"1474":{"position":[[12086,13]]}},"keywords":{}}],["378",{"_index":5187,"title":{},"content":{"1350":{"position":[[300,6]]},"1355":{"position":[[300,6]]},"1360":{"position":[[300,6]]},"1365":{"position":[[300,6]]},"1370":{"position":[[300,6]]},"1375":{"position":[[254,6]]},"1379":{"position":[[254,6]]},"1383":{"position":[[203,6]]},"1387":{"position":[[203,6]]},"1391":{"position":[[203,6]]},"1395":{"position":[[203,6]]},"1399":{"position":[[163,6]]}},"keywords":{}}],["37c4877",{"_index":3358,"title":{},"content":{"547":{"position":[[105,9]]}},"keywords":{}}],["37c8ddd",{"_index":6721,"title":{},"content":{"1512":{"position":[[54,9]]}},"keywords":{}}],["37c8ddd)draw",{"_index":5667,"title":{},"content":{"1474":{"position":[[9886,13]]}},"keywords":{}}],["37fa113",{"_index":3407,"title":{},"content":{"560":{"position":[[44,9]]}},"keywords":{}}],["38",{"_index":5360,"title":{},"content":{"1473":{"position":[[432,3]]},"1746":{"position":[[63,3]]}},"keywords":{}}],["38.0.0",{"_index":6747,"title":{},"content":{"1529":{"position":[[48,6]]}},"keywords":{}}],["381",{"_index":5200,"title":{},"content":{"1352":{"position":[[31,6]]},"1357":{"position":[[31,6]]},"1362":{"position":[[31,6]]},"1367":{"position":[[31,6]]},"1372":{"position":[[31,6]]}},"keywords":{}}],["381e5a1)mak",{"_index":5323,"title":{},"content":{"1467":{"position":[[268,15]]}},"keywords":{}}],["383",{"_index":5177,"title":{},"content":{"1350":{"position":[[30,6]]},"1355":{"position":[[30,6]]},"1360":{"position":[[30,6]]},"1365":{"position":[[30,6]]},"1370":{"position":[[30,6]]}},"keywords":{}}],["3831cbd)weaver",{"_index":5458,"title":{},"content":{"1474":{"position":[[3676,16]]}},"keywords":{}}],["384",{"_index":5202,"title":{},"content":{"1352":{"position":[[86,6]]},"1357":{"position":[[86,6]]},"1362":{"position":[[86,6]]},"1367":{"position":[[86,6]]}},"keywords":{}}],["384d02b)use",{"_index":5139,"title":{},"content":{"1327":{"position":[[281,12]]},"1330":{"position":[[281,12]]}},"keywords":{}}],["385",{"_index":5189,"title":{},"content":{"1350":{"position":[[374,6]]},"1355":{"position":[[374,6]]},"1360":{"position":[[374,6]]}},"keywords":{}}],["386",{"_index":6620,"title":{},"content":{"1478":{"position":[[1338,6]]}},"keywords":{}}],["386revert",{"_index":6622,"title":{},"content":{"1478":{"position":[[1363,10]]}},"keywords":{}}],["387",{"_index":5195,"title":{},"content":{"1351":{"position":[[37,6]]},"1356":{"position":[[37,6]]}},"keywords":{}}],["388d218",{"_index":6735,"title":{},"content":{"1520":{"position":[[41,9]]}},"keywords":{}}],["388d218)sendtoal",{"_index":5921,"title":{},"content":{"1474":{"position":[[18351,18]]}},"keywords":{}}],["389",{"_index":4892,"title":{},"content":{"1210":{"position":[[130,4],[135,4]]}},"keywords":{}}],["38llapi",{"_index":6233,"title":{},"content":{"1476":{"position":[[4432,8]]}},"keywords":{}}],["38mirror",{"_index":7117,"title":{},"content":{"1747":{"position":[[95,9]]}},"keywords":{}}],["39",{"_index":6171,"title":{},"content":{"1476":{"position":[[2987,3]]}},"keywords":{}}],["39.0.0",{"_index":6745,"title":{},"content":{"1527":{"position":[[134,6]]}},"keywords":{}}],["391",{"_index":5161,"title":{},"content":{"1341":{"position":[[109,6],[134,4]]}},"keywords":{}}],["392",{"_index":5156,"title":{},"content":{"1338":{"position":[[91,6],[116,4]]}},"keywords":{}}],["393",{"_index":5153,"title":{},"content":{"1338":{"position":[[18,6]]}},"keywords":{}}],["394",{"_index":5148,"title":{},"content":{"1335":{"position":[[53,6]]}},"keywords":{}}],["395",{"_index":5144,"title":{},"content":{"1334":{"position":[[55,6]]}},"keywords":{}}],["3951a40",{"_index":4235,"title":{},"content":{"936":{"position":[[34,9]]}},"keywords":{}}],["39557cd",{"_index":3036,"title":{},"content":{"412":{"position":[[33,9]]}},"keywords":{}}],["397",{"_index":5129,"title":{},"content":{"1326":{"position":[[39,6]]}},"keywords":{}}],["398",{"_index":5119,"title":{},"content":{"1322":{"position":[[31,6]]}},"keywords":{}}],["399",{"_index":5117,"title":{},"content":{"1320":{"position":[[80,4]]}},"keywords":{}}],["39f8fbd",{"_index":4430,"title":{},"content":{"1011":{"position":[[47,9]]}},"keywords":{}}],["3a0c7fb)fix",{"_index":5701,"title":{},"content":{"1474":{"position":[[10939,15]]}},"keywords":{}}],["3a0c7fb)host",{"_index":7085,"title":{},"content":{"1733":{"position":[[190,13]]}},"keywords":{}}],["3a276b4",{"_index":5315,"title":{},"content":{"1466":{"position":[[1179,9]]}},"keywords":{}}],["3a50ca6)ad",{"_index":5511,"title":{},"content":{"1474":{"position":[[5508,14]]}},"keywords":{}}],["3a9673f",{"_index":4384,"title":{},"content":{"997":{"position":[[46,9]]}},"keywords":{}}],["3aaab68",{"_index":2977,"title":{},"content":{"390":{"position":[[263,9]]}},"keywords":{}}],["3aae955",{"_index":3812,"title":{},"content":{"740":{"position":[[61,9]]}},"keywords":{}}],["3ace2c6)ad",{"_index":6106,"title":{},"content":{"1476":{"position":[[1240,15]]},"1567":{"position":[[327,15]]}},"keywords":{}}],["3ad2608",{"_index":4852,"title":{},"content":{"1192":{"position":[[49,9]]}},"keywords":{}}],["3adf343)asynctcp",{"_index":5537,"title":{},"content":{"1474":{"position":[[6378,17]]}},"keywords":{}}],["3adf343)fold",{"_index":6809,"title":{},"content":{"1565":{"position":[[59,16]]}},"keywords":{}}],["3b58a7b)welcom",{"_index":4055,"title":{},"content":{"847":{"position":[[400,16]]}},"keywords":{}}],["3b7a5a",{"_index":3534,"title":{},"content":{"614":{"position":[[289,9]]}},"keywords":{}}],["3b9414f)spawnprefabmessag",{"_index":6492,"title":{},"content":{"1477":{"position":[[2670,27]]}},"keywords":{}}],["3b95477",{"_index":7006,"title":{},"content":{"1673":{"position":[[17,9]]}},"keywords":{}}],["3b95477)telepathi",{"_index":5996,"title":{},"content":{"1474":{"position":[[21163,18]]}},"keywords":{}}],["3ba546e)#791",{"_index":5482,"title":{},"content":{"1474":{"position":[[4872,13]]}},"keywords":{}}],["3be3f42",{"_index":3131,"title":{},"content":{"456":{"position":[[174,9]]}},"keywords":{}}],["3c0bc28)get",{"_index":6205,"title":{},"content":{"1476":{"position":[[3769,12]]}},"keywords":{}}],["3c24f67",{"_index":4116,"title":{},"content":{"874":{"position":[[53,9]]}},"keywords":{}}],["3c48db8",{"_index":3010,"title":{},"content":{"402":{"position":[[33,9]]}},"keywords":{}}],["3c60b08)websocket",{"_index":5978,"title":{},"content":{"1474":{"position":[[20562,19]]}},"keywords":{}}],["3ccb7d9",{"_index":5248,"title":{},"content":{"1456":{"position":[[92,9]]}},"keywords":{}}],["3cee3ab)potenti",{"_index":5826,"title":{},"content":{"1474":{"position":[[15777,18]]}},"keywords":{}}],["3cef90d",{"_index":4982,"title":{},"content":{"1257":{"position":[[38,9]]}},"keywords":{}}],["3cffa66",{"_index":4173,"title":{},"content":{"899":{"position":[[78,9]]}},"keywords":{}}],["3d",{"_index":429,"title":{},"content":{"22":{"position":[[406,3]]},"59":{"position":[[116,2]]},"209":{"position":[[180,2],[219,2],[231,2]]},"211":{"position":[[1834,2]]},"247":{"position":[[273,2]]}},"keywords":{}}],["3d06e8a)add",{"_index":4978,"title":{},"content":{"1256":{"position":[[24,12]]}},"keywords":{}}],["3d0b6c5",{"_index":4986,"title":{},"content":{"1258":{"position":[[57,9]]}},"keywords":{}}],["3d162b8",{"_index":2947,"title":{},"content":{"379":{"position":[[53,9]]}},"keywords":{}}],["3d4e091",{"_index":4321,"title":{},"content":{"967":{"position":[[63,9]]}},"keywords":{}}],["3db57e5)mark",{"_index":5751,"title":{},"content":{"1474":{"position":[[12309,13]]}},"keywords":{}}],["3db57e5)networkroommanager.minplay",{"_index":6823,"title":{},"content":{"1566":{"position":[[1153,38]]}},"keywords":{}}],["3dd66c0",{"_index":4912,"title":{},"content":{"1221":{"position":[[55,9]]}},"keywords":{}}],["3e3c737",{"_index":3611,"title":{},"content":{"651":{"position":[[55,9]]}},"keywords":{}}],["3e7f688",{"_index":4932,"title":{},"content":{"1233":{"position":[[141,10]]}},"keywords":{}}],["3e9e2a3",{"_index":2937,"title":{},"content":{"372":{"position":[[23,9]]}},"keywords":{}}],["3eaaa77)impl",{"_index":6214,"title":{},"content":{"1476":{"position":[[4001,20]]}},"keywords":{}}],["3ec3d02)arraysegment<byte>",{"_index":5394,"title":{},"content":{"1474":{"position":[[1406,33]]}},"keywords":{}}],["3ecb659",{"_index":4515,"title":{},"content":{"1045":{"position":[[269,9]]}},"keywords":{}}],["3ed2134)chang",{"_index":3228,"title":{},"content":{"503":{"position":[[43,17]]}},"keywords":{}}],["3f34863)remov",{"_index":4155,"title":{},"content":{"890":{"position":[[70,17]]}},"keywords":{}}],["3f50e63)releas",{"_index":5852,"title":{},"content":{"1474":{"position":[[16644,16]]}},"keywords":{}}],["3f50e63)remov",{"_index":7148,"title":{},"content":{"1762":{"position":[[120,15]]}},"keywords":{}}],["3f8d2bc)replac",{"_index":4026,"title":{},"content":{"843":{"position":[[277,18]]}},"keywords":{}}],["3f9ceb9",{"_index":3246,"title":{},"content":{"506":{"position":[[26,9]]}},"keywords":{}}],["3fa5f89",{"_index":6852,"title":{},"content":{"1572":{"position":[[51,9]]}},"keywords":{}}],["3fa5f89)overriden",{"_index":5816,"title":{},"content":{"1474":{"position":[[15446,18]]}},"keywords":{}}],["3rd",{"_index":772,"title":{},"content":{"59":{"position":[[338,3]]},"346":{"position":[[2509,3]]}},"keywords":{}}],["3ul",{"_index":7833,"title":{},"content":{"2014":{"position":[[87,3]]}},"keywords":{}}],["4",{"_index":670,"title":{"184":{"position":[[0,2]]}},"content":{"46":{"position":[[801,2]]},"59":{"position":[[203,1]]},"117":{"position":[[2554,2]]},"133":{"position":[[115,1]]},"139":{"position":[[306,1],[663,1]]},"182":{"position":[[1226,2]]},"190":{"position":[[905,2]]},"191":{"position":[[601,2]]},"196":{"position":[[599,2]]},"245":{"position":[[1911,1]]},"251":{"position":[[4130,2]]},"346":{"position":[[2552,2]]},"1992":{"position":[[99,1]]},"2124":{"position":[[361,1]]},"2134":{"position":[[396,1]]},"2162":{"position":[[502,1]]},"2181":{"position":[[439,1]]},"2261":{"position":[[537,1]]},"2361":{"position":[[202,1]]},"2507":{"position":[[505,1]]},"2520":{"position":[[137,1]]}},"keywords":{}}],["4.0.0",{"_index":7128,"title":{},"content":{"1751":{"position":[[118,5]]}},"keywords":{}}],["40",{"_index":2795,"title":{},"content":{"343":{"position":[[738,2]]}},"keywords":{}}],["40.0.0",{"_index":6743,"title":{},"content":{"1525":{"position":[[59,6]]}},"keywords":{}}],["40.1.0",{"_index":6741,"title":{},"content":{"1524":{"position":[[77,6]]}},"keywords":{}}],["40.1.1",{"_index":6739,"title":{"1523":{"position":[[0,6]]}},"content":{},"keywords":{}}],["40.2.0",{"_index":6737,"title":{},"content":{"1521":{"position":[[71,6]]}},"keywords":{}}],["40.3.0",{"_index":6734,"title":{},"content":{"1519":{"position":[[150,6]]}},"keywords":{}}],["400",{"_index":5115,"title":{},"content":{"1320":{"position":[[55,6]]}},"keywords":{}}],["4007423",{"_index":7115,"title":{},"content":{"1745":{"position":[[335,9]]}},"keywords":{}}],["4007423)telepathi",{"_index":6002,"title":{},"content":{"1474":{"position":[[21527,18]]}},"keywords":{}}],["401",{"_index":5112,"title":{},"content":{"1318":{"position":[[15,6]]}},"keywords":{}}],["4016259",{"_index":5113,"title":{},"content":{"1318":{"position":[[22,9]]}},"keywords":{}}],["403",{"_index":7625,"title":{},"content":{"1952":{"position":[[326,3]]}},"keywords":{}}],["404",{"_index":5108,"title":{},"content":{"1316":{"position":[[104,6],[129,4]]}},"keywords":{}}],["407b36a)simplifi",{"_index":6490,"title":{},"content":{"1477":{"position":[[2547,17]]}},"keywords":{}}],["4095ul",{"_index":7853,"title":{},"content":{"2014":{"position":[[568,6]]}},"keywords":{}}],["40a3ecc",{"_index":6638,"title":{},"content":{"1478":{"position":[[1715,10]]}},"keywords":{}}],["40c7d97)transport",{"_index":6494,"title":{},"content":{"1477":{"position":[[2771,19]]}},"keywords":{}}],["41.0.0",{"_index":6728,"title":{},"content":{"1516":{"position":[[50,6]]}},"keywords":{}}],["41.1.0",{"_index":6726,"title":{},"content":{"1515":{"position":[[28,6]]}},"keywords":{}}],["410bcd6",{"_index":4123,"title":{},"content":{"876":{"position":[[70,9]]}},"keywords":{}}],["412",{"_index":5092,"title":{},"content":{"1309":{"position":[[61,6]]}},"keywords":{}}],["414",{"_index":5088,"title":{},"content":{"1307":{"position":[[55,4]]}},"keywords":{}}],["415",{"_index":5086,"title":{},"content":{"1307":{"position":[[30,6]]}},"keywords":{}}],["417",{"_index":5077,"title":{},"content":{"1301":{"position":[[55,6]]}},"keywords":{}}],["418",{"_index":5062,"title":{},"content":{"1295":{"position":[[40,6]]}},"keywords":{}}],["419",{"_index":5071,"title":{},"content":{"1298":{"position":[[131,6],[156,4]]}},"keywords":{}}],["4194303ul",{"_index":7873,"title":{},"content":{"2014":{"position":[[1093,9]]}},"keywords":{}}],["41b6b79",{"_index":3927,"title":{},"content":{"798":{"position":[[60,9]]}},"keywords":{}}],["42.0.0",{"_index":6724,"title":{},"content":{"1513":{"position":[[48,6]]}},"keywords":{}}],["42.1.0",{"_index":6722,"title":{},"content":{"1512":{"position":[[64,6]]}},"keywords":{}}],["42.1.1",{"_index":6720,"title":{"1511":{"position":[[0,6]]}},"content":{},"keywords":{}}],["42.1.2",{"_index":6717,"title":{"1509":{"position":[[0,6]]}},"content":{},"keywords":{}}],["42.1.3",{"_index":6715,"title":{"1507":{"position":[[0,6]]}},"content":{},"keywords":{}}],["42.1.4",{"_index":6712,"title":{"1505":{"position":[[0,6]]}},"content":{},"keywords":{}}],["42.1.5",{"_index":6710,"title":{"1503":{"position":[[0,6]]}},"content":{},"keywords":{}}],["42.2.0",{"_index":6708,"title":{},"content":{"1501":{"position":[[64,6]]}},"keywords":{}}],["420",{"_index":5068,"title":{},"content":{"1298":{"position":[[46,6]]}},"keywords":{}}],["422",{"_index":5059,"title":{},"content":{"1293":{"position":[[25,6]]}},"keywords":{}}],["423",{"_index":5050,"title":{},"content":{"1286":{"position":[[59,6]]}},"keywords":{}}],["425",{"_index":5048,"title":{},"content":{"1285":{"position":[[115,6],[140,4]]}},"keywords":{}}],["426",{"_index":5044,"title":{},"content":{"1285":{"position":[[58,6]]},"1478":{"position":[[1191,4]]}},"keywords":{}}],["4267983)sendtoreadi",{"_index":5927,"title":{},"content":{"1474":{"position":[[18786,20]]},"1733":{"position":[[1064,20]]}},"keywords":{}}],["42691a6)stop",{"_index":3003,"title":{},"content":{"400":{"position":[[59,17]]}},"keywords":{}}],["426revert",{"_index":6613,"title":{},"content":{"1478":{"position":[[1214,10]]}},"keywords":{}}],["428ca63",{"_index":4834,"title":{},"content":{"1186":{"position":[[33,9]]}},"keywords":{}}],["4294967295ul",{"_index":7893,"title":{},"content":{"2014":{"position":[[1648,12]]}},"keywords":{}}],["42967f3",{"_index":4809,"title":{},"content":{"1175":{"position":[[36,9]]}},"keywords":{}}],["42a2f9b)default",{"_index":5622,"title":{},"content":{"1474":{"position":[[8657,16]]}},"keywords":{}}],["42a2f9b)stophost",{"_index":7131,"title":{},"content":{"1752":{"position":[[40,17]]}},"keywords":{}}],["42b165f)remov",{"_index":4530,"title":{},"content":{"1049":{"position":[[54,17]]}},"keywords":{}}],["43.0.0",{"_index":6706,"title":{},"content":{"1499":{"position":[[29,6]]}},"keywords":{}}],["43.0.1",{"_index":6704,"title":{"1498":{"position":[[0,6]]}},"content":{},"keywords":{}}],["43.1.0",{"_index":6696,"title":{},"content":{"1495":{"position":[[106,6]]}},"keywords":{}}],["43.1.1",{"_index":6693,"title":{"1494":{"position":[[0,6]]}},"content":{},"keywords":{}}],["43.1.2",{"_index":6691,"title":{"1492":{"position":[[0,6]]}},"content":{},"keywords":{}}],["43.1.3",{"_index":6689,"title":{"1490":{"position":[[0,6]]}},"content":{},"keywords":{}}],["43.1.4",{"_index":6687,"title":{"1488":{"position":[[0,6]]}},"content":{},"keywords":{}}],["43.2.0",{"_index":6685,"title":{},"content":{"1486":{"position":[[45,6]]}},"keywords":{}}],["43.2.1",{"_index":6683,"title":{"1485":{"position":[[0,6]]}},"content":{},"keywords":{}}],["43.3.0",{"_index":6681,"title":{},"content":{"1483":{"position":[[38,6]]}},"keywords":{}}],["43.3.1",{"_index":6679,"title":{"1482":{"position":[[0,6]]}},"content":{},"keywords":{}}],["43.3.2",{"_index":6677,"title":{"1480":{"position":[[0,6]]}},"content":{},"keywords":{}}],["43.4.2",{"_index":5340,"title":{"1471":{"position":[[0,6]]}},"content":{},"keywords":{}}],["43.5.0",{"_index":5337,"title":{},"content":{"1469":{"position":[[47,6]]}},"keywords":{}}],["43.6.0",{"_index":5333,"title":{},"content":{"1468":{"position":[[128,6]]}},"keywords":{}}],["43.7.0",{"_index":5270,"title":{},"content":{"1465":{"position":[[62,6]]}},"keywords":{}}],["43.8.0",{"_index":5266,"title":{},"content":{"1464":{"position":[[47,6]]}},"keywords":{}}],["43.9.0",{"_index":5262,"title":{},"content":{"1463":{"position":[[56,6]]}},"keywords":{}}],["43.9.1",{"_index":5259,"title":{"1462":{"position":[[0,6]]}},"content":{},"keywords":{}}],["430",{"_index":5026,"title":{},"content":{"1278":{"position":[[31,6]]}},"keywords":{}}],["431",{"_index":5037,"title":{},"content":{"1281":{"position":[[38,6]]}},"keywords":{}}],["432",{"_index":5031,"title":{},"content":{"1278":{"position":[[107,6]]}},"keywords":{}}],["432005b",{"_index":4639,"title":{},"content":{"1102":{"position":[[44,9]]}},"keywords":{}}],["4320c05",{"_index":3867,"title":{},"content":{"766":{"position":[[222,9]]}},"keywords":{}}],["432af2",{"_index":2935,"title":{},"content":{"371":{"position":[[159,9]]}},"keywords":{}}],["432remov",{"_index":5033,"title":{},"content":{"1278":{"position":[[132,10]]}},"keywords":{}}],["435",{"_index":5023,"title":{},"content":{"1275":{"position":[[101,6],[126,4]]}},"keywords":{}}],["438",{"_index":5007,"title":{},"content":{"1268":{"position":[[69,4]]}},"keywords":{}}],["439",{"_index":5018,"title":{},"content":{"1275":{"position":[[23,6]]}},"keywords":{}}],["4398046511103ul",{"_index":7913,"title":{},"content":{"2014":{"position":[[2233,15]]}},"keywords":{}}],["43dc156",{"_index":5109,"title":{},"content":{"1316":{"position":[[111,10]]}},"keywords":{}}],["44.0.0",{"_index":5255,"title":{},"content":{"1459":{"position":[[46,6]]}},"keywords":{}}],["44.1.0",{"_index":5251,"title":{},"content":{"1457":{"position":[[54,6]]}},"keywords":{}}],["44.2.0",{"_index":5249,"title":{},"content":{"1456":{"position":[[102,6]]}},"keywords":{}}],["44.3.0",{"_index":5244,"title":{},"content":{"1455":{"position":[[70,6]]}},"keywords":{}}],["44.3.1",{"_index":5239,"title":{"1454":{"position":[[0,6]]}},"content":{},"keywords":{}}],["440",{"_index":5009,"title":{},"content":{"1271":{"position":[[37,6]]}},"keywords":{}}],["443",{"_index":5005,"title":{},"content":{"1268":{"position":[[44,6]]}},"keywords":{}}],["444",{"_index":4995,"title":{},"content":{"1263":{"position":[[56,6]]}},"keywords":{}}],["445",{"_index":4905,"title":{},"content":{"1219":{"position":[[33,6]]}},"keywords":{}}],["445081a)ad",{"_index":4029,"title":{},"content":{"844":{"position":[[47,15]]}},"keywords":{}}],["44598e5",{"_index":7063,"title":{},"content":{"1719":{"position":[[11,9]]}},"keywords":{}}],["44598e5)round",{"_index":5916,"title":{},"content":{"1474":{"position":[[18232,14]]}},"keywords":{}}],["447",{"_index":4998,"title":{},"content":{"1265":{"position":[[33,6]]}},"keywords":{}}],["449",{"_index":4991,"title":{},"content":{"1262":{"position":[[42,6]]}},"keywords":{}}],["44fef7",{"_index":6684,"title":{},"content":{"1486":{"position":[[35,9]]}},"keywords":{}}],["44fef7e)dont",{"_index":5661,"title":{},"content":{"1474":{"position":[[9711,13]]}},"keywords":{}}],["45.0.0",{"_index":5233,"title":{},"content":{"1452":{"position":[[63,6]]}},"keywords":{}}],["45.0.1",{"_index":5231,"title":{"1451":{"position":[[0,6]]}},"content":{},"keywords":{}}],["4503599627370495ul",{"_index":7933,"title":{},"content":{"2014":{"position":[[2848,18]]}},"keywords":{}}],["451",{"_index":4985,"title":{},"content":{"1258":{"position":[[50,6]]}},"keywords":{}}],["453",{"_index":4988,"title":{},"content":{"1260":{"position":[[55,6]]}},"keywords":{}}],["454",{"_index":4964,"title":{},"content":{"1248":{"position":[[31,6]]}},"keywords":{}}],["4559573",{"_index":3503,"title":{},"content":{"600":{"position":[[324,9]]}},"keywords":{}}],["456",{"_index":4981,"title":{},"content":{"1257":{"position":[[31,6]]}},"keywords":{}}],["4596b19",{"_index":7092,"title":{},"content":{"1733":{"position":[[1256,9]]}},"keywords":{}}],["4596b19)set",{"_index":5928,"title":{},"content":{"1474":{"position":[[18978,12]]}},"keywords":{}}],["45b7118)don't",{"_index":5405,"title":{},"content":{"1474":{"position":[[1706,14]]}},"keywords":{}}],["46.0.0",{"_index":5227,"title":{},"content":{"1447":{"position":[[45,6]]}},"keywords":{}}],["46.0.1",{"_index":5224,"title":{"1446":{"position":[[0,6]]}},"content":{},"keywords":{}}],["46.0.2",{"_index":5221,"title":{"1444":{"position":[[0,6]]}},"content":{},"keywords":{}}],["46.1.0",{"_index":5217,"title":{},"content":{"1441":{"position":[[41,6]]}},"keywords":{}}],["46.2.0",{"_index":5214,"title":{},"content":{"1440":{"position":[[113,6]]}},"keywords":{}}],["461",{"_index":4973,"title":{},"content":{"1252":{"position":[[47,6]]}},"keywords":{}}],["4611686018427387903ul",{"_index":7953,"title":{},"content":{"2014":{"position":[[3493,21]]}},"keywords":{}}],["4623978)ad",{"_index":6108,"title":{},"content":{"1476":{"position":[[1300,15]]}},"keywords":{}}],["4623978)experiment",{"_index":6805,"title":{},"content":{"1563":{"position":[[106,21]]}},"keywords":{}}],["463",{"_index":4969,"title":{},"content":{"1250":{"position":[[63,6]]}},"keywords":{}}],["464",{"_index":4957,"title":{},"content":{"1245":{"position":[[37,6]]}},"keywords":{}}],["4644bc4)don't",{"_index":5658,"title":{},"content":{"1474":{"position":[[9620,14]]}},"keywords":{}}],["466",{"_index":4946,"title":{},"content":{"1239":{"position":[[54,6]]}},"keywords":{}}],["468",{"_index":4886,"title":{},"content":{"1210":{"position":[[45,6]]}},"keywords":{}}],["469",{"_index":4961,"title":{},"content":{"1247":{"position":[[25,6]]}},"keywords":{}}],["46e29a6",{"_index":3870,"title":{},"content":{"767":{"position":[[131,9]]}},"keywords":{}}],["46eddc0)#1241",{"_index":5362,"title":{},"content":{"1474":{"position":[[98,14]]}},"keywords":{}}],["47.0.0",{"_index":5171,"title":{},"content":{"1348":{"position":[[40,6]]},"1353":{"position":[[353,6]]},"1358":{"position":[[353,6]]},"1363":{"position":[[353,6]]},"1368":{"position":[[353,6]]},"1373":{"position":[[159,6]]},"1377":{"position":[[159,6]]},"1381":{"position":[[159,6]]},"1385":{"position":[[159,6]]},"1389":{"position":[[159,6]]},"1393":{"position":[[159,6]]},"1397":{"position":[[159,6]]},"1401":{"position":[[159,6]]},"1405":{"position":[[159,6]]},"1409":{"position":[[159,6]]},"1413":{"position":[[159,6]]},"1417":{"position":[[159,6]]},"1421":{"position":[[159,6]]},"1425":{"position":[[159,6]]},"1429":{"position":[[159,6]]},"1433":{"position":[[159,6]]},"1437":{"position":[[113,6]]}},"keywords":{}}],["47.0.1",{"_index":5168,"title":{"1347":{"position":[[0,6]]}},"content":{},"keywords":{}}],["47.0.2",{"_index":5165,"title":{"1345":{"position":[[0,6]]}},"content":{},"keywords":{}}],["47.0.3",{"_index":5163,"title":{"1343":{"position":[[0,6]]}},"content":{},"keywords":{}}],["471a881",{"_index":6938,"title":{},"content":{"1623":{"position":[[24,9]]}},"keywords":{}}],["471a881)playerspawn",{"_index":6305,"title":{},"content":{"1476":{"position":[[6474,22]]}},"keywords":{}}],["472",{"_index":4952,"title":{},"content":{"1243":{"position":[[62,6]]}},"keywords":{}}],["4738d29)networkworld",{"_index":3796,"title":{},"content":{"734":{"position":[[181,22]]}},"keywords":{}}],["475",{"_index":4940,"title":{},"content":{"1236":{"position":[[124,6],[149,4]]}},"keywords":{}}],["4755650",{"_index":6850,"title":{},"content":{"1570":{"position":[[110,9]]}},"keywords":{}}],["4755650)fallback",{"_index":5681,"title":{},"content":{"1474":{"position":[[10281,17]]}},"keywords":{}}],["476",{"_index":4943,"title":{},"content":{"1237":{"position":[[131,6],[156,4]]}},"keywords":{}}],["476156a",{"_index":3582,"title":{},"content":{"636":{"position":[[45,9]]}},"keywords":{}}],["4764294",{"_index":4187,"title":{},"content":{"909":{"position":[[61,9]]}},"keywords":{}}],["479",{"_index":4931,"title":{},"content":{"1233":{"position":[[134,6],[159,4]]}},"keywords":{}}],["479b78b)remov",{"_index":5868,"title":{},"content":{"1474":{"position":[[17021,15]]}},"keywords":{}}],["479b78b)telepathi",{"_index":7114,"title":{},"content":{"1745":{"position":[[131,18]]}},"keywords":{}}],["47ec337",{"_index":3586,"title":{},"content":{"638":{"position":[[39,9]]}},"keywords":{}}],["48.0.0",{"_index":5160,"title":{},"content":{"1341":{"position":[[55,6]]}},"keywords":{}}],["48.0.1",{"_index":5158,"title":{"1340":{"position":[[0,6]]}},"content":{},"keywords":{}}],["480",{"_index":4910,"title":{},"content":{"1221":{"position":[[43,4]]},"1236":{"position":[[38,6]]}},"keywords":{}}],["480af1a)pack",{"_index":6463,"title":{},"content":{"1477":{"position":[[1806,13]]}},"keywords":{}}],["481",{"_index":4911,"title":{},"content":{"1221":{"position":[[48,6]]}},"keywords":{}}],["4848920",{"_index":7045,"title":{},"content":{"1704":{"position":[[44,9]]}},"keywords":{}}],["4848920)remov",{"_index":6042,"title":{},"content":{"1475":{"position":[[105,15]]}},"keywords":{}}],["485f78b",{"_index":5213,"title":{},"content":{"1403":{"position":[[107,9]]},"1407":{"position":[[107,9]]},"1411":{"position":[[107,9]]},"1415":{"position":[[107,9]]},"1419":{"position":[[107,9]]},"1423":{"position":[[107,9]]},"1427":{"position":[[107,9]]},"1431":{"position":[[107,9]]},"1435":{"position":[[33,9]]}},"keywords":{}}],["485f78b)exampl",{"_index":5185,"title":{},"content":{"1350":{"position":[[193,17]]},"1355":{"position":[[193,17]]},"1360":{"position":[[193,17]]},"1365":{"position":[[193,17]]},"1370":{"position":[[193,17]]},"1375":{"position":[[147,17]]},"1379":{"position":[[147,17]]},"1383":{"position":[[147,17]]},"1387":{"position":[[147,17]]},"1391":{"position":[[147,17]]},"1395":{"position":[[147,17]]},"1399":{"position":[[107,17]]}},"keywords":{}}],["486",{"_index":4928,"title":{},"content":{"1233":{"position":[[49,6]]}},"keywords":{}}],["4867415)elimin",{"_index":6424,"title":{},"content":{"1477":{"position":[[718,18]]}},"keywords":{}}],["4879010)use",{"_index":5137,"title":{},"content":{"1327":{"position":[[213,12]]},"1330":{"position":[[213,12]]},"1333":{"position":[[213,12]]}},"keywords":{}}],["488446a)telepathi",{"_index":5453,"title":{},"content":{"1474":{"position":[[3518,18]]}},"keywords":{}}],["49.0.0",{"_index":5155,"title":{},"content":{"1338":{"position":[[35,6]]}},"keywords":{}}],["49.1.0",{"_index":5152,"title":{},"content":{"1337":{"position":[[65,6]]}},"keywords":{}}],["49.1.1",{"_index":5150,"title":{"1336":{"position":[[0,6]]}},"content":{},"keywords":{}}],["49.2.0",{"_index":5143,"title":{},"content":{"1333":{"position":[[307,6]]}},"keywords":{}}],["49.2.1",{"_index":5141,"title":{"1328":{"position":[[0,6]]},"1331":{"position":[[0,6]]}},"content":{},"keywords":{}}],["49.3.0",{"_index":5125,"title":{},"content":{"1324":{"position":[[37,6]]}},"keywords":{}}],["49.3.1",{"_index":5121,"title":{"1323":{"position":[[0,6]]}},"content":{},"keywords":{}}],["49.3.2",{"_index":5118,"title":{"1321":{"position":[[0,6]]}},"content":{},"keywords":{}}],["49.3.3",{"_index":5114,"title":{"1319":{"position":[[0,6]]}},"content":{},"keywords":{}}],["49.4.0",{"_index":5111,"title":{},"content":{"1317":{"position":[[46,6]]}},"keywords":{}}],["492",{"_index":4920,"title":{},"content":{"1227":{"position":[[39,6]]}},"keywords":{}}],["494",{"_index":4914,"title":{},"content":{"1223":{"position":[[48,6]]}},"keywords":{}}],["496",{"_index":4890,"title":{},"content":{"1210":{"position":[[100,6],[125,4]]}},"keywords":{}}],["49b5325",{"_index":4976,"title":{},"content":{"1254":{"position":[[52,9]]}},"keywords":{}}],["49c7f41",{"_index":3677,"title":{},"content":{"680":{"position":[[138,9]]}},"keywords":{}}],["49f6141",{"_index":4817,"title":{},"content":{"1179":{"position":[[46,9]]}},"keywords":{}}],["49f7904",{"_index":7015,"title":{},"content":{"1680":{"position":[[22,9]]}},"keywords":{}}],["49f7904)multiplextransport",{"_index":5769,"title":{},"content":{"1474":{"position":[[12826,27]]}},"keywords":{}}],["4a6a4df)#679",{"_index":5475,"title":{},"content":{"1474":{"position":[[4644,13]]}},"keywords":{}}],["4a8dc67",{"_index":6998,"title":{},"content":{"1667":{"position":[[32,9]]}},"keywords":{}}],["4a8dc67)now",{"_index":6295,"title":{},"content":{"1476":{"position":[[6203,12]]}},"keywords":{}}],["4ace144",{"_index":6707,"title":{},"content":{"1500":{"position":[[59,9]]}},"keywords":{}}],["4ace144)remov",{"_index":5351,"title":{},"content":{"1473":{"position":[[224,16]]}},"keywords":{}}],["4af72c3)cal",{"_index":5565,"title":{},"content":{"1474":{"position":[[7218,16]]}},"keywords":{}}],["4af72c3)chang",{"_index":6797,"title":{},"content":{"1562":{"position":[[163,17]]}},"keywords":{}}],["4b38fbe",{"_index":5124,"title":{},"content":{"1324":{"position":[[27,9]]}},"keywords":{}}],["4b8f819",{"_index":7119,"title":{},"content":{"1747":{"position":[[174,9]]}},"keywords":{}}],["4b8f819)support",{"_index":6344,"title":{},"content":{"1476":{"position":[[7529,17]]}},"keywords":{}}],["4b90aaf)sendtoobserv",{"_index":5925,"title":{},"content":{"1474":{"position":[[18541,24]]},"1733":{"position":[[868,24]]}},"keywords":{}}],["4bc10d8",{"_index":4169,"title":{},"content":{"898":{"position":[[51,9]]}},"keywords":{}}],["4bfa3c6",{"_index":5226,"title":{},"content":{"1447":{"position":[[35,9]]}},"keywords":{}}],["4c12efe)fix",{"_index":4015,"title":{},"content":{"842":{"position":[[49,15]]}},"keywords":{}}],["4c25122)cleanup",{"_index":5585,"title":{},"content":{"1474":{"position":[[7712,16]]}},"keywords":{}}],["4c25122)clear",{"_index":6818,"title":{},"content":{"1566":{"position":[[632,14]]}},"keywords":{}}],["4c38c09",{"_index":3824,"title":{},"content":{"747":{"position":[[42,9]]}},"keywords":{}}],["4c4a52b)if",{"_index":5719,"title":{},"content":{"1474":{"position":[[11365,11]]}},"keywords":{}}],["4c4a52b)networkidentity.setclientown",{"_index":7086,"title":{},"content":{"1733":{"position":[[240,40]]}},"keywords":{}}],["4c50834",{"_index":5167,"title":{},"content":{"1346":{"position":[[31,9]]}},"keywords":{}}],["4cb8afb",{"_index":4554,"title":{},"content":{"1059":{"position":[[64,9]]}},"keywords":{}}],["4cc4279)#1380",{"_index":5370,"title":{},"content":{"1474":{"position":[[459,14]]}},"keywords":{}}],["4cdb606",{"_index":3481,"title":{},"content":{"594":{"position":[[118,9]]}},"keywords":{}}],["4d0f092",{"_index":4284,"title":{},"content":{"954":{"position":[[229,9]]}},"keywords":{}}],["4d1a772",{"_index":4630,"title":{},"content":{"1097":{"position":[[32,9]]}},"keywords":{}}],["4d1d552)allow",{"_index":3482,"title":{},"content":{"595":{"position":[[50,17]]}},"keywords":{}}],["4d373c5)call",{"_index":5561,"title":{},"content":{"1474":{"position":[[7058,13]]}},"keywords":{}}],["4d5cee8",{"_index":6913,"title":{},"content":{"1606":{"position":[[43,9]]}},"keywords":{}}],["4d5cee8)ad",{"_index":6403,"title":{},"content":{"1477":{"position":[[43,15]]}},"keywords":{}}],["4d827cd)compil",{"_index":5611,"title":{},"content":{"1474":{"position":[[8380,20]]}},"keywords":{}}],["4d827cd)make",{"_index":7012,"title":{},"content":{"1678":{"position":[[81,13]]}},"keywords":{}}],["4da7a45",{"_index":4787,"title":{},"content":{"1163":{"position":[[25,9]]}},"keywords":{}}],["4dfe8df",{"_index":3153,"title":{},"content":{"471":{"position":[[49,9]]}},"keywords":{}}],["4e7983",{"_index":5127,"title":{},"content":{"1325":{"position":[[93,9]]},"1329":{"position":[[93,9]]}},"keywords":{}}],["4ed12ba)fix",{"_index":4279,"title":{},"content":{"954":{"position":[[99,15]]}},"keywords":{}}],["4ef680a)sync",{"_index":5447,"title":{},"content":{"1474":{"position":[[3338,13]]}},"keywords":{}}],["4f",{"_index":1694,"title":{},"content":{"203":{"position":[[2083,3]]},"209":{"position":[[2058,3]]},"211":{"position":[[1257,3]]}},"keywords":{}}],["4f75b92",{"_index":4979,"title":{},"content":{"1256":{"position":[[51,9]]}},"keywords":{}}],["4f81402",{"_index":3727,"title":{},"content":{"706":{"position":[[49,9]]}},"keywords":{}}],["4f8bf11)use",{"_index":4391,"title":{},"content":{"998":{"position":[[240,14]]}},"keywords":{}}],["4fa43a9",{"_index":6944,"title":{},"content":{"1628":{"position":[[37,9]]}},"keywords":{}}],["4fa43a9)increas",{"_index":6436,"title":{},"content":{"1477":{"position":[[1024,19]]}},"keywords":{}}],["4faec29",{"_index":6550,"title":{},"content":{"1477":{"position":[[4012,10]]},"1696":{"position":[[106,10]]}},"keywords":{}}],["4ffd5a2)don't",{"_index":6422,"title":{},"content":{"1477":{"position":[[679,14]]}},"keywords":{}}],["4ffff19)improv",{"_index":5723,"title":{},"content":{"1474":{"position":[[11437,17]]}},"keywords":{}}],["4ffff19)network",{"_index":6801,"title":{},"content":{"1562":{"position":[[444,16]]}},"keywords":{}}],["4u",{"_index":2833,"title":{},"content":{"346":{"position":[[1250,3]]}},"keywords":{}}],["5",{"_index":1123,"title":{},"content":{"117":{"position":[[2684,2]]},"136":{"position":[[194,1]]},"182":{"position":[[1616,2],[3526,1]]},"190":{"position":[[1243,2]]},"196":{"position":[[861,2]]},"209":{"position":[[2374,1]]},"245":{"position":[[2355,2],[4092,2]]},"249":{"position":[[764,2]]},"251":{"position":[[423,2]]},"2016":{"position":[[87,2]]},"2019":{"position":[[218,2]]},"2162":{"position":[[747,1]]},"2261":{"position":[[613,1]]},"2507":{"position":[[598,1]]}},"keywords":{}}],["5.0.0",{"_index":7127,"title":{},"content":{"1751":{"position":[[99,5]]}},"keywords":{}}],["50",{"_index":1651,"title":{},"content":{"198":{"position":[[296,2]]},"343":{"position":[[614,3],[631,2]]},"356":{"position":[[1367,2]]},"418":{"position":[[47,2]]}},"keywords":{}}],["50.0.0",{"_index":5107,"title":{},"content":{"1316":{"position":[[63,6]]}},"keywords":{}}],["50.0.1",{"_index":5104,"title":{"1315":{"position":[[0,6]]}},"content":{},"keywords":{}}],["50.0.2",{"_index":5100,"title":{"1313":{"position":[[0,6]]}},"content":{},"keywords":{}}],["50.1.0",{"_index":5096,"title":{},"content":{"1311":{"position":[[55,6]]}},"keywords":{}}],["50.1.1",{"_index":5094,"title":{"1310":{"position":[[0,6]]}},"content":{},"keywords":{}}],["50.1.2",{"_index":5089,"title":{"1308":{"position":[[0,6]]}},"content":{},"keywords":{}}],["50.1.3",{"_index":5084,"title":{"1306":{"position":[[0,6]]}},"content":{},"keywords":{}}],["50.1.4",{"_index":5082,"title":{"1304":{"position":[[0,6]]}},"content":{},"keywords":{}}],["50.1.5",{"_index":5079,"title":{"1302":{"position":[[0,6]]}},"content":{},"keywords":{}}],["50.2.0",{"_index":5073,"title":{},"content":{"1299":{"position":[[43,6]]}},"keywords":{}}],["500",{"_index":1365,"title":{},"content":{"173":{"position":[[615,3]]},"1211":{"position":[[46,6]]}},"keywords":{}}],["5005daf",{"_index":3442,"title":{},"content":{"579":{"position":[[55,9]]}},"keywords":{}}],["500m",{"_index":6449,"title":{},"content":{"1477":{"position":[[1448,5]]},"1568":{"position":[[177,5]]}},"keywords":{}}],["500ms.\\n(thi",{"_index":9236,"title":{},"content":{"2515":{"position":[[216,13]]}},"keywords":{}}],["501",{"_index":4900,"title":{},"content":{"1216":{"position":[[23,6]]}},"keywords":{}}],["5032ceb)clean",{"_index":5583,"title":{},"content":{"1474":{"position":[[7649,17]]}},"keywords":{}}],["5032ceb)fallback",{"_index":6799,"title":{},"content":{"1562":{"position":[[280,17]]}},"keywords":{}}],["5041a06",{"_index":4318,"title":{},"content":{"966":{"position":[[44,9]]}},"keywords":{}}],["505",{"_index":4799,"title":{},"content":{"1169":{"position":[[60,6]]}},"keywords":{}}],["507",{"_index":4897,"title":{},"content":{"1215":{"position":[[38,6]]}},"keywords":{}}],["5073a5f",{"_index":3423,"title":{},"content":{"568":{"position":[[41,9]]}},"keywords":{}}],["5088d33)make",{"_index":3387,"title":{},"content":{"555":{"position":[[246,15]]}},"keywords":{}}],["50ab932",{"_index":3720,"title":{},"content":{"702":{"position":[[53,9]]}},"keywords":{}}],["50b4093",{"_index":3211,"title":{},"content":{"496":{"position":[[62,9]]}},"keywords":{}}],["50e7fa6",{"_index":6776,"title":{},"content":{"1549":{"position":[[48,9]]}},"keywords":{}}],["50e7fa6)add",{"_index":5491,"title":{},"content":{"1474":{"position":[[5019,12]]}},"keywords":{}}],["51.0.0",{"_index":5070,"title":{},"content":{"1298":{"position":[[63,6]]}},"keywords":{}}],["51.1.0",{"_index":5067,"title":{},"content":{"1297":{"position":[[49,6]]}},"keywords":{}}],["51.1.1",{"_index":5064,"title":{"1296":{"position":[[0,6]]}},"content":{},"keywords":{}}],["51.1.2",{"_index":5061,"title":{"1294":{"position":[[0,6]]}},"content":{},"keywords":{}}],["51.1.3",{"_index":5057,"title":{"1292":{"position":[[0,6]]}},"content":{},"keywords":{}}],["51.1.4",{"_index":5055,"title":{"1290":{"position":[[0,6]]}},"content":{},"keywords":{}}],["51.1.5",{"_index":5053,"title":{"1288":{"position":[[0,6]]}},"content":{},"keywords":{}}],["510",{"_index":4876,"title":{},"content":{"1205":{"position":[[26,6]]}},"keywords":{}}],["511",{"_index":4883,"title":{},"content":{"1208":{"position":[[36,6]]}},"keywords":{}}],["5117f49",{"_index":3684,"title":{},"content":{"683":{"position":[[153,9]]}},"keywords":{}}],["511ul",{"_index":7847,"title":{},"content":{"2014":{"position":[[416,5]]}},"keywords":{}}],["5128b12",{"_index":6955,"title":{},"content":{"1636":{"position":[[37,10]]}},"keywords":{}}],["512d916",{"_index":3957,"title":{},"content":{"813":{"position":[[89,9]]}},"keywords":{}}],["513",{"_index":4872,"title":{},"content":{"1204":{"position":[[32,6]]}},"keywords":{}}],["513a0f9)support",{"_index":5246,"title":{},"content":{"1456":{"position":[[46,16]]}},"keywords":{}}],["514",{"_index":4869,"title":{},"content":{"1203":{"position":[[42,6]]}},"keywords":{}}],["51411fb",{"_index":3723,"title":{},"content":{"703":{"position":[[122,9]]}},"keywords":{}}],["515f5a1",{"_index":7002,"title":{},"content":{"1670":{"position":[[54,9]]}},"keywords":{}}],["515f5a1)cal",{"_index":5567,"title":{},"content":{"1474":{"position":[[7281,16]]}},"keywords":{}}],["516",{"_index":4820,"title":{},"content":{"1180":{"position":[[37,6]]}},"keywords":{}}],["51795ce",{"_index":3864,"title":{},"content":{"765":{"position":[[54,9]]}},"keywords":{}}],["518",{"_index":4805,"title":{},"content":{"1173":{"position":[[51,6]]}},"keywords":{}}],["518840c",{"_index":5216,"title":{},"content":{"1441":{"position":[[31,9]]}},"keywords":{}}],["519",{"_index":4856,"title":{},"content":{"1195":{"position":[[35,6]]}},"keywords":{}}],["51b925f",{"_index":4880,"title":{},"content":{"1207":{"position":[[41,9]]}},"keywords":{}}],["52.0.0",{"_index":5046,"title":{},"content":{"1285":{"position":[[75,6]]}},"keywords":{}}],["52.0.1",{"_index":5043,"title":{"1284":{"position":[[0,6]]}},"content":{},"keywords":{}}],["52.1.0",{"_index":5039,"title":{},"content":{"1281":{"position":[[55,6]]},"1282":{"position":[[180,6]]}},"keywords":{}}],["52.1.1",{"_index":5035,"title":{"1280":{"position":[[0,6]]}},"content":{},"keywords":{}}],["52253b6",{"_index":3849,"title":{},"content":{"761":{"position":[[58,9]]}},"keywords":{}}],["524287ul",{"_index":7867,"title":{},"content":{"2014":{"position":[[932,8]]}},"keywords":{}}],["524abfc)pack",{"_index":5423,"title":{},"content":{"1474":{"position":[[2363,13]]}},"keywords":{}}],["525",{"_index":4840,"title":{},"content":{"1189":{"position":[[31,6]]}},"keywords":{}}],["526",{"_index":4851,"title":{},"content":{"1192":{"position":[[42,6]]}},"keywords":{}}],["5262592)networkmanag",{"_index":5422,"title":{},"content":{"1474":{"position":[[2214,23]]}},"keywords":{}}],["528",{"_index":4833,"title":{},"content":{"1186":{"position":[[26,6]]}},"keywords":{}}],["528698b",{"_index":3937,"title":{},"content":{"804":{"position":[[59,9]]}},"keywords":{}}],["528f66b",{"_index":3886,"title":{},"content":{"774":{"position":[[119,9]]}},"keywords":{}}],["53.0.0",{"_index":5029,"title":{},"content":{"1278":{"position":[[62,6]]}},"keywords":{}}],["53.0.1",{"_index":5025,"title":{"1277":{"position":[[0,6]]}},"content":{},"keywords":{}}],["531",{"_index":4826,"title":{},"content":{"1183":{"position":[[43,6]]}},"keywords":{}}],["531e202",{"_index":5918,"title":{},"content":{"1474":{"position":[[18288,10]]}},"keywords":{}}],["531e908",{"_index":5074,"title":{},"content":{"1300":{"position":[[37,9]]}},"keywords":{}}],["534",{"_index":4802,"title":{},"content":{"1171":{"position":[[35,6]]}},"keywords":{}}],["535",{"_index":4816,"title":{},"content":{"1179":{"position":[[39,6]]}},"keywords":{}}],["535b4d4)telepathi",{"_index":5947,"title":{},"content":{"1474":{"position":[[19560,18]]}},"keywords":{}}],["536",{"_index":4812,"title":{},"content":{"1177":{"position":[[39,6]]}},"keywords":{}}],["536870911ul",{"_index":7887,"title":{},"content":{"2014":{"position":[[1478,11]]}},"keywords":{}}],["537",{"_index":4766,"title":{},"content":{"1153":{"position":[[59,4]]},"1175":{"position":[[29,6]]}},"keywords":{}}],["53ac404",{"_index":4602,"title":{},"content":{"1082":{"position":[[53,9]]}},"keywords":{}}],["53be9b6)websocket",{"_index":5970,"title":{},"content":{"1474":{"position":[[20400,19]]}},"keywords":{}}],["53ceb2a)syncstack",{"_index":3329,"title":{},"content":{"538":{"position":[[409,18]]}},"keywords":{}}],["53cf60b",{"_index":3963,"title":{},"content":{"816":{"position":[[59,9]]}},"keywords":{}}],["53f3c62",{"_index":3304,"title":{},"content":{"536":{"position":[[50,9]]}},"keywords":{}}],["54.0.0",{"_index":5020,"title":{},"content":{"1275":{"position":[[40,6]]}},"keywords":{}}],["54.1.0",{"_index":5017,"title":{},"content":{"1274":{"position":[[53,6]]}},"keywords":{}}],["54.1.1",{"_index":5015,"title":{"1273":{"position":[[0,6]]}},"content":{},"keywords":{}}],["540",{"_index":4796,"title":{},"content":{"1168":{"position":[[29,6]]}},"keywords":{}}],["54071da)invok",{"_index":5727,"title":{},"content":{"1474":{"position":[[11594,15]]}},"keywords":{}}],["54071da)mak",{"_index":6822,"title":{},"content":{"1566":{"position":[[1055,15]]}},"keywords":{}}],["542",{"_index":4793,"title":{},"content":{"1166":{"position":[[32,6]]}},"keywords":{}}],["544",{"_index":4790,"title":{},"content":{"1165":{"position":[[59,6]]}},"keywords":{}}],["5449840)potenti",{"_index":5830,"title":{},"content":{"1474":{"position":[[16079,18]]}},"keywords":{}}],["545",{"_index":4786,"title":{},"content":{"1163":{"position":[[18,6]]}},"keywords":{}}],["546",{"_index":4699,"title":{},"content":{"1127":{"position":[[71,4]]},"1129":{"position":[[22,6]]}},"keywords":{}}],["546)"",{"_index":4697,"title":{},"content":{"1127":{"position":[[40,12]]}},"keywords":{}}],["546dd3c",{"_index":3160,"title":{},"content":{"474":{"position":[[57,9]]}},"keywords":{}}],["547",{"_index":4762,"title":{},"content":{"1151":{"position":[[91,4]]}},"keywords":{}}],["547bdd6",{"_index":5056,"title":{},"content":{"1291":{"position":[[42,9]]}},"keywords":{}}],["548",{"_index":4783,"title":{},"content":{"1161":{"position":[[19,6]]}},"keywords":{}}],["5480a58)websocket",{"_index":6033,"title":{},"content":{"1474":{"position":[[22428,20]]},"1566":{"position":[[1863,20]]}},"keywords":{}}],["548db52)networkroommanager.minplay",{"_index":5790,"title":{},"content":{"1474":{"position":[[14393,38]]}},"keywords":{}}],["548db52)networkserver.spawnobject",{"_index":7087,"title":{},"content":{"1733":{"position":[[461,36]]}},"keywords":{}}],["549",{"_index":4780,"title":{},"content":{"1160":{"position":[[31,6]]}},"keywords":{}}],["5493eae",{"_index":4069,"title":{},"content":{"851":{"position":[[113,9]]}},"keywords":{}}],["549755813887ul",{"_index":7907,"title":{},"content":{"2014":{"position":[[2054,14]]}},"keywords":{}}],["54c8520)networkscenemanag",{"_index":3979,"title":{},"content":{"824":{"position":[[99,29]]}},"keywords":{}}],["55",{"_index":6144,"title":{},"content":{"1476":{"position":[[2341,5]]},"1741":{"position":[[18,5]]}},"keywords":{}}],["55.0.0",{"_index":5011,"title":{},"content":{"1271":{"position":[[54,6]]}},"keywords":{}}],["55.0.1",{"_index":5008,"title":{"1270":{"position":[[0,6]]}},"content":{},"keywords":{}}],["550",{"_index":4776,"title":{},"content":{"1159":{"position":[[42,6]]}},"keywords":{}}],["5510711",{"_index":7025,"title":{},"content":{"1688":{"position":[[57,9]]}},"keywords":{}}],["5510711)syncset",{"_index":6360,"title":{},"content":{"1476":{"position":[[7940,16]]}},"keywords":{}}],["552",{"_index":4767,"title":{},"content":{"1153":{"position":[[64,4]]}},"keywords":{}}],["553",{"_index":4770,"title":{},"content":{"1155":{"position":[[28,6]]}},"keywords":{}}],["554",{"_index":4773,"title":{},"content":{"1157":{"position":[[30,6]]}},"keywords":{}}],["554d2c5)remov",{"_index":5876,"title":{},"content":{"1474":{"position":[[17183,15]]}},"keywords":{}}],["554d2c5)updat",{"_index":6694,"title":{},"content":{"1495":{"position":[[26,15]]}},"keywords":{}}],["55536fc",{"_index":4329,"title":{},"content":{"969":{"position":[[26,9]]}},"keywords":{}}],["557",{"_index":4764,"title":{},"content":{"1153":{"position":[[34,6]]}},"keywords":{}}],["559",{"_index":4745,"title":{},"content":{"1143":{"position":[[43,6]]}},"keywords":{}}],["55c9bb6)properli",{"_index":5424,"title":{},"content":{"1474":{"position":[[2403,17]]}},"keywords":{}}],["55e075c",{"_index":6897,"title":{},"content":{"1592":{"position":[[170,9]]}},"keywords":{}}],["55e075c)telepathi",{"_index":5945,"title":{},"content":{"1474":{"position":[[19415,18]]}},"keywords":{}}],["56.0.0",{"_index":5004,"title":{},"content":{"1267":{"position":[[80,6]]}},"keywords":{}}],["56.0.1",{"_index":5000,"title":{"1266":{"position":[[0,6]]}},"content":{},"keywords":{}}],["56.0.2",{"_index":4997,"title":{"1264":{"position":[[0,6]]}},"content":{},"keywords":{}}],["56.1.0",{"_index":4993,"title":{},"content":{"1262":{"position":[[59,6]]}},"keywords":{}}],["56.1.1",{"_index":4990,"title":{"1261":{"position":[[0,6]]}},"content":{},"keywords":{}}],["56.1.2",{"_index":4987,"title":{"1259":{"position":[[0,6]]}},"content":{},"keywords":{}}],["56.2.0",{"_index":4983,"title":{},"content":{"1257":{"position":[[48,6]]}},"keywords":{}}],["56.3.0",{"_index":4980,"title":{},"content":{"1256":{"position":[[61,6]]}},"keywords":{}}],["56.3.1",{"_index":4977,"title":{"1255":{"position":[[0,6]]}},"content":{},"keywords":{}}],["56.3.2",{"_index":4975,"title":{"1253":{"position":[[0,6]]}},"content":{},"keywords":{}}],["56.3.3",{"_index":4971,"title":{"1251":{"position":[[0,6]]}},"content":{},"keywords":{}}],["56.3.4",{"_index":4966,"title":{"1249":{"position":[[0,6]]}},"content":{},"keywords":{}}],["56.4.0",{"_index":4963,"title":{},"content":{"1247":{"position":[[42,6]]}},"keywords":{}}],["56.4.1",{"_index":4960,"title":{"1246":{"position":[[0,6]]}},"content":{},"keywords":{}}],["56.4.2",{"_index":4954,"title":{"1244":{"position":[[0,6]]}},"content":{},"keywords":{}}],["56.4.3",{"_index":4951,"title":{"1242":{"position":[[0,6]]}},"content":{},"keywords":{}}],["56.4.4",{"_index":4948,"title":{"1240":{"position":[[0,6]]}},"content":{},"keywords":{}}],["56.5.0",{"_index":4945,"title":{},"content":{"1238":{"position":[[32,6]]}},"keywords":{}}],["561",{"_index":4717,"title":{},"content":{"1137":{"position":[[40,6]]}},"keywords":{}}],["562",{"_index":4721,"title":{},"content":{"1139":{"position":[[17,6]]}},"keywords":{}}],["562949953421311ul",{"_index":7927,"title":{},"content":{"2014":{"position":[[2660,17]]}},"keywords":{}}],["564",{"_index":4714,"title":{},"content":{"1136":{"position":[[34,6]]}},"keywords":{}}],["5646937",{"_index":4846,"title":{},"content":{"1189":{"position":[[148,7]]}},"keywords":{}}],["5649cc6)remov",{"_index":6310,"title":{},"content":{"1476":{"position":[[6599,15]]}},"keywords":{}}],["565",{"_index":4708,"title":{},"content":{"1133":{"position":[[41,6]]}},"keywords":{}}],["567",{"_index":4703,"title":{},"content":{"1131":{"position":[[51,6]]}},"keywords":{}}],["568",{"_index":4669,"title":{},"content":{"1114":{"position":[[35,6]]}},"keywords":{}}],["569",{"_index":6495,"title":{},"content":{"1477":{"position":[[2853,4]]}},"keywords":{}}],["5692709",{"_index":4621,"title":{},"content":{"1092":{"position":[[121,9]]}},"keywords":{}}],["56bcb02)authent",{"_index":6142,"title":{},"content":{"1476":{"position":[[2255,23]]}},"keywords":{}}],["56ce2fd)nr",{"_index":4755,"title":{},"content":{"1149":{"position":[[36,12]]}},"keywords":{}}],["57",{"_index":1200,"title":{},"content":{"129":{"position":[[272,2],[315,2]]},"135":{"position":[[184,2]]},"155":{"position":[[274,2],[317,2]]},"158":{"position":[[272,2],[315,2]]}},"keywords":{}}],["57.0.0",{"_index":4942,"title":{},"content":{"1237":{"position":[[80,6]]}},"keywords":{}}],["57.197f",{"_index":1159,"title":{},"content":{"123":{"position":[[262,7]]}},"keywords":{}}],["57.2f",{"_index":1156,"title":{},"content":{"123":{"position":[[201,5]]}},"keywords":{}}],["570",{"_index":4690,"title":{},"content":{"1123":{"position":[[66,6]]}},"keywords":{}}],["5701369)allow",{"_index":5321,"title":{},"content":{"1467":{"position":[[180,17]]}},"keywords":{}}],["571",{"_index":4686,"title":{},"content":{"1121":{"position":[[55,6]]}},"keywords":{}}],["572",{"_index":4693,"title":{},"content":{"1125":{"position":[[34,6]]}},"keywords":{}}],["5739296)ad",{"_index":3322,"title":{},"content":{"538":{"position":[[140,15]]}},"keywords":{}}],["574",{"_index":4588,"title":{},"content":{"1077":{"position":[[34,6]]}},"keywords":{}}],["575",{"_index":4607,"title":{},"content":{"1086":{"position":[[20,6]]}},"keywords":{}}],["576460752303423487ul",{"_index":7947,"title":{},"content":{"2014":{"position":[[3296,20]]}},"keywords":{}}],["57eea65",{"_index":3268,"title":{},"content":{"516":{"position":[[67,9]]}},"keywords":{}}],["58.0.0",{"_index":4939,"title":{},"content":{"1236":{"position":[[55,6]]}},"keywords":{}}],["58.0.1",{"_index":4937,"title":{"1235":{"position":[[0,6]]}},"content":{},"keywords":{}}],["580",{"_index":4677,"title":{},"content":{"1117":{"position":[[45,6]]}},"keywords":{}}],["58219c8",{"_index":6885,"title":{},"content":{"1586":{"position":[[50,9]]}},"keywords":{}}],["58219c8)addplayermessag",{"_index":6405,"title":{},"content":{"1477":{"position":[[102,25]]}},"keywords":{}}],["582c20b",{"_index":3652,"title":{},"content":{"670":{"position":[[269,9]]}},"keywords":{}}],["583",{"_index":4673,"title":{},"content":{"1115":{"position":[[137,6]]}},"keywords":{}}],["586717b",{"_index":3461,"title":{},"content":{"586":{"position":[[54,9]]}},"keywords":{}}],["58a0f68)#869",{"_index":6050,"title":{},"content":{"1476":{"position":[[40,13]]}},"keywords":{}}],["58a124a",{"_index":6766,"title":{},"content":{"1545":{"position":[[101,9]]}},"keywords":{}}],["58a124a)nr",{"_index":5804,"title":{},"content":{"1474":{"position":[[15000,12]]}},"keywords":{}}],["58c89a3",{"_index":5532,"title":{},"content":{"1474":{"position":[[6219,10]]},"1580":{"position":[[41,10]]}},"keywords":{}}],["58df3fd)ad",{"_index":6093,"title":{},"content":{"1476":{"position":[[906,14]]}},"keywords":{}}],["58df3fd)support",{"_index":7104,"title":{},"content":{"1739":{"position":[[52,17]]}},"keywords":{}}],["58f14cd",{"_index":3259,"title":{},"content":{"511":{"position":[[39,9]]}},"keywords":{}}],["59.0.0",{"_index":4930,"title":{},"content":{"1233":{"position":[[66,6]]}},"keywords":{}}],["59.0.1",{"_index":4927,"title":{"1232":{"position":[[0,6]]}},"content":{},"keywords":{}}],["59.0.2",{"_index":4925,"title":{"1230":{"position":[[0,6]]}},"content":{},"keywords":{}}],["59.0.3",{"_index":4922,"title":{"1228":{"position":[[0,6]]}},"content":{},"keywords":{}}],["59.0.4",{"_index":4919,"title":{"1226":{"position":[[0,6]]}},"content":{},"keywords":{}}],["59.0.5",{"_index":4916,"title":{"1224":{"position":[[0,6]]}},"content":{},"keywords":{}}],["59.0.6",{"_index":4913,"title":{"1222":{"position":[[0,6]]}},"content":{},"keywords":{}}],["59.0.7",{"_index":4907,"title":{"1220":{"position":[[0,6]]}},"content":{},"keywords":{}}],["59.0.8",{"_index":4904,"title":{"1218":{"position":[[0,6]]}},"content":{},"keywords":{}}],["59.1.0",{"_index":4902,"title":{},"content":{"1216":{"position":[[40,6]]}},"keywords":{}}],["59.2.0",{"_index":4899,"title":{},"content":{"1215":{"position":[[55,6]]}},"keywords":{}}],["59.2.1",{"_index":4894,"title":{"1213":{"position":[[0,6]]}},"content":{},"keywords":{}}],["590",{"_index":4665,"title":{},"content":{"1112":{"position":[[27,6]]}},"keywords":{}}],["593",{"_index":4601,"title":{},"content":{"1082":{"position":[[46,6]]}},"keywords":{}}],["5930281)networkscenemanag",{"_index":3750,"title":{},"content":{"715":{"position":[[66,29]]}},"keywords":{}}],["594",{"_index":4663,"title":{},"content":{"1111":{"position":[[41,6]]}},"keywords":{}}],["595",{"_index":4655,"title":{},"content":{"1109":{"position":[[40,6]]}},"keywords":{}}],["596",{"_index":4659,"title":{},"content":{"1110":{"position":[[51,6]]}},"keywords":{}}],["5969236",{"_index":4167,"title":{},"content":{"897":{"position":[[41,9]]}},"keywords":{}}],["597",{"_index":5982,"title":{},"content":{"1474":{"position":[[20725,6]]}},"keywords":{}}],["598057e",{"_index":3440,"title":{},"content":{"577":{"position":[[50,9]]}},"keywords":{}}],["599",{"_index":4641,"title":{},"content":{"1103":{"position":[[39,6]]}},"keywords":{}}],["59ce7e0",{"_index":4178,"title":{},"content":{"903":{"position":[[51,9]]}},"keywords":{}}],["59faa81",{"_index":5551,"title":{},"content":{"1474":{"position":[[6800,10]]},"1733":{"position":[[103,10]]}},"keywords":{}}],["5a54b3a)fix",{"_index":3214,"title":{},"content":{"497":{"position":[[36,15]]}},"keywords":{}}],["5a611ba",{"_index":2999,"title":{},"content":{"398":{"position":[[88,9]]}},"keywords":{}}],["5a74fb0",{"_index":5016,"title":{},"content":{"1274":{"position":[[43,9]]}},"keywords":{}}],["5ad1f83)ad",{"_index":3323,"title":{},"content":{"538":{"position":[[188,15]]}},"keywords":{}}],["5af1435",{"_index":3138,"title":{},"content":{"460":{"position":[[50,9]]}},"keywords":{}}],["5b04836)stack",{"_index":5944,"title":{},"content":{"1474":{"position":[[19376,14]]}},"keywords":{}}],["5b19dc3)remov",{"_index":4505,"title":{},"content":{"1045":{"position":[[43,17]]}},"keywords":{}}],["5b223fa)us",{"_index":5173,"title":{},"content":{"1349":{"position":[[30,12]]},"1354":{"position":[[30,12]]},"1359":{"position":[[30,12]]},"1364":{"position":[[30,12]]},"1369":{"position":[[30,12]]},"1374":{"position":[[30,12]]},"1378":{"position":[[30,12]]},"1382":{"position":[[30,12]]},"1386":{"position":[[30,12]]},"1390":{"position":[[30,12]]},"1394":{"position":[[30,12]]},"1398":{"position":[[30,12]]},"1402":{"position":[[30,12]]},"1406":{"position":[[30,12]]},"1410":{"position":[[30,12]]},"1414":{"position":[[30,12]]},"1418":{"position":[[30,12]]},"1422":{"position":[[30,12]]},"1426":{"position":[[30,12]]},"1430":{"position":[[30,12]]}},"keywords":{}}],["5bc44a9)revert",{"_index":6633,"title":{},"content":{"1478":{"position":[[1618,15]]}},"keywords":{}}],["5bdc7a3",{"_index":3230,"title":{},"content":{"503":{"position":[[132,9]]}},"keywords":{}}],["5c00577)#640",{"_index":5467,"title":{},"content":{"1474":{"position":[[4389,13]]}},"keywords":{}}],["5c216de",{"_index":4156,"title":{},"content":{"890":{"position":[[112,9]]}},"keywords":{}}],["5c56adc)disconnect",{"_index":6184,"title":{},"content":{"1476":{"position":[[3270,19]]}},"keywords":{}}],["5c56adc)networkmatchcheck",{"_index":6875,"title":{},"content":{"1582":{"position":[[33,28]]}},"keywords":{}}],["5c79f0d",{"_index":7000,"title":{},"content":{"1668":{"position":[[50,9]]}},"keywords":{}}],["5c79f0d)networkconnect",{"_index":6272,"title":{},"content":{"1476":{"position":[[5553,26]]}},"keywords":{}}],["5c83dc6)logset",{"_index":3907,"title":{},"content":{"786":{"position":[[43,21]]}},"keywords":{}}],["5c850aa)seri",{"_index":5961,"title":{},"content":{"1474":{"position":[[20105,23]]}},"keywords":{}}],["5ca30f1",{"_index":3726,"title":{},"content":{"705":{"position":[[26,9]]}},"keywords":{}}],["5caabd9",{"_index":2955,"title":{},"content":{"382":{"position":[[54,9]]}},"keywords":{}}],["5cb0058",{"_index":5081,"title":{},"content":{"1303":{"position":[[33,9]]}},"keywords":{}}],["5ccb42e",{"_index":4114,"title":{},"content":{"873":{"position":[[20,9]]}},"keywords":{}}],["5cd704a)add",{"_index":3103,"title":{},"content":{"444":{"position":[[92,12]]}},"keywords":{}}],["5d4bc47",{"_index":6871,"title":{},"content":{"1580":{"position":[[239,9]]}},"keywords":{}}],["5d4bc47)use",{"_index":6013,"title":{},"content":{"1474":{"position":[[21935,12]]}},"keywords":{}}],["5d76afb",{"_index":6960,"title":{},"content":{"1638":{"position":[[30,9]]}},"keywords":{}}],["5d76afb)remov",{"_index":6477,"title":{},"content":{"1477":{"position":[[2154,15]]}},"keywords":{}}],["5d7e5b7",{"_index":3087,"title":{},"content":{"440":{"position":[[41,9]]}},"keywords":{}}],["5d92eba)refactor",{"_index":2974,"title":{},"content":{"390":{"position":[[126,19]]}},"keywords":{}}],["5da2c6d",{"_index":4339,"title":{},"content":{"976":{"position":[[52,9]]}},"keywords":{}}],["5da522d",{"_index":3774,"title":{},"content":{"725":{"position":[[52,9]]}},"keywords":{}}],["5dade34)networkplay",{"_index":4018,"title":{},"content":{"843":{"position":[[97,22]]}},"keywords":{}}],["5dafc4d)rpc",{"_index":6486,"title":{},"content":{"1477":{"position":[[2449,12]]}},"keywords":{}}],["5dc037d",{"_index":4481,"title":{},"content":{"1035":{"position":[[52,9]]}},"keywords":{}}],["5dc12b5",{"_index":4624,"title":{},"content":{"1094":{"position":[[32,9]]}},"keywords":{}}],["5de53e1",{"_index":5154,"title":{},"content":{"1338":{"position":[[25,9]]}},"keywords":{}}],["5df0d98",{"_index":6723,"title":{},"content":{"1513":{"position":[[38,9]]}},"keywords":{}}],["5df0d98)mirror",{"_index":6244,"title":{},"content":{"1476":{"position":[[4756,15]]}},"keywords":{}}],["5e1c4ba)ad",{"_index":4517,"title":{},"content":{"1046":{"position":[[51,15]]}},"keywords":{}}],["5e7911f",{"_index":3060,"title":{},"content":{"430":{"position":[[40,9]]}},"keywords":{}}],["5ea84d5)fix",{"_index":3630,"title":{},"content":{"663":{"position":[[69,15]]}},"keywords":{}}],["5eb58eb)test",{"_index":4341,"title":{},"content":{"978":{"position":[[35,13]]}},"keywords":{}}],["5eb5ff6)fix",{"_index":5290,"title":{},"content":{"1466":{"position":[[559,15]]}},"keywords":{}}],["5ecd646",{"_index":5994,"title":{},"content":{"1474":{"position":[[21123,10]]}},"keywords":{}}],["5ed5f84",{"_index":7078,"title":{},"content":{"1729":{"position":[[206,9]]}},"keywords":{}}],["5ed5f84)networkidentity.rebuildobserv",{"_index":5787,"title":{},"content":{"1474":{"position":[[13983,42]]}},"keywords":{}}],["5ed9b4f)remov",{"_index":5870,"title":{},"content":{"1474":{"position":[[17066,15]]}},"keywords":{}}],["5ed9b4f)syntax",{"_index":7149,"title":{},"content":{"1762":{"position":[[165,15]]}},"keywords":{}}],["5edba81)fix",{"_index":5283,"title":{},"content":{"1466":{"position":[[361,15]]}},"keywords":{}}],["5effce9",{"_index":6692,"title":{},"content":{"1493":{"position":[[49,9]]}},"keywords":{}}],["5effce9)upd",{"_index":6007,"title":{},"content":{"1474":{"position":[[21712,15]]}},"keywords":{}}],["5f1ef4a)recycl",{"_index":6465,"title":{},"content":{"1477":{"position":[[1855,16]]}},"keywords":{}}],["5f3524c",{"_index":4140,"title":{},"content":{"881":{"position":[[211,9]]}},"keywords":{}}],["5f88032",{"_index":4732,"title":{},"content":{"1141":{"position":[[285,9]]}},"keywords":{}}],["6",{"_index":1129,"title":{},"content":{"117":{"position":[[2963,2]]},"136":{"position":[[26,1]]},"182":{"position":[[1731,2]]},"190":{"position":[[1392,2]]},"2054":{"position":[[95,1]]},"2162":{"position":[[627,1]]},"2261":{"position":[[729,1]]},"2361":{"position":[[343,1]]},"2507":{"position":[[693,1]]}},"keywords":{}}],["6.0.0",{"_index":7124,"title":{},"content":{"1750":{"position":[[84,5]]}},"keywords":{}}],["60",{"_index":1364,"title":{},"content":{"173":{"position":[[590,2]]},"1474":{"position":[[10690,5]]},"1744":{"position":[[24,5]]}},"keywords":{}}],["60.0.0",{"_index":4888,"title":{},"content":{"1210":{"position":[[62,6]]}},"keywords":{}}],["60.0.1",{"_index":4885,"title":{"1209":{"position":[[0,6]]}},"content":{},"keywords":{}}],["60.1.0",{"_index":4881,"title":{},"content":{"1207":{"position":[[51,6]]}},"keywords":{}}],["60.1.1",{"_index":4878,"title":{"1206":{"position":[[0,6]]}},"content":{},"keywords":{}}],["60.2.0",{"_index":4874,"title":{},"content":{"1204":{"position":[[49,6]]}},"keywords":{}}],["60.3.0",{"_index":4871,"title":{},"content":{"1203":{"position":[[59,6]]}},"keywords":{}}],["60.4.0",{"_index":4867,"title":{},"content":{"1202":{"position":[[32,6]]}},"keywords":{}}],["60.4.1",{"_index":4865,"title":{"1201":{"position":[[0,6]]}},"content":{},"keywords":{}}],["602",{"_index":4646,"title":{},"content":{"1106":{"position":[[36,6]]},"1476":{"position":[[9209,6]]}},"keywords":{}}],["604",{"_index":4648,"title":{},"content":{"1106":{"position":[[70,6]]}},"keywords":{}}],["605443808return",{"_index":6483,"title":{},"content":{"1477":{"position":[[2321,15]]}},"keywords":{}}],["605443808use",{"_index":6957,"title":{},"content":{"1636":{"position":[[180,12]]}},"keywords":{}}],["606",{"_index":4650,"title":{},"content":{"1106":{"position":[[136,6]]}},"keywords":{}}],["60725d9",{"_index":4715,"title":{},"content":{"1136":{"position":[[41,9]]}},"keywords":{}}],["608",{"_index":5651,"title":{},"content":{"1474":{"position":[[9411,6]]}},"keywords":{}}],["60hz",{"_index":8807,"title":{},"content":{"2287":{"position":[[64,4]]}},"keywords":{}}],["61.0.0",{"_index":4862,"title":{},"content":{"1199":{"position":[[33,6]]}},"keywords":{}}],["61.0.1",{"_index":4860,"title":{"1198":{"position":[[0,6]]}},"content":{},"keywords":{}}],["61.0.2",{"_index":4858,"title":{"1196":{"position":[[0,6]]}},"content":{},"keywords":{}}],["61.1.0",{"_index":4855,"title":{},"content":{"1194":{"position":[[48,6]]}},"keywords":{}}],["61.1.1",{"_index":4853,"title":{"1193":{"position":[[0,6]]}},"content":{},"keywords":{}}],["61.1.2",{"_index":4849,"title":{"1191":{"position":[[0,6]]}},"content":{},"keywords":{}}],["61163ca",{"_index":6481,"title":{},"content":{"1477":{"position":[[2253,10]]},"1636":{"position":[[112,10]]}},"keywords":{}}],["613",{"_index":4638,"title":{},"content":{"1102":{"position":[[37,6]]}},"keywords":{}}],["614",{"_index":4629,"title":{},"content":{"1097":{"position":[[25,6]]}},"keywords":{}}],["615",{"_index":4635,"title":{},"content":{"1100":{"position":[[48,6]]}},"keywords":{}}],["616",{"_index":4632,"title":{},"content":{"1098":{"position":[[32,6]]}},"keywords":{}}],["6166244",{"_index":3617,"title":{},"content":{"657":{"position":[[35,9]]}},"keywords":{}}],["617",{"_index":4626,"title":{},"content":{"1096":{"position":[[36,6]]}},"keywords":{}}],["618",{"_index":4613,"title":{},"content":{"1090":{"position":[[40,6]]},"1474":{"position":[[15316,6]]}},"keywords":{}}],["619",{"_index":4581,"title":{},"content":{"1074":{"position":[[40,6]]}},"keywords":{}}],["6195108",{"_index":4200,"title":{},"content":{"917":{"position":[[21,9]]}},"keywords":{}}],["619b91d",{"_index":2966,"title":{},"content":{"388":{"position":[[29,9]]}},"keywords":{}}],["61b7f68",{"_index":3028,"title":{},"content":{"410":{"position":[[104,9]]}},"keywords":{}}],["61d44b2)finishloadscenehost",{"_index":5683,"title":{},"content":{"1474":{"position":[[10373,28]]}},"keywords":{}}],["61d44b2)if",{"_index":6800,"title":{},"content":{"1562":{"position":[[372,11]]}},"keywords":{}}],["61e8d6b",{"_index":3595,"title":{},"content":{"642":{"position":[[72,9]]}},"keywords":{}}],["61fdd89)revert",{"_index":5911,"title":{},"content":{"1474":{"position":[[17989,15]]}},"keywords":{}}],["61fdd89)room",{"_index":7090,"title":{},"content":{"1733":{"position":[[636,13]]}},"keywords":{}}],["62",{"_index":1361,"title":{},"content":{"173":{"position":[[542,2]]},"1477":{"position":[[4243,5]]},"1736":{"position":[[113,5],[137,3]]}},"keywords":{}}],["62.0.0",{"_index":4838,"title":{},"content":{"1188":{"position":[[38,6]]}},"keywords":{}}],["62.0.1",{"_index":4835,"title":{"1187":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.1.0",{"_index":4832,"title":{},"content":{"1185":{"position":[[52,6]]}},"keywords":{}}],["62.10.0",{"_index":4743,"title":{},"content":{"1142":{"position":[[494,7]]}},"keywords":{}}],["62.2.0",{"_index":4830,"title":{},"content":{"1184":{"position":[[48,6]]}},"keywords":{}}],["62.3.0",{"_index":4828,"title":{},"content":{"1183":{"position":[[60,6]]}},"keywords":{}}],["62.4.0",{"_index":4825,"title":{},"content":{"1182":{"position":[[29,6]]}},"keywords":{}}],["62.4.1",{"_index":4822,"title":{"1181":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.5.0",{"_index":4818,"title":{},"content":{"1179":{"position":[[56,6]]}},"keywords":{}}],["62.5.1",{"_index":4814,"title":{"1178":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.5.2",{"_index":4810,"title":{"1176":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.5.3",{"_index":4807,"title":{"1174":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.5.4",{"_index":4804,"title":{"1172":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.5.5",{"_index":4801,"title":{"1170":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.6.0",{"_index":4798,"title":{},"content":{"1168":{"position":[[46,6]]}},"keywords":{}}],["62.6.1",{"_index":4795,"title":{"1167":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.7.0",{"_index":4792,"title":{},"content":{"1165":{"position":[[76,6]]}},"keywords":{}}],["62.7.1",{"_index":4788,"title":{"1164":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.7.2",{"_index":4785,"title":{"1162":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.8.0",{"_index":4782,"title":{},"content":{"1160":{"position":[[48,6]]}},"keywords":{}}],["62.9.0",{"_index":4778,"title":{},"content":{"1159":{"position":[[59,6]]}},"keywords":{}}],["62.9.1",{"_index":4775,"title":{"1158":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.9.2",{"_index":4772,"title":{"1156":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.9.3",{"_index":4768,"title":{"1154":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.9.4",{"_index":4763,"title":{"1152":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.9.5",{"_index":4758,"title":{"1150":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.9.6",{"_index":4753,"title":{"1148":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.9.7",{"_index":4749,"title":{"1146":{"position":[[0,6]]}},"content":{},"keywords":{}}],["62.9.8",{"_index":4747,"title":{"1144":{"position":[[0,6]]}},"content":{},"keywords":{}}],["622",{"_index":4620,"title":{},"content":{"1092":{"position":[[114,6]]}},"keywords":{}}],["6221965",{"_index":3944,"title":{},"content":{"808":{"position":[[135,9]]}},"keywords":{}}],["62257d8)better",{"_index":5547,"title":{},"content":{"1474":{"position":[[6696,15]]},"1566":{"position":[[498,15]]}},"keywords":{}}],["623",{"_index":4616,"title":{},"content":{"1092":{"position":[[31,6]]},"1474":{"position":[[4382,6]]}},"keywords":{}}],["626",{"_index":4583,"title":{},"content":{"1075":{"position":[[38,6]]}},"keywords":{}}],["628",{"_index":4604,"title":{},"content":{"1084":{"position":[[48,6]]}},"keywords":{}}],["629",{"_index":4596,"title":{},"content":{"1079":{"position":[[83,4]]},"1081":{"position":[[74,4]]}},"keywords":{}}],["629036a)serverobjectmanag",{"_index":3866,"title":{},"content":{"766":{"position":[[132,29]]}},"keywords":{}}],["629fab8",{"_index":3466,"title":{},"content":{"588":{"position":[[48,9]]}},"keywords":{}}],["62d1887)add",{"_index":6052,"title":{},"content":{"1476":{"position":[[98,12]]}},"keywords":{}}],["62renam",{"_index":6561,"title":{},"content":{"1477":{"position":[[4267,10]]}},"keywords":{}}],["63.0.0",{"_index":4723,"title":{},"content":{"1139":{"position":[[34,6]]}},"keywords":{}}],["63.0.1",{"_index":4719,"title":{"1138":{"position":[[0,6]]}},"content":{},"keywords":{}}],["63.1.0",{"_index":4716,"title":{},"content":{"1136":{"position":[[51,6]]}},"keywords":{}}],["63.2.0",{"_index":4712,"title":{},"content":{"1135":{"position":[[38,6]]}},"keywords":{}}],["63.2.1",{"_index":4710,"title":{"1134":{"position":[[0,6]]}},"content":{},"keywords":{}}],["63.3.0",{"_index":4705,"title":{},"content":{"1131":{"position":[[68,6]]}},"keywords":{}}],["63.3.1",{"_index":4702,"title":{"1130":{"position":[[0,6]]}},"content":{},"keywords":{}}],["63.3.2",{"_index":4700,"title":{"1128":{"position":[[0,6]]}},"content":{},"keywords":{}}],["63.3.3",{"_index":4695,"title":{"1126":{"position":[[0,6]]}},"content":{},"keywords":{}}],["63.3.4",{"_index":4692,"title":{"1124":{"position":[[0,6]]}},"content":{},"keywords":{}}],["63.3.5",{"_index":4688,"title":{"1122":{"position":[[0,6]]}},"content":{},"keywords":{}}],["63.4.0",{"_index":4685,"title":{},"content":{"1120":{"position":[[47,6]]}},"keywords":{}}],["63.5.0",{"_index":4681,"title":{},"content":{"1118":{"position":[[77,6]]}},"keywords":{}}],["630",{"_index":4595,"title":{},"content":{"1079":{"position":[[78,4]]},"1081":{"position":[[49,6]]}},"keywords":{}}],["631",{"_index":4593,"title":{},"content":{"1079":{"position":[[53,6]]}},"keywords":{}}],["631adc",{"_index":4427,"title":{},"content":{"1008":{"position":[[44,9]]}},"keywords":{}}],["633fb19)multiplextransport",{"_index":6440,"title":{},"content":{"1477":{"position":[[1126,28]]}},"keywords":{}}],["634",{"_index":4571,"title":{},"content":{"1069":{"position":[[22,6]]},"1474":{"position":[[20258,6]]}},"keywords":{}}],["634139c",{"_index":4333,"title":{},"content":{"971":{"position":[[50,9]]}},"keywords":{}}],["635",{"_index":4577,"title":{},"content":{"1073":{"position":[[36,6]]}},"keywords":{}}],["637",{"_index":4574,"title":{},"content":{"1071":{"position":[[38,6]]}},"keywords":{}}],["639",{"_index":4553,"title":{},"content":{"1059":{"position":[[57,6]]}},"keywords":{}}],["6395251)peer",{"_index":3955,"title":{},"content":{"813":{"position":[[27,14]]}},"keywords":{}}],["63f62bf",{"_index":3075,"title":{},"content":{"436":{"position":[[103,9]]}},"keywords":{}}],["63ul",{"_index":7841,"title":{},"content":{"2014":{"position":[[273,4]]}},"keywords":{}}],["64",{"_index":6464,"title":{},"content":{"1477":{"position":[[1826,2]]},"1981":{"position":[[164,2]]},"1992":{"position":[[76,2]]},"2054":{"position":[[326,2]]},"2192":{"position":[[59,2]]}},"keywords":{}}],["64.0.0",{"_index":4676,"title":{},"content":{"1116":{"position":[[163,6]]}},"keywords":{}}],["641b2b0",{"_index":4126,"title":{},"content":{"877":{"position":[[128,9]]}},"keywords":{}}],["642",{"_index":4561,"title":{},"content":{"1065":{"position":[[41,6]]}},"keywords":{}}],["644",{"_index":6397,"title":{},"content":{"1476":{"position":[[9165,6]]}},"keywords":{}}],["645570c",{"_index":3296,"title":{},"content":{"530":{"position":[[94,9]]}},"keywords":{}}],["646",{"_index":4565,"title":{},"content":{"1066":{"position":[[39,6]]},"1476":{"position":[[769,6]]}},"keywords":{}}],["647",{"_index":4547,"title":{},"content":{"1057":{"position":[[45,6]]}},"keywords":{}}],["649",{"_index":4558,"title":{},"content":{"1064":{"position":[[41,6]]}},"keywords":{}}],["64a0468)don't",{"_index":5401,"title":{},"content":{"1474":{"position":[[1600,14]]}},"keywords":{}}],["64b580b",{"_index":4556,"title":{},"content":{"1062":{"position":[[72,9]]}},"keywords":{}}],["64b9cc7",{"_index":3248,"title":{},"content":{"507":{"position":[[103,9]]}},"keywords":{}}],["64c09bf)ad",{"_index":3350,"title":{},"content":{"545":{"position":[[138,15]]}},"keywords":{}}],["64e4bbc",{"_index":4781,"title":{},"content":{"1160":{"position":[[38,9]]}},"keywords":{}}],["64fd6ed",{"_index":5210,"title":{},"content":{"1372":{"position":[[38,9]]}},"keywords":{}}],["64fd6ed)remov",{"_index":5201,"title":{},"content":{"1352":{"position":[[38,15]]},"1357":{"position":[[38,15]]},"1362":{"position":[[38,15]]},"1367":{"position":[[38,15]]}},"keywords":{}}],["65",{"_index":6555,"title":{},"content":{"1477":{"position":[[4147,5]]},"1731":{"position":[[94,5],[118,3]]}},"keywords":{}}],["65.0.0",{"_index":4671,"title":{},"content":{"1114":{"position":[[52,6]]}},"keywords":{}}],["65.1.0",{"_index":4667,"title":{},"content":{"1113":{"position":[[38,6]]}},"keywords":{}}],["650",{"_index":6569,"title":{},"content":{"1477":{"position":[[4431,4],[4488,4]]}},"keywords":{}}],["6534fbb",{"_index":5087,"title":{},"content":{"1307":{"position":[[37,10]]}},"keywords":{}}],["654",{"_index":5472,"title":{},"content":{"1474":{"position":[[4527,6]]}},"keywords":{}}],["654c5e1",{"_index":4877,"title":{},"content":{"1205":{"position":[[33,9]]}},"keywords":{}}],["65535ul",{"_index":7861,"title":{},"content":{"2014":{"position":[[774,7]]}},"keywords":{}}],["658847b",{"_index":5608,"title":{},"content":{"1474":{"position":[[8337,10]]},"1701":{"position":[[46,10]]}},"keywords":{}}],["659",{"_index":5930,"title":{},"content":{"1474":{"position":[[19081,6]]}},"keywords":{}}],["65eaba1)#652",{"_index":5473,"title":{},"content":{"1474":{"position":[[4534,13]]}},"keywords":{}}],["65remov",{"_index":6557,"title":{},"content":{"1477":{"position":[[4171,9]]}},"keywords":{}}],["66",{"_index":2814,"title":{},"content":{"346":{"position":[[147,3]]},"1474":{"position":[[6576,5]]},"1725":{"position":[[39,5]]}},"keywords":{}}],["66.0.0",{"_index":4661,"title":{},"content":{"1110":{"position":[[68,6]]}},"keywords":{}}],["66.1.0",{"_index":4657,"title":{},"content":{"1109":{"position":[[57,6]]}},"keywords":{}}],["66.2.0",{"_index":4654,"title":{},"content":{"1108":{"position":[[58,6]]}},"keywords":{}}],["66.2.1",{"_index":4652,"title":{"1107":{"position":[[0,6]]}},"content":{},"keywords":{}}],["66.2.2",{"_index":4645,"title":{"1105":{"position":[[0,6]]}},"content":{},"keywords":{}}],["661",{"_index":4543,"title":{},"content":{"1055":{"position":[[43,6]]}},"keywords":{}}],["6618b5d)ad",{"_index":3247,"title":{},"content":{"507":{"position":[[40,15]]}},"keywords":{}}],["662",{"_index":4539,"title":{},"content":{"1054":{"position":[[45,6]]}},"keywords":{}}],["663",{"_index":4535,"title":{},"content":{"1051":{"position":[[45,6]]}},"keywords":{}}],["66b2315",{"_index":4292,"title":{},"content":{"957":{"position":[[90,9]]}},"keywords":{}}],["66e0978",{"_index":3040,"title":{},"content":{"416":{"position":[[38,9]]}},"keywords":{}}],["67",{"_index":6044,"title":{},"content":{"1475":{"position":[[156,5]]},"1722":{"position":[[42,5]]}},"keywords":{}}],["67.0.0",{"_index":4640,"title":{},"content":{"1102":{"position":[[54,6]]}},"keywords":{}}],["67.0.1",{"_index":4637,"title":{"1101":{"position":[[0,6]]}},"content":{},"keywords":{}}],["67.0.2",{"_index":4634,"title":{"1099":{"position":[[0,6]]}},"content":{},"keywords":{}}],["67.1.0",{"_index":4631,"title":{},"content":{"1097":{"position":[[42,6]]}},"keywords":{}}],["67.2.0",{"_index":4628,"title":{},"content":{"1096":{"position":[[53,6]]}},"keywords":{}}],["67.2.1",{"_index":4625,"title":{"1095":{"position":[[0,6]]}},"content":{},"keywords":{}}],["67.2.2",{"_index":4622,"title":{"1093":{"position":[[0,6]]}},"content":{},"keywords":{}}],["67.2.3",{"_index":4615,"title":{"1091":{"position":[[0,6]]}},"content":{},"keywords":{}}],["67.2.4",{"_index":4612,"title":{"1089":{"position":[[0,6]]}},"content":{},"keywords":{}}],["67.2.5",{"_index":4609,"title":{"1087":{"position":[[0,6]]}},"content":{},"keywords":{}}],["67.2.6",{"_index":4606,"title":{"1085":{"position":[[0,6]]}},"content":{},"keywords":{}}],["67.2.7",{"_index":4603,"title":{"1083":{"position":[[0,6]]}},"content":{},"keywords":{}}],["67.3.0",{"_index":4599,"title":{},"content":{"1081":{"position":[[79,6]]}},"keywords":{}}],["67.3.1",{"_index":4597,"title":{"1080":{"position":[[0,6]]}},"content":{},"keywords":{}}],["67.3.2",{"_index":4590,"title":{"1078":{"position":[[0,6]]}},"content":{},"keywords":{}}],["67.4.0",{"_index":4587,"title":{},"content":{"1076":{"position":[[79,6]]}},"keywords":{}}],["67108863ul",{"_index":7881,"title":{},"content":{"2014":{"position":[[1311,10]]}},"keywords":{}}],["672",{"_index":4531,"title":{},"content":{"1049":{"position":[[105,6]]}},"keywords":{}}],["6725625",{"_index":3877,"title":{},"content":{"771":{"position":[[76,9]]}},"keywords":{}}],["673",{"_index":4529,"title":{},"content":{"1049":{"position":[[47,6]]}},"keywords":{}}],["675",{"_index":4526,"title":{},"content":{"1048":{"position":[[47,6]]}},"keywords":{}}],["677c792",{"_index":4211,"title":{},"content":{"924":{"position":[[48,9]]}},"keywords":{}}],["678ac68",{"_index":6963,"title":{},"content":{"1640":{"position":[[82,9]]}},"keywords":{}}],["678ac68)#1593",{"_index":5376,"title":{},"content":{"1474":{"position":[[761,14]]}},"keywords":{}}],["678e386",{"_index":6544,"title":{},"content":{"1477":{"position":[[3901,10]]},"1651":{"position":[[115,10]]}},"keywords":{}}],["67a1d06",{"_index":3069,"title":{},"content":{"435":{"position":[[116,9]]}},"keywords":{}}],["67b0c9f",{"_index":4870,"title":{},"content":{"1203":{"position":[[49,9]]}},"keywords":{}}],["67baff1",{"_index":3690,"title":{},"content":{"687":{"position":[[36,9]]}},"keywords":{}}],["67d715f)telepathi",{"_index":6001,"title":{},"content":{"1474":{"position":[[21448,18]]}},"keywords":{}}],["67e41bd",{"_index":4660,"title":{},"content":{"1110":{"position":[[58,9]]}},"keywords":{}}],["68.0.0",{"_index":4579,"title":{},"content":{"1073":{"position":[[53,6]]}},"keywords":{}}],["68.0.1",{"_index":4576,"title":{"1072":{"position":[[0,6]]}},"content":{},"keywords":{}}],["68.0.2",{"_index":4573,"title":{"1070":{"position":[[0,6]]}},"content":{},"keywords":{}}],["68.0.3",{"_index":4569,"title":{"1068":{"position":[[0,6]]}},"content":{},"keywords":{}}],["681",{"_index":5558,"title":{},"content":{"1474":{"position":[[6997,6]]}},"keywords":{}}],["681875b)use",{"_index":4389,"title":{},"content":{"998":{"position":[[154,14]]}},"keywords":{}}],["682",{"_index":6335,"title":{},"content":{"1476":{"position":[[7237,6]]}},"keywords":{}}],["684",{"_index":4514,"title":{},"content":{"1045":{"position":[[262,6]]}},"keywords":{}}],["68480db",{"_index":5010,"title":{},"content":{"1271":{"position":[[44,9]]}},"keywords":{}}],["685",{"_index":6078,"title":{},"content":{"1476":{"position":[[582,6]]}},"keywords":{}}],["686",{"_index":4511,"title":{},"content":{"1045":{"position":[[202,6]]}},"keywords":{}}],["6868453)thi",{"_index":4053,"title":{},"content":{"847":{"position":[[344,13]]}},"keywords":{}}],["686a904)ad",{"_index":3233,"title":{},"content":{"504":{"position":[[105,15]]}},"keywords":{}}],["687",{"_index":4516,"title":{},"content":{"1046":{"position":[[44,6]]}},"keywords":{}}],["68719476735ul",{"_index":7901,"title":{},"content":{"2014":{"position":[[1878,13]]}},"keywords":{}}],["688",{"_index":4508,"title":{},"content":{"1045":{"position":[[145,6]]},"1477":{"position":[[3499,6]]}},"keywords":{}}],["689",{"_index":4501,"title":{},"content":{"1044":{"position":[[79,6]]}},"keywords":{}}],["68d6749",{"_index":4012,"title":{},"content":{"841":{"position":[[57,9]]}},"keywords":{}}],["69",{"_index":5540,"title":{},"content":{"1474":{"position":[[6480,5]]},"1715":{"position":[[25,5]]}},"keywords":{}}],["69.0.0",{"_index":4563,"title":{},"content":{"1065":{"position":[[58,6]]}},"keywords":{}}],["69.1.0",{"_index":4560,"title":{},"content":{"1064":{"position":[[58,6]]}},"keywords":{}}],["69.1.1",{"_index":4557,"title":{"1063":{"position":[[0,6]]}},"content":{},"keywords":{}}],["69.1.2",{"_index":4555,"title":{"1061":{"position":[[0,6]]}},"content":{},"keywords":{}}],["691",{"_index":4506,"title":{},"content":{"1045":{"position":[[90,6]]}},"keywords":{}}],["692",{"_index":4504,"title":{},"content":{"1045":{"position":[[36,6]]}},"keywords":{}}],["695",{"_index":4494,"title":{},"content":{"1043":{"position":[[44,6]]}},"keywords":{}}],["695979e)add",{"_index":6079,"title":{},"content":{"1476":{"position":[[589,12]]}},"keywords":{}}],["695eb46",{"_index":4472,"title":{},"content":{"1029":{"position":[[47,9]]}},"keywords":{}}],["696",{"_index":4490,"title":{},"content":{"1041":{"position":[[30,6]]},"1474":{"position":[[20282,4]]}},"keywords":{}}],["6964bc6",{"_index":4962,"title":{},"content":{"1247":{"position":[[32,9]]}},"keywords":{}}],["697",{"_index":4486,"title":{},"content":{"1039":{"position":[[41,6]]}},"keywords":{}}],["69784e7",{"_index":4422,"title":{},"content":{"1005":{"position":[[57,9]]}},"keywords":{}}],["698",{"_index":4483,"title":{},"content":{"1037":{"position":[[39,6]]}},"keywords":{}}],["69883c5",{"_index":5193,"title":{},"content":{"1350":{"position":[[497,9]]},"1355":{"position":[[497,9]]},"1360":{"position":[[497,9]]},"1365":{"position":[[423,9]]},"1370":{"position":[[423,9]]}},"keywords":{}}],["699a261)weav",{"_index":6021,"title":{},"content":{"1474":{"position":[[22108,15]]}},"keywords":{}}],["69b8451)improv",{"_index":6221,"title":{},"content":{"1476":{"position":[[4152,17]]},"1567":{"position":[[967,17]]}},"keywords":{}}],["69f5be7",{"_index":5223,"title":{},"content":{"1445":{"position":[[53,9]]}},"keywords":{}}],["6a1a190)networkmenu",{"_index":5190,"title":{},"content":{"1350":{"position":[[381,20]]},"1355":{"position":[[381,20]]},"1360":{"position":[[381,20]]}},"keywords":{}}],["6a8497c)remov",{"_index":4348,"title":{},"content":{"980":{"position":[[52,17]]}},"keywords":{}}],["6a97ae9",{"_index":3980,"title":{},"content":{"824":{"position":[[185,9]]}},"keywords":{}}],["6b0a005)new",{"_index":5196,"title":{},"content":{"1351":{"position":[[44,12]]},"1356":{"position":[[44,12]]}},"keywords":{}}],["6b10ba2",{"_index":3986,"title":{},"content":{"827":{"position":[[27,9]]}},"keywords":{}}],["6b4c988",{"_index":4184,"title":{},"content":{"908":{"position":[[154,9]]}},"keywords":{}}],["6b57cd7)make",{"_index":3074,"title":{},"content":{"436":{"position":[[42,15]]}},"keywords":{}}],["6b89619",{"_index":3279,"title":{},"content":{"521":{"position":[[66,9]]}},"keywords":{}}],["6bb6bed",{"_index":3140,"title":{},"content":{"462":{"position":[[49,9]]}},"keywords":{}}],["6bc5ab8",{"_index":4194,"title":{},"content":{"912":{"position":[[41,9]]}},"keywords":{}}],["6bff2e3",{"_index":3083,"title":{},"content":{"438":{"position":[[119,9]]}},"keywords":{}}],["6c40fd6",{"_index":4001,"title":{},"content":{"835":{"position":[[33,9]]}},"keywords":{}}],["6c4b34b)maintain",{"_index":5415,"title":{},"content":{"1474":{"position":[[2037,17]]}},"keywords":{}}],["6c4dc9e",{"_index":4575,"title":{},"content":{"1071":{"position":[[45,9]]}},"keywords":{}}],["6c7c5ad",{"_index":3993,"title":{},"content":{"830":{"position":[[43,9]]}},"keywords":{}}],["6cc8f62)remov",{"_index":5349,"title":{},"content":{"1473":{"position":[[156,15]]}},"keywords":{}}],["6cdd112",{"_index":4924,"title":{},"content":{"1229":{"position":[[104,9]]}},"keywords":{}}],["6d8265d",{"_index":5063,"title":{},"content":{"1295":{"position":[[47,9]]}},"keywords":{}}],["6d92d14)command",{"_index":5606,"title":{},"content":{"1474":{"position":[[8282,16]]}},"keywords":{}}],["6d92d14)misc",{"_index":6782,"title":{},"content":{"1553":{"position":[[31,13]]}},"keywords":{}}],["6d9c566",{"_index":3571,"title":{},"content":{"632":{"position":[[36,9]]}},"keywords":{}}],["6dc8406",{"_index":5164,"title":{},"content":{"1344":{"position":[[28,9]]}},"keywords":{}}],["6dd1350)respect",{"_index":5430,"title":{},"content":{"1474":{"position":[[2722,16]]}},"keywords":{}}],["6dfbf84",{"_index":3810,"title":{},"content":{"739":{"position":[[70,9]]}},"keywords":{}}],["6e21877",{"_index":3635,"title":{},"content":{"664":{"position":[[32,9]]}},"keywords":{}}],["6e92bf5",{"_index":6893,"title":{},"content":{"1591":{"position":[[47,9]]}},"keywords":{}}],["6e92bf5)us",{"_index":6383,"title":{},"content":{"1476":{"position":[[8719,12]]}},"keywords":{}}],["6f7e5d5",{"_index":3785,"title":{},"content":{"730":{"position":[[61,9]]}},"keywords":{}}],["7",{"_index":1226,"title":{},"content":{"135":{"position":[[143,1]]},"136":{"position":[[178,1]]},"137":{"position":[[305,3],[436,3]]},"182":{"position":[[406,1],[2719,2]]},"190":{"position":[[1511,2]]},"2054":{"position":[[135,1]]},"2261":{"position":[[967,1]]}},"keywords":{}}],["7.0.0",{"_index":7121,"title":{},"content":{"1748":{"position":[[168,5]]}},"keywords":{}}],["70.0.0",{"_index":4552,"title":{},"content":{"1058":{"position":[[122,6]]}},"keywords":{}}],["700",{"_index":4480,"title":{},"content":{"1035":{"position":[[45,6]]}},"keywords":{}}],["701f4f4)port",{"_index":5823,"title":{},"content":{"1474":{"position":[[15669,13]]}},"keywords":{}}],["702",{"_index":5967,"title":{},"content":{"1474":{"position":[[20343,6]]}},"keywords":{}}],["703",{"_index":4458,"title":{},"content":{"1023":{"position":[[74,6]]},"1476":{"position":[[7691,6]]}},"keywords":{}}],["703596a",{"_index":4454,"title":{},"content":{"1021":{"position":[[49,9]]}},"keywords":{}}],["70368744177663ul",{"_index":7921,"title":{},"content":{"2014":{"position":[[2475,16]]}},"keywords":{}}],["704",{"_index":6352,"title":{},"content":{"1476":{"position":[[7754,6]]}},"keywords":{}}],["706",{"_index":4476,"title":{},"content":{"1033":{"position":[[28,6]]},"1474":{"position":[[20371,4]]}},"keywords":{}}],["707",{"_index":6020,"title":{},"content":{"1474":{"position":[[22101,6]]}},"keywords":{}}],["708",{"_index":4471,"title":{},"content":{"1029":{"position":[[40,6]]}},"keywords":{}}],["70a532b)empti",{"_index":6431,"title":{},"content":{"1477":{"position":[[888,14]]}},"keywords":{}}],["70c9cfb",{"_index":5140,"title":{},"content":{"1327":{"position":[[318,9]]},"1330":{"position":[[318,9]]},"1333":{"position":[[297,9]]}},"keywords":{}}],["71",{"_index":6039,"title":{},"content":{"1475":{"position":[[46,5]]},"1706":{"position":[[46,5]]}},"keywords":{}}],["71.0.0",{"_index":4545,"title":{},"content":{"1056":{"position":[[25,6]]}},"keywords":{}}],["7119dd1)don't",{"_index":5637,"title":{},"content":{"1474":{"position":[[9039,14]]}},"keywords":{}}],["714",{"_index":4468,"title":{},"content":{"1028":{"position":[[40,6]]}},"keywords":{}}],["715642c",{"_index":4589,"title":{},"content":{"1077":{"position":[[41,9]]}},"keywords":{}}],["715aa33)networkmanagergui",{"_index":3374,"title":{},"content":{"553":{"position":[[41,27]]}},"keywords":{}}],["717f1f5",{"_index":7055,"title":{},"content":{"1713":{"position":[[85,9]]}},"keywords":{}}],["717f1f5)re",{"_index":5843,"title":{},"content":{"1474":{"position":[[16482,11]]}},"keywords":{}}],["7181cd9)use",{"_index":6502,"title":{},"content":{"1477":{"position":[[2998,12]]}},"keywords":{}}],["718ec9",{"_index":5212,"title":{},"content":{"1395":{"position":[[210,9]]},"1399":{"position":[[170,9]]}},"keywords":{}}],["718ec9e)lobbi",{"_index":5188,"title":{},"content":{"1350":{"position":[[307,14]]},"1355":{"position":[[307,14]]},"1360":{"position":[[307,14]]}},"keywords":{}}],["718ec9e)networkmenu",{"_index":5209,"title":{},"content":{"1365":{"position":[[307,20]]},"1370":{"position":[[307,20]]},"1375":{"position":[[261,20]]},"1379":{"position":[[261,20]]},"1383":{"position":[[210,20]]},"1387":{"position":[[210,20]]},"1391":{"position":[[210,20]]}},"keywords":{}}],["71c0d3b)network",{"_index":6258,"title":{},"content":{"1476":{"position":[[5128,16]]},"1749":{"position":[[40,16]]}},"keywords":{}}],["71d9428",{"_index":6757,"title":{},"content":{"1539":{"position":[[95,9]]}},"keywords":{}}],["71d9428)no",{"_index":5796,"title":{},"content":{"1474":{"position":[[14769,11]]}},"keywords":{}}],["71e78a7",{"_index":7022,"title":{},"content":{"1686":{"position":[[38,9]]}},"keywords":{}}],["71e78a7)n",{"_index":5806,"title":{},"content":{"1474":{"position":[[15047,11]]}},"keywords":{}}],["72.0.0",{"_index":4541,"title":{},"content":{"1054":{"position":[[62,6]]}},"keywords":{}}],["72.0.1",{"_index":4538,"title":{"1053":{"position":[[0,6]]}},"content":{},"keywords":{}}],["720",{"_index":4456,"title":{},"content":{"1023":{"position":[[28,6]]},"1476":{"position":[[6906,4]]}},"keywords":{}}],["72057594037927935ul",{"_index":7941,"title":{},"content":{"2014":{"position":[[3102,19]]}},"keywords":{}}],["721",{"_index":4453,"title":{},"content":{"1021":{"position":[[42,6]]}},"keywords":{}}],["72154f1)networkconnect",{"_index":6273,"title":{},"content":{"1476":{"position":[[5622,26]]},"1567":{"position":[[1213,26]]}},"keywords":{}}],["722",{"_index":4450,"title":{},"content":{"1019":{"position":[[42,6]]}},"keywords":{}}],["723",{"_index":7145,"title":{},"content":{"1762":{"position":[[0,4]]}},"keywords":{}}],["724scenemanag",{"_index":5919,"title":{},"content":{"1474":{"position":[[18306,16]]}},"keywords":{}}],["727",{"_index":4447,"title":{},"content":{"1018":{"position":[[31,6]]},"1474":{"position":[[15770,6]]}},"keywords":{}}],["728",{"_index":4433,"title":{},"content":{"1012":{"position":[[65,6]]}},"keywords":{}}],["729",{"_index":4439,"title":{},"content":{"1015":{"position":[[33,6]]},"1474":{"position":[[20393,6]]}},"keywords":{}}],["72ac3a6)log",{"_index":3978,"title":{},"content":{"824":{"position":[[48,16]]}},"keywords":{}}],["72e4e55)ad",{"_index":5514,"title":{},"content":{"1474":{"position":[[5594,15]]}},"keywords":{}}],["73.0.0",{"_index":4534,"title":{},"content":{"1050":{"position":[[121,6]]}},"keywords":{}}],["730",{"_index":5827,"title":{},"content":{"1474":{"position":[[15874,6]]}},"keywords":{}}],["731",{"_index":4443,"title":{},"content":{"1017":{"position":[[38,6]]}},"keywords":{}}],["7312bd8",{"_index":4451,"title":{},"content":{"1019":{"position":[[49,9]]}},"keywords":{}}],["731f13b",{"_index":4722,"title":{},"content":{"1139":{"position":[[24,9]]}},"keywords":{}}],["7331eb0)fix",{"_index":3449,"title":{},"content":{"582":{"position":[[113,15]]}},"keywords":{}}],["7333749)fix",{"_index":3215,"title":{},"content":{"497":{"position":[[88,15]]}},"keywords":{}}],["73bbcc2)ad",{"_index":3529,"title":{},"content":{"614":{"position":[[49,15]]}},"keywords":{}}],["74",{"_index":6041,"title":{},"content":{"1475":{"position":[[99,5]]},"1704":{"position":[[38,5]]}},"keywords":{}}],["74.0.0",{"_index":4525,"title":{},"content":{"1047":{"position":[[389,6]]}},"keywords":{}}],["7417b68)check",{"_index":5577,"title":{},"content":{"1474":{"position":[[7519,14]]}},"keywords":{}}],["7420bd1)networkident",{"_index":3665,"title":{},"content":{"677":{"position":[[41,25]]}},"keywords":{}}],["74298c5)bug",{"_index":5183,"title":{},"content":{"1350":{"position":[[151,12]]},"1355":{"position":[[151,12]]},"1360":{"position":[[151,12]]},"1365":{"position":[[151,12]]},"1370":{"position":[[151,12]]},"1375":{"position":[[105,12]]},"1379":{"position":[[105,12]]},"1383":{"position":[[105,12]]},"1387":{"position":[[105,12]]},"1391":{"position":[[105,12]]},"1395":{"position":[[105,12]]},"1399":{"position":[[65,12]]},"1403":{"position":[[65,12]]},"1407":{"position":[[65,12]]},"1411":{"position":[[65,12]]},"1415":{"position":[[65,12]]},"1419":{"position":[[65,12]]},"1423":{"position":[[65,12]]},"1427":{"position":[[65,12]]},"1431":{"position":[[65,12]]}},"keywords":{}}],["744",{"_index":4436,"title":{},"content":{"1014":{"position":[[41,6]]}},"keywords":{}}],["7447776)use",{"_index":6382,"title":{},"content":{"1476":{"position":[[8663,12]]}},"keywords":{}}],["749",{"_index":4344,"title":{},"content":{"979":{"position":[[17,6]]},"1476":{"position":[[9314,6]]}},"keywords":{}}],["74faf2a)mono.cecilx",{"_index":5420,"title":{},"content":{"1474":{"position":[[2124,20]]}},"keywords":{}}],["75.0.0",{"_index":4496,"title":{},"content":{"1043":{"position":[[61,6]]}},"keywords":{}}],["75.1.0",{"_index":4492,"title":{},"content":{"1042":{"position":[[60,6]]}},"keywords":{}}],["750",{"_index":4370,"title":{},"content":{"990":{"position":[[71,6]]}},"keywords":{}}],["754",{"_index":3904,"title":{},"content":{"785":{"position":[[76,4]]}},"keywords":{}}],["755",{"_index":4421,"title":{},"content":{"1005":{"position":[[50,6]]}},"keywords":{}}],["756",{"_index":4380,"title":{},"content":{"995":{"position":[[38,6]]}},"keywords":{}}],["7579d71",{"_index":6789,"title":{},"content":{"1558":{"position":[[43,9]]}},"keywords":{}}],["7579d71)compon",{"_index":6169,"title":{},"content":{"1476":{"position":[[2943,18]]}},"keywords":{}}],["758",{"_index":4417,"title":{},"content":{"1004":{"position":[[34,6]]}},"keywords":{}}],["75e4f15)elimin",{"_index":5673,"title":{},"content":{"1474":{"position":[[10005,18]]}},"keywords":{}}],["76.0.0",{"_index":4489,"title":{},"content":{"1040":{"position":[[51,6]]}},"keywords":{}}],["760",{"_index":4347,"title":{},"content":{"980":{"position":[[45,6]]}},"keywords":{}}],["7604e65)nest",{"_index":5302,"title":{},"content":{"1466":{"position":[[862,15]]}},"keywords":{}}],["7612bb6",{"_index":4305,"title":{},"content":{"959":{"position":[[62,9]]}},"keywords":{}}],["762e295",{"_index":3292,"title":{},"content":{"528":{"position":[[102,9]]}},"keywords":{}}],["764",{"_index":4396,"title":{},"content":{"999":{"position":[[61,6],[138,6]]}},"keywords":{}}],["765",{"_index":4392,"title":{},"content":{"998":{"position":[[309,6]]}},"keywords":{}}],["766",{"_index":4390,"title":{},"content":{"998":{"position":[[233,6]]}},"keywords":{}}],["767",{"_index":4386,"title":{},"content":{"998":{"position":[[71,6]]}},"keywords":{}}],["7679d3b",{"_index":7073,"title":{},"content":{"1725":{"position":[[127,9]]}},"keywords":{}}],["7679d3b)remov",{"_index":6552,"title":{},"content":{"1477":{"position":[[4087,16]]}},"keywords":{}}],["768",{"_index":4388,"title":{},"content":{"998":{"position":[[147,6]]}},"keywords":{}}],["769",{"_index":4383,"title":{},"content":{"997":{"position":[[39,6]]},"1474":{"position":[[20193,6]]}},"keywords":{}}],["77",{"_index":5568,"title":{},"content":{"1474":{"position":[[7334,5]]},"1696":{"position":[[44,5]]}},"keywords":{}}],["77.0.0",{"_index":4485,"title":{},"content":{"1038":{"position":[[40,6]]}},"keywords":{}}],["7703d80)old",{"_index":4958,"title":{},"content":{"1245":{"position":[[44,12]]}},"keywords":{}}],["771",{"_index":4368,"title":{},"content":{"990":{"position":[[45,6]]}},"keywords":{}}],["7716809",{"_index":3143,"title":{},"content":{"464":{"position":[[34,9]]}},"keywords":{}}],["7718955)miss",{"_index":5417,"title":{},"content":{"1474":{"position":[[2087,15]]}},"keywords":{}}],["773",{"_index":4373,"title":{},"content":{"992":{"position":[[31,6]]},"1474":{"position":[[5587,6]]}},"keywords":{}}],["773910c",{"_index":3174,"title":{},"content":{"480":{"position":[[41,9]]}},"keywords":{}}],["773c58f",{"_index":4175,"title":{},"content":{"902":{"position":[[78,9]]}},"keywords":{}}],["7741fb1",{"_index":6778,"title":{},"content":{"1550":{"position":[[113,9]]}},"keywords":{}}],["7741fb1)time",{"_index":6369,"title":{},"content":{"1476":{"position":[[8229,13]]}},"keywords":{}}],["774a07",{"_index":6879,"title":{},"content":{"1583":{"position":[[45,9]]}},"keywords":{}}],["774a07e)transport",{"_index":6372,"title":{},"content":{"1476":{"position":[[8332,18]]}},"keywords":{}}],["775698c)refactor",{"_index":3315,"title":{},"content":{"537":{"position":[[357,19]]}},"keywords":{}}],["776",{"_index":4365,"title":{},"content":{"989":{"position":[[42,6]]}},"keywords":{}}],["7777",{"_index":1472,"title":{},"content":{"182":{"position":[[1910,4],[2188,4]]},"183":{"position":[[1665,4],[1883,5]]},"184":{"position":[[623,4],[878,5]]},"187":{"position":[[907,5]]},"191":{"position":[[418,4],[467,4]]},"1474":{"position":[[8682,4]]},"1658":{"position":[[16,4]]}},"keywords":{}}],["77bee45)upd",{"_index":6497,"title":{},"content":{"1477":{"position":[[2868,15]]}},"keywords":{}}],["77c8a48)us",{"_index":3388,"title":{},"content":{"555":{"position":[[285,12]]}},"keywords":{}}],["77f7777)renam",{"_index":4023,"title":{},"content":{"843":{"position":[[190,17]]}},"keywords":{}}],["78.0.0",{"_index":4482,"title":{},"content":{"1036":{"position":[[72,6]]}},"keywords":{}}],["780",{"_index":4291,"title":{},"content":{"957":{"position":[[83,6]]}},"keywords":{}}],["780123d",{"_index":3767,"title":{},"content":{"721":{"position":[[50,9]]}},"keywords":{}}],["781",{"_index":4351,"title":{},"content":{"980":{"position":[[109,6]]}},"keywords":{}}],["7841794",{"_index":4316,"title":{},"content":{"964":{"position":[[57,9]]}},"keywords":{}}],["7864e8d)headless",{"_index":5716,"title":{},"content":{"1474":{"position":[[11291,17]]},"1618":{"position":[[15,17]]}},"keywords":{}}],["7865a84)localplay",{"_index":6235,"title":{},"content":{"1476":{"position":[[4485,20]]}},"keywords":{}}],["787e55a",{"_index":3038,"title":{},"content":{"414":{"position":[[42,9]]}},"keywords":{}}],["788",{"_index":4336,"title":{},"content":{"974":{"position":[[93,6]]}},"keywords":{}}],["789",{"_index":4315,"title":{},"content":{"964":{"position":[[50,6]]}},"keywords":{}}],["78b3b10",{"_index":5013,"title":{},"content":{"1271":{"position":[[94,9]]}},"keywords":{}}],["78e6077",{"_index":4893,"title":{},"content":{"1211":{"position":[[53,9]]}},"keywords":{}}],["79.0.0",{"_index":4478,"title":{},"content":{"1034":{"position":[[29,6]]}},"keywords":{}}],["790",{"_index":5917,"title":{},"content":{"1474":{"position":[[18281,6]]}},"keywords":{}}],["791",{"_index":5960,"title":{},"content":{"1474":{"position":[[20100,4]]}},"keywords":{}}],["792",{"_index":5485,"title":{},"content":{"1474":{"position":[[4915,6]]}},"keywords":{}}],["793",{"_index":4332,"title":{},"content":{"971":{"position":[[43,6]]}},"keywords":{}}],["794",{"_index":4328,"title":{},"content":{"969":{"position":[[19,6]]},"1477":{"position":[[1947,6]]}},"keywords":{}}],["7947e9e",{"_index":3554,"title":{},"content":{"623":{"position":[[38,9]]}},"keywords":{}}],["795",{"_index":4320,"title":{},"content":{"967":{"position":[[56,6]]}},"keywords":{}}],["796",{"_index":5459,"title":{},"content":{"1474":{"position":[[3697,5]]}},"keywords":{}}],["796a7bd",{"_index":3234,"title":{},"content":{"504":{"position":[[172,9]]}},"keywords":{}}],["798",{"_index":5672,"title":{},"content":{"1474":{"position":[[9998,6]]}},"keywords":{}}],["79ccc25",{"_index":3485,"title":{},"content":{"596":{"position":[[49,9]]}},"keywords":{}}],["79f7c81)revert",{"_index":6605,"title":{},"content":{"1478":{"position":[[780,15]]}},"keywords":{}}],["7a0b3f3",{"_index":2961,"title":{},"content":{"385":{"position":[[115,9]]}},"keywords":{}}],["7a26360",{"_index":4548,"title":{},"content":{"1057":{"position":[[52,9]]}},"keywords":{}}],["7a8ff46",{"_index":3017,"title":{},"content":{"405":{"position":[[73,9]]}},"keywords":{}}],["7aa7815)cal",{"_index":5557,"title":{},"content":{"1474":{"position":[[6959,13]]}},"keywords":{}}],["7ab73b6",{"_index":4220,"title":{},"content":{"929":{"position":[[84,9]]}},"keywords":{}}],["7abf355",{"_index":5006,"title":{},"content":{"1268":{"position":[[51,10]]}},"keywords":{}}],["7ac43cd)semant",{"_index":6325,"title":{},"content":{"1476":{"position":[[6919,17]]}},"keywords":{}}],["7accba7",{"_index":4063,"title":{},"content":{"850":{"position":[[57,9]]}},"keywords":{}}],["7afbe57",{"_index":6678,"title":{},"content":{"1481":{"position":[[46,9]]}},"keywords":{}}],["7afbe57)add",{"_index":5501,"title":{},"content":{"1474":{"position":[[5209,12]]}},"keywords":{}}],["7b3e82a)remov",{"_index":6474,"title":{},"content":{"1477":{"position":[[2070,15]]}},"keywords":{}}],["7b57830)add",{"_index":5486,"title":{},"content":{"1474":{"position":[[4922,12]]}},"keywords":{}}],["7b78c29",{"_index":5078,"title":{},"content":{"1301":{"position":[[62,9]]}},"keywords":{}}],["7bb80e3",{"_index":7096,"title":{},"content":{"1734":{"position":[[325,9]]}},"keywords":{}}],["7bb80e3)networkserv",{"_index":6284,"title":{},"content":{"1476":{"position":[[5909,22]]}},"keywords":{}}],["7bd015e",{"_index":6785,"title":{},"content":{"1555":{"position":[[43,9]]}},"keywords":{}}],["7bd015e)clear",{"_index":5586,"title":{},"content":{"1474":{"position":[[7764,14]]}},"keywords":{}}],["7bf28ed",{"_index":3008,"title":{},"content":{"401":{"position":[[42,9]]}},"keywords":{}}],["7c2bfe4",{"_index":3486,"title":{},"content":{"597":{"position":[[58,9]]}},"keywords":{}}],["7c3622c)new",{"_index":6291,"title":{},"content":{"1476":{"position":[[6122,12]]}},"keywords":{}}],["7c7c910)avoid",{"_index":6417,"title":{},"content":{"1477":{"position":[[440,14]]}},"keywords":{}}],["7c94ab7",{"_index":3605,"title":{},"content":{"647":{"position":[[47,9]]}},"keywords":{}}],["7cd0894)simplifi",{"_index":6567,"title":{},"content":{"1477":{"position":[[4376,17]]},"1749":{"position":[[140,17]]}},"keywords":{}}],["7ce95c5)oncliententerroom",{"_index":5809,"title":{},"content":{"1474":{"position":[[15161,26]]}},"keywords":{}}],["7d0e907",{"_index":6807,"title":{},"content":{"1563":{"position":[[209,9]]}},"keywords":{}}],["7d0e907)multipl",{"_index":6250,"title":{},"content":{"1476":{"position":[[4917,17]]}},"keywords":{}}],["7d1571a",{"_index":6714,"title":{},"content":{"1506":{"position":[[35,9]]}},"keywords":{}}],["7d1571a)chang",{"_index":5571,"title":{},"content":{"1474":{"position":[[7384,17]]}},"keywords":{}}],["7d1d6f7)renam",{"_index":3277,"title":{},"content":{"521":{"position":[[14,17]]}},"keywords":{}}],["7d21bde)telepathi",{"_index":6399,"title":{},"content":{"1476":{"position":[[9216,19]]}},"keywords":{}}],["7d472f2)use",{"_index":6517,"title":{},"content":{"1477":{"position":[[3294,12]]},"1764":{"position":[[49,12]]}},"keywords":{}}],["7d4c0a9",{"_index":6846,"title":{},"content":{"1567":{"position":[[1441,9]]}},"keywords":{}}],["7d4c0a9)us",{"_index":6386,"title":{},"content":{"1476":{"position":[[8773,13]]}},"keywords":{}}],["7df3ce3)dont",{"_index":5659,"title":{},"content":{"1474":{"position":[[9667,13]]}},"keywords":{}}],["7e2b733)experiment",{"_index":6199,"title":{},"content":{"1476":{"position":[[3606,21]]}},"keywords":{}}],["7e2b733)improv",{"_index":6839,"title":{},"content":{"1567":{"position":[[910,17]]}},"keywords":{}}],["7e40232)don't",{"_index":5656,"title":{},"content":{"1474":{"position":[[9578,14]]}},"keywords":{}}],["7e487af)#840",{"_index":5391,"title":{},"content":{"1474":{"position":[[1334,13]]}},"keywords":{}}],["7e93030)addit",{"_index":6119,"title":{},"content":{"1476":{"position":[[1675,17]]}},"keywords":{}}],["7e93030)allow",{"_index":6835,"title":{},"content":{"1567":{"position":[[702,17]]}},"keywords":{}}],["7ead256",{"_index":3023,"title":{},"content":{"409":{"position":[[52,9]]}},"keywords":{}}],["7ed4a9a",{"_index":6401,"title":{},"content":{"1476":{"position":[[9369,9]]}},"keywords":{}}],["7f26329)ad",{"_index":5517,"title":{},"content":{"1474":{"position":[[5698,15]]},"1566":{"position":[[238,15]]}},"keywords":{}}],["7f35778)weaver",{"_index":3549,"title":{},"content":{"622":{"position":[[97,16]]}},"keywords":{}}],["7f65a8a",{"_index":3916,"title":{},"content":{"790":{"position":[[37,9]]}},"keywords":{}}],["7f8733c)experiment",{"_index":6197,"title":{},"content":{"1476":{"position":[[3558,21]]}},"keywords":{}}],["7f8733c)improv",{"_index":6865,"title":{},"content":{"1578":{"position":[[289,16]]}},"keywords":{}}],["7fe8888)networkproximitycheck",{"_index":6443,"title":{},"content":{"1477":{"position":[[1262,32]]}},"keywords":{}}],["7ul",{"_index":7835,"title":{},"content":{"2014":{"position":[[133,3]]}},"keywords":{}}],["8",{"_index":1167,"title":{},"content":{"124":{"position":[[43,1],[127,3],[175,1]]},"129":{"position":[[217,2]]},"131":{"position":[[333,3],[475,3]]},"155":{"position":[[219,2]]},"156":{"position":[[334,3],[480,3]]},"158":{"position":[[217,2]]},"160":{"position":[[333,3],[475,3]]},"173":{"position":[[507,1]]},"190":{"position":[[1816,2]]},"2022":{"position":[[254,1]]},"2030":{"position":[[136,1],[175,1]]},"2261":{"position":[[449,1]]},"2361":{"position":[[388,1]]}},"keywords":{}}],["8.0.0",{"_index":7111,"title":{},"content":{"1744":{"position":[[40,5]]}},"keywords":{}}],["8.0.1",{"_index":7109,"title":{"1743":{"position":[[0,5]]}},"content":{},"keywords":{}}],["80.0.0",{"_index":4475,"title":{},"content":{"1032":{"position":[[48,6]]}},"keywords":{}}],["80.0.1",{"_index":4473,"title":{"1031":{"position":[[0,6]]}},"content":{},"keywords":{}}],["800",{"_index":4306,"title":{},"content":{"960":{"position":[[41,6]]}},"keywords":{}}],["801",{"_index":4310,"title":{},"content":{"962":{"position":[[47,6]]}},"keywords":{}}],["802",{"_index":4304,"title":{},"content":{"959":{"position":[[55,6]]}},"keywords":{}}],["803",{"_index":5481,"title":{},"content":{"1474":{"position":[[4865,6]]}},"keywords":{}}],["804",{"_index":6458,"title":{},"content":{"1477":{"position":[[1667,6]]}},"keywords":{}}],["805",{"_index":4172,"title":{},"content":{"899":{"position":[[71,6]]},"902":{"position":[[71,6]]}},"keywords":{}}],["806",{"_index":4289,"title":{},"content":{"957":{"position":[[37,6]]},"1474":{"position":[[5501,6]]}},"keywords":{}}],["809",{"_index":4280,"title":{},"content":{"954":{"position":[[145,6]]}},"keywords":{}}],["80f",{"_index":1289,"title":{},"content":{"150":{"position":[[105,4]]},"151":{"position":[[118,4],[329,4]]}},"keywords":{}}],["80fp",{"_index":6448,"title":{},"content":{"1477":{"position":[[1431,5]]},"1568":{"position":[[160,5]]}},"keywords":{}}],["81.0.0",{"_index":4470,"title":{},"content":{"1028":{"position":[[57,6]]}},"keywords":{}}],["81.0.1",{"_index":4467,"title":{"1027":{"position":[[0,6]]}},"content":{},"keywords":{}}],["81.0.2",{"_index":4465,"title":{"1025":{"position":[[0,6]]}},"content":{},"keywords":{}}],["814653f",{"_index":4487,"title":{},"content":{"1039":{"position":[[48,9]]}},"keywords":{}}],["817)"",{"_index":5439,"title":{},"content":{"1474":{"position":[[3068,12]]}},"keywords":{}}],["818",{"_index":4158,"title":{},"content":{"891":{"position":[[45,6]]}},"keywords":{}}],["8191ul",{"_index":7855,"title":{},"content":{"2014":{"position":[[619,6]]}},"keywords":{}}],["81c6d95",{"_index":4797,"title":{},"content":{"1168":{"position":[[36,9]]}},"keywords":{}}],["81d8603",{"_index":3658,"title":{},"content":{"673":{"position":[[183,9]]}},"keywords":{}}],["81d915e)us",{"_index":6523,"title":{},"content":{"1477":{"position":[[3456,12]]}},"keywords":{}}],["82.0.0",{"_index":4455,"title":{},"content":{"1022":{"position":[[79,6]]}},"keywords":{}}],["820",{"_index":4260,"title":{},"content":{"947":{"position":[[46,6]]}},"keywords":{}}],["821e2d2",{"_index":4202,"title":{},"content":{"918":{"position":[[42,9]]}},"keywords":{}}],["822",{"_index":4264,"title":{},"content":{"948":{"position":[[62,6]]}},"keywords":{}}],["822b041)build",{"_index":5549,"title":{},"content":{"1474":{"position":[[6767,14]]}},"keywords":{}}],["822b041)clean",{"_index":6817,"title":{},"content":{"1566":{"position":[[569,17]]}},"keywords":{}}],["823",{"_index":4267,"title":{},"content":{"948":{"position":[[117,6]]},"1476":{"position":[[7795,6]]}},"keywords":{}}],["8236614",{"_index":4774,"title":{},"content":{"1157":{"position":[[37,9]]}},"keywords":{}}],["824",{"_index":4258,"title":{},"content":{"946":{"position":[[28,6]]}},"keywords":{}}],["825",{"_index":4255,"title":{},"content":{"945":{"position":[[31,6]]},"1474":{"position":[[2777,6]]}},"keywords":{}}],["827",{"_index":4246,"title":{},"content":{"941":{"position":[[32,6]]},"1474":{"position":[[1327,6]]}},"keywords":{}}],["828",{"_index":4243,"title":{},"content":{"940":{"position":[[47,6]]}},"keywords":{}}],["8289f20)remov",{"_index":3129,"title":{},"content":{"456":{"position":[[127,17]]}},"keywords":{}}],["829",{"_index":5971,"title":{},"content":{"1474":{"position":[[20420,4]]}},"keywords":{}}],["829f10a",{"_index":4355,"title":{},"content":{"983":{"position":[[33,9]]}},"keywords":{}}],["82d4cf0",{"_index":6612,"title":{},"content":{"1478":{"position":[[1196,10]]}},"keywords":{}}],["82dda04",{"_index":4366,"title":{},"content":{"989":{"position":[[49,9]]}},"keywords":{}}],["82ebd71",{"_index":6540,"title":{},"content":{"1477":{"position":[[3814,10]]},"1648":{"position":[[185,10]]}},"keywords":{}}],["83",{"_index":6298,"title":{},"content":{"1476":{"position":[[6326,5]]},"1694":{"position":[[49,5]]}},"keywords":{}}],["83.0.0",{"_index":4452,"title":{},"content":{"1020":{"position":[[79,6]]}},"keywords":{}}],["830",{"_index":5973,"title":{},"content":{"1474":{"position":[[20467,6]]}},"keywords":{}}],["832",{"_index":4234,"title":{},"content":{"936":{"position":[[27,6]]},"1474":{"position":[[2207,6]]}},"keywords":{}}],["832b7f9)remov",{"_index":5347,"title":{},"content":{"1473":{"position":[[105,15]]}},"keywords":{}}],["832b7f9)renam",{"_index":6729,"title":{},"content":{"1517":{"position":[[105,15]]}},"keywords":{}}],["833634a",{"_index":3655,"title":{},"content":{"673":{"position":[[93,9]]}},"keywords":{}}],["836",{"_index":4229,"title":{},"content":{"933":{"position":[[66,6]]}},"keywords":{}}],["8366e80)us",{"_index":4728,"title":{},"content":{"1141":{"position":[[117,12]]}},"keywords":{}}],["837",{"_index":4225,"title":{},"content":{"930":{"position":[[97,4]]}},"keywords":{}}],["838",{"_index":4223,"title":{},"content":{"930":{"position":[[72,6]]}},"keywords":{}}],["8385c29",{"_index":4918,"title":{},"content":{"1225":{"position":[[101,9]]}},"keywords":{}}],["8388607ul",{"_index":7875,"title":{},"content":{"2014":{"position":[[1147,9]]}},"keywords":{}}],["838d4f0)hook",{"_index":5410,"title":{},"content":{"1474":{"position":[[1854,14]]}},"keywords":{}}],["84",{"_index":6546,"title":{},"content":{"1477":{"position":[[3959,5]]},"1687":{"position":[[88,5],[112,3]]}},"keywords":{}}],["84.0.0",{"_index":4449,"title":{},"content":{"1018":{"position":[[48,6]]}},"keywords":{}}],["84.1.0",{"_index":4445,"title":{},"content":{"1017":{"position":[[55,6]]}},"keywords":{}}],["84.1.1",{"_index":4441,"title":{"1016":{"position":[[0,6]]}},"content":{},"keywords":{}}],["84.2.0",{"_index":4438,"title":{},"content":{"1014":{"position":[[58,6]]}},"keywords":{}}],["84.2.1",{"_index":4435,"title":{"1013":{"position":[[0,6]]}},"content":{},"keywords":{}}],["84.3.0",{"_index":4431,"title":{},"content":{"1011":{"position":[[57,6]]}},"keywords":{}}],["84.3.1",{"_index":4429,"title":{"1010":{"position":[[0,6]]}},"content":{},"keywords":{}}],["841",{"_index":4216,"title":{},"content":{"927":{"position":[[60,6]]}},"keywords":{}}],["845",{"_index":4213,"title":{},"content":{"926":{"position":[[21,6]]}},"keywords":{}}],["846",{"_index":6496,"title":{},"content":{"1477":{"position":[[2862,5]]}},"keywords":{}}],["847",{"_index":4122,"title":{},"content":{"876":{"position":[[63,6]]}},"keywords":{}}],["848",{"_index":4210,"title":{},"content":{"924":{"position":[[41,6]]},"1474":{"position":[[20671,6]]}},"keywords":{}}],["84b2c8c",{"_index":6907,"title":{},"content":{"1601":{"position":[[50,9]]}},"keywords":{}}],["84b2c8c)use",{"_index":6511,"title":{},"content":{"1477":{"position":[[3181,12]]}},"keywords":{}}],["84b7d2e",{"_index":4190,"title":{},"content":{"911":{"position":[[46,9]]}},"keywords":{}}],["84e2dd6",{"_index":3717,"title":{},"content":{"701":{"position":[[38,9]]}},"keywords":{}}],["84remov",{"_index":6548,"title":{},"content":{"1477":{"position":[[3983,10]]}},"keywords":{}}],["85",{"_index":5805,"title":{},"content":{"1474":{"position":[[15041,5]]},"1686":{"position":[[32,5]]}},"keywords":{}}],["85.0.0",{"_index":4425,"title":{},"content":{"1006":{"position":[[74,6]]}},"keywords":{}}],["851",{"_index":4186,"title":{},"content":{"909":{"position":[[54,6]]}},"keywords":{}}],["852",{"_index":4193,"title":{},"content":{"912":{"position":[[34,6]]}},"keywords":{}}],["85252c3)support",{"_index":5198,"title":{},"content":{"1351":{"position":[[110,16]]},"1356":{"position":[[110,16]]},"1361":{"position":[[57,16]]},"1366":{"position":[[57,16]]},"1371":{"position":[[57,16]]},"1376":{"position":[[57,16]]},"1380":{"position":[[57,16]]},"1384":{"position":[[57,16]]},"1388":{"position":[[57,16]]},"1392":{"position":[[57,16]]},"1396":{"position":[[57,16]]},"1400":{"position":[[57,16]]},"1404":{"position":[[57,16]]},"1408":{"position":[[57,16]]},"1412":{"position":[[57,16]]},"1416":{"position":[[57,16]]},"1420":{"position":[[57,16]]},"1424":{"position":[[57,16]]},"1428":{"position":[[57,16]]},"1432":{"position":[[57,16]]},"1436":{"position":[[57,16]]},"1439":{"position":[[57,16]]}},"keywords":{}}],["854",{"_index":4189,"title":{},"content":{"911":{"position":[[39,6]]}},"keywords":{}}],["856",{"_index":4177,"title":{},"content":{"903":{"position":[[44,6]]}},"keywords":{}}],["8589934591ul",{"_index":7895,"title":{},"content":{"2014":{"position":[[1705,12]]}},"keywords":{}}],["86.0.0",{"_index":4419,"title":{},"content":{"1004":{"position":[[51,6]]}},"keywords":{}}],["86.0.1",{"_index":4416,"title":{"1003":{"position":[[0,6]]}},"content":{},"keywords":{}}],["86.0.2",{"_index":4414,"title":{"1001":{"position":[[0,6]]}},"content":{},"keywords":{}}],["860",{"_index":4154,"title":{},"content":{"890":{"position":[[63,6]]}},"keywords":{}}],["861",{"_index":4162,"title":{},"content":{"893":{"position":[[64,6]]}},"keywords":{}}],["864a144",{"_index":3519,"title":{},"content":{"607":{"position":[[37,9]]}},"keywords":{}}],["864fdd5",{"_index":6054,"title":{},"content":{"1476":{"position":[[152,10]]},"1567":{"position":[[45,10]]}},"keywords":{}}],["8674274",{"_index":5942,"title":{},"content":{"1474":{"position":[[19310,10]]},"1574":{"position":[[27,10]]}},"keywords":{}}],["86b5c3d",{"_index":3379,"title":{},"content":{"553":{"position":[[137,9]]}},"keywords":{}}],["87.0.0",{"_index":4385,"title":{},"content":{"997":{"position":[[56,6]]}},"keywords":{}}],["87.0.1",{"_index":4382,"title":{"996":{"position":[[0,6]]}},"content":{},"keywords":{}}],["87.1.0",{"_index":4377,"title":{},"content":{"994":{"position":[[34,6]]}},"keywords":{}}],["87.1.1",{"_index":4375,"title":{"993":{"position":[[0,6]]}},"content":{},"keywords":{}}],["87.1.2",{"_index":4372,"title":{"991":{"position":[[0,6]]}},"content":{},"keywords":{}}],["87.2.0",{"_index":4367,"title":{},"content":{"989":{"position":[[59,6]]}},"keywords":{}}],["87.2.1",{"_index":4363,"title":{"988":{"position":[[0,6]]}},"content":{},"keywords":{}}],["87.2.2",{"_index":4360,"title":{"986":{"position":[[0,6]]}},"content":{},"keywords":{}}],["87.2.3",{"_index":4356,"title":{"984":{"position":[[0,6]]}},"content":{},"keywords":{}}],["87.2.4",{"_index":4354,"title":{"982":{"position":[[0,6]]}},"content":{},"keywords":{}}],["870f49d",{"_index":5116,"title":{},"content":{"1320":{"position":[[62,10]]}},"keywords":{}}],["872",{"_index":4129,"title":{},"content":{"879":{"position":[[50,6]]}},"keywords":{}}],["873",{"_index":4143,"title":{},"content":{"883":{"position":[[63,6]]}},"keywords":{}}],["8738562)do",{"_index":5398,"title":{},"content":{"1474":{"position":[[1521,11]]}},"keywords":{}}],["873db7f",{"_index":3223,"title":{},"content":{"501":{"position":[[43,9]]}},"keywords":{}}],["875",{"_index":4131,"title":{},"content":{"879":{"position":[[128,6]]}},"keywords":{}}],["876",{"_index":4119,"title":{},"content":{"875":{"position":[[36,6]]}},"keywords":{}}],["877eb12",{"_index":3668,"title":{},"content":{"677":{"position":[[190,9]]}},"keywords":{}}],["877f4e9)ad",{"_index":6117,"title":{},"content":{"1476":{"position":[[1625,15]]},"1567":{"position":[[652,15]]}},"keywords":{}}],["878",{"_index":4115,"title":{},"content":{"874":{"position":[[46,6]]}},"keywords":{}}],["879",{"_index":5977,"title":{},"content":{"1474":{"position":[[20555,6]]}},"keywords":{}}],["8796093022207ul",{"_index":7915,"title":{},"content":{"2014":{"position":[[2293,15]]}},"keywords":{}}],["879ba01)stop",{"_index":4649,"title":{},"content":{"1106":{"position":[[77,17]]}},"keywords":{}}],["87a520d",{"_index":4718,"title":{},"content":{"1137":{"position":[[47,9]]}},"keywords":{}}],["87ace4d",{"_index":6926,"title":{},"content":{"1614":{"position":[[35,9]]}},"keywords":{}}],["87ace4d)mov",{"_index":5762,"title":{},"content":{"1474":{"position":[[12613,13]]}},"keywords":{}}],["87bece",{"_index":4598,"title":{},"content":{"1081":{"position":[[56,10]]}},"keywords":{}}],["87c6204)add",{"_index":3101,"title":{},"content":{"444":{"position":[[42,12]]}},"keywords":{}}],["87c6ebc)multiplex",{"_index":6252,"title":{},"content":{"1476":{"position":[[4986,18]]}},"keywords":{}}],["87c6ebc)networkconnect",{"_index":6842,"title":{},"content":{"1567":{"position":[[1144,26]]}},"keywords":{}}],["87dd495",{"_index":6537,"title":{},"content":{"1477":{"position":[[3737,10]]},"1648":{"position":[[108,10]]}},"keywords":{}}],["88",{"_index":6275,"title":{},"content":{"1476":{"position":[[5714,5]]},"1671":{"position":[[33,5]]}},"keywords":{}}],["88.0.0",{"_index":4346,"title":{},"content":{"979":{"position":[[34,6]]}},"keywords":{}}],["88.1.0",{"_index":4343,"title":{},"content":{"978":{"position":[[105,6]]}},"keywords":{}}],["88.1.1",{"_index":4340,"title":{"977":{"position":[[0,6]]}},"content":{},"keywords":{}}],["88.1.2",{"_index":4338,"title":{"975":{"position":[[0,6]]}},"content":{},"keywords":{}}],["88.1.3",{"_index":4334,"title":{"973":{"position":[[0,6]]}},"content":{},"keywords":{}}],["882",{"_index":4097,"title":{},"content":{"864":{"position":[[64,6]]}},"keywords":{}}],["883fix",{"_index":3885,"title":{},"content":{"774":{"position":[[82,10]]}},"keywords":{}}],["887118e",{"_index":6682,"title":{},"content":{"1484":{"position":[[69,9]]}},"keywords":{}}],["887118e)add",{"_index":6067,"title":{},"content":{"1476":{"position":[[318,12]]}},"keywords":{}}],["8884070",{"_index":3382,"title":{},"content":{"554":{"position":[[35,9]]}},"keywords":{}}],["888e46c)opt",{"_index":5814,"title":{},"content":{"1474":{"position":[[15386,17]]}},"keywords":{}}],["8896c4a",{"_index":6934,"title":{},"content":{"1620":{"position":[[59,9]]}},"keywords":{}}],["8896c4a)attribut",{"_index":5539,"title":{},"content":{"1474":{"position":[[6446,19]]}},"keywords":{}}],["8899d20)addit",{"_index":5524,"title":{},"content":{"1474":{"position":[[5931,17]]}},"keywords":{}}],["88badd6)fix",{"_index":3790,"title":{},"content":{"734":{"position":[[40,15]]}},"keywords":{}}],["88c4cd3",{"_index":3706,"title":{},"content":{"695":{"position":[[37,9]]}},"keywords":{}}],["89.0.0",{"_index":4331,"title":{},"content":{"970":{"position":[[69,6]]}},"keywords":{}}],["8903f00)use",{"_index":4387,"title":{},"content":{"998":{"position":[[78,14]]}},"keywords":{}}],["890c6b8",{"_index":6742,"title":{},"content":{"1525":{"position":[[49,9]]}},"keywords":{}}],["890c6b8)transport",{"_index":6379,"title":{},"content":{"1476":{"position":[[8554,19]]}},"keywords":{}}],["890ee6b",{"_index":5279,"title":{},"content":{"1466":{"position":[[260,10]]}},"keywords":{}}],["891dab9",{"_index":7110,"title":{},"content":{"1744":{"position":[[30,9]]}},"keywords":{}}],["891dab9)fix",{"_index":5688,"title":{},"content":{"1474":{"position":[[10696,12]]}},"keywords":{}}],["892",{"_index":4073,"title":{},"content":{"853":{"position":[[27,6]]}},"keywords":{}}],["893",{"_index":5393,"title":{},"content":{"1474":{"position":[[1399,6]]}},"keywords":{}}],["894",{"_index":4101,"title":{},"content":{"866":{"position":[[61,6]]}},"keywords":{}}],["895",{"_index":4059,"title":{},"content":{"848":{"position":[[42,6]]}},"keywords":{}}],["89564f4)move",{"_index":3229,"title":{},"content":{"503":{"position":[[84,15]]}},"keywords":{}}],["896",{"_index":4086,"title":{},"content":{"861":{"position":[[40,6]]},"1476":{"position":[[8809,6]]}},"keywords":{}}],["8967a20)stop",{"_index":5980,"title":{},"content":{"1474":{"position":[[20678,13]]}},"keywords":{}}],["897",{"_index":4094,"title":{},"content":{"863":{"position":[[35,6]]}},"keywords":{}}],["898",{"_index":6341,"title":{},"content":{"1476":{"position":[[7426,6]]}},"keywords":{}}],["899",{"_index":6461,"title":{},"content":{"1477":{"position":[[1750,6]]}},"keywords":{}}],["89cb937",{"_index":5142,"title":{},"content":{"1332":{"position":[[39,9]]}},"keywords":{}}],["89cb937)nre",{"_index":5126,"title":{},"content":{"1325":{"position":[[39,12]]},"1329":{"position":[[39,12]]}},"keywords":{}}],["89ffc7c",{"_index":4642,"title":{},"content":{"1103":{"position":[[46,9]]}},"keywords":{}}],["8a0e0b3",{"_index":6528,"title":{},"content":{"1477":{"position":[[3564,10]]},"1594":{"position":[[124,10]]}},"keywords":{}}],["8a190bf)upd",{"_index":5953,"title":{},"content":{"1474":{"position":[[19904,15]]}},"keywords":{}}],["8a195f6)us",{"_index":4727,"title":{},"content":{"1141":{"position":[[75,12]]}},"keywords":{}}],["8aa561a",{"_index":4286,"title":{},"content":{"956":{"position":[[59,9]]}},"keywords":{}}],["8aac115",{"_index":5069,"title":{},"content":{"1298":{"position":[[53,9]]}},"keywords":{}}],["8adf83d",{"_index":3881,"title":{},"content":{"772":{"position":[[57,9]]}},"keywords":{}}],["8b1117b)ad",{"_index":2924,"title":{},"content":{"369":{"position":[[38,15]]}},"keywords":{}}],["8b2b828)stop",{"_index":4240,"title":{},"content":{"939":{"position":[[68,17]]}},"keywords":{}}],["8b359ff)check",{"_index":6154,"title":{},"content":{"1476":{"position":[[2572,14]]},"1734":{"position":[[129,14]]}},"keywords":{}}],["8b4f105)networkserver.sendtoreadi",{"_index":6285,"title":{},"content":{"1476":{"position":[[5959,34]]}},"keywords":{}}],["8b4f105)prettifi",{"_index":6844,"title":{},"content":{"1567":{"position":[[1359,17]]}},"keywords":{}}],["8b97f36",{"_index":3158,"title":{},"content":{"472":{"position":[[55,9]]}},"keywords":{}}],["8bc165d)rpc",{"_index":3722,"title":{},"content":{"703":{"position":[[52,13]]}},"keywords":{}}],["8c12c28",{"_index":3806,"title":{},"content":{"738":{"position":[[54,9]]}},"keywords":{}}],["8c213e3",{"_index":4519,"title":{},"content":{"1046":{"position":[[112,9]]}},"keywords":{}}],["8c4c352",{"_index":4559,"title":{},"content":{"1064":{"position":[[48,9]]}},"keywords":{}}],["8c63726)hide",{"_index":3385,"title":{},"content":{"555":{"position":[[172,15]]}},"keywords":{}}],["8c6ae0f",{"_index":6969,"title":{},"content":{"1644":{"position":[[124,9]]}},"keywords":{}}],["8c6ae0f)#1659",{"_index":5385,"title":{},"content":{"1474":{"position":[[1164,14]]}},"keywords":{}}],["8cb00e9",{"_index":4859,"title":{},"content":{"1197":{"position":[[61,9]]}},"keywords":{}}],["8cbc005)server",{"_index":6326,"title":{},"content":{"1476":{"position":[[6959,15]]}},"keywords":{}}],["8cbf6e6",{"_index":4746,"title":{},"content":{"1143":{"position":[[50,9]]}},"keywords":{}}],["8cf6a07)secur",{"_index":6323,"title":{},"content":{"1476":{"position":[[6846,15]]}},"keywords":{}}],["8d37f8c)refactor",{"_index":5133,"title":{},"content":{"1327":{"position":[[104,18]]},"1330":{"position":[[104,18]]},"1333":{"position":[[104,18]]}},"keywords":{}}],["8d7efa6",{"_index":4678,"title":{},"content":{"1117":{"position":[[52,9]]}},"keywords":{}}],["8d8ea0f",{"_index":7141,"title":{},"content":{"1759":{"position":[[36,9]]}},"keywords":{}}],["8d8ea0f)remov",{"_index":5874,"title":{},"content":{"1474":{"position":[[17148,15]]}},"keywords":{}}],["8db98db)fast",{"_index":4759,"title":{},"content":{"1151":{"position":[[36,13]]}},"keywords":{}}],["8dbf467)typo",{"_index":5241,"title":{},"content":{"1455":{"position":[[37,14]]}},"keywords":{}}],["8dea50e)cal",{"_index":5559,"title":{},"content":{"1474":{"position":[[7004,13]]}},"keywords":{}}],["8e39e21",{"_index":4915,"title":{},"content":{"1223":{"position":[[55,9]]}},"keywords":{}}],["8e545ac)fix",{"_index":5707,"title":{},"content":{"1474":{"position":[[11046,15]]}},"keywords":{}}],["8e545ac)misc",{"_index":6699,"title":{},"content":{"1496":{"position":[[162,13]]}},"keywords":{}}],["8e6c516",{"_index":3744,"title":{},"content":{"713":{"position":[[42,9]]}},"keywords":{}}],["8eafae5",{"_index":3473,"title":{},"content":{"591":{"position":[[30,9]]}},"keywords":{}}],["8ebda0f)revert",{"_index":5431,"title":{},"content":{"1474":{"position":[[2784,15]]}},"keywords":{}}],["8efe7c",{"_index":4651,"title":{},"content":{"1106":{"position":[[143,9]]}},"keywords":{}}],["8f42af0",{"_index":7143,"title":{},"content":{"1761":{"position":[[28,9]]}},"keywords":{}}],["8f42af0)remov",{"_index":5872,"title":{},"content":{"1474":{"position":[[17103,15]]}},"keywords":{}}],["8f6d4cb)elimin",{"_index":6426,"title":{},"content":{"1477":{"position":[[762,18]]}},"keywords":{}}],["8fbe346",{"_index":4684,"title":{},"content":{"1120":{"position":[[37,9]]}},"keywords":{}}],["9",{"_index":1263,"title":{},"content":{"139":{"position":[[1084,1]]},"190":{"position":[[993,1]]},"809":{"position":[[46,1]]},"2035":{"position":[[96,2]]},"2043":{"position":[[31,1]]},"2128":{"position":[[313,1]]},"2261":{"position":[[861,1]]}},"keywords":{}}],["9.0.0",{"_index":7106,"title":{},"content":{"1739":{"position":[[107,5]]}},"keywords":{}}],["9.1.0",{"_index":7102,"title":{},"content":{"1737":{"position":[[92,5]]}},"keywords":{}}],["90",{"_index":4499,"title":{},"content":{"1044":{"position":[[62,2]]}},"keywords":{}}],["90.0.0",{"_index":4327,"title":{},"content":{"968":{"position":[[149,6]]}},"keywords":{}}],["90013ea",{"_index":4906,"title":{},"content":{"1219":{"position":[[40,9]]}},"keywords":{}}],["9007199254740991ul",{"_index":7935,"title":{},"content":{"2014":{"position":[[2911,18]]}},"keywords":{}}],["901",{"_index":6425,"title":{},"content":{"1477":{"position":[[755,6]]}},"keywords":{}}],["902",{"_index":4089,"title":{},"content":{"862":{"position":[[51,6]]}},"keywords":{}}],["903",{"_index":6213,"title":{},"content":{"1476":{"position":[[3994,6]]}},"keywords":{}}],["904",{"_index":4084,"title":{},"content":{"860":{"position":[[40,6]]},"1477":{"position":[[672,6]]}},"keywords":{}}],["905",{"_index":4076,"title":{},"content":{"855":{"position":[[41,6]]}},"keywords":{}}],["907",{"_index":6427,"title":{},"content":{"1477":{"position":[[814,6]]}},"keywords":{}}],["907d8ce)log",{"_index":3127,"title":{},"content":{"456":{"position":[[91,16]]}},"keywords":{}}],["908",{"_index":6430,"title":{},"content":{"1477":{"position":[[881,6]]}},"keywords":{}}],["909b668",{"_index":4415,"title":{},"content":{"1002":{"position":[[31,9]]}},"keywords":{}}],["90df76d",{"_index":4771,"title":{},"content":{"1155":{"position":[[35,9]]}},"keywords":{}}],["90e5179",{"_index":3580,"title":{},"content":{"635":{"position":[[54,9]]}},"keywords":{}}],["90e9f24)weav",{"_index":3709,"title":{},"content":{"697":{"position":[[29,16]]}},"keywords":{}}],["91.0.0",{"_index":4319,"title":{},"content":{"966":{"position":[[54,6]]}},"keywords":{}}],["91.0.1",{"_index":4317,"title":{"965":{"position":[[0,6]]}},"content":{},"keywords":{}}],["91.1.0",{"_index":4312,"title":{},"content":{"962":{"position":[[64,6]]}},"keywords":{}}],["91.2.0",{"_index":4309,"title":{},"content":{"961":{"position":[[57,6]]}},"keywords":{}}],["910",{"_index":6453,"title":{},"content":{"1477":{"position":[[1514,6]]}},"keywords":{}}],["912",{"_index":6415,"title":{},"content":{"1477":{"position":[[379,6]]}},"keywords":{}}],["913",{"_index":5402,"title":{},"content":{"1474":{"position":[[1650,6]]}},"keywords":{}}],["913d503)revert",{"_index":6595,"title":{},"content":{"1478":{"position":[[524,15]]}},"keywords":{}}],["9142513)refactor",{"_index":3314,"title":{},"content":{"537":{"position":[[293,19]]}},"keywords":{}}],["915f307",{"_index":3021,"title":{},"content":{"407":{"position":[[61,9]]}},"keywords":{}}],["916",{"_index":6484,"title":{},"content":{"1477":{"position":[[2384,6]]}},"keywords":{}}],["917",{"_index":3973,"title":{},"content":{"821":{"position":[[46,6]]}},"keywords":{}}],["918",{"_index":4062,"title":{},"content":{"850":{"position":[[50,6]]},"1476":{"position":[[7485,6]]}},"keywords":{}}],["918504c",{"_index":4989,"title":{},"content":{"1260":{"position":[[62,9]]}},"keywords":{}}],["919",{"_index":5395,"title":{},"content":{"1474":{"position":[[1457,6]]}},"keywords":{}}],["92.0.0",{"_index":4303,"title":{},"content":{"958":{"position":[[617,6]]}},"keywords":{}}],["920493e",{"_index":3445,"title":{},"content":{"581":{"position":[[37,9]]}},"keywords":{}}],["9223372036854775807ul",{"_index":7955,"title":{},"content":{"2014":{"position":[[3559,21]]}},"keywords":{}}],["9234eb4",{"_index":4032,"title":{},"content":{"844":{"position":[[158,9]]}},"keywords":{}}],["925",{"_index":4011,"title":{},"content":{"841":{"position":[[50,6]]},"1477":{"position":[[2952,6]]}},"keywords":{}}],["9257112)improv",{"_index":6217,"title":{},"content":{"1476":{"position":[[4048,16]]}},"keywords":{}}],["9257112)lan",{"_index":7116,"title":{},"content":{"1747":{"position":[[38,12]]}},"keywords":{}}],["925d57d",{"_index":3271,"title":{},"content":{"518":{"position":[[52,9]]}},"keywords":{}}],["926",{"_index":6501,"title":{},"content":{"1477":{"position":[[2991,6]]}},"keywords":{}}],["927",{"_index":4007,"title":{},"content":{"839":{"position":[[44,6]]},"1477":{"position":[[2185,6]]}},"keywords":{}}],["9270765)fix",{"_index":5705,"title":{},"content":{"1474":{"position":[[10992,15]]}},"keywords":{}}],["9270765)improv",{"_index":6821,"title":{},"content":{"1566":{"position":[[898,17]]}},"keywords":{}}],["927c4de)report",{"_index":5905,"title":{},"content":{"1474":{"position":[[17837,15]]}},"keywords":{}}],["927c4de)suppress",{"_index":6830,"title":{},"content":{"1566":{"position":[[1681,17]]}},"keywords":{}}],["927fe95)fix",{"_index":4137,"title":{},"content":{"881":{"position":[[96,15]]}},"keywords":{}}],["928",{"_index":6262,"title":{},"content":{"1476":{"position":[[5299,6]]}},"keywords":{}}],["9280af1)add",{"_index":6083,"title":{},"content":{"1476":{"position":[[666,12]]}},"keywords":{}}],["929",{"_index":6473,"title":{},"content":{"1477":{"position":[[2063,6]]}},"keywords":{}}],["929686c",{"_index":3121,"title":{},"content":{"453":{"position":[[24,9]]}},"keywords":{}}],["92968e4",{"_index":6940,"title":{},"content":{"1624":{"position":[[42,9]]}},"keywords":{}}],["92968e4)allow",{"_index":6124,"title":{},"content":{"1476":{"position":[[1780,14]]}},"keywords":{}}],["92ab3ff",{"_index":6719,"title":{},"content":{"1510":{"position":[[68,9]]}},"keywords":{}}],["92ab3ff)cmd",{"_index":5601,"title":{},"content":{"1474":{"position":[[8161,13]]}},"keywords":{}}],["92d0df7)targetrpc",{"_index":6364,"title":{},"content":{"1476":{"position":[[8052,18]]}},"keywords":{}}],["93",{"_index":6271,"title":{},"content":{"1476":{"position":[[5547,5]]},"1668":{"position":[[44,5]]}},"keywords":{}}],["93.0.0",{"_index":4287,"title":{},"content":{"956":{"position":[[69,6]]}},"keywords":{}}],["93.0.1",{"_index":4285,"title":{"955":{"position":[[0,6]]}},"content":{},"keywords":{}}],["93.0.2",{"_index":4274,"title":{"953":{"position":[[0,6]]}},"content":{},"keywords":{}}],["931",{"_index":4004,"title":{},"content":{"837":{"position":[[66,6]]}},"keywords":{}}],["9311fbd)reus",{"_index":5136,"title":{},"content":{"1327":{"position":[[172,14]]},"1330":{"position":[[172,14]]},"1333":{"position":[[172,14]]}},"keywords":{}}],["933",{"_index":3998,"title":{},"content":{"833":{"position":[[68,6]]}},"keywords":{}}],["934",{"_index":3994,"title":{},"content":{"831":{"position":[[64,6]]}},"keywords":{}}],["936",{"_index":5427,"title":{},"content":{"1474":{"position":[[2646,6]]}},"keywords":{}}],["938f34c",{"_index":3566,"title":{},"content":{"628":{"position":[[102,9]]}},"keywords":{}}],["939",{"_index":3975,"title":{},"content":{"822":{"position":[[31,6]]},"1477":{"position":[[433,6]]}},"keywords":{}}],["93f8688)avoid",{"_index":5542,"title":{},"content":{"1474":{"position":[[6528,14]]}},"keywords":{}}],["93f8688)mirag",{"_index":7138,"title":{},"content":{"1757":{"position":[[33,15]]}},"keywords":{}}],["94.0.0",{"_index":4271,"title":{},"content":{"949":{"position":[[89,6]]}},"keywords":{}}],["940",{"_index":3956,"title":{},"content":{"813":{"position":[[82,6]]}},"keywords":{}}],["941",{"_index":3990,"title":{},"content":{"829":{"position":[[39,6]]}},"keywords":{}}],["945",{"_index":6466,"title":{},"content":{"1477":{"position":[[1909,6]]}},"keywords":{}}],["946",{"_index":6469,"title":{},"content":{"1477":{"position":[[2002,6]]}},"keywords":{}}],["948c3a4)mak",{"_index":3533,"title":{},"content":{"614":{"position":[[245,15]]}},"keywords":{}}],["9494500",{"_index":4217,"title":{},"content":{"927":{"position":[[67,9]]}},"keywords":{}}],["94a9199)check",{"_index":3118,"title":{},"content":{"451":{"position":[[50,17]]}},"keywords":{}}],["94ab113)fix",{"_index":3448,"title":{},"content":{"582":{"position":[[49,15]]}},"keywords":{}}],["94da8ae)fix",{"_index":5288,"title":{},"content":{"1466":{"position":[[493,15]]}},"keywords":{}}],["94eda38)rigidbodi",{"_index":6313,"title":{},"content":{"1476":{"position":[[6654,18]]}},"keywords":{}}],["95.0.0",{"_index":4257,"title":{},"content":{"945":{"position":[[48,6]]}},"keywords":{}}],["95.1.0",{"_index":4254,"title":{},"content":{"944":{"position":[[40,6]]}},"keywords":{}}],["95.1.1",{"_index":4252,"title":{"943":{"position":[[0,6]]}},"content":{},"keywords":{}}],["951",{"_index":3954,"title":{},"content":{"813":{"position":[[20,6]]}},"keywords":{}}],["9513842)avoid",{"_index":6419,"title":{},"content":{"1477":{"position":[[493,14]]}},"keywords":{}}],["952e8a4",{"_index":7108,"title":{},"content":{"1741":{"position":[[24,9]]}},"keywords":{}}],["952e8a4)block",{"_index":6145,"title":{},"content":{"1476":{"position":[[2347,14]]}},"keywords":{}}],["953",{"_index":3962,"title":{},"content":{"816":{"position":[[52,6]]}},"keywords":{}}],["954a3d5)us",{"_index":6387,"title":{},"content":{"1476":{"position":[[8816,14]]}},"keywords":{}}],["955",{"_index":3952,"title":{},"content":{"812":{"position":[[50,6]]}},"keywords":{}}],["957",{"_index":3929,"title":{},"content":{"799":{"position":[[52,6]]}},"keywords":{}}],["9578e19)compon",{"_index":6167,"title":{},"content":{"1476":{"position":[[2891,18]]}},"keywords":{}}],["9578e19)throw",{"_index":6777,"title":{},"content":{"1550":{"position":[[49,14]]}},"keywords":{}}],["958",{"_index":3876,"title":{},"content":{"771":{"position":[[69,6]]}},"keywords":{}}],["959",{"_index":3936,"title":{},"content":{"804":{"position":[[52,6]]}},"keywords":{}}],["96",{"_index":6267,"title":{},"content":{"1476":{"position":[[5428,5]]},"1674":{"position":[[48,5]]}},"keywords":{}}],["96.0.0",{"_index":4245,"title":{},"content":{"940":{"position":[[64,6]]}},"keywords":{}}],["96.1.0",{"_index":4238,"title":{},"content":{"938":{"position":[[61,6]]}},"keywords":{}}],["96.1.1",{"_index":4236,"title":{"937":{"position":[[0,6]]}},"content":{},"keywords":{}}],["96.1.2",{"_index":4233,"title":{"935":{"position":[[0,6]]}},"content":{},"keywords":{}}],["96.2.0",{"_index":4231,"title":{},"content":{"933":{"position":[[83,6]]}},"keywords":{}}],["96.2.1",{"_index":4227,"title":{"932":{"position":[[0,6]]}},"content":{},"keywords":{}}],["96.3.0",{"_index":4221,"title":{},"content":{"929":{"position":[[94,6]]}},"keywords":{}}],["96.3.1",{"_index":4218,"title":{"928":{"position":[[0,6]]}},"content":{},"keywords":{}}],["96.4.0",{"_index":4215,"title":{},"content":{"926":{"position":[[38,6]]}},"keywords":{}}],["96.4.1",{"_index":4212,"title":{"925":{"position":[[0,6]]}},"content":{},"keywords":{}}],["96.4.2",{"_index":4209,"title":{"923":{"position":[[0,6]]}},"content":{},"keywords":{}}],["96.4.3",{"_index":4207,"title":{"921":{"position":[[0,6]]}},"content":{},"keywords":{}}],["96.5.0",{"_index":4201,"title":{},"content":{"917":{"position":[[31,6]]}},"keywords":{}}],["96.5.1",{"_index":4199,"title":{"916":{"position":[[0,6]]}},"content":{},"keywords":{}}],["96.5.2",{"_index":4197,"title":{"914":{"position":[[0,6]]}},"content":{},"keywords":{}}],["960c39d",{"_index":6987,"title":{},"content":{"1658":{"position":[[21,9]]}},"keywords":{}}],["960c39d)destroy",{"_index":5623,"title":{},"content":{"1474":{"position":[[8687,16]]}},"keywords":{}}],["961",{"_index":3926,"title":{},"content":{"798":{"position":[[53,6]]},"1474":{"position":[[2080,6]]}},"keywords":{}}],["962replac",{"_index":5901,"title":{},"content":{"1474":{"position":[[17770,13]]}},"keywords":{}}],["963",{"_index":5399,"title":{},"content":{"1474":{"position":[[1588,4]]}},"keywords":{}}],["964",{"_index":5400,"title":{},"content":{"1474":{"position":[[1593,6]]}},"keywords":{}}],["965",{"_index":3922,"title":{},"content":{"795":{"position":[[64,6]]},"1476":{"position":[[9362,6]]}},"keywords":{}}],["9657bdb)network",{"_index":3575,"title":{},"content":{"634":{"position":[[67,16]]}},"keywords":{}}],["96992c3",{"_index":6642,"title":{},"content":{"1478":{"position":[[1811,10]]}},"keywords":{}}],["9699e03",{"_index":4426,"title":{},"content":{"1007":{"position":[[40,9]]}},"keywords":{}}],["97.0.0",{"_index":4191,"title":{},"content":{"911":{"position":[[56,6]]}},"keywords":{}}],["97.0.1",{"_index":4188,"title":{"910":{"position":[[0,6]]}},"content":{},"keywords":{}}],["97.1.0",{"_index":4185,"title":{},"content":{"908":{"position":[[164,6]]}},"keywords":{}}],["97.1.1",{"_index":4182,"title":{"907":{"position":[[0,6]]}},"content":{},"keywords":{}}],["97.1.2",{"_index":4179,"title":{"905":{"position":[[0,6]]}},"content":{},"keywords":{}}],["970",{"_index":3795,"title":{},"content":{"734":{"position":[[174,6]]}},"keywords":{}}],["971",{"_index":3880,"title":{},"content":{"772":{"position":[[50,6]]},"1474":{"position":[[1699,6]]}},"keywords":{}}],["972",{"_index":3868,"title":{},"content":{"767":{"position":[[58,6]]}},"keywords":{}}],["972b6d2)remov",{"_index":4139,"title":{},"content":{"881":{"position":[[163,17]]}},"keywords":{}}],["9743216)reduc",{"_index":6467,"title":{},"content":{"1477":{"position":[[1916,15]]}},"keywords":{}}],["976",{"_index":3894,"title":{},"content":{"779":{"position":[[73,6]]},"1474":{"position":[[3272,6]]}},"keywords":{}}],["977",{"_index":3857,"title":{},"content":{"764":{"position":[[109,6]]},"1474":{"position":[[3279,6]]}},"keywords":{}}],["978",{"_index":5429,"title":{},"content":{"1474":{"position":[[2709,4]]}},"keywords":{}}],["9789c0b)socketlay",{"_index":4120,"title":{},"content":{"875":{"position":[[43,21]]}},"keywords":{}}],["979",{"_index":6316,"title":{},"content":{"1476":{"position":[[6733,6]]}},"keywords":{}}],["97e9ac2)remov",{"_index":6468,"title":{},"content":{"1477":{"position":[[1954,15]]}},"keywords":{}}],["98.0.0",{"_index":4176,"title":{},"content":{"902":{"position":[[88,6]]}},"keywords":{}}],["98.0.1",{"_index":4174,"title":{"901":{"position":[[0,6]]}},"content":{},"keywords":{}}],["980",{"_index":5449,"title":{},"content":{"1474":{"position":[[3390,4]]}},"keywords":{}}],["981ba7c)cod",{"_index":5396,"title":{},"content":{"1474":{"position":[[1464,13]]}},"keywords":{}}],["9842b40",{"_index":3168,"title":{},"content":{"477":{"position":[[62,9]]}},"keywords":{}}],["984945e)remov",{"_index":5880,"title":{},"content":{"1474":{"position":[[17303,16]]},"1577":{"position":[[273,16]]}},"keywords":{}}],["984eb73)releas",{"_index":5849,"title":{},"content":{"1474":{"position":[[16606,16]]}},"keywords":{}}],["984eb73)renam",{"_index":6701,"title":{},"content":{"1496":{"position":[[250,17]]}},"keywords":{}}],["985)"",{"_index":6598,"title":{},"content":{"1478":{"position":[[625,12]]}},"keywords":{}}],["985revert",{"_index":6600,"title":{},"content":{"1478":{"position":[[656,10]]}},"keywords":{}}],["986",{"_index":3873,"title":{},"content":{"770":{"position":[[46,6]]}},"keywords":{}}],["987",{"_index":6439,"title":{},"content":{"1477":{"position":[[1119,6]]}},"keywords":{}}],["988",{"_index":6522,"title":{},"content":{"1477":{"position":[[3449,6]]}},"keywords":{}}],["988641f)path",{"_index":4051,"title":{},"content":{"847":{"position":[[215,14]]}},"keywords":{}}],["989",{"_index":6489,"title":{},"content":{"1477":{"position":[[2540,6]]}},"keywords":{}}],["9895647)#692",{"_index":5476,"title":{},"content":{"1474":{"position":[[4672,13]]}},"keywords":{}}],["98d3fb0)telepathi",{"_index":5948,"title":{},"content":{"1474":{"position":[[19659,18]]}},"keywords":{}}],["99)}"",{"_index":1765,"title":{},"content":{"210":{"position":[[720,11]]}},"keywords":{}}],["99.0.0",{"_index":4170,"title":{},"content":{"898":{"position":[[61,6]]}},"keywords":{}}],["99.0.1",{"_index":4166,"title":{"896":{"position":[[0,6]]}},"content":{},"keywords":{}}],["99.0.2",{"_index":4164,"title":{"894":{"position":[[0,6]]}},"content":{},"keywords":{}}],["99.1.0",{"_index":4161,"title":{},"content":{"892":{"position":[[158,6]]}},"keywords":{}}],["990",{"_index":6498,"title":{},"content":{"1477":{"position":[[2909,6]]}},"keywords":{}}],["991",{"_index":3843,"title":{},"content":{"757":{"position":[[148,6]]},"1477":{"position":[[591,6]]}},"keywords":{}}],["992",{"_index":6456,"title":{},"content":{"1477":{"position":[[1620,6]]}},"keywords":{}}],["9926472)check",{"_index":6151,"title":{},"content":{"1476":{"position":[[2503,14]]}},"keywords":{}}],["993",{"_index":3845,"title":{},"content":{"758":{"position":[[39,6]]},"1477":{"position":[[1569,6]]}},"keywords":{}}],["993933f",{"_index":4237,"title":{},"content":{"938":{"position":[[51,9]]}},"keywords":{}}],["993f425",{"_index":3510,"title":{},"content":{"602":{"position":[[27,9]]}},"keywords":{}}],["996",{"_index":3841,"title":{},"content":{"757":{"position":[[87,6]]}},"keywords":{}}],["997",{"_index":6487,"title":{},"content":{"1477":{"position":[[2491,6]]}},"keywords":{}}],["998",{"_index":3828,"title":{},"content":{"749":{"position":[[70,4]]}},"keywords":{}}],["999",{"_index":1739,"title":{},"content":{"209":{"position":[[1288,5]]}},"keywords":{}}],["99a70f",{"_index":4831,"title":{},"content":{"1185":{"position":[[42,9]]}},"keywords":{}}],["99c31c8)fix",{"_index":4109,"title":{},"content":{"870":{"position":[[63,15]]}},"keywords":{}}],["99c8f5c)test",{"_index":5963,"title":{},"content":{"1474":{"position":[[20200,15]]}},"keywords":{}}],["99e9519",{"_index":3438,"title":{},"content":{"575":{"position":[[51,9]]}},"keywords":{}}],["99ecc9e)mak",{"_index":5745,"title":{},"content":{"1474":{"position":[[12138,13]]}},"keywords":{}}],["9a15863",{"_index":4950,"title":{},"content":{"1241":{"position":[[37,9]]}},"keywords":{}}],["9a2690",{"_index":5072,"title":{},"content":{"1298":{"position":[[138,10]]}},"keywords":{}}],["9a42fe3)when",{"_index":6035,"title":{},"content":{"1474":{"position":[[22481,13]]}},"keywords":{}}],["9a42fe3)wrong",{"_index":6833,"title":{},"content":{"1566":{"position":[[1916,14]]}},"keywords":{}}],["9a7c572",{"_index":7004,"title":{},"content":{"1671":{"position":[[39,9]]}},"keywords":{}}],["9a7c572)networkident",{"_index":6276,"title":{},"content":{"1476":{"position":[[5720,24]]}},"keywords":{}}],["9acde20",{"_index":5737,"title":{},"content":{"1474":{"position":[[11896,10]]}},"keywords":{}}],["9ae7fa2)ad",{"_index":6115,"title":{},"content":{"1476":{"position":[[1541,15]]},"1567":{"position":[[568,15]]}},"keywords":{}}],["9b232b0",{"_index":6616,"title":{},"content":{"1478":{"position":[[1264,10]]}},"keywords":{}}],["9b60871",{"_index":7018,"title":{},"content":{"1682":{"position":[[103,9]]}},"keywords":{}}],["9b60871)there",{"_index":6004,"title":{},"content":{"1474":{"position":[[21619,14]]}},"keywords":{}}],["9bbf0dc",{"_index":4944,"title":{},"content":{"1237":{"position":[[138,10]]}},"keywords":{}}],["9bf816a)allow",{"_index":6130,"title":{},"content":{"1476":{"position":[[2000,17]]}},"keywords":{}}],["9bf816a)disconnect",{"_index":6863,"title":{},"content":{"1578":{"position":[[130,19]]}},"keywords":{}}],["9c09c26",{"_index":7061,"title":{},"content":{"1717":{"position":[[229,9]]}},"keywords":{}}],["9c09c26)sendtoobserv",{"_index":5926,"title":{},"content":{"1474":{"position":[[18590,24]]}},"keywords":{}}],["9c394bc",{"_index":6730,"title":{},"content":{"1517":{"position":[[156,9]]}},"keywords":{}}],["9c394bc)transport",{"_index":5357,"title":{},"content":{"1473":{"position":[[360,19]]}},"keywords":{}}],["9c51fef",{"_index":3526,"title":{},"content":{"612":{"position":[[57,9]]}},"keywords":{}}],["9ca7639",{"_index":4337,"title":{},"content":{"974":{"position":[[100,9]]}},"keywords":{}}],["9cad50a)fix",{"_index":3478,"title":{},"content":{"594":{"position":[[33,15]]}},"keywords":{}}],["9caeea8)not",{"_index":3450,"title":{},"content":{"582":{"position":[[157,12]]}},"keywords":{}}],["9cb309e)weav",{"_index":6389,"title":{},"content":{"1476":{"position":[[8883,15]]}},"keywords":{}}],["9cdc27d",{"_index":3801,"title":{},"content":{"736":{"position":[[59,9]]}},"keywords":{}}],["9d0b219",{"_index":5269,"title":{},"content":{"1465":{"position":[[52,9]]}},"keywords":{}}],["9d12658)use",{"_index":5102,"title":{},"content":{"1314":{"position":[[19,12]]}},"keywords":{}}],["9d3f056",{"_index":4079,"title":{},"content":{"857":{"position":[[37,9]]}},"keywords":{}}],["9d9efa0",{"_index":6942,"title":{},"content":{"1626":{"position":[[104,9]]}},"keywords":{}}],["9d9efa0)clientrpc",{"_index":5593,"title":{},"content":{"1474":{"position":[[7933,18]]}},"keywords":{}}],["9dc69dc)fix",{"_index":3647,"title":{},"content":{"670":{"position":[[61,15]]}},"keywords":{}}],["9dc94c1)use",{"_index":4726,"title":{},"content":{"1141":{"position":[[33,12]]}},"keywords":{}}],["9df2f79",{"_index":6919,"title":{},"content":{"1611":{"position":[[49,9]]}},"keywords":{}}],["9df2f79)pass",{"_index":5821,"title":{},"content":{"1474":{"position":[[15563,13]]}},"keywords":{}}],["9e0c18c",{"_index":5228,"title":{},"content":{"1448":{"position":[[33,9]]}},"keywords":{}}],["9e22ff4)ad",{"_index":3659,"title":{},"content":{"674":{"position":[[55,15]]}},"keywords":{}}],["9e2d74a",{"_index":3199,"title":{},"content":{"488":{"position":[[55,10]]}},"keywords":{}}],["9e3dcc7)revert",{"_index":6629,"title":{},"content":{"1478":{"position":[[1486,15]]}},"keywords":{}}],["9e3ecc1)remov",{"_index":6475,"title":{},"content":{"1477":{"position":[[2115,15]]}},"keywords":{}}],["9e8dccc",{"_index":4757,"title":{},"content":{"1149":{"position":[[69,9]]}},"keywords":{}}],["9f06f2e",{"_index":5019,"title":{},"content":{"1275":{"position":[[30,9]]}},"keywords":{}}],["9f09c21",{"_index":6590,"title":{},"content":{"1478":{"position":[[443,10]]}},"keywords":{}}],["9f35d6b",{"_index":7139,"title":{},"content":{"1757":{"position":[[67,9]]}},"keywords":{}}],["9f35d6b)misc",{"_index":5755,"title":{},"content":{"1474":{"position":[[12491,13]]}},"keywords":{}}],["9f59e0c)addingnetwork",{"_index":5519,"title":{},"content":{"1474":{"position":[[5795,22]]}},"keywords":{}}],["9f59e0c)allow",{"_index":6815,"title":{},"content":{"1566":{"position":[[335,17]]}},"keywords":{}}],["9f5f0b2",{"_index":6889,"title":{},"content":{"1589":{"position":[[55,9]]}},"keywords":{}}],["9f5f0b2)chat",{"_index":6149,"title":{},"content":{"1476":{"position":[[2473,13]]}},"keywords":{}}],["9f679c5)syncset",{"_index":5041,"title":{},"content":{"1282":{"position":[[113,16]]},"1283":{"position":[[113,16]]}},"keywords":{}}],["9fa0169",{"_index":7020,"title":{},"content":{"1684":{"position":[[23,9]]}},"keywords":{}}],["9fa0169)addit",{"_index":5525,"title":{},"content":{"1474":{"position":[[5963,17]]}},"keywords":{}}],["9fd8a05",{"_index":4262,"title":{},"content":{"947":{"position":[[92,9]]}},"keywords":{}}],["9fdd2ec)mak",{"_index":3356,"title":{},"content":{"547":{"position":[[31,15]]}},"keywords":{}}],["_",{"_index":2574,"title":{},"content":{"314":{"position":[[1144,2]]}},"keywords":{}}],["_arg0",{"_index":7472,"title":{},"content":{"1896":{"position":[[0,6],[33,5]]},"1901":{"position":[[0,6],[33,5]]}},"keywords":{}}],["_arg1",{"_index":7483,"title":{},"content":{"1901":{"position":[[40,6],[73,5]]}},"keywords":{}}],["_attribut",{"_index":8288,"title":{},"content":{"2080":{"position":[[244,10]]},"2083":{"position":[[688,10]]},"2379":{"position":[[281,10]]},"2474":{"position":[[311,10]]}},"keywords":{}}],["_col",{"_index":1731,"title":{},"content":{"209":{"position":[[731,5],[866,5]]},"210":{"position":[[795,5],[929,5]]}},"keywords":{}}],["_handler",{"_index":1929,"title":{},"content":{"238":{"position":[[772,9],[1420,8],[2128,9]]}},"keywords":{}}],["_name",{"_index":1730,"title":{},"content":{"209":{"position":[[718,6],[845,6]]},"210":{"position":[[782,6],[908,6]]}},"keywords":{}}],["_new",{"_index":1745,"title":{},"content":{"209":{"position":[[1462,5],[1552,5],[1583,5],[1694,5]]},"210":{"position":[[1436,5]]},"211":{"position":[[253,5],[499,4],[515,4]]}},"keywords":{}}],["_nextsynctim",{"_index":8929,"title":{},"content":{"2357":{"position":[[0,14],[45,13]]}},"keywords":{}}],["_old",{"_index":1744,"title":{},"content":{"209":{"position":[[1449,5],[1540,5]]},"210":{"position":[[1423,5]]},"211":{"position":[[243,5],[319,4],[335,4]]}},"keywords":{}}],["_prespawnedobject",{"_index":1931,"title":{},"content":{"238":{"position":[[818,18],[1578,18]]}},"keywords":{}}],["_prespawnedobjects.add(new",{"_index":1940,"title":{},"content":{"238":{"position":[[1673,26],[1773,26]]}},"keywords":{}}],["_prespawnedobjects.count",{"_index":1934,"title":{},"content":{"238":{"position":[[1060,25]]}},"keywords":{}}],["_prespawnedobjects[index",{"_index":1954,"title":{},"content":{"238":{"position":[[2699,26]]}},"keywords":{}}],["a'",{"_index":2876,"title":{},"content":{"356":{"position":[[782,3],[1241,3]]},"1777":{"position":[[584,3]]}},"keywords":{}}],["a0425e4)dummi",{"_index":5670,"title":{},"content":{"1474":{"position":[[9947,14]]}},"keywords":{}}],["a0aa4f9)improv",{"_index":5725,"title":{},"content":{"1474":{"position":[[11509,17]]},"1566":{"position":[[970,17]]}},"keywords":{}}],["a0c96f8)suppress",{"_index":5985,"title":{},"content":{"1474":{"position":[[20802,17]]}},"keywords":{}}],["a0c96f8)telepathi",{"_index":7132,"title":{},"content":{"1752":{"position":[[110,18]]}},"keywords":{}}],["a124f3f)fix",{"_index":5285,"title":{},"content":{"1466":{"position":[[412,15]]}},"keywords":{}}],["a16eb00",{"_index":6709,"title":{},"content":{"1502":{"position":[[63,9]]}},"keywords":{}}],["a16eb00)script",{"_index":6321,"title":{},"content":{"1476":{"position":[[6812,15]]}},"keywords":{}}],["a17e760",{"_index":6695,"title":{},"content":{"1495":{"position":[[96,9]]}},"keywords":{}}],["a17e760)upd",{"_index":6009,"title":{},"content":{"1474":{"position":[[21782,16]]}},"keywords":{}}],["a187844",{"_index":4214,"title":{},"content":{"926":{"position":[[28,9]]}},"keywords":{}}],["a1ec84c",{"_index":4393,"title":{},"content":{"998":{"position":[[316,9]]}},"keywords":{}}],["a1ec86d)prop",{"_index":4052,"title":{},"content":{"847":{"position":[[260,15]]}},"keywords":{}}],["a227593",{"_index":3918,"title":{},"content":{"792":{"position":[[58,9]]}},"keywords":{}}],["a28a5cf)fix",{"_index":3309,"title":{},"content":{"537":{"position":[[77,15]]}},"keywords":{}}],["a29b1b7)measur",{"_index":3109,"title":{},"content":{"444":{"position":[[392,18]]}},"keywords":{}}],["a2cc14b)upd",{"_index":5956,"title":{},"content":{"1474":{"position":[[19976,16]]}},"keywords":{}}],["a2d6317)#609",{"_index":5464,"title":{},"content":{"1474":{"position":[[4137,13]]}},"keywords":{}}],["a2d7382",{"_index":3221,"title":{},"content":{"500":{"position":[[59,9]]}},"keywords":{}}],["a2eb666",{"_index":6186,"title":{},"content":{"1476":{"position":[[3311,10]]},"1578":{"position":[[171,10]]}},"keywords":{}}],["a3028ec",{"_index":4153,"title":{},"content":{"889":{"position":[[56,9]]}},"keywords":{}}],["a32c5a9)objhidemessag",{"_index":6455,"title":{},"content":{"1477":{"position":[[1576,23]]}},"keywords":{}}],["a351222",{"_index":4144,"title":{},"content":{"883":{"position":[[70,9]]}},"keywords":{}}],["a351879)clientauthoritymessag",{"_index":6420,"title":{},"content":{"1477":{"position":[[539,31]]}},"keywords":{}}],["a35ed9d",{"_index":3013,"title":{},"content":{"403":{"position":[[32,9]]}},"keywords":{}}],["a366843",{"_index":3751,"title":{},"content":{"715":{"position":[[132,9]]}},"keywords":{}}],["a3932f2",{"_index":3257,"title":{},"content":{"510":{"position":[[62,9]]}},"keywords":{}}],["a394345",{"_index":7098,"title":{},"content":{"1734":{"position":[[383,9]]}},"keywords":{}}],["a394345)simplifi",{"_index":6558,"title":{},"content":{"1477":{"position":[[4202,17]]}},"keywords":{}}],["a3c61d8",{"_index":4247,"title":{},"content":{"941":{"position":[[39,9]]}},"keywords":{}}],["a3ffd12)#1359",{"_index":5367,"title":{},"content":{"1474":{"position":[[356,15]]}},"keywords":{}}],["a3ffd12)#1380",{"_index":7157,"title":{},"content":{"1766":{"position":[[249,14]]}},"keywords":{}}],["a402953",{"_index":3568,"title":{},"content":{"630":{"position":[[34,9]]}},"keywords":{}}],["a44efd1)spawnsceneobjectmessag",{"_index":6493,"title":{},"content":{"1477":{"position":[[2718,32]]}},"keywords":{}}],["a45413a",{"_index":5157,"title":{},"content":{"1338":{"position":[[98,10]]}},"keywords":{}}],["a457845",{"_index":7153,"title":{},"content":{"1764":{"position":[[108,9]]}},"keywords":{}}],["a457845)us",{"_index":6519,"title":{},"content":{"1477":{"position":[[3353,12]]}},"keywords":{}}],["a49d938)ondeserializesaf",{"_index":6457,"title":{},"content":{"1477":{"position":[[1627,28]]}},"keywords":{}}],["a4c881a",{"_index":6048,"title":{},"content":{"1475":{"position":[[207,9]]},"1649":{"position":[[36,9]]}},"keywords":{}}],["a4e8689)remov",{"_index":4281,"title":{},"content":{"954":{"position":[[152,17]]}},"keywords":{}}],["a4ffcb",{"_index":7032,"title":{},"content":{"1693":{"position":[[226,9]]}},"keywords":{}}],["a4ffcbe)us",{"_index":6010,"title":{},"content":{"1474":{"position":[[21845,12]]}},"keywords":{}}],["a527af4",{"_index":4540,"title":{},"content":{"1054":{"position":[[52,9]]}},"keywords":{}}],["a531fa0",{"_index":5218,"title":{},"content":{"1442":{"position":[[64,9]]}},"keywords":{}}],["a5cfc81)revert",{"_index":6631,"title":{},"content":{"1478":{"position":[[1563,15]]}},"keywords":{}}],["a5f495a)networkidentity.setclientown",{"_index":5788,"title":{},"content":{"1474":{"position":[[14172,40]]}},"keywords":{}}],["a5f495a)sendtoobserv",{"_index":7060,"title":{},"content":{"1717":{"position":[[180,24]]}},"keywords":{}}],["a60f1ac",{"_index":7163,"title":{},"content":{"1769":{"position":[[34,9]]}},"keywords":{}}],["a60f1ac)includ",{"_index":6224,"title":{},"content":{"1476":{"position":[[4232,16]]}},"keywords":{}}],["a69b498",{"_index":4704,"title":{},"content":{"1131":{"position":[[58,9]]}},"keywords":{}}],["a6ab352)cli",{"_index":5589,"title":{},"content":{"1474":{"position":[[7820,15]]}},"keywords":{}}],["a6ab352)don't",{"_index":6819,"title":{},"content":{"1566":{"position":[[688,14]]}},"keywords":{}}],["a6ee5e8",{"_index":3831,"title":{},"content":{"751":{"position":[[50,9]]}},"keywords":{}}],["a6fa26d",{"_index":3205,"title":{},"content":{"492":{"position":[[107,9]]}},"keywords":{}}],["a71e21f)remov",{"_index":5867,"title":{},"content":{"1474":{"position":[[16976,15]]}},"keywords":{}}],["a71ecdb)#1515",{"_index":5373,"title":{},"content":{"1474":{"position":[[670,14]]}},"keywords":{}}],["a71ecdb)finishloadscenehost",{"_index":7158,"title":{},"content":{"1766":{"position":[[460,28]]}},"keywords":{}}],["a72d777)remov",{"_index":3909,"title":{},"content":{"786":{"position":[[185,17]]}},"keywords":{}}],["a756389",{"_index":4107,"title":{},"content":{"868":{"position":[[29,9]]}},"keywords":{}}],["a76caf1",{"_index":4208,"title":{},"content":{"922":{"position":[[48,9]]}},"keywords":{}}],["a7efb13)mirror",{"_index":6246,"title":{},"content":{"1476":{"position":[[4804,15]]}},"keywords":{}}],["a7efb13)support",{"_index":7118,"title":{},"content":{"1747":{"position":[[137,17]]}},"keywords":{}}],["a8051c4",{"_index":2994,"title":{},"content":{"397":{"position":[[75,9]]}},"keywords":{}}],["a82f3fd",{"_index":5250,"title":{},"content":{"1457":{"position":[[44,9]]}},"keywords":{}}],["a83dd5f",{"_index":4800,"title":{},"content":{"1169":{"position":[[67,9]]}},"keywords":{}}],["a8599c1)spawn",{"_index":6336,"title":{},"content":{"1476":{"position":[[7244,14]]}},"keywords":{}}],["a8798f0",{"_index":3996,"title":{},"content":{"832":{"position":[[36,9]]}},"keywords":{}}],["a8a62a6",{"_index":6936,"title":{},"content":{"1622":{"position":[[24,9]]}},"keywords":{}}],["a8a62a6)return",{"_index":5909,"title":{},"content":{"1474":{"position":[[17933,15]]}},"keywords":{}}],["a9d21ea)ad",{"_index":5272,"title":{},"content":{"1466":{"position":[[66,15]]}},"keywords":{}}],["a9dfb3f",{"_index":4896,"title":{},"content":{"1214":{"position":[[28,9]]}},"keywords":{}}],["a^2",{"_index":1246,"title":{},"content":{"139":{"position":[[352,3]]}},"keywords":{}}],["aa8fe87",{"_index":3974,"title":{},"content":{"821":{"position":[[53,9]]}},"keywords":{}}],["aaab0e3",{"_index":5060,"title":{},"content":{"1293":{"position":[[32,9]]}},"keywords":{}}],["aaaba98)refactor",{"_index":3495,"title":{},"content":{"600":{"position":[[130,19]]}},"keywords":{}}],["aaba9bc",{"_index":3662,"title":{},"content":{"674":{"position":[[131,9]]}},"keywords":{}}],["ab1b92f)addit",{"_index":5522,"title":{},"content":{"1474":{"position":[[5872,17]]}},"keywords":{}}],["ab1b92f)cal",{"_index":6796,"title":{},"content":{"1562":{"position":[[68,16]]}},"keywords":{}}],["ab394b8)allow",{"_index":5530,"title":{},"content":{"1474":{"position":[[6169,14]]}},"keywords":{}}],["ab394b8)nr",{"_index":6765,"title":{},"content":{"1545":{"position":[[57,12]]}},"keywords":{}}],["ab3f353",{"_index":6038,"title":{},"content":{"1474":{"position":[[22767,9]]},"1566":{"position":[[1964,9]]}},"keywords":{}}],["ab44ac8)#723",{"_index":5478,"title":{},"content":{"1474":{"position":[[4748,13]]}},"keywords":{}}],["ab47a45",{"_index":6931,"title":{},"content":{"1618":{"position":[[39,9]]}},"keywords":{}}],["ab47a45)host",{"_index":5717,"title":{},"content":{"1474":{"position":[[11315,13]]}},"keywords":{}}],["ab96915",{"_index":4057,"title":{},"content":{"847":{"position":[[511,9]]}},"keywords":{}}],["aba69ca",{"_index":5243,"title":{},"content":{"1455":{"position":[[60,9]]}},"keywords":{}}],["abae4c8",{"_index":3396,"title":{},"content":{"557":{"position":[[63,9]]}},"keywords":{}}],["abf06df)telepathytransport.tostr",{"_index":5951,"title":{},"content":{"1474":{"position":[[19853,36]]}},"keywords":{}}],["abf4637",{"_index":3991,"title":{},"content":{"829":{"position":[[46,9]]}},"keywords":{}}],["abf5cdc)add",{"_index":6075,"title":{},"content":{"1476":{"position":[[486,12]]}},"keywords":{}}],["abf5f2f",{"_index":4887,"title":{},"content":{"1210":{"position":[[52,9]]}},"keywords":{}}],["abil",{"_index":3593,"title":{},"content":{"642":{"position":[[7,7]]}},"keywords":{}}],["abort",{"_index":5844,"title":{},"content":{"1474":{"position":[[16514,8]]},"1592":{"position":[[93,8]]}},"keywords":{}}],["abort+join",{"_index":5364,"title":{},"content":{"1474":{"position":[[214,11]]},"1766":{"position":[[107,11]]}},"keywords":{}}],["abov",{"_index":103,"title":{},"content":{"0":{"position":[[2048,6]]},"10":{"position":[[1469,6]]},"74":{"position":[[136,5]]},"187":{"position":[[1489,5]]},"189":{"position":[[465,6]]},"196":{"position":[[348,6]]},"209":{"position":[[12,5]]},"241":{"position":[[253,5],[1824,6],[2993,8]]},"245":{"position":[[1331,7]]},"249":{"position":[[514,5]]},"251":{"position":[[2835,7],[4665,5]]},"253":{"position":[[667,5]]},"308":{"position":[[851,5]]},"325":{"position":[[87,6]]},"326":{"position":[[210,5]]},"327":{"position":[[735,6]]},"328":{"position":[[2234,5]]},"2158":{"position":[[880,5],[1185,5]]}},"keywords":{}}],["abstract",{"_index":966,"title":{},"content":{"91":{"position":[[152,8]]},"396":{"position":[[55,8]]},"1466":{"position":[[43,8],[118,8],[1154,8]]},"1474":{"position":[[6679,8]]},"1566":{"position":[[481,8]]},"2118":{"position":[[32,8]]},"2119":{"position":[[35,8],[144,8],[255,8],[326,8]]},"2198":{"position":[[125,8]]},"2199":{"position":[[80,8],[259,8],[432,8],[673,8]]},"2428":{"position":[[40,8]]},"2434":{"position":[[234,8]]}},"keywords":{}}],["ac000eb",{"_index":4206,"title":{},"content":{"920":{"position":[[69,9]]}},"keywords":{}}],["aca8c5a",{"_index":3983,"title":{},"content":{"825":{"position":[[59,9]]}},"keywords":{}}],["acb6dd1",{"_index":6736,"title":{},"content":{"1521":{"position":[[61,9]]}},"keywords":{}}],["acb6dd1)serv",{"_index":6328,"title":{},"content":{"1476":{"position":[[7029,15]]}},"keywords":{}}],["accept",{"_index":352,"title":{},"content":{"14":{"position":[[1446,6]]},"71":{"position":[[819,9]]},"183":{"position":[[1850,6]]},"1247":{"position":[[18,6]]},"1256":{"position":[[0,6]]},"1474":{"position":[[19467,8]]},"1802":{"position":[[46,6],[236,8]]},"2124":{"position":[[135,7]]},"2128":{"position":[[142,8]]},"2130":{"position":[[55,6]]},"2181":{"position":[[99,6]]}},"keywords":{}}],["acceptasync",{"_index":4936,"title":{},"content":{"1234":{"position":[[143,11]]}},"keywords":{}}],["access",{"_index":193,"title":{"270":{"position":[[0,9]]}},"content":{"7":{"position":[[140,6]]},"94":{"position":[[289,6]]},"175":{"position":[[936,10]]},"179":{"position":[[473,6]]},"182":{"position":[[3169,6]]},"183":{"position":[[642,7]]},"210":{"position":[[33,6]]},"257":{"position":[[125,6]]},"270":{"position":[[57,6],[161,6]]},"1197":{"position":[[7,6]]},"1263":{"position":[[10,6]]},"1300":{"position":[[7,6]]},"1350":{"position":[[0,6]]},"1355":{"position":[[0,6]]},"1360":{"position":[[0,6]]},"1365":{"position":[[0,6]]},"1370":{"position":[[0,6]]}},"keywords":{}}],["accident",{"_index":665,"title":{},"content":{"46":{"position":[[578,13]]}},"keywords":{}}],["accomplish",{"_index":2903,"title":{},"content":{"361":{"position":[[647,12]]}},"keywords":{}}],["accord",{"_index":2396,"title":{},"content":{"283":{"position":[[94,9]]}},"keywords":{}}],["accordingli",{"_index":462,"title":{},"content":{"24":{"position":[[697,12]]}},"keywords":{}}],["account",{"_index":591,"title":{"181":{"position":[[3,7]]}},"content":{"37":{"position":[[819,8]]},"181":{"position":[[10,7]]},"182":{"position":[[22,7]]},"195":{"position":[[418,7]]},"361":{"position":[[203,8]]},"2193":{"position":[[825,7]]}},"keywords":{}}],["accross",{"_index":5594,"title":{},"content":{"1474":{"position":[[7969,7],[21096,7]]}},"keywords":{}}],["accumul",{"_index":2757,"title":{},"content":{"337":{"position":[[873,11]]},"1474":{"position":[[1537,10]]}},"keywords":{}}],["accur",{"_index":2097,"title":{},"content":{"245":{"position":[[4002,10]]},"2408":{"position":[[174,8],[310,8],[680,8],[817,8]]}},"keywords":{}}],["accuraci",{"_index":1358,"title":{},"content":{"173":{"position":[[485,8],[530,8],[566,8],[603,8]]}},"keywords":{}}],["ack",{"_index":4682,"title":{},"content":{"1119":{"position":[[7,4]]},"1311":{"position":[[11,5]]},"2113":{"position":[[111,3],[229,3],[341,3]]},"2130":{"position":[[1457,3],[1591,3],[1611,4],[1755,4],[1784,4],[1858,3],[2033,3],[2174,5],[2420,3]]},"2162":{"position":[[208,3],[373,3],[630,4],[652,3],[698,3],[741,3]]}},"keywords":{}}],["ack_header_s",{"_index":8387,"title":{},"content":{"2113":{"position":[[312,16],[390,15]]}},"keywords":{}}],["acksystem",{"_index":3002,"title":{"2111":{"position":[[6,9]]}},"content":{"400":{"position":[[30,9]]},"436":{"position":[[58,9]]},"593":{"position":[[0,10]]},"2091":{"position":[[0,10]]},"2130":{"position":[[2354,9]]},"2141":{"position":[[660,9]]}},"keywords":{}}],["acksystem(irawconnect",{"_index":8376,"title":{},"content":{"2112":{"position":[[0,25],[111,24]]}},"keywords":{}}],["acksystem.reliablepacket",{"_index":8305,"title":{"2101":{"position":[[6,24]]}},"content":{"2091":{"position":[[11,25]]},"2103":{"position":[[729,24]]}},"keywords":{}}],["acksystem.reliablepacket>",{"_index":8558,"title":{},"content":{"2187":{"position":[[41,29],[185,28]]}},"keywords":{}}],["acksystem.reliablereceiv",{"_index":8319,"title":{"2096":{"position":[[7,26]]}},"content":{"2092":{"position":[[0,27]]},"2114":{"position":[[70,28],[260,26],[495,26]]}},"keywords":{}}],["act",{"_index":340,"title":{},"content":{"14":{"position":[[1020,6],[1081,6],[1426,3]]},"15":{"position":[[39,4],[110,3],[533,6]]},"83":{"position":[[238,3]]},"235":{"position":[[1435,3]]},"241":{"position":[[1904,3]]},"245":{"position":[[1252,3]]},"263":{"position":[[56,4]]},"2358":{"position":[[1387,6]]}},"keywords":{}}],["action",{"_index":619,"title":{"73":{"position":[[7,8]]},"170":{"position":[[7,8]]},"265":{"position":[[7,7]]},"266":{"position":[[20,8]]}},"content":{"42":{"position":[[554,7]]},"59":{"position":[[154,6],[349,6]]},"73":{"position":[[36,7],[139,7],[194,8]]},"74":{"position":[[340,7]]},"91":{"position":[[47,7]]},"170":{"position":[[7,7],[232,8]]},"210":{"position":[[1933,8]]},"213":{"position":[[310,7]]},"245":{"position":[[4469,7]]},"930":{"position":[[7,6]]},"2437":{"position":[[239,7],[351,6],[594,7],[686,6]]},"2458":{"position":[[35,7],[43,8],[191,6],[218,6]]},"2507":{"position":[[459,6]]}},"keywords":{}}],["action<acksystem.reliablepacket>",{"_index":8559,"title":{},"content":{"2187":{"position":[[71,40],[236,38]]}},"keywords":{}}],["action<byt",{"_index":8365,"title":{},"content":{"2108":{"position":[[18,17],[110,17]]}},"keywords":{}}],["action<networkidentity>",{"_index":9124,"title":{},"content":{"2437":{"position":[[34,31],[209,29]]}},"keywords":{}}],["action<networkwrit",{"_index":8294,"title":{},"content":{"2085":{"position":[[34,24]]}},"keywords":{}}],["action{t",{"_index":9218,"title":{},"content":{"2507":{"position":[[549,9]]}},"keywords":{}}],["action{t,t",{"_index":9220,"title":{},"content":{"2507":{"position":[[642,11]]}},"keywords":{}}],["activ",{"_index":452,"title":{},"content":{"24":{"position":[[299,8]]},"29":{"position":[[410,6]]},"92":{"position":[[1732,7]]},"178":{"position":[[114,6]]},"197":{"position":[[53,6]]},"213":{"position":[[1220,6]]},"251":{"position":[[2221,6]]},"303":{"position":[[119,6]]},"310":{"position":[[43,6],[133,6],[301,6]]},"363":{"position":[[214,7]]},"501":{"position":[[36,6]]},"679":{"position":[[45,6]]},"826":{"position":[[14,6]]},"956":{"position":[[45,6]]},"1098":{"position":[[21,6]]},"1479":{"position":[[1909,6]]},"1646":{"position":[[507,6]]},"2093":{"position":[[506,6]]},"2240":{"position":[[321,7],[4347,6],[4501,6],[6468,7]]},"2350":{"position":[[1035,7],[1043,6],[1121,7],[1154,6]]},"2358":{"position":[[41,6],[54,6],[202,6],[239,7]]},"2361":{"position":[[45,7],[205,7],[243,7],[334,6]]},"2370":{"position":[[3163,6],[3630,9],[4157,8],[4214,6]]},"2416":{"position":[[41,6]]},"2417":{"position":[[1309,8],[4793,6],[5323,6],[5961,6],[6883,6],[8901,8]]},"2420":{"position":[[1826,7],[1962,6]]},"2503":{"position":[[128,6]]}},"keywords":{}}],["activescenepath",{"_index":2553,"title":{},"content":{"310":{"position":[[404,15]]},"1057":{"position":[[29,15]]},"2416":{"position":[[0,16],[148,15]]}},"keywords":{}}],["activeweaponsync",{"_index":1784,"title":{},"content":{"211":{"position":[[198,19],[685,18]]}},"keywords":{}}],["actual",{"_index":2106,"title":{},"content":{"247":{"position":[[4,6]]},"715":{"position":[[43,6]]},"1474":{"position":[[1006,8]]},"1478":{"position":[[1128,8]]},"1655":{"position":[[236,8]]},"1987":{"position":[[158,6]]},"2000":{"position":[[195,6],[632,6]]},"2130":{"position":[[2135,6]]}},"keywords":{}}],["ad",{"_index":204,"title":{"328":{"position":[[0,6]]}},"content":{"9":{"position":[[312,5]]},"10":{"position":[[49,6]]},"17":{"position":[[340,5]]},"19":{"position":[[99,5]]},"31":{"position":[[561,6]]},"53":{"position":[[85,6]]},"82":{"position":[[442,5]]},"85":{"position":[[993,5]]},"92":{"position":[[24,5]]},"155":{"position":[[23,5]]},"158":{"position":[[23,5]]},"178":{"position":[[143,5]]},"181":{"position":[[101,6]]},"183":{"position":[[116,5],[426,5]]},"184":{"position":[[164,5]]},"227":{"position":[[166,6]]},"228":{"position":[[105,6]]},"229":{"position":[[151,6]]},"230":{"position":[[174,6]]},"231":{"position":[[349,6]]},"233":{"position":[[222,6]]},"240":{"position":[[532,5]]},"242":{"position":[[112,5]]},"248":{"position":[[799,5]]},"253":{"position":[[465,5]]},"264":{"position":[[1218,5]]},"315":{"position":[[399,6]]},"320":{"position":[[273,6]]},"324":{"position":[[200,5]]},"328":{"position":[[1433,5]]},"340":{"position":[[1238,5]]},"344":{"position":[[265,7]]},"348":{"position":[[1533,5]]},"352":{"position":[[253,7]]},"361":{"position":[[63,5]]},"369":{"position":[[0,6]]},"372":{"position":[[0,6]]},"377":{"position":[[0,6]]},"380":{"position":[[0,6]]},"382":{"position":[[0,6]]},"385":{"position":[[0,6]]},"398":{"position":[[0,6]]},"400":{"position":[[88,6]]},"402":{"position":[[0,6]]},"403":{"position":[[0,6]]},"421":{"position":[[0,6]]},"424":{"position":[[0,6],[45,5]]},"430":{"position":[[9,6]]},"436":{"position":[[0,6]]},"439":{"position":[[0,6]]},"442":{"position":[[7,6]]},"443":{"position":[[0,6]]},"445":{"position":[[0,6]]},"449":{"position":[[0,6]]},"454":{"position":[[0,6]]},"456":{"position":[[0,6]]},"465":{"position":[[0,6]]},"466":{"position":[[0,6]]},"467":{"position":[[0,6]]},"469":{"position":[[0,6]]},"471":{"position":[[0,6]]},"476":{"position":[[74,6]]},"477":{"position":[[0,6]]},"479":{"position":[[0,6]]},"482":{"position":[[0,6]]},"486":{"position":[[0,6]]},"489":{"position":[[64,5]]},"497":{"position":[[0,6]]},"500":{"position":[[0,6]]},"503":{"position":[[0,6]]},"504":{"position":[[0,6]]},"507":{"position":[[0,6]]},"511":{"position":[[0,6]]},"514":{"position":[[87,5]]},"520":{"position":[[0,6]]},"522":{"position":[[163,6]]},"523":{"position":[[0,6]]},"532":{"position":[[0,6]]},"537":{"position":[[0,6]]},"538":{"position":[[0,6]]},"542":{"position":[[0,6]]},"545":{"position":[[0,6]]},"546":{"position":[[0,6]]},"555":{"position":[[0,6]]},"557":{"position":[[0,6]]},"563":{"position":[[0,6]]},"566":{"position":[[0,6]]},"572":{"position":[[0,6]]},"575":{"position":[[0,6]]},"584":{"position":[[0,6]]},"586":{"position":[[0,6]]},"588":{"position":[[0,6]]},"591":{"position":[[0,6]]},"594":{"position":[[0,6]]},"595":{"position":[[0,6]]},"596":{"position":[[0,6]]},"600":{"position":[[0,6]]},"602":{"position":[[0,6]]},"605":{"position":[[0,6]]},"612":{"position":[[0,6]]},"614":{"position":[[0,6]]},"618":{"position":[[0,6]]},"626":{"position":[[0,6]]},"635":{"position":[[0,6]]},"636":{"position":[[13,6]]},"638":{"position":[[0,6]]},"642":{"position":[[0,6]]},"646":{"position":[[0,6]]},"647":{"position":[[0,6]]},"670":{"position":[[0,6]]},"673":{"position":[[0,6]]},"674":{"position":[[0,6]]},"675":{"position":[[90,5]]},"680":{"position":[[0,6]]},"692":{"position":[[85,6]]},"696":{"position":[[29,6]]},"698":{"position":[[5,6]]},"705":{"position":[[5,6]]},"711":{"position":[[0,6]]},"712":{"position":[[0,6]]},"734":{"position":[[0,6]]},"740":{"position":[[15,6]]},"746":{"position":[[0,6]]},"747":{"position":[[0,6]]},"757":{"position":[[0,6]]},"764":{"position":[[0,6]]},"766":{"position":[[17,6],[76,6],[162,6]]},"771":{"position":[[19,6]]},"774":{"position":[[0,6]]},"796":{"position":[[0,5]]},"811":{"position":[[0,6]]},"822":{"position":[[6,6]]},"826":{"position":[[0,6]]},"829":{"position":[[9,6]]},"831":{"position":[[8,6]]},"844":{"position":[[0,6]]},"860":{"position":[[12,6]]},"866":{"position":[[0,6]]},"867":{"position":[[19,6]]},"874":{"position":[[0,6]]},"876":{"position":[[0,6]]},"878":{"position":[[0,6]]},"879":{"position":[[6,6]]},"889":{"position":[[12,6]]},"890":{"position":[[0,6]]},"893":{"position":[[15,6]]},"897":{"position":[[0,6]]},"906":{"position":[[13,6]]},"908":{"position":[[19,6]]},"909":{"position":[[13,6]]},"919":{"position":[[0,6]]},"927":{"position":[[0,6]]},"930":{"position":[[0,6]]},"931":{"position":[[0,6]]},"933":{"position":[[0,6]]},"940":{"position":[[0,6]]},"945":{"position":[[0,6]]},"947":{"position":[[0,6]]},"960":{"position":[[0,6]]},"987":{"position":[[18,6]]},"990":{"position":[[0,6]]},"999":{"position":[[0,6]]},"1008":{"position":[[0,6]]},"1011":{"position":[[0,6]]},"1044":{"position":[[0,6]]},"1046":{"position":[[0,6]]},"1062":{"position":[[8,6]]},"1065":{"position":[[0,6]]},"1250":{"position":[[0,5]]},"1375":{"position":[[0,6]]},"1379":{"position":[[0,6]]},"1383":{"position":[[0,6]]},"1387":{"position":[[0,6]]},"1391":{"position":[[0,6]]},"1395":{"position":[[0,6]]},"1443":{"position":[[24,5]]},"1466":{"position":[[0,6]]},"1467":{"position":[[0,5]]},"1474":{"position":[[2290,5],[4696,6],[5623,6],[5727,6],[10709,6],[14026,5],[20129,5],[20216,5]]},"1476":{"position":[[1706,5],[7789,5]]},"1477":{"position":[[0,6]]},"1522":{"position":[[22,5]]},"1557":{"position":[[4,6]]},"1563":{"position":[[0,6]]},"1566":{"position":[[163,6],[267,6]]},"1585":{"position":[[0,5]]},"1586":{"position":[[0,6]]},"1606":{"position":[[0,6]]},"1652":{"position":[[0,5]]},"1678":{"position":[[0,5]]},"1717":{"position":[[34,5]]},"1734":{"position":[[0,5]]},"1739":{"position":[[0,5]]},"1890":{"position":[[73,5],[470,5]]},"1891":{"position":[[45,6],[250,6]]},"2093":{"position":[[565,5],[634,5]]},"2152":{"position":[[57,6]]},"2217":{"position":[[199,5]]},"2265":{"position":[[651,5]]},"2370":{"position":[[3474,5]]},"2383":{"position":[[294,5]]},"2397":{"position":[[235,5]]},"2404":{"position":[[251,5]]},"2434":{"position":[[192,5]]},"2478":{"position":[[206,5],[358,6],[1148,5],[1300,6],[2446,6],[3321,6]]},"2482":{"position":[[628,6],[1436,6],[1805,5],[1957,6],[2680,5],[2832,6]]}},"keywords":{}}],["ad699fc",{"_index":3741,"title":{},"content":{"712":{"position":[[36,9]]}},"keywords":{}}],["ad724f",{"_index":5892,"title":{},"content":{"1474":{"position":[[17618,10]]}},"keywords":{}}],["adapt",{"_index":1553,"title":{},"content":{"187":{"position":[[403,7]]}},"keywords":{}}],["adcf3f6",{"_index":3817,"title":{},"content":{"742":{"position":[[91,9]]}},"keywords":{}}],["add",{"_index":52,"title":{},"content":{"0":{"position":[[873,4]]},"9":{"position":[[126,3]]},"10":{"position":[[886,3],[1237,3]]},"17":{"position":[[123,3]]},"18":{"position":[[131,3]]},"31":{"position":[[285,3]]},"43":{"position":[[246,3],[310,4]]},"46":{"position":[[168,3]]},"67":{"position":[[48,3],[316,3]]},"71":{"position":[[540,3]]},"74":{"position":[[40,3]]},"76":{"position":[[0,3]]},"85":{"position":[[914,3]]},"92":{"position":[[438,3]]},"129":{"position":[[20,3]]},"182":{"position":[[1202,3],[1229,3],[1583,3],[1619,3],[2034,3]]},"183":{"position":[[1599,3]]},"201":{"position":[[48,3],[316,3]]},"202":{"position":[[169,3],[882,3],[958,3],[1196,3],[1335,3]]},"203":{"position":[[560,3]]},"209":{"position":[[2134,3]]},"210":{"position":[[81,3],[220,3],[315,3],[1089,3],[1099,3]]},"211":{"position":[[33,3],[842,3],[1579,3]]},"212":{"position":[[22,3]]},"222":{"position":[[145,3]]},"224":{"position":[[108,3]]},"225":{"position":[[352,3],[602,3]]},"226":{"position":[[225,3],[456,3]]},"238":{"position":[[369,3],[432,3]]},"241":{"position":[[213,3]]},"243":{"position":[[2183,4],[2293,3]]},"245":{"position":[[1780,3],[1805,3]]},"249":{"position":[[1718,3]]},"251":{"position":[[2690,3],[2793,3]]},"269":{"position":[[264,3]]},"280":{"position":[[13,3]]},"288":{"position":[[193,3]]},"294":{"position":[[156,3]]},"311":{"position":[[121,3],[235,3],[275,3]]},"312":{"position":[[128,3],[246,3],[290,3]]},"315":{"position":[[371,3],[476,3],[502,3]]},"324":{"position":[[70,3]]},"325":{"position":[[69,4]]},"328":{"position":[[2294,3]]},"332":{"position":[[384,3],[520,3]]},"339":{"position":[[107,3],[155,3]]},"340":{"position":[[947,3]]},"342":{"position":[[0,3]]},"345":{"position":[[858,3]]},"348":{"position":[[109,3],[157,3],[1242,3]]},"350":{"position":[[0,3]]},"353":{"position":[[786,3]]},"356":{"position":[[655,4]]},"361":{"position":[[785,3]]},"405":{"position":[[21,3]]},"444":{"position":[[0,3],[430,3]]},"486":{"position":[[138,4]]},"508":{"position":[[7,3]]},"547":{"position":[[0,3]]},"590":{"position":[[41,3]]},"734":{"position":[[211,3]]},"964":{"position":[[0,3]]},"983":{"position":[[0,3]]},"995":{"position":[[0,3]]},"997":{"position":[[0,3]]},"998":{"position":[[6,3]]},"1075":{"position":[[0,3]]},"1090":{"position":[[0,3]]},"1092":{"position":[[0,3]]},"1096":{"position":[[0,3]]},"1097":{"position":[[0,3]]},"1147":{"position":[[0,3]]},"1157":{"position":[[0,3]]},"1169":{"position":[[0,3]]},"1180":{"position":[[0,3]]},"1234":{"position":[[0,3]]},"1263":{"position":[[0,3]]},"1268":{"position":[[0,3]]},"1269":{"position":[[40,3]]},"1309":{"position":[[0,3]]},"1350":{"position":[[409,3]]},"1351":{"position":[[0,3]]},"1355":{"position":[[409,3]]},"1356":{"position":[[0,3]]},"1360":{"position":[[409,3]]},"1365":{"position":[[335,3]]},"1370":{"position":[[335,3]]},"1375":{"position":[[289,3]]},"1379":{"position":[[289,3]]},"1383":{"position":[[238,3]]},"1387":{"position":[[238,3]]},"1391":{"position":[[238,3]]},"1465":{"position":[[0,3]]},"1474":{"position":[[5336,3]]},"1476":{"position":[[9128,3],[9190,3]]},"1478":{"position":[[295,3],[388,3]]},"1479":{"position":[[1348,3],[1809,3]]},"1481":{"position":[[0,3]]},"1484":{"position":[[0,3]]},"1496":{"position":[[0,3]]},"1539":{"position":[[0,3]]},"1549":{"position":[[0,3]]},"1551":{"position":[[0,3]]},"1567":{"position":[[0,3]]},"1577":{"position":[[0,3],[50,3]]},"1612":{"position":[[0,3]]},"1643":{"position":[[56,3]]},"1646":{"position":[[407,3]]},"1733":{"position":[[0,3]]},"1753":{"position":[[0,3]]},"1768":{"position":[[0,3]]},"1778":{"position":[[445,3]]},"1870":{"position":[[632,3]]},"1883":{"position":[[185,3]]},"1928":{"position":[[181,4]]},"1935":{"position":[[1166,3]]},"2094":{"position":[[116,3]]},"2240":{"position":[[6631,3]]},"2253":{"position":[[298,4],[770,4]]},"2265":{"position":[[3117,3]]},"2383":{"position":[[767,3]]},"2397":{"position":[[708,3]]},"2404":{"position":[[724,3]]},"2434":{"position":[[665,3]]},"2437":{"position":[[66,4],[423,4]]},"2478":{"position":[[687,3],[751,3],[1613,3],[1677,3]]},"2482":{"position":[[2223,3],[2299,3],[3081,3]]}},"keywords":{}}],["add(doubl",{"_index":8792,"title":{},"content":{"2274":{"position":[[43,12],[81,10]]}},"keywords":{}}],["add(keyvaluepair<tkey",{"_index":7383,"title":{},"content":{"1865":{"position":[[1818,25],[1882,25]]}},"keywords":{}}],["add(t",{"_index":7313,"title":{},"content":{"1855":{"position":[[1160,7],[1193,5]]},"1860":{"position":[[1160,7],[1193,5]]}},"keywords":{}}],["add(tkey",{"_index":7382,"title":{},"content":{"1865":{"position":[[1689,9],[1733,8]]}},"keywords":{}}],["addandinvokeonauthoritychanged(networkworld",{"_index":9128,"title":{},"content":{"2437":{"position":[[359,44]]}},"keywords":{}}],["addandinvokeonauthoritychanged(thi",{"_index":9129,"title":{},"content":{"2437":{"position":[[521,35]]}},"keywords":{}}],["addandinvokeonspawn(networkworld",{"_index":9123,"title":{},"content":{"2437":{"position":[[0,33]]}},"keywords":{}}],["addandinvokeonspawn(thi",{"_index":9125,"title":{},"content":{"2437":{"position":[[164,24]]}},"keywords":{}}],["addcharact",{"_index":1911,"title":{"302":{"position":[[23,13]]}},"content":{"235":{"position":[[1783,12]]},"254":{"position":[[255,13]]},"302":{"position":[[164,12],[413,12],[731,13],[865,13]]},"766":{"position":[[83,12]]}},"keywords":{}}],["addcharacter(inetworkplay",{"_index":9177,"title":{},"content":{"2482":{"position":[[1615,28],[2067,27],[2497,28],[2942,27]]}},"keywords":{}}],["addcharacter(serverobjectmanag",{"_index":9159,"title":{},"content":{"2478":{"position":[[0,33],[949,33]]}},"keywords":{}}],["addcharacter(thi",{"_index":9160,"title":{},"content":{"2478":{"position":[[475,17],[1417,17]]}},"keywords":{}}],["addcharactermessag",{"_index":8634,"title":{"2234":{"position":[[7,19]]}},"content":{"2234":{"position":[[7,19],[49,19]]},"2241":{"position":[[0,20]]}},"keywords":{}}],["addcomponentmenu",{"_index":5520,"title":{},"content":{"1474":{"position":[[5837,16]]},"1562":{"position":[[33,16]]}},"keywords":{}}],["addconnect",{"_index":3251,"title":{},"content":{"509":{"position":[[22,13]]}},"keywords":{}}],["adddirtyobject(networkident",{"_index":9255,"title":{},"content":{"2529":{"position":[[0,32],[58,30]]}},"keywords":{}}],["addingnetwork",{"_index":6795,"title":{},"content":{"1562":{"position":[[0,13]]}},"keywords":{}}],["addit",{"_index":317,"title":{"24":{"position":[[9,8]]},"46":{"position":[[0,8]]},"48":{"position":[[9,8]]},"308":{"position":[[11,11]]}},"content":{"14":{"position":[[225,8]]},"15":{"position":[[521,8]]},"24":{"position":[[170,11],[942,11],[1566,8]]},"29":{"position":[[431,8]]},"46":{"position":[[0,8]]},"49":{"position":[[95,10],[420,10],[736,10]]},"82":{"position":[[382,10]]},"99":{"position":[[183,10],[647,10]]},"117":{"position":[[344,10],[2564,10]]},"187":{"position":[[272,10],[1195,10]]},"253":{"position":[[61,8]]},"261":{"position":[[111,8]]},"308":{"position":[[23,10],[414,8],[676,10],[776,11],[1184,10],[1435,10],[1830,8]]},"310":{"position":[[64,8],[329,8]]},"545":{"position":[[242,8]]},"1168":{"position":[[0,8]]},"1171":{"position":[[0,8]]},"1258":{"position":[[21,8]]},"1267":{"position":[[24,8]]},"1274":{"position":[[21,8]]},"1474":{"position":[[3885,10],[3961,8],[16523,8],[21676,8]]},"1476":{"position":[[2038,8],[4946,8]]},"1493":{"position":[[13,8]]},"1522":{"position":[[0,8]]},"1567":{"position":[[740,8],[1104,8]]},"1570":{"position":[[0,8]]},"1592":{"position":[[102,8]]},"1682":{"position":[[0,8]]},"1684":{"position":[[0,8]]},"2240":{"position":[[132,10],[4082,8],[4368,8],[6091,8],[6106,8],[6346,8],[6361,8]]},"2416":{"position":[[64,8]]},"2417":{"position":[[1359,8],[6524,10],[7454,10],[7796,11],[8004,11],[8270,11],[8486,11]]},"2462":{"position":[[191,8],[206,8]]},"2466":{"position":[[227,8],[242,8]]}},"keywords":{}}],["addition",{"_index":974,"title":{},"content":{"91":{"position":[[810,13]]}},"keywords":{}}],["additivescen",{"_index":9153,"title":{},"content":{"2465":{"position":[[132,15],[187,14]]}},"keywords":{}}],["additivesceneexampl",{"_index":6764,"title":{},"content":{"1545":{"position":[[0,20]]}},"keywords":{}}],["addlateev",{"_index":2964,"title":{"1898":{"position":[[6,12]]}},"content":{"388":{"position":[[7,12]]},"390":{"position":[[113,12],[155,12]]},"391":{"position":[[72,12]]},"998":{"position":[[93,12],[169,12],[255,12]]},"999":{"position":[[48,12],[125,12]]},"1000":{"position":[[1087,12]]},"1890":{"position":[[0,13]]}},"keywords":{}}],["addlateevent<t0",{"_index":7452,"title":{},"content":{"1890":{"position":[[101,19]]}},"keywords":{}}],["addlateevent<t0>",{"_index":7454,"title":{},"content":{"1890":{"position":[[240,23]]}},"keywords":{}}],["addlateevent.wrapp",{"_index":8724,"title":{"2245":{"position":[[6,19]]}},"content":{},"keywords":{}}],["autorefreshsess",{"_index":7233,"title":{},"content":{"1816":{"position":[[173,19],[218,18]]}},"keywords":{}}],["autospawn",{"_index":8727,"title":{},"content":{"2252":{"position":[[396,10],[432,9]]}},"keywords":{}}],["avail",{"_index":533,"title":{"81":{"position":[[0,9]]}},"content":{"31":{"position":[[696,9],[918,9]]},"81":{"position":[[32,9]]},"82":{"position":[[89,9]]},"92":{"position":[[822,9]]},"98":{"position":[[64,9]]},"271":{"position":[[284,10]]},"335":{"position":[[231,9]]},"1239":{"position":[[23,9]]},"1474":{"position":[[14457,9]]},"1476":{"position":[[6568,9]]},"1479":{"position":[[4288,9]]},"1566":{"position":[[1217,9]]},"2114":{"position":[[446,9]]},"2158":{"position":[[564,9]]},"2265":{"position":[[1524,9],[2502,9],[4092,9]]}},"keywords":{}}],["avali",{"_index":8628,"title":{},"content":{"2227":{"position":[[348,9]]}},"keywords":{}}],["averag",{"_index":412,"title":{},"content":{"21":{"position":[[115,7]]},"173":{"position":[[1136,8]]},"2168":{"position":[[75,9]]},"2407":{"position":[[148,7]]}},"keywords":{}}],["avoid",{"_index":1907,"title":{},"content":{"235":{"position":[[940,5],[1247,5]]},"238":{"position":[[351,5]]},"302":{"position":[[109,7]]},"485":{"position":[[0,8]]},"487":{"position":[[152,5]]},"623":{"position":[[0,8]]},"640":{"position":[[0,5]]},"697":{"position":[[46,8]]},"1175":{"position":[[0,5]]},"1474":{"position":[[1251,5]]},"1476":{"position":[[5211,5],[5271,5]]},"1477":{"position":[[643,5],[1155,5],[1891,5]]},"1478":{"position":[[909,5]]},"1566":{"position":[[78,5]]},"1725":{"position":[[0,5]]},"1855":{"position":[[3387,5],[3621,5]]},"1983":{"position":[[821,6]]},"2039":{"position":[[83,5]]},"2306":{"position":[[460,5]]},"2421":{"position":[[2514,5]]},"2492":{"position":[[665,5]]}},"keywords":{}}],["aw",{"_index":1412,"title":{"176":{"position":[[20,6]]},"180":{"position":[[20,5]]}},"content":{"176":{"position":[[16,3]]},"181":{"position":[[169,4]]},"182":{"position":[[431,3]]}},"keywords":{}}],["await",{"_index":1092,"title":{},"content":{"117":{"position":[[1377,5],[2229,5]]},"288":{"position":[[167,6],[865,5]]},"294":{"position":[[130,6],[899,5]]},"460":{"position":[[7,5]]},"1479":{"position":[[3234,7]]},"1741":{"position":[[0,9]]},"1742":{"position":[[59,7]]},"2255":{"position":[[177,6]]},"2279":{"position":[[177,6]]},"2313":{"position":[[177,6]]},"2386":{"position":[[159,6]]},"2471":{"position":[[177,6]]}},"keywords":{}}],["awak",{"_index":1683,"title":{},"content":{"203":{"position":[[1664,7]]},"209":{"position":[[887,7]]},"210":{"position":[[250,5],[409,7]]},"211":{"position":[[723,7]]},"223":{"position":[[130,6]]},"224":{"position":[[278,7]]},"225":{"position":[[505,7]]},"272":{"position":[[1077,7]]},"273":{"position":[[802,7],[1105,5]]},"280":{"position":[[376,7]]},"343":{"position":[[328,7]]},"344":{"position":[[473,5]]},"345":{"position":[[358,7]]},"352":{"position":[[455,5]]},"353":{"position":[[304,7]]},"548":{"position":[[33,5],[173,5]]},"770":{"position":[[40,5]]},"785":{"position":[[28,5]]},"820":{"position":[[55,5]]},"1474":{"position":[[1693,5]]},"1780":{"position":[[560,7]]},"1781":{"position":[[624,7]]},"1783":{"position":[[139,7]]},"1835":{"position":[[1581,5]]},"2253":{"position":[[0,8],[45,7]]},"2290":{"position":[[133,5]]},"2383":{"position":[[0,8],[34,7]]},"2397":{"position":[[0,8],[34,7]]}},"keywords":{}}],["awar",{"_index":39,"title":{},"content":{"0":{"position":[[682,5]]},"303":{"position":[[536,5]]}},"keywords":{}}],["away",{"_index":67,"title":{},"content":{"0":{"position":[[1159,5]]},"42":{"position":[[852,4]]},"1466":{"position":[[832,4]]},"1891":{"position":[[86,4],[291,4]]},"2240":{"position":[[3842,5]]},"2409":{"position":[[80,4]]}},"keywords":{}}],["awesom",{"_index":1528,"title":{},"content":{"183":{"position":[[1807,8]]}},"keywords":{}}],["axi",{"_index":1279,"title":{},"content":{"148":{"position":[[66,4]]},"149":{"position":[[95,4]]}},"keywords":{}}],["azur",{"_index":1416,"title":{"178":{"position":[[10,6]]}},"content":{"178":{"position":[[10,5]]}},"keywords":{}}],["b",{"_index":1603,"title":{},"content":{"190":{"position":[[1645,2]]},"196":{"position":[[808,2]]},"251":{"position":[[2418,1]]},"356":{"position":[[245,2],[407,2],[429,1],[452,2],[497,2],[544,2],[866,2],[950,1],[1279,2]]}},"keywords":{}}],["b'",{"_index":2884,"title":{},"content":{"356":{"position":[[1265,3]]}},"keywords":{}}],["b02c13d",{"_index":4374,"title":{},"content":{"992":{"position":[[38,9]]}},"keywords":{}}],["b0610e2",{"_index":4709,"title":{},"content":{"1133":{"position":[[48,9]]}},"keywords":{}}],["b078387",{"_index":2931,"title":{},"content":{"371":{"position":[[84,9]]}},"keywords":{}}],["b090fa2",{"_index":4110,"title":{},"content":{"870":{"position":[[101,9]]}},"keywords":{}}],["b0af876)weav",{"_index":5965,"title":{},"content":{"1474":{"position":[[20265,16]]}},"keywords":{}}],["b0c936c",{"_index":7075,"title":{},"content":{"1726":{"position":[[111,9]]}},"keywords":{}}],["b0c936c)simplifi",{"_index":6554,"title":{},"content":{"1477":{"position":[[4110,17]]}},"keywords":{}}],["b0da955)mov",{"_index":4017,"title":{},"content":{"843":{"position":[[44,15]]}},"keywords":{}}],["b1",{"_index":7831,"title":{},"content":{"2014":{"position":[[0,3],[36,2]]}},"keywords":{}}],["b10",{"_index":7848,"title":{},"content":{"2014":{"position":[[423,4],[460,3]]}},"keywords":{}}],["b10f3e8",{"_index":4440,"title":{},"content":{"1015":{"position":[[40,9]]}},"keywords":{}}],["b11",{"_index":7850,"title":{},"content":{"2014":{"position":[[474,4],[511,3]]}},"keywords":{}}],["b12",{"_index":7852,"title":{},"content":{"2014":{"position":[[525,4],[562,3]]}},"keywords":{}}],["b13",{"_index":7854,"title":{},"content":{"2014":{"position":[[576,4],[613,3]]}},"keywords":{}}],["b131eb7",{"_index":5159,"title":{},"content":{"1341":{"position":[[45,9]]}},"keywords":{}}],["b14",{"_index":7856,"title":{},"content":{"2014":{"position":[[627,4],[664,3]]}},"keywords":{}}],["b14c692",{"_index":3901,"title":{},"content":{"782":{"position":[[35,9]]}},"keywords":{}}],["b15",{"_index":7858,"title":{},"content":{"2014":{"position":[[679,4],[716,3]]}},"keywords":{}}],["b16",{"_index":7860,"title":{},"content":{"2014":{"position":[[731,4],[768,3]]}},"keywords":{}}],["b1644ae",{"_index":6391,"title":{},"content":{"1476":{"position":[[8984,10]]},"1585":{"position":[[164,10]]}},"keywords":{}}],["b17",{"_index":7862,"title":{},"content":{"2014":{"position":[[783,4],[820,3]]}},"keywords":{}}],["b18",{"_index":7864,"title":{},"content":{"2014":{"position":[[836,4],[873,3]]}},"keywords":{}}],["b19",{"_index":7866,"title":{},"content":{"2014":{"position":[[889,4],[926,3]]}},"keywords":{}}],["b1e05ef",{"_index":7066,"title":{},"content":{"1721":{"position":[[54,9]]}},"keywords":{}}],["b1e05ef)ui",{"_index":6005,"title":{},"content":{"1474":{"position":[[21654,11]]}},"keywords":{}}],["b2",{"_index":7832,"title":{},"content":{"2014":{"position":[[46,3],[82,2]]}},"keywords":{}}],["b20",{"_index":7868,"title":{},"content":{"2014":{"position":[[942,4],[979,3]]}},"keywords":{}}],["b21",{"_index":7870,"title":{},"content":{"2014":{"position":[[996,4],[1033,3]]}},"keywords":{}}],["b22",{"_index":7872,"title":{},"content":{"2014":{"position":[[1050,4],[1087,3]]}},"keywords":{}}],["b221b74",{"_index":6705,"title":{},"content":{"1499":{"position":[[19,9]]}},"keywords":{}}],["b221b74)better",{"_index":5545,"title":{},"content":{"1474":{"position":[[6610,15]]}},"keywords":{}}],["b23",{"_index":7874,"title":{},"content":{"2014":{"position":[[1104,4],[1141,3]]}},"keywords":{}}],["b24",{"_index":7876,"title":{},"content":{"2014":{"position":[[1158,4],[1195,3]]}},"keywords":{}}],["b24542f",{"_index":7039,"title":{},"content":{"1698":{"position":[[40,9]]}},"keywords":{}}],["b24542f)transport",{"_index":6370,"title":{},"content":{"1476":{"position":[[8278,18]]}},"keywords":{}}],["b25",{"_index":7878,"title":{},"content":{"2014":{"position":[[1213,4],[1250,3]]}},"keywords":{}}],["b25f2f9",{"_index":3030,"title":{},"content":{"410":{"position":[[161,9]]}},"keywords":{}}],["b26",{"_index":7880,"title":{},"content":{"2014":{"position":[[1268,4],[1305,3]]}},"keywords":{}}],["b27",{"_index":7882,"title":{},"content":{"2014":{"position":[[1323,4],[1360,3]]}},"keywords":{}}],["b28",{"_index":7884,"title":{},"content":{"2014":{"position":[[1379,4],[1416,3]]}},"keywords":{}}],["b29",{"_index":7886,"title":{},"content":{"2014":{"position":[[1435,4],[1472,3]]}},"keywords":{}}],["b2ba589)replac",{"_index":6478,"title":{},"content":{"1477":{"position":[[2192,16]]}},"keywords":{}}],["b2df972",{"_index":4884,"title":{},"content":{"1208":{"position":[[43,9]]}},"keywords":{}}],["b2e5531",{"_index":4273,"title":{},"content":{"951":{"position":[[49,9]]}},"keywords":{}}],["b2e9d96",{"_index":4159,"title":{},"content":{"891":{"position":[[52,9]]}},"keywords":{}}],["b2f52d7)remov",{"_index":5884,"title":{},"content":{"1474":{"position":[[17450,16]]},"1566":{"position":[[1528,16]]}},"keywords":{}}],["b3",{"_index":7834,"title":{},"content":{"2014":{"position":[[92,3],[128,2]]}},"keywords":{}}],["b30",{"_index":7888,"title":{},"content":{"2014":{"position":[[1491,4],[1528,3]]}},"keywords":{}}],["b31",{"_index":7890,"title":{},"content":{"2014":{"position":[[1548,4],[1585,3]]}},"keywords":{}}],["b3127be)network",{"_index":5773,"title":{},"content":{"1474":{"position":[[13088,16]]}},"keywords":{}}],["b316b35",{"_index":6804,"title":{},"content":{"1562":{"position":[[641,9]]}},"keywords":{}}],["b316b35)weaver",{"_index":6023,"title":{},"content":{"1474":{"position":[[22175,15]]}},"keywords":{}}],["b32",{"_index":7892,"title":{},"content":{"2014":{"position":[[1605,4],[1642,3]]}},"keywords":{}}],["b33",{"_index":7894,"title":{},"content":{"2014":{"position":[[1662,4],[1699,3]]}},"keywords":{}}],["b34",{"_index":7896,"title":{},"content":{"2014":{"position":[[1719,4],[1756,3]]}},"keywords":{}}],["b35",{"_index":7898,"title":{},"content":{"2014":{"position":[[1777,4],[1814,3]]}},"keywords":{}}],["b355604",{"_index":3194,"title":{},"content":{"486":{"position":[[328,9]]}},"keywords":{}}],["b36",{"_index":7900,"title":{},"content":{"2014":{"position":[[1835,4],[1872,3]]}},"keywords":{}}],["b3656a9)command",{"_index":6162,"title":{},"content":{"1476":{"position":[[2781,17]]}},"keywords":{}}],["b3656a9)creat",{"_index":6837,"title":{},"content":{"1567":{"position":[[801,17]]}},"keywords":{}}],["b37",{"_index":7902,"title":{},"content":{"2014":{"position":[[1893,4],[1930,3]]}},"keywords":{}}],["b38",{"_index":7904,"title":{},"content":{"2014":{"position":[[1952,4],[1989,3]]}},"keywords":{}}],["b38a24c",{"_index":3819,"title":{},"content":{"744":{"position":[[40,9]]}},"keywords":{}}],["b39",{"_index":7906,"title":{},"content":{"2014":{"position":[[2011,4],[2048,3]]}},"keywords":{}}],["b3ada19",{"_index":3545,"title":{},"content":{"620":{"position":[[52,9]]}},"keywords":{}}],["b3c1b16",{"_index":6989,"title":{},"content":{"1659":{"position":[[44,9]]}},"keywords":{}}],["b3c1b16)individu",{"_index":6228,"title":{},"content":{"1476":{"position":[[4329,19]]}},"keywords":{}}],["b4",{"_index":7836,"title":{},"content":{"2014":{"position":[[138,3],[174,2]]}},"keywords":{}}],["b40",{"_index":7908,"title":{},"content":{"2014":{"position":[[2070,4],[2107,3]]}},"keywords":{}}],["b4077c1)scene",{"_index":6317,"title":{},"content":{"1476":{"position":[[6740,14]]}},"keywords":{}}],["b41",{"_index":7910,"title":{},"content":{"2014":{"position":[[2130,4],[2167,3]]}},"keywords":{}}],["b42",{"_index":7912,"title":{},"content":{"2014":{"position":[[2190,4],[2227,3]]}},"keywords":{}}],["b43",{"_index":7914,"title":{},"content":{"2014":{"position":[[2250,4],[2287,3]]}},"keywords":{}}],["b44",{"_index":7916,"title":{},"content":{"2014":{"position":[[2310,4],[2347,3]]}},"keywords":{}}],["b45",{"_index":7918,"title":{},"content":{"2014":{"position":[[2371,4],[2408,3]]}},"keywords":{}}],["b4511a0)prev",{"_index":5838,"title":{},"content":{"1474":{"position":[[16313,16]]}},"keywords":{}}],["b4511a0)remov",{"_index":6827,"title":{},"content":{"1566":{"position":[[1447,16]]}},"keywords":{}}],["b4523a0",{"_index":3601,"title":{},"content":{"646":{"position":[[38,9]]}},"keywords":{}}],["b453d36",{"_index":3208,"title":{},"content":{"494":{"position":[[45,9]]}},"keywords":{}}],["b45afad)default",{"_index":6182,"title":{},"content":{"1476":{"position":[[3228,16]]}},"keywords":{}}],["b46",{"_index":7920,"title":{},"content":{"2014":{"position":[[2432,4],[2469,3]]}},"keywords":{}}],["b4666cb",{"_index":3976,"title":{},"content":{"822":{"position":[[38,9]]}},"keywords":{}}],["b47",{"_index":7922,"title":{},"content":{"2014":{"position":[[2493,4],[2530,3]]}},"keywords":{}}],["b48",{"_index":7924,"title":{},"content":{"2014":{"position":[[2555,4],[2592,3]]}},"keywords":{}}],["b49",{"_index":7926,"title":{},"content":{"2014":{"position":[[2617,4],[2654,3]]}},"keywords":{}}],["b4a837d",{"_index":4112,"title":{},"content":{"872":{"position":[[37,9]]}},"keywords":{}}],["b4acf7d)ad",{"_index":6111,"title":{},"content":{"1476":{"position":[[1392,15]]},"1567":{"position":[[419,15]]}},"keywords":{}}],["b5",{"_index":7838,"title":{},"content":{"2014":{"position":[[185,3],[221,2]]}},"keywords":{}}],["b50",{"_index":7928,"title":{},"content":{"2014":{"position":[[2679,4],[2716,3]]}},"keywords":{}}],["b51",{"_index":7930,"title":{},"content":{"2014":{"position":[[2742,4],[2779,3]]}},"keywords":{}}],["b52",{"_index":7932,"title":{},"content":{"2014":{"position":[[2805,4],[2842,3]]}},"keywords":{}}],["b53",{"_index":7934,"title":{},"content":{"2014":{"position":[[2868,4],[2905,3]]}},"keywords":{}}],["b530360",{"_index":3045,"title":{},"content":{"420":{"position":[[45,9]]}},"keywords":{}}],["b54",{"_index":7936,"title":{},"content":{"2014":{"position":[[2931,4],[2968,3]]}},"keywords":{}}],["b55",{"_index":7938,"title":{},"content":{"2014":{"position":[[2995,4],[3032,3]]}},"keywords":{}}],["b56",{"_index":7940,"title":{},"content":{"2014":{"position":[[3059,4],[3096,3]]}},"keywords":{}}],["b57",{"_index":7942,"title":{},"content":{"2014":{"position":[[3123,4],[3160,3]]}},"keywords":{}}],["b58",{"_index":7944,"title":{},"content":{"2014":{"position":[[3188,4],[3225,3]]}},"keywords":{}}],["b59",{"_index":7946,"title":{},"content":{"2014":{"position":[[3253,4],[3290,3]]}},"keywords":{}}],["b5a765e)set",{"_index":3797,"title":{},"content":{"734":{"position":[[261,16]]}},"keywords":{}}],["b5b2f3e)scenemessag",{"_index":6488,"title":{},"content":{"1477":{"position":[[2498,21]]}},"keywords":{}}],["b5dfcf4)ad",{"_index":6090,"title":{},"content":{"1476":{"position":[[845,14]]}},"keywords":{}}],["b5dfcf4)check",{"_index":7093,"title":{},"content":{"1734":{"position":[[60,14]]}},"keywords":{}}],["b5ff43a)synclist",{"_index":6354,"title":{},"content":{"1476":{"position":[[7802,18]]}},"keywords":{}}],["b6",{"_index":7840,"title":{},"content":{"2014":{"position":[[232,3],[268,2]]}},"keywords":{}}],["b60",{"_index":7948,"title":{},"content":{"2014":{"position":[[3318,4],[3355,3]]}},"keywords":{}}],["b61",{"_index":7950,"title":{},"content":{"2014":{"position":[[3384,4],[3421,3]]}},"keywords":{}}],["b62",{"_index":7952,"title":{},"content":{"2014":{"position":[[3450,4],[3487,3]]}},"keywords":{}}],["b627779",{"_index":7013,"title":{},"content":{"1678":{"position":[[129,9]]}},"keywords":{}}],["b627779)make",{"_index":5749,"title":{},"content":{"1474":{"position":[[12211,15]]}},"keywords":{}}],["b63",{"_index":7954,"title":{},"content":{"2014":{"position":[[3516,4],[3553,3]]}},"keywords":{}}],["b64",{"_index":7956,"title":{},"content":{"2014":{"position":[[3582,4],[3619,3]]}},"keywords":{}}],["b675027",{"_index":5027,"title":{},"content":{"1278":{"position":[[38,10]]}},"keywords":{}}],["b67b3e4)stophost",{"_index":5983,"title":{},"content":{"1474":{"position":[[20732,17]]}},"keywords":{}}],["b685226)gener",{"_index":4917,"title":{},"content":{"1225":{"position":[[46,17]]}},"keywords":{}}],["b685e11",{"_index":4016,"title":{},"content":{"842":{"position":[[113,9]]}},"keywords":{}}],["b6984ca",{"_index":3712,"title":{},"content":{"698":{"position":[[41,9]]}},"keywords":{}}],["b6d1d09)command",{"_index":6165,"title":{},"content":{"1476":{"position":[[2833,17]]}},"keywords":{}}],["b6d1d09)sync",{"_index":6771,"title":{},"content":{"1547":{"position":[[96,13]]}},"keywords":{}}],["b6f3526",{"_index":3123,"title":{},"content":{"454":{"position":[[92,9]]}},"keywords":{}}],["b7",{"_index":7842,"title":{},"content":{"2014":{"position":[[279,3],[315,2]]}},"keywords":{}}],["b729cdc",{"_index":3778,"title":{},"content":{"726":{"position":[[52,9]]}},"keywords":{}}],["b7465a5",{"_index":4791,"title":{},"content":{"1165":{"position":[[66,9]]}},"keywords":{}}],["b749c4b",{"_index":6902,"title":{},"content":{"1597":{"position":[[74,9]]}},"keywords":{}}],["b749c4b)isclient",{"_index":5730,"title":{},"content":{"1474":{"position":[[11677,17]]}},"keywords":{}}],["b74fcf9",{"_index":4653,"title":{},"content":{"1108":{"position":[[48,9]]}},"keywords":{}}],["b76e873",{"_index":4829,"title":{},"content":{"1184":{"position":[[38,9]]}},"keywords":{}}],["b786646",{"_index":6791,"title":{},"content":{"1560":{"position":[[56,9]]}},"keywords":{}}],["b786646)spawn",{"_index":6338,"title":{},"content":{"1476":{"position":[[7309,17]]}},"keywords":{}}],["b7ae4d",{"_index":3411,"title":{},"content":{"562":{"position":[[103,9]]}},"keywords":{}}],["b8",{"_index":7844,"title":{},"content":{"2014":{"position":[[327,3],[363,2]]}},"keywords":{}}],["b8618d3",{"_index":6581,"title":{},"content":{"1478":{"position":[[253,10]]}},"keywords":{}}],["b879bef",{"_index":7136,"title":{},"content":{"1755":{"position":[[39,9]]}},"keywords":{}}],["b879bef)decoupl",{"_index":5619,"title":{},"content":{"1474":{"position":[[8608,17]]}},"keywords":{}}],["b89c454",{"_index":4611,"title":{},"content":{"1088":{"position":[[27,9]]}},"keywords":{}}],["b8b07ee)refactor(clientobjectmanag",{"_index":3507,"title":{},"content":{"601":{"position":[[289,40]]}},"keywords":{}}],["b8bcd9a)add",{"_index":5495,"title":{},"content":{"1474":{"position":[[5098,12]]}},"keywords":{}}],["b8bcd9a)build",{"_index":7083,"title":{},"content":{"1733":{"position":[[70,14]]}},"keywords":{}}],["b8c87d9)smell",{"_index":5936,"title":{},"content":{"1474":{"position":[[19204,14]]}},"keywords":{}}],["b8c87d9)updat",{"_index":7031,"title":{},"content":{"1693":{"position":[[163,16]]}},"keywords":{}}],["b8fc97d",{"_index":4706,"title":{},"content":{"1132":{"position":[[23,9]]}},"keywords":{}}],["b9",{"_index":7846,"title":{},"content":{"2014":{"position":[[375,3],[411,2]]}},"keywords":{}}],["b916064",{"_index":5359,"title":{},"content":{"1473":{"position":[[414,10]]},"1746":{"position":[[45,10]]}},"keywords":{}}],["b92da91)assign",{"_index":5535,"title":{},"content":{"1474":{"position":[[6310,15]]}},"keywords":{}}],["b92da91)bett",{"_index":6816,"title":{},"content":{"1566":{"position":[[412,15]]}},"keywords":{}}],["b950d39",{"_index":4242,"title":{},"content":{"939":{"position":[[117,9]]}},"keywords":{}}],["b96ed68)upd",{"_index":3067,"title":{},"content":{"435":{"position":[[52,17]]}},"keywords":{}}],["b9b490f",{"_index":3185,"title":{},"content":{"485":{"position":[[75,9]]}},"keywords":{}}],["b9e13e3",{"_index":3263,"title":{},"content":{"513":{"position":[[43,9]]}},"keywords":{}}],["b^2",{"_index":1247,"title":{},"content":{"139":{"position":[[358,3]]}},"keywords":{}}],["ba54dd2",{"_index":3149,"title":{},"content":{"467":{"position":[[38,9]]}},"keywords":{}}],["back",{"_index":1494,"title":{},"content":{"182":{"position":[[3118,4],[3280,4]]},"183":{"position":[[1110,4]]},"187":{"position":[[1028,4],[1266,4]]},"202":{"position":[[1039,4]]},"207":{"position":[[475,4]]},"251":{"position":[[2391,4],[2694,4]]},"761":{"position":[[43,4]]},"995":{"position":[[23,4]]},"1090":{"position":[[17,7]]},"1123":{"position":[[33,4]]},"1474":{"position":[[3188,4],[18459,4],[18704,4],[18896,4]]},"1733":{"position":[[786,4],[982,4],[1174,4]]},"2023":{"position":[[3156,4]]},"2027":{"position":[[341,4]]},"2031":{"position":[[2630,4],[3276,4]]},"2033":{"position":[[388,4]]},"2241":{"position":[[40,7],[178,7],[432,7]]},"2408":{"position":[[570,4]]},"2417":{"position":[[824,4],[2252,4],[10951,4]]}},"keywords":{}}],["background",{"_index":721,"title":{},"content":{"53":{"position":[[209,11]]},"213":{"position":[[1015,10]]},"810":{"position":[[18,10]]},"1474":{"position":[[10263,10]]},"1570":{"position":[[92,10]]},"1880":{"position":[[41,11],[79,10]]},"2417":{"position":[[1378,10]]}},"keywords":{}}],["backward",{"_index":1214,"title":{},"content":{"130":{"position":[[78,9]]},"159":{"position":[[78,9]]},"1479":{"position":[[1853,9]]},"1646":{"position":[[451,9]]}},"keywords":{}}],["bafe18c",{"_index":4666,"title":{},"content":{"1112":{"position":[[34,9]]}},"keywords":{}}],["ball",{"_index":744,"title":{"57":{"position":[[4,4]]}},"content":{"57":{"position":[[4,4],[362,4]]},"240":{"position":[[584,6],[1904,5]]}},"keywords":{}}],["ball(clon",{"_index":2040,"title":{},"content":{"241":{"position":[[3401,11]]}},"keywords":{}}],["ballprefab",{"_index":1985,"title":{},"content":{"240":{"position":[[2056,11]]},"241":{"position":[[2317,11]]}},"keywords":{}}],["ban",{"_index":9014,"title":{},"content":{"2400":{"position":[[1130,4]]}},"keywords":{}}],["bandwidth",{"_index":589,"title":{},"content":{"37":{"position":[[658,9]]},"337":{"position":[[569,9]]},"1166":{"position":[[22,9]]},"1477":{"position":[[1937,9]]}},"keywords":{}}],["bar",{"_index":835,"title":{},"content":{"67":{"position":[[1131,4]]},"201":{"position":[[1131,4]]}},"keywords":{}}],["base",{"_index":84,"title":{"3":{"position":[[6,5]]}},"content":{"0":{"position":[[1510,5],[1741,5]]},"3":{"position":[[276,5]]},"10":{"position":[[95,6]]},"20":{"position":[[103,5]]},"22":{"position":[[127,5]]},"42":{"position":[[562,5]]},"49":{"position":[[51,4]]},"50":{"position":[[409,5]]},"59":{"position":[[364,5]]},"71":{"position":[[2051,5]]},"81":{"position":[[291,5]]},"92":{"position":[[1254,5]]},"119":{"position":[[328,5],[428,5]]},"182":{"position":[[669,4]]},"202":{"position":[[234,4]]},"238":{"position":[[2380,5],[2455,5]]},"240":{"position":[[446,5],[1105,5]]},"264":{"position":[[79,5],[1727,5]]},"271":{"position":[[34,5]]},"346":{"position":[[582,4],[1594,4],[2632,4],[2686,4]]},"692":{"position":[[107,5]]},"703":{"position":[[25,4]]},"710":{"position":[[15,4]]},"768":{"position":[[14,5]]},"864":{"position":[[50,4]]},"1229":{"position":[[8,4]]},"1459":{"position":[[10,5]]},"1474":{"position":[[6290,4],[7118,4],[7140,4],[7167,4],[12259,4],[12385,4],[22287,4],[22560,5]]},"1476":{"position":[[1934,4],[2910,5],[2962,5],[5005,5]]},"1477":{"position":[[2843,6]]},"1478":{"position":[[1238,5]]},"1546":{"position":[[8,4]]},"1558":{"position":[[10,5]]},"1562":{"position":[[85,4],[112,4]]},"1566":{"position":[[392,4],[1103,4]]},"1577":{"position":[[138,4],[397,4]]},"1578":{"position":[[64,4]]},"2240":{"position":[[1571,4],[2869,5]]},"2253":{"position":[[1372,5]]},"2358":{"position":[[2837,5]]},"2359":{"position":[[2175,5]]},"2492":{"position":[[556,5]]}},"keywords":{}}],["base.deserializesyncvars(read",{"_index":1187,"title":{},"content":{"125":{"position":[[650,32]]},"131":{"position":[[597,32]]},"137":{"position":[[558,32]]},"142":{"position":[[645,32]]},"151":{"position":[[1012,32]]},"156":{"position":[[602,32]]},"160":{"position":[[597,32]]},"346":{"position":[[1605,32]]}},"keywords":{}}],["base.get_syncvardirtybit",{"_index":2829,"title":{},"content":{"346":{"position":[[988,29],[1101,29],[1214,29]]}},"keywords":{}}],["base.ondestroy",{"_index":2557,"title":{},"content":{"312":{"position":[[269,17]]}},"keywords":{}}],["base.onseri",{"_index":1321,"title":{},"content":{"163":{"position":[[250,16]]}},"keywords":{}}],["base.processclientrequest(request",{"_index":286,"title":{},"content":{"10":{"position":[[1816,34]]}},"keywords":{}}],["base.serializesyncvars(writ",{"_index":1180,"title":{},"content":{"125":{"position":[[287,30]]},"131":{"position":[[224,30]]},"137":{"position":[[207,30]]},"142":{"position":[[282,30]]},"151":{"position":[[493,30]]},"156":{"position":[[221,30]]},"160":{"position":[[224,30]]},"346":{"position":[[608,30]]}},"keywords":{}}],["base.start",{"_index":2554,"title":{},"content":{"311":{"position":[[258,13]]}},"keywords":{}}],["base.syncvardirtybit",{"_index":1179,"title":{},"content":{"125":{"position":[[250,22]]},"131":{"position":[[187,22]]},"137":{"position":[[170,22]]},"142":{"position":[[245,22]]},"151":{"position":[[456,22]]},"156":{"position":[[184,22]]},"160":{"position":[[187,22]]}},"keywords":{}}],["base.syncvarequal<int>(num",{"_index":2839,"title":{},"content":{"346":{"position":[[1886,35],[2303,35]]}},"keywords":{}}],["basic",{"_index":97,"title":{"44":{"position":[[0,5]]},"72":{"position":[[0,5]]},"100":{"position":[[0,5]]},"340":{"position":[[0,5]]},"343":{"position":[[0,5]]},"351":{"position":[[0,5]]}},"content":{"0":{"position":[[1879,5]]},"44":{"position":[[0,5],[29,5]]},"56":{"position":[[103,5]]},"94":{"position":[[164,5]]},"100":{"position":[[0,5],[38,5],[176,5],[695,5]]},"172":{"position":[[252,5]]},"175":{"position":[[1173,5]]},"203":{"position":[[26,7]]},"211":{"position":[[1587,5]]},"223":{"position":[[160,9]]},"304":{"position":[[367,5]]},"1214":{"position":[[14,5]]},"1271":{"position":[[17,5]]},"1478":{"position":[[611,5]]}},"keywords":{}}],["basicauthent",{"_index":4248,"title":{"1824":{"position":[[6,18]]}},"content":{"942":{"position":[[0,18]]},"1822":{"position":[[0,19]]}},"keywords":{}}],["basicauthenticator.joinmessag",{"_index":7246,"title":{"1831":{"position":[[7,30]]}},"content":{"1823":{"position":[[0,31]]},"1826":{"position":[[29,32],[151,30]]}},"keywords":{}}],["batch",{"_index":2943,"title":{"2115":{"position":[[6,5]]}},"content":{"377":{"position":[[7,8]]},"2091":{"position":[[99,6]]},"2141":{"position":[[649,7],[1092,7]]},"2156":{"position":[[536,7]]},"2173":{"position":[[564,7]]}},"keywords":{}}],["batch(int",{"_index":8407,"title":{},"content":{"2116":{"position":[[34,9]]}},"keywords":{}}],["batch(int32",{"_index":8406,"title":{},"content":{"2116":{"position":[[0,13]]}},"keywords":{}}],["batchmod",{"_index":8804,"title":{},"content":{"2285":{"position":[[156,9]]}},"keywords":{}}],["bb128fe)revert",{"_index":6602,"title":{},"content":{"1478":{"position":[[720,15]]}},"keywords":{}}],["bb26471)ad",{"_index":3189,"title":{},"content":{"486":{"position":[[171,15]]}},"keywords":{}}],["bb34c04)draw",{"_index":3384,"title":{},"content":{"555":{"position":[[113,16]]}},"keywords":{}}],["bb55baa",{"_index":7100,"title":{},"content":{"1735":{"position":[[123,9]]}},"keywords":{}}],["bb55baa)exampl",{"_index":6190,"title":{},"content":{"1476":{"position":[[3395,16]]}},"keywords":{}}],["bb70bf9)compil",{"_index":5614,"title":{},"content":{"1474":{"position":[[8481,20]]}},"keywords":{}}],["bb70bf9)remov",{"_index":6860,"title":{},"content":{"1577":{"position":[[190,16]]}},"keywords":{}}],["bb916f3)fix",{"_index":3649,"title":{},"content":{"670":{"position":[[129,15]]}},"keywords":{}}],["bb9f209",{"_index":4232,"title":{},"content":{"934":{"position":[[57,9]]}},"keywords":{}}],["bc1b82a",{"_index":3953,"title":{},"content":{"812":{"position":[[57,9]]}},"keywords":{}}],["bc32d06)renam",{"_index":4067,"title":{},"content":{"851":{"position":[[67,17]]}},"keywords":{}}],["bc37497)regist",{"_index":5847,"title":{},"content":{"1474":{"position":[[16552,17]]}},"keywords":{}}],["bc37497)stack",{"_index":6896,"title":{},"content":{"1592":{"position":[[131,14]]}},"keywords":{}}],["bc5da6a)us",{"_index":3861,"title":{},"content":{"764":{"position":[[247,14]]}},"keywords":{}}],["bc7a961)list",{"_index":5739,"title":{},"content":{"1474":{"position":[[11968,13]]}},"keywords":{}}],["bc7e116)transport",{"_index":6373,"title":{},"content":{"1476":{"position":[[8400,19]]}},"keywords":{}}],["bc89211",{"_index":3670,"title":{},"content":{"679":{"position":[[75,9]]}},"keywords":{}}],["bcb8ae7",{"_index":4970,"title":{},"content":{"1250":{"position":[[70,9]]}},"keywords":{}}],["bcc44a7",{"_index":3946,"title":{},"content":{"809":{"position":[[48,9]]}},"keywords":{}}],["bcd76c5)improv",{"_index":6219,"title":{},"content":{"1476":{"position":[[4095,17]]}},"keywords":{}}],["bcd76c5)networkserver.sendtoreadi",{"_index":6866,"title":{},"content":{"1578":{"position":[[336,34]]}},"keywords":{}}],["bd043a3",{"_index":6716,"title":{},"content":{"1508":{"position":[[42,9]]}},"keywords":{}}],["bd043a3)dont",{"_index":5665,"title":{},"content":{"1474":{"position":[[9823,13]]}},"keywords":{}}],["bd3676d",{"_index":4761,"title":{},"content":{"1151":{"position":[[73,10]]}},"keywords":{}}],["bd7a17a",{"_index":6738,"title":{},"content":{"1522":{"position":[[45,9]]}},"keywords":{}}],["bd7a17a)allow",{"_index":6122,"title":{},"content":{"1476":{"position":[[1729,14]]}},"keywords":{}}],["bd95cea",{"_index":6534,"title":{},"content":{"1477":{"position":[[3680,10]]},"1601":{"position":[[120,10]]}},"keywords":{}}],["bdd0d9c",{"_index":5099,"title":{},"content":{"1312":{"position":[[49,9]]}},"keywords":{}}],["bdd81e3",{"_index":5252,"title":{},"content":{"1458":{"position":[[18,9]]}},"keywords":{}}],["bdec276)ad",{"_index":5504,"title":{},"content":{"1474":{"position":[[5364,14]]}},"keywords":{}}],["bdec276)cal",{"_index":6858,"title":{},"content":{"1577":{"position":[[78,13]]}},"keywords":{}}],["bdf12c8)#651",{"_index":5470,"title":{},"content":{"1474":{"position":[[4480,13]]}},"keywords":{}}],["be",{"_index":955,"title":{},"content":{"87":{"position":[[81,5]]},"92":{"position":[[60,5]]},"192":{"position":[[32,5]]},"235":{"position":[[951,5]]},"245":{"position":[[2697,5]]},"279":{"position":[[354,5]]},"280":{"position":[[1204,5]]},"331":{"position":[[154,5],[226,5]]},"332":{"position":[[212,5]]},"357":{"position":[[62,5]]},"407":{"position":[[28,5]]},"414":{"position":[[17,5]]},"416":{"position":[[16,5]]},"474":{"position":[[25,5]]},"485":{"position":[[20,5]]},"488":{"position":[[31,5]]},"496":{"position":[[20,5]]},"541":{"position":[[93,5]]},"556":{"position":[[27,5]]},"582":{"position":[[86,5]]},"594":{"position":[[67,5]]},"614":{"position":[[142,5]]},"670":{"position":[[163,5],[242,5]]},"732":{"position":[[30,5]]},"850":{"position":[[24,5]]},"911":{"position":[[24,5]]},"939":{"position":[[98,5]]},"976":{"position":[[40,5]]},"1024":{"position":[[121,5]]},"1073":{"position":[[24,5]]},"1106":{"position":[[97,5]]},"1466":{"position":[[450,5]]},"1474":{"position":[[7836,5],[12400,5],[22387,5]]},"1546":{"position":[[23,5]]},"1566":{"position":[[1822,5]]},"1626":{"position":[[7,5]]},"2022":{"position":[[34,5]]},"2158":{"position":[[1529,5]]},"2267":{"position":[[171,5]]},"2306":{"position":[[474,5]]},"2347":{"position":[[21,5]]},"2358":{"position":[[233,5]]},"2359":{"position":[[2891,5],[3403,5]]},"2383":{"position":[[1168,5]]},"2397":{"position":[[1109,5]]},"2404":{"position":[[1125,5]]},"2415":{"position":[[563,5]]},"2434":{"position":[[1254,5]]}},"keywords":{}}],["be5aa69",{"_index":4854,"title":{},"content":{"1194":{"position":[[38,9]]}},"keywords":{}}],["beb4ed9",{"_index":4027,"title":{},"content":{"843":{"position":[[332,9]]}},"keywords":{}}],["becom",{"_index":1017,"title":{},"content":{"98":{"position":[[151,6]]},"243":{"position":[[227,7]]},"262":{"position":[[756,7],[885,7]]},"263":{"position":[[773,7]]},"1782":{"position":[[439,6]]},"2370":{"position":[[3156,6]]}},"keywords":{}}],["bef8514",{"_index":3330,"title":{},"content":{"538":{"position":[[428,9]]}},"keywords":{}}],["befor",{"_index":153,"title":{"189":{"position":[[0,6]]}},"content":{"3":{"position":[[749,6]]},"24":{"position":[[1705,6]]},"29":{"position":[[158,6]]},"46":{"position":[[489,6]]},"67":{"position":[[0,6]]},"163":{"position":[[185,6]]},"164":{"position":[[606,6]]},"173":{"position":[[826,6]]},"183":{"position":[[464,6]]},"184":{"position":[[0,6]]},"201":{"position":[[0,6]]},"203":{"position":[[128,7],[1168,6],[1276,6],[2348,9]]},"235":{"position":[[1593,6]]},"240":{"position":[[2460,6]]},"241":{"position":[[2643,6]]},"245":{"position":[[2960,6]]},"302":{"position":[[682,6],[724,6],[827,6]]},"303":{"position":[[126,6]]},"311":{"position":[[250,7]]},"312":{"position":[[261,7]]},"358":{"position":[[92,6]]},"366":{"position":[[103,6]]},"391":{"position":[[231,6]]},"435":{"position":[[90,6]]},"451":{"position":[[84,6]]},"456":{"position":[[62,6]]},"524":{"position":[[177,6]]},"537":{"position":[[118,6]]},"679":{"position":[[52,6]]},"734":{"position":[[322,6]]},"908":{"position":[[37,6]]},"922":{"position":[[25,6]]},"1054":{"position":[[25,6]]},"1320":{"position":[[39,6]]},"1353":{"position":[[56,6]]},"1358":{"position":[[56,6]]},"1363":{"position":[[56,6]]},"1368":{"position":[[56,6]]},"1474":{"position":[[848,6],[2306,6],[7107,6],[10592,6],[11630,6]]},"1477":{"position":[[71,6]]},"1577":{"position":[[127,6]]},"1586":{"position":[[19,6]]},"1597":{"position":[[27,6]]},"1655":{"position":[[78,6]]},"1766":{"position":[[679,6]]},"1935":{"position":[[1197,6]]},"2018":{"position":[[45,6]]},"2130":{"position":[[305,6],[414,6],[722,6],[1054,6],[1567,6],[1661,6]]},"2181":{"position":[[288,6]]},"2261":{"position":[[660,6]]},"2306":{"position":[[933,6]]},"2325":{"position":[[375,6]]},"2350":{"position":[[295,6]]},"2370":{"position":[[3452,6],[4450,6]]},"2416":{"position":[[735,6]]},"2518":{"position":[[48,6]]}},"keywords":{}}],["beforehand",{"_index":1483,"title":{},"content":{"182":{"position":[[2656,11]]}},"keywords":{}}],["begin",{"_index":1570,"title":{"189":{"position":[[11,6]]}},"content":{"2240":{"position":[[6207,6]]},"2466":{"position":[[88,6]]}},"keywords":{}}],["behav",{"_index":133,"title":{},"content":{"3":{"position":[[142,6]]},"240":{"position":[[1212,6]]}},"keywords":{}}],["behavior",{"_index":1030,"title":{},"content":{"99":{"position":[[1164,9]]},"263":{"position":[[680,8]]},"288":{"position":[[1382,9]]},"1077":{"position":[[24,9]]},"1159":{"position":[[33,8]]},"1239":{"position":[[44,9]]},"1474":{"position":[[10174,9],[19177,8]]},"1479":{"position":[[1393,8]]},"1643":{"position":[[101,8]]},"1693":{"position":[[136,8]]},"2417":{"position":[[1439,8],[1943,8],[9031,8]]}},"keywords":{}}],["behaviour",{"_index":1317,"title":{"162":{"position":[[8,9]]},"214":{"position":[[8,9]]}},"content":{"163":{"position":[[26,9],[86,9],[160,9]]},"164":{"position":[[26,9],[88,9],[160,9],[237,9]]},"171":{"position":[[421,9]]},"247":{"position":[[494,10],[890,9]]},"558":{"position":[[19,9]]},"1960":{"position":[[123,10],[276,9]]},"1961":{"position":[[448,10],[505,9]]},"1966":{"position":[[118,10],[266,9],[536,10],[688,9],[1000,10],[1133,9],[1529,10],[1658,9],[2045,10],[2133,9],[2439,10],[2531,9]]},"1971":{"position":[[89,11],[161,10],[381,10],[586,9],[886,10],[1104,9],[1254,10],[1323,9],[1471,10],[1551,9]]},"1979":{"position":[[118,10],[270,9],[566,10],[699,9],[1071,10],[1163,9]]},"2334":{"position":[[102,10],[171,9]]},"2338":{"position":[[72,10],[119,9]]},"2341":{"position":[[219,10],[288,9]]},"2357":{"position":[[158,9]]},"2359":{"position":[[1107,9],[1947,9]]},"2370":{"position":[[2785,9],[4372,10],[4839,10]]}},"keywords":{}}],["behaviourid",{"_index":8937,"title":{},"content":{"2358":{"position":[[2959,12],[3074,11]]}},"keywords":{}}],["behind",{"_index":860,"title":{},"content":{"71":{"position":[[425,6]]}},"keywords":{}}],["belong",{"_index":2056,"title":{},"content":{"243":{"position":[[1469,9]]},"333":{"position":[[154,9]]},"734":{"position":[[143,6]]},"2091":{"position":[[147,7]]},"2358":{"position":[[1055,7]]},"2382":{"position":[[66,6]]}},"keywords":{}}],["below",{"_index":832,"title":{},"content":{"67":{"position":[[1018,5]]},"71":{"position":[[1078,5]]},"81":{"position":[[10,5]]},"82":{"position":[[37,6]]},"164":{"position":[[523,5]]},"187":{"position":[[296,5]]},"201":{"position":[[1018,5]]},"209":{"position":[[274,5],[2229,6]]},"210":{"position":[[212,6]]},"211":{"position":[[940,5],[1937,5]]},"238":{"position":[[196,5]]},"240":{"position":[[483,6],[897,5]]},"241":{"position":[[3390,6]]},"243":{"position":[[1085,5]]},"272":{"position":[[10,5]]},"273":{"position":[[10,5]]},"274":{"position":[[10,5]]},"277":{"position":[[6,5]]},"306":{"position":[[152,5]]},"308":{"position":[[1137,5]]},"321":{"position":[[137,6]]},"1780":{"position":[[0,5]]},"1781":{"position":[[0,5]]}},"keywords":{}}],["benchmark",{"_index":4720,"title":{},"content":{"1139":{"position":[[7,9]]},"1335":{"position":[[43,9]]},"1499":{"position":[[0,9]]}},"keywords":{}}],["benefit",{"_index":436,"title":{},"content":{"22":{"position":[[657,9]]},"235":{"position":[[1047,9]]}},"keywords":{}}],["besid",{"_index":1703,"title":{},"content":{"205":{"position":[[140,7]]},"242":{"position":[[963,7]]}},"keywords":{}}],["best",{"_index":1010,"title":{"115":{"position":[[0,4]]}},"content":{"96":{"position":[[265,4]]},"187":{"position":[[1413,4]]},"190":{"position":[[1053,4]]},"204":{"position":[[361,5]]},"240":{"position":[[1550,4]]},"328":{"position":[[255,4]]},"358":{"position":[[134,4]]},"359":{"position":[[95,4]]},"360":{"position":[[115,4]]},"1867":{"position":[[85,4]]},"2039":{"position":[[262,4]]},"2204":{"position":[[1095,4]]},"2518":{"position":[[70,4],[260,4]]}},"keywords":{}}],["better",{"_index":365,"title":{},"content":{"15":{"position":[[403,6]]},"71":{"position":[[495,6]]},"254":{"position":[[703,6]]},"337":{"position":[[1459,6]]},"813":{"position":[[0,6]]},"1005":{"position":[[0,6]]},"1139":{"position":[[0,6]]},"1245":{"position":[[0,6]]}},"keywords":{}}],["between",{"_index":104,"title":{},"content":{"0":{"position":[[2158,7]]},"10":{"position":[[639,7]]},"21":{"position":[[208,7]]},"24":{"position":[[1851,7]]},"43":{"position":[[1079,7]]},"61":{"position":[[431,7]]},"63":{"position":[[105,7]]},"64":{"position":[[158,7]]},"87":{"position":[[137,7]]},"123":{"position":[[16,7]]},"135":{"position":[[16,7]]},"172":{"position":[[191,7]]},"173":{"position":[[79,7]]},"202":{"position":[[595,7]]},"240":{"position":[[1439,7]]},"264":{"position":[[1752,7]]},"292":{"position":[[83,7]]},"306":{"position":[[112,7]]},"337":{"position":[[352,7]]},"357":{"position":[[46,7]]},"1477":{"position":[[1465,8]]},"1568":{"position":[[194,8]]},"1830":{"position":[[72,7]]},"1981":{"position":[[150,7]]},"2054":{"position":[[312,7]]},"2093":{"position":[[1104,7]]},"2193":{"position":[[792,7]]},"2240":{"position":[[2447,7],[3925,7],[4253,7],[4586,7]]},"2370":{"position":[[1191,7],[1330,7]]},"2408":{"position":[[411,7]]}},"keywords":{}}],["bf62345",{"_index":5038,"title":{},"content":{"1281":{"position":[[45,9]]}},"keywords":{}}],["bf9eb61)networkconnect",{"_index":6270,"title":{},"content":{"1476":{"position":[[5494,26]]}},"keywords":{}}],["big",{"_index":679,"title":{},"content":{"46":{"position":[[1015,3]]},"830":{"position":[[39,3]]},"1474":{"position":[[21858,3]]},"1709":{"position":[[4,3]]},"2347":{"position":[[88,3]]}},"keywords":{}}],["bigger",{"_index":3458,"title":{},"content":{"585":{"position":[[64,6]]}},"keywords":{}}],["bill",{"_index":1575,"title":{},"content":{"189":{"position":[[396,7],[524,7]]}},"keywords":{}}],["binarywrit",{"_index":6471,"title":{},"content":{"1477":{"position":[[2025,13]]}},"keywords":{}}],["bind",{"_index":4152,"title":{},"content":{"889":{"position":[[45,4]]},"2199":{"position":[[231,4]]}},"keywords":{}}],["bind(iendpoint",{"_index":8461,"title":{},"content":{"2156":{"position":[[0,16],[35,14]]},"2158":{"position":[[0,16],[117,14]]},"2173":{"position":[[0,16],[42,14]]},"2223":{"position":[[0,16],[42,14]]},"2227":{"position":[[0,16],[42,14]]}},"keywords":{}}],["bit",{"_index":960,"title":{"118":{"position":[[0,3]]},"119":{"position":[[0,3]]},"126":{"position":[[0,3]]},"132":{"position":[[0,3]]}},"content":{"88":{"position":[[151,3]]},"119":{"position":[[106,4],[161,4]]},"123":{"position":[[176,3]]},"124":{"position":[[45,4]]},"129":{"position":[[204,3],[508,3]]},"130":{"position":[[246,3]]},"133":{"position":[[117,4],[171,4]]},"139":{"position":[[1086,5],[1098,4],[1189,4],[1214,5],[1296,3],[1332,4],[1367,4]]},"155":{"position":[[206,3],[453,3]]},"158":{"position":[[204,3],[508,3]]},"159":{"position":[[246,3]]},"211":{"position":[[27,5]]},"238":{"position":[[2233,4],[2635,4]]},"240":{"position":[[1701,3]]},"335":{"position":[[335,3],[399,3],[1698,4]]},"337":{"position":[[735,4],[804,4]]},"346":{"position":[[755,5],[1758,5]]},"445":{"position":[[24,4]]},"537":{"position":[[352,4]]},"590":{"position":[[24,4]]},"831":{"position":[[59,4]]},"833":{"position":[[17,3]]},"848":{"position":[[30,3]]},"855":{"position":[[29,3]]},"861":{"position":[[28,3]]},"862":{"position":[[24,3]]},"864":{"position":[[32,3]]},"872":{"position":[[21,3]]},"877":{"position":[[115,3]]},"899":{"position":[[59,3]]},"902":{"position":[[59,3]]},"1477":{"position":[[1780,3],[1829,3]]},"1983":{"position":[[54,4],[143,4],[267,3],[403,3],[576,3],[665,4],[714,4],[1090,3],[1133,3],[1238,3],[1281,3],[1940,4],[2129,4],[3374,3]]},"1987":{"position":[[208,4]]},"1990":{"position":[[45,4],[331,3],[482,4],[840,3],[997,4]]},"1992":{"position":[[30,4],[47,4],[79,4],[92,4],[158,4],[259,5],[312,4]]},"1996":{"position":[[540,4]]},"2000":{"position":[[245,4],[682,4]]},"2022":{"position":[[115,3]]},"2023":{"position":[[790,3],[913,4],[1401,3],[2479,5],[2532,4],[2616,4],[2693,5],[2763,4],[2778,4],[2841,4],[2933,5],[2986,4],[3035,3]]},"2030":{"position":[[243,3],[285,3]]},"2031":{"position":[[564,3],[1996,5],[2069,4],[2171,4],[2218,4],[2397,5],[2488,4],[2568,4],[2926,5],[3031,4],[3046,4],[3109,4],[3157,3],[4204,4],[4531,4]]},"2043":{"position":[[33,4],[54,4],[163,4],[184,4]]},"2054":{"position":[[30,3],[62,4],[76,5],[137,5],[172,5]]},"2091":{"position":[[550,3]]},"2130":{"position":[[2324,3]]},"2191":{"position":[[52,5],[105,4],[120,4]]},"2192":{"position":[[0,5],[16,4],[86,4]]},"2359":{"position":[[1202,3],[1339,3],[1399,4],[1659,3],[1775,4]]}},"keywords":{}}],["bitcount",{"_index":1132,"title":{},"content":{"119":{"position":[[78,8],[268,8]]},"124":{"position":[[164,8]]},"130":{"position":[[183,9]]},"135":{"position":[[132,8]]},"136":{"position":[[139,8]]},"159":{"position":[[183,9]]},"1981":{"position":[[68,9],[125,8]]},"1983":{"position":[[332,8]]},"1996":{"position":[[280,8],[423,9],[521,8]]},"2000":{"position":[[330,9],[405,8],[840,9],[928,8]]},"2068":{"position":[[883,9],[978,8]]},"2076":{"position":[[1116,9],[1230,8]]},"2201":{"position":[[63,9],[136,8],[264,9],[374,8]]}},"keywords":{}}],["bitcount(3",{"_index":1232,"title":{},"content":{"136":{"position":[[99,12]]}},"keywords":{}}],["bitcount(7",{"_index":1225,"title":{},"content":{"135":{"position":[[97,12]]},"137":{"position":[[18,12]]}},"keywords":{}}],["bitcount(8",{"_index":1307,"title":{},"content":{"155":{"position":[[140,12]]},"156":{"position":[[18,12]]}},"keywords":{}}],["bitcount(float",{"_index":7736,"title":{},"content":{"1990":{"position":[[191,14],[687,14]]}},"keywords":{}}],["bitcount(singl",{"_index":7734,"title":{},"content":{"1990":{"position":[[0,16],[428,16]]}},"keywords":{}}],["bitcount(uint64",{"_index":7737,"title":{},"content":{"1990":{"position":[[960,17]]}},"keywords":{}}],["bitcount(ulong",{"_index":7738,"title":{},"content":{"1990":{"position":[[1103,14]]}},"keywords":{}}],["bitcountattribut",{"_index":7678,"title":{"1980":{"position":[[6,17]]}},"content":{"1983":{"position":[[13,18]]}},"keywords":{}}],["bitcountattribute(int",{"_index":7680,"title":{},"content":{"1981":{"position":[[46,21]]}},"keywords":{}}],["bitcountattribute(int32",{"_index":7679,"title":{},"content":{"1981":{"position":[[0,25]]}},"keywords":{}}],["bitcountfromrang",{"_index":1196,"title":{},"content":{"129":{"position":[[135,18]]},"131":{"position":[[18,18]]},"160":{"position":[[18,18]]}},"keywords":{}}],["bitcountfromrangeattribut",{"_index":7684,"title":{"1984":{"position":[[6,26]]}},"content":{"1983":{"position":[[293,27]]}},"keywords":{}}],["bitcountfromrangeattribute(int",{"_index":7718,"title":{},"content":{"1985":{"position":[[62,30]]}},"keywords":{}}],["bitcountfromrangeattribute(int32",{"_index":7717,"title":{},"content":{"1985":{"position":[[0,33]]}},"keywords":{}}],["bithelp",{"_index":7686,"title":{"1989":{"position":[[6,9]]}},"content":{"1983":{"position":[[429,10]]}},"keywords":{}}],["bitlength",{"_index":7967,"title":{},"content":{"2022":{"position":[[0,10],[74,9]]},"2031":{"position":[[4194,9],[4336,10],[4465,9],[4521,9],[4652,10],[4757,9]]}},"keywords":{}}],["bitmask",{"_index":7687,"title":{"1991":{"position":[[6,7]]}},"content":{"1983":{"position":[[440,8]]},"2359":{"position":[[1274,8],[1331,7],[1594,8],[1651,7]]}},"keywords":{}}],["bitpack",{"_index":3809,"title":{},"content":{"739":{"position":[[60,9]]},"799":{"position":[[0,11]]},"800":{"position":[[0,11]]},"809":{"position":[[0,11]]},"900":{"position":[[75,10]]}},"keywords":{}}],["bitperel",{"_index":8091,"title":{},"content":{"2035":{"position":[[80,13],[146,13]]}},"keywords":{}}],["bitposit",{"_index":7968,"title":{},"content":{"2022":{"position":[[94,12],[176,11]]},"2023":{"position":[[2636,11],[2703,12],[2814,11]]},"2030":{"position":[[222,12],[326,11]]},"2031":{"position":[[2587,11],[2936,12],[3082,11]]}},"keywords":{}}],["bitshift",{"_index":6503,"title":{},"content":{"1477":{"position":[[3011,8]]}},"keywords":{}}],["bitsiz",{"_index":8479,"title":{},"content":{"2164":{"position":[[48,7],[109,7]]}},"keywords":{}}],["bitsnetworkbehaviour",{"_index":2744,"title":{},"content":{"335":{"position":[[890,21]]}},"keywords":{}}],["blank",{"_index":6593,"title":{},"content":{"1478":{"position":[[488,5]]}},"keywords":{}}],["block",{"_index":752,"title":{"92":{"position":[[0,5]]},"144":{"position":[[23,6]]}},"content":{"59":{"position":[[62,5],[168,5]]},"92":{"position":[[44,5],[268,5],[542,7],[1707,7]]},"119":{"position":[[454,5]]},"187":{"position":[[1206,9],[1321,5]]},"288":{"position":[[820,8]]},"294":{"position":[[862,8]]},"958":{"position":[[587,7]]},"1735":{"position":[[0,5]]},"1983":{"position":[[2046,5]]},"2054":{"position":[[47,5]]},"2401":{"position":[[898,5]]}},"keywords":{}}],["block'em",{"_index":760,"title":{},"content":{"59":{"position":[[126,9],[138,9]]}},"keywords":{}}],["blocksiz",{"_index":8117,"title":{},"content":{"2046":{"position":[[90,10],[172,9]]},"2049":{"position":[[87,10],[169,9]]},"2054":{"position":[[228,10],[286,9]]},"2060":{"position":[[112,10],[232,9],[339,10],[439,9]]},"2062":{"position":[[94,10],[170,9]]},"2070":{"position":[[94,10],[170,9]]}},"keywords":{}}],["blue",{"_index":1677,"title":{},"content":{"203":{"position":[[876,4]]}},"keywords":{}}],["board",{"_index":5307,"title":{},"content":{"1466":{"position":[[990,5]]}},"keywords":{}}],["bodi",{"_index":856,"title":{},"content":{"71":{"position":[[348,4]]},"291":{"position":[[69,4]]},"316":{"position":[[818,4]]}},"keywords":{}}],["bold",{"_index":164,"title":{},"content":{"4":{"position":[[381,6]]},"356":{"position":[[346,4]]}},"keywords":{}}],["bool",{"_index":554,"title":{},"content":{"33":{"position":[[537,4]]},"35":{"position":[[534,4]]},"117":{"position":[[2485,4]]},"125":{"position":[[159,4],[204,4],[273,4],[629,4]]},"131":{"position":[[96,4],[141,4],[210,4],[576,4]]},"137":{"position":[[79,4],[124,4],[193,4],[537,4]]},"142":{"position":[[154,4],[199,4],[268,4],[624,4]]},"151":{"position":[[365,4],[410,4],[479,4],[991,4]]},"156":{"position":[[93,4],[138,4],[207,4],[581,4]]},"160":{"position":[[96,4],[141,4],[210,4],[576,4]]},"238":{"position":[[2166,4]]},"322":{"position":[[202,4]]},"337":{"position":[[172,4],[211,4],[288,4]]},"346":{"position":[[491,4],[536,4],[593,4],[1549,4]]},"539":{"position":[[48,4]]},"542":{"position":[[7,4]]},"895":{"position":[[34,5]]},"940":{"position":[[24,4]]},"1771":{"position":[[103,4]]},"1774":{"position":[[29,4]]},"1806":{"position":[[47,4]]},"1812":{"position":[[47,4]]},"1816":{"position":[[213,4]]},"1834":{"position":[[69,4]]},"1848":{"position":[[32,4]]},"1854":{"position":[[79,4],[134,4]]},"1855":{"position":[[1506,4],[2883,4]]},"1859":{"position":[[79,4],[134,4]]},"1860":{"position":[[1188,4],[1486,4],[1772,4],[2604,4],[2846,4],[3082,4],[3312,4],[3540,4],[3765,4]]},"1864":{"position":[[79,4],[134,4]]},"1865":{"position":[[1242,4],[1388,4],[1546,4],[2089,4],[2610,4]]},"1870":{"position":[[273,4]]},"1873":{"position":[[79,4],[134,4]]},"1877":{"position":[[29,4]]},"1885":{"position":[[213,4]]},"1893":{"position":[[35,4]]},"1935":{"position":[[885,4],[1320,4]]},"1939":{"position":[[315,4],[574,4],[894,4],[1071,4],[1250,4]]},"1951":{"position":[[126,4],[145,4]]},"1952":{"position":[[115,4],[170,4]]},"1960":{"position":[[182,4]]},"1961":{"position":[[358,4]]},"1966":{"position":[[189,4],[1487,4],[1581,4],[2001,4],[2056,4],[2397,4]]},"1971":{"position":[[311,4],[816,4]]},"1979":{"position":[[189,4],[618,4],[1029,4],[1082,4]]},"1990":{"position":[[724,4]]},"2000":{"position":[[519,4],[850,4]]},"2023":{"position":[[814,4],[938,4],[1138,4],[1305,4]]},"2029":{"position":[[227,4]]},"2052":{"position":[[319,4]]},"2056":{"position":[[793,4],[3327,4]]},"2065":{"position":[[321,4]]},"2066":{"position":[[397,4]]},"2097":{"position":[[114,4]]},"2098":{"position":[[146,4]]},"2100":{"position":[[56,4]]},"2103":{"position":[[535,4]]},"2109":{"position":[[41,4]]},"2114":{"position":[[232,4],[1939,4],[2179,4]]},"2118":{"position":[[41,4]]},"2130":{"position":[[2847,4]]},"2149":{"position":[[104,4]]},"2158":{"position":[[587,4]]},"2168":{"position":[[105,4]]},"2188":{"position":[[41,4]]},"2203":{"position":[[427,4]]},"2204":{"position":[[454,4],[701,4],[1256,4]]},"2210":{"position":[[45,4]]},"2222":{"position":[[38,4]]},"2223":{"position":[[357,4]]},"2227":{"position":[[378,4]]},"2229":{"position":[[62,4],[365,4]]},"2235":{"position":[[140,4]]},"2252":{"position":[[427,4],[472,4]]},"2255":{"position":[[224,4]]},"2265":{"position":[[386,4]]},"2267":{"position":[[126,4],[219,4]]},"2279":{"position":[[224,4]]},"2285":{"position":[[249,4]]},"2292":{"position":[[404,4]]},"2298":{"position":[[213,4],[329,4]]},"2299":{"position":[[123,4]]},"2301":{"position":[[46,4],[333,4]]},"2303":{"position":[[89,4]]},"2305":{"position":[[160,4]]},"2308":{"position":[[87,4]]},"2311":{"position":[[633,4]]},"2313":{"position":[[224,4]]},"2319":{"position":[[115,4],[143,4]]},"2320":{"position":[[165,4]]},"2322":{"position":[[1010,4],[1742,4],[2454,4]]},"2324":{"position":[[95,4]]},"2331":{"position":[[37,4]]},"2332":{"position":[[87,4],[126,4],[423,4]]},"2343":{"position":[[151,4],[344,4]]},"2349":{"position":[[39,4],[290,4],[356,4],[416,4],[637,4]]},"2350":{"position":[[1149,4],[1260,4],[1633,4],[1753,4]]},"2358":{"position":[[267,4],[398,4],[536,4],[629,4],[1180,4],[1289,4],[1426,4],[1798,4],[3213,4]]},"2359":{"position":[[52,4],[294,4],[923,4],[2009,4],[2218,4],[2415,4],[2680,4],[2719,4],[3240,4],[3500,4],[3545,4],[3830,4],[4204,4],[4248,4],[4469,4],[4692,4]]},"2366":{"position":[[386,4]]},"2367":{"position":[[177,4]]},"2370":{"position":[[107,4],[225,4],[363,4],[456,4],[684,4],[1075,4],[1500,4],[1637,4],[1732,4],[2193,4],[5443,4]]},"2373":{"position":[[108,4]]},"2377":{"position":[[159,4]]},"2383":{"position":[[345,4],[943,4]]},"2386":{"position":[[206,4]]},"2396":{"position":[[439,4]]},"2397":{"position":[[286,4],[884,4]]},"2399":{"position":[[171,4]]},"2400":{"position":[[28,4],[268,4],[897,4],[992,4]]},"2401":{"position":[[130,4],[2044,4]]},"2403":{"position":[[166,4]]},"2404":{"position":[[302,4],[900,4]]},"2411":{"position":[[136,4],[155,4],[171,4],[499,4],[518,4]]},"2412":{"position":[[34,4],[87,4],[137,4],[183,4]]},"2415":{"position":[[318,4],[470,4]]},"2417":{"position":[[233,4],[3386,4],[6087,4],[7017,4]]},"2419":{"position":[[39,4],[352,4],[418,4],[478,4],[531,4],[880,4]]},"2420":{"position":[[1200,4],[1330,4],[1957,4]]},"2421":{"position":[[1083,4],[1347,4],[1371,4],[1743,4],[2200,4],[2641,4],[3051,4],[3076,4]]},"2427":{"position":[[37,4]]},"2429":{"position":[[388,4],[427,4],[701,4]]},"2434":{"position":[[243,4],[1029,4]]},"2435":{"position":[[115,4]]},"2441":{"position":[[65,4]]},"2455":{"position":[[35,4]]},"2471":{"position":[[224,4]]},"2473":{"position":[[62,4],[365,4]]},"2476":{"position":[[84,4]]},"2478":{"position":[[2304,4],[3179,4]]},"2482":{"position":[[517,4],[1325,4],[3340,4],[3618,4],[5067,4],[5418,4],[6422,4],[7276,4],[7872,4]]},"2489":{"position":[[220,4]]},"2492":{"position":[[176,4],[265,4]]},"2497":{"position":[[215,5]]},"2516":{"position":[[542,4],[588,4],[806,4],[1020,4],[1238,4]]},"2522":{"position":[[258,4],[377,4],[516,4]]}},"keywords":{}}],["booladdlateev",{"_index":7459,"title":{"1905":{"position":[[6,16]]}},"content":{"1890":{"position":[[797,17]]},"1905":{"position":[[6,16],[1203,16]]}},"keywords":{}}],["boolean",{"_index":1896,"title":{},"content":{"231":{"position":[[111,8]]},"333":{"position":[[139,7]]},"1479":{"position":[[2942,7]]},"1726":{"position":[[69,7]]},"1870":{"position":[[99,8]]},"1935":{"position":[[705,9],[1054,9]]},"1939":{"position":[[193,8],[460,9]]},"1951":{"position":[[38,8],[47,9]]},"1960":{"position":[[57,8]]},"1966":{"position":[[54,9],[1374,9],[1864,9]]},"1971":{"position":[[197,8],[673,8]]},"1979":{"position":[[54,9],[471,9],[916,9]]},"1990":{"position":[[453,9]]},"2000":{"position":[[443,9],[783,9]]},"2029":{"position":[[162,9]]},"2052":{"position":[[224,9]]},"2056":{"position":[[702,9]]},"2065":{"position":[[223,9]]},"2066":{"position":[[288,9]]},"2097":{"position":[[36,9]]},"2114":{"position":[[2101,9]]},"2149":{"position":[[24,9]]},"2229":{"position":[[261,9]]},"2265":{"position":[[244,9]]},"2292":{"position":[[61,9]]},"2299":{"position":[[40,9]]},"2301":{"position":[[245,9]]},"2319":{"position":[[31,8],[40,9]]},"2320":{"position":[[61,9]]},"2322":{"position":[[646,9],[1273,9],[2010,9]]},"2324":{"position":[[29,9]]},"2332":{"position":[[27,9],[320,9]]},"2359":{"position":[[220,9],[2504,9],[3022,9],[3462,9],[3745,9],[4174,9]]},"2383":{"position":[[614,9]]},"2397":{"position":[[555,9]]},"2399":{"position":[[27,9]]},"2401":{"position":[[40,9]]},"2404":{"position":[[571,9]]},"2411":{"position":[[30,8],[39,8],[48,8],[420,8],[429,9]]},"2417":{"position":[[3122,8],[5851,8],[6773,8]]},"2421":{"position":[[912,8],[1268,8],[1277,8],[1627,8],[2042,8],[2488,8],[2940,8],[2949,8]]},"2429":{"position":[[349,9],[621,9]]},"2434":{"position":[[512,9]]},"2473":{"position":[[261,9]]},"2478":{"position":[[1828,9],[2687,9]]},"2482":{"position":[[57,9],[882,9],[3167,9],[3494,9],[4869,9],[5217,9],[6238,9],[7075,8],[7656,8]]},"2516":{"position":[[512,9]]}},"keywords":{}}],["boolunityev",{"_index":7460,"title":{"1910":{"position":[[6,14]]}},"content":{"1890":{"position":[[815,15]]},"1910":{"position":[[6,14],[84,14]]}},"keywords":{}}],["boolunityevent>",{"_index":7509,"title":{},"content":{"1905":{"position":[[1249,19]]}},"keywords":{}}],["booster",{"_index":5452,"title":{},"content":{"1474":{"position":[[3509,8]]}},"keywords":{}}],["boot",{"_index":1589,"title":{},"content":{"190":{"position":[[789,4],[826,4],[908,4]]}},"keywords":{}}],["both",{"_index":301,"title":{},"content":{"13":{"position":[[103,4]]},"24":{"position":[[646,4]]},"65":{"position":[[348,4]]},"91":{"position":[[61,4]]},"225":{"position":[[96,4]]},"243":{"position":[[1875,4]]},"263":{"position":[[64,4]]},"303":{"position":[[401,4]]},"314":{"position":[[162,4]]},"344":{"position":[[483,4]]},"345":{"position":[[322,4]]},"352":{"position":[[465,4]]},"353":{"position":[[268,4]]},"355":{"position":[[105,4],[498,4],[740,4],[887,4],[967,4],[1015,4]]},"363":{"position":[[157,4],[190,5],[335,4]]},"1778":{"position":[[272,4],[305,4]]},"1983":{"position":[[3318,4]]},"2240":{"position":[[5299,4]]},"2361":{"position":[[14,4]]},"2478":{"position":[[4140,4]]},"2482":{"position":[[3996,4]]}},"keywords":{}}],["bottom",{"_index":834,"title":{},"content":{"67":{"position":[[1079,6]]},"183":{"position":[[795,6]]},"190":{"position":[[1872,6]]},"201":{"position":[[1079,6]]}},"keywords":{}}],["bound",{"_index":1276,"title":{},"content":{"148":{"position":[[14,6]]},"149":{"position":[[14,6]]},"2204":{"position":[[674,6]]}},"keywords":{}}],["box",{"_index":343,"title":{},"content":{"14":{"position":[[1203,4]]},"43":{"position":[[472,3]]},"69":{"position":[[237,3],[440,3]]},"71":{"position":[[593,3]]},"94":{"position":[[72,4]]},"211":{"position":[[1863,3]]},"240":{"position":[[591,4],[1910,4]]},"241":{"position":[[3596,4]]},"242":{"position":[[19,3]]},"316":{"position":[[300,4]]},"1474":{"position":[[2397,5]]},"1477":{"position":[[455,6],[508,6],[737,6],[2178,6]]}},"keywords":{}}],["box(clon",{"_index":2041,"title":{},"content":{"241":{"position":[[3458,10]]}},"keywords":{}}],["boxprefab",{"_index":1986,"title":{},"content":{"240":{"position":[[2086,10]]},"241":{"position":[[2347,10]]}},"keywords":{}}],["branch",{"_index":4049,"title":{},"content":{"847":{"position":[[161,6]]}},"keywords":{}}],["break",{"_index":2001,"title":{"373":{"position":[[0,8]]},"391":{"position":[[0,8]]},"411":{"position":[[0,8]]},"441":{"position":[[0,8]]},"455":{"position":[[0,8]]},"458":{"position":[[0,8]]},"468":{"position":[[0,8]]},"470":{"position":[[0,8]]},"478":{"position":[[0,8]]},"484":{"position":[[0,8]]},"487":{"position":[[0,8]]},"490":{"position":[[0,8]]},"499":{"position":[[0,8]]},"505":{"position":[[0,8]]},"509":{"position":[[0,8]]},"512":{"position":[[0,8]]},"514":{"position":[[0,8]]},"524":{"position":[[0,8]]},"539":{"position":[[0,8]]},"549":{"position":[[0,8]]},"583":{"position":[[0,8]]},"601":{"position":[[0,8]]},"603":{"position":[[0,8]]},"610":{"position":[[0,8]]},"613":{"position":[[0,8]]},"616":{"position":[[0,8]]},"662":{"position":[[0,8]]},"671":{"position":[[0,8]]},"675":{"position":[[0,8]]},"681":{"position":[[0,8]]},"693":{"position":[[0,8]]},"696":{"position":[[0,8]]},"707":{"position":[[0,8]]},"714":{"position":[[0,8]]},"716":{"position":[[0,8]]},"728":{"position":[[0,8]]},"759":{"position":[[0,8]]},"768":{"position":[[0,8]]},"773":{"position":[[0,8]]},"775":{"position":[[0,8]]},"783":{"position":[[0,8]]},"788":{"position":[[0,8]]},"800":{"position":[[0,8]]},"814":{"position":[[0,8]]},"828":{"position":[[0,8]]},"845":{"position":[[0,8]]},"852":{"position":[[0,8]]},"854":{"position":[[0,8]]},"885":{"position":[[0,8]]},"892":{"position":[[0,8]]},"900":{"position":[[0,8]]},"904":{"position":[[0,8]]},"913":{"position":[[0,8]]},"942":{"position":[[0,8]]},"949":{"position":[[0,8]]},"952":{"position":[[0,8]]},"958":{"position":[[0,8]]},"961":{"position":[[0,8]]},"968":{"position":[[0,8]]},"970":{"position":[[0,8]]},"972":{"position":[[0,8]]},"981":{"position":[[0,8]]},"1000":{"position":[[0,8]]},"1006":{"position":[[0,8]]},"1009":{"position":[[0,8]]},"1020":{"position":[[0,8]]},"1022":{"position":[[0,8]]},"1024":{"position":[[0,8]]},"1030":{"position":[[0,8]]},"1034":{"position":[[0,8]]},"1036":{"position":[[0,8]]},"1038":{"position":[[0,8]]},"1040":{"position":[[0,8]]},"1042":{"position":[[0,8]]},"1047":{"position":[[0,8]]},"1050":{"position":[[0,8]]},"1052":{"position":[[0,8]]},"1056":{"position":[[0,8]]},"1058":{"position":[[0,8]]},"1060":{"position":[[0,8]]},"1067":{"position":[[0,8]]},"1076":{"position":[[0,8]]},"1104":{"position":[[0,8]]},"1113":{"position":[[0,8]]},"1116":{"position":[[0,8]]},"1118":{"position":[[0,8]]},"1142":{"position":[[0,8]]},"1190":{"position":[[0,8]]},"1200":{"position":[[0,8]]},"1212":{"position":[[0,8]]},"1234":{"position":[[0,8]]},"1237":{"position":[[0,8]]},"1238":{"position":[[0,8]]},"1268":{"position":[[0,9]]},"1269":{"position":[[0,8]]},"1272":{"position":[[0,8]]},"1276":{"position":[[0,8]]},"1279":{"position":[[0,8]]},"1287":{"position":[[0,8]]},"1299":{"position":[[0,8]]},"1317":{"position":[[0,8]]},"1339":{"position":[[0,8]]},"1342":{"position":[[0,8]]},"1349":{"position":[[0,9]]},"1353":{"position":[[0,8]]},"1354":{"position":[[0,9]]},"1358":{"position":[[0,8]]},"1359":{"position":[[0,9]]},"1363":{"position":[[0,8]]},"1364":{"position":[[0,9]]},"1368":{"position":[[0,8]]},"1369":{"position":[[0,9]]},"1373":{"position":[[0,8]]},"1374":{"position":[[0,9]]},"1377":{"position":[[0,8]]},"1378":{"position":[[0,9]]},"1381":{"position":[[0,8]]},"1382":{"position":[[0,9]]},"1385":{"position":[[0,8]]},"1386":{"position":[[0,9]]},"1389":{"position":[[0,8]]},"1390":{"position":[[0,9]]},"1393":{"position":[[0,8]]},"1394":{"position":[[0,9]]},"1397":{"position":[[0,8]]},"1398":{"position":[[0,9]]},"1401":{"position":[[0,8]]},"1402":{"position":[[0,9]]},"1405":{"position":[[0,8]]},"1406":{"position":[[0,9]]},"1409":{"position":[[0,8]]},"1410":{"position":[[0,9]]},"1413":{"position":[[0,8]]},"1414":{"position":[[0,9]]},"1417":{"position":[[0,8]]},"1418":{"position":[[0,9]]},"1421":{"position":[[0,8]]},"1422":{"position":[[0,9]]},"1425":{"position":[[0,8]]},"1426":{"position":[[0,9]]},"1429":{"position":[[0,8]]},"1430":{"position":[[0,9]]},"1433":{"position":[[0,8]]},"1434":{"position":[[0,9]]},"1437":{"position":[[0,8]]},"1438":{"position":[[0,9]]},"1440":{"position":[[0,8]]},"1450":{"position":[[0,8]]},"1453":{"position":[[0,8]]},"1461":{"position":[[0,8]]},"1473":{"position":[[0,9]]},"1479":{"position":[[0,8]]},"1500":{"position":[[0,9]]},"1501":{"position":[[0,8]]},"1514":{"position":[[0,9]]},"1515":{"position":[[0,8]]},"1517":{"position":[[0,9]]},"1519":{"position":[[0,8]]},"1527":{"position":[[0,8]]},"1529":{"position":[[0,8]]},"1531":{"position":[[0,8]]},"1535":{"position":[[0,8]]},"1536":{"position":[[0,9]]},"1537":{"position":[[0,8]]},"1559":{"position":[[0,8]]},"1595":{"position":[[0,8]]},"1599":{"position":[[0,8]]},"1602":{"position":[[0,8]]},"1616":{"position":[[0,8]]},"1631":{"position":[[0,8]]},"1643":{"position":[[0,8]]},"1646":{"position":[[0,8]]},"1650":{"position":[[0,8]]},"1651":{"position":[[0,8]]},"1653":{"position":[[0,8]]},"1660":{"position":[[0,8]]},"1662":{"position":[[0,8]]},"1664":{"position":[[0,8]]},"1672":{"position":[[0,8]]},"1689":{"position":[[0,8]]},"1697":{"position":[[0,8]]},"1699":{"position":[[0,8]]},"1705":{"position":[[0,8]]},"1707":{"position":[[0,8]]},"1723":{"position":[[0,8]]},"1726":{"position":[[0,8]]},"1727":{"position":[[0,8]]},"1732":{"position":[[0,8]]},"1736":{"position":[[0,8]]},"1737":{"position":[[0,8]]},"1742":{"position":[[0,8]]},"1746":{"position":[[0,9]]},"1748":{"position":[[0,8]]},"1750":{"position":[[0,8]]}},"content":{"240":{"position":[[2772,6],[2847,6],[2932,6]]},"241":{"position":[[3214,6],[3279,6],[3354,6]]},"340":{"position":[[1282,6],[1365,6],[1451,6]]},"348":{"position":[[1577,6],[1660,6],[1746,6]]},"1466":{"position":[[183,8]]}},"keywords":{}}],["bring",{"_index":1435,"title":{},"content":{"182":{"position":[[283,5]]},"190":{"position":[[1622,5]]}},"keywords":{}}],["broadcast",{"_index":21,"title":{},"content":{"0":{"position":[[377,9]]},"6":{"position":[[645,10]]},"10":{"position":[[963,9]]},"254":{"position":[[1271,9]]}},"keywords":{}}],["broken",{"_index":6673,"title":{},"content":{"1479":{"position":[[3851,6]]}},"keywords":{}}],["browser",{"_index":1609,"title":{},"content":{"192":{"position":[[115,7]]}},"keywords":{}}],["buff",{"_index":2773,"title":{},"content":{"340":{"position":[[906,5],[1174,5],[1246,5],[1340,5],[1427,4]]},"348":{"position":[[1201,5],[1469,5],[1541,5],[1635,5],[1722,4]]}},"keywords":{}}],["buffer",{"_index":874,"title":{},"content":{"71":{"position":[[2017,6],[2064,8]]},"400":{"position":[[10,7]]},"477":{"position":[[50,6]]},"585":{"position":[[44,6]]},"822":{"position":[[18,6]]},"881":{"position":[[59,6],[119,6],[204,6]]},"1314":{"position":[[32,6]]},"1474":{"position":[[17915,6],[20588,6]]},"1477":{"position":[[7,6]]},"1606":{"position":[[7,6]]},"1622":{"position":[[6,6]]},"1983":{"position":[[1121,6],[1269,6]]},"2003":{"position":[[224,7],[345,6],[563,7],[661,6],[858,7],[981,6]]},"2018":{"position":[[28,8]]},"2019":{"position":[[323,6]]},"2022":{"position":[[19,6],[145,6]]},"2023":{"position":[[1417,6],[2626,6],[3171,6]]},"2030":{"position":[[28,6],[271,6]]},"2031":{"position":[[122,6],[580,6],[2696,6],[3291,6]]},"2039":{"position":[[224,7]]},"2097":{"position":[[94,7],[195,6]]},"2098":{"position":[[0,7],[48,6]]},"2102":{"position":[[95,7],[134,6]]},"2103":{"position":[[256,7],[360,6]]},"2126":{"position":[[85,7],[169,6],[292,7],[364,6],[521,7],[607,6],[738,7],[810,6],[965,7],[1049,6],[1174,7],[1246,6],[1403,7],[1488,6],[1616,7],[1688,6]]},"2130":{"position":[[1175,7],[1280,7],[1317,7],[2021,7],[2408,7]]},"2158":{"position":[[830,7],[929,7],[1009,6],[1016,6],[1191,6],[1320,6],[1564,6]]},"2165":{"position":[[61,7],[114,6]]},"2183":{"position":[[101,6],[376,7],[442,7],[558,6],[878,6],[921,7],[987,7]]},"2185":{"position":[[353,7],[397,6]]},"2203":{"position":[[129,6]]},"2204":{"position":[[1779,6],[1846,6]]},"2217":{"position":[[112,7]]},"2223":{"position":[[482,7],[562,6]]},"2227":{"position":[[523,7],[603,6]]},"2325":{"position":[[329,6]]}},"keywords":{}}],["bufferpool",{"_index":8378,"title":{},"content":{"2112":{"position":[[217,11],[506,10]]}},"keywords":{}}],["bufferpoolmaxs",{"_index":8429,"title":{},"content":{"2130":{"position":[[1247,18],[1385,17]]}},"keywords":{}}],["bufferpoolstarts",{"_index":8428,"title":{},"content":{"2130":{"position":[[1145,20],[1226,19]]}},"keywords":{}}],["buffers",{"_index":4195,"title":{},"content":{"913":{"position":[[0,10]]},"2018":{"position":[[0,11],[110,10]]},"2019":{"position":[[108,10],[186,11],[291,10]]},"2033":{"position":[[112,11],[209,10]]},"2122":{"position":[[94,11],[182,10]]},"2174":{"position":[[81,11]]},"2183":{"position":[[680,11],[854,10]]},"2231":{"position":[[136,11],[172,10]]}},"keywords":{}}],["buffs.callback",{"_index":2775,"title":{},"content":{"340":{"position":[[1076,14]]},"348":{"position":[[1371,14]]}},"keywords":{}}],["bug",{"_index":399,"title":{"371":{"position":[[0,3]]},"375":{"position":[[0,3]]},"379":{"position":[[0,3]]},"384":{"position":[[0,3]]},"385":{"position":[[0,3]]},"388":{"position":[[0,3]]},"390":{"position":[[0,3]]},"393":{"position":[[0,3]]},"395":{"position":[[0,3]]},"396":{"position":[[0,3]]},"400":{"position":[[0,3]]},"401":{"position":[[0,3]]},"405":{"position":[[0,3]]},"407":{"position":[[0,3]]},"409":{"position":[[0,3]]},"410":{"position":[[0,3]]},"414":{"position":[[0,3]]},"416":{"position":[[0,3]]},"418":{"position":[[0,3]]},"420":{"position":[[0,3]]},"423":{"position":[[0,3]]},"427":{"position":[[0,3]]},"429":{"position":[[0,3]]},"432":{"position":[[0,3]]},"435":{"position":[[0,3]]},"444":{"position":[[0,3]]},"447":{"position":[[0,3]]},"449":{"position":[[0,3]]},"451":{"position":[[0,3]]},"453":{"position":[[0,3]]},"456":{"position":[[0,3]]},"460":{"position":[[0,3]]},"462":{"position":[[0,3]]},"464":{"position":[[0,3]]},"474":{"position":[[0,3]]},"476":{"position":[[0,3]]},"485":{"position":[[0,3]]},"488":{"position":[[0,3]]},"492":{"position":[[0,3]]},"494":{"position":[[0,3]]},"496":{"position":[[0,3]]},"497":{"position":[[0,3]]},"502":{"position":[[0,3]]},"506":{"position":[[0,3]]},"516":{"position":[[0,3]]},"518":{"position":[[0,3]]},"520":{"position":[[0,3]]},"521":{"position":[[0,3]]},"526":{"position":[[0,3]]},"528":{"position":[[0,3]]},"530":{"position":[[0,3]]},"531":{"position":[[0,3]]},"534":{"position":[[0,3]]},"536":{"position":[[0,3]]},"537":{"position":[[0,3]]},"541":{"position":[[0,3]]},"544":{"position":[[0,3]]},"546":{"position":[[0,3]]},"548":{"position":[[0,3]]},"551":{"position":[[0,3]]},"553":{"position":[[0,3]]},"554":{"position":[[0,3]]},"556":{"position":[[0,3]]},"560":{"position":[[0,3]]},"562":{"position":[[0,3]]},"565":{"position":[[0,3]]},"568":{"position":[[0,3]]},"570":{"position":[[0,3]]},"572":{"position":[[0,3]]},"574":{"position":[[0,3]]},"577":{"position":[[0,3]]},"579":{"position":[[0,3]]},"581":{"position":[[0,3]]},"582":{"position":[[0,3]]},"585":{"position":[[0,3]]},"587":{"position":[[0,3]]},"590":{"position":[[0,3]]},"593":{"position":[[0,3]]},"594":{"position":[[0,3]]},"599":{"position":[[0,3]]},"604":{"position":[[0,3]]},"607":{"position":[[0,3]]},"611":{"position":[[0,3]]},"614":{"position":[[0,3]]},"617":{"position":[[0,3]]},"620":{"position":[[0,3]]},"622":{"position":[[0,3]]},"625":{"position":[[0,3]]},"628":{"position":[[0,3]]},"630":{"position":[[0,3]]},"632":{"position":[[0,3]]},"634":{"position":[[0,3]]},"635":{"position":[[0,3]]},"638":{"position":[[0,3]]},"640":{"position":[[0,3]]},"642":{"position":[[0,3]]},"644":{"position":[[0,3]]},"646":{"position":[[0,3]]},"649":{"position":[[0,3]]},"651":{"position":[[0,3]]},"653":{"position":[[0,3]]},"655":{"position":[[0,3]]},"659":{"position":[[0,3]]},"660":{"position":[[0,3]]},"663":{"position":[[0,3]]},"666":{"position":[[0,3]]},"670":{"position":[[0,3]]},"673":{"position":[[0,3]]},"677":{"position":[[0,3]]},"679":{"position":[[0,3]]},"683":{"position":[[0,3]]},"685":{"position":[[0,3]]},"687":{"position":[[0,3]]},"689":{"position":[[0,3]]},"697":{"position":[[0,3]]},"700":{"position":[[0,3]]},"701":{"position":[[0,3]]},"703":{"position":[[0,3]]},"710":{"position":[[0,3]]},"711":{"position":[[0,3]]},"713":{"position":[[0,3]]},"715":{"position":[[0,3]]},"718":{"position":[[0,3]]},"721":{"position":[[0,3]]},"723":{"position":[[0,3]]},"725":{"position":[[0,3]]},"726":{"position":[[0,3]]},"730":{"position":[[0,3]]},"732":{"position":[[0,3]]},"734":{"position":[[0,3]]},"736":{"position":[[0,3]]},"737":{"position":[[0,3]]},"739":{"position":[[0,3]]},"742":{"position":[[0,3]]},"744":{"position":[[0,3]]},"746":{"position":[[0,3]]},"751":{"position":[[0,3]]},"753":{"position":[[0,3]]},"755":{"position":[[0,3]]},"756":{"position":[[0,3]]},"761":{"position":[[0,3]]},"763":{"position":[[0,3]]},"764":{"position":[[0,3]]},"770":{"position":[[0,3]]},"774":{"position":[[0,3]]},"777":{"position":[[0,3]]},"779":{"position":[[0,3]]},"781":{"position":[[0,3]]},"785":{"position":[[0,3]]},"786":{"position":[[0,3]]},"790":{"position":[[0,3]]},"792":{"position":[[0,3]]},"794":{"position":[[0,3]]},"795":{"position":[[0,3]]},"798":{"position":[[0,3]]},"802":{"position":[[0,3]]},"804":{"position":[[0,3]]},"808":{"position":[[0,3]]},"809":{"position":[[0,3]]},"812":{"position":[[0,3]]},"816":{"position":[[0,3]]},"818":{"position":[[0,3]]},"820":{"position":[[0,3]]},"821":{"position":[[0,3]]},"824":{"position":[[0,3]]},"826":{"position":[[0,3]]},"830":{"position":[[0,3]]},"842":{"position":[[0,3]]},"847":{"position":[[0,3]]},"850":{"position":[[0,3]]},"857":{"position":[[0,3]]},"859":{"position":[[0,3]]},"860":{"position":[[0,3]]},"870":{"position":[[0,3]]},"872":{"position":[[0,3]]},"873":{"position":[[0,3]]},"875":{"position":[[0,3]]},"877":{"position":[[0,3]]},"881":{"position":[[0,3]]},"883":{"position":[[0,3]]},"889":{"position":[[0,3]]},"895":{"position":[[0,3]]},"897":{"position":[[0,3]]},"908":{"position":[[0,3]]},"911":{"position":[[0,3]]},"915":{"position":[[0,3]]},"917":{"position":[[0,3]]},"918":{"position":[[0,3]]},"922":{"position":[[0,3]]},"924":{"position":[[0,3]]},"926":{"position":[[0,3]]},"929":{"position":[[0,3]]},"930":{"position":[[0,3]]},"933":{"position":[[0,3]]},"936":{"position":[[0,3]]},"938":{"position":[[0,3]]},"939":{"position":[[0,3]]},"944":{"position":[[0,3]]},"950":{"position":[[0,3]]},"954":{"position":[[0,3]]},"956":{"position":[[0,3]]},"963":{"position":[[0,3]]},"966":{"position":[[0,3]]},"974":{"position":[[0,3]]},"976":{"position":[[0,3]]},"978":{"position":[[0,3]]},"983":{"position":[[0,3]]},"985":{"position":[[0,3]]},"987":{"position":[[0,3]]},"989":{"position":[[0,3]]},"992":{"position":[[0,3]]},"994":{"position":[[0,3]]},"997":{"position":[[0,3]]},"998":{"position":[[0,3]]},"1002":{"position":[[0,3]]},"1004":{"position":[[0,3]]},"1005":{"position":[[0,3]]},"1011":{"position":[[0,3]]},"1014":{"position":[[0,3]]},"1017":{"position":[[0,3]]},"1026":{"position":[[0,3]]},"1032":{"position":[[0,3]]},"1044":{"position":[[0,3]]},"1048":{"position":[[0,3]]},"1054":{"position":[[0,3]]},"1062":{"position":[[0,3]]},"1064":{"position":[[0,3]]},"1069":{"position":[[0,3]]},"1071":{"position":[[0,3]]},"1073":{"position":[[0,3]]},"1079":{"position":[[0,3]]},"1081":{"position":[[0,3]]},"1084":{"position":[[0,3]]},"1086":{"position":[[0,3]]},"1088":{"position":[[0,3]]},"1090":{"position":[[0,3]]},"1092":{"position":[[0,3]]},"1094":{"position":[[0,3]]},"1096":{"position":[[0,3]]},"1100":{"position":[[0,3]]},"1102":{"position":[[0,3]]},"1106":{"position":[[0,3]]},"1108":{"position":[[0,3]]},"1111":{"position":[[0,3]]},"1123":{"position":[[0,3]]},"1125":{"position":[[0,3]]},"1129":{"position":[[0,3]]},"1131":{"position":[[0,3]]},"1132":{"position":[[0,3]]},"1135":{"position":[[0,3]]},"1139":{"position":[[0,3]]},"1140":{"position":[[0,3]]},"1145":{"position":[[0,3]]},"1147":{"position":[[0,3]]},"1149":{"position":[[0,3]]},"1151":{"position":[[0,3]]},"1153":{"position":[[0,3]]},"1155":{"position":[[0,3]]},"1157":{"position":[[0,3]]},"1163":{"position":[[0,3]]},"1165":{"position":[[0,3]]},"1168":{"position":[[0,3]]},"1171":{"position":[[0,3]]},"1173":{"position":[[0,3]]},"1177":{"position":[[0,3]]},"1179":{"position":[[0,3]]},"1182":{"position":[[0,3]]},"1188":{"position":[[0,3]]},"1192":{"position":[[0,3]]},"1194":{"position":[[0,3]]},"1197":{"position":[[0,3]]},"1199":{"position":[[0,3]]},"1202":{"position":[[0,3]]},"1207":{"position":[[0,3]]},"1210":{"position":[[0,3]]},"1211":{"position":[[0,3]]},"1214":{"position":[[0,3]]},"1219":{"position":[[0,3]]},"1221":{"position":[[0,3]]},"1223":{"position":[[0,3]]},"1225":{"position":[[0,3]]},"1227":{"position":[[0,3]]},"1229":{"position":[[0,3]]},"1231":{"position":[[0,3]]},"1233":{"position":[[0,3]]},"1236":{"position":[[0,3]]},"1241":{"position":[[0,3]]},"1243":{"position":[[0,3]]},"1245":{"position":[[0,3]]},"1247":{"position":[[0,3]]},"1250":{"position":[[0,3]]},"1252":{"position":[[0,3]]},"1254":{"position":[[0,3]]},"1256":{"position":[[0,3]]},"1260":{"position":[[0,3]]},"1262":{"position":[[0,3]]},"1265":{"position":[[0,3]]},"1267":{"position":[[0,3]]},"1271":{"position":[[0,3]]},"1274":{"position":[[0,3]]},"1285":{"position":[[0,3]]},"1286":{"position":[[0,3]]},"1289":{"position":[[0,3]]},"1291":{"position":[[0,3]]},"1295":{"position":[[0,3]]},"1297":{"position":[[0,3]]},"1300":{"position":[[0,3]]},"1303":{"position":[[0,3]]},"1305":{"position":[[0,3]]},"1307":{"position":[[0,3]]},"1309":{"position":[[0,3]]},"1314":{"position":[[0,3]]},"1316":{"position":[[0,3]]},"1320":{"position":[[0,3]]},"1324":{"position":[[0,3]]},"1325":{"position":[[0,3]]},"1329":{"position":[[0,3]]},"1332":{"position":[[0,3]]},"1334":{"position":[[0,3]]},"1337":{"position":[[0,3]]},"1341":{"position":[[0,3]]},"1344":{"position":[[0,3]]},"1346":{"position":[[0,3]]},"1348":{"position":[[0,3]]},"1350":{"position":[[0,3]]},"1355":{"position":[[0,3]]},"1360":{"position":[[0,3]]},"1365":{"position":[[0,3]]},"1370":{"position":[[0,3]]},"1375":{"position":[[0,3]]},"1379":{"position":[[0,3]]},"1383":{"position":[[0,3]]},"1387":{"position":[[0,3]]},"1391":{"position":[[0,3]]},"1395":{"position":[[0,3]]},"1399":{"position":[[0,3]]},"1403":{"position":[[0,3]]},"1407":{"position":[[0,3]]},"1411":{"position":[[0,3]]},"1415":{"position":[[0,3]]},"1419":{"position":[[0,3]]},"1423":{"position":[[0,3]]},"1427":{"position":[[0,3]]},"1431":{"position":[[0,3]]},"1435":{"position":[[0,3]]},"1442":{"position":[[0,3]]},"1445":{"position":[[0,3]]},"1447":{"position":[[0,3]]},"1448":{"position":[[0,3]]},"1452":{"position":[[0,3]]},"1455":{"position":[[0,3]]},"1458":{"position":[[0,3]]},"1463":{"position":[[0,3]]},"1466":{"position":[[0,3]]},"1472":{"position":[[0,3]]},"1474":{"position":[[0,3]]},"1481":{"position":[[0,3]]},"1483":{"position":[[0,3]]},"1486":{"position":[[0,3]]},"1489":{"position":[[0,3]]},"1491":{"position":[[0,3]]},"1493":{"position":[[0,3]]},"1495":{"position":[[0,3]]},"1496":{"position":[[0,3]]},"1499":{"position":[[0,3]]},"1504":{"position":[[0,3]]},"1506":{"position":[[0,3]]},"1508":{"position":[[0,3]]},"1510":{"position":[[0,3]]},"1512":{"position":[[0,3]]},"1520":{"position":[[0,3]]},"1524":{"position":[[0,3]]},"1533":{"position":[[0,3]]},"1539":{"position":[[0,3]]},"1541":{"position":[[0,3]]},"1543":{"position":[[0,3]]},"1545":{"position":[[0,3]]},"1546":{"position":[[0,3]]},"1549":{"position":[[0,3]]},"1553":{"position":[[0,3]]},"1555":{"position":[[0,3]]},"1557":{"position":[[0,3]]},"1562":{"position":[[0,3]]},"1565":{"position":[[0,3]]},"1566":{"position":[[0,3]]},"1570":{"position":[[0,3]]},"1572":{"position":[[0,3]]},"1574":{"position":[[0,3]]},"1576":{"position":[[0,3]]},"1577":{"position":[[0,3]]},"1580":{"position":[[0,3]]},"1581":{"position":[[0,3]]},"1588":{"position":[[0,3]]},"1592":{"position":[[0,3]]},"1597":{"position":[[0,3]]},"1603":{"position":[[0,3]]},"1607":{"position":[[0,3]]},"1611":{"position":[[0,3]]},"1614":{"position":[[0,3]]},"1618":{"position":[[0,3]]},"1620":{"position":[[0,3]]},"1622":{"position":[[0,3]]},"1626":{"position":[[0,3]]},"1640":{"position":[[0,3]]},"1644":{"position":[[0,3]]},"1648":{"position":[[0,3]]},"1655":{"position":[[0,3]]},"1658":{"position":[[0,3]]},"1666":{"position":[[0,3]]},"1670":{"position":[[0,3]]},"1673":{"position":[[0,3]]},"1676":{"position":[[0,3]]},"1678":{"position":[[0,3]]},"1680":{"position":[[0,3]]},"1682":{"position":[[0,3]]},"1684":{"position":[[0,3]]},"1686":{"position":[[0,3]]},"1687":{"position":[[0,3]]},"1691":{"position":[[0,3]]},"1693":{"position":[[0,3]]},"1696":{"position":[[0,3]]},"1701":{"position":[[0,3]]},"1703":{"position":[[0,3]]},"1709":{"position":[[0,3]]},"1711":{"position":[[0,3]]},"1713":{"position":[[0,3]]},"1715":{"position":[[0,3]]},"1717":{"position":[[0,3]]},"1719":{"position":[[0,3]]},"1721":{"position":[[0,3]]},"1725":{"position":[[0,3]]},"1729":{"position":[[0,3]]},"1731":{"position":[[0,3]]},"1733":{"position":[[0,3]]},"1738":{"position":[[0,3]]},"1740":{"position":[[0,3]]},"1744":{"position":[[0,3]]},"1745":{"position":[[0,3]]},"1751":{"position":[[0,3]]},"1752":{"position":[[0,3]]},"1755":{"position":[[0,3]]},"1757":{"position":[[0,3]]},"1759":{"position":[[0,3]]},"1761":{"position":[[0,3]]},"1762":{"position":[[0,3]]},"1766":{"position":[[0,3]]},"1768":{"position":[[0,3]]}},"content":{"19":{"position":[[67,3]]},"992":{"position":[[0,3]]},"1086":{"position":[[0,3]]},"1151":{"position":[[0,3]]},"1316":{"position":[[0,3]]},"1337":{"position":[[0,3]]},"1350":{"position":[[73,3]]},"1355":{"position":[[73,3]]},"1360":{"position":[[73,3]]},"1365":{"position":[[73,3]]},"1370":{"position":[[73,3]]},"1375":{"position":[[27,3]]},"1379":{"position":[[27,3]]},"1383":{"position":[[27,3]]},"1387":{"position":[[27,3]]},"1391":{"position":[[27,3]]},"1395":{"position":[[27,3]]},"1399":{"position":[[0,3]]},"1403":{"position":[[0,3]]},"1407":{"position":[[0,3]]},"1411":{"position":[[0,3]]},"1415":{"position":[[0,3]]},"1419":{"position":[[0,3]]},"1423":{"position":[[0,3]]},"1427":{"position":[[0,3]]},"1431":{"position":[[0,3]]},"1435":{"position":[[0,3]]},"1474":{"position":[[595,3],[2568,3],[2945,3],[3090,3],[3543,3],[13629,3],[13858,3],[19235,4],[20174,3],[21666,3]]},"1493":{"position":[[3,3]]},"1533":{"position":[[22,4]]},"1729":{"position":[[81,3]]},"1766":{"position":[[385,3]]}},"keywords":{}}],["build",{"_index":65,"title":{"194":{"position":[[0,5]]}},"content":{"0":{"position":[[1119,8],[1189,5],[1330,5]]},"3":{"position":[[231,8]]},"14":{"position":[[670,5]]},"17":{"position":[[101,6]]},"46":{"position":[[130,5],[522,5],[603,5]]},"50":{"position":[[11,5]]},"59":{"position":[[174,8]]},"175":{"position":[[161,6],[266,6],[414,5]]},"179":{"position":[[437,5]]},"184":{"position":[[45,5],[138,5],[435,5]]},"187":{"position":[[1076,6],[1128,5]]},"194":{"position":[[0,5],[54,5]]},"195":{"position":[[203,5]]},"202":{"position":[[179,5]]},"209":{"position":[[2248,5]]},"210":{"position":[[1855,5]]},"212":{"position":[[141,5]]},"243":{"position":[[1926,8]]},"258":{"position":[[122,5]]},"541":{"position":[[19,5]]},"1032":{"position":[[32,5]]},"1445":{"position":[[47,5]]},"1474":{"position":[[3326,5],[8475,5],[11285,5],[11309,5],[12152,5],[22321,5]]},"1476":{"position":[[2376,6],[4695,5],[6592,6]]},"1479":{"position":[[3162,5]]},"1567":{"position":[[1061,5]]},"1577":{"position":[[184,5]]},"1618":{"position":[[9,5],[33,5]]},"1735":{"position":[[20,6]]},"1737":{"position":[[79,5]]},"1928":{"position":[[72,5]]},"1930":{"position":[[46,5]]},"2285":{"position":[[133,5]]}},"keywords":{}}],["build/editor",{"_index":1387,"title":{},"content":{"175":{"position":[[212,12]]}},"keywords":{}}],["build=client",{"_index":5441,"title":{},"content":{"1474":{"position":[[3116,13]]}},"keywords":{}}],["builder",{"_index":4168,"title":{},"content":{"898":{"position":[[28,7]]}},"keywords":{}}],["built",{"_index":15,"title":{"94":{"position":[[0,5]]},"326":{"position":[[0,5]]}},"content":{"0":{"position":[[267,5]]},"20":{"position":[[554,5]]},"46":{"position":[[631,5],[868,5],[1354,5]]},"50":{"position":[[42,5],[270,5]]},"81":{"position":[[75,6]]},"83":{"position":[[342,5]]},"94":{"position":[[20,5],[609,5]]},"96":{"position":[[309,5]]},"171":{"position":[[44,5]]},"195":{"position":[[14,5]]},"213":{"position":[[437,5]]},"217":{"position":[[827,5]]},"245":{"position":[[3064,5]]},"300":{"position":[[19,5]]},"320":{"position":[[89,5]]},"326":{"position":[[21,5],[172,5]]},"327":{"position":[[924,5]]},"1135":{"position":[[0,5]]},"2255":{"position":[[152,5]]},"2279":{"position":[[152,5]]},"2313":{"position":[[152,5]]},"2383":{"position":[[1174,5]]},"2386":{"position":[[134,5]]},"2397":{"position":[[1115,5]]},"2404":{"position":[[1131,5]]},"2434":{"position":[[1260,5]]},"2471":{"position":[[152,5]]}},"keywords":{}}],["bullet",{"_index":2197,"title":{},"content":{"251":{"position":[[3893,6],[3926,6],[4255,6]]}},"keywords":{}}],["bullet.getcomponent<rigidbody>",{"_index":2200,"title":{},"content":{"251":{"position":[[4049,39]]}},"keywords":{}}],["bunch",{"_index":2618,"title":{},"content":{"317":{"position":[[100,5]]}},"keywords":{}}],["button",{"_index":216,"title":{},"content":{"9":{"position":[[589,6]]},"13":{"position":[[33,6],[370,6]]},"14":{"position":[[1762,7],[1892,7]]},"42":{"position":[[224,7]]},"67":{"position":[[727,6]]},"190":{"position":[[1858,6]]},"192":{"position":[[68,6]]},"201":{"position":[[727,6]]},"210":{"position":[[183,7]]},"211":{"position":[[864,6]]},"243":{"position":[[2370,6]]},"395":{"position":[[9,6]]},"528":{"position":[[67,6]]},"555":{"position":[[7,7]]},"730":{"position":[[38,7]]},"1474":{"position":[[12043,6],[21685,6]]},"1493":{"position":[[22,6]]},"1589":{"position":[[0,6]]},"1777":{"position":[[440,7]]},"2240":{"position":[[5484,6]]},"2352":{"position":[[143,6]]}},"keywords":{}}],["button.attach",{"_index":1776,"title":{},"content":{"210":{"position":[[1713,13]]}},"keywords":{}}],["buttonclick",{"_index":215,"title":{},"content":{"9":{"position":[[570,11]]}},"keywords":{}}],["buttonsendmessag",{"_index":1774,"title":{},"content":{"210":{"position":[[1564,19],[1671,17]]}},"keywords":{}}],["bypass",{"_index":806,"title":{},"content":{"64":{"position":[[309,8]]},"337":{"position":[[1392,6]]},"1028":{"position":[[23,8]]},"1029":{"position":[[10,8]]}},"keywords":{}}],["byte",{"_index":779,"title":{},"content":{"61":{"position":[[58,6]]},"240":{"position":[[1888,4]]},"295":{"position":[[680,4]]},"316":{"position":[[1173,4],[1196,4],[1644,4]]},"327":{"position":[[572,4],[636,4]]},"714":{"position":[[60,4]]},"881":{"position":[[82,4]]},"1474":{"position":[[15755,4]]},"1477":{"position":[[701,5],[2836,6],[2940,4],[3074,6]]},"1636":{"position":[[193,6]]},"1805":{"position":[[72,6]]},"1983":{"position":[[107,6],[1976,6],[2165,6]]},"2003":{"position":[[33,7],[60,4],[217,6],[439,8],[556,6],[2289,6],[2815,6]]},"2010":{"position":[[750,6]]},"2023":{"position":[[1112,5],[1635,4],[3364,4],[3584,4],[3601,5]]},"2030":{"position":[[145,4]]},"2031":{"position":[[196,6],[2154,5],[2201,5],[3520,4],[3738,4],[3755,5]]},"2039":{"position":[[35,5],[141,4]]},"2056":{"position":[[34,6],[119,4],[2660,4]]},"2091":{"position":[[135,6]]},"2110":{"position":[[44,6]]},"2113":{"position":[[562,5],[724,4]]},"2119":{"position":[[44,6]]},"2121":{"position":[[36,6]]},"2126":{"position":[[29,6],[109,4],[271,4]]},"2132":{"position":[[28,8],[107,6],[513,8],[596,6],[1118,7],[1210,6],[1771,8],[1848,6]]},"2158":{"position":[[1221,7],[1414,6]]},"2168":{"position":[[299,5],[475,5],[664,5],[880,5],[1125,5],[1397,5],[1744,5],[2075,5],[2410,5],[2729,5],[3052,5]]},"2169":{"position":[[153,5],[476,5]]},"2189":{"position":[[44,6]]},"2223":{"position":[[663,7],[729,6]]},"2227":{"position":[[704,7],[770,6]]},"2292":{"position":[[205,5]]},"2322":{"position":[[214,5],[775,5],[1492,5],[2214,5]]},"2346":{"position":[[87,6],[174,5]]},"2347":{"position":[[77,6],[178,5]]}},"keywords":{}}],["byte/enum",{"_index":8335,"title":{},"content":{"2094":{"position":[[81,9]]}},"keywords":{}}],["bytebuff",{"_index":8308,"title":{"2120":{"position":[[6,10]]}},"content":{"2091":{"position":[[106,11]]},"2098":{"position":[[37,10]]},"2102":{"position":[[123,10]]},"2103":{"position":[[180,11],[245,10]]},"2122":{"position":[[69,10]]}},"keywords":{}}],["bytecapac",{"_index":8043,"title":{},"content":{"2030":{"position":[[0,13],[59,12]]}},"keywords":{}}],["bytelength",{"_index":8044,"title":{},"content":{"2030":{"position":[[82,11],[201,10]]}},"keywords":{}}],["byteposit",{"_index":7969,"title":{},"content":{"2022":{"position":[[198,13],[280,12]]},"2031":{"position":[[2407,13],[2506,12]]}},"keywords":{}}],["byteshortintlongenum",{"_index":1306,"title":{},"content":{"154":{"position":[[0,20]]}},"keywords":{}}],["byteshortushortintuintlongulongenum",{"_index":1193,"title":{},"content":{"128":{"position":[[0,35]]},"134":{"position":[[0,35]]},"157":{"position":[[0,35]]}},"keywords":{}}],["bytesreceiv",{"_index":8467,"title":{},"content":{"2158":{"position":[[866,13]]}},"keywords":{}}],["byteutil",{"_index":8310,"title":{"2125":{"position":[[6,9]]}},"content":{"2091":{"position":[[160,10]]}},"keywords":{}}],["c",{"_index":1506,"title":{},"content":{"183":{"position":[[194,2],[888,2]]},"184":{"position":[[176,3]]},"190":{"position":[[1715,2]]},"197":{"position":[[383,1]]},"198":{"position":[[534,1]]},"304":{"position":[[373,2]]},"326":{"position":[[243,2]]},"356":{"position":[[252,1],[474,1],[554,1],[880,2],[963,1]]},"390":{"position":[[248,2]]},"397":{"position":[[11,2]]},"1311":{"position":[[33,1]]},"1314":{"position":[[52,1]]},"1983":{"position":[[1583,2],[3120,2]]}},"keywords":{}}],["c031ae9",{"_index":5054,"title":{},"content":{"1289":{"position":[[51,9]]}},"keywords":{}}],["c0b5a12",{"_index":5095,"title":{},"content":{"1311":{"position":[[45,9]]}},"keywords":{}}],["c0dc98e",{"_index":3542,"title":{},"content":{"618":{"position":[[48,9]]}},"keywords":{}}],["c0e2632",{"_index":5162,"title":{},"content":{"1341":{"position":[[116,10]]}},"keywords":{}}],["c0e7e92",{"_index":6923,"title":{},"content":{"1613":{"position":[[33,9]]}},"keywords":{}}],["c0e7e92)asynchron",{"_index":6137,"title":{},"content":{"1476":{"position":[[2174,21]]}},"keywords":{}}],["c1410b0)ad",{"_index":5274,"title":{},"content":{"1466":{"position":[[143,15]]}},"keywords":{}}],["c1552c0",{"_index":4495,"title":{},"content":{"1043":{"position":[[51,9]]}},"keywords":{}}],["c1707e5)don't",{"_index":5652,"title":{},"content":{"1474":{"position":[[9418,14]]}},"keywords":{}}],["c19929f",{"_index":4121,"title":{},"content":{"875":{"position":[[108,9]]}},"keywords":{}}],["c1af84e)#573",{"_index":5461,"title":{},"content":{"1474":{"position":[[3915,13]]}},"keywords":{}}],["c1cfc42",{"_index":6964,"title":{},"content":{"1641":{"position":[[48,9]]}},"keywords":{}}],["c1cfc42)spawn",{"_index":6491,"title":{},"content":{"1477":{"position":[[2604,14]]}},"keywords":{}}],["c206f9a)network",{"_index":6254,"title":{},"content":{"1476":{"position":[[5026,16]]}},"keywords":{}}],["c20f6de",{"_index":6680,"title":{},"content":{"1483":{"position":[[28,9]]}},"keywords":{}}],["c20f6de)remov",{"_index":5878,"title":{},"content":{"1474":{"position":[[17220,16]]}},"keywords":{}}],["c24a73f)syntax",{"_index":5992,"title":{},"content":{"1474":{"position":[[21030,15]]}},"keywords":{}}],["c2599e2",{"_index":7047,"title":{},"content":{"1706":{"position":[[52,9]]}},"keywords":{}}],["c2599e2)observ",{"_index":6040,"title":{},"content":{"1475":{"position":[[52,18]]}},"keywords":{}}],["c2ed26f)logset",{"_index":3908,"title":{},"content":{"786":{"position":[[118,21]]}},"keywords":{}}],["c30e4a9",{"_index":7152,"title":{},"content":{"1763":{"position":[[109,9]]}},"keywords":{}}],["c30e4a9)networkcli",{"_index":6266,"title":{},"content":{"1476":{"position":[[5371,22]]}},"keywords":{}}],["c32a940",{"_index":4466,"title":{},"content":{"1026":{"position":[[19,9]]}},"keywords":{}}],["c332271",{"_index":7007,"title":{},"content":{"1674":{"position":[[54,9]]}},"keywords":{}}],["c332271)networkconnect",{"_index":6268,"title":{},"content":{"1476":{"position":[[5434,26]]}},"keywords":{}}],["c369da8",{"_index":6556,"title":{},"content":{"1477":{"position":[[4153,10]]},"1731":{"position":[[100,10]]}},"keywords":{}}],["c37fe7d)fix",{"_index":4276,"title":{},"content":{"954":{"position":[[35,15]]}},"keywords":{}}],["c40e0fd",{"_index":5203,"title":{},"content":{"1352":{"position":[[93,9]]},"1357":{"position":[[93,9]]},"1362":{"position":[[93,9]]},"1367":{"position":[[93,9]]}},"keywords":{}}],["c45deb8)fix",{"_index":5695,"title":{},"content":{"1474":{"position":[[10842,14]]},"1566":{"position":[[845,15]]}},"keywords":{}}],["c4ce239",{"_index":4694,"title":{},"content":{"1125":{"position":[[41,9]]}},"keywords":{}}],["c57f64d",{"_index":4150,"title":{},"content":{"887":{"position":[[81,9]]}},"keywords":{}}],["c5ba561",{"_index":3166,"title":{},"content":{"476":{"position":[[121,9]]}},"keywords":{}}],["c600b4c",{"_index":3202,"title":{},"content":{"489":{"position":[[70,9]]}},"keywords":{}}],["c669ff1)avoid",{"_index":6414,"title":{},"content":{"1477":{"position":[[324,14]]}},"keywords":{}}],["c66c5a6",{"_index":6887,"title":{},"content":{"1588":{"position":[[71,9]]}},"keywords":{}}],["c66c5a6)fold",{"_index":5709,"title":{},"content":{"1474":{"position":[[11126,16]]}},"keywords":{}}],["c67de22",{"_index":7161,"title":{},"content":{"1768":{"position":[[31,9]]}},"keywords":{}}],["c67de22)add",{"_index":5488,"title":{},"content":{"1474":{"position":[[4962,12]]}},"keywords":{}}],["c67f873",{"_index":4901,"title":{},"content":{"1216":{"position":[[30,9]]}},"keywords":{}}],["c68189c",{"_index":5051,"title":{},"content":{"1286":{"position":[[66,9]]}},"keywords":{}}],["c6d4efd)upd",{"_index":3193,"title":{},"content":{"486":{"position":[[295,17]]}},"keywords":{}}],["c6d86b3)connect",{"_index":6173,"title":{},"content":{"1476":{"position":[[2999,20]]}},"keywords":{}}],["c6ef84b",{"_index":3417,"title":{},"content":{"565":{"position":[[46,9]]}},"keywords":{}}],["c6f203f)fix",{"_index":3204,"title":{},"content":{"492":{"position":[[55,15]]}},"keywords":{}}],["c6fa49c)auto",{"_index":5276,"title":{},"content":{"1466":{"position":[[199,13]]}},"keywords":{}}],["c753089)don't",{"_index":5642,"title":{},"content":{"1474":{"position":[[9159,14]]}},"keywords":{}}],["c764c1f",{"_index":3483,"title":{},"content":{"595":{"position":[[118,9]]}},"keywords":{}}],["c77bf78",{"_index":2944,"title":{},"content":{"377":{"position":[[39,9]]}},"keywords":{}}],["c7a21dd",{"_index":3950,"title":{},"content":{"811":{"position":[[45,9]]}},"keywords":{}}],["c7bd0be",{"_index":5211,"title":{},"content":{"1375":{"position":[[318,9]]},"1379":{"position":[[318,9]]},"1383":{"position":[[267,9]]},"1387":{"position":[[267,9]]},"1391":{"position":[[267,9]]}},"keywords":{}}],["c7bd0be)nr",{"_index":5192,"title":{},"content":{"1350":{"position":[[438,12]]},"1355":{"position":[[438,12]]},"1360":{"position":[[438,12]]},"1365":{"position":[[364,12]]},"1370":{"position":[[364,12]]}},"keywords":{}}],["c7d8c09)profil",{"_index":6308,"title":{},"content":{"1476":{"position":[[6542,17]]}},"keywords":{}}],["c7d8c09)use",{"_index":6845,"title":{},"content":{"1567":{"position":[[1387,12]]}},"keywords":{}}],["c85d0df)websocket",{"_index":6031,"title":{},"content":{"1474":{"position":[[22345,19]]}},"keywords":{}}],["c87a38a",{"_index":7123,"title":{},"content":{"1749":{"position":[[167,9]]}},"keywords":{}}],["c87a38a)merg",{"_index":6568,"title":{},"content":{"1477":{"position":[[4403,14]]}},"keywords":{}}],["c89bb51",{"_index":7080,"title":{},"content":{"1731":{"position":[[36,9]]}},"keywords":{}}],["c89bb51)disconnect",{"_index":5633,"title":{},"content":{"1474":{"position":[[8934,19]]}},"keywords":{}}],["c8a1a5",{"_index":6970,"title":{},"content":{"1645":{"position":[[56,9]]}},"keywords":{}}],["c8a1a5e)now",{"_index":6297,"title":{},"content":{"1476":{"position":[[6268,12]]}},"keywords":{}}],["c8ad118)websocket",{"_index":6394,"title":{},"content":{"1476":{"position":[[9049,19]]}},"keywords":{}}],["c91308f)syncvar",{"_index":5990,"title":{},"content":{"1474":{"position":[[20981,17]]}},"keywords":{}}],["c91308f)weaver",{"_index":6803,"title":{},"content":{"1562":{"position":[[574,15]]}},"keywords":{}}],["c965d4b",{"_index":7107,"title":{},"content":{"1740":{"position":[[44,9]]}},"keywords":{}}],["c965d4b)don't",{"_index":5655,"title":{},"content":{"1474":{"position":[[9532,14]]}},"keywords":{}}],["c990952)use",{"_index":4205,"title":{},"content":{"920":{"position":[[33,14]]}},"keywords":{}}],["c9a919f",{"_index":4359,"title":{},"content":{"985":{"position":[[41,9]]}},"keywords":{}}],["c9c17ab",{"_index":3591,"title":{},"content":{"640":{"position":[[55,9]]}},"keywords":{}}],["c9d0387",{"_index":4806,"title":{},"content":{"1173":{"position":[[58,9]]}},"keywords":{}}],["c9eac57)onsethostvis",{"_index":5813,"title":{},"content":{"1474":{"position":[[15323,28]]}},"keywords":{}}],["c9f317d)scene",{"_index":6396,"title":{},"content":{"1476":{"position":[[9112,15]]}},"keywords":{}}],["c^2",{"_index":1248,"title":{},"content":{"139":{"position":[[364,4]]}},"keywords":{}}],["ca18d11",{"_index":5230,"title":{},"content":{"1449":{"position":[[38,9]]}},"keywords":{}}],["ca949ea",{"_index":4085,"title":{},"content":{"860":{"position":[[47,9]]}},"keywords":{}}],["cach",{"_index":2223,"title":{},"content":{"254":{"position":[[1083,5]]},"433":{"position":[[6,6]]},"839":{"position":[[8,7]]},"1159":{"position":[[0,5]]},"1241":{"position":[[7,5]]},"1479":{"position":[[1899,5]]},"1646":{"position":[[497,5]]},"1780":{"position":[[446,5]]},"1781":{"position":[[510,5]]},"1983":{"position":[[797,5]]}},"keywords":{}}],["cachedmateri",{"_index":7190,"title":{},"content":{"1780":{"position":[[531,15],[869,15],[896,14]]},"1781":{"position":[[595,15],[933,15],[960,14]]}},"keywords":{}}],["cachedmaterial.color",{"_index":7197,"title":{},"content":{"1780":{"position":[[934,20]]},"1781":{"position":[[998,20]]}},"keywords":{}}],["cacul",{"_index":7725,"title":{},"content":{"1987":{"position":[[183,9]]},"2000":{"position":[[220,9],[657,9]]}},"keywords":{}}],["caece7",{"_index":3787,"title":{},"content":{"732":{"position":[[43,9]]}},"keywords":{}}],["cafbe50)remov",{"_index":3255,"title":{},"content":{"510":{"position":[[25,17]]}},"keywords":{}}],["calcul",{"_index":417,"title":{},"content":{"21":{"position":[[166,10]]},"22":{"position":[[810,9]]},"71":{"position":[[136,13],[213,12]]},"139":{"position":[[204,9],[540,9]]},"173":{"position":[[639,9]]},"862":{"position":[[14,9]]},"1983":{"position":[[321,10],[839,9]]},"1996":{"position":[[263,10]]},"2010":{"position":[[339,9]]},"2193":{"position":[[768,10]]},"2240":{"position":[[5146,10]]},"2407":{"position":[[61,9]]}},"keywords":{}}],["call",{"_index":174,"title":{"217":{"position":[[11,6]]},"218":{"position":[[11,6]]}},"content":{"6":{"position":[[304,4]]},"15":{"position":[[173,6]]},"41":{"position":[[402,7]]},"42":{"position":[[2056,7]]},"46":{"position":[[82,6]]},"54":{"position":[[183,6]]},"63":{"position":[[145,6]]},"71":{"position":[[1918,4]]},"85":{"position":[[266,5],[369,6]]},"91":{"position":[[330,4],[539,4],[652,4],[777,4]]},"92":{"position":[[1380,6]]},"99":{"position":[[389,7],[559,4],[908,7],[1270,7]]},"100":{"position":[[373,7]]},"103":{"position":[[131,4]]},"106":{"position":[[96,7]]},"108":{"position":[[168,7]]},"109":{"position":[[68,6]]},"163":{"position":[[14,6],[74,6],[148,6],[245,4]]},"164":{"position":[[14,6],[76,6],[221,6],[296,6],[404,6],[545,4],[590,6],[701,4],[774,6]]},"165":{"position":[[28,6]]},"167":{"position":[[15,6]]},"170":{"position":[[28,4],[101,4],[191,4],[322,4]]},"171":{"position":[[538,7]]},"197":{"position":[[132,7]]},"202":{"position":[[392,6]]},"203":{"position":[[578,4]]},"207":{"position":[[104,4]]},"210":{"position":[[126,6],[1444,8]]},"216":{"position":[[186,6],[264,6]]},"217":{"position":[[55,6],[502,4],[579,5],[589,6],[801,5],[943,7]]},"218":{"position":[[11,5],[108,5],[167,6],[251,4]]},"225":{"position":[[217,6]]},"231":{"position":[[64,6]]},"232":{"position":[[28,4]]},"234":{"position":[[64,4],[131,4]]},"235":{"position":[[616,6],[1536,6],[1776,6]]},"238":{"position":[[746,4],[877,4],[1193,4]]},"241":{"position":[[2949,6]]},"242":{"position":[[186,6],[526,6]]},"243":{"position":[[487,5],[561,4],[712,6],[1609,5],[1658,5],[1709,6],[1821,5],[1981,5]]},"245":{"position":[[2967,7]]},"247":{"position":[[365,6],[462,7],[634,6],[857,7],[928,6],[1154,6],[1274,6]]},"248":{"position":[[261,5],[377,5],[519,6],[620,4],[905,6],[1019,6],[1244,6]]},"249":{"position":[[326,6],[1127,4],[1745,4],[1835,4]]},"251":{"position":[[3704,4],[3721,6],[4181,4],[4552,4]]},"254":{"position":[[401,7],[1354,7]]},"257":{"position":[[621,5]]},"264":{"position":[[588,6],[665,5],[1096,6],[1498,6],[1827,6],[2035,6],[2172,6]]},"285":{"position":[[76,5]]},"286":{"position":[[46,7]]},"288":{"position":[[773,4],[1280,5],[1447,6],[1497,4],[1584,7]]},"291":{"position":[[107,5]]},"294":{"position":[[815,4]]},"295":{"position":[[232,4],[365,4],[525,5]]},"301":{"position":[[257,4],[326,4],[491,4]]},"302":{"position":[[5,7],[180,6],[273,4],[713,7],[763,4],[834,7],[903,6]]},"303":{"position":[[580,6]]},"317":{"position":[[287,7]]},"328":{"position":[[321,6],[381,4],[562,7]]},"332":{"position":[[25,6],[116,6],[637,4]]},"333":{"position":[[388,6],[540,6]]},"335":{"position":[[462,7],[747,7],[1330,6]]},"337":{"position":[[987,6],[1170,5],[1357,7]]},"340":{"position":[[698,4]]},"344":{"position":[[692,4]]},"346":{"position":[[431,6],[1440,6],[1873,4],[2290,4],[2722,7]]},"348":{"position":[[1028,4]]},"352":{"position":[[668,4]]},"363":{"position":[[407,6],[455,6]]},"451":{"position":[[0,7]]},"485":{"position":[[26,6]]},"524":{"position":[[170,6]]},"603":{"position":[[46,6]]},"614":{"position":[[32,6],[148,6]]},"623":{"position":[[9,4]]},"670":{"position":[[169,6],[248,6]]},"701":{"position":[[12,4]]},"703":{"position":[[16,5],[97,6]]},"708":{"position":[[0,7]]},"710":{"position":[[7,7]]},"721":{"position":[[7,5]]},"850":{"position":[[30,6]]},"879":{"position":[[80,4]]},"930":{"position":[[57,6]]},"939":{"position":[[104,6]]},"948":{"position":[[105,5]]},"958":{"position":[[307,6]]},"968":{"position":[[128,6]]},"972":{"position":[[32,6]]},"989":{"position":[[25,6]]},"1132":{"position":[[18,4]]},"1229":{"position":[[0,7]]},"1285":{"position":[[14,5]]},"1353":{"position":[[72,7]]},"1358":{"position":[[72,7]]},"1363":{"position":[[72,7]]},"1368":{"position":[[72,7]]},"1466":{"position":[[456,6],[819,6]]},"1474":{"position":[[248,4],[994,4],[1067,5],[1128,4],[1886,4],[2613,6],[3553,7],[4438,5],[5084,5],[6285,4],[8182,6],[9002,4],[9054,4],[9121,4],[9174,4],[9244,4],[10402,5],[10435,5],[10559,6],[12739,4],[12900,6],[13468,5],[13685,7],[13976,6],[15059,4],[15242,6],[16208,4],[17719,5],[18035,4],[19064,7],[20692,7],[20769,5],[21228,7],[22521,5]]},"1476":{"position":[[1466,6],[6036,6]]},"1477":{"position":[[808,5],[875,5],[1230,5]]},"1479":{"position":[[3888,6]]},"1489":{"position":[[19,4]]},"1504":{"position":[[3,4]]},"1566":{"position":[[387,4],[703,4],[773,4]]},"1567":{"position":[[493,6]]},"1582":{"position":[[140,6]]},"1644":{"position":[[27,5],[88,4]]},"1655":{"position":[[224,4]]},"1670":{"position":[[0,7]]},"1693":{"position":[[45,4]]},"1696":{"position":[[0,7]]},"1729":{"position":[[199,6]]},"1733":{"position":[[56,5]]},"1745":{"position":[[0,4],[196,7]]},"1752":{"position":[[77,5]]},"1766":{"position":[[141,4],[489,5],[522,5],[646,6]]},"1779":{"position":[[77,6]]},"1795":{"position":[[38,6],[136,4],[520,6],[618,4]]},"1835":{"position":[[1511,6],[1587,5]]},"1890":{"position":[[94,6],[491,6]]},"1894":{"position":[[141,6]]},"2018":{"position":[[71,6]]},"2023":{"position":[[197,6]]},"2039":{"position":[[239,4],[270,4]]},"2134":{"position":[[152,6],[248,6]]},"2145":{"position":[[74,6]]},"2156":{"position":[[389,4],[498,4]]},"2158":{"position":[[741,6]]},"2168":{"position":[[222,5],[390,5],[771,5]]},"2173":{"position":[[410,4],[526,4]]},"2181":{"position":[[273,6]]},"2198":{"position":[[68,6]]},"2240":{"position":[[448,4],[6671,4],[6785,4]]},"2243":{"position":[[301,4]]},"2253":{"position":[[168,6],[735,6]]},"2255":{"position":[[35,6]]},"2261":{"position":[[173,6],[274,6],[645,6],[892,6]]},"2265":{"position":[[30,4],[254,5],[549,4],[2907,6]]},"2267":{"position":[[177,6]]},"2279":{"position":[[35,6]]},"2290":{"position":[[142,6]]},"2306":{"position":[[428,4],[798,6],[848,6]]},"2311":{"position":[[31,6],[235,6],[482,6]]},"2313":{"position":[[35,6]]},"2332":{"position":[[672,6],[781,6],[827,6],[1331,6],[1438,6]]},"2349":{"position":[[560,4],[604,7]]},"2350":{"position":[[827,7]]},"2359":{"position":[[588,4],[674,6],[753,4],[2897,6]]},"2370":{"position":[[3341,6],[3586,6],[3692,7],[3876,6],[3976,6],[4433,6],[4468,6],[4503,6],[4635,6],[4702,6],[4897,6],[5292,6]]},"2371":{"position":[[545,6],[787,6]]},"2386":{"position":[[19,6]]},"2401":{"position":[[468,4],[2281,6]]},"2417":{"position":[[9875,4],[10485,7]]},"2419":{"position":[[803,4],[847,7]]},"2420":{"position":[[1929,7]]},"2421":{"position":[[3410,4],[3901,4]]},"2434":{"position":[[857,4],[898,4]]},"2471":{"position":[[35,6]]},"2473":{"position":[[537,4]]},"2478":{"position":[[113,5],[284,4],[799,7],[1055,5],[1226,4],[1725,7]]},"2482":{"position":[[1712,5],[1883,4],[2347,7],[2587,5],[2758,4],[5648,7],[5722,7],[5978,6]]},"2522":{"position":[[32,6]]}},"keywords":{}}],["call/invok",{"_index":5886,"title":{},"content":{"1474":{"position":[[17501,11]]},"1496":{"position":[[268,11]]}},"keywords":{}}],["callback",{"_index":1316,"title":{"161":{"position":[[16,9]]},"162":{"position":[[18,9]]},"169":{"position":[[0,9]]},"171":{"position":[[11,10]]},"219":{"position":[[8,10]]},"344":{"position":[[0,10]]},"352":{"position":[[0,10]]}},"content":{"161":{"position":[[16,9]]},"164":{"position":[[673,10]]},"171":{"position":[[11,9],[255,9],[305,10],[320,9],[431,10],[446,9]]},"219":{"position":[[0,9],[83,9],[203,9]]},"243":{"position":[[871,8]]},"245":{"position":[[3282,8]]},"271":{"position":[[169,9]]},"273":{"position":[[1071,9]]},"340":{"position":[[337,9],[516,8]]},"344":{"position":[[171,9],[365,10],[418,10]]},"345":{"position":[[310,8]]},"348":{"position":[[851,8]]},"352":{"position":[[165,9],[347,10],[400,10]]},"353":{"position":[[256,8]]},"380":{"position":[[7,8]]},"1474":{"position":[[6834,8]]},"1479":{"position":[[2381,8],[2408,8],[2474,8]]},"1660":{"position":[[15,8]]},"1662":{"position":[[0,8]]},"1664":{"position":[[28,8]]},"1745":{"position":[[5,8]]},"2114":{"position":[[1115,10],[1262,9]]},"2132":{"position":[[1241,10],[1378,9],[1572,10],[1734,9]]},"2141":{"position":[[445,10],[586,9]]},"2149":{"position":[[94,9],[189,8]]},"2240":{"position":[[2724,9]]},"2320":{"position":[[629,8]]},"2325":{"position":[[250,8],[467,9],[553,8]]},"2364":{"position":[[32,9]]},"2371":{"position":[[121,8]]},"2383":{"position":[[135,8],[624,8],[751,8]]},"2397":{"position":[[76,8],[565,8],[692,8]]},"2401":{"position":[[1412,10],[1502,9]]},"2404":{"position":[[92,8],[581,8],[708,8]]},"2421":{"position":[[749,9],[880,8]]},"2434":{"position":[[33,8],[522,8],[649,8]]},"2458":{"position":[[1645,10],[1786,9],[1937,10],[2063,9],[2178,10],[2279,9]]}},"keywords":{}}],["callback(messagedelegatewithplayer<t>",{"_index":8877,"title":{},"content":{"2325":{"position":[[200,45],[423,43]]}},"keywords":{}}],["callback)cal",{"_index":894,"title":{},"content":{"75":{"position":[[144,13]]}},"keywords":{}}],["called"",{"_index":5913,"title":{},"content":{"1474":{"position":[[18083,12]]}},"keywords":{}}],["caller",{"_index":5789,"title":{},"content":{"1474":{"position":[[14287,6]]},"1733":{"position":[[355,6]]}},"keywords":{}}],["came",{"_index":8470,"title":{},"content":{"2158":{"position":[[1105,4]]}},"keywords":{}}],["camera",{"_index":867,"title":{},"content":{"71":{"position":[[1130,6],[1236,6],[1290,6]]},"203":{"position":[[1478,6]]},"243":{"position":[[1367,6]]},"248":{"position":[[1444,6]]},"2358":{"position":[[960,6]]},"2370":{"position":[[4251,7]]}},"keywords":{}}],["camera.main.transform.localposit",{"_index":1686,"title":{},"content":{"203":{"position":[[1817,35]]},"209":{"position":[[1040,35]]}},"keywords":{}}],["camera.main.transform.setparent(transform",{"_index":1685,"title":{},"content":{"203":{"position":[[1773,43]]},"209":{"position":[[996,43]]}},"keywords":{}}],["can't",{"_index":1056,"title":{},"content":{"107":{"position":[[131,5]]},"204":{"position":[[397,5]]},"266":{"position":[[251,5]]},"317":{"position":[[523,5]]},"924":{"position":[[23,5]]},"1983":{"position":[[2819,5]]},"2083":{"position":[[206,5]]}},"keywords":{}}],["cancel",{"_index":357,"title":{},"content":{"14":{"position":[[1736,6]]}},"keywords":{}}],["canread",{"_index":7976,"title":{},"content":{"2023":{"position":[[760,10],[819,9]]}},"keywords":{}}],["canreadbit",{"_index":3811,"title":{},"content":{"740":{"position":[[22,11]]}},"keywords":{}}],["canreadbits(int",{"_index":7979,"title":{},"content":{"2023":{"position":[[943,15]]}},"keywords":{}}],["canreadbits(int32",{"_index":7977,"title":{},"content":{"2023":{"position":[[871,19]]}},"keywords":{}}],["canreadbytes(int",{"_index":7981,"title":{},"content":{"2023":{"position":[[1143,16]]}},"keywords":{}}],["canreadbytes(int32",{"_index":7980,"title":{},"content":{"2023":{"position":[[1069,20]]}},"keywords":{}}],["cant",{"_index":4844,"title":{},"content":{"1189":{"position":[[115,4]]}},"keywords":{}}],["canva",{"_index":843,"title":{},"content":{"69":{"position":[[241,6]]},"210":{"position":[[160,6],[1706,6],[1727,6]]}},"keywords":{}}],["canvasstatustext",{"_index":1769,"title":{},"content":{"210":{"position":[[1267,17]]}},"keywords":{}}],["canvasstatustext.text",{"_index":1773,"title":{},"content":{"210":{"position":[[1514,21]]}},"keywords":{}}],["can’t",{"_index":2105,"title":{},"content":{"246":{"position":[[107,5]]},"249":{"position":[[1707,5]]}},"keywords":{}}],["cap",{"_index":6713,"title":{},"content":{"1506":{"position":[[0,3]]}},"keywords":{}}],["capac",{"_index":4136,"title":{},"content":{"881":{"position":[[87,8]]},"2019":{"position":[[311,8]]},"2203":{"position":[[222,9],[256,8]]}},"keywords":{}}],["capit",{"_index":5694,"title":{},"content":{"1474":{"position":[[10827,14]]},"1566":{"position":[[830,14]]}},"keywords":{}}],["capsul",{"_index":703,"title":{},"content":{"50":{"position":[[330,8]]},"203":{"position":[[184,7]]},"241":{"position":[[3601,9]]}},"keywords":{}}],["capsule.ther",{"_index":676,"title":{},"content":{"46":{"position":[[928,13]]}},"keywords":{}}],["capsule.tick",{"_index":1672,"title":{},"content":{"203":{"position":[[298,12]]}},"keywords":{}}],["card",{"_index":1427,"title":{},"content":{"181":{"position":[[94,6]]},"356":{"position":[[1496,4]]},"1466":{"position":[[1005,6]]}},"keywords":{}}],["care",{"_index":2529,"title":{},"content":{"306":{"position":[[32,4]]}},"keywords":{}}],["case",{"_index":230,"title":{"121":{"position":[[4,6]]},"127":{"position":[[4,6]]},"133":{"position":[[4,6]]},"146":{"position":[[4,6]]},"153":{"position":[[4,6]]},"332":{"position":[[12,5]]}},"content":{"10":{"position":[[303,5]]},"85":{"position":[[794,5]]},"94":{"position":[[495,5]]},"187":{"position":[[252,6],[1289,5]]},"238":{"position":[[2393,4]]},"240":{"position":[[28,4],[2702,4],[2779,4],[2854,4]]},"241":{"position":[[3154,4],[3221,4],[3286,4]]},"254":{"position":[[690,6]]},"294":{"position":[[591,4],[647,4]]},"301":{"position":[[170,4]]},"314":{"position":[[78,5]]},"316":{"position":[[1690,4],[1791,4]]},"340":{"position":[[1196,4],[1289,4],[1372,4]]},"348":{"position":[[1491,4],[1584,4],[1667,4]]},"356":{"position":[[8,4],[1455,5]]},"367":{"position":[[102,4]]},"1346":{"position":[[13,4]]},"1474":{"position":[[663,6],[1149,6]]},"1644":{"position":[[109,6]]},"1766":{"position":[[453,6]]}},"keywords":{}}],["cast",{"_index":1125,"title":{},"content":{"117":{"position":[[2781,4]]},"173":{"position":[[369,4],[386,7]]},"700":{"position":[[11,4]]},"1477":{"position":[[1349,5]]},"1568":{"position":[[78,5]]},"1803":{"position":[[37,4]]},"2012":{"position":[[793,5],[820,4]]},"2336":{"position":[[32,4]]}},"keywords":{}}],["castlay",{"_index":2282,"title":{},"content":{"264":{"position":[[2429,12]]}},"keywords":{}}],["cat",{"_index":7185,"title":{},"content":{"1778":{"position":[[147,3],[214,3],[236,3],[310,3],[431,3]]}},"keywords":{}}],["catch",{"_index":5784,"title":{},"content":{"1474":{"position":[[13812,7]]},"1729":{"position":[[35,7]]}},"keywords":{}}],["caus",{"_index":383,"title":{},"content":{"18":{"position":[[107,5]]},"108":{"position":[[117,5]]},"129":{"position":[[220,7]]},"130":{"position":[[262,7]]},"155":{"position":[[222,7]]},"158":{"position":[[220,7]]},"159":{"position":[[262,7]]},"198":{"position":[[104,5]]},"235":{"position":[[695,5],[1957,6]]},"321":{"position":[[573,5]]},"335":{"position":[[388,6]]},"355":{"position":[[1082,5]]},"541":{"position":[[70,7]]},"634":{"position":[[117,7]]},"956":{"position":[[18,6]]},"1337":{"position":[[16,6]]},"1474":{"position":[[961,7],[6466,7],[13925,5],[14139,6],[18098,6],[22588,6]]},"1655":{"position":[[191,7]]},"1715":{"position":[[11,7]]},"1717":{"position":[[147,6]]},"1729":{"position":[[148,5]]},"1952":{"position":[[296,5]]},"1983":{"position":[[2901,5]]},"2031":{"position":[[2307,5]]},"2083":{"position":[[288,5]]},"2332":{"position":[[567,6],[1002,6],[1228,6],[1662,6]]},"2370":{"position":[[5101,6]]},"2371":{"position":[[32,6],[433,6]]},"2482":{"position":[[5579,6],[5671,6]]}},"keywords":{}}],["caution",{"_index":854,"title":{},"content":{"71":{"position":[[294,7],[729,7]]},"183":{"position":[[439,7]]},"314":{"position":[[108,8]]},"316":{"position":[[257,7]]},"327":{"position":[[392,7]]},"1778":{"position":[[297,7]]}},"keywords":{}}],["cb1b869)updat",{"_index":3564,"title":{},"content":{"628":{"position":[[56,17]]}},"keywords":{}}],["cb20ad9",{"_index":3836,"title":{},"content":{"755":{"position":[[49,9]]}},"keywords":{}}],["cb3d9f0",{"_index":7133,"title":{},"content":{"1752":{"position":[[154,9]]}},"keywords":{}}],["cb3d9f0)the",{"_index":6003,"title":{},"content":{"1474":{"position":[[21571,12]]}},"keywords":{}}],["cb7fa26)improv",{"_index":3295,"title":{},"content":{"530":{"position":[[44,18]]}},"keywords":{}}],["cbb00b3",{"_index":4752,"title":{},"content":{"1147":{"position":[[82,9]]}},"keywords":{}}],["cbb12d1)replac",{"_index":4290,"title":{},"content":{"957":{"position":[[44,18]]}},"keywords":{}}],["cbc2a47)don't",{"_index":5650,"title":{},"content":{"1474":{"position":[[9380,14]]}},"keywords":{}}],["cbc2a47)elimin",{"_index":6873,"title":{},"content":{"1581":{"position":[[39,18]]}},"keywords":{}}],["cbc52e5",{"_index":4813,"title":{},"content":{"1177":{"position":[[46,9]]}},"keywords":{}}],["cc19f3b",{"_index":5045,"title":{},"content":{"1285":{"position":[[65,9]]}},"keywords":{}}],["cc6e4f6)workaround",{"_index":5959,"title":{},"content":{"1474":{"position":[[20076,19]]}},"keywords":{}}],["cca1ae2",{"_index":3822,"title":{},"content":{"746":{"position":[[18,9]]}},"keywords":{}}],["ccc7ef5",{"_index":3516,"title":{},"content":{"605":{"position":[[53,9]]}},"keywords":{}}],["cce01f8",{"_index":3342,"title":{},"content":{"542":{"position":[[29,9]]}},"keywords":{}}],["ccef5fb",{"_index":4095,"title":{},"content":{"863":{"position":[[42,9]]}},"keywords":{}}],["cclient",{"_index":2873,"title":{},"content":{"356":{"position":[[421,7],[466,7]]}},"keywords":{}}],["cd",{"_index":1620,"title":{},"content":{"195":{"position":[[329,2]]},"196":{"position":[[29,2]]}},"keywords":{}}],["cd5c753)add",{"_index":3106,"title":{},"content":{"444":{"position":[[245,12]]}},"keywords":{}}],["cd6110a)wrong",{"_index":5002,"title":{},"content":{"1267":{"position":[[37,14]]}},"keywords":{}}],["cd7317f",{"_index":4594,"title":{},"content":{"1079":{"position":[[60,10]]}},"keywords":{}}],["ce26e49",{"_index":3489,"title":{},"content":{"599":{"position":[[39,9]]}},"keywords":{}}],["ce36e58",{"_index":3184,"title":{},"content":{"485":{"position":[[39,9]]}},"keywords":{}}],["ce6ef50",{"_index":6686,"title":{},"content":{"1487":{"position":[[50,9]]}},"keywords":{}}],["ce6ef50)impl",{"_index":6211,"title":{},"content":{"1476":{"position":[[3939,18]]}},"keywords":{}}],["cecil",{"_index":3090,"title":{},"content":{"442":{"position":[[0,6],[29,5]]},"1163":{"position":[[12,5]]},"1474":{"position":[[2181,5]]}},"keywords":{}}],["ced3690)reus",{"_index":6485,"title":{},"content":{"1477":{"position":[[2391,14]]}},"keywords":{}}],["center",{"_index":5896,"title":{},"content":{"1474":{"position":[[17677,8]]},"1566":{"position":[[1594,8]]}},"keywords":{}}],["central",{"_index":2057,"title":{},"content":{"243":{"position":[[2134,7]]}},"keywords":{}}],["central1",{"_index":1583,"title":{},"content":{"190":{"position":[[553,8],[587,8]]}},"keywords":{}}],["certain",{"_index":987,"title":{},"content":{"92":{"position":[[804,7]]},"182":{"position":[[3109,8]]},"361":{"position":[[626,7]]}},"keywords":{}}],["certainli",{"_index":1702,"title":{},"content":{"204":{"position":[[408,9]]}},"keywords":{}}],["cf55333",{"_index":6996,"title":{},"content":{"1666":{"position":[[50,9]]}},"keywords":{}}],["cf55333)pass",{"_index":5819,"title":{},"content":{"1474":{"position":[[15505,13]]}},"keywords":{}}],["cf6823a)remov",{"_index":5883,"title":{},"content":{"1474":{"position":[[17369,16]]}},"keywords":{}}],["cf6823a)weav",{"_index":6861,"title":{},"content":{"1577":{"position":[[339,15]]}},"keywords":{}}],["cf91e1d",{"_index":3738,"title":{},"content":{"710":{"position":[[56,9]]}},"keywords":{}}],["cf9f746)refactor",{"_index":3501,"title":{},"content":{"600":{"position":[[274,19]]}},"keywords":{}}],["chanc",{"_index":1948,"title":{},"content":{"238":{"position":[[2292,6]]},"1474":{"position":[[2493,6]]},"2130":{"position":[[1810,7]]}},"keywords":{}}],["chang",{"_index":386,"title":{"30":{"position":[[9,6]]},"82":{"position":[[0,8]]},"361":{"position":[[9,7]]},"373":{"position":[[9,8]]},"391":{"position":[[9,8]]},"411":{"position":[[9,8]]},"441":{"position":[[9,8]]},"455":{"position":[[9,8]]},"458":{"position":[[9,8]]},"468":{"position":[[9,8]]},"470":{"position":[[9,8]]},"478":{"position":[[9,8]]},"484":{"position":[[9,8]]},"487":{"position":[[9,8]]},"490":{"position":[[9,8]]},"499":{"position":[[9,8]]},"505":{"position":[[9,8]]},"509":{"position":[[9,8]]},"512":{"position":[[9,8]]},"514":{"position":[[9,8]]},"524":{"position":[[9,8]]},"539":{"position":[[9,8]]},"549":{"position":[[9,8]]},"583":{"position":[[9,8]]},"601":{"position":[[9,8]]},"603":{"position":[[9,8]]},"610":{"position":[[9,8]]},"613":{"position":[[9,8]]},"616":{"position":[[9,8]]},"662":{"position":[[9,8]]},"671":{"position":[[9,8]]},"675":{"position":[[9,8]]},"681":{"position":[[9,8]]},"693":{"position":[[9,8]]},"696":{"position":[[9,8]]},"707":{"position":[[9,8]]},"714":{"position":[[9,8]]},"716":{"position":[[9,8]]},"728":{"position":[[9,8]]},"759":{"position":[[9,8]]},"768":{"position":[[9,8]]},"773":{"position":[[9,8]]},"775":{"position":[[9,8]]},"783":{"position":[[9,8]]},"788":{"position":[[9,8]]},"800":{"position":[[9,8]]},"814":{"position":[[9,8]]},"828":{"position":[[9,8]]},"845":{"position":[[9,8]]},"852":{"position":[[9,8]]},"854":{"position":[[9,8]]},"885":{"position":[[9,8]]},"892":{"position":[[9,8]]},"900":{"position":[[9,8]]},"904":{"position":[[9,8]]},"913":{"position":[[9,8]]},"942":{"position":[[9,8]]},"949":{"position":[[9,8]]},"952":{"position":[[9,8]]},"958":{"position":[[9,8]]},"961":{"position":[[9,8]]},"968":{"position":[[9,8]]},"970":{"position":[[9,8]]},"972":{"position":[[9,8]]},"981":{"position":[[9,8]]},"1000":{"position":[[9,8]]},"1006":{"position":[[9,8]]},"1009":{"position":[[9,8]]},"1020":{"position":[[9,8]]},"1022":{"position":[[9,8]]},"1024":{"position":[[9,8]]},"1030":{"position":[[9,8]]},"1034":{"position":[[9,8]]},"1036":{"position":[[9,8]]},"1038":{"position":[[9,8]]},"1040":{"position":[[9,8]]},"1042":{"position":[[9,8]]},"1047":{"position":[[9,8]]},"1050":{"position":[[9,8]]},"1052":{"position":[[9,8]]},"1056":{"position":[[9,8]]},"1058":{"position":[[9,8]]},"1060":{"position":[[9,8]]},"1067":{"position":[[9,8]]},"1076":{"position":[[9,8]]},"1104":{"position":[[9,8]]},"1113":{"position":[[9,8]]},"1116":{"position":[[9,8]]},"1118":{"position":[[9,8]]},"1142":{"position":[[9,8]]},"1190":{"position":[[9,8]]},"1200":{"position":[[9,8]]},"1212":{"position":[[9,8]]},"1234":{"position":[[9,8]]},"1237":{"position":[[9,8]]},"1238":{"position":[[9,8]]},"1269":{"position":[[9,8]]},"1272":{"position":[[9,8]]},"1276":{"position":[[9,8]]},"1279":{"position":[[9,8]]},"1287":{"position":[[9,8]]},"1299":{"position":[[9,8]]},"1317":{"position":[[9,8]]},"1339":{"position":[[9,8]]},"1342":{"position":[[9,8]]},"1353":{"position":[[9,8]]},"1358":{"position":[[9,8]]},"1363":{"position":[[9,8]]},"1368":{"position":[[9,8]]},"1373":{"position":[[9,8]]},"1377":{"position":[[9,8]]},"1381":{"position":[[9,8]]},"1385":{"position":[[9,8]]},"1389":{"position":[[9,8]]},"1393":{"position":[[9,8]]},"1397":{"position":[[9,8]]},"1401":{"position":[[9,8]]},"1405":{"position":[[9,8]]},"1409":{"position":[[9,8]]},"1413":{"position":[[9,8]]},"1417":{"position":[[9,8]]},"1421":{"position":[[9,8]]},"1425":{"position":[[9,8]]},"1429":{"position":[[9,8]]},"1433":{"position":[[9,8]]},"1437":{"position":[[9,8]]},"1440":{"position":[[9,8]]},"1450":{"position":[[9,8]]},"1453":{"position":[[9,8]]},"1461":{"position":[[9,8]]},"1479":{"position":[[9,8]]},"1501":{"position":[[9,8]]},"1515":{"position":[[9,8]]},"1519":{"position":[[9,8]]},"1527":{"position":[[9,8]]},"1529":{"position":[[9,8]]},"1531":{"position":[[9,8]]},"1535":{"position":[[9,8]]},"1537":{"position":[[9,8]]},"1559":{"position":[[9,8]]},"1595":{"position":[[9,8]]},"1599":{"position":[[9,8]]},"1602":{"position":[[9,8]]},"1616":{"position":[[9,8]]},"1631":{"position":[[9,8]]},"1643":{"position":[[9,8]]},"1646":{"position":[[9,8]]},"1650":{"position":[[9,8]]},"1651":{"position":[[9,8]]},"1653":{"position":[[9,8]]},"1660":{"position":[[9,8]]},"1662":{"position":[[9,8]]},"1664":{"position":[[9,8]]},"1672":{"position":[[9,8]]},"1689":{"position":[[9,8]]},"1697":{"position":[[9,8]]},"1699":{"position":[[9,8]]},"1705":{"position":[[9,8]]},"1707":{"position":[[9,8]]},"1723":{"position":[[9,8]]},"1726":{"position":[[9,8]]},"1727":{"position":[[9,8]]},"1732":{"position":[[9,8]]},"1736":{"position":[[9,8]]},"1737":{"position":[[9,8]]},"1742":{"position":[[9,8]]},"1748":{"position":[[9,8]]},"1750":{"position":[[9,8]]}},"content":{"18":{"position":[[203,8],[238,7],[384,6]]},"24":{"position":[[1666,7]]},"29":{"position":[[144,6]]},"30":{"position":[[13,6],[95,7],[259,6],[475,7]]},"33":{"position":[[607,7]]},"42":{"position":[[259,6],[354,8],[424,8]]},"43":{"position":[[683,7],[788,6],[951,7],[1063,7]]},"75":{"position":[[12,6]]},"82":{"position":[[3,6]]},"139":{"position":[[1285,6]]},"173":{"position":[[1290,6],[1417,8]]},"182":{"position":[[157,6],[1142,7],[1260,8],[1647,8],[3595,8]]},"184":{"position":[[285,7]]},"190":{"position":[[814,7],[858,6],[1040,6]]},"202":{"position":[[579,8],[762,6],[1111,6]]},"211":{"position":[[1613,6],[1898,6],[1991,6]]},"213":{"position":[[594,6],[771,6],[893,7]]},"215":{"position":[[271,7]]},"240":{"position":[[944,8]]},"245":{"position":[[3927,6]]},"247":{"position":[[1019,7]]},"249":{"position":[[1484,8]]},"254":{"position":[[636,6]]},"262":{"position":[[622,8],[671,7]]},"263":{"position":[[418,6]]},"268":{"position":[[43,7]]},"272":{"position":[[997,7]]},"273":{"position":[[715,7]]},"337":{"position":[[609,8],[817,8],[847,7],[1135,7]]},"340":{"position":[[381,7]]},"344":{"position":[[37,7],[229,6]]},"345":{"position":[[470,7]]},"346":{"position":[[928,7]]},"348":{"position":[[712,8]]},"352":{"position":[[31,7],[223,6]]},"353":{"position":[[416,7]]},"355":{"position":[[42,7]]},"357":{"position":[[54,7],[110,7],[284,7],[323,7]]},"358":{"position":[[162,6]]},"359":{"position":[[66,8],[119,7]]},"360":{"position":[[67,7],[150,7]]},"361":{"position":[[16,8],[151,7],[327,8],[581,7]]},"363":{"position":[[127,7],[547,7],[652,6]]},"371":{"position":[[121,8]]},"390":{"position":[[205,8]]},"395":{"position":[[0,8]]},"464":{"position":[[15,6]]},"498":{"position":[[0,8]]},"514":{"position":[[37,7]]},"538":{"position":[[132,7]]},"545":{"position":[[199,7]]},"674":{"position":[[47,7]]},"677":{"position":[[167,7]]},"725":{"position":[[32,6]]},"734":{"position":[[335,6]]},"820":{"position":[[123,6],[142,8]]},"843":{"position":[[0,8]]},"847":{"position":[[72,6],[135,7]]},"870":{"position":[[94,6]]},"898":{"position":[[40,6]]},"990":{"position":[[7,6]]},"1000":{"position":[[328,6],[691,7],[1044,7]]},"1004":{"position":[[0,7]]},"1023":{"position":[[0,8]]},"1024":{"position":[[276,8]]},"1088":{"position":[[20,6]]},"1104":{"position":[[25,6]]},"1112":{"position":[[0,6]]},"1353":{"position":[[116,6]]},"1358":{"position":[[116,6]]},"1363":{"position":[[116,6]]},"1368":{"position":[[116,6]]},"1466":{"position":[[192,6]]},"1472":{"position":[[6,6]]},"1474":{"position":[[513,7],[1548,7],[5195,6],[9078,7],[9214,6],[10609,6],[16287,8],[20321,7],[20781,6],[20868,8],[21750,7],[22412,7]]},"1476":{"position":[[1376,7],[1491,7],[3434,6]]},"1478":{"position":[[1140,6]]},"1479":{"position":[[972,7],[2427,7]]},"1481":{"position":[[32,6]]},"1495":{"position":[[64,7]]},"1559":{"position":[[39,7]]},"1561":{"position":[[30,6]]},"1566":{"position":[[743,6],[1421,8],[1847,7]]},"1567":{"position":[[403,7],[518,7]]},"1662":{"position":[[19,7]]},"1752":{"position":[[89,6]]},"1766":{"position":[[303,7],[696,6]]},"1778":{"position":[[407,6]]},"1779":{"position":[[101,7]]},"1783":{"position":[[416,6]]},"1834":{"position":[[27,7]]},"1835":{"position":[[131,6],[314,7],[639,7],[1060,7]]},"1952":{"position":[[201,6],[275,7],[308,7]]},"2031":{"position":[[2767,6],[2808,6]]},"2240":{"position":[[5982,6],[6070,6],[6200,6],[6325,6],[7181,7]]},"2253":{"position":[[209,6]]},"2359":{"position":[[1535,7]]},"2416":{"position":[[425,8],[604,7],[749,7],[919,7]]},"2417":{"position":[[6568,7],[7498,7]]},"2462":{"position":[[82,6],[170,6]]},"2466":{"position":[[81,6],[206,6]]},"2478":{"position":[[2090,6],[2163,8],[2949,6],[3022,8]]},"2482":{"position":[[319,6],[392,8],[1144,6],[1217,8]]},"2515":{"position":[[103,6],[171,8],[202,7]]},"2518":{"position":[[97,6],[251,8],[284,7],[402,7]]},"2522":{"position":[[68,8],[193,7]]}},"keywords":{}}],["changedif",{"_index":2745,"title":{},"content":{"335":{"position":[[994,9]]}},"keywords":{}}],["changeequipment(equippeditem",{"_index":1995,"title":{},"content":{"240":{"position":[[2505,28]]},"241":{"position":[[2688,28]]}},"keywords":{}}],["changelog",{"_index":4044,"title":{},"content":{"847":{"position":[[53,10],[249,10],[328,9],[462,9]]},"1121":{"position":[[5,9]]},"1474":{"position":[[4935,9]]},"1476":{"position":[[4216,9]]},"1768":{"position":[[4,9]]},"1769":{"position":[[18,9]]}},"keywords":{}}],["changes.th",{"_index":2746,"title":{},"content":{"335":{"position":[[1145,11]]}},"keywords":{}}],["changesbi",{"_index":3196,"title":{},"content":{"487":{"position":[[50,9]]}},"keywords":{}}],["changescen",{"_index":659,"title":{"45":{"position":[[0,11]]}},"content":{"45":{"position":[[0,11]]}},"keywords":{}}],["changesoth",{"_index":1909,"title":{},"content":{"235":{"position":[[1169,12]]}},"keywords":{}}],["channel",{"_index":804,"title":{"287":{"position":[[0,8]]},"2249":{"position":[[5,7]]}},"content":{"64":{"position":[[133,7]]},"91":{"position":[[101,7]]},"287":{"position":[[56,9]]},"537":{"position":[[277,7]]},"946":{"position":[[7,7]]},"1215":{"position":[[30,7]]},"1298":{"position":[[38,7],[122,8]]},"1299":{"position":[[34,8]]},"1474":{"position":[[17861,7]]},"1476":{"position":[[302,8]]},"1484":{"position":[[53,8]]},"1703":{"position":[[15,7]]},"1870":{"position":[[125,9],[330,7]]},"1966":{"position":[[45,8],[170,7],[450,8],[588,7]]},"1979":{"position":[[45,8],[170,7]]},"2243":{"position":[[0,8]]},"2267":{"position":[[0,8],[29,7],[37,7]]},"2296":{"position":[[17,9],[70,7],[209,9],[276,7]]},"2351":{"position":[[408,9],[504,7],[551,8],[806,7],[945,9],[1019,7]]},"2401":{"position":[[594,9],[702,7],[829,7],[880,9],[1118,7]]},"2421":{"position":[[921,9],[1108,7],[1286,9],[1396,7],[1636,9],[1768,7],[2051,9],[2225,7],[2497,9],[2666,7],[2958,9],[3095,7],[3344,9],[3602,7],[3835,9],[4102,7]]},"2476":{"position":[[0,8],[29,7],[37,7]]}},"keywords":{}}],["channel.reli",{"_index":2404,"title":{},"content":{"287":{"position":[[87,18]]},"1870":{"position":[[350,17]]},"2296":{"position":[[90,17],[296,17]]},"2351":{"position":[[826,17],[1039,17]]},"2401":{"position":[[722,17],[1138,17]]},"2421":{"position":[[1128,17],[1416,17],[1788,17],[2245,17],[2686,17],[3115,17],[3622,17],[4122,17]]}},"keywords":{}}],["channelclient.disconnect",{"_index":4270,"title":{},"content":{"949":{"position":[[36,26]]}},"keywords":{}}],["channelid",{"_index":5492,"title":{},"content":{"1474":{"position":[[5040,9]]},"1733":{"position":[[12,9]]},"1870":{"position":[[338,9],[738,9]]},"1966":{"position":[[178,10],[360,9],[596,10],[782,9]]},"1979":{"position":[[178,10],[364,9]]},"2296":{"position":[[78,9],[167,9],[284,9],[410,9]]},"2351":{"position":[[814,9],[903,9],[1027,9],[1153,9]]},"2401":{"position":[[710,9],[799,9],[1126,9],[1252,9]]},"2421":{"position":[[1018,10],[1116,9],[1235,9],[1404,9],[1556,9],[1776,9],[1973,9],[2233,9],[2428,9],[2674,9],[2884,9],[3103,9],[3282,9],[3610,9],[3764,9],[4110,9],[4273,9]]}},"keywords":{}}],["char",{"_index":8137,"title":{},"content":{"2056":{"position":[[482,6],[558,4],[3107,4]]}},"keywords":{}}],["charact",{"_index":107,"title":{"252":{"position":[[7,9]]},"254":{"position":[[10,11]]},"255":{"position":[[11,11]]}},"content":{"0":{"position":[[2265,9],[2376,9]]},"6":{"position":[[730,10],[1030,11]]},"24":{"position":[[335,9],[531,9],[1124,9],[1175,9],[1361,9],[1882,9]]},"42":{"position":[[1715,9]]},"43":{"position":[[526,9],[559,9]]},"70":{"position":[[253,9]]},"104":{"position":[[137,9],[170,9]]},"106":{"position":[[279,9]]},"107":{"position":[[157,9],[213,9]]},"129":{"position":[[29,9]]},"155":{"position":[[34,9]]},"158":{"position":[[34,9]]},"164":{"position":[[263,9]]},"202":{"position":[[1075,9]]},"203":{"position":[[1110,9]]},"229":{"position":[[29,9]]},"242":{"position":[[793,9]]},"253":{"position":[[73,11],[446,9],[625,9],[721,9],[781,9]]},"254":{"position":[[15,9],[302,9],[337,9],[1116,9],[1250,9],[1511,9]]},"255":{"position":[[9,9],[81,9],[327,9]]},"288":{"position":[[614,9],[913,9]]},"295":{"position":[[43,9],[623,9]]},"302":{"position":[[80,10],[228,9],[347,10],[384,9],[484,9],[700,9]]},"340":{"position":[[472,9],[1272,9],[1355,9],[1441,9]]},"344":{"position":[[124,9]]},"348":{"position":[[756,9],[1567,9],[1650,9],[1736,9]]},"352":{"position":[[118,9]]},"435":{"position":[[14,9]]},"503":{"position":[[18,9]]},"680":{"position":[[27,9]]},"734":{"position":[[303,9]]},"774":{"position":[[24,9]]},"802":{"position":[[29,9]]},"820":{"position":[[0,9]]},"842":{"position":[[103,9]]},"844":{"position":[[121,9]]},"1870":{"position":[[536,10],[591,9]]},"2253":{"position":[[1216,10],[1313,9]]},"2305":{"position":[[70,9]]},"2478":{"position":[[141,9],[193,9],[367,10],[415,9],[552,10],[695,9],[719,9],[1083,9],[1135,9],[1309,10],[1357,9],[1494,10],[1621,9],[1645,9],[2293,10],[2476,9],[3152,10],[3351,9]]},"2482":{"position":[[490,10],[670,9],[1740,9],[1792,9],[1966,10],[2014,9],[2119,10],[2231,9],[2267,9],[2615,9],[2667,9],[2841,10],[2889,9],[3089,9],[3189,9],[3529,9],[5936,9],[6344,9],[6651,9],[6815,9],[7198,9],[7527,9],[7794,9],[8138,9]]}},"keywords":{}}],["characternam",{"_index":2416,"title":{},"content":{"288":{"position":[[849,13]]}},"keywords":{}}],["charactername}"",{"_index":2418,"title":{},"content":{"288":{"position":[[923,23]]}},"keywords":{}}],["characters.th",{"_index":1826,"title":{},"content":{"213":{"position":[[1818,14]]}},"keywords":{}}],["characterspawn",{"_index":850,"title":{"2251":{"position":[[6,16]]}},"content":{"70":{"position":[[122,16]]},"202":{"position":[[451,16]]},"243":{"position":[[2156,16],[2465,16]]},"444":{"position":[[25,16],[75,16]]},"504":{"position":[[155,16]]},"505":{"position":[[363,16]]},"802":{"position":[[0,17]]},"1045":{"position":[[185,16]]},"1047":{"position":[[257,16]]},"2240":{"position":[[176,17]]},"2252":{"position":[[742,17]]}},"keywords":{}}],["characterspawner'",{"_index":897,"title":{},"content":{"76":{"position":[[92,18]]}},"keywords":{}}],["characterspawner.awak",{"_index":3365,"title":{},"content":{"549":{"position":[[0,22]]}},"keywords":{}}],["characterspawner.onserveraddplayera",{"_index":2129,"title":{},"content":{"248":{"position":[[383,35]]}},"keywords":{}}],["characterspawner.playerspawnmethod",{"_index":8708,"title":{"2256":{"position":[[5,34]]}},"content":{"2243":{"position":[[9,35]]},"2252":{"position":[[780,34]]}},"keywords":{}}],["charg",{"_index":1663,"title":{},"content":{"202":{"position":[[490,6]]}},"keywords":{}}],["chat",{"_index":692,"title":{"47":{"position":[[0,4]]}},"content":{"47":{"position":[[0,4]]},"1614":{"position":[[0,4]]},"1721":{"position":[[0,4]]}},"keywords":{}}],["chatwindow",{"_index":5620,"title":{},"content":{"1474":{"position":[[8626,10]]},"1752":{"position":[[9,10]]}},"keywords":{}}],["cheapest",{"_index":1421,"title":{},"content":{"179":{"position":[[182,8]]}},"keywords":{}}],["cheat",{"_index":374,"title":{},"content":{"15":{"position":[[770,8]]}},"keywords":{}}],["check",{"_index":50,"title":{"40":{"position":[[6,5]]},"110":{"position":[[0,5]]}},"content":{"0":{"position":[[844,8]]},"22":{"position":[[310,5]]},"43":{"position":[[462,5]]},"54":{"position":[[336,8]]},"57":{"position":[[163,8]]},"71":{"position":[[760,7],[876,5],[1363,7]]},"83":{"position":[[328,5]]},"98":{"position":[[231,5]]},"111":{"position":[[50,5]]},"112":{"position":[[43,5]]},"117":{"position":[[1174,5]]},"173":{"position":[[888,5]]},"175":{"position":[[1070,5]]},"182":{"position":[[126,5]]},"187":{"position":[[290,5],[305,5]]},"211":{"position":[[965,6]]},"216":{"position":[[159,5],[239,5]]},"238":{"position":[[1984,5]]},"264":{"position":[[58,7],[1304,5],[2215,5],[2276,8]]},"271":{"position":[[309,5]]},"302":{"position":[[96,5]]},"303":{"position":[[93,8]]},"326":{"position":[[192,5]]},"327":{"position":[[420,5]]},"335":{"position":[[548,7]]},"344":{"position":[[301,5]]},"352":{"position":[[289,5]]},"367":{"position":[[114,5]]},"439":{"position":[[48,6]]},"456":{"position":[[7,5]]},"572":{"position":[[12,5]]},"587":{"position":[[0,8]]},"615":{"position":[[18,5]]},"622":{"position":[[129,5]]},"670":{"position":[[21,5]]},"679":{"position":[[15,8]]},"764":{"position":[[9,5]]},"771":{"position":[[53,8]]},"806":{"position":[[47,5]]},"826":{"position":[[21,5]]},"844":{"position":[[131,5]]},"870":{"position":[[23,8]]},"877":{"position":[[87,8]]},"908":{"position":[[31,5]]},"922":{"position":[[0,8]]},"924":{"position":[[5,6]]},"954":{"position":[[182,5]]},"962":{"position":[[17,6]]},"978":{"position":[[67,8]]},"1002":{"position":[[24,6]]},"1106":{"position":[[9,8]]},"1219":{"position":[[0,5]]},"1245":{"position":[[17,6]]},"1468":{"position":[[85,5]]},"1474":{"position":[[5390,5],[5427,5],[11461,8],[11533,8],[14045,5],[14311,5],[15360,5],[22076,5],[22259,6],[22639,7]]},"1477":{"position":[[65,5],[1295,6]]},"1479":{"position":[[1878,5]]},"1566":{"position":[[128,5],[922,8],[994,8]]},"1568":{"position":[[24,6]]},"1577":{"position":[[369,6]]},"1586":{"position":[[13,5]]},"1592":{"position":[[0,5]]},"1646":{"position":[[476,5]]},"1678":{"position":[[22,5]]},"1717":{"position":[[53,5]]},"1733":{"position":[[379,5]]},"1870":{"position":[[179,6],[502,5]]},"1966":{"position":[[1402,5],[1874,6],[1935,5],[2268,6],[2331,5]]},"1979":{"position":[[944,5]]},"2114":{"position":[[1863,6]]},"2158":{"position":[[542,6],[781,5]]},"2235":{"position":[[52,5]]},"2244":{"position":[[44,5]]},"2311":{"position":[[595,6]]},"2359":{"position":[[1450,7]]},"2361":{"position":[[68,5],[270,5]]},"2400":{"position":[[217,5],[944,6]]},"2401":{"position":[[1983,6]]},"2417":{"position":[[150,5],[357,5],[418,5],[768,5]]},"2420":{"position":[[1834,6]]},"2421":{"position":[[3447,7],[3938,7]]}},"keywords":{}}],["checkbox",{"_index":433,"title":{},"content":{"22":{"position":[[463,8]]}},"keywords":{}}],["checker",{"_index":82,"title":{"20":{"position":[[14,7]]},"22":{"position":[[18,7]]},"23":{"position":[[14,7]]},"260":{"position":[[18,7]]},"261":{"position":[[14,7]]}},"content":{"0":{"position":[[1421,7],[1447,7],[1632,7],[1662,7],[2069,7],[2095,7]]},"20":{"position":[[14,7],[40,7],[482,7]]},"22":{"position":[[18,7],[48,7],[537,8],[941,7],[1040,7],[1217,7]]},"260":{"position":[[27,7]]},"261":{"position":[[23,7]]},"264":{"position":[[242,7],[279,7],[657,7],[1273,7]]},"1476":{"position":[[5102,7]]},"1749":{"position":[[14,7]]}},"keywords":{}}],["checkers.sinc",{"_index":684,"title":{},"content":{"46":{"position":[[1181,14]]}},"keywords":{}}],["checkers.th",{"_index":678,"title":{},"content":{"46":{"position":[[1002,12]]}},"keywords":{}}],["checking.forc",{"_index":430,"title":{},"content":{"22":{"position":[[431,14]]}},"keywords":{}}],["checks."",{"_index":5434,"title":{},"content":{"1474":{"position":[[2912,13]]}},"keywords":{}}],["child",{"_index":115,"title":{"37":{"position":[[18,5]]},"239":{"position":[[20,5]]},"240":{"position":[[0,5]]}},"content":{"0":{"position":[[2629,5],[2657,5],[2719,5]]},"37":{"position":[[18,5],[46,5],[108,5],[277,5],[349,5],[474,5],[568,5]]},"203":{"position":[[1490,5]]},"240":{"position":[[773,5],[2446,5]]},"241":{"position":[[126,5],[1423,5],[1661,5],[2629,5]]},"1443":{"position":[[33,5]]},"1474":{"position":[[8194,5]]},"2240":{"position":[[4759,5],[5050,5]]},"2370":{"position":[[2657,5],[2951,5]]}},"keywords":{}}],["chmod",{"_index":1624,"title":{},"content":{"196":{"position":[[72,5],[836,5]]}},"keywords":{}}],["choic",{"_index":1959,"title":{},"content":{"240":{"position":[[343,7]]}},"keywords":{}}],["choice.th",{"_index":1973,"title":{},"content":{"240":{"position":[[1375,10]]}},"keywords":{}}],["choos",{"_index":237,"title":{},"content":{"10":{"position":[[486,6]]},"15":{"position":[[566,6]]},"67":{"position":[[987,6]]},"96":{"position":[[245,6]]},"98":{"position":[[113,6]]},"182":{"position":[[445,6],[577,6],[849,6],[885,6],[1351,6]]},"183":{"position":[[1618,6]]},"201":{"position":[[987,6]]}},"keywords":{}}],["circuit",{"_index":5499,"title":{},"content":{"1474":{"position":[[5177,7]]},"1481":{"position":[[14,7]]}},"keywords":{}}],["clamp",{"_index":1164,"title":{},"content":{"123":{"position":[[372,7]]},"1983":{"position":[[534,7]]},"2001":{"position":[[46,6],[282,6],[543,8]]}},"keywords":{}}],["class",{"_index":55,"title":{"365":{"position":[[0,8]]},"1770":{"position":[[0,5]]},"1778":{"position":[[0,5]]},"1792":{"position":[[0,5]]},"1794":{"position":[[0,5]]},"1797":{"position":[[0,8]]},"1800":{"position":[[0,5]]},"1804":{"position":[[0,5]]},"1808":{"position":[[0,5]]},"1815":{"position":[[0,5]]},"1818":{"position":[[0,5]]},"1822":{"position":[[0,8]]},"1824":{"position":[[0,5]]},"1828":{"position":[[0,8]]},"1836":{"position":[[0,5]]},"1839":{"position":[[0,5]]},"1843":{"position":[[0,5]]},"1849":{"position":[[0,5]]},"1852":{"position":[[0,5]]},"1856":{"position":[[0,5]]},"1861":{"position":[[0,5]]},"1867":{"position":[[0,8]]},"1868":{"position":[[0,5]]},"1871":{"position":[[0,5]]},"1875":{"position":[[0,5]]},"1876":{"position":[[0,5]]},"1879":{"position":[[0,5]]},"1883":{"position":[[0,8]]},"1884":{"position":[[0,5]]},"1887":{"position":[[0,5]]},"1890":{"position":[[0,8]]},"1892":{"position":[[0,5]]},"1895":{"position":[[0,5]]},"1898":{"position":[[0,5]]},"1900":{"position":[[0,5]]},"1903":{"position":[[0,5]]},"1905":{"position":[[0,5]]},"1906":{"position":[[0,5]]},"1908":{"position":[[0,5]]},"1910":{"position":[[0,5]]},"1911":{"position":[[0,5]]},"1912":{"position":[[0,5]]},"1925":{"position":[[0,5]]},"1926":{"position":[[0,5]]},"1928":{"position":[[0,8]]},"1930":{"position":[[0,5]]},"1931":{"position":[[0,5]]},"1933":{"position":[[0,5]]},"1936":{"position":[[0,5]]},"1938":{"position":[[0,5]]},"1940":{"position":[[0,5]]},"1945":{"position":[[0,5]]},"1950":{"position":[[0,5]]},"1955":{"position":[[0,8]]},"1959":{"position":[[0,5]]},"1965":{"position":[[0,5]]},"1969":{"position":[[0,5]]},"1978":{"position":[[0,5]]},"1980":{"position":[[0,5]]},"1983":{"position":[[0,8]]},"1984":{"position":[[0,5]]},"1986":{"position":[[0,5]]},"1989":{"position":[[0,5]]},"1991":{"position":[[0,5]]},"1993":{"position":[[0,5]]},"1995":{"position":[[0,5]]},"1997":{"position":[[0,5]]},"1999":{"position":[[0,5]]},"2002":{"position":[[0,5]]},"2004":{"position":[[0,5]]},"2006":{"position":[[0,5]]},"2008":{"position":[[0,5]]},"2011":{"position":[[0,5]]},"2013":{"position":[[0,5]]},"2015":{"position":[[0,5]]},"2017":{"position":[[0,5]]},"2020":{"position":[[0,5]]},"2024":{"position":[[0,5]]},"2026":{"position":[[0,5]]},"2028":{"position":[[0,5]]},"2032":{"position":[[0,5]]},"2034":{"position":[[0,5]]},"2036":{"position":[[0,5]]},"2038":{"position":[[0,5]]},"2041":{"position":[[0,5]]},"2045":{"position":[[0,5]]},"2048":{"position":[[0,5]]},"2051":{"position":[[0,5]]},"2053":{"position":[[0,5]]},"2055":{"position":[[0,5]]},"2057":{"position":[[0,5]]},"2059":{"position":[[0,5]]},"2061":{"position":[[0,5]]},"2064":{"position":[[0,5]]},"2067":{"position":[[0,5]]},"2069":{"position":[[0,5]]},"2072":{"position":[[0,5]]},"2075":{"position":[[0,5]]},"2077":{"position":[[0,5]]},"2080":{"position":[[0,5]]},"2081":{"position":[[0,5]]},"2083":{"position":[[0,5]]},"2084":{"position":[[0,5]]},"2086":{"position":[[0,5]]},"2088":{"position":[[0,5]]},"2091":{"position":[[0,8]]},"2101":{"position":[[0,5]]},"2104":{"position":[[0,5]]},"2107":{"position":[[0,5]]},"2111":{"position":[[0,5]]},"2115":{"position":[[0,5]]},"2120":{"position":[[0,5]]},"2125":{"position":[[0,5]]},"2129":{"position":[[0,5]]},"2131":{"position":[[0,5]]},"2148":{"position":[[0,5]]},"2159":{"position":[[0,5]]},"2163":{"position":[[0,5]]},"2170":{"position":[[0,5]]},"2182":{"position":[[0,5]]},"2186":{"position":[[0,5]]},"2190":{"position":[[0,5]]},"2195":{"position":[[0,8]]},"2197":{"position":[[0,5]]},"2200":{"position":[[0,5]]},"2205":{"position":[[0,5]]},"2207":{"position":[[0,5]]},"2211":{"position":[[0,5]]},"2214":{"position":[[0,5]]},"2216":{"position":[[0,5]]},"2220":{"position":[[0,5]]},"2225":{"position":[[0,8]]},"2226":{"position":[[0,5]]},"2228":{"position":[[0,5]]},"2230":{"position":[[0,5]]},"2236":{"position":[[0,5]]},"2240":{"position":[[0,8]]},"2245":{"position":[[0,5]]},"2251":{"position":[[0,5]]},"2254":{"position":[[0,5]]},"2262":{"position":[[0,5]]},"2266":{"position":[[0,5]]},"2268":{"position":[[0,5]]},"2271":{"position":[[0,5]]},"2275":{"position":[[0,5]]},"2276":{"position":[[0,5]]},"2278":{"position":[[0,5]]},"2280":{"position":[[0,5]]},"2284":{"position":[[0,5]]},"2286":{"position":[[0,5]]},"2289":{"position":[[0,5]]},"2312":{"position":[[0,5]]},"2318":{"position":[[0,5]]},"2321":{"position":[[0,5]]},"2323":{"position":[[0,5]]},"2326":{"position":[[0,5]]},"2328":{"position":[[0,5]]},"2330":{"position":[[0,5]]},"2344":{"position":[[0,5]]},"2348":{"position":[[0,5]]},"2352":{"position":[[0,5]]},"2353":{"position":[[0,5]]},"2354":{"position":[[0,5]]},"2356":{"position":[[0,5]]},"2364":{"position":[[0,5]]},"2365":{"position":[[0,5]]},"2368":{"position":[[0,5]]},"2372":{"position":[[0,5]]},"2376":{"position":[[0,5]]},"2379":{"position":[[0,5]]},"2380":{"position":[[0,5]]},"2384":{"position":[[0,5]]},"2387":{"position":[[0,5]]},"2393":{"position":[[0,5]]},"2395":{"position":[[0,5]]},"2398":{"position":[[0,5]]},"2402":{"position":[[0,5]]},"2405":{"position":[[0,5]]},"2414":{"position":[[0,5]]},"2418":{"position":[[0,5]]},"2422":{"position":[[0,5]]},"2424":{"position":[[0,5]]},"2426":{"position":[[0,5]]},"2430":{"position":[[0,5]]},"2433":{"position":[[0,5]]},"2436":{"position":[[0,5]]},"2438":{"position":[[0,5]]},"2446":{"position":[[0,5]]},"2448":{"position":[[0,5]]},"2450":{"position":[[0,5]]},"2451":{"position":[[0,5]]},"2456":{"position":[[0,5]]},"2461":{"position":[[0,5]]},"2462":{"position":[[0,5]]},"2466":{"position":[[0,5]]},"2470":{"position":[[0,5]]},"2472":{"position":[[0,5]]},"2474":{"position":[[0,5]]},"2475":{"position":[[0,5]]},"2477":{"position":[[0,5]]},"2479":{"position":[[0,5]]},"2483":{"position":[[0,5]]},"2485":{"position":[[0,5]]},"2494":{"position":[[0,5]]},"2499":{"position":[[0,5]]},"2512":{"position":[[0,5]]},"2521":{"position":[[0,5]]},"2526":{"position":[[0,5]]},"2528":{"position":[[0,5]]},"2530":{"position":[[0,5]]}},"content":{"0":{"position":[[897,5]]},"7":{"position":[[43,5]]},"10":{"position":[[611,7],[819,5],[1018,5],[1414,5],[1614,5]]},"42":{"position":[[687,5],[1284,5]]},"61":{"position":[[262,5],[402,5]]},"62":{"position":[[215,7]]},"63":{"position":[[43,7]]},"71":{"position":[[1462,5],[1733,5]]},"83":{"position":[[50,7],[313,6]]},"85":{"position":[[653,5],[956,5]]},"92":{"position":[[148,7]]},"99":{"position":[[736,6]]},"117":{"position":[[711,5],[968,5],[2598,5]]},"123":{"position":[[41,5]]},"124":{"position":[[57,5]]},"129":{"position":[[79,5]]},"130":{"position":[[127,5]]},"135":{"position":[[41,5]]},"136":{"position":[[43,5]]},"141":{"position":[[7,5]]},"148":{"position":[[78,5]]},"149":{"position":[[107,5]]},"150":{"position":[[30,5]]},"155":{"position":[[84,5]]},"158":{"position":[[84,5]]},"159":{"position":[[127,5]]},"161":{"position":[[99,5]]},"172":{"position":[[91,7]]},"203":{"position":[[1611,5]]},"207":{"position":[[232,5]]},"209":{"position":[[383,5]]},"210":{"position":[[1216,5]]},"224":{"position":[[230,5]]},"225":{"position":[[17,5],[78,5],[399,5]]},"238":{"position":[[518,5]]},"240":{"position":[[1933,5]]},"241":{"position":[[2182,5]]},"243":{"position":[[636,5]]},"245":{"position":[[383,5],[3650,5]]},"251":{"position":[[279,5]]},"254":{"position":[[890,5]]},"263":{"position":[[300,5]]},"264":{"position":[[936,5]]},"269":{"position":[[175,7]]},"272":{"position":[[459,5],[1030,5]]},"273":{"position":[[457,5],[524,5],[763,5]]},"279":{"position":[[35,5],[445,7]]},"280":{"position":[[241,5]]},"288":{"position":[[408,5],[968,5],[1790,5]]},"290":{"position":[[78,5]]},"291":{"position":[[143,7],[262,5]]},"294":{"position":[[371,5]]},"295":{"position":[[709,5]]},"307":{"position":[[124,5]]},"308":{"position":[[129,5],[1541,5]]},"310":{"position":[[154,5]]},"311":{"position":[[144,5]]},"312":{"position":[[151,5]]},"315":{"position":[[552,5]]},"316":{"position":[[305,5],[340,5],[386,5],[449,5],[1144,5]]},"317":{"position":[[1107,5],[1254,5]]},"319":{"position":[[114,5]]},"320":{"position":[[515,5]]},"321":{"position":[[301,5]]},"322":{"position":[[240,5]]},"326":{"position":[[202,7]]},"327":{"position":[[47,7],[152,7],[322,5]]},"328":{"position":[[1000,5],[1598,5],[2392,5]]},"332":{"position":[[482,5]]},"339":{"position":[[9,5],[127,5],[204,6]]},"340":{"position":[[29,5],[86,5],[768,5],[826,5]]},"343":{"position":[[176,5]]},"345":{"position":[[47,5]]},"346":{"position":[[57,5],[587,5],[1599,5],[2637,5],[2691,5]]},"348":{"position":[[9,5],[129,5],[208,6],[385,5],[419,5],[1076,5],[1118,5]]},"351":{"position":[[153,5]]},"353":{"position":[[47,5]]},"498":{"position":[[49,7]]},"538":{"position":[[360,7]]},"601":{"position":[[363,5]]},"704":{"position":[[44,7]]},"716":{"position":[[64,5]]},"874":{"position":[[14,7]]},"876":{"position":[[14,7]]},"904":{"position":[[62,6],[124,5]]},"978":{"position":[[0,5]]},"1007":{"position":[[34,5]]},"1008":{"position":[[7,5]]},"1092":{"position":[[23,7]]},"1456":{"position":[[30,7]]},"1466":{"position":[[52,5],[244,7]]},"1474":{"position":[[7172,5],[8200,7],[11962,5],[12264,7],[12390,5],[12638,7],[14479,8],[14832,5],[15602,5],[20965,7],[22161,5],[22292,5]]},"1476":{"position":[[4581,7]]},"1479":{"position":[[1090,5]]},"1546":{"position":[[13,5]]},"1562":{"position":[[117,5],[558,7],[627,5]]},"1566":{"position":[[1108,7],[1239,8],[1311,5]]},"1577":{"position":[[402,5]]},"1593":{"position":[[32,7]]},"1599":{"position":[[53,5]]},"1777":{"position":[[27,5],[98,5]]},"1778":{"position":[[19,5],[69,5],[141,5]]},"1780":{"position":[[226,5]]},"1781":{"position":[[263,5]]},"1783":{"position":[[40,5]]},"1855":{"position":[[3376,7],[3610,7]]},"1875":{"position":[[0,5],[1559,5]]},"1883":{"position":[[175,5]]},"1890":{"position":[[178,5],[312,5],[588,5],[735,5]]},"1905":{"position":[[0,5],[1197,5]]},"1910":{"position":[[0,5],[78,5]]},"1911":{"position":[[0,5],[1458,5]]},"1912":{"position":[[0,5],[79,5]]},"1925":{"position":[[0,5],[82,5]]},"1926":{"position":[[0,5],[1427,5]]},"1930":{"position":[[0,5],[94,5]]},"1952":{"position":[[370,5]]},"1983":{"position":[[781,5],[1524,5],[3061,5]]},"2080":{"position":[[0,5],[203,5]]},"2083":{"position":[[0,5],[639,5]]},"2240":{"position":[[24,5],[104,5],[1576,5],[1699,5],[3163,5],[5284,5],[7361,5],[7436,5]]},"2275":{"position":[[0,5],[148,5]]},"2327":{"position":[[63,5],[187,5]]},"2344":{"position":[[0,5],[233,5]]},"2351":{"position":[[597,5]]},"2352":{"position":[[0,5],[287,5]]},"2353":{"position":[[0,5],[97,5]]},"2364":{"position":[[0,5],[1582,5]]},"2379":{"position":[[0,5],[82,5],[238,5]]},"2450":{"position":[[0,5],[86,5]]},"2451":{"position":[[0,5],[248,5]]},"2461":{"position":[[0,5],[136,5]]},"2462":{"position":[[0,5],[281,5]]},"2466":{"position":[[0,5],[317,5]]},"2474":{"position":[[0,5],[267,5]]},"2483":{"position":[[0,5],[74,5]]}},"keywords":{}}],["class.creat",{"_index":1070,"title":{},"content":{"117":{"position":[[126,12]]}},"keywords":{}}],["clean",{"_index":1655,"title":{"199":{"position":[[0,5]]}},"content":{"233":{"position":[[282,5]]},"447":{"position":[[0,8]]},"1000":{"position":[[319,5]]},"1151":{"position":[[4,8]]},"1474":{"position":[[13513,5],[13553,6]]},"2128":{"position":[[274,7],[455,7]]},"2265":{"position":[[7001,5]]},"2417":{"position":[[9338,5]]}},"keywords":{}}],["cleanup",{"_index":3020,"title":{},"content":{"407":{"position":[[53,7]]},"974":{"position":[[29,7]]},"1447":{"position":[[7,7]]},"1474":{"position":[[8146,7],[19219,7]]},"1510":{"position":[[53,7]]},"1533":{"position":[[6,7]]},"1555":{"position":[[0,7]]},"2350":{"position":[[810,7]]},"2370":{"position":[[5204,8]]}},"keywords":{}}],["clear",{"_index":664,"title":{},"content":{"46":{"position":[[570,7]]},"240":{"position":[[2432,5]]},"241":{"position":[[2615,5]]},"340":{"position":[[1330,5]]},"348":{"position":[[1625,5]]},"537":{"position":[[340,5]]},"730":{"position":[[19,5]]},"1286":{"position":[[15,5]]},"1855":{"position":[[1430,8],[1464,7],[3403,5],[3637,5]]},"1860":{"position":[[1410,8],[1444,7]]},"1865":{"position":[[1160,8],[1194,7]]},"1874":{"position":[[1432,8],[1466,7]]},"2265":{"position":[[6545,6]]},"2320":{"position":[[608,5]]},"2359":{"position":[[1387,5],[1762,6]]}},"keywords":{}}],["clearandrelease(action<t>",{"_index":8613,"title":{},"content":{"2204":{"position":[[1996,33],[2055,31]]}},"keywords":{}}],["cleardeleg",{"_index":5902,"title":{},"content":{"1474":{"position":[[17784,14]]},"1566":{"position":[[1628,14]]}},"keywords":{}}],["cleardirtybit",{"_index":8954,"title":{},"content":{"2359":{"position":[[1676,17],[1719,16]]}},"keywords":{}}],["cleardirtybit(uint64",{"_index":8952,"title":{},"content":{"2359":{"position":[[1356,22]]}},"keywords":{}}],["cleardirtybit(ulong",{"_index":8953,"title":{},"content":{"2359":{"position":[[1574,19]]}},"keywords":{}}],["clearhandl",{"_index":8823,"title":{},"content":{"2292":{"position":[[630,16],[665,15]]},"2320":{"position":[[591,16],[673,15]]}},"keywords":{}}],["clearreadi",{"_index":647,"title":{},"content":{"42":{"position":[[2131,12]]}},"keywords":{}}],["clearshouldsync(doubl",{"_index":8955,"title":{},"content":{"2359":{"position":[[1737,24],[1833,22]]}},"keywords":{}}],["clearshouldsyncrenam",{"_index":3335,"title":{},"content":{"539":{"position":[[130,23]]}},"keywords":{}}],["clearspawn",{"_index":8779,"title":{},"content":{"2265":{"position":[[6523,16],[6651,15]]}},"keywords":{}}],["click",{"_index":213,"title":{},"content":{"9":{"position":[[489,5]]},"13":{"position":[[0,5],[355,5],[406,8]]},"14":{"position":[[410,5],[1627,5],[1770,5],[1900,5]]},"15":{"position":[[0,5]]},"46":{"position":[[711,5],[848,5]]},"50":{"position":[[122,5],[250,5]]},"67":{"position":[[270,5],[292,5],[386,5],[639,5],[710,5],[1058,5]]},"69":{"position":[[6,5]]},"182":{"position":[[214,5],[259,5],[358,5],[812,5],[1005,5],[1067,5],[1181,5],[1407,5],[1536,5],[1562,5],[1673,5],[2668,5],[2814,5],[3010,5],[3238,5],[3310,8],[3363,8],[3435,5]]},"183":{"position":[[471,8],[524,5],[699,5],[717,5],[802,5],[1124,8],[1150,8],[1734,8]]},"184":{"position":[[384,5]]},"190":{"position":[[250,5],[808,5],[1362,5],[1591,5]]},"191":{"position":[[154,5]]},"195":{"position":[[116,5]]},"201":{"position":[[270,5],[292,5],[386,5],[639,5],[710,5],[1058,5]]},"202":{"position":[[81,5],[115,5],[265,5]]},"203":{"position":[[1351,5]]},"204":{"position":[[205,5]]},"211":{"position":[[1391,5],[1640,5]]},"269":{"position":[[436,5]]},"276":{"position":[[171,6]]},"1777":{"position":[[418,6]]}},"keywords":{}}],["clickabl",{"_index":3915,"title":{},"content":{"790":{"position":[[27,9]]}},"keywords":{}}],["clickcount",{"_index":7181,"title":{},"content":{"1777":{"position":[[153,11],[368,13],[493,10],[592,10]]}},"keywords":{}}],["clienrpc",{"_index":5696,"title":{},"content":{"1474":{"position":[[10857,8]]},"1693":{"position":[[6,8]]}},"keywords":{}}],["client",{"_index":24,"title":{"13":{"position":[[15,8]]},"14":{"position":[[0,7]]},"27":{"position":[[0,6]]},"36":{"position":[[0,6]]},"65":{"position":[[0,6]]},"99":{"position":[[0,6]]},"103":{"position":[[0,6]]},"111":{"position":[[0,6]]},"164":{"position":[[0,6]]},"166":{"position":[[0,6]]},"216":{"position":[[11,6]]},"218":{"position":[[0,6]]},"226":{"position":[[0,6]]},"227":{"position":[[0,6]]},"228":{"position":[[6,7]]},"233":{"position":[[5,7]]},"234":{"position":[[0,6]]},"249":{"position":[[27,6]]},"262":{"position":[[29,8]]},"272":{"position":[[11,6]]},"281":{"position":[[0,6]]},"1780":{"position":[[8,6]]},"1781":{"position":[[8,6]]}},"content":{"0":{"position":[[407,7],[1594,7],[1732,8]]},"2":{"position":[[186,7]]},"3":{"position":[[336,6],[411,6],[761,6]]},"6":{"position":[[444,8],[495,7],[540,6],[579,6],[676,8],[746,6],[900,8],[985,7],[1066,8]]},"10":{"position":[[328,6],[383,6],[428,6],[515,6],[547,6],[651,6],[943,7],[1098,7],[1313,7],[2062,6]]},"12":{"position":[[64,6]]},"13":{"position":[[25,7],[93,6]]},"14":{"position":[[170,6],[416,6],[1218,7],[1288,8],[1633,6],[1684,6],[1947,6]]},"15":{"position":[[67,7],[119,6],[300,8],[793,8]]},"20":{"position":[[664,7]]},"21":{"position":[[66,7],[220,6]]},"22":{"position":[[118,8],[566,6]]},"24":{"position":[[36,7],[103,7],[904,6],[1282,7],[1501,6],[1585,6],[1733,6]]},"31":{"position":[[959,7]]},"33":{"position":[[501,7],[712,6]]},"37":{"position":[[922,6],[962,8],[1060,8]]},"41":{"position":[[304,6]]},"42":{"position":[[286,8],[476,7],[1219,6],[2294,7]]},"43":{"position":[[480,6],[498,6],[619,6],[709,6],[1106,6]]},"46":{"position":[[666,6],[732,7],[854,6],[1238,8],[1253,7],[1401,6]]},"49":{"position":[[655,7],[683,7]]},"50":{"position":[[77,6],[143,7],[256,6]]},"56":{"position":[[148,7],[172,7]]},"62":{"position":[[159,6]]},"63":{"position":[[156,6],[308,6],[354,7]]},"64":{"position":[[29,6]]},"65":{"position":[[18,6],[200,7],[289,6],[393,8]]},"71":{"position":[[597,6],[740,6],[807,7],[882,6],[1337,6],[1385,8],[1406,7]]},"87":{"position":[[145,6]]},"91":{"position":[[371,8],[576,7]]},"92":{"position":[[1021,6],[1144,6],[1411,6],[1722,6]]},"94":{"position":[[467,8]]},"98":{"position":[[78,6],[101,7]]},"99":{"position":[[7,6]]},"100":{"position":[[546,7]]},"103":{"position":[[0,6],[32,6],[72,6],[207,6],[237,6],[449,8]]},"104":{"position":[[103,6]]},"105":{"position":[[28,6]]},"106":{"position":[[28,6]]},"107":{"position":[[53,6]]},"108":{"position":[[84,6]]},"109":{"position":[[7,6]]},"112":{"position":[[62,6]]},"114":{"position":[[69,6]]},"117":{"position":[[483,6],[551,7],[3056,7]]},"163":{"position":[[208,7]]},"164":{"position":[[52,6],[444,6]]},"165":{"position":[[48,6]]},"166":{"position":[[41,6]]},"167":{"position":[[56,6]]},"170":{"position":[[121,7],[143,7],[183,7]]},"171":{"position":[[383,7]]},"172":{"position":[[199,7]]},"173":{"position":[[91,6],[261,6],[1186,6]]},"175":{"position":[[77,6],[718,8]]},"182":{"position":[[1878,7],[2631,8]]},"184":{"position":[[773,6]]},"203":{"position":[[311,6],[485,6]]},"204":{"position":[[175,6],[266,6],[322,6]]},"205":{"position":[[53,6]]},"209":{"position":[[824,7]]},"210":{"position":[[887,7]]},"213":{"position":[[2328,7]]},"215":{"position":[[87,7],[242,7]]},"216":{"position":[[116,6],[278,7]]},"217":{"position":[[150,6],[246,6],[428,6],[642,7],[699,7]]},"218":{"position":[[0,6],[76,6],[97,6],[240,6],[321,6]]},"224":{"position":[[623,7]]},"225":{"position":[[112,7],[485,7]]},"226":{"position":[[65,7]]},"227":{"position":[[31,7],[285,6]]},"230":{"position":[[293,6]]},"231":{"position":[[19,6],[203,7]]},"232":{"position":[[283,7]]},"233":{"position":[[41,6],[83,6]]},"234":{"position":[[34,7]]},"235":{"position":[[323,6],[630,6],[1602,6],[1657,8],[1742,6],[1824,6],[1936,7],[1987,6],[2134,6],[2193,7],[2296,6]]},"238":{"position":[[222,6],[940,6],[1206,6],[1364,6]]},"240":{"position":[[877,7]]},"241":{"position":[[1536,7],[1627,7],[2963,6]]},"242":{"position":[[321,7]]},"243":{"position":[[169,6],[281,6],[929,6],[997,6],[1101,7],[1412,6],[1487,7],[1633,7],[1675,6],[1841,6],[2102,7],[2210,6],[2554,7]]},"245":{"position":[[1636,8],[2130,6],[2581,6],[2764,6],[2848,7],[2922,6],[3322,6],[4030,7]]},"247":{"position":[[579,7],[847,6],[959,7],[1079,8],[1300,8]]},"248":{"position":[[225,6],[709,7],[787,6],[848,6],[951,7]]},"249":{"position":[[81,7],[173,6],[279,6],[340,6],[368,6],[428,7],[562,6]]},"251":{"position":[[3735,7],[4202,6],[4575,6]]},"253":{"position":[[156,7],[253,7],[316,6],[535,6],[885,7]]},"254":{"position":[[1284,7]]},"257":{"position":[[581,7],[695,7]]},"262":{"position":[[26,6],[145,7],[644,6],[729,7],[906,6]]},"263":{"position":[[88,6],[731,7]]},"264":{"position":[[1928,7],[2007,7],[2188,7]]},"269":{"position":[[381,7]]},"270":{"position":[[302,6]]},"272":{"position":[[626,6],[773,6],[856,6],[962,6],[1466,6],[1585,6],[1649,6],[1727,6]]},"273":{"position":[[687,6],[1013,6]]},"280":{"position":[[355,7],[474,6],[687,6]]},"285":{"position":[[192,6],[363,7]]},"286":{"position":[[34,6]]},"288":{"position":[[99,6],[302,7],[701,8],[1262,7],[1315,6],[1412,7],[1481,6],[1550,6],[1659,6],[2217,7]]},"290":{"position":[[27,6]]},"292":{"position":[[102,7]]},"294":{"position":[[119,6],[755,8]]},"295":{"position":[[123,6],[154,6],[423,6],[648,7]]},"300":{"position":[[181,6],[237,6]]},"301":{"position":[[86,7],[365,6],[461,6],[884,7]]},"302":{"position":[[245,7],[815,6],[914,6]]},"303":{"position":[[158,7],[280,6],[481,6],[500,6]]},"306":{"position":[[131,7]]},"308":{"position":[[66,7],[1100,7],[1172,6],[1478,7]]},"310":{"position":[[87,7]]},"314":{"position":[[186,7],[258,7],[319,7],[569,6],[661,8],[780,6]]},"317":{"position":[[54,6]]},"332":{"position":[[148,8],[233,6],[809,7]]},"333":{"position":[[232,8],[251,6],[404,8],[478,7],[667,8]]},"335":{"position":[[1192,7],[1242,7]]},"337":{"position":[[487,7]]},"340":{"position":[[396,6],[971,7]]},"344":{"position":[[52,6],[488,6],[582,6]]},"345":{"position":[[338,6],[502,7]]},"346":{"position":[[715,7],[1718,7]]},"348":{"position":[[773,6],[1266,7]]},"351":{"position":[[515,7]]},"352":{"position":[[46,6],[470,6],[564,6]]},"353":{"position":[[284,6],[448,7]]},"356":{"position":[[369,7],[377,6],[849,6],[859,6],[873,6],[943,6],[956,6],[1096,6],[1248,6],[1272,6],[1429,7]]},"363":{"position":[[207,6],[578,6]]},"504":{"position":[[91,6]]},"545":{"position":[[37,7],[263,6]]},"562":{"position":[[43,6]]},"566":{"position":[[47,6]]},"582":{"position":[[65,6]]},"611":{"position":[[29,6]]},"642":{"position":[[28,6]]},"671":{"position":[[82,6]]},"679":{"position":[[27,6]]},"734":{"position":[[249,6],[278,6]]},"795":{"position":[[57,6]]},"796":{"position":[[59,7]]},"816":{"position":[[34,6]]},"818":{"position":[[37,6]]},"824":{"position":[[178,6]]},"826":{"position":[[7,6]]},"851":{"position":[[42,6]]},"875":{"position":[[10,6]]},"908":{"position":[[60,6],[136,6]]},"930":{"position":[[36,6]]},"931":{"position":[[39,6]]},"945":{"position":[[24,6]]},"947":{"position":[[28,6]]},"998":{"position":[[133,6]]},"1014":{"position":[[7,6]]},"1021":{"position":[[35,6]]},"1024":{"position":[[324,6]]},"1106":{"position":[[21,6]]},"1116":{"position":[[29,7],[110,7]]},"1131":{"position":[[0,6]]},"1252":{"position":[[15,6]]},"1260":{"position":[[0,6]]},"1274":{"position":[[6,6]]},"1327":{"position":[[97,6]]},"1330":{"position":[[97,6]]},"1333":{"position":[[97,6]]},"1350":{"position":[[90,6],[232,6]]},"1355":{"position":[[90,6],[232,6]]},"1360":{"position":[[90,6],[232,6]]},"1365":{"position":[[90,6],[232,6]]},"1370":{"position":[[90,6],[232,6]]},"1375":{"position":[[44,6],[186,6]]},"1379":{"position":[[44,6],[186,6]]},"1383":{"position":[[44,6]]},"1387":{"position":[[44,6]]},"1391":{"position":[[44,6]]},"1395":{"position":[[44,6]]},"1399":{"position":[[4,6]]},"1403":{"position":[[4,6]]},"1407":{"position":[[4,6]]},"1411":{"position":[[4,6]]},"1415":{"position":[[4,6]]},"1419":{"position":[[4,6]]},"1423":{"position":[[4,6]]},"1427":{"position":[[4,6]]},"1431":{"position":[[4,6]]},"1466":{"position":[[657,6]]},"1467":{"position":[[344,6]]},"1474":{"position":[[284,7],[742,6],[2426,6],[2473,7],[2882,8],[2974,7],[3377,8],[4975,6],[6082,6],[6420,6],[7370,6],[7620,7],[9325,6],[9846,6],[10796,7],[12974,7],[13522,6],[15208,7],[15414,6],[15936,7],[16268,6],[16364,6],[19476,7],[20625,6]]},"1475":{"position":[[0,6]]},"1476":{"position":[[2522,6],[2591,6],[3295,7],[5583,6],[6979,6],[7270,7],[9078,6],[9296,6]]},"1477":{"position":[[2624,6],[3882,6],[4049,6]]},"1479":{"position":[[2359,6],[2887,6],[3129,6]]},"1506":{"position":[[21,6]]},"1512":{"position":[[14,6]]},"1521":{"position":[[11,6]]},"1524":{"position":[[42,6]]},"1528":{"position":[[0,6]]},"1549":{"position":[[4,6]]},"1560":{"position":[[17,7]]},"1562":{"position":[[251,7]]},"1566":{"position":[[1372,7],[1402,6]]},"1567":{"position":[[1174,6]]},"1572":{"position":[[19,6]]},"1578":{"position":[[155,7]]},"1620":{"position":[[33,6]]},"1626":{"position":[[0,6]]},"1640":{"position":[[63,6]]},"1651":{"position":[[96,6]]},"1653":{"position":[[45,6]]},"1682":{"position":[[34,6]]},"1706":{"position":[[0,6]]},"1713":{"position":[[30,6]]},"1725":{"position":[[89,6]]},"1726":{"position":[[14,6]]},"1734":{"position":[[79,6],[148,6]]},"1737":{"position":[[46,6]]},"1751":{"position":[[73,7]]},"1766":{"position":[[177,7]]},"1779":{"position":[[122,6]]},"1780":{"position":[[109,7],[859,6]]},"1781":{"position":[[109,7],[923,6]]},"1782":{"position":[[397,7]]},"1783":{"position":[[281,6],[394,6],[814,6],[867,6]]},"1795":{"position":[[86,6],[568,6],[949,6],[1014,7],[1088,6]]},"1816":{"position":[[50,7],[92,6]]},"1819":{"position":[[331,6]]},"1826":{"position":[[466,7],[555,6]]},"1830":{"position":[[91,7]]},"1835":{"position":[[366,7]]},"1885":{"position":[[50,7],[92,6]]},"1888":{"position":[[50,7],[92,6]]},"1961":{"position":[[120,6]]},"2124":{"position":[[26,6],[143,6],[232,6],[298,6]]},"2128":{"position":[[61,6],[214,6]]},"2130":{"position":[[908,6]]},"2158":{"position":[[80,7],[311,6]]},"2199":{"position":[[405,6],[597,6]]},"2240":{"position":[[307,6],[492,8],[1299,6],[1692,6],[2466,8],[2564,8],[3370,7],[3481,6],[3532,7],[4272,7],[4397,6],[4468,6],[4613,7],[5315,6],[6018,7],[6234,7],[6688,6],[7144,7],[7216,8],[7263,6],[7305,6]]},"2241":{"position":[[760,6],[800,6]]},"2242":{"position":[[312,6],[327,6]]},"2243":{"position":[[155,6]]},"2252":{"position":[[0,7],[42,6]]},"2253":{"position":[[182,6],[278,6],[368,6],[763,6],[1065,7]]},"2255":{"position":[[49,7]]},"2264":{"position":[[0,7],[42,6]]},"2265":{"position":[[79,6],[1230,6],[1262,6],[1343,6],[2208,6],[2240,6],[2321,6],[3218,8],[3798,6],[3830,6],[3911,6],[4545,8],[4639,8],[5389,8],[5483,8],[6618,7],[6973,7]]},"2279":{"position":[[49,7]]},"2298":{"position":[[309,6]]},"2306":{"position":[[666,7]]},"2311":{"position":[[68,6],[274,6]]},"2313":{"position":[[49,7]]},"2320":{"position":[[452,6],[522,6]]},"2324":{"position":[[87,7],[185,6]]},"2332":{"position":[[688,7],[751,8],[841,8],[1347,7],[1408,8],[1497,8]]},"2350":{"position":[[280,6],[423,6],[574,6],[766,6],[966,6],[1066,6],[1232,7]]},"2351":{"position":[[49,6]]},"2358":{"position":[[330,6],[836,6],[1363,6],[1755,6],[2306,7],[2379,6],[2897,7]]},"2361":{"position":[[30,6],[172,7],[193,6],[233,6]]},"2366":{"position":[[50,7],[92,6]]},"2367":{"position":[[39,6]]},"2369":{"position":[[366,6]]},"2370":{"position":[[39,6],[656,7],[802,7],[1004,6],[1046,8],[1209,7],[1348,7],[2221,7],[2319,6],[3645,7],[3720,6],[3890,7],[4517,6],[4649,6],[4713,6],[5073,7],[5188,6]]},"2371":{"position":[[404,6],[470,6],[560,7],[724,6],[1012,6]]},"2375":{"position":[[62,7],[83,6]]},"2388":{"position":[[0,7],[42,6]]},"2400":{"position":[[436,6],[552,7],[562,6],[668,6],[745,6]]},"2403":{"position":[[138,7]]},"2408":{"position":[[423,6]]},"2409":{"position":[[155,7],[219,6]]},"2415":{"position":[[0,7],[42,6]]},"2416":{"position":[[411,6],[573,6],[1063,6]]},"2417":{"position":[[2741,6],[2820,6],[3804,7],[4001,7],[4254,7],[4459,7],[6506,7],[7436,7],[9747,7],[9779,7],[9863,7],[10451,6]]},"2420":{"position":[[874,6],[970,6],[1093,6],[1266,6]]},"2421":{"position":[[55,8],[111,6],[425,6]]},"2462":{"position":[[118,7]]},"2463":{"position":[[36,6],[76,6]]},"2466":{"position":[[115,7]]},"2471":{"position":[[49,7]]},"2478":{"position":[[4156,6]]},"2482":{"position":[[4012,6],[4933,8],[5281,8],[5995,6]]},"2515":{"position":[[133,7]]},"2522":{"position":[[46,6]]},"2527":{"position":[[98,7],[191,6]]}},"keywords":{}}],["client!)th",{"_index":2132,"title":{},"content":{"248":{"position":[[827,11]]}},"keywords":{}}],["client"",{"_index":1885,"title":{},"content":{"225":{"position":[[1327,14],[1461,14]]},"1819":{"position":[[83,12]]}},"keywords":{}}],["client'",{"_index":2561,"title":{},"content":{"314":{"position":[[477,8]]},"1474":{"position":[[18105,8]]},"2371":{"position":[[419,8]]}},"keywords":{}}],["client(error",{"_index":2339,"title":{},"content":{"274":{"position":[[206,13]]},"1479":{"position":[[437,13]]},"1529":{"position":[[24,13]]}},"keywords":{}}],["client.authenticated.addlistener(onclientconnect",{"_index":2318,"title":{},"content":{"272":{"position":[[1268,50]]}},"keywords":{}}],["client.ded",{"_index":1390,"title":{},"content":{"175":{"position":[[370,16]]}},"keywords":{}}],["client.disconnect",{"_index":5997,"title":{},"content":{"1474":{"position":[[21236,17]]},"1745":{"position":[[204,17]]}},"keywords":{}}],["client.disconnected.addlistener(onclientdisconnect",{"_index":2319,"title":{},"content":{"272":{"position":[[1319,54]]}},"keywords":{}}],["client.hasauthorityattribut",{"_index":991,"title":{},"content":{"92":{"position":[[956,29]]}},"keywords":{}}],["client.impl",{"_index":1071,"title":{},"content":{"117":{"position":[[203,16]]}},"keywords":{}}],["client.messagehandler.registerhandler<scoremessage>(onscor",{"_index":2385,"title":{},"content":{"280":{"position":[[512,67]]}},"keywords":{}}],["client.play",{"_index":2357,"title":{},"content":{"275":{"position":[[460,13]]}},"keywords":{}}],["client.player.identity.getcomponent<playerequip>().cmdpickupitem(gameobject",{"_index":2050,"title":{},"content":{"242":{"position":[[607,83]]}},"keywords":{}}],["client.player.sceneisreadi",{"_index":2347,"title":{},"content":{"275":{"position":[[121,26]]}},"keywords":{}}],["client.started.addlistener(clientstart",{"_index":1870,"title":{},"content":{"225":{"position":[[675,42]]},"280":{"position":[[386,42]]}},"keywords":{}}],["client.started.addlistener(onclientstart",{"_index":2317,"title":{},"content":{"272":{"position":[[1223,44]]}},"keywords":{}}],["client.world.onspawn",{"_index":1880,"title":{},"content":{"225":{"position":[[1130,20]]}},"keywords":{}}],["client.world.onunspawn",{"_index":1882,"title":{},"content":{"225":{"position":[[1169,22]]}},"keywords":{}}],["client/serv",{"_index":809,"title":{},"content":{"65":{"position":[[135,13]]}},"keywords":{}}],["client/server.world",{"_index":1868,"title":{},"content":{"225":{"position":[[518,19]]}},"keywords":{}}],["clientattribut",{"_index":1837,"title":{"2254":{"position":[[6,15]]}},"content":{"216":{"position":[[218,15]]},"2240":{"position":[[253,16]]}},"keywords":{}}],["clientauthent",{"_index":4251,"title":{},"content":{"942":{"position":[[171,18]]}},"keywords":{}}],["clientauthor",{"_index":5793,"title":{},"content":{"1474":{"position":[[14588,15],[14620,15]]},"2331":{"position":[[0,16],[42,15]]},"2427":{"position":[[0,16],[42,15]]}},"keywords":{}}],["clientauthoritycallback",{"_index":3879,"title":{},"content":{"772":{"position":[[26,23]]}},"keywords":{}}],["clientcallback",{"_index":2338,"title":{},"content":{"274":{"position":[[189,16]]},"1479":{"position":[[413,16]]},"1529":{"position":[[0,16]]}},"keywords":{}}],["clientchangedscen",{"_index":4364,"title":{},"content":{"989":{"position":[[0,18]]}},"keywords":{}}],["clientclientobjectmanager.networkscenemanag",{"_index":4738,"title":{},"content":{"1142":{"position":[[209,46]]}},"keywords":{}}],["clientconn",{"_index":9137,"title":{},"content":{"2458":{"position":[[92,11]]}},"keywords":{}}],["clientconnect",{"_index":1915,"title":{},"content":{"237":{"position":[[210,17]]},"245":{"position":[[874,15]]},"249":{"position":[[1160,15]]},"1479":{"position":[[3175,13]]},"1742":{"position":[[0,13]]}},"keywords":{}}],["clientconnectasync",{"_index":6663,"title":{},"content":{"1479":{"position":[[3203,18]]},"1742":{"position":[[28,18]]}},"keywords":{}}],["clientdisconnect",{"_index":5981,"title":{},"content":{"1474":{"position":[[20700,16]]}},"keywords":{}}],["clientfinishedloadingscenemessage(inetworkplay",{"_index":9052,"title":{},"content":{"2417":{"position":[[1682,49],[2015,48]]}},"keywords":{}}],["clienthandl",{"_index":9139,"title":{},"content":{"2458":{"position":[[148,14],[311,13]]}},"keywords":{}}],["clientidstor",{"_index":7241,"title":{},"content":{"1819":{"position":[[309,14],[469,13]]}},"keywords":{}}],["clientinstanti",{"_index":1843,"title":{},"content":{"221":{"position":[[7,17]]}},"keywords":{}}],["clientmanager.readi",{"_index":9084,"title":{},"content":{"2417":{"position":[[9880,21]]}},"keywords":{}}],["clientmanager.registerprefab",{"_index":8750,"title":{},"content":{"2263":{"position":[[107,30],[370,30]]}},"keywords":{}}],["clientnetworkauthent",{"_index":4160,"title":{},"content":{"892":{"position":[[68,26]]}},"keywords":{}}],["clientnetworkident",{"_index":3871,"title":{},"content":{"768":{"position":[[89,22]]}},"keywords":{}}],["clientnetworkscenemanager.serv",{"_index":4742,"title":{},"content":{"1142":{"position":[[441,33]]}},"keywords":{}}],["clientnetworkworld.onunspawn",{"_index":1848,"title":{},"content":{"222":{"position":[[7,28]]}},"keywords":{}}],["clientnotreadymessage(inetworkplay",{"_index":9055,"title":{},"content":{"2417":{"position":[[2270,37],[2464,36]]}},"keywords":{}}],["clientobjectmanag",{"_index":886,"title":{"2262":{"position":[[6,19]]}},"content":{"74":{"position":[[210,19]]},"235":{"position":[[279,19],[1387,19]]},"238":{"position":[[613,19],[633,20]]},"245":{"position":[[461,20],[569,19]]},"251":{"position":[[359,19],[379,20]]},"270":{"position":[[347,19]]},"276":{"position":[[67,19]]},"332":{"position":[[288,19]]},"405":{"position":[[0,20]]},"444":{"position":[[125,19]]},"498":{"position":[[9,19]]},"601":{"position":[[166,19]]},"1074":{"position":[[20,19]]},"1100":{"position":[[0,19]]},"1236":{"position":[[75,19]]},"1237":{"position":[[60,19]]},"1239":{"position":[[0,19]]},"1243":{"position":[[25,19]]},"2240":{"position":[[372,20]]},"2252":{"position":[[168,20],[209,19],[229,19]]},"2265":{"position":[[1362,19],[2340,19],[3930,19]]},"2349":{"position":[[212,19]]},"2358":{"position":[[2396,20],[2458,20],[2537,19],[2557,19]]},"2366":{"position":[[264,20],[305,19],[325,19]]},"2369":{"position":[[301,20],[326,19],[404,19],[424,19]]},"2415":{"position":[[182,20],[223,19],[243,19]]},"2511":{"position":[[42,19],[346,19]]}},"keywords":{}}],["clientobjectmanager.getprefab",{"_index":3527,"title":{},"content":{"613":{"position":[[0,29]]}},"keywords":{}}],["clientobjectmanager.localplay",{"_index":4586,"title":{},"content":{"1076":{"position":[[39,31]]}},"keywords":{}}],["clientobjectmanager.preparetospawnsceneobject",{"_index":2504,"title":{},"content":{"301":{"position":[[496,46]]},"302":{"position":[[768,46]]}},"keywords":{}}],["clientobjectmanager.registerdynamicspawnhandler(dynamicspawn",{"_index":1939,"title":{},"content":{"238":{"position":[[1477,62]]}},"keywords":{}}],["clientobjectmanager.registerprefab",{"_index":1919,"title":{},"content":{"237":{"position":[[325,34],[474,34]]},"251":{"position":[[700,34],[845,34]]}},"keywords":{}}],["clientobjectmanager.registerprefab(prefab",{"_index":1916,"title":{},"content":{"237":{"position":[[230,42]]},"251":{"position":[[613,42]]}},"keywords":{}}],["clientobjectmanager.registerspawnhandl",{"_index":2092,"title":{},"content":{"245":{"position":[[3220,40]]}},"keywords":{}}],["clientobjectmanager.spawnprefabs.add(treeprefab",{"_index":2066,"title":{},"content":{"245":{"position":[[892,49]]},"249":{"position":[[1178,49]]}},"keywords":{}}],["clientobjectmanager.unregisterprefab(prefab",{"_index":2162,"title":{},"content":{"251":{"position":[[972,45]]}},"keywords":{}}],["clientobjectmanagernetworkserv",{"_index":3218,"title":{},"content":{"499":{"position":[[62,32]]}},"keywords":{}}],["clientondisconnect",{"_index":9141,"title":{},"content":{"2458":{"position":[[198,19],[385,18]]}},"keywords":{}}],["clientonli",{"_index":5505,"title":{},"content":{"1474":{"position":[[5379,10]]},"1566":{"position":[[117,10]]}},"keywords":{}}],["clientr(target=client.own",{"_index":6643,"title":{},"content":{"1479":{"position":[[60,30]]},"1501":{"position":[[25,30]]}},"keywords":{}}],["clientrpc",{"_index":969,"title":{},"content":{"91":{"position":[[462,9]]},"186":{"position":[[274,11]]},"218":{"position":[[296,9]]},"235":{"position":[[1526,9]]},"282":{"position":[[29,10]]},"286":{"position":[[56,10]]},"288":{"position":[[0,10],[1122,11],[1270,9],[1437,9]]},"332":{"position":[[925,11]]},"403":{"position":[[22,9]]},"852":{"position":[[79,9]]},"1024":{"position":[[238,9]]},"1028":{"position":[[0,9]]},"1473":{"position":[[192,9]]},"1474":{"position":[[6645,9]]},"1476":{"position":[[134,9]]},"1491":{"position":[[0,9]]},"1500":{"position":[[27,9]]},"1547":{"position":[[0,9]]},"1566":{"position":[[447,9]]},"1567":{"position":[[27,9]]},"1783":{"position":[[731,11]]},"1966":{"position":[[1411,9]]},"1968":{"position":[[39,10],[63,9]]},"1979":{"position":[[953,9]]},"2243":{"position":[[257,9]]}},"keywords":{}}],["clientrpc'",{"_index":409,"title":{},"content":{"20":{"position":[[607,11]]}},"keywords":{}}],["clientrpc(channel",{"_index":2403,"title":{},"content":{"287":{"position":[[66,18]]}},"keywords":{}}],["clientrpc(excludeown",{"_index":2402,"title":{},"content":{"286":{"position":[[110,23]]}},"keywords":{}}],["clientrpc(target",{"_index":2334,"title":{},"content":{"274":{"position":[[104,17]]},"285":{"position":[[82,17]]},"288":{"position":[[504,17],[1596,17],[1692,17],[2083,17],[2364,17]]}},"keywords":{}}],["clientrpc_setsyncvarweaponid(int",{"_index":7207,"title":{},"content":{"1783":{"position":[[756,32]]}},"keywords":{}}],["clientrpc_setsyncvarweaponid(weaponid",{"_index":7206,"title":{},"content":{"1783":{"position":[[638,39]]}},"keywords":{}}],["clientrpcattribut",{"_index":967,"title":{"2266":{"position":[[6,18]]}},"content":{"91":{"position":[[244,18],[267,18]]},"2240":{"position":[[393,19]]}},"keywords":{}}],["clientrpcsend",{"_index":3535,"title":{"1965":{"position":[[6,15]]}},"content":{"615":{"position":[[27,15]]},"707":{"position":[[135,15]]},"1955":{"position":[[0,16]]}},"keywords":{}}],["clients.onnetworkdestroy",{"_index":2124,"title":{},"content":{"247":{"position":[[1246,24]]}},"keywords":{}}],["clients.syncdictionari",{"_index":2729,"title":{},"content":{"333":{"position":[[756,22]]}},"keywords":{}}],["clientscen",{"_index":5702,"title":{},"content":{"1474":{"position":[[10955,11],[13536,11]]},"1476":{"position":[[1340,11]]},"1477":{"position":[[3929,11]]},"1479":{"position":[[2572,11]]},"1566":{"position":[[861,11]]},"1567":{"position":[[367,11]]},"1687":{"position":[[58,11]]},"1689":{"position":[[0,11]]},"2265":{"position":[[1472,12],[1541,11],[2450,12],[2519,11],[4040,12],[4109,11]]}},"keywords":{}}],["clientscene.addplay",{"_index":8739,"title":{},"content":{"2253":{"position":[[793,22]]}},"keywords":{}}],["clientscene.localplay",{"_index":9201,"title":{},"content":{"2492":{"position":[[132,23]]}},"keywords":{}}],["clientscene.prefab",{"_index":8765,"title":{},"content":{"2265":{"position":[[1576,20],[2554,20],[4144,20]]}},"keywords":{}}],["clientscene.readi",{"_index":2346,"title":{},"content":{"275":{"position":[[103,17]]}},"keywords":{}}],["clientscene.registerhandl",{"_index":8777,"title":{},"content":{"2265":{"position":[[6320,30]]}},"keywords":{}}],["clientscene.registerprefab",{"_index":2060,"title":{},"content":{"245":{"position":[[265,26]]},"1474":{"position":[[11474,26],[11546,26]]},"1566":{"position":[[935,26],[1007,26]]},"2265":{"position":[[3316,27]]}},"keywords":{}}],["clientscene.shutdown",{"_index":5780,"title":{},"content":{"1474":{"position":[[13474,20],[18040,21]]}},"keywords":{}}],["clientscenemanag",{"_index":6718,"title":{},"content":{"1510":{"position":[[0,18]]}},"keywords":{}}],["clientscenetest",{"_index":6037,"title":{},"content":{"1474":{"position":[[22750,16]]},"1566":{"position":[[1947,16]]}},"keywords":{}}],["clientseri",{"_index":2245,"title":{},"content":{"257":{"position":[[464,15]]}},"keywords":{}}],["clientsess",{"_index":7215,"title":{"1804":{"position":[[6,13]]}},"content":{"1797":{"position":[[0,14]]},"1812":{"position":[[18,15],[70,13]]}},"keywords":{}}],["clientssend",{"_index":2249,"title":{},"content":{"257":{"position":[[650,11]]}},"keywords":{}}],["clientstart",{"_index":1879,"title":{},"content":{"225":{"position":[[1112,15]]},"280":{"position":[[444,15]]}},"keywords":{}}],["clientstartscenemessage(inetworkplay",{"_index":9050,"title":{},"content":{"2417":{"position":[[1152,39],[1521,38]]}},"keywords":{}}],["clientstoppedreason",{"_index":8709,"title":{"2260":{"position":[[5,19]]}},"content":{"2243":{"position":[[123,20]]}},"keywords":{}}],["clienttim",{"_index":9008,"title":{},"content":{"2390":{"position":[[0,11],[39,10]]},"2392":{"position":[[0,11],[39,10]]}},"keywords":{}}],["client’",{"_index":144,"title":{},"content":{"3":{"position":[[523,8]]},"243":{"position":[[742,8]]},"248":{"position":[[1259,8]]},"249":{"position":[[667,8]]}},"keywords":{}}],["clock",{"_index":419,"title":{"173":{"position":[[0,5]]}},"content":{"21":{"position":[[243,5]]},"173":{"position":[[0,5],[54,5],[425,5]]},"2408":{"position":[[383,5]]}},"keywords":{}}],["clone",{"_index":2720,"title":{},"content":{"332":{"position":[[359,5],[744,5],[1141,5]]},"1780":{"position":[[383,5]]},"1781":{"position":[[447,5]]}},"keywords":{}}],["close",{"_index":825,"title":{},"content":{"67":{"position":[[553,5]]},"183":{"position":[[1773,5]]},"184":{"position":[[952,7]]},"197":{"position":[[435,5]]},"201":{"position":[[553,5]]},"202":{"position":[[618,6]]},"260":{"position":[[196,5]]},"295":{"position":[[693,6]]},"488":{"position":[[66,6]]},"585":{"position":[[90,6]]},"614":{"position":[[183,6]]},"622":{"position":[[167,6]]},"715":{"position":[[233,6]]},"749":{"position":[[63,6]]},"774":{"position":[[75,6]]},"785":{"position":[[69,6]]},"930":{"position":[[90,6]]},"938":{"position":[[0,7]]},"954":{"position":[[0,7],[73,7]]},"1079":{"position":[[71,6]]},"1081":{"position":[[67,6]]},"1127":{"position":[[64,6]]},"1151":{"position":[[84,6]]},"1153":{"position":[[52,6]]},"1189":{"position":[[49,6]]},"1210":{"position":[[118,6]]},"1233":{"position":[[152,6]]},"1236":{"position":[[142,6]]},"1237":{"position":[[149,6]]},"1268":{"position":[[62,6]]},"1275":{"position":[[119,6]]},"1278":{"position":[[49,6],[125,6]]},"1285":{"position":[[133,6]]},"1298":{"position":[[149,6]]},"1307":{"position":[[48,6]]},"1316":{"position":[[122,6]]},"1320":{"position":[[73,6]]},"1338":{"position":[[109,6]]},"1341":{"position":[[127,6]]},"1349":{"position":[[100,6]]},"1354":{"position":[[100,6]]},"1359":{"position":[[100,6]]},"1364":{"position":[[100,6]]},"1369":{"position":[[100,6]]},"1374":{"position":[[100,6]]},"1378":{"position":[[100,6]]},"1382":{"position":[[100,6]]},"1386":{"position":[[100,6]]},"1390":{"position":[[100,6]]},"1394":{"position":[[100,6]]},"1398":{"position":[[100,6]]},"1402":{"position":[[100,6]]},"1406":{"position":[[100,6]]},"1410":{"position":[[100,6]]},"1414":{"position":[[100,6]]},"1418":{"position":[[100,6]]},"1422":{"position":[[100,6]]},"1426":{"position":[[100,6]]},"1430":{"position":[[100,6]]},"1434":{"position":[[61,6]]},"1438":{"position":[[61,6]]},"1466":{"position":[[271,6]]},"1473":{"position":[[425,6]]},"1474":{"position":[[1799,6],[6230,6],[6811,6],[8007,6],[8239,6],[8348,6],[8737,6],[11264,6],[11829,6],[11907,6],[16458,7],[17553,6],[17629,6],[17763,6],[18299,6],[19321,6],[21134,6],[21506,6]]},"1476":{"position":[[163,6],[975,6],[3322,6],[4425,6],[5824,6],[7872,6],[8995,6]]},"1477":{"position":[[2264,6],[3575,6],[3629,6],[3691,6],[3748,6],[3825,6],[3912,6],[3976,6],[4023,6],[4164,6],[4260,6],[4325,6],[4481,6]]},"1478":{"position":[[154,6],[264,6],[356,6],[454,6],[649,6],[1207,6],[1275,6],[1356,6],[1429,6],[1726,6],[1822,6]]},"1496":{"position":[[320,6]]},"1567":{"position":[[56,6]]},"1574":{"position":[[38,6]]},"1578":{"position":[[182,6]]},"1580":{"position":[[52,6]]},"1582":{"position":[[91,6]]},"1585":{"position":[[60,6],[175,6]]},"1594":{"position":[[135,6]]},"1598":{"position":[[104,6]]},"1601":{"position":[[131,6]]},"1636":{"position":[[48,6],[123,6]]},"1648":{"position":[[119,6],[196,6]]},"1651":{"position":[[126,6]]},"1663":{"position":[[61,6]]},"1687":{"position":[[105,6]]},"1696":{"position":[[117,6]]},"1701":{"position":[[57,6]]},"1713":{"position":[[61,7]]},"1731":{"position":[[111,6]]},"1733":{"position":[[114,6]]},"1736":{"position":[[130,6]]},"1745":{"position":[[314,6],[400,6]]},"1746":{"position":[[56,6]]},"1747":{"position":[[88,6]]},"2124":{"position":[[318,5]]},"2156":{"position":[[336,8],[363,7]]},"2158":{"position":[[437,8],[446,6],[525,7]]},"2173":{"position":[[350,8],[384,7]]},"2181":{"position":[[266,6]]},"2223":{"position":[[286,8],[320,7]]},"2227":{"position":[[286,8],[320,7]]},"2265":{"position":[[7039,7]]}},"keywords":{}}],["closedbyp",{"_index":8548,"title":{},"content":{"2181":{"position":[[252,13],[316,12]]}},"keywords":{}}],["closest",{"_index":1433,"title":{},"content":{"182":{"position":[[174,7]]}},"keywords":{}}],["cloud",{"_index":1414,"title":{"188":{"position":[[7,5]]}},"content":{"177":{"position":[[23,5]]},"189":{"position":[[10,5],[74,5],[420,5]]},"190":{"position":[[75,5]]},"191":{"position":[[87,5]]},"195":{"position":[[412,5]]},"213":{"position":[[990,6]]},"1466":{"position":[[377,5],[724,5]]},"1474":{"position":[[11008,5]]},"1476":{"position":[[1159,5],[4895,5]]},"1496":{"position":[[124,5]]},"1563":{"position":[[23,5],[187,5]]}},"keywords":{}}],["cmd",{"_index":6163,"title":{},"content":{"1476":{"position":[[2814,3],[2880,3]]},"1478":{"position":[[1769,4]]},"1547":{"position":[[77,3]]},"1550":{"position":[[38,3]]},"2515":{"position":[[306,5]]}},"keywords":{}}],["cmd'",{"_index":6155,"title":{},"content":{"1476":{"position":[[2627,5]]},"1734":{"position":[[184,5]]}},"keywords":{}}],["cmd/rpc/target",{"_index":6018,"title":{},"content":{"1474":{"position":[[22054,14]]}},"keywords":{}}],["cmdchangeactiveweapon(int",{"_index":1794,"title":{},"content":{"211":{"position":[[647,25]]}},"keywords":{}}],["cmdchangeactiveweapon(selectedweaponloc",{"_index":1801,"title":{},"content":{"211":{"position":[[1516,43]]}},"keywords":{}}],["cmdchangeequippeditem(equippeditem",{"_index":2015,"title":{},"content":{"240":{"position":[[3518,34]]}},"keywords":{}}],["cmdchangeequippeditem(equippeditem.bal",{"_index":2010,"title":{},"content":{"240":{"position":[[3201,41]]},"241":{"position":[[543,41]]}},"keywords":{}}],["cmdchangeequippeditem(equippeditem.box",{"_index":2012,"title":{},"content":{"240":{"position":[[3325,40]]},"241":{"position":[[667,40]]}},"keywords":{}}],["cmdchangeequippeditem(equippeditem.cylind",{"_index":2014,"title":{},"content":{"240":{"position":[[3453,45]]},"241":{"position":[[795,45]]}},"keywords":{}}],["cmdchangeequippeditem(equippeditem.noth",{"_index":2008,"title":{},"content":{"240":{"position":[[3073,44]]},"241":{"position":[[415,44]]}},"keywords":{}}],["cmdchangereadyst",{"_index":557,"title":{},"content":{"33":{"position":[[633,19]]}},"keywords":{}}],["cmdclienttoserversync",{"_index":6152,"title":{},"content":{"1476":{"position":[[2542,21]]},"1734":{"position":[[99,21]]}},"keywords":{}}],["cmddelegate(skeleton_rpcchangenam",{"_index":2461,"title":{},"content":{"291":{"position":[[1023,36]]}},"keywords":{}}],["cmddropitem",{"_index":2018,"title":{},"content":{"241":{"position":[[265,11],[922,14],[957,13],[3028,11]]}},"keywords":{}}],["cmdfire",{"_index":2196,"title":{},"content":{"251":{"position":[[3769,10],[3871,9]]}},"keywords":{}}],["cmdlearnskill(str",{"_index":2768,"title":{},"content":{"340":{"position":[[232,20]]},"348":{"position":[[566,20]]}},"keywords":{}}],["cmdmessagefromtre",{"_index":2147,"title":{},"content":{"249":{"position":[[1726,18]]}},"keywords":{}}],["cmdmessagefromtree("tre",{"_index":2143,"title":{},"content":{"249":{"position":[[1495,29]]}},"keywords":{}}],["cmdmessagefromtree(str",{"_index":2146,"title":{},"content":{"249":{"position":[[1598,25]]}},"keywords":{}}],["cmdpickupitem",{"_index":2045,"title":{},"content":{"242":{"position":[[88,13],[149,13],[772,13]]}},"keywords":{}}],["cmdpickupitem(gameobject",{"_index":2046,"title":{},"content":{"242":{"position":[[250,24]]}},"keywords":{}}],["cmdrequireauthor",{"_index":7665,"title":{},"content":{"1971":{"position":[[316,20],[497,19],[821,20],[1015,19]]}},"keywords":{}}],["cmdsendplayermessag",{"_index":1758,"title":{},"content":{"210":{"position":[[270,20],[602,22]]}},"keywords":{}}],["cmdsetdoorstate(doorst",{"_index":2488,"title":{},"content":{"295":{"position":[[829,25]]}},"keywords":{}}],["cmdsetupplay",{"_index":1759,"title":{},"content":{"210":{"position":[[353,17]]}},"keywords":{}}],["cmdsetupplayer(nam",{"_index":1742,"title":{},"content":{"209":{"position":[[1384,20]]}},"keywords":{}}],["cmdsetupplayer(str",{"_index":1729,"title":{},"content":{"209":{"position":[[696,21]]},"210":{"position":[[760,21]]}},"keywords":{}}],["co",{"_index":3366,"title":{},"content":{"549":{"position":[[58,2]]},"1024":{"position":[[353,2],[437,2]]},"1353":{"position":[[146,2]]},"1358":{"position":[[146,2]]},"1363":{"position":[[146,2]]},"1368":{"position":[[146,2]]},"1479":{"position":[[356,2],[530,2],[843,2],[1965,2],[2092,2],[3636,2]]},"1527":{"position":[[77,2]]},"1531":{"position":[[69,2]]},"1535":{"position":[[256,2]]},"1646":{"position":[[563,2],[690,2]]},"1748":{"position":[[114,2]]}},"keywords":{}}],["code",{"_index":612,"title":{"125":{"position":[[10,5]]},"131":{"position":[[10,5]]},"137":{"position":[[10,5]]},"142":{"position":[[10,5]]},"151":{"position":[[10,5]]},"156":{"position":[[10,5]]},"160":{"position":[[10,5]]},"291":{"position":[[10,5]]},"346":{"position":[[0,4]]},"457":{"position":[[0,4]]},"498":{"position":[[0,4]]},"503":{"position":[[0,4]]},"508":{"position":[[0,4]]},"510":{"position":[[0,4]]},"522":{"position":[[0,4]]},"615":{"position":[[0,4]]},"661":{"position":[[0,4]]},"704":{"position":[[0,4]]},"727":{"position":[[0,4]]},"765":{"position":[[0,4]]},"772":{"position":[[0,4]]},"787":{"position":[[0,4]]},"827":{"position":[[0,4]]},"843":{"position":[[0,4]]},"851":{"position":[[0,4]]},"884":{"position":[[0,4]]},"891":{"position":[[0,4]]},"912":{"position":[[0,4]]},"946":{"position":[[0,4]]},"951":{"position":[[0,4]]},"959":{"position":[[0,4]]},"967":{"position":[[0,4]]},"969":{"position":[[0,4]]},"971":{"position":[[0,4]]},"980":{"position":[[0,4]]},"1007":{"position":[[0,4]]},"1019":{"position":[[0,4]]},"1021":{"position":[[0,4]]},"1023":{"position":[[0,4]]},"1033":{"position":[[0,4]]},"1035":{"position":[[0,4]]},"1037":{"position":[[0,4]]},"1039":{"position":[[0,4]]},"1041":{"position":[[0,4]]},"1045":{"position":[[0,4]]},"1049":{"position":[[0,4]]},"1051":{"position":[[0,4]]},"1055":{"position":[[0,4]]},"1059":{"position":[[0,4]]},"1074":{"position":[[0,4]]},"1103":{"position":[[0,4]]},"1112":{"position":[[0,4]]},"1115":{"position":[[0,4]]},"1117":{"position":[[0,4]]},"1475":{"position":[[0,4]]},"1649":{"position":[[0,4]]},"1704":{"position":[[0,4]]},"1706":{"position":[[0,4]]},"1722":{"position":[[0,4]]}},"content":{"42":{"position":[[168,5]]},"67":{"position":[[1183,5]]},"69":{"position":[[387,5]]},"85":{"position":[[249,4],[548,4]]},"100":{"position":[[159,5],[472,4]]},"173":{"position":[[187,5]]},"201":{"position":[[1183,5]]},"210":{"position":[[1108,4]]},"211":{"position":[[22,4]]},"217":{"position":[[11,4],[173,4],[515,5]]},"218":{"position":[[264,5]]},"219":{"position":[[35,4]]},"235":{"position":[[1271,4]]},"240":{"position":[[1708,4]]},"245":{"position":[[1784,4]]},"247":{"position":[[221,4]]},"251":{"position":[[2829,5]]},"254":{"position":[[796,4]]},"264":{"position":[[2058,4]]},"268":{"position":[[73,5]]},"272":{"position":[[420,4]]},"280":{"position":[[1060,4],[1108,4]]},"285":{"position":[[174,4]]},"291":{"position":[[22,4],[242,4]]},"316":{"position":[[270,4]]},"329":{"position":[[59,4]]},"346":{"position":[[0,4],[354,4],[1361,4]]},"410":{"position":[[156,4]]},"443":{"position":[[7,4]]},"522":{"position":[[111,4]]},"847":{"position":[[94,5]]},"951":{"position":[[25,4]]},"952":{"position":[[16,4]]},"1184":{"position":[[33,4]]},"1185":{"position":[[37,4]]},"1293":{"position":[[9,4]]},"1474":{"position":[[12505,4],[12539,4],[12572,4],[14750,4],[17171,4]]},"1479":{"position":[[667,4],[788,4]]},"1495":{"position":[[14,4]]},"1496":{"position":[[176,4]]},"1535":{"position":[[80,4],[201,4]]},"1539":{"position":[[76,4]]},"1541":{"position":[[5,4]]},"1553":{"position":[[0,4],[45,4]]},"1777":{"position":[[52,5]]},"2094":{"position":[[136,5]]},"2240":{"position":[[5775,5]]},"2451":{"position":[[110,5]]}},"keywords":{}}],["codebas",{"_index":5710,"title":{},"content":{"1474":{"position":[[11175,8]]},"1565":{"position":[[108,8]]}},"keywords":{}}],["codegen",{"_index":4843,"title":{},"content":{"1189":{"position":[[99,7]]}},"keywords":{}}],["codesign",{"_index":3590,"title":{},"content":{"640":{"position":[[34,12]]}},"keywords":{}}],["cogwheel",{"_index":1617,"title":{},"content":{"195":{"position":[[138,8]]}},"keywords":{}}],["coin",{"_index":2192,"title":{},"content":{"251":{"position":[[3447,6]]},"351":{"position":[[276,5],[344,6],[362,5]]}},"keywords":{}}],["collect",{"_index":1040,"title":{},"content":{"102":{"position":[[175,11]]},"247":{"position":[[449,9]]},"327":{"position":[[667,12],[716,11]]},"420":{"position":[[26,10]]},"480":{"position":[[11,10]]},"667":{"position":[[29,10]]},"756":{"position":[[40,10]]},"1009":{"position":[[13,10]]},"1037":{"position":[[5,11]]},"1038":{"position":[[0,11]]},"1303":{"position":[[21,11]]},"1983":{"position":[[2552,10]]},"2091":{"position":[[394,10]]},"2128":{"position":[[367,10],[430,10]]},"2240":{"position":[[5241,10]]},"2265":{"position":[[290,10]]},"2310":{"position":[[78,10]]},"2359":{"position":[[5067,11],[5153,10]]},"2370":{"position":[[3483,10]]},"2416":{"position":[[191,10]]},"2417":{"position":[[6393,10],[7323,10],[8092,10],[8574,10]]},"2511":{"position":[[480,11],[595,10]]}},"keywords":{}}],["collectionextens",{"_index":3574,"title":{"2002":{"position":[[6,20]]}},"content":{"634":{"position":[[46,20],[96,20]]},"1983":{"position":[[449,21]]}},"keywords":{}}],["collid",{"_index":443,"title":{},"content":{"22":{"position":[[874,8]]},"50":{"position":[[354,9],[431,9]]},"241":{"position":[[3569,9],[3639,9]]},"264":{"position":[[2482,8]]}},"keywords":{}}],["colliders.renam",{"_index":1806,"title":{},"content":{"211":{"position":[[1867,16]]}},"keywords":{}}],["collis",{"_index":5421,"title":{},"content":{"1474":{"position":[[2197,9],[8795,9]]},"1607":{"position":[[34,9]]}},"keywords":{}}],["color",{"_index":705,"title":{},"content":{"50":{"position":[[379,7],[424,6]]},"209":{"position":[[639,5],[725,5],[1294,5],[1300,5],[1405,7],[1546,5],[2329,6]]},"210":{"position":[[789,5]]},"351":{"position":[[137,6],[436,5]]},"486":{"position":[[153,5]]},"1214":{"position":[[5,5]]},"1476":{"position":[[1286,5]]},"1563":{"position":[[92,5]]},"1778":{"position":[[185,6],[290,6]]},"1780":{"position":[[48,5],[153,7],[306,5],[797,5]]},"1781":{"position":[[48,5],[153,7],[370,5],[861,5]]},"1880":{"position":[[73,5]]},"1952":{"position":[[212,6],[428,6]]},"1953":{"position":[[272,5]]},"2058":{"position":[[1136,7],[1214,5],[1303,5],[3503,5]]}},"keywords":{}}],["color(random.range(0f",{"_index":1740,"title":{},"content":{"209":{"position":[[1312,22]]}},"keywords":{}}],["color.black",{"_index":7187,"title":{},"content":{"1780":{"position":[[326,12]]},"1781":{"position":[[390,12]]}},"keywords":{}}],["color.green",{"_index":631,"title":{},"content":{"42":{"position":[[984,11]]}},"keywords":{}}],["color.r",{"_index":632,"title":{},"content":{"42":{"position":[[998,10]]}},"keywords":{}}],["color.whit",{"_index":1728,"title":{},"content":{"209":{"position":[[659,12]]}},"keywords":{}}],["color32",{"_index":2847,"title":{},"content":{"351":{"position":[[129,7]]},"1778":{"position":[[177,7]]},"2058":{"position":[[1344,9],[1426,7],[1517,7],[3710,7]]}},"keywords":{}}],["color32(125",{"_index":2852,"title":{},"content":{"351":{"position":[[448,12]]}},"keywords":{}}],["coloredlabel",{"_index":7620,"title":{},"content":{"1951":{"position":[[131,13],[260,12]]},"1952":{"position":[[72,13],[120,12]]}},"keywords":{}}],["colorfromname(str",{"_index":7629,"title":{},"content":{"1953":{"position":[[229,22],[278,20]]}},"keywords":{}}],["colorsatur",{"_index":7626,"title":{},"content":{"1952":{"position":[[470,16],[513,15]]}},"keywords":{}}],["colorse",{"_index":7622,"title":{},"content":{"1952":{"position":[[182,10],[459,9]]}},"keywords":{}}],["colorvalu",{"_index":7627,"title":{},"content":{"1952":{"position":[[530,11],[568,10]]}},"keywords":{}}],["colour",{"_index":1710,"title":{"209":{"position":[[10,8]]}},"content":{},"keywords":{}}],["com",{"_index":3386,"title":{},"content":{"555":{"position":[[188,3]]},"579":{"position":[[7,3]]}},"keywords":{}}],["com.cysharp.unitask",{"_index":822,"title":{},"content":{"67":{"position":[[455,19]]},"201":{"position":[[455,19]]}},"keywords":{}}],["com.miragenet",{"_index":824,"title":{},"content":{"67":{"position":[[491,13]]},"201":{"position":[[491,13]]}},"keywords":{}}],["com.openupm",{"_index":823,"title":{},"content":{"67":{"position":[[477,11]]},"201":{"position":[[477,11]]}},"keywords":{}}],["com/som",{"_index":4668,"title":{},"content":{"1114":{"position":[[27,7]]}},"keywords":{}}],["combin",{"_index":447,"title":{},"content":{"24":{"position":[[128,12]]},"139":{"position":[[1016,9]]},"439":{"position":[[33,11]]},"998":{"position":[[39,9]]},"2044":{"position":[[967,8],[1024,7]]}},"keywords":{}}],["come",{"_index":1699,"title":{},"content":{"203":{"position":[[2331,6]]},"243":{"position":[[2065,4]]},"317":{"position":[[1551,4]]},"1474":{"position":[[14065,6]]},"1717":{"position":[[73,6]]},"2003":{"position":[[135,4]]},"2408":{"position":[[565,4]]},"2417":{"position":[[2245,6],[2695,6]]}},"keywords":{}}],["command",{"_index":866,"title":{"2123":{"position":[[5,8]]}},"content":{"71":{"position":[[948,8],[1928,7]]},"106":{"position":[[268,7]]},"187":{"position":[[370,8]]},"196":{"position":[[340,7]]},"197":{"position":[[22,8]]},"198":{"position":[[248,7]]},"245":{"position":[[2985,7]]},"257":{"position":[[135,8],[567,8]]},"316":{"position":[[65,9]]},"340":{"position":[[210,9]]},"348":{"position":[[544,9]]},"1227":{"position":[[21,8]]},"1229":{"position":[[13,7]]},"1467":{"position":[[232,9]]},"1473":{"position":[[277,9]]},"1474":{"position":[[6273,8],[6636,8],[15620,7],[21002,8]]},"1476":{"position":[[1224,7],[6615,7]]},"1479":{"position":[[908,9]]},"1536":{"position":[[7,9]]},"1537":{"position":[[8,9]]},"1550":{"position":[[0,8]]},"1566":{"position":[[375,8],[438,8]]},"1567":{"position":[[311,7]]},"1701":{"position":[[0,7]]},"2094":{"position":[[0,9],[57,8]]},"2162":{"position":[[0,8],[26,7]]}},"keywords":{}}],["comment",{"_index":3814,"title":{},"content":{"742":{"position":[[58,9]]},"893":{"position":[[55,8]]},"1090":{"position":[[4,8]]},"1353":{"position":[[324,7]]},"1358":{"position":[[324,7]]},"1363":{"position":[[324,7]]},"1368":{"position":[[324,7]]},"1373":{"position":[[130,7]]},"1377":{"position":[[130,7]]},"1381":{"position":[[130,7]]},"1385":{"position":[[130,7]]},"1389":{"position":[[130,7]]},"1393":{"position":[[130,7]]},"1397":{"position":[[130,7]]},"1401":{"position":[[130,7]]},"1405":{"position":[[130,7]]},"1409":{"position":[[130,7]]},"1413":{"position":[[130,7]]},"1417":{"position":[[130,7]]},"1421":{"position":[[130,7]]},"1425":{"position":[[130,7]]},"1429":{"position":[[130,7]]},"1433":{"position":[[130,7]]},"1437":{"position":[[84,7]]},"1440":{"position":[[84,7]]},"1474":{"position":[[16850,7]]},"1478":{"position":[[1314,7]]},"1479":{"position":[[676,7]]},"1535":{"position":[[89,7]]},"1565":{"position":[[154,7]]},"2370":{"position":[[4927,8]]}},"keywords":{}}],["commit",{"_index":3260,"title":{},"content":{"512":{"position":[[33,6]]}},"keywords":{}}],["common",{"_index":184,"title":{},"content":{"6":{"position":[[917,6]]},"14":{"position":[[752,6]]},"94":{"position":[[131,6]]},"172":{"position":[[307,6]]},"257":{"position":[[168,6]]},"326":{"position":[[262,6]]},"1350":{"position":[[287,6]]},"1355":{"position":[[287,6]]},"1360":{"position":[[287,6]]},"1365":{"position":[[287,6]]},"1370":{"position":[[287,6]]},"1375":{"position":[[241,6]]},"1379":{"position":[[241,6]]},"1383":{"position":[[190,6]]},"1387":{"position":[[190,6]]},"1391":{"position":[[190,6]]},"1395":{"position":[[190,6]]},"1399":{"position":[[150,6]]},"1952":{"position":[[363,6]]}},"keywords":{}}],["commun",{"_index":805,"title":{"168":{"position":[[0,9]]}},"content":{"64":{"position":[[144,13]]},"96":{"position":[[537,9]]},"168":{"position":[[0,9],[61,9]]},"2240":{"position":[[2597,14]]}},"keywords":{}}],["comp",{"_index":4909,"title":{},"content":{"1221":{"position":[[32,5]]},"1350":{"position":[[322,4]]},"1355":{"position":[[322,4]]},"1360":{"position":[[322,4]]},"1474":{"position":[[6141,4]]},"1545":{"position":[[29,4]]}},"keywords":{}}],["companies/school",{"_index":1566,"title":{},"content":{"187":{"position":[[1303,17]]}},"keywords":{}}],["compar",{"_index":2891,"title":{},"content":{"358":{"position":[[206,8]]},"359":{"position":[[243,8]]},"1476":{"position":[[7973,8]]},"1837":{"position":[[150,9],[248,8]]},"1850":{"position":[[142,9],[232,8]]},"1853":{"position":[[138,9],[236,8],[380,8],[535,8]]},"2093":{"position":[[494,8]]},"2201":{"position":[[301,9],[437,8]]}},"keywords":{}}],["comparison",{"_index":2298,"title":{},"content":{"270":{"position":[[192,10]]}},"keywords":{}}],["compat",{"_index":5744,"title":{},"content":{"1474":{"position":[[12127,10]]},"1479":{"position":[[1863,14]]},"1646":{"position":[[461,14]]}},"keywords":{}}],["compet",{"_index":2670,"title":{},"content":{"326":{"position":[[140,7]]}},"keywords":{}}],["compil",{"_index":1541,"title":{},"content":{"186":{"position":[[141,9]]},"530":{"position":[[7,7]]},"607":{"position":[[7,7]]},"632":{"position":[[21,7]]},"706":{"position":[[24,7]]},"963":{"position":[[7,7]]},"1032":{"position":[[0,11]]},"1474":{"position":[[16159,8]]},"1476":{"position":[[7179,7]]},"1477":{"position":[[4185,8]]},"1479":{"position":[[3030,11],[4185,7]]},"1687":{"position":[[0,11]]},"1711":{"position":[[0,11]]},"1734":{"position":[[366,8]]},"1736":{"position":[[8,11]]},"1751":{"position":[[0,11]]},"2507":{"position":[[57,7]]}},"keywords":{}}],["compilatio",{"_index":5208,"title":{},"content":{"1353":{"position":[[336,10]]},"1358":{"position":[[336,10]]},"1363":{"position":[[336,10]]},"1368":{"position":[[336,10]]},"1373":{"position":[[142,10]]},"1377":{"position":[[142,10]]},"1381":{"position":[[142,10]]},"1385":{"position":[[142,10]]},"1389":{"position":[[142,10]]},"1393":{"position":[[142,10]]},"1397":{"position":[[142,10]]},"1401":{"position":[[142,10]]},"1405":{"position":[[142,10]]},"1409":{"position":[[142,10]]},"1413":{"position":[[142,10]]},"1417":{"position":[[142,10]]},"1421":{"position":[[142,10]]},"1425":{"position":[[142,10]]},"1429":{"position":[[142,10]]},"1433":{"position":[[142,10]]},"1437":{"position":[[96,10]]},"1440":{"position":[[96,10]]},"1479":{"position":[[3140,10]]},"1737":{"position":[[57,10]]}},"keywords":{}}],["complet",{"_index":223,"title":{},"content":{"10":{"position":[[8,10]]},"29":{"position":[[483,8]]},"67":{"position":[[346,8]]},"201":{"position":[[346,8]]},"253":{"position":[[546,9]]},"344":{"position":[[348,8]]},"352":{"position":[[330,8]]},"487":{"position":[[0,8]]},"900":{"position":[[42,10]]},"1234":{"position":[[102,9]]},"1327":{"position":[[242,10]]},"1330":{"position":[[242,10]]},"1333":{"position":[[242,10]]},"1474":{"position":[[18519,10],[18764,10],[18956,10]]},"1733":{"position":[[846,10],[1042,10],[1234,10]]},"2325":{"position":[[388,9]]},"2416":{"position":[[584,9],[903,9]]}},"keywords":{}}],["complex",{"_index":493,"title":{},"content":{"24":{"position":[[1778,10]]},"243":{"position":[[1912,10]]},"324":{"position":[[74,10]]},"325":{"position":[[47,10]]}},"keywords":{}}],["compli",{"_index":2714,"title":{},"content":{"329":{"position":[[50,8]]},"1755":{"position":[[0,6]]}},"keywords":{}}],["complianc",{"_index":6664,"title":{},"content":{"1479":{"position":[[3271,10]]},"1742":{"position":[[96,10]]}},"keywords":{}}],["compmenu",{"_index":3100,"title":{},"content":{"444":{"position":[[12,8]]}},"keywords":{}}],["compon",{"_index":2,"title":{"17":{"position":[[21,10]]},"114":{"position":[[14,10]]},"260":{"position":[[26,10]]},"261":{"position":[[22,10]]},"269":{"position":[[0,11]]},"270":{"position":[[17,10]]}},"content":{"0":{"position":[[20,10],[93,9],[499,9],[914,10],[966,9],[1455,9],[1670,9],[1834,9],[1951,9],[2103,9],[2434,9],[2551,9],[2663,9],[2779,10]]},"2":{"position":[[284,9]]},"3":{"position":[[317,11]]},"4":{"position":[[5,9]]},"9":{"position":[[216,9],[280,9]]},"10":{"position":[[185,9]]},"17":{"position":[[25,9],[291,9]]},"18":{"position":[[46,10]]},"20":{"position":[[48,9],[143,9]]},"22":{"position":[[56,9],[779,9],[883,9],[949,9],[993,10],[1048,9],[1115,9],[1225,9]]},"24":{"position":[[473,9],[1255,9]]},"31":{"position":[[100,10],[157,9],[573,9]]},"37":{"position":[[52,9],[168,10],[199,9],[355,10],[505,9],[574,10],[788,9]]},"41":{"position":[[22,9],[108,9]]},"42":{"position":[[108,9],[411,9]]},"43":{"position":[[40,9],[182,9],[226,10],[270,9],[334,9],[644,10],[1004,9]]},"46":{"position":[[345,9]]},"49":{"position":[[862,9]]},"53":{"position":[[111,9]]},"54":{"position":[[299,9]]},"55":{"position":[[72,9]]},"56":{"position":[[18,9],[241,10]]},"57":{"position":[[102,9]]},"69":{"position":[[127,10],[179,9]]},"70":{"position":[[58,9],[139,9],[189,9]]},"71":{"position":[[110,9],[275,9],[353,10],[475,10],[565,9],[624,9],[909,9]]},"74":{"position":[[89,9]]},"82":{"position":[[167,9],[261,9]]},"83":{"position":[[263,9]]},"99":{"position":[[658,10],[695,9],[819,9],[1309,10]]},"100":{"position":[[715,10]]},"103":{"position":[[352,9]]},"202":{"position":[[1093,9]]},"203":{"position":[[279,9],[378,10]]},"213":{"position":[[1100,9],[1148,9],[1274,9]]},"215":{"position":[[5,9]]},"218":{"position":[[217,10]]},"224":{"position":[[114,9]]},"240":{"position":[[779,10]]},"241":{"position":[[173,10]]},"243":{"position":[[2173,9],[2482,9]]},"245":{"position":[[129,10],[1404,9],[1493,9],[3089,10]]},"247":{"position":[[115,9]]},"251":{"position":[[2819,9]]},"258":{"position":[[92,10],[182,9],[418,10]]},"260":{"position":[[35,9]]},"261":{"position":[[31,9]]},"263":{"position":[[543,10]]},"264":{"position":[[723,9],[2133,10]]},"269":{"position":[[84,10],[546,10]]},"270":{"position":[[89,10],[178,10]]},"276":{"position":[[87,10]]},"328":{"position":[[1395,10]]},"335":{"position":[[39,9]]},"355":{"position":[[206,10],[279,9],[336,9]]},"356":{"position":[[597,9]]},"397":{"position":[[65,9]]},"476":{"position":[[25,10]]},"501":{"position":[[0,10]]},"514":{"position":[[26,10]]},"537":{"position":[[448,10]]},"539":{"position":[[216,10]]},"545":{"position":[[75,9]]},"786":{"position":[[162,9]]},"959":{"position":[[37,10]]},"1159":{"position":[[6,9]]},"1169":{"position":[[50,9]]},"1190":{"position":[[39,11]]},"1275":{"position":[[13,9]]},"1278":{"position":[[7,9]]},"1459":{"position":[[0,9]]},"1474":{"position":[[10727,10],[14077,10],[21433,9]]},"1476":{"position":[[4785,10],[5110,9],[5795,9],[6497,9]]},"1478":{"position":[[392,9],[418,10],[996,9],[1100,10]]},"1479":{"position":[[1366,9]]},"1557":{"position":[[22,10]]},"1558":{"position":[[0,9]]},"1582":{"position":[[62,9]]},"1642":{"position":[[14,9]]},"1643":{"position":[[74,9]]},"1717":{"position":[[85,10]]},"1747":{"position":[[118,10]]},"1749":{"position":[[22,9]]},"1778":{"position":[[218,9]]},"1867":{"position":[[31,9],[99,9]]},"2240":{"position":[[1460,9],[2813,9],[2909,9],[3338,9],[3669,9],[3759,9],[3869,9],[3962,9],[4213,9],[4718,9],[4912,10],[5435,9]]},"2331":{"position":[[82,9]]},"2352":{"position":[[94,9]]},"2358":{"position":[[3396,9]]},"2370":{"position":[[4166,10]]},"2492":{"position":[[634,9]]}},"keywords":{}}],["component).room",{"_index":544,"title":{},"content":{"33":{"position":[[227,15]]}},"keywords":{}}],["component.add",{"_index":201,"title":{},"content":{"9":{"position":[[180,13]]}},"keywords":{}}],["component_index_not_found",{"_index":8931,"title":{},"content":{"2357":{"position":[[383,26],[440,25]]}},"keywords":{}}],["componentadd",{"_index":884,"title":{},"content":{"74":{"position":[[64,12]]}},"keywords":{}}],["componentindex",{"_index":8906,"title":{},"content":{"2341":{"position":[[58,15],[141,14]]},"2342":{"position":[[48,15],[97,14]]},"2358":{"position":[[3019,14],[3355,15],[3445,14]]}},"keywords":{}}],["components.a",{"_index":2112,"title":{},"content":{"247":{"position":[[505,12]]}},"keywords":{}}],["components.assign",{"_index":928,"title":{},"content":{"82":{"position":[[223,17]]}},"keywords":{}}],["components.check",{"_index":929,"title":{},"content":{"82":{"position":[[334,16]]}},"keywords":{}}],["components.onstartcli",{"_index":2118,"title":{},"content":{"247":{"position":[[900,24]]}},"keywords":{}}],["components/discoveri",{"_index":274,"title":{},"content":{"10":{"position":[[1539,20]]}},"keywords":{}}],["comprehens",{"_index":1008,"title":{},"content":{"96":{"position":[[182,13]]}},"keywords":{}}],["compress",{"_index":588,"title":{},"content":{"37":{"position":[[627,8]]},"119":{"position":[[518,10],[553,10],[593,10]]},"799":{"position":[[29,11]]},"1043":{"position":[[20,11]]},"1216":{"position":[[11,11]]},"1983":{"position":[[621,10]]}},"keywords":{}}],["compressedextens",{"_index":7688,"title":{"1993":{"position":[[6,20]]}},"content":{"1983":{"position":[[471,21]]}},"keywords":{}}],["comput",{"_index":316,"title":{"177":{"position":[[7,7]]}},"content":{"14":{"position":[[194,8],[585,9],[732,9],[900,9],[1011,8],[1072,8],[1414,8],[1476,10]]},"15":{"position":[[923,8]]},"175":{"position":[[331,8]]},"179":{"position":[[143,9]]},"183":{"position":[[934,8]]},"190":{"position":[[40,7]]},"2287":{"position":[[178,13]]}},"keywords":{}}],["computer"",{"_index":1533,"title":{},"content":{"184":{"position":[[242,14]]}},"keywords":{}}],["computer.serv",{"_index":1388,"title":{},"content":{"175":{"position":[[250,15]]}},"keywords":{}}],["concat",{"_index":6429,"title":{},"content":{"1477":{"position":[[847,6]]}},"keywords":{}}],["concept",{"_index":2236,"title":{"256":{"position":[[11,8]]}},"content":{},"keywords":{}}],["concern",{"_index":777,"title":{},"content":{"61":{"position":[[20,9]]},"62":{"position":[[21,9]]},"63":{"position":[[69,9]]}},"keywords":{}}],["concurr",{"_index":6131,"title":{},"content":{"1476":{"position":[[2027,10],[4935,10]]},"1567":{"position":[[729,10],[1093,10]]},"2130":{"position":[[20,10]]},"2419":{"position":[[151,10]]}},"keywords":{}}],["condit",{"_index":1422,"title":{},"content":{"179":{"position":[[332,10]]},"355":{"position":[[948,10]]},"497":{"position":[[109,9]]},"998":{"position":[[119,9],[195,9],[281,9]]},"1472":{"position":[[18,10]]},"1474":{"position":[[10523,9],[11347,9],[16448,9]]},"1713":{"position":[[51,9]]},"1733":{"position":[[222,9]]},"1766":{"position":[[610,9]]},"1939":{"position":[[320,10],[411,9],[579,10],[654,9]]}},"keywords":{}}],["conditional("unity_assertions"",{"_index":7593,"title":{},"content":{"1939":{"position":[[224,43],[483,43]]}},"keywords":{}}],["config",{"_index":1602,"title":{"2129":{"position":[[6,6]]}},"content":{"190":{"position":[[1633,6]]},"912":{"position":[[27,6]]},"947":{"position":[[74,6]]},"2091":{"position":[[171,7]]},"2112":{"position":[[26,7],[148,6],[155,7],[381,6]]},"2134":{"position":[[360,6]]},"2171":{"position":[[35,7],[148,6],[155,6],[382,6]]},"2261":{"position":[[413,6],[828,6]]},"2350":{"position":[[67,6],[141,6]]},"2420":{"position":[[67,6],[141,6]]}},"keywords":{}}],["configur",{"_index":44,"title":{"183":{"position":[[3,11]]},"191":{"position":[[0,9]]}},"content":{"0":{"position":[[744,13]]},"17":{"position":[[49,9]]},"96":{"position":[[117,11]]},"119":{"position":[[362,12]]},"173":{"position":[[1153,9],[1255,9]]},"182":{"position":[[1026,9],[1104,9],[1694,9],[1734,9]]},"183":{"position":[[609,9]]},"190":{"position":[[22,11],[314,9],[621,13],[1249,9]]},"202":{"position":[[370,10]]},"203":{"position":[[12,9]]},"1015":{"position":[[0,12]]},"1217":{"position":[[13,9]]},"1474":{"position":[[14651,12],[21396,10]]},"1476":{"position":[[646,13]]},"2018":{"position":[[52,9]]},"2019":{"position":[[32,10]]},"2240":{"position":[[1876,14],[3818,14]]},"2265":{"position":[[5097,13]]}},"keywords":{}}],["configure(int",{"_index":7959,"title":{},"content":{"2016":{"position":[[57,13]]},"2019":{"position":[[172,13]]},"2185":{"position":[[115,13]]}},"keywords":{}}],["configure(int32",{"_index":7958,"title":{},"content":{"2016":{"position":[[0,16]]},"2019":{"position":[[0,16]]},"2185":{"position":[[0,16]]}},"keywords":{}}],["confirm",{"_index":1577,"title":{},"content":{"189":{"position":[[516,7]]},"191":{"position":[[620,7]]}},"keywords":{}}],["conflict",{"_index":4420,"title":{},"content":{"1005":{"position":[[30,8]]}},"keywords":{}}],["congrat",{"_index":836,"title":{},"content":{"67":{"position":[[1189,9]]},"201":{"position":[[1189,9]]}},"keywords":{}}],["conjunct",{"_index":2257,"title":{},"content":{"260":{"position":[[122,11]]}},"keywords":{}}],["conn",{"_index":564,"title":{},"content":{"35":{"position":[[182,5],[252,5],[400,5],[496,5]]},"36":{"position":[[143,5],[213,5],[370,5]]},"245":{"position":[[1114,5],[1188,6],[2201,5],[2278,6],[2533,5],[2608,6]]},"272":{"position":[[615,5],[845,5],[951,5],[1455,5],[1638,5]]},"1474":{"position":[[11665,4]]},"1597":{"position":[[62,4]]},"2132":{"position":[[101,5],[187,4],[333,5],[437,4],[590,5],[676,4],[880,5],[984,4],[1204,5],[1317,4],[1517,5],[1648,4],[1842,5],[1928,4],[2070,5],[2174,4]]}},"keywords":{}}],["connecit",{"_index":6651,"title":{},"content":{"1479":{"position":[[1161,11]]},"1616":{"position":[[0,11]]}},"keywords":{}}],["connect",{"_index":28,"title":{"184":{"position":[[15,11]]},"187":{"position":[[7,8]]},"192":{"position":[[0,7]]}},"content":{"0":{"position":[[446,7]]},"2":{"position":[[203,9]]},"3":{"position":[[343,8],[688,10],[768,11]]},"9":{"position":[[599,7]]},"10":{"position":[[1118,7],[1371,11]]},"13":{"position":[[317,7]]},"14":{"position":[[3,7],[437,7],[1157,7],[1453,11],[1654,7],[1708,8],[1743,10],[1811,7],[1840,10]]},"15":{"position":[[79,7],[289,7],[430,9]]},"24":{"position":[[26,9]]},"29":{"position":[[305,8]]},"33":{"position":[[491,9],[719,9]]},"53":{"position":[[311,11]]},"56":{"position":[[53,11]]},"62":{"position":[[281,12],[296,10]]},"65":{"position":[[28,9]]},"105":{"position":[[93,10]]},"114":{"position":[[107,8]]},"165":{"position":[[55,11]]},"167":{"position":[[63,9]]},"171":{"position":[[391,7]]},"175":{"position":[[191,7],[351,7],[459,7],[702,12]]},"179":{"position":[[105,11],[394,7]]},"182":{"position":[[1802,7],[1886,10],[2418,7],[2640,10]]},"183":{"position":[[42,11],[948,10],[1478,11]]},"184":{"position":[[783,7]]},"187":{"position":[[7,7],[127,7],[508,7],[1337,12]]},"191":{"position":[[32,7]]},"192":{"position":[[78,7]]},"193":{"position":[[15,7]]},"195":{"position":[[98,10]]},"202":{"position":[[739,11]]},"205":{"position":[[118,7]]},"206":{"position":[[16,7]]},"235":{"position":[[1753,9]]},"243":{"position":[[176,8],[338,10],[2217,8]]},"245":{"position":[[840,7],[1913,11],[2588,10]]},"247":{"position":[[569,9]]},"248":{"position":[[232,8]]},"249":{"position":[[676,12]]},"253":{"position":[[333,8]]},"272":{"position":[[633,9],[863,9],[1473,9],[1656,9]]},"416":{"position":[[30,7]]},"425":{"position":[[23,7]]},"462":{"position":[[33,9]]},"508":{"position":[[18,11]]},"545":{"position":[[270,8]]},"577":{"position":[[41,8]]},"628":{"position":[[31,11]]},"636":{"position":[[34,10]]},"679":{"position":[[59,10]]},"692":{"position":[[92,10]]},"693":{"position":[[60,7]]},"870":{"position":[[46,9]]},"875":{"position":[[28,7],[97,10]]},"930":{"position":[[22,10]]},"1023":{"position":[[53,10]]},"1033":{"position":[[7,10]]},"1034":{"position":[[0,10]]},"1046":{"position":[[7,10]]},"1160":{"position":[[20,10]]},"1233":{"position":[[104,9]]},"1234":{"position":[[4,9]]},"1258":{"position":[[42,7]]},"1352":{"position":[[77,8]]},"1357":{"position":[[77,8]]},"1362":{"position":[[77,8]]},"1367":{"position":[[77,8]]},"1468":{"position":[[98,11]]},"1474":{"position":[[415,10],[869,11],[3461,7],[3578,10],[7235,7],[7320,9],[8066,10],[9692,11],[10672,10],[12778,9],[14865,11],[15531,10],[16470,11],[18390,10],[18428,11],[18635,10],[18673,11],[18827,10],[18865,11]]},"1475":{"position":[[87,11]]},"1476":{"position":[[2333,7],[6096,7],[6456,10],[8372,11]]},"1477":{"position":[[24,10]]},"1479":{"position":[[2673,12],[3292,7]]},"1486":{"position":[[16,11]]},"1489":{"position":[[58,9]]},"1491":{"position":[[47,10]]},"1606":{"position":[[24,10]]},"1611":{"position":[[17,10]]},"1623":{"position":[[6,10]]},"1655":{"position":[[99,11]]},"1656":{"position":[[0,11]]},"1670":{"position":[[8,7]]},"1696":{"position":[[30,9]]},"1704":{"position":[[26,11]]},"1705":{"position":[[26,12]]},"1713":{"position":[[73,11]]},"1733":{"position":[[717,10],[755,11],[913,10],[951,11],[1105,10],[1143,11]]},"1741":{"position":[[10,7]]},"1742":{"position":[[117,7]]},"1744":{"position":[[6,10]]},"1890":{"position":[[891,7],[992,11]]},"1911":{"position":[[65,7]]},"1926":{"position":[[67,11]]},"2093":{"position":[[13,10],[344,10],[433,11],[513,11],[940,10]]},"2094":{"position":[[42,10],[190,10]]},"2112":{"position":[[136,11],[344,10]]},"2124":{"position":[[47,7],[324,10]]},"2128":{"position":[[49,11],[71,10],[105,10],[121,10],[151,10],[175,9],[242,10],[356,10]]},"2130":{"position":[[31,11],[136,7],[297,7],[470,10],[743,10],[816,10],[1061,10]]},"2136":{"position":[[137,11],[248,10],[259,10]]},"2141":{"position":[[1069,10]]},"2145":{"position":[[50,10],[92,10]]},"2158":{"position":[[91,7]]},"2162":{"position":[[774,10]]},"2168":{"position":[[143,11],[231,11],[313,11],[590,11],[684,11],[1282,11],[1411,11],[1623,11],[1764,11],[1966,11],[2089,11],[2295,11],[2430,11],[2626,11],[2743,11],[2943,11],[3072,11]]},"2169":{"position":[[50,11],[167,11],[367,11],[496,11]]},"2181":{"position":[[74,11],[112,10],[207,10],[295,7]]},"2199":{"position":[[616,7]]},"2240":{"position":[[225,10],[536,11],[576,10],[1784,7],[1824,10],[1865,10],[1964,9],[2130,7],[3435,11],[3464,11],[3506,10],[4404,7]]},"2253":{"position":[[375,9],[1049,10]]},"2259":{"position":[[45,11],[70,10],[86,10],[110,9]]},"2261":{"position":[[54,10],[151,10],[252,10],[480,10],[687,9]]},"2265":{"position":[[92,10],[7025,10]]},"2298":{"position":[[50,11],[87,10]]},"2347":{"position":[[201,11]]},"2350":{"position":[[309,9],[391,10],[434,9],[517,9],[581,10],[1207,10],[1529,9],[1692,9]]},"2351":{"position":[[41,7]]},"2369":{"position":[[101,11]]},"2371":{"position":[[650,11],[994,10]]},"2383":{"position":[[275,10],[460,10],[779,11]]},"2397":{"position":[[216,10],[401,10],[720,11]]},"2399":{"position":[[159,11],[249,10]]},"2400":{"position":[[752,8],[1077,11],[1188,11],[1232,10],[1556,11]]},"2401":{"position":[[640,11],[1334,11]]},"2404":{"position":[[232,10],[417,10],[736,11]]},"2417":{"position":[[2748,10],[9737,9]]},"2419":{"position":[[170,11]]},"2420":{"position":[[393,10],[443,9],[846,10],[1100,9],[1273,9]]},"2434":{"position":[[173,10],[358,10],[677,11]]},"2478":{"position":[[1876,10],[1964,10],[2120,11],[2426,10],[2602,11],[2735,10],[2823,10],[2979,11],[3301,10],[3501,11],[4551,10]]},"2482":{"position":[[105,10],[193,10],[349,11],[608,10],[820,11],[930,10],[1018,10],[1174,11],[1416,10],[1603,11],[4345,10]]}},"keywords":{}}],["connect(iendpoint",{"_index":8462,"title":{},"content":{"2156":{"position":[[133,19],[178,17]]},"2158":{"position":[[240,19],[336,17]]},"2173":{"position":[[140,19],[192,17]]},"2223":{"position":[[140,19],[185,17]]},"2227":{"position":[[140,19],[185,17]]}},"keywords":{}}],["connect(str",{"_index":8921,"title":{},"content":{"2351":{"position":[[0,15],[110,14]]}},"keywords":{}}],["connectasync",{"_index":4819,"title":{},"content":{"1180":{"position":[[4,12]]}},"keywords":{}}],["connectattemptinterv",{"_index":8420,"title":{},"content":{"2130":{"position":[[102,23],[227,22]]}},"keywords":{}}],["connecting/connect",{"_index":8917,"title":{},"content":{"2350":{"position":[[1076,20]]}},"keywords":{}}],["connectingcancel",{"_index":8747,"title":{},"content":{"2261":{"position":[[616,17],[710,16]]}},"keywords":{}}],["connectingtimeout",{"_index":8746,"title":{},"content":{"2261":{"position":[[540,18],[593,17]]}},"keywords":{}}],["connection'",{"_index":8979,"title":{},"content":{"2370":{"position":[[2460,12]]}},"keywords":{}}],["connection.disconnect",{"_index":4523,"title":{},"content":{"1047":{"position":[[156,21]]}},"keywords":{}}],["connection.getendpointaddress",{"_index":4522,"title":{},"content":{"1047":{"position":[[76,29]]}},"keywords":{}}],["connectionaccept",{"_index":8411,"title":{},"content":{"2124":{"position":[[98,19],[163,18]]}},"keywords":{}}],["connectioncount",{"_index":8482,"title":{},"content":{"2166":{"position":[[51,16],[115,15]]},"2168":{"position":[[116,16],[179,15]]}},"keywords":{}}],["connectionextens",{"_index":8311,"title":{"2131":{"position":[[6,20]]}},"content":{"2091":{"position":[[179,21]]}},"keywords":{}}],["connectionid",{"_index":5950,"title":{},"content":{"1474":{"position":[[19791,12]]},"2399":{"position":[[100,12]]}},"keywords":{}}],["connectionreject",{"_index":8412,"title":{},"content":{"2124":{"position":[[187,19],[252,18]]}},"keywords":{}}],["connections=100",{"_index":8437,"title":{},"content":{"2130":{"position":[[2211,17]]}},"keywords":{}}],["connectionst",{"_index":5181,"title":{"2127":{"position":[[5,15]]}},"content":{"1350":{"position":[[97,15]]},"1355":{"position":[[97,15]]},"1360":{"position":[[97,15]]},"1365":{"position":[[97,15]]},"1370":{"position":[[97,15]]},"1375":{"position":[[51,15]]},"1379":{"position":[[51,15]]},"1383":{"position":[[51,15]]},"1387":{"position":[[51,15]]},"1391":{"position":[[51,15]]},"1395":{"position":[[51,15]]},"1399":{"position":[[11,15]]},"1403":{"position":[[11,15]]},"1407":{"position":[[11,15]]},"1411":{"position":[[11,15]]},"1415":{"position":[[11,15]]},"1419":{"position":[[11,15]]},"1423":{"position":[[11,15]]},"1427":{"position":[[11,15]]},"1431":{"position":[[11,15]]},"2094":{"position":[[142,16]]},"2140":{"position":[[72,15]]},"2457":{"position":[[103,15]]}},"keywords":{}}],["connectiontocli",{"_index":4068,"title":{},"content":{"851":{"position":[[85,18]]},"1474":{"position":[[4703,18]]}},"keywords":{}}],["connectiontoserv",{"_index":4461,"title":{},"content":{"1024":{"position":[[144,18],[189,18]]}},"keywords":{}}],["connectmessag",{"_index":2070,"title":{},"content":{"245":{"position":[[1120,14],[2539,14]]}},"keywords":{}}],["connectrequest",{"_index":8410,"title":{},"content":{"2124":{"position":[[0,15],[78,14]]}},"keywords":{}}],["connectst",{"_index":8710,"title":{"2258":{"position":[[5,12]]}},"content":{"2243":{"position":[[190,13]]}},"keywords":{}}],["consid",{"_index":1016,"title":{},"content":{"96":{"position":[[501,8]]},"1474":{"position":[[10113,10]]},"1648":{"position":[[23,10]]},"1778":{"position":[[38,8]]},"1835":{"position":[[322,8]]}},"keywords":{}}],["consider",{"_index":1968,"title":{},"content":{"240":{"position":[[994,14]]}},"keywords":{}}],["consist",{"_index":2331,"title":{},"content":{"273":{"position":[[1164,13]]},"359":{"position":[[222,10]]},"1476":{"position":[[6708,10]]},"2114":{"position":[[142,8]]}},"keywords":{}}],["consol",{"_index":1429,"title":{"182":{"position":[[50,8]]}},"content":{"184":{"position":[[727,7]]},"189":{"position":[[16,8]]},"190":{"position":[[81,8]]},"191":{"position":[[93,8]]},"1476":{"position":[[1278,7]]},"1563":{"position":[[84,7]]}},"keywords":{}}],["consolid",{"_index":5438,"title":{},"content":{"1474":{"position":[[3030,11]]}},"keywords":{}}],["const",{"_index":2601,"title":{},"content":{"316":{"position":[[1167,5],[1190,5]]},"436":{"position":[[78,5]]},"649":{"position":[[10,5]]},"655":{"position":[[15,5]]},"673":{"position":[[7,5]]},"1819":{"position":[[34,5],[134,5]]},"2014":{"position":[[24,5],[70,5],[116,5],[162,5],[209,5],[256,5],[303,5],[351,5],[399,5],[448,5],[499,5],[550,5],[601,5],[652,5],[704,5],[756,5],[808,5],[861,5],[914,5],[967,5],[1021,5],[1075,5],[1129,5],[1183,5],[1238,5],[1293,5],[1348,5],[1404,5],[1460,5],[1516,5],[1573,5],[1630,5],[1687,5],[1744,5],[1802,5],[1860,5],[1918,5],[1977,5],[2036,5],[2095,5],[2155,5],[2215,5],[2275,5],[2335,5],[2396,5],[2457,5],[2518,5],[2580,5],[2642,5],[2704,5],[2767,5],[2830,5],[2893,5],[2956,5],[3020,5],[3084,5],[3148,5],[3213,5],[3278,5],[3343,5],[3409,5],[3475,5],[3541,5],[3607,5]]},"2113":{"position":[[37,5],[150,5],[275,5],[380,5],[453,5],[600,5],[768,5]]},"2117":{"position":[[41,5]]},"2357":{"position":[[430,5]]},"2500":{"position":[[33,5]]},"2515":{"position":[[38,5]]}},"keywords":{}}],["constant",{"_index":2892,"title":{},"content":{"359":{"position":[[386,8]]},"831":{"position":[[15,8]]}},"keywords":{}}],["constraint",{"_index":2103,"title":{"246":{"position":[[0,12]]}},"content":{},"keywords":{}}],["construct",{"_index":8773,"title":{},"content":{"2265":{"position":[[5057,11]]}},"keywords":{}}],["constructor",{"_index":2444,"title":{"1801":{"position":[[0,13]]},"1837":{"position":[[0,13]]},"1840":{"position":[[0,13]]},"1846":{"position":[[0,13]]},"1850":{"position":[[0,13]]},"1853":{"position":[[0,13]]},"1857":{"position":[[0,13]]},"1862":{"position":[[0,13]]},"1872":{"position":[[0,13]]},"1941":{"position":[[0,13]]},"1946":{"position":[[0,13]]},"1951":{"position":[[0,13]]},"1960":{"position":[[0,13]]},"1981":{"position":[[0,13]]},"1985":{"position":[[0,13]]},"1987":{"position":[[0,13]]},"1996":{"position":[[0,13]]},"2000":{"position":[[0,13]]},"2021":{"position":[[0,13]]},"2029":{"position":[[0,13]]},"2035":{"position":[[0,13]]},"2042":{"position":[[0,13]]},"2046":{"position":[[0,13]]},"2049":{"position":[[0,13]]},"2052":{"position":[[0,13]]},"2054":{"position":[[0,13]]},"2062":{"position":[[0,13]]},"2065":{"position":[[0,13]]},"2068":{"position":[[0,13]]},"2070":{"position":[[0,13]]},"2073":{"position":[[0,13]]},"2076":{"position":[[0,13]]},"2078":{"position":[[0,13]]},"2082":{"position":[[0,13]]},"2087":{"position":[[0,13]]},"2097":{"position":[[0,13]]},"2105":{"position":[[0,13]]},"2108":{"position":[[0,13]]},"2112":{"position":[[0,13]]},"2116":{"position":[[0,13]]},"2164":{"position":[[0,13]]},"2171":{"position":[[0,13]]},"2177":{"position":[[0,13]]},"2183":{"position":[[0,13]]},"2187":{"position":[[0,13]]},"2191":{"position":[[0,13]]},"2201":{"position":[[0,13]]},"2208":{"position":[[0,13]]},"2212":{"position":[[0,13]]},"2215":{"position":[[0,13]]},"2221":{"position":[[0,13]]},"2246":{"position":[[0,13]]},"2269":{"position":[[0,13]]},"2272":{"position":[[0,13]]},"2319":{"position":[[0,13]]},"2324":{"position":[[0,13]]},"2327":{"position":[[0,13]]},"2334":{"position":[[0,13]]},"2338":{"position":[[0,13]]},"2341":{"position":[[0,13]]},"2346":{"position":[[0,13]]},"2385":{"position":[[0,13]]},"2399":{"position":[[0,13]]},"2406":{"position":[[0,13]]},"2411":{"position":[[0,13]]},"2439":{"position":[[0,13]]},"2486":{"position":[[0,13]]},"2495":{"position":[[0,13]]},"2509":{"position":[[0,13]]},"2527":{"position":[[0,13]]}},"content":{"291":{"position":[[158,11]]},"345":{"position":[[864,11],[929,12]]},"353":{"position":[[792,11],[851,12]]},"390":{"position":[[30,11]]},"441":{"position":[[14,11]]}},"keywords":{}}],["consum",{"_index":259,"title":{},"content":{"10":{"position":[[1000,8],[1344,7]]},"1233":{"position":[[6,7]]}},"keywords":{}}],["contain",{"_index":145,"title":{},"content":{"3":{"position":[[546,7]]},"4":{"position":[[15,8]]},"10":{"position":[[1420,8]]},"46":{"position":[[383,8]]},"54":{"position":[[261,10],[642,8]]},"55":{"position":[[15,8]]},"72":{"position":[[18,7]]},"168":{"position":[[30,8]]},"213":{"position":[[461,7]]},"241":{"position":[[1913,9],[3723,10]]},"251":{"position":[[3396,7]]},"333":{"position":[[695,7],[820,10]]},"391":{"position":[[91,8]]},"806":{"position":[[35,8]]},"1190":{"position":[[26,8]]},"2158":{"position":[[1336,7],[1576,8]]},"2162":{"position":[[364,8]]},"2240":{"position":[[1625,7],[1739,8],[3581,8]]}},"keywords":{}}],["contains(keyvaluepair<tkey",{"_index":7385,"title":{},"content":{"1865":{"position":[[2025,30],[2094,30]]}},"keywords":{}}],["contains(t",{"_index":7316,"title":{},"content":{"1855":{"position":[[1473,12],[1511,10]]},"1860":{"position":[[1453,12],[1491,10]]}},"keywords":{}}],["containsinvislist(networkident",{"_index":8844,"title":{},"content":{"2311":{"position":[[559,35],[638,33]]},"2401":{"position":[[1947,35],[2049,33]]}},"keywords":{}}],["containskey(tkey",{"_index":7378,"title":{},"content":{"1865":{"position":[[1203,18],[1247,16]]}},"keywords":{}}],["content",{"_index":455,"title":{},"content":{"24":{"position":[[430,8]]},"46":{"position":[[1448,7]]},"1477":{"position":[[2341,8]]}},"keywords":{}}],["context",{"_index":988,"title":{},"content":{"92":{"position":[[812,9]]},"1947":{"position":[[99,8],[188,7],[302,8],[417,7]]},"2269":{"position":[[312,8],[453,7]]},"2327":{"position":[[497,8],[638,7]]}},"keywords":{}}],["continu",{"_index":1466,"title":{"206":{"position":[[0,10]]}},"content":{"182":{"position":[[1601,9],[3477,9]]},"183":{"position":[[365,8],[1725,8]]},"247":{"position":[[1093,9]]},"1474":{"position":[[8814,9],[17955,8]]},"1607":{"position":[[53,9]]},"1733":{"position":[[602,8]]}},"keywords":{}}],["continuewith",{"_index":6509,"title":{},"content":{"1477":{"position":[[3135,12]]},"1601":{"position":[[4,12]]}},"keywords":{}}],["contrast",{"_index":2900,"title":{},"content":{"361":{"position":[[455,9]]}},"keywords":{}}],["contribut",{"_index":900,"title":{},"content":{"79":{"position":[[46,10],[82,12]]},"96":{"position":[[550,12]]}},"keywords":{}}],["control",{"_index":12,"title":{},"content":{"0":{"position":[[223,11],[569,8],[1362,8],[1465,8],[1680,8],[2113,8]]},"15":{"position":[[713,7]]},"20":{"position":[[58,8]]},"22":{"position":[[66,8]]},"31":{"position":[[26,7]]},"33":{"position":[[37,8]]},"54":{"position":[[104,12],[393,7]]},"71":{"position":[[517,7],[677,7],[713,11],[1016,7],[1056,7],[1216,7],[1468,8],[1739,8]]},"99":{"position":[[1354,7]]},"102":{"position":[[43,7],[156,7]]},"103":{"position":[[43,7],[290,8],[311,8]]},"104":{"position":[[119,8]]},"213":{"position":[[73,10]]},"223":{"position":[[195,8]]},"243":{"position":[[2384,11]]},"257":{"position":[[316,7]]},"292":{"position":[[259,7]]},"472":{"position":[[38,8]]},"1075":{"position":[[9,7]]},"1474":{"position":[[4231,11],[4292,10]]},"1782":{"position":[[257,7]]},"2091":{"position":[[326,8]]},"2094":{"position":[[32,7]]},"2240":{"position":[[2828,8],[3684,8],[3884,8],[4324,8]]},"2371":{"position":[[378,7]]}},"keywords":{}}],["conveni",{"_index":742,"title":{},"content":{"56":{"position":[[7,10]]},"94":{"position":[[106,10]]},"213":{"position":[[2005,12]]},"1476":{"position":[[3784,10]]},"1634":{"position":[[6,10]]}},"keywords":{}}],["convers",{"_index":840,"title":{},"content":{"68":{"position":[[116,10]]}},"keywords":{}}],["convert",{"_index":2983,"title":{},"content":{"391":{"position":[[223,7]]},"537":{"position":[[266,10]]},"1474":{"position":[[1615,7]]},"1479":{"position":[[1588,9]]},"1646":{"position":[[186,9]]},"2240":{"position":[[5839,8]]},"2461":{"position":[[21,8]]}},"keywords":{}}],["convex",{"_index":2044,"title":{},"content":{"241":{"position":[[3670,6]]}},"keywords":{}}],["cooki",{"_index":7242,"title":{},"content":{"1819":{"position":[[378,6]]}},"keywords":{}}],["coordin",{"_index":1980,"title":{},"content":{"240":{"position":[[1753,11]]}},"keywords":{}}],["copi",{"_index":1512,"title":{},"content":{"183":{"position":[[491,4],[1307,4]]},"303":{"position":[[240,6],[406,6]]},"317":{"position":[[331,4]]},"332":{"position":[[75,4]]},"356":{"position":[[907,4]]},"875":{"position":[[81,4]]},"1835":{"position":[[445,4],[862,4]]},"1883":{"position":[[162,4]]},"2023":{"position":[[3374,6],[3594,6]]},"2031":{"position":[[106,6],[3530,6],[3978,6],[4187,6],[4514,6]]},"2093":{"position":[[377,4]]}},"keywords":{}}],["copyfrompointer(void",{"_index":8082,"title":{},"content":{"2031":{"position":[[4476,22],[4599,20]]}},"keywords":{}}],["copyfromwriter(networkwrit",{"_index":8080,"title":{},"content":{"2031":{"position":[[3947,30],[4030,28],[4142,29],[4274,28]]}},"keywords":{}}],["copyright",{"_index":5416,"title":{},"content":{"1474":{"position":[[2063,9]]}},"keywords":{}}],["copyto(keyvaluepair<tkey",{"_index":7386,"title":{},"content":{"1865":{"position":[[2283,28],[2359,28]]}},"keywords":{}}],["copyto(t",{"_index":7317,"title":{},"content":{"1855":{"position":[[1611,11],[1656,10]]},"1860":{"position":[[1591,11],[1636,10]]},"1874":{"position":[[1475,11],[1520,10]]}},"keywords":{}}],["copytoobservers(networkident",{"_index":9246,"title":{},"content":{"2516":{"position":[[966,33],[1025,31]]}},"keywords":{}}],["core",{"_index":1,"title":{},"content":{"0":{"position":[[15,4]]},"99":{"position":[[1442,4]]},"1474":{"position":[[21560,4]]},"1752":{"position":[[143,4]]}},"keywords":{}}],["corner",{"_index":677,"title":{},"content":{"46":{"position":[[961,7]]},"182":{"position":[[149,7],[248,6]]}},"keywords":{}}],["coroutin",{"_index":1993,"title":{},"content":{"240":{"position":[[2416,9]]},"241":{"position":[[2599,9]]},"314":{"position":[[1016,10]]}},"keywords":{}}],["coroutinesend",{"_index":4295,"title":{},"content":{"958":{"position":[[205,13]]}},"keywords":{}}],["correct",{"_index":507,"title":{},"content":{"29":{"position":[[121,7]]},"71":{"position":[[16,7],[548,7]]},"74":{"position":[[81,7]]},"139":{"position":[[554,7]]},"182":{"position":[[87,7],[2768,7]]},"660":{"position":[[55,7]]},"1474":{"position":[[4823,9],[15523,7],[17853,7]]},"1611":{"position":[[9,7]]},"1703":{"position":[[7,7]]},"1780":{"position":[[145,7]]},"1781":{"position":[[145,7]]},"2240":{"position":[[7413,7]]},"2417":{"position":[[10956,7]]}},"keywords":{}}],["correctli",{"_index":1080,"title":{},"content":{"117":{"position":[[606,9],[3081,9]]},"332":{"position":[[464,10]]},"978":{"position":[[57,9]]},"1474":{"position":[[19705,9]]},"2001":{"position":[[663,9]]},"2370":{"position":[[3806,9]]}},"keywords":{}}],["correspond",{"_index":811,"title":{},"content":{"65":{"position":[[261,13]]},"217":{"position":[[318,13],[742,13]]},"272":{"position":[[85,13]]},"335":{"position":[[1674,10]]},"361":{"position":[[29,13]]},"2359":{"position":[[2582,13],[3103,13]]},"2482":{"position":[[4904,13],[5252,13]]}},"keywords":{}}],["cost",{"_index":1420,"title":{},"content":{"179":{"position":[[121,5]]},"190":{"position":[[1163,5]]},"361":{"position":[[805,4]]}},"keywords":{}}],["count",{"_index":1154,"title":{"126":{"position":[[4,5]]},"132":{"position":[[4,5]]}},"content":{"123":{"position":[[180,5]]},"129":{"position":[[208,5],[512,5]]},"130":{"position":[[250,5]]},"139":{"position":[[1300,6]]},"155":{"position":[[210,5],[457,5]]},"158":{"position":[[208,5],[512,5]]},"159":{"position":[[250,5]]},"245":{"position":[[3860,5],[4318,5]]},"249":{"position":[[990,5]]},"667":{"position":[[13,5]]},"862":{"position":[[28,5]]},"1325":{"position":[[7,8]]},"1329":{"position":[[7,8]]},"1332":{"position":[[7,8]]},"1442":{"position":[[14,5]]},"1854":{"position":[[0,6],[31,5]]},"1859":{"position":[[0,6],[31,5]]},"1864":{"position":[[0,6],[31,5]]},"1873":{"position":[[0,6],[31,5]]},"1990":{"position":[[335,5],[844,5]]},"2003":{"position":[[248,6],[399,5],[2863,6],[2959,5]]},"2023":{"position":[[3885,6],[3939,5]]},"2130":{"position":[[1862,5],[2073,5]]},"2203":{"position":[[94,6],[206,5]]},"2346":{"position":[[98,6],[193,5]]},"2347":{"position":[[185,6],[278,5],[331,5]]}},"keywords":{}}],["counter",{"_index":5404,"title":{},"content":{"1474":{"position":[[1682,7],[19804,7]]},"2287":{"position":[[95,7]]}},"keywords":{}}],["counterpart",{"_index":2301,"title":{},"content":{"271":{"position":[[237,11]]}},"keywords":{}}],["coupl",{"_index":1659,"title":{},"content":{"202":{"position":[[28,6]]},"203":{"position":[[153,6]]},"271":{"position":[[129,9]]}},"keywords":{}}],["cours",{"_index":1343,"title":{},"content":{"171":{"position":[[90,6]]}},"keywords":{}}],["cover",{"_index":1556,"title":{},"content":{"187":{"position":[[667,5]]},"257":{"position":[[150,5]]},"304":{"position":[[55,6]]}},"keywords":{}}],["cpu",{"_index":914,"title":{},"content":{"81":{"position":[[206,3]]}},"keywords":{}}],["crash",{"_index":3432,"title":{},"content":{"574":{"position":[[29,5]]},"653":{"position":[[15,5]]},"1466":{"position":[[581,5],[927,7],[1107,7]]},"1474":{"position":[[9301,5]]},"1713":{"position":[[6,5]]}},"keywords":{}}],["crazi",{"_index":6472,"title":{},"content":{"1477":{"position":[[2057,5]]}},"keywords":{}}],["crc64",{"_index":5128,"title":{},"content":{"1326":{"position":[[22,5]]}},"keywords":{}}],["creat",{"_index":106,"title":{"54":{"position":[[0,8]]},"202":{"position":[[0,8]]}},"content":{"0":{"position":[[2256,8],[2368,7]]},"2":{"position":[[170,7]]},"9":{"position":[[45,6]]},"10":{"position":[[1974,6]]},"14":{"position":[[650,6]]},"17":{"position":[[163,6]]},"20":{"position":[[329,6]]},"22":{"position":[[1013,6],[1088,7]]},"33":{"position":[[153,6]]},"54":{"position":[[252,8]]},"61":{"position":[[253,6],[393,6]]},"69":{"position":[[69,6],[279,6]]},"70":{"position":[[0,6],[221,7]]},"75":{"position":[[190,7]]},"79":{"position":[[8,6]]},"83":{"position":[[3,6],[273,8]]},"88":{"position":[[113,6]]},"96":{"position":[[351,6]]},"99":{"position":[[637,6]]},"117":{"position":[[24,6],[795,6],[1460,6]]},"165":{"position":[[83,8]]},"168":{"position":[[205,6]]},"171":{"position":[[168,7]]},"182":{"position":[[417,8],[1955,6],[2912,6],[3180,7]]},"186":{"position":[[61,6],[190,6]]},"187":{"position":[[1087,6]]},"189":{"position":[[65,6],[143,6],[169,6]]},"190":{"position":[[9,8],[217,6],[256,6],[289,6],[1695,7],[1819,6],[1851,6],[1912,6]]},"191":{"position":[[160,6],[192,6],[610,6],[644,6]]},"192":{"position":[[38,7]]},"196":{"position":[[373,6],[559,6],[602,6],[677,6]]},"197":{"position":[[182,8]]},"199":{"position":[[108,7]]},"202":{"position":[[124,6],[223,8],[306,6],[1239,7],[1288,6]]},"203":{"position":[[45,6],[175,6],[675,6],[764,6],[1160,7],[1268,7]]},"204":{"position":[[44,6],[225,6]]},"207":{"position":[[76,6]]},"209":{"position":[[51,6],[171,6]]},"210":{"position":[[52,6],[151,6]]},"211":{"position":[[1786,6]]},"213":{"position":[[183,6],[2264,7],[2311,6]]},"238":{"position":[[27,6]]},"243":{"position":[[668,6]]},"245":{"position":[[1221,6],[1285,6],[1360,6],[1592,7],[1719,8],[3188,7],[4438,7]]},"247":{"position":[[743,6]]},"251":{"position":[[2066,6],[2758,6]]},"266":{"position":[[375,6]]},"269":{"position":[[503,6]]},"300":{"position":[[72,8]]},"317":{"position":[[116,7]]},"320":{"position":[[455,6]]},"324":{"position":[[394,8]]},"335":{"position":[[681,7]]},"339":{"position":[[0,6]]},"348":{"position":[[0,6]]},"361":{"position":[[924,6]]},"366":{"position":[[317,6]]},"397":{"position":[[0,6]]},"477":{"position":[[19,6]]},"551":{"position":[[24,8]]},"555":{"position":[[20,6]]},"622":{"position":[[15,7]]},"674":{"position":[[82,6]]},"683":{"position":[[6,6],[91,6]]},"719":{"position":[[20,6]]},"749":{"position":[[26,8]]},"764":{"position":[[43,7]]},"904":{"position":[[99,6]]},"981":{"position":[[100,6]]},"1024":{"position":[[262,8]]},"1474":{"position":[[2853,8]]},"1476":{"position":[[8921,6]]},"1585":{"position":[[101,6]]},"1797":{"position":[[30,7]]},"1883":{"position":[[153,6]]},"1890":{"position":[[157,6],[291,6],[567,6],[714,6]]},"1904":{"position":[[389,7]]},"1907":{"position":[[545,7]]},"1909":{"position":[[500,7]]},"1983":{"position":[[1586,7],[2704,8],[2756,7],[2958,8],[3123,7]]},"1992":{"position":[[13,7],[383,7]]},"2019":{"position":[[60,7],[87,6]]},"2083":{"position":[[91,8],[143,7],[345,8]]},"2091":{"position":[[644,7]]},"2093":{"position":[[151,7],[407,7]]},"2109":{"position":[[0,8],[46,7]]},"2118":{"position":[[0,8],[46,7]]},"2128":{"position":[[0,8],[36,7]]},"2130":{"position":[[1186,6]]},"2145":{"position":[[14,7],[106,7]]},"2177":{"position":[[82,8],[172,7]]},"2178":{"position":[[49,8],[91,7]]},"2183":{"position":[[65,7],[387,6],[539,7],[599,7],[932,6]]},"2185":{"position":[[53,7]]},"2188":{"position":[[0,8],[46,7]]},"2198":{"position":[[97,7]]},"2199":{"position":[[22,7],[191,7],[374,7],[576,7]]},"2240":{"position":[[40,6]]},"2253":{"position":[[861,7]]},"2265":{"position":[[1929,7]]},"2320":{"position":[[494,7]]},"2399":{"position":[[37,7]]},"2478":{"position":[[920,8],[4100,8]]},"2482":{"position":[[2468,8],[3956,8]]}},"keywords":{}}],["create(idatahandl",{"_index":9136,"title":{},"content":{"2458":{"position":[[0,20],[128,19]]}},"keywords":{}}],["createassetmenu(filenam",{"_index":2624,"title":{},"content":{"317":{"position":[[1020,25]]}},"keywords":{}}],["createclientsocket",{"_index":8585,"title":{},"content":{"2199":{"position":[[352,21],[449,20]]},"2233":{"position":[[0,21],[59,20]]}},"keywords":{}}],["createcopi",{"_index":8453,"title":{},"content":{"2145":{"position":[[0,13],[140,12]]},"2213":{"position":[[0,13],[44,12]]}},"keywords":{}}],["createfail(str",{"_index":7180,"title":{},"content":{"1775":{"position":[[947,19],[1015,17],[1166,18],[1257,17]]}},"keywords":{}}],["createhandl",{"_index":7586,"title":{},"content":{"1935":{"position":[[1305,14],[1429,13]]}},"keywords":{}}],["createnew",{"_index":2163,"title":{},"content":{"251":{"position":[[1159,12],[1212,11],[2050,12],[2102,9]]},"2183":{"position":[[173,10],[330,9],[665,10],[831,9]]}},"keywords":{}}],["createnew(int",{"_index":8087,"title":{},"content":{"2033":{"position":[[98,13]]},"2122":{"position":[[80,13]]}},"keywords":{}}],["createnew(int32",{"_index":8085,"title":{},"content":{"2033":{"position":[[0,16]]},"2122":{"position":[[0,16]]}},"keywords":{}}],["createnew(pool<acksystem.reliablepacket>",{"_index":8360,"title":{},"content":{"2103":{"position":[[653,48],[754,46]]}},"keywords":{}}],["createnew(pool<poolednetworkreader>",{"_index":8036,"title":{},"content":{"2027":{"position":[[0,43],[91,41]]}},"keywords":{}}],["createnewbatch",{"_index":8374,"title":{},"content":{"2110":{"position":[[214,17],[269,16]]},"2119":{"position":[[214,17],[269,16]]},"2189":{"position":[[214,17],[269,16]]}},"keywords":{}}],["createnewitem(int",{"_index":8540,"title":{},"content":{"2174":{"position":[[63,17]]}},"keywords":{}}],["createnewitemnocount(pool<t>",{"_index":8542,"title":{},"content":{"2175":{"position":[[70,34]]}},"keywords":{}}],["createorrefreshsession(inetworkplay",{"_index":7244,"title":{},"content":{"1820":{"position":[[356,39],[441,37]]}},"keywords":{}}],["createreliablebuff",{"_index":8561,"title":{},"content":{"2187":{"position":[[214,21],[450,20]]}},"keywords":{}}],["createserversocket",{"_index":8583,"title":{},"content":{"2199":{"position":[[0,21],[97,20]]},"2233":{"position":[[134,21],[193,20]]}},"keywords":{}}],["createsess",{"_index":1027,"title":{"114":{"position":[[0,13]]},"1815":{"position":[[6,13]]}},"content":{"99":{"position":[[681,13],[805,13]]},"114":{"position":[[0,13]]},"1797":{"position":[[15,14]]}},"keywords":{}}],["createsuccess(inetworkauthent",{"_index":7176,"title":{},"content":{"1775":{"position":[[225,36],[319,35]]}},"keywords":{}}],["createsuccess(str",{"_index":7173,"title":{},"content":{"1775":{"position":[[0,22],[71,20],[564,21],[666,20]]}},"keywords":{}}],["createvisualeffect",{"_index":1065,"title":{},"content":{"116":{"position":[[116,18]]}},"keywords":{}}],["creation",{"_index":1425,"title":{"181":{"position":[[11,9]]},"247":{"position":[[12,8]]}},"content":{"181":{"position":[[18,8]]},"213":{"position":[[1380,8]]},"243":{"position":[[2424,9]]}},"keywords":{}}],["creation/connection/join",{"_index":73,"title":{},"content":{"0":{"position":[[1221,28]]}},"keywords":{}}],["credit",{"_index":1426,"title":{},"content":{"181":{"position":[[87,6]]},"189":{"position":[[452,7]]}},"keywords":{}}],["cref",{"_index":4551,"title":{},"content":{"1058":{"position":[[97,4]]}},"keywords":{}}],["critic",{"_index":2890,"title":{},"content":{"358":{"position":[[191,8]]},"2518":{"position":[[127,8]]}},"keywords":{}}],["crowd",{"_index":2168,"title":{},"content":{"251":{"position":[[1393,5]]}},"keywords":{}}],["cs0104",{"_index":3573,"title":{},"content":{"634":{"position":[[27,6],[125,6]]}},"keywords":{}}],["cthe",{"_index":2874,"title":{},"content":{"356":{"position":[[511,4]]}},"keywords":{}}],["ctrl",{"_index":1645,"title":{},"content":{"197":{"position":[[310,4],[376,4]]},"198":{"position":[[527,4]]}},"keywords":{}}],["cube",{"_index":1802,"title":{},"content":{"211":{"position":[[1593,4],[1795,4],[1845,5]]}},"keywords":{}}],["cubica",{"_index":750,"title":{},"content":{"59":{"position":[[9,6]]}},"keywords":{}}],["current",{"_index":396,"title":{},"content":{"19":{"position":[[23,9]]},"29":{"position":[[400,9]]},"42":{"position":[[658,7],[868,7]]},"68":{"position":[[0,10]]},"71":{"position":[[302,9]]},"173":{"position":[[165,7]]},"187":{"position":[[395,7]]},"213":{"position":[[1942,7]]},"240":{"position":[[2392,7]]},"241":{"position":[[59,7],[2575,7]]},"254":{"position":[[1108,7]]},"307":{"position":[[57,7]]},"847":{"position":[[286,7]]},"1474":{"position":[[22662,9],[22702,9]]},"1783":{"position":[[613,7]]},"1847":{"position":[[0,8],[31,7]]},"2018":{"position":[[12,7]]},"2019":{"position":[[132,7]]},"2022":{"position":[[107,7],[212,7]]},"2030":{"position":[[94,7],[235,7]]},"2193":{"position":[[371,7],[656,7],[951,7]]},"2240":{"position":[[3261,7],[4337,9]]},"2252":{"position":[[695,7]]},"2265":{"position":[[1496,7],[2474,7],[4064,7]]},"2350":{"position":[[1199,7]]},"2401":{"position":[[2988,9]]},"2415":{"position":[[553,9]]},"2416":{"position":[[33,7]]},"2417":{"position":[[601,9],[862,9],[2621,9],[2879,7],[4785,7],[5315,7],[5953,7],[6875,7],[9197,7]]},"2437":{"position":[[107,7],[464,7]]},"2478":{"position":[[4044,7]]},"2482":{"position":[[3900,7]]},"2503":{"position":[[53,7]]},"2531":{"position":[[0,8],[52,7]]}},"keywords":{}}],["currentcount",{"_index":2155,"title":{},"content":{"251":{"position":[[531,13],[1229,13],[1560,15]]}},"keywords":{}}],["currentmatchdebug",{"_index":9002,"title":{},"content":{"2381":{"position":[[0,18],[46,17]]}},"keywords":{}}],["custom",{"_index":222,"title":{"10":{"position":[[0,6]]},"116":{"position":[[0,6]]},"117":{"position":[[0,6]]},"236":{"position":[[0,6]]},"237":{"position":[[35,6]]},"251":{"position":[[35,6]]},"252":{"position":[[0,6]]},"264":{"position":[[0,11]]},"315":{"position":[[0,6]]},"328":{"position":[[7,6]]},"337":{"position":[[0,6]]}},"content":{"10":{"position":[[783,6],[1390,6]]},"96":{"position":[[360,6],[422,6]]},"116":{"position":[[12,6]]},"117":{"position":[[0,6],[33,6],[464,6],[2696,6]]},"186":{"position":[[17,6],[101,6]]},"216":{"position":[[62,6]]},"226":{"position":[[388,9]]},"234":{"position":[[195,9]]},"237":{"position":[[12,6]]},"245":{"position":[[3369,6]]},"251":{"position":[[84,6]]},"263":{"position":[[589,9]]},"264":{"position":[[954,6],[2051,6]]},"292":{"position":[[113,9]]},"309":{"position":[[64,9]]},"316":{"position":[[1079,6]]},"317":{"position":[[974,6]]},"320":{"position":[[157,6]]},"324":{"position":[[270,6],[405,6]]},"325":{"position":[[127,6],[301,6]]},"327":{"position":[[834,6]]},"328":{"position":[[0,6],[627,6],[1412,6]]},"337":{"position":[[20,6],[1515,6]]},"451":{"position":[[26,6]]},"539":{"position":[[170,6]]},"555":{"position":[[75,6]]},"587":{"position":[[13,6]]},"904":{"position":[[108,6]]},"958":{"position":[[67,6]]},"981":{"position":[[107,6]]},"1465":{"position":[[16,8]]},"1467":{"position":[[62,6],[78,6]]},"1474":{"position":[[22208,6]]},"1476":{"position":[[7957,6],[8843,6]]},"1478":{"position":[[552,6]]},"1738":{"position":[[24,6]]},"1835":{"position":[[1434,6]]},"1983":{"position":[[2715,6]]},"2083":{"position":[[102,6]]},"2265":{"position":[[633,6],[3192,6],[3610,6],[4522,6],[4613,6],[4771,6],[4849,6],[5366,6],[5457,6]]},"2332":{"position":[[37,6],[330,6]]},"2359":{"position":[[2551,6],[3072,6]]},"2478":{"position":[[4496,6]]},"2482":{"position":[[4290,6]]}},"keywords":{}}],["customauth",{"_index":1126,"title":{},"content":{"117":{"position":[[2792,10]]}},"keywords":{}}],["customauthent",{"_index":1081,"title":{},"content":{"117":{"position":[[717,19],[974,19]]}},"keywords":{}}],["customauthenticationdata",{"_index":1097,"title":{},"content":{"117":{"position":[[1547,24],[2604,24]]}},"keywords":{}}],["customauthmessag",{"_index":1083,"title":{},"content":{"117":{"position":[[851,17],[1146,17]]}},"keywords":{}}],["customcharacterspawn",{"_index":2220,"title":{},"content":{"254":{"position":[[896,22]]}},"keywords":{}}],["customhandl",{"_index":5855,"title":{},"content":{"1474":{"position":[[16698,14]]},"1543":{"position":[[7,14]]}},"keywords":{}}],["customreadwritefunct",{"_index":2695,"title":{},"content":{"328":{"position":[[1006,24],[1604,24],[2398,24]]}},"keywords":{}}],["cycl",{"_index":793,"title":{},"content":{"62":{"position":[[272,5]]}},"keywords":{}}],["cylind",{"_index":1966,"title":{},"content":{"240":{"position":[[596,10],[1915,8]]}},"keywords":{}}],["cylinderprefab",{"_index":1987,"title":{},"content":{"240":{"position":[[2115,15]]},"241":{"position":[[2376,15]]}},"keywords":{}}],["d",{"_index":1627,"title":{},"content":{"196":{"position":[[258,1],[363,1],[718,1]]},"197":{"position":[[319,1]]}},"keywords":{}}],["d00c95b)islocalplay",{"_index":5732,"title":{},"content":{"1474":{"position":[[11747,22]]}},"keywords":{}}],["d034ef6",{"_index":6979,"title":{},"content":{"1652":{"position":[[73,9]]}},"keywords":{}}],["d034ef6)ad",{"_index":6100,"title":{},"content":{"1476":{"position":[[1060,14]]}},"keywords":{}}],["d071438)custom",{"_index":6421,"title":{},"content":{"1477":{"position":[[598,15]]}},"keywords":{}}],["d0b0bc9",{"_index":7103,"title":{},"content":{"1738":{"position":[[45,9]]}},"keywords":{}}],["d0b0bc9)weaver",{"_index":6025,"title":{},"content":{"1474":{"position":[[22229,15]]}},"keywords":{}}],["d0cc669)remov",{"_index":5854,"title":{},"content":{"1474":{"position":[[16682,15]]}},"keywords":{}}],["d0d0b2a",{"_index":4947,"title":{},"content":{"1239":{"position":[[61,9]]}},"keywords":{}}],["d0d5581",{"_index":5003,"title":{},"content":{"1267":{"position":[[70,9]]}},"keywords":{}}],["d0d77b6)telepathi",{"_index":5998,"title":{},"content":{"1474":{"position":[[21288,18]]},"1745":{"position":[[256,18]]}},"keywords":{}}],["d1695dd",{"_index":6877,"title":{},"content":{"1582":{"position":[[180,9]]}},"keywords":{}}],["d1695dd)new",{"_index":6289,"title":{},"content":{"1476":{"position":[[6076,12]]}},"keywords":{}}],["d17576a",{"_index":3179,"title":{},"content":{"482":{"position":[[32,9]]}},"keywords":{}}],["d18ef5a",{"_index":3419,"title":{},"content":{"566":{"position":[[54,9]]}},"keywords":{}}],["d2381ce)remov",{"_index":6470,"title":{},"content":{"1477":{"position":[[2009,15]]}},"keywords":{}}],["d239718)cosmet",{"_index":6175,"title":{},"content":{"1476":{"position":[[3050,17]]}},"keywords":{}}],["d239718)transport",{"_index":6984,"title":{},"content":{"1656":{"position":[[42,19]]}},"keywords":{}}],["d2800be",{"_index":4313,"title":{},"content":{"963":{"position":[[26,9]]}},"keywords":{}}],["d2a58a4",{"_index":6915,"title":{},"content":{"1607":{"position":[[71,9]]}},"keywords":{}}],["d2a58a4)disconnect",{"_index":5630,"title":{},"content":{"1474":{"position":[[8832,19]]}},"keywords":{}}],["d2b07ea",{"_index":4636,"title":{},"content":{"1100":{"position":[[55,9]]}},"keywords":{}}],["d2e8834",{"_index":3764,"title":{},"content":{"719":{"position":[[62,9]]}},"keywords":{}}],["d2ee8ac",{"_index":3760,"title":{},"content":{"718":{"position":[[53,9]]}},"keywords":{}}],["d3dccd7)#718",{"_index":5389,"title":{},"content":{"1474":{"position":[[1275,13]]}},"keywords":{}}],["d3dccd7)ad",{"_index":6814,"title":{},"content":{"1566":{"position":[[102,14]]}},"keywords":{}}],["d451782",{"_index":4929,"title":{},"content":{"1233":{"position":[[56,9]]}},"keywords":{}}],["d46469a)mak",{"_index":5300,"title":{},"content":{"1466":{"position":[[791,15]]}},"keywords":{}}],["d48a375)syncvar",{"_index":6398,"title":{},"content":{"1476":{"position":[[9172,17]]}},"keywords":{}}],["d4d524d)networktransform",{"_index":5792,"title":{},"content":{"1474":{"position":[[14562,25]]}},"keywords":{}}],["d4d524d)properli",{"_index":7088,"title":{},"content":{"1733":{"position":[[535,17]]}},"keywords":{}}],["d50e754",{"_index":3413,"title":{},"content":{"563":{"position":[[30,9]]}},"keywords":{}}],["d54537a",{"_index":3804,"title":{},"content":{"737":{"position":[[94,9]]}},"keywords":{}}],["d58725f",{"_index":4698,"title":{},"content":{"1127":{"position":[[53,10]]}},"keywords":{}}],["d5b0a6f",{"_index":6948,"title":{},"content":{"1630":{"position":[[45,9]]}},"keywords":{}}],["d5b0a6f)ship",{"_index":6332,"title":{},"content":{"1476":{"position":[[7133,13]]}},"keywords":{}}],["d5b3292",{"_index":3643,"title":{},"content":{"669":{"position":[[65,9]]}},"keywords":{}}],["d5f0647",{"_index":3280,"title":{},"content":{"522":{"position":[[77,9]]}},"keywords":{}}],["d6389e6)rebuild",{"_index":5428,"title":{},"content":{"1474":{"position":[[2653,16]]}},"keywords":{}}],["d67c96c)ad",{"_index":4397,"title":{},"content":{"999":{"position":[[68,15]]}},"keywords":{}}],["d691ca4",{"_index":4996,"title":{},"content":{"1263":{"position":[[63,9]]}},"keywords":{}}],["d6a1154)potenti",{"_index":5824,"title":{},"content":{"1474":{"position":[[15701,18]]}},"keywords":{}}],["d6a1154)remov",{"_index":7113,"title":{},"content":{"1745":{"position":[[86,15]]}},"keywords":{}}],["d6bea93",{"_index":4474,"title":{},"content":{"1032":{"position":[[38,9]]}},"keywords":{}}],["d6cdc86)updat",{"_index":3968,"title":{},"content":{"820":{"position":[[151,16]]}},"keywords":{}}],["d6ced44",{"_index":3119,"title":{},"content":{"451":{"position":[[115,9]]}},"keywords":{}}],["d6de4cb",{"_index":2985,"title":{},"content":{"393":{"position":[[17,9]]}},"keywords":{}}],["d710f45)ad",{"_index":3186,"title":{},"content":{"486":{"position":[[63,15]]}},"keywords":{}}],["d712cd0)ninjaw",{"_index":5794,"title":{},"content":{"1474":{"position":[[14733,16]]}},"keywords":{}}],["d727e4f",{"_index":6950,"title":{},"content":{"1633":{"position":[[53,9]]}},"keywords":{}}],["d727e4f)revert",{"_index":6575,"title":{},"content":{"1478":{"position":[[53,15]]}},"keywords":{}}],["d741bae)pip",{"_index":6303,"title":{},"content":{"1476":{"position":[[6441,14]]}},"keywords":{}}],["d772e53)remov",{"_index":4507,"title":{},"content":{"1045":{"position":[[97,17]]}},"keywords":{}}],["d7a58d2",{"_index":5625,"title":{},"content":{"1474":{"position":[[8726,10]]}},"keywords":{}}],["d81f444",{"_index":6780,"title":{},"content":{"1551":{"position":[[24,9]]}},"keywords":{}}],["d81f444)add",{"_index":6069,"title":{},"content":{"1476":{"position":[[351,12]]}},"keywords":{}}],["d82cd76)ad",{"_index":3351,"title":{},"content":{"545":{"position":[[207,15]]}},"keywords":{}}],["d82efea",{"_index":4608,"title":{},"content":{"1086":{"position":[[27,9]]}},"keywords":{}}],["d8334e8",{"_index":3736,"title":{},"content":{"708":{"position":[[74,9]]}},"keywords":{}}],["d846f13",{"_index":3113,"title":{},"content":{"447":{"position":[[40,9]]}},"keywords":{}}],["d84b3bb",{"_index":4794,"title":{},"content":{"1166":{"position":[[39,9]]}},"keywords":{}}],["d89ac9f",{"_index":6773,"title":{},"content":{"1547":{"position":[[209,9]]}},"keywords":{}}],["d89ac9f)telepathi",{"_index":6366,"title":{},"content":{"1476":{"position":[[8108,18]]}},"keywords":{}}],["d8a98d8",{"_index":5602,"title":{},"content":{"1474":{"position":[[8228,10]]}},"keywords":{}}],["d8aaf76)custom",{"_index":6180,"title":{},"content":{"1476":{"position":[[3168,15]]}},"keywords":{}}],["d8aaf76)experiment",{"_index":6838,"title":{},"content":{"1567":{"position":[[862,21]]}},"keywords":{}}],["d8ce80f)don't",{"_index":5640,"title":{},"content":{"1474":{"position":[[9106,14]]}},"keywords":{}}],["d8d28f9)did",{"_index":4046,"title":{},"content":{"847":{"position":[[100,12]]}},"keywords":{}}],["d8e7830",{"_index":3693,"title":{},"content":{"689":{"position":[[69,9]]}},"keywords":{}}],["d8facb7",{"_index":4536,"title":{},"content":{"1051":{"position":[[52,9]]}},"keywords":{}}],["d91b387)#573",{"_index":5460,"title":{},"content":{"1474":{"position":[[3750,13]]}},"keywords":{}}],["d96ed04)ad",{"_index":3328,"title":{},"content":{"538":{"position":[[379,15]]}},"keywords":{}}],["d9b7bb7)onclientreadi",{"_index":5810,"title":{},"content":{"1474":{"position":[[15216,22]]}},"keywords":{}}],["d9b7bb7)prevent",{"_index":6826,"title":{},"content":{"1566":{"position":[[1380,16]]}},"keywords":{}}],["d9ed96",{"_index":4687,"title":{},"content":{"1121":{"position":[[62,9]]}},"keywords":{}}],["da2355b",{"_index":6748,"title":{},"content":{"1530":{"position":[[47,9]]}},"keywords":{}}],["da2355b)headlessautostart",{"_index":6208,"title":{},"content":{"1476":{"position":[[3880,26]]}},"keywords":{}}],["da381bd",{"_index":4827,"title":{},"content":{"1183":{"position":[[50,9]]}},"keywords":{}}],["da74e11",{"_index":4614,"title":{},"content":{"1090":{"position":[[47,9]]}},"keywords":{}}],["daec3a1)add",{"_index":3105,"title":{},"content":{"444":{"position":[[192,12]]}},"keywords":{}}],["daf07b",{"_index":7024,"title":{},"content":{"1687":{"position":[[42,9]]}},"keywords":{}}],["daf07be)compil",{"_index":5615,"title":{},"content":{"1474":{"position":[[8532,20]]}},"keywords":{}}],["damag",{"_index":2425,"title":{},"content":{"288":{"position":[[1895,7],[1951,7],[2072,8],[2169,7],[2275,6]]}},"keywords":{}}],["damage(amount",{"_index":2420,"title":{},"content":{"288":{"position":[[1104,15]]}},"keywords":{}}],["damage(int",{"_index":2421,"title":{},"content":{"288":{"position":[[1147,10]]}},"keywords":{}}],["damage:"",{"_index":2423,"title":{},"content":{"288":{"position":[[1189,13]]}},"keywords":{}}],["damage}"",{"_index":2435,"title":{},"content":{"288":{"position":[[2284,16]]}},"keywords":{}}],["danger",{"_index":2639,"title":{},"content":{"319":{"position":[[241,6]]}},"keywords":{}}],["dapper",{"_index":2495,"title":{},"content":{"297":{"position":[[158,6]]}},"keywords":{}}],["dashboard",{"_index":1436,"title":{},"content":{"182":{"position":[[313,9],[3297,9]]}},"keywords":{}}],["data",{"_index":247,"title":{"313":{"position":[[0,4]]},"315":{"position":[[7,4]]}},"content":{"10":{"position":[[721,4]]},"22":{"position":[[692,4]]},"61":{"position":[[365,5]]},"64":{"position":[[279,5]]},"72":{"position":[[36,4],[121,4]]},"85":{"position":[[54,4]]},"117":{"position":[[355,4],[471,4],[1472,5],[1536,4],[1677,6],[2575,4],[2703,4],[2772,4],[2812,4],[2895,4]]},"170":{"position":[[254,4]]},"172":{"position":[[177,4],[267,4]]},"186":{"position":[[24,4],[108,4],[328,5],[436,4]]},"215":{"position":[[24,4]]},"224":{"position":[[698,4]]},"226":{"position":[[622,4],[651,4]]},"247":{"position":[[804,4]]},"257":{"position":[[480,4]]},"279":{"position":[[182,4]]},"304":{"position":[[87,4],[130,4],[283,4],[325,4]]},"314":{"position":[[238,4],[364,5],[689,4]]},"315":{"position":[[120,5],[274,4]]},"316":{"position":[[47,4]]},"317":{"position":[[344,5],[648,4],[793,5],[911,4],[1378,5],[1541,4]]},"328":{"position":[[148,4],[236,4]]},"333":{"position":[[272,4],[413,4],[735,4]]},"337":{"position":[[1182,4]]},"340":{"position":[[719,5]]},"344":{"position":[[713,5]]},"345":{"position":[[794,5]]},"346":{"position":[[63,4],[736,4],[1739,4]]},"348":{"position":[[1049,5]]},"352":{"position":[[689,5]]},"353":{"position":[[728,5]]},"356":{"position":[[33,4],[128,4],[1405,4],[1540,4]]},"358":{"position":[[200,5],[272,4]]},"359":{"position":[[35,4],[109,4],[376,4],[502,4]]},"360":{"position":[[145,4]]},"367":{"position":[[33,4],[88,5],[123,4]]},"813":{"position":[[77,4]]},"1450":{"position":[[92,4]]},"1456":{"position":[[73,4]]},"1460":{"position":[[9,4]]},"1467":{"position":[[69,4]]},"1774":{"position":[[166,5],[177,4],[253,4]]},"1775":{"position":[[377,5],[489,4],[739,5],[872,4]]},"1801":{"position":[[138,5],[250,4]]},"1802":{"position":[[174,5],[195,4],[281,4]]},"1803":{"position":[[129,4]]},"1835":{"position":[[56,4]]},"1998":{"position":[[279,4]]},"2010":{"position":[[989,5],[1073,4]]},"2031":{"position":[[2313,4],[2715,4],[3989,4]]},"2091":{"position":[[343,4]]},"2093":{"position":[[50,4],[965,4]]},"2136":{"position":[[280,4]]},"2145":{"position":[[61,4]]},"2158":{"position":[[36,4],[289,4],[1344,4]]},"2162":{"position":[[51,4],[120,4],[186,4],[303,4]]},"2227":{"position":[[439,4]]},"2240":{"position":[[2177,4],[2317,4],[2487,4],[5603,4]]},"2265":{"position":[[5111,5]]},"2325":{"position":[[357,4]]},"2344":{"position":[[125,4]]},"2359":{"position":[[2572,5],[2627,4],[2975,4],[3093,5],[3148,4]]},"2401":{"position":[[907,4],[936,4]]},"2417":{"position":[[2240,4],[2690,4],[10970,5]]},"2492":{"position":[[644,4]]},"2518":{"position":[[136,5],[229,4],[274,4]]},"2522":{"position":[[491,4]]}},"keywords":{}}],["data"",{"_index":2629,"title":{},"content":{"317":{"position":[[1094,12]]}},"keywords":{}}],["data.onstartserv",{"_index":2114,"title":{},"content":{"247":{"position":[[612,18]]}},"keywords":{}}],["data.usernam",{"_index":1128,"title":{},"content":{"117":{"position":[[2941,14]]}},"keywords":{}}],["databas",{"_index":2468,"title":{},"content":{"294":{"position":[[536,9]]},"348":{"position":[[824,9]]}},"keywords":{}}],["datahandl",{"_index":8536,"title":{},"content":{"2171":{"position":[[135,12],[344,11]]}},"keywords":{}}],["date",{"_index":142,"title":{},"content":{"3":{"position":[[479,4]]},"67":{"position":[[764,4]]},"201":{"position":[[764,4]]},"208":{"position":[[86,4]]},"253":{"position":[[7,5],[28,4]]}},"keywords":{}}],["datetim",{"_index":2583,"title":{},"content":{"315":{"position":[[339,8],[492,9],[641,8],[650,9],[713,8],[830,8]]},"1805":{"position":[[29,8]]},"1809":{"position":[[29,8]]}},"keywords":{}}],["datetime(reader.readint64",{"_index":2591,"title":{},"content":{"315":{"position":[[775,29]]}},"keywords":{}}],["datetimemillisecond",{"_index":7616,"title":{},"content":{"1949":{"position":[[70,21],[105,20]]}},"keywords":{}}],["datetimereaderwrit",{"_index":2587,"title":{},"content":{"315":{"position":[[558,20]]}},"keywords":{}}],["datetimesecond",{"_index":7617,"title":{},"content":{"1949":{"position":[[131,16],[161,15]]}},"keywords":{}}],["day",{"_index":1357,"title":{},"content":{"173":{"position":[[476,4],[520,5],[556,5],[593,5]]}},"keywords":{}}],["db8310f)telepathi",{"_index":5451,"title":{},"content":{"1474":{"position":[[3403,18]]}},"keywords":{}}],["db99dd7)wrong",{"_index":6036,"title":{},"content":{"1474":{"position":[[22719,14]]}},"keywords":{}}],["dbd9d84",{"_index":6762,"title":{},"content":{"1543":{"position":[[51,9]]}},"keywords":{}}],["dbd9d84)remov",{"_index":5857,"title":{},"content":{"1474":{"position":[[16742,15]]}},"keywords":{}}],["dbe0643)exampl",{"_index":5678,"title":{},"content":{"1474":{"position":[[10192,17]]}},"keywords":{}}],["dbf5784)static",{"_index":4647,"title":{},"content":{"1106":{"position":[[43,15]]}},"keywords":{}}],["dc00532)renam",{"_index":4066,"title":{},"content":{"851":{"position":[[24,17]]}},"keywords":{}}],["dc07c38",{"_index":2926,"title":{},"content":{"369":{"position":[[101,9]]}},"keywords":{}}],["dc3b767",{"_index":6621,"title":{},"content":{"1478":{"position":[[1345,10]]}},"keywords":{}}],["dc4d6e6",{"_index":2941,"title":{},"content":{"375":{"position":[[20,9]]}},"keywords":{}}],["dc56f27",{"_index":3151,"title":{},"content":{"469":{"position":[[44,9]]}},"keywords":{}}],["dc66a54)tri",{"_index":2960,"title":{},"content":{"385":{"position":[[59,15]]}},"keywords":{}}],["dc6cc4f",{"_index":5120,"title":{},"content":{"1322":{"position":[[38,9]]}},"keywords":{}}],["dc700ec",{"_index":6985,"title":{},"content":{"1656":{"position":[[89,9]]}},"keywords":{}}],["dc700ec)transport",{"_index":6375,"title":{},"content":{"1476":{"position":[[8447,19]]}},"keywords":{}}],["dc74256)compil",{"_index":5613,"title":{},"content":{"1474":{"position":[[8434,20]]}},"keywords":{}}],["dc74256)fix",{"_index":7125,"title":{},"content":{"1751":{"position":[[45,12]]}},"keywords":{}}],["dca2d40",{"_index":7034,"title":{},"content":{"1694":{"position":[[55,9]]}},"keywords":{}}],["dca2d40)onstopserv",{"_index":6299,"title":{},"content":{"1476":{"position":[[6332,21]]}},"keywords":{}}],["dca6b54",{"_index":3999,"title":{},"content":{"833":{"position":[[75,9]]}},"keywords":{}}],["dcc4fa9",{"_index":3288,"title":{},"content":{"526":{"position":[[50,9]]}},"keywords":{}}],["dccdbf3",{"_index":3065,"title":{},"content":{"433":{"position":[[32,9]]}},"keywords":{}}],["dd52be3",{"_index":6750,"title":{},"content":{"1533":{"position":[[61,9]]}},"keywords":{}}],["dd52be3)spawn",{"_index":5940,"title":{},"content":{"1474":{"position":[[19274,14]]}},"keywords":{}}],["dd758ca)don't",{"_index":5403,"title":{},"content":{"1474":{"position":[[1657,14]]}},"keywords":{}}],["dda61e1",{"_index":3560,"title":{},"content":{"626":{"position":[[49,9]]}},"keywords":{}}],["ddc6139)fix",{"_index":5295,"title":{},"content":{"1466":{"position":[[682,15]]}},"keywords":{}}],["de",{"_index":2555,"title":{},"content":{"312":{"position":[[21,2]]}},"keywords":{}}],["de12166",{"_index":4102,"title":{},"content":{"866":{"position":[[68,9]]}},"keywords":{}}],["de6c97c",{"_index":3608,"title":{},"content":{"649":{"position":[[39,9]]}},"keywords":{}}],["dead",{"_index":5454,"title":{},"content":{"1474":{"position":[[3594,4]]},"1476":{"position":[[3290,4]]},"1578":{"position":[[150,4]]}},"keywords":{}}],["deadlock",{"_index":5387,"title":{},"content":{"1474":{"position":[[1257,9]]},"1566":{"position":[[84,9]]}},"keywords":{}}],["deal",{"_index":1975,"title":{},"content":{"240":{"position":[[1413,4]]}},"keywords":{}}],["dealt",{"_index":1979,"title":{},"content":{"240":{"position":[[1555,5]]}},"keywords":{}}],["debian",{"_index":1595,"title":{},"content":{"190":{"position":[[976,6]]}},"keywords":{}}],["debug",{"_index":160,"title":{"329":{"position":[[0,10]]}},"content":{"4":{"position":[[270,10]]},"329":{"position":[[130,5]]},"423":{"position":[[9,5]]},"456":{"position":[[145,5]]},"472":{"position":[[32,5]]},"609":{"position":[[56,5]]},"881":{"position":[[181,5]]},"1467":{"position":[[154,5]]},"1474":{"position":[[8307,9],[16128,5]]},"1701":{"position":[[16,9]]},"2010":{"position":[[72,9]]}},"keywords":{}}],["debug.log($"health",{"_index":2439,"title":{},"content":{"288":{"position":[[2486,23]]}},"keywords":{}}],["debug.log($"mag",{"_index":2434,"title":{},"content":{"288":{"position":[[2252,22]]}},"keywords":{}}],["debug.log($"select",{"_index":2417,"title":{},"content":{"288":{"position":[[887,25]]}},"keywords":{}}],["debug.log($"th",{"_index":1877,"title":{},"content":{"225":{"position":[[890,20],[1022,20],[1269,20],[1401,20]]}},"keywords":{}}],["debug.log($"turnip",{"_index":2476,"title":{},"content":{"294":{"position":[[935,24]]}},"keywords":{}}],["debug.log("cli",{"_index":2080,"title":{},"content":{"245":{"position":[[2227,22]]},"249":{"position":[[1631,22]]}},"keywords":{}}],["debug.log("connect",{"_index":2071,"title":{},"content":{"245":{"position":[[1142,25]]}},"keywords":{}}],["debug.log("new",{"_index":2088,"title":{},"content":{"245":{"position":[[2561,19]]}},"keywords":{}}],["debug.log("scoremessag",{"_index":2387,"title":{},"content":{"280":{"position":[[646,28]]}},"keywords":{}}],["debug.log("spawn",{"_index":2101,"title":{},"content":{"245":{"position":[[4278,24]]},"249":{"position":[[950,24]]}},"keywords":{}}],["debug.log("th",{"_index":1860,"title":{},"content":{"224":{"position":[[398,19]]}},"keywords":{}}],["debug.log("took",{"_index":2422,"title":{},"content":{"288":{"position":[[1168,20]]}},"keywords":{}}],["debug.log("tre",{"_index":2095,"title":{},"content":{"245":{"position":[[3821,20]]}},"keywords":{}}],["debug.logerror($"pool",{"_index":2165,"title":{},"content":{"251":{"position":[[1259,26]]}},"keywords":{}}],["debug/error",{"_index":7644,"title":{},"content":{"1962":{"position":[[40,11]]}},"keywords":{}}],["debugg",{"_index":8761,"title":{},"content":{"2265":{"position":[[781,9]]}},"keywords":{}}],["debuggi",{"_index":8677,"title":{},"content":{"2240":{"position":[[5812,10]]},"2451":{"position":[[147,10]]}},"keywords":{}}],["decid",{"_index":1351,"title":{},"content":{"172":{"position":[[493,6]]}},"keywords":{}}],["decim",{"_index":8155,"title":{},"content":{"2056":{"position":[[1878,9],[1969,7],[4493,7]]}},"keywords":{}}],["decis",{"_index":1700,"title":{},"content":{"204":{"position":[[118,9],[296,9]]}},"keywords":{}}],["declar",{"_index":2665,"title":{},"content":{"325":{"position":[[324,7]]},"1133":{"position":[[9,11]]},"1771":{"position":[[16,12],[83,12],[151,12]]},"1772":{"position":[[22,12],[174,12]]},"1774":{"position":[[9,12],[100,12],[226,12],[310,12]]},"1775":{"position":[[23,12],[271,12],[618,12],[967,12],[1209,12]]},"1785":{"position":[[19,12]]},"1787":{"position":[[7,12]]},"1789":{"position":[[19,12]]},"1791":{"position":[[9,12]]},"1793":{"position":[[19,12]]},"1795":{"position":[[161,12],[643,12],[956,12]]},"1801":{"position":[[53,12]]},"1802":{"position":[[108,12],[245,12]]},"1803":{"position":[[160,12]]},"1805":{"position":[[9,12],[52,12]]},"1806":{"position":[[27,12]]},"1809":{"position":[[9,12],[69,12]]},"1810":{"position":[[34,12]]},"1812":{"position":[[34,12],[252,12]]},"1814":{"position":[[12,12]]},"1816":{"position":[[8,12],[58,12],[115,12],[193,12]]},"1817":{"position":[[9,12]]},"1819":{"position":[[14,12],[114,12],[212,12],[269,12],[433,12]]},"1820":{"position":[[49,12],[396,12]]},"1825":{"position":[[12,12]]},"1826":{"position":[[62,12],[418,12]]},"1832":{"position":[[12,12]]},"1834":{"position":[[56,12]]},"1835":{"position":[[168,12],[374,12],[464,12],[682,12],[881,12],[1103,12],[1296,12],[1593,12]]},"1837":{"position":[[15,12],[91,12]]},"1838":{"position":[[17,12]]},"1840":{"position":[[18,12],[103,12]]},"1841":{"position":[[8,12],[98,12]]},"1842":{"position":[[17,12]]},"1844":{"position":[[26,12]]},"1846":{"position":[[31,12]]},"1847":{"position":[[9,12],[70,12]]},"1848":{"position":[[12,12],[99,12],[144,12]]},"1850":{"position":[[17,12],[89,12]]},"1851":{"position":[[17,12]]},"1853":{"position":[[12,12],[82,12],[300,12]]},"1854":{"position":[[7,12],[59,12],[114,12],[170,12]]},"1855":{"position":[[40,12],[217,12],[387,12],[430,12],[495,12],[667,12],[841,12],[1017,12],[1168,12],[1279,12],[1439,12],[1486,12],[1631,12],[1773,12],[1925,12],[2117,12],[2294,12],[2514,12],[2668,12],[2863,12],[3003,12],[3133,12],[3439,12],[3655,12],[3777,12],[3954,12],[4129,12]]},"1857":{"position":[[24,12]]},"1858":{"position":[[9,12]]},"1859":{"position":[[7,12],[59,12],[114,12]]},"1860":{"position":[[40,12],[217,12],[387,12],[430,12],[495,12],[667,12],[841,12],[1017,12],[1168,12],[1317,12],[1419,12],[1466,12],[1611,12],[1752,12],[1892,12],[2053,12],[2198,12],[2388,12],[2584,12],[2826,12],[3062,12],[3292,12],[3520,12],[3745,12],[3981,12],[4176,12]]},"1862":{"position":[[50,12]]},"1863":{"position":[[9,12]]},"1864":{"position":[[7,12],[59,12],[114,12],[163,12],[230,12],[339,12],[479,12],[587,12]]},"1865":{"position":[[40,12],[217,12],[387,12],[430,12],[495,12],[667,12],[841,12],[1017,12],[1169,12],[1222,12],[1368,12],[1526,12],[1708,12],[1857,12],[2069,12],[2334,12],[2590,12],[2819,12],[3069,12]]},"1869":{"position":[[8,12],[59,12]]},"1870":{"position":[[25,12],[220,12]]},"1872":{"position":[[13,12],[73,12]]},"1873":{"position":[[7,12],[59,12],[114,12]]},"1874":{"position":[[40,12],[217,12],[387,12],[430,12],[495,12],[667,12],[841,12],[1017,12],[1169,12],[1281,12],[1441,12],[1495,12],[1632,12],[1727,12],[1902,12]]},"1877":{"position":[[9,12]]},"1878":{"position":[[19,12]]},"1880":{"position":[[8,12],[53,12]]},"1881":{"position":[[9,12]]},"1885":{"position":[[8,12],[58,12],[116,12],[193,12]]},"1886":{"position":[[10,12]]},"1888":{"position":[[8,12],[58,12],[116,12]]},"1893":{"position":[[12,12]]},"1894":{"position":[[15,12],[186,12]]},"1896":{"position":[[7,12]]},"1897":{"position":[[31,12],[195,12],[340,12]]},"1899":{"position":[[21,12],[155,12],[278,12]]},"1901":{"position":[[7,12],[47,12]]},"1902":{"position":[[35,12],[211,12],[368,12]]},"1904":{"position":[[26,12],[168,12],[294,12],[436,12]]},"1907":{"position":[[40,12],[224,12],[384,12],[592,12]]},"1909":{"position":[[36,12],[208,12],[356,12],[547,12]]},"1914":{"position":[[21,12],[148,12]]},"1916":{"position":[[31,12],[188,12]]},"1918":{"position":[[26,12],[161,12]]},"1920":{"position":[[35,12],[204,12]]},"1922":{"position":[[36,12],[201,12]]},"1924":{"position":[[40,12],[217,12]]},"1932":{"position":[[35,12],[223,12]]},"1934":{"position":[[9,12]]},"1935":{"position":[[29,12],[234,12],[460,12],[811,12],[1223,12]]},"1937":{"position":[[11,12]]},"1939":{"position":[[27,12],[211,12],[470,12],[694,12],[867,12],[1044,12],[1223,12]]},"1941":{"position":[[41,12],[247,12]]},"1942":{"position":[[6,12],[50,12],[98,12]]},"1943":{"position":[[10,12]]},"1944":{"position":[[41,12]]},"1946":{"position":[[66,12]]},"1947":{"position":[[33,12],[243,12]]},"1949":{"position":[[6,12],[41,12],[92,12],[148,12]]},"1951":{"position":[[57,12]]},"1952":{"position":[[12,12],[86,12],[141,12],[435,12],[487,12],[542,12]]},"1953":{"position":[[35,12],[252,12]]},"1960":{"position":[[75,12]]},"1961":{"position":[[33,8],[45,12],[131,12],[242,12],[329,12],[406,12],[459,12]]},"1962":{"position":[[61,12]]},"1966":{"position":[[64,12],[476,12],[909,12],[1460,12],[1974,12],[2370,12]]},"1968":{"position":[[11,12],[50,12]]},"1970":{"position":[[124,12],[176,12]]},"1971":{"position":[[33,12],[253,12],[742,12],[1198,12],[1411,12],[1657,12]]},"1973":{"position":[[7,12],[54,12],[102,12]]},"1975":{"position":[[9,12],[51,12]]},"1977":{"position":[[7,12],[54,12],[170,12],[212,12]]},"1979":{"position":[[64,12],[481,12],[1002,12]]},"1981":{"position":[[26,12]]},"1985":{"position":[[42,12]]},"1987":{"position":[[21,12]]},"1988":{"position":[[14,12],[181,12],[359,12],[522,12]]},"1990":{"position":[[160,12],[656,12],[1072,12]]},"1992":{"position":[[217,12],[488,12]]},"1994":{"position":[[67,12],[316,12]]},"1996":{"position":[[36,12],[369,12]]},"1998":{"position":[[71,12],[310,12]]},"2000":{"position":[[29,12],[283,12],[453,12],[793,12]]},"2001":{"position":[[84,12],[320,12],[673,12],[854,12],[1067,12],[1260,12]]},"2003":{"position":[[140,12],[479,12],[749,12],[1039,12],[1329,12],[1574,12],[1917,12],[2262,12],[2510,12],[2788,12],[3040,12],[3333,12],[3561,12],[3874,12]]},"2005":{"position":[[4,12]]},"2007":{"position":[[46,12]]},"2009":{"position":[[152,12]]},"2010":{"position":[[129,12],[230,12],[367,12],[539,12],[723,12],[937,12],[1236,12]]},"2012":{"position":[[54,12],[319,12],[575,12],[836,12],[1105,12],[1358,12],[1623,12],[1872,12]]},"2014":{"position":[[4,12],[50,12],[96,12],[142,12],[189,12],[236,12],[283,12],[331,12],[379,12],[428,12],[479,12],[530,12],[581,12],[632,12],[684,12],[736,12],[788,12],[841,12],[894,12],[947,12],[1001,12],[1055,12],[1109,12],[1163,12],[1218,12],[1273,12],[1328,12],[1384,12],[1440,12],[1496,12],[1553,12],[1610,12],[1667,12],[1724,12],[1782,12],[1840,12],[1898,12],[1957,12],[2016,12],[2075,12],[2135,12],[2195,12],[2255,12],[2315,12],[2376,12],[2437,12],[2498,12],[2560,12],[2622,12],[2684,12],[2747,12],[2810,12],[2873,12],[2936,12],[3000,12],[3064,12],[3128,12],[3193,12],[3258,12],[3323,12],[3389,12],[3455,12],[3521,12],[3587,12]]},"2016":{"position":[[25,12],[321,12],[796,12],[1240,12]]},"2018":{"position":[[78,12]]},"2019":{"position":[[140,12],[396,12]]},"2021":{"position":[[17,12]]},"2022":{"position":[[50,12],[152,12],[256,12]]},"2023":{"position":[[12,12],[70,12],[232,12],[301,12],[463,12],[592,12],[794,12],[918,12],[1118,12],[1285,12],[1424,12],[1525,12],[1615,12],[1703,12],[1795,12],[1889,12],[1979,12],[2071,12],[2162,12],[2256,12],[2350,12],[2444,12],[2648,12],[2899,12],[3192,12],[3407,12],[3626,12],[3819,12]]},"2025":{"position":[[40,12],[257,12],[483,12],[701,12],[920,12],[1143,12],[1368,12],[1592,12]]},"2027":{"position":[[44,12],[354,12],[413,12],[472,12]]},"2029":{"position":[[22,12],[172,12]]},"2030":{"position":[[35,12],[177,12],[302,12]]},"2031":{"position":[[12,12],[61,12],[176,12],[272,12],[423,12],[587,12],[712,12],[832,12],[951,12],[1075,12],[1200,12],[1322,12],[1445,12],[1568,12],[1694,12],[1820,12],[1948,12],[2335,12],[2868,12],[3352,12],[3561,12],[3778,12],[4005,12],[4249,12],[4574,12]]},"2033":{"position":[[51,12],[401,12],[460,12]]},"2035":{"position":[[32,12]]},"2037":{"position":[[6,12]]},"2039":{"position":[[311,12]]},"2040":{"position":[[36,12],[259,12],[508,12],[889,12]]},"2042":{"position":[[25,12]]},"2043":{"position":[[65,12],[195,12]]},"2044":{"position":[[23,12],[198,12],[387,12],[569,12],[733,12],[923,12]]},"2046":{"position":[[32,12]]},"2047":{"position":[[29,12],[215,12]]},"2049":{"position":[[31,12]]},"2050":{"position":[[29,12],[214,12]]},"2052":{"position":[[33,12],[234,12]]},"2054":{"position":[[182,12]]},"2056":{"position":[[41,12],[269,12],[489,12],[712,12],[948,12],[1182,12],[1415,12],[1650,12],[1888,12],[2114,12],[2348,12],[2633,12],[2860,12],[3080,12],[3300,12],[3533,12],[3764,12],[3998,12],[4231,12],[4466,12],[4692,12],[4913,12]]},"2058":{"position":[[38,12],[254,12],[470,12],[692,12],[923,12],[1144,12],[1354,12],[1564,12],[1767,12],[1969,12],[2177,12],[2389,12],[2602,12],[2815,12],[3031,12],[3256,12],[3476,12],[3683,12],[3893,12],[4095,12],[4298,12],[4501,12]]},"2060":{"position":[[36,12],[273,12]]},"2062":{"position":[[34,12]]},"2063":{"position":[[30,12],[217,12]]},"2065":{"position":[[30,12],[233,12]]},"2066":{"position":[[28,12],[298,12],[658,12],[858,12],[1058,12],[1255,12],[1459,12],[1663,12]]},"2068":{"position":[[54,12],[324,12],[555,12],[814,12]]},"2070":{"position":[[34,12]]},"2071":{"position":[[30,12],[217,12]]},"2073":{"position":[[45,12],[299,12],[549,12]]},"2074":{"position":[[30,12],[211,12]]},"2076":{"position":[[70,12],[422,12],[699,12],[1035,12]]},"2078":{"position":[[60,12],[399,12],[723,12]]},"2079":{"position":[[30,12],[211,12]]},"2082":{"position":[[38,12]]},"2085":{"position":[[7,12]]},"2087":{"position":[[25,12]]},"2089":{"position":[[15,12],[166,12],[320,12],[472,12]]},"2097":{"position":[[46,12]]},"2098":{"position":[[8,12],[64,12],[117,12]]},"2099":{"position":[[15,12]]},"2100":{"position":[[36,12]]},"2102":{"position":[[14,12],[63,12],[103,12],[149,12],[194,12]]},"2103":{"position":[[16,12],[132,12],[200,12],[403,12],[506,12],[702,12]]},"2105":{"position":[[21,12]]},"2106":{"position":[[85,12]]},"2108":{"position":[[60,12]]},"2109":{"position":[[9,12]]},"2110":{"position":[[12,12],[121,12],[232,12],[303,12]]},"2112":{"position":[[91,12]]},"2113":{"position":[[17,12],[130,12],[255,12],[360,12],[433,12],[580,12],[748,12],[835,12]]},"2114":{"position":[[11,12],[212,12],[475,12],[623,12],[718,12],[1018,12],[1309,12],[1580,12],[1919,12],[2111,12],[2318,12]]},"2116":{"position":[[14,12]]},"2117":{"position":[[21,12]]},"2118":{"position":[[9,12]]},"2119":{"position":[[12,12],[121,12],[232,12],[303,12],[390,12],[572,12]]},"2121":{"position":[[7,12]]},"2122":{"position":[[42,12],[327,12],[386,12]]},"2124":{"position":[[65,12],[150,12],[239,12],[335,12]]},"2126":{"position":[[36,12],[244,12],[470,12],[686,12],[916,12],[1126,12],[1353,12],[1566,12]]},"2128":{"position":[[23,12],[92,12],[162,12],[285,12],[378,12],[466,12]]},"2130":{"position":[[62,12],[201,12],[322,12],[633,12],[754,12],[976,12],[1099,12],[1202,12],[1361,12],[1479,12],[1677,12],[1902,12],[2241,12],[2454,12],[2653,12],[2827,12]]},"2132":{"position":[[37,12],[269,12],[522,12],[812,12],[1144,12],[1457,12],[1780,12],[2008,12]]},"2134":{"position":[[22,12],[92,12],[175,12],[271,12],[367,12]]},"2136":{"position":[[92,12]]},"2138":{"position":[[9,12]]},"2140":{"position":[[10,12],[59,12]]},"2141":{"position":[[14,12],[80,12],[361,12],[670,12],[876,12],[1257,12]]},"2143":{"position":[[6,12]]},"2145":{"position":[[117,12]]},"2147":{"position":[[15,12],[58,12]]},"2149":{"position":[[34,12]]},"2152":{"position":[[137,12]]},"2154":{"position":[[5,12]]},"2156":{"position":[[17,12],[153,12],[345,12],[449,12],[544,12]]},"2158":{"position":[[99,12],[318,12],[507,12],[574,12],[897,12],[1371,12]]},"2160":{"position":[[15,12],[65,12]]},"2162":{"position":[[13,12],[149,12],[268,12],[478,12],[595,12],[728,12],[813,12]]},"2164":{"position":[[16,12]]},"2165":{"position":[[11,12],[69,12],[128,12]]},"2166":{"position":[[15,12],[147,12],[263,12],[382,12],[513,12],[658,12],[809,12],[958,12],[1105,12],[1250,12],[1393,12],[1545,12]]},"2168":{"position":[[85,12],[155,12],[243,12],[325,12],[415,12],[507,12],[602,12],[696,12],[802,12],[916,12],[1041,12],[1167,12],[1294,12],[1495,12],[1635,12],[1848,12],[1978,12],[2173,12],[2307,12],[2514,12],[2638,12],[2827,12],[2955,12],[3156,12]]},"2169":{"position":[[62,12],[251,12],[379,12],[580,12]]},"2171":{"position":[[62,12]]},"2172":{"position":[[13,12]]},"2173":{"position":[[17,12],[160,12],[359,12],[470,12],[572,12]]},"2177":{"position":[[34,12]]},"2178":{"position":[[8,12],[58,12],[110,12]]},"2179":{"position":[[12,12]]},"2181":{"position":[[22,12],[145,12],[226,12],[303,12],[413,12]]},"2183":{"position":[[113,12],[612,12]]},"2184":{"position":[[9,12]]},"2185":{"position":[[90,12],[256,12],[322,12]]},"2187":{"position":[[112,12]]},"2188":{"position":[[9,12]]},"2189":{"position":[[12,12],[121,12],[232,12],[303,12],[379,12]]},"2191":{"position":[[18,12]]},"2192":{"position":[[62,12]]},"2193":{"position":[[63,12],[262,12],[544,12],[842,12]]},"2198":{"position":[[105,12]]},"2199":{"position":[[60,12],[239,12],[412,12],[653,12]]},"2201":{"position":[[28,12],[229,12]]},"2202":{"position":[[11,12]]},"2203":{"position":[[6,12],[53,12],[182,12],[232,12],[289,12],[351,12],[407,12]]},"2204":{"position":[[24,12],[180,12],[434,12],[681,12],[974,12],[1117,12],[1236,12],[1434,12],[1568,12],[1871,12],[1956,12],[2030,12]]},"2206":{"position":[[8,12],[58,12]]},"2208":{"position":[[27,12]]},"2209":{"position":[[7,12]]},"2210":{"position":[[16,12],[178,12],[277,12],[389,12]]},"2212":{"position":[[30,12]]},"2213":{"position":[[14,12]]},"2215":{"position":[[29,12]]},"2217":{"position":[[208,12]]},"2219":{"position":[[11,12],[47,12],[81,12]]},"2221":{"position":[[30,12]]},"2222":{"position":[[11,12]]},"2223":{"position":[[17,12],[160,12],[295,12],[337,12],[443,12],[679,12]]},"2227":{"position":[[17,12],[160,12],[295,12],[358,12],[484,12],[720,12]]},"2229":{"position":[[33,12],[271,12]]},"2231":{"position":[[9,12],[51,12],[95,12],[148,12]]},"2232":{"position":[[15,12],[93,12],[163,12]]},"2233":{"position":[[22,12],[156,12],[287,12],[452,12]]},"2237":{"position":[[56,12]]},"2238":{"position":[[8,12]]},"2246":{"position":[[48,12]]},"2247":{"position":[[6,12]]},"2248":{"position":[[11,12]]},"2250":{"position":[[10,12],[49,12]]},"2252":{"position":[[8,12],[58,12],[114,12],[189,12],[271,12],[346,12],[407,12],[452,12],[506,12],[614,12],[760,12]]},"2253":{"position":[[9,12],[67,12],[385,12],[639,12],[912,12],[1124,12],[1483,12]]},"2255":{"position":[[204,12]]},"2257":{"position":[[8,12],[45,12]]},"2259":{"position":[[14,12],[57,12],[97,12]]},"2261":{"position":[[22,12],[102,12],[188,12],[291,12],[420,12],[511,12],[580,12],[697,12],[835,12],[936,12]]},"2263":{"position":[[168,12],[432,12],[682,12]]},"2264":{"position":[[8,12]]},"2265":{"position":[[137,12],[301,12],[791,12],[1656,12],[2634,12],[2935,12],[3344,12],[4224,12],[5117,12],[5575,12],[5943,12],[6351,12],[6626,12],[6726,12],[7047,12]]},"2267":{"position":[[9,12],[54,12],[106,12],[199,12]]},"2269":{"position":[[36,12],[221,12]]},"2272":{"position":[[33,12]]},"2273":{"position":[[7,12],[55,12]]},"2274":{"position":[[9,12],[56,12]]},"2277":{"position":[[90,12]]},"2279":{"position":[[204,12]]},"2281":{"position":[[58,12],[305,12]]},"2283":{"position":[[7,12]]},"2285":{"position":[[8,12],[229,12]]},"2287":{"position":[[241,12]]},"2288":{"position":[[51,12]]},"2290":{"position":[[149,12],[293,12]]},"2292":{"position":[[317,12],[582,12],[647,12],[739,12]]},"2294":{"position":[[52,12]]},"2296":{"position":[[27,12],[219,12],[456,12]]},"2298":{"position":[[9,12],[62,12],[124,12],[200,12],[316,12]]},"2299":{"position":[[50,12],[285,12],[339,12]]},"2301":{"position":[[33,12],[255,12]]},"2303":{"position":[[76,12]]},"2305":{"position":[[80,12],[147,12],[238,12]]},"2306":{"position":[[33,12],[209,12],[490,12],[960,12]]},"2308":{"position":[[74,12]]},"2310":{"position":[[93,12]]},"2311":{"position":[[75,12],[281,12],[514,12],[620,12]]},"2313":{"position":[[204,12]]},"2319":{"position":[[50,12]]},"2320":{"position":[[71,12],[536,12],[648,12],[747,12],[1002,12]]},"2322":{"position":[[326,12],[887,12],[1604,12],[2326,12]]},"2324":{"position":[[39,12]]},"2325":{"position":[[13,12],[398,12]]},"2327":{"position":[[69,12],[193,12],[407,12]]},"2329":{"position":[[68,12],[336,12],[667,12],[1040,12]]},"2331":{"position":[[17,12],[108,12]]},"2332":{"position":[[58,12],[353,12],[850,12],[1068,12],[1506,12],[1726,12]]},"2334":{"position":[[42,12]]},"2335":{"position":[[7,12]]},"2336":{"position":[[42,12]]},"2338":{"position":[[27,12]]},"2339":{"position":[[7,12]]},"2341":{"position":[[19,12],[179,12]]},"2342":{"position":[[7,12],[64,12]]},"2343":{"position":[[15,12],[131,12],[315,12]]},"2346":{"position":[[35,12]]},"2347":{"position":[[32,12],[145,12],[298,12]]},"2349":{"position":[[19,12],[76,12],[128,12],[192,12],[270,12],[336,12],[396,12],[453,12],[617,12]]},"2350":{"position":[[9,12],[121,12],[191,12],[334,12],[456,12],[645,12],[835,12],[983,12],[1129,12],[1240,12],[1294,12],[1358,12],[1432,12],[1570,12],[1733,12]]},"2351":{"position":[[85,12],[352,12],[756,12],[955,12],[1199,12],[1393,12],[1449,12]]},"2355":{"position":[[68,12],[335,12]]},"2357":{"position":[[15,12],[195,12],[314,12],[410,12]]},"2358":{"position":[[247,12],[378,12],[473,12],[609,12],[1160,12],[1269,12],[1406,12],[1778,12],[1982,12],[2062,12],[2236,12],[2345,12],[2517,12],[2672,12],[2730,12],[2905,12],[3034,12],[3114,12],[3190,12],[3300,12],[3421,12]]},"2359":{"position":[[29,12],[230,12],[414,12],[816,12],[900,12],[1231,12],[1549,12],[1694,12],[1808,12],[1989,12],[2198,12],[2395,12],[2652,12],[3171,12],[3472,12],[3755,12],[3989,12],[4184,12],[4449,12],[4672,12],[4874,12],[4998,12]]},"2361":{"position":[[111,12],[147,12],[180,12],[321,12],[360,12],[403,12]]},"2363":{"position":[[7,12]]},"2366":{"position":[[8,12],[58,12],[121,12],[203,12],[285,12],[366,12]]},"2367":{"position":[[157,12],[297,12]]},"2369":{"position":[[15,12],[149,12],[240,12],[384,12]]},"2370":{"position":[[87,12],[205,12],[300,12],[436,12],[664,12],[1055,12],[1372,12],[1480,12],[1617,12],[1712,12],[1821,12],[1911,12],[1975,12],[2173,12],[2285,12],[2512,12],[2676,12],[2964,12],[3036,12],[3513,12],[3898,12],[4270,12],[4729,12],[4959,12],[5213,12],[5342,12],[5423,12]]},"2371":{"position":[[181,12],[857,12],[1270,12],[1332,12]]},"2373":{"position":[[16,12],[88,12],[158,12],[216,12],[260,12]]},"2375":{"position":[[6,12],[37,12],[70,12],[101,12]]},"2377":{"position":[[16,12],[83,12],[139,12],[198,12],[261,12],[313,12],[367,12]]},"2378":{"position":[[26,12],[109,12],[194,12],[268,12],[345,12]]},"2381":{"position":[[19,12]]},"2382":{"position":[[90,12]]},"2383":{"position":[[9,12],[60,12],[316,12],[849,12]]},"2385":{"position":[[38,12]]},"2386":{"position":[[186,12]]},"2388":{"position":[[8,12],[72,12]]},"2390":{"position":[[12,12]]},"2392":{"position":[[12,12],[63,12]]},"2394":{"position":[[9,12]]},"2396":{"position":[[68,12],[228,12],[419,12]]},"2397":{"position":[[9,12],[257,12],[790,12]]},"2399":{"position":[[113,12]]},"2400":{"position":[[8,12],[116,12],[248,12],[877,12],[972,12],[1140,12],[1200,12],[1336,12],[1431,12],[1568,12]]},"2401":{"position":[[50,12],[352,12],[530,12],[652,12],[1054,12],[1346,12],[1525,12],[1644,12],[1811,12],[2024,12],[2313,12],[2398,12],[2567,12],[2734,12],[3006,12]]},"2403":{"position":[[146,12]]},"2404":{"position":[[17,12],[273,12],[806,12]]},"2406":{"position":[[15,12]]},"2407":{"position":[[92,12],[191,12]]},"2408":{"position":[[52,12],[195,12],[331,12],[445,12],[575,12],[696,12],[833,12]]},"2409":{"position":[[9,12],[107,12]]},"2411":{"position":[[76,12],[439,12]]},"2412":{"position":[[14,12],[67,12],[117,12],[163,12],[210,12]]},"2413":{"position":[[9,12]]},"2415":{"position":[[8,12],[58,12],[121,12],[203,12],[298,12],[450,12],[577,12]]},"2416":{"position":[[121,12],[252,12],[441,12],[612,12],[764,12],[927,12],[1090,12]]},"2417":{"position":[[9,12],[64,12],[213,12],[615,12],[937,12],[1488,12],[1979,12],[2428,12],[3014,12],[3279,12],[3812,12],[4262,12],[4807,12],[5337,12],[5975,12],[6897,12],[7808,12],[8282,12],[9049,12],[9495,12],[9976,12],[10511,12],[10748,12]]},"2419":{"position":[[19,12],[76,12],[269,12],[332,12],[398,12],[458,12],[511,12],[562,12],[626,12],[696,12],[860,12]]},"2420":{"position":[[9,12],[121,12],[191,12],[336,12],[404,12],[478,12],[555,12],[626,12],[696,12],[769,12],[891,12],[993,12],[1137,12],[1310,12],[1422,12],[1514,12],[1739,12],[1937,12],[1986,12],[2050,12],[2124,12]]},"2421":{"position":[[118,12],[249,12],[461,12],[517,12],[641,12],[931,12],[1296,12],[1646,12],[2105,12],[2546,12],[2968,12],[3507,12],[3998,12]]},"2423":{"position":[[17,12]]},"2425":{"position":[[11,12],[63,12],[121,12],[179,12],[234,12]]},"2427":{"position":[[17,12],[85,12],[163,12],[238,12]]},"2428":{"position":[[17,12]]},"2429":{"position":[[66,12],[359,12],[631,12]]},"2431":{"position":[[8,12]]},"2432":{"position":[[17,12]]},"2434":{"position":[[214,12],[936,12]]},"2437":{"position":[[132,12],[489,12]]},"2439":{"position":[[16,12]]},"2440":{"position":[[30,12],[96,12]]},"2441":{"position":[[45,12]]},"2443":{"position":[[7,12]]},"2445":{"position":[[7,12]]},"2447":{"position":[[8,12],[71,12],[145,12],[199,12]]},"2449":{"position":[[24,12]]},"2453":{"position":[[7,12]]},"2455":{"position":[[15,12]]},"2457":{"position":[[22,12],[83,12]]},"2458":{"position":[[52,12],[557,12],[671,12],[741,12],[819,12],[1094,12],[1330,12],[1554,12],[1852,12],[2111,12],[2326,12],[2541,12],[2717,12],[2866,12],[3083,12],[3261,12]]},"2460":{"position":[[41,12],[113,12],[247,12]]},"2465":{"position":[[19,12],[81,12],[148,12]]},"2468":{"position":[[8,12],[47,12],[94,12]]},"2471":{"position":[[204,12]]},"2473":{"position":[[33,12],[271,12],[621,12]]},"2476":{"position":[[9,12],[64,12]]},"2478":{"position":[[443,12],[1385,12],[2180,12],[3039,12],[3644,12],[4194,12],[4705,12],[5081,12],[5603,12]]},"2480":{"position":[[16,12]]},"2481":{"position":[[8,12],[78,12]]},"2482":{"position":[[409,12],[1234,12],[2042,12],[2917,12],[3276,12],[3553,12],[4050,12],[4472,12],[4725,12],[5011,12],[5359,12],[5757,12],[6039,12],[6354,12],[6825,12],[7208,12],[7804,12]]},"2486":{"position":[[31,12],[206,12],[490,12],[816,12],[1125,12]]},"2487":{"position":[[8,12],[70,12],[143,12]]},"2488":{"position":[[16,12]]},"2489":{"position":[[36,12],[200,12]]},"2492":{"position":[[39,12],[156,12],[245,12],[324,12],[456,12],[565,12],[695,12]]},"2493":{"position":[[12,12]]},"2495":{"position":[[30,12]]},"2497":{"position":[[10,12],[59,12],[108,12],[150,12],[195,12]]},"2498":{"position":[[12,12]]},"2500":{"position":[[13,12]]},"2501":{"position":[[97,12]]},"2503":{"position":[[68,12],[185,12],[303,12]]},"2505":{"position":[[6,12],[66,12],[98,12]]},"2507":{"position":[[103,12],[183,12],[278,12],[385,12],[476,12],[569,12],[664,12]]},"2509":{"position":[[29,12],[168,12]]},"2510":{"position":[[8,12],[64,12]]},"2511":{"position":[[94,12],[398,12]]},"2513":{"position":[[44,12],[269,12]]},"2515":{"position":[[18,12],[337,12],[376,12],[415,12],[464,12],[509,12]]},"2516":{"position":[[32,12],[237,12],[522,12],[786,12],[1000,12],[1211,12],[1433,12]]},"2518":{"position":[[183,12],[335,12],[425,12]]},"2520":{"position":[[6,12],[36,12],[75,12],[115,12],[159,12]]},"2522":{"position":[[77,12],[238,12],[357,12],[496,12],[591,12]]},"2525":{"position":[[7,12],[48,12]]},"2527":{"position":[[48,12],[283,12]]},"2529":{"position":[[33,12]]},"2531":{"position":[[9,12]]}},"keywords":{}}],["declaringtyp",{"_index":7643,"title":{},"content":{"1961":{"position":[[0,14],[79,13]]}},"keywords":{}}],["decode(uint",{"_index":8301,"title":{},"content":{"2089":{"position":[[351,11]]}},"keywords":{}}],["decode(uint32",{"_index":8300,"title":{},"content":{"2089":{"position":[[304,15]]}},"keywords":{}}],["decode(uint64",{"_index":8302,"title":{},"content":{"2089":{"position":[[456,15]]}},"keywords":{}}],["decode(ulong",{"_index":8303,"title":{},"content":{"2089":{"position":[[504,12]]}},"keywords":{}}],["decoupl",{"_index":7130,"title":{},"content":{"1752":{"position":[[0,8]]}},"keywords":{}}],["decreas",{"_index":1195,"title":{},"content":{"129":{"position":[[60,8]]},"139":{"position":[[1272,9]]},"155":{"position":[[65,8]]},"158":{"position":[[65,8]]}},"keywords":{}}],["decrypt",{"_index":1525,"title":{},"content":{"183":{"position":[[1256,7]]}},"keywords":{}}],["dedic",{"_index":361,"title":{"179":{"position":[[12,9]]}},"content":{"15":{"position":[[182,10],[375,9]]},"175":{"position":[[620,9],[752,9]]},"179":{"position":[[14,9]]},"182":{"position":[[3652,9]]},"183":{"position":[[1427,9]]},"184":{"position":[[93,9],[556,9],[835,9]]},"187":{"position":[[1507,9]]},"2370":{"position":[[3409,9]]}},"keywords":{}}],["dee1046",{"_index":6547,"title":{},"content":{"1477":{"position":[[3965,10]]},"1687":{"position":[[94,10]]}},"keywords":{}}],["def64cd",{"_index":4841,"title":{},"content":{"1189":{"position":[[38,10]]}},"keywords":{}}],["default",{"_index":225,"title":{},"content":{"10":{"position":[[117,7]]},"14":{"position":[[117,7],[493,7]]},"31":{"position":[[552,8]]},"33":{"position":[[23,7]]},"43":{"position":[[400,8]]},"46":{"position":[[438,8]]},"53":{"position":[[145,7]]},"61":{"position":[[156,7]]},"92":{"position":[[320,8],[585,7]]},"95":{"position":[[3,8],[257,7]]},"102":{"position":[[108,8]]},"104":{"position":[[3,8]]},"175":{"position":[[153,7]]},"182":{"position":[[1172,8],[1277,8],[1664,8]]},"183":{"position":[[1764,8]]},"187":{"position":[[895,8]]},"190":{"position":[[933,7],[1600,9]]},"191":{"position":[[480,7]]},"226":{"position":[[134,8]]},"232":{"position":[[3,8]]},"234":{"position":[[45,7]]},"262":{"position":[[794,8],[1010,8]]},"263":{"position":[[463,7]]},"283":{"position":[[12,7]]},"294":{"position":[[701,8]]},"307":{"position":[[418,7]]},"310":{"position":[[3,7]]},"311":{"position":[[3,8]]},"312":{"position":[[3,7]]},"316":{"position":[[1924,8]]},"327":{"position":[[518,7]]},"345":{"position":[[739,8]]},"353":{"position":[[685,8]]},"355":{"position":[[64,7]]},"356":{"position":[[736,8]]},"418":{"position":[[22,7]]},"487":{"position":[[60,7]]},"503":{"position":[[61,7]]},"775":{"position":[[133,8]]},"799":{"position":[[44,7]]},"809":{"position":[[20,7]]},"843":{"position":[[139,8]]},"845":{"position":[[108,7]]},"867":{"position":[[26,7]]},"1143":{"position":[[19,7]]},"1322":{"position":[[13,7]]},"1474":{"position":[[335,7],[4513,7],[9463,7],[17601,8]]},"1582":{"position":[[0,7]]},"1658":{"position":[[0,7]]},"1766":{"position":[[228,7]]},"1795":{"position":[[105,7],[587,7]]},"1819":{"position":[[397,7]]},"2039":{"position":[[108,8]]},"2040":{"position":[[790,7],[1123,7]]},"2043":{"position":[[10,7],[139,7]]},"2114":{"position":[[1806,7]]},"2130":{"position":[[835,9]]},"2237":{"position":[[6,7]]},"2253":{"position":[[229,7],[820,7],[1438,7]]},"2290":{"position":[[50,7]]},"2350":{"position":[[104,7]]},"2351":{"position":[[527,7]]},"2370":{"position":[[2820,7]]},"2413":{"position":[[0,8],[57,7]]},"2415":{"position":[[434,7]]},"2417":{"position":[[1270,7],[1821,7],[2374,7],[8867,7],[9379,7]]},"2420":{"position":[[104,7]]},"2515":{"position":[[500,8],[558,7]]}},"keywords":{}}],["default(int",{"_index":9172,"title":{},"content":{"2478":{"position":[[5203,12],[5735,12]]}},"keywords":{}}],["default(loadsceneparamet",{"_index":9072,"title":{},"content":{"2417":{"position":[[4915,28],[5453,28],[6169,28],[7099,28]]}},"keywords":{}}],["default(ushort",{"_index":8588,"title":{},"content":{"2199":{"position":[[749,15]]},"2233":{"position":[[548,15]]},"2351":{"position":[[156,15]]}},"keywords":{}}],["default)ownerplay",{"_index":2394,"title":{},"content":{"282":{"position":[[50,20]]}},"keywords":{}}],["default)sync",{"_index":2861,"title":{},"content":{"355":{"position":[[437,13]]}},"keywords":{}}],["default10",{"_index":8109,"title":{},"content":{"2043":{"position":[[128,10],[248,9]]}},"keywords":{}}],["default9",{"_index":8108,"title":{},"content":{"2043":{"position":[[0,9],[118,8]]}},"keywords":{}}],["defaultloglevel",{"_index":7571,"title":{},"content":{"1935":{"position":[[91,15],[157,15],[298,15],[381,15],[532,15],[623,15]]}},"keywords":{}}],["defaultvis",{"_index":9175,"title":{},"content":{"2481":{"position":[[59,18],[117,17]]}},"keywords":{}}],["defens",{"_index":768,"title":{},"content":{"59":{"position":[[283,7]]}},"keywords":{}}],["defer",{"_index":3080,"title":{},"content":{"438":{"position":[[18,8]]}},"keywords":{}}],["defin",{"_index":243,"title":{},"content":{"10":{"position":[[619,6]]},"22":{"position":[[168,6],[257,6],[370,6]]},"37":{"position":[[461,6]]},"217":{"position":[[482,6]]},"218":{"position":[[231,6]]},"279":{"position":[[0,6]]},"630":{"position":[[7,6]]},"632":{"position":[[29,6]]},"646":{"position":[[7,7]]},"764":{"position":[[85,7]]},"1147":{"position":[[27,7]]},"1466":{"position":[[167,6]]},"1477":{"position":[[4194,7]]},"1479":{"position":[[3042,8],[3067,7]]},"1734":{"position":[[375,7]]},"1736":{"position":[[20,8],[45,7]]},"2240":{"position":[[7254,6]]}},"keywords":{}}],["definit",{"_index":2760,"title":{},"content":{"339":{"position":[[295,10]]},"342":{"position":[[207,10]]},"348":{"position":[[301,10]]},"350":{"position":[[180,10]]},"1103":{"position":[[28,10]]},"1474":{"position":[[4327,10],[12109,10]]}},"keywords":{}}],["degre",{"_index":4500,"title":{},"content":{"1044":{"position":[[65,7]]}},"keywords":{}}],["deinit",{"_index":8616,"title":{},"content":{"2206":{"position":[[48,9],[90,8]]}},"keywords":{}}],["delay",{"_index":416,"title":{},"content":{"21":{"position":[[147,5]]},"24":{"position":[[1682,5]]},"173":{"position":[[820,5]]},"240":{"position":[[2366,7]]},"241":{"position":[[2549,7]]},"251":{"position":[[4375,6]]}},"keywords":{}}],["deleg",{"_index":2774,"title":{"1958":{"position":[[0,10]]},"1963":{"position":[[0,8]]},"1964":{"position":[[0,8]]},"2095":{"position":[[0,10]]},"2174":{"position":[[0,8]]},"2175":{"position":[[0,8]]},"2235":{"position":[[0,8]]},"2244":{"position":[[0,10]]},"2270":{"position":[[0,8]]},"2314":{"position":[[0,8]]},"2315":{"position":[[0,8]]},"2316":{"position":[[0,8]]},"2317":{"position":[[0,8]]},"2435":{"position":[[0,8]]},"2484":{"position":[[0,8]]},"2490":{"position":[[0,8]]},"2523":{"position":[[0,8]]}},"content":{"340":{"position":[[955,8]]},"348":{"position":[[1250,8]]},"1958":{"position":[[39,8]]},"1963":{"position":[[0,8],[49,8]]},"1964":{"position":[[0,8],[21,8],[70,8]]},"2174":{"position":[[0,8],[52,8]]},"2175":{"position":[[0,8],[59,8]]},"2235":{"position":[[0,8],[83,8]]},"2270":{"position":[[0,8],[52,8]]},"2314":{"position":[[0,8],[49,8]]},"2315":{"position":[[0,8],[54,8]]},"2316":{"position":[[0,8],[59,8]]},"2317":{"position":[[0,8],[64,8]]},"2435":{"position":[[0,8],[60,8]]},"2484":{"position":[[0,8],[50,8]]},"2490":{"position":[[0,8],[45,8]]},"2523":{"position":[[0,8],[40,8]]}},"keywords":{}}],["delet",{"_index":1574,"title":{},"content":{"189":{"position":[[266,6]]},"199":{"position":[[49,6],[157,6]]},"203":{"position":[[890,6]]},"537":{"position":[[426,8]]},"1349":{"position":[[62,7]]},"1354":{"position":[[62,7]]},"1359":{"position":[[62,7]]},"1364":{"position":[[62,7]]},"1369":{"position":[[62,7]]},"1374":{"position":[[62,7]]},"1378":{"position":[[62,7]]},"1382":{"position":[[62,7]]},"1386":{"position":[[62,7]]},"1390":{"position":[[62,7]]},"1394":{"position":[[62,7]]},"1398":{"position":[[62,7]]},"1402":{"position":[[62,7]]},"1406":{"position":[[62,7]]},"1410":{"position":[[62,7]]},"1414":{"position":[[62,7]]},"1418":{"position":[[62,7]]},"1422":{"position":[[62,7]]},"1426":{"position":[[62,7]]},"1430":{"position":[[62,7]]},"1434":{"position":[[23,7]]},"1438":{"position":[[23,7]]}},"keywords":{}}],["deliv",{"_index":3245,"title":{},"content":{"506":{"position":[[18,7]]},"2091":{"position":[[310,9]]},"2093":{"position":[[761,9],[905,9]]},"2149":{"position":[[109,10],[213,9]]},"2150":{"position":[[83,9]]},"2162":{"position":[[250,9]]}},"keywords":{}}],["deltatim",{"_index":2893,"title":{},"content":{"359":{"position":[[479,9]]}},"keywords":{}}],["demand",{"_index":2655,"title":{},"content":{"324":{"position":[[225,6]]}},"keywords":{}}],["demo",{"_index":1581,"title":{},"content":{"190":{"position":[[426,5],[1494,4],[1805,4]]},"191":{"position":[[267,4],[301,5]]},"196":{"position":[[39,4]]},"1145":{"position":[[15,4]]},"1474":{"position":[[12821,4],[18227,4]]},"1476":{"position":[[1143,4]]},"1477":{"position":[[1394,4]]},"1563":{"position":[[7,4]]},"1568":{"position":[[123,4]]},"1680":{"position":[[17,4]]},"1719":{"position":[[6,4]]}},"keywords":{}}],["demo.x86_64",{"_index":1625,"title":{},"content":{"196":{"position":[[90,11],[288,11],[456,11],[748,11]]}},"keywords":{}}],["demo.zip",{"_index":1623,"title":{},"content":{"195":{"position":[[528,8]]}},"keywords":{}}],["demonstr",{"_index":2219,"title":{},"content":{"254":{"position":[[808,12]]}},"keywords":{}}],["depend",{"_index":492,"title":{},"content":{"24":{"position":[[1761,9]]},"31":{"position":[[725,9]]},"72":{"position":[[126,9]]},"187":{"position":[[787,6]]},"190":{"position":[[635,7]]},"204":{"position":[[372,7]]},"213":{"position":[[1593,7]]},"279":{"position":[[299,9],[453,9]]},"344":{"position":[[376,9]]},"352":{"position":[[358,9]]},"359":{"position":[[460,6]]},"604":{"position":[[9,10]]},"1115":{"position":[[24,7],[94,7]]},"1243":{"position":[[14,7]]},"1272":{"position":[[28,10]]},"1474":{"position":[[1096,9],[15088,10]]},"1504":{"position":[[32,10]]},"1644":{"position":[[56,9]]}},"keywords":{}}],["deploy",{"_index":337,"title":{},"content":{"14":{"position":[[871,6]]}},"keywords":{}}],["deprec",{"_index":6588,"title":{},"content":{"1478":{"position":[[407,10]]}},"keywords":{}}],["depth",{"_index":2521,"title":{},"content":{"304":{"position":[[481,5]]}},"keywords":{}}],["dequeu",{"_index":8605,"title":{},"content":{"2204":{"position":[[1013,10],[1139,9]]}},"keywords":{}}],["deriv",{"_index":694,"title":{},"content":{"49":{"position":[[34,7]]},"243":{"position":[[653,6]]},"335":{"position":[[84,7]]},"339":{"position":[[20,7]]},"348":{"position":[[20,7]]},"1474":{"position":[[14471,7]]},"1566":{"position":[[1231,7]]},"2351":{"position":[[603,7]]}},"keywords":{}}],["describ",{"_index":1036,"title":{},"content":{"100":{"position":[[220,9]]},"2241":{"position":[[378,9]]},"2327":{"position":[[318,9]]}},"keywords":{}}],["descript",{"_index":658,"title":{},"content":{"44":{"position":[[14,11]]},"51":{"position":[[14,11]]},"58":{"position":[[13,11]]},"182":{"position":[[2021,12],[2097,11],[2226,11],[2313,11]]},"317":{"position":[[1195,12]]}},"keywords":{}}],["descriptioncolor",{"_index":7630,"title":{},"content":{"1953":{"position":[[381,16]]},"2058":{"position":[[3637,16]]}},"keywords":{}}],["descriptioncolor32",{"_index":8235,"title":{},"content":{"2058":{"position":[[3848,18]]}},"keywords":{}}],["descriptioncysharp.threading.tasks.unitask",{"_index":9068,"title":{},"content":{"2417":{"position":[[4617,42],[5738,42],[7643,42],[8652,42]]}},"keywords":{}}],["descriptioncysharp.threading.tasks.unitask<mirage.authentication.authenticationresult>",{"_index":7171,"title":{},"content":{"1772":{"position":[[350,92]]},"1795":{"position":[[393,92]]}},"keywords":{}}],["descriptioncysharp.threading.tasks.unitask<system.valuetuple<system.boolean",{"_index":8875,"title":{},"content":{"2325":{"position":[[106,82]]}},"keywords":{}}],["descriptioncysharp.threading.tasks.unitask<t>",{"_index":7656,"title":{},"content":{"1966":{"position":[[1256,51]]},"1979":{"position":[[825,51]]}},"keywords":{}}],["descriptiongameobject",{"_index":7830,"title":{},"content":{"2012":{"position":[[2043,21]]},"2277":{"position":[[203,21]]},"2478":{"position":[[5421,21]]},"2482":{"position":[[5123,21]]}},"keywords":{}}],["descriptionilogg",{"_index":7573,"title":{},"content":{"1935":{"position":[[188,18],[412,18],[654,18]]},"1939":{"position":[[128,18],[370,18],[613,18],[797,18],[954,18],[1132,18],[1312,18]]}},"keywords":{}}],["descriptioniloghandl",{"_index":7583,"title":{},"content":{"1935":{"position":[[937,22]]}},"keywords":{}}],["descriptionlogtyp",{"_index":7572,"title":{},"content":{"1935":{"position":[[138,18]]},"1947":{"position":[[371,18]]}},"keywords":{}}],["descriptionmatrix4x4",{"_index":8247,"title":{},"content":{"2058":{"position":[[4670,20]]}},"keywords":{}}],["descriptionmirage.authentication.authenticationresult",{"_index":7175,"title":{},"content":{"1775":{"position":[[170,53],[509,53],[892,53],[1111,53],[1448,53]]},"1795":{"position":[[830,53]]},"1820":{"position":[[301,53]]},"1826":{"position":[[330,53]]}},"keywords":{}}],["descriptionmirage.authentication.inetworkauthent",{"_index":7177,"title":{},"content":{"1775":{"position":[[406,54]]},"1801":{"position":[[167,54]]}},"keywords":{}}],["descriptionmirage.authentication.playerauthent",{"_index":8831,"title":{},"content":{"2299":{"position":[[173,53]]},"2401":{"position":[[172,53]]}},"keywords":{}}],["descriptionmirage.authenticators.sessionid.clientsess",{"_index":7230,"title":{},"content":{"1812":{"position":[[116,56],[329,56]]}},"keywords":{}}],["descriptionmirage.autopool.wrapper<>",{"_index":8640,"title":{},"content":{"2238":{"position":[[83,42]]}},"keywords":{}}],["descriptionmirage.clientobjectmanag",{"_index":9225,"title":{},"content":{"2511":{"position":[[193,37]]}},"keywords":{}}],["descriptionmirage.collections.isyncobject",{"_index":8945,"title":{},"content":{"2359":{"position":[[504,41]]}},"keywords":{}}],["descriptionmirage.collections.synclist<t>",{"_index":7294,"title":{},"content":{"1846":{"position":[[109,47]]}},"keywords":{}}],["descriptionmirage.collections.synclist.enumerator<>",{"_index":7344,"title":{},"content":{"1855":{"position":[[3857,57]]}},"keywords":{}}],["descriptionmirage.dynamicspawnhandlerdeleg",{"_index":8782,"title":{},"content":{"2265":{"position":[[6846,45]]}},"keywords":{}}],["descriptionmirage.gameobjectsyncvar",{"_index":8802,"title":{},"content":{"2281":{"position":[[490,35]]}},"keywords":{}}],["descriptionmirage.imessagereceiv",{"_index":8865,"title":{},"content":{"2322":{"position":[[482,34],[1068,34],[1800,34],[2512,34]]}},"keywords":{}}],["descriptionmirage.imessagesend",{"_index":9025,"title":{},"content":{"2409":{"position":[[186,32]]}},"keywords":{}}],["descriptionmirage.inetworkplay",{"_index":7170,"title":{},"content":{"1772":{"position":[[295,32]]},"1795":{"position":[[303,32],[765,32]]},"1820":{"position":[[188,32],[510,32]]},"1826":{"position":[[214,32]]},"2229":{"position":[[129,32]]},"2253":{"position":[[1009,32],[1250,32]]},"2292":{"position":[[850,32]]},"2301":{"position":[[113,32]]},"2320":{"position":[[865,32],[1108,32]]},"2371":{"position":[[950,32]]},"2383":{"position":[[412,32]]},"2397":{"position":[[353,32]]},"2404":{"position":[[369,32]]},"2417":{"position":[[706,32],[1059,32],[1613,32],[2122,32],[2562,32],[9153,32],[9616,32],[10600,32]]},"2434":{"position":[[310,32]]},"2473":{"position":[[129,32]]},"2482":{"position":[[568,32],[1376,32],[2169,32],[3027,32],[3391,32],[3674,32],[6130,32],[6470,32],[6938,32],[7346,32],[7957,32]]}},"keywords":{}}],["descriptionmirage.iobjectloc",{"_index":8858,"title":{},"content":{"2319":{"position":[[197,32]]}},"keywords":{}}],["descriptionmirage.logging.logsettingsso",{"_index":7564,"title":{},"content":{"1932":{"position":[[138,39],[326,39]]}},"keywords":{}}],["descriptionmirage.logging.mirageloghandler.set",{"_index":7610,"title":{},"content":{"1946":{"position":[[216,51]]}},"keywords":{}}],["descriptionmirage.logging.mirageloghandler.timeprefix",{"_index":7621,"title":{},"content":{"1951":{"position":[[180,53]]}},"keywords":{}}],["descriptionmirage.messagedelegatewithplayer<t>",{"_index":8821,"title":{},"content":{"2292":{"position":[[454,52]]},"2320":{"position":[[215,52]]},"2325":{"position":[[500,52]]}},"keywords":{}}],["descriptionmirage.networkbehaviorsyncvar",{"_index":8886,"title":{},"content":{"2329":{"position":[[532,40]]}},"keywords":{}}],["descriptionmirage.networkbehaviorsyncvar<t>",{"_index":8892,"title":{},"content":{"2329":{"position":[[1316,49]]}},"keywords":{}}],["descriptionmirage.networkbehaviour",{"_index":7273,"title":{},"content":{"1835":{"position":[[1689,34]]},"1855":{"position":[[325,34]]},"1860":{"position":[[325,34]]},"1865":{"position":[[325,34]]},"1874":{"position":[[325,34]]},"1960":{"position":[[241,34]]},"1966":{"position":[[231,34],[653,34],[1098,34],[1623,34],[2098,34],[2496,34]]},"1971":{"position":[[124,36],[1288,34],[1516,34]]},"1979":{"position":[[235,34],[664,34],[1128,34]]},"2012":{"position":[[1541,34]]},"2334":{"position":[[136,34]]},"2341":{"position":[[253,34]]}},"keywords":{}}],["descriptionmirage.networkbehaviour.id",{"_index":8909,"title":{},"content":{"2343":{"position":[[213,37]]}},"keywords":{}}],["descriptionmirage.networkcli",{"_index":7213,"title":{},"content":{"1795":{"position":[[1056,31]]},"1826":{"position":[[523,31]]},"2324":{"position":[[153,31]]},"2421":{"position":[[343,31]]},"2527":{"position":[[159,31]]}},"keywords":{}}],["descriptionmirage.networkflag",{"_index":9006,"title":{},"content":{"2385":{"position":[[124,30]]}},"keywords":{}}],["descriptionmirage.networkident",{"_index":7823,"title":{},"content":{"2012":{"position":[[1286,33]]},"2265":{"position":[[1764,33],[2723,33],[3064,33],[3435,33],[4386,33],[5742,33]]},"2277":{"position":[[251,33]]},"2306":{"position":[[122,33],[301,33]]},"2311":{"position":[[155,33],[366,33],[705,33]]},"2401":{"position":[[1731,33],[1903,33],[2116,33],[2487,33],[2659,33]]},"2421":{"position":[[3156,33]]},"2478":{"position":[[5965,33]]},"2482":{"position":[[4175,33],[4574,33],[4805,33],[5474,33]]},"2486":{"position":[[111,33],[637,33],[1282,33]]},"2509":{"position":[[107,33]]},"2511":{"position":[[254,33],[621,33]]},"2516":{"position":[[632,33],[881,33],[1090,33]]},"2529":{"position":[[119,33]]}},"keywords":{}}],["descriptionmirage.networkidentitysyncvar",{"_index":8928,"title":{},"content":{"2355":{"position":[[530,40]]}},"keywords":{}}],["descriptionmirage.networkserv",{"_index":7168,"title":{},"content":{"1772":{"position":[[98,31]]},"2527":{"position":[[394,31]]}},"keywords":{}}],["descriptionmirage.networkworld",{"_index":9126,"title":{},"content":{"2437":{"position":[[270,30],[625,30]]}},"keywords":{}}],["descriptionmirage.remotecalls.remotecal",{"_index":7673,"title":{},"content":{"1971":{"position":[[1595,40],[1779,40]]}},"keywords":{}}],["descriptionmirage.remotecalls.remotecallcollect",{"_index":8965,"title":{},"content":{"2359":{"position":[[5102,50]]}},"keywords":{}}],["descriptionmirage.serialization.miragenetworkread",{"_index":7820,"title":{},"content":{"2012":{"position":[[1016,51]]}},"keywords":{}}],["descriptionmirage.serialization.networkread",{"_index":7270,"title":{},"content":{"1835":{"position":[[961,45],[1185,45]]},"1855":{"position":[[928,45],[1106,45]]},"1860":{"position":[[928,45],[1106,45]]},"1865":{"position":[[928,45],[1106,45]]},"1874":{"position":[[928,45],[1106,45]]},"1988":{"position":[[600,45]]},"1994":{"position":[[419,45]]},"1998":{"position":[[403,45]]},"2001":{"position":[[1338,45]]},"2003":{"position":[[2363,45],[2636,45],[2893,45],[3177,45],[3433,45],[3714,45],[4045,45]]},"2010":{"position":[[1328,45]]},"2012":{"position":[[948,45],[1218,45],[1473,45],[1759,45],[1975,45]]},"2025":{"position":[[1017,45],[1242,45],[1466,45],[1692,45]]},"2040":{"position":[[354,45],[1003,45]]},"2044":{"position":[[816,45]]},"2047":{"position":[[294,45]]},"2050":{"position":[[292,45]]},"2056":{"position":[[2733,45],[2962,45],[3171,45],[3403,45],[3635,45],[3868,45],[4101,45],[4335,45],[4572,45],[4783,45],[5060,45]]},"2058":{"position":[[2486,45],[2699,45],[2912,45],[3134,45],[3359,45],[3569,45],[3780,45],[3984,45],[4188,45],[4387,45],[4602,45]]},"2060":{"position":[[373,45]]},"2063":{"position":[[297,45]]},"2066":{"position":[[1338,45],[1540,45],[1748,45]]},"2071":{"position":[[297,45]]},"2074":{"position":[[291,45]]},"2079":{"position":[[291,45]]},"2281":{"position":[[422,45]]},"2329":{"position":[[464,45],[1248,45]]},"2332":{"position":[[465,45]]},"2355":{"position":[[462,45]]},"2359":{"position":[[3282,45],[3872,45]]},"2429":{"position":[[743,45]]},"2513":{"position":[[372,45]]}},"keywords":{}}],["descriptionmirage.serialization.networkwrit",{"_index":7267,"title":{},"content":{"1835":{"position":[[542,45],[762,45]]},"1855":{"position":[[580,45],[754,45]]},"1860":{"position":[[580,45],[754,45]]},"1865":{"position":[[580,45],[754,45]]},"1874":{"position":[[580,45],[754,45]]},"1988":{"position":[[269,45]]},"1994":{"position":[[186,45]]},"1998":{"position":[[177,45]]},"2001":{"position":[[408,45],[949,45]]},"2003":{"position":[[278,45],[594,45],[889,45],[1188,45],[1442,45],[1742,45],[2106,45]]},"2012":{"position":[[180,45],[447,45],[691,45]]},"2025":{"position":[[146,45],[369,45],[590,45],[814,45]]},"2031":{"position":[[4089,45],[4370,45]]},"2040":{"position":[[144,45],[635,45]]},"2044":{"position":[[480,45]]},"2047":{"position":[[118,45]]},"2050":{"position":[[117,45]]},"2056":{"position":[[154,45],[384,45],[593,45],[828,45],[1065,45],[1297,45],[1531,45],[1767,45],[2007,45],[2218,45],[2511,45]]},"2058":{"position":[[148,45],[364,45],[580,45],[808,45],[1039,45],[1250,45],[1464,45],[1668,45],[1873,45],[2071,45],[2291,45]]},"2060":{"position":[[146,45]]},"2063":{"position":[[123,45]]},"2066":{"position":[[751,45],[949,45],[1153,45]]},"2071":{"position":[[123,45]]},"2074":{"position":[[120,45]]},"2079":{"position":[[120,45]]},"2281":{"position":[[185,45]]},"2329":{"position":[[205,45],[884,45]]},"2332":{"position":[[168,45]]},"2355":{"position":[[205,45]]},"2359":{"position":[[2761,45],[3587,45],[4290,45],[4539,45],[4764,45]]},"2429":{"position":[[217,45],[469,45]]},"2513":{"position":[[160,45]]}},"keywords":{}}],["descriptionmirage.serialization.poolednetworkread",{"_index":7963,"title":{},"content":{"2016":{"position":[[640,51],[1070,51],[1578,51]]},"2027":{"position":[[265,51]]}},"keywords":{}}],["descriptionmirage.serialization.poolednetworkwrit",{"_index":7966,"title":{},"content":{"2019":{"position":[[470,51]]},"2033":{"position":[[312,51]]}},"keywords":{}}],["descriptionmirage.serialization.varintpack",{"_index":8258,"title":{},"content":{"2066":{"position":[[208,44],[578,44]]}},"keywords":{}}],["descriptionmirage.serverobjectmanag",{"_index":9162,"title":{},"content":{"2478":{"position":[[602,37],[1528,37],[2355,37],[3230,37],[3775,37],[4346,37],[4841,37],[5271,37],[5803,37]]}},"keywords":{}}],["descriptionmirage.socketlayer.acksystem.reliablepacket",{"_index":8362,"title":{},"content":{"2103":{"position":[[936,54]]}},"keywords":{}}],["descriptionmirage.socketlayer.acksystem.reliablereceiv",{"_index":8348,"title":{},"content":{"2100":{"position":[[125,56]]},"2114":{"position":[[318,56],[555,56]]}},"keywords":{}}],["descriptionmirage.socketlayer.bytebuff",{"_index":8345,"title":{},"content":{"2097":{"position":[[154,40]]},"2122":{"position":[[274,40]]}},"keywords":{}}],["descriptionmirage.socketlayer.iconnect",{"_index":8443,"title":{},"content":{"2132":{"position":[[145,41],[395,41],[634,41],[942,41],[1275,41],[1606,41],[1886,41],[2132,41]]},"2136":{"position":[[206,41]]},"2156":{"position":[[293,41]]},"2173":{"position":[[307,41]]},"2399":{"position":[[207,41]]}},"keywords":{}}],["descriptionmirage.socketlayer.idatahandl",{"_index":9143,"title":{},"content":{"2458":{"position":[[268,42]]}},"keywords":{}}],["descriptionmirage.socketlayer.iendpoint",{"_index":8454,"title":{},"content":{"2145":{"position":[[168,39]]},"2156":{"position":[[83,39],[229,39]]},"2158":{"position":[[165,39],[387,39],[1464,39]]},"2173":{"position":[[90,39],[243,39]]},"2199":{"position":[[311,39],[881,39]]},"2210":{"position":[[450,39]]},"2213":{"position":[[72,39]]},"2223":{"position":[[90,39],[236,39],[779,39]]},"2227":{"position":[[90,39],[236,39],[820,39]]},"2233":{"position":[[359,39],[680,39]]},"2449":{"position":[[85,39]]}},"keywords":{}}],["descriptionmirage.socketlayer.inotifycallback",{"_index":8459,"title":{},"content":{"2149":{"position":[[143,45]]}},"keywords":{}}],["descriptionmirage.socketlayer.inotifytoken",{"_index":8399,"title":{},"content":{"2114":{"position":[[923,42]]},"2132":{"position":[[717,42],[1050,42]]},"2141":{"position":[[266,42]]},"2458":{"position":[[1012,42],[1266,42],[1459,42]]}},"keywords":{}}],["descriptionmirage.socketlayer.irawconnect",{"_index":8379,"title":{},"content":{"2112":{"position":[[299,44]]}},"keywords":{}}],["descriptionmirage.socketlayer.isocket",{"_index":8537,"title":{},"content":{"2171":{"position":[[240,37]]},"2199":{"position":[[133,37],[485,37]]},"2233":{"position":[[95,37],[229,37]]}},"keywords":{}}],["descriptionmirage.socketlayer.packettyp",{"_index":8504,"title":{},"content":{"2166":{"position":[[1645,40]]}},"keywords":{}}],["descriptionmirage.socketlayer.pool<mirage.autopool.wrapper<>>",{"_index":8726,"title":{},"content":{"2246":{"position":[[143,73]]}},"keywords":{}}],["descriptionmirage.socketlayer.pool<mirage.serialization.poolednetworkreader>",{"_index":8037,"title":{},"content":{"2027":{"position":[[162,82]]}},"keywords":{}}],["descriptionmirage.socketlayer.pool<mirage.socketlayer.acksystem.reliablepacket>",{"_index":8361,"title":{},"content":{"2103":{"position":[[830,85]]}},"keywords":{}}],["descriptionmirage.socketlayer.pool.createnewitem<>",{"_index":8554,"title":{},"content":{"2183":{"position":[[774,56]]}},"keywords":{}}],["descriptionmirage.socketlayer.pool.createnewitemnocount<>",{"_index":8552,"title":{},"content":{"2183":{"position":[[266,63]]}},"keywords":{}}],["descriptionmirage.sockets.udp.udpsocketfactori",{"_index":8623,"title":{},"content":{"2221":{"position":[[110,46]]}},"keywords":{}}],["descriptionmirage.spawnhandl",{"_index":8763,"title":{},"content":{"2265":{"position":[[951,30]]}},"keywords":{}}],["descriptionmirage.spawnhandlerasyncdeleg",{"_index":9195,"title":{},"content":{"2486":{"position":[[949,43]]}},"keywords":{}}],["descriptionmirage.spawnhandlerdeleg",{"_index":9192,"title":{},"content":{"2486":{"position":[[329,38]]}},"keywords":{}}],["descriptionmirage.syncfrom",{"_index":9248,"title":{},"content":{"2516":{"position":[[1309,26],[1530,26]]}},"keywords":{}}],["descriptionmirage.syncprefab",{"_index":9232,"title":{},"content":{"2513":{"position":[[440,28]]}},"keywords":{}}],["descriptionmirage.unspawndeleg",{"_index":9198,"title":{},"content":{"2489":{"position":[[134,33]]}},"keywords":{}}],["descriptionplan",{"_index":8241,"title":{},"content":{"2058":{"position":[[4256,16]]}},"keywords":{}}],["descriptionquaternion",{"_index":7752,"title":{},"content":{"1994":{"position":[[487,21]]},"2044":{"position":[[106,21],[331,21],[641,21],[884,21],[1047,21]]}},"keywords":{}}],["descriptionray",{"_index":8244,"title":{},"content":{"2058":{"position":[[4455,14]]}},"keywords":{}}],["descriptionrect",{"_index":8238,"title":{},"content":{"2058":{"position":[[4052,15]]}},"keywords":{}}],["descriptionrender",{"_index":8817,"title":{},"content":{"2290":{"position":[[232,21]]}},"keywords":{}}],["descriptionscen",{"_index":8735,"title":{},"content":{"2253":{"position":[[513,16]]},"2417":{"position":[[313,16],[797,18],[3937,16],[4395,16],[7940,16],[8422,16],[10926,16]]},"2473":{"position":[[694,16]]}},"keywords":{}}],["descriptionsystem.act",{"_index":7481,"title":{},"content":{"1899":{"position":[[97,24],[234,24]]},"1914":{"position":[[90,24],[220,24]]}},"keywords":{}}],["descriptionsystem.action<mirage.inetworkplay",{"_index":9097,"title":{},"content":{"2421":{"position":[[782,50]]}},"keywords":{}}],["descriptionsystem.action<t>",{"_index":8615,"title":{},"content":{"2204":{"position":[[2123,33]]}},"keywords":{}}],["descriptionsystem.action<t0",{"_index":7485,"title":{},"content":{"1902":{"position":[[125,31],[304,31]]},"1920":{"position":[[118,31],[290,31]]}},"keywords":{}}],["descriptionsystem.action<t0>",{"_index":7475,"title":{},"content":{"1897":{"position":[[117,34],[284,34]]},"1916":{"position":[[110,34],[270,34]]}},"keywords":{}}],["descriptionsystem.arraysegment<system.byte>",{"_index":7245,"title":{},"content":{"1820":{"position":[[565,49]]},"2003":{"position":[[2704,49]]},"2016":{"position":[[464,49]]},"2023":{"position":[[389,49],[3960,49]]},"2031":{"position":[[349,49]]},"2114":{"position":[[1756,49]]},"2296":{"position":[[337,49]]},"2351":{"position":[[1080,49]]},"2401":{"position":[[1179,49]]},"2458":{"position":[[1194,49],[1971,49],[2636,49],[3179,49]]}},"keywords":{}}],["descriptionsystem.arraysegment<t>",{"_index":7796,"title":{},"content":{"2003":{"position":[[3782,39]]}},"keywords":{}}],["descriptionsystem.boolean",{"_index":7226,"title":{},"content":{"1806":{"position":[[167,25]]},"1812":{"position":[[196,25]]},"1835":{"position":[[244,25]]},"1844":{"position":[[114,25]]},"1848":{"position":[[63,25]]},"1855":{"position":[[128,25],[1584,25],[2959,25]]},"1860":{"position":[[128,25],[1261,25],[1564,25],[1848,25],[2757,25],[3001,25],[3229,25],[3461,25],[3685,25],[3911,25]]},"1865":{"position":[[128,25],[1327,25],[1468,25],[1662,25],[2256,25],[2775,25]]},"1874":{"position":[[128,25]]},"1878":{"position":[[88,25]]},"1939":{"position":[[995,25],[1173,25],[1353,25]]},"1966":{"position":[[1797,25],[2186,25],[2585,25]]},"1979":{"position":[[1220,25]]},"2023":{"position":[[153,25],[844,25],[1042,25],[1243,25],[1339,25]]},"2027":{"position":[[556,25]]},"2031":{"position":[[496,25]]},"2056":{"position":[[3471,25]]},"2100":{"position":[[203,25]]},"2103":{"position":[[626,25]]},"2114":{"position":[[397,25],[2043,25]]},"2158":{"position":[[614,25]]},"2204":{"position":[[535,25],[794,25],[1340,25]]},"2210":{"position":[[136,25]]},"2223":{"position":[[384,25]]},"2227":{"position":[[405,25]]},"2229":{"position":[[184,25]]},"2290":{"position":[[384,25]]},"2301":{"position":[[168,25]]},"2303":{"position":[[344,25]]},"2306":{"position":[[583,25]]},"2311":{"position":[[763,25]]},"2332":{"position":[[264,25]]},"2343":{"position":[[272,25],[435,25]]},"2359":{"position":[[165,25],[1043,25],[2106,25],[2315,25],[2450,25],[2941,25],[3683,25],[4386,25],[4607,25],[4832,25]]},"2371":{"position":[[263,25]]},"2383":{"position":[[498,25]]},"2397":{"position":[[439,25]]},"2401":{"position":[[2174,25],[2834,25]]},"2404":{"position":[[455,25]]},"2411":{"position":[[238,25],[557,25]]},"2417":{"position":[[443,25]]},"2429":{"position":[[565,25]]},"2434":{"position":[[396,25]]},"2441":{"position":[[228,25]]},"2473":{"position":[[184,25]]},"2489":{"position":[[255,25]]},"2516":{"position":[[720,25],[939,25],[1148,25],[1373,25]]}},"keywords":{}}],["descriptionsystem.byt",{"_index":7785,"title":{},"content":{"2003":{"position":[[2431,24],[2980,24]]},"2010":{"position":[[841,24],[1048,24]]},"2016":{"position":[[920,24],[1388,24]]},"2023":{"position":[[531,24],[686,24],[1666,22],[3722,24]]},"2031":{"position":[[228,24],[902,22],[3875,24]]},"2056":{"position":[[2801,22]]},"2110":{"position":[[77,24]]},"2114":{"position":[[830,24],[1149,24],[1410,24],[1689,24],[1997,24],[2219,24],[2392,24]]},"2119":{"position":[[77,24],[489,24]]},"2126":{"position":[[144,24],[339,24],[406,22],[582,24],[785,24],[1024,24],[1221,24],[1463,24],[1663,24]]},"2141":{"position":[[179,24],[479,24],[764,24],[971,24]]},"2152":{"position":[[213,24]]},"2158":{"position":[[984,24]]},"2189":{"position":[[77,24]]},"2223":{"position":[[537,24]]},"2227":{"position":[[578,24]]},"2458":{"position":[[925,24],[1412,24],[1679,24],[2212,24],[2427,24],[2794,24],[2968,24],[3339,24]]}},"keywords":{}}],["descriptionsystem.char",{"_index":8171,"title":{},"content":{"2056":{"position":[[3239,22]]}},"keywords":{}}],["descriptionsystem.collections.generic.dictionary<tkey",{"_index":7799,"title":{},"content":{"2003":{"position":[[4113,57]]}},"keywords":{}}],["descriptionsystem.collections.generic.dictionary.enumerator<>",{"_index":7288,"title":{},"content":{"1842":{"position":[[110,67]]}},"keywords":{}}],["descriptionsystem.collections.generic.hashset<mirage.inetworkplayer>",{"_index":8631,"title":{},"content":{"2229":{"position":[[405,74]]},"2301":{"position":[[373,74]]},"2383":{"position":[[983,74]]},"2397":{"position":[[924,74]]},"2404":{"position":[[940,74]]},"2434":{"position":[[1069,74]]},"2473":{"position":[[405,74]]}},"keywords":{}}],["descriptionsystem.collections.generic.hashset.enumerator<>",{"_index":7279,"title":{},"content":{"1838":{"position":[[96,64]]}},"keywords":{}}],["descriptionsystem.collections.generic.icomparer<t>",{"_index":7299,"title":{},"content":{"1850":{"position":[[175,56]]}},"keywords":{}}],["descriptionsystem.collections.generic.idictionary<tkey",{"_index":7367,"title":{},"content":{"1862":{"position":[[150,58]]}},"keywords":{}}],["descriptionsystem.collections.generic.ienumerable<mirage.inetworkplayer>",{"_index":9085,"title":{},"content":{"2417":{"position":[[10096,78]]},"2421":{"position":[[2286,78]]}},"keywords":{}}],["descriptionsystem.collections.generic.ienumerable<mirage.networkidentity>",{"_index":8756,"title":{},"content":{"2265":{"position":[[428,79]]},"2511":{"position":[[515,79]]}},"keywords":{}}],["descriptionsystem.collections.generic.ienumerable<t>",{"_index":7315,"title":{},"content":{"1855":{"position":[[1364,58]]},"1860":{"position":[[2285,58],[2478,58],[2677,58],[2921,58],[3149,58],[3381,58],[3605,58],[3831,58],[4077,58],[4262,58]]},"1874":{"position":[[1366,58]]}},"keywords":{}}],["descriptionsystem.collections.generic.ienumerator<system.collections.generic.keyvaluepair<tkey",{"_index":7391,"title":{},"content":{"1865":{"position":[[2922,101]]}},"keywords":{}}],["descriptionsystem.collections.generic.ienumerator<t>",{"_index":7347,"title":{},"content":{"1855":{"position":[[4040,58]]},"1860":{"position":[[1964,58]]},"1874":{"position":[[1813,58]]}},"keywords":{}}],["descriptionsystem.collections.generic.iequalitycomparer<t>",{"_index":7276,"title":{},"content":{"1837":{"position":[[183,64]]},"1853":{"position":[[171,64]]}},"keywords":{}}],["descriptionsystem.collections.generic.iequalitycomparer<tkey>",{"_index":7283,"title":{},"content":{"1840":{"position":[[195,67]]}},"keywords":{}}],["descriptionsystem.collections.generic.ilist<t>",{"_index":7306,"title":{},"content":{"1853":{"position":[[420,52]]}},"keywords":{}}],["descriptionsystem.collections.generic.ireadonlylist<mirage.inetworkplayer>",{"_index":9102,"title":{},"content":{"2421":{"position":[[1829,80],[4163,80]]}},"keywords":{}}],["descriptionsystem.collections.generic.iset<t>",{"_index":7352,"title":{},"content":{"1857":{"position":[[98,51]]}},"keywords":{}}],["descriptionsystem.collections.generic.keyvaluepair<tkey",{"_index":7384,"title":{},"content":{"1865":{"position":[[1948,59],[2165,59],[2684,59]]}},"keywords":{}}],["descriptionsystem.collections.generic.keyvaluepair{{tkey},{tvalu",{"_index":7387,"title":{},"content":{"1865":{"position":[[2447,69]]}},"keywords":{}}],["descriptionsystem.collections.generic.list<mirage.inetworkplayer>",{"_index":9113,"title":{},"content":{"2421":{"position":[[3663,71]]}},"keywords":{}}],["descriptionsystem.collections.generic.list<t>",{"_index":7329,"title":{},"content":{"1855":{"position":[[2443,51]]},"2003":{"position":[[3245,51]]}},"keywords":{}}],["descriptionsystem.collections.generic.sortedset.enumerator<>",{"_index":7301,"title":{},"content":{"1851":{"position":[[98,66]]}},"keywords":{}}],["descriptionsystem.collections.generic.stack<t>",{"_index":7404,"title":{},"content":{"1872":{"position":[[150,52]]}},"keywords":{}}],["descriptionsystem.collections.ienumer",{"_index":7349,"title":{},"content":{"1855":{"position":[[4197,41]]},"1860":{"position":[[2121,41]]},"1865":{"position":[[3137,41]]},"1874":{"position":[[1970,41]]},"1886":{"position":[[66,41]]}},"keywords":{}}],["descriptionsystem.decim",{"_index":8184,"title":{},"content":{"2056":{"position":[[4640,25]]}},"keywords":{}}],["descriptionsystem.doubl",{"_index":7998,"title":{},"content":{"2023":{"position":[[2405,24]]},"2031":{"position":[[1894,24]]},"2046":{"position":[[124,24]]},"2047":{"position":[[362,24]]},"2056":{"position":[[4403,24]]},"2274":{"position":[[125,24]]},"2359":{"position":[[1884,24],[2061,24],[2270,24]]},"2516":{"position":[[128,24]]}},"keywords":{}}],["descriptionsystem.except",{"_index":7612,"title":{},"content":{"1947":{"position":[[131,27]]}},"keywords":{}}],["descriptionsystem.func<system.str",{"_index":7587,"title":{},"content":{"1935":{"position":[[1372,40]]}},"keywords":{}}],["descriptionsystem.guid",{"_index":8187,"title":{},"content":{"2056":{"position":[[4851,22]]}},"keywords":{}}],["descriptionsystem.int16",{"_index":7988,"title":{},"content":{"2023":{"position":[[1756,23]]},"2031":{"position":[[1023,23]]},"2056":{"position":[[3703,23]]}},"keywords":{}}],["descriptionsystem.int32",{"_index":7323,"title":{},"content":{"1855":{"position":[[1869,23],[2066,23],[2588,23],[2767,23],[3071,23],[3274,23],[3729,23]]},"1971":{"position":[[433,23],[951,23],[1348,23],[1734,23]]},"1981":{"position":[[101,23]]},"1985":{"position":[[130,23]]},"1990":{"position":[[403,23],[935,23],[1190,23]]},"1992":{"position":[[288,23],[574,23]]},"2010":{"position":[[293,23],[481,23],[1403,23]]},"2016":{"position":[[136,23]]},"2019":{"position":[[267,23]]},"2023":{"position":[[993,23],[1194,23],[1940,23],[2508,23],[2739,23],[2962,23],[3273,23],[3915,23]]},"2025":{"position":[[1085,23]]},"2029":{"position":[[100,23],[268,23]]},"2031":{"position":[[1270,23],[3433,23]]},"2033":{"position":[[185,23]]},"2035":{"position":[[122,23]]},"2042":{"position":[[115,23]]},"2054":{"position":[[262,23]]},"2066":{"position":[[135,23],[450,23]]},"2089":{"position":[[84,23],[431,23]]},"2103":{"position":[[465,23]]},"2108":{"position":[[186,23]]},"2110":{"position":[[189,23]]},"2116":{"position":[[82,23]]},"2119":{"position":[[189,23]]},"2122":{"position":[[158,23]]},"2158":{"position":[[1129,23]]},"2164":{"position":[[85,23]]},"2166":{"position":[[91,23],[214,23],[332,23],[452,23],[594,23],[742,23],[896,23],[1040,23],[1190,23],[1330,23],[1476,23]]},"2177":{"position":[[128,23]]},"2185":{"position":[[184,23]]},"2187":{"position":[[318,23]]},"2189":{"position":[[189,23]]},"2191":{"position":[[81,23]]},"2201":{"position":[[112,23],[350,23]]},"2210":{"position":[[240,23]]},"2223":{"position":[[622,23]]},"2227":{"position":[[663,23]]},"2265":{"position":[[879,23],[5269,23],[6100,23],[6438,23]]},"2272":{"position":[[108,23]]},"2332":{"position":[[1137,23],[1797,23]]},"2343":{"position":[[77,23]]},"2359":{"position":[[4938,23]]},"2501":{"position":[[232,23]]},"2509":{"position":[[232,23]]}},"keywords":{}}],["descriptionsystem.int64",{"_index":7994,"title":{},"content":{"2023":{"position":[[2123,23]]},"2025":{"position":[[1534,23]]},"2031":{"position":[[1516,23]]},"2089":{"position":[[237,23],[585,23]]},"2193":{"position":[[1029,23]]},"2204":{"position":[[143,23]]}},"keywords":{}}],["descriptionsystem.net.endpoint",{"_index":8618,"title":{},"content":{"2208":{"position":[[105,30]]}},"keywords":{}}],["descriptionsystem.nullable<t>",{"_index":8190,"title":{},"content":{"2056":{"position":[[5128,35]]}},"keywords":{}}],["descriptionsystem.object",{"_index":8359,"title":{},"content":{"2103":{"position":[[582,24]]},"2210":{"position":[[92,24]]},"2343":{"position":[[391,24]]},"2346":{"position":[[128,24]]}},"keywords":{}}],["descriptionsystem.predicate<t>",{"_index":7325,"title":{},"content":{"1855":{"position":[[2008,36],[2193,36],[2385,36],[3216,36]]}},"keywords":{}}],["descriptionsystem.runtime.serialization.serializationinfo",{"_index":8787,"title":{},"content":{"2269":{"position":[[344,57]]},"2327":{"position":[[529,57]]}},"keywords":{}}],["descriptionsystem.sbyt",{"_index":7986,"title":{},"content":{"2023":{"position":[[1578,23]]},"2031":{"position":[[784,23]]},"2056":{"position":[[3030,23]]}},"keywords":{}}],["descriptionsystem.singl",{"_index":7723,"title":{},"content":{"1987":{"position":[[99,24]]},"1988":{"position":[[80,24],[473,24],[668,24]]},"1990":{"position":[[251,24],[760,24]]},"1996":{"position":[[126,24],[456,24]]},"2000":{"position":[[118,24],[363,24],[555,24],[886,24]]},"2001":{"position":[[150,24],[746,24],[1181,24],[1406,24]]},"2023":{"position":[[2310,24]]},"2031":{"position":[[1767,24]]},"2049":{"position":[[121,24]]},"2050":{"position":[[360,24]]},"2056":{"position":[[4169,24]]},"2068":{"position":[[178,24],[429,24],[673,24],[916,24]]},"2073":{"position":[[156,24],[416,24]]},"2076":{"position":[[224,24],[539,24],[844,24],[1149,24]]},"2078":{"position":[[198,24],[546,24]]},"2516":{"position":[[375,24]]}},"keywords":{}}],["descriptionsystem.str",{"_index":7174,"title":{},"content":{"1775":{"position":[[123,24],[768,24],[1064,24],[1343,24]]},"1935":{"position":[[579,24]]},"1941":{"position":[[145,24],[337,24]]},"1944":{"position":[[173,24]]},"1953":{"position":[[134,24],[203,24],[332,24]]},"1962":{"position":[[123,24]]},"2040":{"position":[[422,24],[1201,24]]},"2179":{"position":[[74,24]]},"2199":{"position":[[791,24]]},"2210":{"position":[[339,24]]},"2212":{"position":[[112,24]]},"2215":{"position":[[108,24]]},"2233":{"position":[[590,24]]},"2269":{"position":[[122,24]]},"2327":{"position":[[278,24]]},"2332":{"position":[[929,24],[1587,24]]},"2351":{"position":[[198,24]]},"2371":{"position":[[1394,24]]},"2401":{"position":[[1587,24]]},"2417":{"position":[[3503,24],[4970,24],[5508,24],[6224,24],[7154,24],[10836,24]]},"2458":{"position":[[619,24]]},"2493":{"position":[[74,24]]},"2495":{"position":[[110,24]]},"2498":{"position":[[74,24]]},"2501":{"position":[[187,24]]},"2516":{"position":[[1594,24]]}},"keywords":{}}],["descriptionsystem.timespan",{"_index":7225,"title":{},"content":{"1806":{"position":[[113,26]]}},"keywords":{}}],["descriptionsystem.typ",{"_index":7576,"title":{},"content":{"1935":{"position":[[345,22]]},"2010":{"position":[[438,22]]}},"keywords":{}}],["descriptionsystem.uint16",{"_index":7990,"title":{},"content":{"2023":{"position":[[1850,24]]},"2031":{"position":[[1149,24]]},"2056":{"position":[[3936,24]]},"2066":{"position":[[1816,24]]},"2103":{"position":[[88,24],[299,24]]},"2126":{"position":[[852,24]]}},"keywords":{}}],["descriptionsystem.uint32",{"_index":7728,"title":{},"content":{"1988":{"position":[[126,24],[427,24]]},"2001":{"position":[[196,24],[792,24],[1135,24]]},"2023":{"position":[[2032,24]]},"2025":{"position":[[1310,24]]},"2031":{"position":[[1394,24]]},"2044":{"position":[[149,24],[285,24]]},"2066":{"position":[[1608,24]]},"2089":{"position":[[125,24],[389,24]]},"2126":{"position":[[1288,24]]},"2204":{"position":[[98,24],[277,24],[748,24],[1511,24],[1637,24]]},"2294":{"position":[[101,24]]},"2303":{"position":[[174,24]]},"2341":{"position":[[97,24]]},"2441":{"position":[[150,24]]}},"keywords":{}}],["descriptionsystem.uint64",{"_index":7739,"title":{},"content":{"1990":{"position":[[1146,24]]},"1992":{"position":[[332,24],[636,24]]},"2023":{"position":[[1486,24],[2216,24],[2552,24],[2860,24]]},"2025":{"position":[[1760,24]]},"2031":{"position":[[661,24],[1641,24],[2025,24],[2444,24],[2972,24]]},"2044":{"position":[[684,24],[999,24]]},"2052":{"position":[[125,24],[372,24]]},"2060":{"position":[[464,24]]},"2065":{"position":[[123,24],[374,24]]},"2066":{"position":[[1406,24]]},"2089":{"position":[[278,24],[543,24]]},"2126":{"position":[[1730,24]]},"2193":{"position":[[111,24],[337,24],[408,24],[622,24],[693,24],[921,24]]},"2359":{"position":[[116,24],[329,24],[1306,24],[1626,24],[4087,24]]}},"keywords":{}}],["descriptionsystem.valuetuple{mirage.socketlayer.iconnection,mirage.socketlayer.iconnect",{"_index":9145,"title":{},"content":{"2458":{"position":[[452,91]]}},"keywords":{}}],["descriptionsystem.valuetuple{system.string,system.str",{"_index":7606,"title":{},"content":{"1944":{"position":[[222,57]]}},"keywords":{}}],["descriptionsystem.void",{"_index":8084,"title":{},"content":{"2031":{"position":[[4686,23]]}},"keywords":{}}],["descriptiont",{"_index":7222,"title":{},"content":{"1803":{"position":[[216,12]]},"1855":{"position":[[1228,12],[1551,12],[1836,12],[2251,12],[2926,12],[3508,12]]},"1860":{"position":[[1228,12],[1391,12],[1531,12],[1815,12]]},"1870":{"position":[[391,12]]},"1874":{"position":[[1230,12],[1675,12]]},"1963":{"position":[[209,12]]},"1998":{"position":[[471,12]]},"2010":{"position":[[641,12],[805,12],[1197,12]]},"2012":{"position":[[1827,12]]},"2023":{"position":[[3505,12]]},"2031":{"position":[[3658,12]]},"2185":{"position":[[300,12],[384,12]]},"2204":{"position":[[244,12],[502,12],[1164,12],[1307,12]]},"2296":{"position":[[131,12],[554,12]]},"2314":{"position":[[125,12]]},"2315":{"position":[[142,12]]},"2316":{"position":[[168,12]]},"2317":{"position":[[185,12]]},"2336":{"position":[[123,12]]},"2338":{"position":[[106,12]]},"2351":{"position":[[867,12],[1304,12]]},"2359":{"position":[[996,12]]},"2401":{"position":[[763,12],[1446,12]]},"2421":{"position":[[1169,12],[1457,12]]}},"keywords":{}}],["descriptiont0",{"_index":7479,"title":{},"content":{"1897":{"position":[[412,13]]},"1902":{"position":[[449,13]]},"1907":{"position":[[466,13]]},"1909":{"position":[[429,13]]}},"keywords":{}}],["descriptiontenumer",{"_index":9109,"title":{},"content":{"2421":{"position":[[2789,22]]}},"keywords":{}}],["descriptiontkey",{"_index":7379,"title":{},"content":{"1865":{"position":[[1292,15],[1433,15],[1614,15],[1784,15]]}},"keywords":{}}],["descriptiontransform",{"_index":8742,"title":{},"content":{"2253":{"position":[[1555,20]]}},"keywords":{}}],["descriptionunityact",{"_index":7489,"title":{},"content":{"1904":{"position":[[107,22],[252,22]]},"1918":{"position":[[100,22],[238,22]]}},"keywords":{}}],["descriptionunityaction<t0",{"_index":7514,"title":{},"content":{"1907":{"position":[[135,29],[322,29]]},"1924":{"position":[[128,29],[308,29]]}},"keywords":{}}],["descriptionunityaction<t0>",{"_index":7517,"title":{},"content":{"1909":{"position":[[127,32],[302,32]]},"1922":{"position":[[120,32],[288,32]]}},"keywords":{}}],["descriptionvector2",{"_index":8218,"title":{},"content":{"2058":{"position":[[2554,18]]},"2062":{"position":[[128,18]]},"2063":{"position":[[365,18]]},"2073":{"position":[[638,18]]},"2074":{"position":[[359,18]]}},"keywords":{}}],["descriptionvector2int",{"_index":8227,"title":{},"content":{"2058":{"position":[[3202,21]]}},"keywords":{}}],["descriptionvector3",{"_index":8221,"title":{},"content":{"2058":{"position":[[2767,18]]},"2070":{"position":[[128,18]]},"2071":{"position":[[365,18]]},"2078":{"position":[[812,18]]},"2079":{"position":[[359,18]]}},"keywords":{}}],["descriptionvector3int",{"_index":8230,"title":{},"content":{"2058":{"position":[[3427,21]]}},"keywords":{}}],["descriptionvector4",{"_index":8224,"title":{},"content":{"2058":{"position":[[2980,18]]}},"keywords":{}}],["description{t",{"_index":7320,"title":{},"content":{"1855":{"position":[[1713,16]]},"1860":{"position":[[1693,16]]},"1874":{"position":[[1577,16]]},"2003":{"position":[[3501,16]]}},"keywords":{}}],["deseri",{"_index":1158,"title":{},"content":{"123":{"position":[[247,11],[326,11]]},"929":{"position":[[27,11]]},"1353":{"position":[[254,11]]},"1358":{"position":[[254,11]]},"1363":{"position":[[254,11]]},"1368":{"position":[[254,11]]},"1373":{"position":[[60,11]]},"1377":{"position":[[60,11]]},"1381":{"position":[[60,11]]},"1385":{"position":[[60,11]]},"1389":{"position":[[60,11]]},"1393":{"position":[[60,11]]},"1397":{"position":[[60,11]]},"1401":{"position":[[60,11]]},"1405":{"position":[[60,11]]},"1409":{"position":[[60,11]]},"1413":{"position":[[60,11]]},"1417":{"position":[[60,11]]},"1421":{"position":[[60,11]]},"1425":{"position":[[60,11]]},"1429":{"position":[[60,11]]},"1433":{"position":[[60,11]]},"1437":{"position":[[14,11]]},"1440":{"position":[[14,11]]},"1450":{"position":[[80,11]]},"2031":{"position":[[2281,13]]},"2242":{"position":[[493,11]]},"2332":{"position":[[337,15]]},"2359":{"position":[[784,13]]}},"keywords":{}}],["deserializefailedexcept",{"_index":8642,"title":{"2268":{"position":[[6,26]]}},"content":{"2240":{"position":[[617,27]]}},"keywords":{}}],["deserializefailedexception(serializationinfo",{"_index":8785,"title":{},"content":{"2269":{"position":[[156,45],[244,44]]}},"keywords":{}}],["deserializefailedexception(str",{"_index":8784,"title":{},"content":{"2269":{"position":[[0,35],[56,33]]}},"keywords":{}}],["deserializesyncvar",{"_index":2834,"title":{},"content":{"346":{"position":[[1402,19]]},"363":{"position":[[378,19],[517,19]]}},"keywords":{}}],["deserializesyncvars(networkread",{"_index":1186,"title":{},"content":{"125":{"position":[[587,33]]},"131":{"position":[[534,33]]},"137":{"position":[[495,33]]},"142":{"position":[[582,33]]},"151":{"position":[[949,33]]},"156":{"position":[[539,33]]},"160":{"position":[[534,33]]},"346":{"position":[[1507,33]]},"2359":{"position":[[3710,34],[3788,33]]}},"keywords":{}}],["design",{"_index":1834,"title":{},"content":{"216":{"position":[[83,9]]},"240":{"position":[[1064,6],[1368,6],[1686,8]]}},"keywords":{}}],["desir",{"_index":923,"title":{},"content":{"82":{"position":[[56,7]]},"264":{"position":[[437,7]]},"360":{"position":[[212,8]]},"1474":{"position":[[15612,7]]}},"keywords":{}}],["desktop",{"_index":1475,"title":{"183":{"position":[[42,9]]}},"content":{"182":{"position":[[2146,7]]},"183":{"position":[[555,7],[1385,7]]},"184":{"position":[[575,7]]}},"keywords":{}}],["despawn",{"_index":8627,"title":{},"content":{"2225":{"position":[[155,9]]}},"keywords":{}}],["despit",{"_index":2297,"title":{},"content":{"270":{"position":[[0,7]]}},"keywords":{}}],["destin",{"_index":1621,"title":{},"content":{"195":{"position":[[344,11]]}},"keywords":{}}],["destroy",{"_index":150,"title":{"109":{"position":[[3,8]]},"222":{"position":[[0,11]]},"232":{"position":[[7,8]]},"234":{"position":[[7,8]]},"255":{"position":[[0,10]]},"277":{"position":[[13,11]]}},"content":{"3":{"position":[[660,7]]},"22":{"position":[[1299,9]]},"53":{"position":[[185,7]]},"63":{"position":[[264,7]]},"103":{"position":[[188,9]]},"109":{"position":[[100,10]]},"163":{"position":[[99,9]]},"164":{"position":[[380,10],[429,9]]},"171":{"position":[[179,10]]},"222":{"position":[[61,7],[103,7]]},"232":{"position":[[55,7],[237,7]]},"234":{"position":[[221,10]]},"235":{"position":[[1569,9],[2149,9]]},"237":{"position":[[101,7]]},"240":{"position":[[1346,8],[2355,7]]},"241":{"position":[[1640,7],[2538,7]]},"242":{"position":[[434,7],[847,7]]},"247":{"position":[[1330,10]]},"251":{"position":[[4247,7],[4650,7]]},"254":{"position":[[366,9],[1362,7]]},"255":{"position":[[345,10]]},"262":{"position":[[810,8]]},"263":{"position":[[154,7]]},"264":{"position":[[1958,9]]},"451":{"position":[[91,10]]},"670":{"position":[[192,7]]},"734":{"position":[[239,9]]},"736":{"position":[[49,9]]},"774":{"position":[[42,10]]},"878":{"position":[[7,7]]},"980":{"position":[[37,7]]},"981":{"position":[[33,7]]},"1173":{"position":[[6,7]]},"1192":{"position":[[23,10]]},"1210":{"position":[[20,9]]},"1350":{"position":[[172,7]]},"1355":{"position":[[172,7]]},"1360":{"position":[[172,7]]},"1365":{"position":[[172,7]]},"1370":{"position":[[172,7]]},"1375":{"position":[[126,7]]},"1379":{"position":[[126,7]]},"1383":{"position":[[126,7]]},"1387":{"position":[[126,7]]},"1391":{"position":[[126,7]]},"1395":{"position":[[126,7]]},"1399":{"position":[[86,7]]},"1403":{"position":[[86,7]]},"1407":{"position":[[86,7]]},"1411":{"position":[[86,7]]},"1415":{"position":[[86,7]]},"1419":{"position":[[86,7]]},"1423":{"position":[[86,7]]},"1427":{"position":[[86,7]]},"1431":{"position":[[86,7]]},"1435":{"position":[[12,7]]},"1466":{"position":[[343,9]]},"1474":{"position":[[823,7],[943,9],[4071,9],[9347,7],[13669,9],[15018,10]]},"1581":{"position":[[6,7]]},"1607":{"position":[[0,9]]},"1655":{"position":[[53,7],[173,9]]},"1686":{"position":[[9,10]]},"1780":{"position":[[464,7]]},"1781":{"position":[[528,7]]},"2128":{"position":[[406,10],[479,9]]},"2265":{"position":[[6935,8]]},"2306":{"position":[[480,9],[750,8],[949,10]]},"2311":{"position":[[255,7]]},"2370":{"position":[[5126,10]]},"2401":{"position":[[2909,7],[2961,9]]},"2478":{"position":[[1948,10],[2807,10]]},"2482":{"position":[[177,10],[1002,10],[3516,8],[4879,8],[4957,8],[5001,9],[5227,8],[5305,8],[5349,9]]}},"keywords":{}}],["destroy(cachedmateri",{"_index":7198,"title":{},"content":{"1780":{"position":[[996,24]]},"1781":{"position":[[1060,24]]}},"keywords":{}}],["destroy(gameobject",{"_index":9181,"title":{},"content":{"2482":{"position":[[4849,19],[5036,18]]}},"keywords":{}}],["destroy(networkident",{"_index":9182,"title":{},"content":{"2482":{"position":[[5192,24],[5384,23]]}},"keywords":{}}],["destroy(righthand.transform.getchild(0).gameobject",{"_index":1997,"title":{},"content":{"240":{"position":[[2601,52]]}},"keywords":{}}],["destroy(transform.getchild(0).gameobject",{"_index":2036,"title":{},"content":{"241":{"position":[[2774,42]]}},"keywords":{}}],["destroyallclientobject",{"_index":3651,"title":{},"content":{"670":{"position":[[218,23]]},"2265":{"position":[[6908,26],[7072,25]]}},"keywords":{}}],["destroycharact",{"_index":3889,"title":{},"content":{"775":{"position":[[58,16]]}},"keywords":{}}],["destroycharacter(inetworkplay",{"_index":9179,"title":{},"content":{"2482":{"position":[[3461,32],[3578,31]]}},"keywords":{}}],["destroydelay(networkident",{"_index":2204,"title":{},"content":{"251":{"position":[[4336,28]]}},"keywords":{}}],["destroyownedobject",{"_index":4014,"title":{},"content":{"842":{"position":[[7,19]]},"1474":{"position":[[605,19]]},"1766":{"position":[[395,19]]},"2306":{"position":[[727,22],[978,21]]},"2401":{"position":[[2886,22],[3031,21]]}},"keywords":{}}],["destroyserverobject",{"_index":2208,"title":{},"content":{"251":{"position":[[4614,20]]},"775":{"position":[[109,19]]},"981":{"position":[[46,19]]},"2482":{"position":[[3623,19],[3729,19],[5072,19],[5171,19],[5423,19],[5532,19]]}},"keywords":{}}],["destruct",{"_index":1824,"title":{},"content":{"213":{"position":[[1393,11]]}},"keywords":{}}],["detach",{"_index":1626,"title":{},"content":{"196":{"position":[[234,8],[400,8]]},"197":{"position":[[285,6]]}},"keywords":{}}],["detail",{"_index":165,"title":{"6":{"position":[[0,8]]}},"content":{"91":{"position":[[5,7]]},"96":{"position":[[92,8]]},"99":{"position":[[228,8]]},"181":{"position":[[54,7]]},"186":{"position":[[428,7]]},"257":{"position":[[282,8]]},"2370":{"position":[[2440,7]]}},"keywords":{}}],["details"",{"_index":1455,"title":{},"content":{"182":{"position":[[1045,14]]}},"keywords":{}}],["detailsnumberofplay",{"_index":3261,"title":{},"content":{"512":{"position":[[44,22]]}},"keywords":{}}],["detect",{"_index":528,"title":{},"content":{"31":{"position":[[360,7]]},"340":{"position":[[355,6]]},"344":{"position":[[8,6]]},"348":{"position":[[684,6]]},"352":{"position":[[8,6]]},"1474":{"position":[[3953,7],[16407,6],[18410,8],[18655,8],[18847,8],[20287,6]]},"1476":{"position":[[1886,6]]},"1733":{"position":[[553,6],[737,8],[933,8],[1125,8]]}},"keywords":{}}],["determin",{"_index":1018,"title":{},"content":{"98":{"position":[[176,9]]},"243":{"position":[[1311,9]]},"260":{"position":[[161,9]]},"264":{"position":[[1030,11]]},"348":{"position":[[783,11]]},"355":{"position":[[14,10]]},"357":{"position":[[15,10],[264,9]]},"1835":{"position":[[97,9]]},"2130":{"position":[[2380,10]]},"2358":{"position":[[1617,10],[1645,11]]},"2370":{"position":[[824,10]]},"2383":{"position":[[177,9]]},"2397":{"position":[[118,9]]},"2404":{"position":[[134,9]]},"2434":{"position":[[75,9]]}},"keywords":{}}],["develop",{"_index":79,"title":{"174":{"position":[[0,11]]}},"content":{"0":{"position":[[1385,11]]},"96":{"position":[[456,7]]},"168":{"position":[[90,10]]},"175":{"position":[[12,11],[1204,11]]},"179":{"position":[[205,11]]}},"keywords":{}}],["deviat",{"_index":9020,"title":{},"content":{"2408":{"position":[[257,9],[768,9]]}},"keywords":{}}],["devic",{"_index":338,"title":{},"content":{"14":{"position":[[913,8]]},"183":{"position":[[837,7]]}},"keywords":{}}],["df16a7d)dont",{"_index":5663,"title":{},"content":{"1474":{"position":[[9772,13]]}},"keywords":{}}],["df16a7d)fix",{"_index":6698,"title":{},"content":{"1496":{"position":[[108,15]]}},"keywords":{}}],["df1ccb4",{"_index":5093,"title":{},"content":{"1309":{"position":[[68,9]]}},"keywords":{}}],["df1e379",{"_index":4582,"title":{},"content":{"1074":{"position":[[47,9]]}},"keywords":{}}],["df4149b",{"_index":7027,"title":{},"content":{"1691":{"position":[[37,9]]}},"keywords":{}}],["df4149b)exampl",{"_index":5679,"title":{},"content":{"1474":{"position":[[10238,17]]}},"keywords":{}}],["df499ab",{"_index":4491,"title":{},"content":{"1041":{"position":[[37,9]]}},"keywords":{}}],["df719b2",{"_index":3355,"title":{},"content":{"546":{"position":[[29,9]]}},"keywords":{}}],["df7baa4)compil",{"_index":5612,"title":{},"content":{"1474":{"position":[[8407,20]]},"1751":{"position":[[18,20]]}},"keywords":{}}],["df9c29a",{"_index":7159,"title":{},"content":{"1766":{"position":[[744,9]]}},"keywords":{}}],["df9c29a)first",{"_index":5687,"title":{},"content":{"1474":{"position":[[10657,14]]}},"keywords":{}}],["dffdf02)network",{"_index":6256,"title":{},"content":{"1476":{"position":[[5079,16]]}},"keywords":{}}],["dffdf02)networkanim",{"_index":7151,"title":{},"content":{"1763":{"position":[[44,24]]}},"keywords":{}}],["di",{"_index":2231,"title":{},"content":{"255":{"position":[[56,5]]}},"keywords":{}}],["diagram",{"_index":2054,"title":{},"content":{"243":{"position":[[1077,7]]}},"keywords":{}}],["dialog",{"_index":1579,"title":{},"content":{"190":{"position":[[193,6],[836,6]]}},"keywords":{}}],["dict",{"_index":5463,"title":{},"content":{"1474":{"position":[[4132,4]]}},"keywords":{}}],["dictat",{"_index":8734,"title":{},"content":{"2253":{"position":[[338,7]]}},"keywords":{}}],["dictionari",{"_index":2563,"title":{"341":{"position":[[5,10]]}},"content":{"314":{"position":[[516,11]]},"344":{"position":[[243,12],[630,10]]},"345":{"position":[[770,10],[831,10],[889,10]]},"421":{"position":[[18,10]]},"877":{"position":[[52,10]]},"1114":{"position":[[13,10]]},"1474":{"position":[[2832,10],[6856,10]]},"1479":{"position":[[2692,10]]},"1705":{"position":[[45,10]]},"1745":{"position":[[27,10]]},"2003":{"position":[[2071,11],[2217,10]]},"2093":{"position":[[534,10]]},"2263":{"position":[[509,10],[639,10]]},"2265":{"position":[[1608,10],[2586,10],[4176,10]]}},"keywords":{}}],["dictionary<networkident",{"_index":7393,"title":{},"content":{"1869":{"position":[[79,30]]}},"keywords":{}}],["dictionary<tkey",{"_index":7284,"title":{},"content":{"1841":{"position":[[28,19],[118,19]]},"1842":{"position":[[37,19]]},"2003":{"position":[[1884,19],[2040,19],[3929,19]]}},"keywords":{}}],["dictionary<ulong",{"_index":8751,"title":{},"content":{"2263":{"position":[[711,20]]}},"keywords":{}}],["didn't",{"_index":1087,"title":{},"content":{"117":{"position":[[1205,6]]}},"keywords":{}}],["differ",{"_index":42,"title":{},"content":{"0":{"position":[[722,9]]},"3":{"position":[[158,11]]},"9":{"position":[[167,9]]},"71":{"position":[[1088,9]]},"72":{"position":[[102,9]]},"89":{"position":[[244,9]]},"119":{"position":[[312,9],[412,9]]},"164":{"position":[[560,9]]},"179":{"position":[[297,9]]},"187":{"position":[[140,9],[521,9]]},"191":{"position":[[532,9]]},"211":{"position":[[2044,9]]},"217":{"position":[[461,9]]},"235":{"position":[[488,12]]},"243":{"position":[[82,11],[942,9],[1006,9]]},"248":{"position":[[47,11]]},"254":{"position":[[119,9],[160,9]]},"264":{"position":[[1740,11]]},"270":{"position":[[168,9]]},"304":{"position":[[62,9],[315,9]]},"315":{"position":[[291,9]]},"344":{"position":[[161,9],[185,9]]},"345":{"position":[[821,9]]},"352":{"position":[[155,9],[179,9]]},"353":{"position":[[755,9]]},"355":{"position":[[196,9],[226,9]]},"586":{"position":[[35,9]]},"1474":{"position":[[316,9],[12987,9],[13018,9],[13051,9],[15949,9],[15980,9],[16013,9],[18530,10],[18775,10],[18967,10],[20955,9]]},"1476":{"position":[[8957,9],[9276,9]]},"1562":{"position":[[548,9]]},"1585":{"position":[[137,9]]},"1733":{"position":[[857,10],[1053,10],[1245,10]]},"1766":{"position":[[209,9]]},"1952":{"position":[[418,9]]},"1983":{"position":[[1557,9],[1596,9],[3094,9],[3133,9]]},"2240":{"position":[[2649,9],[5196,9]]},"2358":{"position":[[127,9]]},"2408":{"position":[[389,10]]},"2478":{"position":[[1894,9],[2051,9],[2753,9],[2910,9]]},"2482":{"position":[[123,9],[280,9],[948,9],[1105,9]]}},"keywords":{}}],["differenti",{"_index":2753,"title":{},"content":{"337":{"position":[[338,13]]}},"keywords":{}}],["dino",{"_index":2496,"title":{},"content":{"297":{"position":[[165,4]]}},"keywords":{}}],["direct",{"_index":603,"title":{"355":{"position":[[5,10]]}},"content":{"41":{"position":[[161,9]]},"64":{"position":[[116,6]]},"85":{"position":[[812,6]]},"130":{"position":[[2,9],[219,10],[299,9],[335,9]]},"141":{"position":[[100,10]]},"159":{"position":[[2,9],[219,10],[299,9],[335,9]]},"271":{"position":[[122,6]]},"333":{"position":[[454,9]]},"355":{"position":[[31,10],[77,9],[135,10],[241,11],[374,10],[545,9],[608,10]]},"530":{"position":[[84,9]]},"531":{"position":[[12,9]]},"1867":{"position":[[118,9]]}},"keywords":{}}],["directionsync",{"_index":2865,"title":{},"content":{"355":{"position":[[650,13]]}},"keywords":{}}],["directli",{"_index":173,"title":{},"content":{"6":{"position":[[294,9]]},"30":{"position":[[166,8]]},"57":{"position":[[449,8]]},"71":{"position":[[1980,8]]},"99":{"position":[[380,8]]},"117":{"position":[[3147,8]]},"172":{"position":[[182,8],[414,8]]},"242":{"position":[[752,8]]},"243":{"position":[[1827,8]]},"335":{"position":[[489,8]]},"1349":{"position":[[53,8]]},"1354":{"position":[[53,8]]},"1359":{"position":[[53,8]]},"1364":{"position":[[53,8]]},"1369":{"position":[[53,8]]},"1374":{"position":[[53,8]]},"1378":{"position":[[53,8]]},"1382":{"position":[[53,8]]},"1386":{"position":[[53,8]]},"1390":{"position":[[53,8]]},"1394":{"position":[[53,8]]},"1398":{"position":[[53,8]]},"1402":{"position":[[53,8]]},"1406":{"position":[[53,8]]},"1410":{"position":[[53,8]]},"1414":{"position":[[53,8]]},"1418":{"position":[[53,8]]},"1422":{"position":[[53,8]]},"1426":{"position":[[53,8]]},"1430":{"position":[[53,8]]},"1434":{"position":[[14,8]]},"1438":{"position":[[14,8]]},"1449":{"position":[[22,8]]},"1474":{"position":[[9755,8],[9786,8]]},"1477":{"position":[[3081,8]]},"1496":{"position":[[91,8]]},"1508":{"position":[[5,8]]},"1636":{"position":[[200,8]]},"1778":{"position":[[435,9]]},"1782":{"position":[[501,9]]},"1803":{"position":[[151,8]]},"2093":{"position":[[970,8]]},"2152":{"position":[[30,8]]},"2240":{"position":[[5588,8],[7204,8]]}},"keywords":{}}],["directori",{"_index":1619,"title":{},"content":{"195":{"position":[[265,10],[306,9]]},"196":{"position":[[589,9]]},"622":{"position":[[226,9]]}},"keywords":{}}],["dirti",{"_index":2734,"title":{},"content":{"335":{"position":[[206,5],[346,5],[437,5],[505,5],[646,6],[841,5],[884,5],[921,5],[939,5],[1057,5],[1444,5],[1462,5],[1571,5],[1692,5]]},"337":{"position":[[729,5],[798,5],[1043,6],[1082,5],[1234,5],[1339,5]]},"346":{"position":[[749,5],[1752,5],[2139,5],[2415,5],[2521,5]]},"357":{"position":[[137,6]]},"361":{"position":[[82,5]]},"471":{"position":[[43,5]]},"528":{"position":[[96,5]]},"537":{"position":[[346,5]]},"872":{"position":[[15,5]]},"1009":{"position":[[0,5]]},"1352":{"position":[[17,5]]},"1357":{"position":[[17,5]]},"1362":{"position":[[17,5]]},"1367":{"position":[[17,5]]},"1372":{"position":[[17,5]]},"1477":{"position":[[59,5]]},"1586":{"position":[[7,5]]},"1855":{"position":[[3340,5],[3574,5]]},"2359":{"position":[[1120,6],[1393,5],[1427,5],[1769,5],[1960,5],[2389,5]]},"2529":{"position":[[89,6],[153,5]]}},"keywords":{}}],["dirtybit",{"_index":8941,"title":{},"content":{"2359":{"position":[[83,9],[141,8],[284,9],[354,8],[4042,9],[4112,8]]}},"keywords":{}}],["dirtymask",{"_index":1189,"title":{},"content":{"125":{"position":[[781,9],[812,11]]},"131":{"position":[[721,9],[752,11]]},"137":{"position":[[673,9],[704,11]]},"142":{"position":[[776,9],[807,11]]},"151":{"position":[[1194,9],[1225,11],[1312,11]]},"156":{"position":[[732,9],[763,11]]},"160":{"position":[[721,9],[752,11]]}},"keywords":{}}],["dirtysyncvar",{"_index":2844,"title":{},"content":{"346":{"position":[[2073,13],[2148,15],[2424,15],[2530,15]]}},"keywords":{}}],["disabl",{"_index":137,"title":{},"content":{"3":{"position":[[257,8]]},"4":{"position":[[338,8]]},"22":{"position":[[1239,8]]},"202":{"position":[[634,7]]},"211":{"position":[[264,7],[736,7]]},"235":{"position":[[915,7]]},"243":{"position":[[2399,7]]},"251":{"position":[[2635,7]]},"254":{"position":[[718,7]]},"263":{"position":[[510,8],[819,9]]},"264":{"position":[[1946,8],[2116,7]]},"356":{"position":[[73,9]]},"504":{"position":[[131,7]]},"507":{"position":[[17,7]]},"545":{"position":[[105,7]]},"737":{"position":[[77,8]]},"794":{"position":[[63,8]]},"804":{"position":[[32,7]]},"1042":{"position":[[28,8]]},"1054":{"position":[[0,9]]},"1350":{"position":[[13,8]]},"1355":{"position":[[13,8]]},"1360":{"position":[[13,8]]},"1365":{"position":[[13,8]]},"1370":{"position":[[13,8]]},"1474":{"position":[[4576,8],[10317,7],[10356,8],[22393,8]]},"1562":{"position":[[316,7],[355,8]]},"1566":{"position":[[1828,8]]},"2240":{"position":[[961,8]]},"2263":{"position":[[527,8]]},"2503":{"position":[[293,9]]}},"keywords":{}}],["disablereliablelay",{"_index":3210,"title":{},"content":{"496":{"position":[[41,20]]},"2130":{"position":[[2699,21],[2852,20]]}},"keywords":{}}],["disallowmultiplecompon",{"_index":3373,"title":{},"content":{"553":{"position":[[15,25]]}},"keywords":{}}],["discard",{"_index":7264,"title":{},"content":{"1835":{"position":[[291,7]]}},"keywords":{}}],["disconnect",{"_index":307,"title":{},"content":{"13":{"position":[[380,10]]},"14":{"position":[[1958,10]]},"103":{"position":[[214,12]]},"231":{"position":[[26,13]]},"233":{"position":[[94,12]]},"272":{"position":[[969,12],[1734,12]]},"384":{"position":[[9,12]]},"400":{"position":[[45,13]]},"407":{"position":[[42,10]]},"485":{"position":[[9,10]]},"487":{"position":[[81,10]]},"562":{"position":[[82,12]]},"742":{"position":[[30,13]]},"881":{"position":[[25,10]]},"922":{"position":[[12,12]]},"931":{"position":[[46,10]]},"947":{"position":[[7,10],[35,10]]},"954":{"position":[[218,10]]},"958":{"position":[[479,10]]},"971":{"position":[[24,10]]},"1045":{"position":[[115,10]]},"1047":{"position":[[131,10]]},"1131":{"position":[[37,13]]},"1256":{"position":[[13,10]]},"1262":{"position":[[0,10]]},"1325":{"position":[[57,13]]},"1329":{"position":[[57,13]]},"1341":{"position":[[31,13]]},"1350":{"position":[[133,10]]},"1355":{"position":[[133,10]]},"1360":{"position":[[133,10]]},"1365":{"position":[[133,10]]},"1370":{"position":[[133,10]]},"1375":{"position":[[87,10]]},"1379":{"position":[[87,10]]},"1383":{"position":[[87,10]]},"1387":{"position":[[87,10]]},"1391":{"position":[[87,10]]},"1395":{"position":[[87,10]]},"1399":{"position":[[47,10]]},"1403":{"position":[[47,10]]},"1407":{"position":[[47,10]]},"1411":{"position":[[47,10]]},"1415":{"position":[[47,10]]},"1419":{"position":[[47,10]]},"1423":{"position":[[47,10]]},"1427":{"position":[[47,10]]},"1431":{"position":[[47,10]]},"1474":{"position":[[71,10],[431,13],[3561,10],[6427,11],[7842,12],[7884,12],[9395,10],[12008,12],[16918,10],[18156,13],[19632,10]]},"1477":{"position":[[3766,10]]},"1576":{"position":[[0,10]]},"1580":{"position":[[178,10]]},"1603":{"position":[[0,10]]},"1620":{"position":[[40,11]]},"1626":{"position":[[13,12],[55,12]]},"1648":{"position":[[137,10]]},"1731":{"position":[[0,10]]},"1890":{"position":[[1031,14]]},"1926":{"position":[[106,14]]},"2094":{"position":[[205,12]]},"2124":{"position":[[276,11],[348,10]]},"2128":{"position":[[190,13],[225,12],[298,12]]},"2130":{"position":[[729,13],[1043,10]]},"2134":{"position":[[141,10],[237,10]]},"2141":{"position":[[0,13],[32,12]]},"2181":{"position":[[133,11]]},"2240":{"position":[[2146,10]]},"2243":{"position":[[177,12]]},"2259":{"position":[[0,13],[27,12]]},"2261":{"position":[[162,10],[263,10],[354,12],[634,10],[881,10]]},"2299":{"position":[[271,13],[303,12]]},"2306":{"position":[[445,11],[687,13],[824,12],[866,12]]},"2325":{"position":[[50,13]]},"2350":{"position":[[730,13],[777,12],[901,12]]},"2351":{"position":[[274,13],[288,10],[316,10],[377,12]]},"2401":{"position":[[270,13],[284,11],[310,12],[377,12],[429,13],[457,10],[488,12]]},"2417":{"position":[[9298,11]]},"2420":{"position":[[541,13],[594,12]]},"2421":{"position":[[39,11]]}},"keywords":{}}],["disconnect)network",{"_index":1344,"title":{},"content":{"171":{"position":[[402,18]]}},"keywords":{}}],["disconnectaddlateev",{"_index":7461,"title":{"1911":{"position":[[6,22]]}},"content":{"1890":{"position":[[831,23]]},"1911":{"position":[[6,22],[1464,22]]}},"keywords":{}}],["disconnectdur",{"_index":8427,"title":{},"content":{"2130":{"position":[[1008,19],[1125,18]]}},"keywords":{}}],["disconnectedplay",{"_index":9081,"title":{},"content":{"2417":{"position":[[9573,19],[9649,18]]}},"keywords":{}}],["disconnectev",{"_index":7462,"title":{"1912":{"position":[[6,15]]}},"content":{"1890":{"position":[[913,16]]},"1912":{"position":[[6,15],[85,15]]}},"keywords":{}}],["disconnectevent>",{"_index":7532,"title":{},"content":{"1911":{"position":[[1531,20]]}},"keywords":{}}],["disconnectonexcept",{"_index":8856,"title":{},"content":{"2319":{"position":[[120,22],[259,21]]},"2349":{"position":[[247,22],[295,21]]},"2419":{"position":[[309,22],[357,21]]}},"keywords":{}}],["disconnectreason",{"_index":8337,"title":{"2133":{"position":[[5,16]]}},"content":{"2094":{"position":[[159,17]]}},"keywords":{}}],["discord",{"_index":764,"title":{"78":{"position":[[0,8]]}},"content":{"59":{"position":[[229,7]]},"78":{"position":[[19,8]]},"168":{"position":[[241,7]]}},"keywords":{}}],["discoveri",{"_index":18,"title":{"8":{"position":[[8,9]]},"10":{"position":[[15,10]]}},"content":{"0":{"position":[[338,9],[356,9]]},"9":{"position":[[15,9],[151,9]]},"10":{"position":[[274,9]]},"1474":{"position":[[15691,9]]},"1476":{"position":[[4396,9]]},"1745":{"position":[[76,9]]},"1747":{"position":[[59,9]]}},"keywords":{}}],["discoveryrequest",{"_index":253,"title":{},"content":{"10":{"position":[[825,16],[2088,16],[2131,19]]}},"keywords":{}}],["discoveryrespons",{"_index":260,"title":{},"content":{"10":{"position":[[1024,17],[1883,17],[2020,20]]}},"keywords":{}}],["discoveryresponse>",{"_index":279,"title":{},"content":{"10":{"position":[[1683,21]]}},"keywords":{}}],["disk",{"_index":1590,"title":{},"content":{"190":{"position":[[794,4],[831,4],[869,4],[897,5],[913,4],[966,4],[1316,6]]}},"keywords":{}}],["display",{"_index":88,"title":{"21":{"position":[[13,7]]}},"content":{"0":{"position":[[1562,7]]},"4":{"position":[[57,8],[322,7],[367,9]]},"9":{"position":[[560,7]]},"10":{"position":[[1333,7]]},"14":{"position":[[1725,8],[1874,8]]},"21":{"position":[[13,7],[34,7]]},"356":{"position":[[1107,7]]},"715":{"position":[[32,10]]},"826":{"position":[[43,7]]},"857":{"position":[[21,7]]},"879":{"position":[[24,7]]},"1301":{"position":[[0,7]]},"1335":{"position":[[0,7]]},"1476":{"position":[[1653,8]]},"1567":{"position":[[680,8]]},"2240":{"position":[[3358,7]]}},"keywords":{}}],["displaymetr",{"_index":7448,"title":{},"content":{"1885":{"position":[[100,15],[161,14]]},"1888":{"position":[[100,15],[161,14]]}},"keywords":{}}],["displaymetricsaveragegui",{"_index":7443,"title":{"1879":{"position":[[6,24]]}},"content":{"1883":{"position":[[0,25]]},"1885":{"position":[[136,24]]},"1888":{"position":[[136,24]]}},"keywords":{}}],["displaynetwork",{"_index":87,"title":{},"content":{"0":{"position":[[1542,14]]}},"keywords":{}}],["displayturnippric",{"_index":2474,"title":{},"content":{"294":{"position":[[789,20]]}},"keywords":{}}],["dispos",{"_index":4083,"title":{},"content":{"860":{"position":[[19,7]]},"1281":{"position":[[30,7]]},"1848":{"position":[[133,10],[169,9]]},"2023":{"position":[[119,10],[179,9],[221,10],[257,9]]},"2027":{"position":[[522,10],[582,9]]},"2114":{"position":[[0,10],[36,9]]},"2240":{"position":[[49,10]]},"2248":{"position":[[0,10],[36,9]]}},"keywords":{}}],["dispose(bool",{"_index":7972,"title":{},"content":{"2023":{"position":[[106,12]]},"2027":{"position":[[509,12]]}},"keywords":{}}],["dispose(boolean",{"_index":7971,"title":{},"content":{"2023":{"position":[[52,17]]},"2027":{"position":[[454,17]]}},"keywords":{}}],["distanc",{"_index":2273,"title":{},"content":{"264":{"position":[[1295,8],[1439,8]]},"444":{"position":[[420,9]]},"2193":{"position":[[783,8]]},"2203":{"position":[[154,8]]},"2240":{"position":[[3833,8]]}},"keywords":{}}],["distance(uint64",{"_index":8573,"title":{},"content":{"2193":{"position":[[742,16]]}},"keywords":{}}],["distance(ulong",{"_index":8574,"title":{},"content":{"2193":{"position":[[867,14]]}},"keywords":{}}],["distancetoread(uint",{"_index":8598,"title":{},"content":{"2204":{"position":[[49,19]]}},"keywords":{}}],["distancetoread(uint32",{"_index":8597,"title":{},"content":{"2204":{"position":[[0,23]]}},"keywords":{}}],["distinguish",{"_index":965,"title":{},"content":{"89":{"position":[[167,11]]}},"keywords":{}}],["distribut",{"_index":8935,"title":{},"content":{"2358":{"position":[[1551,11]]}},"keywords":{}}],["divis",{"_index":6504,"title":{},"content":{"1477":{"position":[[3042,8]]}},"keywords":{}}],["dll",{"_index":5969,"title":{},"content":{"1474":{"position":[[20388,4]]}},"keywords":{}}],["dn",{"_index":329,"title":{},"content":{"14":{"position":[[405,4]]}},"keywords":{}}],["dnspi",{"_index":2712,"title":{},"content":{"329":{"position":[[23,5]]}},"keywords":{}}],["do",{"_index":519,"title":{},"content":{"30":{"position":[[132,5]]},"1211":{"position":[[8,3]]},"1247":{"position":[[0,3]]},"1318":{"position":[[0,3]]},"1474":{"position":[[15720,3],[15796,3]]},"1477":{"position":[[1332,5]]},"1568":{"position":[[61,5]]}},"keywords":{}}],["doc",{"_index":3195,"title":{},"content":{"487":{"position":[[41,4]]},"617":{"position":[[25,4]]},"893":{"position":[[50,4]]},"1024":{"position":[[313,4]]},"1047":{"position":[[384,4]]},"1058":{"position":[[107,4]]},"1279":{"position":[[30,4]]},"1474":{"position":[[21831,3]]},"1693":{"position":[[212,3]]}},"keywords":{}}],["document",{"_index":170,"title":{},"content":{"6":{"position":[[219,13]]},"94":{"position":[[667,13]]},"95":{"position":[[211,13]]},"245":{"position":[[3352,13]]},"304":{"position":[[41,13]]},"983":{"position":[[19,13]]},"1479":{"position":[[684,8]]},"1535":{"position":[[97,8]]},"1983":{"position":[[279,13],[415,13],[588,13],[3386,13]]}},"keywords":{}}],["doesn't",{"_index":367,"title":{},"content":{"15":{"position":[[467,7]]},"240":{"position":[[1129,7]]},"270":{"position":[[333,7],[367,7]]},"274":{"position":[[230,7],[274,7]]},"328":{"position":[[492,7]]},"514":{"position":[[187,7]]},"764":{"position":[[207,7]]},"1046":{"position":[[86,7]]},"1474":{"position":[[815,7],[5328,7]]},"1577":{"position":[[42,7]]},"1655":{"position":[[45,7]]},"1870":{"position":[[494,7]]},"2003":{"position":[[108,7]]}},"keywords":{}}],["doesn’t",{"_index":435,"title":{},"content":{"22":{"position":[[573,7]]}},"keywords":{}}],["domagic(inetworkplay",{"_index":2430,"title":{},"content":{"288":{"position":[[2134,22]]}},"keywords":{}}],["domagic(opponentidentity.own",{"_index":2429,"title":{},"content":{"288":{"position":[[2040,31]]}},"keywords":{}}],["domain",{"_index":322,"title":{},"content":{"14":{"position":[[316,6]]},"1151":{"position":[[50,6]]},"1474":{"position":[[8972,6]]},"1576":{"position":[[29,6]]}},"keywords":{}}],["don't",{"_index":524,"title":{},"content":{"30":{"position":[[409,5]]},"53":{"position":[[178,6]]},"164":{"position":[[695,5]]},"189":{"position":[[101,5]]},"203":{"position":[[2226,5]]},"213":{"position":[[757,5]]},"303":{"position":[[563,5]]},"315":{"position":[[14,5]]},"356":{"position":[[17,5],[1549,5]]},"358":{"position":[[156,5]]},"683":{"position":[[0,5]]},"1173":{"position":[[0,5]]},"1233":{"position":[[0,5]]},"1311":{"position":[[0,5]]},"1353":{"position":[[287,5]]},"1358":{"position":[[287,5]]},"1363":{"position":[[287,5]]},"1368":{"position":[[287,5]]},"1373":{"position":[[93,5]]},"1377":{"position":[[93,5]]},"1381":{"position":[[93,5]]},"1385":{"position":[[93,5]]},"1389":{"position":[[93,5]]},"1393":{"position":[[93,5]]},"1397":{"position":[[93,5]]},"1401":{"position":[[93,5]]},"1405":{"position":[[93,5]]},"1409":{"position":[[93,5]]},"1413":{"position":[[93,5]]},"1417":{"position":[[93,5]]},"1421":{"position":[[93,5]]},"1425":{"position":[[93,5]]},"1429":{"position":[[93,5]]},"1433":{"position":[[93,5]]},"1437":{"position":[[47,5]]},"1440":{"position":[[47,5]]},"1461":{"position":[[35,5]]},"1581":{"position":[[0,5]]},"1713":{"position":[[0,5]]},"1740":{"position":[[0,5]]}},"keywords":{}}],["done",{"_index":197,"title":{},"content":{"9":{"position":[[104,4],[394,4]]},"42":{"position":[[139,4]]},"67":{"position":[[868,4]]},"71":{"position":[[2180,4]]},"105":{"position":[[70,4]]},"106":{"position":[[88,4]]},"183":{"position":[[332,4],[1282,4],[1800,5]]},"184":{"position":[[496,4]]},"201":{"position":[[868,4]]},"203":{"position":[[948,5]]},"209":{"position":[[2368,5]]},"223":{"position":[[16,4]]},"248":{"position":[[1359,4]]},"286":{"position":[[75,4]]},"303":{"position":[[85,4]]},"320":{"position":[[113,4]]},"333":{"position":[[201,4]]},"847":{"position":[[505,5]]},"1476":{"position":[[8255,4]]},"1698":{"position":[[17,4]]}},"keywords":{}}],["donoth",{"_index":9208,"title":{},"content":{"2503":{"position":[[0,10],[81,9]]}},"keywords":{}}],["dont",{"_index":1866,"title":{},"content":{"225":{"position":[[339,4]]},"237":{"position":[[72,4]]},"238":{"position":[[692,4]]},"251":{"position":[[1388,4]]},"438":{"position":[[84,4]]},"582":{"position":[[0,4]]},"628":{"position":[[43,4]]},"1486":{"position":[[0,4]]},"1508":{"position":[[0,4]]},"1512":{"position":[[0,4]]},"1990":{"position":[[140,4],[636,4],[1052,4]]},"2225":{"position":[[146,4]]},"2240":{"position":[[6626,4]]},"2265":{"position":[[544,4]]},"2320":{"position":[[410,4]]},"2518":{"position":[[92,4]]}},"keywords":{}}],["dontaddifexist",{"_index":3332,"title":{},"content":{"539":{"position":[[33,14]]}},"keywords":{}}],["dontdestoryonload",{"_index":8626,"title":{},"content":{"2225":{"position":[[128,17]]}},"keywords":{}}],["dontdestroy",{"_index":8991,"title":{},"content":{"2377":{"position":[[126,12],[164,11]]},"2415":{"position":[[357,12],[475,11]]}},"keywords":{}}],["dontdestroyonload",{"_index":4658,"title":{},"content":{"1110":{"position":[[9,17]]},"1474":{"position":[[3844,18]]},"2415":{"position":[[415,18]]}},"keywords":{}}],["don’t",{"_index":1819,"title":{},"content":{"213":{"position":[[906,5]]}},"keywords":{}}],["dooe",{"_index":9112,"title":{},"content":{"2421":{"position":[[3424,5],[3915,5]]}},"keywords":{}}],["door",{"_index":2486,"title":{},"content":{"295":{"position":[[715,4]]}},"keywords":{}}],["doorstat",{"_index":2485,"title":{},"content":{"295":{"position":[[668,9],[758,9],[768,10],[964,9]]}},"keywords":{}}],["doubl",{"_index":1353,"title":{},"content":{"173":{"position":[[193,6],[342,6],[698,6],[915,6]]},"175":{"position":[[1063,6]]},"184":{"position":[[377,6]]},"203":{"position":[[1344,6]]},"211":{"position":[[1633,6]]},"371":{"position":[[152,6]]},"373":{"position":[[20,6]]},"663":{"position":[[7,6]]},"881":{"position":[[156,6]]},"1265":{"position":[[21,6]]},"1325":{"position":[[0,6]]},"1329":{"position":[[0,6]]},"1332":{"position":[[0,6]]},"1474":{"position":[[10051,6],[14304,6],[16201,6]]},"1581":{"position":[[85,6]]},"1693":{"position":[[38,6]]},"1733":{"position":[[372,6]]},"1983":{"position":[[1761,6]]},"2023":{"position":[[2370,6]]},"2047":{"position":[[20,8],[81,6],[235,6]]},"2056":{"position":[[1641,8],[1730,6],[4258,6]]},"2154":{"position":[[18,6]]},"2273":{"position":[[27,6],[75,6]]},"2357":{"position":[[38,6]]},"2390":{"position":[[32,6]]},"2392":{"position":[[32,6],[83,6]]},"2408":{"position":[[72,6],[215,6],[351,6],[465,6],[595,6],[716,6],[853,6]]},"2516":{"position":[[15,7],[23,8],[72,6],[93,6],[220,7],[228,8],[319,6],[340,6]]}},"keywords":{}}],["down",{"_index":1355,"title":{},"content":{"173":{"position":[[399,4],[499,4],[1044,4]]},"182":{"position":[[616,4]]},"206":{"position":[[77,4]]},"240":{"position":[[80,4]]},"2421":{"position":[[19,4]]}},"keywords":{}}],["download",{"_index":1505,"title":{},"content":{"183":{"position":[[151,10],[480,9],[596,11],[669,10]]},"201":{"position":[[1284,8]]},"1121":{"position":[[30,10]]}},"keywords":{}}],["drag",{"_index":1674,"title":{},"content":{"203":{"position":[[603,4],[1134,4]]},"224":{"position":[[479,4]]},"245":{"position":[[1434,4]]},"251":{"position":[[2849,4]]}},"keywords":{}}],["draw",{"_index":2779,"title":{},"content":{"340":{"position":[[1252,4]]},"348":{"position":[[1547,4]]},"456":{"position":[[69,7]]},"2240":{"position":[[694,5]]},"2275":{"position":[[28,5]]}},"keywords":{}}],["drawaverag",{"_index":7446,"title":{},"content":{"1883":{"position":[[199,11]]}},"keywords":{}}],["drawer",{"_index":3298,"title":{},"content":{"531":{"position":[[22,6]]},"537":{"position":[[53,6]]},"538":{"position":[[45,6]]},"554":{"position":[[21,6]]},"555":{"position":[[82,6]]}},"keywords":{}}],["drawn",{"_index":3339,"title":{},"content":{"541":{"position":[[99,5]]}},"keywords":{}}],["drive",{"_index":1507,"title":{},"content":{"183":{"position":[[197,5],[212,6],[891,5],[910,6]]},"184":{"position":[[170,5],[333,5],[449,6]]}},"keywords":{}}],["drives"",{"_index":1535,"title":{},"content":{"184":{"position":[[363,13]]}},"keywords":{}}],["drop",{"_index":858,"title":{"239":{"position":[[9,6]]},"241":{"position":[[0,8]]}},"content":{"71":{"position":[[394,4]]},"241":{"position":[[50,4]]},"242":{"position":[[23,7]]},"1094":{"position":[[0,4]]},"1311":{"position":[[6,4]]},"1479":{"position":[[1765,4]]},"1646":{"position":[[363,4]]}},"keywords":{}}],["dropdown",{"_index":596,"title":{},"content":{"39":{"position":[[93,9]]},"182":{"position":[[2946,9]]},"190":{"position":[[1675,8]]}},"keywords":{}}],["due",{"_index":864,"title":{},"content":{"71":{"position":[[791,3]]},"92":{"position":[[533,3]]},"273":{"position":[[1047,3]]},"314":{"position":[[787,3]]},"325":{"position":[[36,3]]},"677":{"position":[[160,3]]},"1474":{"position":[[8778,3]]},"1607":{"position":[[17,3]]}},"keywords":{}}],["duplic",{"_index":810,"title":{},"content":{"65":{"position":[[171,10]]},"211":{"position":[[1954,9]]},"2114":{"position":[[1554,9]]}},"keywords":{}}],["durabl",{"_index":2785,"title":{},"content":{"343":{"position":[[155,11],[508,10],[618,10],[725,10],[831,10]]}},"keywords":{}}],["dure",{"_index":1342,"title":{},"content":{"171":{"position":[[79,6]]},"175":{"position":[[0,6],[1193,6]]},"178":{"position":[[81,6]]},"179":{"position":[[198,6]]},"213":{"position":[[601,6],[785,6]]},"224":{"position":[[571,6]]},"231":{"position":[[155,6]]},"340":{"position":[[541,6]]},"348":{"position":[[876,6]]},"351":{"position":[[482,6]]},"361":{"position":[[127,6]]},"820":{"position":[[65,6]]},"1474":{"position":[[11778,6]]},"1477":{"position":[[854,6],[1982,6]]},"1890":{"position":[[979,6]]},"1926":{"position":[[54,6]]}},"keywords":{}}],["dynam",{"_index":450,"title":{"238":{"position":[[0,7]]}},"content":{"24":{"position":[[237,11]]},"203":{"position":[[519,11]]},"235":{"position":[[1454,11]]},"238":{"position":[[128,7],[335,7],[445,7]]},"245":{"position":[[3176,11]]},"2003":{"position":[[77,7]]},"2265":{"position":[[739,7],[1917,11],[5069,11]]},"2478":{"position":[[908,11]]},"2482":{"position":[[2456,11]]}},"keywords":{}}],["dynamichandl",{"_index":8781,"title":{},"content":{"2265":{"position":[[6807,15],[6892,14]]}},"keywords":{}}],["dynamicspawn",{"_index":1926,"title":{},"content":{"238":{"position":[[524,15],[733,12]]}},"keywords":{}}],["dynamicspawn(int",{"_index":1944,"title":{},"content":{"238":{"position":[[1896,16]]}},"keywords":{}}],["dynamicspawnhandlerdeleg",{"_index":8715,"title":{"2270":{"position":[[9,27]]}},"content":{"2244":{"position":[[60,28]]},"2270":{"position":[[9,27]]}},"keywords":{}}],["dynamicspawnhandlerdelegate(int",{"_index":8789,"title":{},"content":{"2270":{"position":[[74,31]]}},"keywords":{}}],["e",{"_index":8861,"title":{},"content":{"2320":{"position":[[1082,2],[1165,1]]}},"keywords":{}}],["e.g",{"_index":325,"title":{},"content":{"14":{"position":[[336,4]]},"54":{"position":[[440,5]]},"181":{"position":[[81,5]]},"240":{"position":[[1478,4]]},"314":{"position":[[814,4]]},"337":{"position":[[1115,5]]},"1474":{"position":[[2982,4],[3496,5]]},"1478":{"position":[[1040,4],[1154,4]]}},"keywords":{}}],["e0dd626",{"_index":4584,"title":{},"content":{"1075":{"position":[[45,9]]}},"keywords":{}}],["e1072d0",{"_index":2991,"title":{},"content":{"396":{"position":[[64,9]]}},"keywords":{}}],["e10e198",{"_index":6740,"title":{},"content":{"1524":{"position":[[67,9]]}},"keywords":{}}],["e10e198)properli",{"_index":5840,"title":{},"content":{"1474":{"position":[[16389,17]]}},"keywords":{}}],["e136f48)ad",{"_index":5319,"title":{},"content":{"1467":{"position":[[123,15]]}},"keywords":{}}],["e1bb8d",{"_index":6711,"title":{},"content":{"1504":{"position":[[71,9]]}},"keywords":{}}],["e1bb8de)nul",{"_index":5808,"title":{},"content":{"1474":{"position":[[15127,13]]}},"keywords":{}}],["e1bbc03",{"_index":4701,"title":{},"content":{"1129":{"position":[[29,9]]}},"keywords":{}}],["e1d1d41)room",{"_index":5915,"title":{},"content":{"1474":{"position":[[18212,14]]}},"keywords":{}}],["e1d1d41)sendtoal",{"_index":7091,"title":{},"content":{"1733":{"position":[[678,18]]}},"keywords":{}}],["e1daf92)renam",{"_index":4509,"title":{},"content":{"1045":{"position":[[152,15]]}},"keywords":{}}],["e1fdf86)refactor",{"_index":3499,"title":{},"content":{"600":{"position":[[224,19]]}},"keywords":{}}],["e22f765",{"_index":4484,"title":{},"content":{"1037":{"position":[[46,9]]}},"keywords":{}}],["e2a4afd",{"_index":7071,"title":{},"content":{"1725":{"position":[[45,9]]}},"keywords":{}}],["e2a4afd)benchmark",{"_index":5544,"title":{},"content":{"1474":{"position":[[6582,18]]}},"keywords":{}}],["e2a6ce9)ad",{"_index":6088,"title":{},"content":{"1476":{"position":[[776,14]]}},"keywords":{}}],["e2fc829",{"_index":6911,"title":{},"content":{"1604":{"position":[[44,9]]}},"keywords":{}}],["e2fc829)support",{"_index":6339,"title":{},"content":{"1476":{"position":[[7362,16]]}},"keywords":{}}],["e2fd195)weav",{"_index":5313,"title":{},"content":{"1466":{"position":[[1129,15]]}},"keywords":{}}],["e31a5db",{"_index":3541,"title":{},"content":{"617":{"position":[[38,9]]}},"keywords":{}}],["e326064",{"_index":6357,"title":{},"content":{"1476":{"position":[[7861,10]]},"1663":{"position":[[50,10]]}},"keywords":{}}],["e32a9b6)an",{"_index":6133,"title":{},"content":{"1476":{"position":[[2062,11]]}},"keywords":{}}],["e32a9b6)clientscen",{"_index":6836,"title":{},"content":{"1567":{"position":[[764,20]]}},"keywords":{}}],["e36449c)chat",{"_index":5573,"title":{},"content":{"1474":{"position":[[7441,13]]}},"keywords":{}}],["e36449c)clean",{"_index":6798,"title":{},"content":{"1562":{"position":[[220,14]]}},"keywords":{}}],["e3790c5)add",{"_index":6072,"title":{},"content":{"1476":{"position":[[412,12]]},"1567":{"position":[[162,12]]}},"keywords":{}}],["e3df3b5",{"_index":3940,"title":{},"content":{"806":{"position":[[64,9]]}},"keywords":{}}],["e3f1d26",{"_index":4371,"title":{},"content":{"990":{"position":[[78,9]]}},"keywords":{}}],["e4200e0)networkmanagerhud",{"_index":4183,"title":{},"content":{"908":{"position":[[67,27]]}},"keywords":{}}],["e437a10)registerprefab",{"_index":3312,"title":{},"content":{"537":{"position":[[174,24]]}},"keywords":{}}],["e45920",{"_index":4627,"title":{},"content":{"1096":{"position":[[43,9]]}},"keywords":{}}],["e478d8d)us",{"_index":4731,"title":{},"content":{"1141":{"position":[[243,12]]}},"keywords":{}}],["e47d4a3",{"_index":3283,"title":{},"content":{"522":{"position":[[189,9]]}},"keywords":{}}],["e49fda1)error",{"_index":4923,"title":{},"content":{"1229":{"position":[[41,14]]}},"keywords":{}}],["e4a5ce7)un",{"_index":5304,"title":{},"content":{"1466":{"position":[[895,14]]}},"keywords":{}}],["e4a701e)gener",{"_index":6203,"title":{},"content":{"1476":{"position":[[3706,17]]}},"keywords":{}}],["e4cc85c)misc",{"_index":5757,"title":{},"content":{"1474":{"position":[[12525,13]]}},"keywords":{}}],["e4cc85c)regist",{"_index":6700,"title":{},"content":{"1496":{"position":[[196,17]]}},"keywords":{}}],["e4e2fa5",{"_index":4866,"title":{},"content":{"1202":{"position":[[22,9]]}},"keywords":{}}],["e4f89cf)individu",{"_index":6226,"title":{},"content":{"1476":{"position":[[4276,19]]}},"keywords":{}}],["e50ea63)ad",{"_index":5330,"title":{},"content":{"1468":{"position":[[69,15]]}},"keywords":{}}],["e521a20)#573",{"_index":5462,"title":{},"content":{"1474":{"position":[[4026,13]]}},"keywords":{}}],["e5409ff)dark",{"_index":4369,"title":{},"content":{"990":{"position":[[52,13]]}},"keywords":{}}],["e54a3a2",{"_index":3613,"title":{},"content":{"653":{"position":[[44,9]]}},"keywords":{}}],["e566545",{"_index":4777,"title":{},"content":{"1159":{"position":[[49,9]]}},"keywords":{}}],["e574a80",{"_index":3715,"title":{},"content":{"700":{"position":[[66,9]]}},"keywords":{}}],["e597570)ad",{"_index":4261,"title":{},"content":{"947":{"position":[[53,15]]}},"keywords":{}}],["e59c93c)ad",{"_index":4031,"title":{},"content":{"844":{"position":[[88,15]]}},"keywords":{}}],["e5b728f",{"_index":6874,"title":{},"content":{"1581":{"position":[[115,9]]}},"keywords":{}}],["e5b728f)empti",{"_index":5675,"title":{},"content":{"1474":{"position":[[10081,14]]}},"keywords":{}}],["e5eecbf)support",{"_index":6342,"title":{},"content":{"1476":{"position":[[7433,16]]}},"keywords":{}}],["e64727b",{"_index":7036,"title":{},"content":{"1696":{"position":[[50,9]]}},"keywords":{}}],["e64727b)cap",{"_index":5569,"title":{},"content":{"1474":{"position":[[7340,12]]}},"keywords":{}}],["e683a92)additivesceneexampl",{"_index":5528,"title":{},"content":{"1474":{"position":[[6103,29]]}},"keywords":{}}],["e683a92)th",{"_index":7017,"title":{},"content":{"1682":{"position":[[55,12]]}},"keywords":{}}],["e6881ef)cal",{"_index":5563,"title":{},"content":{"1474":{"position":[[7123,16]]}},"keywords":{}}],["e6881ef)compil",{"_index":6859,"title":{},"content":{"1577":{"position":[[143,20]]}},"keywords":{}}],["e6a4413",{"_index":3557,"title":{},"content":{"625":{"position":[[46,9]]}},"keywords":{}}],["e6b9354)no",{"_index":4617,"title":{},"content":{"1092":{"position":[[38,11]]}},"keywords":{}}],["e6e10a7)chat",{"_index":5574,"title":{},"content":{"1474":{"position":[[7463,13]]}},"keywords":{}}],["e6e10a7)miss",{"_index":6925,"title":{},"content":{"1614":{"position":[[13,16]]}},"keywords":{}}],["e725a41",{"_index":3923,"title":{},"content":{"795":{"position":[[71,9]]}},"keywords":{}}],["e73c9d5)ad",{"_index":3187,"title":{},"content":{"486":{"position":[[105,15]]}},"keywords":{}}],["e741809",{"_index":4992,"title":{},"content":{"1262":{"position":[[49,9]]}},"keywords":{}}],["e75b45f",{"_index":6232,"title":{},"content":{"1476":{"position":[[4414,10]]},"1747":{"position":[[77,10]]}},"keywords":{}}],["e79b00",{"_index":4532,"title":{},"content":{"1049":{"position":[[112,9]]}},"keywords":{}}],["e7ac06f)ad",{"_index":4130,"title":{},"content":{"879":{"position":[[57,15]]}},"keywords":{}}],["e7cfd5a)clean",{"_index":5581,"title":{},"content":{"1474":{"position":[[7589,14]]}},"keywords":{}}],["e7cfd5a)r",{"_index":6895,"title":{},"content":{"1592":{"position":[[61,11]]}},"keywords":{}}],["e89c32d",{"_index":7068,"title":{},"content":{"1722":{"position":[[48,9]]}},"keywords":{}}],["e89c32d)remov",{"_index":6045,"title":{},"content":{"1475":{"position":[[162,15]]}},"keywords":{}}],["e8a93a4)stop",{"_index":4283,"title":{},"content":{"954":{"position":[[188,17]]}},"keywords":{}}],["e8ab7a4)compress",{"_index":4498,"title":{},"content":{"1044":{"position":[[38,20]]}},"keywords":{}}],["e8b933d",{"_index":6966,"title":{},"content":{"1642":{"position":[[31,9]]}},"keywords":{}}],["e8b933d)prettifi",{"_index":6307,"title":{},"content":{"1476":{"position":[[6514,17]]}},"keywords":{}}],["e8e1829",{"_index":3698,"title":{},"content":{"692":{"position":[[34,9]]}},"keywords":{}}],["e8fac8a)sync",{"_index":5988,"title":{},"content":{"1474":{"position":[[20892,13]]}},"keywords":{}}],["e900d33",{"_index":4837,"title":{},"content":{"1188":{"position":[[28,9]]}},"keywords":{}}],["e913004",{"_index":4342,"title":{},"content":{"978":{"position":[[95,9]]}},"keywords":{}}],["e915aeb",{"_index":4664,"title":{},"content":{"1111":{"position":[[48,9]]}},"keywords":{}}],["e91f6d3",{"_index":4127,"title":{},"content":{"878":{"position":[[52,9]]}},"keywords":{}}],["e946c79)fix",{"_index":5697,"title":{},"content":{"1474":{"position":[[10872,14]]}},"keywords":{}}],["e946c79)prev",{"_index":7029,"title":{},"content":{"1693":{"position":[[21,16]]}},"keywords":{}}],["e9621dd)add",{"_index":5503,"title":{},"content":{"1474":{"position":[[5277,12]]}},"keywords":{}}],["e9621dd)ninjaw",{"_index":6756,"title":{},"content":{"1539":{"position":[[59,16]]}},"keywords":{}}],["e969e6d)allow",{"_index":3842,"title":{},"content":{"757":{"position":[[94,17]]}},"keywords":{}}],["e97ab93)add",{"_index":6085,"title":{},"content":{"1476":{"position":[[711,12]]}},"keywords":{}}],["e9fedf1",{"_index":3930,"title":{},"content":{"799":{"position":[[59,9]]}},"keywords":{}}],["ea09c61",{"_index":4204,"title":{},"content":{"919":{"position":[[38,9]]}},"keywords":{}}],["eaadd62)rpc",{"_index":3724,"title":{},"content":{"704":{"position":[[52,13]]}},"keywords":{}}],["eacfef",{"_index":5151,"title":{},"content":{"1337":{"position":[[55,9]]}},"keywords":{}}],["each",{"_index":236,"title":{},"content":{"10":{"position":[[456,4]]},"31":{"position":[[422,4]]},"49":{"position":[[548,4]]},"54":{"position":[[55,4]]},"82":{"position":[[102,4]]},"88":{"position":[[45,4]]},"89":{"position":[[198,4]]},"139":{"position":[[1047,4]]},"196":{"position":[[664,4]]},"212":{"position":[[171,4]]},"213":{"position":[[1566,4],[1646,4]]},"225":{"position":[[369,4]]},"235":{"position":[[1859,4]]},"237":{"position":[[117,4]]},"238":{"position":[[393,4],[728,4]]},"243":{"position":[[424,4],[737,4],[924,4],[992,4]]},"247":{"position":[[954,4]]},"264":{"position":[[445,4],[867,4],[1121,4]]},"335":{"position":[[178,4],[770,4],[1341,4]]},"356":{"position":[[556,4],[1424,4]]},"361":{"position":[[134,4],[287,4],[893,4]]},"693":{"position":[[71,4]]},"1474":{"position":[[1891,4]]},"1477":{"position":[[1252,4]]},"1780":{"position":[[57,4],[854,4]]},"1781":{"position":[[57,4],[918,4]]},"1935":{"position":[[1136,4]]},"1970":{"position":[[61,4]]},"1983":{"position":[[882,4],[1626,4],[3163,4]]},"2054":{"position":[[42,4]]},"2183":{"position":[[873,4]]},"2263":{"position":[[84,4],[347,4]]},"2265":{"position":[[263,4]]},"2371":{"position":[[158,4]]},"2482":{"position":[[5742,4]]}},"keywords":{}}],["ead317f)networkbehavior",{"_index":3792,"title":{},"content":{"734":{"position":[[100,25]]}},"keywords":{}}],["eaee748)weav",{"_index":3547,"title":{},"content":{"622":{"position":[[41,16]]}},"keywords":{}}],["earli",{"_index":983,"title":{},"content":{"92":{"position":[[527,5]]},"989":{"position":[[36,5]]},"1474":{"position":[[14328,5]]},"1733":{"position":[[396,5]]}},"keywords":{}}],["earlier",{"_index":2102,"title":{},"content":{"245":{"position":[[4446,7]]},"302":{"position":[[523,7]]},"939":{"position":[[60,7]]},"2023":{"position":[[3112,7]]},"2031":{"position":[[3232,7]]}},"keywords":{}}],["eas",{"_index":2954,"title":{},"content":{"382":{"position":[[42,4]]},"1474":{"position":[[570,4]]},"1766":{"position":[[360,4]]}},"keywords":{}}],["easi",{"_index":1514,"title":{},"content":{"183":{"position":[[632,4],[969,4]]},"203":{"position":[[163,4],[1046,5]]}},"keywords":{}}],["easier",{"_index":1398,"title":{},"content":{"175":{"position":[[837,6]]},"184":{"position":[[203,6]]},"202":{"position":[[54,6]]},"280":{"position":[[56,6]]},"361":{"position":[[914,6]]},"757":{"position":[[52,6]]}},"keywords":{}}],["easiest",{"_index":2296,"title":{},"content":{"269":{"position":[[397,7]]},"303":{"position":[[432,7]]}},"keywords":{}}],["easili",{"_index":1508,"title":{},"content":{"183":{"position":[[231,6]]},"270":{"position":[[129,7]]},"361":{"position":[[665,6]]}},"keywords":{}}],["eb0fd1c",{"_index":3891,"title":{},"content":{"777":{"position":[[41,9]]}},"keywords":{}}],["eb5242d",{"_index":6977,"title":{},"content":{"1650":{"position":[[139,9]]}},"keywords":{}}],["eb5242d)mov",{"_index":6542,"title":{},"content":{"1477":{"position":[[3865,13]]}},"keywords":{}}],["eb7c87d)ad",{"_index":6834,"title":{},"content":{"1567":{"position":[[202,14]]}},"keywords":{}}],["eb7c87d)add",{"_index":6082,"title":{},"content":{"1476":{"position":[[629,12]]}},"keywords":{}}],["eb81190",{"_index":6881,"title":{},"content":{"1584":{"position":[[45,9]]}},"keywords":{}}],["eb81190)pass",{"_index":6301,"title":{},"content":{"1476":{"position":[[6386,13]]}},"keywords":{}}],["eb880d5",{"_index":3553,"title":{},"content":{"622":{"position":[[249,9]]}},"keywords":{}}],["eb93c34)clientscen",{"_index":6161,"title":{},"content":{"1476":{"position":[[2744,20]]}},"keywords":{}}],["eb93c34)command",{"_index":6770,"title":{},"content":{"1547":{"position":[[44,17]]}},"keywords":{}}],["eb97cef",{"_index":4861,"title":{},"content":{"1199":{"position":[[23,9]]}},"keywords":{}}],["ec0b839",{"_index":4903,"title":{},"content":{"1217":{"position":[[35,9]]}},"keywords":{}}],["ec2",{"_index":1428,"title":{"182":{"position":[[35,3]]}},"content":{"182":{"position":[[268,4],[300,3],[3293,3],[3375,4]]},"184":{"position":[[712,3]]}},"keywords":{}}],["ec319a1)networkident",{"_index":6274,"title":{},"content":{"1476":{"position":[[5672,24]]},"1567":{"position":[[1263,24]]}},"keywords":{}}],["ec3a939",{"_index":6972,"title":{},"content":{"1648":{"position":[[43,9]]}},"keywords":{}}],["ec3a939)error",{"_index":5676,"title":{},"content":{"1474":{"position":[[10133,14]]}},"keywords":{}}],["ec45074",{"_index":3056,"title":{},"content":{"427":{"position":[[50,9]]}},"keywords":{}}],["ec54ee6)fix",{"_index":5293,"title":{},"content":{"1466":{"position":[[621,15]]}},"keywords":{}}],["ec80990",{"_index":3313,"title":{},"content":{"537":{"position":[[245,9]]}},"keywords":{}}],["ecc0659)client",{"_index":6157,"title":{},"content":{"1476":{"position":[[2641,15]]}},"keywords":{}}],["ecc0659)cosmet",{"_index":7094,"title":{},"content":{"1734":{"position":[[198,17]]}},"keywords":{}}],["ece4500",{"_index":2957,"title":{},"content":{"384":{"position":[[49,9]]}},"keywords":{}}],["echo",{"_index":1636,"title":{},"content":{"196":{"position":[[699,4]]}},"keywords":{}}],["ed00f34",{"_index":3459,"title":{},"content":{"585":{"position":[[79,10]]}},"keywords":{}}],["ed180ff",{"_index":4656,"title":{},"content":{"1109":{"position":[[47,9]]}},"keywords":{}}],["ed40c2d)syncdictionari",{"_index":6348,"title":{},"content":{"1476":{"position":[[7631,23]]}},"keywords":{}}],["ed40c2d)targetrpc",{"_index":6772,"title":{},"content":{"1547":{"position":[[153,18]]}},"keywords":{}}],["ed572da)networkclient.shutdown",{"_index":5779,"title":{},"content":{"1474":{"position":[[13436,31]]}},"keywords":{}}],["ed7e509)weav",{"_index":6017,"title":{},"content":{"1474":{"position":[[22038,15]]}},"keywords":{}}],["ed99d05",{"_index":4253,"title":{},"content":{"944":{"position":[[30,9]]}},"keywords":{}}],["edb0705",{"_index":4469,"title":{},"content":{"1028":{"position":[[47,9]]}},"keywords":{}}],["edit",{"_index":816,"title":{},"content":{"67":{"position":[[128,4]]},"201":{"position":[[128,4]]},"235":{"position":[[1715,7]]},"786":{"position":[[35,7]]},"1474":{"position":[[22672,7],[22712,6]]}},"keywords":{}}],["editor",{"_index":212,"title":{"258":{"position":[[11,6]]}},"content":{"9":{"position":[[478,6],[514,6]]},"18":{"position":[[322,6]]},"46":{"position":[[281,6],[700,6],[1415,7]]},"50":{"position":[[111,6]]},"67":{"position":[[186,6],[778,6]]},"187":{"position":[[1061,6],[1156,6]]},"201":{"position":[[186,6],[778,6]]},"203":{"position":[[2179,6]]},"258":{"position":[[58,7]]},"458":{"position":[[18,6]]},"558":{"position":[[29,6]]},"763":{"position":[[43,6]]},"781":{"position":[[17,6]]},"847":{"position":[[391,8]]},"897":{"position":[[27,6]]},"1153":{"position":[[19,6]]},"1175":{"position":[[14,6]]},"1466":{"position":[[910,6],[962,6],[1100,6]]},"1474":{"position":[[2638,7],[13761,6]]},"1476":{"position":[[6253,6]]},"1645":{"position":[[41,6]]},"1676":{"position":[[47,6]]}},"keywords":{}}],["editor=host",{"_index":5440,"title":{},"content":{"1474":{"position":[[3103,12]]}},"keywords":{}}],["editorpref",{"_index":3958,"title":{},"content":{"814":{"position":[[51,11]]}},"keywords":{}}],["ee27841",{"_index":4921,"title":{},"content":{"1227":{"position":[[46,9]]}},"keywords":{}}],["ee2ace8)#679",{"_index":5474,"title":{},"content":{"1474":{"position":[[4612,13]]}},"keywords":{}}],["ee6e55",{"_index":4437,"title":{},"content":{"1014":{"position":[[48,9]]}},"keywords":{}}],["ee9c737)allow",{"_index":6128,"title":{},"content":{"1476":{"position":[[1910,17]]}},"keywords":{}}],["eebe63a",{"_index":4224,"title":{},"content":{"930":{"position":[[79,10]]}},"keywords":{}}],["eec49fa",{"_index":5328,"title":{},"content":{"1467":{"position":[[397,9]]}},"keywords":{}}],["eee9692",{"_index":6564,"title":{},"content":{"1477":{"position":[[4314,10]]},"1745":{"position":[[389,10]]}},"keywords":{}}],["ef47ee7",{"_index":6703,"title":{},"content":{"1497":{"position":[[26,9]]}},"keywords":{}}],["ef47ee7)saf",{"_index":6315,"title":{},"content":{"1476":{"position":[[6689,14]]}},"keywords":{}}],["ef5c426",{"_index":3827,"title":{},"content":{"749":{"position":[[52,10]]}},"keywords":{}}],["effect",{"_index":1971,"title":{},"content":{"240":{"position":[[1260,8]]},"247":{"position":[[316,6]]},"304":{"position":[[858,8]]},"331":{"position":[[408,8]]},"2370":{"position":[[5174,7]]}},"keywords":{}}],["effici",{"_index":1841,"title":{},"content":{"217":{"position":[[883,9]]},"1477":{"position":[[1794,11],[1843,11]]}},"keywords":{}}],["effort",{"_index":1974,"title":{},"content":{"240":{"position":[[1403,6]]}},"keywords":{}}],["eg",{"_index":1223,"title":{},"content":{"133":{"position":[[63,2]]},"139":{"position":[[1326,2]]},"164":{"position":[[131,3],[343,3]]},"165":{"position":[[35,3]]},"255":{"position":[[31,3]]},"321":{"position":[[657,3]]},"322":{"position":[[119,3]]},"325":{"position":[[282,2],[335,2]]},"327":{"position":[[77,2],[100,2],[133,2]]},"363":{"position":[[585,3],[640,3]]},"2054":{"position":[[82,2]]}},"keywords":{}}],["element",{"_index":620,"title":{},"content":{"42":{"position":[[628,8]]},"133":{"position":[[80,9]]},"139":{"position":[[308,8],[477,7],[610,7],[665,8],[709,8],[747,7],[949,8],[1070,8],[1132,8],[1341,7]]},"263":{"position":[[833,8]]},"322":{"position":[[70,7]]},"344":{"position":[[279,9]]},"352":{"position":[[267,9]]},"1477":{"position":[[3385,8]]},"2043":{"position":[[42,8],[172,8]]}},"keywords":{}}],["element'",{"_index":2680,"title":{},"content":{"327":{"position":[[762,9]]}},"keywords":{}}],["eligible"",{"_index":1450,"title":{},"content":{"182":{"position":[[778,14],[935,15]]}},"keywords":{}}],["emit",{"_index":3073,"title":{},"content":{"436":{"position":[[7,4]]}},"keywords":{}}],["empti",{"_index":381,"title":{},"content":{"18":{"position":[[64,5]]},"53":{"position":[[474,6]]},"209":{"position":[[61,5]]},"210":{"position":[[96,5]]},"211":{"position":[[1708,5]]},"240":{"position":[[502,5]]},"245":{"position":[[1231,5]]},"251":{"position":[[2093,5],[2771,5]]},"555":{"position":[[215,5]]},"764":{"position":[[56,5]]},"1120":{"position":[[24,5]]},"1474":{"position":[[1638,5],[2873,5],[10127,5],[14942,5]]},"1477":{"position":[[3434,5]]},"1546":{"position":[[118,5]]},"1648":{"position":[[0,5],[37,5]]},"2130":{"position":[[1585,5],[1749,5],[1852,5]]},"2204":{"position":[[1724,5],[1865,5]]},"2421":{"position":[[3486,6],[3977,6]]},"2478":{"position":[[4061,5]]},"2482":{"position":[[3917,5]]}},"keywords":{}}],["emptyacklimit",{"_index":8432,"title":{},"content":{"2130":{"position":[[1725,14],[1926,13]]}},"keywords":{}}],["emptystr",{"_index":9205,"title":{},"content":{"2500":{"position":[[0,12],[43,11]]}},"keywords":{}}],["enabl",{"_index":23,"title":{},"content":{"0":{"position":[[398,8]]},"3":{"position":[[446,6]]},"43":{"position":[[665,8]]},"94":{"position":[[519,6]]},"189":{"position":[[389,6],[535,7]]},"211":{"position":[[445,6]]},"223":{"position":[[144,8]]},"235":{"position":[[2000,7]]},"248":{"position":[[1405,8],[1435,8]]},"263":{"position":[[522,7]]},"504":{"position":[[84,6]]},"505":{"position":[[115,6],[211,7]]},"628":{"position":[[0,6]]},"669":{"position":[[57,7]]},"1474":{"position":[[16494,6]]},"1476":{"position":[[9344,6]]},"1592":{"position":[[73,6]]},"2130":{"position":[[2721,6]]},"2503":{"position":[[237,6]]}},"keywords":{}}],["enable/dis",{"_index":1969,"title":{},"content":{"240":{"position":[[1085,14]]}},"keywords":{}}],["enablepeermetr",{"_index":8911,"title":{},"content":{"2349":{"position":[[0,18],[44,17]]},"2419":{"position":[[0,18],[44,17]]}},"keywords":{}}],["encod",{"_index":1135,"title":{"152":{"position":[[7,6]]}},"content":{"119":{"position":[[211,7],[240,9]]},"568":{"position":[[14,8]]},"586":{"position":[[45,8]]},"863":{"position":[[26,8]]},"1983":{"position":[[3229,8],[3280,7]]},"2039":{"position":[[157,8]]},"2040":{"position":[[497,10],[593,8],[602,9],[744,8],[766,8],[828,8],[878,10],[961,8],[970,9],[1077,8],[1099,8],[1161,8]]},"2130":{"position":[[968,7]]}},"keywords":{}}],["encode(int",{"_index":8296,"title":{},"content":{"2089":{"position":[[47,10]]}},"keywords":{}}],["encode(int32",{"_index":8295,"title":{},"content":{"2089":{"position":[[0,14]]}},"keywords":{}}],["encode(int64",{"_index":8298,"title":{},"content":{"2089":{"position":[[151,14]]}},"keywords":{}}],["encode(long",{"_index":8299,"title":{},"content":{"2089":{"position":[[199,11]]}},"keywords":{}}],["encrypt",{"_index":918,"title":{"95":{"position":[[0,10]]}},"content":{"81":{"position":[[236,10]]},"95":{"position":[[36,11],[169,11],[296,11]]}},"keywords":{}}],["end",{"_index":1464,"title":{},"content":{"182":{"position":[[1556,5]]},"198":{"position":[[268,3],[413,3]]},"240":{"position":[[136,3],[2381,3]]},"241":{"position":[[2564,3]]},"670":{"position":[[7,3]]},"719":{"position":[[6,3]]},"1474":{"position":[[3599,3]]},"1476":{"position":[[3033,3]]},"1656":{"position":[[25,3]]},"1992":{"position":[[421,3],[476,3],[546,4],[617,3]]},"2023":{"position":[[3164,3]]},"2031":{"position":[[3284,3]]},"2156":{"position":[[511,3]]},"2173":{"position":[[539,3]]}},"keywords":{}}],["endian",{"_index":6011,"title":{},"content":{"1474":{"position":[[21862,6]]},"1709":{"position":[[8,6]]}},"keywords":{}}],["endif",{"_index":1116,"title":{},"content":{"117":{"position":[[2194,6]]}},"keywords":{}}],["endofstreamexcept",{"_index":5022,"title":{},"content":{"1275":{"position":[[80,20]]}},"keywords":{}}],["endpoint",{"_index":285,"title":{},"content":{"10":{"position":[[1804,9],[1851,10],[1953,9],[2232,9]]},"651":{"position":[[46,8]]},"875":{"position":[[72,8]]},"903":{"position":[[34,9]]},"904":{"position":[[53,8],[115,8]]},"2093":{"position":[[200,8],[390,8],[477,8]]},"2140":{"position":[[0,9],[33,8]]},"2156":{"position":[[50,9],[123,8],[196,9],[269,8]]},"2158":{"position":[[47,8],[132,9],[205,8],[218,8],[297,8],[354,9],[427,8],[951,9],[1083,8],[1258,8],[1404,9],[1504,8]]},"2173":{"position":[[57,9],[130,8],[210,9],[283,8]]},"2208":{"position":[[72,9],[136,8]]},"2209":{"position":[[27,8]]},"2223":{"position":[[57,9],[130,8],[203,9],[276,8],[504,9],[598,8],[719,9],[819,8]]},"2227":{"position":[[57,9],[130,8],[203,9],[276,8],[545,9],[639,8],[760,9],[860,8]]}},"keywords":{}}],["endpointwrapp",{"_index":8576,"title":{"2207":{"position":[[6,15]]}},"content":{"2195":{"position":[[0,16]]}},"keywords":{}}],["endpointwrapper(endpoint",{"_index":8617,"title":{},"content":{"2208":{"position":[[0,26],[47,24]]}},"keywords":{}}],["endregion",{"_index":291,"title":{},"content":{"10":{"position":[[2043,10],[2334,10]]}},"keywords":{}}],["ends.serverobjectmanager.destroy",{"_index":2121,"title":{},"content":{"247":{"position":[[1118,32]]}},"keywords":{}}],["enemi",{"_index":882,"title":{},"content":{"74":{"position":[[31,8]]}},"keywords":{}}],["energi",{"_index":1829,"title":{},"content":{"213":{"position":[[1979,6]]}},"keywords":{}}],["enforc",{"_index":2761,"title":{},"content":{"339":{"position":[[366,7]]},"342":{"position":[[269,7]]},"348":{"position":[[363,7]]},"350":{"position":[[242,7]]}},"keywords":{}}],["engin",{"_index":747,"title":{"177":{"position":[[15,7]]},"258":{"position":[[0,6]]}},"content":{"57":{"position":[[208,6]]},"190":{"position":[[48,6]]},"258":{"position":[[43,6]]}},"keywords":{}}],["enhanc",{"_index":6176,"title":{},"content":{"1476":{"position":[[3068,11]]},"1734":{"position":[[216,11]]}},"keywords":{}}],["enough",{"_index":1208,"title":{},"content":{"129":{"position":[[487,6]]},"155":{"position":[[432,6]]},"158":{"position":[[487,6]]},"213":{"position":[[1171,6]]},"260":{"position":[[202,6]]},"2042":{"position":[[197,6]]},"2130":{"position":[[563,6],[1777,6]]},"2417":{"position":[[1927,6]]}},"keywords":{}}],["enqueue(t",{"_index":8599,"title":{},"content":{"2204":{"position":[[168,11],[205,9]]}},"keywords":{}}],["ensur",{"_index":143,"title":{"320":{"position":[[0,6]]}},"content":{"3":{"position":[[511,7]]},"6":{"position":[[21,7]]},"99":{"position":[[267,7],[1398,8]]},"175":{"position":[[695,6]]},"243":{"position":[[2038,6]]},"245":{"position":[[1526,7],[1665,7]]},"332":{"position":[[545,6]]},"359":{"position":[[22,7]]},"2518":{"position":[[222,6]]}},"keywords":{}}],["enter",{"_index":355,"title":{},"content":{"14":{"position":[[1531,5]]},"22":{"position":[[330,8]]},"33":{"position":[[182,5]]},"183":{"position":[[1220,5],[1655,5]]},"184":{"position":[[825,5],[867,5]]},"190":{"position":[[1718,5]]},"191":{"position":[[407,5]]},"211":{"position":[[1668,5]]},"262":{"position":[[188,6]]},"264":{"position":[[1166,6]]},"2417":{"position":[[2771,5],[2827,6],[9914,5]]}},"keywords":{}}],["entir",{"_index":1462,"title":{},"content":{"182":{"position":[[1487,6]]},"242":{"position":[[882,6]]},"356":{"position":[[319,6]]}},"keywords":{}}],["enum",{"_index":261,"title":{"1929":{"position":[[0,6]]},"1948":{"position":[[0,4]]},"1957":{"position":[[0,6]]},"1967":{"position":[[0,4]]},"2094":{"position":[[0,6]]},"2123":{"position":[[0,4]]},"2127":{"position":[[0,4]]},"2133":{"position":[[0,4]]},"2161":{"position":[[0,4]]},"2180":{"position":[[0,4]]},"2196":{"position":[[0,6]]},"2218":{"position":[[0,4]]},"2243":{"position":[[0,6]]},"2249":{"position":[[0,4]]},"2256":{"position":[[0,4]]},"2258":{"position":[[0,4]]},"2260":{"position":[[0,4]]},"2360":{"position":[[0,4]]},"2374":{"position":[[0,4]]},"2459":{"position":[[0,4]]},"2467":{"position":[[0,4]]},"2502":{"position":[[0,4]]},"2504":{"position":[[0,4]]},"2506":{"position":[[0,4]]},"2517":{"position":[[0,4]]},"2519":{"position":[[0,4]]}},"content":{"10":{"position":[[1044,4]]},"130":{"position":[[12,4],[59,4]]},"159":{"position":[[12,4],[59,4]]},"240":{"position":[[325,4],[1118,5],[1868,4]]},"241":{"position":[[2089,4]]},"274":{"position":[[141,6]]},"295":{"position":[[663,4]]},"327":{"position":[[437,6],[486,4],[622,4]]},"357":{"position":[[159,4]]},"537":{"position":[[288,4]]},"539":{"position":[[79,4]]},"851":{"position":[[49,4]]},"934":{"position":[[7,5]]},"1051":{"position":[[18,4]]},"1052":{"position":[[32,4]]},"1477":{"position":[[1932,4]]},"1479":{"position":[[2507,4]]},"1664":{"position":[[61,4]]},"1983":{"position":[[126,5],[1995,5],[2184,5]]},"2367":{"position":[[228,4]]}},"keywords":{}}],["enumer",{"_index":6407,"title":{},"content":{"1477":{"position":[[173,10]]},"2243":{"position":[[45,11]]}},"keywords":{}}],["enumerator(synclist<t>",{"_index":7293,"title":{},"content":{"1846":{"position":[[0,30],[51,28]]}},"keywords":{}}],["environ",{"_index":1481,"title":{},"content":{"182":{"position":[[2536,12]]}},"keywords":{}}],["environment",{"_index":131,"title":{},"content":{"3":{"position":[[85,13]]}},"keywords":{}}],["eq",{"_index":7282,"title":{},"content":{"1840":{"position":[[168,3],[263,2]]}},"keywords":{}}],["equal",{"_index":1258,"title":{},"content":{"139":{"position":[[774,5]]},"346":{"position":[[1866,6],[2283,6]]},"1476":{"position":[[7964,8]]},"2093":{"position":[[286,5]]}},"keywords":{}}],["equals(acksystem.reliablereceiv",{"_index":8347,"title":{},"content":{"2100":{"position":[[0,35],[61,33]]}},"keywords":{}}],["equals(networkbehaviour.id",{"_index":8908,"title":{},"content":{"2343":{"position":[[102,28],[156,26]]}},"keywords":{}}],["equals(object",{"_index":8358,"title":{},"content":{"2103":{"position":[[490,15],[540,13]]},"2210":{"position":[[0,15],[50,13]]},"2343":{"position":[[299,15],[349,13]]}},"keywords":{}}],["equip",{"_index":1809,"title":{},"content":{"212":{"position":[[231,9]]},"240":{"position":[[575,8],[620,5],[712,5],[917,5],[960,8]]},"241":{"position":[[16,5],[1652,8],[2024,5]]},"242":{"position":[[132,5],[342,8],[821,8]]},"316":{"position":[[723,5],[799,5]]},"317":{"position":[[170,8]]},"343":{"position":[[261,9]]},"345":{"position":[[132,9]]}},"keywords":{}}],["equipment.add("body"",{"_index":2791,"title":{},"content":{"343":{"position":[[528,31]]}},"keywords":{}}],["equipment.add("feet"",{"_index":2793,"title":{},"content":{"343":{"position":[[638,31]]}},"keywords":{}}],["equipment.add("hands"",{"_index":2796,"title":{},"content":{"343":{"position":[[745,32]]}},"keywords":{}}],["equipment.add("head"",{"_index":2789,"title":{},"content":{"343":{"position":[[422,31]]}},"keywords":{}}],["equipment.onchang",{"_index":2804,"title":{},"content":{"345":{"position":[[368,18]]}},"keywords":{}}],["equippeditem",{"_index":1982,"title":{},"content":{"240":{"position":[[1873,12],[2182,12],[2195,13],[2262,12],[3035,12],[3166,12],[3291,12],[3414,12],[3569,12]]},"241":{"position":[[377,12],[508,12],[633,12],[756,12],[884,12],[1571,13],[1672,12],[2272,12],[2285,13],[2445,12]]},"242":{"position":[[356,12]]}},"keywords":{}}],["equippeditem.bal",{"_index":1998,"title":{},"content":{"240":{"position":[[2707,18],[3182,18]]},"241":{"position":[[524,18],[3159,18]]}},"keywords":{}}],["equippeditem.box",{"_index":2002,"title":{},"content":{"240":{"position":[[2784,17],[3307,17]]},"241":{"position":[[649,17],[3226,17]]}},"keywords":{}}],["equippeditem.cylind",{"_index":2004,"title":{},"content":{"240":{"position":[[2859,22],[3430,22]]},"241":{"position":[[772,22],[3291,22]]}},"keywords":{}}],["equippeditem.noth",{"_index":2007,"title":{},"content":{"240":{"position":[[3051,21]]},"241":{"position":[[393,21],[900,21],[1687,21]]}},"keywords":{}}],["error",{"_index":942,"title":{},"content":{"85":{"position":[[158,5],[532,5]]},"92":{"position":[[442,5]]},"182":{"position":[[1338,5]]},"251":{"position":[[3097,5]]},"385":{"position":[[7,5]]},"400":{"position":[[77,5]]},"409":{"position":[[21,6]]},"530":{"position":[[15,5]]},"537":{"position":[[93,6]]},"541":{"position":[[25,5]]},"546":{"position":[[23,5]]},"560":{"position":[[0,6]]},"607":{"position":[[15,5]]},"611":{"position":[[10,5]]},"614":{"position":[[7,5]]},"634":{"position":[[34,5]]},"744":{"position":[[7,5]]},"770":{"position":[[7,5]]},"818":{"position":[[18,5]]},"824":{"position":[[65,5]]},"825":{"position":[[19,5]]},"847":{"position":[[376,5]]},"881":{"position":[[7,5]]},"915":{"position":[[15,5]]},"917":{"position":[[15,5]]},"929":{"position":[[10,5],[58,5]]},"944":{"position":[[7,6]]},"1062":{"position":[[23,6]]},"1064":{"position":[[34,6]]},"1177":{"position":[[0,5]]},"1184":{"position":[[18,6]]},"1185":{"position":[[18,6]]},"1223":{"position":[[17,5]]},"1334":{"position":[[13,5]]},"1353":{"position":[[347,5]]},"1358":{"position":[[347,5]]},"1363":{"position":[[347,5]]},"1368":{"position":[[347,5]]},"1373":{"position":[[153,5]]},"1377":{"position":[[153,5]]},"1381":{"position":[[153,5]]},"1385":{"position":[[153,5]]},"1389":{"position":[[153,5]]},"1393":{"position":[[153,5]]},"1397":{"position":[[153,5]]},"1401":{"position":[[153,5]]},"1405":{"position":[[153,5]]},"1409":{"position":[[153,5]]},"1413":{"position":[[153,5]]},"1417":{"position":[[153,5]]},"1421":{"position":[[153,5]]},"1425":{"position":[[153,5]]},"1429":{"position":[[153,5]]},"1433":{"position":[[153,5]]},"1437":{"position":[[107,5]]},"1440":{"position":[[107,5]]},"1442":{"position":[[31,6]]},"1448":{"position":[[26,6]]},"1466":{"position":[[7,5],[82,5]]},"1474":{"position":[[982,7],[1815,5],[1827,5],[6626,5],[6712,6],[7751,5],[8401,5],[8428,5],[8455,5],[9501,5],[11455,5],[11527,5],[16577,5],[17009,5],[20044,5],[21046,5]]},"1476":{"position":[[2394,6],[2678,5],[3867,5],[4072,5],[4527,5],[7066,5],[7192,5],[8803,5]]},"1477":{"position":[[309,5]]},"1479":{"position":[[1786,5],[1842,5],[3151,6],[3168,6],[4105,7],[4198,5],[4240,5]]},"1496":{"position":[[221,5]]},"1526":{"position":[[33,5]]},"1528":{"position":[[28,5]]},"1530":{"position":[[34,5]]},"1534":{"position":[[28,5]]},"1555":{"position":[[30,5]]},"1566":{"position":[[428,5],[514,6],[916,5],[988,5]]},"1577":{"position":[[164,5]]},"1578":{"position":[[313,5]]},"1646":{"position":[[384,5],[440,5]]},"1655":{"position":[[212,7]]},"1735":{"position":[[38,6]]},"1737":{"position":[[68,6],[85,6]]},"1740":{"position":[[13,5]]},"1745":{"position":[[119,5]]},"1751":{"position":[[12,5],[39,5]]},"1762":{"position":[[181,5]]},"2255":{"position":[[0,6],[70,5],[89,5],[229,5]]},"2279":{"position":[[0,6],[70,5],[89,5],[229,5]]},"2313":{"position":[[0,6],[70,5],[89,5],[229,5]]},"2386":{"position":[[0,6],[70,5],[211,5]]},"2471":{"position":[[0,6],[70,5],[89,5],[229,5]]},"2507":{"position":[[65,5]]}},"keywords":{}}],["errorenabled(ilogg",{"_index":7601,"title":{},"content":{"1939":{"position":[[1200,22]]}},"keywords":{}}],["errorenabled(thi",{"_index":7602,"title":{},"content":{"1939":{"position":[[1255,17]]}},"keywords":{}}],["errror",{"_index":3960,"title":{},"content":{"816":{"position":[[7,6]]}},"keywords":{}}],["especi",{"_index":2566,"title":{},"content":{"314":{"position":[[638,10]]},"340":{"position":[[430,10]]},"344":{"position":[[82,10]]},"352":{"position":[[76,10]]},"361":{"position":[[386,10]]}},"keywords":{}}],["essenc",{"_index":1423,"title":{},"content":{"179":{"position":[[579,8]]}},"keywords":{}}],["establish",{"_index":269,"title":{},"content":{"10":{"position":[[1356,12]]}},"keywords":{}}],["establishing/test",{"_index":743,"title":{},"content":{"56":{"position":[[32,20]]}},"keywords":{}}],["estim",{"_index":1599,"title":{},"content":{"190":{"position":[[1187,8]]}},"keywords":{}}],["etc",{"_index":456,"title":{},"content":{"24":{"position":[[458,4]]},"172":{"position":[[286,4]]},"223":{"position":[[153,6]]},"240":{"position":[[1269,4]]},"340":{"position":[[494,4]]},"344":{"position":[[146,4],[289,4]]},"352":{"position":[[140,4],[277,4]]},"356":{"position":[[1282,4]]},"1983":{"position":[[132,4],[2001,4],[2190,4]]},"2054":{"position":[[178,3]]},"2240":{"position":[[6759,4]]},"2255":{"position":[[199,4]]},"2279":{"position":[[199,4]]},"2313":{"position":[[199,4]]},"2386":{"position":[[181,4]]},"2400":{"position":[[1135,4]]},"2471":{"position":[[199,4]]}},"keywords":{}}],["etc.)"",{"_index":9237,"title":{},"content":{"2515":{"position":[[318,11]]}},"keywords":{}}],["ethernet/wifi/etc",{"_index":1554,"title":{},"content":{"187":{"position":[[411,19]]}},"keywords":{}}],["ev",{"_index":8814,"title":{},"content":{"2287":{"position":[[236,4]]}},"keywords":{}}],["even",{"_index":978,"title":{},"content":{"92":{"position":[[286,4]]},"103":{"position":[[227,4]]},"129":{"position":[[449,4]]},"155":{"position":[[393,4]]},"158":{"position":[[449,4]]},"175":{"position":[[603,4]]},"213":{"position":[[320,4]]},"262":{"position":[[169,4]]},"288":{"position":[[1322,4]]},"316":{"position":[[609,4],[994,4]]},"516":{"position":[[42,4]]},"595":{"position":[[89,4]]},"660":{"position":[[27,4]]},"877":{"position":[[22,4]]},"1474":{"position":[[7740,4],[8852,4],[10616,4],[14254,4]]},"1476":{"position":[[6238,4]]},"1555":{"position":[[19,4]]},"1603":{"position":[[11,4]]},"1645":{"position":[[26,4]]},"1733":{"position":[[322,4]]},"1766":{"position":[[703,4]]},"1780":{"position":[[161,4]]},"1781":{"position":[[161,4]]},"2130":{"position":[[1631,4]]},"2225":{"position":[[49,4]]},"2370":{"position":[[4689,4],[4884,4]]},"2482":{"position":[[6612,4],[7488,4],[8099,4]]},"2503":{"position":[[261,4]]}},"keywords":{}}],["event",{"_index":151,"title":{"271":{"position":[[8,6]]},"272":{"position":[[18,7]]},"273":{"position":[[17,7]]}},"content":{"3":{"position":[[719,5]]},"42":{"position":[[452,5],[536,5]]},"62":{"position":[[231,6]]},"71":{"position":[[1202,5]]},"171":{"position":[[60,6]]},"172":{"position":[[465,6]]},"213":{"position":[[299,6]]},"222":{"position":[[168,6],[256,6]]},"223":{"position":[[115,6]]},"224":{"position":[[547,5]]},"225":{"position":[[202,5],[606,5]]},"226":{"position":[[372,7],[483,7],[510,6],[541,6]]},"227":{"position":[[128,5],[192,5],[314,5]]},"228":{"position":[[4,5],[75,5],[131,5]]},"229":{"position":[[51,5],[121,5],[177,5]]},"230":{"position":[[136,5],[200,5],[322,5]]},"231":{"position":[[238,5],[308,5],[375,5]]},"232":{"position":[[197,6]]},"233":{"position":[[111,5],[181,5],[248,5]]},"234":{"position":[[280,6]]},"243":{"position":[[2320,5]]},"257":{"position":[[672,6]]},"271":{"position":[[249,7],[277,6]]},"272":{"position":[[99,6]]},"273":{"position":[[101,6],[1065,5]]},"340":{"position":[[525,5]]},"344":{"position":[[528,5],[572,5]]},"348":{"position":[[860,5]]},"352":{"position":[[510,5],[554,5]]},"390":{"position":[[230,6],[256,6]]},"391":{"position":[[157,6]]},"396":{"position":[[34,6]]},"397":{"position":[[19,6]]},"462":{"position":[[43,5]]},"538":{"position":[[86,5]]},"545":{"position":[[154,5]]},"577":{"position":[[13,6]]},"583":{"position":[[42,6]]},"674":{"position":[[7,5]]},"715":{"position":[[207,6]]},"716":{"position":[[23,6]]},"757":{"position":[[112,6]]},"844":{"position":[[82,5]]},"854":{"position":[[46,6]]},"930":{"position":[[43,6]]},"945":{"position":[[15,5]]},"957":{"position":[[12,6]]},"989":{"position":[[19,5]]},"998":{"position":[[15,5],[64,6],[140,6],[226,6],[302,6]]},"1000":{"position":[[24,5],[87,5],[148,5],[482,5],[531,5],[584,5],[636,5],[699,6],[757,5],[814,5],[871,5],[927,5],[989,5],[1052,6]]},"1048":{"position":[[17,5]]},"1064":{"position":[[28,5]]},"1092":{"position":[[17,5]]},"1097":{"position":[[4,6]]},"1136":{"position":[[6,5]]},"1157":{"position":[[16,5]]},"1233":{"position":[[126,7]]},"1234":{"position":[[14,5],[48,5]]},"1282":{"position":[[21,5],[79,5],[136,5]]},"1283":{"position":[[21,5],[79,5],[136,5]]},"1353":{"position":[[80,6]]},"1358":{"position":[[80,6]]},"1363":{"position":[[80,6]]},"1368":{"position":[[80,6]]},"1474":{"position":[[7506,5],[7907,5],[17206,6],[20906,6]]},"1476":{"position":[[4296,6],[4349,6],[5401,5],[5707,6],[6354,5],[7105,5],[7588,6],[7610,5],[7847,6]]},"1477":{"position":[[3787,5]]},"1479":{"position":[[2281,5],[2350,5],[2483,5],[2565,6]]},"1483":{"position":[[14,6]]},"1547":{"position":[[110,6],[132,5]]},"1562":{"position":[[499,6]]},"1584":{"position":[[13,5]]},"1626":{"position":[[78,5]]},"1630":{"position":[[17,5]]},"1648":{"position":[[158,5]]},"1651":{"position":[[35,5]]},"1653":{"position":[[36,5]]},"1659":{"position":[[11,6]]},"1661":{"position":[[11,6]]},"1663":{"position":[[36,6]]},"1664":{"position":[[37,5]]},"1671":{"position":[[26,6]]},"1672":{"position":[[53,6]]},"1674":{"position":[[21,5]]},"1781":{"position":[[216,6]]},"1835":{"position":[[1466,6]]},"1890":{"position":[[17,5],[414,5],[855,5],[957,5]]},"1891":{"position":[[15,5],[220,5]]},"1904":{"position":[[429,6]]},"1907":{"position":[[585,6]]},"1909":{"position":[[540,6]]},"1911":{"position":[[29,5]]},"1926":{"position":[[32,5]]},"2091":{"position":[[276,6]]},"2093":{"position":[[871,6]]},"2106":{"position":[[34,5]]},"2150":{"position":[[49,6]]},"2235":{"position":[[26,5]]},"2240":{"position":[[2070,6],[2138,7],[2157,6],[2294,6],[5931,5],[6149,5]]},"2244":{"position":[[18,5]]},"2344":{"position":[[102,6]]},"2350":{"position":[[259,5],[402,5],[552,5],[744,5]]},"2416":{"position":[[390,5],[551,5],[723,5],[874,5],[1030,5]]},"2417":{"position":[[1400,5],[1892,5]]},"2437":{"position":[[74,5],[431,5]]},"2462":{"position":[[31,5]]},"2466":{"position":[[30,5]]},"2507":{"position":[[453,5],[543,5],[636,5]]}},"keywords":{}}],["event)onstartserv",{"_index":2302,"title":{},"content":{"272":{"position":[[144,20]]},"273":{"position":[[147,20]]}},"keywords":{}}],["eventwith0arg",{"_index":9216,"title":{},"content":{"2507":{"position":[[418,14],[489,13]]}},"keywords":{}}],["eventwith1arg",{"_index":9217,"title":{},"content":{"2507":{"position":[[508,14],[582,13]]}},"keywords":{}}],["eventwith2arg",{"_index":9219,"title":{},"content":{"2507":{"position":[[601,14],[677,13]]}},"keywords":{}}],["everyon",{"_index":342,"title":{},"content":{"14":{"position":[[1134,8]]},"308":{"position":[[112,9],[1524,9]]}},"keywords":{}}],["everyth",{"_index":814,"title":{},"content":{"67":{"position":[[7,11],[512,10]]},"69":{"position":[[349,10]]},"175":{"position":[[820,10]]},"182":{"position":[[2754,10]]},"183":{"position":[[1829,10]]},"201":{"position":[[7,11],[512,10]]}},"keywords":{}}],["everything"",{"_index":3082,"title":{},"content":{"438":{"position":[[102,16]]}},"keywords":{}}],["everywher",{"_index":2877,"title":{},"content":{"356":{"position":[[796,11]]}},"keywords":{}}],["exact",{"_index":5922,"title":{},"content":{"1474":{"position":[[18384,5],[18629,5],[18821,5]]},"1733":{"position":[[711,5],[907,5],[1099,5]]}},"keywords":{}}],["exactli",{"_index":1825,"title":{},"content":{"213":{"position":[[1532,7]]},"306":{"position":[[163,7]]},"359":{"position":[[146,7]]}},"keywords":{}}],["exampl",{"_index":130,"title":{"46":{"position":[[16,7]]},"48":{"position":[[25,7]]},"123":{"position":[[0,7]]},"124":{"position":[[0,7]]},"129":{"position":[[0,7]]},"130":{"position":[[0,7]]},"135":{"position":[[0,7]]},"136":{"position":[[0,7]]},"141":{"position":[[0,7]]},"148":{"position":[[0,7]]},"149":{"position":[[0,7]]},"150":{"position":[[0,7]]},"155":{"position":[[0,7]]},"158":{"position":[[0,7]]},"159":{"position":[[0,7]]},"280":{"position":[[0,8]]},"289":{"position":[[4,8]]},"290":{"position":[[0,7]]},"310":{"position":[[0,7]]},"311":{"position":[[0,7]]},"312":{"position":[[0,7]]},"332":{"position":[[0,7]]},"340":{"position":[[6,8]]},"343":{"position":[[6,8]]},"345":{"position":[[0,8]]},"351":{"position":[[6,8]]},"353":{"position":[[0,8]]},"1777":{"position":[[0,8]]},"1780":{"position":[[0,7]]},"1781":{"position":[[0,7]]},"1783":{"position":[[0,8]]}},"content":{"3":{"position":[[76,8],[704,8]]},"4":{"position":[[108,8]]},"6":{"position":[[689,8]]},"15":{"position":[[750,8]]},"20":{"position":[[380,8]]},"42":{"position":[[299,8],[601,8],[1157,8],[2110,8]]},"44":{"position":[[35,8]]},"46":{"position":[[16,7],[105,7]]},"49":{"position":[[383,8]]},"51":{"position":[[35,8]]},"58":{"position":[[33,8]]},"71":{"position":[[1098,9],[1325,8],[1643,8]]},"85":{"position":[[504,8]]},"92":{"position":[[1299,8],[1434,10]]},"164":{"position":[[509,7],[537,7]]},"173":{"position":[[970,8]]},"186":{"position":[[155,8]]},"187":{"position":[[955,8]]},"190":{"position":[[682,8],[1282,7]]},"213":{"position":[[806,8],[956,8],[1682,8],[1904,8]]},"224":{"position":[[214,8]]},"238":{"position":[[208,7]]},"240":{"position":[[1313,7],[1386,7]]},"242":{"position":[[889,8]]},"245":{"position":[[1208,8],[3399,7],[3557,8]]},"249":{"position":[[482,8],[506,7]]},"251":{"position":[[11,7]]},"253":{"position":[[659,7]]},"264":{"position":[[2331,8]]},"272":{"position":[[406,8]]},"273":{"position":[[469,8]]},"280":{"position":[[1113,8]]},"288":{"position":[[392,8],[952,8],[1774,8]]},"294":{"position":[[355,8]]},"306":{"position":[[143,8]]},"308":{"position":[[90,7],[1129,7],[1502,7]]},"315":{"position":[[82,8],[464,8]]},"316":{"position":[[1120,8]]},"317":{"position":[[76,8],[1011,8]]},"319":{"position":[[297,8]]},"321":{"position":[[86,8],[129,7]]},"327":{"position":[[543,8],[866,8]]},"328":{"position":[[581,8],[1328,8]]},"339":{"position":[[215,8]]},"345":{"position":[[946,8]]},"348":{"position":[[219,8]]},"353":{"position":[[868,8]]},"355":{"position":[[257,8]]},"356":{"position":[[173,8]]},"359":{"position":[[281,7],[315,8]]},"361":{"position":[[687,8]]},"430":{"position":[[0,8],[32,7]]},"548":{"position":[[0,9]]},"618":{"position":[[7,7]]},"685":{"position":[[12,7]]},"873":{"position":[[12,7]]},"879":{"position":[[120,7]]},"1064":{"position":[[12,7]]},"1140":{"position":[[21,8]]},"1149":{"position":[[61,7]]},"1168":{"position":[[15,7]]},"1171":{"position":[[15,7]]},"1214":{"position":[[20,7]]},"1442":{"position":[[43,8]]},"1466":{"position":[[730,7]]},"1474":{"position":[[5955,7],[5987,7],[6363,7],[6601,8],[7455,7],[7477,7],[18184,7],[21646,7],[21927,7]]},"1476":{"position":[[2487,7],[4875,8],[4970,7],[6673,7]]},"1478":{"position":[[617,7]]},"1479":{"position":[[2171,7]]},"1497":{"position":[[10,7]]},"1499":{"position":[[10,8]]},"1561":{"position":[[0,7]]},"1563":{"position":[[167,8]]},"1565":{"position":[[44,7]]},"1567":{"position":[[1128,7]]},"1570":{"position":[[15,7]]},"1580":{"position":[[231,7]]},"1614":{"position":[[5,7]]},"1650":{"position":[[17,7]]},"1684":{"position":[[15,7]]},"1691":{"position":[[0,8]]},"1721":{"position":[[5,7],[46,7]]},"1733":{"position":[[650,7]]},"1777":{"position":[[395,8]]},"1778":{"position":[[52,8]]},"1780":{"position":[[18,7]]},"1781":{"position":[[18,7]]},"1783":{"position":[[982,8]]},"1819":{"position":[[365,7]]},"1883":{"position":[[37,7]]},"1992":{"position":[[84,7],[150,7]]},"2091":{"position":[[538,7]]},"2093":{"position":[[794,7]]},"2130":{"position":[[2180,8],[2788,7]]},"2417":{"position":[[2805,7],[3005,8]]},"2434":{"position":[[834,7]]}},"keywords":{}}],["example)for",{"_index":1471,"title":{},"content":{"182":{"position":[[1866,11]]}},"keywords":{}}],["except",{"_index":982,"title":{},"content":{"92":{"position":[[489,10]]},"179":{"position":[[564,11]]},"479":{"position":[[25,9]]},"551":{"position":[[9,9]]},"603":{"position":[[84,10]]},"614":{"position":[[219,9]]},"677":{"position":[[175,9]]},"715":{"position":[[103,9]]},"808":{"position":[[15,9],[87,9]]},"889":{"position":[[19,9]]},"954":{"position":[[126,9]]},"983":{"position":[[9,9]]},"1059":{"position":[[20,9]]},"1060":{"position":[[20,9]]},"1131":{"position":[[16,9]]},"1197":{"position":[[14,9]]},"1257":{"position":[[6,9]]},"1267":{"position":[[60,9]]},"1300":{"position":[[14,9]]},"1307":{"position":[[20,9]]},"1474":{"position":[[3837,6],[8872,9],[9641,9],[13820,10],[13871,9],[15151,9],[16113,9],[18323,10],[19894,9]]},"1476":{"position":[[7352,9],[8180,9]]},"1477":{"position":[[4077,9]]},"1479":{"position":[[750,9],[2911,9]]},"1520":{"position":[[13,10]]},"1535":{"position":[[163,9]]},"1550":{"position":[[64,9]]},"1603":{"position":[[31,9]]},"1604":{"position":[[34,9]]},"1725":{"position":[[117,9]]},"1726":{"position":[[38,9]]},"1729":{"position":[[43,10],[94,9]]},"1870":{"position":[[706,6]]},"1947":{"position":[[81,10],[159,9]]},"2240":{"position":[[1381,9],[6989,9]]},"2320":{"position":[[990,11],[1072,9]]},"2327":{"position":[[332,10]]}},"keywords":{}}],["exception($"invalid",{"_index":2615,"title":{},"content":{"316":{"position":[[1943,24]]}},"keywords":{}}],["exceptionscomputer/machin",{"_index":1400,"title":{},"content":{"175":{"position":[[887,26]]}},"keywords":{}}],["exceptwith(ienumerable<t>",{"_index":7355,"title":{},"content":{"1860":{"position":[[2164,33],[2223,31]]}},"keywords":{}}],["exchang",{"_index":1521,"title":{},"content":{"183":{"position":[[979,9]]}},"keywords":{}}],["exclud",{"_index":2400,"title":{"286":{"position":[[0,7]]}},"content":{"286":{"position":[[16,7]]},"314":{"position":[[764,8]]},"355":{"position":[[795,8]]},"414":{"position":[[23,8]]},"575":{"position":[[17,7]]},"584":{"position":[[29,7]]},"1870":{"position":[[314,7],[624,7],[648,7]]},"2168":{"position":[[61,8],[1423,9],[1776,9],[2101,9],[2442,9],[2755,9],[3084,9]]},"2169":{"position":[[179,9],[508,9]]},"2419":{"position":[[194,9]]}},"keywords":{}}],["excludehost",{"_index":3012,"title":{},"content":{"403":{"position":[[7,11]]},"2267":{"position":[[145,12],[224,11]]}},"keywords":{}}],["excludelocalplay",{"_index":2392,"title":{},"content":{"280":{"position":[[991,19]]},"2421":{"position":[[998,19],[1088,19],[1201,18],[1376,19],[1522,18],[1748,19],[1939,18],[2205,19],[2394,18],[2646,19],[2850,18],[3056,19],[3220,18]]}},"keywords":{}}],["excludeown",{"_index":2401,"title":{},"content":{"286":{"position":[[89,12]]},"1476":{"position":[[111,12]]},"1567":{"position":[[4,12]]},"1966":{"position":[[194,13],[385,12],[1586,13],[1769,12],[2061,13],[2158,12]]},"2267":{"position":[[92,13],[131,12]]},"2421":{"position":[[3081,13],[3254,12]]}},"keywords":{}}],["exclus",{"_index":46,"title":{},"content":{"0":{"position":[[780,10]]}},"keywords":{}}],["execut",{"_index":1389,"title":{},"content":{"175":{"position":[[294,11]]},"196":{"position":[[61,10],[819,10]]},"217":{"position":[[3,7]]},"219":{"position":[[43,8]]},"1030":{"position":[[10,7]]},"1777":{"position":[[345,8]]},"1780":{"position":[[826,8]]},"1781":{"position":[[890,8]]},"2255":{"position":[[127,7]]},"2279":{"position":[[127,7]]},"2313":{"position":[[127,7]]},"2386":{"position":[[108,8]]},"2471":{"position":[[127,7]]}},"keywords":{}}],["exisitng",{"_index":7580,"title":{},"content":{"1935":{"position":[[782,8]]}},"keywords":{}}],["exist",{"_index":380,"title":{},"content":{"17":{"position":[[261,6]]},"68":{"position":[[69,8]]},"189":{"position":[[210,8]]},"197":{"position":[[90,8]]},"199":{"position":[[15,8]]},"235":{"position":[[517,5],[1890,5]]},"262":{"position":[[327,6]]},"270":{"position":[[341,5],[375,5]]},"274":{"position":[[238,5],[282,5]]},"314":{"position":[[152,6],[305,5]]},"537":{"position":[[227,8]]},"802":{"position":[[46,6]]},"847":{"position":[[441,8]]},"892":{"position":[[30,5]]},"933":{"position":[[50,8]]},"985":{"position":[[16,7]]},"1474":{"position":[[5683,6],[5780,6],[6742,8]]},"1566":{"position":[[223,6],[320,6],[544,8]]},"1802":{"position":[[90,7]]},"2019":{"position":[[46,5]]},"2106":{"position":[[79,5]]},"2130":{"position":[[2007,5]]},"2204":{"position":[[574,7],[634,5],[833,7],[1087,7],[1379,7]]},"2265":{"position":[[5002,6]]},"2358":{"position":[[1248,6],[1351,6]]},"2370":{"position":[[1901,6]]},"2492":{"position":[[23,8]]},"2522":{"position":[[221,8]]}},"keywords":{}}],["exists(uint",{"_index":8603,"title":{},"content":{"2204":{"position":[[706,11]]}},"keywords":{}}],["exists(uint32",{"_index":8602,"title":{},"content":{"2204":{"position":[[608,15]]}},"keywords":{}}],["exit",{"_index":873,"title":{},"content":{"71":{"position":[[1539,4],[1810,4]]},"198":{"position":[[539,4]]},"792":{"position":[[26,4]]},"1262":{"position":[[36,5]]},"1350":{"position":[[215,4]]},"1355":{"position":[[215,4]]},"1360":{"position":[[215,4]]},"1365":{"position":[[215,4]]},"1370":{"position":[[215,4]]},"1375":{"position":[[169,4]]},"1379":{"position":[[169,4]]},"1474":{"position":[[6400,5]]},"1620":{"position":[[13,5]]}},"keywords":{}}],["exitgui",{"_index":3354,"title":{},"content":{"546":{"position":[[7,7]]}},"keywords":{}}],["expect",{"_index":336,"title":{},"content":{"14":{"position":[[840,7]]},"264":{"position":[[1565,7]]},"1024":{"position":[[294,6]]},"1291":{"position":[[0,6]]},"1474":{"position":[[15864,9]]},"2031":{"position":[[2126,6]]}},"keywords":{}}],["expens",{"_index":6260,"title":{},"content":{"1476":{"position":[[5217,9],[5277,9]]}},"keywords":{}}],["experi",{"_index":1779,"title":{},"content":{"210":{"position":[[1951,10]]},"213":{"position":[[199,10]]},"356":{"position":[[1515,11]]}},"keywords":{}}],["experiment",{"_index":3317,"title":{},"content":{"537":{"position":[[435,12]]},"539":{"position":[[203,12]]}},"keywords":{}}],["explan",{"_index":2522,"title":{},"content":{"304":{"position":[[487,11]]}},"keywords":{}}],["explicit",{"_index":4707,"title":{},"content":{"1133":{"position":[[0,8]]}},"keywords":{}}],["exploit",{"_index":5771,"title":{},"content":{"1474":{"position":[[12938,8],[15900,8]]}},"keywords":{}}],["exponenti",{"_index":1379,"title":{},"content":{"173":{"position":[[1117,11]]}},"keywords":{}}],["exponentialmovingaverag",{"_index":8643,"title":{"2271":{"position":[[6,24]]}},"content":{"2240":{"position":[[645,25]]}},"keywords":{}}],["exponentialmovingaverage(int",{"_index":8791,"title":{},"content":{"2272":{"position":[[53,28]]}},"keywords":{}}],["exponentialmovingaverage(int32",{"_index":8790,"title":{},"content":{"2272":{"position":[[0,32]]}},"keywords":{}}],["extend",{"_index":783,"title":{},"content":{"61":{"position":[[273,7]]},"83":{"position":[[176,7]]}},"keywords":{}}],["extens",{"_index":95,"title":{},"content":{"0":{"position":[[1824,9]]},"315":{"position":[[406,9]]},"328":{"position":[[288,9]]},"436":{"position":[[31,10]]},"442":{"position":[[35,10]]},"443":{"position":[[16,10]]},"620":{"position":[[16,9]]},"622":{"position":[[65,9],[138,9]]},"800":{"position":[[17,9]]},"821":{"position":[[18,9]]},"927":{"position":[[27,9]]},"933":{"position":[[18,9]]},"1065":{"position":[[14,9]]},"1476":{"position":[[3202,9]]},"1983":{"position":[[2440,9],[2829,9]]},"2080":{"position":[[54,9]]},"2083":{"position":[[216,9]]}},"keywords":{}}],["extern",{"_index":1391,"title":{},"content":{"175":{"position":[[437,8],[491,8]]},"190":{"position":[[1659,10]]},"1276":{"position":[[0,8]]}},"keywords":{}}],["extra",{"_index":1031,"title":{},"content":{"99":{"position":[[1303,5]]},"179":{"position":[[240,5],[632,5]]},"186":{"position":[[262,5]]},"356":{"position":[[1399,5]]},"476":{"position":[[81,5]]},"539":{"position":[[27,5]]},"586":{"position":[[7,5]]},"1476":{"position":[[1928,5]]},"1578":{"position":[[58,5]]},"2240":{"position":[[6596,5],[6639,5]]},"2421":{"position":[[3441,5],[3932,5]]}},"keywords":{}}],["extract",{"_index":1615,"title":{"195":{"position":[[11,7]]}},"content":{"193":{"position":[[315,7]]},"195":{"position":[[495,7]]}},"keywords":{}}],["extradata",{"_index":5859,"title":{},"content":{"1474":{"position":[[16794,9]]},"1580":{"position":[[107,9]]}},"keywords":{}}],["f",{"_index":1653,"title":{},"content":{"198":{"position":[[388,1]]}},"keywords":{}}],["f02d317)lobbi",{"_index":5740,"title":{},"content":{"1474":{"position":[[12021,14]]}},"keywords":{}}],["f04e17c",{"_index":5257,"title":{},"content":{"1460":{"position":[[37,9]]}},"keywords":{}}],["f057983",{"_index":6899,"title":{},"content":{"1594":{"position":[[46,9]]}},"keywords":{}}],["f057983)messag",{"_index":6438,"title":{},"content":{"1477":{"position":[[1079,17]]}},"keywords":{}}],["f058f7f",{"_index":3852,"title":{},"content":{"763":{"position":[[50,9]]}},"keywords":{}}],["f0a8b5d)websocket",{"_index":6400,"title":{},"content":{"1476":{"position":[[9321,19]]}},"keywords":{}}],["f0a993c)rac",{"_index":5842,"title":{},"content":{"1474":{"position":[[16434,13]]}},"keywords":{}}],["f0a993c)return",{"_index":7089,"title":{},"content":{"1733":{"position":[[580,15]]}},"keywords":{}}],["f0c335f",{"_index":3863,"title":{},"content":{"764":{"position":[[301,9]]}},"keywords":{}}],["f1",{"_index":1587,"title":{},"content":{"190":{"position":[[752,3]]}},"keywords":{}}],["f11ef9a",{"_index":4259,"title":{},"content":{"946":{"position":[[35,9]]}},"keywords":{}}],["f1758d3)use",{"_index":4730,"title":{},"content":{"1141":{"position":[[201,12]]}},"keywords":{}}],["f1ace90",{"_index":3451,"title":{},"content":{"582":{"position":[[208,9]]}},"keywords":{}}],["f1b4512",{"_index":3839,"title":{},"content":{"756":{"position":[[51,9]]}},"keywords":{}}],["f1b52f3",{"_index":6746,"title":{},"content":{"1528":{"position":[[41,9]]}},"keywords":{}}],["f1b52f3)clientrpc",{"_index":6159,"title":{},"content":{"1476":{"position":[[2691,18]]}},"keywords":{}}],["f1ceb0c)optim",{"_index":6460,"title":{},"content":{"1477":{"position":[[1712,17]]}},"keywords":{}}],["f1f8f57",{"_index":4381,"title":{},"content":{"995":{"position":[[45,9]]}},"keywords":{}}],["f1fdc95)ad",{"_index":6103,"title":{},"content":{"1476":{"position":[[1182,15]]},"1563":{"position":[[46,15]]}},"keywords":{}}],["f215cef",{"_index":3924,"title":{},"content":{"796":{"position":[[76,9]]}},"keywords":{}}],["f26159b",{"_index":6725,"title":{},"content":{"1514":{"position":[[28,9]]}},"keywords":{}}],["f26159b)renam",{"_index":5352,"title":{},"content":{"1473":{"position":[[261,15]]}},"keywords":{}}],["f27fd0b)invalid",{"_index":5411,"title":{},"content":{"1474":{"position":[[1910,16]]}},"keywords":{}}],["f2a5522",{"_index":4503,"title":{},"content":{"1044":{"position":[[118,9]]}},"keywords":{}}],["f2b3938)refactor",{"_index":3281,"title":{},"content":{"522":{"position":[[143,19]]}},"keywords":{}}],["f2ccb59",{"_index":6916,"title":{},"content":{"1608":{"position":[[20,9]]}},"keywords":{}}],["f2ccb59)logset",{"_index":6240,"title":{},"content":{"1476":{"position":[[4638,20]]}},"keywords":{}}],["f2d2cf3",{"_index":3216,"title":{},"content":{"497":{"position":[[144,9]]}},"keywords":{}}],["f331875)stop",{"_index":3650,"title":{},"content":{"670":{"position":[[200,17]]}},"keywords":{}}],["f33c6eb)networkserv",{"_index":3680,"title":{},"content":{"683":{"position":[[58,22]]}},"keywords":{}}],["f3755d9",{"_index":3134,"title":{},"content":{"457":{"position":[[40,9]]}},"keywords":{}}],["f39414b",{"_index":3352,"title":{},"content":{"545":{"position":[[279,9]]}},"keywords":{}}],["f3b5dc4",{"_index":6752,"title":{},"content":{"1534":{"position":[[41,9]]}},"keywords":{}}],["f3b5dc4)server",{"_index":6330,"title":{},"content":{"1476":{"position":[[7079,15]]}},"keywords":{}}],["f3bcc89)throw",{"_index":3654,"title":{},"content":{"673":{"position":[[46,17]]}},"keywords":{}}],["f455a2d",{"_index":3844,"title":{},"content":{"757":{"position":[[155,9]]}},"keywords":{}}],["f4b9597",{"_index":3464,"title":{},"content":{"587":{"position":[[45,9]]}},"keywords":{}}],["f4f5167",{"_index":6531,"title":{},"content":{"1477":{"position":[[3618,10]]},"1598":{"position":[[93,10]]}},"keywords":{}}],["f523143",{"_index":3362,"title":{},"content":{"548":{"position":[[131,9]]}},"keywords":{}}],["f53b12b)creat",{"_index":6178,"title":{},"content":{"1476":{"position":[[3107,17]]}},"keywords":{}}],["f53b12b)networkscenecheck",{"_index":7095,"title":{},"content":{"1734":{"position":[[255,28]]}},"keywords":{}}],["f55e929",{"_index":3371,"title":{},"content":{"551":{"position":[[40,9]]}},"keywords":{}}],["f56507f)revert",{"_index":5436,"title":{},"content":{"1474":{"position":[[2998,15]]}},"keywords":{}}],["f584388)don't",{"_index":5648,"title":{},"content":{"1474":{"position":[[9332,14]]}},"keywords":{}}],["f584388)race",{"_index":7054,"title":{},"content":{"1713":{"position":[[37,13]]}},"keywords":{}}],["f5e1b9a)renam",{"_index":3859,"title":{},"content":{"764":{"position":[[167,18]]}},"keywords":{}}],["f5e9318)networkanim",{"_index":6263,"title":{},"content":{"1476":{"position":[[5306,24]]}},"keywords":{}}],["f5f7f6c)reduc",{"_index":5132,"title":{},"content":{"1327":{"position":[[65,15]]},"1330":{"position":[[65,15]]},"1333":{"position":[[65,15]]}},"keywords":{}}],["f605c46",{"_index":3711,"title":{},"content":{"697":{"position":[[106,9]]}},"keywords":{}}],["f626c77",{"_index":3401,"title":{},"content":{"558":{"position":[[71,9]]}},"keywords":{}}],["f6545d4",{"_index":6867,"title":{},"content":{"1578":{"position":[[379,9]]}},"keywords":{}}],["f6545d4)new",{"_index":6287,"title":{},"content":{"1476":{"position":[[6002,12]]}},"keywords":{}}],["f663543)new",{"_index":2990,"title":{},"content":{"396":{"position":[[21,12]]}},"keywords":{}}],["f66c3b6",{"_index":3898,"title":{},"content":{"781":{"position":[[67,9]]}},"keywords":{}}],["f673f9b)refactor",{"_index":3316,"title":{},"content":{"537":{"position":[[406,19]]}},"keywords":{}}],["f69f174",{"_index":7134,"title":{},"content":{"1753":{"position":[[44,9]]}},"keywords":{}}],["f69f174)add",{"_index":6077,"title":{},"content":{"1476":{"position":[[539,12]]}},"keywords":{}}],["f6cae98",{"_index":4605,"title":{},"content":{"1084":{"position":[[55,9]]}},"keywords":{}}],["f6f78a8",{"_index":3181,"title":{},"content":{"483":{"position":[[44,9]]}},"keywords":{}}],["f717945",{"_index":6769,"title":{},"content":{"1546":{"position":[[132,9]]}},"keywords":{}}],["f717945)nre",{"_index":5801,"title":{},"content":{"1474":{"position":[[14956,12]]}},"keywords":{}}],["f8901c2",{"_index":3054,"title":{},"content":{"425":{"position":[[35,9]]}},"keywords":{}}],["f89d596",{"_index":3047,"title":{},"content":{"421":{"position":[[29,9]]}},"keywords":{}}],["f8bda6e",{"_index":3911,"title":{},"content":{"786":{"position":[[222,9]]}},"keywords":{}}],["f8f643a)asyncmultiplextransport",{"_index":5345,"title":{},"content":{"1473":{"position":[[47,32]]},"1517":{"position":[[47,32]]}},"keywords":{}}],["f930bd0",{"_index":3455,"title":{},"content":{"584":{"position":[[53,9]]}},"keywords":{}}],["f9328c7",{"_index":6898,"title":{},"content":{"1593":{"position":[[60,9]]}},"keywords":{}}],["f9328c7)log",{"_index":6238,"title":{},"content":{"1476":{"position":[[4609,16]]}},"keywords":{}}],["f935786",{"_index":4181,"title":{},"content":{"906":{"position":[[41,9]]}},"keywords":{}}],["f99e71e)us",{"_index":6499,"title":{},"content":{"1477":{"position":[[2916,12]]}},"keywords":{}}],["f9afb64",{"_index":6946,"title":{},"content":{"1629":{"position":[[24,9]]}},"keywords":{}}],["f9afb64)allow",{"_index":6127,"title":{},"content":{"1476":{"position":[[1862,14]]}},"keywords":{}}],["f9b1f65",{"_index":3425,"title":{},"content":{"570":{"position":[[20,9]]}},"keywords":{}}],["f9c8033",{"_index":3965,"title":{},"content":{"818":{"position":[[55,9]]}},"keywords":{}}],["f9d34d5)more",{"_index":6248,"title":{},"content":{"1476":{"position":[[4861,13]]}},"keywords":{}}],["f9ff443)support",{"_index":6343,"title":{},"content":{"1476":{"position":[[7492,17]]}},"keywords":{}}],["fa052d6",{"_index":3531,"title":{},"content":{"614":{"position":[[172,10]]}},"keywords":{}}],["fac0542",{"_index":6571,"title":{},"content":{"1477":{"position":[[4470,10]]}},"keywords":{}}],["face",{"_index":1212,"title":{},"content":{"130":{"position":[[45,6]]},"159":{"position":[[45,6]]}},"keywords":{}}],["facepunch",{"_index":906,"title":{},"content":{"81":{"position":[[109,10]]}},"keywords":{}}],["facori",{"_index":3661,"title":{},"content":{"674":{"position":[[122,8]]}},"keywords":{}}],["factori",{"_index":781,"title":{},"content":{"61":{"position":[[127,7],[171,7],[244,8],[549,7]]},"82":{"position":[[285,7]]},"681":{"position":[[7,9]]},"730":{"position":[[53,7]]},"1476":{"position":[[4556,7]]},"1593":{"position":[[7,7]]},"2221":{"position":[[78,8],[157,7]]}},"keywords":{}}],["faf2e54",{"_index":5024,"title":{},"content":{"1275":{"position":[[108,10]]}},"keywords":{}}],["fail",{"_index":1088,"title":{},"content":{"117":{"position":[[1224,4],[1430,4]]},"249":{"position":[[1846,5]]},"327":{"position":[[350,4]]},"380":{"position":[[58,6]]},"572":{"position":[[22,7]]},"677":{"position":[[152,7]]},"889":{"position":[[50,5]]},"929":{"position":[[20,6]]},"1474":{"position":[[12333,6]]},"1774":{"position":[[305,4]]},"1890":{"position":[[882,5]]},"1911":{"position":[[56,5]]},"2240":{"position":[[7020,5]]}},"keywords":{}}],["failed"",{"_index":1104,"title":{},"content":{"117":{"position":[[1747,14]]}},"keywords":{}}],["failur",{"_index":1072,"title":{},"content":{"117":{"position":[[287,7]]}},"keywords":{}}],["faks",{"_index":7396,"title":{},"content":{"1870":{"position":[[214,5]]}},"keywords":{}}],["fall",{"_index":5923,"title":{},"content":{"1474":{"position":[[18451,7],[18696,7],[18888,7]]},"1733":{"position":[[778,7],[974,7],[1166,7]]}},"keywords":{}}],["fallback",{"_index":6063,"title":{},"content":{"1476":{"position":[[221,8]]},"1612":{"position":[[4,8]]}},"keywords":{}}],["fallbacktransport",{"_index":5030,"title":{},"content":{"1278":{"position":[[89,17],[143,17]]},"1279":{"position":[[0,17],[35,17]]},"1473":{"position":[[29,17]]},"1474":{"position":[[16052,18]]},"1479":{"position":[[219,17]]},"1517":{"position":[[29,17]]}},"keywords":{}}],["fallbacktransportrenam",{"_index":6733,"title":{},"content":{"1519":{"position":[[91,23]]}},"keywords":{}}],["fals",{"_index":559,"title":{},"content":{"33":{"position":[[672,6],[695,5]]},"42":{"position":[[1614,6],[1939,7],[2220,5]]},"92":{"position":[[254,5],[450,5]]},"241":{"position":[[1329,6]]},"249":{"position":[[471,6]]},"251":{"position":[[4635,7]]},"274":{"position":[[181,7],[222,7],[266,7],[309,7]]},"280":{"position":[[1011,7]]},"295":{"position":[[273,6],[809,7]]},"308":{"position":[[1154,5],[1286,6]]},"337":{"position":[[787,6]]},"363":{"position":[[168,5]]},"409":{"position":[[46,5]]},"708":{"position":[[32,5]]},"1048":{"position":[[41,5]]},"1059":{"position":[[51,5]]},"1060":{"position":[[51,5]]},"1466":{"position":[[764,5]]},"1474":{"position":[[11412,6],[14532,5]]},"1479":{"position":[[329,7],[453,7],[513,7],[627,7]]},"1527":{"position":[[50,7]]},"1529":{"position":[[40,7]]},"1531":{"position":[[52,7]]},"1535":{"position":[[40,7]]},"1562":{"position":[[419,6]]},"1733":{"position":[[505,5]]},"2204":{"position":[[585,5],[844,5],[1390,5]]},"2255":{"position":[[79,6]]},"2279":{"position":[[79,6]]},"2299":{"position":[[143,6]]},"2306":{"position":[[721,5]]},"2313":{"position":[[79,6]]},"2319":{"position":[[167,6]]},"2322":{"position":[[1038,6],[1770,6],[2482,6]]},"2324":{"position":[[123,6]]},"2367":{"position":[[124,5]]},"2386":{"position":[[60,6]]},"2417":{"position":[[485,5],[6119,6],[7049,6]]},"2471":{"position":[[79,6]]},"2478":{"position":[[2325,6],[3200,6]]},"2482":{"position":[[538,6],[1346,6],[3361,6]]}},"keywords":{}}],["fantasi",{"_index":756,"title":{},"content":{"59":{"position":[[99,7]]}},"keywords":{}}],["faq",{"_index":1539,"title":{"185":{"position":[[0,3]]}},"content":{},"keywords":{}}],["fast",{"_index":1531,"title":{},"content":{"184":{"position":[[221,5]]},"217":{"position":[[956,5]]},"240":{"position":[[1299,5]]},"1990":{"position":[[134,5],[630,5],[1046,5]]},"2287":{"position":[[73,4]]}},"keywords":{}}],["fast3",{"_index":4744,"title":{},"content":{"1143":{"position":[[10,5]]}},"keywords":{}}],["faster",{"_index":4171,"title":{},"content":{"899":{"position":[[32,6]]},"902":{"position":[[32,6]]},"1278":{"position":[[0,6]]},"1477":{"position":[[1416,7],[2226,6]]},"1478":{"position":[[94,6]]},"1568":{"position":[[145,7]]},"1609":{"position":[[0,6]]},"1628":{"position":[[0,6]]},"1636":{"position":[[0,6],[85,6]]}},"keywords":{}}],["fastest",{"_index":238,"title":{},"content":{"10":{"position":[[497,7]]}},"keywords":{}}],["fb26755",{"_index":6560,"title":{},"content":{"1477":{"position":[[4249,10]]},"1736":{"position":[[119,10]]}},"keywords":{}}],["fb26d00",{"_index":5734,"title":{},"content":{"1474":{"position":[[11818,10]]}},"keywords":{}}],["fb4321e",{"_index":3903,"title":{},"content":{"785":{"position":[[58,10]]}},"keywords":{}}],["fb49d19",{"_index":5175,"title":{},"content":{"1349":{"position":[[89,10]]},"1354":{"position":[[89,10]]},"1359":{"position":[[89,10]]},"1364":{"position":[[89,10]]},"1369":{"position":[[89,10]]},"1374":{"position":[[89,10]]},"1378":{"position":[[89,10]]},"1382":{"position":[[89,10]]},"1386":{"position":[[89,10]]},"1390":{"position":[[89,10]]},"1394":{"position":[[89,10]]},"1398":{"position":[[89,10]]},"1402":{"position":[[89,10]]},"1406":{"position":[[89,10]]},"1410":{"position":[[89,10]]},"1414":{"position":[[89,10]]},"1418":{"position":[[89,10]]},"1422":{"position":[[89,10]]},"1426":{"position":[[89,10]]},"1430":{"position":[[89,10]]},"1434":{"position":[[50,10]]},"1438":{"position":[[50,10]]}},"keywords":{}}],["fb5c2a6",{"_index":3318,"title":{},"content":{"537":{"position":[[459,9]]}},"keywords":{}}],["fb716df)networkconnectionev",{"_index":5782,"title":{},"content":{"1474":{"position":[[13705,31]]}},"keywords":{}}],["fb84452",{"_index":4345,"title":{},"content":{"979":{"position":[[24,9]]}},"keywords":{}}],["fb927f8)ad",{"_index":5506,"title":{},"content":{"1474":{"position":[[5396,14]]},"1566":{"position":[[134,15]]}},"keywords":{}}],["fbcdf1e",{"_index":3110,"title":{},"content":{"444":{"position":[[436,9]]}},"keywords":{}}],["fbd136c)fix",{"_index":3338,"title":{},"content":{"541":{"position":[[49,15]]}},"keywords":{}}],["fc53078)isserv",{"_index":5298,"title":{},"content":{"1466":{"position":[[746,17]]}},"keywords":{}}],["fc99c67",{"_index":7057,"title":{},"content":{"1715":{"position":[[31,9]]}},"keywords":{}}],["fc99c67)auto",{"_index":5541,"title":{},"content":{"1474":{"position":[[6486,13]]}},"keywords":{}}],["fcbd007",{"_index":3275,"title":{},"content":{"520":{"position":[[20,9]]}},"keywords":{}}],["fcbe10d",{"_index":3799,"title":{},"content":{"734":{"position":[[350,9]]}},"keywords":{}}],["fd12390)ad",{"_index":3232,"title":{},"content":{"504":{"position":[[51,15]]}},"keywords":{}}],["fd4357c)make",{"_index":6242,"title":{},"content":{"1476":{"position":[[4709,13]]}},"keywords":{}}],["fd4357c)multipl",{"_index":6841,"title":{},"content":{"1567":{"position":[[1075,17]]}},"keywords":{}}],["fd43c67)prevent",{"_index":5834,"title":{},"content":{"1474":{"position":[[16184,16]]}},"keywords":{}}],["fd7dc5e)#791",{"_index":5480,"title":{},"content":{"1474":{"position":[[4809,13]]}},"keywords":{}}],["fd7dc5e)fix",{"_index":7146,"title":{},"content":{"1762":{"position":[[52,12]]}},"keywords":{}}],["fddf9ea",{"_index":3550,"title":{},"content":{"622":{"position":[[156,10]]}},"keywords":{}}],["fe71bcd",{"_index":4711,"title":{},"content":{"1135":{"position":[[28,9]]}},"keywords":{}}],["fe9a07a",{"_index":4311,"title":{},"content":{"962":{"position":[[54,9]]}},"keywords":{}}],["feat",{"_index":3164,"title":{},"content":{"476":{"position":[[67,6]]},"485":{"position":[[49,6]]}},"keywords":{}}],["feat!(socketlay",{"_index":3700,"title":{},"content":{"692":{"position":[[65,19]]}},"keywords":{}}],["feat(characterspawn",{"_index":3363,"title":{},"content":{"548":{"position":[[141,24]]}},"keywords":{}}],["feat(networkscenemanag",{"_index":3752,"title":{},"content":{"715":{"position":[[142,27]]}},"keywords":{}}],["featur",{"_index":400,"title":{"186":{"position":[[18,9]]},"369":{"position":[[0,9]]},"372":{"position":[[0,9]]},"380":{"position":[[0,9]]},"381":{"position":[[0,9]]},"382":{"position":[[0,9]]},"386":{"position":[[0,9]]},"397":{"position":[[0,9]]},"398":{"position":[[0,9]]},"402":{"position":[[0,9]]},"403":{"position":[[0,9]]},"412":{"position":[[0,9]]},"421":{"position":[[0,9]]},"424":{"position":[[0,9]]},"425":{"position":[[0,9]]},"430":{"position":[[0,9]]},"436":{"position":[[0,9]]},"439":{"position":[[0,9]]},"440":{"position":[[0,9]]},"442":{"position":[[0,9]]},"443":{"position":[[0,9]]},"445":{"position":[[0,9]]},"454":{"position":[[0,9]]},"465":{"position":[[0,9]]},"466":{"position":[[0,9]]},"467":{"position":[[0,9]]},"469":{"position":[[0,9]]},"471":{"position":[[0,9]]},"472":{"position":[[0,9]]},"477":{"position":[[0,9]]},"479":{"position":[[0,9]]},"481":{"position":[[0,9]]},"482":{"position":[[0,9]]},"483":{"position":[[0,9]]},"486":{"position":[[0,9]]},"489":{"position":[[0,9]]},"500":{"position":[[0,9]]},"501":{"position":[[0,9]]},"504":{"position":[[0,9]]},"507":{"position":[[0,9]]},"511":{"position":[[0,9]]},"513":{"position":[[0,9]]},"523":{"position":[[0,9]]},"532":{"position":[[0,9]]},"538":{"position":[[0,9]]},"542":{"position":[[0,9]]},"543":{"position":[[0,9]]},"545":{"position":[[0,9]]},"547":{"position":[[0,9]]},"555":{"position":[[0,9]]},"557":{"position":[[0,9]]},"558":{"position":[[0,9]]},"563":{"position":[[0,9]]},"566":{"position":[[0,9]]},"575":{"position":[[0,9]]},"584":{"position":[[0,9]]},"586":{"position":[[0,9]]},"588":{"position":[[0,9]]},"591":{"position":[[0,9]]},"595":{"position":[[0,9]]},"596":{"position":[[0,9]]},"600":{"position":[[0,9]]},"602":{"position":[[0,9]]},"605":{"position":[[0,9]]},"608":{"position":[[0,9]]},"612":{"position":[[0,9]]},"618":{"position":[[0,9]]},"626":{"position":[[0,9]]},"636":{"position":[[0,9]]},"647":{"position":[[0,9]]},"664":{"position":[[0,9]]},"674":{"position":[[0,9]]},"680":{"position":[[0,9]]},"690":{"position":[[0,9]]},"694":{"position":[[0,9]]},"698":{"position":[[0,9]]},"702":{"position":[[0,9]]},"705":{"position":[[0,9]]},"708":{"position":[[0,9]]},"712":{"position":[[0,9]]},"719":{"position":[[0,9]]},"738":{"position":[[0,9]]},"740":{"position":[[0,9]]},"747":{"position":[[0,9]]},"757":{"position":[[0,9]]},"766":{"position":[[0,9]]},"771":{"position":[[0,9]]},"796":{"position":[[0,9]]},"810":{"position":[[0,9]]},"811":{"position":[[0,9]]},"813":{"position":[[0,9]]},"822":{"position":[[0,9]]},"829":{"position":[[0,9]]},"831":{"position":[[0,9]]},"833":{"position":[[0,9]]},"844":{"position":[[0,9]]},"848":{"position":[[0,9]]},"853":{"position":[[0,9]]},"855":{"position":[[0,9]]},"861":{"position":[[0,9]]},"862":{"position":[[0,9]]},"863":{"position":[[0,9]]},"864":{"position":[[0,9]]},"867":{"position":[[0,9]]},"874":{"position":[[0,9]]},"876":{"position":[[0,9]]},"878":{"position":[[0,9]]},"879":{"position":[[0,9]]},"893":{"position":[[0,9]]},"909":{"position":[[0,9]]},"919":{"position":[[0,9]]},"927":{"position":[[0,9]]},"931":{"position":[[0,9]]},"934":{"position":[[0,9]]},"940":{"position":[[0,9]]},"941":{"position":[[0,9]]},"945":{"position":[[0,9]]},"947":{"position":[[0,9]]},"957":{"position":[[0,9]]},"960":{"position":[[0,9]]},"962":{"position":[[0,9]]},"964":{"position":[[0,9]]},"979":{"position":[[0,9]]},"990":{"position":[[0,9]]},"995":{"position":[[0,9]]},"999":{"position":[[0,9]]},"1008":{"position":[[0,9]]},"1012":{"position":[[0,9]]},"1015":{"position":[[0,9]]},"1018":{"position":[[0,9]]},"1043":{"position":[[0,9]]},"1046":{"position":[[0,9]]},"1065":{"position":[[0,9]]},"1075":{"position":[[0,9]]},"1077":{"position":[[0,9]]},"1082":{"position":[[0,9]]},"1097":{"position":[[0,9]]},"1098":{"position":[[0,9]]},"1109":{"position":[[0,9]]},"1110":{"position":[[0,9]]},"1114":{"position":[[0,9]]},"1119":{"position":[[0,9]]},"1121":{"position":[[0,9]]},"1133":{"position":[[0,9]]},"1136":{"position":[[0,9]]},"1137":{"position":[[0,9]]},"1143":{"position":[[0,9]]},"1160":{"position":[[0,9]]},"1161":{"position":[[0,9]]},"1166":{"position":[[0,9]]},"1169":{"position":[[0,9]]},"1180":{"position":[[0,9]]},"1183":{"position":[[0,9]]},"1184":{"position":[[0,9]]},"1185":{"position":[[0,9]]},"1186":{"position":[[0,9]]},"1189":{"position":[[0,9]]},"1195":{"position":[[0,9]]},"1203":{"position":[[0,9]]},"1204":{"position":[[0,9]]},"1205":{"position":[[0,9]]},"1208":{"position":[[0,9]]},"1216":{"position":[[0,9]]},"1217":{"position":[[0,9]]},"1239":{"position":[[0,9]]},"1248":{"position":[[0,9]]},"1257":{"position":[[0,9]]},"1258":{"position":[[0,9]]},"1263":{"position":[[0,9]]},"1275":{"position":[[0,9]]},"1282":{"position":[[0,9]]},"1283":{"position":[[0,9]]},"1298":{"position":[[0,9]]},"1301":{"position":[[0,9]]},"1312":{"position":[[0,9]]},"1318":{"position":[[0,9]]},"1326":{"position":[[0,9]]},"1335":{"position":[[0,9]]},"1338":{"position":[[0,9]]},"1351":{"position":[[0,9]]},"1356":{"position":[[0,9]]},"1361":{"position":[[0,9]]},"1366":{"position":[[0,9]]},"1371":{"position":[[0,9]]},"1376":{"position":[[0,9]]},"1380":{"position":[[0,9]]},"1384":{"position":[[0,9]]},"1388":{"position":[[0,9]]},"1392":{"position":[[0,9]]},"1396":{"position":[[0,9]]},"1400":{"position":[[0,9]]},"1404":{"position":[[0,9]]},"1408":{"position":[[0,9]]},"1412":{"position":[[0,9]]},"1416":{"position":[[0,9]]},"1420":{"position":[[0,9]]},"1424":{"position":[[0,9]]},"1428":{"position":[[0,9]]},"1432":{"position":[[0,9]]},"1436":{"position":[[0,9]]},"1439":{"position":[[0,9]]},"1441":{"position":[[0,9]]},"1443":{"position":[[0,9]]},"1449":{"position":[[0,9]]},"1456":{"position":[[0,9]]},"1457":{"position":[[0,9]]},"1459":{"position":[[0,9]]},"1460":{"position":[[0,9]]},"1464":{"position":[[0,9]]},"1465":{"position":[[0,9]]},"1467":{"position":[[0,9]]},"1469":{"position":[[0,9]]},"1470":{"position":[[0,9]]},"1476":{"position":[[0,9]]},"1484":{"position":[[0,9]]},"1487":{"position":[[0,9]]},"1497":{"position":[[0,9]]},"1502":{"position":[[0,9]]},"1513":{"position":[[0,9]]},"1516":{"position":[[0,9]]},"1518":{"position":[[0,9]]},"1521":{"position":[[0,9]]},"1522":{"position":[[0,9]]},"1525":{"position":[[0,9]]},"1526":{"position":[[0,9]]},"1528":{"position":[[0,9]]},"1530":{"position":[[0,9]]},"1534":{"position":[[0,9]]},"1547":{"position":[[0,9]]},"1550":{"position":[[0,9]]},"1551":{"position":[[0,9]]},"1558":{"position":[[0,9]]},"1560":{"position":[[0,9]]},"1561":{"position":[[0,9]]},"1563":{"position":[[0,9]]},"1567":{"position":[[0,9]]},"1578":{"position":[[0,9]]},"1582":{"position":[[0,9]]},"1583":{"position":[[0,9]]},"1584":{"position":[[0,9]]},"1585":{"position":[[0,9]]},"1589":{"position":[[0,9]]},"1590":{"position":[[0,9]]},"1591":{"position":[[0,9]]},"1593":{"position":[[0,9]]},"1598":{"position":[[0,9]]},"1604":{"position":[[0,9]]},"1608":{"position":[[0,9]]},"1612":{"position":[[0,9]]},"1613":{"position":[[0,9]]},"1615":{"position":[[0,9]]},"1623":{"position":[[0,9]]},"1624":{"position":[[0,9]]},"1629":{"position":[[0,9]]},"1630":{"position":[[0,9]]},"1634":{"position":[[0,9]]},"1642":{"position":[[0,9]]},"1645":{"position":[[0,9]]},"1652":{"position":[[0,9]]},"1656":{"position":[[0,9]]},"1659":{"position":[[0,9]]},"1661":{"position":[[0,9]]},"1663":{"position":[[0,9]]},"1667":{"position":[[0,9]]},"1668":{"position":[[0,9]]},"1671":{"position":[[0,9]]},"1674":{"position":[[0,9]]},"1688":{"position":[[0,9]]},"1694":{"position":[[0,9]]},"1698":{"position":[[0,9]]},"1734":{"position":[[0,9]]},"1735":{"position":[[0,9]]},"1739":{"position":[[0,9]]},"1741":{"position":[[0,9]]},"1747":{"position":[[0,9]]},"1749":{"position":[[0,9]]},"1753":{"position":[[0,9]]},"1763":{"position":[[0,9]]},"1769":{"position":[[0,9]]}},"content":{"19":{"position":[[76,7]]},"81":{"position":[[60,9]]},"103":{"position":[[340,9]]},"173":{"position":[[31,9]]},"175":{"position":[[1106,7]]},"187":{"position":[[703,8]]},"324":{"position":[[61,8],[146,8]]},"361":{"position":[[939,8]]},"513":{"position":[[34,8]]},"1477":{"position":[[3714,7]]},"1479":{"position":[[2159,7]]},"1648":{"position":[[85,7]]},"1650":{"position":[[5,7]]}},"keywords":{}}],["fenc",{"_index":1818,"title":{},"content":{"213":{"position":[[846,7]]}},"keywords":{}}],["fetch",{"_index":7694,"title":{},"content":{"1983":{"position":[[1030,5]]}},"keywords":{}}],["few",{"_index":720,"title":{},"content":{"53":{"position":[[141,3]]},"67":{"position":[[917,3]]},"175":{"position":[[113,3],[729,3]]},"183":{"position":[[66,3]]},"193":{"position":[[49,3]]},"197":{"position":[[11,3]]},"201":{"position":[[917,3]]},"202":{"position":[[824,3]]},"245":{"position":[[2154,3]]},"1474":{"position":[[5438,3]]},"1678":{"position":[[33,3]]},"2407":{"position":[[169,3]]}},"keywords":{}}],["ff1a234)pack",{"_index":6462,"title":{},"content":{"1477":{"position":[[1757,13]]}},"keywords":{}}],["ff5a308",{"_index":3701,"title":{},"content":{"692":{"position":[[131,9]]}},"keywords":{}}],["ff7148b",{"_index":3435,"title":{},"content":{"574":{"position":[[78,9]]}},"keywords":{}}],["ff95634",{"_index":4459,"title":{},"content":{"1023":{"position":[[81,9]]}},"keywords":{}}],["ffc276c)version",{"_index":6015,"title":{},"content":{"1474":{"position":[[22008,16]]}},"keywords":{}}],["ffc276c)websocket",{"_index":6832,"title":{},"content":{"1566":{"position":[[1780,19]]}},"keywords":{}}],["fff7459",{"_index":6754,"title":{},"content":{"1536":{"position":[[39,9]]}},"keywords":{}}],["fff7459)renam",{"_index":5354,"title":{},"content":{"1473":{"position":[[309,15]]}},"keywords":{}}],["fff765c)use",{"_index":6505,"title":{},"content":{"1477":{"position":[[3061,12]]}},"keywords":{}}],["fffd462)suspend",{"_index":5986,"title":{},"content":{"1474":{"position":[[20828,16]]}},"keywords":{}}],["fffd462)use",{"_index":6831,"title":{},"content":{"1566":{"position":[[1707,12]]}},"keywords":{}}],["field",{"_index":312,"title":{"1771":{"position":[[0,7]]},"1785":{"position":[[0,7]]},"1791":{"position":[[0,7]]},"1802":{"position":[[0,7]]},"1805":{"position":[[0,7]]},"1809":{"position":[[0,7]]},"1814":{"position":[[0,7]]},"1816":{"position":[[0,7]]},"1819":{"position":[[0,7]]},"1825":{"position":[[0,7]]},"1832":{"position":[[0,7]]},"1858":{"position":[[0,7]]},"1863":{"position":[[0,7]]},"1869":{"position":[[0,7]]},"1880":{"position":[[0,7]]},"1885":{"position":[[0,7]]},"1888":{"position":[[0,7]]},"1893":{"position":[[0,7]]},"1896":{"position":[[0,7]]},"1901":{"position":[[0,7]]},"1937":{"position":[[0,7]]},"1942":{"position":[[0,7]]},"1949":{"position":[[0,7]]},"1952":{"position":[[0,7]]},"1961":{"position":[[0,7]]},"1968":{"position":[[0,7]]},"1970":{"position":[[0,7]]},"1973":{"position":[[0,7]]},"1975":{"position":[[0,7]]},"1977":{"position":[[0,7]]},"2005":{"position":[[0,7]]},"2014":{"position":[[0,7]]},"2043":{"position":[[0,7]]},"2098":{"position":[[0,7]]},"2102":{"position":[[0,7]]},"2106":{"position":[[0,7]]},"2113":{"position":[[0,7]]},"2117":{"position":[[0,7]]},"2121":{"position":[[0,7]]},"2124":{"position":[[0,7]]},"2128":{"position":[[0,7]]},"2130":{"position":[[0,7]]},"2134":{"position":[[0,7]]},"2162":{"position":[[0,7]]},"2165":{"position":[[0,7]]},"2168":{"position":[[0,7]]},"2178":{"position":[[0,7]]},"2181":{"position":[[0,7]]},"2202":{"position":[[0,7]]},"2209":{"position":[[0,7]]},"2219":{"position":[[0,7]]},"2231":{"position":[[0,7]]},"2237":{"position":[[0,7]]},"2247":{"position":[[0,7]]},"2250":{"position":[[0,7]]},"2252":{"position":[[0,7]]},"2255":{"position":[[0,7]]},"2257":{"position":[[0,7]]},"2259":{"position":[[0,7]]},"2261":{"position":[[0,7]]},"2263":{"position":[[0,7]]},"2267":{"position":[[0,7]]},"2279":{"position":[[0,7]]},"2285":{"position":[[0,7]]},"2287":{"position":[[0,7]]},"2313":{"position":[[0,7]]},"2331":{"position":[[0,7]]},"2342":{"position":[[0,7]]},"2347":{"position":[[0,7]]},"2349":{"position":[[0,7]]},"2357":{"position":[[0,7]]},"2361":{"position":[[0,7]]},"2366":{"position":[[0,7]]},"2369":{"position":[[0,7]]},"2373":{"position":[[0,7]]},"2375":{"position":[[0,7]]},"2377":{"position":[[0,7]]},"2381":{"position":[[0,7]]},"2386":{"position":[[0,7]]},"2388":{"position":[[0,7]]},"2390":{"position":[[0,7]]},"2392":{"position":[[0,7]]},"2394":{"position":[[0,7]]},"2396":{"position":[[0,7]]},"2403":{"position":[[0,7]]},"2407":{"position":[[0,7]]},"2412":{"position":[[0,7]]},"2415":{"position":[[0,7]]},"2419":{"position":[[0,7]]},"2425":{"position":[[0,7]]},"2427":{"position":[[0,7]]},"2431":{"position":[[0,7]]},"2443":{"position":[[0,7]]},"2445":{"position":[[0,7]]},"2447":{"position":[[0,7]]},"2453":{"position":[[0,7]]},"2455":{"position":[[0,7]]},"2460":{"position":[[0,7]]},"2465":{"position":[[0,7]]},"2468":{"position":[[0,7]]},"2471":{"position":[[0,7]]},"2476":{"position":[[0,7]]},"2480":{"position":[[0,7]]},"2487":{"position":[[0,7]]},"2492":{"position":[[0,7]]},"2497":{"position":[[0,7]]},"2500":{"position":[[0,7]]},"2503":{"position":[[0,7]]},"2505":{"position":[[0,7]]},"2507":{"position":[[0,7]]},"2510":{"position":[[0,7]]},"2515":{"position":[[0,7]]},"2518":{"position":[[0,7]]},"2520":{"position":[[0,7]]},"2522":{"position":[[0,7]]},"2525":{"position":[[0,7]]},"2531":{"position":[[0,7]]}},"content":{"14":{"position":[[71,5],[521,5],[1061,6]]},"17":{"position":[[323,5]]},"37":{"position":[[452,5]]},"42":{"position":[[82,5],[380,5],[2031,5],[2211,5]]},"49":{"position":[[256,5],[317,5]]},"59":{"position":[[221,5]]},"67":{"position":[[359,6]]},"70":{"position":[[109,5]]},"82":{"position":[[293,5]]},"100":{"position":[[682,5]]},"187":{"position":[[65,5],[200,5],[583,5]]},"191":{"position":[[432,5]]},"201":{"position":[[359,6]]},"203":{"position":[[1196,6]]},"207":{"position":[[538,5]]},"238":{"position":[[674,5]]},"240":{"position":[[1620,6]]},"241":{"position":[[1859,5]]},"251":{"position":[[2910,6],[2947,7]]},"279":{"position":[[142,6]]},"304":{"position":[[662,6]]},"319":{"position":[[70,6]]},"324":{"position":[[518,5],[577,5]]},"327":{"position":[[209,5],[238,5]]},"332":{"position":[[434,5]]},"337":{"position":[[1552,6]]},"339":{"position":[[173,5]]},"342":{"position":[[6,5]]},"348":{"position":[[177,5]]},"350":{"position":[[6,5]]},"357":{"position":[[255,5]]},"371":{"position":[[139,6]]},"373":{"position":[[5,6]]},"411":{"position":[[54,5]]},"436":{"position":[[84,6]]},"488":{"position":[[19,6]]},"490":{"position":[[9,6]]},"503":{"position":[[36,6]]},"516":{"position":[[27,5]]},"537":{"position":[[70,6]]},"555":{"position":[[107,5]]},"556":{"position":[[16,6]]},"570":{"position":[[8,5]]},"655":{"position":[[21,6]]},"942":{"position":[[42,5]]},"1020":{"position":[[0,6]]},"1022":{"position":[[0,6]]},"1090":{"position":[[25,5]]},"1141":{"position":[[26,6],[68,6],[110,6],[152,6],[194,6],[236,6],[278,6]]},"1142":{"position":[[143,6]]},"1177":{"position":[[13,5]]},"1467":{"position":[[93,6]]},"1474":{"position":[[12249,6],[18488,5],[18733,5],[18925,5],[19159,6]]},"1476":{"position":[[3471,6]]},"1566":{"position":[[1093,6]]},"1578":{"position":[[202,6]]},"1693":{"position":[[118,6]]},"1733":{"position":[[815,5],[1011,5],[1203,5]]},"1855":{"position":[[3409,5],[3643,5]]},"1983":{"position":[[70,5],[100,6],[527,6],[984,5],[1969,6],[2158,6]]},"1996":{"position":[[233,6],[557,5]]},"2240":{"position":[[5704,5],[5752,6]]},"2419":{"position":[[226,5]]},"2451":{"position":[[39,5],[87,6]]}},"keywords":{}}],["fields/properti",{"_index":2343,"title":{},"content":{"275":{"position":[[6,17]]}},"keywords":{}}],["fieldvalu",{"_index":8948,"title":{},"content":{"2359":{"position":[[961,11],[1017,10]]}},"keywords":{}}],["figur",{"_index":2593,"title":{},"content":{"316":{"position":[[188,6]]}},"keywords":{}}],["file",{"_index":666,"title":{"198":{"position":[[9,6]]}},"content":{"46":{"position":[[592,4]]},"50":{"position":[[0,4]]},"182":{"position":[[3063,4],[3074,5]]},"183":{"position":[[20,4],[93,4],[141,4],[179,5],[315,4],[393,5],[403,4],[583,4],[623,4],[637,4],[684,4],[974,4],[1023,5],[1037,4],[1247,4]]},"193":{"position":[[323,5],[340,4]]},"195":{"position":[[165,4],[458,4],[507,5]]},"196":{"position":[[485,4],[534,4],[572,4],[617,4]]},"198":{"position":[[138,4],[283,4],[424,4],[485,4]]},"207":{"position":[[463,5]]},"294":{"position":[[558,4]]},"385":{"position":[[102,4]]},"393":{"position":[[7,4]]},"503":{"position":[[127,4]]},"746":{"position":[[12,5]]},"765":{"position":[[49,4]]},"814":{"position":[[35,4]]},"820":{"position":[[207,6]]},"841":{"position":[[24,4]]},"847":{"position":[[450,4]]},"978":{"position":[[25,4]]},"1102":{"position":[[31,5]]},"1346":{"position":[[26,4]]},"1348":{"position":[[25,4]]},"1350":{"position":[[294,5]]},"1355":{"position":[[294,5]]},"1360":{"position":[[294,5]]},"1365":{"position":[[294,5]]},"1370":{"position":[[294,5]]},"1375":{"position":[[248,5]]},"1379":{"position":[[248,5]]},"1383":{"position":[[197,5]]},"1387":{"position":[[197,5]]},"1391":{"position":[[197,5]]},"1395":{"position":[[197,5]]},"1399":{"position":[[157,5]]},"1474":{"position":[[9962,4],[11152,5],[20253,4],[22025,4]]},"1476":{"position":[[698,4]]},"1565":{"position":[[85,5]]},"2417":{"position":[[5032,4],[5570,4],[6286,4],[7216,4]]}},"keywords":{}}],["file"",{"_index":1513,"title":{},"content":{"183":{"position":[[563,11]]}},"keywords":{}}],["file."",{"_index":2534,"title":{},"content":{"307":{"position":[[319,12],[506,12]]},"308":{"position":[[338,12],[578,12],[947,12],[1265,12],[1754,12],[1994,12]]}},"keywords":{}}],["fill",{"_index":761,"title":{},"content":{"59":{"position":[[161,6]]},"191":{"position":[[221,4]]},"238":{"position":[[1573,4]]},"295":{"position":[[403,4]]},"1466":{"position":[[213,4]]}},"keywords":{}}],["filter",{"_index":1607,"title":{},"content":{"191":{"position":[[316,7]]},"563":{"position":[[7,6]]},"2358":{"position":[[1120,6]]}},"keywords":{}}],["final",{"_index":498,"title":{},"content":{"24":{"position":[[1958,7]]},"182":{"position":[[3228,9]]},"184":{"position":[[15,9]]},"212":{"position":[[14,7]]},"251":{"position":[[3150,8]]},"860":{"position":[[31,8]]},"2023":{"position":[[0,11],[40,10]]},"2031":{"position":[[0,11],[40,10]]}},"keywords":{}}],["find",{"_index":25,"title":{},"content":{"0":{"position":[[418,4]]},"9":{"position":[[498,4],[528,4]]},"24":{"position":[[1811,4]]},"70":{"position":[[179,4]]},"74":{"position":[[205,4]]},"78":{"position":[[8,4]]},"85":{"position":[[391,4]]},"139":{"position":[[838,4]]},"184":{"position":[[213,4]]},"191":{"position":[[566,4]]},"195":{"position":[[175,4]]},"235":{"position":[[711,4],[1279,4]]},"238":{"position":[[486,4],[1375,4],[1668,4],[2442,5]]},"245":{"position":[[33,4]]},"264":{"position":[[1391,4]]},"266":{"position":[[323,4],[434,4]]},"280":{"position":[[77,4]]},"302":{"position":[[941,4]]},"314":{"position":[[852,4]]},"320":{"position":[[79,5],[203,4]]},"328":{"position":[[533,4]]},"332":{"position":[[266,5],[1025,4]]},"489":{"position":[[39,4]]},"620":{"position":[[8,7]]},"623":{"position":[[17,4]]},"730":{"position":[[29,4]]},"794":{"position":[[25,4]]},"808":{"position":[[28,4],[100,4]]},"841":{"position":[[19,4]]},"1474":{"position":[[634,4],[13214,5],[13319,5],[20376,4]]},"1711":{"position":[[104,5],[209,5]]},"1766":{"position":[[424,4]]},"2007":{"position":[[23,4]]},"2009":{"position":[[92,4]]},"2242":{"position":[[425,4]]},"2253":{"position":[[1349,5]]},"2265":{"position":[[716,4],[1274,5],[2252,5],[3842,5]]},"2303":{"position":[[45,5],[229,4]]},"2417":{"position":[[9437,4]]},"2511":{"position":[[65,4],[369,4]]}},"keywords":{}}],["find(predicate<t>",{"_index":7326,"title":{},"content":{"1855":{"position":[[2091,25],[2139,23]]}},"keywords":{}}],["findall(predicate<t>",{"_index":7327,"title":{},"content":{"1855":{"position":[[2265,28],[2328,26]]}},"keywords":{}}],["findindex(predicate<t>",{"_index":7324,"title":{},"content":{"1855":{"position":[[1894,30],[1949,28]]}},"keywords":{}}],["findobjectoftyp",{"_index":5543,"title":{},"content":{"1474":{"position":[[6543,16]]},"1725":{"position":[[6,16]]}},"keywords":{}}],["findobjectoftype<clientobjectmanager>",{"_index":2063,"title":{},"content":{"245":{"position":[[591,46]]}},"keywords":{}}],["findobjectoftype<networkclient>",{"_index":2064,"title":{},"content":{"245":{"position":[[654,40]]}},"keywords":{}}],["findobjectoftype<networkserver>",{"_index":2065,"title":{},"content":{"245":{"position":[[711,40],[774,40]]}},"keywords":{}}],["findobjectoftype<prefabpoolmanager>",{"_index":2191,"title":{},"content":{"251":{"position":[[3324,44]]}},"keywords":{}}],["findobjectsoftypeal",{"_index":4619,"title":{},"content":{"1092":{"position":[[93,20]]}},"keywords":{}}],["findprefab",{"_index":2719,"title":{},"content":{"332":{"position":[[318,11]]}},"keywords":{}}],["findprefab(clientobjectmanag",{"_index":9224,"title":{},"content":{"2511":{"position":[[0,32],[130,30]]}},"keywords":{}}],["findprefab(ienumerable<networkidentity>",{"_index":9226,"title":{},"content":{"2511":{"position":[[289,47],[434,45]]}},"keywords":{}}],["findprespawnedobject",{"_index":1946,"title":{},"content":{"238":{"position":[[2100,20]]}},"keywords":{}}],["findprespawnedobject(spawnmessag",{"_index":1951,"title":{},"content":{"238":{"position":[[2507,33]]}},"keywords":{}}],["findproperti",{"_index":5955,"title":{},"content":{"1474":{"position":[[19942,12]]}},"keywords":{}}],["fine",{"_index":2559,"title":{},"content":{"314":{"position":[[218,5]]},"317":{"position":[[214,5]]}},"keywords":{}}],["finish",{"_index":1573,"title":{},"content":{"189":{"position":[[238,6]]},"190":{"position":[[1894,6]]},"192":{"position":[[23,8]]},"195":{"position":[[467,8]]},"255":{"position":[[22,8]]},"300":{"position":[[269,8]]},"301":{"position":[[482,8]]},"716":{"position":[[6,8]]},"1474":{"position":[[10621,9]]},"1766":{"position":[[708,9]]},"2240":{"position":[[5989,8]]},"2241":{"position":[[895,8]]},"2417":{"position":[[1793,8],[2858,8],[9217,8]]},"2462":{"position":[[89,8]]},"2469":{"position":[[55,8]]},"2482":{"position":[[6002,8]]}},"keywords":{}}],["finishloadscen",{"_index":5489,"title":{},"content":{"1474":{"position":[[4996,15]]},"1549":{"position":[[25,15]]}},"keywords":{}}],["finishstart",{"_index":5684,"title":{},"content":{"1474":{"position":[[10408,11]]},"1766":{"position":[[495,11]]}},"keywords":{}}],["fire",{"_index":178,"title":{},"content":{"6":{"position":[[409,4]]},"71":{"position":[[2143,6]]},"251":{"position":[[3441,5],[3792,6],[4753,4]]},"577":{"position":[[24,6]]},"1149":{"position":[[16,6]]},"1474":{"position":[[10058,6],[15200,4]]},"1566":{"position":[[1364,4]]},"1581":{"position":[[92,6]]},"1781":{"position":[[207,4]]},"1890":{"position":[[861,5],[963,5]]},"1911":{"position":[[35,5]]},"1926":{"position":[[38,5]]},"2162":{"position":[[133,4]]},"2240":{"position":[[5937,5],[6155,5]]},"2350":{"position":[[265,5],[408,5],[558,5],[750,5]]},"2416":{"position":[[396,5],[557,5],[729,5],[880,5],[1036,5]]},"2462":{"position":[[37,5]]},"2466":{"position":[[36,5]]},"2522":{"position":[[332,4],[457,4]]}},"keywords":{}}],["fire2",{"_index":1799,"title":{},"content":{"211":{"position":[[1370,7]]}},"keywords":{}}],["firewal",{"_index":347,"title":{"191":{"position":[[10,9]]}},"content":{"14":{"position":[[1350,8]]},"179":{"position":[[555,8]]},"183":{"position":[[1460,8],[1517,8],[1555,8]]},"187":{"position":[[967,10],[1097,9]]},"190":{"position":[[1444,8]]},"191":{"position":[[112,8],[137,8],[167,8],[201,8]]}},"keywords":{}}],["first",{"_index":69,"title":{},"content":{"0":{"position":[[1173,5]]},"17":{"position":[[117,5]]},"18":{"position":[[9,5]]},"24":{"position":[[364,5],[1207,5],[1917,6]]},"53":{"position":[[0,5]]},"70":{"position":[[236,5]]},"164":{"position":[[617,5],[781,5]]},"189":{"position":[[496,6]]},"190":{"position":[[163,5],[1276,5]]},"193":{"position":[[9,5],[63,6]]},"211":{"position":[[1606,6]]},"238":{"position":[[1978,5]]},"241":{"position":[[200,6]]},"262":{"position":[[995,5]]},"268":{"position":[[0,5]]},"297":{"position":[[120,5]]},"337":{"position":[[364,5],[449,5]]},"346":{"position":[[677,5],[1680,5]]},"391":{"position":[[214,5]]},"548":{"position":[[112,5]]},"911":{"position":[[7,5]]},"1474":{"position":[[5304,5],[7161,5],[8041,5],[14812,5]]},"1491":{"position":[[22,5]]},"1562":{"position":[[106,5]]},"1566":{"position":[[1291,5]]},"1577":{"position":[[18,5]]},"1744":{"position":[[0,5]]},"1835":{"position":[[1528,5]]},"1855":{"position":[[3415,5],[3649,5]]},"2023":{"position":[[1395,5]]},"2031":{"position":[[558,5]]},"2181":{"position":[[361,5]]},"2261":{"position":[[759,5]]},"2292":{"position":[[197,5]]},"2322":{"position":[[206,5],[767,5],[1484,5],[2206,5]]},"2371":{"position":[[320,5]]},"2383":{"position":[[1188,5]]},"2397":{"position":[[1129,5]]},"2404":{"position":[[1145,5]]},"2416":{"position":[[97,5]]},"2434":{"position":[[1274,5]]}},"keywords":{}}],["fit",{"_index":1011,"title":{},"content":{"96":{"position":[[270,4]]},"190":{"position":[[1058,3]]}},"keywords":{}}],["fix",{"_index":881,"title":{"359":{"position":[[0,6]]},"371":{"position":[[4,6]]},"375":{"position":[[4,6]]},"379":{"position":[[4,6]]},"384":{"position":[[4,6]]},"385":{"position":[[4,6]]},"388":{"position":[[4,6]]},"390":{"position":[[4,6]]},"393":{"position":[[4,6]]},"395":{"position":[[4,6]]},"396":{"position":[[4,6]]},"400":{"position":[[4,6]]},"401":{"position":[[4,6]]},"405":{"position":[[4,6]]},"407":{"position":[[4,6]]},"409":{"position":[[4,6]]},"410":{"position":[[4,6]]},"414":{"position":[[4,6]]},"416":{"position":[[4,6]]},"418":{"position":[[4,6]]},"420":{"position":[[4,6]]},"423":{"position":[[4,6]]},"427":{"position":[[4,6]]},"429":{"position":[[4,6]]},"432":{"position":[[4,6]]},"435":{"position":[[4,6]]},"444":{"position":[[4,6]]},"447":{"position":[[4,6]]},"449":{"position":[[4,6]]},"451":{"position":[[4,6]]},"453":{"position":[[4,6]]},"456":{"position":[[4,6]]},"460":{"position":[[4,6]]},"462":{"position":[[4,6]]},"464":{"position":[[4,6]]},"474":{"position":[[4,6]]},"476":{"position":[[4,6]]},"485":{"position":[[4,6]]},"488":{"position":[[4,6]]},"492":{"position":[[4,6]]},"494":{"position":[[4,6]]},"496":{"position":[[4,6]]},"497":{"position":[[4,6]]},"502":{"position":[[4,6]]},"506":{"position":[[4,6]]},"516":{"position":[[4,6]]},"518":{"position":[[4,6]]},"520":{"position":[[4,6]]},"521":{"position":[[4,6]]},"526":{"position":[[4,6]]},"528":{"position":[[4,6]]},"530":{"position":[[4,6]]},"531":{"position":[[4,6]]},"534":{"position":[[4,6]]},"536":{"position":[[4,6]]},"537":{"position":[[4,6]]},"541":{"position":[[4,6]]},"544":{"position":[[4,6]]},"546":{"position":[[4,6]]},"548":{"position":[[4,6]]},"551":{"position":[[4,6]]},"553":{"position":[[4,6]]},"554":{"position":[[4,6]]},"556":{"position":[[4,6]]},"560":{"position":[[4,6]]},"562":{"position":[[4,6]]},"565":{"position":[[4,6]]},"568":{"position":[[4,6]]},"570":{"position":[[4,6]]},"572":{"position":[[4,6]]},"574":{"position":[[4,6]]},"577":{"position":[[4,6]]},"579":{"position":[[4,6]]},"581":{"position":[[4,6]]},"582":{"position":[[4,6]]},"585":{"position":[[4,6]]},"587":{"position":[[4,6]]},"590":{"position":[[4,6]]},"593":{"position":[[4,6]]},"594":{"position":[[4,6]]},"599":{"position":[[4,6]]},"604":{"position":[[4,6]]},"607":{"position":[[4,6]]},"611":{"position":[[4,6]]},"614":{"position":[[4,6]]},"617":{"position":[[4,6]]},"620":{"position":[[4,6]]},"622":{"position":[[4,6]]},"625":{"position":[[4,6]]},"628":{"position":[[4,6]]},"630":{"position":[[4,6]]},"632":{"position":[[4,6]]},"634":{"position":[[4,6]]},"635":{"position":[[4,6]]},"638":{"position":[[4,6]]},"640":{"position":[[4,6]]},"642":{"position":[[4,6]]},"644":{"position":[[4,6]]},"646":{"position":[[4,6]]},"649":{"position":[[4,6]]},"651":{"position":[[4,6]]},"653":{"position":[[4,6]]},"655":{"position":[[4,6]]},"659":{"position":[[4,6]]},"660":{"position":[[4,6]]},"663":{"position":[[4,6]]},"666":{"position":[[4,6]]},"670":{"position":[[4,6]]},"673":{"position":[[4,6]]},"677":{"position":[[4,6]]},"679":{"position":[[4,6]]},"683":{"position":[[4,6]]},"685":{"position":[[4,6]]},"687":{"position":[[4,6]]},"689":{"position":[[4,6]]},"697":{"position":[[4,6]]},"700":{"position":[[4,6]]},"701":{"position":[[4,6]]},"703":{"position":[[4,6]]},"710":{"position":[[4,6]]},"711":{"position":[[4,6]]},"713":{"position":[[4,6]]},"715":{"position":[[4,6]]},"718":{"position":[[4,6]]},"721":{"position":[[4,6]]},"723":{"position":[[4,6]]},"725":{"position":[[4,6]]},"726":{"position":[[4,6]]},"730":{"position":[[4,6]]},"732":{"position":[[4,6]]},"734":{"position":[[4,6]]},"736":{"position":[[4,6]]},"737":{"position":[[4,6]]},"739":{"position":[[4,6]]},"742":{"position":[[4,6]]},"744":{"position":[[4,6]]},"746":{"position":[[4,6]]},"751":{"position":[[4,6]]},"753":{"position":[[4,6]]},"755":{"position":[[4,6]]},"756":{"position":[[4,6]]},"761":{"position":[[4,6]]},"763":{"position":[[4,6]]},"764":{"position":[[4,6]]},"770":{"position":[[4,6]]},"774":{"position":[[4,6]]},"777":{"position":[[4,6]]},"779":{"position":[[4,6]]},"781":{"position":[[4,6]]},"785":{"position":[[4,6]]},"786":{"position":[[4,6]]},"790":{"position":[[4,6]]},"792":{"position":[[4,6]]},"794":{"position":[[4,6]]},"795":{"position":[[4,6]]},"798":{"position":[[4,6]]},"802":{"position":[[4,6]]},"804":{"position":[[4,6]]},"808":{"position":[[4,6]]},"809":{"position":[[4,6]]},"812":{"position":[[4,6]]},"816":{"position":[[4,6]]},"818":{"position":[[4,6]]},"820":{"position":[[4,6]]},"821":{"position":[[4,6]]},"824":{"position":[[4,6]]},"826":{"position":[[4,6]]},"830":{"position":[[4,6]]},"842":{"position":[[4,6]]},"847":{"position":[[4,6]]},"850":{"position":[[4,6]]},"857":{"position":[[4,6]]},"859":{"position":[[4,6]]},"860":{"position":[[4,6]]},"870":{"position":[[4,6]]},"872":{"position":[[4,6]]},"873":{"position":[[4,6]]},"875":{"position":[[4,6]]},"877":{"position":[[4,6]]},"881":{"position":[[4,6]]},"883":{"position":[[4,6]]},"889":{"position":[[4,6]]},"895":{"position":[[4,6]]},"897":{"position":[[4,6]]},"908":{"position":[[4,6]]},"911":{"position":[[4,6]]},"915":{"position":[[4,6]]},"917":{"position":[[4,6]]},"918":{"position":[[4,6]]},"922":{"position":[[4,6]]},"924":{"position":[[4,6]]},"926":{"position":[[4,6]]},"929":{"position":[[4,6]]},"930":{"position":[[4,6]]},"933":{"position":[[4,6]]},"936":{"position":[[4,6]]},"938":{"position":[[4,6]]},"939":{"position":[[4,6]]},"944":{"position":[[4,6]]},"950":{"position":[[4,6]]},"954":{"position":[[4,6]]},"956":{"position":[[4,6]]},"963":{"position":[[4,6]]},"966":{"position":[[4,6]]},"974":{"position":[[4,6]]},"976":{"position":[[4,6]]},"978":{"position":[[4,6]]},"983":{"position":[[4,6]]},"985":{"position":[[4,6]]},"987":{"position":[[4,6]]},"989":{"position":[[4,6]]},"992":{"position":[[4,6]]},"994":{"position":[[4,6]]},"997":{"position":[[4,6]]},"998":{"position":[[4,6]]},"1002":{"position":[[4,6]]},"1004":{"position":[[4,6]]},"1005":{"position":[[4,6]]},"1011":{"position":[[4,6]]},"1014":{"position":[[4,6]]},"1017":{"position":[[4,6]]},"1026":{"position":[[4,6]]},"1032":{"position":[[4,6]]},"1044":{"position":[[4,6]]},"1048":{"position":[[4,6]]},"1054":{"position":[[4,6]]},"1062":{"position":[[4,6]]},"1064":{"position":[[4,6]]},"1069":{"position":[[4,6]]},"1071":{"position":[[4,6]]},"1073":{"position":[[4,6]]},"1079":{"position":[[4,6]]},"1081":{"position":[[4,6]]},"1084":{"position":[[4,6]]},"1086":{"position":[[4,6]]},"1088":{"position":[[4,6]]},"1090":{"position":[[4,6]]},"1092":{"position":[[4,6]]},"1094":{"position":[[4,6]]},"1096":{"position":[[4,6]]},"1100":{"position":[[4,6]]},"1102":{"position":[[4,6]]},"1106":{"position":[[4,6]]},"1108":{"position":[[4,6]]},"1111":{"position":[[4,6]]},"1123":{"position":[[4,6]]},"1125":{"position":[[4,6]]},"1129":{"position":[[4,6]]},"1131":{"position":[[4,6]]},"1132":{"position":[[4,6]]},"1135":{"position":[[4,6]]},"1139":{"position":[[4,6]]},"1140":{"position":[[4,6]]},"1145":{"position":[[4,6]]},"1147":{"position":[[4,6]]},"1149":{"position":[[4,6]]},"1151":{"position":[[4,6]]},"1153":{"position":[[4,6]]},"1155":{"position":[[4,6]]},"1157":{"position":[[4,6]]},"1163":{"position":[[4,6]]},"1165":{"position":[[4,6]]},"1168":{"position":[[4,6]]},"1171":{"position":[[4,6]]},"1173":{"position":[[4,6]]},"1177":{"position":[[4,6]]},"1179":{"position":[[4,6]]},"1182":{"position":[[4,6]]},"1188":{"position":[[4,6]]},"1192":{"position":[[4,6]]},"1194":{"position":[[4,6]]},"1197":{"position":[[4,6]]},"1199":{"position":[[4,6]]},"1202":{"position":[[4,6]]},"1207":{"position":[[4,6]]},"1210":{"position":[[4,6]]},"1211":{"position":[[4,6]]},"1214":{"position":[[4,6]]},"1219":{"position":[[4,6]]},"1221":{"position":[[4,6]]},"1223":{"position":[[4,6]]},"1225":{"position":[[4,6]]},"1227":{"position":[[4,6]]},"1229":{"position":[[4,6]]},"1231":{"position":[[4,6]]},"1233":{"position":[[4,6]]},"1236":{"position":[[4,6]]},"1241":{"position":[[4,6]]},"1243":{"position":[[4,6]]},"1245":{"position":[[4,6]]},"1247":{"position":[[4,6]]},"1250":{"position":[[4,6]]},"1252":{"position":[[4,6]]},"1254":{"position":[[4,6]]},"1256":{"position":[[4,6]]},"1260":{"position":[[4,6]]},"1262":{"position":[[4,6]]},"1265":{"position":[[4,6]]},"1267":{"position":[[4,6]]},"1271":{"position":[[4,6]]},"1274":{"position":[[4,6]]},"1285":{"position":[[4,6]]},"1286":{"position":[[4,6]]},"1289":{"position":[[4,6]]},"1291":{"position":[[4,6]]},"1295":{"position":[[4,6]]},"1297":{"position":[[4,6]]},"1300":{"position":[[4,6]]},"1303":{"position":[[4,6]]},"1305":{"position":[[4,6]]},"1307":{"position":[[4,6]]},"1309":{"position":[[4,6]]},"1314":{"position":[[4,6]]},"1316":{"position":[[4,6]]},"1320":{"position":[[4,6]]},"1324":{"position":[[4,6]]},"1325":{"position":[[4,6]]},"1329":{"position":[[4,6]]},"1332":{"position":[[4,6]]},"1334":{"position":[[4,6]]},"1337":{"position":[[4,6]]},"1341":{"position":[[4,6]]},"1344":{"position":[[4,6]]},"1346":{"position":[[4,6]]},"1348":{"position":[[4,6]]},"1350":{"position":[[4,6]]},"1355":{"position":[[4,6]]},"1360":{"position":[[4,6]]},"1365":{"position":[[4,6]]},"1370":{"position":[[4,6]]},"1375":{"position":[[4,6]]},"1379":{"position":[[4,6]]},"1383":{"position":[[4,6]]},"1387":{"position":[[4,6]]},"1391":{"position":[[4,6]]},"1395":{"position":[[4,6]]},"1399":{"position":[[4,6]]},"1403":{"position":[[4,6]]},"1407":{"position":[[4,6]]},"1411":{"position":[[4,6]]},"1415":{"position":[[4,6]]},"1419":{"position":[[4,6]]},"1423":{"position":[[4,6]]},"1427":{"position":[[4,6]]},"1431":{"position":[[4,6]]},"1435":{"position":[[4,6]]},"1442":{"position":[[4,6]]},"1445":{"position":[[4,6]]},"1447":{"position":[[4,6]]},"1448":{"position":[[4,6]]},"1452":{"position":[[4,6]]},"1455":{"position":[[4,6]]},"1458":{"position":[[4,6]]},"1463":{"position":[[4,6]]},"1466":{"position":[[4,6]]},"1472":{"position":[[4,6]]},"1474":{"position":[[4,6]]},"1481":{"position":[[4,6]]},"1483":{"position":[[4,6]]},"1486":{"position":[[4,6]]},"1489":{"position":[[4,6]]},"1491":{"position":[[4,6]]},"1493":{"position":[[4,6]]},"1495":{"position":[[4,6]]},"1496":{"position":[[4,6]]},"1499":{"position":[[4,6]]},"1504":{"position":[[4,6]]},"1506":{"position":[[4,6]]},"1508":{"position":[[4,6]]},"1510":{"position":[[4,6]]},"1512":{"position":[[4,6]]},"1520":{"position":[[4,6]]},"1524":{"position":[[4,6]]},"1533":{"position":[[4,6]]},"1539":{"position":[[4,6]]},"1541":{"position":[[4,6]]},"1543":{"position":[[4,6]]},"1545":{"position":[[4,6]]},"1546":{"position":[[4,6]]},"1549":{"position":[[4,6]]},"1553":{"position":[[4,6]]},"1555":{"position":[[4,6]]},"1557":{"position":[[4,6]]},"1562":{"position":[[4,6]]},"1565":{"position":[[4,6]]},"1566":{"position":[[4,6]]},"1570":{"position":[[4,6]]},"1572":{"position":[[4,6]]},"1574":{"position":[[4,6]]},"1576":{"position":[[4,6]]},"1577":{"position":[[4,6]]},"1580":{"position":[[4,6]]},"1581":{"position":[[4,6]]},"1588":{"position":[[4,6]]},"1592":{"position":[[4,6]]},"1597":{"position":[[4,6]]},"1603":{"position":[[4,6]]},"1607":{"position":[[4,6]]},"1611":{"position":[[4,6]]},"1614":{"position":[[4,6]]},"1618":{"position":[[4,6]]},"1620":{"position":[[4,6]]},"1622":{"position":[[4,6]]},"1626":{"position":[[4,6]]},"1640":{"position":[[4,6]]},"1644":{"position":[[4,6]]},"1648":{"position":[[4,6]]},"1655":{"position":[[4,6]]},"1658":{"position":[[4,6]]},"1666":{"position":[[4,6]]},"1670":{"position":[[4,6]]},"1673":{"position":[[4,6]]},"1676":{"position":[[4,6]]},"1678":{"position":[[4,6]]},"1680":{"position":[[4,6]]},"1682":{"position":[[4,6]]},"1684":{"position":[[4,6]]},"1686":{"position":[[4,6]]},"1687":{"position":[[4,6]]},"1691":{"position":[[4,6]]},"1693":{"position":[[4,6]]},"1696":{"position":[[4,6]]},"1701":{"position":[[4,6]]},"1703":{"position":[[4,6]]},"1709":{"position":[[4,6]]},"1711":{"position":[[4,6]]},"1713":{"position":[[4,6]]},"1715":{"position":[[4,6]]},"1717":{"position":[[4,6]]},"1719":{"position":[[4,6]]},"1721":{"position":[[4,6]]},"1725":{"position":[[4,6]]},"1729":{"position":[[4,6]]},"1731":{"position":[[4,6]]},"1733":{"position":[[4,6]]},"1738":{"position":[[4,6]]},"1740":{"position":[[4,6]]},"1744":{"position":[[4,6]]},"1745":{"position":[[4,6]]},"1751":{"position":[[4,6]]},"1752":{"position":[[4,6]]},"1755":{"position":[[4,6]]},"1757":{"position":[[4,6]]},"1759":{"position":[[4,6]]},"1761":{"position":[[4,6]]},"1762":{"position":[[4,6]]},"1766":{"position":[[4,6]]},"1768":{"position":[[4,6]]}},"content":{"74":{"position":[[0,3]]},"264":{"position":[[738,5]]},"357":{"position":[[227,5]]},"358":{"position":[[222,5]]},"359":{"position":[[4,5],[193,5],[292,5],[348,5]]},"371":{"position":[[13,6],[115,5]]},"375":{"position":[[0,6]]},"379":{"position":[[0,6]]},"385":{"position":[[78,3]]},"388":{"position":[[0,6]]},"390":{"position":[[0,6]]},"393":{"position":[[0,6]]},"396":{"position":[[0,6]]},"401":{"position":[[0,6]]},"407":{"position":[[0,6]]},"409":{"position":[[0,6]]},"410":{"position":[[0,6],[114,5],[120,6]]},"414":{"position":[[0,6]]},"416":{"position":[[0,6]]},"420":{"position":[[8,6]]},"427":{"position":[[0,6]]},"429":{"position":[[0,6]]},"432":{"position":[[8,6]]},"462":{"position":[[0,6]]},"464":{"position":[[0,6]]},"474":{"position":[[0,6]]},"476":{"position":[[0,6]]},"492":{"position":[[0,6]]},"494":{"position":[[0,6]]},"496":{"position":[[0,6]]},"502":{"position":[[0,6]]},"506":{"position":[[0,6]]},"514":{"position":[[45,4],[117,3],[132,4],[137,6]]},"518":{"position":[[0,6]]},"521":{"position":[[0,6]]},"528":{"position":[[0,6]]},"530":{"position":[[0,6]]},"531":{"position":[[0,6]]},"541":{"position":[[0,6]]},"553":{"position":[[0,6]]},"554":{"position":[[0,6]]},"568":{"position":[[0,6]]},"577":{"position":[[0,6]]},"579":{"position":[[0,6]]},"581":{"position":[[0,6]]},"593":{"position":[[11,6]]},"599":{"position":[[0,6]]},"607":{"position":[[0,6]]},"622":{"position":[[0,6],[58,6],[114,6],[187,6]]},"630":{"position":[[0,6]]},"634":{"position":[[0,3],[8,3],[17,5]]},"644":{"position":[[0,6]]},"653":{"position":[[8,6]]},"659":{"position":[[0,6]]},"663":{"position":[[0,6]]},"673":{"position":[[124,5],[130,6]]},"677":{"position":[[17,3],[67,3]]},"683":{"position":[[47,3]]},"685":{"position":[[0,6]]},"687":{"position":[[0,6]]},"689":{"position":[[0,6]]},"697":{"position":[[0,6]]},"700":{"position":[[0,6],[52,6]]},"701":{"position":[[5,6]]},"703":{"position":[[5,6],[66,6]]},"710":{"position":[[0,6]]},"713":{"position":[[15,6]]},"715":{"position":[[0,3],[96,6]]},"718":{"position":[[0,6]]},"721":{"position":[[0,6]]},"725":{"position":[[15,5]]},"730":{"position":[[12,6]]},"732":{"position":[[9,6]]},"734":{"position":[[204,6]]},"739":{"position":[[15,6]]},"742":{"position":[[0,3],[68,3]]},"744":{"position":[[0,6]]},"751":{"position":[[0,6]]},"753":{"position":[[0,6]]},"755":{"position":[[0,6]]},"761":{"position":[[15,6]]},"777":{"position":[[0,6]]},"781":{"position":[[0,6]]},"785":{"position":[[21,6]]},"794":{"position":[[18,6]]},"795":{"position":[[5,5]]},"798":{"position":[[11,6]]},"808":{"position":[[8,6],[80,6]]},"812":{"position":[[0,6]]},"816":{"position":[[0,6]]},"818":{"position":[[11,6]]},"821":{"position":[[0,6]]},"824":{"position":[[0,6]]},"842":{"position":[[0,6]]},"847":{"position":[[192,5],[276,3],[358,5]]},"850":{"position":[[0,6]]},"857":{"position":[[0,6]]},"870":{"position":[[0,6]]},"872":{"position":[[8,6]]},"873":{"position":[[0,6]]},"881":{"position":[[0,6]]},"895":{"position":[[0,6]]},"911":{"position":[[0,6]]},"915":{"position":[[0,6]]},"917":{"position":[[0,6]]},"918":{"position":[[0,6]]},"926":{"position":[[15,5]]},"936":{"position":[[0,6]]},"944":{"position":[[0,6]]},"963":{"position":[[0,6]]},"1012":{"position":[[45,5]]},"1024":{"position":[[104,6],[306,6],[409,6]]},"1047":{"position":[[178,6],[349,6],[369,6]]},"1058":{"position":[[116,5]]},"1108":{"position":[[0,3]]},"1168":{"position":[[23,5]]},"1254":{"position":[[17,6]]},"1267":{"position":[[33,3]]},"1279":{"position":[[26,3]]},"1295":{"position":[[0,3]]},"1353":{"position":[[87,3],[332,3]]},"1358":{"position":[[87,3],[332,3]]},"1363":{"position":[[87,3],[332,3]]},"1368":{"position":[[87,3],[332,3]]},"1373":{"position":[[138,3]]},"1377":{"position":[[138,3]]},"1381":{"position":[[138,3]]},"1385":{"position":[[138,3]]},"1389":{"position":[[138,3]]},"1393":{"position":[[138,3]]},"1397":{"position":[[138,3]]},"1401":{"position":[[138,3]]},"1405":{"position":[[138,3]]},"1409":{"position":[[138,3]]},"1413":{"position":[[138,3]]},"1417":{"position":[[138,3]]},"1421":{"position":[[138,3]]},"1425":{"position":[[138,3]]},"1429":{"position":[[138,3]]},"1433":{"position":[[138,3]]},"1437":{"position":[[92,3]]},"1440":{"position":[[92,3]]},"1458":{"position":[[0,6]]},"1466":{"position":[[1042,5]]},"1474":{"position":[[589,3],[1582,5],[2560,5],[2703,5],[2929,3],[3084,3],[3386,3],[3537,3],[3666,5],[3693,3],[4954,3],[5552,5],[6346,3],[9086,5],[12922,5],[13115,5],[13618,6],[13840,5],[14693,5],[15483,6],[19549,3],[20024,3],[20166,5],[20367,3],[20425,3],[21211,3],[22327,3]]},"1476":{"position":[[2981,5],[6900,5],[9094,3]]},"1477":{"position":[[198,5],[261,3]]},"1479":{"position":[[521,3],[635,5],[672,3],[784,3],[1003,3],[1012,3],[1468,3],[1834,3],[3136,3],[3158,3],[3242,4],[3338,5],[4260,3]]},"1531":{"position":[[60,3]]},"1535":{"position":[[48,5],[85,3],[197,3]]},"1557":{"position":[[0,3]]},"1562":{"position":[[471,5]]},"1565":{"position":[[27,3]]},"1588":{"position":[[0,6]]},"1595":{"position":[[23,3],[32,3]]},"1646":{"position":[[66,3],[432,3]]},"1666":{"position":[[28,6]]},"1693":{"position":[[0,5]]},"1729":{"position":[[63,5]]},"1737":{"position":[[53,3],[75,3]]},"1742":{"position":[[67,4],[163,5]]},"1745":{"position":[[179,3]]},"1766":{"position":[[379,3]]},"1768":{"position":[[23,3]]},"2240":{"position":[[5480,3],[5494,3]]},"2352":{"position":[[139,3],[153,3]]},"2518":{"position":[[210,6],[348,5]]}},"keywords":{}}],["fix."",{"_index":6619,"title":{},"content":{"1478":{"position":[[1327,10]]}},"keywords":{}}],["flag",{"_index":977,"title":{},"content":{"92":{"position":[[226,5],[1267,5]]},"243":{"position":[[1250,4],[1289,4]]},"337":{"position":[[330,4]]},"355":{"position":[[853,4]]},"356":{"position":[[101,4]]},"363":{"position":[[162,5],[240,4],[286,4],[340,5]]},"486":{"position":[[7,4]]},"487":{"position":[[144,4]]},"981":{"position":[[66,4]]},"1474":{"position":[[1394,4]]},"1782":{"position":[[216,4]]},"1894":{"position":[[82,5]]},"2031":{"position":[[2683,5]]},"2385":{"position":[[94,6],[155,5]]},"2396":{"position":[[293,4]]},"2400":{"position":[[313,4]]},"2403":{"position":[[13,4]]}},"keywords":{}}],["flexibl",{"_index":1032,"title":{},"content":{"99":{"position":[[1338,11]]}},"keywords":{}}],["flip",{"_index":1256,"title":{},"content":{"139":{"position":[[642,4]]}},"keywords":{}}],["float",{"_index":1143,"title":{"120":{"position":[[0,5]]}},"content":{"119":{"position":[[531,5]]},"122":{"position":[[0,5]]},"173":{"position":[[379,6],[409,5]]},"203":{"position":[[1935,5],[2014,5]]},"209":{"position":[[1910,5],[1989,5]]},"211":{"position":[[1109,5],[1188,5]]},"251":{"position":[[4369,5]]},"327":{"position":[[875,7],[1108,5]]},"328":{"position":[[828,5],[898,5]]},"333":{"position":[[102,8]]},"373":{"position":[[38,5]]},"626":{"position":[[27,6]]},"747":{"position":[[35,6]]},"861":{"position":[[22,5]]},"876":{"position":[[34,6]]},"1952":{"position":[[507,5],[562,5]]},"1983":{"position":[[521,5],[634,5],[1802,5]]},"1988":{"position":[[233,5],[379,5],[542,5]]},"1990":{"position":[[211,5],[707,5]]},"1996":{"position":[[86,5],[172,5],[502,5]]},"2000":{"position":[[72,5],[496,5]]},"2001":{"position":[[22,5],[270,5],[372,5],[511,5],[913,5],[1061,5],[1087,5],[1248,5],[1280,5]]},"2023":{"position":[[2276,5]]},"2050":{"position":[[81,5],[234,5]]},"2056":{"position":[[1495,5],[4025,5]]},"2068":{"position":[[107,5],[119,5],[137,5],[377,5],[389,5],[608,5],[867,5]]},"2073":{"position":[[91,5],[345,5],[357,5],[375,5]]},"2076":{"position":[[123,5],[135,5],[147,5],[165,5],[183,5],[475,5],[487,5],[499,5],[752,5],[764,5],[1088,5],[1100,5]]},"2078":{"position":[[106,5],[118,5],[445,5],[457,5],[469,5],[487,5],[505,5]]},"2130":{"position":[[221,5],[653,5],[774,5],[1119,5],[1499,5]]},"2373":{"position":[[236,5]]},"2396":{"position":[[248,5]]},"2407":{"position":[[112,5]]},"2425":{"position":[[31,5],[254,5]]},"2427":{"position":[[105,5],[183,5],[258,5]]},"2515":{"position":[[484,5]]}},"keywords":{}}],["float.mydata",{"_index":2681,"title":{},"content":{"327":{"position":[[957,14]]}},"keywords":{}}],["floatinginfo",{"_index":1713,"title":{},"content":{"209":{"position":[[100,12],[157,13],[473,13],[2161,12]]}},"keywords":{}}],["floatinginfo.transform.localposit",{"_index":1732,"title":{},"content":{"209":{"position":[[1100,36]]}},"keywords":{}}],["floatinginfo.transform.localscal",{"_index":1735,"title":{},"content":{"209":{"position":[[1168,33]]}},"keywords":{}}],["floatinginfo.transform.lookat(camera.main.transform",{"_index":1752,"title":{},"content":{"209":{"position":[[1846,53]]},"211":{"position":[[1045,53]]}},"keywords":{}}],["floatpack",{"_index":1173,"title":{"1999":{"position":[[6,11]]}},"content":{"125":{"position":[[83,11]]},"626":{"position":[[37,11]]},"1983":{"position":[[602,12]]}},"keywords":{}}],["floatpack(100f",{"_index":1150,"title":{},"content":{"123":{"position":[[97,15]]},"125":{"position":[[18,15]]}},"keywords":{}}],["floatpack(1f",{"_index":1168,"title":{},"content":{"124":{"position":[[113,13]]}},"keywords":{}}],["floatpackattribut",{"_index":7689,"title":{"1995":{"position":[[6,18]]}},"content":{"1983":{"position":[[493,19]]}},"keywords":{}}],["floatpackattribute(float",{"_index":7754,"title":{},"content":{"1996":{"position":[[56,24],[389,24]]}},"keywords":{}}],["floatpackattribute(singl",{"_index":7753,"title":{},"content":{"1996":{"position":[[0,26],[334,26]]}},"keywords":{}}],["floatpacker(100f",{"_index":1175,"title":{},"content":{"125":{"position":[[117,17]]}},"keywords":{}}],["floatpacker(float",{"_index":7760,"title":{},"content":{"2000":{"position":[[49,17],[303,17],[473,17],[813,17]]}},"keywords":{}}],["floatpacker(singl",{"_index":7759,"title":{},"content":{"2000":{"position":[[0,19],[255,19],[415,19],[756,19]]}},"keywords":{}}],["floor",{"_index":1665,"title":{},"content":{"202":{"position":[[901,5]]}},"keywords":{}}],["flow",{"_index":1033,"title":{"247":{"position":[[21,5]]},"334":{"position":[[14,4]]},"335":{"position":[[14,5]]}},"content":{"99":{"position":[[1386,5]]},"164":{"position":[[517,5]]},"247":{"position":[[11,4]]},"248":{"position":[[93,4]]},"335":{"position":[[119,4]]},"2091":{"position":[[335,4]]},"2094":{"position":[[107,4]]}},"keywords":{}}],["flush",{"_index":7260,"title":{},"content":{"1834":{"position":[[50,5]]},"1835":{"position":[[282,8],[392,7]]},"1855":{"position":[[378,8],[412,7]]},"1860":{"position":[[421,8],[455,7]]},"1865":{"position":[[421,8],[455,7]]},"1874":{"position":[[378,8],[412,7]]},"2119":{"position":[[563,8],[597,7]]}},"keywords":{}}],["flushbatch",{"_index":3581,"title":{},"content":{"636":{"position":[[20,10]]},"2141":{"position":[[1044,13],[1275,12]]}},"keywords":{}}],["focu",{"_index":745,"title":{},"content":{"57":{"position":[[21,5]]},"99":{"position":[[1427,5]]},"175":{"position":[[520,5]]}},"keywords":{}}],["folder",{"_index":275,"title":{},"content":{"10":{"position":[[1560,6]]},"46":{"position":[[206,6]]},"100":{"position":[[87,7]]},"184":{"position":[[542,6]]},"195":{"position":[[38,6],[209,7],[246,6]]},"196":{"position":[[22,6]]},"202":{"position":[[102,7]]},"203":{"position":[[647,6],[692,6],[1311,6]]},"317":{"position":[[596,6],[1584,7]]},"959":{"position":[[48,6]]},"1039":{"position":[[20,6]]},"1194":{"position":[[31,6]]},"1474":{"position":[[1302,6],[7421,6]]},"1562":{"position":[[200,6]]}},"keywords":{}}],["foldout",{"_index":4288,"title":{},"content":{"957":{"position":[[0,7]]},"2240":{"position":[[716,7]]},"2275":{"position":[[50,7]]}},"keywords":{}}],["foldouteventattribut",{"_index":8644,"title":{"2275":{"position":[[6,21]]}},"content":{"2240":{"position":[[671,22]]},"2275":{"position":[[6,21],[154,21]]}},"keywords":{}}],["follow",{"_index":195,"title":{},"content":{"9":{"position":[[25,6]]},"46":{"position":[[220,9]]},"82":{"position":[[20,6]]},"96":{"position":[[381,9]]},"100":{"position":[[197,6]]},"117":{"position":[[55,6]]},"139":{"position":[[68,6]]},"182":{"position":[[2042,9]]},"187":{"position":[[762,10]]},"190":{"position":[[341,8]]},"191":{"position":[[242,8]]},"196":{"position":[[155,9]]},"198":{"position":[[402,6],[544,6]]},"199":{"position":[[60,10]]},"202":{"position":[[16,9],[64,6]]},"203":{"position":[[144,6]]},"211":{"position":[[41,9]]},"245":{"position":[[3547,9]]},"254":{"position":[[786,9]]},"292":{"position":[[270,9]]},"295":{"position":[[75,9]]},"346":{"position":[[327,9],[1334,9]]},"357":{"position":[[172,9]]},"363":{"position":[[4,9],[52,7]]},"1142":{"position":[[31,6],[111,6]]},"1311":{"position":[[17,6]]},"1777":{"position":[[42,9]]},"2091":{"position":[[583,9]]}},"keywords":{}}],["font",{"_index":4895,"title":{},"content":{"1214":{"position":[[0,4]]}},"keywords":{}}],["forc",{"_index":2109,"title":{},"content":{"247":{"position":[[284,6]]},"328":{"position":[[1547,6],[1965,5],[2188,5],[2196,6]]},"661":{"position":[[0,7]]},"1131":{"position":[[31,5]]},"1474":{"position":[[22449,5]]},"1566":{"position":[[1884,5]]},"2141":{"position":[[1058,6]]},"2240":{"position":[[5372,6]]},"2352":{"position":[[31,6]]},"2396":{"position":[[301,5]]},"2403":{"position":[[21,5]]},"2503":{"position":[[231,5]]}},"keywords":{}}],["forceal",{"_index":2824,"title":{},"content":{"346":{"position":[[639,10]]}},"keywords":{}}],["forceen",{"_index":9210,"title":{},"content":{"2503":{"position":[[218,12],[316,11]]}},"keywords":{}}],["forcehidden",{"_index":5392,"title":{},"content":{"1474":{"position":[[1382,11]]},"2396":{"position":[[280,12],[444,11]]},"2403":{"position":[[0,12],[171,11]]}},"keywords":{}}],["foreach",{"_index":1796,"title":{},"content":{"211":{"position":[[756,7]]},"1477":{"position":[[252,8],[664,7]]}},"keywords":{}}],["forest",{"_index":2904,"title":{},"content":{"361":{"position":[[710,6]]}},"keywords":{}}],["forev",{"_index":5456,"title":{},"content":{"1474":{"position":[[3647,8]]}},"keywords":{}}],["forget",{"_index":8472,"title":{},"content":{"2162":{"position":[[142,6]]}},"keywords":{}}],["forgot",{"_index":1522,"title":{},"content":{"183":{"position":[[1074,6]]},"1474":{"position":[[19434,6]]}},"keywords":{}}],["form",{"_index":1606,"title":{},"content":{"191":{"position":[[234,4]]},"1474":{"position":[[936,4]]},"1655":{"position":[[166,4]]}},"keywords":{}}],["format",{"_index":3815,"title":{},"content":{"742":{"position":[[72,10]]},"835":{"position":[[19,6]]},"1947":{"position":[[318,7],[439,6]]}},"keywords":{}}],["formerlyserializeda",{"_index":3242,"title":{},"content":{"505":{"position":[[337,20]]},"1011":{"position":[[7,20]]}},"keywords":{}}],["forum.unity.com/threads/how",{"_index":4842,"title":{},"content":{"1189":{"position":[[56,28]]}},"keywords":{}}],["forward",{"_index":350,"title":{},"content":{"14":{"position":[[1374,10]]},"130":{"position":[[104,8]]},"159":{"position":[[104,8]]},"175":{"position":[[775,10]]},"179":{"position":[[540,10]]},"187":{"position":[[825,8],[872,7]]}},"keywords":{}}],["found",{"_index":16,"title":{"85":{"position":[[10,5]]}},"content":{"0":{"position":[[297,5]]},"39":{"position":[[68,5]]},"88":{"position":[[191,5]]},"91":{"position":[[27,5]]},"219":{"position":[[97,5]]},"225":{"position":[[131,5]]},"237":{"position":[[172,5]]},"314":{"position":[[598,6]]},"326":{"position":[[64,5],[548,5]]},"331":{"position":[[324,5]]},"622":{"position":[[243,5]]},"707":{"position":[[106,5]]},"737":{"position":[[26,5]]},"755":{"position":[[43,5]]},"821":{"position":[[40,5]]},"1073":{"position":[[30,5]]},"1223":{"position":[[11,5]]},"1297":{"position":[[25,5]]},"1474":{"position":[[2022,5],[3158,5],[20156,5]]},"2292":{"position":[[299,5]]},"2303":{"position":[[324,5],[390,5]]},"2322":{"position":[[308,5],[869,5],[1586,5],[2308,5]]},"2507":{"position":[[97,5]]}},"keywords":{}}],["found"",{"_index":7238,"title":{},"content":{"1819":{"position":[[182,11]]}},"keywords":{}}],["fp",{"_index":5146,"title":{},"content":{"1335":{"position":[[8,3]]}},"keywords":{}}],["fqdn",{"_index":324,"title":{},"content":{"14":{"position":[[328,7]]},"2400":{"position":[[1052,4]]}},"keywords":{}}],["fragil",{"_index":2558,"title":{},"content":{"314":{"position":[[62,7]]}},"keywords":{}}],["fragment",{"_index":3042,"title":{},"content":{"418":{"position":[[30,8]]},"593":{"position":[[18,10]]},"909":{"position":[[20,13]]},"2113":{"position":[[733,8]]},"2114":{"position":[[1873,8],[1905,8]]},"2130":{"position":[[2523,9]]}},"keywords":{}}],["fragment_index_s",{"_index":8388,"title":{},"content":{"2113":{"position":[[412,20],[463,19]]}},"keywords":{}}],["fragmentindex",{"_index":8346,"title":{},"content":{"2099":{"position":[[0,14],[39,13]]}},"keywords":{}}],["frame",{"_index":1331,"title":{},"content":{"164":{"position":[[623,6],[735,5]]},"173":{"position":[[773,5],[794,5]]},"240":{"position":[[2400,6]]},"241":{"position":[[2583,6]]},"337":{"position":[[947,6]]},"361":{"position":[[292,5]]},"2156":{"position":[[419,5],[518,5]]},"2168":{"position":[[14,5],[47,6]]},"2173":{"position":[[440,5],[546,5]]},"2288":{"position":[[17,5]]}},"keywords":{}}],["framecount",{"_index":7615,"title":{},"content":{"1949":{"position":[[29,11],[54,10]]}},"keywords":{}}],["framer",{"_index":5657,"title":{},"content":{"1474":{"position":[[9597,9]]}},"keywords":{}}],["framework",{"_index":6140,"title":{},"content":{"1476":{"position":[[2237,9],[5612,9],[5662,9],[5756,9],[5949,9],[8683,9]]},"1567":{"position":[[1203,9],[1253,9],[1299,9],[1349,9]]},"1591":{"position":[[11,9]]}},"keywords":{}}],["free",{"_index":1402,"title":{},"content":{"175":{"position":[[1045,4]]},"178":{"position":[[92,4]]},"182":{"position":[[2798,4]]},"189":{"position":[[447,4]]},"1327":{"position":[[237,4]]},"1330":{"position":[[237,4]]},"1333":{"position":[[237,4]]},"1477":{"position":[[168,4],[238,4]]}},"keywords":{}}],["freez",{"_index":5455,"title":{},"content":{"1474":{"position":[[3609,6],[21215,7]]},"1477":{"position":[[1454,7]]},"1568":{"position":[[183,7]]},"1745":{"position":[[183,7]]}},"keywords":{}}],["frequenc",{"_index":8806,"title":{},"content":{"2287":{"position":[[30,10]]}},"keywords":{}}],["frequent",{"_index":2896,"title":{},"content":{"360":{"position":[[158,10]]}},"keywords":{}}],["freshli",{"_index":1515,"title":{},"content":{"183":{"position":[[661,7]]}},"keywords":{}}],["friendli",{"_index":5075,"title":{},"content":{"1301":{"position":[[13,8]]},"1476":{"position":[[8787,8]]},"1961":{"position":[[392,8]]},"1962":{"position":[[17,8]]},"2240":{"position":[[2327,8]]},"2344":{"position":[[135,8]]}},"keywords":{}}],["frombitcount",{"_index":7690,"title":{"2013":{"position":[[6,12]]}},"content":{"1983":{"position":[[670,13]]}},"keywords":{}}],["frombitcount(int",{"_index":8255,"title":{},"content":{"2066":{"position":[[68,16],[338,16]]}},"keywords":{}}],["frombitcount(int32",{"_index":8254,"title":{},"content":{"2066":{"position":[[0,19],[254,19]]}},"keywords":{}}],["frowen",{"_index":3368,"title":{},"content":{"549":{"position":[[80,6]]},"1479":{"position":[[1987,6],[2114,6]]},"1646":{"position":[[585,6],[712,6]]}},"keywords":{}}],["fulfil",{"_index":2290,"title":{},"content":{"269":{"position":[[31,9]]}},"keywords":{}}],["full",{"_index":234,"title":{},"content":{"10":{"position":[[403,4]]},"30":{"position":[[435,4],[531,4]]},"91":{"position":[[0,4]]},"237":{"position":[[143,4]]},"292":{"position":[[254,4]]},"326":{"position":[[227,4]]},"337":{"position":[[513,4]]},"732":{"position":[[16,4]]},"1125":{"position":[[22,4]]},"1474":{"position":[[3352,4]]},"1835":{"position":[[440,4],[857,4]]},"1983":{"position":[[872,4]]},"2261":{"position":[[506,4]]},"2417":{"position":[[5009,4],[5547,4],[6263,4],[6550,4],[7193,4],[7480,4],[10722,4]]}},"keywords":{}}],["fulli",{"_index":320,"title":{},"content":{"14":{"position":[[300,5]]},"24":{"position":[[1747,5]]},"71":{"position":[[671,5]]},"308":{"position":[[814,5]]},"1835":{"position":[[342,5]]},"2130":{"position":[[1075,5]]},"2308":{"position":[[23,5]]},"2400":{"position":[[349,5],[462,5]]},"2417":{"position":[[4746,5],[5276,5],[5915,5],[6837,5],[7775,5],[8249,5]]}},"keywords":{}}],["fullnam",{"_index":7604,"title":{},"content":{"1941":{"position":[[289,9],[362,8]]},"1943":{"position":[[0,9],[37,8]]},"1944":{"position":[[140,9],[198,8]]},"1953":{"position":[[87,9],[159,8],[299,9],[357,8]]}},"keywords":{}}],["fulltypenam",{"_index":7609,"title":{},"content":{"1946":{"position":[[146,12],[291,12]]}},"keywords":{}}],["fun",{"_index":1780,"title":{},"content":{"210":{"position":[[1979,4]]}},"keywords":{}}],["func",{"_index":7667,"title":{},"content":{"1971":{"position":[[404,5],[627,4],[922,5],[1158,4]]}},"keywords":{}}],["func<networkread",{"_index":8093,"title":{},"content":{"2037":{"position":[[33,22]]}},"keywords":{}}],["func<packettyp",{"_index":8557,"title":{},"content":{"2187":{"position":[[21,19],[165,19]]}},"keywords":{}}],["function",{"_index":98,"title":{"216":{"position":[[18,10]]},"236":{"position":[[13,9]]},"320":{"position":[[31,10]]},"326":{"position":[[20,10]]},"327":{"position":[[21,10]]},"328":{"position":[[25,10]]},"337":{"position":[[21,10]]}},"content":{"0":{"position":[[1885,10]]},"6":{"position":[[397,8]]},"14":{"position":[[821,11]]},"30":{"position":[[179,8]]},"42":{"position":[[1137,9],[1636,8]]},"56":{"position":[[109,13]]},"62":{"position":[[92,14]]},"73":{"position":[[99,9]]},"91":{"position":[[350,8],[546,8],[751,9],[851,9]]},"99":{"position":[[1447,14]]},"108":{"position":[[152,9]]},"171":{"position":[[526,8]]},"175":{"position":[[1179,13]]},"186":{"position":[[82,9],[199,8]]},"210":{"position":[[256,9],[1689,8]]},"213":{"position":[[1205,10]]},"216":{"position":[[19,9],[128,10],[174,8],[252,8]]},"217":{"position":[[526,8],[617,8],[675,8]]},"218":{"position":[[275,8]]},"235":{"position":[[680,9]]},"245":{"position":[[3291,9],[3382,9],[3983,8]]},"251":{"position":[[3709,8]]},"254":{"position":[[218,8]]},"264":{"position":[[1016,9],[1340,8],[2023,8]]},"266":{"position":[[393,9]]},"291":{"position":[[38,8]]},"302":{"position":[[887,8]]},"303":{"position":[[549,9]]},"320":{"position":[[226,10],[338,9],[477,9]]},"321":{"position":[[702,9]]},"324":{"position":[[288,9],[423,8]]},"326":{"position":[[41,10],[181,10]]},"327":{"position":[[32,9],[374,9],[588,9],[783,9],[852,9],[944,8],[1035,8]]},"328":{"position":[[18,9],[483,8],[2244,9],[2298,9]]},"335":{"position":[[1318,8],[1523,8],[1626,8],[1741,10]]},"337":{"position":[[68,9],[142,9],[634,8],[970,8]]},"346":{"position":[[413,8],[1422,8],[2671,10],[2697,9]]},"379":{"position":[[43,9]]},"445":{"position":[[7,8]]},"454":{"position":[[7,8]]},"455":{"position":[[59,8]]},"476":{"position":[[94,9]]},"478":{"position":[[18,9]]},"490":{"position":[[73,9]]},"494":{"position":[[13,9]]},"500":{"position":[[14,8]]},"510":{"position":[[52,9]]},"512":{"position":[[18,10]]},"537":{"position":[[322,9]]},"545":{"position":[[9,8]]},"548":{"position":[[39,8]]},"557":{"position":[[45,9]]},"566":{"position":[[7,9]]},"596":{"position":[[19,9]]},"601":{"position":[[256,8]]},"704":{"position":[[21,9]]},"713":{"position":[[33,8]]},"740":{"position":[[34,8]]},"758":{"position":[[29,9]]},"764":{"position":[[238,8]]},"878":{"position":[[15,8]]},"883":{"position":[[33,9]]},"892":{"position":[[16,9]]},"904":{"position":[[7,9]]},"1474":{"position":[[5562,8],[14294,9]]},"1476":{"position":[[1572,9]]},"1567":{"position":[[599,9]]},"1733":{"position":[[362,9]]},"1779":{"position":[[62,8]]},"1803":{"position":[[96,8]]},"1958":{"position":[[62,10]]},"1960":{"position":[[172,9],[361,8]]},"1961":{"position":[[186,9],[196,8],[283,8]]},"1964":{"position":[[44,10]]},"1983":{"position":[[1017,9],[2722,10],[2797,9],[2937,9],[2996,9]]},"2083":{"position":[[109,10],[184,9],[324,9],[383,9]]},"2152":{"position":[[92,8]]},"2240":{"position":[[471,8],[1644,14],[2044,8],[6707,8]]},"2253":{"position":[[260,8],[326,8],[852,8]]},"2265":{"position":[[1428,8],[2406,8],[3996,8],[4745,8],[6286,8],[6599,9]]},"2351":{"position":[[693,8]]},"2358":{"position":[[995,8]]},"2359":{"position":[[2522,8],[2596,8],[3040,8],[3117,8]]},"2370":{"position":[[3683,8],[3864,8],[4180,13]]},"2371":{"position":[[130,8]]},"2383":{"position":[[240,8]]},"2397":{"position":[[181,8]]},"2404":{"position":[[197,8]]},"2417":{"position":[[1478,9],[8998,8]]},"2421":{"position":[[3400,9],[3891,9]]},"2434":{"position":[[138,8],[767,8]]},"2460":{"position":[[202,8]]},"2473":{"position":[[547,8]]},"2478":{"position":[[337,8],[1279,8]]},"2482":{"position":[[1936,8],[2811,8]]},"2522":{"position":[[8,8]]}},"keywords":{}}],["functionindex",{"_index":7676,"title":{},"content":{"1973":{"position":[[39,14],[78,13]]},"1977":{"position":[[39,14],[78,13]]}},"keywords":{}}],["furthermor",{"_index":729,"title":{},"content":{"54":{"position":[[0,12]]}},"keywords":{}}],["futur",{"_index":846,"title":{},"content":{"69":{"position":[[400,7]]},"71":{"position":[[532,7]]},"182":{"position":[[2556,7]]},"1479":{"position":[[2782,7]]},"1707":{"position":[[79,7]]},"2093":{"position":[[448,6]]}},"keywords":{}}],["futurist",{"_index":769,"title":{},"content":{"59":{"position":[[296,10]]}},"keywords":{}}],["gain",{"_index":1892,"title":{},"content":{"227":{"position":[[292,5]]}},"keywords":{}}],["game",{"_index":34,"title":{"2":{"position":[[21,4]]},"3":{"position":[[20,4]]},"72":{"position":[[13,4]]},"74":{"position":[[11,4]]},"194":{"position":[[11,5]]},"195":{"position":[[24,5]]},"213":{"position":[[10,4]]},"235":{"position":[[6,4]]},"237":{"position":[[13,4]]},"243":{"position":[[7,4]]},"244":{"position":[[9,4]]},"247":{"position":[[0,4]]},"248":{"position":[[7,4]]},"249":{"position":[[9,4]]},"251":{"position":[[13,4]]},"314":{"position":[[0,4]]}},"content":{"0":{"position":[[580,4],[695,4],[1029,5],[1145,4],[1216,4],[1707,4],[2486,4],[2597,4],[2725,4],[2742,4]]},"2":{"position":[[86,4]]},"3":{"position":[[21,4],[118,4],[245,5],[282,4],[430,4],[532,4],[554,4],[668,4],[737,4],[800,4]]},"6":{"position":[[52,4],[347,4],[460,4],[561,4],[770,4],[937,4]]},"9":{"position":[[54,4],[248,4]]},"13":{"position":[[51,4],[147,5],[236,5],[266,4],[303,4],[349,5]]},"14":{"position":[[211,4],[573,4],[684,5],[799,4],[883,4],[950,4],[1935,4]]},"15":{"position":[[29,4],[133,4],[159,4],[225,4],[266,5],[508,4],[607,4],[849,5],[893,4]]},"17":{"position":[[351,4]]},"18":{"position":[[97,4]]},"20":{"position":[[298,4]]},"22":{"position":[[93,4],[194,4],[291,4],[548,4],[604,4],[740,4],[844,4],[904,4],[1063,4],[1133,4]]},"24":{"position":[[1631,4],[1797,5]]},"31":{"position":[[172,4],[215,4],[588,4],[643,4]]},"33":{"position":[[320,4]]},"37":{"position":[[114,4],[131,4],[307,4],[395,4],[480,4],[599,4],[844,4],[977,4]]},"43":{"position":[[110,4],[145,4],[285,4],[352,4]]},"49":{"position":[[245,4],[272,4],[565,4]]},"50":{"position":[[619,4]]},"53":{"position":[[126,4]]},"54":{"position":[[81,4],[157,5],[168,4],[416,4]]},"55":{"position":[[26,4],[82,5]]},"56":{"position":[[138,4]]},"59":{"position":[[189,4]]},"69":{"position":[[196,4]]},"74":{"position":[[255,4],[325,4]]},"75":{"position":[[198,4]]},"76":{"position":[[10,4]]},"81":{"position":[[343,4]]},"89":{"position":[[40,4],[254,4]]},"92":{"position":[[679,4]]},"94":{"position":[[304,4]]},"96":{"position":[[156,5]]},"167":{"position":[[36,4]]},"171":{"position":[[104,5],[151,4],[489,4],[570,4],[618,5]]},"172":{"position":[[443,4]]},"187":{"position":[[18,5],[885,4]]},"190":{"position":[[663,5]]},"193":{"position":[[271,4]]},"194":{"position":[[11,4]]},"195":{"position":[[25,4],[241,4]]},"196":{"position":[[17,4],[53,4],[138,4],[473,4]]},"197":{"position":[[331,4],[426,4]]},"198":{"position":[[81,4]]},"202":{"position":[[877,4]]},"204":{"position":[[65,5],[388,5]]},"213":{"position":[[10,4],[33,4],[50,4],[161,4],[266,5],[389,5],[407,5],[488,4],[529,4],[557,4],[693,4],[722,4],[857,4],[1034,6],[1053,4],[1187,4],[1247,5],[1412,4],[1491,4],[1581,4],[1616,4],[1651,4],[1770,4],[1864,4],[1961,5]]},"217":{"position":[[205,4],[260,4],[339,4],[763,4]]},"218":{"position":[[38,4],[83,4],[143,4],[181,4]]},"235":{"position":[[6,4],[52,4],[183,4],[430,4],[1011,4],[1182,4],[1288,4],[1474,4],[1554,4],[1619,5],[1968,4],[2041,4],[2097,4],[2313,5]]},"240":{"position":[[508,4],[1226,5]]},"243":{"position":[[7,4],[69,4],[110,4],[152,4],[215,4],[262,4],[367,4],[408,4],[448,5],[512,4],[586,4],[758,4],[952,4],[1016,4],[1150,4],[1384,4],[1502,4],[1569,5],[1782,4],[1853,4],[1940,5],[2017,4]]},"245":{"position":[[82,4],[149,4],[1237,4],[1347,4],[1571,4],[1617,4],[2682,4],[2803,4],[3423,4]]},"246":{"position":[[38,4]]},"247":{"position":[[69,4],[154,4],[216,4],[997,4],[1113,4]]},"248":{"position":[[7,4],[75,4],[118,4],[419,4],[1139,4],[1281,4],[1475,4]]},"249":{"position":[[9,4],[52,4],[224,4],[406,4],[640,4]]},"251":{"position":[[52,4],[141,4],[2777,4],[3003,4],[3836,4],[4691,4]]},"253":{"position":[[205,4],[568,4]]},"254":{"position":[[25,4],[129,4],[188,4],[347,4],[489,4],[506,4],[523,4],[728,4],[754,4],[847,4],[870,4]]},"255":{"position":[[35,4]]},"257":{"position":[[202,5],[351,4],[425,6]]},"258":{"position":[[145,5]]},"260":{"position":[[179,4],[284,6]]},"262":{"position":[[51,5],[62,4],[229,4],[247,4],[310,4],[384,4],[530,4],[609,4],[744,4],[823,4],[873,4],[975,4],[1023,4],[1074,4]]},"263":{"position":[[121,5],[162,4],[400,4],[561,4],[761,4]]},"264":{"position":[[178,5],[558,4],[850,4],[1136,4],[1177,5],[2249,4]]},"288":{"position":[[1234,4]]},"302":{"position":[[366,4],[456,4]]},"314":{"position":[[0,4],[132,4],[281,4],[749,4]]},"335":{"position":[[0,4],[146,4],[531,4],[698,4],[799,4],[1223,4],[1289,4],[1377,4],[1424,4]]},"337":{"position":[[377,4],[462,4]]},"346":{"position":[[690,4],[1693,4]]},"356":{"position":[[1501,5]]},"1474":{"position":[[13028,4],[15990,4]]},"1478":{"position":[[1013,5]]},"1479":{"position":[[3858,5],[4059,4],[4074,4]]},"1782":{"position":[[35,4],[83,4]]},"2240":{"position":[[1979,4],[2633,4],[3064,4]]},"2243":{"position":[[116,6]]},"2265":{"position":[[1937,4]]},"2287":{"position":[[84,5],[151,5],[225,5]]},"2358":{"position":[[774,6]]},"2400":{"position":[[1109,4]]},"2417":{"position":[[2781,5],[2845,4]]},"2482":{"position":[[4942,4],[5290,4]]},"2503":{"position":[[34,4],[148,4],[248,4]]}},"keywords":{}}],["game.example.com",{"_index":326,"title":{},"content":{"14":{"position":[[341,17]]}},"keywords":{}}],["game.room",{"_index":543,"title":{},"content":{"33":{"position":[[115,9]]}},"keywords":{}}],["game/project",{"_index":1538,"title":{},"content":{"184":{"position":[[917,12]]}},"keywords":{}}],["gamemanag",{"_index":5802,"title":{},"content":{"1474":{"position":[[14972,11]]},"1545":{"position":[[73,11]]}},"keywords":{}}],["gamemod",{"_index":262,"title":{},"content":{"10":{"position":[[1049,8],[1163,8],[1172,9]]}},"keywords":{}}],["gameobject",{"_index":567,"title":{"220":{"position":[[15,10]]}},"content":{"35":{"position":[[342,10],[438,10],[595,10]]},"69":{"position":[[82,10]]},"70":{"position":[[206,10]]},"76":{"position":[[74,10]]},"105":{"position":[[125,10]]},"202":{"position":[[381,10],[964,11]]},"209":{"position":[[205,11],[462,10]]},"210":{"position":[[102,10]]},"211":{"position":[[119,12],[1714,11],[1774,11],[1821,12]]},"212":{"position":[[34,11]]},"213":{"position":[[2234,11]]},"223":{"position":[[94,10]]},"224":{"position":[[132,10]]},"226":{"position":[[95,10]]},"240":{"position":[[233,10],[1979,10],[2016,10],[2045,10],[2075,10],[2104,10]]},"241":{"position":[[1110,10],[2306,10],[2336,10],[2365,10]]},"245":{"position":[[431,10],[2365,10],[4102,10]]},"249":{"position":[[774,10]]},"254":{"position":[[1056,10],[1133,10]]},"266":{"position":[[145,11]]},"269":{"position":[[512,10]]},"304":{"position":[[422,10]]},"314":{"position":[[1035,10]]},"326":{"position":[[329,11],[368,11]]},"332":{"position":[[615,10]]},"501":{"position":[[22,10]]},"555":{"position":[[27,10]]},"736":{"position":[[35,10]]},"737":{"position":[[63,10]]},"794":{"position":[[49,10]]},"1108":{"position":[[36,11]]},"1204":{"position":[[8,11]]},"1334":{"position":[[38,10]]},"1349":{"position":[[7,10]]},"1353":{"position":[[216,11]]},"1354":{"position":[[7,10]]},"1358":{"position":[[216,11]]},"1359":{"position":[[7,10]]},"1363":{"position":[[216,11]]},"1364":{"position":[[7,10]]},"1368":{"position":[[216,11]]},"1369":{"position":[[7,10]]},"1373":{"position":[[22,11]]},"1374":{"position":[[7,10]]},"1377":{"position":[[22,11]]},"1378":{"position":[[7,10]]},"1381":{"position":[[22,11]]},"1382":{"position":[[7,10]]},"1385":{"position":[[22,11]]},"1386":{"position":[[7,10]]},"1389":{"position":[[22,11]]},"1390":{"position":[[7,10]]},"1393":{"position":[[22,11]]},"1394":{"position":[[7,10]]},"1397":{"position":[[22,11]]},"1398":{"position":[[7,10]]},"1401":{"position":[[22,11]]},"1402":{"position":[[7,10]]},"1405":{"position":[[22,11]]},"1406":{"position":[[7,10]]},"1409":{"position":[[22,11]]},"1410":{"position":[[7,10]]},"1413":{"position":[[22,11]]},"1414":{"position":[[7,10]]},"1417":{"position":[[22,11]]},"1418":{"position":[[7,10]]},"1421":{"position":[[22,11]]},"1422":{"position":[[7,10]]},"1425":{"position":[[22,11]]},"1426":{"position":[[7,10]]},"1429":{"position":[[22,11]]},"1430":{"position":[[7,10]]},"1433":{"position":[[22,11]]},"1443":{"position":[[39,11]]},"1476":{"position":[[6314,11]]},"1479":{"position":[[1542,10],[2715,11]]},"1646":{"position":[[140,10]]},"1694":{"position":[[37,11]]},"1707":{"position":[[12,11]]},"2012":{"position":[[562,12],[650,10],[744,10],[1899,10]]},"2240":{"position":[[985,10],[5164,10]]},"2242":{"position":[[505,11]]},"2277":{"position":[[60,10],[157,10],[168,11],[225,10]]},"2283":{"position":[[27,10]]},"2370":{"position":[[1281,10],[1318,11],[2663,12],[2803,11],[2910,10]]},"2377":{"position":[[281,10],[333,10]]},"2415":{"position":[[401,10]]},"2478":{"position":[[50,11],[151,10],[541,10],[708,10],[999,12],[1093,10],[1483,10],[1634,10],[1816,11],[2282,10],[2465,10],[2668,11],[3141,10],[3340,10],[3540,11],[3552,12],[3712,10],[3728,10],[3817,10],[3832,10],[3910,11],[4262,10],[4388,10],[4624,11],[4773,10],[4883,10],[4965,11],[5108,10],[5166,10],[5313,10]]},"2482":{"position":[[1750,10],[2625,10],[5055,11],[5145,10]]}},"keywords":{}}],["gameobject("object",{"_index":1941,"title":{},"content":{"238":{"position":[[1700,23],[1800,23]]}},"keywords":{}}],["gameobject.destroy",{"_index":1898,"title":{},"content":{"232":{"position":[[33,18]]},"234":{"position":[[69,18]]}},"keywords":{}}],["gameobject.findobjectoftype<scenescript>",{"_index":1760,"title":{},"content":{"210":{"position":[[465,49]]}},"keywords":{}}],["gameobject.instantiatethi",{"_index":1856,"title":{},"content":{"223":{"position":[[42,26]]}},"keywords":{}}],["gameobject.setactive(fals",{"_index":1899,"title":{},"content":{"232":{"position":[[132,27]]},"234":{"position":[[136,27]]}},"keywords":{}}],["gameobjectact",{"_index":3231,"title":{},"content":{"504":{"position":[[16,16]]}},"keywords":{}}],["gameobjectextens",{"_index":8645,"title":{"2276":{"position":[[6,20]]}},"content":{"2240":{"position":[[724,21]]}},"keywords":{}}],["gameobjectnam",{"_index":1712,"title":{},"content":{"209":{"position":[[67,14]]}},"keywords":{}}],["gameobjectseri",{"_index":8646,"title":{"2280":{"position":[[6,21]]}},"content":{"2240":{"position":[[746,22]]}},"keywords":{}}],["gameobjectsyncvar",{"_index":8688,"title":{"2282":{"position":[[7,17]]}},"content":{"2241":{"position":[[21,18]]},"2281":{"position":[[38,19],[140,17],[332,17]]}},"keywords":{}}],["gameplay",{"_index":75,"title":{},"content":{"0":{"position":[[1291,8]]},"35":{"position":[[606,11]]},"213":{"position":[[608,8],[792,8]]}},"keywords":{}}],["gamesmirror",{"_index":2494,"title":{},"content":{"297":{"position":[[131,11]]}},"keywords":{}}],["gave",{"_index":7172,"title":{},"content":{"1774":{"position":[[87,4]]}},"keywords":{}}],["gc",{"_index":2374,"title":{},"content":{"279":{"position":[[52,2]]},"280":{"position":[[127,2]]},"1145":{"position":[[7,2]]},"1477":{"position":[[1664,2]]},"2130":{"position":[[1358,2]]}},"keywords":{}}],["gc/alloc",{"_index":1064,"title":{},"content":{"116":{"position":[[93,15]]}},"keywords":{}}],["gear",{"_index":2493,"title":{},"content":{"297":{"position":[[126,4]]}},"keywords":{}}],["gen",{"_index":3094,"title":{},"content":{"443":{"position":[[12,3]]},"1476":{"position":[[6176,3]]},"1667":{"position":[[5,3]]}},"keywords":{}}],["gener",{"_index":351,"title":{"125":{"position":[[0,9]]},"131":{"position":[[0,9]]},"137":{"position":[[0,9]]},"142":{"position":[[0,9]]},"151":{"position":[[0,9]]},"156":{"position":[[0,9]]},"160":{"position":[[0,9]]},"291":{"position":[[0,9]]},"318":{"position":[[0,8]]},"327":{"position":[[0,9]]},"346":{"position":[[5,10]]}},"content":{"14":{"position":[[1389,9]]},"20":{"position":[[345,8]]},"43":{"position":[[855,10]]},"44":{"position":[[6,7]]},"49":{"position":[[584,7]]},"51":{"position":[[6,7]]},"58":{"position":[[5,7]]},"85":{"position":[[16,9],[468,8]]},"125":{"position":[[63,10]]},"131":{"position":[[69,10]]},"137":{"position":[[52,10]]},"142":{"position":[[58,10]]},"151":{"position":[[153,10]]},"156":{"position":[[66,10]]},"160":{"position":[[69,10]]},"257":{"position":[[493,7]]},"280":{"position":[[1134,8]]},"304":{"position":[[203,9],[625,7]]},"315":{"position":[[35,8]]},"317":{"position":[[232,8],[363,9],[666,9]]},"319":{"position":[[29,7],[54,7],[88,7],[270,7],[397,7]]},"320":{"position":[[24,8],[217,8],[329,8]]},"321":{"position":[[0,7],[39,7],[169,7],[229,7],[511,7],[618,7],[639,7]]},"322":{"position":[[47,7],[102,7]]},"327":{"position":[[12,8],[692,8],[1013,8]]},"328":{"position":[[2343,8]]},"337":{"position":[[1480,8]]},"346":{"position":[[5,10],[367,9],[1374,9]]},"379":{"position":[[22,10]]},"382":{"position":[[7,7]]},"424":{"position":[[54,7]]},"447":{"position":[[26,7]]},"466":{"position":[[58,7]]},"490":{"position":[[63,9]]},"494":{"position":[[27,7]]},"622":{"position":[[31,9],[121,7]]},"663":{"position":[[99,9]]},"673":{"position":[[36,9]]},"690":{"position":[[12,7]]},"694":{"position":[[12,7]]},"697":{"position":[[7,7]]},"698":{"position":[[24,7]]},"700":{"position":[[20,7]]},"701":{"position":[[30,7]]},"706":{"position":[[5,10]]},"710":{"position":[[32,7]]},"718":{"position":[[17,7]]},"719":{"position":[[44,9]]},"764":{"position":[[135,10]]},"765":{"position":[[27,10]]},"768":{"position":[[121,10]]},"808":{"position":[[49,7],[121,7]]},"883":{"position":[[14,8]]},"1077":{"position":[[8,7]]},"1161":{"position":[[9,9]]},"1184":{"position":[[7,10]]},"1185":{"position":[[7,10]]},"1195":{"position":[[10,7]]},"1225":{"position":[[0,8]]},"1305":{"position":[[14,10]]},"1351":{"position":[[57,7]]},"1356":{"position":[[57,7]]},"1361":{"position":[[4,7]]},"1366":{"position":[[4,7]]},"1371":{"position":[[4,7]]},"1376":{"position":[[4,7]]},"1380":{"position":[[4,7]]},"1384":{"position":[[4,7]]},"1388":{"position":[[4,7]]},"1392":{"position":[[4,7]]},"1396":{"position":[[4,7]]},"1400":{"position":[[4,7]]},"1404":{"position":[[4,7]]},"1408":{"position":[[4,7]]},"1412":{"position":[[4,7]]},"1416":{"position":[[4,7]]},"1420":{"position":[[4,7]]},"1424":{"position":[[4,7]]},"1428":{"position":[[4,7]]},"1432":{"position":[[4,7]]},"1436":{"position":[[4,7]]},"1439":{"position":[[4,7]]},"1441":{"position":[[0,8]]},"1455":{"position":[[0,7]]},"1466":{"position":[[17,9]]},"1474":{"position":[[1478,10],[12280,9]]},"1476":{"position":[[4206,9]]},"1478":{"position":[[1646,8]]},"1566":{"position":[[1124,9]]},"1769":{"position":[[8,9]]},"1890":{"position":[[170,7],[304,7],[580,7],[727,7]]},"1983":{"position":[[2536,7],[2590,7],[2685,7],[2929,7]]},"2083":{"position":[[72,7],[316,7]]},"2091":{"position":[[509,9],[570,8]]},"2192":{"position":[[43,9]]},"2193":{"position":[[8,9]]},"2240":{"position":[[3130,8]]},"2294":{"position":[[17,8]]},"2379":{"position":[[49,8]]}},"keywords":{}}],["generatenetid",{"_index":8825,"title":{},"content":{"2294":{"position":[[0,16],[70,15]]}},"keywords":{}}],["genericshow",{"_index":2524,"title":{},"content":{"304":{"position":[[597,11]]}},"keywords":{}}],["generictypesserializationextens",{"_index":7691,"title":{"1997":{"position":[[6,35]]}},"content":{"1983":{"position":[[719,36]]}},"keywords":{}}],["gentli",{"_index":1820,"title":{},"content":{"213":{"position":[[967,6]]}},"keywords":{}}],["get",{"_index":812,"title":{"66":{"position":[[0,7]]}},"content":{"85":{"position":[[145,7]]},"183":{"position":[[171,7]]},"288":{"position":[[1488,4],[1666,4]]},"939":{"position":[[45,4]]},"1309":{"position":[[47,7]]},"1474":{"position":[[2891,4],[9651,7],[19400,7]]},"1477":{"position":[[466,7],[2578,7]]},"1479":{"position":[[1583,4],[3914,4]]},"1592":{"position":[[155,7]]},"1641":{"position":[[22,7]]},"1646":{"position":[[181,4]]},"1990":{"position":[[26,4],[463,4],[978,4]]},"2010":{"position":[[207,4]]},"2016":{"position":[[253,4],[728,4],[1172,4]]},"2114":{"position":[[99,4]]},"2158":{"position":[[714,4]]},"2162":{"position":[[245,4]]},"2193":{"position":[[191,4]]},"2240":{"position":[[7312,4]]},"2277":{"position":[[32,4]]},"2501":{"position":[[27,4]]}},"keywords":{}}],["get/set",{"_index":3840,"title":{},"content":{"757":{"position":[[62,7]]}},"keywords":{}}],["getabsolute(int",{"_index":7675,"title":{},"content":{"1971":{"position":[[1688,15]]}},"keywords":{}}],["getabsolute(int32",{"_index":7674,"title":{},"content":{"1971":{"position":[[1637,19]]}},"keywords":{}}],["getas<t>",{"_index":8901,"title":{},"content":{"2336":{"position":[[0,17],[64,16]]}},"keywords":{}}],["getbatch",{"_index":8372,"title":{},"content":{"2110":{"position":[[0,11],[51,10]]},"2119":{"position":[[0,11],[51,10]]},"2189":{"position":[[0,11],[51,10]]}},"keywords":{}}],["getbatchlength",{"_index":8373,"title":{},"content":{"2110":{"position":[[103,17],[157,16]]},"2119":{"position":[[103,17],[157,16]]},"2189":{"position":[[103,17],[157,16]]}},"keywords":{}}],["getbindendpoint",{"_index":8584,"title":{},"content":{"2199":{"position":[[172,18],[278,17]]},"2233":{"position":[[268,18],[326,17]]}},"keywords":{}}],["getcal",{"_index":3729,"title":{},"content":{"707":{"position":[[47,7]]}},"keywords":{}}],["getcharact",{"_index":2411,"title":{},"content":{"288":{"position":[[571,14],[871,15]]}},"keywords":{}}],["getcompon",{"_index":9121,"title":{},"content":{"2434":{"position":[[862,12]]}},"keywords":{}}],["getcomponent<networkidentity>.onstartserver.addlistener(onstartserv",{"_index":1859,"title":{},"content":{"224":{"position":[[288,77]]}},"keywords":{}}],["getcomponent<networkmatchchecker>().matchid",{"_index":405,"title":{},"content":{"20":{"position":[[494,50]]}},"keywords":{}}],["getcomponent<networkscenemanager>",{"_index":2532,"title":{},"content":{"307":{"position":[[215,42]]},"308":{"position":[[230,42],[1644,42]]}},"keywords":{}}],["getcomponent<renderer>",{"_index":7191,"title":{},"content":{"1780":{"position":[[581,31]]},"1781":{"position":[[645,31]]}},"keywords":{}}],["getcomponent<renderer>().materi",{"_index":1751,"title":{},"content":{"209":{"position":[[1700,39]]}},"keywords":{}}],["getcomponentsinchildren",{"_index":8816,"title":{},"content":{"2290":{"position":[[58,23]]}},"keywords":{}}],["getconnectendpoint(str",{"_index":8586,"title":{},"content":{"2199":{"position":[[524,26],[692,25]]},"2233":{"position":[[400,26],[491,25]]}},"keywords":{}}],["getdata<t>",{"_index":1075,"title":{},"content":{"117":{"position":[[422,18]]},"1803":{"position":[[0,19],[182,18]]}},"keywords":{}}],["getenumer",{"_index":7277,"title":{},"content":{"1838":{"position":[[0,16],[65,15]]},"1842":{"position":[[0,16],[79,15]]},"1851":{"position":[[0,16],[67,15]]},"1855":{"position":[[3760,16],[3826,15]]},"1860":{"position":[[1875,16],[1933,15]]},"1865":{"position":[[2802,16],[2891,15]]}},"keywords":{}}],["getfrompool(msg.posit",{"_index":1921,"title":{},"content":{"237":{"position":[[420,25]]},"251":{"position":[[791,25]]}},"keywords":{}}],["getfrompool(vector3",{"_index":2180,"title":{},"content":{"251":{"position":[[1919,19]]}},"keywords":{}}],["gethashcod",{"_index":8357,"title":{},"content":{"2103":{"position":[[388,14],[436,13]]},"2210":{"position":[[163,14],[211,13]]},"2343":{"position":[[0,14],[48,13]]}},"keywords":{}}],["getid<t>",{"_index":7805,"title":{},"content":{"2010":{"position":[[189,17],[261,16]]}},"keywords":{}}],["getid(typ",{"_index":7806,"title":{},"content":{"2010":{"position":[[318,12],[398,10]]}},"keywords":{}}],["getindexoffset(networkbehaviour",{"_index":7671,"title":{},"content":{"1971":{"position":[[1164,33],[1222,31]]}},"keywords":{}}],["getip",{"_index":3421,"title":{},"content":{"568":{"position":[[28,5]]}},"keywords":{}}],["getlogger<t>(logtyp",{"_index":7569,"title":{},"content":{"1935":{"position":[[0,28],[64,26]]}},"keywords":{}}],["getlogger(str",{"_index":7577,"title":{},"content":{"1935":{"position":[[432,17],[495,16]]}},"keywords":{}}],["getlogger(typ",{"_index":7574,"title":{},"content":{"1935":{"position":[[208,15],[269,14]]}},"keywords":{}}],["getmaxmessages",{"_index":5770,"title":{},"content":{"1474":{"position":[[12854,17]]}},"keywords":{}}],["getnameandnamespacefromfullname(str",{"_index":7605,"title":{},"content":{"1944":{"position":[[0,40],[101,38]]}},"keywords":{}}],["getnetworkidentity(gameobject",{"_index":8795,"title":{},"content":{"2277":{"position":[[0,31]]}},"keywords":{}}],["getnetworkidentity(thi",{"_index":8796,"title":{},"content":{"2277":{"position":[[133,23]]}},"keywords":{}}],["getnewplay",{"_index":4349,"title":{},"content":{"980":{"position":[[70,12]]}},"keywords":{}}],["getnextfrag",{"_index":8394,"title":{},"content":{"2114":{"position":[[456,18],[522,17]]}},"keywords":{}}],["getplayername(inetworkplay",{"_index":1124,"title":{},"content":{"117":{"position":[[2722,28]]}},"keywords":{}}],["getprefab",{"_index":5110,"title":{},"content":{"1317":{"position":[[0,9]]}},"keywords":{}}],["getprice("turnip"",{"_index":2475,"title":{},"content":{"294":{"position":[[905,29]]}},"keywords":{}}],["getprice(str",{"_index":2466,"title":{},"content":{"294":{"position":[[441,15]]}},"keywords":{}}],["getread",{"_index":3623,"title":{},"content":{"661":{"position":[[8,9]]}},"keywords":{}}],["getreader(arraysegment<byte>",{"_index":7962,"title":{},"content":{"2016":{"position":[[200,35],[368,34]]}},"keywords":{}}],["getreader(byt",{"_index":7964,"title":{},"content":{"2016":{"position":[[693,17],[843,16],[1123,17],[1287,16]]}},"keywords":{}}],["getrelative(networkbehaviour",{"_index":7672,"title":{},"content":{"1971":{"position":[[1373,29],[1442,28]]}},"keywords":{}}],["getrequest",{"_index":292,"title":{},"content":{"10":{"position":[[2105,12]]}},"keywords":{}}],["getrpccount",{"_index":2462,"title":{},"content":{"291":{"position":[[1092,13]]},"2359":{"position":[[4859,14],[4909,13]]}},"keywords":{}}],["getsceneat",{"_index":5471,"title":{},"content":{"1474":{"position":[[4494,10]]}},"keywords":{}}],["getscenebynam",{"_index":5578,"title":{},"content":{"1474":{"position":[[7547,14]]},"1479":{"position":[[2027,14]]},"1592":{"position":[[19,14]]},"1646":{"position":[[625,14]]}},"keywords":{}}],["getscenebypath",{"_index":5579,"title":{},"content":{"1474":{"position":[[7566,14]]},"1592":{"position":[[38,14]]}},"keywords":{}}],["getscenebypathorname(str",{"_index":9088,"title":{},"content":{"2417":{"position":[[10670,29],[10774,27]]}},"keywords":{}}],["getspawnhandler(int",{"_index":8762,"title":{},"content":{"2265":{"position":[[824,19]]}},"keywords":{}}],["getspawnhandler(int32",{"_index":8760,"title":{},"content":{"2265":{"position":[[692,23]]}},"keywords":{}}],["getstablehashcode(str",{"_index":9206,"title":{},"content":{"2501":{"position":[[0,26]]}},"keywords":{}}],["getstablehashcode(thi",{"_index":9207,"title":{},"content":{"2501":{"position":[[128,22]]}},"keywords":{}}],["getstartposit",{"_index":8741,"title":{},"content":{"2253":{"position":[[1324,19],[1521,18]]}},"keywords":{}}],["getsyncvarhookguard(uint64",{"_index":8939,"title":{},"content":{"2359":{"position":[[0,28]]}},"keywords":{}}],["getsyncvarhookguard(ulong",{"_index":8940,"title":{},"content":{"2359":{"position":[[57,25]]}},"keywords":{}}],["gettingstart",{"_index":1681,"title":{},"content":{"203":{"position":[[1587,14]]},"207":{"position":[[208,14]]}},"keywords":{}}],["getwrit",{"_index":7965,"title":{},"content":{"2019":{"position":[[383,12],[443,11]]}},"keywords":{}}],["github",{"_index":898,"title":{"79":{"position":[[0,7]]}},"content":{},"keywords":{}}],["github.com/mirrornetworking/mirror/issues/3485#issuecom",{"_index":3200,"title":{},"content":{"488":{"position":[[73,60]]}},"keywords":{}}],["github.com/vis2k/mirror/issues/1614#issuecom",{"_index":6482,"title":{},"content":{"1477":{"position":[[2271,49]]},"1636":{"position":[[130,49]]}},"keywords":{}}],["githuby",{"_index":899,"title":{},"content":{"79":{"position":[[27,9]]}},"keywords":{}}],["give",{"_index":521,"title":{"104":{"position":[[7,4]]}},"content":{"30":{"position":[[192,4]]},"104":{"position":[[70,4]]},"105":{"position":[[8,4]]},"106":{"position":[[8,4],[152,4]]},"182":{"position":[[1995,4],[2994,4]]},"938":{"position":[[22,4]]},"1474":{"position":[[9433,4]]},"1476":{"position":[[7346,5],[8424,4],[9073,4]]},"1477":{"position":[[2795,4]]},"1478":{"position":[[219,6]]},"1604":{"position":[[28,5]]},"1656":{"position":[[66,4]]},"2093":{"position":[[124,4]]},"2130":{"position":[[312,6]]},"2350":{"position":[[1189,5]]},"2478":{"position":[[879,4]]},"2482":{"position":[[2427,4]]},"2507":{"position":[[51,5]]}},"keywords":{}}],["given",{"_index":1046,"title":{},"content":{"104":{"position":[[256,5]]},"108":{"position":[[18,5]]},"119":{"position":[[173,5]]},"164":{"position":[[173,5]]},"197":{"position":[[165,5]]},"251":{"position":[[3111,5]]},"264":{"position":[[2233,5]]},"582":{"position":[[92,5]]},"651":{"position":[[33,5]]},"661":{"position":[[24,5]]},"663":{"position":[[63,5]]},"862":{"position":[[39,5]]},"1983":{"position":[[351,5]]},"2031":{"position":[[2142,5]]},"2093":{"position":[[419,5]]},"2134":{"position":[[16,5]]},"2152":{"position":[[78,5]]},"2181":{"position":[[16,5],[350,5]]},"2193":{"position":[[228,5],[513,5]]},"2199":{"position":[[647,5]]},"2261":{"position":[[16,5],[748,5]]},"2370":{"position":[[4403,5]]},"2382":{"position":[[78,5]]},"2421":{"position":[[214,5]]},"2460":{"position":[[170,5]]},"2482":{"position":[[5911,5],[6319,5],[6790,5],[7173,5],[7769,5]]}},"keywords":{}}],["gnu/linux",{"_index":1596,"title":{},"content":{"190":{"position":[[983,9]]}},"keywords":{}}],["go",{"_index":453,"title":{},"content":{"24":{"position":[[311,5]]},"67":{"position":[[120,2]]},"71":{"position":[[1675,5]]},"105":{"position":[[136,2]]},"175":{"position":[[664,2],[1003,2]]},"181":{"position":[[0,2]]},"182":{"position":[[3277,2]]},"183":{"position":[[650,2],[741,2],[1499,2],[1536,2],[1578,2]]},"184":{"position":[[227,2],[803,2]]},"189":{"position":[[338,2]]},"190":{"position":[[90,2],[119,2]]},"191":{"position":[[102,2],[127,2]]},"195":{"position":[[291,2]]},"199":{"position":[[177,2]]},"201":{"position":[[120,2]]},"202":{"position":[[300,2],[1036,2],[1066,3]]},"203":{"position":[[375,2],[613,2],[837,2],[1057,2],[1083,2],[1248,2],[1292,2]]},"207":{"position":[[43,2],[68,2],[472,2],[504,3]]},"213":{"position":[[2197,2]]},"226":{"position":[[333,2]]},"251":{"position":[[4365,3]]},"1186":{"position":[[16,2]]},"2031":{"position":[[2627,2]]},"2408":{"position":[[544,2]]}},"keywords":{}}],["go/ni/nb",{"_index":2968,"title":{},"content":{"390":{"position":[[14,8]]}},"keywords":{}}],["goe",{"_index":1359,"title":{},"content":{"173":{"position":[[494,4]]},"211":{"position":[[935,4]]},"223":{"position":[[69,4]]},"288":{"position":[[2472,4]]},"1215":{"position":[[9,4]]}},"keywords":{}}],["gone",{"_index":5860,"title":{},"content":{"1474":{"position":[[16807,4]]},"1479":{"position":[[1156,4],[1179,4],[2183,4],[2214,4],[2241,4],[2587,4]]},"1580":{"position":[[120,4]]},"1602":{"position":[[60,4]]},"1650":{"position":[[85,4]]},"1689":{"position":[[15,4]]}},"keywords":{}}],["goneoffline/onlin",{"_index":6974,"title":{},"content":{"1650":{"position":[[29,18]]}},"keywords":{}}],["goneonserverdisconnect",{"_index":6975,"title":{},"content":{"1650":{"position":[[59,22]]}},"keywords":{}}],["gonewebsocket",{"_index":6929,"title":{},"content":{"1616":{"position":[[18,13]]}},"keywords":{}}],["good",{"_index":1431,"title":{},"content":{"182":{"position":[[112,4]]},"203":{"position":[[710,4]]},"248":{"position":[[1302,4]]},"328":{"position":[[368,4]]},"1952":{"position":[[343,4]]},"2042":{"position":[[192,4]]},"2417":{"position":[[1922,4]]}},"keywords":{}}],["googl",{"_index":1413,"title":{"177":{"position":[[0,6]]},"188":{"position":[[0,6]]}},"content":{"177":{"position":[[16,6]]},"187":{"position":[[622,7],[1421,6]]},"189":{"position":[[413,6]]}},"keywords":{}}],["grant",{"_index":1891,"title":{},"content":{"227":{"position":[[255,7]]},"230":{"position":[[263,7]]}},"keywords":{}}],["graphic",{"_index":5308,"title":{},"content":{"1466":{"position":[[996,8]]}},"keywords":{}}],["great",{"_index":6676,"title":{},"content":{"1479":{"position":[[4339,5]]}},"keywords":{}}],["greater",{"_index":4138,"title":{},"content":{"881":{"position":[[143,7]]}},"keywords":{}}],["grid",{"_index":2268,"title":{},"content":{"264":{"position":[[74,4]]}},"keywords":{}}],["grip",{"_index":1977,"title":{},"content":{"240":{"position":[[1494,4]]}},"keywords":{}}],["group",{"_index":1469,"title":{},"content":{"182":{"position":[[1753,7],[1977,5]]},"1466":{"position":[[715,5]]}},"keywords":{}}],["groupreview",{"_index":1444,"title":{},"content":{"182":{"position":[[557,11]]}},"keywords":{}}],["groups"",{"_index":1468,"title":{},"content":{"182":{"position":[[1713,12]]}},"keywords":{}}],["grunt",{"_index":2530,"title":{},"content":{"306":{"position":[[52,5]]}},"keywords":{}}],["gt",{"_index":391,"title":{},"content":{"18":{"position":[[342,4],[356,4]]},"46":{"position":[[598,4]]},"50":{"position":[[6,4]]},"196":{"position":[[788,4]]},"202":{"position":[[313,5],[327,5]]},"211":{"position":[[1462,4]]},"240":{"position":[[2591,4]]},"241":{"position":[[2764,4]]},"251":{"position":[[1243,4],[2006,4]]},"269":{"position":[[459,4],[472,4]]},"340":{"position":[[282,4]]},"348":{"position":[[616,4]]},"351":{"position":[[351,4]]},"1452":{"position":[[104,4]]},"1473":{"position":[[24,4],[81,4],[343,4]]},"1479":{"position":[[159,4],[214,4],[262,4]]},"1517":{"position":[[24,4],[81,4],[139,4]]},"1519":{"position":[[32,4],[86,4],[133,4]]},"1992":{"position":[[101,5],[168,5]]},"2009":{"position":[[32,5]]},"2130":{"position":[[2229,5]]}},"keywords":{}}],["gt;>",{"_index":1953,"title":{},"content":{"238":{"position":[[2671,8]]}},"keywords":{}}],["guarante",{"_index":5204,"title":{},"content":{"1353":{"position":[[16,10]]},"1358":{"position":[[16,10]]},"1363":{"position":[[16,10]]},"1368":{"position":[[16,10]]},"2162":{"position":[[76,9],[324,9]]},"2370":{"position":[[3777,10]]}},"keywords":{}}],["guard",{"_index":3207,"title":{},"content":{"494":{"position":[[7,5]]},"770":{"position":[[16,5]]},"1479":{"position":[[350,5]]},"1527":{"position":[[71,5]]},"2240":{"position":[[1403,7]]}},"keywords":{}}],["gui",{"_index":539,"title":{},"content":{"33":{"position":[[10,3]]},"959":{"position":[[22,3]]},"963":{"position":[[22,3]]}},"keywords":{}}],["guianchor",{"_index":8989,"title":{},"content":{"2373":{"position":[[249,10],[291,9]]}},"keywords":{}}],["guid",{"_index":841,"title":{"168":{"position":[[10,6]]},"200":{"position":[[19,5]]},"206":{"position":[[20,6]]},"267":{"position":[[17,5]]}},"content":{"68":{"position":[[127,6]]},"116":{"position":[[169,4]]},"168":{"position":[[10,6],[39,6],[131,5],[192,5]]},"175":{"position":[[509,5]]},"176":{"position":[[9,6]]},"177":{"position":[[9,6]]},"187":{"position":[[1434,5]]},"201":{"position":[[1258,5]]},"204":{"position":[[426,6]]},"205":{"position":[[16,5],[153,6]]},"208":{"position":[[21,5]]},"237":{"position":[[148,5]]},"271":{"position":[[209,5]]},"292":{"position":[[285,6]]},"783":{"position":[[37,4]]},"1474":{"position":[[16593,4]]},"1496":{"position":[[237,4]]},"2056":{"position":[[2107,6],[2183,4],[4719,4]]},"2382":{"position":[[110,4]]}},"keywords":{}}],["guid.empti",{"_index":4836,"title":{},"content":{"1188":{"position":[[4,10]]}},"keywords":{}}],["guidelin",{"_index":1013,"title":{},"content":{"96":{"position":[[395,10]]}},"keywords":{}}],["habit",{"_index":1432,"title":{},"content":{"182":{"position":[[117,5]]}},"keywords":{}}],["hack",{"_index":441,"title":{},"content":{"22":{"position":[[765,8]]},"71":{"position":[[773,7]]},"356":{"position":[[1087,4]]},"1041":{"position":[[24,5]]}},"keywords":{}}],["hacker",{"_index":763,"title":{},"content":{"59":{"position":[[214,6]]}},"keywords":{}}],["hackerfield",{"_index":765,"title":{},"content":{"59":{"position":[[239,11]]}},"keywords":{}}],["hand",{"_index":1956,"title":{},"content":{"240":{"position":[[124,4],[1536,5]]},"316":{"position":[[739,4]]},"356":{"position":[[1486,4]]}},"keywords":{}}],["handl",{"_index":271,"title":{},"content":{"10":{"position":[[1447,8]]},"61":{"position":[[527,7]]},"71":{"position":[[371,6],[1601,6],[1872,6],[1942,8]]},"94":{"position":[[124,6]]},"99":{"position":[[746,6]]},"209":{"position":[[806,7]]},"210":{"position":[[869,7]]},"235":{"position":[[480,7]]},"238":{"position":[[2027,6]]},"240":{"position":[[636,6],[933,6],[1502,6]]},"243":{"position":[[54,7],[2121,7]]},"245":{"position":[[205,6]]},"264":{"position":[[1675,7]]},"292":{"position":[[129,8]]},"311":{"position":[[67,9]]},"312":{"position":[[74,9]]},"366":{"position":[[159,7]]},"371":{"position":[[45,6]]},"380":{"position":[[36,6]]},"603":{"position":[[122,7]]},"611":{"position":[[16,8]]},"891":{"position":[[15,8]]},"903":{"position":[[26,7]]},"1474":{"position":[[3797,7],[22379,7]]},"1479":{"position":[[958,7]]},"1559":{"position":[[25,7]]},"1566":{"position":[[1814,7]]},"1894":{"position":[[100,7]]},"2093":{"position":[[42,7]]},"2114":{"position":[[1831,6]]},"2240":{"position":[[1817,6],[2062,7],[7372,7]]},"2322":{"position":[[1421,7],[2143,7]]},"2401":{"position":[[1010,6]]},"2417":{"position":[[7973,6],[8455,6]]}},"keywords":{}}],["handleintmessage(inetworkplay",{"_index":2649,"title":{},"content":{"321":{"position":[[421,31]]}},"keywords":{}}],["handlemessage(inetworkplay",{"_index":8824,"title":{},"content":{"2292":{"position":[[682,29],[757,28]]},"2320":{"position":[[690,29],[772,28]]}},"keywords":{}}],["handler",{"_index":1887,"title":{"237":{"position":[[48,9]]},"251":{"position":[[48,9]]}},"content":{"226":{"position":[[439,9]]},"234":{"position":[[244,8]]},"237":{"position":[[25,8]]},"238":{"position":[[142,8],[169,7],[343,7],[381,7],[453,7],[663,7],[1240,7],[1353,7],[2078,7]]},"251":{"position":[[97,9]]},"279":{"position":[[215,7]]},"366":{"position":[[217,7]]},"400":{"position":[[95,8]]},"407":{"position":[[15,8]]},"451":{"position":[[41,8]]},"479":{"position":[[49,7]]},"486":{"position":[[125,7]]},"507":{"position":[[94,8]]},"537":{"position":[[236,8]]},"601":{"position":[[280,8],[349,8]]},"602":{"position":[[19,7]]},"603":{"position":[[30,8]]},"659":{"position":[[23,7]]},"666":{"position":[[60,7]]},"744":{"position":[[32,7]]},"777":{"position":[[25,7]]},"824":{"position":[[77,7]]},"825":{"position":[[31,7]]},"929":{"position":[[76,7]]},"946":{"position":[[20,7]]},"958":{"position":[[147,8],[399,8]]},"974":{"position":[[18,7]]},"1008":{"position":[[35,8]]},"1237":{"position":[[123,7]]},"1238":{"position":[[24,7]]},"1474":{"position":[[3059,8],[5630,7],[7260,7],[7791,8],[9859,8],[11578,7],[19289,7]]},"1476":{"position":[[1260,7],[3151,8],[5477,8],[5538,8],[6425,7]]},"1512":{"position":[[27,8]]},"1563":{"position":[[66,7]]},"1566":{"position":[[170,7],[659,8],[1039,7]]},"1567":{"position":[[845,8]]},"1574":{"position":[[6,7]]},"1668":{"position":[[35,8]]},"1670":{"position":[[33,7]]},"1890":{"position":[[40,8],[437,8]]},"1891":{"position":[[52,7],[257,7]]},"1897":{"position":[[85,8],[152,7],[252,8],[319,7]]},"1899":{"position":[[65,8],[122,7],[202,8],[259,7]]},"1902":{"position":[[93,8],[164,7],[272,8],[343,7]]},"1904":{"position":[[75,8],[130,7],[220,8],[275,7]]},"1907":{"position":[[103,8],[172,7],[290,8],[359,7]]},"1909":{"position":[[95,8],[160,7],[270,8],[335,7]]},"1914":{"position":[[58,8],[115,7],[188,8],[245,7]]},"1916":{"position":[[78,8],[145,7],[238,8],[305,7]]},"1918":{"position":[[68,8],[123,7],[206,8],[261,7]]},"1920":{"position":[[86,8],[157,7],[258,8],[329,7]]},"1922":{"position":[[88,8],[153,7],[256,8],[321,7]]},"1924":{"position":[[96,8],[165,7],[276,8],[345,7]]},"1928":{"position":[[168,7]]},"1935":{"position":[[729,8],[1079,8],[1123,8]]},"2010":{"position":[[95,7]]},"2240":{"position":[[1262,7],[1851,9]]},"2265":{"position":[[604,9],[640,7],[747,7],[2876,7],[3121,7],[3617,8],[6278,7],[6496,7],[6591,7]]},"2292":{"position":[[83,7],[267,7],[395,8],[507,7]]},"2320":{"position":[[156,8],[268,7],[356,7],[638,9]]},"2322":{"position":[[92,7],[276,7],[450,8],[568,7],[668,7],[837,7],[1001,8],[1144,7],[1295,7],[1554,7],[1733,8],[1891,7],[2032,7],[2276,7],[2445,8],[2593,7]]},"2351":{"position":[[685,7]]},"2417":{"position":[[1406,8],[1898,8],[2955,7]]},"2437":{"position":[[80,8],[437,8]]},"2478":{"position":[[4509,9]]},"2482":{"position":[[4303,9]]},"2487":{"position":[[61,8],[120,7]]}},"keywords":{}}],["handlerasync",{"_index":9196,"title":{},"content":{"2487":{"position":[[129,13],[198,12]]}},"keywords":{}}],["happen",{"_index":166,"title":{},"content":{"6":{"position":[[137,6]]},"164":{"position":[[650,7]]},"203":{"position":[[2198,9]]},"217":{"position":[[379,7]]},"218":{"position":[[66,6]]},"238":{"position":[[2307,9]]},"243":{"position":[[2326,7]]},"245":{"position":[[3105,7]]},"248":{"position":[[1063,7]]},"253":{"position":[[431,6]]},"262":{"position":[[687,7]]},"1285":{"position":[[33,6]]},"1477":{"position":[[1189,6]]},"2253":{"position":[[216,8],[351,7],[601,9]]},"2265":{"position":[[623,6]]},"2370":{"position":[[4034,7]]}},"keywords":{}}],["hard",{"_index":2654,"title":{},"content":{"324":{"position":[[93,4]]}},"keywords":{}}],["harder",{"_index":1567,"title":{},"content":{"187":{"position":[[1358,6]]}},"keywords":{}}],["hardwar",{"_index":1419,"title":{},"content":{"179":{"position":[[86,9],[638,9]]}},"keywords":{}}],["hasauthor",{"_index":2139,"title":{},"content":{"249":{"position":[[251,12],[455,12]]},"492":{"position":[[86,12]]},"1530":{"position":[[0,12]]},"2235":{"position":[[145,13]]},"2358":{"position":[[1454,13],[1803,12]]},"2361":{"position":[[346,13],[373,12]]},"2370":{"position":[[713,13],[1080,12]]},"2371":{"position":[[440,12]]},"2492":{"position":[[210,12]]}},"keywords":{}}],["hasauthority(error",{"_index":2340,"title":{},"content":{"274":{"position":[[244,19]]},"1479":{"position":[[491,19]]},"1531":{"position":[[30,19]]}},"keywords":{}}],["hasauthorityattribut",{"_index":8647,"title":{"2278":{"position":[[6,21]]}},"content":{"2240":{"position":[[769,22]]}},"keywords":{}}],["hasauthoritycallback",{"_index":6647,"title":{},"content":{"1479":{"position":[[461,22]]},"1531":{"position":[[0,22]]}},"keywords":{}}],["hascharact",{"_index":4028,"title":{},"content":{"844":{"position":[[7,12]]},"2305":{"position":[[133,13],[165,12]]},"2400":{"position":[[930,13],[997,12]]}},"keywords":{}}],["hash",{"_index":957,"title":{"88":{"position":[[7,5]]},"338":{"position":[[5,4]]}},"content":{"88":{"position":[[11,4],[131,4],[155,4]]},"133":{"position":[[135,4]]},"238":{"position":[[87,4],[190,5],[405,5],[2375,4],[2464,4],[2643,4]]},"331":{"position":[[207,4]]},"425":{"position":[[15,4]]},"456":{"position":[[115,4]]},"516":{"position":[[50,4]]},"532":{"position":[[54,4]]},"695":{"position":[[32,4]]},"706":{"position":[[16,4]]},"766":{"position":[[127,4],[217,4]]},"782":{"position":[[30,4]]},"1952":{"position":[[250,4]]},"1983":{"position":[[860,4]]},"2010":{"position":[[353,4]]},"2265":{"position":[[573,4],[1867,4]]},"2332":{"position":[[1108,5],[1161,4],[1166,4],[1768,5],[1821,4],[1826,4]]},"2478":{"position":[[871,4]]},"2482":{"position":[[2419,4]]},"2501":{"position":[[34,4],[58,4]]},"2509":{"position":[[203,5],[256,4]]},"2511":{"position":[[89,4],[393,4]]}},"keywords":{}}],["hashset",{"_index":3939,"title":{},"content":{"806":{"position":[[27,7]]},"1474":{"position":[[531,7],[558,7]]},"1766":{"position":[[321,7],[348,7]]},"2310":{"position":[[9,7]]}},"keywords":{}}],["hashset<inetworkplayer>",{"_index":8974,"title":{},"content":{"2369":{"position":[[178,29]]}},"keywords":{}}],["hashset<inetworkplayer>>",{"_index":9039,"title":{},"content":{"2416":{"position":[[302,33]]}},"keywords":{}}],["hashset<networkidentity>",{"_index":9185,"title":{},"content":{"2482":{"position":[[7665,32],[7897,30]]}},"keywords":{}}],["hashset<t>.enumer",{"_index":7278,"title":{},"content":{"1838":{"position":[[37,27]]}},"keywords":{}}],["hasinvok",{"_index":7469,"title":{},"content":{"1893":{"position":[[0,11],[40,10]]}},"keywords":{}}],["hasn't",{"_index":2564,"title":{},"content":{"314":{"position":[[542,6]]},"2240":{"position":[[5515,6]]},"2352":{"position":[[174,6]]}},"keywords":{}}],["have",{"_index":70,"title":{},"content":{"0":{"position":[[1179,6]]},"57":{"position":[[334,6]]},"235":{"position":[[1257,6]]},"240":{"position":[[1483,6]]},"254":{"position":[[112,6]]},"356":{"position":[[1179,6]]},"593":{"position":[[37,6]]},"1855":{"position":[[3393,6],[3627,6]]}},"keywords":{}}],["head",{"_index":1711,"title":{},"content":{"209":{"position":[[18,5]]}},"keywords":{}}],["header",{"_index":3227,"title":{},"content":{"503":{"position":[[7,7]]},"541":{"position":[[86,6]]},"832":{"position":[[15,6]]},"1291":{"position":[[16,6]]},"2113":{"position":[[530,6],[692,6]]},"2152":{"position":[[64,6],[130,6],[245,6]]},"2162":{"position":[[212,6],[377,6],[656,6],[702,6]]},"2168":{"position":[[1441,8],[1794,8],[2119,8],[2460,8],[2773,8],[3102,8]]},"2169":{"position":[[197,8],[526,8]]},"2217":{"position":[[192,6]]},"2347":{"position":[[136,8]]}},"keywords":{}}],["header("debug"",{"_index":2154,"title":{},"content":{"251":{"position":[[482,27]]}},"keywords":{}}],["header("settings"",{"_index":2151,"title":{},"content":{"251":{"position":[[321,30]]}},"keywords":{}}],["headless",{"_index":4756,"title":{},"content":{"1149":{"position":[[52,8]]},"1344":{"position":[[7,8]]},"1618":{"position":[[0,8]]},"2288":{"position":[[34,8]]}},"keywords":{}}],["headlessautostart",{"_index":4733,"title":{"2284":{"position":[[6,17]]}},"content":{"1142":{"position":[[0,19]]},"1487":{"position":[[0,17]]},"2240":{"position":[[896,18]]}},"keywords":{}}],["headlessframelimit",{"_index":6209,"title":{"2286":{"position":[[6,20]]}},"content":{"1476":{"position":[[3911,20]]},"1487":{"position":[[22,20]]},"2240":{"position":[[915,21]]}},"keywords":{}}],["healed(10",{"_index":2437,"title":{},"content":{"288":{"position":[[2350,11]]}},"keywords":{}}],["healed(int",{"_index":2438,"title":{},"content":{"288":{"position":[[2414,10]]}},"keywords":{}}],["healm",{"_index":2436,"title":{},"content":{"288":{"position":[[2325,8]]}},"keywords":{}}],["health",{"_index":1148,"title":{},"content":{"123":{"position":[[0,6],[132,7],[192,6],[270,6],[350,6]]},"135":{"position":[[0,6],[121,7],[161,6],[175,6],[214,6],[268,6]]},"136":{"position":[[168,6]]},"288":{"position":[[1014,7],[1086,6],[1836,7],[2336,6]]},"355":{"position":[[329,6]]}},"keywords":{}}],["hear",{"_index":1811,"title":{},"content":{"213":{"position":[[285,4]]}},"keywords":{}}],["heart",{"_index":30,"title":{},"content":{"0":{"position":[[519,5]]}},"keywords":{}}],["heavi",{"_index":227,"title":{},"content":{"10":{"position":[[205,5]]}},"keywords":{}}],["height",{"_index":3381,"title":{},"content":{"554":{"position":[[28,6]]}},"keywords":{}}],["held",{"_index":1962,"title":{},"content":{"240":{"position":[[436,4]]},"594":{"position":[[73,4]]},"2162":{"position":[[441,4]]},"2358":{"position":[[1688,4],[1743,4]]},"2370":{"position":[[878,4]]}},"keywords":{}}],["hello",{"_index":1763,"title":{},"content":{"210":{"position":[[696,5]]}},"keywords":{}}],["help",{"_index":64,"title":{},"content":{"0":{"position":[[1104,4]]},"24":{"position":[[1819,7]]},"43":{"position":[[871,5]]},"187":{"position":[[1402,4]]},"264":{"position":[[194,7]]},"292":{"position":[[52,4]]},"329":{"position":[[102,4]]},"1467":{"position":[[149,4]]},"1983":{"position":[[615,5]]},"2240":{"position":[[4228,5]]}},"keywords":{}}],["helper",{"_index":189,"title":{},"content":{"7":{"position":[[36,6]]},"161":{"position":[[92,6]]},"398":{"position":[[57,6]]},"500":{"position":[[7,6]]},"511":{"position":[[24,6]]},"538":{"position":[[156,6]]},"766":{"position":[[24,6]]},"866":{"position":[[13,6]]},"874":{"position":[[7,6]]},"876":{"position":[[7,6]]},"1803":{"position":[[20,6]]},"2240":{"position":[[6602,6]]},"2367":{"position":[[221,6]]},"2400":{"position":[[199,6]]}},"keywords":{}}],["helpurl",{"_index":3102,"title":{},"content":{"444":{"position":[[63,7],[113,7],[166,7],[213,7],[266,7],[313,7],[366,7]]},"617":{"position":[[9,7]]}},"keywords":{}}],["here",{"_index":161,"title":{},"content":{"4":{"position":[[330,4]]},"19":{"position":[[126,5]]},"67":{"position":[[817,4]]},"186":{"position":[[348,4]]},"197":{"position":[[0,4]]},"201":{"position":[[817,4]]},"202":{"position":[[0,4]]},"203":{"position":[[453,5]]},"208":{"position":[[10,5]]},"210":{"position":[[1093,4]]},"237":{"position":[[178,5]]},"238":{"position":[[1597,4]]},"247":{"position":[[299,4]]},"251":{"position":[[0,4]]},"254":{"position":[[1301,4]]},"266":{"position":[[460,5]]},"317":{"position":[[1000,4]]},"320":{"position":[[629,4],[705,4]]},"328":{"position":[[153,4],[241,4]]},"345":{"position":[[612,4],[689,4]]},"346":{"position":[[314,4]]},"353":{"position":[[558,4],[635,4]]},"1271":{"position":[[89,4]]},"1474":{"position":[[14387,5]]},"1733":{"position":[[455,5]]},"1780":{"position":[[455,4]]},"1781":{"position":[[519,4]]},"1783":{"position":[[970,4]]},"1870":{"position":[[656,5]]},"2009":{"position":[[84,4]]}},"keywords":{}}],["here'",{"_index":634,"title":{},"content":{"42":{"position":[[1147,6],[2100,6]]}},"keywords":{}}],["here).y",{"_index":1701,"title":{},"content":{"204":{"position":[[211,9]]}},"keywords":{}}],["hex",{"_index":3128,"title":{},"content":{"456":{"position":[[123,3]]},"764":{"position":[[262,3]]}},"keywords":{}}],["hidden",{"_index":431,"title":{},"content":{"22":{"position":[[446,6]]},"46":{"position":[[982,6]]},"2357":{"position":[[131,6]]},"2396":{"position":[[325,6],[395,6]]},"2403":{"position":[[45,6],[122,6]]}},"keywords":{}}],["hide",{"_index":434,"title":{},"content":{"22":{"position":[[475,4]]},"264":{"position":[[2066,4]]},"536":{"position":[[0,6]]},"544":{"position":[[30,4]]}},"keywords":{}}],["hierarchi",{"_index":691,"title":{},"content":{"46":{"position":[[1479,9]]},"89":{"position":[[88,11]]},"202":{"position":[[285,9]]},"203":{"position":[[205,9],[858,9]]},"240":{"position":[[89,9]]},"251":{"position":[[1399,9]]},"269":{"position":[[449,9]]},"1474":{"position":[[18265,9]]},"2240":{"position":[[4857,10]]}},"keywords":{}}],["high",{"_index":31,"title":{"257":{"position":[[0,4]]}},"content":{"0":{"position":[[550,4]]},"217":{"position":[[66,4]]},"324":{"position":[[220,4]]},"2093":{"position":[[74,4]]},"2130":{"position":[[1805,4]]},"2168":{"position":[[1483,4],[1836,4],[2161,4],[2502,4],[2815,4],[3144,4]]},"2169":{"position":[[239,4],[568,4]]},"2240":{"position":[[3416,4]]},"2347":{"position":[[293,4]]}},"keywords":{}}],["higher",{"_index":1370,"title":{},"content":{"173":{"position":[[787,6],[1339,6]]},"1990":{"position":[[382,6],[891,6]]},"2134":{"position":[[162,6],[258,6]]},"2408":{"position":[[144,6],[280,6],[652,6],[789,6]]}},"keywords":{}}],["highest",{"_index":795,"title":{},"content":{"63":{"position":[[18,7]]}},"keywords":{}}],["hit",{"_index":887,"title":{},"content":{"74":{"position":[[284,3]]},"264":{"position":[[2491,3]]}},"keywords":{}}],["hit.getcomponent<networkidentity>",{"_index":2284,"title":{},"content":{"264":{"position":[[2541,42]]}},"keywords":{}}],["hitcount",{"_index":2278,"title":{},"content":{"264":{"position":[[2344,8],[2465,9]]}},"keywords":{}}],["hitpoint",{"_index":2594,"title":{},"content":{"316":{"position":[[373,10],[418,10],[1751,9],[1850,9]]},"317":{"position":[[1151,10]]},"343":{"position":[[133,10],[492,9],[602,9],[710,9],[815,9]]}},"keywords":{}}],["hitsbuffer3d",{"_index":2281,"title":{},"content":{"264":{"position":[[2415,13]]}},"keywords":{}}],["hitsbuffer3d[i",{"_index":2283,"title":{},"content":{"264":{"position":[[2497,16]]}},"keywords":{}}],["hlapi",{"_index":2051,"title":{},"content":{"243":{"position":[[41,5]]},"248":{"position":[[27,5]]},"257":{"position":[[92,7],[295,5]]},"264":{"position":[[352,6]]}},"keywords":{}}],["hold",{"_index":548,"title":{},"content":{"33":{"position":[[377,5]]},"225":{"position":[[31,5]]},"240":{"position":[[373,8]]},"1983":{"position":[[1194,5],[1535,5],[3072,5]]},"2091":{"position":[[386,5]]},"2240":{"position":[[5235,5]]},"2263":{"position":[[271,5]]}},"keywords":{}}],["holder",{"_index":2295,"title":{},"content":{"269":{"position":[[359,6]]},"528":{"position":[[86,6]]}},"keywords":{}}],["home",{"_index":1618,"title":{},"content":{"195":{"position":[[260,4],[301,4]]},"196":{"position":[[584,4]]}},"keywords":{}}],["home/usernam",{"_index":1622,"title":{},"content":{"195":{"position":[[364,14]]}},"keywords":{}}],["hook",{"_index":1341,"title":{"362":{"position":[[9,5]]},"363":{"position":[[8,4]]},"1779":{"position":[[8,5]]}},"content":{"171":{"position":[[34,4]]},"210":{"position":[[1467,5]]},"212":{"position":[[293,4]]},"240":{"position":[[388,4]]},"271":{"position":[[102,6],[164,4]]},"333":{"position":[[378,5]]},"335":{"position":[[1736,4]]},"345":{"position":[[301,4]]},"346":{"position":[[1878,4],[2295,4]]},"353":{"position":[[247,4]]},"363":{"position":[[46,5],[97,4],[496,5]]},"481":{"position":[[17,4]]},"482":{"position":[[15,4]]},"664":{"position":[[8,4]]},"697":{"position":[[23,5]]},"738":{"position":[[26,5]]},"757":{"position":[[143,4]]},"850":{"position":[[15,4]]},"1179":{"position":[[33,5]]},"1466":{"position":[[441,4]]},"1474":{"position":[[275,5],[6897,5],[7306,4],[9059,4],[14797,4],[15465,5],[19076,4]]},"1476":{"position":[[1091,4]]},"1566":{"position":[[1276,4]]},"1567":{"position":[[233,4]]},"1666":{"position":[[10,5]]},"1696":{"position":[[16,4]]},"1766":{"position":[[168,5]]},"1779":{"position":[[4,4],[173,5],[192,5]]},"1782":{"position":[[433,5]]},"2240":{"position":[[7225,4]]},"2370":{"position":[[2132,5],[5159,4]]},"2507":{"position":[[21,5],[147,4],[232,4],[327,4],[433,4],[523,4],[616,4]]},"2522":{"position":[[0,5],[104,4],[317,4],[442,4]]}},"keywords":{}}],["hookexcept",{"_index":3585,"title":{},"content":{"638":{"position":[[25,13]]}},"keywords":{}}],["hooknam",{"_index":9212,"title":{},"content":{"2507":{"position":[[172,10],[466,9],[559,9],[654,9]]}},"keywords":{}}],["hookname(t",{"_index":9214,"title":{},"content":{"2507":{"position":[[257,10],[352,10]]}},"keywords":{}}],["hooktyp",{"_index":9251,"title":{},"content":{"2522":{"position":[[540,9],[624,8]]}},"keywords":{}}],["host",{"_index":298,"title":{"13":{"position":[[0,4]]},"64":{"position":[[0,4]]},"167":{"position":[[0,4]]},"179":{"position":[[5,6]]},"263":{"position":[[26,5]]},"303":{"position":[[0,4]]}},"content":{"12":{"position":[[47,5]]},"13":{"position":[[10,4],[61,4],[112,4],[227,4],[276,5],[332,4],[400,5]]},"14":{"position":[[16,4],[107,5],[125,4],[216,5],[452,4],[1034,4],[1095,4],[1344,5],[1437,4],[1669,5],[1826,5],[1978,5]]},"15":{"position":[[600,4]]},"29":{"position":[[273,4]]},"46":{"position":[[717,4],[768,4],[1372,4]]},"50":{"position":[[128,4],[181,4]]},"56":{"position":[[167,4]]},"64":{"position":[[3,4],[299,4]]},"65":{"position":[[353,4]]},"175":{"position":[[232,4],[613,6]]},"179":{"position":[[7,6]]},"187":{"position":[[227,4],[617,4]]},"190":{"position":[[511,7]]},"204":{"position":[[234,4]]},"209":{"position":[[2263,4]]},"210":{"position":[[1870,5]]},"249":{"position":[[448,6]]},"257":{"position":[[442,4]]},"263":{"position":[[4,4],[109,7],[453,5],[701,4]]},"264":{"position":[[1890,5],[1909,4],[2201,5]]},"280":{"position":[[912,4]]},"288":{"position":[[1244,4]]},"303":{"position":[[23,4],[213,4],[476,4]]},"363":{"position":[[185,4],[324,4],[417,4],[593,4]]},"410":{"position":[[32,4]]},"414":{"position":[[37,4]]},"427":{"position":[[40,4]]},"462":{"position":[[7,4]]},"530":{"position":[[63,4]]},"534":{"position":[[33,4]]},"545":{"position":[[126,4]]},"577":{"position":[[36,4]]},"582":{"position":[[44,4],[101,4],[147,4],[196,4]]},"583":{"position":[[0,4],[57,4],[123,4]]},"599":{"position":[[29,4]]},"614":{"position":[[105,4],[158,4]]},"616":{"position":[[45,4],[170,4]]},"670":{"position":[[179,4],[258,4]]},"679":{"position":[[70,4]]},"774":{"position":[[114,4]]},"798":{"position":[[43,4]]},"824":{"position":[[173,4]]},"850":{"position":[[40,4]]},"931":{"position":[[7,4]]},"936":{"position":[[16,4]]},"958":{"position":[[382,4]]},"967":{"position":[[51,4]]},"969":{"position":[[14,4]]},"1012":{"position":[[51,4]]},"1014":{"position":[[31,4]]},"1028":{"position":[[13,4]]},"1029":{"position":[[30,4]]},"1030":{"position":[[33,4]]},"1042":{"position":[[50,4]]},"1106":{"position":[[31,4]]},"1236":{"position":[[11,4]]},"1254":{"position":[[47,4]]},"1267":{"position":[[0,4]]},"1474":{"position":[[737,4],[1844,4],[1872,4],[6870,4],[6946,4],[9067,4],[9406,4],[9438,4],[9610,4],[9874,4],[10068,4],[10420,4],[11729,4],[11864,4],[16263,4],[19366,4],[20720,4]]},"1476":{"position":[[6636,4]]},"1512":{"position":[[42,4]]},"1566":{"position":[[1397,4]]},"1581":{"position":[[102,4]]},"1640":{"position":[[58,4]]},"1745":{"position":[[41,4]]},"1766":{"position":[[507,4]]},"1966":{"position":[[1450,4],[1884,4],[2278,4]]},"1979":{"position":[[992,4]]},"2212":{"position":[[70,5],[137,4]]},"2240":{"position":[[1044,4]]},"2261":{"position":[[926,4]]},"2350":{"position":[[1560,4],[1723,4]]},"2358":{"position":[[462,4],[598,4]]},"2361":{"position":[[276,4],[291,4]]},"2370":{"position":[[289,4],[425,4],[3668,4],[3734,5],[4724,4]]},"2375":{"position":[[95,5],[114,4]]},"2417":{"position":[[3215,4]]},"2419":{"position":[[208,4]]},"2420":{"position":[[319,4],[864,4],[965,4],[1125,5],[1298,5]]},"2421":{"position":[[70,4],[239,4]]}},"keywords":{}}],["host/client",{"_index":1386,"title":{},"content":{"175":{"position":[[168,11]]}},"keywords":{}}],["host/serv",{"_index":8783,"title":{},"content":{"2267":{"position":[[187,11]]}},"keywords":{}}],["hosted"",{"_index":2244,"title":{},"content":{"257":{"position":[[412,12]]}},"keywords":{}}],["hostmod",{"_index":3270,"title":{},"content":{"518":{"position":[[7,8]]},"1260":{"position":[[46,8]]},"1474":{"position":[[12748,8]]},"1489":{"position":[[28,8]]},"2421":{"position":[[435,8]]}},"keywords":{}}],["hostmodestop",{"_index":8748,"title":{},"content":{"2261":{"position":[[864,16],[949,15]]}},"keywords":{}}],["hostnam",{"_index":5122,"title":{},"content":{"1324":{"position":[[4,8]]}},"keywords":{}}],["hostplayernam",{"_index":267,"title":{},"content":{"10":{"position":[[1218,15]]}},"keywords":{}}],["hostrenderervis",{"_index":3347,"title":{"2289":{"position":[[6,22]]}},"content":{"544":{"position":[[7,22]]},"2240":{"position":[[937,23]]}},"keywords":{}}],["hostsetup",{"_index":5882,"title":{},"content":{"1474":{"position":[[17349,9]]},"1577":{"position":[[319,9]]}},"keywords":{}}],["hoststart",{"_index":210,"title":{},"content":{"9":{"position":[[451,9]]}},"keywords":{}}],["hotbar",{"_index":2803,"title":{},"content":{"345":{"position":[[237,6],[463,6]]},"353":{"position":[[197,6],[409,6]]}},"keywords":{}}],["hotbar.onchang",{"_index":2806,"title":{},"content":{"345":{"position":[[541,15]]},"353":{"position":[[487,15]]}},"keywords":{}}],["hotpath",{"_index":7735,"title":{},"content":{"1990":{"position":[[152,7],[648,7],[1064,7]]},"2039":{"position":[[247,8]]}},"keywords":{}}],["http",{"_index":1111,"title":{},"content":{"117":{"position":[[1959,5]]}},"keywords":{}}],["https://forum.unity.com/threads/un",{"_index":5311,"title":{},"content":{"1466":{"position":[[1062,37]]}},"keywords":{}}],["https://package.openupm.com",{"_index":820,"title":{},"content":{"67":{"position":[[417,27]]},"201":{"position":[[417,27]]}},"keywords":{}}],["hud",{"_index":60,"title":{"11":{"position":[[16,3]]},"12":{"position":[[10,4]]},"208":{"position":[[22,4]]}},"content":{"0":{"position":[[1051,3],[1075,3]]},"12":{"position":[[20,3]]},"13":{"position":[[445,3]]},"14":{"position":[[1721,3],[1870,3]]},"46":{"position":[[747,3]]},"50":{"position":[[158,3]]},"187":{"position":[[96,3]]},"206":{"position":[[134,4]]},"263":{"position":[[829,3]]},"956":{"position":[[28,3]]},"959":{"position":[[30,3]]},"964":{"position":[[46,3]]},"1474":{"position":[[1063,3]]},"1644":{"position":[[23,3]]}},"keywords":{}}],["hud.add",{"_index":206,"title":{},"content":{"9":{"position":[[339,7]]}},"keywords":{}}],["iaddlateev",{"_index":4399,"title":{"1913":{"position":[[10,13]]}},"content":{"1000":{"position":[[45,13],[169,13],[503,13],[778,13]]},"1891":{"position":[[0,14]]},"2370":{"position":[[3533,13],[3918,13],[4290,13],[5233,13],[5362,13]]}},"keywords":{}}],["iaddlateevent<bool>",{"_index":4405,"title":{},"content":{"1000":{"position":[[441,25]]},"1905":{"position":[[1301,25]]},"2370":{"position":[[4749,25]]}},"keywords":{}}],["iaddlateevent<clientstoppedreason>",{"_index":7534,"title":{},"content":{"1911":{"position":[[1599,40]]}},"keywords":{}}],["iaddlateevent<inetworkplayer>",{"_index":7553,"title":{},"content":{"1926":{"position":[[1564,35]]},"2370":{"position":[[4979,35]]}},"keywords":{}}],["iaddlateevent<t0",{"_index":7464,"title":{},"content":{"1891":{"position":[[91,20]]}},"keywords":{}}],["iaddlateevent<t0>",{"_index":7465,"title":{},"content":{"1891":{"position":[[148,24]]}},"keywords":{}}],["iaddlateevent.createnewitem",{"_index":8539,"title":{"2174":{"position":[[9,21]]}},"content":{},"keywords":{}}],["pool.createnewitemnocount",{"_index":8541,"title":{"2175":{"position":[[9,28]]}},"content":{},"keywords":{}}],["poolednetworkread",{"_index":6188,"title":{"2026":{"position":[[6,19]]}},"content":{"1476":{"position":[[3345,19]]},"1735":{"position":[[73,19]]},"1983":{"position":[[1360,20]]},"2016":{"position":[[348,19],[823,19],[1267,19]]},"2027":{"position":[[71,19]]}},"keywords":{}}],["poolednetworkwrit",{"_index":2447,"title":{"2032":{"position":[[6,19]]}},"content":{"291":{"position":[[467,20]]},"1476":{"position":[[3367,19]]},"1735":{"position":[[95,19]]},"1983":{"position":[[1411,20]]},"2019":{"position":[[423,19]]},"2033":{"position":[[78,19]]}},"keywords":{}}],["poolmetr",{"_index":8321,"title":{"2176":{"position":[[7,11]]}},"content":{"2092":{"position":[[43,12]]},"2172":{"position":[[0,12],[33,11],[45,11]]},"2184":{"position":[[29,11]]},"2350":{"position":[[211,12]]},"2420":{"position":[[211,12]]}},"keywords":{}}],["poolmetrics(int",{"_index":8544,"title":{},"content":{"2177":{"position":[[54,15]]}},"keywords":{}}],["poolmetrics(int32",{"_index":8543,"title":{},"content":{"2177":{"position":[[0,18]]}},"keywords":{}}],["poolsiz",{"_index":8546,"title":{},"content":{"2177":{"position":[[95,9],[193,8]]},"2178":{"position":[[100,9],[143,8]]}},"keywords":{}}],["poolspawnhandl",{"_index":1917,"title":{},"content":{"237":{"position":[[273,17]]}},"keywords":{}}],["poolspawnhandler(spawnmessag",{"_index":1920,"title":{},"content":{"237":{"position":[[376,29]]}},"keywords":{}}],["poolunspawnhandl",{"_index":1918,"title":{},"content":{"237":{"position":[[291,20]]}},"keywords":{}}],["poolunspawnhandler(networkident",{"_index":1923,"title":{},"content":{"237":{"position":[[514,34]]}},"keywords":{}}],["pop",{"_index":1487,"title":{},"content":{"182":{"position":[[2874,3]]},"190":{"position":[[848,3]]},"1874":{"position":[[1625,6],[1654,5]]}},"keywords":{}}],["popul",{"_index":2276,"title":{},"content":{"264":{"position":[[1600,9]]},"335":{"position":[[734,9]]},"1092":{"position":[[80,9]]},"1983":{"position":[[1649,9],[3186,9]]},"2009":{"position":[[127,9]]}},"keywords":{}}],["port",{"_index":349,"title":{},"content":{"14":{"position":[[1369,4]]},"175":{"position":[[770,4]]},"179":{"position":[[535,4]]},"182":{"position":[[1905,4],[2183,4]]},"183":{"position":[[1629,4],[1670,4],[1708,4],[1878,4]]},"184":{"position":[[628,4],[873,4],[939,4]]},"187":{"position":[[820,4],[890,4],[1327,5]]},"191":{"position":[[72,4],[379,6],[413,4],[462,4]]},"202":{"position":[[780,4]]},"757":{"position":[[82,4]]},"1180":{"position":[[31,5]]},"1293":{"position":[[0,4]]},"1474":{"position":[[8674,4]]},"1476":{"position":[[4463,4],[8143,4],[9029,4]]},"1658":{"position":[[8,4]]},"2093":{"position":[[669,4]]},"2143":{"position":[[0,5],[23,4]]},"2199":{"position":[[742,4],[861,4]]},"2212":{"position":[[83,5],[156,4]]},"2231":{"position":[[45,5],[78,4]]},"2233":{"position":[[541,4],[660,4]]},"2351":{"position":[[149,4],[268,4]]}},"keywords":{}}],["portcheck",{"_index":1537,"title":{},"content":{"184":{"position":[[809,11]]}},"keywords":{}}],["posit",{"_index":105,"title":{"31":{"position":[[14,8]]},"55":{"position":[[13,9]]},"76":{"position":[[6,9]]}},"content":{"0":{"position":[[2188,8],[2211,8],[2288,8],[2331,8],[2690,8]]},"24":{"position":[[1162,8],[1941,8]]},"31":{"position":[[14,8],[91,8],[148,8],[202,8],[303,9],[378,9],[456,8],[715,9],[846,8],[928,9]]},"37":{"position":[[79,8],[904,8],[1032,8]]},"43":{"position":[[67,9],[674,8]]},"55":{"position":[[229,10]]},"57":{"position":[[282,8]]},"76":{"position":[[111,9]]},"116":{"position":[[152,9]]},"139":{"position":[[369,8]]},"148":{"position":[[2,8],[187,9]]},"149":{"position":[[2,8],[228,9]]},"150":{"position":[[2,8],[133,9]]},"153":{"position":[[32,8]]},"202":{"position":[[913,9],[1014,8],[1213,9],[1300,9]]},"209":{"position":[[113,8]]},"211":{"position":[[1731,8],[1905,8],[2012,9]]},"213":{"position":[[1738,8],[2030,9]]},"240":{"position":[[822,8],[1423,8],[1641,8]]},"251":{"position":[[1939,9],[2254,9]]},"332":{"position":[[683,9],[772,9],[902,9],[989,9],[1169,9]]},"877":{"position":[[119,8]]},"893":{"position":[[37,8]]},"1474":{"position":[[2753,8]]},"1983":{"position":[[3323,8]]},"1990":{"position":[[90,8],[559,8]]},"2022":{"position":[[119,8]]},"2023":{"position":[[641,9],[730,8],[3039,8],[3120,8],[3147,8],[3344,8],[3398,8],[3564,8],[3617,8]]},"2030":{"position":[[150,8],[247,8],[289,8]]},"2031":{"position":[[2133,8],[2267,8],[2649,8],[2787,8],[2859,8],[3161,8],[3240,8],[3267,8],[3320,8],[3500,8],[3552,8],[3718,8],[3769,8]]},"2063":{"position":[[90,9],[184,8]]},"2071":{"position":[[90,9],[184,8]]},"2204":{"position":[[1730,8]]},"2240":{"position":[[4747,8]]},"2253":{"position":[[1363,8],[1387,8]]},"2429":{"position":[[148,9],[278,8]]},"2497":{"position":[[0,9],[39,8]]}},"keywords":{}}],["position/rot",{"_index":2183,"title":{},"content":{"251":{"position":[[2195,17]]}},"keywords":{}}],["possibl",{"_index":535,"title":{},"content":{"31":{"position":[[816,9]]},"175":{"position":[[117,8],[644,13]]},"182":{"position":[[1790,8]]},"266":{"position":[[363,8]]},"295":{"position":[[6,8]]},"360":{"position":[[200,8]]},"375":{"position":[[7,8]]},"981":{"position":[[88,8]]},"1474":{"position":[[14245,8]]},"1733":{"position":[[313,8]]},"1985":{"position":[[166,8],[210,8]]},"1996":{"position":[[211,8]]},"2240":{"position":[[6773,8]]}},"keywords":{}}],["post",{"_index":757,"title":{},"content":{"59":{"position":[[107,4]]}},"keywords":{}}],["postprocessorreflectionimport",{"_index":4003,"title":{},"content":{"837":{"position":[[34,31]]}},"keywords":{}}],["potenti",{"_index":890,"title":{},"content":{"75":{"position":[[0,11]]},"553":{"position":[[77,9]]},"1305":{"position":[[0,9]]},"1448":{"position":[[0,9]]},"1474":{"position":[[12928,9],[13848,9]]},"1729":{"position":[[71,9]]},"2358":{"position":[[942,11]]}},"keywords":{}}],["powershel",{"_index":1551,"title":{},"content":{"187":{"position":[[338,10]]}},"keywords":{}}],["practic",{"_index":1062,"title":{"115":{"position":[[5,9]]}},"content":{"203":{"position":[[715,9]]},"328":{"position":[[260,8]]}},"keywords":{}}],["pre",{"_index":1662,"title":{},"content":{"202":{"position":[[366,3]]},"238":{"position":[[229,3]]},"253":{"position":[[564,3]]}},"keywords":{}}],["precis",{"_index":1267,"title":{},"content":{"139":{"position":[[1224,9]]},"148":{"position":[[48,9]]},"149":{"position":[[47,10],[76,9]]},"173":{"position":[[441,9],[898,9]]},"1987":{"position":[[147,10],[165,9]]},"1990":{"position":[[59,9],[217,10],[294,9],[311,9],[363,9],[496,9],[713,10],[803,9],[820,9],[872,9]]},"1996":{"position":[[92,10],[192,9],[245,9]]},"2000":{"position":[[184,10],[202,9],[621,10],[639,9]]},"2046":{"position":[[75,10],[149,9]]},"2049":{"position":[[72,10],[146,9]]},"2062":{"position":[[79,10],[147,9]]},"2068":{"position":[[395,10],[492,9]]},"2070":{"position":[[79,10],[147,9]]},"2073":{"position":[[604,10],[669,9]]},"2076":{"position":[[505,10],[621,9]]},"2078":{"position":[[778,10],[843,9]]}},"keywords":{}}],["predefin",{"_index":2582,"title":{},"content":{"315":{"position":[[221,10]]}},"keywords":{}}],["prefab",{"_index":101,"title":{"70":{"position":[[7,7]]},"88":{"position":[[0,6]]}},"content":{"0":{"position":[[1987,7]]},"2":{"position":[[301,7]]},"33":{"position":[[132,6],[143,6]]},"54":{"position":[[235,6],[506,7],[552,7],[630,6]]},"70":{"position":[[13,6],[163,7]]},"71":{"position":[[1154,6],[1313,7]]},"74":{"position":[[15,7]]},"88":{"position":[[4,6],[50,6],[124,6]]},"203":{"position":[[63,6],[684,7],[773,6],[1150,6],[1189,6]]},"209":{"position":[[43,7],[2212,7]]},"211":{"position":[[1658,6]]},"226":{"position":[[177,7],[234,7],[271,8],[313,7]]},"234":{"position":[[99,6]]},"235":{"position":[[125,7],[218,7],[253,7],[411,8],[1151,7]]},"238":{"position":[[80,6],[183,6],[398,6],[1631,7]]},"240":{"position":[[213,7],[561,7]]},"241":{"position":[[146,7],[1260,7],[1887,6],[1936,8],[1961,6],[3549,7]]},"242":{"position":[[907,6],[1001,7]]},"245":{"position":[[64,7],[216,6],[311,7],[829,6],[1369,6],[1657,7],[3602,7]]},"246":{"position":[[65,7],[126,7]]},"247":{"position":[[86,6],[191,6]]},"248":{"position":[[160,6],[463,6]]},"251":{"position":[[474,7],[2856,6],[2903,6]]},"254":{"position":[[1381,6]]},"262":{"position":[[512,7]]},"276":{"position":[[21,7]]},"304":{"position":[[257,7],[770,7]]},"317":{"position":[[494,8]]},"331":{"position":[[35,6],[104,7],[147,6],[219,6]]},"332":{"position":[[87,7],[205,6],[276,6],[372,7],[552,6],[626,7],[725,6],[1030,6],[1060,6],[1122,6]]},"400":{"position":[[108,6]]},"405":{"position":[[25,6]]},"456":{"position":[[108,6]]},"505":{"position":[[79,6]]},"516":{"position":[[20,6]]},"532":{"position":[[24,6]]},"541":{"position":[[78,7]]},"547":{"position":[[14,6]]},"555":{"position":[[130,6],[192,6],[330,7]]},"579":{"position":[[42,6]]},"601":{"position":[[338,6]]},"603":{"position":[[110,7]]},"618":{"position":[[34,6]]},"768":{"position":[[25,6]]},"777":{"position":[[13,6]]},"781":{"position":[[57,6]]},"782":{"position":[[23,6]]},"783":{"position":[[0,6]]},"820":{"position":[[45,6]]},"1233":{"position":[[41,7]]},"1237":{"position":[[24,7]]},"1317":{"position":[[31,6]]},"1350":{"position":[[276,7]]},"1355":{"position":[[276,7]]},"1360":{"position":[[276,7]]},"1365":{"position":[[276,7]]},"1370":{"position":[[276,7]]},"1375":{"position":[[230,7]]},"1379":{"position":[[230,7]]},"1383":{"position":[[179,7]]},"1387":{"position":[[179,7]]},"1391":{"position":[[179,7]]},"1395":{"position":[[179,7]]},"1399":{"position":[[139,7]]},"1442":{"position":[[7,6]]},"1474":{"position":[[1958,7],[2746,6],[3042,6],[3256,6],[5734,6],[10224,7],[16570,6],[17421,6],[22507,7],[22574,7],[22652,6],[22692,6]]},"1476":{"position":[[2441,7]]},"1478":{"position":[[893,6]]},"1496":{"position":[[214,6]]},"1566":{"position":[[274,6],[1499,6]]},"1589":{"position":[[23,7]]},"1691":{"position":[[23,7]]},"1778":{"position":[[240,7]]},"2240":{"position":[[3600,7],[5401,6],[5502,6]]},"2263":{"position":[[22,7],[98,8],[285,7],[361,8]]},"2265":{"position":[[282,7],[377,8],[508,7],[663,6],[930,6],[990,6],[1064,6],[1284,6],[1406,8],[1455,7],[1637,6],[1809,6],[1895,7],[2042,6],[2262,6],[2384,8],[2433,7],[2615,6],[2768,6],[2890,6],[3107,6],[3289,6],[3482,6],[3632,6],[3852,6],[3974,8],[4023,7],[4205,6],[4431,6],[4959,7],[4995,6],[6573,7]]},"2352":{"position":[[60,6],[161,6]]},"2370":{"position":[[1556,6]]},"2394":{"position":[[0,8],[57,7]]},"2478":{"position":[[864,6],[5031,6],[5177,7],[5324,6],[5553,6],[5709,7],[5868,6]]},"2482":{"position":[[2412,6]]},"2486":{"position":[[80,7],[145,6],[539,7],[671,6],[1174,7],[1316,6]]},"2487":{"position":[[0,7],[53,6]]},"2492":{"position":[[386,6]]},"2509":{"position":[[76,7],[141,6]]},"2510":{"position":[[0,7],[44,6]]},"2511":{"position":[[72,6],[376,6]]}},"keywords":{}}],["prefab'",{"_index":8757,"title":{},"content":{"2265":{"position":[[558,8]]}},"keywords":{}}],["prefab.th",{"_index":2116,"title":{},"content":{"247":{"position":[[785,10]]}},"keywords":{}}],["prefabhash",{"_index":1935,"title":{},"content":{"238":{"position":[[1110,10],[1170,11],[1913,11],[1998,10],[2190,11],[2207,10],[2405,11],[2561,10],[2660,10]]},"331":{"position":[[244,10]]},"595":{"position":[[39,10],[68,10]]},"612":{"position":[[46,10]]},"764":{"position":[[278,10]]},"767":{"position":[[92,10]]},"768":{"position":[[58,10]]},"2265":{"position":[[759,10],[844,11],[903,10],[1246,11],[1622,10],[2224,11],[2600,10],[3814,11],[4190,10],[4778,10],[4880,10],[5167,11],[5293,10],[5993,11],[6124,10],[6403,11],[6462,10],[6477,10]]},"2270":{"position":[[106,12]]},"2370":{"position":[[3024,11],[3060,10]]},"2478":{"position":[[567,11],[849,10],[3167,11],[3412,10],[3954,10],[4282,11],[4437,10],[4452,10],[5190,10],[5367,10],[5722,10],[5911,10]]},"2482":{"position":[[505,11],[731,10],[2134,11],[2397,10],[3805,10],[4111,11],[4231,10],[4246,10]]},"2492":{"position":[[360,11],[445,10],[481,10]]},"2510":{"position":[[52,11],[88,10]]}},"keywords":{}}],["prefabid",{"_index":1067,"title":{},"content":{"116":{"position":[[174,9]]}},"keywords":{}}],["prefabpoolmanag",{"_index":2150,"title":{},"content":{"251":{"position":[[285,17],[2801,17],[3185,17],[3252,17],[3270,18],[3304,17]]}},"keywords":{}}],["prefabpoolmanager.getfrompool(transform.posit",{"_index":2198,"title":{},"content":{"251":{"position":[[3935,48]]}},"keywords":{}}],["prefabpoolmanager.putbackinpool(go",{"_index":2206,"title":{},"content":{"251":{"position":[[4459,36]]}},"keywords":{}}],["prefabs.upd",{"_index":888,"title":{},"content":{"74":{"position":[[297,14]]}},"keywords":{}}],["prefabset",{"_index":848,"title":{},"content":{"70":{"position":[[82,9]]}},"keywords":{}}],["prefer",{"_index":671,"title":{},"content":{"46":{"position":[[840,7]]},"50":{"position":[[242,7]]},"179":{"position":[[255,10]]},"1476":{"position":[[8315,9]]},"1583":{"position":[[28,9]]}},"keywords":{}}],["prefix",{"_index":5576,"title":{},"content":{"1474":{"position":[[7512,6],[17513,6],[22069,6]]},"1476":{"position":[[2729,6],[2818,6],[7616,6],[8093,6]]},"1478":{"position":[[1789,8]]},"1496":{"position":[[280,6]]},"1547":{"position":[[29,6],[81,6],[138,6],[194,6]]},"1928":{"position":[[186,8]]}},"keywords":{}}],["pregam",{"_index":2213,"title":{},"content":{"254":{"position":[[199,7]]}},"keywords":{}}],["prepar",{"_index":4118,"title":{},"content":{"875":{"position":[[0,9]]}},"keywords":{}}],["preparetospawnsceneobject",{"_index":1904,"title":{},"content":{"235":{"position":[[581,26]]},"2265":{"position":[[0,29],[162,28]]}},"keywords":{}}],["preprocessor",{"_index":4610,"title":{},"content":{"1088":{"position":[[7,12]]}},"keywords":{}}],["present",{"_index":4972,"title":{},"content":{"1252":{"position":[[29,7]]},"2240":{"position":[[2305,7]]},"2344":{"position":[[113,7]]},"2358":{"position":[[2196,7],[2479,7]]},"2369":{"position":[[349,7]]}},"keywords":{}}],["press",{"_index":668,"title":{},"content":{"46":{"position":[[682,5]]},"50":{"position":[[93,5]]},"190":{"position":[[1747,5],[1841,5]]},"191":{"position":[[604,5]]},"192":{"position":[[54,5]]},"197":{"position":[[304,5],[370,5]]},"198":{"position":[[521,5]]},"203":{"position":[[2159,5]]},"243":{"position":[[2351,8]]}},"keywords":{}}],["pretti",{"_index":1705,"title":{},"content":{"207":{"position":[[12,6]]},"240":{"position":[[1292,6]]}},"keywords":{}}],["prevent",{"_index":373,"title":{},"content":{"15":{"position":[[762,7]]},"279":{"position":[[44,7]]},"280":{"position":[[119,7]]},"553":{"position":[[69,7]]},"1211":{"position":[[0,7]]},"1252":{"position":[[0,7]]},"1265":{"position":[[13,7]]},"1309":{"position":[[28,7]]},"1318":{"position":[[4,10]]},"1442":{"position":[[23,7]]},"1524":{"position":[[0,7]]},"1780":{"position":[[491,7]]},"1781":{"position":[[555,7]]},"2240":{"position":[[270,8],[792,8],[1091,8],[3193,8],[6420,8]]}},"keywords":{}}],["preview",{"_index":154,"title":{"4":{"position":[[0,7]]}},"content":{"4":{"position":[[90,7]]}},"keywords":{}}],["previou",{"_index":487,"title":{},"content":{"24":{"position":[[1557,8]]},"184":{"position":[[276,8]]},"202":{"position":[[1254,8]]},"254":{"position":[[1502,8]]},"2031":{"position":[[2640,8]]},"2130":{"position":[[400,8]]},"2158":{"position":[[1354,8]]},"2193":{"position":[[991,8]]},"2478":{"position":[[2562,8],[3461,8]]},"2482":{"position":[[780,8],[1563,8]]}},"keywords":{}}],["previous",{"_index":5686,"title":{},"content":{"1474":{"position":[[10495,10],[14123,10]]},"1717":{"position":[[131,10]]},"1766":{"position":[[582,10]]}},"keywords":{}}],["price",{"_index":2467,"title":{},"content":{"294":{"position":[[495,5],[891,5],[960,5]]}},"keywords":{}}],["price}"",{"_index":2477,"title":{},"content":{"294":{"position":[[966,15]]}},"keywords":{}}],["primari",{"_index":785,"title":{},"content":{"61":{"position":[[319,7]]},"2240":{"position":[[2479,7]]}},"keywords":{}}],["primit",{"_index":2671,"title":{},"content":{"326":{"position":[[246,9]]}},"keywords":{}}],["prior",{"_index":461,"title":{},"content":{"24":{"position":[[673,5]]}},"keywords":{}}],["privat",{"_index":628,"title":{},"content":{"42":{"position":[[920,7]]},"43":{"position":[[1071,7]]},"85":{"position":[[692,7]]},"117":{"position":[[1766,7],[2384,7],[2442,7]]},"125":{"position":[[75,7]]},"142":{"position":[[70,7]]},"151":{"position":[[165,7],[263,7]]},"203":{"position":[[1651,7],[1737,7],[1879,7]]},"207":{"position":[[285,7],[324,7]]},"209":{"position":[[487,7],[874,7],[960,7],[1415,7],[1506,7],[1765,7]]},"210":{"position":[[371,7]]},"211":{"position":[[75,7]]},"225":{"position":[[720,7],[835,7],[965,7],[1099,7],[1214,7],[1344,7]]},"238":{"position":[[751,7],[782,7],[1542,7],[1875,7],[2158,7]]},"242":{"position":[[578,7]]},"251":{"position":[[1020,7]]},"280":{"position":[[363,7],[431,7],[582,7]]},"288":{"position":[[1002,7],[1134,7],[1824,7],[1853,7],[2312,7]]},"328":{"position":[[723,7],[806,7],[854,7]]},"340":{"position":[[1112,7]]},"343":{"position":[[315,7],[391,7]]},"345":{"position":[[345,7],[510,7],[576,7],[656,7]]},"348":{"position":[[1110,7],[1171,7],[1407,7]]},"351":{"position":[[187,7]]},"353":{"position":[[81,7],[159,7],[291,7],[456,7],[522,7],[602,7]]},"508":{"position":[[30,7]]},"1474":{"position":[[13428,7],[19138,7]]},"1693":{"position":[[97,7]]},"1777":{"position":[[165,7]]},"1778":{"position":[[61,7],[110,7],[133,7],[169,7]]},"1780":{"position":[[298,7],[339,7],[514,7],[547,7],[666,7],[756,7],[969,7]]},"1781":{"position":[[362,7],[403,7],[578,7],[611,7],[730,7],[820,7],[1033,7]]},"1783":{"position":[[104,7],[126,7],[202,7],[332,7],[472,7],[743,7]]},"2240":{"position":[[6849,7]]},"2474":{"position":[[44,7]]}},"keywords":{}}],["probabl",{"_index":219,"title":{},"content":{"9":{"position":[[705,8]]},"10":{"position":[[1077,8]]},"67":{"position":[[744,10]]},"201":{"position":[[744,10]]},"203":{"position":[[666,8]]}},"keywords":{}}],["problem",{"_index":2879,"title":{},"content":{"356":{"position":[[1064,8]]},"1297":{"position":[[31,7]]}},"keywords":{}}],["procedur",{"_index":968,"title":{},"content":{"91":{"position":[[320,9]]},"189":{"position":[[158,10]]},"243":{"position":[[1699,9]]},"257":{"position":[[611,9]]},"2240":{"position":[[438,9]]}},"keywords":{}}],["process",{"_index":368,"title":{},"content":{"15":{"position":[[483,7]]},"24":{"position":[[771,7]]},"30":{"position":[[283,7]]},"95":{"position":[[99,8]]},"99":{"position":[[882,7],[1188,9]]},"117":{"position":[[242,7]]},"175":{"position":[[684,7]]},"182":{"position":[[1494,7]]},"197":{"position":[[107,7],[397,8]]},"243":{"position":[[1332,7]]},"248":{"position":[[1420,10]]},"288":{"position":[[1352,7]]},"1474":{"position":[[1200,9],[12420,9],[22128,9]]},"1546":{"position":[[43,9]]},"1562":{"position":[[594,9]]},"1566":{"position":[[27,9]]},"1935":{"position":[[1186,10]]},"2240":{"position":[[1924,7]]},"2358":{"position":[[922,9]]}},"keywords":{}}],["processclientrequest(discoveryrequest",{"_index":282,"title":{},"content":{"10":{"position":[[1746,37]]}},"keywords":{}}],["processrequest(discoveryrequest",{"_index":287,"title":{},"content":{"10":{"position":[[1901,31]]}},"keywords":{}}],["processresponse(discoveryrespons",{"_index":293,"title":{},"content":{"10":{"position":[[2177,33]]}},"keywords":{}}],["product",{"_index":6309,"title":{},"content":{"1476":{"position":[[6581,10]]}},"keywords":{}}],["profil",{"_index":5906,"title":{},"content":{"1474":{"position":[[17872,8]]},"1477":{"position":[[530,8]]},"1703":{"position":[[26,8]]},"2240":{"position":[[2226,9],[2262,8]]},"2344":{"position":[[34,9],[70,8]]}},"keywords":{}}],["program",{"_index":76,"title":{},"content":{"0":{"position":[[1300,11]]}},"keywords":{}}],["program.custom",{"_index":1476,"title":{},"content":{"182":{"position":[[2154,14]]}},"keywords":{}}],["progress",{"_index":398,"title":{},"content":{"19":{"position":[[43,9]]},"143":{"position":[[31,8],[63,8]]},"247":{"position":[[1007,11]]},"1782":{"position":[[91,9]]}},"keywords":{}}],["project",{"_index":661,"title":{},"content":{"46":{"position":[[65,7]]},"67":{"position":[[92,8],[147,7],[563,7],[808,8]]},"96":{"position":[[580,8]]},"170":{"position":[[362,9]]},"175":{"position":[[64,7],[144,8],[1224,8]]},"184":{"position":[[59,7],[525,7]]},"189":{"position":[[32,7],[80,8],[178,7],[219,8],[277,8],[329,8],[348,7],[426,8],[552,8]]},"199":{"position":[[24,7],[122,7],[168,8]]},"201":{"position":[[92,8],[147,7],[563,7],[808,8]]},"315":{"position":[[529,8]]}},"keywords":{}}],["project)ent",{"_index":1510,"title":{},"content":{"183":{"position":[[251,13]]}},"keywords":{}}],["project.add",{"_index":847,"title":{},"content":{"70":{"position":[[28,11]]}},"keywords":{}}],["project.ssh",{"_index":1473,"title":{},"content":{"182":{"position":[[1931,11]]}},"keywords":{}}],["projectil",{"_index":2528,"title":{},"content":{"304":{"position":[[877,12]]},"331":{"position":[[427,12]]}},"keywords":{}}],["prompt",{"_index":1580,"title":{},"content":{"190":{"position":[[200,9]]}},"keywords":{}}],["prop",{"_index":132,"title":{},"content":{"3":{"position":[[99,7]]}},"keywords":{}}],["propag",{"_index":1832,"title":{},"content":{"215":{"position":[[224,10]]},"976":{"position":[[11,11]]}},"keywords":{}}],["proper",{"_index":2762,"title":{},"content":{"339":{"position":[[374,6]]},"342":{"position":[[277,6]]},"348":{"position":[[371,6]]},"350":{"position":[[250,6]]}},"keywords":{}}],["properli",{"_index":845,"title":{},"content":{"69":{"position":[[323,8]]},"99":{"position":[[310,8]]},"1231":{"position":[[14,8]]},"1350":{"position":[[121,8]]},"1355":{"position":[[121,8]]},"1360":{"position":[[121,8]]},"1365":{"position":[[121,8]]},"1370":{"position":[[121,8]]},"1375":{"position":[[75,8]]},"1379":{"position":[[75,8]]},"1383":{"position":[[75,8]]},"1387":{"position":[[75,8]]},"1391":{"position":[[75,8]]},"1395":{"position":[[75,8]]},"1399":{"position":[[35,8]]},"1403":{"position":[[35,8]]},"1407":{"position":[[35,8]]},"1411":{"position":[[35,8]]},"1415":{"position":[[35,8]]},"1419":{"position":[[35,8]]},"1423":{"position":[[35,8]]},"1427":{"position":[[35,8]]},"1431":{"position":[[35,8]]},"1474":{"position":[[2258,8],[4796,8],[8909,8],[11994,8],[13504,8],[19815,8],[21513,8]]},"1731":{"position":[[11,8]]},"1745":{"position":[[321,8]]},"1762":{"position":[[39,8]]}},"keywords":{}}],["properti",{"_index":257,"title":{"33":{"position":[[0,11]]},"1774":{"position":[[0,11]]},"1787":{"position":[[0,11]]},"1789":{"position":[[0,11]]},"1793":{"position":[[0,11]]},"1810":{"position":[[0,11]]},"1834":{"position":[[0,11]]},"1841":{"position":[[0,11]]},"1847":{"position":[[0,11]]},"1854":{"position":[[0,11]]},"1859":{"position":[[0,11]]},"1864":{"position":[[0,11]]},"1873":{"position":[[0,11]]},"1877":{"position":[[0,11]]},"1881":{"position":[[0,11]]},"1934":{"position":[[0,11]]},"1943":{"position":[[0,11]]},"2007":{"position":[[0,11]]},"2009":{"position":[[0,11]]},"2018":{"position":[[0,11]]},"2022":{"position":[[0,11]]},"2030":{"position":[[0,11]]},"2037":{"position":[[0,11]]},"2039":{"position":[[0,11]]},"2085":{"position":[[0,11]]},"2099":{"position":[[0,11]]},"2109":{"position":[[0,11]]},"2118":{"position":[[0,11]]},"2138":{"position":[[0,11]]},"2140":{"position":[[0,11]]},"2143":{"position":[[0,11]]},"2154":{"position":[[0,11]]},"2169":{"position":[[0,11]]},"2172":{"position":[[0,11]]},"2184":{"position":[[0,11]]},"2188":{"position":[[0,11]]},"2192":{"position":[[0,11]]},"2198":{"position":[[0,11]]},"2203":{"position":[[0,11]]},"2217":{"position":[[0,11]]},"2222":{"position":[[0,11]]},"2232":{"position":[[0,11]]},"2264":{"position":[[0,11]]},"2273":{"position":[[0,11]]},"2283":{"position":[[0,11]]},"2298":{"position":[[0,11]]},"2305":{"position":[[0,11]]},"2308":{"position":[[0,11]]},"2310":{"position":[[0,11]]},"2335":{"position":[[0,11]]},"2339":{"position":[[0,11]]},"2350":{"position":[[0,11]]},"2358":{"position":[[0,11]]},"2363":{"position":[[0,11]]},"2367":{"position":[[0,11]]},"2370":{"position":[[0,11]]},"2382":{"position":[[0,11]]},"2400":{"position":[[0,11]]},"2408":{"position":[[0,11]]},"2413":{"position":[[0,11]]},"2416":{"position":[[0,11]]},"2420":{"position":[[0,11]]},"2423":{"position":[[0,11]]},"2428":{"position":[[0,11]]},"2432":{"position":[[0,11]]},"2440":{"position":[[0,11]]},"2457":{"position":[[0,11]]},"2481":{"position":[[0,11]]},"2488":{"position":[[0,11]]}},"content":{"10":{"position":[[890,10],[1241,10]]},"53":{"position":[[419,10]]},"54":{"position":[[429,10]]},"75":{"position":[[114,8]]},"98":{"position":[[284,9]]},"111":{"position":[[26,8]]},"112":{"position":[[19,8]]},"213":{"position":[[1472,10]]},"241":{"position":[[2876,8]]},"243":{"position":[[703,8],[788,8]]},"249":{"position":[[242,8]]},"253":{"position":[[374,8]]},"270":{"position":[[237,9]]},"327":{"position":[[426,10]]},"328":{"position":[[570,10],[609,11],[744,10]]},"331":{"position":[[92,11]]},"440":{"position":[[32,8]]},"681":{"position":[[52,8]]},"727":{"position":[[44,8]]},"786":{"position":[[213,8]]},"839":{"position":[[33,10]]},"844":{"position":[[20,8]]},"947":{"position":[[81,10]]},"1024":{"position":[[163,8]]},"1045":{"position":[[69,8]]},"1046":{"position":[[18,8]]},"1096":{"position":[[12,10]]},"1350":{"position":[[220,8]]},"1355":{"position":[[220,8]]},"1360":{"position":[[220,8]]},"1365":{"position":[[220,8]]},"1370":{"position":[[220,8]]},"1375":{"position":[[174,8]]},"1379":{"position":[[174,8]]},"1476":{"position":[[3795,8]]},"1479":{"position":[[1472,10]]},"1634":{"position":[[17,8]]},"1646":{"position":[[70,10]]},"2039":{"position":[[190,8]]},"2240":{"position":[[5857,8],[5879,8]]},"2370":{"position":[[2390,8]]},"2400":{"position":[[382,8]]},"2419":{"position":[[252,8]]},"2461":{"position":[[39,8],[61,8]]}},"keywords":{}}],["propertyattribut",{"_index":8794,"title":{},"content":{"2275":{"position":[[178,17]]},"2352":{"position":[[320,17]]},"2451":{"position":[[283,17]]},"2461":{"position":[[159,17]]}},"keywords":{}}],["propertynetworktim",{"_index":3782,"title":{},"content":{"728":{"position":[[43,20]]}},"keywords":{}}],["protect",{"_index":242,"title":{},"content":{"10":{"position":[[589,9],[1722,9],[1864,9],[2069,9],[2153,9]]},"117":{"position":[[1044,9]]},"291":{"position":[[708,9],[1069,9]]},"310":{"position":[[199,9]]},"311":{"position":[[189,9]]},"312":{"position":[[196,9]]},"488":{"position":[[9,9]]},"548":{"position":[[54,9],[193,9]]},"549":{"position":[[30,9]]},"843":{"position":[[34,9]]},"845":{"position":[[50,9]]},"1474":{"position":[[13183,9],[13288,9],[14439,9],[21334,7]]},"1566":{"position":[[1199,9]]},"1711":{"position":[[73,9],[178,9]]},"1795":{"position":[[174,9],[656,9]]},"1820":{"position":[[62,9]]},"1826":{"position":[[75,9]]},"1858":{"position":[[22,9]]},"1863":{"position":[[22,9]]},"1893":{"position":[[25,9]]},"1894":{"position":[[28,9]]},"1896":{"position":[[20,9]]},"1901":{"position":[[20,9],[60,9]]},"2023":{"position":[[25,9],[83,9]]},"2027":{"position":[[485,9]]},"2031":{"position":[[25,9]]},"2105":{"position":[[34,9]]},"2109":{"position":[[22,9]]},"2110":{"position":[[25,9],[134,9],[245,9],[316,9]]},"2118":{"position":[[22,9]]},"2119":{"position":[[25,9],[134,9],[245,9],[316,9]]},"2188":{"position":[[22,9]]},"2189":{"position":[[25,9],[134,9],[245,9],[316,9]]},"2253":{"position":[[22,9],[80,9],[1137,9]]},"2269":{"position":[[234,9]]},"2290":{"position":[[306,9]]},"2327":{"position":[[420,9]]},"2357":{"position":[[28,9],[327,9]]},"2358":{"position":[[3127,9],[3203,9]]},"2359":{"position":[[42,9],[243,9],[427,9],[913,9],[4002,9],[4887,9],[5011,9]]},"2417":{"position":[[1992,9],[2441,9],[9062,9],[9508,9]]},"2423":{"position":[[30,9]]},"2428":{"position":[[30,9]]},"2432":{"position":[[30,9]]}},"keywords":{}}],["protocol",{"_index":909,"title":{},"content":{"81":{"position":[[143,8]]},"191":{"position":[[366,9]]}},"keywords":{}}],["provid",{"_index":96,"title":{},"content":{"0":{"position":[[1868,8]]},"7":{"position":[[125,8]]},"9":{"position":[[641,8]]},"10":{"position":[[242,7]]},"30":{"position":[[423,7]]},"56":{"position":[[94,8]]},"62":{"position":[[223,7]]},"69":{"position":[[214,8],[419,9]]},"94":{"position":[[7,8],[417,8]]},"95":{"position":[[28,7]]},"96":{"position":[[83,8],[406,8]]},"99":{"position":[[66,8],[1028,8]]},"100":{"position":[[101,8],[401,8]]},"117":{"position":[[573,8]]},"175":{"position":[[589,9],[1027,8]]},"179":{"position":[[56,9],[74,7],[356,11]]},"191":{"position":[[438,9]]},"226":{"position":[[110,7]]},"258":{"position":[[154,9]]},"263":{"position":[[668,7]]},"316":{"position":[[1069,7]]},"317":{"position":[[962,9]]},"326":{"position":[[7,8]]},"337":{"position":[[1507,7]]},"1208":{"position":[[0,7]]},"1298":{"position":[[18,8]]},"1473":{"position":[[388,7]]},"1476":{"position":[[2287,7],[8301,7],[8835,7]]},"1583":{"position":[[14,7]]},"1590":{"position":[[23,7]]},"1746":{"position":[[19,7]]},"2240":{"position":[[2217,8],[5391,7],[5469,8]]},"2344":{"position":[[25,8]]},"2352":{"position":[[50,7],[128,8]]}},"keywords":{}}],["proxim",{"_index":92,"title":{"22":{"position":[[8,9]]},"260":{"position":[[8,9]]}},"content":{"0":{"position":[[1622,9],[1652,9],[1750,9]]},"22":{"position":[[8,9],[38,9],[136,9],[421,9],[527,9],[931,9],[1030,9],[1207,9]]},"46":{"position":[[992,9],[1171,9]]},"260":{"position":[[17,9]]},"264":{"position":[[232,9],[269,9],[647,9],[1263,9]]}},"keywords":{}}],["ptr",{"_index":8083,"title":{},"content":{"2031":{"position":[[4541,3],[4620,5],[4710,3]]}},"keywords":{}}],["public",{"_index":252,"title":{},"content":{"10":{"position":[[812,6],[844,6],[1011,6],[1140,6],[1156,6],[1182,6],[1207,6],[1607,6]]},"15":{"position":[[939,6]]},"27":{"position":[[0,6],[43,6],[85,6]]},"35":{"position":[[0,6],[41,6],[81,6],[124,6],[191,6],[261,6],[327,6],[423,6],[519,6],[635,6]]},"36":{"position":[[0,6],[43,6],[85,6],[152,6],[222,6],[265,6],[307,6],[379,6]]},"42":{"position":[[680,6],[719,6],[749,6],[769,6],[1226,6],[1252,6],[1277,6],[1324,6],[1354,6],[1757,6],[2119,6]]},"71":{"position":[[1455,6],[1726,6]]},"85":{"position":[[587,6],[616,6],[631,6],[1009,6],[1038,6],[1053,6]]},"92":{"position":[[1598,6]]},"100":{"position":[[511,6],[664,6]]},"116":{"position":[[137,6],[162,6]]},"117":{"position":[[704,6],[837,6],[902,6],[961,6],[2419,6],[2478,6],[2499,6],[2521,6],[2591,6],[2631,6],[2653,6],[2708,6]]},"123":{"position":[[34,6],[121,6]]},"124":{"position":[[50,6],[131,6]]},"125":{"position":[[42,6],[143,6],[566,6]]},"129":{"position":[[72,6],[165,6]]},"130":{"position":[[52,6],[120,6],[200,6]]},"131":{"position":[[48,6],[80,6],[513,6]]},"135":{"position":[[34,6],[110,6]]},"136":{"position":[[36,6],[112,6]]},"137":{"position":[[31,6],[63,6],[474,6]]},"141":{"position":[[0,6],[82,6]]},"142":{"position":[[37,6],[138,6],[561,6]]},"148":{"position":[[71,6],[172,6]]},"149":{"position":[[100,6],[213,6]]},"150":{"position":[[23,6],[118,6]]},"151":{"position":[[68,6],[131,6],[349,6],[928,6]]},"155":{"position":[[77,6],[167,6]]},"156":{"position":[[45,6],[77,6],[518,6]]},"158":{"position":[[77,6],[165,6]]},"159":{"position":[[52,6],[120,6],[200,6]]},"160":{"position":[[48,6],[80,6],[513,6]]},"184":{"position":[[693,6]]},"186":{"position":[[286,6]]},"203":{"position":[[1604,6]]},"207":{"position":[[225,6]]},"209":{"position":[[376,6],[423,6],[455,6],[565,6],[632,6],[684,6]]},"210":{"position":[[590,6],[748,6],[997,6],[1209,6],[1255,6],[1285,6],[1365,6],[1552,6]]},"211":{"position":[[112,6],[187,6],[635,6]]},"224":{"position":[[223,6],[266,6],[368,6]]},"225":{"position":[[392,6],[435,6],[464,6],[493,6]]},"238":{"position":[[511,6],[558,6],[606,6],[947,6],[1273,6],[2484,6]]},"240":{"position":[[1613,6],[1861,6],[1926,6],[1972,6],[2009,6],[2038,6],[2068,6],[2097,6],[2175,6]]},"241":{"position":[[2175,6],[2265,6],[2299,6],[2329,6],[2358,6],[3067,6]]},"242":{"position":[[166,6],[238,6]]},"245":{"position":[[376,6],[424,6],[454,6],[482,6],[504,6],[526,6],[862,6],[1846,6],[3643,6],[3692,6],[3782,6]]},"249":{"position":[[1148,6],[1441,6]]},"251":{"position":[[272,6],[352,6],[400,6],[426,6],[451,6],[1896,6],[2579,6]]},"254":{"position":[[883,6],[937,6],[966,6],[1014,6]]},"255":{"position":[[135,6]]},"264":{"position":[[312,6]]},"272":{"position":[[452,6],[501,6],[560,6],[673,6],[731,6],[790,6],[893,6],[1023,6]]},"273":{"position":[[517,6],[558,6],[627,6],[756,6]]},"279":{"position":[[135,6]]},"280":{"position":[[142,6],[171,6],[189,6],[214,6],[234,6],[305,6],[334,6],[748,6]]},"285":{"position":[[121,6]]},"288":{"position":[[401,6],[542,6],[710,6],[961,6],[1022,6],[1783,6],[2122,6],[2402,6]]},"290":{"position":[[71,6],[122,6],[160,6]]},"291":{"position":[[255,6],[306,6],[344,6],[621,6],[888,6]]},"294":{"position":[[364,6],[415,6],[764,6]]},"295":{"position":[[656,6],[702,6],[751,6],[817,6]]},"307":{"position":[[117,6],[158,6]]},"308":{"position":[[122,6],[173,6],[1534,6],[1587,6]]},"310":{"position":[[147,6]]},"311":{"position":[[137,6]]},"312":{"position":[[144,6]]},"314":{"position":[[1028,6],[1096,6]]},"315":{"position":[[538,6],[581,6],[699,6]]},"316":{"position":[[318,6],[362,6],[407,6],[429,6],[1130,6],[1212,6],[1587,6]]},"317":{"position":[[1140,6],[1162,6],[1181,6],[1208,6],[1240,6],[1278,6],[1446,6]]},"319":{"position":[[107,6],[179,6],[195,6]]},"320":{"position":[[373,6],[402,6],[501,6],[546,6],[636,6]]},"321":{"position":[[248,6],[283,6]]},"322":{"position":[[163,6],[195,6],[215,6],[233,6],[279,6]]},"327":{"position":[[202,6],[615,6],[1056,6],[1079,6],[1101,6]]},"328":{"position":[[58,6],[160,6],[755,6],[778,6],[821,6],[869,6],[986,6],[1033,6],[1185,6],[1504,6],[1532,6],[1554,6],[1584,6],[1631,6],[1886,6],[2378,6],[2425,6],[2640,6]]},"332":{"position":[[475,6],[608,6],[657,6],[937,6]]},"337":{"position":[[157,6],[232,6]]},"340":{"position":[[22,6],[79,6],[220,6],[761,6],[819,6],[877,6],[1037,6]]},"343":{"position":[[81,6],[102,6],[122,6],[144,6],[169,6],[210,6]]},"345":{"position":[[40,6],[81,6],[186,6],[955,6]]},"346":{"position":[[50,6],[129,6],[161,6],[196,6],[475,6],[1486,6]]},"348":{"position":[[554,6],[1069,6],[1332,6]]},"351":{"position":[[62,6],[83,6],[103,6],[122,6],[146,6],[265,6],[301,6]]},"353":{"position":[[40,6],[877,6]]},"381":{"position":[[34,6]]},"398":{"position":[[7,6]]},"436":{"position":[[68,6]]},"509":{"position":[[71,6]]},"522":{"position":[[28,6]]},"549":{"position":[[51,6]]},"555":{"position":[[278,6]]},"605":{"position":[[12,6]]},"608":{"position":[[28,6]]},"614":{"position":[[282,6]]},"625":{"position":[[19,6]]},"702":{"position":[[46,6]]},"768":{"position":[[145,6]]},"934":{"position":[[30,6]]},"1141":{"position":[[19,6],[61,6],[103,6],[145,6],[187,6],[229,6],[271,6]]},"1467":{"position":[[309,6]]},"1474":{"position":[[12242,6]]},"1476":{"position":[[4734,6]]},"1513":{"position":[[16,6]]},"1566":{"position":[[1086,6]]},"1771":{"position":[[29,6],[96,6],[164,6]]},"1772":{"position":[[35,6],[187,6]]},"1774":{"position":[[22,6],[113,6],[239,6],[323,6]]},"1775":{"position":[[36,6],[284,6],[631,6],[980,6],[1222,6]]},"1777":{"position":[[91,6],[142,6],[293,6]]},"1780":{"position":[[219,6]]},"1781":{"position":[[256,6]]},"1783":{"position":[[33,6],[900,6]]},"1785":{"position":[[32,6]]},"1791":{"position":[[22,6]]},"1793":{"position":[[32,6]]},"1795":{"position":[[969,6]]},"1801":{"position":[[66,6]]},"1802":{"position":[[121,6],[258,6]]},"1803":{"position":[[173,6]]},"1805":{"position":[[22,6],[65,6]]},"1806":{"position":[[40,6]]},"1807":{"position":[[37,6]]},"1809":{"position":[[22,6],[82,6]]},"1814":{"position":[[25,6]]},"1816":{"position":[[21,6],[71,6],[128,6],[206,6]]},"1817":{"position":[[22,6]]},"1819":{"position":[[27,6],[127,6],[225,6],[282,6],[446,6]]},"1820":{"position":[[409,6]]},"1825":{"position":[[25,6]]},"1826":{"position":[[431,6]]},"1832":{"position":[[25,6]]},"1837":{"position":[[28,6],[104,6]]},"1838":{"position":[[30,6]]},"1840":{"position":[[31,6],[116,6]]},"1841":{"position":[[21,6],[111,6]]},"1842":{"position":[[30,6]]},"1844":{"position":[[39,6]]},"1846":{"position":[[44,6]]},"1847":{"position":[[22,6]]},"1848":{"position":[[25,6],[112,6],[157,6]]},"1850":{"position":[[30,6],[102,6]]},"1851":{"position":[[30,6]]},"1853":{"position":[[25,6],[95,6],[313,6]]},"1854":{"position":[[20,6],[72,6],[127,6],[183,6]]},"1855":{"position":[[400,6],[443,6],[508,6],[680,6],[854,6],[1030,6],[1181,6],[1292,6],[1452,6],[1499,6],[1644,6],[1786,6],[1938,6],[2130,6],[2307,6],[2527,6],[2681,6],[2876,6],[3016,6],[3146,6],[3452,6],[3668,6],[3790,6]]},"1857":{"position":[[37,6]]},"1859":{"position":[[20,6],[72,6],[127,6]]},"1860":{"position":[[400,6],[443,6],[508,6],[680,6],[854,6],[1030,6],[1181,6],[1432,6],[1479,6],[1624,6],[1765,6],[1905,6],[2211,6],[2401,6],[2597,6],[2839,6],[3075,6],[3305,6],[3533,6],[3758,6],[3994,6],[4189,6]]},"1862":{"position":[[63,6]]},"1864":{"position":[[20,6],[72,6],[127,6],[176,6],[243,6],[600,6]]},"1865":{"position":[[400,6],[443,6],[508,6],[680,6],[854,6],[1030,6],[1182,6],[1235,6],[1381,6],[1539,6],[1721,6],[1870,6],[2082,6],[2347,6],[2603,6],[2832,6]]},"1869":{"position":[[21,6],[72,6]]},"1870":{"position":[[38,6],[233,6]]},"1872":{"position":[[26,6],[86,6]]},"1873":{"position":[[20,6],[72,6],[127,6]]},"1874":{"position":[[400,6],[443,6],[508,6],[680,6],[854,6],[1030,6],[1182,6],[1294,6],[1454,6],[1508,6],[1645,6]]},"1875":{"position":[[1552,6]]},"1877":{"position":[[22,6]]},"1878":{"position":[[32,6]]},"1880":{"position":[[21,6],[66,6]]},"1881":{"position":[[22,6]]},"1885":{"position":[[21,6],[71,6],[129,6],[206,6]]},"1886":{"position":[[23,6]]},"1888":{"position":[[21,6],[71,6],[129,6]]},"1894":{"position":[[199,6]]},"1897":{"position":[[44,6],[208,6],[353,6]]},"1899":{"position":[[34,6],[168,6],[291,6]]},"1902":{"position":[[48,6],[224,6],[381,6]]},"1904":{"position":[[39,6],[181,6],[307,6],[449,6]]},"1905":{"position":[[1190,6]]},"1907":{"position":[[53,6],[237,6],[397,6],[605,6]]},"1909":{"position":[[49,6],[221,6],[369,6],[560,6]]},"1910":{"position":[[71,6]]},"1911":{"position":[[1451,6]]},"1912":{"position":[[72,6]]},"1925":{"position":[[75,6]]},"1926":{"position":[[1420,6]]},"1930":{"position":[[87,6]]},"1932":{"position":[[48,6],[236,6]]},"1934":{"position":[[22,6]]},"1935":{"position":[[42,6],[247,6],[473,6],[824,6],[1236,6]]},"1937":{"position":[[24,6]]},"1939":{"position":[[40,6],[268,6],[527,6],[707,6],[880,6],[1057,6],[1236,6]]},"1941":{"position":[[54,6],[260,6]]},"1942":{"position":[[19,6],[63,6],[111,6]]},"1943":{"position":[[23,6]]},"1944":{"position":[[54,6]]},"1946":{"position":[[79,6]]},"1947":{"position":[[46,6],[256,6]]},"1951":{"position":[[70,6]]},"1952":{"position":[[25,6],[99,6],[154,6],[448,6],[500,6],[555,6]]},"1953":{"position":[[48,6],[265,6]]},"1960":{"position":[[88,6]]},"1961":{"position":[[58,6],[144,6],[255,6],[342,6],[419,6],[472,6]]},"1962":{"position":[[74,6]]},"1963":{"position":[[42,6]]},"1964":{"position":[[63,6]]},"1966":{"position":[[77,6],[489,6],[922,6],[1473,6],[1987,6],[2383,6]]},"1970":{"position":[[137,6],[189,6]]},"1971":{"position":[[46,6],[266,6],[755,6],[1211,6],[1424,6],[1670,6]]},"1973":{"position":[[20,6],[67,6],[115,6]]},"1975":{"position":[[22,6],[64,6]]},"1977":{"position":[[20,6],[67,6],[183,6],[225,6]]},"1979":{"position":[[77,6],[494,6],[1015,6]]},"1981":{"position":[[39,6]]},"1985":{"position":[[55,6]]},"1987":{"position":[[34,6]]},"1988":{"position":[[27,6],[194,6],[372,6],[535,6]]},"1990":{"position":[[173,6],[669,6],[1085,6]]},"1992":{"position":[[230,6],[501,6]]},"1994":{"position":[[80,6],[329,6]]},"1996":{"position":[[49,6],[382,6]]},"1998":{"position":[[84,6],[323,6]]},"2000":{"position":[[42,6],[296,6],[466,6],[806,6]]},"2001":{"position":[[97,6],[333,6],[686,6],[867,6],[1080,6],[1273,6]]},"2003":{"position":[[153,6],[492,6],[762,6],[1080,6],[1342,6],[1615,6],[1958,6],[2275,6],[2523,6],[2801,6],[3081,6],[3346,6],[3602,6],[3915,6]]},"2005":{"position":[[17,6]]},"2007":{"position":[[59,6]]},"2009":{"position":[[165,6]]},"2010":{"position":[[142,6],[243,6],[380,6],[552,6],[736,6],[950,6],[1249,6]]},"2012":{"position":[[67,6],[332,6],[588,6],[849,6],[1118,6],[1371,6],[1636,6],[1885,6]]},"2014":{"position":[[17,6],[63,6],[109,6],[155,6],[202,6],[249,6],[296,6],[344,6],[392,6],[441,6],[492,6],[543,6],[594,6],[645,6],[697,6],[749,6],[801,6],[854,6],[907,6],[960,6],[1014,6],[1068,6],[1122,6],[1176,6],[1231,6],[1286,6],[1341,6],[1397,6],[1453,6],[1509,6],[1566,6],[1623,6],[1680,6],[1737,6],[1795,6],[1853,6],[1911,6],[1970,6],[2029,6],[2088,6],[2148,6],[2208,6],[2268,6],[2328,6],[2389,6],[2450,6],[2511,6],[2573,6],[2635,6],[2697,6],[2760,6],[2823,6],[2886,6],[2949,6],[3013,6],[3077,6],[3141,6],[3206,6],[3271,6],[3336,6],[3402,6],[3468,6],[3534,6],[3600,6]]},"2016":{"position":[[38,6],[334,6],[809,6],[1253,6]]},"2018":{"position":[[91,6]]},"2019":{"position":[[153,6],[409,6]]},"2021":{"position":[[30,6]]},"2022":{"position":[[63,6],[165,6],[269,6]]},"2023":{"position":[[245,6],[314,6],[476,6],[605,6],[807,6],[931,6],[1131,6],[1298,6],[1437,6],[1538,6],[1628,6],[1716,6],[1808,6],[1902,6],[1992,6],[2084,6],[2175,6],[2269,6],[2363,6],[2457,6],[2661,6],[2912,6],[3205,6],[3420,6],[3639,6],[3832,6]]},"2025":{"position":[[53,6],[270,6],[496,6],[714,6],[933,6],[1156,6],[1381,6],[1605,6]]},"2027":{"position":[[57,6],[367,6]]},"2029":{"position":[[35,6],[185,6]]},"2030":{"position":[[48,6],[190,6],[315,6]]},"2031":{"position":[[74,6],[189,6],[285,6],[436,6],[600,6],[725,6],[845,6],[964,6],[1088,6],[1213,6],[1335,6],[1458,6],[1581,6],[1707,6],[1833,6],[1961,6],[2348,6],[2881,6],[3365,6],[3574,6],[3791,6],[4018,6],[4262,6],[4587,6]]},"2033":{"position":[[64,6],[414,6]]},"2035":{"position":[[45,6]]},"2037":{"position":[[19,6]]},"2039":{"position":[[324,6]]},"2040":{"position":[[49,6],[272,6],[521,6],[902,6]]},"2042":{"position":[[38,6]]},"2043":{"position":[[78,6],[208,6]]},"2044":{"position":[[36,6],[211,6],[400,6],[582,6],[746,6],[936,6]]},"2046":{"position":[[45,6]]},"2047":{"position":[[42,6],[228,6]]},"2049":{"position":[[44,6]]},"2050":{"position":[[42,6],[227,6]]},"2052":{"position":[[46,6],[247,6]]},"2054":{"position":[[195,6]]},"2056":{"position":[[54,6],[282,6],[502,6],[725,6],[961,6],[1195,6],[1428,6],[1663,6],[1901,6],[2127,6],[2389,6],[2646,6],[2873,6],[3093,6],[3313,6],[3546,6],[3777,6],[4011,6],[4244,6],[4479,6],[4705,6],[4954,6]]},"2058":{"position":[[51,6],[267,6],[483,6],[705,6],[936,6],[1157,6],[1367,6],[1577,6],[1780,6],[1982,6],[2190,6],[2402,6],[2615,6],[2828,6],[3044,6],[3269,6],[3489,6],[3696,6],[3906,6],[4108,6],[4311,6],[4514,6]]},"2060":{"position":[[49,6],[286,6]]},"2062":{"position":[[47,6]]},"2063":{"position":[[43,6],[230,6]]},"2065":{"position":[[43,6],[246,6]]},"2066":{"position":[[41,6],[311,6],[671,6],[871,6],[1071,6],[1268,6],[1472,6],[1676,6]]},"2068":{"position":[[67,6],[337,6],[568,6],[827,6]]},"2070":{"position":[[47,6]]},"2071":{"position":[[43,6],[230,6]]},"2073":{"position":[[58,6],[312,6],[562,6]]},"2074":{"position":[[43,6],[224,6]]},"2076":{"position":[[83,6],[435,6],[712,6],[1048,6]]},"2078":{"position":[[73,6],[412,6],[736,6]]},"2079":{"position":[[43,6],[224,6]]},"2080":{"position":[[189,6]]},"2082":{"position":[[51,6]]},"2083":{"position":[[625,6]]},"2085":{"position":[[20,6]]},"2087":{"position":[[38,6]]},"2089":{"position":[[28,6],[179,6],[333,6],[485,6]]},"2097":{"position":[[59,6]]},"2098":{"position":[[21,6],[77,6],[130,6]]},"2099":{"position":[[28,6]]},"2100":{"position":[[49,6]]},"2102":{"position":[[27,6],[76,6],[116,6],[162,6],[207,6]]},"2103":{"position":[[29,6],[145,6],[213,6],[416,6],[519,6],[715,6]]},"2106":{"position":[[98,6]]},"2108":{"position":[[73,6]]},"2112":{"position":[[104,6]]},"2113":{"position":[[30,6],[143,6],[268,6],[373,6],[446,6],[593,6],[761,6],[848,6]]},"2114":{"position":[[24,6],[225,6],[488,6],[636,6],[731,6],[1031,6],[1322,6],[1593,6],[1932,6],[2124,6],[2331,6]]},"2116":{"position":[[27,6]]},"2117":{"position":[[34,6]]},"2119":{"position":[[403,6],[585,6]]},"2121":{"position":[[20,6]]},"2122":{"position":[[55,6],[340,6]]},"2126":{"position":[[49,6],[257,6],[483,6],[699,6],[929,6],[1139,6],[1366,6],[1579,6]]},"2130":{"position":[[75,6],[214,6],[335,6],[646,6],[767,6],[989,6],[1112,6],[1215,6],[1374,6],[1492,6],[1690,6],[1915,6],[2254,6],[2467,6],[2666,6],[2840,6]]},"2132":{"position":[[50,6],[282,6],[535,6],[825,6],[1157,6],[1470,6],[1793,6],[2021,6]]},"2149":{"position":[[47,6]]},"2150":{"position":[[101,6]]},"2160":{"position":[[28,6],[78,6]]},"2164":{"position":[[29,6]]},"2165":{"position":[[24,6],[82,6],[141,6]]},"2166":{"position":[[28,6],[160,6],[276,6],[395,6],[526,6],[671,6],[822,6],[971,6],[1118,6],[1263,6],[1406,6],[1558,6]]},"2168":{"position":[[98,6],[168,6],[256,6],[338,6],[428,6],[520,6],[615,6],[709,6],[815,6],[929,6],[1054,6],[1180,6],[1307,6],[1508,6],[1648,6],[1861,6],[1991,6],[2186,6],[2320,6],[2527,6],[2651,6],[2840,6],[2968,6],[3169,6]]},"2169":{"position":[[75,6],[264,6],[392,6],[593,6]]},"2171":{"position":[[75,6]]},"2172":{"position":[[26,6]]},"2173":{"position":[[30,6],[173,6],[372,6],[483,6],[585,6]]},"2174":{"position":[[45,6]]},"2175":{"position":[[52,6]]},"2177":{"position":[[47,6]]},"2178":{"position":[[21,6],[71,6],[123,6]]},"2179":{"position":[[25,6]]},"2183":{"position":[[126,6],[625,6]]},"2184":{"position":[[22,6]]},"2185":{"position":[[103,6],[269,6],[335,6]]},"2187":{"position":[[125,6]]},"2191":{"position":[[31,6]]},"2192":{"position":[[75,6]]},"2193":{"position":[[76,6],[275,6],[557,6],[855,6]]},"2198":{"position":[[118,6]]},"2199":{"position":[[73,6],[252,6],[425,6],[666,6]]},"2201":{"position":[[41,6],[242,6]]},"2202":{"position":[[24,6]]},"2203":{"position":[[19,6],[66,6],[195,6],[245,6],[302,6],[364,6],[420,6]]},"2204":{"position":[[37,6],[193,6],[447,6],[694,6],[987,6],[1130,6],[1249,6],[1447,6],[1581,6],[1884,6],[1969,6],[2043,6]]},"2206":{"position":[[21,6],[71,6]]},"2208":{"position":[[40,6]]},"2209":{"position":[[20,6]]},"2210":{"position":[[29,6],[191,6],[290,6]]},"2212":{"position":[[43,6]]},"2213":{"position":[[27,6]]},"2215":{"position":[[42,6]]},"2217":{"position":[[221,6]]},"2221":{"position":[[43,6]]},"2222":{"position":[[24,6]]},"2223":{"position":[[30,6],[173,6],[308,6],[350,6],[456,6],[692,6]]},"2227":{"position":[[30,6],[173,6],[308,6],[371,6],[497,6],[733,6]]},"2229":{"position":[[46,6],[284,6]]},"2231":{"position":[[22,6],[64,6],[108,6],[161,6]]},"2232":{"position":[[28,6]]},"2233":{"position":[[35,6],[169,6],[300,6],[465,6]]},"2234":{"position":[[35,6]]},"2235":{"position":[[76,6]]},"2237":{"position":[[69,6]]},"2238":{"position":[[21,6]]},"2246":{"position":[[61,6]]},"2247":{"position":[[19,6]]},"2248":{"position":[[24,6]]},"2252":{"position":[[21,6],[71,6],[127,6],[202,6],[284,6],[359,6],[420,6],[465,6],[519,6],[627,6],[773,6]]},"2253":{"position":[[398,6],[652,6],[925,6],[1496,6]]},"2255":{"position":[[217,6]]},"2263":{"position":[[181,6],[445,6],[695,6]]},"2264":{"position":[[21,6]]},"2265":{"position":[[150,6],[314,6],[804,6],[1669,6],[2647,6],[2948,6],[3357,6],[4237,6],[5130,6],[5588,6],[5956,6],[6364,6],[6639,6],[6739,6],[7060,6]]},"2267":{"position":[[22,6],[67,6],[119,6],[212,6]]},"2269":{"position":[[49,6]]},"2270":{"position":[[45,6]]},"2272":{"position":[[46,6]]},"2273":{"position":[[20,6],[68,6]]},"2274":{"position":[[22,6],[69,6]]},"2275":{"position":[[134,6]]},"2277":{"position":[[103,6]]},"2279":{"position":[[217,6]]},"2281":{"position":[[71,6],[318,6]]},"2283":{"position":[[20,6]]},"2285":{"position":[[21,6],[242,6]]},"2287":{"position":[[254,6]]},"2288":{"position":[[64,6]]},"2290":{"position":[[162,6]]},"2313":{"position":[[217,6]]},"2314":{"position":[[42,6]]},"2315":{"position":[[47,6]]},"2316":{"position":[[52,6]]},"2317":{"position":[[57,6]]},"2319":{"position":[[63,6]]},"2320":{"position":[[84,6],[549,6],[661,6],[760,6],[1015,6]]},"2322":{"position":[[339,6],[900,6],[1617,6],[2339,6]]},"2324":{"position":[[52,6]]},"2325":{"position":[[26,6],[411,6]]},"2327":{"position":[[82,6],[206,6]]},"2329":{"position":[[81,6],[349,6],[708,6],[1081,6]]},"2331":{"position":[[30,6],[121,6]]},"2332":{"position":[[71,6],[366,6],[863,6],[1081,6],[1519,6],[1739,6]]},"2334":{"position":[[55,6]]},"2335":{"position":[[20,6]]},"2336":{"position":[[55,6]]},"2338":{"position":[[40,6]]},"2339":{"position":[[20,6]]},"2341":{"position":[[32,6],[192,6]]},"2342":{"position":[[20,6],[77,6]]},"2343":{"position":[[28,6],[144,6],[328,6]]},"2344":{"position":[[219,6]]},"2346":{"position":[[48,6]]},"2347":{"position":[[45,6],[158,6],[311,6]]},"2349":{"position":[[32,6],[89,6],[141,6],[205,6],[283,6],[349,6],[409,6],[466,6],[630,6]]},"2350":{"position":[[22,6],[134,6],[204,6],[347,6],[469,6],[658,6],[848,6],[996,6],[1142,6],[1253,6],[1307,6],[1371,6],[1445,6],[1626,6],[1746,6]]},"2351":{"position":[[98,6],[365,6],[769,6],[968,6],[1212,6],[1406,6],[1462,6]]},"2352":{"position":[[273,6]]},"2353":{"position":[[83,6]]},"2355":{"position":[[81,6],[348,6]]},"2357":{"position":[[208,6],[423,6]]},"2358":{"position":[[260,6],[391,6],[529,6],[622,6],[1173,6],[1282,6],[1419,6],[1791,6],[1995,6],[2075,6],[2249,6],[2358,6],[2530,6],[2685,6],[2743,6],[2918,6],[3047,6],[3313,6],[3434,6]]},"2359":{"position":[[829,6],[1244,6],[1562,6],[1707,6],[1821,6],[2002,6],[2211,6],[2408,6],[2665,6],[3184,6],[3485,6],[3768,6],[4197,6],[4462,6],[4685,6]]},"2363":{"position":[[20,6]]},"2364":{"position":[[1575,6]]},"2366":{"position":[[21,6],[71,6],[134,6],[216,6],[298,6],[379,6]]},"2367":{"position":[[170,6],[310,6]]},"2369":{"position":[[28,6],[162,6],[253,6],[397,6]]},"2370":{"position":[[100,6],[218,6],[356,6],[449,6],[677,6],[1068,6],[1385,6],[1493,6],[1630,6],[1725,6],[1834,6],[1924,6],[1988,6],[2186,6],[2298,6],[2525,6],[2689,6],[2977,6],[3049,6],[3526,6],[3911,6],[4283,6],[4742,6],[4972,6],[5226,6],[5355,6],[5436,6]]},"2371":{"position":[[194,6],[870,6],[1283,6],[1345,6]]},"2373":{"position":[[29,6],[101,6],[171,6],[229,6],[273,6]]},"2377":{"position":[[29,6],[96,6],[152,6],[211,6],[274,6],[326,6],[380,6]]},"2378":{"position":[[39,6],[122,6],[207,6],[281,6],[358,6]]},"2379":{"position":[[231,6]]},"2381":{"position":[[32,6]]},"2382":{"position":[[103,6]]},"2383":{"position":[[22,6],[73,6],[329,6],[862,6]]},"2385":{"position":[[51,6]]},"2386":{"position":[[199,6]]},"2388":{"position":[[21,6],[85,6]]},"2390":{"position":[[25,6]]},"2392":{"position":[[25,6],[76,6]]},"2394":{"position":[[22,6]]},"2396":{"position":[[81,6],[241,6],[432,6]]},"2397":{"position":[[22,6],[270,6],[803,6]]},"2399":{"position":[[126,6]]},"2400":{"position":[[21,6],[129,6],[261,6],[890,6],[985,6],[1153,6],[1213,6],[1349,6],[1444,6],[1581,6]]},"2401":{"position":[[63,6],[365,6],[543,6],[665,6],[1067,6],[1359,6],[1538,6],[1657,6],[1824,6],[2037,6],[2326,6],[2411,6],[2580,6],[2747,6],[3019,6]]},"2403":{"position":[[159,6]]},"2404":{"position":[[30,6],[286,6],[819,6]]},"2406":{"position":[[28,6]]},"2407":{"position":[[105,6],[204,6]]},"2408":{"position":[[65,6],[208,6],[344,6],[458,6],[588,6],[709,6],[846,6]]},"2409":{"position":[[22,6],[120,6]]},"2411":{"position":[[89,6],[452,6]]},"2412":{"position":[[27,6],[80,6],[130,6],[176,6],[223,6]]},"2413":{"position":[[22,6]]},"2415":{"position":[[21,6],[71,6],[134,6],[216,6],[311,6],[463,6],[590,6]]},"2416":{"position":[[134,6],[265,6],[454,6],[625,6],[777,6],[940,6],[1103,6]]},"2417":{"position":[[22,6],[77,6],[226,6],[628,6],[950,6],[1501,6],[3027,6],[3292,6],[3825,6],[4275,6],[4820,6],[5350,6],[5988,6],[6910,6],[7821,6],[8295,6],[9989,6],[10524,6],[10761,6]]},"2419":{"position":[[32,6],[89,6],[282,6],[345,6],[411,6],[471,6],[524,6],[575,6],[639,6],[709,6],[873,6]]},"2420":{"position":[[22,6],[134,6],[204,6],[349,6],[417,6],[491,6],[568,6],[639,6],[709,6],[782,6],[904,6],[1006,6],[1193,6],[1323,6],[1435,6],[1598,6],[1752,6],[1950,6],[1999,6],[2063,6],[2137,6]]},"2421":{"position":[[131,6],[262,6],[474,6],[530,6],[654,6],[1045,6],[1309,6],[1659,6],[2118,6],[2559,6],[2981,6],[3520,6],[4011,6]]},"2425":{"position":[[24,6],[76,6],[134,6],[192,6],[247,6]]},"2427":{"position":[[30,6],[98,6],[176,6],[251,6]]},"2429":{"position":[[79,6],[372,6],[644,6]]},"2431":{"position":[[21,6]]},"2434":{"position":[[227,6],[949,6]]},"2435":{"position":[[53,6]]},"2437":{"position":[[145,6],[502,6]]},"2439":{"position":[[29,6]]},"2440":{"position":[[43,6],[109,6]]},"2441":{"position":[[58,6]]},"2443":{"position":[[20,6]]},"2445":{"position":[[20,6]]},"2447":{"position":[[21,6],[84,6],[158,6],[212,6]]},"2450":{"position":[[79,6]]},"2451":{"position":[[234,6]]},"2453":{"position":[[20,6]]},"2455":{"position":[[28,6]]},"2457":{"position":[[96,6]]},"2458":{"position":[[65,6],[570,6],[832,6],[1107,6],[1343,6],[1567,6],[1865,6],[2124,6],[2339,6],[2554,6],[2730,6],[2879,6],[3096,6],[3274,6]]},"2461":{"position":[[122,6]]},"2462":{"position":[[274,6]]},"2463":{"position":[[130,6]]},"2465":{"position":[[32,6],[94,6],[161,6]]},"2466":{"position":[[310,6]]},"2469":{"position":[[80,6]]},"2471":{"position":[[217,6]]},"2473":{"position":[[46,6],[284,6],[634,6]]},"2474":{"position":[[253,6]]},"2476":{"position":[[22,6],[77,6]]},"2478":{"position":[[456,6],[1398,6],[2193,6],[3052,6],[3657,6],[4207,6],[4718,6],[5094,6],[5616,6]]},"2480":{"position":[[29,6]]},"2481":{"position":[[21,6],[91,6]]},"2482":{"position":[[422,6],[1247,6],[2055,6],[2930,6],[3289,6],[3566,6],[4063,6],[4485,6],[4738,6],[5024,6],[5372,6],[5770,6],[6052,6],[6367,6],[6838,6],[7221,6],[7817,6]]},"2483":{"position":[[67,6]]},"2484":{"position":[[43,6]]},"2486":{"position":[[44,6],[219,6],[503,6],[829,6],[1138,6]]},"2487":{"position":[[21,6],[83,6],[156,6]]},"2488":{"position":[[29,6]]},"2489":{"position":[[49,6],[213,6]]},"2490":{"position":[[38,6]]},"2492":{"position":[[52,6],[169,6],[258,6],[337,6],[469,6],[578,6],[708,6]]},"2493":{"position":[[25,6]]},"2495":{"position":[[43,6]]},"2497":{"position":[[23,6],[72,6],[121,6],[163,6],[208,6]]},"2498":{"position":[[25,6]]},"2500":{"position":[[26,6]]},"2501":{"position":[[110,6]]},"2509":{"position":[[42,6],[181,6]]},"2510":{"position":[[21,6],[77,6]]},"2511":{"position":[[107,6],[411,6]]},"2513":{"position":[[57,6],[282,6]]},"2515":{"position":[[31,6],[350,6],[389,6],[428,6],[477,6],[522,6]]},"2516":{"position":[[45,6],[250,6],[535,6],[799,6],[1013,6],[1224,6],[1446,6]]},"2522":{"position":[[90,6],[251,6],[370,6],[509,6],[604,6]]},"2523":{"position":[[33,6]]},"2525":{"position":[[20,6],[61,6]]},"2527":{"position":[[61,6],[296,6]]},"2529":{"position":[[46,6]]},"2531":{"position":[[22,6]]}},"keywords":{}}],["publicnetworkplayer.sceneisreadi",{"_index":4034,"title":{},"content":{"845":{"position":[[71,32]]}},"keywords":{}}],["pull",{"_index":901,"title":{},"content":{"79":{"position":[[62,4]]},"168":{"position":[[214,4]]},"1477":{"position":[[4418,4]]}},"keywords":{}}],["punch",{"_index":917,"title":{},"content":{"81":{"position":[[224,5]]},"175":{"position":[[864,5]]}},"keywords":{}}],["punctuat",{"_index":5610,"title":{},"content":{"1474":{"position":[[8368,11]]},"1678":{"position":[[69,11]]}},"keywords":{}}],["purchase(str",{"_index":2850,"title":{},"content":{"351":{"position":[[313,15]]}},"keywords":{}}],["pure",{"_index":1405,"title":{},"content":{"175":{"position":[[1125,6]]}},"keywords":{}}],["purpos",{"_index":1352,"title":{},"content":{"172":{"position":[[506,7]]},"213":{"position":[[1665,7]]},"257":{"position":[[501,7]]},"300":{"position":[[146,8]]}},"keywords":{}}],["push",{"_index":4048,"title":{},"content":{"847":{"position":[[147,6]]}},"keywords":{}}],["push(t",{"_index":7405,"title":{},"content":{"1874":{"position":[[1160,8],[1194,6]]}},"keywords":{}}],["put",{"_index":123,"title":{},"content":{"2":{"position":[[261,3]]},"14":{"position":[[988,3]]},"46":{"position":[[496,7]]},"179":{"position":[[276,3],[421,3]]},"182":{"position":[[2129,3],[2258,3],[2345,3]]},"251":{"position":[[136,4],[2380,3]]},"317":{"position":[[162,3]]},"761":{"position":[[28,7]]},"770":{"position":[[33,3]]},"2027":{"position":[[329,4]]},"2033":{"position":[[376,4]]}},"keywords":{}}],["put(t",{"_index":8555,"title":{},"content":{"2185":{"position":[[314,7],[347,5]]}},"keywords":{}}],["putbackinpool(networkident",{"_index":2188,"title":{},"content":{"251":{"position":[[2591,29]]}},"keywords":{}}],["putbackinpool(spawn",{"_index":1924,"title":{},"content":{"237":{"position":[[560,23]]},"251":{"position":[[927,23]]}},"keywords":{}}],["pve",{"_index":232,"title":{},"content":{"10":{"position":[[371,3],[1064,5]]}},"keywords":{}}],["pvp",{"_index":231,"title":{},"content":{"10":{"position":[[364,3],[1058,5]]}},"keywords":{}}],["q",{"_index":1251,"title":{},"content":{"139":{"position":[[447,2],[589,2],[592,2]]}},"keywords":{}}],["q(x,y,z,w",{"_index":1250,"title":{},"content":{"139":{"position":[[432,10]]}},"keywords":{}}],["qualifi",{"_index":321,"title":{},"content":{"14":{"position":[[306,9]]}},"keywords":{}}],["quaternion",{"_index":1147,"title":{"138":{"position":[[0,10]]},"139":{"position":[[0,10]]}},"content":{"119":{"position":[[606,10]]},"139":{"position":[[0,11],[75,11],[391,11],[1169,10]]},"140":{"position":[[0,10]]},"141":{"position":[[89,10]]},"241":{"position":[[1063,10]]},"251":{"position":[[1949,10]]},"332":{"position":[[693,10],[999,10]]},"799":{"position":[[18,10]]},"876":{"position":[[52,10]]},"1043":{"position":[[32,11]]},"1216":{"position":[[0,10]]},"1994":{"position":[[31,12],[50,10],[142,10],[239,10],[299,10],[343,10]]},"2044":{"position":[[225,10],[374,12],[439,10],[533,10],[753,10],[943,10]]},"2425":{"position":[[141,10]]},"2429":{"position":[[44,11],[158,10],[287,10]]},"2497":{"position":[[79,11]]}},"keywords":{}}],["quaternion.ident",{"_index":2085,"title":{},"content":{"245":{"position":[[2433,21],[4170,21]]},"249":{"position":[[842,21]]},"251":{"position":[[4005,21]]},"597":{"position":[[38,19]]}},"keywords":{}}],["quaternionbitlength",{"_index":8105,"title":{},"content":{"2042":{"position":[[66,19],[139,19]]}},"keywords":{}}],["quaternionpack",{"_index":1270,"title":{"2041":{"position":[[6,16]]}},"content":{"142":{"position":[[78,16]]},"596":{"position":[[32,16]]},"597":{"position":[[7,16]]},"809":{"position":[[28,14]]},"1983":{"position":[[1487,17]]},"2043":{"position":[[101,16],[231,16]]}},"keywords":{}}],["quaternionpack(9",{"_index":1269,"title":{},"content":{"141":{"position":[[63,18]]},"142":{"position":[[18,18]]}},"keywords":{}}],["quaternionpackattribut",{"_index":7697,"title":{"2034":{"position":[[6,23]]}},"content":{"1983":{"position":[[1462,24]]}},"keywords":{}}],["quaternionpackattribute(int",{"_index":8090,"title":{},"content":{"2035":{"position":[[52,27]]}},"keywords":{}}],["quaternionpackattribute(int32",{"_index":8089,"title":{},"content":{"2035":{"position":[[0,31]]}},"keywords":{}}],["quaternionpacker(9",{"_index":1271,"title":{},"content":{"142":{"position":[[117,20]]}},"keywords":{}}],["quaternionpacker(int",{"_index":8104,"title":{},"content":{"2042":{"position":[[45,20]]}},"keywords":{}}],["quaternionpacker(int32",{"_index":8103,"title":{},"content":{"2042":{"position":[[0,24]]}},"keywords":{}}],["quest",{"_index":2581,"title":{},"content":{"315":{"position":[[114,5],[161,5],[204,5]]},"356":{"position":[[1469,7]]}},"keywords":{}}],["question",{"_index":1697,"title":{},"content":{"203":{"position":[[2252,8]]}},"keywords":{}}],["queu",{"_index":7265,"title":{},"content":{"1835":{"position":[[307,6]]}},"keywords":{}}],["queue",{"_index":5134,"title":{},"content":{"1327":{"position":[[139,5]]},"1330":{"position":[[139,5]]},"1333":{"position":[[139,5]]},"1474":{"position":[[20506,6]]},"1477":{"position":[[3151,5]]},"1601":{"position":[[20,5]]}},"keywords":{}}],["queue<networkidentity>",{"_index":2156,"title":{},"content":{"251":{"position":[[545,28],[1063,31]]}},"keywords":{}}],["quick",{"_index":61,"title":{"9":{"position":[[0,5]]},"200":{"position":[[7,5]]}},"content":{"0":{"position":[[1084,5]]},"7":{"position":[[134,5]]},"9":{"position":[[666,5]]},"168":{"position":[[119,5]]},"187":{"position":[[1004,5],[1242,5]]},"1263":{"position":[[4,5]]},"2358":{"position":[[2134,5],[2417,5]]}},"keywords":{}}],["quickli",{"_index":335,"title":{},"content":{"14":{"position":[[766,7]]},"173":{"position":[[1269,7]]},"262":{"position":[[262,7]]}},"keywords":{}}],["quickstart",{"_index":1718,"title":{},"content":{"209":{"position":[[363,10]]},"210":{"position":[[1196,10]]}},"keywords":{}}],["quit",{"_index":4275,"title":{},"content":{"954":{"position":[[30,4]]},"974":{"position":[[9,8]]},"1474":{"position":[[2513,6]]}},"keywords":{}}],["quot",{"_index":2072,"title":{},"content":{"245":{"position":[[1179,6],[2269,6],[2599,6],[3866,6],[4324,6]]},"249":{"position":[[996,6],[1530,6],[1551,6],[1675,6]]},"280":{"position":[[705,6]]},"677":{"position":[[75,5]]}},"keywords":{}}],["quot;(clone)"",{"_index":6608,"title":{},"content":{"1478":{"position":[[927,19]]}},"keywords":{}}],["quot;anywhere"",{"_index":1474,"title":{},"content":{"182":{"position":[[2075,21],[2204,21],[2291,21]]}},"keywords":{}}],["quot;apple"",{"_index":2471,"title":{},"content":{"294":{"position":[[652,18]]}},"keywords":{}}],["quot;armor",{"_index":2628,"title":{},"content":{"317":{"position":[[1082,11]]}},"keywords":{}}],["quot;client",{"_index":2243,"title":{},"content":{"257":{"position":[[399,12]]}},"keywords":{}}],["quot;clientscene.onspawnprefab",{"_index":6606,"title":{},"content":{"1478":{"position":[[796,31]]}},"keywords":{}}],["quot;cod",{"_index":6618,"title":{},"content":{"1478":{"position":[[1293,10]]}},"keywords":{}}],["quot;creat",{"_index":1489,"title":{},"content":{"182":{"position":[[2956,12]]}},"keywords":{}}],["quot;ded",{"_index":1393,"title":{},"content":{"175":{"position":[[533,15]]}},"keywords":{}}],["quot;destroy",{"_index":5368,"title":{},"content":{"1474":{"position":[[379,13]]}},"keywords":{}}],["quot;devic",{"_index":1534,"title":{},"content":{"184":{"position":[[345,13]]}},"keywords":{}}],["quot;doc",{"_index":6603,"title":{},"content":{"1478":{"position":[[736,10]]}},"keywords":{}}],["quot;docu",{"_index":6627,"title":{},"content":{"1478":{"position":[[1447,16],[1502,16],[1579,16]]}},"keywords":{}}],["quot;don't",{"_index":6634,"title":{},"content":{"1478":{"position":[[1634,11],[1749,11]]}},"keywords":{}}],["quot;download",{"_index":1491,"title":{},"content":{"182":{"position":[[3019,14]]},"183":{"position":[[533,14]]}},"keywords":{}}],["quot;edit"",{"_index":1516,"title":{},"content":{"183":{"position":[[723,17]]}},"keywords":{}}],["quot;empti",{"_index":7235,"title":{},"content":{"1819":{"position":[[62,11]]}},"keywords":{}}],["quot;ep",{"_index":2792,"title":{},"content":{"343":{"position":[[578,10]]}},"keywords":{}}],["quot;exampl",{"_index":2818,"title":{},"content":{"346":{"position":[[221,13]]}},"keywords":{}}],["quot;explain",{"_index":6573,"title":{},"content":{"1478":{"position":[[20,13]]},"1633":{"position":[[20,13]]}},"keywords":{}}],["quot;feat",{"_index":6583,"title":{},"content":{"1478":{"position":[[283,11],[540,11]]}},"keywords":{}}],["quot;fix",{"_index":3981,"title":{},"content":{"825":{"position":[[0,10]]},"1127":{"position":[[7,10]]},"1478":{"position":[[173,10],[667,10]]}},"keywords":{}}],["quot;fre",{"_index":1449,"title":{},"content":{"182":{"position":[[762,10],[919,10]]}},"keywords":{}}],["quot;get",{"_index":1523,"title":{},"content":{"183":{"position":[[1162,9]]}},"keywords":{}}],["quot;hello",{"_index":643,"title":{},"content":{"42":{"position":[[1424,12],[1830,12]]}},"keywords":{}}],["quot;helmet"",{"_index":2790,"title":{},"content":{"343":{"position":[[472,19]]}},"keywords":{}}],["quot;high",{"_index":1348,"title":{},"content":{"172":{"position":[[125,10]]},"257":{"position":[[26,10]]}},"keywords":{}}],["quot;host"",{"_index":8980,"title":{},"content":{"2370":{"position":[[3365,16]]}},"keywords":{}}],["quot;insert",{"_index":6592,"title":{},"content":{"1478":{"position":[[473,14]]}},"keywords":{}}],["quot;launch",{"_index":1437,"title":{},"content":{"182":{"position":[[367,12],[3247,12]]}},"keywords":{}}],["quot;launch"",{"_index":1485,"title":{},"content":{"182":{"position":[[2823,19]]}},"keywords":{}}],["quot;loc",{"_index":1518,"title":{},"content":{"183":{"position":[[761,11]]},"243":{"position":[[237,11]]}},"keywords":{}}],["quot;localhost"",{"_index":5958,"title":{},"content":{"1474":{"position":[[20054,21]]}},"keywords":{}}],["quot;low",{"_index":2240,"title":{},"content":{"257":{"position":[[243,11]]}},"keywords":{}}],["quot;mi",{"_index":1532,"title":{},"content":{"184":{"position":[[233,8]]}},"keywords":{}}],["quot;mirag",{"_index":387,"title":{},"content":{"18":{"position":[[256,12]]}},"keywords":{}}],["quot;more"",{"_index":1520,"title":{},"content":{"183":{"position":[[808,16]]}},"keywords":{}}],["quot;network",{"_index":2241,"title":{},"content":{"257":{"position":[[364,13]]}},"keywords":{}}],["quot;networkclient.shutdown",{"_index":5912,"title":{},"content":{"1474":{"position":[[18005,29]]}},"keywords":{}}],["quot;networkidentity.observ",{"_index":5432,"title":{},"content":{"1474":{"position":[[2800,31]]}},"keywords":{}}],["quot;new",{"_index":2625,"title":{},"content":{"317":{"position":[[1048,9]]},"1478":{"position":[[601,9]]}},"keywords":{}}],["quot;next",{"_index":1454,"title":{},"content":{"182":{"position":[[1014,11],[1190,11],[1571,11],[1682,11],[2677,11]]}},"keywords":{}}],["quot;no",{"_index":7237,"title":{},"content":{"1819":{"position":[[165,8]]}},"keywords":{}}],["quot;noise"",{"_index":654,"title":{},"content":{"43":{"position":[[894,17]]}},"keywords":{}}],["quot;onseri",{"_index":6623,"title":{},"content":{"1478":{"position":[[1374,17]]}},"keywords":{}}],["quot;perf",{"_index":6576,"title":{},"content":{"1478":{"position":[[82,11]]}},"keywords":{}}],["quot;player"",{"_index":1737,"title":{},"content":{"209":{"position":[[1249,18]]}},"keywords":{}}],["quot;player.rpcchangename"",{"_index":2459,"title":{},"content":{"291":{"position":[[960,33]]}},"keywords":{}}],["quot;pref",{"_index":3079,"title":{},"content":{"438":{"position":[[0,11]]}},"keywords":{}}],["quot;previous"",{"_index":1460,"title":{},"content":{"182":{"position":[[1413,20]]}},"keywords":{}}],["quot;ready"",{"_index":613,"title":{},"content":{"42":{"position":[[206,17]]}},"keywords":{}}],["quot;refactor",{"_index":5437,"title":{},"content":{"1474":{"position":[[3014,15]]}},"keywords":{}}],["quot;remov",{"_index":6587,"title":{},"content":{"1478":{"position":[[375,12]]}},"keywords":{}}],["quot;revert",{"_index":6572,"title":{},"content":{"1478":{"position":[[7,12],[69,12]]},"1633":{"position":[[7,12]]}},"keywords":{}}],["quot;run",{"_index":1498,"title":{},"content":{"182":{"position":[[3401,13],[3444,13]]}},"keywords":{}}],["quot;scen",{"_index":2209,"title":{},"content":{"253":{"position":[[105,11]]}},"keywords":{}}],["quot;screen",{"_index":1637,"title":{},"content":{"196":{"position":[[704,12]]}},"keywords":{}}],["quot;select"",{"_index":1452,"title":{},"content":{"182":{"position":[[821,19]]}},"keywords":{}}],["quot;services"",{"_index":1497,"title":{},"content":{"182":{"position":[[3322,20]]}},"keywords":{}}],["quot;smallest",{"_index":8106,"title":{},"content":{"2042":{"position":[[166,14]]}},"keywords":{}}],["quot;sneakers"",{"_index":2794,"title":{},"content":{"343":{"position":[[688,21]]}},"keywords":{}}],["quot;sourc",{"_index":6614,"title":{},"content":{"1478":{"position":[[1225,12]]}},"keywords":{}}],["quot;sword"",{"_index":2797,"title":{},"content":{"343":{"position":[[796,18]]},"351":{"position":[[405,18]]}},"keywords":{}}],["quot;themselves"",{"_index":8932,"title":{},"content":{"2358":{"position":[[874,22]]}},"keywords":{}}],["quot;tim",{"_index":9234,"title":{},"content":{"2515":{"position":[[70,10]]}},"keywords":{}}],["quot;turnip"",{"_index":2469,"title":{},"content":{"294":{"position":[[596,19]]}},"keywords":{}}],["quot;visible"",{"_index":2258,"title":{},"content":{"260":{"position":[[219,19]]}},"keywords":{}}],["quot;weaponsholder"",{"_index":1804,"title":{},"content":{"211":{"position":[[1682,25]]}},"keywords":{}}],["quot;yours"",{"_index":2055,"title":{},"content":{"243":{"position":[[1170,17]]}},"keywords":{}}],["quot;{playernam",{"_index":1762,"title":{},"content":{"210":{"position":[[671,19],[960,19]]}},"keywords":{}}],["quot;{prefab.name}_pooled_{currentcount}"",{"_index":2170,"title":{},"content":{"251":{"position":[[1476,49]]}},"keywords":{}}],["r",{"_index":1642,"title":{},"content":{"197":{"position":[[249,1]]},"198":{"position":[[224,2]]}},"keywords":{}}],["race",{"_index":2869,"title":{},"content":{"355":{"position":[[943,4]]},"497":{"position":[[104,4]]},"998":{"position":[[114,4],[190,4],[276,4]]},"1472":{"position":[[13,4]]},"1474":{"position":[[10518,4],[11342,4]]},"1733":{"position":[[217,4]]},"1766":{"position":[[605,4]]}},"keywords":{}}],["racket",{"_index":730,"title":{},"content":{"54":{"position":[[34,6]]}},"keywords":{}}],["racketspawnleft",{"_index":738,"title":{},"content":{"55":{"position":[[96,16]]}},"keywords":{}}],["racketspawnright",{"_index":739,"title":{},"content":{"55":{"position":[[113,16]]}},"keywords":{}}],["rais",{"_index":4713,"title":{},"content":{"1136":{"position":[[0,5]]},"1282":{"position":[[15,5],[73,5],[130,5]]},"1283":{"position":[[15,5],[73,5],[130,5]]},"1474":{"position":[[7919,6]]},"1476":{"position":[[5394,6],[7095,6]]},"1626":{"position":[[90,6]]},"1630":{"position":[[7,6]]},"1674":{"position":[[14,6]]}},"keywords":{}}],["random",{"_index":534,"title":{},"content":{"31":{"position":[[809,6]]},"133":{"position":[[124,6]]},"202":{"position":[[1147,6]]},"1780":{"position":[[41,6]]},"1781":{"position":[[41,6]]},"2204":{"position":[[1789,6]]},"2257":{"position":[[0,7],[21,6]]}},"keywords":{}}],["random.colorhsv(0f",{"_index":7192,"title":{},"content":{"1780":{"position":[[711,19]]},"1781":{"position":[[775,19]]}},"keywords":{}}],["random.range(0f",{"_index":1741,"title":{},"content":{"209":{"position":[[1340,16],[1362,16]]}},"keywords":{}}],["random.range(10",{"_index":1764,"title":{},"content":{"210":{"position":[[702,17]]}},"keywords":{}}],["random.range(10,200",{"_index":2100,"title":{},"content":{"245":{"position":[[4256,21]]},"249":{"position":[[928,21]]}},"keywords":{}}],["random.range(100",{"_index":1738,"title":{},"content":{"209":{"position":[[1270,17]]}},"keywords":{}}],["randomli",{"_index":1949,"title":{},"content":{"238":{"position":[[2317,8]]}},"keywords":{}}],["rang",{"_index":421,"title":{"126":{"position":[[15,5]]}},"content":{"22":{"position":[[162,5],[179,5],[1268,6],[1329,6]]},"119":{"position":[[179,6],[493,5]]},"129":{"position":[[189,5],[237,5],[370,6],[472,5],[494,5],[552,6]]},"130":{"position":[[233,5],[279,5]]},"135":{"position":[[234,6],[289,6]]},"139":{"position":[[965,5]]},"155":{"position":[[191,5],[239,5],[417,5],[439,5],[497,6]]},"158":{"position":[[189,5],[237,5],[370,6],[472,5],[494,5],[552,6]]},"159":{"position":[[233,5],[279,5]]},"191":{"position":[[327,6],[346,7]]},"211":{"position":[[289,5],[469,5]]},"862":{"position":[[45,5]]},"1474":{"position":[[3212,5]]},"1855":{"position":[[1334,6],[1423,5],[2737,6],[2845,5]]},"1874":{"position":[[1336,6],[1425,5]]},"1983":{"position":[[1856,5]]},"1990":{"position":[[72,5],[509,5],[534,5]]},"2001":{"position":[[78,5],[314,5],[558,5],[616,6],[630,5]]},"2396":{"position":[[29,5]]}},"keywords":{}}],["range.check",{"_index":425,"title":{},"content":{"22":{"position":[[351,11]]}},"keywords":{}}],["rangesvarintblock",{"_index":1140,"title":{},"content":{"119":{"position":[[380,18]]}},"keywords":{}}],["rare",{"_index":1564,"title":{},"content":{"187":{"position":[[1284,4]]}},"keywords":{}}],["rate",{"_index":1369,"title":{},"content":{"173":{"position":[[779,5],[800,4]]},"359":{"position":[[395,4]]},"2288":{"position":[[23,4]]}},"keywords":{}}],["raw",{"_index":8332,"title":{},"content":{"2093":{"position":[[1040,3]]}},"keywords":{}}],["ray",{"_index":8211,"title":{},"content":{"2058":{"position":[[1963,5],[2037,3],[2124,3],[4325,3]]}},"keywords":{}}],["rdp",{"_index":1470,"title":{"183":{"position":[[30,3]]}},"content":{"182":{"position":[[1845,3],[2059,3],[2461,4]]},"183":{"position":[[16,3],[89,3],[137,3],[311,3],[389,3],[399,3],[579,3],[619,3],[680,3],[1019,3],[1033,3]]},"184":{"position":[[300,3]]}},"keywords":{}}],["re",{"_index":497,"title":{},"content":{"24":{"position":[[1938,2]]},"183":{"position":[[1217,2]]},"251":{"position":[[4736,2]]},"300":{"position":[[115,2]]},"585":{"position":[[23,2]]},"854":{"position":[[29,2]]},"900":{"position":[[53,2]]},"987":{"position":[[15,2]]},"1000":{"position":[[722,2],[1075,2]]},"1474":{"position":[[6203,2]]},"1476":{"position":[[9341,2]]},"1580":{"position":[[25,2]]},"1835":{"position":[[1288,2]]},"2091":{"position":[[423,2]]},"2130":{"position":[[168,2]]},"2320":{"position":[[491,2]]},"2417":{"position":[[9911,2]]}},"keywords":{}}],["re)construct",{"_index":9004,"title":{},"content":{"2383":{"position":[[666,13]]},"2397":{"position":[[607,13]]},"2404":{"position":[[623,13]]},"2434":{"position":[[564,13]]}},"keywords":{}}],["reach",{"_index":2166,"title":{},"content":{"251":{"position":[[1290,7],[2145,7],[3081,7]]},"2130":{"position":[[1833,7]]}},"keywords":{}}],["reachabl",{"_index":808,"title":{},"content":{"65":{"position":[[101,9]]}},"keywords":{}}],["react",{"_index":615,"title":{},"content":{"42":{"position":[[336,8]]}},"keywords":{}}],["read",{"_index":941,"title":{"320":{"position":[[26,4]]},"326":{"position":[[9,4]]},"327":{"position":[[10,4]]},"328":{"position":[[14,4]]}},"content":{"85":{"position":[[122,4],[206,4],[306,5]]},"173":{"position":[[844,5]]},"291":{"position":[[193,4]]},"320":{"position":[[58,4],[472,4],[700,4]]},"327":{"position":[[494,4]]},"328":{"position":[[224,4]]},"335":{"position":[[1436,5],[1548,7],[1635,5],[1785,4]]},"346":{"position":[[1573,4],[1726,4]]},"438":{"position":[[36,8],[97,4]]},"662":{"position":[[139,4]]},"739":{"position":[[37,7]]},"895":{"position":[[15,7]]},"927":{"position":[[48,4]]},"1320":{"position":[[0,7]]},"1351":{"position":[[65,4]]},"1356":{"position":[[65,4]]},"1361":{"position":[[12,4]]},"1366":{"position":[[12,4]]},"1371":{"position":[[12,4]]},"1376":{"position":[[12,4]]},"1380":{"position":[[12,4]]},"1384":{"position":[[12,4]]},"1388":{"position":[[12,4]]},"1392":{"position":[[12,4]]},"1396":{"position":[[12,4]]},"1400":{"position":[[12,4]]},"1404":{"position":[[12,4]]},"1408":{"position":[[12,4]]},"1412":{"position":[[12,4]]},"1416":{"position":[[12,4]]},"1420":{"position":[[12,4]]},"1424":{"position":[[12,4]]},"1428":{"position":[[12,4]]},"1432":{"position":[[12,4]]},"1436":{"position":[[12,4]]},"1439":{"position":[[12,4]]},"1457":{"position":[[8,7]]},"1466":{"position":[[27,4]]},"1476":{"position":[[7462,7]]},"1477":{"position":[[355,7]]},"1835":{"position":[[849,5],[1050,5]]},"1998":{"position":[[269,5]]},"2001":{"position":[[1230,5]]},"2010":{"position":[[1155,4]]},"2016":{"position":[[598,4],[1028,4],[1536,4]]},"2022":{"position":[[40,4],[132,7]]},"2023":{"position":[[775,4],[2608,5],[3099,7],[3184,7]]},"2031":{"position":[[2249,4]]},"2037":{"position":[[0,5],[62,4]]},"2158":{"position":[[677,4]]},"2203":{"position":[[0,5],[31,4],[168,4]]},"2204":{"position":[[352,4],[369,4],[423,7],[901,4],[927,4],[1057,4],[1225,4],[1701,4],[1827,5],[1943,4]]},"2227":{"position":[[447,4]]},"2359":{"position":[[3345,4]]},"2400":{"position":[[394,4]]}},"keywords":{}}],["read<t>",{"_index":6091,"title":{},"content":{"1476":{"position":[[860,13]]},"1739":{"position":[[6,13]]}},"keywords":{}}],["read<t>(networkread",{"_index":7757,"title":{},"content":{"1998":{"position":[[239,29]]}},"keywords":{}}],["read<t>(thi",{"_index":7758,"title":{},"content":{"1998":{"position":[[339,18]]}},"keywords":{}}],["read(int",{"_index":8000,"title":{},"content":{"2023":{"position":[[2470,8]]}},"keywords":{}}],["read(int32",{"_index":7999,"title":{},"content":{"2023":{"position":[[2431,12]]}},"keywords":{}}],["read(thi",{"_index":2644,"title":{},"content":{"320":{"position":[[663,9]]}},"keywords":{}}],["read/writ",{"_index":2656,"title":{},"content":{"324":{"position":[[277,10],[412,10]]},"325":{"position":[[308,10]]},"326":{"position":[[30,10]]},"327":{"position":[[21,10],[185,10],[363,10],[577,10],[772,10],[841,10],[933,10],[1024,10]]},"328":{"position":[[7,10],[277,10]]},"1474":{"position":[[5476,10],[12290,10]]},"1476":{"position":[[3502,10]]},"1566":{"position":[[1134,10]]},"1578":{"position":[[233,10]]},"1983":{"position":[[2786,10]]},"2083":{"position":[[173,10]]}},"keywords":{}}],["readarmor(thi",{"_index":2635,"title":{},"content":{"317":{"position":[[1466,14]]}},"keywords":{}}],["readarray",{"_index":3808,"title":{},"content":{"739":{"position":[[22,9]]}},"keywords":{}}],["readarray<t>(networkread",{"_index":7792,"title":{},"content":{"2003":{"position":[[3298,34]]}},"keywords":{}}],["readarray<t>(thi",{"_index":7793,"title":{},"content":{"2003":{"position":[[3364,23]]}},"keywords":{}}],["readarraysegment<t>(networkread",{"_index":7794,"title":{},"content":{"2003":{"position":[[3519,41]]}},"keywords":{}}],["readarraysegment<t>(thi",{"_index":7795,"title":{},"content":{"2003":{"position":[[3638,30]]}},"keywords":{}}],["readatposition(int",{"_index":8002,"title":{},"content":{"2023":{"position":[[2674,18]]}},"keywords":{}}],["readatposition(int32",{"_index":8001,"title":{},"content":{"2023":{"position":[[2578,21]]}},"keywords":{}}],["readboolean",{"_index":7982,"title":{},"content":{"2023":{"position":[[1270,14],[1310,13]]}},"keywords":{}}],["readbooleanasulong",{"_index":7983,"title":{},"content":{"2023":{"position":[[1366,21],[1450,20]]}},"keywords":{}}],["readbooleanextension(networkread",{"_index":8172,"title":{},"content":{"2056":{"position":[[3263,36]]}},"keywords":{}}],["readbooleanextension(thi",{"_index":8173,"title":{},"content":{"2056":{"position":[[3332,25]]}},"keywords":{}}],["readbyt",{"_index":3646,"title":{},"content":{"670":{"position":[[43,9]]},"2023":{"position":[[1603,11],[1640,10]]}},"keywords":{}}],["readbyte(byt",{"_index":8413,"title":{},"content":{"2126":{"position":[[215,16],[276,15]]}},"keywords":{}}],["readbyteextension(networkread",{"_index":8165,"title":{},"content":{"2056":{"position":[[2599,33]]}},"keywords":{}}],["readbyteextension(thi",{"_index":8166,"title":{},"content":{"2056":{"position":[[2665,22]]}},"keywords":{}}],["readbytes(byt",{"_index":8011,"title":{},"content":{"2023":{"position":[[3525,17],[3651,16]]}},"keywords":{}}],["readbytes(networkread",{"_index":7788,"title":{},"content":{"2003":{"position":[[2755,24]]}},"keywords":{}}],["readbytes(thi",{"_index":7789,"title":{},"content":{"2003":{"position":[[2822,14]]}},"keywords":{}}],["readbytesandsize(networkread",{"_index":7783,"title":{},"content":{"2003":{"position":[[2229,32]]}},"keywords":{}}],["readbytesandsize(thi",{"_index":7784,"title":{},"content":{"2003":{"position":[[2296,21]]}},"keywords":{}}],["readbytesandsizesegment(networkread",{"_index":7786,"title":{},"content":{"2003":{"position":[[2470,39]]}},"keywords":{}}],["readbytesandsizesegment(thi",{"_index":7787,"title":{},"content":{"2003":{"position":[[2562,28]]}},"keywords":{}}],["readbytessegment(int",{"_index":8013,"title":{},"content":{"2023":{"position":[[3864,20]]}},"keywords":{}}],["readbytessegment(int32",{"_index":8012,"title":{},"content":{"2023":{"position":[[3794,24]]}},"keywords":{}}],["readchar(networkread",{"_index":8169,"title":{},"content":{"2056":{"position":[[3055,24]]}},"keywords":{}}],["readchar(thi",{"_index":8170,"title":{},"content":{"2056":{"position":[[3112,13]]}},"keywords":{}}],["readcolor(networkread",{"_index":8231,"title":{},"content":{"2058":{"position":[[3450,25]]}},"keywords":{}}],["readcolor(thi",{"_index":8232,"title":{},"content":{"2058":{"position":[[3509,14]]}},"keywords":{}}],["readcolor32(networkread",{"_index":8233,"title":{},"content":{"2058":{"position":[[3655,27]]}},"keywords":{}}],["readcolor32(thi",{"_index":8234,"title":{},"content":{"2058":{"position":[[3718,16]]}},"keywords":{}}],["readcount",{"_index":7978,"title":{},"content":{"2023":{"position":[[903,9],[959,10],[1017,9],[1102,9],[1160,10],[1218,9]]}},"keywords":{}}],["readdatetime(thi",{"_index":2590,"title":{},"content":{"315":{"position":[[722,17]]}},"keywords":{}}],["readdecimalconverter(networkread",{"_index":8182,"title":{},"content":{"2056":{"position":[[4429,36]]}},"keywords":{}}],["readdecimalconverter(thi",{"_index":8183,"title":{},"content":{"2056":{"position":[[4501,25]]}},"keywords":{}}],["readdictionary<tkey",{"_index":7797,"title":{},"content":{"2003":{"position":[[3823,23],[3960,23]]}},"keywords":{}}],["readdoubl",{"_index":7997,"title":{},"content":{"2023":{"position":[[2336,13],[2377,12]]}},"keywords":{}}],["readdoubleconverter(networkread",{"_index":8180,"title":{},"content":{"2056":{"position":[[4195,35]]}},"keywords":{}}],["readdoubleconverter(thi",{"_index":8181,"title":{},"content":{"2056":{"position":[[4265,24]]}},"keywords":{}}],["reader",{"_index":939,"title":{},"content":{"85":{"position":[[26,7],[481,6]]},"125":{"position":[[621,7]]},"131":{"position":[[568,7]]},"137":{"position":[[529,7]]},"142":{"position":[[616,7]]},"151":{"position":[[983,7]]},"156":{"position":[[573,7]]},"160":{"position":[[568,7]]},"280":{"position":[[1145,6]]},"291":{"position":[[770,7]]},"315":{"position":[[754,7]]},"316":{"position":[[1634,7]]},"317":{"position":[[243,6],[373,6],[676,6],[981,6],[1495,7]]},"320":{"position":[[687,7]]},"328":{"position":[[211,7],[1236,7],[1947,7],[2697,7]]},"337":{"position":[[280,7]]},"346":{"position":[[1541,7]]},"740":{"position":[[54,6]]},"761":{"position":[[36,6]]},"1185":{"position":[[0,6]]},"1225":{"position":[[9,6]]},"1305":{"position":[[25,7]]},"1452":{"position":[[11,7],[109,6]]},"1476":{"position":[[5156,6]]},"1478":{"position":[[559,7]]},"1749":{"position":[[68,6]]},"1835":{"position":[[930,7],[1007,6],[1154,7],[1231,6]]},"1855":{"position":[[897,7],[974,6],[1075,7],[1152,6]]},"1860":{"position":[[897,7],[974,6],[1075,7],[1152,6]]},"1865":{"position":[[897,7],[974,6],[1075,7],[1152,6]]},"1874":{"position":[[897,7],[974,6],[1075,7],[1152,6]]},"1963":{"position":[[136,7]]},"1964":{"position":[[132,7]]},"1983":{"position":[[1010,6],[1541,7]]},"1988":{"position":[[569,7],[646,6]]},"1994":{"position":[[388,7],[465,6]]},"1998":{"position":[[372,7],[449,6]]},"2001":{"position":[[1307,7],[1384,6]]},"2003":{"position":[[101,6],[2332,7],[2409,6],[2605,7],[2682,6],[2851,7],[2939,6],[3146,7],[3223,6],[3402,7],[3479,6],[3683,7],[3760,6],[4014,7],[4091,6]]},"2012":{"position":[[799,6],[917,7],[994,6],[1187,7],[1264,6],[1442,7],[1519,6],[1701,7],[1805,6],[1944,7],[2021,6]]},"2016":{"position":[[258,6],[733,6],[1177,6]]},"2025":{"position":[[986,7],[1063,6],[1211,7],[1288,6],[1435,7],[1512,6],[1661,7],[1738,6]]},"2040":{"position":[[323,7],[400,6],[953,7],[1049,6]]},"2044":{"position":[[785,7],[862,6]]},"2047":{"position":[[263,7],[340,6]]},"2050":{"position":[[261,7],[338,6]]},"2056":{"position":[[2702,7],[2779,6],[2931,7],[3008,6],[3140,7],[3217,6],[3372,7],[3449,6],[3604,7],[3681,6],[3837,7],[3914,6],[4070,7],[4147,6],[4304,7],[4381,6],[4541,7],[4618,6],[4752,7],[4829,6],[5012,7],[5106,6]]},"2058":{"position":[[2455,7],[2532,6],[2668,7],[2745,6],[2881,7],[2958,6],[3103,7],[3180,6],[3328,7],[3405,6],[3538,7],[3615,6],[3749,7],[3826,6],[3953,7],[4030,6],[4157,7],[4234,6],[4356,7],[4433,6],[4571,7],[4648,6]]},"2060":{"position":[[327,7],[419,6]]},"2063":{"position":[[266,7],[343,6]]},"2066":{"position":[[1307,7],[1384,6],[1509,7],[1586,6],[1717,7],[1794,6]]},"2071":{"position":[[266,7],[343,6]]},"2074":{"position":[[260,7],[337,6]]},"2079":{"position":[[260,7],[337,6]]},"2240":{"position":[[3139,6]]},"2242":{"position":[[470,7]]},"2281":{"position":[[391,7],[468,6]]},"2329":{"position":[[433,7],[510,6],[1190,7],[1294,6]]},"2332":{"position":[[415,7],[511,6]]},"2355":{"position":[[431,7],[508,6]]},"2359":{"position":[[3232,7],[3328,6],[3335,6],[3822,7],[3918,6]]},"2379":{"position":[[58,6]]},"2429":{"position":[[693,7],[789,6]]},"2513":{"position":[[341,7],[418,6]]}},"keywords":{}}],["reader<t>",{"_index":7698,"title":{},"content":{"1983":{"position":[[1505,16]]}},"keywords":{}}],["reader.read(1",{"_index":1190,"title":{},"content":{"125":{"position":[[793,15]]},"131":{"position":[[733,15]]},"137":{"position":[[685,15]]},"142":{"position":[[788,15]]},"156":{"position":[[744,15]]},"160":{"position":[[733,15]]}},"keywords":{}}],["reader.read(2",{"_index":1305,"title":{},"content":{"151":{"position":[[1206,15]]}},"keywords":{}}],["reader.read(7",{"_index":1236,"title":{},"content":{"137":{"position":[[641,15],[752,15]]}},"keywords":{}}],["reader.read(8",{"_index":1218,"title":{},"content":{"131":{"position":[[680,14],[800,14]]},"160":{"position":[[680,14],[800,14]]}},"keywords":{}}],["reader.readbyt",{"_index":2611,"title":{},"content":{"316":{"position":[[1656,18]]}},"keywords":{}}],["reader.readnetworkident",{"_index":2707,"title":{},"content":{"328":{"position":[[2029,29],[2741,29]]}},"keywords":{}}],["reader.readpackedint32",{"_index":2614,"title":{},"content":{"316":{"position":[[1763,24],[1862,25],[1896,24]]}},"keywords":{}}],["reader.readsingl",{"_index":2699,"title":{},"content":{"328":{"position":[[1284,21]]}},"keywords":{}}],["reader.readstr",{"_index":2613,"title":{},"content":{"316":{"position":[[1730,20],[1829,20]]},"346":{"position":[[2038,20],[2579,20]]}},"keywords":{}}],["reader.readvector3",{"_index":2706,"title":{},"content":{"328":{"position":[[1973,21]]}},"keywords":{}}],["reader/writ",{"_index":5419,"title":{},"content":{"1474":{"position":[[2110,13]]},"1476":{"position":[[3184,13],[8928,13]]},"1585":{"position":[[108,13]]}},"keywords":{}}],["reader.enumer",{"_index":7292,"title":{"1845":{"position":[[7,22]]}},"content":{},"keywords":{}}],["synclistbytevalid",{"_index":5964,"title":{},"content":{"1474":{"position":[[20230,17]]}},"keywords":{}}],["syncliststructprocessor.c",{"_index":5671,"title":{},"content":{"1474":{"position":[[9971,26]]}},"keywords":{}}],["syncmod",{"_index":5778,"title":{},"content":{"1474":{"position":[[13383,8]]}},"keywords":{}}],["syncobject",{"_index":2758,"title":{},"content":{"337":{"position":[[1104,10]]},"427":{"position":[[25,11]]},"429":{"position":[[27,10]]},"435":{"position":[[70,10]]},"454":{"position":[[19,11]]},"456":{"position":[[16,11]]},"484":{"position":[[0,11]]},"1341":{"position":[[97,11]]},"1450":{"position":[[19,11]]},"1474":{"position":[[13406,11]]},"1476":{"position":[[1980,11]]},"1578":{"position":[[110,11]]},"1835":{"position":[[1259,10],[1403,10],[1441,11]]},"2357":{"position":[[183,11],[242,12],[370,11]]},"2359":{"position":[[469,11],[546,10],[640,11],[2377,11]]}},"keywords":{}}],["syncobjectact",{"_index":7392,"title":{"1875":{"position":[[6,16]]}},"content":{"1867":{"position":[[149,17]]},"1875":{"position":[[6,16],[1565,16]]}},"keywords":{}}],["syncobjectutil",{"_index":7254,"title":{"1843":{"position":[[6,15]]}},"content":{"1828":{"position":[[114,16]]}},"keywords":{}}],["syncprefab",{"_index":2516,"title":{"330":{"position":[[0,10]]},"2508":{"position":[[7,10]]}},"content":{"304":{"position":[[221,10],[712,10]]},"331":{"position":[[4,10],[349,10]]},"332":{"position":[[170,10],[969,11]]},"516":{"position":[[0,10]]},"2241":{"position":[[939,11]]},"2513":{"position":[[31,12],[119,10],[296,10]]}},"keywords":{}}],["syncprefab(int",{"_index":9223,"title":{},"content":{"2509":{"position":[[188,14]]}},"keywords":{}}],["syncprefab(int32",{"_index":9222,"title":{},"content":{"2509":{"position":[[149,18]]}},"keywords":{}}],["syncprefab(networkident",{"_index":9221,"title":{},"content":{"2509":{"position":[[0,28],[49,26]]}},"keywords":{}}],["syncprefab(prefab.getnetworkident",{"_index":2724,"title":{},"content":{"332":{"position":[[861,40]]}},"keywords":{}}],["syncprefab.findprefab(clientobjectmanag",{"_index":2727,"title":{},"content":{"332":{"position":[[1069,43]]}},"keywords":{}}],["syncprefabexplain",{"_index":2525,"title":{},"content":{"304":{"position":[[689,18]]}},"keywords":{}}],["syncprefabseri",{"_index":8685,"title":{"2512":{"position":[[6,19]]}},"content":{"2240":{"position":[[7038,20]]}},"keywords":{}}],["syncsanyth",{"_index":3132,"title":{},"content":{"457":{"position":[[7,13]]},"458":{"position":[[0,13]]}},"keywords":{}}],["syncset",{"_index":2650,"title":{"322":{"position":[[26,8]]},"2514":{"position":[[7,12]]}},"content":{"322":{"position":[[30,7]]},"536":{"position":[[7,12]]},"537":{"position":[[393,12]]},"1476":{"position":[[4360,7]]},"1477":{"position":[[188,9]]},"1479":{"position":[[2438,7]]},"1661":{"position":[[22,7]]},"1662":{"position":[[30,7]]},"1688":{"position":[[0,7]]},"2241":{"position":[[951,13]]},"2357":{"position":[[60,13],[215,12],[228,12]]},"2359":{"position":[[613,12],[702,12]]},"2515":{"position":[[545,12]]}},"keywords":{}}],["syncset<t>",{"_index":7255,"title":{},"content":{"1828":{"position":[[131,17]]}},"keywords":{}}],["syncset(iset<t>",{"_index":7351,"title":{},"content":{"1857":{"position":[[0,23],[44,21]]}},"keywords":{}}],["syncset.wrapp",{"_index":8724,"title":{"2245":{"position":[[6,19]]}},"content":{},"keywords":{}}],["autorefreshsess",{"_index":7233,"title":{},"content":{"1816":{"position":[[173,19],[218,18]]}},"keywords":{}}],["autospawn",{"_index":8727,"title":{},"content":{"2252":{"position":[[396,10],[432,9]]}},"keywords":{}}],["avail",{"_index":533,"title":{"81":{"position":[[0,9]]}},"content":{"31":{"position":[[696,9],[918,9]]},"81":{"position":[[32,9]]},"82":{"position":[[89,9]]},"92":{"position":[[822,9]]},"98":{"position":[[64,9]]},"271":{"position":[[284,10]]},"335":{"position":[[231,9]]},"1239":{"position":[[23,9]]},"1474":{"position":[[14457,9]]},"1476":{"position":[[6568,9]]},"1479":{"position":[[4288,9]]},"1566":{"position":[[1217,9]]},"2114":{"position":[[446,9]]},"2158":{"position":[[564,9]]},"2265":{"position":[[1524,9],[2502,9],[4092,9]]}},"keywords":{}}],["avali",{"_index":8628,"title":{},"content":{"2227":{"position":[[348,9]]}},"keywords":{}}],["averag",{"_index":412,"title":{},"content":{"21":{"position":[[115,7]]},"173":{"position":[[1136,8]]},"2168":{"position":[[75,9]]},"2407":{"position":[[148,7]]}},"keywords":{}}],["avoid",{"_index":1907,"title":{},"content":{"235":{"position":[[940,5],[1247,5]]},"238":{"position":[[351,5]]},"302":{"position":[[109,7]]},"485":{"position":[[0,8]]},"487":{"position":[[152,5]]},"623":{"position":[[0,8]]},"640":{"position":[[0,5]]},"697":{"position":[[46,8]]},"1175":{"position":[[0,5]]},"1474":{"position":[[1251,5]]},"1476":{"position":[[5211,5],[5271,5]]},"1477":{"position":[[643,5],[1155,5],[1891,5]]},"1478":{"position":[[909,5]]},"1566":{"position":[[78,5]]},"1725":{"position":[[0,5]]},"1855":{"position":[[3387,5],[3621,5]]},"1983":{"position":[[821,6]]},"2039":{"position":[[83,5]]},"2306":{"position":[[460,5]]},"2421":{"position":[[2514,5]]},"2492":{"position":[[665,5]]}},"keywords":{}}],["aw",{"_index":1412,"title":{"176":{"position":[[20,6]]},"180":{"position":[[20,5]]}},"content":{"176":{"position":[[16,3]]},"181":{"position":[[169,4]]},"182":{"position":[[431,3]]}},"keywords":{}}],["await",{"_index":1092,"title":{},"content":{"117":{"position":[[1377,5],[2229,5]]},"288":{"position":[[167,6],[865,5]]},"294":{"position":[[130,6],[899,5]]},"460":{"position":[[7,5]]},"1479":{"position":[[3234,7]]},"1741":{"position":[[0,9]]},"1742":{"position":[[59,7]]},"2255":{"position":[[177,6]]},"2279":{"position":[[177,6]]},"2313":{"position":[[177,6]]},"2386":{"position":[[159,6]]},"2471":{"position":[[177,6]]}},"keywords":{}}],["awak",{"_index":1683,"title":{},"content":{"203":{"position":[[1664,7]]},"209":{"position":[[887,7]]},"210":{"position":[[250,5],[409,7]]},"211":{"position":[[723,7]]},"223":{"position":[[130,6]]},"224":{"position":[[278,7]]},"225":{"position":[[505,7]]},"272":{"position":[[1077,7]]},"273":{"position":[[802,7],[1105,5]]},"280":{"position":[[376,7]]},"343":{"position":[[328,7]]},"344":{"position":[[473,5]]},"345":{"position":[[358,7]]},"352":{"position":[[455,5]]},"353":{"position":[[304,7]]},"548":{"position":[[33,5],[173,5]]},"770":{"position":[[40,5]]},"785":{"position":[[28,5]]},"820":{"position":[[55,5]]},"1474":{"position":[[1693,5]]},"1780":{"position":[[560,7]]},"1781":{"position":[[624,7]]},"1783":{"position":[[139,7]]},"1835":{"position":[[1581,5]]},"2253":{"position":[[0,8],[45,7]]},"2290":{"position":[[133,5]]},"2383":{"position":[[0,8],[34,7]]},"2397":{"position":[[0,8],[34,7]]}},"keywords":{}}],["awar",{"_index":39,"title":{},"content":{"0":{"position":[[682,5]]},"303":{"position":[[536,5]]}},"keywords":{}}],["away",{"_index":67,"title":{},"content":{"0":{"position":[[1159,5]]},"42":{"position":[[852,4]]},"1466":{"position":[[832,4]]},"1891":{"position":[[86,4],[291,4]]},"2240":{"position":[[3842,5]]},"2409":{"position":[[80,4]]}},"keywords":{}}],["awesom",{"_index":1528,"title":{},"content":{"183":{"position":[[1807,8]]}},"keywords":{}}],["axi",{"_index":1279,"title":{},"content":{"148":{"position":[[66,4]]},"149":{"position":[[95,4]]}},"keywords":{}}],["azur",{"_index":1416,"title":{"178":{"position":[[10,6]]}},"content":{"178":{"position":[[10,5]]}},"keywords":{}}],["b",{"_index":1603,"title":{},"content":{"190":{"position":[[1645,2]]},"196":{"position":[[808,2]]},"251":{"position":[[2418,1]]},"356":{"position":[[245,2],[407,2],[429,1],[452,2],[497,2],[544,2],[866,2],[950,1],[1279,2]]}},"keywords":{}}],["b'",{"_index":2884,"title":{},"content":{"356":{"position":[[1265,3]]}},"keywords":{}}],["b02c13d",{"_index":4374,"title":{},"content":{"992":{"position":[[38,9]]}},"keywords":{}}],["b0610e2",{"_index":4709,"title":{},"content":{"1133":{"position":[[48,9]]}},"keywords":{}}],["b078387",{"_index":2931,"title":{},"content":{"371":{"position":[[84,9]]}},"keywords":{}}],["b090fa2",{"_index":4110,"title":{},"content":{"870":{"position":[[101,9]]}},"keywords":{}}],["b0af876)weav",{"_index":5965,"title":{},"content":{"1474":{"position":[[20265,16]]}},"keywords":{}}],["b0c936c",{"_index":7075,"title":{},"content":{"1726":{"position":[[111,9]]}},"keywords":{}}],["b0c936c)simplifi",{"_index":6554,"title":{},"content":{"1477":{"position":[[4110,17]]}},"keywords":{}}],["b0da955)mov",{"_index":4017,"title":{},"content":{"843":{"position":[[44,15]]}},"keywords":{}}],["b1",{"_index":7831,"title":{},"content":{"2014":{"position":[[0,3],[36,2]]}},"keywords":{}}],["b10",{"_index":7848,"title":{},"content":{"2014":{"position":[[423,4],[460,3]]}},"keywords":{}}],["b10f3e8",{"_index":4440,"title":{},"content":{"1015":{"position":[[40,9]]}},"keywords":{}}],["b11",{"_index":7850,"title":{},"content":{"2014":{"position":[[474,4],[511,3]]}},"keywords":{}}],["b12",{"_index":7852,"title":{},"content":{"2014":{"position":[[525,4],[562,3]]}},"keywords":{}}],["b13",{"_index":7854,"title":{},"content":{"2014":{"position":[[576,4],[613,3]]}},"keywords":{}}],["b131eb7",{"_index":5159,"title":{},"content":{"1341":{"position":[[45,9]]}},"keywords":{}}],["b14",{"_index":7856,"title":{},"content":{"2014":{"position":[[627,4],[664,3]]}},"keywords":{}}],["b14c692",{"_index":3901,"title":{},"content":{"782":{"position":[[35,9]]}},"keywords":{}}],["b15",{"_index":7858,"title":{},"content":{"2014":{"position":[[679,4],[716,3]]}},"keywords":{}}],["b16",{"_index":7860,"title":{},"content":{"2014":{"position":[[731,4],[768,3]]}},"keywords":{}}],["b1644ae",{"_index":6391,"title":{},"content":{"1476":{"position":[[8984,10]]},"1585":{"position":[[164,10]]}},"keywords":{}}],["b17",{"_index":7862,"title":{},"content":{"2014":{"position":[[783,4],[820,3]]}},"keywords":{}}],["b18",{"_index":7864,"title":{},"content":{"2014":{"position":[[836,4],[873,3]]}},"keywords":{}}],["b19",{"_index":7866,"title":{},"content":{"2014":{"position":[[889,4],[926,3]]}},"keywords":{}}],["b1e05ef",{"_index":7066,"title":{},"content":{"1721":{"position":[[54,9]]}},"keywords":{}}],["b1e05ef)ui",{"_index":6005,"title":{},"content":{"1474":{"position":[[21654,11]]}},"keywords":{}}],["b2",{"_index":7832,"title":{},"content":{"2014":{"position":[[46,3],[82,2]]}},"keywords":{}}],["b20",{"_index":7868,"title":{},"content":{"2014":{"position":[[942,4],[979,3]]}},"keywords":{}}],["b21",{"_index":7870,"title":{},"content":{"2014":{"position":[[996,4],[1033,3]]}},"keywords":{}}],["b22",{"_index":7872,"title":{},"content":{"2014":{"position":[[1050,4],[1087,3]]}},"keywords":{}}],["b221b74",{"_index":6705,"title":{},"content":{"1499":{"position":[[19,9]]}},"keywords":{}}],["b221b74)better",{"_index":5545,"title":{},"content":{"1474":{"position":[[6610,15]]}},"keywords":{}}],["b23",{"_index":7874,"title":{},"content":{"2014":{"position":[[1104,4],[1141,3]]}},"keywords":{}}],["b24",{"_index":7876,"title":{},"content":{"2014":{"position":[[1158,4],[1195,3]]}},"keywords":{}}],["b24542f",{"_index":7039,"title":{},"content":{"1698":{"position":[[40,9]]}},"keywords":{}}],["b24542f)transport",{"_index":6370,"title":{},"content":{"1476":{"position":[[8278,18]]}},"keywords":{}}],["b25",{"_index":7878,"title":{},"content":{"2014":{"position":[[1213,4],[1250,3]]}},"keywords":{}}],["b25f2f9",{"_index":3030,"title":{},"content":{"410":{"position":[[161,9]]}},"keywords":{}}],["b26",{"_index":7880,"title":{},"content":{"2014":{"position":[[1268,4],[1305,3]]}},"keywords":{}}],["b27",{"_index":7882,"title":{},"content":{"2014":{"position":[[1323,4],[1360,3]]}},"keywords":{}}],["b28",{"_index":7884,"title":{},"content":{"2014":{"position":[[1379,4],[1416,3]]}},"keywords":{}}],["b29",{"_index":7886,"title":{},"content":{"2014":{"position":[[1435,4],[1472,3]]}},"keywords":{}}],["b2ba589)replac",{"_index":6478,"title":{},"content":{"1477":{"position":[[2192,16]]}},"keywords":{}}],["b2df972",{"_index":4884,"title":{},"content":{"1208":{"position":[[43,9]]}},"keywords":{}}],["b2e5531",{"_index":4273,"title":{},"content":{"951":{"position":[[49,9]]}},"keywords":{}}],["b2e9d96",{"_index":4159,"title":{},"content":{"891":{"position":[[52,9]]}},"keywords":{}}],["b2f52d7)remov",{"_index":5884,"title":{},"content":{"1474":{"position":[[17450,16]]},"1566":{"position":[[1528,16]]}},"keywords":{}}],["b3",{"_index":7834,"title":{},"content":{"2014":{"position":[[92,3],[128,2]]}},"keywords":{}}],["b30",{"_index":7888,"title":{},"content":{"2014":{"position":[[1491,4],[1528,3]]}},"keywords":{}}],["b31",{"_index":7890,"title":{},"content":{"2014":{"position":[[1548,4],[1585,3]]}},"keywords":{}}],["b3127be)network",{"_index":5773,"title":{},"content":{"1474":{"position":[[13088,16]]}},"keywords":{}}],["b316b35",{"_index":6804,"title":{},"content":{"1562":{"position":[[641,9]]}},"keywords":{}}],["b316b35)weaver",{"_index":6023,"title":{},"content":{"1474":{"position":[[22175,15]]}},"keywords":{}}],["b32",{"_index":7892,"title":{},"content":{"2014":{"position":[[1605,4],[1642,3]]}},"keywords":{}}],["b33",{"_index":7894,"title":{},"content":{"2014":{"position":[[1662,4],[1699,3]]}},"keywords":{}}],["b34",{"_index":7896,"title":{},"content":{"2014":{"position":[[1719,4],[1756,3]]}},"keywords":{}}],["b35",{"_index":7898,"title":{},"content":{"2014":{"position":[[1777,4],[1814,3]]}},"keywords":{}}],["b355604",{"_index":3194,"title":{},"content":{"486":{"position":[[328,9]]}},"keywords":{}}],["b36",{"_index":7900,"title":{},"content":{"2014":{"position":[[1835,4],[1872,3]]}},"keywords":{}}],["b3656a9)command",{"_index":6162,"title":{},"content":{"1476":{"position":[[2781,17]]}},"keywords":{}}],["b3656a9)creat",{"_index":6837,"title":{},"content":{"1567":{"position":[[801,17]]}},"keywords":{}}],["b37",{"_index":7902,"title":{},"content":{"2014":{"position":[[1893,4],[1930,3]]}},"keywords":{}}],["b38",{"_index":7904,"title":{},"content":{"2014":{"position":[[1952,4],[1989,3]]}},"keywords":{}}],["b38a24c",{"_index":3819,"title":{},"content":{"744":{"position":[[40,9]]}},"keywords":{}}],["b39",{"_index":7906,"title":{},"content":{"2014":{"position":[[2011,4],[2048,3]]}},"keywords":{}}],["b3ada19",{"_index":3545,"title":{},"content":{"620":{"position":[[52,9]]}},"keywords":{}}],["b3c1b16",{"_index":6989,"title":{},"content":{"1659":{"position":[[44,9]]}},"keywords":{}}],["b3c1b16)individu",{"_index":6228,"title":{},"content":{"1476":{"position":[[4329,19]]}},"keywords":{}}],["b4",{"_index":7836,"title":{},"content":{"2014":{"position":[[138,3],[174,2]]}},"keywords":{}}],["b40",{"_index":7908,"title":{},"content":{"2014":{"position":[[2070,4],[2107,3]]}},"keywords":{}}],["b4077c1)scene",{"_index":6317,"title":{},"content":{"1476":{"position":[[6740,14]]}},"keywords":{}}],["b41",{"_index":7910,"title":{},"content":{"2014":{"position":[[2130,4],[2167,3]]}},"keywords":{}}],["b42",{"_index":7912,"title":{},"content":{"2014":{"position":[[2190,4],[2227,3]]}},"keywords":{}}],["b43",{"_index":7914,"title":{},"content":{"2014":{"position":[[2250,4],[2287,3]]}},"keywords":{}}],["b44",{"_index":7916,"title":{},"content":{"2014":{"position":[[2310,4],[2347,3]]}},"keywords":{}}],["b45",{"_index":7918,"title":{},"content":{"2014":{"position":[[2371,4],[2408,3]]}},"keywords":{}}],["b4511a0)prev",{"_index":5838,"title":{},"content":{"1474":{"position":[[16313,16]]}},"keywords":{}}],["b4511a0)remov",{"_index":6827,"title":{},"content":{"1566":{"position":[[1447,16]]}},"keywords":{}}],["b4523a0",{"_index":3601,"title":{},"content":{"646":{"position":[[38,9]]}},"keywords":{}}],["b453d36",{"_index":3208,"title":{},"content":{"494":{"position":[[45,9]]}},"keywords":{}}],["b45afad)default",{"_index":6182,"title":{},"content":{"1476":{"position":[[3228,16]]}},"keywords":{}}],["b46",{"_index":7920,"title":{},"content":{"2014":{"position":[[2432,4],[2469,3]]}},"keywords":{}}],["b4666cb",{"_index":3976,"title":{},"content":{"822":{"position":[[38,9]]}},"keywords":{}}],["b47",{"_index":7922,"title":{},"content":{"2014":{"position":[[2493,4],[2530,3]]}},"keywords":{}}],["b48",{"_index":7924,"title":{},"content":{"2014":{"position":[[2555,4],[2592,3]]}},"keywords":{}}],["b49",{"_index":7926,"title":{},"content":{"2014":{"position":[[2617,4],[2654,3]]}},"keywords":{}}],["b4a837d",{"_index":4112,"title":{},"content":{"872":{"position":[[37,9]]}},"keywords":{}}],["b4acf7d)ad",{"_index":6111,"title":{},"content":{"1476":{"position":[[1392,15]]},"1567":{"position":[[419,15]]}},"keywords":{}}],["b5",{"_index":7838,"title":{},"content":{"2014":{"position":[[185,3],[221,2]]}},"keywords":{}}],["b50",{"_index":7928,"title":{},"content":{"2014":{"position":[[2679,4],[2716,3]]}},"keywords":{}}],["b51",{"_index":7930,"title":{},"content":{"2014":{"position":[[2742,4],[2779,3]]}},"keywords":{}}],["b52",{"_index":7932,"title":{},"content":{"2014":{"position":[[2805,4],[2842,3]]}},"keywords":{}}],["b53",{"_index":7934,"title":{},"content":{"2014":{"position":[[2868,4],[2905,3]]}},"keywords":{}}],["b530360",{"_index":3045,"title":{},"content":{"420":{"position":[[45,9]]}},"keywords":{}}],["b54",{"_index":7936,"title":{},"content":{"2014":{"position":[[2931,4],[2968,3]]}},"keywords":{}}],["b55",{"_index":7938,"title":{},"content":{"2014":{"position":[[2995,4],[3032,3]]}},"keywords":{}}],["b56",{"_index":7940,"title":{},"content":{"2014":{"position":[[3059,4],[3096,3]]}},"keywords":{}}],["b57",{"_index":7942,"title":{},"content":{"2014":{"position":[[3123,4],[3160,3]]}},"keywords":{}}],["b58",{"_index":7944,"title":{},"content":{"2014":{"position":[[3188,4],[3225,3]]}},"keywords":{}}],["b59",{"_index":7946,"title":{},"content":{"2014":{"position":[[3253,4],[3290,3]]}},"keywords":{}}],["b5a765e)set",{"_index":3797,"title":{},"content":{"734":{"position":[[261,16]]}},"keywords":{}}],["b5b2f3e)scenemessag",{"_index":6488,"title":{},"content":{"1477":{"position":[[2498,21]]}},"keywords":{}}],["b5dfcf4)ad",{"_index":6090,"title":{},"content":{"1476":{"position":[[845,14]]}},"keywords":{}}],["b5dfcf4)check",{"_index":7093,"title":{},"content":{"1734":{"position":[[60,14]]}},"keywords":{}}],["b5ff43a)synclist",{"_index":6354,"title":{},"content":{"1476":{"position":[[7802,18]]}},"keywords":{}}],["b6",{"_index":7840,"title":{},"content":{"2014":{"position":[[232,3],[268,2]]}},"keywords":{}}],["b60",{"_index":7948,"title":{},"content":{"2014":{"position":[[3318,4],[3355,3]]}},"keywords":{}}],["b61",{"_index":7950,"title":{},"content":{"2014":{"position":[[3384,4],[3421,3]]}},"keywords":{}}],["b62",{"_index":7952,"title":{},"content":{"2014":{"position":[[3450,4],[3487,3]]}},"keywords":{}}],["b627779",{"_index":7013,"title":{},"content":{"1678":{"position":[[129,9]]}},"keywords":{}}],["b627779)make",{"_index":5749,"title":{},"content":{"1474":{"position":[[12211,15]]}},"keywords":{}}],["b63",{"_index":7954,"title":{},"content":{"2014":{"position":[[3516,4],[3553,3]]}},"keywords":{}}],["b64",{"_index":7956,"title":{},"content":{"2014":{"position":[[3582,4],[3619,3]]}},"keywords":{}}],["b675027",{"_index":5027,"title":{},"content":{"1278":{"position":[[38,10]]}},"keywords":{}}],["b67b3e4)stophost",{"_index":5983,"title":{},"content":{"1474":{"position":[[20732,17]]}},"keywords":{}}],["b685226)gener",{"_index":4917,"title":{},"content":{"1225":{"position":[[46,17]]}},"keywords":{}}],["b685e11",{"_index":4016,"title":{},"content":{"842":{"position":[[113,9]]}},"keywords":{}}],["b6984ca",{"_index":3712,"title":{},"content":{"698":{"position":[[41,9]]}},"keywords":{}}],["b6d1d09)command",{"_index":6165,"title":{},"content":{"1476":{"position":[[2833,17]]}},"keywords":{}}],["b6d1d09)sync",{"_index":6771,"title":{},"content":{"1547":{"position":[[96,13]]}},"keywords":{}}],["b6f3526",{"_index":3123,"title":{},"content":{"454":{"position":[[92,9]]}},"keywords":{}}],["b7",{"_index":7842,"title":{},"content":{"2014":{"position":[[279,3],[315,2]]}},"keywords":{}}],["b729cdc",{"_index":3778,"title":{},"content":{"726":{"position":[[52,9]]}},"keywords":{}}],["b7465a5",{"_index":4791,"title":{},"content":{"1165":{"position":[[66,9]]}},"keywords":{}}],["b749c4b",{"_index":6902,"title":{},"content":{"1597":{"position":[[74,9]]}},"keywords":{}}],["b749c4b)isclient",{"_index":5730,"title":{},"content":{"1474":{"position":[[11677,17]]}},"keywords":{}}],["b74fcf9",{"_index":4653,"title":{},"content":{"1108":{"position":[[48,9]]}},"keywords":{}}],["b76e873",{"_index":4829,"title":{},"content":{"1184":{"position":[[38,9]]}},"keywords":{}}],["b786646",{"_index":6791,"title":{},"content":{"1560":{"position":[[56,9]]}},"keywords":{}}],["b786646)spawn",{"_index":6338,"title":{},"content":{"1476":{"position":[[7309,17]]}},"keywords":{}}],["b7ae4d",{"_index":3411,"title":{},"content":{"562":{"position":[[103,9]]}},"keywords":{}}],["b8",{"_index":7844,"title":{},"content":{"2014":{"position":[[327,3],[363,2]]}},"keywords":{}}],["b8618d3",{"_index":6581,"title":{},"content":{"1478":{"position":[[253,10]]}},"keywords":{}}],["b879bef",{"_index":7136,"title":{},"content":{"1755":{"position":[[39,9]]}},"keywords":{}}],["b879bef)decoupl",{"_index":5619,"title":{},"content":{"1474":{"position":[[8608,17]]}},"keywords":{}}],["b89c454",{"_index":4611,"title":{},"content":{"1088":{"position":[[27,9]]}},"keywords":{}}],["b8b07ee)refactor(clientobjectmanag",{"_index":3507,"title":{},"content":{"601":{"position":[[289,40]]}},"keywords":{}}],["b8bcd9a)add",{"_index":5495,"title":{},"content":{"1474":{"position":[[5098,12]]}},"keywords":{}}],["b8bcd9a)build",{"_index":7083,"title":{},"content":{"1733":{"position":[[70,14]]}},"keywords":{}}],["b8c87d9)smell",{"_index":5936,"title":{},"content":{"1474":{"position":[[19204,14]]}},"keywords":{}}],["b8c87d9)updat",{"_index":7031,"title":{},"content":{"1693":{"position":[[163,16]]}},"keywords":{}}],["b8fc97d",{"_index":4706,"title":{},"content":{"1132":{"position":[[23,9]]}},"keywords":{}}],["b9",{"_index":7846,"title":{},"content":{"2014":{"position":[[375,3],[411,2]]}},"keywords":{}}],["b916064",{"_index":5359,"title":{},"content":{"1473":{"position":[[414,10]]},"1746":{"position":[[45,10]]}},"keywords":{}}],["b92da91)assign",{"_index":5535,"title":{},"content":{"1474":{"position":[[6310,15]]}},"keywords":{}}],["b92da91)bett",{"_index":6816,"title":{},"content":{"1566":{"position":[[412,15]]}},"keywords":{}}],["b950d39",{"_index":4242,"title":{},"content":{"939":{"position":[[117,9]]}},"keywords":{}}],["b96ed68)upd",{"_index":3067,"title":{},"content":{"435":{"position":[[52,17]]}},"keywords":{}}],["b9b490f",{"_index":3185,"title":{},"content":{"485":{"position":[[75,9]]}},"keywords":{}}],["b9e13e3",{"_index":3263,"title":{},"content":{"513":{"position":[[43,9]]}},"keywords":{}}],["b^2",{"_index":1247,"title":{},"content":{"139":{"position":[[358,3]]}},"keywords":{}}],["ba54dd2",{"_index":3149,"title":{},"content":{"467":{"position":[[38,9]]}},"keywords":{}}],["back",{"_index":1494,"title":{},"content":{"182":{"position":[[3118,4],[3280,4]]},"183":{"position":[[1110,4]]},"187":{"position":[[1028,4],[1266,4]]},"202":{"position":[[1039,4]]},"207":{"position":[[475,4]]},"251":{"position":[[2391,4],[2694,4]]},"761":{"position":[[43,4]]},"995":{"position":[[23,4]]},"1090":{"position":[[17,7]]},"1123":{"position":[[33,4]]},"1474":{"position":[[3188,4],[18459,4],[18704,4],[18896,4]]},"1733":{"position":[[786,4],[982,4],[1174,4]]},"2023":{"position":[[3156,4]]},"2027":{"position":[[341,4]]},"2031":{"position":[[2630,4],[3276,4]]},"2033":{"position":[[388,4]]},"2241":{"position":[[40,7],[178,7],[432,7]]},"2408":{"position":[[570,4]]},"2417":{"position":[[824,4],[2252,4],[10951,4]]}},"keywords":{}}],["background",{"_index":721,"title":{},"content":{"53":{"position":[[209,11]]},"213":{"position":[[1015,10]]},"810":{"position":[[18,10]]},"1474":{"position":[[10263,10]]},"1570":{"position":[[92,10]]},"1880":{"position":[[41,11],[79,10]]},"2417":{"position":[[1378,10]]}},"keywords":{}}],["backward",{"_index":1214,"title":{},"content":{"130":{"position":[[78,9]]},"159":{"position":[[78,9]]},"1479":{"position":[[1853,9]]},"1646":{"position":[[451,9]]}},"keywords":{}}],["bafe18c",{"_index":4666,"title":{},"content":{"1112":{"position":[[34,9]]}},"keywords":{}}],["ball",{"_index":744,"title":{"57":{"position":[[4,4]]}},"content":{"57":{"position":[[4,4],[362,4]]},"240":{"position":[[584,6],[1904,5]]}},"keywords":{}}],["ball(clon",{"_index":2040,"title":{},"content":{"241":{"position":[[3401,11]]}},"keywords":{}}],["ballprefab",{"_index":1985,"title":{},"content":{"240":{"position":[[2056,11]]},"241":{"position":[[2317,11]]}},"keywords":{}}],["ban",{"_index":9014,"title":{},"content":{"2400":{"position":[[1130,4]]}},"keywords":{}}],["bandwidth",{"_index":589,"title":{},"content":{"37":{"position":[[658,9]]},"337":{"position":[[569,9]]},"1166":{"position":[[22,9]]},"1477":{"position":[[1937,9]]}},"keywords":{}}],["bar",{"_index":835,"title":{},"content":{"67":{"position":[[1131,4]]},"201":{"position":[[1131,4]]}},"keywords":{}}],["base",{"_index":84,"title":{"3":{"position":[[6,5]]}},"content":{"0":{"position":[[1510,5],[1741,5]]},"3":{"position":[[276,5]]},"10":{"position":[[95,6]]},"20":{"position":[[103,5]]},"22":{"position":[[127,5]]},"42":{"position":[[562,5]]},"49":{"position":[[51,4]]},"50":{"position":[[409,5]]},"59":{"position":[[364,5]]},"71":{"position":[[2051,5]]},"81":{"position":[[291,5]]},"92":{"position":[[1254,5]]},"119":{"position":[[328,5],[428,5]]},"182":{"position":[[669,4]]},"202":{"position":[[234,4]]},"238":{"position":[[2380,5],[2455,5]]},"240":{"position":[[446,5],[1105,5]]},"264":{"position":[[79,5],[1727,5]]},"271":{"position":[[34,5]]},"346":{"position":[[582,4],[1594,4],[2632,4],[2686,4]]},"692":{"position":[[107,5]]},"703":{"position":[[25,4]]},"710":{"position":[[15,4]]},"768":{"position":[[14,5]]},"864":{"position":[[50,4]]},"1229":{"position":[[8,4]]},"1459":{"position":[[10,5]]},"1474":{"position":[[6290,4],[7118,4],[7140,4],[7167,4],[12259,4],[12385,4],[22287,4],[22560,5]]},"1476":{"position":[[1934,4],[2910,5],[2962,5],[5005,5]]},"1477":{"position":[[2843,6]]},"1478":{"position":[[1238,5]]},"1546":{"position":[[8,4]]},"1558":{"position":[[10,5]]},"1562":{"position":[[85,4],[112,4]]},"1566":{"position":[[392,4],[1103,4]]},"1577":{"position":[[138,4],[397,4]]},"1578":{"position":[[64,4]]},"2240":{"position":[[1571,4],[2869,5]]},"2253":{"position":[[1372,5]]},"2358":{"position":[[2837,5]]},"2359":{"position":[[2175,5]]},"2492":{"position":[[556,5]]}},"keywords":{}}],["base.deserializesyncvars(read",{"_index":1187,"title":{},"content":{"125":{"position":[[650,32]]},"131":{"position":[[597,32]]},"137":{"position":[[558,32]]},"142":{"position":[[645,32]]},"151":{"position":[[1012,32]]},"156":{"position":[[602,32]]},"160":{"position":[[597,32]]},"346":{"position":[[1605,32]]}},"keywords":{}}],["base.get_syncvardirtybit",{"_index":2829,"title":{},"content":{"346":{"position":[[988,29],[1101,29],[1214,29]]}},"keywords":{}}],["base.ondestroy",{"_index":2557,"title":{},"content":{"312":{"position":[[269,17]]}},"keywords":{}}],["base.onseri",{"_index":1321,"title":{},"content":{"163":{"position":[[250,16]]}},"keywords":{}}],["base.processclientrequest(request",{"_index":286,"title":{},"content":{"10":{"position":[[1816,34]]}},"keywords":{}}],["base.serializesyncvars(writ",{"_index":1180,"title":{},"content":{"125":{"position":[[287,30]]},"131":{"position":[[224,30]]},"137":{"position":[[207,30]]},"142":{"position":[[282,30]]},"151":{"position":[[493,30]]},"156":{"position":[[221,30]]},"160":{"position":[[224,30]]},"346":{"position":[[608,30]]}},"keywords":{}}],["base.start",{"_index":2554,"title":{},"content":{"311":{"position":[[258,13]]}},"keywords":{}}],["base.syncvardirtybit",{"_index":1179,"title":{},"content":{"125":{"position":[[250,22]]},"131":{"position":[[187,22]]},"137":{"position":[[170,22]]},"142":{"position":[[245,22]]},"151":{"position":[[456,22]]},"156":{"position":[[184,22]]},"160":{"position":[[187,22]]}},"keywords":{}}],["base.syncvarequal<int>(num",{"_index":2839,"title":{},"content":{"346":{"position":[[1886,35],[2303,35]]}},"keywords":{}}],["basic",{"_index":97,"title":{"44":{"position":[[0,5]]},"72":{"position":[[0,5]]},"100":{"position":[[0,5]]},"340":{"position":[[0,5]]},"343":{"position":[[0,5]]},"351":{"position":[[0,5]]}},"content":{"0":{"position":[[1879,5]]},"44":{"position":[[0,5],[29,5]]},"56":{"position":[[103,5]]},"94":{"position":[[164,5]]},"100":{"position":[[0,5],[38,5],[176,5],[695,5]]},"172":{"position":[[252,5]]},"175":{"position":[[1173,5]]},"203":{"position":[[26,7]]},"211":{"position":[[1587,5]]},"223":{"position":[[160,9]]},"304":{"position":[[367,5]]},"1214":{"position":[[14,5]]},"1271":{"position":[[17,5]]},"1478":{"position":[[611,5]]}},"keywords":{}}],["basicauthent",{"_index":4248,"title":{"1824":{"position":[[6,18]]}},"content":{"942":{"position":[[0,18]]},"1822":{"position":[[0,19]]}},"keywords":{}}],["basicauthenticator.joinmessag",{"_index":7246,"title":{"1831":{"position":[[7,30]]}},"content":{"1823":{"position":[[0,31]]},"1826":{"position":[[29,32],[151,30]]}},"keywords":{}}],["batch",{"_index":2943,"title":{"2115":{"position":[[6,5]]}},"content":{"377":{"position":[[7,8]]},"2091":{"position":[[99,6]]},"2141":{"position":[[649,7],[1092,7]]},"2156":{"position":[[536,7]]},"2173":{"position":[[564,7]]}},"keywords":{}}],["batch(int",{"_index":8407,"title":{},"content":{"2116":{"position":[[34,9]]}},"keywords":{}}],["batch(int32",{"_index":8406,"title":{},"content":{"2116":{"position":[[0,13]]}},"keywords":{}}],["batchmod",{"_index":8804,"title":{},"content":{"2285":{"position":[[156,9]]}},"keywords":{}}],["bb128fe)revert",{"_index":6602,"title":{},"content":{"1478":{"position":[[720,15]]}},"keywords":{}}],["bb26471)ad",{"_index":3189,"title":{},"content":{"486":{"position":[[171,15]]}},"keywords":{}}],["bb34c04)draw",{"_index":3384,"title":{},"content":{"555":{"position":[[113,16]]}},"keywords":{}}],["bb55baa",{"_index":7100,"title":{},"content":{"1735":{"position":[[123,9]]}},"keywords":{}}],["bb55baa)exampl",{"_index":6190,"title":{},"content":{"1476":{"position":[[3395,16]]}},"keywords":{}}],["bb70bf9)compil",{"_index":5614,"title":{},"content":{"1474":{"position":[[8481,20]]}},"keywords":{}}],["bb70bf9)remov",{"_index":6860,"title":{},"content":{"1577":{"position":[[190,16]]}},"keywords":{}}],["bb916f3)fix",{"_index":3649,"title":{},"content":{"670":{"position":[[129,15]]}},"keywords":{}}],["bb9f209",{"_index":4232,"title":{},"content":{"934":{"position":[[57,9]]}},"keywords":{}}],["bc1b82a",{"_index":3953,"title":{},"content":{"812":{"position":[[57,9]]}},"keywords":{}}],["bc32d06)renam",{"_index":4067,"title":{},"content":{"851":{"position":[[67,17]]}},"keywords":{}}],["bc37497)regist",{"_index":5847,"title":{},"content":{"1474":{"position":[[16552,17]]}},"keywords":{}}],["bc37497)stack",{"_index":6896,"title":{},"content":{"1592":{"position":[[131,14]]}},"keywords":{}}],["bc5da6a)us",{"_index":3861,"title":{},"content":{"764":{"position":[[247,14]]}},"keywords":{}}],["bc7a961)list",{"_index":5739,"title":{},"content":{"1474":{"position":[[11968,13]]}},"keywords":{}}],["bc7e116)transport",{"_index":6373,"title":{},"content":{"1476":{"position":[[8400,19]]}},"keywords":{}}],["bc89211",{"_index":3670,"title":{},"content":{"679":{"position":[[75,9]]}},"keywords":{}}],["bcb8ae7",{"_index":4970,"title":{},"content":{"1250":{"position":[[70,9]]}},"keywords":{}}],["bcc44a7",{"_index":3946,"title":{},"content":{"809":{"position":[[48,9]]}},"keywords":{}}],["bcd76c5)improv",{"_index":6219,"title":{},"content":{"1476":{"position":[[4095,17]]}},"keywords":{}}],["bcd76c5)networkserver.sendtoreadi",{"_index":6866,"title":{},"content":{"1578":{"position":[[336,34]]}},"keywords":{}}],["bd043a3",{"_index":6716,"title":{},"content":{"1508":{"position":[[42,9]]}},"keywords":{}}],["bd043a3)dont",{"_index":5665,"title":{},"content":{"1474":{"position":[[9823,13]]}},"keywords":{}}],["bd3676d",{"_index":4761,"title":{},"content":{"1151":{"position":[[73,10]]}},"keywords":{}}],["bd7a17a",{"_index":6738,"title":{},"content":{"1522":{"position":[[45,9]]}},"keywords":{}}],["bd7a17a)allow",{"_index":6122,"title":{},"content":{"1476":{"position":[[1729,14]]}},"keywords":{}}],["bd95cea",{"_index":6534,"title":{},"content":{"1477":{"position":[[3680,10]]},"1601":{"position":[[120,10]]}},"keywords":{}}],["bdd0d9c",{"_index":5099,"title":{},"content":{"1312":{"position":[[49,9]]}},"keywords":{}}],["bdd81e3",{"_index":5252,"title":{},"content":{"1458":{"position":[[18,9]]}},"keywords":{}}],["bdec276)ad",{"_index":5504,"title":{},"content":{"1474":{"position":[[5364,14]]}},"keywords":{}}],["bdec276)cal",{"_index":6858,"title":{},"content":{"1577":{"position":[[78,13]]}},"keywords":{}}],["bdf12c8)#651",{"_index":5470,"title":{},"content":{"1474":{"position":[[4480,13]]}},"keywords":{}}],["be",{"_index":955,"title":{},"content":{"87":{"position":[[81,5]]},"92":{"position":[[60,5]]},"192":{"position":[[32,5]]},"235":{"position":[[951,5]]},"245":{"position":[[2697,5]]},"279":{"position":[[354,5]]},"280":{"position":[[1204,5]]},"331":{"position":[[154,5],[226,5]]},"332":{"position":[[212,5]]},"357":{"position":[[62,5]]},"407":{"position":[[28,5]]},"414":{"position":[[17,5]]},"416":{"position":[[16,5]]},"474":{"position":[[25,5]]},"485":{"position":[[20,5]]},"488":{"position":[[31,5]]},"496":{"position":[[20,5]]},"541":{"position":[[93,5]]},"556":{"position":[[27,5]]},"582":{"position":[[86,5]]},"594":{"position":[[67,5]]},"614":{"position":[[142,5]]},"670":{"position":[[163,5],[242,5]]},"732":{"position":[[30,5]]},"850":{"position":[[24,5]]},"911":{"position":[[24,5]]},"939":{"position":[[98,5]]},"976":{"position":[[40,5]]},"1024":{"position":[[121,5]]},"1073":{"position":[[24,5]]},"1106":{"position":[[97,5]]},"1466":{"position":[[450,5]]},"1474":{"position":[[7836,5],[12400,5],[22387,5]]},"1546":{"position":[[23,5]]},"1566":{"position":[[1822,5]]},"1626":{"position":[[7,5]]},"2022":{"position":[[34,5]]},"2158":{"position":[[1529,5]]},"2267":{"position":[[171,5]]},"2306":{"position":[[474,5]]},"2347":{"position":[[21,5]]},"2358":{"position":[[233,5]]},"2359":{"position":[[2891,5],[3403,5]]},"2383":{"position":[[1168,5]]},"2397":{"position":[[1109,5]]},"2404":{"position":[[1125,5]]},"2415":{"position":[[563,5]]},"2434":{"position":[[1254,5]]}},"keywords":{}}],["be5aa69",{"_index":4854,"title":{},"content":{"1194":{"position":[[38,9]]}},"keywords":{}}],["beb4ed9",{"_index":4027,"title":{},"content":{"843":{"position":[[332,9]]}},"keywords":{}}],["becom",{"_index":1017,"title":{},"content":{"98":{"position":[[151,6]]},"243":{"position":[[227,7]]},"262":{"position":[[756,7],[885,7]]},"263":{"position":[[773,7]]},"1782":{"position":[[439,6]]},"2370":{"position":[[3156,6]]}},"keywords":{}}],["bef8514",{"_index":3330,"title":{},"content":{"538":{"position":[[428,9]]}},"keywords":{}}],["befor",{"_index":153,"title":{"189":{"position":[[0,6]]}},"content":{"3":{"position":[[749,6]]},"24":{"position":[[1705,6]]},"29":{"position":[[158,6]]},"46":{"position":[[489,6]]},"67":{"position":[[0,6]]},"163":{"position":[[185,6]]},"164":{"position":[[606,6]]},"173":{"position":[[826,6]]},"183":{"position":[[464,6]]},"184":{"position":[[0,6]]},"201":{"position":[[0,6]]},"203":{"position":[[128,7],[1168,6],[1276,6],[2348,9]]},"235":{"position":[[1593,6]]},"240":{"position":[[2460,6]]},"241":{"position":[[2643,6]]},"245":{"position":[[2960,6]]},"302":{"position":[[682,6],[724,6],[827,6]]},"303":{"position":[[126,6]]},"311":{"position":[[250,7]]},"312":{"position":[[261,7]]},"358":{"position":[[92,6]]},"366":{"position":[[103,6]]},"391":{"position":[[231,6]]},"435":{"position":[[90,6]]},"451":{"position":[[84,6]]},"456":{"position":[[62,6]]},"524":{"position":[[177,6]]},"537":{"position":[[118,6]]},"679":{"position":[[52,6]]},"734":{"position":[[322,6]]},"908":{"position":[[37,6]]},"922":{"position":[[25,6]]},"1054":{"position":[[25,6]]},"1320":{"position":[[39,6]]},"1353":{"position":[[56,6]]},"1358":{"position":[[56,6]]},"1363":{"position":[[56,6]]},"1368":{"position":[[56,6]]},"1474":{"position":[[848,6],[2306,6],[7107,6],[10592,6],[11630,6]]},"1477":{"position":[[71,6]]},"1577":{"position":[[127,6]]},"1586":{"position":[[19,6]]},"1597":{"position":[[27,6]]},"1655":{"position":[[78,6]]},"1766":{"position":[[679,6]]},"1935":{"position":[[1197,6]]},"2018":{"position":[[45,6]]},"2130":{"position":[[305,6],[414,6],[722,6],[1054,6],[1567,6],[1661,6]]},"2181":{"position":[[288,6]]},"2261":{"position":[[660,6]]},"2306":{"position":[[933,6]]},"2325":{"position":[[375,6]]},"2350":{"position":[[295,6]]},"2370":{"position":[[3452,6],[4450,6]]},"2416":{"position":[[735,6]]},"2518":{"position":[[48,6]]}},"keywords":{}}],["beforehand",{"_index":1483,"title":{},"content":{"182":{"position":[[2656,11]]}},"keywords":{}}],["begin",{"_index":1570,"title":{"189":{"position":[[11,6]]}},"content":{"2240":{"position":[[6207,6]]},"2466":{"position":[[88,6]]}},"keywords":{}}],["behav",{"_index":133,"title":{},"content":{"3":{"position":[[142,6]]},"240":{"position":[[1212,6]]}},"keywords":{}}],["behavior",{"_index":1030,"title":{},"content":{"99":{"position":[[1164,9]]},"263":{"position":[[680,8]]},"288":{"position":[[1382,9]]},"1077":{"position":[[24,9]]},"1159":{"position":[[33,8]]},"1239":{"position":[[44,9]]},"1474":{"position":[[10174,9],[19177,8]]},"1479":{"position":[[1393,8]]},"1643":{"position":[[101,8]]},"1693":{"position":[[136,8]]},"2417":{"position":[[1439,8],[1943,8],[9031,8]]}},"keywords":{}}],["behaviour",{"_index":1317,"title":{"162":{"position":[[8,9]]},"214":{"position":[[8,9]]}},"content":{"163":{"position":[[26,9],[86,9],[160,9]]},"164":{"position":[[26,9],[88,9],[160,9],[237,9]]},"171":{"position":[[421,9]]},"247":{"position":[[494,10],[890,9]]},"558":{"position":[[19,9]]},"1960":{"position":[[123,10],[276,9]]},"1961":{"position":[[448,10],[505,9]]},"1966":{"position":[[118,10],[266,9],[536,10],[688,9],[1000,10],[1133,9],[1529,10],[1658,9],[2045,10],[2133,9],[2439,10],[2531,9]]},"1971":{"position":[[89,11],[161,10],[381,10],[586,9],[886,10],[1104,9],[1254,10],[1323,9],[1471,10],[1551,9]]},"1979":{"position":[[118,10],[270,9],[566,10],[699,9],[1071,10],[1163,9]]},"2334":{"position":[[102,10],[171,9]]},"2338":{"position":[[72,10],[119,9]]},"2341":{"position":[[219,10],[288,9]]},"2357":{"position":[[158,9]]},"2359":{"position":[[1107,9],[1947,9]]},"2370":{"position":[[2785,9],[4372,10],[4839,10]]}},"keywords":{}}],["behaviourid",{"_index":8937,"title":{},"content":{"2358":{"position":[[2959,12],[3074,11]]}},"keywords":{}}],["behind",{"_index":860,"title":{},"content":{"71":{"position":[[425,6]]}},"keywords":{}}],["belong",{"_index":2056,"title":{},"content":{"243":{"position":[[1469,9]]},"333":{"position":[[154,9]]},"734":{"position":[[143,6]]},"2091":{"position":[[147,7]]},"2358":{"position":[[1055,7]]},"2382":{"position":[[66,6]]}},"keywords":{}}],["below",{"_index":832,"title":{},"content":{"67":{"position":[[1018,5]]},"71":{"position":[[1078,5]]},"81":{"position":[[10,5]]},"82":{"position":[[37,6]]},"164":{"position":[[523,5]]},"187":{"position":[[296,5]]},"201":{"position":[[1018,5]]},"209":{"position":[[274,5],[2229,6]]},"210":{"position":[[212,6]]},"211":{"position":[[940,5],[1937,5]]},"238":{"position":[[196,5]]},"240":{"position":[[483,6],[897,5]]},"241":{"position":[[3390,6]]},"243":{"position":[[1085,5]]},"272":{"position":[[10,5]]},"273":{"position":[[10,5]]},"274":{"position":[[10,5]]},"277":{"position":[[6,5]]},"306":{"position":[[152,5]]},"308":{"position":[[1137,5]]},"321":{"position":[[137,6]]},"1780":{"position":[[0,5]]},"1781":{"position":[[0,5]]}},"keywords":{}}],["benchmark",{"_index":4720,"title":{},"content":{"1139":{"position":[[7,9]]},"1335":{"position":[[43,9]]},"1499":{"position":[[0,9]]}},"keywords":{}}],["benefit",{"_index":436,"title":{},"content":{"22":{"position":[[657,9]]},"235":{"position":[[1047,9]]}},"keywords":{}}],["besid",{"_index":1703,"title":{},"content":{"205":{"position":[[140,7]]},"242":{"position":[[963,7]]}},"keywords":{}}],["best",{"_index":1010,"title":{"115":{"position":[[0,4]]}},"content":{"96":{"position":[[265,4]]},"187":{"position":[[1413,4]]},"190":{"position":[[1053,4]]},"204":{"position":[[361,5]]},"240":{"position":[[1550,4]]},"328":{"position":[[255,4]]},"358":{"position":[[134,4]]},"359":{"position":[[95,4]]},"360":{"position":[[115,4]]},"1867":{"position":[[85,4]]},"2039":{"position":[[262,4]]},"2204":{"position":[[1095,4]]},"2518":{"position":[[70,4],[260,4]]}},"keywords":{}}],["better",{"_index":365,"title":{},"content":{"15":{"position":[[403,6]]},"71":{"position":[[495,6]]},"254":{"position":[[703,6]]},"337":{"position":[[1459,6]]},"813":{"position":[[0,6]]},"1005":{"position":[[0,6]]},"1139":{"position":[[0,6]]},"1245":{"position":[[0,6]]}},"keywords":{}}],["between",{"_index":104,"title":{},"content":{"0":{"position":[[2158,7]]},"10":{"position":[[639,7]]},"21":{"position":[[208,7]]},"24":{"position":[[1851,7]]},"43":{"position":[[1079,7]]},"61":{"position":[[431,7]]},"63":{"position":[[105,7]]},"64":{"position":[[158,7]]},"87":{"position":[[137,7]]},"123":{"position":[[16,7]]},"135":{"position":[[16,7]]},"172":{"position":[[191,7]]},"173":{"position":[[79,7]]},"202":{"position":[[595,7]]},"240":{"position":[[1439,7]]},"264":{"position":[[1752,7]]},"292":{"position":[[83,7]]},"306":{"position":[[112,7]]},"337":{"position":[[352,7]]},"357":{"position":[[46,7]]},"1477":{"position":[[1465,8]]},"1568":{"position":[[194,8]]},"1830":{"position":[[72,7]]},"1981":{"position":[[150,7]]},"2054":{"position":[[312,7]]},"2093":{"position":[[1104,7]]},"2193":{"position":[[792,7]]},"2240":{"position":[[2447,7],[3925,7],[4253,7],[4586,7]]},"2370":{"position":[[1191,7],[1330,7]]},"2408":{"position":[[411,7]]}},"keywords":{}}],["bf62345",{"_index":5038,"title":{},"content":{"1281":{"position":[[45,9]]}},"keywords":{}}],["bf9eb61)networkconnect",{"_index":6270,"title":{},"content":{"1476":{"position":[[5494,26]]}},"keywords":{}}],["big",{"_index":679,"title":{},"content":{"46":{"position":[[1015,3]]},"830":{"position":[[39,3]]},"1474":{"position":[[21858,3]]},"1709":{"position":[[4,3]]},"2347":{"position":[[88,3]]}},"keywords":{}}],["bigger",{"_index":3458,"title":{},"content":{"585":{"position":[[64,6]]}},"keywords":{}}],["bill",{"_index":1575,"title":{},"content":{"189":{"position":[[396,7],[524,7]]}},"keywords":{}}],["binarywrit",{"_index":6471,"title":{},"content":{"1477":{"position":[[2025,13]]}},"keywords":{}}],["bind",{"_index":4152,"title":{},"content":{"889":{"position":[[45,4]]},"2199":{"position":[[231,4]]}},"keywords":{}}],["bind(iendpoint",{"_index":8461,"title":{},"content":{"2156":{"position":[[0,16],[35,14]]},"2158":{"position":[[0,16],[117,14]]},"2173":{"position":[[0,16],[42,14]]},"2223":{"position":[[0,16],[42,14]]},"2227":{"position":[[0,16],[42,14]]}},"keywords":{}}],["bit",{"_index":960,"title":{"118":{"position":[[0,3]]},"119":{"position":[[0,3]]},"126":{"position":[[0,3]]},"132":{"position":[[0,3]]}},"content":{"88":{"position":[[151,3]]},"119":{"position":[[106,4],[161,4]]},"123":{"position":[[176,3]]},"124":{"position":[[45,4]]},"129":{"position":[[204,3],[508,3]]},"130":{"position":[[246,3]]},"133":{"position":[[117,4],[171,4]]},"139":{"position":[[1086,5],[1098,4],[1189,4],[1214,5],[1296,3],[1332,4],[1367,4]]},"155":{"position":[[206,3],[453,3]]},"158":{"position":[[204,3],[508,3]]},"159":{"position":[[246,3]]},"211":{"position":[[27,5]]},"238":{"position":[[2233,4],[2635,4]]},"240":{"position":[[1701,3]]},"335":{"position":[[335,3],[399,3],[1698,4]]},"337":{"position":[[735,4],[804,4]]},"346":{"position":[[755,5],[1758,5]]},"445":{"position":[[24,4]]},"537":{"position":[[352,4]]},"590":{"position":[[24,4]]},"831":{"position":[[59,4]]},"833":{"position":[[17,3]]},"848":{"position":[[30,3]]},"855":{"position":[[29,3]]},"861":{"position":[[28,3]]},"862":{"position":[[24,3]]},"864":{"position":[[32,3]]},"872":{"position":[[21,3]]},"877":{"position":[[115,3]]},"899":{"position":[[59,3]]},"902":{"position":[[59,3]]},"1477":{"position":[[1780,3],[1829,3]]},"1983":{"position":[[54,4],[143,4],[267,3],[403,3],[576,3],[665,4],[714,4],[1090,3],[1133,3],[1238,3],[1281,3],[1940,4],[2129,4],[3374,3]]},"1987":{"position":[[208,4]]},"1990":{"position":[[45,4],[331,3],[482,4],[840,3],[997,4]]},"1992":{"position":[[30,4],[47,4],[79,4],[92,4],[158,4],[259,5],[312,4]]},"1996":{"position":[[540,4]]},"2000":{"position":[[245,4],[682,4]]},"2022":{"position":[[115,3]]},"2023":{"position":[[790,3],[913,4],[1401,3],[2479,5],[2532,4],[2616,4],[2693,5],[2763,4],[2778,4],[2841,4],[2933,5],[2986,4],[3035,3]]},"2030":{"position":[[243,3],[285,3]]},"2031":{"position":[[564,3],[1996,5],[2069,4],[2171,4],[2218,4],[2397,5],[2488,4],[2568,4],[2926,5],[3031,4],[3046,4],[3109,4],[3157,3],[4204,4],[4531,4]]},"2043":{"position":[[33,4],[54,4],[163,4],[184,4]]},"2054":{"position":[[30,3],[62,4],[76,5],[137,5],[172,5]]},"2091":{"position":[[550,3]]},"2130":{"position":[[2324,3]]},"2191":{"position":[[52,5],[105,4],[120,4]]},"2192":{"position":[[0,5],[16,4],[86,4]]},"2359":{"position":[[1202,3],[1339,3],[1399,4],[1659,3],[1775,4]]}},"keywords":{}}],["bitcount",{"_index":1132,"title":{},"content":{"119":{"position":[[78,8],[268,8]]},"124":{"position":[[164,8]]},"130":{"position":[[183,9]]},"135":{"position":[[132,8]]},"136":{"position":[[139,8]]},"159":{"position":[[183,9]]},"1981":{"position":[[68,9],[125,8]]},"1983":{"position":[[332,8]]},"1996":{"position":[[280,8],[423,9],[521,8]]},"2000":{"position":[[330,9],[405,8],[840,9],[928,8]]},"2068":{"position":[[883,9],[978,8]]},"2076":{"position":[[1116,9],[1230,8]]},"2201":{"position":[[63,9],[136,8],[264,9],[374,8]]}},"keywords":{}}],["bitcount(3",{"_index":1232,"title":{},"content":{"136":{"position":[[99,12]]}},"keywords":{}}],["bitcount(7",{"_index":1225,"title":{},"content":{"135":{"position":[[97,12]]},"137":{"position":[[18,12]]}},"keywords":{}}],["bitcount(8",{"_index":1307,"title":{},"content":{"155":{"position":[[140,12]]},"156":{"position":[[18,12]]}},"keywords":{}}],["bitcount(float",{"_index":7736,"title":{},"content":{"1990":{"position":[[191,14],[687,14]]}},"keywords":{}}],["bitcount(singl",{"_index":7734,"title":{},"content":{"1990":{"position":[[0,16],[428,16]]}},"keywords":{}}],["bitcount(uint64",{"_index":7737,"title":{},"content":{"1990":{"position":[[960,17]]}},"keywords":{}}],["bitcount(ulong",{"_index":7738,"title":{},"content":{"1990":{"position":[[1103,14]]}},"keywords":{}}],["bitcountattribut",{"_index":7678,"title":{"1980":{"position":[[6,17]]}},"content":{"1983":{"position":[[13,18]]}},"keywords":{}}],["bitcountattribute(int",{"_index":7680,"title":{},"content":{"1981":{"position":[[46,21]]}},"keywords":{}}],["bitcountattribute(int32",{"_index":7679,"title":{},"content":{"1981":{"position":[[0,25]]}},"keywords":{}}],["bitcountfromrang",{"_index":1196,"title":{},"content":{"129":{"position":[[135,18]]},"131":{"position":[[18,18]]},"160":{"position":[[18,18]]}},"keywords":{}}],["bitcountfromrangeattribut",{"_index":7684,"title":{"1984":{"position":[[6,26]]}},"content":{"1983":{"position":[[293,27]]}},"keywords":{}}],["bitcountfromrangeattribute(int",{"_index":7718,"title":{},"content":{"1985":{"position":[[62,30]]}},"keywords":{}}],["bitcountfromrangeattribute(int32",{"_index":7717,"title":{},"content":{"1985":{"position":[[0,33]]}},"keywords":{}}],["bithelp",{"_index":7686,"title":{"1989":{"position":[[6,9]]}},"content":{"1983":{"position":[[429,10]]}},"keywords":{}}],["bitlength",{"_index":7967,"title":{},"content":{"2022":{"position":[[0,10],[74,9]]},"2031":{"position":[[4194,9],[4336,10],[4465,9],[4521,9],[4652,10],[4757,9]]}},"keywords":{}}],["bitmask",{"_index":7687,"title":{"1991":{"position":[[6,7]]}},"content":{"1983":{"position":[[440,8]]},"2359":{"position":[[1274,8],[1331,7],[1594,8],[1651,7]]}},"keywords":{}}],["bitpack",{"_index":3809,"title":{},"content":{"739":{"position":[[60,9]]},"799":{"position":[[0,11]]},"800":{"position":[[0,11]]},"809":{"position":[[0,11]]},"900":{"position":[[75,10]]}},"keywords":{}}],["bitperel",{"_index":8091,"title":{},"content":{"2035":{"position":[[80,13],[146,13]]}},"keywords":{}}],["bitposit",{"_index":7968,"title":{},"content":{"2022":{"position":[[94,12],[176,11]]},"2023":{"position":[[2636,11],[2703,12],[2814,11]]},"2030":{"position":[[222,12],[326,11]]},"2031":{"position":[[2587,11],[2936,12],[3082,11]]}},"keywords":{}}],["bitshift",{"_index":6503,"title":{},"content":{"1477":{"position":[[3011,8]]}},"keywords":{}}],["bitsiz",{"_index":8479,"title":{},"content":{"2164":{"position":[[48,7],[109,7]]}},"keywords":{}}],["bitsnetworkbehaviour",{"_index":2744,"title":{},"content":{"335":{"position":[[890,21]]}},"keywords":{}}],["blank",{"_index":6593,"title":{},"content":{"1478":{"position":[[488,5]]}},"keywords":{}}],["block",{"_index":752,"title":{"92":{"position":[[0,5]]},"144":{"position":[[23,6]]}},"content":{"59":{"position":[[62,5],[168,5]]},"92":{"position":[[44,5],[268,5],[542,7],[1707,7]]},"119":{"position":[[454,5]]},"187":{"position":[[1206,9],[1321,5]]},"288":{"position":[[820,8]]},"294":{"position":[[862,8]]},"958":{"position":[[587,7]]},"1735":{"position":[[0,5]]},"1983":{"position":[[2046,5]]},"2054":{"position":[[47,5]]},"2401":{"position":[[898,5]]}},"keywords":{}}],["block'em",{"_index":760,"title":{},"content":{"59":{"position":[[126,9],[138,9]]}},"keywords":{}}],["blocksiz",{"_index":8117,"title":{},"content":{"2046":{"position":[[90,10],[172,9]]},"2049":{"position":[[87,10],[169,9]]},"2054":{"position":[[228,10],[286,9]]},"2060":{"position":[[112,10],[232,9],[339,10],[439,9]]},"2062":{"position":[[94,10],[170,9]]},"2070":{"position":[[94,10],[170,9]]}},"keywords":{}}],["blue",{"_index":1677,"title":{},"content":{"203":{"position":[[876,4]]}},"keywords":{}}],["board",{"_index":5307,"title":{},"content":{"1466":{"position":[[990,5]]}},"keywords":{}}],["bodi",{"_index":856,"title":{},"content":{"71":{"position":[[348,4]]},"291":{"position":[[69,4]]},"316":{"position":[[818,4]]}},"keywords":{}}],["bold",{"_index":164,"title":{},"content":{"4":{"position":[[381,6]]},"356":{"position":[[346,4]]}},"keywords":{}}],["bool",{"_index":554,"title":{},"content":{"33":{"position":[[537,4]]},"35":{"position":[[534,4]]},"117":{"position":[[2485,4]]},"125":{"position":[[159,4],[204,4],[273,4],[629,4]]},"131":{"position":[[96,4],[141,4],[210,4],[576,4]]},"137":{"position":[[79,4],[124,4],[193,4],[537,4]]},"142":{"position":[[154,4],[199,4],[268,4],[624,4]]},"151":{"position":[[365,4],[410,4],[479,4],[991,4]]},"156":{"position":[[93,4],[138,4],[207,4],[581,4]]},"160":{"position":[[96,4],[141,4],[210,4],[576,4]]},"238":{"position":[[2166,4]]},"322":{"position":[[202,4]]},"337":{"position":[[172,4],[211,4],[288,4]]},"346":{"position":[[491,4],[536,4],[593,4],[1549,4]]},"539":{"position":[[48,4]]},"542":{"position":[[7,4]]},"895":{"position":[[34,5]]},"940":{"position":[[24,4]]},"1771":{"position":[[103,4]]},"1774":{"position":[[29,4]]},"1806":{"position":[[47,4]]},"1812":{"position":[[47,4]]},"1816":{"position":[[213,4]]},"1834":{"position":[[69,4]]},"1848":{"position":[[32,4]]},"1854":{"position":[[79,4],[134,4]]},"1855":{"position":[[1506,4],[2883,4]]},"1859":{"position":[[79,4],[134,4]]},"1860":{"position":[[1188,4],[1486,4],[1772,4],[2604,4],[2846,4],[3082,4],[3312,4],[3540,4],[3765,4]]},"1864":{"position":[[79,4],[134,4]]},"1865":{"position":[[1242,4],[1388,4],[1546,4],[2089,4],[2610,4]]},"1870":{"position":[[273,4]]},"1873":{"position":[[79,4],[134,4]]},"1877":{"position":[[29,4]]},"1885":{"position":[[213,4]]},"1893":{"position":[[35,4]]},"1935":{"position":[[885,4],[1320,4]]},"1939":{"position":[[315,4],[574,4],[894,4],[1071,4],[1250,4]]},"1951":{"position":[[126,4],[145,4]]},"1952":{"position":[[115,4],[170,4]]},"1960":{"position":[[182,4]]},"1961":{"position":[[358,4]]},"1966":{"position":[[189,4],[1487,4],[1581,4],[2001,4],[2056,4],[2397,4]]},"1971":{"position":[[311,4],[816,4]]},"1979":{"position":[[189,4],[618,4],[1029,4],[1082,4]]},"1990":{"position":[[724,4]]},"2000":{"position":[[519,4],[850,4]]},"2023":{"position":[[814,4],[938,4],[1138,4],[1305,4]]},"2029":{"position":[[227,4]]},"2052":{"position":[[319,4]]},"2056":{"position":[[793,4],[3327,4]]},"2065":{"position":[[321,4]]},"2066":{"position":[[397,4]]},"2097":{"position":[[114,4]]},"2098":{"position":[[146,4]]},"2100":{"position":[[56,4]]},"2103":{"position":[[535,4]]},"2109":{"position":[[41,4]]},"2114":{"position":[[232,4],[1939,4],[2179,4]]},"2118":{"position":[[41,4]]},"2130":{"position":[[2847,4]]},"2149":{"position":[[104,4]]},"2158":{"position":[[587,4]]},"2168":{"position":[[105,4]]},"2188":{"position":[[41,4]]},"2203":{"position":[[427,4]]},"2204":{"position":[[454,4],[701,4],[1256,4]]},"2210":{"position":[[45,4]]},"2222":{"position":[[38,4]]},"2223":{"position":[[357,4]]},"2227":{"position":[[378,4]]},"2229":{"position":[[62,4],[365,4]]},"2235":{"position":[[140,4]]},"2252":{"position":[[427,4],[472,4]]},"2255":{"position":[[224,4]]},"2265":{"position":[[386,4]]},"2267":{"position":[[126,4],[219,4]]},"2279":{"position":[[224,4]]},"2285":{"position":[[249,4]]},"2292":{"position":[[404,4]]},"2298":{"position":[[213,4],[329,4]]},"2299":{"position":[[123,4]]},"2301":{"position":[[46,4],[333,4]]},"2303":{"position":[[89,4]]},"2305":{"position":[[160,4]]},"2308":{"position":[[87,4]]},"2311":{"position":[[633,4]]},"2313":{"position":[[224,4]]},"2319":{"position":[[115,4],[143,4]]},"2320":{"position":[[165,4]]},"2322":{"position":[[1010,4],[1742,4],[2454,4]]},"2324":{"position":[[95,4]]},"2331":{"position":[[37,4]]},"2332":{"position":[[87,4],[126,4],[423,4]]},"2343":{"position":[[151,4],[344,4]]},"2349":{"position":[[39,4],[290,4],[356,4],[416,4],[637,4]]},"2350":{"position":[[1149,4],[1260,4],[1633,4],[1753,4]]},"2358":{"position":[[267,4],[398,4],[536,4],[629,4],[1180,4],[1289,4],[1426,4],[1798,4],[3213,4]]},"2359":{"position":[[52,4],[294,4],[923,4],[2009,4],[2218,4],[2415,4],[2680,4],[2719,4],[3240,4],[3500,4],[3545,4],[3830,4],[4204,4],[4248,4],[4469,4],[4692,4]]},"2366":{"position":[[386,4]]},"2367":{"position":[[177,4]]},"2370":{"position":[[107,4],[225,4],[363,4],[456,4],[684,4],[1075,4],[1500,4],[1637,4],[1732,4],[2193,4],[5443,4]]},"2373":{"position":[[108,4]]},"2377":{"position":[[159,4]]},"2383":{"position":[[345,4],[943,4]]},"2386":{"position":[[206,4]]},"2396":{"position":[[439,4]]},"2397":{"position":[[286,4],[884,4]]},"2399":{"position":[[171,4]]},"2400":{"position":[[28,4],[268,4],[897,4],[992,4]]},"2401":{"position":[[130,4],[2044,4]]},"2403":{"position":[[166,4]]},"2404":{"position":[[302,4],[900,4]]},"2411":{"position":[[136,4],[155,4],[171,4],[499,4],[518,4]]},"2412":{"position":[[34,4],[87,4],[137,4],[183,4]]},"2415":{"position":[[318,4],[470,4]]},"2417":{"position":[[233,4],[3386,4],[6087,4],[7017,4]]},"2419":{"position":[[39,4],[352,4],[418,4],[478,4],[531,4],[880,4]]},"2420":{"position":[[1200,4],[1330,4],[1957,4]]},"2421":{"position":[[1083,4],[1347,4],[1371,4],[1743,4],[2200,4],[2641,4],[3051,4],[3076,4]]},"2427":{"position":[[37,4]]},"2429":{"position":[[388,4],[427,4],[701,4]]},"2434":{"position":[[243,4],[1029,4]]},"2435":{"position":[[115,4]]},"2441":{"position":[[65,4]]},"2455":{"position":[[35,4]]},"2471":{"position":[[224,4]]},"2473":{"position":[[62,4],[365,4]]},"2476":{"position":[[84,4]]},"2478":{"position":[[2304,4],[3179,4]]},"2482":{"position":[[517,4],[1325,4],[3340,4],[3618,4],[5067,4],[5418,4],[6422,4],[7276,4],[7872,4]]},"2489":{"position":[[220,4]]},"2492":{"position":[[176,4],[265,4]]},"2497":{"position":[[215,5]]},"2516":{"position":[[542,4],[588,4],[806,4],[1020,4],[1238,4]]},"2522":{"position":[[258,4],[377,4],[516,4]]}},"keywords":{}}],["booladdlateev",{"_index":7459,"title":{"1905":{"position":[[6,16]]}},"content":{"1890":{"position":[[797,17]]},"1905":{"position":[[6,16],[1203,16]]}},"keywords":{}}],["boolean",{"_index":1896,"title":{},"content":{"231":{"position":[[111,8]]},"333":{"position":[[139,7]]},"1479":{"position":[[2942,7]]},"1726":{"position":[[69,7]]},"1870":{"position":[[99,8]]},"1935":{"position":[[705,9],[1054,9]]},"1939":{"position":[[193,8],[460,9]]},"1951":{"position":[[38,8],[47,9]]},"1960":{"position":[[57,8]]},"1966":{"position":[[54,9],[1374,9],[1864,9]]},"1971":{"position":[[197,8],[673,8]]},"1979":{"position":[[54,9],[471,9],[916,9]]},"1990":{"position":[[453,9]]},"2000":{"position":[[443,9],[783,9]]},"2029":{"position":[[162,9]]},"2052":{"position":[[224,9]]},"2056":{"position":[[702,9]]},"2065":{"position":[[223,9]]},"2066":{"position":[[288,9]]},"2097":{"position":[[36,9]]},"2114":{"position":[[2101,9]]},"2149":{"position":[[24,9]]},"2229":{"position":[[261,9]]},"2265":{"position":[[244,9]]},"2292":{"position":[[61,9]]},"2299":{"position":[[40,9]]},"2301":{"position":[[245,9]]},"2319":{"position":[[31,8],[40,9]]},"2320":{"position":[[61,9]]},"2322":{"position":[[646,9],[1273,9],[2010,9]]},"2324":{"position":[[29,9]]},"2332":{"position":[[27,9],[320,9]]},"2359":{"position":[[220,9],[2504,9],[3022,9],[3462,9],[3745,9],[4174,9]]},"2383":{"position":[[614,9]]},"2397":{"position":[[555,9]]},"2399":{"position":[[27,9]]},"2401":{"position":[[40,9]]},"2404":{"position":[[571,9]]},"2411":{"position":[[30,8],[39,8],[48,8],[420,8],[429,9]]},"2417":{"position":[[3122,8],[5851,8],[6773,8]]},"2421":{"position":[[912,8],[1268,8],[1277,8],[1627,8],[2042,8],[2488,8],[2940,8],[2949,8]]},"2429":{"position":[[349,9],[621,9]]},"2434":{"position":[[512,9]]},"2473":{"position":[[261,9]]},"2478":{"position":[[1828,9],[2687,9]]},"2482":{"position":[[57,9],[882,9],[3167,9],[3494,9],[4869,9],[5217,9],[6238,9],[7075,8],[7656,8]]},"2516":{"position":[[512,9]]}},"keywords":{}}],["boolunityev",{"_index":7460,"title":{"1910":{"position":[[6,14]]}},"content":{"1890":{"position":[[815,15]]},"1910":{"position":[[6,14],[84,14]]}},"keywords":{}}],["boolunityevent>",{"_index":7509,"title":{},"content":{"1905":{"position":[[1249,19]]}},"keywords":{}}],["booster",{"_index":5452,"title":{},"content":{"1474":{"position":[[3509,8]]}},"keywords":{}}],["boot",{"_index":1589,"title":{},"content":{"190":{"position":[[789,4],[826,4],[908,4]]}},"keywords":{}}],["both",{"_index":301,"title":{},"content":{"13":{"position":[[103,4]]},"24":{"position":[[646,4]]},"65":{"position":[[348,4]]},"91":{"position":[[61,4]]},"225":{"position":[[96,4]]},"243":{"position":[[1875,4]]},"263":{"position":[[64,4]]},"303":{"position":[[401,4]]},"314":{"position":[[162,4]]},"344":{"position":[[483,4]]},"345":{"position":[[322,4]]},"352":{"position":[[465,4]]},"353":{"position":[[268,4]]},"355":{"position":[[105,4],[498,4],[740,4],[887,4],[967,4],[1015,4]]},"363":{"position":[[157,4],[190,5],[335,4]]},"1778":{"position":[[272,4],[305,4]]},"1983":{"position":[[3318,4]]},"2240":{"position":[[5299,4]]},"2361":{"position":[[14,4]]},"2478":{"position":[[4140,4]]},"2482":{"position":[[3996,4]]}},"keywords":{}}],["bottom",{"_index":834,"title":{},"content":{"67":{"position":[[1079,6]]},"183":{"position":[[795,6]]},"190":{"position":[[1872,6]]},"201":{"position":[[1079,6]]}},"keywords":{}}],["bound",{"_index":1276,"title":{},"content":{"148":{"position":[[14,6]]},"149":{"position":[[14,6]]},"2204":{"position":[[674,6]]}},"keywords":{}}],["box",{"_index":343,"title":{},"content":{"14":{"position":[[1203,4]]},"43":{"position":[[472,3]]},"69":{"position":[[237,3],[440,3]]},"71":{"position":[[593,3]]},"94":{"position":[[72,4]]},"211":{"position":[[1863,3]]},"240":{"position":[[591,4],[1910,4]]},"241":{"position":[[3596,4]]},"242":{"position":[[19,3]]},"316":{"position":[[300,4]]},"1474":{"position":[[2397,5]]},"1477":{"position":[[455,6],[508,6],[737,6],[2178,6]]}},"keywords":{}}],["box(clon",{"_index":2041,"title":{},"content":{"241":{"position":[[3458,10]]}},"keywords":{}}],["boxprefab",{"_index":1986,"title":{},"content":{"240":{"position":[[2086,10]]},"241":{"position":[[2347,10]]}},"keywords":{}}],["branch",{"_index":4049,"title":{},"content":{"847":{"position":[[161,6]]}},"keywords":{}}],["break",{"_index":2001,"title":{"373":{"position":[[0,8]]},"391":{"position":[[0,8]]},"411":{"position":[[0,8]]},"441":{"position":[[0,8]]},"455":{"position":[[0,8]]},"458":{"position":[[0,8]]},"468":{"position":[[0,8]]},"470":{"position":[[0,8]]},"478":{"position":[[0,8]]},"484":{"position":[[0,8]]},"487":{"position":[[0,8]]},"490":{"position":[[0,8]]},"499":{"position":[[0,8]]},"505":{"position":[[0,8]]},"509":{"position":[[0,8]]},"512":{"position":[[0,8]]},"514":{"position":[[0,8]]},"524":{"position":[[0,8]]},"539":{"position":[[0,8]]},"549":{"position":[[0,8]]},"583":{"position":[[0,8]]},"601":{"position":[[0,8]]},"603":{"position":[[0,8]]},"610":{"position":[[0,8]]},"613":{"position":[[0,8]]},"616":{"position":[[0,8]]},"662":{"position":[[0,8]]},"671":{"position":[[0,8]]},"675":{"position":[[0,8]]},"681":{"position":[[0,8]]},"693":{"position":[[0,8]]},"696":{"position":[[0,8]]},"707":{"position":[[0,8]]},"714":{"position":[[0,8]]},"716":{"position":[[0,8]]},"728":{"position":[[0,8]]},"759":{"position":[[0,8]]},"768":{"position":[[0,8]]},"773":{"position":[[0,8]]},"775":{"position":[[0,8]]},"783":{"position":[[0,8]]},"788":{"position":[[0,8]]},"800":{"position":[[0,8]]},"814":{"position":[[0,8]]},"828":{"position":[[0,8]]},"845":{"position":[[0,8]]},"852":{"position":[[0,8]]},"854":{"position":[[0,8]]},"885":{"position":[[0,8]]},"892":{"position":[[0,8]]},"900":{"position":[[0,8]]},"904":{"position":[[0,8]]},"913":{"position":[[0,8]]},"942":{"position":[[0,8]]},"949":{"position":[[0,8]]},"952":{"position":[[0,8]]},"958":{"position":[[0,8]]},"961":{"position":[[0,8]]},"968":{"position":[[0,8]]},"970":{"position":[[0,8]]},"972":{"position":[[0,8]]},"981":{"position":[[0,8]]},"1000":{"position":[[0,8]]},"1006":{"position":[[0,8]]},"1009":{"position":[[0,8]]},"1020":{"position":[[0,8]]},"1022":{"position":[[0,8]]},"1024":{"position":[[0,8]]},"1030":{"position":[[0,8]]},"1034":{"position":[[0,8]]},"1036":{"position":[[0,8]]},"1038":{"position":[[0,8]]},"1040":{"position":[[0,8]]},"1042":{"position":[[0,8]]},"1047":{"position":[[0,8]]},"1050":{"position":[[0,8]]},"1052":{"position":[[0,8]]},"1056":{"position":[[0,8]]},"1058":{"position":[[0,8]]},"1060":{"position":[[0,8]]},"1067":{"position":[[0,8]]},"1076":{"position":[[0,8]]},"1104":{"position":[[0,8]]},"1113":{"position":[[0,8]]},"1116":{"position":[[0,8]]},"1118":{"position":[[0,8]]},"1142":{"position":[[0,8]]},"1190":{"position":[[0,8]]},"1200":{"position":[[0,8]]},"1212":{"position":[[0,8]]},"1234":{"position":[[0,8]]},"1237":{"position":[[0,8]]},"1238":{"position":[[0,8]]},"1268":{"position":[[0,9]]},"1269":{"position":[[0,8]]},"1272":{"position":[[0,8]]},"1276":{"position":[[0,8]]},"1279":{"position":[[0,8]]},"1287":{"position":[[0,8]]},"1299":{"position":[[0,8]]},"1317":{"position":[[0,8]]},"1339":{"position":[[0,8]]},"1342":{"position":[[0,8]]},"1349":{"position":[[0,9]]},"1353":{"position":[[0,8]]},"1354":{"position":[[0,9]]},"1358":{"position":[[0,8]]},"1359":{"position":[[0,9]]},"1363":{"position":[[0,8]]},"1364":{"position":[[0,9]]},"1368":{"position":[[0,8]]},"1369":{"position":[[0,9]]},"1373":{"position":[[0,8]]},"1374":{"position":[[0,9]]},"1377":{"position":[[0,8]]},"1378":{"position":[[0,9]]},"1381":{"position":[[0,8]]},"1382":{"position":[[0,9]]},"1385":{"position":[[0,8]]},"1386":{"position":[[0,9]]},"1389":{"position":[[0,8]]},"1390":{"position":[[0,9]]},"1393":{"position":[[0,8]]},"1394":{"position":[[0,9]]},"1397":{"position":[[0,8]]},"1398":{"position":[[0,9]]},"1401":{"position":[[0,8]]},"1402":{"position":[[0,9]]},"1405":{"position":[[0,8]]},"1406":{"position":[[0,9]]},"1409":{"position":[[0,8]]},"1410":{"position":[[0,9]]},"1413":{"position":[[0,8]]},"1414":{"position":[[0,9]]},"1417":{"position":[[0,8]]},"1418":{"position":[[0,9]]},"1421":{"position":[[0,8]]},"1422":{"position":[[0,9]]},"1425":{"position":[[0,8]]},"1426":{"position":[[0,9]]},"1429":{"position":[[0,8]]},"1430":{"position":[[0,9]]},"1433":{"position":[[0,8]]},"1434":{"position":[[0,9]]},"1437":{"position":[[0,8]]},"1438":{"position":[[0,9]]},"1440":{"position":[[0,8]]},"1450":{"position":[[0,8]]},"1453":{"position":[[0,8]]},"1461":{"position":[[0,8]]},"1473":{"position":[[0,9]]},"1479":{"position":[[0,8]]},"1500":{"position":[[0,9]]},"1501":{"position":[[0,8]]},"1514":{"position":[[0,9]]},"1515":{"position":[[0,8]]},"1517":{"position":[[0,9]]},"1519":{"position":[[0,8]]},"1527":{"position":[[0,8]]},"1529":{"position":[[0,8]]},"1531":{"position":[[0,8]]},"1535":{"position":[[0,8]]},"1536":{"position":[[0,9]]},"1537":{"position":[[0,8]]},"1559":{"position":[[0,8]]},"1595":{"position":[[0,8]]},"1599":{"position":[[0,8]]},"1602":{"position":[[0,8]]},"1616":{"position":[[0,8]]},"1631":{"position":[[0,8]]},"1643":{"position":[[0,8]]},"1646":{"position":[[0,8]]},"1650":{"position":[[0,8]]},"1651":{"position":[[0,8]]},"1653":{"position":[[0,8]]},"1660":{"position":[[0,8]]},"1662":{"position":[[0,8]]},"1664":{"position":[[0,8]]},"1672":{"position":[[0,8]]},"1689":{"position":[[0,8]]},"1697":{"position":[[0,8]]},"1699":{"position":[[0,8]]},"1705":{"position":[[0,8]]},"1707":{"position":[[0,8]]},"1723":{"position":[[0,8]]},"1726":{"position":[[0,8]]},"1727":{"position":[[0,8]]},"1732":{"position":[[0,8]]},"1736":{"position":[[0,8]]},"1737":{"position":[[0,8]]},"1742":{"position":[[0,8]]},"1746":{"position":[[0,9]]},"1748":{"position":[[0,8]]},"1750":{"position":[[0,8]]}},"content":{"240":{"position":[[2772,6],[2847,6],[2932,6]]},"241":{"position":[[3214,6],[3279,6],[3354,6]]},"340":{"position":[[1282,6],[1365,6],[1451,6]]},"348":{"position":[[1577,6],[1660,6],[1746,6]]},"1466":{"position":[[183,8]]}},"keywords":{}}],["bring",{"_index":1435,"title":{},"content":{"182":{"position":[[283,5]]},"190":{"position":[[1622,5]]}},"keywords":{}}],["broadcast",{"_index":21,"title":{},"content":{"0":{"position":[[377,9]]},"6":{"position":[[645,10]]},"10":{"position":[[963,9]]},"254":{"position":[[1271,9]]}},"keywords":{}}],["broken",{"_index":6673,"title":{},"content":{"1479":{"position":[[3851,6]]}},"keywords":{}}],["browser",{"_index":1609,"title":{},"content":{"192":{"position":[[115,7]]}},"keywords":{}}],["buff",{"_index":2773,"title":{},"content":{"340":{"position":[[906,5],[1174,5],[1246,5],[1340,5],[1427,4]]},"348":{"position":[[1201,5],[1469,5],[1541,5],[1635,5],[1722,4]]}},"keywords":{}}],["buffer",{"_index":874,"title":{},"content":{"71":{"position":[[2017,6],[2064,8]]},"400":{"position":[[10,7]]},"477":{"position":[[50,6]]},"585":{"position":[[44,6]]},"822":{"position":[[18,6]]},"881":{"position":[[59,6],[119,6],[204,6]]},"1314":{"position":[[32,6]]},"1474":{"position":[[17915,6],[20588,6]]},"1477":{"position":[[7,6]]},"1606":{"position":[[7,6]]},"1622":{"position":[[6,6]]},"1983":{"position":[[1121,6],[1269,6]]},"2003":{"position":[[224,7],[345,6],[563,7],[661,6],[858,7],[981,6]]},"2018":{"position":[[28,8]]},"2019":{"position":[[323,6]]},"2022":{"position":[[19,6],[145,6]]},"2023":{"position":[[1417,6],[2626,6],[3171,6]]},"2030":{"position":[[28,6],[271,6]]},"2031":{"position":[[122,6],[580,6],[2696,6],[3291,6]]},"2039":{"position":[[224,7]]},"2097":{"position":[[94,7],[195,6]]},"2098":{"position":[[0,7],[48,6]]},"2102":{"position":[[95,7],[134,6]]},"2103":{"position":[[256,7],[360,6]]},"2126":{"position":[[85,7],[169,6],[292,7],[364,6],[521,7],[607,6],[738,7],[810,6],[965,7],[1049,6],[1174,7],[1246,6],[1403,7],[1488,6],[1616,7],[1688,6]]},"2130":{"position":[[1175,7],[1280,7],[1317,7],[2021,7],[2408,7]]},"2158":{"position":[[830,7],[929,7],[1009,6],[1016,6],[1191,6],[1320,6],[1564,6]]},"2165":{"position":[[61,7],[114,6]]},"2183":{"position":[[101,6],[376,7],[442,7],[558,6],[878,6],[921,7],[987,7]]},"2185":{"position":[[353,7],[397,6]]},"2203":{"position":[[129,6]]},"2204":{"position":[[1779,6],[1846,6]]},"2217":{"position":[[112,7]]},"2223":{"position":[[482,7],[562,6]]},"2227":{"position":[[523,7],[603,6]]},"2325":{"position":[[329,6]]}},"keywords":{}}],["bufferpool",{"_index":8378,"title":{},"content":{"2112":{"position":[[217,11],[506,10]]}},"keywords":{}}],["bufferpoolmaxs",{"_index":8429,"title":{},"content":{"2130":{"position":[[1247,18],[1385,17]]}},"keywords":{}}],["bufferpoolstarts",{"_index":8428,"title":{},"content":{"2130":{"position":[[1145,20],[1226,19]]}},"keywords":{}}],["buffers",{"_index":4195,"title":{},"content":{"913":{"position":[[0,10]]},"2018":{"position":[[0,11],[110,10]]},"2019":{"position":[[108,10],[186,11],[291,10]]},"2033":{"position":[[112,11],[209,10]]},"2122":{"position":[[94,11],[182,10]]},"2174":{"position":[[81,11]]},"2183":{"position":[[680,11],[854,10]]},"2231":{"position":[[136,11],[172,10]]}},"keywords":{}}],["buffs.callback",{"_index":2775,"title":{},"content":{"340":{"position":[[1076,14]]},"348":{"position":[[1371,14]]}},"keywords":{}}],["bug",{"_index":399,"title":{"371":{"position":[[0,3]]},"375":{"position":[[0,3]]},"379":{"position":[[0,3]]},"384":{"position":[[0,3]]},"385":{"position":[[0,3]]},"388":{"position":[[0,3]]},"390":{"position":[[0,3]]},"393":{"position":[[0,3]]},"395":{"position":[[0,3]]},"396":{"position":[[0,3]]},"400":{"position":[[0,3]]},"401":{"position":[[0,3]]},"405":{"position":[[0,3]]},"407":{"position":[[0,3]]},"409":{"position":[[0,3]]},"410":{"position":[[0,3]]},"414":{"position":[[0,3]]},"416":{"position":[[0,3]]},"418":{"position":[[0,3]]},"420":{"position":[[0,3]]},"423":{"position":[[0,3]]},"427":{"position":[[0,3]]},"429":{"position":[[0,3]]},"432":{"position":[[0,3]]},"435":{"position":[[0,3]]},"444":{"position":[[0,3]]},"447":{"position":[[0,3]]},"449":{"position":[[0,3]]},"451":{"position":[[0,3]]},"453":{"position":[[0,3]]},"456":{"position":[[0,3]]},"460":{"position":[[0,3]]},"462":{"position":[[0,3]]},"464":{"position":[[0,3]]},"474":{"position":[[0,3]]},"476":{"position":[[0,3]]},"485":{"position":[[0,3]]},"488":{"position":[[0,3]]},"492":{"position":[[0,3]]},"494":{"position":[[0,3]]},"496":{"position":[[0,3]]},"497":{"position":[[0,3]]},"502":{"position":[[0,3]]},"506":{"position":[[0,3]]},"516":{"position":[[0,3]]},"518":{"position":[[0,3]]},"520":{"position":[[0,3]]},"521":{"position":[[0,3]]},"526":{"position":[[0,3]]},"528":{"position":[[0,3]]},"530":{"position":[[0,3]]},"531":{"position":[[0,3]]},"534":{"position":[[0,3]]},"536":{"position":[[0,3]]},"537":{"position":[[0,3]]},"541":{"position":[[0,3]]},"544":{"position":[[0,3]]},"546":{"position":[[0,3]]},"548":{"position":[[0,3]]},"551":{"position":[[0,3]]},"553":{"position":[[0,3]]},"554":{"position":[[0,3]]},"556":{"position":[[0,3]]},"560":{"position":[[0,3]]},"562":{"position":[[0,3]]},"565":{"position":[[0,3]]},"568":{"position":[[0,3]]},"570":{"position":[[0,3]]},"572":{"position":[[0,3]]},"574":{"position":[[0,3]]},"577":{"position":[[0,3]]},"579":{"position":[[0,3]]},"581":{"position":[[0,3]]},"582":{"position":[[0,3]]},"585":{"position":[[0,3]]},"587":{"position":[[0,3]]},"590":{"position":[[0,3]]},"593":{"position":[[0,3]]},"594":{"position":[[0,3]]},"599":{"position":[[0,3]]},"604":{"position":[[0,3]]},"607":{"position":[[0,3]]},"611":{"position":[[0,3]]},"614":{"position":[[0,3]]},"617":{"position":[[0,3]]},"620":{"position":[[0,3]]},"622":{"position":[[0,3]]},"625":{"position":[[0,3]]},"628":{"position":[[0,3]]},"630":{"position":[[0,3]]},"632":{"position":[[0,3]]},"634":{"position":[[0,3]]},"635":{"position":[[0,3]]},"638":{"position":[[0,3]]},"640":{"position":[[0,3]]},"642":{"position":[[0,3]]},"644":{"position":[[0,3]]},"646":{"position":[[0,3]]},"649":{"position":[[0,3]]},"651":{"position":[[0,3]]},"653":{"position":[[0,3]]},"655":{"position":[[0,3]]},"659":{"position":[[0,3]]},"660":{"position":[[0,3]]},"663":{"position":[[0,3]]},"666":{"position":[[0,3]]},"670":{"position":[[0,3]]},"673":{"position":[[0,3]]},"677":{"position":[[0,3]]},"679":{"position":[[0,3]]},"683":{"position":[[0,3]]},"685":{"position":[[0,3]]},"687":{"position":[[0,3]]},"689":{"position":[[0,3]]},"697":{"position":[[0,3]]},"700":{"position":[[0,3]]},"701":{"position":[[0,3]]},"703":{"position":[[0,3]]},"710":{"position":[[0,3]]},"711":{"position":[[0,3]]},"713":{"position":[[0,3]]},"715":{"position":[[0,3]]},"718":{"position":[[0,3]]},"721":{"position":[[0,3]]},"723":{"position":[[0,3]]},"725":{"position":[[0,3]]},"726":{"position":[[0,3]]},"730":{"position":[[0,3]]},"732":{"position":[[0,3]]},"734":{"position":[[0,3]]},"736":{"position":[[0,3]]},"737":{"position":[[0,3]]},"739":{"position":[[0,3]]},"742":{"position":[[0,3]]},"744":{"position":[[0,3]]},"746":{"position":[[0,3]]},"751":{"position":[[0,3]]},"753":{"position":[[0,3]]},"755":{"position":[[0,3]]},"756":{"position":[[0,3]]},"761":{"position":[[0,3]]},"763":{"position":[[0,3]]},"764":{"position":[[0,3]]},"770":{"position":[[0,3]]},"774":{"position":[[0,3]]},"777":{"position":[[0,3]]},"779":{"position":[[0,3]]},"781":{"position":[[0,3]]},"785":{"position":[[0,3]]},"786":{"position":[[0,3]]},"790":{"position":[[0,3]]},"792":{"position":[[0,3]]},"794":{"position":[[0,3]]},"795":{"position":[[0,3]]},"798":{"position":[[0,3]]},"802":{"position":[[0,3]]},"804":{"position":[[0,3]]},"808":{"position":[[0,3]]},"809":{"position":[[0,3]]},"812":{"position":[[0,3]]},"816":{"position":[[0,3]]},"818":{"position":[[0,3]]},"820":{"position":[[0,3]]},"821":{"position":[[0,3]]},"824":{"position":[[0,3]]},"826":{"position":[[0,3]]},"830":{"position":[[0,3]]},"842":{"position":[[0,3]]},"847":{"position":[[0,3]]},"850":{"position":[[0,3]]},"857":{"position":[[0,3]]},"859":{"position":[[0,3]]},"860":{"position":[[0,3]]},"870":{"position":[[0,3]]},"872":{"position":[[0,3]]},"873":{"position":[[0,3]]},"875":{"position":[[0,3]]},"877":{"position":[[0,3]]},"881":{"position":[[0,3]]},"883":{"position":[[0,3]]},"889":{"position":[[0,3]]},"895":{"position":[[0,3]]},"897":{"position":[[0,3]]},"908":{"position":[[0,3]]},"911":{"position":[[0,3]]},"915":{"position":[[0,3]]},"917":{"position":[[0,3]]},"918":{"position":[[0,3]]},"922":{"position":[[0,3]]},"924":{"position":[[0,3]]},"926":{"position":[[0,3]]},"929":{"position":[[0,3]]},"930":{"position":[[0,3]]},"933":{"position":[[0,3]]},"936":{"position":[[0,3]]},"938":{"position":[[0,3]]},"939":{"position":[[0,3]]},"944":{"position":[[0,3]]},"950":{"position":[[0,3]]},"954":{"position":[[0,3]]},"956":{"position":[[0,3]]},"963":{"position":[[0,3]]},"966":{"position":[[0,3]]},"974":{"position":[[0,3]]},"976":{"position":[[0,3]]},"978":{"position":[[0,3]]},"983":{"position":[[0,3]]},"985":{"position":[[0,3]]},"987":{"position":[[0,3]]},"989":{"position":[[0,3]]},"992":{"position":[[0,3]]},"994":{"position":[[0,3]]},"997":{"position":[[0,3]]},"998":{"position":[[0,3]]},"1002":{"position":[[0,3]]},"1004":{"position":[[0,3]]},"1005":{"position":[[0,3]]},"1011":{"position":[[0,3]]},"1014":{"position":[[0,3]]},"1017":{"position":[[0,3]]},"1026":{"position":[[0,3]]},"1032":{"position":[[0,3]]},"1044":{"position":[[0,3]]},"1048":{"position":[[0,3]]},"1054":{"position":[[0,3]]},"1062":{"position":[[0,3]]},"1064":{"position":[[0,3]]},"1069":{"position":[[0,3]]},"1071":{"position":[[0,3]]},"1073":{"position":[[0,3]]},"1079":{"position":[[0,3]]},"1081":{"position":[[0,3]]},"1084":{"position":[[0,3]]},"1086":{"position":[[0,3]]},"1088":{"position":[[0,3]]},"1090":{"position":[[0,3]]},"1092":{"position":[[0,3]]},"1094":{"position":[[0,3]]},"1096":{"position":[[0,3]]},"1100":{"position":[[0,3]]},"1102":{"position":[[0,3]]},"1106":{"position":[[0,3]]},"1108":{"position":[[0,3]]},"1111":{"position":[[0,3]]},"1123":{"position":[[0,3]]},"1125":{"position":[[0,3]]},"1129":{"position":[[0,3]]},"1131":{"position":[[0,3]]},"1132":{"position":[[0,3]]},"1135":{"position":[[0,3]]},"1139":{"position":[[0,3]]},"1140":{"position":[[0,3]]},"1145":{"position":[[0,3]]},"1147":{"position":[[0,3]]},"1149":{"position":[[0,3]]},"1151":{"position":[[0,3]]},"1153":{"position":[[0,3]]},"1155":{"position":[[0,3]]},"1157":{"position":[[0,3]]},"1163":{"position":[[0,3]]},"1165":{"position":[[0,3]]},"1168":{"position":[[0,3]]},"1171":{"position":[[0,3]]},"1173":{"position":[[0,3]]},"1177":{"position":[[0,3]]},"1179":{"position":[[0,3]]},"1182":{"position":[[0,3]]},"1188":{"position":[[0,3]]},"1192":{"position":[[0,3]]},"1194":{"position":[[0,3]]},"1197":{"position":[[0,3]]},"1199":{"position":[[0,3]]},"1202":{"position":[[0,3]]},"1207":{"position":[[0,3]]},"1210":{"position":[[0,3]]},"1211":{"position":[[0,3]]},"1214":{"position":[[0,3]]},"1219":{"position":[[0,3]]},"1221":{"position":[[0,3]]},"1223":{"position":[[0,3]]},"1225":{"position":[[0,3]]},"1227":{"position":[[0,3]]},"1229":{"position":[[0,3]]},"1231":{"position":[[0,3]]},"1233":{"position":[[0,3]]},"1236":{"position":[[0,3]]},"1241":{"position":[[0,3]]},"1243":{"position":[[0,3]]},"1245":{"position":[[0,3]]},"1247":{"position":[[0,3]]},"1250":{"position":[[0,3]]},"1252":{"position":[[0,3]]},"1254":{"position":[[0,3]]},"1256":{"position":[[0,3]]},"1260":{"position":[[0,3]]},"1262":{"position":[[0,3]]},"1265":{"position":[[0,3]]},"1267":{"position":[[0,3]]},"1271":{"position":[[0,3]]},"1274":{"position":[[0,3]]},"1285":{"position":[[0,3]]},"1286":{"position":[[0,3]]},"1289":{"position":[[0,3]]},"1291":{"position":[[0,3]]},"1295":{"position":[[0,3]]},"1297":{"position":[[0,3]]},"1300":{"position":[[0,3]]},"1303":{"position":[[0,3]]},"1305":{"position":[[0,3]]},"1307":{"position":[[0,3]]},"1309":{"position":[[0,3]]},"1314":{"position":[[0,3]]},"1316":{"position":[[0,3]]},"1320":{"position":[[0,3]]},"1324":{"position":[[0,3]]},"1325":{"position":[[0,3]]},"1329":{"position":[[0,3]]},"1332":{"position":[[0,3]]},"1334":{"position":[[0,3]]},"1337":{"position":[[0,3]]},"1341":{"position":[[0,3]]},"1344":{"position":[[0,3]]},"1346":{"position":[[0,3]]},"1348":{"position":[[0,3]]},"1350":{"position":[[0,3]]},"1355":{"position":[[0,3]]},"1360":{"position":[[0,3]]},"1365":{"position":[[0,3]]},"1370":{"position":[[0,3]]},"1375":{"position":[[0,3]]},"1379":{"position":[[0,3]]},"1383":{"position":[[0,3]]},"1387":{"position":[[0,3]]},"1391":{"position":[[0,3]]},"1395":{"position":[[0,3]]},"1399":{"position":[[0,3]]},"1403":{"position":[[0,3]]},"1407":{"position":[[0,3]]},"1411":{"position":[[0,3]]},"1415":{"position":[[0,3]]},"1419":{"position":[[0,3]]},"1423":{"position":[[0,3]]},"1427":{"position":[[0,3]]},"1431":{"position":[[0,3]]},"1435":{"position":[[0,3]]},"1442":{"position":[[0,3]]},"1445":{"position":[[0,3]]},"1447":{"position":[[0,3]]},"1448":{"position":[[0,3]]},"1452":{"position":[[0,3]]},"1455":{"position":[[0,3]]},"1458":{"position":[[0,3]]},"1463":{"position":[[0,3]]},"1466":{"position":[[0,3]]},"1472":{"position":[[0,3]]},"1474":{"position":[[0,3]]},"1481":{"position":[[0,3]]},"1483":{"position":[[0,3]]},"1486":{"position":[[0,3]]},"1489":{"position":[[0,3]]},"1491":{"position":[[0,3]]},"1493":{"position":[[0,3]]},"1495":{"position":[[0,3]]},"1496":{"position":[[0,3]]},"1499":{"position":[[0,3]]},"1504":{"position":[[0,3]]},"1506":{"position":[[0,3]]},"1508":{"position":[[0,3]]},"1510":{"position":[[0,3]]},"1512":{"position":[[0,3]]},"1520":{"position":[[0,3]]},"1524":{"position":[[0,3]]},"1533":{"position":[[0,3]]},"1539":{"position":[[0,3]]},"1541":{"position":[[0,3]]},"1543":{"position":[[0,3]]},"1545":{"position":[[0,3]]},"1546":{"position":[[0,3]]},"1549":{"position":[[0,3]]},"1553":{"position":[[0,3]]},"1555":{"position":[[0,3]]},"1557":{"position":[[0,3]]},"1562":{"position":[[0,3]]},"1565":{"position":[[0,3]]},"1566":{"position":[[0,3]]},"1570":{"position":[[0,3]]},"1572":{"position":[[0,3]]},"1574":{"position":[[0,3]]},"1576":{"position":[[0,3]]},"1577":{"position":[[0,3]]},"1580":{"position":[[0,3]]},"1581":{"position":[[0,3]]},"1588":{"position":[[0,3]]},"1592":{"position":[[0,3]]},"1597":{"position":[[0,3]]},"1603":{"position":[[0,3]]},"1607":{"position":[[0,3]]},"1611":{"position":[[0,3]]},"1614":{"position":[[0,3]]},"1618":{"position":[[0,3]]},"1620":{"position":[[0,3]]},"1622":{"position":[[0,3]]},"1626":{"position":[[0,3]]},"1640":{"position":[[0,3]]},"1644":{"position":[[0,3]]},"1648":{"position":[[0,3]]},"1655":{"position":[[0,3]]},"1658":{"position":[[0,3]]},"1666":{"position":[[0,3]]},"1670":{"position":[[0,3]]},"1673":{"position":[[0,3]]},"1676":{"position":[[0,3]]},"1678":{"position":[[0,3]]},"1680":{"position":[[0,3]]},"1682":{"position":[[0,3]]},"1684":{"position":[[0,3]]},"1686":{"position":[[0,3]]},"1687":{"position":[[0,3]]},"1691":{"position":[[0,3]]},"1693":{"position":[[0,3]]},"1696":{"position":[[0,3]]},"1701":{"position":[[0,3]]},"1703":{"position":[[0,3]]},"1709":{"position":[[0,3]]},"1711":{"position":[[0,3]]},"1713":{"position":[[0,3]]},"1715":{"position":[[0,3]]},"1717":{"position":[[0,3]]},"1719":{"position":[[0,3]]},"1721":{"position":[[0,3]]},"1725":{"position":[[0,3]]},"1729":{"position":[[0,3]]},"1731":{"position":[[0,3]]},"1733":{"position":[[0,3]]},"1738":{"position":[[0,3]]},"1740":{"position":[[0,3]]},"1744":{"position":[[0,3]]},"1745":{"position":[[0,3]]},"1751":{"position":[[0,3]]},"1752":{"position":[[0,3]]},"1755":{"position":[[0,3]]},"1757":{"position":[[0,3]]},"1759":{"position":[[0,3]]},"1761":{"position":[[0,3]]},"1762":{"position":[[0,3]]},"1766":{"position":[[0,3]]},"1768":{"position":[[0,3]]}},"content":{"19":{"position":[[67,3]]},"992":{"position":[[0,3]]},"1086":{"position":[[0,3]]},"1151":{"position":[[0,3]]},"1316":{"position":[[0,3]]},"1337":{"position":[[0,3]]},"1350":{"position":[[73,3]]},"1355":{"position":[[73,3]]},"1360":{"position":[[73,3]]},"1365":{"position":[[73,3]]},"1370":{"position":[[73,3]]},"1375":{"position":[[27,3]]},"1379":{"position":[[27,3]]},"1383":{"position":[[27,3]]},"1387":{"position":[[27,3]]},"1391":{"position":[[27,3]]},"1395":{"position":[[27,3]]},"1399":{"position":[[0,3]]},"1403":{"position":[[0,3]]},"1407":{"position":[[0,3]]},"1411":{"position":[[0,3]]},"1415":{"position":[[0,3]]},"1419":{"position":[[0,3]]},"1423":{"position":[[0,3]]},"1427":{"position":[[0,3]]},"1431":{"position":[[0,3]]},"1435":{"position":[[0,3]]},"1474":{"position":[[595,3],[2568,3],[2945,3],[3090,3],[3543,3],[13629,3],[13858,3],[19235,4],[20174,3],[21666,3]]},"1493":{"position":[[3,3]]},"1533":{"position":[[22,4]]},"1729":{"position":[[81,3]]},"1766":{"position":[[385,3]]}},"keywords":{}}],["build",{"_index":65,"title":{"194":{"position":[[0,5]]}},"content":{"0":{"position":[[1119,8],[1189,5],[1330,5]]},"3":{"position":[[231,8]]},"14":{"position":[[670,5]]},"17":{"position":[[101,6]]},"46":{"position":[[130,5],[522,5],[603,5]]},"50":{"position":[[11,5]]},"59":{"position":[[174,8]]},"175":{"position":[[161,6],[266,6],[414,5]]},"179":{"position":[[437,5]]},"184":{"position":[[45,5],[138,5],[435,5]]},"187":{"position":[[1076,6],[1128,5]]},"194":{"position":[[0,5],[54,5]]},"195":{"position":[[203,5]]},"202":{"position":[[179,5]]},"209":{"position":[[2248,5]]},"210":{"position":[[1855,5]]},"212":{"position":[[141,5]]},"243":{"position":[[1926,8]]},"258":{"position":[[122,5]]},"541":{"position":[[19,5]]},"1032":{"position":[[32,5]]},"1445":{"position":[[47,5]]},"1474":{"position":[[3326,5],[8475,5],[11285,5],[11309,5],[12152,5],[22321,5]]},"1476":{"position":[[2376,6],[4695,5],[6592,6]]},"1479":{"position":[[3162,5]]},"1567":{"position":[[1061,5]]},"1577":{"position":[[184,5]]},"1618":{"position":[[9,5],[33,5]]},"1735":{"position":[[20,6]]},"1737":{"position":[[79,5]]},"1928":{"position":[[72,5]]},"1930":{"position":[[46,5]]},"2285":{"position":[[133,5]]}},"keywords":{}}],["build/editor",{"_index":1387,"title":{},"content":{"175":{"position":[[212,12]]}},"keywords":{}}],["build=client",{"_index":5441,"title":{},"content":{"1474":{"position":[[3116,13]]}},"keywords":{}}],["builder",{"_index":4168,"title":{},"content":{"898":{"position":[[28,7]]}},"keywords":{}}],["built",{"_index":15,"title":{"94":{"position":[[0,5]]},"326":{"position":[[0,5]]}},"content":{"0":{"position":[[267,5]]},"20":{"position":[[554,5]]},"46":{"position":[[631,5],[868,5],[1354,5]]},"50":{"position":[[42,5],[270,5]]},"81":{"position":[[75,6]]},"83":{"position":[[342,5]]},"94":{"position":[[20,5],[609,5]]},"96":{"position":[[309,5]]},"171":{"position":[[44,5]]},"195":{"position":[[14,5]]},"213":{"position":[[437,5]]},"217":{"position":[[827,5]]},"245":{"position":[[3064,5]]},"300":{"position":[[19,5]]},"320":{"position":[[89,5]]},"326":{"position":[[21,5],[172,5]]},"327":{"position":[[924,5]]},"1135":{"position":[[0,5]]},"2255":{"position":[[152,5]]},"2279":{"position":[[152,5]]},"2313":{"position":[[152,5]]},"2383":{"position":[[1174,5]]},"2386":{"position":[[134,5]]},"2397":{"position":[[1115,5]]},"2404":{"position":[[1131,5]]},"2434":{"position":[[1260,5]]},"2471":{"position":[[152,5]]}},"keywords":{}}],["bullet",{"_index":2197,"title":{},"content":{"251":{"position":[[3893,6],[3926,6],[4255,6]]}},"keywords":{}}],["bullet.getcomponent<rigidbody>",{"_index":2200,"title":{},"content":{"251":{"position":[[4049,39]]}},"keywords":{}}],["bunch",{"_index":2618,"title":{},"content":{"317":{"position":[[100,5]]}},"keywords":{}}],["button",{"_index":216,"title":{},"content":{"9":{"position":[[589,6]]},"13":{"position":[[33,6],[370,6]]},"14":{"position":[[1762,7],[1892,7]]},"42":{"position":[[224,7]]},"67":{"position":[[727,6]]},"190":{"position":[[1858,6]]},"192":{"position":[[68,6]]},"201":{"position":[[727,6]]},"210":{"position":[[183,7]]},"211":{"position":[[864,6]]},"243":{"position":[[2370,6]]},"395":{"position":[[9,6]]},"528":{"position":[[67,6]]},"555":{"position":[[7,7]]},"730":{"position":[[38,7]]},"1474":{"position":[[12043,6],[21685,6]]},"1493":{"position":[[22,6]]},"1589":{"position":[[0,6]]},"1777":{"position":[[440,7]]},"2240":{"position":[[5484,6]]},"2352":{"position":[[143,6]]}},"keywords":{}}],["button.attach",{"_index":1776,"title":{},"content":{"210":{"position":[[1713,13]]}},"keywords":{}}],["buttonclick",{"_index":215,"title":{},"content":{"9":{"position":[[570,11]]}},"keywords":{}}],["buttonsendmessag",{"_index":1774,"title":{},"content":{"210":{"position":[[1564,19],[1671,17]]}},"keywords":{}}],["bypass",{"_index":806,"title":{},"content":{"64":{"position":[[309,8]]},"337":{"position":[[1392,6]]},"1028":{"position":[[23,8]]},"1029":{"position":[[10,8]]}},"keywords":{}}],["byte",{"_index":779,"title":{},"content":{"61":{"position":[[58,6]]},"240":{"position":[[1888,4]]},"295":{"position":[[680,4]]},"316":{"position":[[1173,4],[1196,4],[1644,4]]},"327":{"position":[[572,4],[636,4]]},"714":{"position":[[60,4]]},"881":{"position":[[82,4]]},"1474":{"position":[[15755,4]]},"1477":{"position":[[701,5],[2836,6],[2940,4],[3074,6]]},"1636":{"position":[[193,6]]},"1805":{"position":[[72,6]]},"1983":{"position":[[107,6],[1976,6],[2165,6]]},"2003":{"position":[[33,7],[60,4],[217,6],[439,8],[556,6],[2289,6],[2815,6]]},"2010":{"position":[[750,6]]},"2023":{"position":[[1112,5],[1635,4],[3364,4],[3584,4],[3601,5]]},"2030":{"position":[[145,4]]},"2031":{"position":[[196,6],[2154,5],[2201,5],[3520,4],[3738,4],[3755,5]]},"2039":{"position":[[35,5],[141,4]]},"2056":{"position":[[34,6],[119,4],[2660,4]]},"2091":{"position":[[135,6]]},"2110":{"position":[[44,6]]},"2113":{"position":[[562,5],[724,4]]},"2119":{"position":[[44,6]]},"2121":{"position":[[36,6]]},"2126":{"position":[[29,6],[109,4],[271,4]]},"2132":{"position":[[28,8],[107,6],[513,8],[596,6],[1118,7],[1210,6],[1771,8],[1848,6]]},"2158":{"position":[[1221,7],[1414,6]]},"2168":{"position":[[299,5],[475,5],[664,5],[880,5],[1125,5],[1397,5],[1744,5],[2075,5],[2410,5],[2729,5],[3052,5]]},"2169":{"position":[[153,5],[476,5]]},"2189":{"position":[[44,6]]},"2223":{"position":[[663,7],[729,6]]},"2227":{"position":[[704,7],[770,6]]},"2292":{"position":[[205,5]]},"2322":{"position":[[214,5],[775,5],[1492,5],[2214,5]]},"2346":{"position":[[87,6],[174,5]]},"2347":{"position":[[77,6],[178,5]]}},"keywords":{}}],["byte/enum",{"_index":8335,"title":{},"content":{"2094":{"position":[[81,9]]}},"keywords":{}}],["bytebuff",{"_index":8308,"title":{"2120":{"position":[[6,10]]}},"content":{"2091":{"position":[[106,11]]},"2098":{"position":[[37,10]]},"2102":{"position":[[123,10]]},"2103":{"position":[[180,11],[245,10]]},"2122":{"position":[[69,10]]}},"keywords":{}}],["bytecapac",{"_index":8043,"title":{},"content":{"2030":{"position":[[0,13],[59,12]]}},"keywords":{}}],["bytelength",{"_index":8044,"title":{},"content":{"2030":{"position":[[82,11],[201,10]]}},"keywords":{}}],["byteposit",{"_index":7969,"title":{},"content":{"2022":{"position":[[198,13],[280,12]]},"2031":{"position":[[2407,13],[2506,12]]}},"keywords":{}}],["byteshortintlongenum",{"_index":1306,"title":{},"content":{"154":{"position":[[0,20]]}},"keywords":{}}],["byteshortushortintuintlongulongenum",{"_index":1193,"title":{},"content":{"128":{"position":[[0,35]]},"134":{"position":[[0,35]]},"157":{"position":[[0,35]]}},"keywords":{}}],["bytesreceiv",{"_index":8467,"title":{},"content":{"2158":{"position":[[866,13]]}},"keywords":{}}],["byteutil",{"_index":8310,"title":{"2125":{"position":[[6,9]]}},"content":{"2091":{"position":[[160,10]]}},"keywords":{}}],["c",{"_index":1506,"title":{},"content":{"183":{"position":[[194,2],[888,2]]},"184":{"position":[[176,3]]},"190":{"position":[[1715,2]]},"197":{"position":[[383,1]]},"198":{"position":[[534,1]]},"304":{"position":[[373,2]]},"326":{"position":[[243,2]]},"356":{"position":[[252,1],[474,1],[554,1],[880,2],[963,1]]},"390":{"position":[[248,2]]},"397":{"position":[[11,2]]},"1311":{"position":[[33,1]]},"1314":{"position":[[52,1]]},"1983":{"position":[[1583,2],[3120,2]]}},"keywords":{}}],["c031ae9",{"_index":5054,"title":{},"content":{"1289":{"position":[[51,9]]}},"keywords":{}}],["c0b5a12",{"_index":5095,"title":{},"content":{"1311":{"position":[[45,9]]}},"keywords":{}}],["c0dc98e",{"_index":3542,"title":{},"content":{"618":{"position":[[48,9]]}},"keywords":{}}],["c0e2632",{"_index":5162,"title":{},"content":{"1341":{"position":[[116,10]]}},"keywords":{}}],["c0e7e92",{"_index":6923,"title":{},"content":{"1613":{"position":[[33,9]]}},"keywords":{}}],["c0e7e92)asynchron",{"_index":6137,"title":{},"content":{"1476":{"position":[[2174,21]]}},"keywords":{}}],["c1410b0)ad",{"_index":5274,"title":{},"content":{"1466":{"position":[[143,15]]}},"keywords":{}}],["c1552c0",{"_index":4495,"title":{},"content":{"1043":{"position":[[51,9]]}},"keywords":{}}],["c1707e5)don't",{"_index":5652,"title":{},"content":{"1474":{"position":[[9418,14]]}},"keywords":{}}],["c19929f",{"_index":4121,"title":{},"content":{"875":{"position":[[108,9]]}},"keywords":{}}],["c1af84e)#573",{"_index":5461,"title":{},"content":{"1474":{"position":[[3915,13]]}},"keywords":{}}],["c1cfc42",{"_index":6964,"title":{},"content":{"1641":{"position":[[48,9]]}},"keywords":{}}],["c1cfc42)spawn",{"_index":6491,"title":{},"content":{"1477":{"position":[[2604,14]]}},"keywords":{}}],["c206f9a)network",{"_index":6254,"title":{},"content":{"1476":{"position":[[5026,16]]}},"keywords":{}}],["c20f6de",{"_index":6680,"title":{},"content":{"1483":{"position":[[28,9]]}},"keywords":{}}],["c20f6de)remov",{"_index":5878,"title":{},"content":{"1474":{"position":[[17220,16]]}},"keywords":{}}],["c24a73f)syntax",{"_index":5992,"title":{},"content":{"1474":{"position":[[21030,15]]}},"keywords":{}}],["c2599e2",{"_index":7047,"title":{},"content":{"1706":{"position":[[52,9]]}},"keywords":{}}],["c2599e2)observ",{"_index":6040,"title":{},"content":{"1475":{"position":[[52,18]]}},"keywords":{}}],["c2ed26f)logset",{"_index":3908,"title":{},"content":{"786":{"position":[[118,21]]}},"keywords":{}}],["c30e4a9",{"_index":7152,"title":{},"content":{"1763":{"position":[[109,9]]}},"keywords":{}}],["c30e4a9)networkcli",{"_index":6266,"title":{},"content":{"1476":{"position":[[5371,22]]}},"keywords":{}}],["c32a940",{"_index":4466,"title":{},"content":{"1026":{"position":[[19,9]]}},"keywords":{}}],["c332271",{"_index":7007,"title":{},"content":{"1674":{"position":[[54,9]]}},"keywords":{}}],["c332271)networkconnect",{"_index":6268,"title":{},"content":{"1476":{"position":[[5434,26]]}},"keywords":{}}],["c369da8",{"_index":6556,"title":{},"content":{"1477":{"position":[[4153,10]]},"1731":{"position":[[100,10]]}},"keywords":{}}],["c37fe7d)fix",{"_index":4276,"title":{},"content":{"954":{"position":[[35,15]]}},"keywords":{}}],["c40e0fd",{"_index":5203,"title":{},"content":{"1352":{"position":[[93,9]]},"1357":{"position":[[93,9]]},"1362":{"position":[[93,9]]},"1367":{"position":[[93,9]]}},"keywords":{}}],["c45deb8)fix",{"_index":5695,"title":{},"content":{"1474":{"position":[[10842,14]]},"1566":{"position":[[845,15]]}},"keywords":{}}],["c4ce239",{"_index":4694,"title":{},"content":{"1125":{"position":[[41,9]]}},"keywords":{}}],["c57f64d",{"_index":4150,"title":{},"content":{"887":{"position":[[81,9]]}},"keywords":{}}],["c5ba561",{"_index":3166,"title":{},"content":{"476":{"position":[[121,9]]}},"keywords":{}}],["c600b4c",{"_index":3202,"title":{},"content":{"489":{"position":[[70,9]]}},"keywords":{}}],["c669ff1)avoid",{"_index":6414,"title":{},"content":{"1477":{"position":[[324,14]]}},"keywords":{}}],["c66c5a6",{"_index":6887,"title":{},"content":{"1588":{"position":[[71,9]]}},"keywords":{}}],["c66c5a6)fold",{"_index":5709,"title":{},"content":{"1474":{"position":[[11126,16]]}},"keywords":{}}],["c67de22",{"_index":7161,"title":{},"content":{"1768":{"position":[[31,9]]}},"keywords":{}}],["c67de22)add",{"_index":5488,"title":{},"content":{"1474":{"position":[[4962,12]]}},"keywords":{}}],["c67f873",{"_index":4901,"title":{},"content":{"1216":{"position":[[30,9]]}},"keywords":{}}],["c68189c",{"_index":5051,"title":{},"content":{"1286":{"position":[[66,9]]}},"keywords":{}}],["c6d4efd)upd",{"_index":3193,"title":{},"content":{"486":{"position":[[295,17]]}},"keywords":{}}],["c6d86b3)connect",{"_index":6173,"title":{},"content":{"1476":{"position":[[2999,20]]}},"keywords":{}}],["c6ef84b",{"_index":3417,"title":{},"content":{"565":{"position":[[46,9]]}},"keywords":{}}],["c6f203f)fix",{"_index":3204,"title":{},"content":{"492":{"position":[[55,15]]}},"keywords":{}}],["c6fa49c)auto",{"_index":5276,"title":{},"content":{"1466":{"position":[[199,13]]}},"keywords":{}}],["c753089)don't",{"_index":5642,"title":{},"content":{"1474":{"position":[[9159,14]]}},"keywords":{}}],["c764c1f",{"_index":3483,"title":{},"content":{"595":{"position":[[118,9]]}},"keywords":{}}],["c77bf78",{"_index":2944,"title":{},"content":{"377":{"position":[[39,9]]}},"keywords":{}}],["c7a21dd",{"_index":3950,"title":{},"content":{"811":{"position":[[45,9]]}},"keywords":{}}],["c7bd0be",{"_index":5211,"title":{},"content":{"1375":{"position":[[318,9]]},"1379":{"position":[[318,9]]},"1383":{"position":[[267,9]]},"1387":{"position":[[267,9]]},"1391":{"position":[[267,9]]}},"keywords":{}}],["c7bd0be)nr",{"_index":5192,"title":{},"content":{"1350":{"position":[[438,12]]},"1355":{"position":[[438,12]]},"1360":{"position":[[438,12]]},"1365":{"position":[[364,12]]},"1370":{"position":[[364,12]]}},"keywords":{}}],["c7d8c09)profil",{"_index":6308,"title":{},"content":{"1476":{"position":[[6542,17]]}},"keywords":{}}],["c7d8c09)use",{"_index":6845,"title":{},"content":{"1567":{"position":[[1387,12]]}},"keywords":{}}],["c85d0df)websocket",{"_index":6031,"title":{},"content":{"1474":{"position":[[22345,19]]}},"keywords":{}}],["c87a38a",{"_index":7123,"title":{},"content":{"1749":{"position":[[167,9]]}},"keywords":{}}],["c87a38a)merg",{"_index":6568,"title":{},"content":{"1477":{"position":[[4403,14]]}},"keywords":{}}],["c89bb51",{"_index":7080,"title":{},"content":{"1731":{"position":[[36,9]]}},"keywords":{}}],["c89bb51)disconnect",{"_index":5633,"title":{},"content":{"1474":{"position":[[8934,19]]}},"keywords":{}}],["c8a1a5",{"_index":6970,"title":{},"content":{"1645":{"position":[[56,9]]}},"keywords":{}}],["c8a1a5e)now",{"_index":6297,"title":{},"content":{"1476":{"position":[[6268,12]]}},"keywords":{}}],["c8ad118)websocket",{"_index":6394,"title":{},"content":{"1476":{"position":[[9049,19]]}},"keywords":{}}],["c91308f)syncvar",{"_index":5990,"title":{},"content":{"1474":{"position":[[20981,17]]}},"keywords":{}}],["c91308f)weaver",{"_index":6803,"title":{},"content":{"1562":{"position":[[574,15]]}},"keywords":{}}],["c965d4b",{"_index":7107,"title":{},"content":{"1740":{"position":[[44,9]]}},"keywords":{}}],["c965d4b)don't",{"_index":5655,"title":{},"content":{"1474":{"position":[[9532,14]]}},"keywords":{}}],["c990952)use",{"_index":4205,"title":{},"content":{"920":{"position":[[33,14]]}},"keywords":{}}],["c9a919f",{"_index":4359,"title":{},"content":{"985":{"position":[[41,9]]}},"keywords":{}}],["c9c17ab",{"_index":3591,"title":{},"content":{"640":{"position":[[55,9]]}},"keywords":{}}],["c9d0387",{"_index":4806,"title":{},"content":{"1173":{"position":[[58,9]]}},"keywords":{}}],["c9eac57)onsethostvis",{"_index":5813,"title":{},"content":{"1474":{"position":[[15323,28]]}},"keywords":{}}],["c9f317d)scene",{"_index":6396,"title":{},"content":{"1476":{"position":[[9112,15]]}},"keywords":{}}],["c^2",{"_index":1248,"title":{},"content":{"139":{"position":[[364,4]]}},"keywords":{}}],["ca18d11",{"_index":5230,"title":{},"content":{"1449":{"position":[[38,9]]}},"keywords":{}}],["ca949ea",{"_index":4085,"title":{},"content":{"860":{"position":[[47,9]]}},"keywords":{}}],["cach",{"_index":2223,"title":{},"content":{"254":{"position":[[1083,5]]},"433":{"position":[[6,6]]},"839":{"position":[[8,7]]},"1159":{"position":[[0,5]]},"1241":{"position":[[7,5]]},"1479":{"position":[[1899,5]]},"1646":{"position":[[497,5]]},"1780":{"position":[[446,5]]},"1781":{"position":[[510,5]]},"1983":{"position":[[797,5]]}},"keywords":{}}],["cachedmateri",{"_index":7190,"title":{},"content":{"1780":{"position":[[531,15],[869,15],[896,14]]},"1781":{"position":[[595,15],[933,15],[960,14]]}},"keywords":{}}],["cachedmaterial.color",{"_index":7197,"title":{},"content":{"1780":{"position":[[934,20]]},"1781":{"position":[[998,20]]}},"keywords":{}}],["cacul",{"_index":7725,"title":{},"content":{"1987":{"position":[[183,9]]},"2000":{"position":[[220,9],[657,9]]}},"keywords":{}}],["caece7",{"_index":3787,"title":{},"content":{"732":{"position":[[43,9]]}},"keywords":{}}],["cafbe50)remov",{"_index":3255,"title":{},"content":{"510":{"position":[[25,17]]}},"keywords":{}}],["calcul",{"_index":417,"title":{},"content":{"21":{"position":[[166,10]]},"22":{"position":[[810,9]]},"71":{"position":[[136,13],[213,12]]},"139":{"position":[[204,9],[540,9]]},"173":{"position":[[639,9]]},"862":{"position":[[14,9]]},"1983":{"position":[[321,10],[839,9]]},"1996":{"position":[[263,10]]},"2010":{"position":[[339,9]]},"2193":{"position":[[768,10]]},"2240":{"position":[[5146,10]]},"2407":{"position":[[61,9]]}},"keywords":{}}],["call",{"_index":174,"title":{"217":{"position":[[11,6]]},"218":{"position":[[11,6]]}},"content":{"6":{"position":[[304,4]]},"15":{"position":[[173,6]]},"41":{"position":[[402,7]]},"42":{"position":[[2056,7]]},"46":{"position":[[82,6]]},"54":{"position":[[183,6]]},"63":{"position":[[145,6]]},"71":{"position":[[1918,4]]},"85":{"position":[[266,5],[369,6]]},"91":{"position":[[330,4],[539,4],[652,4],[777,4]]},"92":{"position":[[1380,6]]},"99":{"position":[[389,7],[559,4],[908,7],[1270,7]]},"100":{"position":[[373,7]]},"103":{"position":[[131,4]]},"106":{"position":[[96,7]]},"108":{"position":[[168,7]]},"109":{"position":[[68,6]]},"163":{"position":[[14,6],[74,6],[148,6],[245,4]]},"164":{"position":[[14,6],[76,6],[221,6],[296,6],[404,6],[545,4],[590,6],[701,4],[774,6]]},"165":{"position":[[28,6]]},"167":{"position":[[15,6]]},"170":{"position":[[28,4],[101,4],[191,4],[322,4]]},"171":{"position":[[538,7]]},"197":{"position":[[132,7]]},"202":{"position":[[392,6]]},"203":{"position":[[578,4]]},"207":{"position":[[104,4]]},"210":{"position":[[126,6],[1444,8]]},"216":{"position":[[186,6],[264,6]]},"217":{"position":[[55,6],[502,4],[579,5],[589,6],[801,5],[943,7]]},"218":{"position":[[11,5],[108,5],[167,6],[251,4]]},"225":{"position":[[217,6]]},"231":{"position":[[64,6]]},"232":{"position":[[28,4]]},"234":{"position":[[64,4],[131,4]]},"235":{"position":[[616,6],[1536,6],[1776,6]]},"238":{"position":[[746,4],[877,4],[1193,4]]},"241":{"position":[[2949,6]]},"242":{"position":[[186,6],[526,6]]},"243":{"position":[[487,5],[561,4],[712,6],[1609,5],[1658,5],[1709,6],[1821,5],[1981,5]]},"245":{"position":[[2967,7]]},"247":{"position":[[365,6],[462,7],[634,6],[857,7],[928,6],[1154,6],[1274,6]]},"248":{"position":[[261,5],[377,5],[519,6],[620,4],[905,6],[1019,6],[1244,6]]},"249":{"position":[[326,6],[1127,4],[1745,4],[1835,4]]},"251":{"position":[[3704,4],[3721,6],[4181,4],[4552,4]]},"254":{"position":[[401,7],[1354,7]]},"257":{"position":[[621,5]]},"264":{"position":[[588,6],[665,5],[1096,6],[1498,6],[1827,6],[2035,6],[2172,6]]},"285":{"position":[[76,5]]},"286":{"position":[[46,7]]},"288":{"position":[[773,4],[1280,5],[1447,6],[1497,4],[1584,7]]},"291":{"position":[[107,5]]},"294":{"position":[[815,4]]},"295":{"position":[[232,4],[365,4],[525,5]]},"301":{"position":[[257,4],[326,4],[491,4]]},"302":{"position":[[5,7],[180,6],[273,4],[713,7],[763,4],[834,7],[903,6]]},"303":{"position":[[580,6]]},"317":{"position":[[287,7]]},"328":{"position":[[321,6],[381,4],[562,7]]},"332":{"position":[[25,6],[116,6],[637,4]]},"333":{"position":[[388,6],[540,6]]},"335":{"position":[[462,7],[747,7],[1330,6]]},"337":{"position":[[987,6],[1170,5],[1357,7]]},"340":{"position":[[698,4]]},"344":{"position":[[692,4]]},"346":{"position":[[431,6],[1440,6],[1873,4],[2290,4],[2722,7]]},"348":{"position":[[1028,4]]},"352":{"position":[[668,4]]},"363":{"position":[[407,6],[455,6]]},"451":{"position":[[0,7]]},"485":{"position":[[26,6]]},"524":{"position":[[170,6]]},"603":{"position":[[46,6]]},"614":{"position":[[32,6],[148,6]]},"623":{"position":[[9,4]]},"670":{"position":[[169,6],[248,6]]},"701":{"position":[[12,4]]},"703":{"position":[[16,5],[97,6]]},"708":{"position":[[0,7]]},"710":{"position":[[7,7]]},"721":{"position":[[7,5]]},"850":{"position":[[30,6]]},"879":{"position":[[80,4]]},"930":{"position":[[57,6]]},"939":{"position":[[104,6]]},"948":{"position":[[105,5]]},"958":{"position":[[307,6]]},"968":{"position":[[128,6]]},"972":{"position":[[32,6]]},"989":{"position":[[25,6]]},"1132":{"position":[[18,4]]},"1229":{"position":[[0,7]]},"1285":{"position":[[14,5]]},"1353":{"position":[[72,7]]},"1358":{"position":[[72,7]]},"1363":{"position":[[72,7]]},"1368":{"position":[[72,7]]},"1466":{"position":[[456,6],[819,6]]},"1474":{"position":[[248,4],[994,4],[1067,5],[1128,4],[1886,4],[2613,6],[3553,7],[4438,5],[5084,5],[6285,4],[8182,6],[9002,4],[9054,4],[9121,4],[9174,4],[9244,4],[10402,5],[10435,5],[10559,6],[12739,4],[12900,6],[13468,5],[13685,7],[13976,6],[15059,4],[15242,6],[16208,4],[17719,5],[18035,4],[19064,7],[20692,7],[20769,5],[21228,7],[22521,5]]},"1476":{"position":[[1466,6],[6036,6]]},"1477":{"position":[[808,5],[875,5],[1230,5]]},"1479":{"position":[[3888,6]]},"1489":{"position":[[19,4]]},"1504":{"position":[[3,4]]},"1566":{"position":[[387,4],[703,4],[773,4]]},"1567":{"position":[[493,6]]},"1582":{"position":[[140,6]]},"1644":{"position":[[27,5],[88,4]]},"1655":{"position":[[224,4]]},"1670":{"position":[[0,7]]},"1693":{"position":[[45,4]]},"1696":{"position":[[0,7]]},"1729":{"position":[[199,6]]},"1733":{"position":[[56,5]]},"1745":{"position":[[0,4],[196,7]]},"1752":{"position":[[77,5]]},"1766":{"position":[[141,4],[489,5],[522,5],[646,6]]},"1779":{"position":[[77,6]]},"1795":{"position":[[38,6],[136,4],[520,6],[618,4]]},"1835":{"position":[[1511,6],[1587,5]]},"1890":{"position":[[94,6],[491,6]]},"1894":{"position":[[141,6]]},"2018":{"position":[[71,6]]},"2023":{"position":[[197,6]]},"2039":{"position":[[239,4],[270,4]]},"2134":{"position":[[152,6],[248,6]]},"2145":{"position":[[74,6]]},"2156":{"position":[[389,4],[498,4]]},"2158":{"position":[[741,6]]},"2168":{"position":[[222,5],[390,5],[771,5]]},"2173":{"position":[[410,4],[526,4]]},"2181":{"position":[[273,6]]},"2198":{"position":[[68,6]]},"2240":{"position":[[448,4],[6671,4],[6785,4]]},"2243":{"position":[[301,4]]},"2253":{"position":[[168,6],[735,6]]},"2255":{"position":[[35,6]]},"2261":{"position":[[173,6],[274,6],[645,6],[892,6]]},"2265":{"position":[[30,4],[254,5],[549,4],[2907,6]]},"2267":{"position":[[177,6]]},"2279":{"position":[[35,6]]},"2290":{"position":[[142,6]]},"2306":{"position":[[428,4],[798,6],[848,6]]},"2311":{"position":[[31,6],[235,6],[482,6]]},"2313":{"position":[[35,6]]},"2332":{"position":[[672,6],[781,6],[827,6],[1331,6],[1438,6]]},"2349":{"position":[[560,4],[604,7]]},"2350":{"position":[[827,7]]},"2359":{"position":[[588,4],[674,6],[753,4],[2897,6]]},"2370":{"position":[[3341,6],[3586,6],[3692,7],[3876,6],[3976,6],[4433,6],[4468,6],[4503,6],[4635,6],[4702,6],[4897,6],[5292,6]]},"2371":{"position":[[545,6],[787,6]]},"2386":{"position":[[19,6]]},"2401":{"position":[[468,4],[2281,6]]},"2417":{"position":[[9875,4],[10485,7]]},"2419":{"position":[[803,4],[847,7]]},"2420":{"position":[[1929,7]]},"2421":{"position":[[3410,4],[3901,4]]},"2434":{"position":[[857,4],[898,4]]},"2471":{"position":[[35,6]]},"2473":{"position":[[537,4]]},"2478":{"position":[[113,5],[284,4],[799,7],[1055,5],[1226,4],[1725,7]]},"2482":{"position":[[1712,5],[1883,4],[2347,7],[2587,5],[2758,4],[5648,7],[5722,7],[5978,6]]},"2522":{"position":[[32,6]]}},"keywords":{}}],["call/invok",{"_index":5886,"title":{},"content":{"1474":{"position":[[17501,11]]},"1496":{"position":[[268,11]]}},"keywords":{}}],["callback",{"_index":1316,"title":{"161":{"position":[[16,9]]},"162":{"position":[[18,9]]},"169":{"position":[[0,9]]},"171":{"position":[[11,10]]},"219":{"position":[[8,10]]},"344":{"position":[[0,10]]},"352":{"position":[[0,10]]}},"content":{"161":{"position":[[16,9]]},"164":{"position":[[673,10]]},"171":{"position":[[11,9],[255,9],[305,10],[320,9],[431,10],[446,9]]},"219":{"position":[[0,9],[83,9],[203,9]]},"243":{"position":[[871,8]]},"245":{"position":[[3282,8]]},"271":{"position":[[169,9]]},"273":{"position":[[1071,9]]},"340":{"position":[[337,9],[516,8]]},"344":{"position":[[171,9],[365,10],[418,10]]},"345":{"position":[[310,8]]},"348":{"position":[[851,8]]},"352":{"position":[[165,9],[347,10],[400,10]]},"353":{"position":[[256,8]]},"380":{"position":[[7,8]]},"1474":{"position":[[6834,8]]},"1479":{"position":[[2381,8],[2408,8],[2474,8]]},"1660":{"position":[[15,8]]},"1662":{"position":[[0,8]]},"1664":{"position":[[28,8]]},"1745":{"position":[[5,8]]},"2114":{"position":[[1115,10],[1262,9]]},"2132":{"position":[[1241,10],[1378,9],[1572,10],[1734,9]]},"2141":{"position":[[445,10],[586,9]]},"2149":{"position":[[94,9],[189,8]]},"2240":{"position":[[2724,9]]},"2320":{"position":[[629,8]]},"2325":{"position":[[250,8],[467,9],[553,8]]},"2364":{"position":[[32,9]]},"2371":{"position":[[121,8]]},"2383":{"position":[[135,8],[624,8],[751,8]]},"2397":{"position":[[76,8],[565,8],[692,8]]},"2401":{"position":[[1412,10],[1502,9]]},"2404":{"position":[[92,8],[581,8],[708,8]]},"2421":{"position":[[749,9],[880,8]]},"2434":{"position":[[33,8],[522,8],[649,8]]},"2458":{"position":[[1645,10],[1786,9],[1937,10],[2063,9],[2178,10],[2279,9]]}},"keywords":{}}],["callback(messagedelegatewithplayer<t>",{"_index":8877,"title":{},"content":{"2325":{"position":[[200,45],[423,43]]}},"keywords":{}}],["callback)cal",{"_index":894,"title":{},"content":{"75":{"position":[[144,13]]}},"keywords":{}}],["called"",{"_index":5913,"title":{},"content":{"1474":{"position":[[18083,12]]}},"keywords":{}}],["caller",{"_index":5789,"title":{},"content":{"1474":{"position":[[14287,6]]},"1733":{"position":[[355,6]]}},"keywords":{}}],["came",{"_index":8470,"title":{},"content":{"2158":{"position":[[1105,4]]}},"keywords":{}}],["camera",{"_index":867,"title":{},"content":{"71":{"position":[[1130,6],[1236,6],[1290,6]]},"203":{"position":[[1478,6]]},"243":{"position":[[1367,6]]},"248":{"position":[[1444,6]]},"2358":{"position":[[960,6]]},"2370":{"position":[[4251,7]]}},"keywords":{}}],["camera.main.transform.localposit",{"_index":1686,"title":{},"content":{"203":{"position":[[1817,35]]},"209":{"position":[[1040,35]]}},"keywords":{}}],["camera.main.transform.setparent(transform",{"_index":1685,"title":{},"content":{"203":{"position":[[1773,43]]},"209":{"position":[[996,43]]}},"keywords":{}}],["can't",{"_index":1056,"title":{},"content":{"107":{"position":[[131,5]]},"204":{"position":[[397,5]]},"266":{"position":[[251,5]]},"317":{"position":[[523,5]]},"924":{"position":[[23,5]]},"1983":{"position":[[2819,5]]},"2083":{"position":[[206,5]]}},"keywords":{}}],["cancel",{"_index":357,"title":{},"content":{"14":{"position":[[1736,6]]}},"keywords":{}}],["canread",{"_index":7976,"title":{},"content":{"2023":{"position":[[760,10],[819,9]]}},"keywords":{}}],["canreadbit",{"_index":3811,"title":{},"content":{"740":{"position":[[22,11]]}},"keywords":{}}],["canreadbits(int",{"_index":7979,"title":{},"content":{"2023":{"position":[[943,15]]}},"keywords":{}}],["canreadbits(int32",{"_index":7977,"title":{},"content":{"2023":{"position":[[871,19]]}},"keywords":{}}],["canreadbytes(int",{"_index":7981,"title":{},"content":{"2023":{"position":[[1143,16]]}},"keywords":{}}],["canreadbytes(int32",{"_index":7980,"title":{},"content":{"2023":{"position":[[1069,20]]}},"keywords":{}}],["cant",{"_index":4844,"title":{},"content":{"1189":{"position":[[115,4]]}},"keywords":{}}],["canva",{"_index":843,"title":{},"content":{"69":{"position":[[241,6]]},"210":{"position":[[160,6],[1706,6],[1727,6]]}},"keywords":{}}],["canvasstatustext",{"_index":1769,"title":{},"content":{"210":{"position":[[1267,17]]}},"keywords":{}}],["canvasstatustext.text",{"_index":1773,"title":{},"content":{"210":{"position":[[1514,21]]}},"keywords":{}}],["can’t",{"_index":2105,"title":{},"content":{"246":{"position":[[107,5]]},"249":{"position":[[1707,5]]}},"keywords":{}}],["cap",{"_index":6713,"title":{},"content":{"1506":{"position":[[0,3]]}},"keywords":{}}],["capac",{"_index":4136,"title":{},"content":{"881":{"position":[[87,8]]},"2019":{"position":[[311,8]]},"2203":{"position":[[222,9],[256,8]]}},"keywords":{}}],["capit",{"_index":5694,"title":{},"content":{"1474":{"position":[[10827,14]]},"1566":{"position":[[830,14]]}},"keywords":{}}],["capsul",{"_index":703,"title":{},"content":{"50":{"position":[[330,8]]},"203":{"position":[[184,7]]},"241":{"position":[[3601,9]]}},"keywords":{}}],["capsule.ther",{"_index":676,"title":{},"content":{"46":{"position":[[928,13]]}},"keywords":{}}],["capsule.tick",{"_index":1672,"title":{},"content":{"203":{"position":[[298,12]]}},"keywords":{}}],["card",{"_index":1427,"title":{},"content":{"181":{"position":[[94,6]]},"356":{"position":[[1496,4]]},"1466":{"position":[[1005,6]]}},"keywords":{}}],["care",{"_index":2529,"title":{},"content":{"306":{"position":[[32,4]]}},"keywords":{}}],["case",{"_index":230,"title":{"121":{"position":[[4,6]]},"127":{"position":[[4,6]]},"133":{"position":[[4,6]]},"146":{"position":[[4,6]]},"153":{"position":[[4,6]]},"332":{"position":[[12,5]]}},"content":{"10":{"position":[[303,5]]},"85":{"position":[[794,5]]},"94":{"position":[[495,5]]},"187":{"position":[[252,6],[1289,5]]},"238":{"position":[[2393,4]]},"240":{"position":[[28,4],[2702,4],[2779,4],[2854,4]]},"241":{"position":[[3154,4],[3221,4],[3286,4]]},"254":{"position":[[690,6]]},"294":{"position":[[591,4],[647,4]]},"301":{"position":[[170,4]]},"314":{"position":[[78,5]]},"316":{"position":[[1690,4],[1791,4]]},"340":{"position":[[1196,4],[1289,4],[1372,4]]},"348":{"position":[[1491,4],[1584,4],[1667,4]]},"356":{"position":[[8,4],[1455,5]]},"367":{"position":[[102,4]]},"1346":{"position":[[13,4]]},"1474":{"position":[[663,6],[1149,6]]},"1644":{"position":[[109,6]]},"1766":{"position":[[453,6]]}},"keywords":{}}],["cast",{"_index":1125,"title":{},"content":{"117":{"position":[[2781,4]]},"173":{"position":[[369,4],[386,7]]},"700":{"position":[[11,4]]},"1477":{"position":[[1349,5]]},"1568":{"position":[[78,5]]},"1803":{"position":[[37,4]]},"2012":{"position":[[793,5],[820,4]]},"2336":{"position":[[32,4]]}},"keywords":{}}],["castlay",{"_index":2282,"title":{},"content":{"264":{"position":[[2429,12]]}},"keywords":{}}],["cat",{"_index":7185,"title":{},"content":{"1778":{"position":[[147,3],[214,3],[236,3],[310,3],[431,3]]}},"keywords":{}}],["catch",{"_index":5784,"title":{},"content":{"1474":{"position":[[13812,7]]},"1729":{"position":[[35,7]]}},"keywords":{}}],["caus",{"_index":383,"title":{},"content":{"18":{"position":[[107,5]]},"108":{"position":[[117,5]]},"129":{"position":[[220,7]]},"130":{"position":[[262,7]]},"155":{"position":[[222,7]]},"158":{"position":[[220,7]]},"159":{"position":[[262,7]]},"198":{"position":[[104,5]]},"235":{"position":[[695,5],[1957,6]]},"321":{"position":[[573,5]]},"335":{"position":[[388,6]]},"355":{"position":[[1082,5]]},"541":{"position":[[70,7]]},"634":{"position":[[117,7]]},"956":{"position":[[18,6]]},"1337":{"position":[[16,6]]},"1474":{"position":[[961,7],[6466,7],[13925,5],[14139,6],[18098,6],[22588,6]]},"1655":{"position":[[191,7]]},"1715":{"position":[[11,7]]},"1717":{"position":[[147,6]]},"1729":{"position":[[148,5]]},"1952":{"position":[[296,5]]},"1983":{"position":[[2901,5]]},"2031":{"position":[[2307,5]]},"2083":{"position":[[288,5]]},"2332":{"position":[[567,6],[1002,6],[1228,6],[1662,6]]},"2370":{"position":[[5101,6]]},"2371":{"position":[[32,6],[433,6]]},"2482":{"position":[[5579,6],[5671,6]]}},"keywords":{}}],["caution",{"_index":854,"title":{},"content":{"71":{"position":[[294,7],[729,7]]},"183":{"position":[[439,7]]},"314":{"position":[[108,8]]},"316":{"position":[[257,7]]},"327":{"position":[[392,7]]},"1778":{"position":[[297,7]]}},"keywords":{}}],["cb1b869)updat",{"_index":3564,"title":{},"content":{"628":{"position":[[56,17]]}},"keywords":{}}],["cb20ad9",{"_index":3836,"title":{},"content":{"755":{"position":[[49,9]]}},"keywords":{}}],["cb3d9f0",{"_index":7133,"title":{},"content":{"1752":{"position":[[154,9]]}},"keywords":{}}],["cb3d9f0)the",{"_index":6003,"title":{},"content":{"1474":{"position":[[21571,12]]}},"keywords":{}}],["cb7fa26)improv",{"_index":3295,"title":{},"content":{"530":{"position":[[44,18]]}},"keywords":{}}],["cbb00b3",{"_index":4752,"title":{},"content":{"1147":{"position":[[82,9]]}},"keywords":{}}],["cbb12d1)replac",{"_index":4290,"title":{},"content":{"957":{"position":[[44,18]]}},"keywords":{}}],["cbc2a47)don't",{"_index":5650,"title":{},"content":{"1474":{"position":[[9380,14]]}},"keywords":{}}],["cbc2a47)elimin",{"_index":6873,"title":{},"content":{"1581":{"position":[[39,18]]}},"keywords":{}}],["cbc52e5",{"_index":4813,"title":{},"content":{"1177":{"position":[[46,9]]}},"keywords":{}}],["cc19f3b",{"_index":5045,"title":{},"content":{"1285":{"position":[[65,9]]}},"keywords":{}}],["cc6e4f6)workaround",{"_index":5959,"title":{},"content":{"1474":{"position":[[20076,19]]}},"keywords":{}}],["cca1ae2",{"_index":3822,"title":{},"content":{"746":{"position":[[18,9]]}},"keywords":{}}],["ccc7ef5",{"_index":3516,"title":{},"content":{"605":{"position":[[53,9]]}},"keywords":{}}],["cce01f8",{"_index":3342,"title":{},"content":{"542":{"position":[[29,9]]}},"keywords":{}}],["ccef5fb",{"_index":4095,"title":{},"content":{"863":{"position":[[42,9]]}},"keywords":{}}],["cclient",{"_index":2873,"title":{},"content":{"356":{"position":[[421,7],[466,7]]}},"keywords":{}}],["cd",{"_index":1620,"title":{},"content":{"195":{"position":[[329,2]]},"196":{"position":[[29,2]]}},"keywords":{}}],["cd5c753)add",{"_index":3106,"title":{},"content":{"444":{"position":[[245,12]]}},"keywords":{}}],["cd6110a)wrong",{"_index":5002,"title":{},"content":{"1267":{"position":[[37,14]]}},"keywords":{}}],["cd7317f",{"_index":4594,"title":{},"content":{"1079":{"position":[[60,10]]}},"keywords":{}}],["ce26e49",{"_index":3489,"title":{},"content":{"599":{"position":[[39,9]]}},"keywords":{}}],["ce36e58",{"_index":3184,"title":{},"content":{"485":{"position":[[39,9]]}},"keywords":{}}],["ce6ef50",{"_index":6686,"title":{},"content":{"1487":{"position":[[50,9]]}},"keywords":{}}],["ce6ef50)impl",{"_index":6211,"title":{},"content":{"1476":{"position":[[3939,18]]}},"keywords":{}}],["cecil",{"_index":3090,"title":{},"content":{"442":{"position":[[0,6],[29,5]]},"1163":{"position":[[12,5]]},"1474":{"position":[[2181,5]]}},"keywords":{}}],["ced3690)reus",{"_index":6485,"title":{},"content":{"1477":{"position":[[2391,14]]}},"keywords":{}}],["center",{"_index":5896,"title":{},"content":{"1474":{"position":[[17677,8]]},"1566":{"position":[[1594,8]]}},"keywords":{}}],["central",{"_index":2057,"title":{},"content":{"243":{"position":[[2134,7]]}},"keywords":{}}],["central1",{"_index":1583,"title":{},"content":{"190":{"position":[[553,8],[587,8]]}},"keywords":{}}],["certain",{"_index":987,"title":{},"content":{"92":{"position":[[804,7]]},"182":{"position":[[3109,8]]},"361":{"position":[[626,7]]}},"keywords":{}}],["certainli",{"_index":1702,"title":{},"content":{"204":{"position":[[408,9]]}},"keywords":{}}],["cf55333",{"_index":6996,"title":{},"content":{"1666":{"position":[[50,9]]}},"keywords":{}}],["cf55333)pass",{"_index":5819,"title":{},"content":{"1474":{"position":[[15505,13]]}},"keywords":{}}],["cf6823a)remov",{"_index":5883,"title":{},"content":{"1474":{"position":[[17369,16]]}},"keywords":{}}],["cf6823a)weav",{"_index":6861,"title":{},"content":{"1577":{"position":[[339,15]]}},"keywords":{}}],["cf91e1d",{"_index":3738,"title":{},"content":{"710":{"position":[[56,9]]}},"keywords":{}}],["cf9f746)refactor",{"_index":3501,"title":{},"content":{"600":{"position":[[274,19]]}},"keywords":{}}],["chanc",{"_index":1948,"title":{},"content":{"238":{"position":[[2292,6]]},"1474":{"position":[[2493,6]]},"2130":{"position":[[1810,7]]}},"keywords":{}}],["chang",{"_index":386,"title":{"30":{"position":[[9,6]]},"82":{"position":[[0,8]]},"361":{"position":[[9,7]]},"373":{"position":[[9,8]]},"391":{"position":[[9,8]]},"411":{"position":[[9,8]]},"441":{"position":[[9,8]]},"455":{"position":[[9,8]]},"458":{"position":[[9,8]]},"468":{"position":[[9,8]]},"470":{"position":[[9,8]]},"478":{"position":[[9,8]]},"484":{"position":[[9,8]]},"487":{"position":[[9,8]]},"490":{"position":[[9,8]]},"499":{"position":[[9,8]]},"505":{"position":[[9,8]]},"509":{"position":[[9,8]]},"512":{"position":[[9,8]]},"514":{"position":[[9,8]]},"524":{"position":[[9,8]]},"539":{"position":[[9,8]]},"549":{"position":[[9,8]]},"583":{"position":[[9,8]]},"601":{"position":[[9,8]]},"603":{"position":[[9,8]]},"610":{"position":[[9,8]]},"613":{"position":[[9,8]]},"616":{"position":[[9,8]]},"662":{"position":[[9,8]]},"671":{"position":[[9,8]]},"675":{"position":[[9,8]]},"681":{"position":[[9,8]]},"693":{"position":[[9,8]]},"696":{"position":[[9,8]]},"707":{"position":[[9,8]]},"714":{"position":[[9,8]]},"716":{"position":[[9,8]]},"728":{"position":[[9,8]]},"759":{"position":[[9,8]]},"768":{"position":[[9,8]]},"773":{"position":[[9,8]]},"775":{"position":[[9,8]]},"783":{"position":[[9,8]]},"788":{"position":[[9,8]]},"800":{"position":[[9,8]]},"814":{"position":[[9,8]]},"828":{"position":[[9,8]]},"845":{"position":[[9,8]]},"852":{"position":[[9,8]]},"854":{"position":[[9,8]]},"885":{"position":[[9,8]]},"892":{"position":[[9,8]]},"900":{"position":[[9,8]]},"904":{"position":[[9,8]]},"913":{"position":[[9,8]]},"942":{"position":[[9,8]]},"949":{"position":[[9,8]]},"952":{"position":[[9,8]]},"958":{"position":[[9,8]]},"961":{"position":[[9,8]]},"968":{"position":[[9,8]]},"970":{"position":[[9,8]]},"972":{"position":[[9,8]]},"981":{"position":[[9,8]]},"1000":{"position":[[9,8]]},"1006":{"position":[[9,8]]},"1009":{"position":[[9,8]]},"1020":{"position":[[9,8]]},"1022":{"position":[[9,8]]},"1024":{"position":[[9,8]]},"1030":{"position":[[9,8]]},"1034":{"position":[[9,8]]},"1036":{"position":[[9,8]]},"1038":{"position":[[9,8]]},"1040":{"position":[[9,8]]},"1042":{"position":[[9,8]]},"1047":{"position":[[9,8]]},"1050":{"position":[[9,8]]},"1052":{"position":[[9,8]]},"1056":{"position":[[9,8]]},"1058":{"position":[[9,8]]},"1060":{"position":[[9,8]]},"1067":{"position":[[9,8]]},"1076":{"position":[[9,8]]},"1104":{"position":[[9,8]]},"1113":{"position":[[9,8]]},"1116":{"position":[[9,8]]},"1118":{"position":[[9,8]]},"1142":{"position":[[9,8]]},"1190":{"position":[[9,8]]},"1200":{"position":[[9,8]]},"1212":{"position":[[9,8]]},"1234":{"position":[[9,8]]},"1237":{"position":[[9,8]]},"1238":{"position":[[9,8]]},"1269":{"position":[[9,8]]},"1272":{"position":[[9,8]]},"1276":{"position":[[9,8]]},"1279":{"position":[[9,8]]},"1287":{"position":[[9,8]]},"1299":{"position":[[9,8]]},"1317":{"position":[[9,8]]},"1339":{"position":[[9,8]]},"1342":{"position":[[9,8]]},"1353":{"position":[[9,8]]},"1358":{"position":[[9,8]]},"1363":{"position":[[9,8]]},"1368":{"position":[[9,8]]},"1373":{"position":[[9,8]]},"1377":{"position":[[9,8]]},"1381":{"position":[[9,8]]},"1385":{"position":[[9,8]]},"1389":{"position":[[9,8]]},"1393":{"position":[[9,8]]},"1397":{"position":[[9,8]]},"1401":{"position":[[9,8]]},"1405":{"position":[[9,8]]},"1409":{"position":[[9,8]]},"1413":{"position":[[9,8]]},"1417":{"position":[[9,8]]},"1421":{"position":[[9,8]]},"1425":{"position":[[9,8]]},"1429":{"position":[[9,8]]},"1433":{"position":[[9,8]]},"1437":{"position":[[9,8]]},"1440":{"position":[[9,8]]},"1450":{"position":[[9,8]]},"1453":{"position":[[9,8]]},"1461":{"position":[[9,8]]},"1479":{"position":[[9,8]]},"1501":{"position":[[9,8]]},"1515":{"position":[[9,8]]},"1519":{"position":[[9,8]]},"1527":{"position":[[9,8]]},"1529":{"position":[[9,8]]},"1531":{"position":[[9,8]]},"1535":{"position":[[9,8]]},"1537":{"position":[[9,8]]},"1559":{"position":[[9,8]]},"1595":{"position":[[9,8]]},"1599":{"position":[[9,8]]},"1602":{"position":[[9,8]]},"1616":{"position":[[9,8]]},"1631":{"position":[[9,8]]},"1643":{"position":[[9,8]]},"1646":{"position":[[9,8]]},"1650":{"position":[[9,8]]},"1651":{"position":[[9,8]]},"1653":{"position":[[9,8]]},"1660":{"position":[[9,8]]},"1662":{"position":[[9,8]]},"1664":{"position":[[9,8]]},"1672":{"position":[[9,8]]},"1689":{"position":[[9,8]]},"1697":{"position":[[9,8]]},"1699":{"position":[[9,8]]},"1705":{"position":[[9,8]]},"1707":{"position":[[9,8]]},"1723":{"position":[[9,8]]},"1726":{"position":[[9,8]]},"1727":{"position":[[9,8]]},"1732":{"position":[[9,8]]},"1736":{"position":[[9,8]]},"1737":{"position":[[9,8]]},"1742":{"position":[[9,8]]},"1748":{"position":[[9,8]]},"1750":{"position":[[9,8]]}},"content":{"18":{"position":[[203,8],[238,7],[384,6]]},"24":{"position":[[1666,7]]},"29":{"position":[[144,6]]},"30":{"position":[[13,6],[95,7],[259,6],[475,7]]},"33":{"position":[[607,7]]},"42":{"position":[[259,6],[354,8],[424,8]]},"43":{"position":[[683,7],[788,6],[951,7],[1063,7]]},"75":{"position":[[12,6]]},"82":{"position":[[3,6]]},"139":{"position":[[1285,6]]},"173":{"position":[[1290,6],[1417,8]]},"182":{"position":[[157,6],[1142,7],[1260,8],[1647,8],[3595,8]]},"184":{"position":[[285,7]]},"190":{"position":[[814,7],[858,6],[1040,6]]},"202":{"position":[[579,8],[762,6],[1111,6]]},"211":{"position":[[1613,6],[1898,6],[1991,6]]},"213":{"position":[[594,6],[771,6],[893,7]]},"215":{"position":[[271,7]]},"240":{"position":[[944,8]]},"245":{"position":[[3927,6]]},"247":{"position":[[1019,7]]},"249":{"position":[[1484,8]]},"254":{"position":[[636,6]]},"262":{"position":[[622,8],[671,7]]},"263":{"position":[[418,6]]},"268":{"position":[[43,7]]},"272":{"position":[[997,7]]},"273":{"position":[[715,7]]},"337":{"position":[[609,8],[817,8],[847,7],[1135,7]]},"340":{"position":[[381,7]]},"344":{"position":[[37,7],[229,6]]},"345":{"position":[[470,7]]},"346":{"position":[[928,7]]},"348":{"position":[[712,8]]},"352":{"position":[[31,7],[223,6]]},"353":{"position":[[416,7]]},"355":{"position":[[42,7]]},"357":{"position":[[54,7],[110,7],[284,7],[323,7]]},"358":{"position":[[162,6]]},"359":{"position":[[66,8],[119,7]]},"360":{"position":[[67,7],[150,7]]},"361":{"position":[[16,8],[151,7],[327,8],[581,7]]},"363":{"position":[[127,7],[547,7],[652,6]]},"371":{"position":[[121,8]]},"390":{"position":[[205,8]]},"395":{"position":[[0,8]]},"464":{"position":[[15,6]]},"498":{"position":[[0,8]]},"514":{"position":[[37,7]]},"538":{"position":[[132,7]]},"545":{"position":[[199,7]]},"674":{"position":[[47,7]]},"677":{"position":[[167,7]]},"725":{"position":[[32,6]]},"734":{"position":[[335,6]]},"820":{"position":[[123,6],[142,8]]},"843":{"position":[[0,8]]},"847":{"position":[[72,6],[135,7]]},"870":{"position":[[94,6]]},"898":{"position":[[40,6]]},"990":{"position":[[7,6]]},"1000":{"position":[[328,6],[691,7],[1044,7]]},"1004":{"position":[[0,7]]},"1023":{"position":[[0,8]]},"1024":{"position":[[276,8]]},"1088":{"position":[[20,6]]},"1104":{"position":[[25,6]]},"1112":{"position":[[0,6]]},"1353":{"position":[[116,6]]},"1358":{"position":[[116,6]]},"1363":{"position":[[116,6]]},"1368":{"position":[[116,6]]},"1466":{"position":[[192,6]]},"1472":{"position":[[6,6]]},"1474":{"position":[[513,7],[1548,7],[5195,6],[9078,7],[9214,6],[10609,6],[16287,8],[20321,7],[20781,6],[20868,8],[21750,7],[22412,7]]},"1476":{"position":[[1376,7],[1491,7],[3434,6]]},"1478":{"position":[[1140,6]]},"1479":{"position":[[972,7],[2427,7]]},"1481":{"position":[[32,6]]},"1495":{"position":[[64,7]]},"1559":{"position":[[39,7]]},"1561":{"position":[[30,6]]},"1566":{"position":[[743,6],[1421,8],[1847,7]]},"1567":{"position":[[403,7],[518,7]]},"1662":{"position":[[19,7]]},"1752":{"position":[[89,6]]},"1766":{"position":[[303,7],[696,6]]},"1778":{"position":[[407,6]]},"1779":{"position":[[101,7]]},"1783":{"position":[[416,6]]},"1834":{"position":[[27,7]]},"1835":{"position":[[131,6],[314,7],[639,7],[1060,7]]},"1952":{"position":[[201,6],[275,7],[308,7]]},"2031":{"position":[[2767,6],[2808,6]]},"2240":{"position":[[5982,6],[6070,6],[6200,6],[6325,6],[7181,7]]},"2253":{"position":[[209,6]]},"2359":{"position":[[1535,7]]},"2416":{"position":[[425,8],[604,7],[749,7],[919,7]]},"2417":{"position":[[6568,7],[7498,7]]},"2462":{"position":[[82,6],[170,6]]},"2466":{"position":[[81,6],[206,6]]},"2478":{"position":[[2090,6],[2163,8],[2949,6],[3022,8]]},"2482":{"position":[[319,6],[392,8],[1144,6],[1217,8]]},"2515":{"position":[[103,6],[171,8],[202,7]]},"2518":{"position":[[97,6],[251,8],[284,7],[402,7]]},"2522":{"position":[[68,8],[193,7]]}},"keywords":{}}],["changedif",{"_index":2745,"title":{},"content":{"335":{"position":[[994,9]]}},"keywords":{}}],["changeequipment(equippeditem",{"_index":1995,"title":{},"content":{"240":{"position":[[2505,28]]},"241":{"position":[[2688,28]]}},"keywords":{}}],["changelog",{"_index":4044,"title":{},"content":{"847":{"position":[[53,10],[249,10],[328,9],[462,9]]},"1121":{"position":[[5,9]]},"1474":{"position":[[4935,9]]},"1476":{"position":[[4216,9]]},"1768":{"position":[[4,9]]},"1769":{"position":[[18,9]]}},"keywords":{}}],["changes.th",{"_index":2746,"title":{},"content":{"335":{"position":[[1145,11]]}},"keywords":{}}],["changesbi",{"_index":3196,"title":{},"content":{"487":{"position":[[50,9]]}},"keywords":{}}],["changescen",{"_index":659,"title":{"45":{"position":[[0,11]]}},"content":{"45":{"position":[[0,11]]}},"keywords":{}}],["changesoth",{"_index":1909,"title":{},"content":{"235":{"position":[[1169,12]]}},"keywords":{}}],["channel",{"_index":804,"title":{"287":{"position":[[0,8]]},"2249":{"position":[[5,7]]}},"content":{"64":{"position":[[133,7]]},"91":{"position":[[101,7]]},"287":{"position":[[56,9]]},"537":{"position":[[277,7]]},"946":{"position":[[7,7]]},"1215":{"position":[[30,7]]},"1298":{"position":[[38,7],[122,8]]},"1299":{"position":[[34,8]]},"1474":{"position":[[17861,7]]},"1476":{"position":[[302,8]]},"1484":{"position":[[53,8]]},"1703":{"position":[[15,7]]},"1870":{"position":[[125,9],[330,7]]},"1966":{"position":[[45,8],[170,7],[450,8],[588,7]]},"1979":{"position":[[45,8],[170,7]]},"2243":{"position":[[0,8]]},"2267":{"position":[[0,8],[29,7],[37,7]]},"2296":{"position":[[17,9],[70,7],[209,9],[276,7]]},"2351":{"position":[[408,9],[504,7],[551,8],[806,7],[945,9],[1019,7]]},"2401":{"position":[[594,9],[702,7],[829,7],[880,9],[1118,7]]},"2421":{"position":[[921,9],[1108,7],[1286,9],[1396,7],[1636,9],[1768,7],[2051,9],[2225,7],[2497,9],[2666,7],[2958,9],[3095,7],[3344,9],[3602,7],[3835,9],[4102,7]]},"2476":{"position":[[0,8],[29,7],[37,7]]}},"keywords":{}}],["channel.reli",{"_index":2404,"title":{},"content":{"287":{"position":[[87,18]]},"1870":{"position":[[350,17]]},"2296":{"position":[[90,17],[296,17]]},"2351":{"position":[[826,17],[1039,17]]},"2401":{"position":[[722,17],[1138,17]]},"2421":{"position":[[1128,17],[1416,17],[1788,17],[2245,17],[2686,17],[3115,17],[3622,17],[4122,17]]}},"keywords":{}}],["channelclient.disconnect",{"_index":4270,"title":{},"content":{"949":{"position":[[36,26]]}},"keywords":{}}],["channelid",{"_index":5492,"title":{},"content":{"1474":{"position":[[5040,9]]},"1733":{"position":[[12,9]]},"1870":{"position":[[338,9],[738,9]]},"1966":{"position":[[178,10],[360,9],[596,10],[782,9]]},"1979":{"position":[[178,10],[364,9]]},"2296":{"position":[[78,9],[167,9],[284,9],[410,9]]},"2351":{"position":[[814,9],[903,9],[1027,9],[1153,9]]},"2401":{"position":[[710,9],[799,9],[1126,9],[1252,9]]},"2421":{"position":[[1018,10],[1116,9],[1235,9],[1404,9],[1556,9],[1776,9],[1973,9],[2233,9],[2428,9],[2674,9],[2884,9],[3103,9],[3282,9],[3610,9],[3764,9],[4110,9],[4273,9]]}},"keywords":{}}],["char",{"_index":8137,"title":{},"content":{"2056":{"position":[[482,6],[558,4],[3107,4]]}},"keywords":{}}],["charact",{"_index":107,"title":{"252":{"position":[[7,9]]},"254":{"position":[[10,11]]},"255":{"position":[[11,11]]}},"content":{"0":{"position":[[2265,9],[2376,9]]},"6":{"position":[[730,10],[1030,11]]},"24":{"position":[[335,9],[531,9],[1124,9],[1175,9],[1361,9],[1882,9]]},"42":{"position":[[1715,9]]},"43":{"position":[[526,9],[559,9]]},"70":{"position":[[253,9]]},"104":{"position":[[137,9],[170,9]]},"106":{"position":[[279,9]]},"107":{"position":[[157,9],[213,9]]},"129":{"position":[[29,9]]},"155":{"position":[[34,9]]},"158":{"position":[[34,9]]},"164":{"position":[[263,9]]},"202":{"position":[[1075,9]]},"203":{"position":[[1110,9]]},"229":{"position":[[29,9]]},"242":{"position":[[793,9]]},"253":{"position":[[73,11],[446,9],[625,9],[721,9],[781,9]]},"254":{"position":[[15,9],[302,9],[337,9],[1116,9],[1250,9],[1511,9]]},"255":{"position":[[9,9],[81,9],[327,9]]},"288":{"position":[[614,9],[913,9]]},"295":{"position":[[43,9],[623,9]]},"302":{"position":[[80,10],[228,9],[347,10],[384,9],[484,9],[700,9]]},"340":{"position":[[472,9],[1272,9],[1355,9],[1441,9]]},"344":{"position":[[124,9]]},"348":{"position":[[756,9],[1567,9],[1650,9],[1736,9]]},"352":{"position":[[118,9]]},"435":{"position":[[14,9]]},"503":{"position":[[18,9]]},"680":{"position":[[27,9]]},"734":{"position":[[303,9]]},"774":{"position":[[24,9]]},"802":{"position":[[29,9]]},"820":{"position":[[0,9]]},"842":{"position":[[103,9]]},"844":{"position":[[121,9]]},"1870":{"position":[[536,10],[591,9]]},"2253":{"position":[[1216,10],[1313,9]]},"2305":{"position":[[70,9]]},"2478":{"position":[[141,9],[193,9],[367,10],[415,9],[552,10],[695,9],[719,9],[1083,9],[1135,9],[1309,10],[1357,9],[1494,10],[1621,9],[1645,9],[2293,10],[2476,9],[3152,10],[3351,9]]},"2482":{"position":[[490,10],[670,9],[1740,9],[1792,9],[1966,10],[2014,9],[2119,10],[2231,9],[2267,9],[2615,9],[2667,9],[2841,10],[2889,9],[3089,9],[3189,9],[3529,9],[5936,9],[6344,9],[6651,9],[6815,9],[7198,9],[7527,9],[7794,9],[8138,9]]}},"keywords":{}}],["characternam",{"_index":2416,"title":{},"content":{"288":{"position":[[849,13]]}},"keywords":{}}],["charactername}"",{"_index":2418,"title":{},"content":{"288":{"position":[[923,23]]}},"keywords":{}}],["characters.th",{"_index":1826,"title":{},"content":{"213":{"position":[[1818,14]]}},"keywords":{}}],["characterspawn",{"_index":850,"title":{"2251":{"position":[[6,16]]}},"content":{"70":{"position":[[122,16]]},"202":{"position":[[451,16]]},"243":{"position":[[2156,16],[2465,16]]},"444":{"position":[[25,16],[75,16]]},"504":{"position":[[155,16]]},"505":{"position":[[363,16]]},"802":{"position":[[0,17]]},"1045":{"position":[[185,16]]},"1047":{"position":[[257,16]]},"2240":{"position":[[176,17]]},"2252":{"position":[[742,17]]}},"keywords":{}}],["characterspawner'",{"_index":897,"title":{},"content":{"76":{"position":[[92,18]]}},"keywords":{}}],["characterspawner.awak",{"_index":3365,"title":{},"content":{"549":{"position":[[0,22]]}},"keywords":{}}],["characterspawner.onserveraddplayera",{"_index":2129,"title":{},"content":{"248":{"position":[[383,35]]}},"keywords":{}}],["characterspawner.playerspawnmethod",{"_index":8708,"title":{"2256":{"position":[[5,34]]}},"content":{"2243":{"position":[[9,35]]},"2252":{"position":[[780,34]]}},"keywords":{}}],["charg",{"_index":1663,"title":{},"content":{"202":{"position":[[490,6]]}},"keywords":{}}],["chat",{"_index":692,"title":{"47":{"position":[[0,4]]}},"content":{"47":{"position":[[0,4]]},"1614":{"position":[[0,4]]},"1721":{"position":[[0,4]]}},"keywords":{}}],["chatwindow",{"_index":5620,"title":{},"content":{"1474":{"position":[[8626,10]]},"1752":{"position":[[9,10]]}},"keywords":{}}],["cheapest",{"_index":1421,"title":{},"content":{"179":{"position":[[182,8]]}},"keywords":{}}],["cheat",{"_index":374,"title":{},"content":{"15":{"position":[[770,8]]}},"keywords":{}}],["check",{"_index":50,"title":{"40":{"position":[[6,5]]},"110":{"position":[[0,5]]}},"content":{"0":{"position":[[844,8]]},"22":{"position":[[310,5]]},"43":{"position":[[462,5]]},"54":{"position":[[336,8]]},"57":{"position":[[163,8]]},"71":{"position":[[760,7],[876,5],[1363,7]]},"83":{"position":[[328,5]]},"98":{"position":[[231,5]]},"111":{"position":[[50,5]]},"112":{"position":[[43,5]]},"117":{"position":[[1174,5]]},"173":{"position":[[888,5]]},"175":{"position":[[1070,5]]},"182":{"position":[[126,5]]},"187":{"position":[[290,5],[305,5]]},"211":{"position":[[965,6]]},"216":{"position":[[159,5],[239,5]]},"238":{"position":[[1984,5]]},"264":{"position":[[58,7],[1304,5],[2215,5],[2276,8]]},"271":{"position":[[309,5]]},"302":{"position":[[96,5]]},"303":{"position":[[93,8]]},"326":{"position":[[192,5]]},"327":{"position":[[420,5]]},"335":{"position":[[548,7]]},"344":{"position":[[301,5]]},"352":{"position":[[289,5]]},"367":{"position":[[114,5]]},"439":{"position":[[48,6]]},"456":{"position":[[7,5]]},"572":{"position":[[12,5]]},"587":{"position":[[0,8]]},"615":{"position":[[18,5]]},"622":{"position":[[129,5]]},"670":{"position":[[21,5]]},"679":{"position":[[15,8]]},"764":{"position":[[9,5]]},"771":{"position":[[53,8]]},"806":{"position":[[47,5]]},"826":{"position":[[21,5]]},"844":{"position":[[131,5]]},"870":{"position":[[23,8]]},"877":{"position":[[87,8]]},"908":{"position":[[31,5]]},"922":{"position":[[0,8]]},"924":{"position":[[5,6]]},"954":{"position":[[182,5]]},"962":{"position":[[17,6]]},"978":{"position":[[67,8]]},"1002":{"position":[[24,6]]},"1106":{"position":[[9,8]]},"1219":{"position":[[0,5]]},"1245":{"position":[[17,6]]},"1468":{"position":[[85,5]]},"1474":{"position":[[5390,5],[5427,5],[11461,8],[11533,8],[14045,5],[14311,5],[15360,5],[22076,5],[22259,6],[22639,7]]},"1477":{"position":[[65,5],[1295,6]]},"1479":{"position":[[1878,5]]},"1566":{"position":[[128,5],[922,8],[994,8]]},"1568":{"position":[[24,6]]},"1577":{"position":[[369,6]]},"1586":{"position":[[13,5]]},"1592":{"position":[[0,5]]},"1646":{"position":[[476,5]]},"1678":{"position":[[22,5]]},"1717":{"position":[[53,5]]},"1733":{"position":[[379,5]]},"1870":{"position":[[179,6],[502,5]]},"1966":{"position":[[1402,5],[1874,6],[1935,5],[2268,6],[2331,5]]},"1979":{"position":[[944,5]]},"2114":{"position":[[1863,6]]},"2158":{"position":[[542,6],[781,5]]},"2235":{"position":[[52,5]]},"2244":{"position":[[44,5]]},"2311":{"position":[[595,6]]},"2359":{"position":[[1450,7]]},"2361":{"position":[[68,5],[270,5]]},"2400":{"position":[[217,5],[944,6]]},"2401":{"position":[[1983,6]]},"2417":{"position":[[150,5],[357,5],[418,5],[768,5]]},"2420":{"position":[[1834,6]]},"2421":{"position":[[3447,7],[3938,7]]}},"keywords":{}}],["checkbox",{"_index":433,"title":{},"content":{"22":{"position":[[463,8]]}},"keywords":{}}],["checker",{"_index":82,"title":{"20":{"position":[[14,7]]},"22":{"position":[[18,7]]},"23":{"position":[[14,7]]},"260":{"position":[[18,7]]},"261":{"position":[[14,7]]}},"content":{"0":{"position":[[1421,7],[1447,7],[1632,7],[1662,7],[2069,7],[2095,7]]},"20":{"position":[[14,7],[40,7],[482,7]]},"22":{"position":[[18,7],[48,7],[537,8],[941,7],[1040,7],[1217,7]]},"260":{"position":[[27,7]]},"261":{"position":[[23,7]]},"264":{"position":[[242,7],[279,7],[657,7],[1273,7]]},"1476":{"position":[[5102,7]]},"1749":{"position":[[14,7]]}},"keywords":{}}],["checkers.sinc",{"_index":684,"title":{},"content":{"46":{"position":[[1181,14]]}},"keywords":{}}],["checkers.th",{"_index":678,"title":{},"content":{"46":{"position":[[1002,12]]}},"keywords":{}}],["checking.forc",{"_index":430,"title":{},"content":{"22":{"position":[[431,14]]}},"keywords":{}}],["checks."",{"_index":5434,"title":{},"content":{"1474":{"position":[[2912,13]]}},"keywords":{}}],["child",{"_index":115,"title":{"37":{"position":[[18,5]]},"239":{"position":[[20,5]]},"240":{"position":[[0,5]]}},"content":{"0":{"position":[[2629,5],[2657,5],[2719,5]]},"37":{"position":[[18,5],[46,5],[108,5],[277,5],[349,5],[474,5],[568,5]]},"203":{"position":[[1490,5]]},"240":{"position":[[773,5],[2446,5]]},"241":{"position":[[126,5],[1423,5],[1661,5],[2629,5]]},"1443":{"position":[[33,5]]},"1474":{"position":[[8194,5]]},"2240":{"position":[[4759,5],[5050,5]]},"2370":{"position":[[2657,5],[2951,5]]}},"keywords":{}}],["chmod",{"_index":1624,"title":{},"content":{"196":{"position":[[72,5],[836,5]]}},"keywords":{}}],["choic",{"_index":1959,"title":{},"content":{"240":{"position":[[343,7]]}},"keywords":{}}],["choice.th",{"_index":1973,"title":{},"content":{"240":{"position":[[1375,10]]}},"keywords":{}}],["choos",{"_index":237,"title":{},"content":{"10":{"position":[[486,6]]},"15":{"position":[[566,6]]},"67":{"position":[[987,6]]},"96":{"position":[[245,6]]},"98":{"position":[[113,6]]},"182":{"position":[[445,6],[577,6],[849,6],[885,6],[1351,6]]},"183":{"position":[[1618,6]]},"201":{"position":[[987,6]]}},"keywords":{}}],["circuit",{"_index":5499,"title":{},"content":{"1474":{"position":[[5177,7]]},"1481":{"position":[[14,7]]}},"keywords":{}}],["clamp",{"_index":1164,"title":{},"content":{"123":{"position":[[372,7]]},"1983":{"position":[[534,7]]},"2001":{"position":[[46,6],[282,6],[543,8]]}},"keywords":{}}],["class",{"_index":55,"title":{"365":{"position":[[0,8]]},"1770":{"position":[[0,5]]},"1778":{"position":[[0,5]]},"1792":{"position":[[0,5]]},"1794":{"position":[[0,5]]},"1797":{"position":[[0,8]]},"1800":{"position":[[0,5]]},"1804":{"position":[[0,5]]},"1808":{"position":[[0,5]]},"1815":{"position":[[0,5]]},"1818":{"position":[[0,5]]},"1822":{"position":[[0,8]]},"1824":{"position":[[0,5]]},"1828":{"position":[[0,8]]},"1836":{"position":[[0,5]]},"1839":{"position":[[0,5]]},"1843":{"position":[[0,5]]},"1849":{"position":[[0,5]]},"1852":{"position":[[0,5]]},"1856":{"position":[[0,5]]},"1861":{"position":[[0,5]]},"1867":{"position":[[0,8]]},"1868":{"position":[[0,5]]},"1871":{"position":[[0,5]]},"1875":{"position":[[0,5]]},"1876":{"position":[[0,5]]},"1879":{"position":[[0,5]]},"1883":{"position":[[0,8]]},"1884":{"position":[[0,5]]},"1887":{"position":[[0,5]]},"1890":{"position":[[0,8]]},"1892":{"position":[[0,5]]},"1895":{"position":[[0,5]]},"1898":{"position":[[0,5]]},"1900":{"position":[[0,5]]},"1903":{"position":[[0,5]]},"1905":{"position":[[0,5]]},"1906":{"position":[[0,5]]},"1908":{"position":[[0,5]]},"1910":{"position":[[0,5]]},"1911":{"position":[[0,5]]},"1912":{"position":[[0,5]]},"1925":{"position":[[0,5]]},"1926":{"position":[[0,5]]},"1928":{"position":[[0,8]]},"1930":{"position":[[0,5]]},"1931":{"position":[[0,5]]},"1933":{"position":[[0,5]]},"1936":{"position":[[0,5]]},"1938":{"position":[[0,5]]},"1940":{"position":[[0,5]]},"1945":{"position":[[0,5]]},"1950":{"position":[[0,5]]},"1955":{"position":[[0,8]]},"1959":{"position":[[0,5]]},"1965":{"position":[[0,5]]},"1969":{"position":[[0,5]]},"1978":{"position":[[0,5]]},"1980":{"position":[[0,5]]},"1983":{"position":[[0,8]]},"1984":{"position":[[0,5]]},"1986":{"position":[[0,5]]},"1989":{"position":[[0,5]]},"1991":{"position":[[0,5]]},"1993":{"position":[[0,5]]},"1995":{"position":[[0,5]]},"1997":{"position":[[0,5]]},"1999":{"position":[[0,5]]},"2002":{"position":[[0,5]]},"2004":{"position":[[0,5]]},"2006":{"position":[[0,5]]},"2008":{"position":[[0,5]]},"2011":{"position":[[0,5]]},"2013":{"position":[[0,5]]},"2015":{"position":[[0,5]]},"2017":{"position":[[0,5]]},"2020":{"position":[[0,5]]},"2024":{"position":[[0,5]]},"2026":{"position":[[0,5]]},"2028":{"position":[[0,5]]},"2032":{"position":[[0,5]]},"2034":{"position":[[0,5]]},"2036":{"position":[[0,5]]},"2038":{"position":[[0,5]]},"2041":{"position":[[0,5]]},"2045":{"position":[[0,5]]},"2048":{"position":[[0,5]]},"2051":{"position":[[0,5]]},"2053":{"position":[[0,5]]},"2055":{"position":[[0,5]]},"2057":{"position":[[0,5]]},"2059":{"position":[[0,5]]},"2061":{"position":[[0,5]]},"2064":{"position":[[0,5]]},"2067":{"position":[[0,5]]},"2069":{"position":[[0,5]]},"2072":{"position":[[0,5]]},"2075":{"position":[[0,5]]},"2077":{"position":[[0,5]]},"2080":{"position":[[0,5]]},"2081":{"position":[[0,5]]},"2083":{"position":[[0,5]]},"2084":{"position":[[0,5]]},"2086":{"position":[[0,5]]},"2088":{"position":[[0,5]]},"2091":{"position":[[0,8]]},"2101":{"position":[[0,5]]},"2104":{"position":[[0,5]]},"2107":{"position":[[0,5]]},"2111":{"position":[[0,5]]},"2115":{"position":[[0,5]]},"2120":{"position":[[0,5]]},"2125":{"position":[[0,5]]},"2129":{"position":[[0,5]]},"2131":{"position":[[0,5]]},"2148":{"position":[[0,5]]},"2159":{"position":[[0,5]]},"2163":{"position":[[0,5]]},"2170":{"position":[[0,5]]},"2182":{"position":[[0,5]]},"2186":{"position":[[0,5]]},"2190":{"position":[[0,5]]},"2195":{"position":[[0,8]]},"2197":{"position":[[0,5]]},"2200":{"position":[[0,5]]},"2205":{"position":[[0,5]]},"2207":{"position":[[0,5]]},"2211":{"position":[[0,5]]},"2214":{"position":[[0,5]]},"2216":{"position":[[0,5]]},"2220":{"position":[[0,5]]},"2225":{"position":[[0,8]]},"2226":{"position":[[0,5]]},"2228":{"position":[[0,5]]},"2230":{"position":[[0,5]]},"2236":{"position":[[0,5]]},"2240":{"position":[[0,8]]},"2245":{"position":[[0,5]]},"2251":{"position":[[0,5]]},"2254":{"position":[[0,5]]},"2262":{"position":[[0,5]]},"2266":{"position":[[0,5]]},"2268":{"position":[[0,5]]},"2271":{"position":[[0,5]]},"2275":{"position":[[0,5]]},"2276":{"position":[[0,5]]},"2278":{"position":[[0,5]]},"2280":{"position":[[0,5]]},"2284":{"position":[[0,5]]},"2286":{"position":[[0,5]]},"2289":{"position":[[0,5]]},"2312":{"position":[[0,5]]},"2318":{"position":[[0,5]]},"2321":{"position":[[0,5]]},"2323":{"position":[[0,5]]},"2326":{"position":[[0,5]]},"2328":{"position":[[0,5]]},"2330":{"position":[[0,5]]},"2344":{"position":[[0,5]]},"2348":{"position":[[0,5]]},"2352":{"position":[[0,5]]},"2353":{"position":[[0,5]]},"2354":{"position":[[0,5]]},"2356":{"position":[[0,5]]},"2364":{"position":[[0,5]]},"2365":{"position":[[0,5]]},"2368":{"position":[[0,5]]},"2372":{"position":[[0,5]]},"2376":{"position":[[0,5]]},"2379":{"position":[[0,5]]},"2380":{"position":[[0,5]]},"2384":{"position":[[0,5]]},"2387":{"position":[[0,5]]},"2393":{"position":[[0,5]]},"2395":{"position":[[0,5]]},"2398":{"position":[[0,5]]},"2402":{"position":[[0,5]]},"2405":{"position":[[0,5]]},"2414":{"position":[[0,5]]},"2418":{"position":[[0,5]]},"2422":{"position":[[0,5]]},"2424":{"position":[[0,5]]},"2426":{"position":[[0,5]]},"2430":{"position":[[0,5]]},"2433":{"position":[[0,5]]},"2436":{"position":[[0,5]]},"2438":{"position":[[0,5]]},"2446":{"position":[[0,5]]},"2448":{"position":[[0,5]]},"2450":{"position":[[0,5]]},"2451":{"position":[[0,5]]},"2456":{"position":[[0,5]]},"2461":{"position":[[0,5]]},"2462":{"position":[[0,5]]},"2466":{"position":[[0,5]]},"2470":{"position":[[0,5]]},"2472":{"position":[[0,5]]},"2474":{"position":[[0,5]]},"2475":{"position":[[0,5]]},"2477":{"position":[[0,5]]},"2479":{"position":[[0,5]]},"2483":{"position":[[0,5]]},"2485":{"position":[[0,5]]},"2494":{"position":[[0,5]]},"2499":{"position":[[0,5]]},"2512":{"position":[[0,5]]},"2521":{"position":[[0,5]]},"2526":{"position":[[0,5]]},"2528":{"position":[[0,5]]},"2530":{"position":[[0,5]]}},"content":{"0":{"position":[[897,5]]},"7":{"position":[[43,5]]},"10":{"position":[[611,7],[819,5],[1018,5],[1414,5],[1614,5]]},"42":{"position":[[687,5],[1284,5]]},"61":{"position":[[262,5],[402,5]]},"62":{"position":[[215,7]]},"63":{"position":[[43,7]]},"71":{"position":[[1462,5],[1733,5]]},"83":{"position":[[50,7],[313,6]]},"85":{"position":[[653,5],[956,5]]},"92":{"position":[[148,7]]},"99":{"position":[[736,6]]},"117":{"position":[[711,5],[968,5],[2598,5]]},"123":{"position":[[41,5]]},"124":{"position":[[57,5]]},"129":{"position":[[79,5]]},"130":{"position":[[127,5]]},"135":{"position":[[41,5]]},"136":{"position":[[43,5]]},"141":{"position":[[7,5]]},"148":{"position":[[78,5]]},"149":{"position":[[107,5]]},"150":{"position":[[30,5]]},"155":{"position":[[84,5]]},"158":{"position":[[84,5]]},"159":{"position":[[127,5]]},"161":{"position":[[99,5]]},"172":{"position":[[91,7]]},"203":{"position":[[1611,5]]},"207":{"position":[[232,5]]},"209":{"position":[[383,5]]},"210":{"position":[[1216,5]]},"224":{"position":[[230,5]]},"225":{"position":[[17,5],[78,5],[399,5]]},"238":{"position":[[518,5]]},"240":{"position":[[1933,5]]},"241":{"position":[[2182,5]]},"243":{"position":[[636,5]]},"245":{"position":[[383,5],[3650,5]]},"251":{"position":[[279,5]]},"254":{"position":[[890,5]]},"263":{"position":[[300,5]]},"264":{"position":[[936,5]]},"269":{"position":[[175,7]]},"272":{"position":[[459,5],[1030,5]]},"273":{"position":[[457,5],[524,5],[763,5]]},"279":{"position":[[35,5],[445,7]]},"280":{"position":[[241,5]]},"288":{"position":[[408,5],[968,5],[1790,5]]},"290":{"position":[[78,5]]},"291":{"position":[[143,7],[262,5]]},"294":{"position":[[371,5]]},"295":{"position":[[709,5]]},"307":{"position":[[124,5]]},"308":{"position":[[129,5],[1541,5]]},"310":{"position":[[154,5]]},"311":{"position":[[144,5]]},"312":{"position":[[151,5]]},"315":{"position":[[552,5]]},"316":{"position":[[305,5],[340,5],[386,5],[449,5],[1144,5]]},"317":{"position":[[1107,5],[1254,5]]},"319":{"position":[[114,5]]},"320":{"position":[[515,5]]},"321":{"position":[[301,5]]},"322":{"position":[[240,5]]},"326":{"position":[[202,7]]},"327":{"position":[[47,7],[152,7],[322,5]]},"328":{"position":[[1000,5],[1598,5],[2392,5]]},"332":{"position":[[482,5]]},"339":{"position":[[9,5],[127,5],[204,6]]},"340":{"position":[[29,5],[86,5],[768,5],[826,5]]},"343":{"position":[[176,5]]},"345":{"position":[[47,5]]},"346":{"position":[[57,5],[587,5],[1599,5],[2637,5],[2691,5]]},"348":{"position":[[9,5],[129,5],[208,6],[385,5],[419,5],[1076,5],[1118,5]]},"351":{"position":[[153,5]]},"353":{"position":[[47,5]]},"498":{"position":[[49,7]]},"538":{"position":[[360,7]]},"601":{"position":[[363,5]]},"704":{"position":[[44,7]]},"716":{"position":[[64,5]]},"874":{"position":[[14,7]]},"876":{"position":[[14,7]]},"904":{"position":[[62,6],[124,5]]},"978":{"position":[[0,5]]},"1007":{"position":[[34,5]]},"1008":{"position":[[7,5]]},"1092":{"position":[[23,7]]},"1456":{"position":[[30,7]]},"1466":{"position":[[52,5],[244,7]]},"1474":{"position":[[7172,5],[8200,7],[11962,5],[12264,7],[12390,5],[12638,7],[14479,8],[14832,5],[15602,5],[20965,7],[22161,5],[22292,5]]},"1476":{"position":[[4581,7]]},"1479":{"position":[[1090,5]]},"1546":{"position":[[13,5]]},"1562":{"position":[[117,5],[558,7],[627,5]]},"1566":{"position":[[1108,7],[1239,8],[1311,5]]},"1577":{"position":[[402,5]]},"1593":{"position":[[32,7]]},"1599":{"position":[[53,5]]},"1777":{"position":[[27,5],[98,5]]},"1778":{"position":[[19,5],[69,5],[141,5]]},"1780":{"position":[[226,5]]},"1781":{"position":[[263,5]]},"1783":{"position":[[40,5]]},"1855":{"position":[[3376,7],[3610,7]]},"1875":{"position":[[0,5],[1559,5]]},"1883":{"position":[[175,5]]},"1890":{"position":[[178,5],[312,5],[588,5],[735,5]]},"1905":{"position":[[0,5],[1197,5]]},"1910":{"position":[[0,5],[78,5]]},"1911":{"position":[[0,5],[1458,5]]},"1912":{"position":[[0,5],[79,5]]},"1925":{"position":[[0,5],[82,5]]},"1926":{"position":[[0,5],[1427,5]]},"1930":{"position":[[0,5],[94,5]]},"1952":{"position":[[370,5]]},"1983":{"position":[[781,5],[1524,5],[3061,5]]},"2080":{"position":[[0,5],[203,5]]},"2083":{"position":[[0,5],[639,5]]},"2240":{"position":[[24,5],[104,5],[1576,5],[1699,5],[3163,5],[5284,5],[7361,5],[7436,5]]},"2275":{"position":[[0,5],[148,5]]},"2327":{"position":[[63,5],[187,5]]},"2344":{"position":[[0,5],[233,5]]},"2351":{"position":[[597,5]]},"2352":{"position":[[0,5],[287,5]]},"2353":{"position":[[0,5],[97,5]]},"2364":{"position":[[0,5],[1582,5]]},"2379":{"position":[[0,5],[82,5],[238,5]]},"2450":{"position":[[0,5],[86,5]]},"2451":{"position":[[0,5],[248,5]]},"2461":{"position":[[0,5],[136,5]]},"2462":{"position":[[0,5],[281,5]]},"2466":{"position":[[0,5],[317,5]]},"2474":{"position":[[0,5],[267,5]]},"2483":{"position":[[0,5],[74,5]]}},"keywords":{}}],["class.creat",{"_index":1070,"title":{},"content":{"117":{"position":[[126,12]]}},"keywords":{}}],["clean",{"_index":1655,"title":{"199":{"position":[[0,5]]}},"content":{"233":{"position":[[282,5]]},"447":{"position":[[0,8]]},"1000":{"position":[[319,5]]},"1151":{"position":[[4,8]]},"1474":{"position":[[13513,5],[13553,6]]},"2128":{"position":[[274,7],[455,7]]},"2265":{"position":[[7001,5]]},"2417":{"position":[[9338,5]]}},"keywords":{}}],["cleanup",{"_index":3020,"title":{},"content":{"407":{"position":[[53,7]]},"974":{"position":[[29,7]]},"1447":{"position":[[7,7]]},"1474":{"position":[[8146,7],[19219,7]]},"1510":{"position":[[53,7]]},"1533":{"position":[[6,7]]},"1555":{"position":[[0,7]]},"2350":{"position":[[810,7]]},"2370":{"position":[[5204,8]]}},"keywords":{}}],["clear",{"_index":664,"title":{},"content":{"46":{"position":[[570,7]]},"240":{"position":[[2432,5]]},"241":{"position":[[2615,5]]},"340":{"position":[[1330,5]]},"348":{"position":[[1625,5]]},"537":{"position":[[340,5]]},"730":{"position":[[19,5]]},"1286":{"position":[[15,5]]},"1855":{"position":[[1430,8],[1464,7],[3403,5],[3637,5]]},"1860":{"position":[[1410,8],[1444,7]]},"1865":{"position":[[1160,8],[1194,7]]},"1874":{"position":[[1432,8],[1466,7]]},"2265":{"position":[[6545,6]]},"2320":{"position":[[608,5]]},"2359":{"position":[[1387,5],[1762,6]]}},"keywords":{}}],["clearandrelease(action<t>",{"_index":8613,"title":{},"content":{"2204":{"position":[[1996,33],[2055,31]]}},"keywords":{}}],["cleardeleg",{"_index":5902,"title":{},"content":{"1474":{"position":[[17784,14]]},"1566":{"position":[[1628,14]]}},"keywords":{}}],["cleardirtybit",{"_index":8954,"title":{},"content":{"2359":{"position":[[1676,17],[1719,16]]}},"keywords":{}}],["cleardirtybit(uint64",{"_index":8952,"title":{},"content":{"2359":{"position":[[1356,22]]}},"keywords":{}}],["cleardirtybit(ulong",{"_index":8953,"title":{},"content":{"2359":{"position":[[1574,19]]}},"keywords":{}}],["clearhandl",{"_index":8823,"title":{},"content":{"2292":{"position":[[630,16],[665,15]]},"2320":{"position":[[591,16],[673,15]]}},"keywords":{}}],["clearreadi",{"_index":647,"title":{},"content":{"42":{"position":[[2131,12]]}},"keywords":{}}],["clearshouldsync(doubl",{"_index":8955,"title":{},"content":{"2359":{"position":[[1737,24],[1833,22]]}},"keywords":{}}],["clearshouldsyncrenam",{"_index":3335,"title":{},"content":{"539":{"position":[[130,23]]}},"keywords":{}}],["clearspawn",{"_index":8779,"title":{},"content":{"2265":{"position":[[6523,16],[6651,15]]}},"keywords":{}}],["click",{"_index":213,"title":{},"content":{"9":{"position":[[489,5]]},"13":{"position":[[0,5],[355,5],[406,8]]},"14":{"position":[[410,5],[1627,5],[1770,5],[1900,5]]},"15":{"position":[[0,5]]},"46":{"position":[[711,5],[848,5]]},"50":{"position":[[122,5],[250,5]]},"67":{"position":[[270,5],[292,5],[386,5],[639,5],[710,5],[1058,5]]},"69":{"position":[[6,5]]},"182":{"position":[[214,5],[259,5],[358,5],[812,5],[1005,5],[1067,5],[1181,5],[1407,5],[1536,5],[1562,5],[1673,5],[2668,5],[2814,5],[3010,5],[3238,5],[3310,8],[3363,8],[3435,5]]},"183":{"position":[[471,8],[524,5],[699,5],[717,5],[802,5],[1124,8],[1150,8],[1734,8]]},"184":{"position":[[384,5]]},"190":{"position":[[250,5],[808,5],[1362,5],[1591,5]]},"191":{"position":[[154,5]]},"195":{"position":[[116,5]]},"201":{"position":[[270,5],[292,5],[386,5],[639,5],[710,5],[1058,5]]},"202":{"position":[[81,5],[115,5],[265,5]]},"203":{"position":[[1351,5]]},"204":{"position":[[205,5]]},"211":{"position":[[1391,5],[1640,5]]},"269":{"position":[[436,5]]},"276":{"position":[[171,6]]},"1777":{"position":[[418,6]]}},"keywords":{}}],["clickabl",{"_index":3915,"title":{},"content":{"790":{"position":[[27,9]]}},"keywords":{}}],["clickcount",{"_index":7181,"title":{},"content":{"1777":{"position":[[153,11],[368,13],[493,10],[592,10]]}},"keywords":{}}],["clienrpc",{"_index":5696,"title":{},"content":{"1474":{"position":[[10857,8]]},"1693":{"position":[[6,8]]}},"keywords":{}}],["client",{"_index":24,"title":{"13":{"position":[[15,8]]},"14":{"position":[[0,7]]},"27":{"position":[[0,6]]},"36":{"position":[[0,6]]},"65":{"position":[[0,6]]},"99":{"position":[[0,6]]},"103":{"position":[[0,6]]},"111":{"position":[[0,6]]},"164":{"position":[[0,6]]},"166":{"position":[[0,6]]},"216":{"position":[[11,6]]},"218":{"position":[[0,6]]},"226":{"position":[[0,6]]},"227":{"position":[[0,6]]},"228":{"position":[[6,7]]},"233":{"position":[[5,7]]},"234":{"position":[[0,6]]},"249":{"position":[[27,6]]},"262":{"position":[[29,8]]},"272":{"position":[[11,6]]},"281":{"position":[[0,6]]},"1780":{"position":[[8,6]]},"1781":{"position":[[8,6]]}},"content":{"0":{"position":[[407,7],[1594,7],[1732,8]]},"2":{"position":[[186,7]]},"3":{"position":[[336,6],[411,6],[761,6]]},"6":{"position":[[444,8],[495,7],[540,6],[579,6],[676,8],[746,6],[900,8],[985,7],[1066,8]]},"10":{"position":[[328,6],[383,6],[428,6],[515,6],[547,6],[651,6],[943,7],[1098,7],[1313,7],[2062,6]]},"12":{"position":[[64,6]]},"13":{"position":[[25,7],[93,6]]},"14":{"position":[[170,6],[416,6],[1218,7],[1288,8],[1633,6],[1684,6],[1947,6]]},"15":{"position":[[67,7],[119,6],[300,8],[793,8]]},"20":{"position":[[664,7]]},"21":{"position":[[66,7],[220,6]]},"22":{"position":[[118,8],[566,6]]},"24":{"position":[[36,7],[103,7],[904,6],[1282,7],[1501,6],[1585,6],[1733,6]]},"31":{"position":[[959,7]]},"33":{"position":[[501,7],[712,6]]},"37":{"position":[[922,6],[962,8],[1060,8]]},"41":{"position":[[304,6]]},"42":{"position":[[286,8],[476,7],[1219,6],[2294,7]]},"43":{"position":[[480,6],[498,6],[619,6],[709,6],[1106,6]]},"46":{"position":[[666,6],[732,7],[854,6],[1238,8],[1253,7],[1401,6]]},"49":{"position":[[655,7],[683,7]]},"50":{"position":[[77,6],[143,7],[256,6]]},"56":{"position":[[148,7],[172,7]]},"62":{"position":[[159,6]]},"63":{"position":[[156,6],[308,6],[354,7]]},"64":{"position":[[29,6]]},"65":{"position":[[18,6],[200,7],[289,6],[393,8]]},"71":{"position":[[597,6],[740,6],[807,7],[882,6],[1337,6],[1385,8],[1406,7]]},"87":{"position":[[145,6]]},"91":{"position":[[371,8],[576,7]]},"92":{"position":[[1021,6],[1144,6],[1411,6],[1722,6]]},"94":{"position":[[467,8]]},"98":{"position":[[78,6],[101,7]]},"99":{"position":[[7,6]]},"100":{"position":[[546,7]]},"103":{"position":[[0,6],[32,6],[72,6],[207,6],[237,6],[449,8]]},"104":{"position":[[103,6]]},"105":{"position":[[28,6]]},"106":{"position":[[28,6]]},"107":{"position":[[53,6]]},"108":{"position":[[84,6]]},"109":{"position":[[7,6]]},"112":{"position":[[62,6]]},"114":{"position":[[69,6]]},"117":{"position":[[483,6],[551,7],[3056,7]]},"163":{"position":[[208,7]]},"164":{"position":[[52,6],[444,6]]},"165":{"position":[[48,6]]},"166":{"position":[[41,6]]},"167":{"position":[[56,6]]},"170":{"position":[[121,7],[143,7],[183,7]]},"171":{"position":[[383,7]]},"172":{"position":[[199,7]]},"173":{"position":[[91,6],[261,6],[1186,6]]},"175":{"position":[[77,6],[718,8]]},"182":{"position":[[1878,7],[2631,8]]},"184":{"position":[[773,6]]},"203":{"position":[[311,6],[485,6]]},"204":{"position":[[175,6],[266,6],[322,6]]},"205":{"position":[[53,6]]},"209":{"position":[[824,7]]},"210":{"position":[[887,7]]},"213":{"position":[[2328,7]]},"215":{"position":[[87,7],[242,7]]},"216":{"position":[[116,6],[278,7]]},"217":{"position":[[150,6],[246,6],[428,6],[642,7],[699,7]]},"218":{"position":[[0,6],[76,6],[97,6],[240,6],[321,6]]},"224":{"position":[[623,7]]},"225":{"position":[[112,7],[485,7]]},"226":{"position":[[65,7]]},"227":{"position":[[31,7],[285,6]]},"230":{"position":[[293,6]]},"231":{"position":[[19,6],[203,7]]},"232":{"position":[[283,7]]},"233":{"position":[[41,6],[83,6]]},"234":{"position":[[34,7]]},"235":{"position":[[323,6],[630,6],[1602,6],[1657,8],[1742,6],[1824,6],[1936,7],[1987,6],[2134,6],[2193,7],[2296,6]]},"238":{"position":[[222,6],[940,6],[1206,6],[1364,6]]},"240":{"position":[[877,7]]},"241":{"position":[[1536,7],[1627,7],[2963,6]]},"242":{"position":[[321,7]]},"243":{"position":[[169,6],[281,6],[929,6],[997,6],[1101,7],[1412,6],[1487,7],[1633,7],[1675,6],[1841,6],[2102,7],[2210,6],[2554,7]]},"245":{"position":[[1636,8],[2130,6],[2581,6],[2764,6],[2848,7],[2922,6],[3322,6],[4030,7]]},"247":{"position":[[579,7],[847,6],[959,7],[1079,8],[1300,8]]},"248":{"position":[[225,6],[709,7],[787,6],[848,6],[951,7]]},"249":{"position":[[81,7],[173,6],[279,6],[340,6],[368,6],[428,7],[562,6]]},"251":{"position":[[3735,7],[4202,6],[4575,6]]},"253":{"position":[[156,7],[253,7],[316,6],[535,6],[885,7]]},"254":{"position":[[1284,7]]},"257":{"position":[[581,7],[695,7]]},"262":{"position":[[26,6],[145,7],[644,6],[729,7],[906,6]]},"263":{"position":[[88,6],[731,7]]},"264":{"position":[[1928,7],[2007,7],[2188,7]]},"269":{"position":[[381,7]]},"270":{"position":[[302,6]]},"272":{"position":[[626,6],[773,6],[856,6],[962,6],[1466,6],[1585,6],[1649,6],[1727,6]]},"273":{"position":[[687,6],[1013,6]]},"280":{"position":[[355,7],[474,6],[687,6]]},"285":{"position":[[192,6],[363,7]]},"286":{"position":[[34,6]]},"288":{"position":[[99,6],[302,7],[701,8],[1262,7],[1315,6],[1412,7],[1481,6],[1550,6],[1659,6],[2217,7]]},"290":{"position":[[27,6]]},"292":{"position":[[102,7]]},"294":{"position":[[119,6],[755,8]]},"295":{"position":[[123,6],[154,6],[423,6],[648,7]]},"300":{"position":[[181,6],[237,6]]},"301":{"position":[[86,7],[365,6],[461,6],[884,7]]},"302":{"position":[[245,7],[815,6],[914,6]]},"303":{"position":[[158,7],[280,6],[481,6],[500,6]]},"306":{"position":[[131,7]]},"308":{"position":[[66,7],[1100,7],[1172,6],[1478,7]]},"310":{"position":[[87,7]]},"314":{"position":[[186,7],[258,7],[319,7],[569,6],[661,8],[780,6]]},"317":{"position":[[54,6]]},"332":{"position":[[148,8],[233,6],[809,7]]},"333":{"position":[[232,8],[251,6],[404,8],[478,7],[667,8]]},"335":{"position":[[1192,7],[1242,7]]},"337":{"position":[[487,7]]},"340":{"position":[[396,6],[971,7]]},"344":{"position":[[52,6],[488,6],[582,6]]},"345":{"position":[[338,6],[502,7]]},"346":{"position":[[715,7],[1718,7]]},"348":{"position":[[773,6],[1266,7]]},"351":{"position":[[515,7]]},"352":{"position":[[46,6],[470,6],[564,6]]},"353":{"position":[[284,6],[448,7]]},"356":{"position":[[369,7],[377,6],[849,6],[859,6],[873,6],[943,6],[956,6],[1096,6],[1248,6],[1272,6],[1429,7]]},"363":{"position":[[207,6],[578,6]]},"504":{"position":[[91,6]]},"545":{"position":[[37,7],[263,6]]},"562":{"position":[[43,6]]},"566":{"position":[[47,6]]},"582":{"position":[[65,6]]},"611":{"position":[[29,6]]},"642":{"position":[[28,6]]},"671":{"position":[[82,6]]},"679":{"position":[[27,6]]},"734":{"position":[[249,6],[278,6]]},"795":{"position":[[57,6]]},"796":{"position":[[59,7]]},"816":{"position":[[34,6]]},"818":{"position":[[37,6]]},"824":{"position":[[178,6]]},"826":{"position":[[7,6]]},"851":{"position":[[42,6]]},"875":{"position":[[10,6]]},"908":{"position":[[60,6],[136,6]]},"930":{"position":[[36,6]]},"931":{"position":[[39,6]]},"945":{"position":[[24,6]]},"947":{"position":[[28,6]]},"998":{"position":[[133,6]]},"1014":{"position":[[7,6]]},"1021":{"position":[[35,6]]},"1024":{"position":[[324,6]]},"1106":{"position":[[21,6]]},"1116":{"position":[[29,7],[110,7]]},"1131":{"position":[[0,6]]},"1252":{"position":[[15,6]]},"1260":{"position":[[0,6]]},"1274":{"position":[[6,6]]},"1327":{"position":[[97,6]]},"1330":{"position":[[97,6]]},"1333":{"position":[[97,6]]},"1350":{"position":[[90,6],[232,6]]},"1355":{"position":[[90,6],[232,6]]},"1360":{"position":[[90,6],[232,6]]},"1365":{"position":[[90,6],[232,6]]},"1370":{"position":[[90,6],[232,6]]},"1375":{"position":[[44,6],[186,6]]},"1379":{"position":[[44,6],[186,6]]},"1383":{"position":[[44,6]]},"1387":{"position":[[44,6]]},"1391":{"position":[[44,6]]},"1395":{"position":[[44,6]]},"1399":{"position":[[4,6]]},"1403":{"position":[[4,6]]},"1407":{"position":[[4,6]]},"1411":{"position":[[4,6]]},"1415":{"position":[[4,6]]},"1419":{"position":[[4,6]]},"1423":{"position":[[4,6]]},"1427":{"position":[[4,6]]},"1431":{"position":[[4,6]]},"1466":{"position":[[657,6]]},"1467":{"position":[[344,6]]},"1474":{"position":[[284,7],[742,6],[2426,6],[2473,7],[2882,8],[2974,7],[3377,8],[4975,6],[6082,6],[6420,6],[7370,6],[7620,7],[9325,6],[9846,6],[10796,7],[12974,7],[13522,6],[15208,7],[15414,6],[15936,7],[16268,6],[16364,6],[19476,7],[20625,6]]},"1475":{"position":[[0,6]]},"1476":{"position":[[2522,6],[2591,6],[3295,7],[5583,6],[6979,6],[7270,7],[9078,6],[9296,6]]},"1477":{"position":[[2624,6],[3882,6],[4049,6]]},"1479":{"position":[[2359,6],[2887,6],[3129,6]]},"1506":{"position":[[21,6]]},"1512":{"position":[[14,6]]},"1521":{"position":[[11,6]]},"1524":{"position":[[42,6]]},"1528":{"position":[[0,6]]},"1549":{"position":[[4,6]]},"1560":{"position":[[17,7]]},"1562":{"position":[[251,7]]},"1566":{"position":[[1372,7],[1402,6]]},"1567":{"position":[[1174,6]]},"1572":{"position":[[19,6]]},"1578":{"position":[[155,7]]},"1620":{"position":[[33,6]]},"1626":{"position":[[0,6]]},"1640":{"position":[[63,6]]},"1651":{"position":[[96,6]]},"1653":{"position":[[45,6]]},"1682":{"position":[[34,6]]},"1706":{"position":[[0,6]]},"1713":{"position":[[30,6]]},"1725":{"position":[[89,6]]},"1726":{"position":[[14,6]]},"1734":{"position":[[79,6],[148,6]]},"1737":{"position":[[46,6]]},"1751":{"position":[[73,7]]},"1766":{"position":[[177,7]]},"1779":{"position":[[122,6]]},"1780":{"position":[[109,7],[859,6]]},"1781":{"position":[[109,7],[923,6]]},"1782":{"position":[[397,7]]},"1783":{"position":[[281,6],[394,6],[814,6],[867,6]]},"1795":{"position":[[86,6],[568,6],[949,6],[1014,7],[1088,6]]},"1816":{"position":[[50,7],[92,6]]},"1819":{"position":[[331,6]]},"1826":{"position":[[466,7],[555,6]]},"1830":{"position":[[91,7]]},"1835":{"position":[[366,7]]},"1885":{"position":[[50,7],[92,6]]},"1888":{"position":[[50,7],[92,6]]},"1961":{"position":[[120,6]]},"2124":{"position":[[26,6],[143,6],[232,6],[298,6]]},"2128":{"position":[[61,6],[214,6]]},"2130":{"position":[[908,6]]},"2158":{"position":[[80,7],[311,6]]},"2199":{"position":[[405,6],[597,6]]},"2240":{"position":[[307,6],[492,8],[1299,6],[1692,6],[2466,8],[2564,8],[3370,7],[3481,6],[3532,7],[4272,7],[4397,6],[4468,6],[4613,7],[5315,6],[6018,7],[6234,7],[6688,6],[7144,7],[7216,8],[7263,6],[7305,6]]},"2241":{"position":[[760,6],[800,6]]},"2242":{"position":[[312,6],[327,6]]},"2243":{"position":[[155,6]]},"2252":{"position":[[0,7],[42,6]]},"2253":{"position":[[182,6],[278,6],[368,6],[763,6],[1065,7]]},"2255":{"position":[[49,7]]},"2264":{"position":[[0,7],[42,6]]},"2265":{"position":[[79,6],[1230,6],[1262,6],[1343,6],[2208,6],[2240,6],[2321,6],[3218,8],[3798,6],[3830,6],[3911,6],[4545,8],[4639,8],[5389,8],[5483,8],[6618,7],[6973,7]]},"2279":{"position":[[49,7]]},"2298":{"position":[[309,6]]},"2306":{"position":[[666,7]]},"2311":{"position":[[68,6],[274,6]]},"2313":{"position":[[49,7]]},"2320":{"position":[[452,6],[522,6]]},"2324":{"position":[[87,7],[185,6]]},"2332":{"position":[[688,7],[751,8],[841,8],[1347,7],[1408,8],[1497,8]]},"2350":{"position":[[280,6],[423,6],[574,6],[766,6],[966,6],[1066,6],[1232,7]]},"2351":{"position":[[49,6]]},"2358":{"position":[[330,6],[836,6],[1363,6],[1755,6],[2306,7],[2379,6],[2897,7]]},"2361":{"position":[[30,6],[172,7],[193,6],[233,6]]},"2366":{"position":[[50,7],[92,6]]},"2367":{"position":[[39,6]]},"2369":{"position":[[366,6]]},"2370":{"position":[[39,6],[656,7],[802,7],[1004,6],[1046,8],[1209,7],[1348,7],[2221,7],[2319,6],[3645,7],[3720,6],[3890,7],[4517,6],[4649,6],[4713,6],[5073,7],[5188,6]]},"2371":{"position":[[404,6],[470,6],[560,7],[724,6],[1012,6]]},"2375":{"position":[[62,7],[83,6]]},"2388":{"position":[[0,7],[42,6]]},"2400":{"position":[[436,6],[552,7],[562,6],[668,6],[745,6]]},"2403":{"position":[[138,7]]},"2408":{"position":[[423,6]]},"2409":{"position":[[155,7],[219,6]]},"2415":{"position":[[0,7],[42,6]]},"2416":{"position":[[411,6],[573,6],[1063,6]]},"2417":{"position":[[2741,6],[2820,6],[3804,7],[4001,7],[4254,7],[4459,7],[6506,7],[7436,7],[9747,7],[9779,7],[9863,7],[10451,6]]},"2420":{"position":[[874,6],[970,6],[1093,6],[1266,6]]},"2421":{"position":[[55,8],[111,6],[425,6]]},"2462":{"position":[[118,7]]},"2463":{"position":[[36,6],[76,6]]},"2466":{"position":[[115,7]]},"2471":{"position":[[49,7]]},"2478":{"position":[[4156,6]]},"2482":{"position":[[4012,6],[4933,8],[5281,8],[5995,6]]},"2515":{"position":[[133,7]]},"2522":{"position":[[46,6]]},"2527":{"position":[[98,7],[191,6]]}},"keywords":{}}],["client!)th",{"_index":2132,"title":{},"content":{"248":{"position":[[827,11]]}},"keywords":{}}],["client"",{"_index":1885,"title":{},"content":{"225":{"position":[[1327,14],[1461,14]]},"1819":{"position":[[83,12]]}},"keywords":{}}],["client'",{"_index":2561,"title":{},"content":{"314":{"position":[[477,8]]},"1474":{"position":[[18105,8]]},"2371":{"position":[[419,8]]}},"keywords":{}}],["client(error",{"_index":2339,"title":{},"content":{"274":{"position":[[206,13]]},"1479":{"position":[[437,13]]},"1529":{"position":[[24,13]]}},"keywords":{}}],["client.authenticated.addlistener(onclientconnect",{"_index":2318,"title":{},"content":{"272":{"position":[[1268,50]]}},"keywords":{}}],["client.ded",{"_index":1390,"title":{},"content":{"175":{"position":[[370,16]]}},"keywords":{}}],["client.disconnect",{"_index":5997,"title":{},"content":{"1474":{"position":[[21236,17]]},"1745":{"position":[[204,17]]}},"keywords":{}}],["client.disconnected.addlistener(onclientdisconnect",{"_index":2319,"title":{},"content":{"272":{"position":[[1319,54]]}},"keywords":{}}],["client.hasauthorityattribut",{"_index":991,"title":{},"content":{"92":{"position":[[956,29]]}},"keywords":{}}],["client.impl",{"_index":1071,"title":{},"content":{"117":{"position":[[203,16]]}},"keywords":{}}],["client.messagehandler.registerhandler<scoremessage>(onscor",{"_index":2385,"title":{},"content":{"280":{"position":[[512,67]]}},"keywords":{}}],["client.play",{"_index":2357,"title":{},"content":{"275":{"position":[[460,13]]}},"keywords":{}}],["client.player.identity.getcomponent<playerequip>().cmdpickupitem(gameobject",{"_index":2050,"title":{},"content":{"242":{"position":[[607,83]]}},"keywords":{}}],["client.player.sceneisreadi",{"_index":2347,"title":{},"content":{"275":{"position":[[121,26]]}},"keywords":{}}],["client.started.addlistener(clientstart",{"_index":1870,"title":{},"content":{"225":{"position":[[675,42]]},"280":{"position":[[386,42]]}},"keywords":{}}],["client.started.addlistener(onclientstart",{"_index":2317,"title":{},"content":{"272":{"position":[[1223,44]]}},"keywords":{}}],["client.world.onspawn",{"_index":1880,"title":{},"content":{"225":{"position":[[1130,20]]}},"keywords":{}}],["client.world.onunspawn",{"_index":1882,"title":{},"content":{"225":{"position":[[1169,22]]}},"keywords":{}}],["client/serv",{"_index":809,"title":{},"content":{"65":{"position":[[135,13]]}},"keywords":{}}],["client/server.world",{"_index":1868,"title":{},"content":{"225":{"position":[[518,19]]}},"keywords":{}}],["clientattribut",{"_index":1837,"title":{"2254":{"position":[[6,15]]}},"content":{"216":{"position":[[218,15]]},"2240":{"position":[[253,16]]}},"keywords":{}}],["clientauthent",{"_index":4251,"title":{},"content":{"942":{"position":[[171,18]]}},"keywords":{}}],["clientauthor",{"_index":5793,"title":{},"content":{"1474":{"position":[[14588,15],[14620,15]]},"2331":{"position":[[0,16],[42,15]]},"2427":{"position":[[0,16],[42,15]]}},"keywords":{}}],["clientauthoritycallback",{"_index":3879,"title":{},"content":{"772":{"position":[[26,23]]}},"keywords":{}}],["clientcallback",{"_index":2338,"title":{},"content":{"274":{"position":[[189,16]]},"1479":{"position":[[413,16]]},"1529":{"position":[[0,16]]}},"keywords":{}}],["clientchangedscen",{"_index":4364,"title":{},"content":{"989":{"position":[[0,18]]}},"keywords":{}}],["clientclientobjectmanager.networkscenemanag",{"_index":4738,"title":{},"content":{"1142":{"position":[[209,46]]}},"keywords":{}}],["clientconn",{"_index":9137,"title":{},"content":{"2458":{"position":[[92,11]]}},"keywords":{}}],["clientconnect",{"_index":1915,"title":{},"content":{"237":{"position":[[210,17]]},"245":{"position":[[874,15]]},"249":{"position":[[1160,15]]},"1479":{"position":[[3175,13]]},"1742":{"position":[[0,13]]}},"keywords":{}}],["clientconnectasync",{"_index":6663,"title":{},"content":{"1479":{"position":[[3203,18]]},"1742":{"position":[[28,18]]}},"keywords":{}}],["clientdisconnect",{"_index":5981,"title":{},"content":{"1474":{"position":[[20700,16]]}},"keywords":{}}],["clientfinishedloadingscenemessage(inetworkplay",{"_index":9052,"title":{},"content":{"2417":{"position":[[1682,49],[2015,48]]}},"keywords":{}}],["clienthandl",{"_index":9139,"title":{},"content":{"2458":{"position":[[148,14],[311,13]]}},"keywords":{}}],["clientidstor",{"_index":7241,"title":{},"content":{"1819":{"position":[[309,14],[469,13]]}},"keywords":{}}],["clientinstanti",{"_index":1843,"title":{},"content":{"221":{"position":[[7,17]]}},"keywords":{}}],["clientmanager.readi",{"_index":9084,"title":{},"content":{"2417":{"position":[[9880,21]]}},"keywords":{}}],["clientmanager.registerprefab",{"_index":8750,"title":{},"content":{"2263":{"position":[[107,30],[370,30]]}},"keywords":{}}],["clientnetworkauthent",{"_index":4160,"title":{},"content":{"892":{"position":[[68,26]]}},"keywords":{}}],["clientnetworkident",{"_index":3871,"title":{},"content":{"768":{"position":[[89,22]]}},"keywords":{}}],["clientnetworkscenemanager.serv",{"_index":4742,"title":{},"content":{"1142":{"position":[[441,33]]}},"keywords":{}}],["clientnetworkworld.onunspawn",{"_index":1848,"title":{},"content":{"222":{"position":[[7,28]]}},"keywords":{}}],["clientnotreadymessage(inetworkplay",{"_index":9055,"title":{},"content":{"2417":{"position":[[2270,37],[2464,36]]}},"keywords":{}}],["clientobjectmanag",{"_index":886,"title":{"2262":{"position":[[6,19]]}},"content":{"74":{"position":[[210,19]]},"235":{"position":[[279,19],[1387,19]]},"238":{"position":[[613,19],[633,20]]},"245":{"position":[[461,20],[569,19]]},"251":{"position":[[359,19],[379,20]]},"270":{"position":[[347,19]]},"276":{"position":[[67,19]]},"332":{"position":[[288,19]]},"405":{"position":[[0,20]]},"444":{"position":[[125,19]]},"498":{"position":[[9,19]]},"601":{"position":[[166,19]]},"1074":{"position":[[20,19]]},"1100":{"position":[[0,19]]},"1236":{"position":[[75,19]]},"1237":{"position":[[60,19]]},"1239":{"position":[[0,19]]},"1243":{"position":[[25,19]]},"2240":{"position":[[372,20]]},"2252":{"position":[[168,20],[209,19],[229,19]]},"2265":{"position":[[1362,19],[2340,19],[3930,19]]},"2349":{"position":[[212,19]]},"2358":{"position":[[2396,20],[2458,20],[2537,19],[2557,19]]},"2366":{"position":[[264,20],[305,19],[325,19]]},"2369":{"position":[[301,20],[326,19],[404,19],[424,19]]},"2415":{"position":[[182,20],[223,19],[243,19]]},"2511":{"position":[[42,19],[346,19]]}},"keywords":{}}],["clientobjectmanager.getprefab",{"_index":3527,"title":{},"content":{"613":{"position":[[0,29]]}},"keywords":{}}],["clientobjectmanager.localplay",{"_index":4586,"title":{},"content":{"1076":{"position":[[39,31]]}},"keywords":{}}],["clientobjectmanager.preparetospawnsceneobject",{"_index":2504,"title":{},"content":{"301":{"position":[[496,46]]},"302":{"position":[[768,46]]}},"keywords":{}}],["clientobjectmanager.registerdynamicspawnhandler(dynamicspawn",{"_index":1939,"title":{},"content":{"238":{"position":[[1477,62]]}},"keywords":{}}],["clientobjectmanager.registerprefab",{"_index":1919,"title":{},"content":{"237":{"position":[[325,34],[474,34]]},"251":{"position":[[700,34],[845,34]]}},"keywords":{}}],["clientobjectmanager.registerprefab(prefab",{"_index":1916,"title":{},"content":{"237":{"position":[[230,42]]},"251":{"position":[[613,42]]}},"keywords":{}}],["clientobjectmanager.registerspawnhandl",{"_index":2092,"title":{},"content":{"245":{"position":[[3220,40]]}},"keywords":{}}],["clientobjectmanager.spawnprefabs.add(treeprefab",{"_index":2066,"title":{},"content":{"245":{"position":[[892,49]]},"249":{"position":[[1178,49]]}},"keywords":{}}],["clientobjectmanager.unregisterprefab(prefab",{"_index":2162,"title":{},"content":{"251":{"position":[[972,45]]}},"keywords":{}}],["clientobjectmanagernetworkserv",{"_index":3218,"title":{},"content":{"499":{"position":[[62,32]]}},"keywords":{}}],["clientondisconnect",{"_index":9141,"title":{},"content":{"2458":{"position":[[198,19],[385,18]]}},"keywords":{}}],["clientonli",{"_index":5505,"title":{},"content":{"1474":{"position":[[5379,10]]},"1566":{"position":[[117,10]]}},"keywords":{}}],["clientr(target=client.own",{"_index":6643,"title":{},"content":{"1479":{"position":[[60,30]]},"1501":{"position":[[25,30]]}},"keywords":{}}],["clientrpc",{"_index":969,"title":{},"content":{"91":{"position":[[462,9]]},"186":{"position":[[274,11]]},"218":{"position":[[296,9]]},"235":{"position":[[1526,9]]},"282":{"position":[[29,10]]},"286":{"position":[[56,10]]},"288":{"position":[[0,10],[1122,11],[1270,9],[1437,9]]},"332":{"position":[[925,11]]},"403":{"position":[[22,9]]},"852":{"position":[[79,9]]},"1024":{"position":[[238,9]]},"1028":{"position":[[0,9]]},"1473":{"position":[[192,9]]},"1474":{"position":[[6645,9]]},"1476":{"position":[[134,9]]},"1491":{"position":[[0,9]]},"1500":{"position":[[27,9]]},"1547":{"position":[[0,9]]},"1566":{"position":[[447,9]]},"1567":{"position":[[27,9]]},"1783":{"position":[[731,11]]},"1966":{"position":[[1411,9]]},"1968":{"position":[[39,10],[63,9]]},"1979":{"position":[[953,9]]},"2243":{"position":[[257,9]]}},"keywords":{}}],["clientrpc'",{"_index":409,"title":{},"content":{"20":{"position":[[607,11]]}},"keywords":{}}],["clientrpc(channel",{"_index":2403,"title":{},"content":{"287":{"position":[[66,18]]}},"keywords":{}}],["clientrpc(excludeown",{"_index":2402,"title":{},"content":{"286":{"position":[[110,23]]}},"keywords":{}}],["clientrpc(target",{"_index":2334,"title":{},"content":{"274":{"position":[[104,17]]},"285":{"position":[[82,17]]},"288":{"position":[[504,17],[1596,17],[1692,17],[2083,17],[2364,17]]}},"keywords":{}}],["clientrpc_setsyncvarweaponid(int",{"_index":7207,"title":{},"content":{"1783":{"position":[[756,32]]}},"keywords":{}}],["clientrpc_setsyncvarweaponid(weaponid",{"_index":7206,"title":{},"content":{"1783":{"position":[[638,39]]}},"keywords":{}}],["clientrpcattribut",{"_index":967,"title":{"2266":{"position":[[6,18]]}},"content":{"91":{"position":[[244,18],[267,18]]},"2240":{"position":[[393,19]]}},"keywords":{}}],["clientrpcsend",{"_index":3535,"title":{"1965":{"position":[[6,15]]}},"content":{"615":{"position":[[27,15]]},"707":{"position":[[135,15]]},"1955":{"position":[[0,16]]}},"keywords":{}}],["clients.onnetworkdestroy",{"_index":2124,"title":{},"content":{"247":{"position":[[1246,24]]}},"keywords":{}}],["clients.syncdictionari",{"_index":2729,"title":{},"content":{"333":{"position":[[756,22]]}},"keywords":{}}],["clientscen",{"_index":5702,"title":{},"content":{"1474":{"position":[[10955,11],[13536,11]]},"1476":{"position":[[1340,11]]},"1477":{"position":[[3929,11]]},"1479":{"position":[[2572,11]]},"1566":{"position":[[861,11]]},"1567":{"position":[[367,11]]},"1687":{"position":[[58,11]]},"1689":{"position":[[0,11]]},"2265":{"position":[[1472,12],[1541,11],[2450,12],[2519,11],[4040,12],[4109,11]]}},"keywords":{}}],["clientscene.addplay",{"_index":8739,"title":{},"content":{"2253":{"position":[[793,22]]}},"keywords":{}}],["clientscene.localplay",{"_index":9201,"title":{},"content":{"2492":{"position":[[132,23]]}},"keywords":{}}],["clientscene.prefab",{"_index":8765,"title":{},"content":{"2265":{"position":[[1576,20],[2554,20],[4144,20]]}},"keywords":{}}],["clientscene.readi",{"_index":2346,"title":{},"content":{"275":{"position":[[103,17]]}},"keywords":{}}],["clientscene.registerhandl",{"_index":8777,"title":{},"content":{"2265":{"position":[[6320,30]]}},"keywords":{}}],["clientscene.registerprefab",{"_index":2060,"title":{},"content":{"245":{"position":[[265,26]]},"1474":{"position":[[11474,26],[11546,26]]},"1566":{"position":[[935,26],[1007,26]]},"2265":{"position":[[3316,27]]}},"keywords":{}}],["clientscene.shutdown",{"_index":5780,"title":{},"content":{"1474":{"position":[[13474,20],[18040,21]]}},"keywords":{}}],["clientscenemanag",{"_index":6718,"title":{},"content":{"1510":{"position":[[0,18]]}},"keywords":{}}],["clientscenetest",{"_index":6037,"title":{},"content":{"1474":{"position":[[22750,16]]},"1566":{"position":[[1947,16]]}},"keywords":{}}],["clientseri",{"_index":2245,"title":{},"content":{"257":{"position":[[464,15]]}},"keywords":{}}],["clientsess",{"_index":7215,"title":{"1804":{"position":[[6,13]]}},"content":{"1797":{"position":[[0,14]]},"1812":{"position":[[18,15],[70,13]]}},"keywords":{}}],["clientssend",{"_index":2249,"title":{},"content":{"257":{"position":[[650,11]]}},"keywords":{}}],["clientstart",{"_index":1879,"title":{},"content":{"225":{"position":[[1112,15]]},"280":{"position":[[444,15]]}},"keywords":{}}],["clientstartscenemessage(inetworkplay",{"_index":9050,"title":{},"content":{"2417":{"position":[[1152,39],[1521,38]]}},"keywords":{}}],["clientstoppedreason",{"_index":8709,"title":{"2260":{"position":[[5,19]]}},"content":{"2243":{"position":[[123,20]]}},"keywords":{}}],["clienttim",{"_index":9008,"title":{},"content":{"2390":{"position":[[0,11],[39,10]]},"2392":{"position":[[0,11],[39,10]]}},"keywords":{}}],["client’",{"_index":144,"title":{},"content":{"3":{"position":[[523,8]]},"243":{"position":[[742,8]]},"248":{"position":[[1259,8]]},"249":{"position":[[667,8]]}},"keywords":{}}],["clock",{"_index":419,"title":{"173":{"position":[[0,5]]}},"content":{"21":{"position":[[243,5]]},"173":{"position":[[0,5],[54,5],[425,5]]},"2408":{"position":[[383,5]]}},"keywords":{}}],["clone",{"_index":2720,"title":{},"content":{"332":{"position":[[359,5],[744,5],[1141,5]]},"1780":{"position":[[383,5]]},"1781":{"position":[[447,5]]}},"keywords":{}}],["close",{"_index":825,"title":{},"content":{"67":{"position":[[553,5]]},"183":{"position":[[1773,5]]},"184":{"position":[[952,7]]},"197":{"position":[[435,5]]},"201":{"position":[[553,5]]},"202":{"position":[[618,6]]},"260":{"position":[[196,5]]},"295":{"position":[[693,6]]},"488":{"position":[[66,6]]},"585":{"position":[[90,6]]},"614":{"position":[[183,6]]},"622":{"position":[[167,6]]},"715":{"position":[[233,6]]},"749":{"position":[[63,6]]},"774":{"position":[[75,6]]},"785":{"position":[[69,6]]},"930":{"position":[[90,6]]},"938":{"position":[[0,7]]},"954":{"position":[[0,7],[73,7]]},"1079":{"position":[[71,6]]},"1081":{"position":[[67,6]]},"1127":{"position":[[64,6]]},"1151":{"position":[[84,6]]},"1153":{"position":[[52,6]]},"1189":{"position":[[49,6]]},"1210":{"position":[[118,6]]},"1233":{"position":[[152,6]]},"1236":{"position":[[142,6]]},"1237":{"position":[[149,6]]},"1268":{"position":[[62,6]]},"1275":{"position":[[119,6]]},"1278":{"position":[[49,6],[125,6]]},"1285":{"position":[[133,6]]},"1298":{"position":[[149,6]]},"1307":{"position":[[48,6]]},"1316":{"position":[[122,6]]},"1320":{"position":[[73,6]]},"1338":{"position":[[109,6]]},"1341":{"position":[[127,6]]},"1349":{"position":[[100,6]]},"1354":{"position":[[100,6]]},"1359":{"position":[[100,6]]},"1364":{"position":[[100,6]]},"1369":{"position":[[100,6]]},"1374":{"position":[[100,6]]},"1378":{"position":[[100,6]]},"1382":{"position":[[100,6]]},"1386":{"position":[[100,6]]},"1390":{"position":[[100,6]]},"1394":{"position":[[100,6]]},"1398":{"position":[[100,6]]},"1402":{"position":[[100,6]]},"1406":{"position":[[100,6]]},"1410":{"position":[[100,6]]},"1414":{"position":[[100,6]]},"1418":{"position":[[100,6]]},"1422":{"position":[[100,6]]},"1426":{"position":[[100,6]]},"1430":{"position":[[100,6]]},"1434":{"position":[[61,6]]},"1438":{"position":[[61,6]]},"1466":{"position":[[271,6]]},"1473":{"position":[[425,6]]},"1474":{"position":[[1799,6],[6230,6],[6811,6],[8007,6],[8239,6],[8348,6],[8737,6],[11264,6],[11829,6],[11907,6],[16458,7],[17553,6],[17629,6],[17763,6],[18299,6],[19321,6],[21134,6],[21506,6]]},"1476":{"position":[[163,6],[975,6],[3322,6],[4425,6],[5824,6],[7872,6],[8995,6]]},"1477":{"position":[[2264,6],[3575,6],[3629,6],[3691,6],[3748,6],[3825,6],[3912,6],[3976,6],[4023,6],[4164,6],[4260,6],[4325,6],[4481,6]]},"1478":{"position":[[154,6],[264,6],[356,6],[454,6],[649,6],[1207,6],[1275,6],[1356,6],[1429,6],[1726,6],[1822,6]]},"1496":{"position":[[320,6]]},"1567":{"position":[[56,6]]},"1574":{"position":[[38,6]]},"1578":{"position":[[182,6]]},"1580":{"position":[[52,6]]},"1582":{"position":[[91,6]]},"1585":{"position":[[60,6],[175,6]]},"1594":{"position":[[135,6]]},"1598":{"position":[[104,6]]},"1601":{"position":[[131,6]]},"1636":{"position":[[48,6],[123,6]]},"1648":{"position":[[119,6],[196,6]]},"1651":{"position":[[126,6]]},"1663":{"position":[[61,6]]},"1687":{"position":[[105,6]]},"1696":{"position":[[117,6]]},"1701":{"position":[[57,6]]},"1713":{"position":[[61,7]]},"1731":{"position":[[111,6]]},"1733":{"position":[[114,6]]},"1736":{"position":[[130,6]]},"1745":{"position":[[314,6],[400,6]]},"1746":{"position":[[56,6]]},"1747":{"position":[[88,6]]},"2124":{"position":[[318,5]]},"2156":{"position":[[336,8],[363,7]]},"2158":{"position":[[437,8],[446,6],[525,7]]},"2173":{"position":[[350,8],[384,7]]},"2181":{"position":[[266,6]]},"2223":{"position":[[286,8],[320,7]]},"2227":{"position":[[286,8],[320,7]]},"2265":{"position":[[7039,7]]}},"keywords":{}}],["closedbyp",{"_index":8548,"title":{},"content":{"2181":{"position":[[252,13],[316,12]]}},"keywords":{}}],["closest",{"_index":1433,"title":{},"content":{"182":{"position":[[174,7]]}},"keywords":{}}],["cloud",{"_index":1414,"title":{"188":{"position":[[7,5]]}},"content":{"177":{"position":[[23,5]]},"189":{"position":[[10,5],[74,5],[420,5]]},"190":{"position":[[75,5]]},"191":{"position":[[87,5]]},"195":{"position":[[412,5]]},"213":{"position":[[990,6]]},"1466":{"position":[[377,5],[724,5]]},"1474":{"position":[[11008,5]]},"1476":{"position":[[1159,5],[4895,5]]},"1496":{"position":[[124,5]]},"1563":{"position":[[23,5],[187,5]]}},"keywords":{}}],["cmd",{"_index":6163,"title":{},"content":{"1476":{"position":[[2814,3],[2880,3]]},"1478":{"position":[[1769,4]]},"1547":{"position":[[77,3]]},"1550":{"position":[[38,3]]},"2515":{"position":[[306,5]]}},"keywords":{}}],["cmd'",{"_index":6155,"title":{},"content":{"1476":{"position":[[2627,5]]},"1734":{"position":[[184,5]]}},"keywords":{}}],["cmd/rpc/target",{"_index":6018,"title":{},"content":{"1474":{"position":[[22054,14]]}},"keywords":{}}],["cmdchangeactiveweapon(int",{"_index":1794,"title":{},"content":{"211":{"position":[[647,25]]}},"keywords":{}}],["cmdchangeactiveweapon(selectedweaponloc",{"_index":1801,"title":{},"content":{"211":{"position":[[1516,43]]}},"keywords":{}}],["cmdchangeequippeditem(equippeditem",{"_index":2015,"title":{},"content":{"240":{"position":[[3518,34]]}},"keywords":{}}],["cmdchangeequippeditem(equippeditem.bal",{"_index":2010,"title":{},"content":{"240":{"position":[[3201,41]]},"241":{"position":[[543,41]]}},"keywords":{}}],["cmdchangeequippeditem(equippeditem.box",{"_index":2012,"title":{},"content":{"240":{"position":[[3325,40]]},"241":{"position":[[667,40]]}},"keywords":{}}],["cmdchangeequippeditem(equippeditem.cylind",{"_index":2014,"title":{},"content":{"240":{"position":[[3453,45]]},"241":{"position":[[795,45]]}},"keywords":{}}],["cmdchangeequippeditem(equippeditem.noth",{"_index":2008,"title":{},"content":{"240":{"position":[[3073,44]]},"241":{"position":[[415,44]]}},"keywords":{}}],["cmdchangereadyst",{"_index":557,"title":{},"content":{"33":{"position":[[633,19]]}},"keywords":{}}],["cmdclienttoserversync",{"_index":6152,"title":{},"content":{"1476":{"position":[[2542,21]]},"1734":{"position":[[99,21]]}},"keywords":{}}],["cmddelegate(skeleton_rpcchangenam",{"_index":2461,"title":{},"content":{"291":{"position":[[1023,36]]}},"keywords":{}}],["cmddropitem",{"_index":2018,"title":{},"content":{"241":{"position":[[265,11],[922,14],[957,13],[3028,11]]}},"keywords":{}}],["cmdfire",{"_index":2196,"title":{},"content":{"251":{"position":[[3769,10],[3871,9]]}},"keywords":{}}],["cmdlearnskill(str",{"_index":2768,"title":{},"content":{"340":{"position":[[232,20]]},"348":{"position":[[566,20]]}},"keywords":{}}],["cmdmessagefromtre",{"_index":2147,"title":{},"content":{"249":{"position":[[1726,18]]}},"keywords":{}}],["cmdmessagefromtree("tre",{"_index":2143,"title":{},"content":{"249":{"position":[[1495,29]]}},"keywords":{}}],["cmdmessagefromtree(str",{"_index":2146,"title":{},"content":{"249":{"position":[[1598,25]]}},"keywords":{}}],["cmdpickupitem",{"_index":2045,"title":{},"content":{"242":{"position":[[88,13],[149,13],[772,13]]}},"keywords":{}}],["cmdpickupitem(gameobject",{"_index":2046,"title":{},"content":{"242":{"position":[[250,24]]}},"keywords":{}}],["cmdrequireauthor",{"_index":7665,"title":{},"content":{"1971":{"position":[[316,20],[497,19],[821,20],[1015,19]]}},"keywords":{}}],["cmdsendplayermessag",{"_index":1758,"title":{},"content":{"210":{"position":[[270,20],[602,22]]}},"keywords":{}}],["cmdsetdoorstate(doorst",{"_index":2488,"title":{},"content":{"295":{"position":[[829,25]]}},"keywords":{}}],["cmdsetupplay",{"_index":1759,"title":{},"content":{"210":{"position":[[353,17]]}},"keywords":{}}],["cmdsetupplayer(nam",{"_index":1742,"title":{},"content":{"209":{"position":[[1384,20]]}},"keywords":{}}],["cmdsetupplayer(str",{"_index":1729,"title":{},"content":{"209":{"position":[[696,21]]},"210":{"position":[[760,21]]}},"keywords":{}}],["co",{"_index":3366,"title":{},"content":{"549":{"position":[[58,2]]},"1024":{"position":[[353,2],[437,2]]},"1353":{"position":[[146,2]]},"1358":{"position":[[146,2]]},"1363":{"position":[[146,2]]},"1368":{"position":[[146,2]]},"1479":{"position":[[356,2],[530,2],[843,2],[1965,2],[2092,2],[3636,2]]},"1527":{"position":[[77,2]]},"1531":{"position":[[69,2]]},"1535":{"position":[[256,2]]},"1646":{"position":[[563,2],[690,2]]},"1748":{"position":[[114,2]]}},"keywords":{}}],["code",{"_index":612,"title":{"125":{"position":[[10,5]]},"131":{"position":[[10,5]]},"137":{"position":[[10,5]]},"142":{"position":[[10,5]]},"151":{"position":[[10,5]]},"156":{"position":[[10,5]]},"160":{"position":[[10,5]]},"291":{"position":[[10,5]]},"346":{"position":[[0,4]]},"457":{"position":[[0,4]]},"498":{"position":[[0,4]]},"503":{"position":[[0,4]]},"508":{"position":[[0,4]]},"510":{"position":[[0,4]]},"522":{"position":[[0,4]]},"615":{"position":[[0,4]]},"661":{"position":[[0,4]]},"704":{"position":[[0,4]]},"727":{"position":[[0,4]]},"765":{"position":[[0,4]]},"772":{"position":[[0,4]]},"787":{"position":[[0,4]]},"827":{"position":[[0,4]]},"843":{"position":[[0,4]]},"851":{"position":[[0,4]]},"884":{"position":[[0,4]]},"891":{"position":[[0,4]]},"912":{"position":[[0,4]]},"946":{"position":[[0,4]]},"951":{"position":[[0,4]]},"959":{"position":[[0,4]]},"967":{"position":[[0,4]]},"969":{"position":[[0,4]]},"971":{"position":[[0,4]]},"980":{"position":[[0,4]]},"1007":{"position":[[0,4]]},"1019":{"position":[[0,4]]},"1021":{"position":[[0,4]]},"1023":{"position":[[0,4]]},"1033":{"position":[[0,4]]},"1035":{"position":[[0,4]]},"1037":{"position":[[0,4]]},"1039":{"position":[[0,4]]},"1041":{"position":[[0,4]]},"1045":{"position":[[0,4]]},"1049":{"position":[[0,4]]},"1051":{"position":[[0,4]]},"1055":{"position":[[0,4]]},"1059":{"position":[[0,4]]},"1074":{"position":[[0,4]]},"1103":{"position":[[0,4]]},"1112":{"position":[[0,4]]},"1115":{"position":[[0,4]]},"1117":{"position":[[0,4]]},"1475":{"position":[[0,4]]},"1649":{"position":[[0,4]]},"1704":{"position":[[0,4]]},"1706":{"position":[[0,4]]},"1722":{"position":[[0,4]]}},"content":{"42":{"position":[[168,5]]},"67":{"position":[[1183,5]]},"69":{"position":[[387,5]]},"85":{"position":[[249,4],[548,4]]},"100":{"position":[[159,5],[472,4]]},"173":{"position":[[187,5]]},"201":{"position":[[1183,5]]},"210":{"position":[[1108,4]]},"211":{"position":[[22,4]]},"217":{"position":[[11,4],[173,4],[515,5]]},"218":{"position":[[264,5]]},"219":{"position":[[35,4]]},"235":{"position":[[1271,4]]},"240":{"position":[[1708,4]]},"245":{"position":[[1784,4]]},"247":{"position":[[221,4]]},"251":{"position":[[2829,5]]},"254":{"position":[[796,4]]},"264":{"position":[[2058,4]]},"268":{"position":[[73,5]]},"272":{"position":[[420,4]]},"280":{"position":[[1060,4],[1108,4]]},"285":{"position":[[174,4]]},"291":{"position":[[22,4],[242,4]]},"316":{"position":[[270,4]]},"329":{"position":[[59,4]]},"346":{"position":[[0,4],[354,4],[1361,4]]},"410":{"position":[[156,4]]},"443":{"position":[[7,4]]},"522":{"position":[[111,4]]},"847":{"position":[[94,5]]},"951":{"position":[[25,4]]},"952":{"position":[[16,4]]},"1184":{"position":[[33,4]]},"1185":{"position":[[37,4]]},"1293":{"position":[[9,4]]},"1474":{"position":[[12505,4],[12539,4],[12572,4],[14750,4],[17171,4]]},"1479":{"position":[[667,4],[788,4]]},"1495":{"position":[[14,4]]},"1496":{"position":[[176,4]]},"1535":{"position":[[80,4],[201,4]]},"1539":{"position":[[76,4]]},"1541":{"position":[[5,4]]},"1553":{"position":[[0,4],[45,4]]},"1777":{"position":[[52,5]]},"2094":{"position":[[136,5]]},"2240":{"position":[[5775,5]]},"2451":{"position":[[110,5]]}},"keywords":{}}],["codebas",{"_index":5710,"title":{},"content":{"1474":{"position":[[11175,8]]},"1565":{"position":[[108,8]]}},"keywords":{}}],["codegen",{"_index":4843,"title":{},"content":{"1189":{"position":[[99,7]]}},"keywords":{}}],["codesign",{"_index":3590,"title":{},"content":{"640":{"position":[[34,12]]}},"keywords":{}}],["cogwheel",{"_index":1617,"title":{},"content":{"195":{"position":[[138,8]]}},"keywords":{}}],["coin",{"_index":2192,"title":{},"content":{"251":{"position":[[3447,6]]},"351":{"position":[[276,5],[344,6],[362,5]]}},"keywords":{}}],["collect",{"_index":1040,"title":{},"content":{"102":{"position":[[175,11]]},"247":{"position":[[449,9]]},"327":{"position":[[667,12],[716,11]]},"420":{"position":[[26,10]]},"480":{"position":[[11,10]]},"667":{"position":[[29,10]]},"756":{"position":[[40,10]]},"1009":{"position":[[13,10]]},"1037":{"position":[[5,11]]},"1038":{"position":[[0,11]]},"1303":{"position":[[21,11]]},"1983":{"position":[[2552,10]]},"2091":{"position":[[394,10]]},"2128":{"position":[[367,10],[430,10]]},"2240":{"position":[[5241,10]]},"2265":{"position":[[290,10]]},"2310":{"position":[[78,10]]},"2359":{"position":[[5067,11],[5153,10]]},"2370":{"position":[[3483,10]]},"2416":{"position":[[191,10]]},"2417":{"position":[[6393,10],[7323,10],[8092,10],[8574,10]]},"2511":{"position":[[480,11],[595,10]]}},"keywords":{}}],["collectionextens",{"_index":3574,"title":{"2002":{"position":[[6,20]]}},"content":{"634":{"position":[[46,20],[96,20]]},"1983":{"position":[[449,21]]}},"keywords":{}}],["collid",{"_index":443,"title":{},"content":{"22":{"position":[[874,8]]},"50":{"position":[[354,9],[431,9]]},"241":{"position":[[3569,9],[3639,9]]},"264":{"position":[[2482,8]]}},"keywords":{}}],["colliders.renam",{"_index":1806,"title":{},"content":{"211":{"position":[[1867,16]]}},"keywords":{}}],["collis",{"_index":5421,"title":{},"content":{"1474":{"position":[[2197,9],[8795,9]]},"1607":{"position":[[34,9]]}},"keywords":{}}],["color",{"_index":705,"title":{},"content":{"50":{"position":[[379,7],[424,6]]},"209":{"position":[[639,5],[725,5],[1294,5],[1300,5],[1405,7],[1546,5],[2329,6]]},"210":{"position":[[789,5]]},"351":{"position":[[137,6],[436,5]]},"486":{"position":[[153,5]]},"1214":{"position":[[5,5]]},"1476":{"position":[[1286,5]]},"1563":{"position":[[92,5]]},"1778":{"position":[[185,6],[290,6]]},"1780":{"position":[[48,5],[153,7],[306,5],[797,5]]},"1781":{"position":[[48,5],[153,7],[370,5],[861,5]]},"1880":{"position":[[73,5]]},"1952":{"position":[[212,6],[428,6]]},"1953":{"position":[[272,5]]},"2058":{"position":[[1136,7],[1214,5],[1303,5],[3503,5]]}},"keywords":{}}],["color(random.range(0f",{"_index":1740,"title":{},"content":{"209":{"position":[[1312,22]]}},"keywords":{}}],["color.black",{"_index":7187,"title":{},"content":{"1780":{"position":[[326,12]]},"1781":{"position":[[390,12]]}},"keywords":{}}],["color.green",{"_index":631,"title":{},"content":{"42":{"position":[[984,11]]}},"keywords":{}}],["color.r",{"_index":632,"title":{},"content":{"42":{"position":[[998,10]]}},"keywords":{}}],["color.whit",{"_index":1728,"title":{},"content":{"209":{"position":[[659,12]]}},"keywords":{}}],["color32",{"_index":2847,"title":{},"content":{"351":{"position":[[129,7]]},"1778":{"position":[[177,7]]},"2058":{"position":[[1344,9],[1426,7],[1517,7],[3710,7]]}},"keywords":{}}],["color32(125",{"_index":2852,"title":{},"content":{"351":{"position":[[448,12]]}},"keywords":{}}],["coloredlabel",{"_index":7620,"title":{},"content":{"1951":{"position":[[131,13],[260,12]]},"1952":{"position":[[72,13],[120,12]]}},"keywords":{}}],["colorfromname(str",{"_index":7629,"title":{},"content":{"1953":{"position":[[229,22],[278,20]]}},"keywords":{}}],["colorsatur",{"_index":7626,"title":{},"content":{"1952":{"position":[[470,16],[513,15]]}},"keywords":{}}],["colorse",{"_index":7622,"title":{},"content":{"1952":{"position":[[182,10],[459,9]]}},"keywords":{}}],["colorvalu",{"_index":7627,"title":{},"content":{"1952":{"position":[[530,11],[568,10]]}},"keywords":{}}],["colour",{"_index":1710,"title":{"209":{"position":[[10,8]]}},"content":{},"keywords":{}}],["com",{"_index":3386,"title":{},"content":{"555":{"position":[[188,3]]},"579":{"position":[[7,3]]}},"keywords":{}}],["com.cysharp.unitask",{"_index":822,"title":{},"content":{"67":{"position":[[455,19]]},"201":{"position":[[455,19]]}},"keywords":{}}],["com.miragenet",{"_index":824,"title":{},"content":{"67":{"position":[[491,13]]},"201":{"position":[[491,13]]}},"keywords":{}}],["com.openupm",{"_index":823,"title":{},"content":{"67":{"position":[[477,11]]},"201":{"position":[[477,11]]}},"keywords":{}}],["com/som",{"_index":4668,"title":{},"content":{"1114":{"position":[[27,7]]}},"keywords":{}}],["combin",{"_index":447,"title":{},"content":{"24":{"position":[[128,12]]},"139":{"position":[[1016,9]]},"439":{"position":[[33,11]]},"998":{"position":[[39,9]]},"2044":{"position":[[967,8],[1024,7]]}},"keywords":{}}],["come",{"_index":1699,"title":{},"content":{"203":{"position":[[2331,6]]},"243":{"position":[[2065,4]]},"317":{"position":[[1551,4]]},"1474":{"position":[[14065,6]]},"1717":{"position":[[73,6]]},"2003":{"position":[[135,4]]},"2408":{"position":[[565,4]]},"2417":{"position":[[2245,6],[2695,6]]}},"keywords":{}}],["command",{"_index":866,"title":{"2123":{"position":[[5,8]]}},"content":{"71":{"position":[[948,8],[1928,7]]},"106":{"position":[[268,7]]},"187":{"position":[[370,8]]},"196":{"position":[[340,7]]},"197":{"position":[[22,8]]},"198":{"position":[[248,7]]},"245":{"position":[[2985,7]]},"257":{"position":[[135,8],[567,8]]},"316":{"position":[[65,9]]},"340":{"position":[[210,9]]},"348":{"position":[[544,9]]},"1227":{"position":[[21,8]]},"1229":{"position":[[13,7]]},"1467":{"position":[[232,9]]},"1473":{"position":[[277,9]]},"1474":{"position":[[6273,8],[6636,8],[15620,7],[21002,8]]},"1476":{"position":[[1224,7],[6615,7]]},"1479":{"position":[[908,9]]},"1536":{"position":[[7,9]]},"1537":{"position":[[8,9]]},"1550":{"position":[[0,8]]},"1566":{"position":[[375,8],[438,8]]},"1567":{"position":[[311,7]]},"1701":{"position":[[0,7]]},"2094":{"position":[[0,9],[57,8]]},"2162":{"position":[[0,8],[26,7]]}},"keywords":{}}],["comment",{"_index":3814,"title":{},"content":{"742":{"position":[[58,9]]},"893":{"position":[[55,8]]},"1090":{"position":[[4,8]]},"1353":{"position":[[324,7]]},"1358":{"position":[[324,7]]},"1363":{"position":[[324,7]]},"1368":{"position":[[324,7]]},"1373":{"position":[[130,7]]},"1377":{"position":[[130,7]]},"1381":{"position":[[130,7]]},"1385":{"position":[[130,7]]},"1389":{"position":[[130,7]]},"1393":{"position":[[130,7]]},"1397":{"position":[[130,7]]},"1401":{"position":[[130,7]]},"1405":{"position":[[130,7]]},"1409":{"position":[[130,7]]},"1413":{"position":[[130,7]]},"1417":{"position":[[130,7]]},"1421":{"position":[[130,7]]},"1425":{"position":[[130,7]]},"1429":{"position":[[130,7]]},"1433":{"position":[[130,7]]},"1437":{"position":[[84,7]]},"1440":{"position":[[84,7]]},"1474":{"position":[[16850,7]]},"1478":{"position":[[1314,7]]},"1479":{"position":[[676,7]]},"1535":{"position":[[89,7]]},"1565":{"position":[[154,7]]},"2370":{"position":[[4927,8]]}},"keywords":{}}],["commit",{"_index":3260,"title":{},"content":{"512":{"position":[[33,6]]}},"keywords":{}}],["common",{"_index":184,"title":{},"content":{"6":{"position":[[917,6]]},"14":{"position":[[752,6]]},"94":{"position":[[131,6]]},"172":{"position":[[307,6]]},"257":{"position":[[168,6]]},"326":{"position":[[262,6]]},"1350":{"position":[[287,6]]},"1355":{"position":[[287,6]]},"1360":{"position":[[287,6]]},"1365":{"position":[[287,6]]},"1370":{"position":[[287,6]]},"1375":{"position":[[241,6]]},"1379":{"position":[[241,6]]},"1383":{"position":[[190,6]]},"1387":{"position":[[190,6]]},"1391":{"position":[[190,6]]},"1395":{"position":[[190,6]]},"1399":{"position":[[150,6]]},"1952":{"position":[[363,6]]}},"keywords":{}}],["commun",{"_index":805,"title":{"168":{"position":[[0,9]]}},"content":{"64":{"position":[[144,13]]},"96":{"position":[[537,9]]},"168":{"position":[[0,9],[61,9]]},"2240":{"position":[[2597,14]]}},"keywords":{}}],["comp",{"_index":4909,"title":{},"content":{"1221":{"position":[[32,5]]},"1350":{"position":[[322,4]]},"1355":{"position":[[322,4]]},"1360":{"position":[[322,4]]},"1474":{"position":[[6141,4]]},"1545":{"position":[[29,4]]}},"keywords":{}}],["companies/school",{"_index":1566,"title":{},"content":{"187":{"position":[[1303,17]]}},"keywords":{}}],["compar",{"_index":2891,"title":{},"content":{"358":{"position":[[206,8]]},"359":{"position":[[243,8]]},"1476":{"position":[[7973,8]]},"1837":{"position":[[150,9],[248,8]]},"1850":{"position":[[142,9],[232,8]]},"1853":{"position":[[138,9],[236,8],[380,8],[535,8]]},"2093":{"position":[[494,8]]},"2201":{"position":[[301,9],[437,8]]}},"keywords":{}}],["comparison",{"_index":2298,"title":{},"content":{"270":{"position":[[192,10]]}},"keywords":{}}],["compat",{"_index":5744,"title":{},"content":{"1474":{"position":[[12127,10]]},"1479":{"position":[[1863,14]]},"1646":{"position":[[461,14]]}},"keywords":{}}],["compet",{"_index":2670,"title":{},"content":{"326":{"position":[[140,7]]}},"keywords":{}}],["compil",{"_index":1541,"title":{},"content":{"186":{"position":[[141,9]]},"530":{"position":[[7,7]]},"607":{"position":[[7,7]]},"632":{"position":[[21,7]]},"706":{"position":[[24,7]]},"963":{"position":[[7,7]]},"1032":{"position":[[0,11]]},"1474":{"position":[[16159,8]]},"1476":{"position":[[7179,7]]},"1477":{"position":[[4185,8]]},"1479":{"position":[[3030,11],[4185,7]]},"1687":{"position":[[0,11]]},"1711":{"position":[[0,11]]},"1734":{"position":[[366,8]]},"1736":{"position":[[8,11]]},"1751":{"position":[[0,11]]},"2507":{"position":[[57,7]]}},"keywords":{}}],["compilatio",{"_index":5208,"title":{},"content":{"1353":{"position":[[336,10]]},"1358":{"position":[[336,10]]},"1363":{"position":[[336,10]]},"1368":{"position":[[336,10]]},"1373":{"position":[[142,10]]},"1377":{"position":[[142,10]]},"1381":{"position":[[142,10]]},"1385":{"position":[[142,10]]},"1389":{"position":[[142,10]]},"1393":{"position":[[142,10]]},"1397":{"position":[[142,10]]},"1401":{"position":[[142,10]]},"1405":{"position":[[142,10]]},"1409":{"position":[[142,10]]},"1413":{"position":[[142,10]]},"1417":{"position":[[142,10]]},"1421":{"position":[[142,10]]},"1425":{"position":[[142,10]]},"1429":{"position":[[142,10]]},"1433":{"position":[[142,10]]},"1437":{"position":[[96,10]]},"1440":{"position":[[96,10]]},"1479":{"position":[[3140,10]]},"1737":{"position":[[57,10]]}},"keywords":{}}],["complet",{"_index":223,"title":{},"content":{"10":{"position":[[8,10]]},"29":{"position":[[483,8]]},"67":{"position":[[346,8]]},"201":{"position":[[346,8]]},"253":{"position":[[546,9]]},"344":{"position":[[348,8]]},"352":{"position":[[330,8]]},"487":{"position":[[0,8]]},"900":{"position":[[42,10]]},"1234":{"position":[[102,9]]},"1327":{"position":[[242,10]]},"1330":{"position":[[242,10]]},"1333":{"position":[[242,10]]},"1474":{"position":[[18519,10],[18764,10],[18956,10]]},"1733":{"position":[[846,10],[1042,10],[1234,10]]},"2325":{"position":[[388,9]]},"2416":{"position":[[584,9],[903,9]]}},"keywords":{}}],["complex",{"_index":493,"title":{},"content":{"24":{"position":[[1778,10]]},"243":{"position":[[1912,10]]},"324":{"position":[[74,10]]},"325":{"position":[[47,10]]}},"keywords":{}}],["compli",{"_index":2714,"title":{},"content":{"329":{"position":[[50,8]]},"1755":{"position":[[0,6]]}},"keywords":{}}],["complianc",{"_index":6664,"title":{},"content":{"1479":{"position":[[3271,10]]},"1742":{"position":[[96,10]]}},"keywords":{}}],["compmenu",{"_index":3100,"title":{},"content":{"444":{"position":[[12,8]]}},"keywords":{}}],["compon",{"_index":2,"title":{"17":{"position":[[21,10]]},"114":{"position":[[14,10]]},"260":{"position":[[26,10]]},"261":{"position":[[22,10]]},"269":{"position":[[0,11]]},"270":{"position":[[17,10]]}},"content":{"0":{"position":[[20,10],[93,9],[499,9],[914,10],[966,9],[1455,9],[1670,9],[1834,9],[1951,9],[2103,9],[2434,9],[2551,9],[2663,9],[2779,10]]},"2":{"position":[[284,9]]},"3":{"position":[[317,11]]},"4":{"position":[[5,9]]},"9":{"position":[[216,9],[280,9]]},"10":{"position":[[185,9]]},"17":{"position":[[25,9],[291,9]]},"18":{"position":[[46,10]]},"20":{"position":[[48,9],[143,9]]},"22":{"position":[[56,9],[779,9],[883,9],[949,9],[993,10],[1048,9],[1115,9],[1225,9]]},"24":{"position":[[473,9],[1255,9]]},"31":{"position":[[100,10],[157,9],[573,9]]},"37":{"position":[[52,9],[168,10],[199,9],[355,10],[505,9],[574,10],[788,9]]},"41":{"position":[[22,9],[108,9]]},"42":{"position":[[108,9],[411,9]]},"43":{"position":[[40,9],[182,9],[226,10],[270,9],[334,9],[644,10],[1004,9]]},"46":{"position":[[345,9]]},"49":{"position":[[862,9]]},"53":{"position":[[111,9]]},"54":{"position":[[299,9]]},"55":{"position":[[72,9]]},"56":{"position":[[18,9],[241,10]]},"57":{"position":[[102,9]]},"69":{"position":[[127,10],[179,9]]},"70":{"position":[[58,9],[139,9],[189,9]]},"71":{"position":[[110,9],[275,9],[353,10],[475,10],[565,9],[624,9],[909,9]]},"74":{"position":[[89,9]]},"82":{"position":[[167,9],[261,9]]},"83":{"position":[[263,9]]},"99":{"position":[[658,10],[695,9],[819,9],[1309,10]]},"100":{"position":[[715,10]]},"103":{"position":[[352,9]]},"202":{"position":[[1093,9]]},"203":{"position":[[279,9],[378,10]]},"213":{"position":[[1100,9],[1148,9],[1274,9]]},"215":{"position":[[5,9]]},"218":{"position":[[217,10]]},"224":{"position":[[114,9]]},"240":{"position":[[779,10]]},"241":{"position":[[173,10]]},"243":{"position":[[2173,9],[2482,9]]},"245":{"position":[[129,10],[1404,9],[1493,9],[3089,10]]},"247":{"position":[[115,9]]},"251":{"position":[[2819,9]]},"258":{"position":[[92,10],[182,9],[418,10]]},"260":{"position":[[35,9]]},"261":{"position":[[31,9]]},"263":{"position":[[543,10]]},"264":{"position":[[723,9],[2133,10]]},"269":{"position":[[84,10],[546,10]]},"270":{"position":[[89,10],[178,10]]},"276":{"position":[[87,10]]},"328":{"position":[[1395,10]]},"335":{"position":[[39,9]]},"355":{"position":[[206,10],[279,9],[336,9]]},"356":{"position":[[597,9]]},"397":{"position":[[65,9]]},"476":{"position":[[25,10]]},"501":{"position":[[0,10]]},"514":{"position":[[26,10]]},"537":{"position":[[448,10]]},"539":{"position":[[216,10]]},"545":{"position":[[75,9]]},"786":{"position":[[162,9]]},"959":{"position":[[37,10]]},"1159":{"position":[[6,9]]},"1169":{"position":[[50,9]]},"1190":{"position":[[39,11]]},"1275":{"position":[[13,9]]},"1278":{"position":[[7,9]]},"1459":{"position":[[0,9]]},"1474":{"position":[[10727,10],[14077,10],[21433,9]]},"1476":{"position":[[4785,10],[5110,9],[5795,9],[6497,9]]},"1478":{"position":[[392,9],[418,10],[996,9],[1100,10]]},"1479":{"position":[[1366,9]]},"1557":{"position":[[22,10]]},"1558":{"position":[[0,9]]},"1582":{"position":[[62,9]]},"1642":{"position":[[14,9]]},"1643":{"position":[[74,9]]},"1717":{"position":[[85,10]]},"1747":{"position":[[118,10]]},"1749":{"position":[[22,9]]},"1778":{"position":[[218,9]]},"1867":{"position":[[31,9],[99,9]]},"2240":{"position":[[1460,9],[2813,9],[2909,9],[3338,9],[3669,9],[3759,9],[3869,9],[3962,9],[4213,9],[4718,9],[4912,10],[5435,9]]},"2331":{"position":[[82,9]]},"2352":{"position":[[94,9]]},"2358":{"position":[[3396,9]]},"2370":{"position":[[4166,10]]},"2492":{"position":[[634,9]]}},"keywords":{}}],["component).room",{"_index":544,"title":{},"content":{"33":{"position":[[227,15]]}},"keywords":{}}],["component.add",{"_index":201,"title":{},"content":{"9":{"position":[[180,13]]}},"keywords":{}}],["component_index_not_found",{"_index":8931,"title":{},"content":{"2357":{"position":[[383,26],[440,25]]}},"keywords":{}}],["componentadd",{"_index":884,"title":{},"content":{"74":{"position":[[64,12]]}},"keywords":{}}],["componentindex",{"_index":8906,"title":{},"content":{"2341":{"position":[[58,15],[141,14]]},"2342":{"position":[[48,15],[97,14]]},"2358":{"position":[[3019,14],[3355,15],[3445,14]]}},"keywords":{}}],["components.a",{"_index":2112,"title":{},"content":{"247":{"position":[[505,12]]}},"keywords":{}}],["components.assign",{"_index":928,"title":{},"content":{"82":{"position":[[223,17]]}},"keywords":{}}],["components.check",{"_index":929,"title":{},"content":{"82":{"position":[[334,16]]}},"keywords":{}}],["components.onstartcli",{"_index":2118,"title":{},"content":{"247":{"position":[[900,24]]}},"keywords":{}}],["components/discoveri",{"_index":274,"title":{},"content":{"10":{"position":[[1539,20]]}},"keywords":{}}],["comprehens",{"_index":1008,"title":{},"content":{"96":{"position":[[182,13]]}},"keywords":{}}],["compress",{"_index":588,"title":{},"content":{"37":{"position":[[627,8]]},"119":{"position":[[518,10],[553,10],[593,10]]},"799":{"position":[[29,11]]},"1043":{"position":[[20,11]]},"1216":{"position":[[11,11]]},"1983":{"position":[[621,10]]}},"keywords":{}}],["compressedextens",{"_index":7688,"title":{"1993":{"position":[[6,20]]}},"content":{"1983":{"position":[[471,21]]}},"keywords":{}}],["comput",{"_index":316,"title":{"177":{"position":[[7,7]]}},"content":{"14":{"position":[[194,8],[585,9],[732,9],[900,9],[1011,8],[1072,8],[1414,8],[1476,10]]},"15":{"position":[[923,8]]},"175":{"position":[[331,8]]},"179":{"position":[[143,9]]},"183":{"position":[[934,8]]},"190":{"position":[[40,7]]},"2287":{"position":[[178,13]]}},"keywords":{}}],["computer"",{"_index":1533,"title":{},"content":{"184":{"position":[[242,14]]}},"keywords":{}}],["computer.serv",{"_index":1388,"title":{},"content":{"175":{"position":[[250,15]]}},"keywords":{}}],["concat",{"_index":6429,"title":{},"content":{"1477":{"position":[[847,6]]}},"keywords":{}}],["concept",{"_index":2236,"title":{"256":{"position":[[11,8]]}},"content":{},"keywords":{}}],["concern",{"_index":777,"title":{},"content":{"61":{"position":[[20,9]]},"62":{"position":[[21,9]]},"63":{"position":[[69,9]]}},"keywords":{}}],["concurr",{"_index":6131,"title":{},"content":{"1476":{"position":[[2027,10],[4935,10]]},"1567":{"position":[[729,10],[1093,10]]},"2130":{"position":[[20,10]]},"2419":{"position":[[151,10]]}},"keywords":{}}],["condit",{"_index":1422,"title":{},"content":{"179":{"position":[[332,10]]},"355":{"position":[[948,10]]},"497":{"position":[[109,9]]},"998":{"position":[[119,9],[195,9],[281,9]]},"1472":{"position":[[18,10]]},"1474":{"position":[[10523,9],[11347,9],[16448,9]]},"1713":{"position":[[51,9]]},"1733":{"position":[[222,9]]},"1766":{"position":[[610,9]]},"1939":{"position":[[320,10],[411,9],[579,10],[654,9]]}},"keywords":{}}],["conditional("unity_assertions"",{"_index":7593,"title":{},"content":{"1939":{"position":[[224,43],[483,43]]}},"keywords":{}}],["config",{"_index":1602,"title":{"2129":{"position":[[6,6]]}},"content":{"190":{"position":[[1633,6]]},"912":{"position":[[27,6]]},"947":{"position":[[74,6]]},"2091":{"position":[[171,7]]},"2112":{"position":[[26,7],[148,6],[155,7],[381,6]]},"2134":{"position":[[360,6]]},"2171":{"position":[[35,7],[148,6],[155,6],[382,6]]},"2261":{"position":[[413,6],[828,6]]},"2350":{"position":[[67,6],[141,6]]},"2420":{"position":[[67,6],[141,6]]}},"keywords":{}}],["configur",{"_index":44,"title":{"183":{"position":[[3,11]]},"191":{"position":[[0,9]]}},"content":{"0":{"position":[[744,13]]},"17":{"position":[[49,9]]},"96":{"position":[[117,11]]},"119":{"position":[[362,12]]},"173":{"position":[[1153,9],[1255,9]]},"182":{"position":[[1026,9],[1104,9],[1694,9],[1734,9]]},"183":{"position":[[609,9]]},"190":{"position":[[22,11],[314,9],[621,13],[1249,9]]},"202":{"position":[[370,10]]},"203":{"position":[[12,9]]},"1015":{"position":[[0,12]]},"1217":{"position":[[13,9]]},"1474":{"position":[[14651,12],[21396,10]]},"1476":{"position":[[646,13]]},"2018":{"position":[[52,9]]},"2019":{"position":[[32,10]]},"2240":{"position":[[1876,14],[3818,14]]},"2265":{"position":[[5097,13]]}},"keywords":{}}],["configure(int",{"_index":7959,"title":{},"content":{"2016":{"position":[[57,13]]},"2019":{"position":[[172,13]]},"2185":{"position":[[115,13]]}},"keywords":{}}],["configure(int32",{"_index":7958,"title":{},"content":{"2016":{"position":[[0,16]]},"2019":{"position":[[0,16]]},"2185":{"position":[[0,16]]}},"keywords":{}}],["confirm",{"_index":1577,"title":{},"content":{"189":{"position":[[516,7]]},"191":{"position":[[620,7]]}},"keywords":{}}],["conflict",{"_index":4420,"title":{},"content":{"1005":{"position":[[30,8]]}},"keywords":{}}],["congrat",{"_index":836,"title":{},"content":{"67":{"position":[[1189,9]]},"201":{"position":[[1189,9]]}},"keywords":{}}],["conjunct",{"_index":2257,"title":{},"content":{"260":{"position":[[122,11]]}},"keywords":{}}],["conn",{"_index":564,"title":{},"content":{"35":{"position":[[182,5],[252,5],[400,5],[496,5]]},"36":{"position":[[143,5],[213,5],[370,5]]},"245":{"position":[[1114,5],[1188,6],[2201,5],[2278,6],[2533,5],[2608,6]]},"272":{"position":[[615,5],[845,5],[951,5],[1455,5],[1638,5]]},"1474":{"position":[[11665,4]]},"1597":{"position":[[62,4]]},"2132":{"position":[[101,5],[187,4],[333,5],[437,4],[590,5],[676,4],[880,5],[984,4],[1204,5],[1317,4],[1517,5],[1648,4],[1842,5],[1928,4],[2070,5],[2174,4]]}},"keywords":{}}],["connecit",{"_index":6651,"title":{},"content":{"1479":{"position":[[1161,11]]},"1616":{"position":[[0,11]]}},"keywords":{}}],["connect",{"_index":28,"title":{"184":{"position":[[15,11]]},"187":{"position":[[7,8]]},"192":{"position":[[0,7]]}},"content":{"0":{"position":[[446,7]]},"2":{"position":[[203,9]]},"3":{"position":[[343,8],[688,10],[768,11]]},"9":{"position":[[599,7]]},"10":{"position":[[1118,7],[1371,11]]},"13":{"position":[[317,7]]},"14":{"position":[[3,7],[437,7],[1157,7],[1453,11],[1654,7],[1708,8],[1743,10],[1811,7],[1840,10]]},"15":{"position":[[79,7],[289,7],[430,9]]},"24":{"position":[[26,9]]},"29":{"position":[[305,8]]},"33":{"position":[[491,9],[719,9]]},"53":{"position":[[311,11]]},"56":{"position":[[53,11]]},"62":{"position":[[281,12],[296,10]]},"65":{"position":[[28,9]]},"105":{"position":[[93,10]]},"114":{"position":[[107,8]]},"165":{"position":[[55,11]]},"167":{"position":[[63,9]]},"171":{"position":[[391,7]]},"175":{"position":[[191,7],[351,7],[459,7],[702,12]]},"179":{"position":[[105,11],[394,7]]},"182":{"position":[[1802,7],[1886,10],[2418,7],[2640,10]]},"183":{"position":[[42,11],[948,10],[1478,11]]},"184":{"position":[[783,7]]},"187":{"position":[[7,7],[127,7],[508,7],[1337,12]]},"191":{"position":[[32,7]]},"192":{"position":[[78,7]]},"193":{"position":[[15,7]]},"195":{"position":[[98,10]]},"202":{"position":[[739,11]]},"205":{"position":[[118,7]]},"206":{"position":[[16,7]]},"235":{"position":[[1753,9]]},"243":{"position":[[176,8],[338,10],[2217,8]]},"245":{"position":[[840,7],[1913,11],[2588,10]]},"247":{"position":[[569,9]]},"248":{"position":[[232,8]]},"249":{"position":[[676,12]]},"253":{"position":[[333,8]]},"272":{"position":[[633,9],[863,9],[1473,9],[1656,9]]},"416":{"position":[[30,7]]},"425":{"position":[[23,7]]},"462":{"position":[[33,9]]},"508":{"position":[[18,11]]},"545":{"position":[[270,8]]},"577":{"position":[[41,8]]},"628":{"position":[[31,11]]},"636":{"position":[[34,10]]},"679":{"position":[[59,10]]},"692":{"position":[[92,10]]},"693":{"position":[[60,7]]},"870":{"position":[[46,9]]},"875":{"position":[[28,7],[97,10]]},"930":{"position":[[22,10]]},"1023":{"position":[[53,10]]},"1033":{"position":[[7,10]]},"1034":{"position":[[0,10]]},"1046":{"position":[[7,10]]},"1160":{"position":[[20,10]]},"1233":{"position":[[104,9]]},"1234":{"position":[[4,9]]},"1258":{"position":[[42,7]]},"1352":{"position":[[77,8]]},"1357":{"position":[[77,8]]},"1362":{"position":[[77,8]]},"1367":{"position":[[77,8]]},"1468":{"position":[[98,11]]},"1474":{"position":[[415,10],[869,11],[3461,7],[3578,10],[7235,7],[7320,9],[8066,10],[9692,11],[10672,10],[12778,9],[14865,11],[15531,10],[16470,11],[18390,10],[18428,11],[18635,10],[18673,11],[18827,10],[18865,11]]},"1475":{"position":[[87,11]]},"1476":{"position":[[2333,7],[6096,7],[6456,10],[8372,11]]},"1477":{"position":[[24,10]]},"1479":{"position":[[2673,12],[3292,7]]},"1486":{"position":[[16,11]]},"1489":{"position":[[58,9]]},"1491":{"position":[[47,10]]},"1606":{"position":[[24,10]]},"1611":{"position":[[17,10]]},"1623":{"position":[[6,10]]},"1655":{"position":[[99,11]]},"1656":{"position":[[0,11]]},"1670":{"position":[[8,7]]},"1696":{"position":[[30,9]]},"1704":{"position":[[26,11]]},"1705":{"position":[[26,12]]},"1713":{"position":[[73,11]]},"1733":{"position":[[717,10],[755,11],[913,10],[951,11],[1105,10],[1143,11]]},"1741":{"position":[[10,7]]},"1742":{"position":[[117,7]]},"1744":{"position":[[6,10]]},"1890":{"position":[[891,7],[992,11]]},"1911":{"position":[[65,7]]},"1926":{"position":[[67,11]]},"2093":{"position":[[13,10],[344,10],[433,11],[513,11],[940,10]]},"2094":{"position":[[42,10],[190,10]]},"2112":{"position":[[136,11],[344,10]]},"2124":{"position":[[47,7],[324,10]]},"2128":{"position":[[49,11],[71,10],[105,10],[121,10],[151,10],[175,9],[242,10],[356,10]]},"2130":{"position":[[31,11],[136,7],[297,7],[470,10],[743,10],[816,10],[1061,10]]},"2136":{"position":[[137,11],[248,10],[259,10]]},"2141":{"position":[[1069,10]]},"2145":{"position":[[50,10],[92,10]]},"2158":{"position":[[91,7]]},"2162":{"position":[[774,10]]},"2168":{"position":[[143,11],[231,11],[313,11],[590,11],[684,11],[1282,11],[1411,11],[1623,11],[1764,11],[1966,11],[2089,11],[2295,11],[2430,11],[2626,11],[2743,11],[2943,11],[3072,11]]},"2169":{"position":[[50,11],[167,11],[367,11],[496,11]]},"2181":{"position":[[74,11],[112,10],[207,10],[295,7]]},"2199":{"position":[[616,7]]},"2240":{"position":[[225,10],[536,11],[576,10],[1784,7],[1824,10],[1865,10],[1964,9],[2130,7],[3435,11],[3464,11],[3506,10],[4404,7]]},"2253":{"position":[[375,9],[1049,10]]},"2259":{"position":[[45,11],[70,10],[86,10],[110,9]]},"2261":{"position":[[54,10],[151,10],[252,10],[480,10],[687,9]]},"2265":{"position":[[92,10],[7025,10]]},"2298":{"position":[[50,11],[87,10]]},"2347":{"position":[[201,11]]},"2350":{"position":[[309,9],[391,10],[434,9],[517,9],[581,10],[1207,10],[1529,9],[1692,9]]},"2351":{"position":[[41,7]]},"2369":{"position":[[101,11]]},"2371":{"position":[[650,11],[994,10]]},"2383":{"position":[[275,10],[460,10],[779,11]]},"2397":{"position":[[216,10],[401,10],[720,11]]},"2399":{"position":[[159,11],[249,10]]},"2400":{"position":[[752,8],[1077,11],[1188,11],[1232,10],[1556,11]]},"2401":{"position":[[640,11],[1334,11]]},"2404":{"position":[[232,10],[417,10],[736,11]]},"2417":{"position":[[2748,10],[9737,9]]},"2419":{"position":[[170,11]]},"2420":{"position":[[393,10],[443,9],[846,10],[1100,9],[1273,9]]},"2434":{"position":[[173,10],[358,10],[677,11]]},"2478":{"position":[[1876,10],[1964,10],[2120,11],[2426,10],[2602,11],[2735,10],[2823,10],[2979,11],[3301,10],[3501,11],[4551,10]]},"2482":{"position":[[105,10],[193,10],[349,11],[608,10],[820,11],[930,10],[1018,10],[1174,11],[1416,10],[1603,11],[4345,10]]}},"keywords":{}}],["connect(iendpoint",{"_index":8462,"title":{},"content":{"2156":{"position":[[133,19],[178,17]]},"2158":{"position":[[240,19],[336,17]]},"2173":{"position":[[140,19],[192,17]]},"2223":{"position":[[140,19],[185,17]]},"2227":{"position":[[140,19],[185,17]]}},"keywords":{}}],["connect(str",{"_index":8921,"title":{},"content":{"2351":{"position":[[0,15],[110,14]]}},"keywords":{}}],["connectasync",{"_index":4819,"title":{},"content":{"1180":{"position":[[4,12]]}},"keywords":{}}],["connectattemptinterv",{"_index":8420,"title":{},"content":{"2130":{"position":[[102,23],[227,22]]}},"keywords":{}}],["connecting/connect",{"_index":8917,"title":{},"content":{"2350":{"position":[[1076,20]]}},"keywords":{}}],["connectingcancel",{"_index":8747,"title":{},"content":{"2261":{"position":[[616,17],[710,16]]}},"keywords":{}}],["connectingtimeout",{"_index":8746,"title":{},"content":{"2261":{"position":[[540,18],[593,17]]}},"keywords":{}}],["connection'",{"_index":8979,"title":{},"content":{"2370":{"position":[[2460,12]]}},"keywords":{}}],["connection.disconnect",{"_index":4523,"title":{},"content":{"1047":{"position":[[156,21]]}},"keywords":{}}],["connection.getendpointaddress",{"_index":4522,"title":{},"content":{"1047":{"position":[[76,29]]}},"keywords":{}}],["connectionaccept",{"_index":8411,"title":{},"content":{"2124":{"position":[[98,19],[163,18]]}},"keywords":{}}],["connectioncount",{"_index":8482,"title":{},"content":{"2166":{"position":[[51,16],[115,15]]},"2168":{"position":[[116,16],[179,15]]}},"keywords":{}}],["connectionextens",{"_index":8311,"title":{"2131":{"position":[[6,20]]}},"content":{"2091":{"position":[[179,21]]}},"keywords":{}}],["connectionid",{"_index":5950,"title":{},"content":{"1474":{"position":[[19791,12]]},"2399":{"position":[[100,12]]}},"keywords":{}}],["connectionreject",{"_index":8412,"title":{},"content":{"2124":{"position":[[187,19],[252,18]]}},"keywords":{}}],["connections=100",{"_index":8437,"title":{},"content":{"2130":{"position":[[2211,17]]}},"keywords":{}}],["connectionst",{"_index":5181,"title":{"2127":{"position":[[5,15]]}},"content":{"1350":{"position":[[97,15]]},"1355":{"position":[[97,15]]},"1360":{"position":[[97,15]]},"1365":{"position":[[97,15]]},"1370":{"position":[[97,15]]},"1375":{"position":[[51,15]]},"1379":{"position":[[51,15]]},"1383":{"position":[[51,15]]},"1387":{"position":[[51,15]]},"1391":{"position":[[51,15]]},"1395":{"position":[[51,15]]},"1399":{"position":[[11,15]]},"1403":{"position":[[11,15]]},"1407":{"position":[[11,15]]},"1411":{"position":[[11,15]]},"1415":{"position":[[11,15]]},"1419":{"position":[[11,15]]},"1423":{"position":[[11,15]]},"1427":{"position":[[11,15]]},"1431":{"position":[[11,15]]},"2094":{"position":[[142,16]]},"2140":{"position":[[72,15]]},"2457":{"position":[[103,15]]}},"keywords":{}}],["connectiontocli",{"_index":4068,"title":{},"content":{"851":{"position":[[85,18]]},"1474":{"position":[[4703,18]]}},"keywords":{}}],["connectiontoserv",{"_index":4461,"title":{},"content":{"1024":{"position":[[144,18],[189,18]]}},"keywords":{}}],["connectmessag",{"_index":2070,"title":{},"content":{"245":{"position":[[1120,14],[2539,14]]}},"keywords":{}}],["connectrequest",{"_index":8410,"title":{},"content":{"2124":{"position":[[0,15],[78,14]]}},"keywords":{}}],["connectst",{"_index":8710,"title":{"2258":{"position":[[5,12]]}},"content":{"2243":{"position":[[190,13]]}},"keywords":{}}],["consid",{"_index":1016,"title":{},"content":{"96":{"position":[[501,8]]},"1474":{"position":[[10113,10]]},"1648":{"position":[[23,10]]},"1778":{"position":[[38,8]]},"1835":{"position":[[322,8]]}},"keywords":{}}],["consider",{"_index":1968,"title":{},"content":{"240":{"position":[[994,14]]}},"keywords":{}}],["consist",{"_index":2331,"title":{},"content":{"273":{"position":[[1164,13]]},"359":{"position":[[222,10]]},"1476":{"position":[[6708,10]]},"2114":{"position":[[142,8]]}},"keywords":{}}],["consol",{"_index":1429,"title":{"182":{"position":[[50,8]]}},"content":{"184":{"position":[[727,7]]},"189":{"position":[[16,8]]},"190":{"position":[[81,8]]},"191":{"position":[[93,8]]},"1476":{"position":[[1278,7]]},"1563":{"position":[[84,7]]}},"keywords":{}}],["consolid",{"_index":5438,"title":{},"content":{"1474":{"position":[[3030,11]]}},"keywords":{}}],["const",{"_index":2601,"title":{},"content":{"316":{"position":[[1167,5],[1190,5]]},"436":{"position":[[78,5]]},"649":{"position":[[10,5]]},"655":{"position":[[15,5]]},"673":{"position":[[7,5]]},"1819":{"position":[[34,5],[134,5]]},"2014":{"position":[[24,5],[70,5],[116,5],[162,5],[209,5],[256,5],[303,5],[351,5],[399,5],[448,5],[499,5],[550,5],[601,5],[652,5],[704,5],[756,5],[808,5],[861,5],[914,5],[967,5],[1021,5],[1075,5],[1129,5],[1183,5],[1238,5],[1293,5],[1348,5],[1404,5],[1460,5],[1516,5],[1573,5],[1630,5],[1687,5],[1744,5],[1802,5],[1860,5],[1918,5],[1977,5],[2036,5],[2095,5],[2155,5],[2215,5],[2275,5],[2335,5],[2396,5],[2457,5],[2518,5],[2580,5],[2642,5],[2704,5],[2767,5],[2830,5],[2893,5],[2956,5],[3020,5],[3084,5],[3148,5],[3213,5],[3278,5],[3343,5],[3409,5],[3475,5],[3541,5],[3607,5]]},"2113":{"position":[[37,5],[150,5],[275,5],[380,5],[453,5],[600,5],[768,5]]},"2117":{"position":[[41,5]]},"2357":{"position":[[430,5]]},"2500":{"position":[[33,5]]},"2515":{"position":[[38,5]]}},"keywords":{}}],["constant",{"_index":2892,"title":{},"content":{"359":{"position":[[386,8]]},"831":{"position":[[15,8]]}},"keywords":{}}],["constraint",{"_index":2103,"title":{"246":{"position":[[0,12]]}},"content":{},"keywords":{}}],["construct",{"_index":8773,"title":{},"content":{"2265":{"position":[[5057,11]]}},"keywords":{}}],["constructor",{"_index":2444,"title":{"1801":{"position":[[0,13]]},"1837":{"position":[[0,13]]},"1840":{"position":[[0,13]]},"1846":{"position":[[0,13]]},"1850":{"position":[[0,13]]},"1853":{"position":[[0,13]]},"1857":{"position":[[0,13]]},"1862":{"position":[[0,13]]},"1872":{"position":[[0,13]]},"1941":{"position":[[0,13]]},"1946":{"position":[[0,13]]},"1951":{"position":[[0,13]]},"1960":{"position":[[0,13]]},"1981":{"position":[[0,13]]},"1985":{"position":[[0,13]]},"1987":{"position":[[0,13]]},"1996":{"position":[[0,13]]},"2000":{"position":[[0,13]]},"2021":{"position":[[0,13]]},"2029":{"position":[[0,13]]},"2035":{"position":[[0,13]]},"2042":{"position":[[0,13]]},"2046":{"position":[[0,13]]},"2049":{"position":[[0,13]]},"2052":{"position":[[0,13]]},"2054":{"position":[[0,13]]},"2062":{"position":[[0,13]]},"2065":{"position":[[0,13]]},"2068":{"position":[[0,13]]},"2070":{"position":[[0,13]]},"2073":{"position":[[0,13]]},"2076":{"position":[[0,13]]},"2078":{"position":[[0,13]]},"2082":{"position":[[0,13]]},"2087":{"position":[[0,13]]},"2097":{"position":[[0,13]]},"2105":{"position":[[0,13]]},"2108":{"position":[[0,13]]},"2112":{"position":[[0,13]]},"2116":{"position":[[0,13]]},"2164":{"position":[[0,13]]},"2171":{"position":[[0,13]]},"2177":{"position":[[0,13]]},"2183":{"position":[[0,13]]},"2187":{"position":[[0,13]]},"2191":{"position":[[0,13]]},"2201":{"position":[[0,13]]},"2208":{"position":[[0,13]]},"2212":{"position":[[0,13]]},"2215":{"position":[[0,13]]},"2221":{"position":[[0,13]]},"2246":{"position":[[0,13]]},"2269":{"position":[[0,13]]},"2272":{"position":[[0,13]]},"2319":{"position":[[0,13]]},"2324":{"position":[[0,13]]},"2327":{"position":[[0,13]]},"2334":{"position":[[0,13]]},"2338":{"position":[[0,13]]},"2341":{"position":[[0,13]]},"2346":{"position":[[0,13]]},"2385":{"position":[[0,13]]},"2399":{"position":[[0,13]]},"2406":{"position":[[0,13]]},"2411":{"position":[[0,13]]},"2439":{"position":[[0,13]]},"2486":{"position":[[0,13]]},"2495":{"position":[[0,13]]},"2509":{"position":[[0,13]]},"2527":{"position":[[0,13]]}},"content":{"291":{"position":[[158,11]]},"345":{"position":[[864,11],[929,12]]},"353":{"position":[[792,11],[851,12]]},"390":{"position":[[30,11]]},"441":{"position":[[14,11]]}},"keywords":{}}],["consum",{"_index":259,"title":{},"content":{"10":{"position":[[1000,8],[1344,7]]},"1233":{"position":[[6,7]]}},"keywords":{}}],["contain",{"_index":145,"title":{},"content":{"3":{"position":[[546,7]]},"4":{"position":[[15,8]]},"10":{"position":[[1420,8]]},"46":{"position":[[383,8]]},"54":{"position":[[261,10],[642,8]]},"55":{"position":[[15,8]]},"72":{"position":[[18,7]]},"168":{"position":[[30,8]]},"213":{"position":[[461,7]]},"241":{"position":[[1913,9],[3723,10]]},"251":{"position":[[3396,7]]},"333":{"position":[[695,7],[820,10]]},"391":{"position":[[91,8]]},"806":{"position":[[35,8]]},"1190":{"position":[[26,8]]},"2158":{"position":[[1336,7],[1576,8]]},"2162":{"position":[[364,8]]},"2240":{"position":[[1625,7],[1739,8],[3581,8]]}},"keywords":{}}],["contains(keyvaluepair<tkey",{"_index":7385,"title":{},"content":{"1865":{"position":[[2025,30],[2094,30]]}},"keywords":{}}],["contains(t",{"_index":7316,"title":{},"content":{"1855":{"position":[[1473,12],[1511,10]]},"1860":{"position":[[1453,12],[1491,10]]}},"keywords":{}}],["containsinvislist(networkident",{"_index":8844,"title":{},"content":{"2311":{"position":[[559,35],[638,33]]},"2401":{"position":[[1947,35],[2049,33]]}},"keywords":{}}],["containskey(tkey",{"_index":7378,"title":{},"content":{"1865":{"position":[[1203,18],[1247,16]]}},"keywords":{}}],["content",{"_index":455,"title":{},"content":{"24":{"position":[[430,8]]},"46":{"position":[[1448,7]]},"1477":{"position":[[2341,8]]}},"keywords":{}}],["context",{"_index":988,"title":{},"content":{"92":{"position":[[812,9]]},"1947":{"position":[[99,8],[188,7],[302,8],[417,7]]},"2269":{"position":[[312,8],[453,7]]},"2327":{"position":[[497,8],[638,7]]}},"keywords":{}}],["continu",{"_index":1466,"title":{"206":{"position":[[0,10]]}},"content":{"182":{"position":[[1601,9],[3477,9]]},"183":{"position":[[365,8],[1725,8]]},"247":{"position":[[1093,9]]},"1474":{"position":[[8814,9],[17955,8]]},"1607":{"position":[[53,9]]},"1733":{"position":[[602,8]]}},"keywords":{}}],["continuewith",{"_index":6509,"title":{},"content":{"1477":{"position":[[3135,12]]},"1601":{"position":[[4,12]]}},"keywords":{}}],["contrast",{"_index":2900,"title":{},"content":{"361":{"position":[[455,9]]}},"keywords":{}}],["contribut",{"_index":900,"title":{},"content":{"79":{"position":[[46,10],[82,12]]},"96":{"position":[[550,12]]}},"keywords":{}}],["control",{"_index":12,"title":{},"content":{"0":{"position":[[223,11],[569,8],[1362,8],[1465,8],[1680,8],[2113,8]]},"15":{"position":[[713,7]]},"20":{"position":[[58,8]]},"22":{"position":[[66,8]]},"31":{"position":[[26,7]]},"33":{"position":[[37,8]]},"54":{"position":[[104,12],[393,7]]},"71":{"position":[[517,7],[677,7],[713,11],[1016,7],[1056,7],[1216,7],[1468,8],[1739,8]]},"99":{"position":[[1354,7]]},"102":{"position":[[43,7],[156,7]]},"103":{"position":[[43,7],[290,8],[311,8]]},"104":{"position":[[119,8]]},"213":{"position":[[73,10]]},"223":{"position":[[195,8]]},"243":{"position":[[2384,11]]},"257":{"position":[[316,7]]},"292":{"position":[[259,7]]},"472":{"position":[[38,8]]},"1075":{"position":[[9,7]]},"1474":{"position":[[4231,11],[4292,10]]},"1782":{"position":[[257,7]]},"2091":{"position":[[326,8]]},"2094":{"position":[[32,7]]},"2240":{"position":[[2828,8],[3684,8],[3884,8],[4324,8]]},"2371":{"position":[[378,7]]}},"keywords":{}}],["conveni",{"_index":742,"title":{},"content":{"56":{"position":[[7,10]]},"94":{"position":[[106,10]]},"213":{"position":[[2005,12]]},"1476":{"position":[[3784,10]]},"1634":{"position":[[6,10]]}},"keywords":{}}],["convers",{"_index":840,"title":{},"content":{"68":{"position":[[116,10]]}},"keywords":{}}],["convert",{"_index":2983,"title":{},"content":{"391":{"position":[[223,7]]},"537":{"position":[[266,10]]},"1474":{"position":[[1615,7]]},"1479":{"position":[[1588,9]]},"1646":{"position":[[186,9]]},"2240":{"position":[[5839,8]]},"2461":{"position":[[21,8]]}},"keywords":{}}],["convex",{"_index":2044,"title":{},"content":{"241":{"position":[[3670,6]]}},"keywords":{}}],["cooki",{"_index":7242,"title":{},"content":{"1819":{"position":[[378,6]]}},"keywords":{}}],["coordin",{"_index":1980,"title":{},"content":{"240":{"position":[[1753,11]]}},"keywords":{}}],["copi",{"_index":1512,"title":{},"content":{"183":{"position":[[491,4],[1307,4]]},"303":{"position":[[240,6],[406,6]]},"317":{"position":[[331,4]]},"332":{"position":[[75,4]]},"356":{"position":[[907,4]]},"875":{"position":[[81,4]]},"1835":{"position":[[445,4],[862,4]]},"1883":{"position":[[162,4]]},"2023":{"position":[[3374,6],[3594,6]]},"2031":{"position":[[106,6],[3530,6],[3978,6],[4187,6],[4514,6]]},"2093":{"position":[[377,4]]}},"keywords":{}}],["copyfrompointer(void",{"_index":8082,"title":{},"content":{"2031":{"position":[[4476,22],[4599,20]]}},"keywords":{}}],["copyfromwriter(networkwrit",{"_index":8080,"title":{},"content":{"2031":{"position":[[3947,30],[4030,28],[4142,29],[4274,28]]}},"keywords":{}}],["copyright",{"_index":5416,"title":{},"content":{"1474":{"position":[[2063,9]]}},"keywords":{}}],["copyto(keyvaluepair<tkey",{"_index":7386,"title":{},"content":{"1865":{"position":[[2283,28],[2359,28]]}},"keywords":{}}],["copyto(t",{"_index":7317,"title":{},"content":{"1855":{"position":[[1611,11],[1656,10]]},"1860":{"position":[[1591,11],[1636,10]]},"1874":{"position":[[1475,11],[1520,10]]}},"keywords":{}}],["copytoobservers(networkident",{"_index":9246,"title":{},"content":{"2516":{"position":[[966,33],[1025,31]]}},"keywords":{}}],["core",{"_index":1,"title":{},"content":{"0":{"position":[[15,4]]},"99":{"position":[[1442,4]]},"1474":{"position":[[21560,4]]},"1752":{"position":[[143,4]]}},"keywords":{}}],["corner",{"_index":677,"title":{},"content":{"46":{"position":[[961,7]]},"182":{"position":[[149,7],[248,6]]}},"keywords":{}}],["coroutin",{"_index":1993,"title":{},"content":{"240":{"position":[[2416,9]]},"241":{"position":[[2599,9]]},"314":{"position":[[1016,10]]}},"keywords":{}}],["coroutinesend",{"_index":4295,"title":{},"content":{"958":{"position":[[205,13]]}},"keywords":{}}],["correct",{"_index":507,"title":{},"content":{"29":{"position":[[121,7]]},"71":{"position":[[16,7],[548,7]]},"74":{"position":[[81,7]]},"139":{"position":[[554,7]]},"182":{"position":[[87,7],[2768,7]]},"660":{"position":[[55,7]]},"1474":{"position":[[4823,9],[15523,7],[17853,7]]},"1611":{"position":[[9,7]]},"1703":{"position":[[7,7]]},"1780":{"position":[[145,7]]},"1781":{"position":[[145,7]]},"2240":{"position":[[7413,7]]},"2417":{"position":[[10956,7]]}},"keywords":{}}],["correctli",{"_index":1080,"title":{},"content":{"117":{"position":[[606,9],[3081,9]]},"332":{"position":[[464,10]]},"978":{"position":[[57,9]]},"1474":{"position":[[19705,9]]},"2001":{"position":[[663,9]]},"2370":{"position":[[3806,9]]}},"keywords":{}}],["correspond",{"_index":811,"title":{},"content":{"65":{"position":[[261,13]]},"217":{"position":[[318,13],[742,13]]},"272":{"position":[[85,13]]},"335":{"position":[[1674,10]]},"361":{"position":[[29,13]]},"2359":{"position":[[2582,13],[3103,13]]},"2482":{"position":[[4904,13],[5252,13]]}},"keywords":{}}],["cost",{"_index":1420,"title":{},"content":{"179":{"position":[[121,5]]},"190":{"position":[[1163,5]]},"361":{"position":[[805,4]]}},"keywords":{}}],["count",{"_index":1154,"title":{"126":{"position":[[4,5]]},"132":{"position":[[4,5]]}},"content":{"123":{"position":[[180,5]]},"129":{"position":[[208,5],[512,5]]},"130":{"position":[[250,5]]},"139":{"position":[[1300,6]]},"155":{"position":[[210,5],[457,5]]},"158":{"position":[[208,5],[512,5]]},"159":{"position":[[250,5]]},"245":{"position":[[3860,5],[4318,5]]},"249":{"position":[[990,5]]},"667":{"position":[[13,5]]},"862":{"position":[[28,5]]},"1325":{"position":[[7,8]]},"1329":{"position":[[7,8]]},"1332":{"position":[[7,8]]},"1442":{"position":[[14,5]]},"1854":{"position":[[0,6],[31,5]]},"1859":{"position":[[0,6],[31,5]]},"1864":{"position":[[0,6],[31,5]]},"1873":{"position":[[0,6],[31,5]]},"1990":{"position":[[335,5],[844,5]]},"2003":{"position":[[248,6],[399,5],[2863,6],[2959,5]]},"2023":{"position":[[3885,6],[3939,5]]},"2130":{"position":[[1862,5],[2073,5]]},"2203":{"position":[[94,6],[206,5]]},"2346":{"position":[[98,6],[193,5]]},"2347":{"position":[[185,6],[278,5],[331,5]]}},"keywords":{}}],["counter",{"_index":5404,"title":{},"content":{"1474":{"position":[[1682,7],[19804,7]]},"2287":{"position":[[95,7]]}},"keywords":{}}],["counterpart",{"_index":2301,"title":{},"content":{"271":{"position":[[237,11]]}},"keywords":{}}],["coupl",{"_index":1659,"title":{},"content":{"202":{"position":[[28,6]]},"203":{"position":[[153,6]]},"271":{"position":[[129,9]]}},"keywords":{}}],["cours",{"_index":1343,"title":{},"content":{"171":{"position":[[90,6]]}},"keywords":{}}],["cover",{"_index":1556,"title":{},"content":{"187":{"position":[[667,5]]},"257":{"position":[[150,5]]},"304":{"position":[[55,6]]}},"keywords":{}}],["cpu",{"_index":914,"title":{},"content":{"81":{"position":[[206,3]]}},"keywords":{}}],["crash",{"_index":3432,"title":{},"content":{"574":{"position":[[29,5]]},"653":{"position":[[15,5]]},"1466":{"position":[[581,5],[927,7],[1107,7]]},"1474":{"position":[[9301,5]]},"1713":{"position":[[6,5]]}},"keywords":{}}],["crazi",{"_index":6472,"title":{},"content":{"1477":{"position":[[2057,5]]}},"keywords":{}}],["crc64",{"_index":5128,"title":{},"content":{"1326":{"position":[[22,5]]}},"keywords":{}}],["creat",{"_index":106,"title":{"54":{"position":[[0,8]]},"202":{"position":[[0,8]]}},"content":{"0":{"position":[[2256,8],[2368,7]]},"2":{"position":[[170,7]]},"9":{"position":[[45,6]]},"10":{"position":[[1974,6]]},"14":{"position":[[650,6]]},"17":{"position":[[163,6]]},"20":{"position":[[329,6]]},"22":{"position":[[1013,6],[1088,7]]},"33":{"position":[[153,6]]},"54":{"position":[[252,8]]},"61":{"position":[[253,6],[393,6]]},"69":{"position":[[69,6],[279,6]]},"70":{"position":[[0,6],[221,7]]},"75":{"position":[[190,7]]},"79":{"position":[[8,6]]},"83":{"position":[[3,6],[273,8]]},"88":{"position":[[113,6]]},"96":{"position":[[351,6]]},"99":{"position":[[637,6]]},"117":{"position":[[24,6],[795,6],[1460,6]]},"165":{"position":[[83,8]]},"168":{"position":[[205,6]]},"171":{"position":[[168,7]]},"182":{"position":[[417,8],[1955,6],[2912,6],[3180,7]]},"186":{"position":[[61,6],[190,6]]},"187":{"position":[[1087,6]]},"189":{"position":[[65,6],[143,6],[169,6]]},"190":{"position":[[9,8],[217,6],[256,6],[289,6],[1695,7],[1819,6],[1851,6],[1912,6]]},"191":{"position":[[160,6],[192,6],[610,6],[644,6]]},"192":{"position":[[38,7]]},"196":{"position":[[373,6],[559,6],[602,6],[677,6]]},"197":{"position":[[182,8]]},"199":{"position":[[108,7]]},"202":{"position":[[124,6],[223,8],[306,6],[1239,7],[1288,6]]},"203":{"position":[[45,6],[175,6],[675,6],[764,6],[1160,7],[1268,7]]},"204":{"position":[[44,6],[225,6]]},"207":{"position":[[76,6]]},"209":{"position":[[51,6],[171,6]]},"210":{"position":[[52,6],[151,6]]},"211":{"position":[[1786,6]]},"213":{"position":[[183,6],[2264,7],[2311,6]]},"238":{"position":[[27,6]]},"243":{"position":[[668,6]]},"245":{"position":[[1221,6],[1285,6],[1360,6],[1592,7],[1719,8],[3188,7],[4438,7]]},"247":{"position":[[743,6]]},"251":{"position":[[2066,6],[2758,6]]},"266":{"position":[[375,6]]},"269":{"position":[[503,6]]},"300":{"position":[[72,8]]},"317":{"position":[[116,7]]},"320":{"position":[[455,6]]},"324":{"position":[[394,8]]},"335":{"position":[[681,7]]},"339":{"position":[[0,6]]},"348":{"position":[[0,6]]},"361":{"position":[[924,6]]},"366":{"position":[[317,6]]},"397":{"position":[[0,6]]},"477":{"position":[[19,6]]},"551":{"position":[[24,8]]},"555":{"position":[[20,6]]},"622":{"position":[[15,7]]},"674":{"position":[[82,6]]},"683":{"position":[[6,6],[91,6]]},"719":{"position":[[20,6]]},"749":{"position":[[26,8]]},"764":{"position":[[43,7]]},"904":{"position":[[99,6]]},"981":{"position":[[100,6]]},"1024":{"position":[[262,8]]},"1474":{"position":[[2853,8]]},"1476":{"position":[[8921,6]]},"1585":{"position":[[101,6]]},"1797":{"position":[[30,7]]},"1883":{"position":[[153,6]]},"1890":{"position":[[157,6],[291,6],[567,6],[714,6]]},"1904":{"position":[[389,7]]},"1907":{"position":[[545,7]]},"1909":{"position":[[500,7]]},"1983":{"position":[[1586,7],[2704,8],[2756,7],[2958,8],[3123,7]]},"1992":{"position":[[13,7],[383,7]]},"2019":{"position":[[60,7],[87,6]]},"2083":{"position":[[91,8],[143,7],[345,8]]},"2091":{"position":[[644,7]]},"2093":{"position":[[151,7],[407,7]]},"2109":{"position":[[0,8],[46,7]]},"2118":{"position":[[0,8],[46,7]]},"2128":{"position":[[0,8],[36,7]]},"2130":{"position":[[1186,6]]},"2145":{"position":[[14,7],[106,7]]},"2177":{"position":[[82,8],[172,7]]},"2178":{"position":[[49,8],[91,7]]},"2183":{"position":[[65,7],[387,6],[539,7],[599,7],[932,6]]},"2185":{"position":[[53,7]]},"2188":{"position":[[0,8],[46,7]]},"2198":{"position":[[97,7]]},"2199":{"position":[[22,7],[191,7],[374,7],[576,7]]},"2240":{"position":[[40,6]]},"2253":{"position":[[861,7]]},"2265":{"position":[[1929,7]]},"2320":{"position":[[494,7]]},"2399":{"position":[[37,7]]},"2478":{"position":[[920,8],[4100,8]]},"2482":{"position":[[2468,8],[3956,8]]}},"keywords":{}}],["create(idatahandl",{"_index":9136,"title":{},"content":{"2458":{"position":[[0,20],[128,19]]}},"keywords":{}}],["createassetmenu(filenam",{"_index":2624,"title":{},"content":{"317":{"position":[[1020,25]]}},"keywords":{}}],["createclientsocket",{"_index":8585,"title":{},"content":{"2199":{"position":[[352,21],[449,20]]},"2233":{"position":[[0,21],[59,20]]}},"keywords":{}}],["createcopi",{"_index":8453,"title":{},"content":{"2145":{"position":[[0,13],[140,12]]},"2213":{"position":[[0,13],[44,12]]}},"keywords":{}}],["createfail(str",{"_index":7180,"title":{},"content":{"1775":{"position":[[947,19],[1015,17],[1166,18],[1257,17]]}},"keywords":{}}],["createhandl",{"_index":7586,"title":{},"content":{"1935":{"position":[[1305,14],[1429,13]]}},"keywords":{}}],["createnew",{"_index":2163,"title":{},"content":{"251":{"position":[[1159,12],[1212,11],[2050,12],[2102,9]]},"2183":{"position":[[173,10],[330,9],[665,10],[831,9]]}},"keywords":{}}],["createnew(int",{"_index":8087,"title":{},"content":{"2033":{"position":[[98,13]]},"2122":{"position":[[80,13]]}},"keywords":{}}],["createnew(int32",{"_index":8085,"title":{},"content":{"2033":{"position":[[0,16]]},"2122":{"position":[[0,16]]}},"keywords":{}}],["createnew(pool<acksystem.reliablepacket>",{"_index":8360,"title":{},"content":{"2103":{"position":[[653,48],[754,46]]}},"keywords":{}}],["createnew(pool<poolednetworkreader>",{"_index":8036,"title":{},"content":{"2027":{"position":[[0,43],[91,41]]}},"keywords":{}}],["createnewbatch",{"_index":8374,"title":{},"content":{"2110":{"position":[[214,17],[269,16]]},"2119":{"position":[[214,17],[269,16]]},"2189":{"position":[[214,17],[269,16]]}},"keywords":{}}],["createnewitem(int",{"_index":8540,"title":{},"content":{"2174":{"position":[[63,17]]}},"keywords":{}}],["createnewitemnocount(pool<t>",{"_index":8542,"title":{},"content":{"2175":{"position":[[70,34]]}},"keywords":{}}],["createorrefreshsession(inetworkplay",{"_index":7244,"title":{},"content":{"1820":{"position":[[356,39],[441,37]]}},"keywords":{}}],["createreliablebuff",{"_index":8561,"title":{},"content":{"2187":{"position":[[214,21],[450,20]]}},"keywords":{}}],["createserversocket",{"_index":8583,"title":{},"content":{"2199":{"position":[[0,21],[97,20]]},"2233":{"position":[[134,21],[193,20]]}},"keywords":{}}],["createsess",{"_index":1027,"title":{"114":{"position":[[0,13]]},"1815":{"position":[[6,13]]}},"content":{"99":{"position":[[681,13],[805,13]]},"114":{"position":[[0,13]]},"1797":{"position":[[15,14]]}},"keywords":{}}],["createsuccess(inetworkauthent",{"_index":7176,"title":{},"content":{"1775":{"position":[[225,36],[319,35]]}},"keywords":{}}],["createsuccess(str",{"_index":7173,"title":{},"content":{"1775":{"position":[[0,22],[71,20],[564,21],[666,20]]}},"keywords":{}}],["createvisualeffect",{"_index":1065,"title":{},"content":{"116":{"position":[[116,18]]}},"keywords":{}}],["creation",{"_index":1425,"title":{"181":{"position":[[11,9]]},"247":{"position":[[12,8]]}},"content":{"181":{"position":[[18,8]]},"213":{"position":[[1380,8]]},"243":{"position":[[2424,9]]}},"keywords":{}}],["creation/connection/join",{"_index":73,"title":{},"content":{"0":{"position":[[1221,28]]}},"keywords":{}}],["credit",{"_index":1426,"title":{},"content":{"181":{"position":[[87,6]]},"189":{"position":[[452,7]]}},"keywords":{}}],["cref",{"_index":4551,"title":{},"content":{"1058":{"position":[[97,4]]}},"keywords":{}}],["critic",{"_index":2890,"title":{},"content":{"358":{"position":[[191,8]]},"2518":{"position":[[127,8]]}},"keywords":{}}],["crowd",{"_index":2168,"title":{},"content":{"251":{"position":[[1393,5]]}},"keywords":{}}],["cs0104",{"_index":3573,"title":{},"content":{"634":{"position":[[27,6],[125,6]]}},"keywords":{}}],["cthe",{"_index":2874,"title":{},"content":{"356":{"position":[[511,4]]}},"keywords":{}}],["ctrl",{"_index":1645,"title":{},"content":{"197":{"position":[[310,4],[376,4]]},"198":{"position":[[527,4]]}},"keywords":{}}],["cube",{"_index":1802,"title":{},"content":{"211":{"position":[[1593,4],[1795,4],[1845,5]]}},"keywords":{}}],["cubica",{"_index":750,"title":{},"content":{"59":{"position":[[9,6]]}},"keywords":{}}],["current",{"_index":396,"title":{},"content":{"19":{"position":[[23,9]]},"29":{"position":[[400,9]]},"42":{"position":[[658,7],[868,7]]},"68":{"position":[[0,10]]},"71":{"position":[[302,9]]},"173":{"position":[[165,7]]},"187":{"position":[[395,7]]},"213":{"position":[[1942,7]]},"240":{"position":[[2392,7]]},"241":{"position":[[59,7],[2575,7]]},"254":{"position":[[1108,7]]},"307":{"position":[[57,7]]},"847":{"position":[[286,7]]},"1474":{"position":[[22662,9],[22702,9]]},"1783":{"position":[[613,7]]},"1847":{"position":[[0,8],[31,7]]},"2018":{"position":[[12,7]]},"2019":{"position":[[132,7]]},"2022":{"position":[[107,7],[212,7]]},"2030":{"position":[[94,7],[235,7]]},"2193":{"position":[[371,7],[656,7],[951,7]]},"2240":{"position":[[3261,7],[4337,9]]},"2252":{"position":[[695,7]]},"2265":{"position":[[1496,7],[2474,7],[4064,7]]},"2350":{"position":[[1199,7]]},"2401":{"position":[[2988,9]]},"2415":{"position":[[553,9]]},"2416":{"position":[[33,7]]},"2417":{"position":[[601,9],[862,9],[2621,9],[2879,7],[4785,7],[5315,7],[5953,7],[6875,7],[9197,7]]},"2437":{"position":[[107,7],[464,7]]},"2478":{"position":[[4044,7]]},"2482":{"position":[[3900,7]]},"2503":{"position":[[53,7]]},"2531":{"position":[[0,8],[52,7]]}},"keywords":{}}],["currentcount",{"_index":2155,"title":{},"content":{"251":{"position":[[531,13],[1229,13],[1560,15]]}},"keywords":{}}],["currentmatchdebug",{"_index":9002,"title":{},"content":{"2381":{"position":[[0,18],[46,17]]}},"keywords":{}}],["custom",{"_index":222,"title":{"10":{"position":[[0,6]]},"116":{"position":[[0,6]]},"117":{"position":[[0,6]]},"236":{"position":[[0,6]]},"237":{"position":[[35,6]]},"251":{"position":[[35,6]]},"252":{"position":[[0,6]]},"264":{"position":[[0,11]]},"315":{"position":[[0,6]]},"328":{"position":[[7,6]]},"337":{"position":[[0,6]]}},"content":{"10":{"position":[[783,6],[1390,6]]},"96":{"position":[[360,6],[422,6]]},"116":{"position":[[12,6]]},"117":{"position":[[0,6],[33,6],[464,6],[2696,6]]},"186":{"position":[[17,6],[101,6]]},"216":{"position":[[62,6]]},"226":{"position":[[388,9]]},"234":{"position":[[195,9]]},"237":{"position":[[12,6]]},"245":{"position":[[3369,6]]},"251":{"position":[[84,6]]},"263":{"position":[[589,9]]},"264":{"position":[[954,6],[2051,6]]},"292":{"position":[[113,9]]},"309":{"position":[[64,9]]},"316":{"position":[[1079,6]]},"317":{"position":[[974,6]]},"320":{"position":[[157,6]]},"324":{"position":[[270,6],[405,6]]},"325":{"position":[[127,6],[301,6]]},"327":{"position":[[834,6]]},"328":{"position":[[0,6],[627,6],[1412,6]]},"337":{"position":[[20,6],[1515,6]]},"451":{"position":[[26,6]]},"539":{"position":[[170,6]]},"555":{"position":[[75,6]]},"587":{"position":[[13,6]]},"904":{"position":[[108,6]]},"958":{"position":[[67,6]]},"981":{"position":[[107,6]]},"1465":{"position":[[16,8]]},"1467":{"position":[[62,6],[78,6]]},"1474":{"position":[[22208,6]]},"1476":{"position":[[7957,6],[8843,6]]},"1478":{"position":[[552,6]]},"1738":{"position":[[24,6]]},"1835":{"position":[[1434,6]]},"1983":{"position":[[2715,6]]},"2083":{"position":[[102,6]]},"2265":{"position":[[633,6],[3192,6],[3610,6],[4522,6],[4613,6],[4771,6],[4849,6],[5366,6],[5457,6]]},"2332":{"position":[[37,6],[330,6]]},"2359":{"position":[[2551,6],[3072,6]]},"2478":{"position":[[4496,6]]},"2482":{"position":[[4290,6]]}},"keywords":{}}],["customauth",{"_index":1126,"title":{},"content":{"117":{"position":[[2792,10]]}},"keywords":{}}],["customauthent",{"_index":1081,"title":{},"content":{"117":{"position":[[717,19],[974,19]]}},"keywords":{}}],["customauthenticationdata",{"_index":1097,"title":{},"content":{"117":{"position":[[1547,24],[2604,24]]}},"keywords":{}}],["customauthmessag",{"_index":1083,"title":{},"content":{"117":{"position":[[851,17],[1146,17]]}},"keywords":{}}],["customcharacterspawn",{"_index":2220,"title":{},"content":{"254":{"position":[[896,22]]}},"keywords":{}}],["customhandl",{"_index":5855,"title":{},"content":{"1474":{"position":[[16698,14]]},"1543":{"position":[[7,14]]}},"keywords":{}}],["customreadwritefunct",{"_index":2695,"title":{},"content":{"328":{"position":[[1006,24],[1604,24],[2398,24]]}},"keywords":{}}],["cycl",{"_index":793,"title":{},"content":{"62":{"position":[[272,5]]}},"keywords":{}}],["cylind",{"_index":1966,"title":{},"content":{"240":{"position":[[596,10],[1915,8]]}},"keywords":{}}],["cylinderprefab",{"_index":1987,"title":{},"content":{"240":{"position":[[2115,15]]},"241":{"position":[[2376,15]]}},"keywords":{}}],["d",{"_index":1627,"title":{},"content":{"196":{"position":[[258,1],[363,1],[718,1]]},"197":{"position":[[319,1]]}},"keywords":{}}],["d00c95b)islocalplay",{"_index":5732,"title":{},"content":{"1474":{"position":[[11747,22]]}},"keywords":{}}],["d034ef6",{"_index":6979,"title":{},"content":{"1652":{"position":[[73,9]]}},"keywords":{}}],["d034ef6)ad",{"_index":6100,"title":{},"content":{"1476":{"position":[[1060,14]]}},"keywords":{}}],["d071438)custom",{"_index":6421,"title":{},"content":{"1477":{"position":[[598,15]]}},"keywords":{}}],["d0b0bc9",{"_index":7103,"title":{},"content":{"1738":{"position":[[45,9]]}},"keywords":{}}],["d0b0bc9)weaver",{"_index":6025,"title":{},"content":{"1474":{"position":[[22229,15]]}},"keywords":{}}],["d0cc669)remov",{"_index":5854,"title":{},"content":{"1474":{"position":[[16682,15]]}},"keywords":{}}],["d0d0b2a",{"_index":4947,"title":{},"content":{"1239":{"position":[[61,9]]}},"keywords":{}}],["d0d5581",{"_index":5003,"title":{},"content":{"1267":{"position":[[70,9]]}},"keywords":{}}],["d0d77b6)telepathi",{"_index":5998,"title":{},"content":{"1474":{"position":[[21288,18]]},"1745":{"position":[[256,18]]}},"keywords":{}}],["d1695dd",{"_index":6877,"title":{},"content":{"1582":{"position":[[180,9]]}},"keywords":{}}],["d1695dd)new",{"_index":6289,"title":{},"content":{"1476":{"position":[[6076,12]]}},"keywords":{}}],["d17576a",{"_index":3179,"title":{},"content":{"482":{"position":[[32,9]]}},"keywords":{}}],["d18ef5a",{"_index":3419,"title":{},"content":{"566":{"position":[[54,9]]}},"keywords":{}}],["d2381ce)remov",{"_index":6470,"title":{},"content":{"1477":{"position":[[2009,15]]}},"keywords":{}}],["d239718)cosmet",{"_index":6175,"title":{},"content":{"1476":{"position":[[3050,17]]}},"keywords":{}}],["d239718)transport",{"_index":6984,"title":{},"content":{"1656":{"position":[[42,19]]}},"keywords":{}}],["d2800be",{"_index":4313,"title":{},"content":{"963":{"position":[[26,9]]}},"keywords":{}}],["d2a58a4",{"_index":6915,"title":{},"content":{"1607":{"position":[[71,9]]}},"keywords":{}}],["d2a58a4)disconnect",{"_index":5630,"title":{},"content":{"1474":{"position":[[8832,19]]}},"keywords":{}}],["d2b07ea",{"_index":4636,"title":{},"content":{"1100":{"position":[[55,9]]}},"keywords":{}}],["d2e8834",{"_index":3764,"title":{},"content":{"719":{"position":[[62,9]]}},"keywords":{}}],["d2ee8ac",{"_index":3760,"title":{},"content":{"718":{"position":[[53,9]]}},"keywords":{}}],["d3dccd7)#718",{"_index":5389,"title":{},"content":{"1474":{"position":[[1275,13]]}},"keywords":{}}],["d3dccd7)ad",{"_index":6814,"title":{},"content":{"1566":{"position":[[102,14]]}},"keywords":{}}],["d451782",{"_index":4929,"title":{},"content":{"1233":{"position":[[56,9]]}},"keywords":{}}],["d46469a)mak",{"_index":5300,"title":{},"content":{"1466":{"position":[[791,15]]}},"keywords":{}}],["d48a375)syncvar",{"_index":6398,"title":{},"content":{"1476":{"position":[[9172,17]]}},"keywords":{}}],["d4d524d)networktransform",{"_index":5792,"title":{},"content":{"1474":{"position":[[14562,25]]}},"keywords":{}}],["d4d524d)properli",{"_index":7088,"title":{},"content":{"1733":{"position":[[535,17]]}},"keywords":{}}],["d50e754",{"_index":3413,"title":{},"content":{"563":{"position":[[30,9]]}},"keywords":{}}],["d54537a",{"_index":3804,"title":{},"content":{"737":{"position":[[94,9]]}},"keywords":{}}],["d58725f",{"_index":4698,"title":{},"content":{"1127":{"position":[[53,10]]}},"keywords":{}}],["d5b0a6f",{"_index":6948,"title":{},"content":{"1630":{"position":[[45,9]]}},"keywords":{}}],["d5b0a6f)ship",{"_index":6332,"title":{},"content":{"1476":{"position":[[7133,13]]}},"keywords":{}}],["d5b3292",{"_index":3643,"title":{},"content":{"669":{"position":[[65,9]]}},"keywords":{}}],["d5f0647",{"_index":3280,"title":{},"content":{"522":{"position":[[77,9]]}},"keywords":{}}],["d6389e6)rebuild",{"_index":5428,"title":{},"content":{"1474":{"position":[[2653,16]]}},"keywords":{}}],["d67c96c)ad",{"_index":4397,"title":{},"content":{"999":{"position":[[68,15]]}},"keywords":{}}],["d691ca4",{"_index":4996,"title":{},"content":{"1263":{"position":[[63,9]]}},"keywords":{}}],["d6a1154)potenti",{"_index":5824,"title":{},"content":{"1474":{"position":[[15701,18]]}},"keywords":{}}],["d6a1154)remov",{"_index":7113,"title":{},"content":{"1745":{"position":[[86,15]]}},"keywords":{}}],["d6bea93",{"_index":4474,"title":{},"content":{"1032":{"position":[[38,9]]}},"keywords":{}}],["d6cdc86)updat",{"_index":3968,"title":{},"content":{"820":{"position":[[151,16]]}},"keywords":{}}],["d6ced44",{"_index":3119,"title":{},"content":{"451":{"position":[[115,9]]}},"keywords":{}}],["d6de4cb",{"_index":2985,"title":{},"content":{"393":{"position":[[17,9]]}},"keywords":{}}],["d710f45)ad",{"_index":3186,"title":{},"content":{"486":{"position":[[63,15]]}},"keywords":{}}],["d712cd0)ninjaw",{"_index":5794,"title":{},"content":{"1474":{"position":[[14733,16]]}},"keywords":{}}],["d727e4f",{"_index":6950,"title":{},"content":{"1633":{"position":[[53,9]]}},"keywords":{}}],["d727e4f)revert",{"_index":6575,"title":{},"content":{"1478":{"position":[[53,15]]}},"keywords":{}}],["d741bae)pip",{"_index":6303,"title":{},"content":{"1476":{"position":[[6441,14]]}},"keywords":{}}],["d772e53)remov",{"_index":4507,"title":{},"content":{"1045":{"position":[[97,17]]}},"keywords":{}}],["d7a58d2",{"_index":5625,"title":{},"content":{"1474":{"position":[[8726,10]]}},"keywords":{}}],["d81f444",{"_index":6780,"title":{},"content":{"1551":{"position":[[24,9]]}},"keywords":{}}],["d81f444)add",{"_index":6069,"title":{},"content":{"1476":{"position":[[351,12]]}},"keywords":{}}],["d82cd76)ad",{"_index":3351,"title":{},"content":{"545":{"position":[[207,15]]}},"keywords":{}}],["d82efea",{"_index":4608,"title":{},"content":{"1086":{"position":[[27,9]]}},"keywords":{}}],["d8334e8",{"_index":3736,"title":{},"content":{"708":{"position":[[74,9]]}},"keywords":{}}],["d846f13",{"_index":3113,"title":{},"content":{"447":{"position":[[40,9]]}},"keywords":{}}],["d84b3bb",{"_index":4794,"title":{},"content":{"1166":{"position":[[39,9]]}},"keywords":{}}],["d89ac9f",{"_index":6773,"title":{},"content":{"1547":{"position":[[209,9]]}},"keywords":{}}],["d89ac9f)telepathi",{"_index":6366,"title":{},"content":{"1476":{"position":[[8108,18]]}},"keywords":{}}],["d8a98d8",{"_index":5602,"title":{},"content":{"1474":{"position":[[8228,10]]}},"keywords":{}}],["d8aaf76)custom",{"_index":6180,"title":{},"content":{"1476":{"position":[[3168,15]]}},"keywords":{}}],["d8aaf76)experiment",{"_index":6838,"title":{},"content":{"1567":{"position":[[862,21]]}},"keywords":{}}],["d8ce80f)don't",{"_index":5640,"title":{},"content":{"1474":{"position":[[9106,14]]}},"keywords":{}}],["d8d28f9)did",{"_index":4046,"title":{},"content":{"847":{"position":[[100,12]]}},"keywords":{}}],["d8e7830",{"_index":3693,"title":{},"content":{"689":{"position":[[69,9]]}},"keywords":{}}],["d8facb7",{"_index":4536,"title":{},"content":{"1051":{"position":[[52,9]]}},"keywords":{}}],["d91b387)#573",{"_index":5460,"title":{},"content":{"1474":{"position":[[3750,13]]}},"keywords":{}}],["d96ed04)ad",{"_index":3328,"title":{},"content":{"538":{"position":[[379,15]]}},"keywords":{}}],["d9b7bb7)onclientreadi",{"_index":5810,"title":{},"content":{"1474":{"position":[[15216,22]]}},"keywords":{}}],["d9b7bb7)prevent",{"_index":6826,"title":{},"content":{"1566":{"position":[[1380,16]]}},"keywords":{}}],["d9ed96",{"_index":4687,"title":{},"content":{"1121":{"position":[[62,9]]}},"keywords":{}}],["da2355b",{"_index":6748,"title":{},"content":{"1530":{"position":[[47,9]]}},"keywords":{}}],["da2355b)headlessautostart",{"_index":6208,"title":{},"content":{"1476":{"position":[[3880,26]]}},"keywords":{}}],["da381bd",{"_index":4827,"title":{},"content":{"1183":{"position":[[50,9]]}},"keywords":{}}],["da74e11",{"_index":4614,"title":{},"content":{"1090":{"position":[[47,9]]}},"keywords":{}}],["daec3a1)add",{"_index":3105,"title":{},"content":{"444":{"position":[[192,12]]}},"keywords":{}}],["daf07b",{"_index":7024,"title":{},"content":{"1687":{"position":[[42,9]]}},"keywords":{}}],["daf07be)compil",{"_index":5615,"title":{},"content":{"1474":{"position":[[8532,20]]}},"keywords":{}}],["damag",{"_index":2425,"title":{},"content":{"288":{"position":[[1895,7],[1951,7],[2072,8],[2169,7],[2275,6]]}},"keywords":{}}],["damage(amount",{"_index":2420,"title":{},"content":{"288":{"position":[[1104,15]]}},"keywords":{}}],["damage(int",{"_index":2421,"title":{},"content":{"288":{"position":[[1147,10]]}},"keywords":{}}],["damage:"",{"_index":2423,"title":{},"content":{"288":{"position":[[1189,13]]}},"keywords":{}}],["damage}"",{"_index":2435,"title":{},"content":{"288":{"position":[[2284,16]]}},"keywords":{}}],["danger",{"_index":2639,"title":{},"content":{"319":{"position":[[241,6]]}},"keywords":{}}],["dapper",{"_index":2495,"title":{},"content":{"297":{"position":[[158,6]]}},"keywords":{}}],["dashboard",{"_index":1436,"title":{},"content":{"182":{"position":[[313,9],[3297,9]]}},"keywords":{}}],["data",{"_index":247,"title":{"313":{"position":[[0,4]]},"315":{"position":[[7,4]]}},"content":{"10":{"position":[[721,4]]},"22":{"position":[[692,4]]},"61":{"position":[[365,5]]},"64":{"position":[[279,5]]},"72":{"position":[[36,4],[121,4]]},"85":{"position":[[54,4]]},"117":{"position":[[355,4],[471,4],[1472,5],[1536,4],[1677,6],[2575,4],[2703,4],[2772,4],[2812,4],[2895,4]]},"170":{"position":[[254,4]]},"172":{"position":[[177,4],[267,4]]},"186":{"position":[[24,4],[108,4],[328,5],[436,4]]},"215":{"position":[[24,4]]},"224":{"position":[[698,4]]},"226":{"position":[[622,4],[651,4]]},"247":{"position":[[804,4]]},"257":{"position":[[480,4]]},"279":{"position":[[182,4]]},"304":{"position":[[87,4],[130,4],[283,4],[325,4]]},"314":{"position":[[238,4],[364,5],[689,4]]},"315":{"position":[[120,5],[274,4]]},"316":{"position":[[47,4]]},"317":{"position":[[344,5],[648,4],[793,5],[911,4],[1378,5],[1541,4]]},"328":{"position":[[148,4],[236,4]]},"333":{"position":[[272,4],[413,4],[735,4]]},"337":{"position":[[1182,4]]},"340":{"position":[[719,5]]},"344":{"position":[[713,5]]},"345":{"position":[[794,5]]},"346":{"position":[[63,4],[736,4],[1739,4]]},"348":{"position":[[1049,5]]},"352":{"position":[[689,5]]},"353":{"position":[[728,5]]},"356":{"position":[[33,4],[128,4],[1405,4],[1540,4]]},"358":{"position":[[200,5],[272,4]]},"359":{"position":[[35,4],[109,4],[376,4],[502,4]]},"360":{"position":[[145,4]]},"367":{"position":[[33,4],[88,5],[123,4]]},"813":{"position":[[77,4]]},"1450":{"position":[[92,4]]},"1456":{"position":[[73,4]]},"1460":{"position":[[9,4]]},"1467":{"position":[[69,4]]},"1774":{"position":[[166,5],[177,4],[253,4]]},"1775":{"position":[[377,5],[489,4],[739,5],[872,4]]},"1801":{"position":[[138,5],[250,4]]},"1802":{"position":[[174,5],[195,4],[281,4]]},"1803":{"position":[[129,4]]},"1835":{"position":[[56,4]]},"1998":{"position":[[279,4]]},"2010":{"position":[[989,5],[1073,4]]},"2031":{"position":[[2313,4],[2715,4],[3989,4]]},"2091":{"position":[[343,4]]},"2093":{"position":[[50,4],[965,4]]},"2136":{"position":[[280,4]]},"2145":{"position":[[61,4]]},"2158":{"position":[[36,4],[289,4],[1344,4]]},"2162":{"position":[[51,4],[120,4],[186,4],[303,4]]},"2227":{"position":[[439,4]]},"2240":{"position":[[2177,4],[2317,4],[2487,4],[5603,4]]},"2265":{"position":[[5111,5]]},"2325":{"position":[[357,4]]},"2344":{"position":[[125,4]]},"2359":{"position":[[2572,5],[2627,4],[2975,4],[3093,5],[3148,4]]},"2401":{"position":[[907,4],[936,4]]},"2417":{"position":[[2240,4],[2690,4],[10970,5]]},"2492":{"position":[[644,4]]},"2518":{"position":[[136,5],[229,4],[274,4]]},"2522":{"position":[[491,4]]}},"keywords":{}}],["data"",{"_index":2629,"title":{},"content":{"317":{"position":[[1094,12]]}},"keywords":{}}],["data.onstartserv",{"_index":2114,"title":{},"content":{"247":{"position":[[612,18]]}},"keywords":{}}],["data.usernam",{"_index":1128,"title":{},"content":{"117":{"position":[[2941,14]]}},"keywords":{}}],["databas",{"_index":2468,"title":{},"content":{"294":{"position":[[536,9]]},"348":{"position":[[824,9]]}},"keywords":{}}],["datahandl",{"_index":8536,"title":{},"content":{"2171":{"position":[[135,12],[344,11]]}},"keywords":{}}],["date",{"_index":142,"title":{},"content":{"3":{"position":[[479,4]]},"67":{"position":[[764,4]]},"201":{"position":[[764,4]]},"208":{"position":[[86,4]]},"253":{"position":[[7,5],[28,4]]}},"keywords":{}}],["datetim",{"_index":2583,"title":{},"content":{"315":{"position":[[339,8],[492,9],[641,8],[650,9],[713,8],[830,8]]},"1805":{"position":[[29,8]]},"1809":{"position":[[29,8]]}},"keywords":{}}],["datetime(reader.readint64",{"_index":2591,"title":{},"content":{"315":{"position":[[775,29]]}},"keywords":{}}],["datetimemillisecond",{"_index":7616,"title":{},"content":{"1949":{"position":[[70,21],[105,20]]}},"keywords":{}}],["datetimereaderwrit",{"_index":2587,"title":{},"content":{"315":{"position":[[558,20]]}},"keywords":{}}],["datetimesecond",{"_index":7617,"title":{},"content":{"1949":{"position":[[131,16],[161,15]]}},"keywords":{}}],["day",{"_index":1357,"title":{},"content":{"173":{"position":[[476,4],[520,5],[556,5],[593,5]]}},"keywords":{}}],["db8310f)telepathi",{"_index":5451,"title":{},"content":{"1474":{"position":[[3403,18]]}},"keywords":{}}],["db99dd7)wrong",{"_index":6036,"title":{},"content":{"1474":{"position":[[22719,14]]}},"keywords":{}}],["dbd9d84",{"_index":6762,"title":{},"content":{"1543":{"position":[[51,9]]}},"keywords":{}}],["dbd9d84)remov",{"_index":5857,"title":{},"content":{"1474":{"position":[[16742,15]]}},"keywords":{}}],["dbe0643)exampl",{"_index":5678,"title":{},"content":{"1474":{"position":[[10192,17]]}},"keywords":{}}],["dbf5784)static",{"_index":4647,"title":{},"content":{"1106":{"position":[[43,15]]}},"keywords":{}}],["dc00532)renam",{"_index":4066,"title":{},"content":{"851":{"position":[[24,17]]}},"keywords":{}}],["dc07c38",{"_index":2926,"title":{},"content":{"369":{"position":[[101,9]]}},"keywords":{}}],["dc3b767",{"_index":6621,"title":{},"content":{"1478":{"position":[[1345,10]]}},"keywords":{}}],["dc4d6e6",{"_index":2941,"title":{},"content":{"375":{"position":[[20,9]]}},"keywords":{}}],["dc56f27",{"_index":3151,"title":{},"content":{"469":{"position":[[44,9]]}},"keywords":{}}],["dc66a54)tri",{"_index":2960,"title":{},"content":{"385":{"position":[[59,15]]}},"keywords":{}}],["dc6cc4f",{"_index":5120,"title":{},"content":{"1322":{"position":[[38,9]]}},"keywords":{}}],["dc700ec",{"_index":6985,"title":{},"content":{"1656":{"position":[[89,9]]}},"keywords":{}}],["dc700ec)transport",{"_index":6375,"title":{},"content":{"1476":{"position":[[8447,19]]}},"keywords":{}}],["dc74256)compil",{"_index":5613,"title":{},"content":{"1474":{"position":[[8434,20]]}},"keywords":{}}],["dc74256)fix",{"_index":7125,"title":{},"content":{"1751":{"position":[[45,12]]}},"keywords":{}}],["dca2d40",{"_index":7034,"title":{},"content":{"1694":{"position":[[55,9]]}},"keywords":{}}],["dca2d40)onstopserv",{"_index":6299,"title":{},"content":{"1476":{"position":[[6332,21]]}},"keywords":{}}],["dca6b54",{"_index":3999,"title":{},"content":{"833":{"position":[[75,9]]}},"keywords":{}}],["dcc4fa9",{"_index":3288,"title":{},"content":{"526":{"position":[[50,9]]}},"keywords":{}}],["dccdbf3",{"_index":3065,"title":{},"content":{"433":{"position":[[32,9]]}},"keywords":{}}],["dd52be3",{"_index":6750,"title":{},"content":{"1533":{"position":[[61,9]]}},"keywords":{}}],["dd52be3)spawn",{"_index":5940,"title":{},"content":{"1474":{"position":[[19274,14]]}},"keywords":{}}],["dd758ca)don't",{"_index":5403,"title":{},"content":{"1474":{"position":[[1657,14]]}},"keywords":{}}],["dda61e1",{"_index":3560,"title":{},"content":{"626":{"position":[[49,9]]}},"keywords":{}}],["ddc6139)fix",{"_index":5295,"title":{},"content":{"1466":{"position":[[682,15]]}},"keywords":{}}],["de",{"_index":2555,"title":{},"content":{"312":{"position":[[21,2]]}},"keywords":{}}],["de12166",{"_index":4102,"title":{},"content":{"866":{"position":[[68,9]]}},"keywords":{}}],["de6c97c",{"_index":3608,"title":{},"content":{"649":{"position":[[39,9]]}},"keywords":{}}],["dead",{"_index":5454,"title":{},"content":{"1474":{"position":[[3594,4]]},"1476":{"position":[[3290,4]]},"1578":{"position":[[150,4]]}},"keywords":{}}],["deadlock",{"_index":5387,"title":{},"content":{"1474":{"position":[[1257,9]]},"1566":{"position":[[84,9]]}},"keywords":{}}],["deal",{"_index":1975,"title":{},"content":{"240":{"position":[[1413,4]]}},"keywords":{}}],["dealt",{"_index":1979,"title":{},"content":{"240":{"position":[[1555,5]]}},"keywords":{}}],["debian",{"_index":1595,"title":{},"content":{"190":{"position":[[976,6]]}},"keywords":{}}],["debug",{"_index":160,"title":{"329":{"position":[[0,10]]}},"content":{"4":{"position":[[270,10]]},"329":{"position":[[130,5]]},"423":{"position":[[9,5]]},"456":{"position":[[145,5]]},"472":{"position":[[32,5]]},"609":{"position":[[56,5]]},"881":{"position":[[181,5]]},"1467":{"position":[[154,5]]},"1474":{"position":[[8307,9],[16128,5]]},"1701":{"position":[[16,9]]},"2010":{"position":[[72,9]]}},"keywords":{}}],["debug.log($"health",{"_index":2439,"title":{},"content":{"288":{"position":[[2486,23]]}},"keywords":{}}],["debug.log($"mag",{"_index":2434,"title":{},"content":{"288":{"position":[[2252,22]]}},"keywords":{}}],["debug.log($"select",{"_index":2417,"title":{},"content":{"288":{"position":[[887,25]]}},"keywords":{}}],["debug.log($"th",{"_index":1877,"title":{},"content":{"225":{"position":[[890,20],[1022,20],[1269,20],[1401,20]]}},"keywords":{}}],["debug.log($"turnip",{"_index":2476,"title":{},"content":{"294":{"position":[[935,24]]}},"keywords":{}}],["debug.log("cli",{"_index":2080,"title":{},"content":{"245":{"position":[[2227,22]]},"249":{"position":[[1631,22]]}},"keywords":{}}],["debug.log("connect",{"_index":2071,"title":{},"content":{"245":{"position":[[1142,25]]}},"keywords":{}}],["debug.log("new",{"_index":2088,"title":{},"content":{"245":{"position":[[2561,19]]}},"keywords":{}}],["debug.log("scoremessag",{"_index":2387,"title":{},"content":{"280":{"position":[[646,28]]}},"keywords":{}}],["debug.log("spawn",{"_index":2101,"title":{},"content":{"245":{"position":[[4278,24]]},"249":{"position":[[950,24]]}},"keywords":{}}],["debug.log("th",{"_index":1860,"title":{},"content":{"224":{"position":[[398,19]]}},"keywords":{}}],["debug.log("took",{"_index":2422,"title":{},"content":{"288":{"position":[[1168,20]]}},"keywords":{}}],["debug.log("tre",{"_index":2095,"title":{},"content":{"245":{"position":[[3821,20]]}},"keywords":{}}],["debug.logerror($"pool",{"_index":2165,"title":{},"content":{"251":{"position":[[1259,26]]}},"keywords":{}}],["debug/error",{"_index":7644,"title":{},"content":{"1962":{"position":[[40,11]]}},"keywords":{}}],["debugg",{"_index":8761,"title":{},"content":{"2265":{"position":[[781,9]]}},"keywords":{}}],["debuggi",{"_index":8677,"title":{},"content":{"2240":{"position":[[5812,10]]},"2451":{"position":[[147,10]]}},"keywords":{}}],["decid",{"_index":1351,"title":{},"content":{"172":{"position":[[493,6]]}},"keywords":{}}],["decim",{"_index":8155,"title":{},"content":{"2056":{"position":[[1878,9],[1969,7],[4493,7]]}},"keywords":{}}],["decis",{"_index":1700,"title":{},"content":{"204":{"position":[[118,9],[296,9]]}},"keywords":{}}],["declar",{"_index":2665,"title":{},"content":{"325":{"position":[[324,7]]},"1133":{"position":[[9,11]]},"1771":{"position":[[16,12],[83,12],[151,12]]},"1772":{"position":[[22,12],[174,12]]},"1774":{"position":[[9,12],[100,12],[226,12],[310,12]]},"1775":{"position":[[23,12],[271,12],[618,12],[967,12],[1209,12]]},"1785":{"position":[[19,12]]},"1787":{"position":[[7,12]]},"1789":{"position":[[19,12]]},"1791":{"position":[[9,12]]},"1793":{"position":[[19,12]]},"1795":{"position":[[161,12],[643,12],[956,12]]},"1801":{"position":[[53,12]]},"1802":{"position":[[108,12],[245,12]]},"1803":{"position":[[160,12]]},"1805":{"position":[[9,12],[52,12]]},"1806":{"position":[[27,12]]},"1809":{"position":[[9,12],[69,12]]},"1810":{"position":[[34,12]]},"1812":{"position":[[34,12],[252,12]]},"1814":{"position":[[12,12]]},"1816":{"position":[[8,12],[58,12],[115,12],[193,12]]},"1817":{"position":[[9,12]]},"1819":{"position":[[14,12],[114,12],[212,12],[269,12],[433,12]]},"1820":{"position":[[49,12],[396,12]]},"1825":{"position":[[12,12]]},"1826":{"position":[[62,12],[418,12]]},"1832":{"position":[[12,12]]},"1834":{"position":[[56,12]]},"1835":{"position":[[168,12],[374,12],[464,12],[682,12],[881,12],[1103,12],[1296,12],[1593,12]]},"1837":{"position":[[15,12],[91,12]]},"1838":{"position":[[17,12]]},"1840":{"position":[[18,12],[103,12]]},"1841":{"position":[[8,12],[98,12]]},"1842":{"position":[[17,12]]},"1844":{"position":[[26,12]]},"1846":{"position":[[31,12]]},"1847":{"position":[[9,12],[70,12]]},"1848":{"position":[[12,12],[99,12],[144,12]]},"1850":{"position":[[17,12],[89,12]]},"1851":{"position":[[17,12]]},"1853":{"position":[[12,12],[82,12],[300,12]]},"1854":{"position":[[7,12],[59,12],[114,12],[170,12]]},"1855":{"position":[[40,12],[217,12],[387,12],[430,12],[495,12],[667,12],[841,12],[1017,12],[1168,12],[1279,12],[1439,12],[1486,12],[1631,12],[1773,12],[1925,12],[2117,12],[2294,12],[2514,12],[2668,12],[2863,12],[3003,12],[3133,12],[3439,12],[3655,12],[3777,12],[3954,12],[4129,12]]},"1857":{"position":[[24,12]]},"1858":{"position":[[9,12]]},"1859":{"position":[[7,12],[59,12],[114,12]]},"1860":{"position":[[40,12],[217,12],[387,12],[430,12],[495,12],[667,12],[841,12],[1017,12],[1168,12],[1317,12],[1419,12],[1466,12],[1611,12],[1752,12],[1892,12],[2053,12],[2198,12],[2388,12],[2584,12],[2826,12],[3062,12],[3292,12],[3520,12],[3745,12],[3981,12],[4176,12]]},"1862":{"position":[[50,12]]},"1863":{"position":[[9,12]]},"1864":{"position":[[7,12],[59,12],[114,12],[163,12],[230,12],[339,12],[479,12],[587,12]]},"1865":{"position":[[40,12],[217,12],[387,12],[430,12],[495,12],[667,12],[841,12],[1017,12],[1169,12],[1222,12],[1368,12],[1526,12],[1708,12],[1857,12],[2069,12],[2334,12],[2590,12],[2819,12],[3069,12]]},"1869":{"position":[[8,12],[59,12]]},"1870":{"position":[[25,12],[220,12]]},"1872":{"position":[[13,12],[73,12]]},"1873":{"position":[[7,12],[59,12],[114,12]]},"1874":{"position":[[40,12],[217,12],[387,12],[430,12],[495,12],[667,12],[841,12],[1017,12],[1169,12],[1281,12],[1441,12],[1495,12],[1632,12],[1727,12],[1902,12]]},"1877":{"position":[[9,12]]},"1878":{"position":[[19,12]]},"1880":{"position":[[8,12],[53,12]]},"1881":{"position":[[9,12]]},"1885":{"position":[[8,12],[58,12],[116,12],[193,12]]},"1886":{"position":[[10,12]]},"1888":{"position":[[8,12],[58,12],[116,12]]},"1893":{"position":[[12,12]]},"1894":{"position":[[15,12],[186,12]]},"1896":{"position":[[7,12]]},"1897":{"position":[[31,12],[195,12],[340,12]]},"1899":{"position":[[21,12],[155,12],[278,12]]},"1901":{"position":[[7,12],[47,12]]},"1902":{"position":[[35,12],[211,12],[368,12]]},"1904":{"position":[[26,12],[168,12],[294,12],[436,12]]},"1907":{"position":[[40,12],[224,12],[384,12],[592,12]]},"1909":{"position":[[36,12],[208,12],[356,12],[547,12]]},"1914":{"position":[[21,12],[148,12]]},"1916":{"position":[[31,12],[188,12]]},"1918":{"position":[[26,12],[161,12]]},"1920":{"position":[[35,12],[204,12]]},"1922":{"position":[[36,12],[201,12]]},"1924":{"position":[[40,12],[217,12]]},"1932":{"position":[[35,12],[223,12]]},"1934":{"position":[[9,12]]},"1935":{"position":[[29,12],[234,12],[460,12],[811,12],[1223,12]]},"1937":{"position":[[11,12]]},"1939":{"position":[[27,12],[211,12],[470,12],[694,12],[867,12],[1044,12],[1223,12]]},"1941":{"position":[[41,12],[247,12]]},"1942":{"position":[[6,12],[50,12],[98,12]]},"1943":{"position":[[10,12]]},"1944":{"position":[[41,12]]},"1946":{"position":[[66,12]]},"1947":{"position":[[33,12],[243,12]]},"1949":{"position":[[6,12],[41,12],[92,12],[148,12]]},"1951":{"position":[[57,12]]},"1952":{"position":[[12,12],[86,12],[141,12],[435,12],[487,12],[542,12]]},"1953":{"position":[[35,12],[252,12]]},"1960":{"position":[[75,12]]},"1961":{"position":[[33,8],[45,12],[131,12],[242,12],[329,12],[406,12],[459,12]]},"1962":{"position":[[61,12]]},"1966":{"position":[[64,12],[476,12],[909,12],[1460,12],[1974,12],[2370,12]]},"1968":{"position":[[11,12],[50,12]]},"1970":{"position":[[124,12],[176,12]]},"1971":{"position":[[33,12],[253,12],[742,12],[1198,12],[1411,12],[1657,12]]},"1973":{"position":[[7,12],[54,12],[102,12]]},"1975":{"position":[[9,12],[51,12]]},"1977":{"position":[[7,12],[54,12],[170,12],[212,12]]},"1979":{"position":[[64,12],[481,12],[1002,12]]},"1981":{"position":[[26,12]]},"1985":{"position":[[42,12]]},"1987":{"position":[[21,12]]},"1988":{"position":[[14,12],[181,12],[359,12],[522,12]]},"1990":{"position":[[160,12],[656,12],[1072,12]]},"1992":{"position":[[217,12],[488,12]]},"1994":{"position":[[67,12],[316,12]]},"1996":{"position":[[36,12],[369,12]]},"1998":{"position":[[71,12],[310,12]]},"2000":{"position":[[29,12],[283,12],[453,12],[793,12]]},"2001":{"position":[[84,12],[320,12],[673,12],[854,12],[1067,12],[1260,12]]},"2003":{"position":[[140,12],[479,12],[749,12],[1039,12],[1329,12],[1574,12],[1917,12],[2262,12],[2510,12],[2788,12],[3040,12],[3333,12],[3561,12],[3874,12]]},"2005":{"position":[[4,12]]},"2007":{"position":[[46,12]]},"2009":{"position":[[152,12]]},"2010":{"position":[[129,12],[230,12],[367,12],[539,12],[723,12],[937,12],[1236,12]]},"2012":{"position":[[54,12],[319,12],[575,12],[836,12],[1105,12],[1358,12],[1623,12],[1872,12]]},"2014":{"position":[[4,12],[50,12],[96,12],[142,12],[189,12],[236,12],[283,12],[331,12],[379,12],[428,12],[479,12],[530,12],[581,12],[632,12],[684,12],[736,12],[788,12],[841,12],[894,12],[947,12],[1001,12],[1055,12],[1109,12],[1163,12],[1218,12],[1273,12],[1328,12],[1384,12],[1440,12],[1496,12],[1553,12],[1610,12],[1667,12],[1724,12],[1782,12],[1840,12],[1898,12],[1957,12],[2016,12],[2075,12],[2135,12],[2195,12],[2255,12],[2315,12],[2376,12],[2437,12],[2498,12],[2560,12],[2622,12],[2684,12],[2747,12],[2810,12],[2873,12],[2936,12],[3000,12],[3064,12],[3128,12],[3193,12],[3258,12],[3323,12],[3389,12],[3455,12],[3521,12],[3587,12]]},"2016":{"position":[[25,12],[321,12],[796,12],[1240,12]]},"2018":{"position":[[78,12]]},"2019":{"position":[[140,12],[396,12]]},"2021":{"position":[[17,12]]},"2022":{"position":[[50,12],[152,12],[256,12]]},"2023":{"position":[[12,12],[70,12],[232,12],[301,12],[463,12],[592,12],[794,12],[918,12],[1118,12],[1285,12],[1424,12],[1525,12],[1615,12],[1703,12],[1795,12],[1889,12],[1979,12],[2071,12],[2162,12],[2256,12],[2350,12],[2444,12],[2648,12],[2899,12],[3192,12],[3407,12],[3626,12],[3819,12]]},"2025":{"position":[[40,12],[257,12],[483,12],[701,12],[920,12],[1143,12],[1368,12],[1592,12]]},"2027":{"position":[[44,12],[354,12],[413,12],[472,12]]},"2029":{"position":[[22,12],[172,12]]},"2030":{"position":[[35,12],[177,12],[302,12]]},"2031":{"position":[[12,12],[61,12],[176,12],[272,12],[423,12],[587,12],[712,12],[832,12],[951,12],[1075,12],[1200,12],[1322,12],[1445,12],[1568,12],[1694,12],[1820,12],[1948,12],[2335,12],[2868,12],[3352,12],[3561,12],[3778,12],[4005,12],[4249,12],[4574,12]]},"2033":{"position":[[51,12],[401,12],[460,12]]},"2035":{"position":[[32,12]]},"2037":{"position":[[6,12]]},"2039":{"position":[[311,12]]},"2040":{"position":[[36,12],[259,12],[508,12],[889,12]]},"2042":{"position":[[25,12]]},"2043":{"position":[[65,12],[195,12]]},"2044":{"position":[[23,12],[198,12],[387,12],[569,12],[733,12],[923,12]]},"2046":{"position":[[32,12]]},"2047":{"position":[[29,12],[215,12]]},"2049":{"position":[[31,12]]},"2050":{"position":[[29,12],[214,12]]},"2052":{"position":[[33,12],[234,12]]},"2054":{"position":[[182,12]]},"2056":{"position":[[41,12],[269,12],[489,12],[712,12],[948,12],[1182,12],[1415,12],[1650,12],[1888,12],[2114,12],[2348,12],[2633,12],[2860,12],[3080,12],[3300,12],[3533,12],[3764,12],[3998,12],[4231,12],[4466,12],[4692,12],[4913,12]]},"2058":{"position":[[38,12],[254,12],[470,12],[692,12],[923,12],[1144,12],[1354,12],[1564,12],[1767,12],[1969,12],[2177,12],[2389,12],[2602,12],[2815,12],[3031,12],[3256,12],[3476,12],[3683,12],[3893,12],[4095,12],[4298,12],[4501,12]]},"2060":{"position":[[36,12],[273,12]]},"2062":{"position":[[34,12]]},"2063":{"position":[[30,12],[217,12]]},"2065":{"position":[[30,12],[233,12]]},"2066":{"position":[[28,12],[298,12],[658,12],[858,12],[1058,12],[1255,12],[1459,12],[1663,12]]},"2068":{"position":[[54,12],[324,12],[555,12],[814,12]]},"2070":{"position":[[34,12]]},"2071":{"position":[[30,12],[217,12]]},"2073":{"position":[[45,12],[299,12],[549,12]]},"2074":{"position":[[30,12],[211,12]]},"2076":{"position":[[70,12],[422,12],[699,12],[1035,12]]},"2078":{"position":[[60,12],[399,12],[723,12]]},"2079":{"position":[[30,12],[211,12]]},"2082":{"position":[[38,12]]},"2085":{"position":[[7,12]]},"2087":{"position":[[25,12]]},"2089":{"position":[[15,12],[166,12],[320,12],[472,12]]},"2097":{"position":[[46,12]]},"2098":{"position":[[8,12],[64,12],[117,12]]},"2099":{"position":[[15,12]]},"2100":{"position":[[36,12]]},"2102":{"position":[[14,12],[63,12],[103,12],[149,12],[194,12]]},"2103":{"position":[[16,12],[132,12],[200,12],[403,12],[506,12],[702,12]]},"2105":{"position":[[21,12]]},"2106":{"position":[[85,12]]},"2108":{"position":[[60,12]]},"2109":{"position":[[9,12]]},"2110":{"position":[[12,12],[121,12],[232,12],[303,12]]},"2112":{"position":[[91,12]]},"2113":{"position":[[17,12],[130,12],[255,12],[360,12],[433,12],[580,12],[748,12],[835,12]]},"2114":{"position":[[11,12],[212,12],[475,12],[623,12],[718,12],[1018,12],[1309,12],[1580,12],[1919,12],[2111,12],[2318,12]]},"2116":{"position":[[14,12]]},"2117":{"position":[[21,12]]},"2118":{"position":[[9,12]]},"2119":{"position":[[12,12],[121,12],[232,12],[303,12],[390,12],[572,12]]},"2121":{"position":[[7,12]]},"2122":{"position":[[42,12],[327,12],[386,12]]},"2124":{"position":[[65,12],[150,12],[239,12],[335,12]]},"2126":{"position":[[36,12],[244,12],[470,12],[686,12],[916,12],[1126,12],[1353,12],[1566,12]]},"2128":{"position":[[23,12],[92,12],[162,12],[285,12],[378,12],[466,12]]},"2130":{"position":[[62,12],[201,12],[322,12],[633,12],[754,12],[976,12],[1099,12],[1202,12],[1361,12],[1479,12],[1677,12],[1902,12],[2241,12],[2454,12],[2653,12],[2827,12]]},"2132":{"position":[[37,12],[269,12],[522,12],[812,12],[1144,12],[1457,12],[1780,12],[2008,12]]},"2134":{"position":[[22,12],[92,12],[175,12],[271,12],[367,12]]},"2136":{"position":[[92,12]]},"2138":{"position":[[9,12]]},"2140":{"position":[[10,12],[59,12]]},"2141":{"position":[[14,12],[80,12],[361,12],[670,12],[876,12],[1257,12]]},"2143":{"position":[[6,12]]},"2145":{"position":[[117,12]]},"2147":{"position":[[15,12],[58,12]]},"2149":{"position":[[34,12]]},"2152":{"position":[[137,12]]},"2154":{"position":[[5,12]]},"2156":{"position":[[17,12],[153,12],[345,12],[449,12],[544,12]]},"2158":{"position":[[99,12],[318,12],[507,12],[574,12],[897,12],[1371,12]]},"2160":{"position":[[15,12],[65,12]]},"2162":{"position":[[13,12],[149,12],[268,12],[478,12],[595,12],[728,12],[813,12]]},"2164":{"position":[[16,12]]},"2165":{"position":[[11,12],[69,12],[128,12]]},"2166":{"position":[[15,12],[147,12],[263,12],[382,12],[513,12],[658,12],[809,12],[958,12],[1105,12],[1250,12],[1393,12],[1545,12]]},"2168":{"position":[[85,12],[155,12],[243,12],[325,12],[415,12],[507,12],[602,12],[696,12],[802,12],[916,12],[1041,12],[1167,12],[1294,12],[1495,12],[1635,12],[1848,12],[1978,12],[2173,12],[2307,12],[2514,12],[2638,12],[2827,12],[2955,12],[3156,12]]},"2169":{"position":[[62,12],[251,12],[379,12],[580,12]]},"2171":{"position":[[62,12]]},"2172":{"position":[[13,12]]},"2173":{"position":[[17,12],[160,12],[359,12],[470,12],[572,12]]},"2177":{"position":[[34,12]]},"2178":{"position":[[8,12],[58,12],[110,12]]},"2179":{"position":[[12,12]]},"2181":{"position":[[22,12],[145,12],[226,12],[303,12],[413,12]]},"2183":{"position":[[113,12],[612,12]]},"2184":{"position":[[9,12]]},"2185":{"position":[[90,12],[256,12],[322,12]]},"2187":{"position":[[112,12]]},"2188":{"position":[[9,12]]},"2189":{"position":[[12,12],[121,12],[232,12],[303,12],[379,12]]},"2191":{"position":[[18,12]]},"2192":{"position":[[62,12]]},"2193":{"position":[[63,12],[262,12],[544,12],[842,12]]},"2198":{"position":[[105,12]]},"2199":{"position":[[60,12],[239,12],[412,12],[653,12]]},"2201":{"position":[[28,12],[229,12]]},"2202":{"position":[[11,12]]},"2203":{"position":[[6,12],[53,12],[182,12],[232,12],[289,12],[351,12],[407,12]]},"2204":{"position":[[24,12],[180,12],[434,12],[681,12],[974,12],[1117,12],[1236,12],[1434,12],[1568,12],[1871,12],[1956,12],[2030,12]]},"2206":{"position":[[8,12],[58,12]]},"2208":{"position":[[27,12]]},"2209":{"position":[[7,12]]},"2210":{"position":[[16,12],[178,12],[277,12],[389,12]]},"2212":{"position":[[30,12]]},"2213":{"position":[[14,12]]},"2215":{"position":[[29,12]]},"2217":{"position":[[208,12]]},"2219":{"position":[[11,12],[47,12],[81,12]]},"2221":{"position":[[30,12]]},"2222":{"position":[[11,12]]},"2223":{"position":[[17,12],[160,12],[295,12],[337,12],[443,12],[679,12]]},"2227":{"position":[[17,12],[160,12],[295,12],[358,12],[484,12],[720,12]]},"2229":{"position":[[33,12],[271,12]]},"2231":{"position":[[9,12],[51,12],[95,12],[148,12]]},"2232":{"position":[[15,12],[93,12],[163,12]]},"2233":{"position":[[22,12],[156,12],[287,12],[452,12]]},"2237":{"position":[[56,12]]},"2238":{"position":[[8,12]]},"2246":{"position":[[48,12]]},"2247":{"position":[[6,12]]},"2248":{"position":[[11,12]]},"2250":{"position":[[10,12],[49,12]]},"2252":{"position":[[8,12],[58,12],[114,12],[189,12],[271,12],[346,12],[407,12],[452,12],[506,12],[614,12],[760,12]]},"2253":{"position":[[9,12],[67,12],[385,12],[639,12],[912,12],[1124,12],[1483,12]]},"2255":{"position":[[204,12]]},"2257":{"position":[[8,12],[45,12]]},"2259":{"position":[[14,12],[57,12],[97,12]]},"2261":{"position":[[22,12],[102,12],[188,12],[291,12],[420,12],[511,12],[580,12],[697,12],[835,12],[936,12]]},"2263":{"position":[[168,12],[432,12],[682,12]]},"2264":{"position":[[8,12]]},"2265":{"position":[[137,12],[301,12],[791,12],[1656,12],[2634,12],[2935,12],[3344,12],[4224,12],[5117,12],[5575,12],[5943,12],[6351,12],[6626,12],[6726,12],[7047,12]]},"2267":{"position":[[9,12],[54,12],[106,12],[199,12]]},"2269":{"position":[[36,12],[221,12]]},"2272":{"position":[[33,12]]},"2273":{"position":[[7,12],[55,12]]},"2274":{"position":[[9,12],[56,12]]},"2277":{"position":[[90,12]]},"2279":{"position":[[204,12]]},"2281":{"position":[[58,12],[305,12]]},"2283":{"position":[[7,12]]},"2285":{"position":[[8,12],[229,12]]},"2287":{"position":[[241,12]]},"2288":{"position":[[51,12]]},"2290":{"position":[[149,12],[293,12]]},"2292":{"position":[[317,12],[582,12],[647,12],[739,12]]},"2294":{"position":[[52,12]]},"2296":{"position":[[27,12],[219,12],[456,12]]},"2298":{"position":[[9,12],[62,12],[124,12],[200,12],[316,12]]},"2299":{"position":[[50,12],[285,12],[339,12]]},"2301":{"position":[[33,12],[255,12]]},"2303":{"position":[[76,12]]},"2305":{"position":[[80,12],[147,12],[238,12]]},"2306":{"position":[[33,12],[209,12],[490,12],[960,12]]},"2308":{"position":[[74,12]]},"2310":{"position":[[93,12]]},"2311":{"position":[[75,12],[281,12],[514,12],[620,12]]},"2313":{"position":[[204,12]]},"2319":{"position":[[50,12]]},"2320":{"position":[[71,12],[536,12],[648,12],[747,12],[1002,12]]},"2322":{"position":[[326,12],[887,12],[1604,12],[2326,12]]},"2324":{"position":[[39,12]]},"2325":{"position":[[13,12],[398,12]]},"2327":{"position":[[69,12],[193,12],[407,12]]},"2329":{"position":[[68,12],[336,12],[667,12],[1040,12]]},"2331":{"position":[[17,12],[108,12]]},"2332":{"position":[[58,12],[353,12],[850,12],[1068,12],[1506,12],[1726,12]]},"2334":{"position":[[42,12]]},"2335":{"position":[[7,12]]},"2336":{"position":[[42,12]]},"2338":{"position":[[27,12]]},"2339":{"position":[[7,12]]},"2341":{"position":[[19,12],[179,12]]},"2342":{"position":[[7,12],[64,12]]},"2343":{"position":[[15,12],[131,12],[315,12]]},"2346":{"position":[[35,12]]},"2347":{"position":[[32,12],[145,12],[298,12]]},"2349":{"position":[[19,12],[76,12],[128,12],[192,12],[270,12],[336,12],[396,12],[453,12],[617,12]]},"2350":{"position":[[9,12],[121,12],[191,12],[334,12],[456,12],[645,12],[835,12],[983,12],[1129,12],[1240,12],[1294,12],[1358,12],[1432,12],[1570,12],[1733,12]]},"2351":{"position":[[85,12],[352,12],[756,12],[955,12],[1199,12],[1393,12],[1449,12]]},"2355":{"position":[[68,12],[335,12]]},"2357":{"position":[[15,12],[195,12],[314,12],[410,12]]},"2358":{"position":[[247,12],[378,12],[473,12],[609,12],[1160,12],[1269,12],[1406,12],[1778,12],[1982,12],[2062,12],[2236,12],[2345,12],[2517,12],[2672,12],[2730,12],[2905,12],[3034,12],[3114,12],[3190,12],[3300,12],[3421,12]]},"2359":{"position":[[29,12],[230,12],[414,12],[816,12],[900,12],[1231,12],[1549,12],[1694,12],[1808,12],[1989,12],[2198,12],[2395,12],[2652,12],[3171,12],[3472,12],[3755,12],[3989,12],[4184,12],[4449,12],[4672,12],[4874,12],[4998,12]]},"2361":{"position":[[111,12],[147,12],[180,12],[321,12],[360,12],[403,12]]},"2363":{"position":[[7,12]]},"2366":{"position":[[8,12],[58,12],[121,12],[203,12],[285,12],[366,12]]},"2367":{"position":[[157,12],[297,12]]},"2369":{"position":[[15,12],[149,12],[240,12],[384,12]]},"2370":{"position":[[87,12],[205,12],[300,12],[436,12],[664,12],[1055,12],[1372,12],[1480,12],[1617,12],[1712,12],[1821,12],[1911,12],[1975,12],[2173,12],[2285,12],[2512,12],[2676,12],[2964,12],[3036,12],[3513,12],[3898,12],[4270,12],[4729,12],[4959,12],[5213,12],[5342,12],[5423,12]]},"2371":{"position":[[181,12],[857,12],[1270,12],[1332,12]]},"2373":{"position":[[16,12],[88,12],[158,12],[216,12],[260,12]]},"2375":{"position":[[6,12],[37,12],[70,12],[101,12]]},"2377":{"position":[[16,12],[83,12],[139,12],[198,12],[261,12],[313,12],[367,12]]},"2378":{"position":[[26,12],[109,12],[194,12],[268,12],[345,12]]},"2381":{"position":[[19,12]]},"2382":{"position":[[90,12]]},"2383":{"position":[[9,12],[60,12],[316,12],[849,12]]},"2385":{"position":[[38,12]]},"2386":{"position":[[186,12]]},"2388":{"position":[[8,12],[72,12]]},"2390":{"position":[[12,12]]},"2392":{"position":[[12,12],[63,12]]},"2394":{"position":[[9,12]]},"2396":{"position":[[68,12],[228,12],[419,12]]},"2397":{"position":[[9,12],[257,12],[790,12]]},"2399":{"position":[[113,12]]},"2400":{"position":[[8,12],[116,12],[248,12],[877,12],[972,12],[1140,12],[1200,12],[1336,12],[1431,12],[1568,12]]},"2401":{"position":[[50,12],[352,12],[530,12],[652,12],[1054,12],[1346,12],[1525,12],[1644,12],[1811,12],[2024,12],[2313,12],[2398,12],[2567,12],[2734,12],[3006,12]]},"2403":{"position":[[146,12]]},"2404":{"position":[[17,12],[273,12],[806,12]]},"2406":{"position":[[15,12]]},"2407":{"position":[[92,12],[191,12]]},"2408":{"position":[[52,12],[195,12],[331,12],[445,12],[575,12],[696,12],[833,12]]},"2409":{"position":[[9,12],[107,12]]},"2411":{"position":[[76,12],[439,12]]},"2412":{"position":[[14,12],[67,12],[117,12],[163,12],[210,12]]},"2413":{"position":[[9,12]]},"2415":{"position":[[8,12],[58,12],[121,12],[203,12],[298,12],[450,12],[577,12]]},"2416":{"position":[[121,12],[252,12],[441,12],[612,12],[764,12],[927,12],[1090,12]]},"2417":{"position":[[9,12],[64,12],[213,12],[615,12],[937,12],[1488,12],[1979,12],[2428,12],[3014,12],[3279,12],[3812,12],[4262,12],[4807,12],[5337,12],[5975,12],[6897,12],[7808,12],[8282,12],[9049,12],[9495,12],[9976,12],[10511,12],[10748,12]]},"2419":{"position":[[19,12],[76,12],[269,12],[332,12],[398,12],[458,12],[511,12],[562,12],[626,12],[696,12],[860,12]]},"2420":{"position":[[9,12],[121,12],[191,12],[336,12],[404,12],[478,12],[555,12],[626,12],[696,12],[769,12],[891,12],[993,12],[1137,12],[1310,12],[1422,12],[1514,12],[1739,12],[1937,12],[1986,12],[2050,12],[2124,12]]},"2421":{"position":[[118,12],[249,12],[461,12],[517,12],[641,12],[931,12],[1296,12],[1646,12],[2105,12],[2546,12],[2968,12],[3507,12],[3998,12]]},"2423":{"position":[[17,12]]},"2425":{"position":[[11,12],[63,12],[121,12],[179,12],[234,12]]},"2427":{"position":[[17,12],[85,12],[163,12],[238,12]]},"2428":{"position":[[17,12]]},"2429":{"position":[[66,12],[359,12],[631,12]]},"2431":{"position":[[8,12]]},"2432":{"position":[[17,12]]},"2434":{"position":[[214,12],[936,12]]},"2437":{"position":[[132,12],[489,12]]},"2439":{"position":[[16,12]]},"2440":{"position":[[30,12],[96,12]]},"2441":{"position":[[45,12]]},"2443":{"position":[[7,12]]},"2445":{"position":[[7,12]]},"2447":{"position":[[8,12],[71,12],[145,12],[199,12]]},"2449":{"position":[[24,12]]},"2453":{"position":[[7,12]]},"2455":{"position":[[15,12]]},"2457":{"position":[[22,12],[83,12]]},"2458":{"position":[[52,12],[557,12],[671,12],[741,12],[819,12],[1094,12],[1330,12],[1554,12],[1852,12],[2111,12],[2326,12],[2541,12],[2717,12],[2866,12],[3083,12],[3261,12]]},"2460":{"position":[[41,12],[113,12],[247,12]]},"2465":{"position":[[19,12],[81,12],[148,12]]},"2468":{"position":[[8,12],[47,12],[94,12]]},"2471":{"position":[[204,12]]},"2473":{"position":[[33,12],[271,12],[621,12]]},"2476":{"position":[[9,12],[64,12]]},"2478":{"position":[[443,12],[1385,12],[2180,12],[3039,12],[3644,12],[4194,12],[4705,12],[5081,12],[5603,12]]},"2480":{"position":[[16,12]]},"2481":{"position":[[8,12],[78,12]]},"2482":{"position":[[409,12],[1234,12],[2042,12],[2917,12],[3276,12],[3553,12],[4050,12],[4472,12],[4725,12],[5011,12],[5359,12],[5757,12],[6039,12],[6354,12],[6825,12],[7208,12],[7804,12]]},"2486":{"position":[[31,12],[206,12],[490,12],[816,12],[1125,12]]},"2487":{"position":[[8,12],[70,12],[143,12]]},"2488":{"position":[[16,12]]},"2489":{"position":[[36,12],[200,12]]},"2492":{"position":[[39,12],[156,12],[245,12],[324,12],[456,12],[565,12],[695,12]]},"2493":{"position":[[12,12]]},"2495":{"position":[[30,12]]},"2497":{"position":[[10,12],[59,12],[108,12],[150,12],[195,12]]},"2498":{"position":[[12,12]]},"2500":{"position":[[13,12]]},"2501":{"position":[[97,12]]},"2503":{"position":[[68,12],[185,12],[303,12]]},"2505":{"position":[[6,12],[66,12],[98,12]]},"2507":{"position":[[103,12],[183,12],[278,12],[385,12],[476,12],[569,12],[664,12]]},"2509":{"position":[[29,12],[168,12]]},"2510":{"position":[[8,12],[64,12]]},"2511":{"position":[[94,12],[398,12]]},"2513":{"position":[[44,12],[269,12]]},"2515":{"position":[[18,12],[337,12],[376,12],[415,12],[464,12],[509,12]]},"2516":{"position":[[32,12],[237,12],[522,12],[786,12],[1000,12],[1211,12],[1433,12]]},"2518":{"position":[[183,12],[335,12],[425,12]]},"2520":{"position":[[6,12],[36,12],[75,12],[115,12],[159,12]]},"2522":{"position":[[77,12],[238,12],[357,12],[496,12],[591,12]]},"2525":{"position":[[7,12],[48,12]]},"2527":{"position":[[48,12],[283,12]]},"2529":{"position":[[33,12]]},"2531":{"position":[[9,12]]}},"keywords":{}}],["declaringtyp",{"_index":7643,"title":{},"content":{"1961":{"position":[[0,14],[79,13]]}},"keywords":{}}],["decode(uint",{"_index":8301,"title":{},"content":{"2089":{"position":[[351,11]]}},"keywords":{}}],["decode(uint32",{"_index":8300,"title":{},"content":{"2089":{"position":[[304,15]]}},"keywords":{}}],["decode(uint64",{"_index":8302,"title":{},"content":{"2089":{"position":[[456,15]]}},"keywords":{}}],["decode(ulong",{"_index":8303,"title":{},"content":{"2089":{"position":[[504,12]]}},"keywords":{}}],["decoupl",{"_index":7130,"title":{},"content":{"1752":{"position":[[0,8]]}},"keywords":{}}],["decreas",{"_index":1195,"title":{},"content":{"129":{"position":[[60,8]]},"139":{"position":[[1272,9]]},"155":{"position":[[65,8]]},"158":{"position":[[65,8]]}},"keywords":{}}],["decrypt",{"_index":1525,"title":{},"content":{"183":{"position":[[1256,7]]}},"keywords":{}}],["dedic",{"_index":361,"title":{"179":{"position":[[12,9]]}},"content":{"15":{"position":[[182,10],[375,9]]},"175":{"position":[[620,9],[752,9]]},"179":{"position":[[14,9]]},"182":{"position":[[3652,9]]},"183":{"position":[[1427,9]]},"184":{"position":[[93,9],[556,9],[835,9]]},"187":{"position":[[1507,9]]},"2370":{"position":[[3409,9]]}},"keywords":{}}],["dee1046",{"_index":6547,"title":{},"content":{"1477":{"position":[[3965,10]]},"1687":{"position":[[94,10]]}},"keywords":{}}],["def64cd",{"_index":4841,"title":{},"content":{"1189":{"position":[[38,10]]}},"keywords":{}}],["default",{"_index":225,"title":{},"content":{"10":{"position":[[117,7]]},"14":{"position":[[117,7],[493,7]]},"31":{"position":[[552,8]]},"33":{"position":[[23,7]]},"43":{"position":[[400,8]]},"46":{"position":[[438,8]]},"53":{"position":[[145,7]]},"61":{"position":[[156,7]]},"92":{"position":[[320,8],[585,7]]},"95":{"position":[[3,8],[257,7]]},"102":{"position":[[108,8]]},"104":{"position":[[3,8]]},"175":{"position":[[153,7]]},"182":{"position":[[1172,8],[1277,8],[1664,8]]},"183":{"position":[[1764,8]]},"187":{"position":[[895,8]]},"190":{"position":[[933,7],[1600,9]]},"191":{"position":[[480,7]]},"226":{"position":[[134,8]]},"232":{"position":[[3,8]]},"234":{"position":[[45,7]]},"262":{"position":[[794,8],[1010,8]]},"263":{"position":[[463,7]]},"283":{"position":[[12,7]]},"294":{"position":[[701,8]]},"307":{"position":[[418,7]]},"310":{"position":[[3,7]]},"311":{"position":[[3,8]]},"312":{"position":[[3,7]]},"316":{"position":[[1924,8]]},"327":{"position":[[518,7]]},"345":{"position":[[739,8]]},"353":{"position":[[685,8]]},"355":{"position":[[64,7]]},"356":{"position":[[736,8]]},"418":{"position":[[22,7]]},"487":{"position":[[60,7]]},"503":{"position":[[61,7]]},"775":{"position":[[133,8]]},"799":{"position":[[44,7]]},"809":{"position":[[20,7]]},"843":{"position":[[139,8]]},"845":{"position":[[108,7]]},"867":{"position":[[26,7]]},"1143":{"position":[[19,7]]},"1322":{"position":[[13,7]]},"1474":{"position":[[335,7],[4513,7],[9463,7],[17601,8]]},"1582":{"position":[[0,7]]},"1658":{"position":[[0,7]]},"1766":{"position":[[228,7]]},"1795":{"position":[[105,7],[587,7]]},"1819":{"position":[[397,7]]},"2039":{"position":[[108,8]]},"2040":{"position":[[790,7],[1123,7]]},"2043":{"position":[[10,7],[139,7]]},"2114":{"position":[[1806,7]]},"2130":{"position":[[835,9]]},"2237":{"position":[[6,7]]},"2253":{"position":[[229,7],[820,7],[1438,7]]},"2290":{"position":[[50,7]]},"2350":{"position":[[104,7]]},"2351":{"position":[[527,7]]},"2370":{"position":[[2820,7]]},"2413":{"position":[[0,8],[57,7]]},"2415":{"position":[[434,7]]},"2417":{"position":[[1270,7],[1821,7],[2374,7],[8867,7],[9379,7]]},"2420":{"position":[[104,7]]},"2515":{"position":[[500,8],[558,7]]}},"keywords":{}}],["default(int",{"_index":9172,"title":{},"content":{"2478":{"position":[[5203,12],[5735,12]]}},"keywords":{}}],["default(loadsceneparamet",{"_index":9072,"title":{},"content":{"2417":{"position":[[4915,28],[5453,28],[6169,28],[7099,28]]}},"keywords":{}}],["default(ushort",{"_index":8588,"title":{},"content":{"2199":{"position":[[749,15]]},"2233":{"position":[[548,15]]},"2351":{"position":[[156,15]]}},"keywords":{}}],["default)ownerplay",{"_index":2394,"title":{},"content":{"282":{"position":[[50,20]]}},"keywords":{}}],["default)sync",{"_index":2861,"title":{},"content":{"355":{"position":[[437,13]]}},"keywords":{}}],["default10",{"_index":8109,"title":{},"content":{"2043":{"position":[[128,10],[248,9]]}},"keywords":{}}],["default9",{"_index":8108,"title":{},"content":{"2043":{"position":[[0,9],[118,8]]}},"keywords":{}}],["defaultloglevel",{"_index":7571,"title":{},"content":{"1935":{"position":[[91,15],[157,15],[298,15],[381,15],[532,15],[623,15]]}},"keywords":{}}],["defaultvis",{"_index":9175,"title":{},"content":{"2481":{"position":[[59,18],[117,17]]}},"keywords":{}}],["defens",{"_index":768,"title":{},"content":{"59":{"position":[[283,7]]}},"keywords":{}}],["defer",{"_index":3080,"title":{},"content":{"438":{"position":[[18,8]]}},"keywords":{}}],["defin",{"_index":243,"title":{},"content":{"10":{"position":[[619,6]]},"22":{"position":[[168,6],[257,6],[370,6]]},"37":{"position":[[461,6]]},"217":{"position":[[482,6]]},"218":{"position":[[231,6]]},"279":{"position":[[0,6]]},"630":{"position":[[7,6]]},"632":{"position":[[29,6]]},"646":{"position":[[7,7]]},"764":{"position":[[85,7]]},"1147":{"position":[[27,7]]},"1466":{"position":[[167,6]]},"1477":{"position":[[4194,7]]},"1479":{"position":[[3042,8],[3067,7]]},"1734":{"position":[[375,7]]},"1736":{"position":[[20,8],[45,7]]},"2240":{"position":[[7254,6]]}},"keywords":{}}],["definit",{"_index":2760,"title":{},"content":{"339":{"position":[[295,10]]},"342":{"position":[[207,10]]},"348":{"position":[[301,10]]},"350":{"position":[[180,10]]},"1103":{"position":[[28,10]]},"1474":{"position":[[4327,10],[12109,10]]}},"keywords":{}}],["degre",{"_index":4500,"title":{},"content":{"1044":{"position":[[65,7]]}},"keywords":{}}],["deinit",{"_index":8616,"title":{},"content":{"2206":{"position":[[48,9],[90,8]]}},"keywords":{}}],["delay",{"_index":416,"title":{},"content":{"21":{"position":[[147,5]]},"24":{"position":[[1682,5]]},"173":{"position":[[820,5]]},"240":{"position":[[2366,7]]},"241":{"position":[[2549,7]]},"251":{"position":[[4375,6]]}},"keywords":{}}],["deleg",{"_index":2774,"title":{"1958":{"position":[[0,10]]},"1963":{"position":[[0,8]]},"1964":{"position":[[0,8]]},"2095":{"position":[[0,10]]},"2174":{"position":[[0,8]]},"2175":{"position":[[0,8]]},"2235":{"position":[[0,8]]},"2244":{"position":[[0,10]]},"2270":{"position":[[0,8]]},"2314":{"position":[[0,8]]},"2315":{"position":[[0,8]]},"2316":{"position":[[0,8]]},"2317":{"position":[[0,8]]},"2435":{"position":[[0,8]]},"2484":{"position":[[0,8]]},"2490":{"position":[[0,8]]},"2523":{"position":[[0,8]]}},"content":{"340":{"position":[[955,8]]},"348":{"position":[[1250,8]]},"1958":{"position":[[39,8]]},"1963":{"position":[[0,8],[49,8]]},"1964":{"position":[[0,8],[21,8],[70,8]]},"2174":{"position":[[0,8],[52,8]]},"2175":{"position":[[0,8],[59,8]]},"2235":{"position":[[0,8],[83,8]]},"2270":{"position":[[0,8],[52,8]]},"2314":{"position":[[0,8],[49,8]]},"2315":{"position":[[0,8],[54,8]]},"2316":{"position":[[0,8],[59,8]]},"2317":{"position":[[0,8],[64,8]]},"2435":{"position":[[0,8],[60,8]]},"2484":{"position":[[0,8],[50,8]]},"2490":{"position":[[0,8],[45,8]]},"2523":{"position":[[0,8],[40,8]]}},"keywords":{}}],["delet",{"_index":1574,"title":{},"content":{"189":{"position":[[266,6]]},"199":{"position":[[49,6],[157,6]]},"203":{"position":[[890,6]]},"537":{"position":[[426,8]]},"1349":{"position":[[62,7]]},"1354":{"position":[[62,7]]},"1359":{"position":[[62,7]]},"1364":{"position":[[62,7]]},"1369":{"position":[[62,7]]},"1374":{"position":[[62,7]]},"1378":{"position":[[62,7]]},"1382":{"position":[[62,7]]},"1386":{"position":[[62,7]]},"1390":{"position":[[62,7]]},"1394":{"position":[[62,7]]},"1398":{"position":[[62,7]]},"1402":{"position":[[62,7]]},"1406":{"position":[[62,7]]},"1410":{"position":[[62,7]]},"1414":{"position":[[62,7]]},"1418":{"position":[[62,7]]},"1422":{"position":[[62,7]]},"1426":{"position":[[62,7]]},"1430":{"position":[[62,7]]},"1434":{"position":[[23,7]]},"1438":{"position":[[23,7]]}},"keywords":{}}],["deliv",{"_index":3245,"title":{},"content":{"506":{"position":[[18,7]]},"2091":{"position":[[310,9]]},"2093":{"position":[[761,9],[905,9]]},"2149":{"position":[[109,10],[213,9]]},"2150":{"position":[[83,9]]},"2162":{"position":[[250,9]]}},"keywords":{}}],["deltatim",{"_index":2893,"title":{},"content":{"359":{"position":[[479,9]]}},"keywords":{}}],["demand",{"_index":2655,"title":{},"content":{"324":{"position":[[225,6]]}},"keywords":{}}],["demo",{"_index":1581,"title":{},"content":{"190":{"position":[[426,5],[1494,4],[1805,4]]},"191":{"position":[[267,4],[301,5]]},"196":{"position":[[39,4]]},"1145":{"position":[[15,4]]},"1474":{"position":[[12821,4],[18227,4]]},"1476":{"position":[[1143,4]]},"1477":{"position":[[1394,4]]},"1563":{"position":[[7,4]]},"1568":{"position":[[123,4]]},"1680":{"position":[[17,4]]},"1719":{"position":[[6,4]]}},"keywords":{}}],["demo.x86_64",{"_index":1625,"title":{},"content":{"196":{"position":[[90,11],[288,11],[456,11],[748,11]]}},"keywords":{}}],["demo.zip",{"_index":1623,"title":{},"content":{"195":{"position":[[528,8]]}},"keywords":{}}],["demonstr",{"_index":2219,"title":{},"content":{"254":{"position":[[808,12]]}},"keywords":{}}],["depend",{"_index":492,"title":{},"content":{"24":{"position":[[1761,9]]},"31":{"position":[[725,9]]},"72":{"position":[[126,9]]},"187":{"position":[[787,6]]},"190":{"position":[[635,7]]},"204":{"position":[[372,7]]},"213":{"position":[[1593,7]]},"279":{"position":[[299,9],[453,9]]},"344":{"position":[[376,9]]},"352":{"position":[[358,9]]},"359":{"position":[[460,6]]},"604":{"position":[[9,10]]},"1115":{"position":[[24,7],[94,7]]},"1243":{"position":[[14,7]]},"1272":{"position":[[28,10]]},"1474":{"position":[[1096,9],[15088,10]]},"1504":{"position":[[32,10]]},"1644":{"position":[[56,9]]}},"keywords":{}}],["deploy",{"_index":337,"title":{},"content":{"14":{"position":[[871,6]]}},"keywords":{}}],["deprec",{"_index":6588,"title":{},"content":{"1478":{"position":[[407,10]]}},"keywords":{}}],["depth",{"_index":2521,"title":{},"content":{"304":{"position":[[481,5]]}},"keywords":{}}],["dequeu",{"_index":8605,"title":{},"content":{"2204":{"position":[[1013,10],[1139,9]]}},"keywords":{}}],["deriv",{"_index":694,"title":{},"content":{"49":{"position":[[34,7]]},"243":{"position":[[653,6]]},"335":{"position":[[84,7]]},"339":{"position":[[20,7]]},"348":{"position":[[20,7]]},"1474":{"position":[[14471,7]]},"1566":{"position":[[1231,7]]},"2351":{"position":[[603,7]]}},"keywords":{}}],["describ",{"_index":1036,"title":{},"content":{"100":{"position":[[220,9]]},"2241":{"position":[[378,9]]},"2327":{"position":[[318,9]]}},"keywords":{}}],["descript",{"_index":658,"title":{},"content":{"44":{"position":[[14,11]]},"51":{"position":[[14,11]]},"58":{"position":[[13,11]]},"182":{"position":[[2021,12],[2097,11],[2226,11],[2313,11]]},"317":{"position":[[1195,12]]}},"keywords":{}}],["descriptioncolor",{"_index":7630,"title":{},"content":{"1953":{"position":[[381,16]]},"2058":{"position":[[3637,16]]}},"keywords":{}}],["descriptioncolor32",{"_index":8235,"title":{},"content":{"2058":{"position":[[3848,18]]}},"keywords":{}}],["descriptioncysharp.threading.tasks.unitask",{"_index":9068,"title":{},"content":{"2417":{"position":[[4617,42],[5738,42],[7643,42],[8652,42]]}},"keywords":{}}],["descriptioncysharp.threading.tasks.unitask<mirage.authentication.authenticationresult>",{"_index":7171,"title":{},"content":{"1772":{"position":[[350,92]]},"1795":{"position":[[393,92]]}},"keywords":{}}],["descriptioncysharp.threading.tasks.unitask<system.valuetuple<system.boolean",{"_index":8875,"title":{},"content":{"2325":{"position":[[106,82]]}},"keywords":{}}],["descriptioncysharp.threading.tasks.unitask<t>",{"_index":7656,"title":{},"content":{"1966":{"position":[[1256,51]]},"1979":{"position":[[825,51]]}},"keywords":{}}],["descriptiongameobject",{"_index":7830,"title":{},"content":{"2012":{"position":[[2043,21]]},"2277":{"position":[[203,21]]},"2478":{"position":[[5421,21]]},"2482":{"position":[[5123,21]]}},"keywords":{}}],["descriptionilogg",{"_index":7573,"title":{},"content":{"1935":{"position":[[188,18],[412,18],[654,18]]},"1939":{"position":[[128,18],[370,18],[613,18],[797,18],[954,18],[1132,18],[1312,18]]}},"keywords":{}}],["descriptioniloghandl",{"_index":7583,"title":{},"content":{"1935":{"position":[[937,22]]}},"keywords":{}}],["descriptionlogtyp",{"_index":7572,"title":{},"content":{"1935":{"position":[[138,18]]},"1947":{"position":[[371,18]]}},"keywords":{}}],["descriptionmatrix4x4",{"_index":8247,"title":{},"content":{"2058":{"position":[[4670,20]]}},"keywords":{}}],["descriptionmirage.authentication.authenticationresult",{"_index":7175,"title":{},"content":{"1775":{"position":[[170,53],[509,53],[892,53],[1111,53],[1448,53]]},"1795":{"position":[[830,53]]},"1820":{"position":[[301,53]]},"1826":{"position":[[330,53]]}},"keywords":{}}],["descriptionmirage.authentication.inetworkauthent",{"_index":7177,"title":{},"content":{"1775":{"position":[[406,54]]},"1801":{"position":[[167,54]]}},"keywords":{}}],["descriptionmirage.authentication.playerauthent",{"_index":8831,"title":{},"content":{"2299":{"position":[[173,53]]},"2401":{"position":[[172,53]]}},"keywords":{}}],["descriptionmirage.authenticators.sessionid.clientsess",{"_index":7230,"title":{},"content":{"1812":{"position":[[116,56],[329,56]]}},"keywords":{}}],["descriptionmirage.autopool.wrapper<>",{"_index":8640,"title":{},"content":{"2238":{"position":[[83,42]]}},"keywords":{}}],["descriptionmirage.clientobjectmanag",{"_index":9225,"title":{},"content":{"2511":{"position":[[193,37]]}},"keywords":{}}],["descriptionmirage.collections.isyncobject",{"_index":8945,"title":{},"content":{"2359":{"position":[[504,41]]}},"keywords":{}}],["descriptionmirage.collections.synclist<t>",{"_index":7294,"title":{},"content":{"1846":{"position":[[109,47]]}},"keywords":{}}],["descriptionmirage.collections.synclist.enumerator<>",{"_index":7344,"title":{},"content":{"1855":{"position":[[3857,57]]}},"keywords":{}}],["descriptionmirage.dynamicspawnhandlerdeleg",{"_index":8782,"title":{},"content":{"2265":{"position":[[6846,45]]}},"keywords":{}}],["descriptionmirage.gameobjectsyncvar",{"_index":8802,"title":{},"content":{"2281":{"position":[[490,35]]}},"keywords":{}}],["descriptionmirage.imessagereceiv",{"_index":8865,"title":{},"content":{"2322":{"position":[[482,34],[1068,34],[1800,34],[2512,34]]}},"keywords":{}}],["descriptionmirage.imessagesend",{"_index":9025,"title":{},"content":{"2409":{"position":[[186,32]]}},"keywords":{}}],["descriptionmirage.inetworkplay",{"_index":7170,"title":{},"content":{"1772":{"position":[[295,32]]},"1795":{"position":[[303,32],[765,32]]},"1820":{"position":[[188,32],[510,32]]},"1826":{"position":[[214,32]]},"2229":{"position":[[129,32]]},"2253":{"position":[[1009,32],[1250,32]]},"2292":{"position":[[850,32]]},"2301":{"position":[[113,32]]},"2320":{"position":[[865,32],[1108,32]]},"2371":{"position":[[950,32]]},"2383":{"position":[[412,32]]},"2397":{"position":[[353,32]]},"2404":{"position":[[369,32]]},"2417":{"position":[[706,32],[1059,32],[1613,32],[2122,32],[2562,32],[9153,32],[9616,32],[10600,32]]},"2434":{"position":[[310,32]]},"2473":{"position":[[129,32]]},"2482":{"position":[[568,32],[1376,32],[2169,32],[3027,32],[3391,32],[3674,32],[6130,32],[6470,32],[6938,32],[7346,32],[7957,32]]}},"keywords":{}}],["descriptionmirage.iobjectloc",{"_index":8858,"title":{},"content":{"2319":{"position":[[197,32]]}},"keywords":{}}],["descriptionmirage.logging.logsettingsso",{"_index":7564,"title":{},"content":{"1932":{"position":[[138,39],[326,39]]}},"keywords":{}}],["descriptionmirage.logging.mirageloghandler.set",{"_index":7610,"title":{},"content":{"1946":{"position":[[216,51]]}},"keywords":{}}],["descriptionmirage.logging.mirageloghandler.timeprefix",{"_index":7621,"title":{},"content":{"1951":{"position":[[180,53]]}},"keywords":{}}],["descriptionmirage.messagedelegatewithplayer<t>",{"_index":8821,"title":{},"content":{"2292":{"position":[[454,52]]},"2320":{"position":[[215,52]]},"2325":{"position":[[500,52]]}},"keywords":{}}],["descriptionmirage.networkbehaviorsyncvar",{"_index":8886,"title":{},"content":{"2329":{"position":[[532,40]]}},"keywords":{}}],["descriptionmirage.networkbehaviorsyncvar<t>",{"_index":8892,"title":{},"content":{"2329":{"position":[[1316,49]]}},"keywords":{}}],["descriptionmirage.networkbehaviour",{"_index":7273,"title":{},"content":{"1835":{"position":[[1689,34]]},"1855":{"position":[[325,34]]},"1860":{"position":[[325,34]]},"1865":{"position":[[325,34]]},"1874":{"position":[[325,34]]},"1960":{"position":[[241,34]]},"1966":{"position":[[231,34],[653,34],[1098,34],[1623,34],[2098,34],[2496,34]]},"1971":{"position":[[124,36],[1288,34],[1516,34]]},"1979":{"position":[[235,34],[664,34],[1128,34]]},"2012":{"position":[[1541,34]]},"2334":{"position":[[136,34]]},"2341":{"position":[[253,34]]}},"keywords":{}}],["descriptionmirage.networkbehaviour.id",{"_index":8909,"title":{},"content":{"2343":{"position":[[213,37]]}},"keywords":{}}],["descriptionmirage.networkcli",{"_index":7213,"title":{},"content":{"1795":{"position":[[1056,31]]},"1826":{"position":[[523,31]]},"2324":{"position":[[153,31]]},"2421":{"position":[[343,31]]},"2527":{"position":[[159,31]]}},"keywords":{}}],["descriptionmirage.networkflag",{"_index":9006,"title":{},"content":{"2385":{"position":[[124,30]]}},"keywords":{}}],["descriptionmirage.networkident",{"_index":7823,"title":{},"content":{"2012":{"position":[[1286,33]]},"2265":{"position":[[1764,33],[2723,33],[3064,33],[3435,33],[4386,33],[5742,33]]},"2277":{"position":[[251,33]]},"2306":{"position":[[122,33],[301,33]]},"2311":{"position":[[155,33],[366,33],[705,33]]},"2401":{"position":[[1731,33],[1903,33],[2116,33],[2487,33],[2659,33]]},"2421":{"position":[[3156,33]]},"2478":{"position":[[5965,33]]},"2482":{"position":[[4175,33],[4574,33],[4805,33],[5474,33]]},"2486":{"position":[[111,33],[637,33],[1282,33]]},"2509":{"position":[[107,33]]},"2511":{"position":[[254,33],[621,33]]},"2516":{"position":[[632,33],[881,33],[1090,33]]},"2529":{"position":[[119,33]]}},"keywords":{}}],["descriptionmirage.networkidentitysyncvar",{"_index":8928,"title":{},"content":{"2355":{"position":[[530,40]]}},"keywords":{}}],["descriptionmirage.networkserv",{"_index":7168,"title":{},"content":{"1772":{"position":[[98,31]]},"2527":{"position":[[394,31]]}},"keywords":{}}],["descriptionmirage.networkworld",{"_index":9126,"title":{},"content":{"2437":{"position":[[270,30],[625,30]]}},"keywords":{}}],["descriptionmirage.remotecalls.remotecal",{"_index":7673,"title":{},"content":{"1971":{"position":[[1595,40],[1779,40]]}},"keywords":{}}],["descriptionmirage.remotecalls.remotecallcollect",{"_index":8965,"title":{},"content":{"2359":{"position":[[5102,50]]}},"keywords":{}}],["descriptionmirage.serialization.miragenetworkread",{"_index":7820,"title":{},"content":{"2012":{"position":[[1016,51]]}},"keywords":{}}],["descriptionmirage.serialization.networkread",{"_index":7270,"title":{},"content":{"1835":{"position":[[961,45],[1185,45]]},"1855":{"position":[[928,45],[1106,45]]},"1860":{"position":[[928,45],[1106,45]]},"1865":{"position":[[928,45],[1106,45]]},"1874":{"position":[[928,45],[1106,45]]},"1988":{"position":[[600,45]]},"1994":{"position":[[419,45]]},"1998":{"position":[[403,45]]},"2001":{"position":[[1338,45]]},"2003":{"position":[[2363,45],[2636,45],[2893,45],[3177,45],[3433,45],[3714,45],[4045,45]]},"2010":{"position":[[1328,45]]},"2012":{"position":[[948,45],[1218,45],[1473,45],[1759,45],[1975,45]]},"2025":{"position":[[1017,45],[1242,45],[1466,45],[1692,45]]},"2040":{"position":[[354,45],[1003,45]]},"2044":{"position":[[816,45]]},"2047":{"position":[[294,45]]},"2050":{"position":[[292,45]]},"2056":{"position":[[2733,45],[2962,45],[3171,45],[3403,45],[3635,45],[3868,45],[4101,45],[4335,45],[4572,45],[4783,45],[5060,45]]},"2058":{"position":[[2486,45],[2699,45],[2912,45],[3134,45],[3359,45],[3569,45],[3780,45],[3984,45],[4188,45],[4387,45],[4602,45]]},"2060":{"position":[[373,45]]},"2063":{"position":[[297,45]]},"2066":{"position":[[1338,45],[1540,45],[1748,45]]},"2071":{"position":[[297,45]]},"2074":{"position":[[291,45]]},"2079":{"position":[[291,45]]},"2281":{"position":[[422,45]]},"2329":{"position":[[464,45],[1248,45]]},"2332":{"position":[[465,45]]},"2355":{"position":[[462,45]]},"2359":{"position":[[3282,45],[3872,45]]},"2429":{"position":[[743,45]]},"2513":{"position":[[372,45]]}},"keywords":{}}],["descriptionmirage.serialization.networkwrit",{"_index":7267,"title":{},"content":{"1835":{"position":[[542,45],[762,45]]},"1855":{"position":[[580,45],[754,45]]},"1860":{"position":[[580,45],[754,45]]},"1865":{"position":[[580,45],[754,45]]},"1874":{"position":[[580,45],[754,45]]},"1988":{"position":[[269,45]]},"1994":{"position":[[186,45]]},"1998":{"position":[[177,45]]},"2001":{"position":[[408,45],[949,45]]},"2003":{"position":[[278,45],[594,45],[889,45],[1188,45],[1442,45],[1742,45],[2106,45]]},"2012":{"position":[[180,45],[447,45],[691,45]]},"2025":{"position":[[146,45],[369,45],[590,45],[814,45]]},"2031":{"position":[[4089,45],[4370,45]]},"2040":{"position":[[144,45],[635,45]]},"2044":{"position":[[480,45]]},"2047":{"position":[[118,45]]},"2050":{"position":[[117,45]]},"2056":{"position":[[154,45],[384,45],[593,45],[828,45],[1065,45],[1297,45],[1531,45],[1767,45],[2007,45],[2218,45],[2511,45]]},"2058":{"position":[[148,45],[364,45],[580,45],[808,45],[1039,45],[1250,45],[1464,45],[1668,45],[1873,45],[2071,45],[2291,45]]},"2060":{"position":[[146,45]]},"2063":{"position":[[123,45]]},"2066":{"position":[[751,45],[949,45],[1153,45]]},"2071":{"position":[[123,45]]},"2074":{"position":[[120,45]]},"2079":{"position":[[120,45]]},"2281":{"position":[[185,45]]},"2329":{"position":[[205,45],[884,45]]},"2332":{"position":[[168,45]]},"2355":{"position":[[205,45]]},"2359":{"position":[[2761,45],[3587,45],[4290,45],[4539,45],[4764,45]]},"2429":{"position":[[217,45],[469,45]]},"2513":{"position":[[160,45]]}},"keywords":{}}],["descriptionmirage.serialization.poolednetworkread",{"_index":7963,"title":{},"content":{"2016":{"position":[[640,51],[1070,51],[1578,51]]},"2027":{"position":[[265,51]]}},"keywords":{}}],["descriptionmirage.serialization.poolednetworkwrit",{"_index":7966,"title":{},"content":{"2019":{"position":[[470,51]]},"2033":{"position":[[312,51]]}},"keywords":{}}],["descriptionmirage.serialization.varintpack",{"_index":8258,"title":{},"content":{"2066":{"position":[[208,44],[578,44]]}},"keywords":{}}],["descriptionmirage.serverobjectmanag",{"_index":9162,"title":{},"content":{"2478":{"position":[[602,37],[1528,37],[2355,37],[3230,37],[3775,37],[4346,37],[4841,37],[5271,37],[5803,37]]}},"keywords":{}}],["descriptionmirage.socketlayer.acksystem.reliablepacket",{"_index":8362,"title":{},"content":{"2103":{"position":[[936,54]]}},"keywords":{}}],["descriptionmirage.socketlayer.acksystem.reliablereceiv",{"_index":8348,"title":{},"content":{"2100":{"position":[[125,56]]},"2114":{"position":[[318,56],[555,56]]}},"keywords":{}}],["descriptionmirage.socketlayer.bytebuff",{"_index":8345,"title":{},"content":{"2097":{"position":[[154,40]]},"2122":{"position":[[274,40]]}},"keywords":{}}],["descriptionmirage.socketlayer.iconnect",{"_index":8443,"title":{},"content":{"2132":{"position":[[145,41],[395,41],[634,41],[942,41],[1275,41],[1606,41],[1886,41],[2132,41]]},"2136":{"position":[[206,41]]},"2156":{"position":[[293,41]]},"2173":{"position":[[307,41]]},"2399":{"position":[[207,41]]}},"keywords":{}}],["descriptionmirage.socketlayer.idatahandl",{"_index":9143,"title":{},"content":{"2458":{"position":[[268,42]]}},"keywords":{}}],["descriptionmirage.socketlayer.iendpoint",{"_index":8454,"title":{},"content":{"2145":{"position":[[168,39]]},"2156":{"position":[[83,39],[229,39]]},"2158":{"position":[[165,39],[387,39],[1464,39]]},"2173":{"position":[[90,39],[243,39]]},"2199":{"position":[[311,39],[881,39]]},"2210":{"position":[[450,39]]},"2213":{"position":[[72,39]]},"2223":{"position":[[90,39],[236,39],[779,39]]},"2227":{"position":[[90,39],[236,39],[820,39]]},"2233":{"position":[[359,39],[680,39]]},"2449":{"position":[[85,39]]}},"keywords":{}}],["descriptionmirage.socketlayer.inotifycallback",{"_index":8459,"title":{},"content":{"2149":{"position":[[143,45]]}},"keywords":{}}],["descriptionmirage.socketlayer.inotifytoken",{"_index":8399,"title":{},"content":{"2114":{"position":[[923,42]]},"2132":{"position":[[717,42],[1050,42]]},"2141":{"position":[[266,42]]},"2458":{"position":[[1012,42],[1266,42],[1459,42]]}},"keywords":{}}],["descriptionmirage.socketlayer.irawconnect",{"_index":8379,"title":{},"content":{"2112":{"position":[[299,44]]}},"keywords":{}}],["descriptionmirage.socketlayer.isocket",{"_index":8537,"title":{},"content":{"2171":{"position":[[240,37]]},"2199":{"position":[[133,37],[485,37]]},"2233":{"position":[[95,37],[229,37]]}},"keywords":{}}],["descriptionmirage.socketlayer.packettyp",{"_index":8504,"title":{},"content":{"2166":{"position":[[1645,40]]}},"keywords":{}}],["descriptionmirage.socketlayer.pool<mirage.autopool.wrapper<>>",{"_index":8726,"title":{},"content":{"2246":{"position":[[143,73]]}},"keywords":{}}],["descriptionmirage.socketlayer.pool<mirage.serialization.poolednetworkreader>",{"_index":8037,"title":{},"content":{"2027":{"position":[[162,82]]}},"keywords":{}}],["descriptionmirage.socketlayer.pool<mirage.socketlayer.acksystem.reliablepacket>",{"_index":8361,"title":{},"content":{"2103":{"position":[[830,85]]}},"keywords":{}}],["descriptionmirage.socketlayer.pool.createnewitem<>",{"_index":8554,"title":{},"content":{"2183":{"position":[[774,56]]}},"keywords":{}}],["descriptionmirage.socketlayer.pool.createnewitemnocount<>",{"_index":8552,"title":{},"content":{"2183":{"position":[[266,63]]}},"keywords":{}}],["descriptionmirage.sockets.udp.udpsocketfactori",{"_index":8623,"title":{},"content":{"2221":{"position":[[110,46]]}},"keywords":{}}],["descriptionmirage.spawnhandl",{"_index":8763,"title":{},"content":{"2265":{"position":[[951,30]]}},"keywords":{}}],["descriptionmirage.spawnhandlerasyncdeleg",{"_index":9195,"title":{},"content":{"2486":{"position":[[949,43]]}},"keywords":{}}],["descriptionmirage.spawnhandlerdeleg",{"_index":9192,"title":{},"content":{"2486":{"position":[[329,38]]}},"keywords":{}}],["descriptionmirage.syncfrom",{"_index":9248,"title":{},"content":{"2516":{"position":[[1309,26],[1530,26]]}},"keywords":{}}],["descriptionmirage.syncprefab",{"_index":9232,"title":{},"content":{"2513":{"position":[[440,28]]}},"keywords":{}}],["descriptionmirage.unspawndeleg",{"_index":9198,"title":{},"content":{"2489":{"position":[[134,33]]}},"keywords":{}}],["descriptionplan",{"_index":8241,"title":{},"content":{"2058":{"position":[[4256,16]]}},"keywords":{}}],["descriptionquaternion",{"_index":7752,"title":{},"content":{"1994":{"position":[[487,21]]},"2044":{"position":[[106,21],[331,21],[641,21],[884,21],[1047,21]]}},"keywords":{}}],["descriptionray",{"_index":8244,"title":{},"content":{"2058":{"position":[[4455,14]]}},"keywords":{}}],["descriptionrect",{"_index":8238,"title":{},"content":{"2058":{"position":[[4052,15]]}},"keywords":{}}],["descriptionrender",{"_index":8817,"title":{},"content":{"2290":{"position":[[232,21]]}},"keywords":{}}],["descriptionscen",{"_index":8735,"title":{},"content":{"2253":{"position":[[513,16]]},"2417":{"position":[[313,16],[797,18],[3937,16],[4395,16],[7940,16],[8422,16],[10926,16]]},"2473":{"position":[[694,16]]}},"keywords":{}}],["descriptionsystem.act",{"_index":7481,"title":{},"content":{"1899":{"position":[[97,24],[234,24]]},"1914":{"position":[[90,24],[220,24]]}},"keywords":{}}],["descriptionsystem.action<mirage.inetworkplay",{"_index":9097,"title":{},"content":{"2421":{"position":[[782,50]]}},"keywords":{}}],["descriptionsystem.action<t>",{"_index":8615,"title":{},"content":{"2204":{"position":[[2123,33]]}},"keywords":{}}],["descriptionsystem.action<t0",{"_index":7485,"title":{},"content":{"1902":{"position":[[125,31],[304,31]]},"1920":{"position":[[118,31],[290,31]]}},"keywords":{}}],["descriptionsystem.action<t0>",{"_index":7475,"title":{},"content":{"1897":{"position":[[117,34],[284,34]]},"1916":{"position":[[110,34],[270,34]]}},"keywords":{}}],["descriptionsystem.arraysegment<system.byte>",{"_index":7245,"title":{},"content":{"1820":{"position":[[565,49]]},"2003":{"position":[[2704,49]]},"2016":{"position":[[464,49]]},"2023":{"position":[[389,49],[3960,49]]},"2031":{"position":[[349,49]]},"2114":{"position":[[1756,49]]},"2296":{"position":[[337,49]]},"2351":{"position":[[1080,49]]},"2401":{"position":[[1179,49]]},"2458":{"position":[[1194,49],[1971,49],[2636,49],[3179,49]]}},"keywords":{}}],["descriptionsystem.arraysegment<t>",{"_index":7796,"title":{},"content":{"2003":{"position":[[3782,39]]}},"keywords":{}}],["descriptionsystem.boolean",{"_index":7226,"title":{},"content":{"1806":{"position":[[167,25]]},"1812":{"position":[[196,25]]},"1835":{"position":[[244,25]]},"1844":{"position":[[114,25]]},"1848":{"position":[[63,25]]},"1855":{"position":[[128,25],[1584,25],[2959,25]]},"1860":{"position":[[128,25],[1261,25],[1564,25],[1848,25],[2757,25],[3001,25],[3229,25],[3461,25],[3685,25],[3911,25]]},"1865":{"position":[[128,25],[1327,25],[1468,25],[1662,25],[2256,25],[2775,25]]},"1874":{"position":[[128,25]]},"1878":{"position":[[88,25]]},"1939":{"position":[[995,25],[1173,25],[1353,25]]},"1966":{"position":[[1797,25],[2186,25],[2585,25]]},"1979":{"position":[[1220,25]]},"2023":{"position":[[153,25],[844,25],[1042,25],[1243,25],[1339,25]]},"2027":{"position":[[556,25]]},"2031":{"position":[[496,25]]},"2056":{"position":[[3471,25]]},"2100":{"position":[[203,25]]},"2103":{"position":[[626,25]]},"2114":{"position":[[397,25],[2043,25]]},"2158":{"position":[[614,25]]},"2204":{"position":[[535,25],[794,25],[1340,25]]},"2210":{"position":[[136,25]]},"2223":{"position":[[384,25]]},"2227":{"position":[[405,25]]},"2229":{"position":[[184,25]]},"2290":{"position":[[384,25]]},"2301":{"position":[[168,25]]},"2303":{"position":[[344,25]]},"2306":{"position":[[583,25]]},"2311":{"position":[[763,25]]},"2332":{"position":[[264,25]]},"2343":{"position":[[272,25],[435,25]]},"2359":{"position":[[165,25],[1043,25],[2106,25],[2315,25],[2450,25],[2941,25],[3683,25],[4386,25],[4607,25],[4832,25]]},"2371":{"position":[[263,25]]},"2383":{"position":[[498,25]]},"2397":{"position":[[439,25]]},"2401":{"position":[[2174,25],[2834,25]]},"2404":{"position":[[455,25]]},"2411":{"position":[[238,25],[557,25]]},"2417":{"position":[[443,25]]},"2429":{"position":[[565,25]]},"2434":{"position":[[396,25]]},"2441":{"position":[[228,25]]},"2473":{"position":[[184,25]]},"2489":{"position":[[255,25]]},"2516":{"position":[[720,25],[939,25],[1148,25],[1373,25]]}},"keywords":{}}],["descriptionsystem.byt",{"_index":7785,"title":{},"content":{"2003":{"position":[[2431,24],[2980,24]]},"2010":{"position":[[841,24],[1048,24]]},"2016":{"position":[[920,24],[1388,24]]},"2023":{"position":[[531,24],[686,24],[1666,22],[3722,24]]},"2031":{"position":[[228,24],[902,22],[3875,24]]},"2056":{"position":[[2801,22]]},"2110":{"position":[[77,24]]},"2114":{"position":[[830,24],[1149,24],[1410,24],[1689,24],[1997,24],[2219,24],[2392,24]]},"2119":{"position":[[77,24],[489,24]]},"2126":{"position":[[144,24],[339,24],[406,22],[582,24],[785,24],[1024,24],[1221,24],[1463,24],[1663,24]]},"2141":{"position":[[179,24],[479,24],[764,24],[971,24]]},"2152":{"position":[[213,24]]},"2158":{"position":[[984,24]]},"2189":{"position":[[77,24]]},"2223":{"position":[[537,24]]},"2227":{"position":[[578,24]]},"2458":{"position":[[925,24],[1412,24],[1679,24],[2212,24],[2427,24],[2794,24],[2968,24],[3339,24]]}},"keywords":{}}],["descriptionsystem.char",{"_index":8171,"title":{},"content":{"2056":{"position":[[3239,22]]}},"keywords":{}}],["descriptionsystem.collections.generic.dictionary<tkey",{"_index":7799,"title":{},"content":{"2003":{"position":[[4113,57]]}},"keywords":{}}],["descriptionsystem.collections.generic.dictionary.enumerator<>",{"_index":7288,"title":{},"content":{"1842":{"position":[[110,67]]}},"keywords":{}}],["descriptionsystem.collections.generic.hashset<mirage.inetworkplayer>",{"_index":8631,"title":{},"content":{"2229":{"position":[[405,74]]},"2301":{"position":[[373,74]]},"2383":{"position":[[983,74]]},"2397":{"position":[[924,74]]},"2404":{"position":[[940,74]]},"2434":{"position":[[1069,74]]},"2473":{"position":[[405,74]]}},"keywords":{}}],["descriptionsystem.collections.generic.hashset.enumerator<>",{"_index":7279,"title":{},"content":{"1838":{"position":[[96,64]]}},"keywords":{}}],["descriptionsystem.collections.generic.icomparer<t>",{"_index":7299,"title":{},"content":{"1850":{"position":[[175,56]]}},"keywords":{}}],["descriptionsystem.collections.generic.idictionary<tkey",{"_index":7367,"title":{},"content":{"1862":{"position":[[150,58]]}},"keywords":{}}],["descriptionsystem.collections.generic.ienumerable<mirage.inetworkplayer>",{"_index":9085,"title":{},"content":{"2417":{"position":[[10096,78]]},"2421":{"position":[[2286,78]]}},"keywords":{}}],["descriptionsystem.collections.generic.ienumerable<mirage.networkidentity>",{"_index":8756,"title":{},"content":{"2265":{"position":[[428,79]]},"2511":{"position":[[515,79]]}},"keywords":{}}],["descriptionsystem.collections.generic.ienumerable<t>",{"_index":7315,"title":{},"content":{"1855":{"position":[[1364,58]]},"1860":{"position":[[2285,58],[2478,58],[2677,58],[2921,58],[3149,58],[3381,58],[3605,58],[3831,58],[4077,58],[4262,58]]},"1874":{"position":[[1366,58]]}},"keywords":{}}],["descriptionsystem.collections.generic.ienumerator<system.collections.generic.keyvaluepair<tkey",{"_index":7391,"title":{},"content":{"1865":{"position":[[2922,101]]}},"keywords":{}}],["descriptionsystem.collections.generic.ienumerator<t>",{"_index":7347,"title":{},"content":{"1855":{"position":[[4040,58]]},"1860":{"position":[[1964,58]]},"1874":{"position":[[1813,58]]}},"keywords":{}}],["descriptionsystem.collections.generic.iequalitycomparer<t>",{"_index":7276,"title":{},"content":{"1837":{"position":[[183,64]]},"1853":{"position":[[171,64]]}},"keywords":{}}],["descriptionsystem.collections.generic.iequalitycomparer<tkey>",{"_index":7283,"title":{},"content":{"1840":{"position":[[195,67]]}},"keywords":{}}],["descriptionsystem.collections.generic.ilist<t>",{"_index":7306,"title":{},"content":{"1853":{"position":[[420,52]]}},"keywords":{}}],["descriptionsystem.collections.generic.ireadonlylist<mirage.inetworkplayer>",{"_index":9102,"title":{},"content":{"2421":{"position":[[1829,80],[4163,80]]}},"keywords":{}}],["descriptionsystem.collections.generic.iset<t>",{"_index":7352,"title":{},"content":{"1857":{"position":[[98,51]]}},"keywords":{}}],["descriptionsystem.collections.generic.keyvaluepair<tkey",{"_index":7384,"title":{},"content":{"1865":{"position":[[1948,59],[2165,59],[2684,59]]}},"keywords":{}}],["descriptionsystem.collections.generic.keyvaluepair{{tkey},{tvalu",{"_index":7387,"title":{},"content":{"1865":{"position":[[2447,69]]}},"keywords":{}}],["descriptionsystem.collections.generic.list<mirage.inetworkplayer>",{"_index":9113,"title":{},"content":{"2421":{"position":[[3663,71]]}},"keywords":{}}],["descriptionsystem.collections.generic.list<t>",{"_index":7329,"title":{},"content":{"1855":{"position":[[2443,51]]},"2003":{"position":[[3245,51]]}},"keywords":{}}],["descriptionsystem.collections.generic.sortedset.enumerator<>",{"_index":7301,"title":{},"content":{"1851":{"position":[[98,66]]}},"keywords":{}}],["descriptionsystem.collections.generic.stack<t>",{"_index":7404,"title":{},"content":{"1872":{"position":[[150,52]]}},"keywords":{}}],["descriptionsystem.collections.ienumer",{"_index":7349,"title":{},"content":{"1855":{"position":[[4197,41]]},"1860":{"position":[[2121,41]]},"1865":{"position":[[3137,41]]},"1874":{"position":[[1970,41]]},"1886":{"position":[[66,41]]}},"keywords":{}}],["descriptionsystem.decim",{"_index":8184,"title":{},"content":{"2056":{"position":[[4640,25]]}},"keywords":{}}],["descriptionsystem.doubl",{"_index":7998,"title":{},"content":{"2023":{"position":[[2405,24]]},"2031":{"position":[[1894,24]]},"2046":{"position":[[124,24]]},"2047":{"position":[[362,24]]},"2056":{"position":[[4403,24]]},"2274":{"position":[[125,24]]},"2359":{"position":[[1884,24],[2061,24],[2270,24]]},"2516":{"position":[[128,24]]}},"keywords":{}}],["descriptionsystem.except",{"_index":7612,"title":{},"content":{"1947":{"position":[[131,27]]}},"keywords":{}}],["descriptionsystem.func<system.str",{"_index":7587,"title":{},"content":{"1935":{"position":[[1372,40]]}},"keywords":{}}],["descriptionsystem.guid",{"_index":8187,"title":{},"content":{"2056":{"position":[[4851,22]]}},"keywords":{}}],["descriptionsystem.int16",{"_index":7988,"title":{},"content":{"2023":{"position":[[1756,23]]},"2031":{"position":[[1023,23]]},"2056":{"position":[[3703,23]]}},"keywords":{}}],["descriptionsystem.int32",{"_index":7323,"title":{},"content":{"1855":{"position":[[1869,23],[2066,23],[2588,23],[2767,23],[3071,23],[3274,23],[3729,23]]},"1971":{"position":[[433,23],[951,23],[1348,23],[1734,23]]},"1981":{"position":[[101,23]]},"1985":{"position":[[130,23]]},"1990":{"position":[[403,23],[935,23],[1190,23]]},"1992":{"position":[[288,23],[574,23]]},"2010":{"position":[[293,23],[481,23],[1403,23]]},"2016":{"position":[[136,23]]},"2019":{"position":[[267,23]]},"2023":{"position":[[993,23],[1194,23],[1940,23],[2508,23],[2739,23],[2962,23],[3273,23],[3915,23]]},"2025":{"position":[[1085,23]]},"2029":{"position":[[100,23],[268,23]]},"2031":{"position":[[1270,23],[3433,23]]},"2033":{"position":[[185,23]]},"2035":{"position":[[122,23]]},"2042":{"position":[[115,23]]},"2054":{"position":[[262,23]]},"2066":{"position":[[135,23],[450,23]]},"2089":{"position":[[84,23],[431,23]]},"2103":{"position":[[465,23]]},"2108":{"position":[[186,23]]},"2110":{"position":[[189,23]]},"2116":{"position":[[82,23]]},"2119":{"position":[[189,23]]},"2122":{"position":[[158,23]]},"2158":{"position":[[1129,23]]},"2164":{"position":[[85,23]]},"2166":{"position":[[91,23],[214,23],[332,23],[452,23],[594,23],[742,23],[896,23],[1040,23],[1190,23],[1330,23],[1476,23]]},"2177":{"position":[[128,23]]},"2185":{"position":[[184,23]]},"2187":{"position":[[318,23]]},"2189":{"position":[[189,23]]},"2191":{"position":[[81,23]]},"2201":{"position":[[112,23],[350,23]]},"2210":{"position":[[240,23]]},"2223":{"position":[[622,23]]},"2227":{"position":[[663,23]]},"2265":{"position":[[879,23],[5269,23],[6100,23],[6438,23]]},"2272":{"position":[[108,23]]},"2332":{"position":[[1137,23],[1797,23]]},"2343":{"position":[[77,23]]},"2359":{"position":[[4938,23]]},"2501":{"position":[[232,23]]},"2509":{"position":[[232,23]]}},"keywords":{}}],["descriptionsystem.int64",{"_index":7994,"title":{},"content":{"2023":{"position":[[2123,23]]},"2025":{"position":[[1534,23]]},"2031":{"position":[[1516,23]]},"2089":{"position":[[237,23],[585,23]]},"2193":{"position":[[1029,23]]},"2204":{"position":[[143,23]]}},"keywords":{}}],["descriptionsystem.net.endpoint",{"_index":8618,"title":{},"content":{"2208":{"position":[[105,30]]}},"keywords":{}}],["descriptionsystem.nullable<t>",{"_index":8190,"title":{},"content":{"2056":{"position":[[5128,35]]}},"keywords":{}}],["descriptionsystem.object",{"_index":8359,"title":{},"content":{"2103":{"position":[[582,24]]},"2210":{"position":[[92,24]]},"2343":{"position":[[391,24]]},"2346":{"position":[[128,24]]}},"keywords":{}}],["descriptionsystem.predicate<t>",{"_index":7325,"title":{},"content":{"1855":{"position":[[2008,36],[2193,36],[2385,36],[3216,36]]}},"keywords":{}}],["descriptionsystem.runtime.serialization.serializationinfo",{"_index":8787,"title":{},"content":{"2269":{"position":[[344,57]]},"2327":{"position":[[529,57]]}},"keywords":{}}],["descriptionsystem.sbyt",{"_index":7986,"title":{},"content":{"2023":{"position":[[1578,23]]},"2031":{"position":[[784,23]]},"2056":{"position":[[3030,23]]}},"keywords":{}}],["descriptionsystem.singl",{"_index":7723,"title":{},"content":{"1987":{"position":[[99,24]]},"1988":{"position":[[80,24],[473,24],[668,24]]},"1990":{"position":[[251,24],[760,24]]},"1996":{"position":[[126,24],[456,24]]},"2000":{"position":[[118,24],[363,24],[555,24],[886,24]]},"2001":{"position":[[150,24],[746,24],[1181,24],[1406,24]]},"2023":{"position":[[2310,24]]},"2031":{"position":[[1767,24]]},"2049":{"position":[[121,24]]},"2050":{"position":[[360,24]]},"2056":{"position":[[4169,24]]},"2068":{"position":[[178,24],[429,24],[673,24],[916,24]]},"2073":{"position":[[156,24],[416,24]]},"2076":{"position":[[224,24],[539,24],[844,24],[1149,24]]},"2078":{"position":[[198,24],[546,24]]},"2516":{"position":[[375,24]]}},"keywords":{}}],["descriptionsystem.str",{"_index":7174,"title":{},"content":{"1775":{"position":[[123,24],[768,24],[1064,24],[1343,24]]},"1935":{"position":[[579,24]]},"1941":{"position":[[145,24],[337,24]]},"1944":{"position":[[173,24]]},"1953":{"position":[[134,24],[203,24],[332,24]]},"1962":{"position":[[123,24]]},"2040":{"position":[[422,24],[1201,24]]},"2179":{"position":[[74,24]]},"2199":{"position":[[791,24]]},"2210":{"position":[[339,24]]},"2212":{"position":[[112,24]]},"2215":{"position":[[108,24]]},"2233":{"position":[[590,24]]},"2269":{"position":[[122,24]]},"2327":{"position":[[278,24]]},"2332":{"position":[[929,24],[1587,24]]},"2351":{"position":[[198,24]]},"2371":{"position":[[1394,24]]},"2401":{"position":[[1587,24]]},"2417":{"position":[[3503,24],[4970,24],[5508,24],[6224,24],[7154,24],[10836,24]]},"2458":{"position":[[619,24]]},"2493":{"position":[[74,24]]},"2495":{"position":[[110,24]]},"2498":{"position":[[74,24]]},"2501":{"position":[[187,24]]},"2516":{"position":[[1594,24]]}},"keywords":{}}],["descriptionsystem.timespan",{"_index":7225,"title":{},"content":{"1806":{"position":[[113,26]]}},"keywords":{}}],["descriptionsystem.typ",{"_index":7576,"title":{},"content":{"1935":{"position":[[345,22]]},"2010":{"position":[[438,22]]}},"keywords":{}}],["descriptionsystem.uint16",{"_index":7990,"title":{},"content":{"2023":{"position":[[1850,24]]},"2031":{"position":[[1149,24]]},"2056":{"position":[[3936,24]]},"2066":{"position":[[1816,24]]},"2103":{"position":[[88,24],[299,24]]},"2126":{"position":[[852,24]]}},"keywords":{}}],["descriptionsystem.uint32",{"_index":7728,"title":{},"content":{"1988":{"position":[[126,24],[427,24]]},"2001":{"position":[[196,24],[792,24],[1135,24]]},"2023":{"position":[[2032,24]]},"2025":{"position":[[1310,24]]},"2031":{"position":[[1394,24]]},"2044":{"position":[[149,24],[285,24]]},"2066":{"position":[[1608,24]]},"2089":{"position":[[125,24],[389,24]]},"2126":{"position":[[1288,24]]},"2204":{"position":[[98,24],[277,24],[748,24],[1511,24],[1637,24]]},"2294":{"position":[[101,24]]},"2303":{"position":[[174,24]]},"2341":{"position":[[97,24]]},"2441":{"position":[[150,24]]}},"keywords":{}}],["descriptionsystem.uint64",{"_index":7739,"title":{},"content":{"1990":{"position":[[1146,24]]},"1992":{"position":[[332,24],[636,24]]},"2023":{"position":[[1486,24],[2216,24],[2552,24],[2860,24]]},"2025":{"position":[[1760,24]]},"2031":{"position":[[661,24],[1641,24],[2025,24],[2444,24],[2972,24]]},"2044":{"position":[[684,24],[999,24]]},"2052":{"position":[[125,24],[372,24]]},"2060":{"position":[[464,24]]},"2065":{"position":[[123,24],[374,24]]},"2066":{"position":[[1406,24]]},"2089":{"position":[[278,24],[543,24]]},"2126":{"position":[[1730,24]]},"2193":{"position":[[111,24],[337,24],[408,24],[622,24],[693,24],[921,24]]},"2359":{"position":[[116,24],[329,24],[1306,24],[1626,24],[4087,24]]}},"keywords":{}}],["descriptionsystem.valuetuple{mirage.socketlayer.iconnection,mirage.socketlayer.iconnect",{"_index":9145,"title":{},"content":{"2458":{"position":[[452,91]]}},"keywords":{}}],["descriptionsystem.valuetuple{system.string,system.str",{"_index":7606,"title":{},"content":{"1944":{"position":[[222,57]]}},"keywords":{}}],["descriptionsystem.void",{"_index":8084,"title":{},"content":{"2031":{"position":[[4686,23]]}},"keywords":{}}],["descriptiont",{"_index":7222,"title":{},"content":{"1803":{"position":[[216,12]]},"1855":{"position":[[1228,12],[1551,12],[1836,12],[2251,12],[2926,12],[3508,12]]},"1860":{"position":[[1228,12],[1391,12],[1531,12],[1815,12]]},"1870":{"position":[[391,12]]},"1874":{"position":[[1230,12],[1675,12]]},"1963":{"position":[[209,12]]},"1998":{"position":[[471,12]]},"2010":{"position":[[641,12],[805,12],[1197,12]]},"2012":{"position":[[1827,12]]},"2023":{"position":[[3505,12]]},"2031":{"position":[[3658,12]]},"2185":{"position":[[300,12],[384,12]]},"2204":{"position":[[244,12],[502,12],[1164,12],[1307,12]]},"2296":{"position":[[131,12],[554,12]]},"2314":{"position":[[125,12]]},"2315":{"position":[[142,12]]},"2316":{"position":[[168,12]]},"2317":{"position":[[185,12]]},"2336":{"position":[[123,12]]},"2338":{"position":[[106,12]]},"2351":{"position":[[867,12],[1304,12]]},"2359":{"position":[[996,12]]},"2401":{"position":[[763,12],[1446,12]]},"2421":{"position":[[1169,12],[1457,12]]}},"keywords":{}}],["descriptiont0",{"_index":7479,"title":{},"content":{"1897":{"position":[[412,13]]},"1902":{"position":[[449,13]]},"1907":{"position":[[466,13]]},"1909":{"position":[[429,13]]}},"keywords":{}}],["descriptiontenumer",{"_index":9109,"title":{},"content":{"2421":{"position":[[2789,22]]}},"keywords":{}}],["descriptiontkey",{"_index":7379,"title":{},"content":{"1865":{"position":[[1292,15],[1433,15],[1614,15],[1784,15]]}},"keywords":{}}],["descriptiontransform",{"_index":8742,"title":{},"content":{"2253":{"position":[[1555,20]]}},"keywords":{}}],["descriptionunityact",{"_index":7489,"title":{},"content":{"1904":{"position":[[107,22],[252,22]]},"1918":{"position":[[100,22],[238,22]]}},"keywords":{}}],["descriptionunityaction<t0",{"_index":7514,"title":{},"content":{"1907":{"position":[[135,29],[322,29]]},"1924":{"position":[[128,29],[308,29]]}},"keywords":{}}],["descriptionunityaction<t0>",{"_index":7517,"title":{},"content":{"1909":{"position":[[127,32],[302,32]]},"1922":{"position":[[120,32],[288,32]]}},"keywords":{}}],["descriptionvector2",{"_index":8218,"title":{},"content":{"2058":{"position":[[2554,18]]},"2062":{"position":[[128,18]]},"2063":{"position":[[365,18]]},"2073":{"position":[[638,18]]},"2074":{"position":[[359,18]]}},"keywords":{}}],["descriptionvector2int",{"_index":8227,"title":{},"content":{"2058":{"position":[[3202,21]]}},"keywords":{}}],["descriptionvector3",{"_index":8221,"title":{},"content":{"2058":{"position":[[2767,18]]},"2070":{"position":[[128,18]]},"2071":{"position":[[365,18]]},"2078":{"position":[[812,18]]},"2079":{"position":[[359,18]]}},"keywords":{}}],["descriptionvector3int",{"_index":8230,"title":{},"content":{"2058":{"position":[[3427,21]]}},"keywords":{}}],["descriptionvector4",{"_index":8224,"title":{},"content":{"2058":{"position":[[2980,18]]}},"keywords":{}}],["description{t",{"_index":7320,"title":{},"content":{"1855":{"position":[[1713,16]]},"1860":{"position":[[1693,16]]},"1874":{"position":[[1577,16]]},"2003":{"position":[[3501,16]]}},"keywords":{}}],["deseri",{"_index":1158,"title":{},"content":{"123":{"position":[[247,11],[326,11]]},"929":{"position":[[27,11]]},"1353":{"position":[[254,11]]},"1358":{"position":[[254,11]]},"1363":{"position":[[254,11]]},"1368":{"position":[[254,11]]},"1373":{"position":[[60,11]]},"1377":{"position":[[60,11]]},"1381":{"position":[[60,11]]},"1385":{"position":[[60,11]]},"1389":{"position":[[60,11]]},"1393":{"position":[[60,11]]},"1397":{"position":[[60,11]]},"1401":{"position":[[60,11]]},"1405":{"position":[[60,11]]},"1409":{"position":[[60,11]]},"1413":{"position":[[60,11]]},"1417":{"position":[[60,11]]},"1421":{"position":[[60,11]]},"1425":{"position":[[60,11]]},"1429":{"position":[[60,11]]},"1433":{"position":[[60,11]]},"1437":{"position":[[14,11]]},"1440":{"position":[[14,11]]},"1450":{"position":[[80,11]]},"2031":{"position":[[2281,13]]},"2242":{"position":[[493,11]]},"2332":{"position":[[337,15]]},"2359":{"position":[[784,13]]}},"keywords":{}}],["deserializefailedexcept",{"_index":8642,"title":{"2268":{"position":[[6,26]]}},"content":{"2240":{"position":[[617,27]]}},"keywords":{}}],["deserializefailedexception(serializationinfo",{"_index":8785,"title":{},"content":{"2269":{"position":[[156,45],[244,44]]}},"keywords":{}}],["deserializefailedexception(str",{"_index":8784,"title":{},"content":{"2269":{"position":[[0,35],[56,33]]}},"keywords":{}}],["deserializesyncvar",{"_index":2834,"title":{},"content":{"346":{"position":[[1402,19]]},"363":{"position":[[378,19],[517,19]]}},"keywords":{}}],["deserializesyncvars(networkread",{"_index":1186,"title":{},"content":{"125":{"position":[[587,33]]},"131":{"position":[[534,33]]},"137":{"position":[[495,33]]},"142":{"position":[[582,33]]},"151":{"position":[[949,33]]},"156":{"position":[[539,33]]},"160":{"position":[[534,33]]},"346":{"position":[[1507,33]]},"2359":{"position":[[3710,34],[3788,33]]}},"keywords":{}}],["design",{"_index":1834,"title":{},"content":{"216":{"position":[[83,9]]},"240":{"position":[[1064,6],[1368,6],[1686,8]]}},"keywords":{}}],["desir",{"_index":923,"title":{},"content":{"82":{"position":[[56,7]]},"264":{"position":[[437,7]]},"360":{"position":[[212,8]]},"1474":{"position":[[15612,7]]}},"keywords":{}}],["desktop",{"_index":1475,"title":{"183":{"position":[[42,9]]}},"content":{"182":{"position":[[2146,7]]},"183":{"position":[[555,7],[1385,7]]},"184":{"position":[[575,7]]}},"keywords":{}}],["despawn",{"_index":8627,"title":{},"content":{"2225":{"position":[[155,9]]}},"keywords":{}}],["despit",{"_index":2297,"title":{},"content":{"270":{"position":[[0,7]]}},"keywords":{}}],["destin",{"_index":1621,"title":{},"content":{"195":{"position":[[344,11]]}},"keywords":{}}],["destroy",{"_index":150,"title":{"109":{"position":[[3,8]]},"222":{"position":[[0,11]]},"232":{"position":[[7,8]]},"234":{"position":[[7,8]]},"255":{"position":[[0,10]]},"277":{"position":[[13,11]]}},"content":{"3":{"position":[[660,7]]},"22":{"position":[[1299,9]]},"53":{"position":[[185,7]]},"63":{"position":[[264,7]]},"103":{"position":[[188,9]]},"109":{"position":[[100,10]]},"163":{"position":[[99,9]]},"164":{"position":[[380,10],[429,9]]},"171":{"position":[[179,10]]},"222":{"position":[[61,7],[103,7]]},"232":{"position":[[55,7],[237,7]]},"234":{"position":[[221,10]]},"235":{"position":[[1569,9],[2149,9]]},"237":{"position":[[101,7]]},"240":{"position":[[1346,8],[2355,7]]},"241":{"position":[[1640,7],[2538,7]]},"242":{"position":[[434,7],[847,7]]},"247":{"position":[[1330,10]]},"251":{"position":[[4247,7],[4650,7]]},"254":{"position":[[366,9],[1362,7]]},"255":{"position":[[345,10]]},"262":{"position":[[810,8]]},"263":{"position":[[154,7]]},"264":{"position":[[1958,9]]},"451":{"position":[[91,10]]},"670":{"position":[[192,7]]},"734":{"position":[[239,9]]},"736":{"position":[[49,9]]},"774":{"position":[[42,10]]},"878":{"position":[[7,7]]},"980":{"position":[[37,7]]},"981":{"position":[[33,7]]},"1173":{"position":[[6,7]]},"1192":{"position":[[23,10]]},"1210":{"position":[[20,9]]},"1350":{"position":[[172,7]]},"1355":{"position":[[172,7]]},"1360":{"position":[[172,7]]},"1365":{"position":[[172,7]]},"1370":{"position":[[172,7]]},"1375":{"position":[[126,7]]},"1379":{"position":[[126,7]]},"1383":{"position":[[126,7]]},"1387":{"position":[[126,7]]},"1391":{"position":[[126,7]]},"1395":{"position":[[126,7]]},"1399":{"position":[[86,7]]},"1403":{"position":[[86,7]]},"1407":{"position":[[86,7]]},"1411":{"position":[[86,7]]},"1415":{"position":[[86,7]]},"1419":{"position":[[86,7]]},"1423":{"position":[[86,7]]},"1427":{"position":[[86,7]]},"1431":{"position":[[86,7]]},"1435":{"position":[[12,7]]},"1466":{"position":[[343,9]]},"1474":{"position":[[823,7],[943,9],[4071,9],[9347,7],[13669,9],[15018,10]]},"1581":{"position":[[6,7]]},"1607":{"position":[[0,9]]},"1655":{"position":[[53,7],[173,9]]},"1686":{"position":[[9,10]]},"1780":{"position":[[464,7]]},"1781":{"position":[[528,7]]},"2128":{"position":[[406,10],[479,9]]},"2265":{"position":[[6935,8]]},"2306":{"position":[[480,9],[750,8],[949,10]]},"2311":{"position":[[255,7]]},"2370":{"position":[[5126,10]]},"2401":{"position":[[2909,7],[2961,9]]},"2478":{"position":[[1948,10],[2807,10]]},"2482":{"position":[[177,10],[1002,10],[3516,8],[4879,8],[4957,8],[5001,9],[5227,8],[5305,8],[5349,9]]}},"keywords":{}}],["destroy(cachedmateri",{"_index":7198,"title":{},"content":{"1780":{"position":[[996,24]]},"1781":{"position":[[1060,24]]}},"keywords":{}}],["destroy(gameobject",{"_index":9181,"title":{},"content":{"2482":{"position":[[4849,19],[5036,18]]}},"keywords":{}}],["destroy(networkident",{"_index":9182,"title":{},"content":{"2482":{"position":[[5192,24],[5384,23]]}},"keywords":{}}],["destroy(righthand.transform.getchild(0).gameobject",{"_index":1997,"title":{},"content":{"240":{"position":[[2601,52]]}},"keywords":{}}],["destroy(transform.getchild(0).gameobject",{"_index":2036,"title":{},"content":{"241":{"position":[[2774,42]]}},"keywords":{}}],["destroyallclientobject",{"_index":3651,"title":{},"content":{"670":{"position":[[218,23]]},"2265":{"position":[[6908,26],[7072,25]]}},"keywords":{}}],["destroycharact",{"_index":3889,"title":{},"content":{"775":{"position":[[58,16]]}},"keywords":{}}],["destroycharacter(inetworkplay",{"_index":9179,"title":{},"content":{"2482":{"position":[[3461,32],[3578,31]]}},"keywords":{}}],["destroydelay(networkident",{"_index":2204,"title":{},"content":{"251":{"position":[[4336,28]]}},"keywords":{}}],["destroyownedobject",{"_index":4014,"title":{},"content":{"842":{"position":[[7,19]]},"1474":{"position":[[605,19]]},"1766":{"position":[[395,19]]},"2306":{"position":[[727,22],[978,21]]},"2401":{"position":[[2886,22],[3031,21]]}},"keywords":{}}],["destroyserverobject",{"_index":2208,"title":{},"content":{"251":{"position":[[4614,20]]},"775":{"position":[[109,19]]},"981":{"position":[[46,19]]},"2482":{"position":[[3623,19],[3729,19],[5072,19],[5171,19],[5423,19],[5532,19]]}},"keywords":{}}],["destruct",{"_index":1824,"title":{},"content":{"213":{"position":[[1393,11]]}},"keywords":{}}],["detach",{"_index":1626,"title":{},"content":{"196":{"position":[[234,8],[400,8]]},"197":{"position":[[285,6]]}},"keywords":{}}],["detail",{"_index":165,"title":{"6":{"position":[[0,8]]}},"content":{"91":{"position":[[5,7]]},"96":{"position":[[92,8]]},"99":{"position":[[228,8]]},"181":{"position":[[54,7]]},"186":{"position":[[428,7]]},"257":{"position":[[282,8]]},"2370":{"position":[[2440,7]]}},"keywords":{}}],["details"",{"_index":1455,"title":{},"content":{"182":{"position":[[1045,14]]}},"keywords":{}}],["detailsnumberofplay",{"_index":3261,"title":{},"content":{"512":{"position":[[44,22]]}},"keywords":{}}],["detect",{"_index":528,"title":{},"content":{"31":{"position":[[360,7]]},"340":{"position":[[355,6]]},"344":{"position":[[8,6]]},"348":{"position":[[684,6]]},"352":{"position":[[8,6]]},"1474":{"position":[[3953,7],[16407,6],[18410,8],[18655,8],[18847,8],[20287,6]]},"1476":{"position":[[1886,6]]},"1733":{"position":[[553,6],[737,8],[933,8],[1125,8]]}},"keywords":{}}],["determin",{"_index":1018,"title":{},"content":{"98":{"position":[[176,9]]},"243":{"position":[[1311,9]]},"260":{"position":[[161,9]]},"264":{"position":[[1030,11]]},"348":{"position":[[783,11]]},"355":{"position":[[14,10]]},"357":{"position":[[15,10],[264,9]]},"1835":{"position":[[97,9]]},"2130":{"position":[[2380,10]]},"2358":{"position":[[1617,10],[1645,11]]},"2370":{"position":[[824,10]]},"2383":{"position":[[177,9]]},"2397":{"position":[[118,9]]},"2404":{"position":[[134,9]]},"2434":{"position":[[75,9]]}},"keywords":{}}],["develop",{"_index":79,"title":{"174":{"position":[[0,11]]}},"content":{"0":{"position":[[1385,11]]},"96":{"position":[[456,7]]},"168":{"position":[[90,10]]},"175":{"position":[[12,11],[1204,11]]},"179":{"position":[[205,11]]}},"keywords":{}}],["deviat",{"_index":9020,"title":{},"content":{"2408":{"position":[[257,9],[768,9]]}},"keywords":{}}],["devic",{"_index":338,"title":{},"content":{"14":{"position":[[913,8]]},"183":{"position":[[837,7]]}},"keywords":{}}],["df16a7d)dont",{"_index":5663,"title":{},"content":{"1474":{"position":[[9772,13]]}},"keywords":{}}],["df16a7d)fix",{"_index":6698,"title":{},"content":{"1496":{"position":[[108,15]]}},"keywords":{}}],["df1ccb4",{"_index":5093,"title":{},"content":{"1309":{"position":[[68,9]]}},"keywords":{}}],["df1e379",{"_index":4582,"title":{},"content":{"1074":{"position":[[47,9]]}},"keywords":{}}],["df4149b",{"_index":7027,"title":{},"content":{"1691":{"position":[[37,9]]}},"keywords":{}}],["df4149b)exampl",{"_index":5679,"title":{},"content":{"1474":{"position":[[10238,17]]}},"keywords":{}}],["df499ab",{"_index":4491,"title":{},"content":{"1041":{"position":[[37,9]]}},"keywords":{}}],["df719b2",{"_index":3355,"title":{},"content":{"546":{"position":[[29,9]]}},"keywords":{}}],["df7baa4)compil",{"_index":5612,"title":{},"content":{"1474":{"position":[[8407,20]]},"1751":{"position":[[18,20]]}},"keywords":{}}],["df9c29a",{"_index":7159,"title":{},"content":{"1766":{"position":[[744,9]]}},"keywords":{}}],["df9c29a)first",{"_index":5687,"title":{},"content":{"1474":{"position":[[10657,14]]}},"keywords":{}}],["dffdf02)network",{"_index":6256,"title":{},"content":{"1476":{"position":[[5079,16]]}},"keywords":{}}],["dffdf02)networkanim",{"_index":7151,"title":{},"content":{"1763":{"position":[[44,24]]}},"keywords":{}}],["di",{"_index":2231,"title":{},"content":{"255":{"position":[[56,5]]}},"keywords":{}}],["diagram",{"_index":2054,"title":{},"content":{"243":{"position":[[1077,7]]}},"keywords":{}}],["dialog",{"_index":1579,"title":{},"content":{"190":{"position":[[193,6],[836,6]]}},"keywords":{}}],["dict",{"_index":5463,"title":{},"content":{"1474":{"position":[[4132,4]]}},"keywords":{}}],["dictat",{"_index":8734,"title":{},"content":{"2253":{"position":[[338,7]]}},"keywords":{}}],["dictionari",{"_index":2563,"title":{"341":{"position":[[5,10]]}},"content":{"314":{"position":[[516,11]]},"344":{"position":[[243,12],[630,10]]},"345":{"position":[[770,10],[831,10],[889,10]]},"421":{"position":[[18,10]]},"877":{"position":[[52,10]]},"1114":{"position":[[13,10]]},"1474":{"position":[[2832,10],[6856,10]]},"1479":{"position":[[2692,10]]},"1705":{"position":[[45,10]]},"1745":{"position":[[27,10]]},"2003":{"position":[[2071,11],[2217,10]]},"2093":{"position":[[534,10]]},"2263":{"position":[[509,10],[639,10]]},"2265":{"position":[[1608,10],[2586,10],[4176,10]]}},"keywords":{}}],["dictionary<networkident",{"_index":7393,"title":{},"content":{"1869":{"position":[[79,30]]}},"keywords":{}}],["dictionary<tkey",{"_index":7284,"title":{},"content":{"1841":{"position":[[28,19],[118,19]]},"1842":{"position":[[37,19]]},"2003":{"position":[[1884,19],[2040,19],[3929,19]]}},"keywords":{}}],["dictionary<ulong",{"_index":8751,"title":{},"content":{"2263":{"position":[[711,20]]}},"keywords":{}}],["didn't",{"_index":1087,"title":{},"content":{"117":{"position":[[1205,6]]}},"keywords":{}}],["differ",{"_index":42,"title":{},"content":{"0":{"position":[[722,9]]},"3":{"position":[[158,11]]},"9":{"position":[[167,9]]},"71":{"position":[[1088,9]]},"72":{"position":[[102,9]]},"89":{"position":[[244,9]]},"119":{"position":[[312,9],[412,9]]},"164":{"position":[[560,9]]},"179":{"position":[[297,9]]},"187":{"position":[[140,9],[521,9]]},"191":{"position":[[532,9]]},"211":{"position":[[2044,9]]},"217":{"position":[[461,9]]},"235":{"position":[[488,12]]},"243":{"position":[[82,11],[942,9],[1006,9]]},"248":{"position":[[47,11]]},"254":{"position":[[119,9],[160,9]]},"264":{"position":[[1740,11]]},"270":{"position":[[168,9]]},"304":{"position":[[62,9],[315,9]]},"315":{"position":[[291,9]]},"344":{"position":[[161,9],[185,9]]},"345":{"position":[[821,9]]},"352":{"position":[[155,9],[179,9]]},"353":{"position":[[755,9]]},"355":{"position":[[196,9],[226,9]]},"586":{"position":[[35,9]]},"1474":{"position":[[316,9],[12987,9],[13018,9],[13051,9],[15949,9],[15980,9],[16013,9],[18530,10],[18775,10],[18967,10],[20955,9]]},"1476":{"position":[[8957,9],[9276,9]]},"1562":{"position":[[548,9]]},"1585":{"position":[[137,9]]},"1733":{"position":[[857,10],[1053,10],[1245,10]]},"1766":{"position":[[209,9]]},"1952":{"position":[[418,9]]},"1983":{"position":[[1557,9],[1596,9],[3094,9],[3133,9]]},"2240":{"position":[[2649,9],[5196,9]]},"2358":{"position":[[127,9]]},"2408":{"position":[[389,10]]},"2478":{"position":[[1894,9],[2051,9],[2753,9],[2910,9]]},"2482":{"position":[[123,9],[280,9],[948,9],[1105,9]]}},"keywords":{}}],["differenti",{"_index":2753,"title":{},"content":{"337":{"position":[[338,13]]}},"keywords":{}}],["dino",{"_index":2496,"title":{},"content":{"297":{"position":[[165,4]]}},"keywords":{}}],["direct",{"_index":603,"title":{"355":{"position":[[5,10]]}},"content":{"41":{"position":[[161,9]]},"64":{"position":[[116,6]]},"85":{"position":[[812,6]]},"130":{"position":[[2,9],[219,10],[299,9],[335,9]]},"141":{"position":[[100,10]]},"159":{"position":[[2,9],[219,10],[299,9],[335,9]]},"271":{"position":[[122,6]]},"333":{"position":[[454,9]]},"355":{"position":[[31,10],[77,9],[135,10],[241,11],[374,10],[545,9],[608,10]]},"530":{"position":[[84,9]]},"531":{"position":[[12,9]]},"1867":{"position":[[118,9]]}},"keywords":{}}],["directionsync",{"_index":2865,"title":{},"content":{"355":{"position":[[650,13]]}},"keywords":{}}],["directli",{"_index":173,"title":{},"content":{"6":{"position":[[294,9]]},"30":{"position":[[166,8]]},"57":{"position":[[449,8]]},"71":{"position":[[1980,8]]},"99":{"position":[[380,8]]},"117":{"position":[[3147,8]]},"172":{"position":[[182,8],[414,8]]},"242":{"position":[[752,8]]},"243":{"position":[[1827,8]]},"335":{"position":[[489,8]]},"1349":{"position":[[53,8]]},"1354":{"position":[[53,8]]},"1359":{"position":[[53,8]]},"1364":{"position":[[53,8]]},"1369":{"position":[[53,8]]},"1374":{"position":[[53,8]]},"1378":{"position":[[53,8]]},"1382":{"position":[[53,8]]},"1386":{"position":[[53,8]]},"1390":{"position":[[53,8]]},"1394":{"position":[[53,8]]},"1398":{"position":[[53,8]]},"1402":{"position":[[53,8]]},"1406":{"position":[[53,8]]},"1410":{"position":[[53,8]]},"1414":{"position":[[53,8]]},"1418":{"position":[[53,8]]},"1422":{"position":[[53,8]]},"1426":{"position":[[53,8]]},"1430":{"position":[[53,8]]},"1434":{"position":[[14,8]]},"1438":{"position":[[14,8]]},"1449":{"position":[[22,8]]},"1474":{"position":[[9755,8],[9786,8]]},"1477":{"position":[[3081,8]]},"1496":{"position":[[91,8]]},"1508":{"position":[[5,8]]},"1636":{"position":[[200,8]]},"1778":{"position":[[435,9]]},"1782":{"position":[[501,9]]},"1803":{"position":[[151,8]]},"2093":{"position":[[970,8]]},"2152":{"position":[[30,8]]},"2240":{"position":[[5588,8],[7204,8]]}},"keywords":{}}],["directori",{"_index":1619,"title":{},"content":{"195":{"position":[[265,10],[306,9]]},"196":{"position":[[589,9]]},"622":{"position":[[226,9]]}},"keywords":{}}],["dirti",{"_index":2734,"title":{},"content":{"335":{"position":[[206,5],[346,5],[437,5],[505,5],[646,6],[841,5],[884,5],[921,5],[939,5],[1057,5],[1444,5],[1462,5],[1571,5],[1692,5]]},"337":{"position":[[729,5],[798,5],[1043,6],[1082,5],[1234,5],[1339,5]]},"346":{"position":[[749,5],[1752,5],[2139,5],[2415,5],[2521,5]]},"357":{"position":[[137,6]]},"361":{"position":[[82,5]]},"471":{"position":[[43,5]]},"528":{"position":[[96,5]]},"537":{"position":[[346,5]]},"872":{"position":[[15,5]]},"1009":{"position":[[0,5]]},"1352":{"position":[[17,5]]},"1357":{"position":[[17,5]]},"1362":{"position":[[17,5]]},"1367":{"position":[[17,5]]},"1372":{"position":[[17,5]]},"1477":{"position":[[59,5]]},"1586":{"position":[[7,5]]},"1855":{"position":[[3340,5],[3574,5]]},"2359":{"position":[[1120,6],[1393,5],[1427,5],[1769,5],[1960,5],[2389,5]]},"2529":{"position":[[89,6],[153,5]]}},"keywords":{}}],["dirtybit",{"_index":8941,"title":{},"content":{"2359":{"position":[[83,9],[141,8],[284,9],[354,8],[4042,9],[4112,8]]}},"keywords":{}}],["dirtymask",{"_index":1189,"title":{},"content":{"125":{"position":[[781,9],[812,11]]},"131":{"position":[[721,9],[752,11]]},"137":{"position":[[673,9],[704,11]]},"142":{"position":[[776,9],[807,11]]},"151":{"position":[[1194,9],[1225,11],[1312,11]]},"156":{"position":[[732,9],[763,11]]},"160":{"position":[[721,9],[752,11]]}},"keywords":{}}],["dirtysyncvar",{"_index":2844,"title":{},"content":{"346":{"position":[[2073,13],[2148,15],[2424,15],[2530,15]]}},"keywords":{}}],["disabl",{"_index":137,"title":{},"content":{"3":{"position":[[257,8]]},"4":{"position":[[338,8]]},"22":{"position":[[1239,8]]},"202":{"position":[[634,7]]},"211":{"position":[[264,7],[736,7]]},"235":{"position":[[915,7]]},"243":{"position":[[2399,7]]},"251":{"position":[[2635,7]]},"254":{"position":[[718,7]]},"263":{"position":[[510,8],[819,9]]},"264":{"position":[[1946,8],[2116,7]]},"356":{"position":[[73,9]]},"504":{"position":[[131,7]]},"507":{"position":[[17,7]]},"545":{"position":[[105,7]]},"737":{"position":[[77,8]]},"794":{"position":[[63,8]]},"804":{"position":[[32,7]]},"1042":{"position":[[28,8]]},"1054":{"position":[[0,9]]},"1350":{"position":[[13,8]]},"1355":{"position":[[13,8]]},"1360":{"position":[[13,8]]},"1365":{"position":[[13,8]]},"1370":{"position":[[13,8]]},"1474":{"position":[[4576,8],[10317,7],[10356,8],[22393,8]]},"1562":{"position":[[316,7],[355,8]]},"1566":{"position":[[1828,8]]},"2240":{"position":[[961,8]]},"2263":{"position":[[527,8]]},"2503":{"position":[[293,9]]}},"keywords":{}}],["disablereliablelay",{"_index":3210,"title":{},"content":{"496":{"position":[[41,20]]},"2130":{"position":[[2699,21],[2852,20]]}},"keywords":{}}],["disallowmultiplecompon",{"_index":3373,"title":{},"content":{"553":{"position":[[15,25]]}},"keywords":{}}],["discard",{"_index":7264,"title":{},"content":{"1835":{"position":[[291,7]]}},"keywords":{}}],["disconnect",{"_index":307,"title":{},"content":{"13":{"position":[[380,10]]},"14":{"position":[[1958,10]]},"103":{"position":[[214,12]]},"231":{"position":[[26,13]]},"233":{"position":[[94,12]]},"272":{"position":[[969,12],[1734,12]]},"384":{"position":[[9,12]]},"400":{"position":[[45,13]]},"407":{"position":[[42,10]]},"485":{"position":[[9,10]]},"487":{"position":[[81,10]]},"562":{"position":[[82,12]]},"742":{"position":[[30,13]]},"881":{"position":[[25,10]]},"922":{"position":[[12,12]]},"931":{"position":[[46,10]]},"947":{"position":[[7,10],[35,10]]},"954":{"position":[[218,10]]},"958":{"position":[[479,10]]},"971":{"position":[[24,10]]},"1045":{"position":[[115,10]]},"1047":{"position":[[131,10]]},"1131":{"position":[[37,13]]},"1256":{"position":[[13,10]]},"1262":{"position":[[0,10]]},"1325":{"position":[[57,13]]},"1329":{"position":[[57,13]]},"1341":{"position":[[31,13]]},"1350":{"position":[[133,10]]},"1355":{"position":[[133,10]]},"1360":{"position":[[133,10]]},"1365":{"position":[[133,10]]},"1370":{"position":[[133,10]]},"1375":{"position":[[87,10]]},"1379":{"position":[[87,10]]},"1383":{"position":[[87,10]]},"1387":{"position":[[87,10]]},"1391":{"position":[[87,10]]},"1395":{"position":[[87,10]]},"1399":{"position":[[47,10]]},"1403":{"position":[[47,10]]},"1407":{"position":[[47,10]]},"1411":{"position":[[47,10]]},"1415":{"position":[[47,10]]},"1419":{"position":[[47,10]]},"1423":{"position":[[47,10]]},"1427":{"position":[[47,10]]},"1431":{"position":[[47,10]]},"1474":{"position":[[71,10],[431,13],[3561,10],[6427,11],[7842,12],[7884,12],[9395,10],[12008,12],[16918,10],[18156,13],[19632,10]]},"1477":{"position":[[3766,10]]},"1576":{"position":[[0,10]]},"1580":{"position":[[178,10]]},"1603":{"position":[[0,10]]},"1620":{"position":[[40,11]]},"1626":{"position":[[13,12],[55,12]]},"1648":{"position":[[137,10]]},"1731":{"position":[[0,10]]},"1890":{"position":[[1031,14]]},"1926":{"position":[[106,14]]},"2094":{"position":[[205,12]]},"2124":{"position":[[276,11],[348,10]]},"2128":{"position":[[190,13],[225,12],[298,12]]},"2130":{"position":[[729,13],[1043,10]]},"2134":{"position":[[141,10],[237,10]]},"2141":{"position":[[0,13],[32,12]]},"2181":{"position":[[133,11]]},"2240":{"position":[[2146,10]]},"2243":{"position":[[177,12]]},"2259":{"position":[[0,13],[27,12]]},"2261":{"position":[[162,10],[263,10],[354,12],[634,10],[881,10]]},"2299":{"position":[[271,13],[303,12]]},"2306":{"position":[[445,11],[687,13],[824,12],[866,12]]},"2325":{"position":[[50,13]]},"2350":{"position":[[730,13],[777,12],[901,12]]},"2351":{"position":[[274,13],[288,10],[316,10],[377,12]]},"2401":{"position":[[270,13],[284,11],[310,12],[377,12],[429,13],[457,10],[488,12]]},"2417":{"position":[[9298,11]]},"2420":{"position":[[541,13],[594,12]]},"2421":{"position":[[39,11]]}},"keywords":{}}],["disconnect)network",{"_index":1344,"title":{},"content":{"171":{"position":[[402,18]]}},"keywords":{}}],["disconnectaddlateev",{"_index":7461,"title":{"1911":{"position":[[6,22]]}},"content":{"1890":{"position":[[831,23]]},"1911":{"position":[[6,22],[1464,22]]}},"keywords":{}}],["disconnectdur",{"_index":8427,"title":{},"content":{"2130":{"position":[[1008,19],[1125,18]]}},"keywords":{}}],["disconnectedplay",{"_index":9081,"title":{},"content":{"2417":{"position":[[9573,19],[9649,18]]}},"keywords":{}}],["disconnectev",{"_index":7462,"title":{"1912":{"position":[[6,15]]}},"content":{"1890":{"position":[[913,16]]},"1912":{"position":[[6,15],[85,15]]}},"keywords":{}}],["disconnectevent>",{"_index":7532,"title":{},"content":{"1911":{"position":[[1531,20]]}},"keywords":{}}],["disconnectonexcept",{"_index":8856,"title":{},"content":{"2319":{"position":[[120,22],[259,21]]},"2349":{"position":[[247,22],[295,21]]},"2419":{"position":[[309,22],[357,21]]}},"keywords":{}}],["disconnectreason",{"_index":8337,"title":{"2133":{"position":[[5,16]]}},"content":{"2094":{"position":[[159,17]]}},"keywords":{}}],["discord",{"_index":764,"title":{"78":{"position":[[0,8]]}},"content":{"59":{"position":[[229,7]]},"78":{"position":[[19,8]]},"168":{"position":[[241,7]]}},"keywords":{}}],["discoveri",{"_index":18,"title":{"8":{"position":[[8,9]]},"10":{"position":[[15,10]]}},"content":{"0":{"position":[[338,9],[356,9]]},"9":{"position":[[15,9],[151,9]]},"10":{"position":[[274,9]]},"1474":{"position":[[15691,9]]},"1476":{"position":[[4396,9]]},"1745":{"position":[[76,9]]},"1747":{"position":[[59,9]]}},"keywords":{}}],["discoveryrequest",{"_index":253,"title":{},"content":{"10":{"position":[[825,16],[2088,16],[2131,19]]}},"keywords":{}}],["discoveryrespons",{"_index":260,"title":{},"content":{"10":{"position":[[1024,17],[1883,17],[2020,20]]}},"keywords":{}}],["discoveryresponse>",{"_index":279,"title":{},"content":{"10":{"position":[[1683,21]]}},"keywords":{}}],["disk",{"_index":1590,"title":{},"content":{"190":{"position":[[794,4],[831,4],[869,4],[897,5],[913,4],[966,4],[1316,6]]}},"keywords":{}}],["display",{"_index":88,"title":{"21":{"position":[[13,7]]}},"content":{"0":{"position":[[1562,7]]},"4":{"position":[[57,8],[322,7],[367,9]]},"9":{"position":[[560,7]]},"10":{"position":[[1333,7]]},"14":{"position":[[1725,8],[1874,8]]},"21":{"position":[[13,7],[34,7]]},"356":{"position":[[1107,7]]},"715":{"position":[[32,10]]},"826":{"position":[[43,7]]},"857":{"position":[[21,7]]},"879":{"position":[[24,7]]},"1301":{"position":[[0,7]]},"1335":{"position":[[0,7]]},"1476":{"position":[[1653,8]]},"1567":{"position":[[680,8]]},"2240":{"position":[[3358,7]]}},"keywords":{}}],["displaymetr",{"_index":7448,"title":{},"content":{"1885":{"position":[[100,15],[161,14]]},"1888":{"position":[[100,15],[161,14]]}},"keywords":{}}],["displaymetricsaveragegui",{"_index":7443,"title":{"1879":{"position":[[6,24]]}},"content":{"1883":{"position":[[0,25]]},"1885":{"position":[[136,24]]},"1888":{"position":[[136,24]]}},"keywords":{}}],["displaynetwork",{"_index":87,"title":{},"content":{"0":{"position":[[1542,14]]}},"keywords":{}}],["displayturnippric",{"_index":2474,"title":{},"content":{"294":{"position":[[789,20]]}},"keywords":{}}],["dispos",{"_index":4083,"title":{},"content":{"860":{"position":[[19,7]]},"1281":{"position":[[30,7]]},"1848":{"position":[[133,10],[169,9]]},"2023":{"position":[[119,10],[179,9],[221,10],[257,9]]},"2027":{"position":[[522,10],[582,9]]},"2114":{"position":[[0,10],[36,9]]},"2240":{"position":[[49,10]]},"2248":{"position":[[0,10],[36,9]]}},"keywords":{}}],["dispose(bool",{"_index":7972,"title":{},"content":{"2023":{"position":[[106,12]]},"2027":{"position":[[509,12]]}},"keywords":{}}],["dispose(boolean",{"_index":7971,"title":{},"content":{"2023":{"position":[[52,17]]},"2027":{"position":[[454,17]]}},"keywords":{}}],["distanc",{"_index":2273,"title":{},"content":{"264":{"position":[[1295,8],[1439,8]]},"444":{"position":[[420,9]]},"2193":{"position":[[783,8]]},"2203":{"position":[[154,8]]},"2240":{"position":[[3833,8]]}},"keywords":{}}],["distance(uint64",{"_index":8573,"title":{},"content":{"2193":{"position":[[742,16]]}},"keywords":{}}],["distance(ulong",{"_index":8574,"title":{},"content":{"2193":{"position":[[867,14]]}},"keywords":{}}],["distancetoread(uint",{"_index":8598,"title":{},"content":{"2204":{"position":[[49,19]]}},"keywords":{}}],["distancetoread(uint32",{"_index":8597,"title":{},"content":{"2204":{"position":[[0,23]]}},"keywords":{}}],["distinguish",{"_index":965,"title":{},"content":{"89":{"position":[[167,11]]}},"keywords":{}}],["distribut",{"_index":8935,"title":{},"content":{"2358":{"position":[[1551,11]]}},"keywords":{}}],["divis",{"_index":6504,"title":{},"content":{"1477":{"position":[[3042,8]]}},"keywords":{}}],["dll",{"_index":5969,"title":{},"content":{"1474":{"position":[[20388,4]]}},"keywords":{}}],["dn",{"_index":329,"title":{},"content":{"14":{"position":[[405,4]]}},"keywords":{}}],["dnspi",{"_index":2712,"title":{},"content":{"329":{"position":[[23,5]]}},"keywords":{}}],["do",{"_index":519,"title":{},"content":{"30":{"position":[[132,5]]},"1211":{"position":[[8,3]]},"1247":{"position":[[0,3]]},"1318":{"position":[[0,3]]},"1474":{"position":[[15720,3],[15796,3]]},"1477":{"position":[[1332,5]]},"1568":{"position":[[61,5]]}},"keywords":{}}],["doc",{"_index":3195,"title":{},"content":{"487":{"position":[[41,4]]},"617":{"position":[[25,4]]},"893":{"position":[[50,4]]},"1024":{"position":[[313,4]]},"1047":{"position":[[384,4]]},"1058":{"position":[[107,4]]},"1279":{"position":[[30,4]]},"1474":{"position":[[21831,3]]},"1693":{"position":[[212,3]]}},"keywords":{}}],["document",{"_index":170,"title":{},"content":{"6":{"position":[[219,13]]},"94":{"position":[[667,13]]},"95":{"position":[[211,13]]},"245":{"position":[[3352,13]]},"304":{"position":[[41,13]]},"983":{"position":[[19,13]]},"1479":{"position":[[684,8]]},"1535":{"position":[[97,8]]},"1983":{"position":[[279,13],[415,13],[588,13],[3386,13]]}},"keywords":{}}],["doesn't",{"_index":367,"title":{},"content":{"15":{"position":[[467,7]]},"240":{"position":[[1129,7]]},"270":{"position":[[333,7],[367,7]]},"274":{"position":[[230,7],[274,7]]},"328":{"position":[[492,7]]},"514":{"position":[[187,7]]},"764":{"position":[[207,7]]},"1046":{"position":[[86,7]]},"1474":{"position":[[815,7],[5328,7]]},"1577":{"position":[[42,7]]},"1655":{"position":[[45,7]]},"1870":{"position":[[494,7]]},"2003":{"position":[[108,7]]}},"keywords":{}}],["doesn’t",{"_index":435,"title":{},"content":{"22":{"position":[[573,7]]}},"keywords":{}}],["domagic(inetworkplay",{"_index":2430,"title":{},"content":{"288":{"position":[[2134,22]]}},"keywords":{}}],["domagic(opponentidentity.own",{"_index":2429,"title":{},"content":{"288":{"position":[[2040,31]]}},"keywords":{}}],["domain",{"_index":322,"title":{},"content":{"14":{"position":[[316,6]]},"1151":{"position":[[50,6]]},"1474":{"position":[[8972,6]]},"1576":{"position":[[29,6]]}},"keywords":{}}],["don't",{"_index":524,"title":{},"content":{"30":{"position":[[409,5]]},"53":{"position":[[178,6]]},"164":{"position":[[695,5]]},"189":{"position":[[101,5]]},"203":{"position":[[2226,5]]},"213":{"position":[[757,5]]},"303":{"position":[[563,5]]},"315":{"position":[[14,5]]},"356":{"position":[[17,5],[1549,5]]},"358":{"position":[[156,5]]},"683":{"position":[[0,5]]},"1173":{"position":[[0,5]]},"1233":{"position":[[0,5]]},"1311":{"position":[[0,5]]},"1353":{"position":[[287,5]]},"1358":{"position":[[287,5]]},"1363":{"position":[[287,5]]},"1368":{"position":[[287,5]]},"1373":{"position":[[93,5]]},"1377":{"position":[[93,5]]},"1381":{"position":[[93,5]]},"1385":{"position":[[93,5]]},"1389":{"position":[[93,5]]},"1393":{"position":[[93,5]]},"1397":{"position":[[93,5]]},"1401":{"position":[[93,5]]},"1405":{"position":[[93,5]]},"1409":{"position":[[93,5]]},"1413":{"position":[[93,5]]},"1417":{"position":[[93,5]]},"1421":{"position":[[93,5]]},"1425":{"position":[[93,5]]},"1429":{"position":[[93,5]]},"1433":{"position":[[93,5]]},"1437":{"position":[[47,5]]},"1440":{"position":[[47,5]]},"1461":{"position":[[35,5]]},"1581":{"position":[[0,5]]},"1713":{"position":[[0,5]]},"1740":{"position":[[0,5]]}},"keywords":{}}],["done",{"_index":197,"title":{},"content":{"9":{"position":[[104,4],[394,4]]},"42":{"position":[[139,4]]},"67":{"position":[[868,4]]},"71":{"position":[[2180,4]]},"105":{"position":[[70,4]]},"106":{"position":[[88,4]]},"183":{"position":[[332,4],[1282,4],[1800,5]]},"184":{"position":[[496,4]]},"201":{"position":[[868,4]]},"203":{"position":[[948,5]]},"209":{"position":[[2368,5]]},"223":{"position":[[16,4]]},"248":{"position":[[1359,4]]},"286":{"position":[[75,4]]},"303":{"position":[[85,4]]},"320":{"position":[[113,4]]},"333":{"position":[[201,4]]},"847":{"position":[[505,5]]},"1476":{"position":[[8255,4]]},"1698":{"position":[[17,4]]}},"keywords":{}}],["donoth",{"_index":9208,"title":{},"content":{"2503":{"position":[[0,10],[81,9]]}},"keywords":{}}],["dont",{"_index":1866,"title":{},"content":{"225":{"position":[[339,4]]},"237":{"position":[[72,4]]},"238":{"position":[[692,4]]},"251":{"position":[[1388,4]]},"438":{"position":[[84,4]]},"582":{"position":[[0,4]]},"628":{"position":[[43,4]]},"1486":{"position":[[0,4]]},"1508":{"position":[[0,4]]},"1512":{"position":[[0,4]]},"1990":{"position":[[140,4],[636,4],[1052,4]]},"2225":{"position":[[146,4]]},"2240":{"position":[[6626,4]]},"2265":{"position":[[544,4]]},"2320":{"position":[[410,4]]},"2518":{"position":[[92,4]]}},"keywords":{}}],["dontaddifexist",{"_index":3332,"title":{},"content":{"539":{"position":[[33,14]]}},"keywords":{}}],["dontdestoryonload",{"_index":8626,"title":{},"content":{"2225":{"position":[[128,17]]}},"keywords":{}}],["dontdestroy",{"_index":8991,"title":{},"content":{"2377":{"position":[[126,12],[164,11]]},"2415":{"position":[[357,12],[475,11]]}},"keywords":{}}],["dontdestroyonload",{"_index":4658,"title":{},"content":{"1110":{"position":[[9,17]]},"1474":{"position":[[3844,18]]},"2415":{"position":[[415,18]]}},"keywords":{}}],["don’t",{"_index":1819,"title":{},"content":{"213":{"position":[[906,5]]}},"keywords":{}}],["dooe",{"_index":9112,"title":{},"content":{"2421":{"position":[[3424,5],[3915,5]]}},"keywords":{}}],["door",{"_index":2486,"title":{},"content":{"295":{"position":[[715,4]]}},"keywords":{}}],["doorstat",{"_index":2485,"title":{},"content":{"295":{"position":[[668,9],[758,9],[768,10],[964,9]]}},"keywords":{}}],["doubl",{"_index":1353,"title":{},"content":{"173":{"position":[[193,6],[342,6],[698,6],[915,6]]},"175":{"position":[[1063,6]]},"184":{"position":[[377,6]]},"203":{"position":[[1344,6]]},"211":{"position":[[1633,6]]},"371":{"position":[[152,6]]},"373":{"position":[[20,6]]},"663":{"position":[[7,6]]},"881":{"position":[[156,6]]},"1265":{"position":[[21,6]]},"1325":{"position":[[0,6]]},"1329":{"position":[[0,6]]},"1332":{"position":[[0,6]]},"1474":{"position":[[10051,6],[14304,6],[16201,6]]},"1581":{"position":[[85,6]]},"1693":{"position":[[38,6]]},"1733":{"position":[[372,6]]},"1983":{"position":[[1761,6]]},"2023":{"position":[[2370,6]]},"2047":{"position":[[20,8],[81,6],[235,6]]},"2056":{"position":[[1641,8],[1730,6],[4258,6]]},"2154":{"position":[[18,6]]},"2273":{"position":[[27,6],[75,6]]},"2357":{"position":[[38,6]]},"2390":{"position":[[32,6]]},"2392":{"position":[[32,6],[83,6]]},"2408":{"position":[[72,6],[215,6],[351,6],[465,6],[595,6],[716,6],[853,6]]},"2516":{"position":[[15,7],[23,8],[72,6],[93,6],[220,7],[228,8],[319,6],[340,6]]}},"keywords":{}}],["down",{"_index":1355,"title":{},"content":{"173":{"position":[[399,4],[499,4],[1044,4]]},"182":{"position":[[616,4]]},"206":{"position":[[77,4]]},"240":{"position":[[80,4]]},"2421":{"position":[[19,4]]}},"keywords":{}}],["download",{"_index":1505,"title":{},"content":{"183":{"position":[[151,10],[480,9],[596,11],[669,10]]},"201":{"position":[[1284,8]]},"1121":{"position":[[30,10]]}},"keywords":{}}],["drag",{"_index":1674,"title":{},"content":{"203":{"position":[[603,4],[1134,4]]},"224":{"position":[[479,4]]},"245":{"position":[[1434,4]]},"251":{"position":[[2849,4]]}},"keywords":{}}],["draw",{"_index":2779,"title":{},"content":{"340":{"position":[[1252,4]]},"348":{"position":[[1547,4]]},"456":{"position":[[69,7]]},"2240":{"position":[[694,5]]},"2275":{"position":[[28,5]]}},"keywords":{}}],["drawaverag",{"_index":7446,"title":{},"content":{"1883":{"position":[[199,11]]}},"keywords":{}}],["drawer",{"_index":3298,"title":{},"content":{"531":{"position":[[22,6]]},"537":{"position":[[53,6]]},"538":{"position":[[45,6]]},"554":{"position":[[21,6]]},"555":{"position":[[82,6]]}},"keywords":{}}],["drawn",{"_index":3339,"title":{},"content":{"541":{"position":[[99,5]]}},"keywords":{}}],["drive",{"_index":1507,"title":{},"content":{"183":{"position":[[197,5],[212,6],[891,5],[910,6]]},"184":{"position":[[170,5],[333,5],[449,6]]}},"keywords":{}}],["drives"",{"_index":1535,"title":{},"content":{"184":{"position":[[363,13]]}},"keywords":{}}],["drop",{"_index":858,"title":{"239":{"position":[[9,6]]},"241":{"position":[[0,8]]}},"content":{"71":{"position":[[394,4]]},"241":{"position":[[50,4]]},"242":{"position":[[23,7]]},"1094":{"position":[[0,4]]},"1311":{"position":[[6,4]]},"1479":{"position":[[1765,4]]},"1646":{"position":[[363,4]]}},"keywords":{}}],["dropdown",{"_index":596,"title":{},"content":{"39":{"position":[[93,9]]},"182":{"position":[[2946,9]]},"190":{"position":[[1675,8]]}},"keywords":{}}],["due",{"_index":864,"title":{},"content":{"71":{"position":[[791,3]]},"92":{"position":[[533,3]]},"273":{"position":[[1047,3]]},"314":{"position":[[787,3]]},"325":{"position":[[36,3]]},"677":{"position":[[160,3]]},"1474":{"position":[[8778,3]]},"1607":{"position":[[17,3]]}},"keywords":{}}],["duplic",{"_index":810,"title":{},"content":{"65":{"position":[[171,10]]},"211":{"position":[[1954,9]]},"2114":{"position":[[1554,9]]}},"keywords":{}}],["durabl",{"_index":2785,"title":{},"content":{"343":{"position":[[155,11],[508,10],[618,10],[725,10],[831,10]]}},"keywords":{}}],["dure",{"_index":1342,"title":{},"content":{"171":{"position":[[79,6]]},"175":{"position":[[0,6],[1193,6]]},"178":{"position":[[81,6]]},"179":{"position":[[198,6]]},"213":{"position":[[601,6],[785,6]]},"224":{"position":[[571,6]]},"231":{"position":[[155,6]]},"340":{"position":[[541,6]]},"348":{"position":[[876,6]]},"351":{"position":[[482,6]]},"361":{"position":[[127,6]]},"820":{"position":[[65,6]]},"1474":{"position":[[11778,6]]},"1477":{"position":[[854,6],[1982,6]]},"1890":{"position":[[979,6]]},"1926":{"position":[[54,6]]}},"keywords":{}}],["dynam",{"_index":450,"title":{"238":{"position":[[0,7]]}},"content":{"24":{"position":[[237,11]]},"203":{"position":[[519,11]]},"235":{"position":[[1454,11]]},"238":{"position":[[128,7],[335,7],[445,7]]},"245":{"position":[[3176,11]]},"2003":{"position":[[77,7]]},"2265":{"position":[[739,7],[1917,11],[5069,11]]},"2478":{"position":[[908,11]]},"2482":{"position":[[2456,11]]}},"keywords":{}}],["dynamichandl",{"_index":8781,"title":{},"content":{"2265":{"position":[[6807,15],[6892,14]]}},"keywords":{}}],["dynamicspawn",{"_index":1926,"title":{},"content":{"238":{"position":[[524,15],[733,12]]}},"keywords":{}}],["dynamicspawn(int",{"_index":1944,"title":{},"content":{"238":{"position":[[1896,16]]}},"keywords":{}}],["dynamicspawnhandlerdeleg",{"_index":8715,"title":{"2270":{"position":[[9,27]]}},"content":{"2244":{"position":[[60,28]]},"2270":{"position":[[9,27]]}},"keywords":{}}],["dynamicspawnhandlerdelegate(int",{"_index":8789,"title":{},"content":{"2270":{"position":[[74,31]]}},"keywords":{}}],["e",{"_index":8861,"title":{},"content":{"2320":{"position":[[1082,2],[1165,1]]}},"keywords":{}}],["e.g",{"_index":325,"title":{},"content":{"14":{"position":[[336,4]]},"54":{"position":[[440,5]]},"181":{"position":[[81,5]]},"240":{"position":[[1478,4]]},"314":{"position":[[814,4]]},"337":{"position":[[1115,5]]},"1474":{"position":[[2982,4],[3496,5]]},"1478":{"position":[[1040,4],[1154,4]]}},"keywords":{}}],["e0dd626",{"_index":4584,"title":{},"content":{"1075":{"position":[[45,9]]}},"keywords":{}}],["e1072d0",{"_index":2991,"title":{},"content":{"396":{"position":[[64,9]]}},"keywords":{}}],["e10e198",{"_index":6740,"title":{},"content":{"1524":{"position":[[67,9]]}},"keywords":{}}],["e10e198)properli",{"_index":5840,"title":{},"content":{"1474":{"position":[[16389,17]]}},"keywords":{}}],["e136f48)ad",{"_index":5319,"title":{},"content":{"1467":{"position":[[123,15]]}},"keywords":{}}],["e1bb8d",{"_index":6711,"title":{},"content":{"1504":{"position":[[71,9]]}},"keywords":{}}],["e1bb8de)nul",{"_index":5808,"title":{},"content":{"1474":{"position":[[15127,13]]}},"keywords":{}}],["e1bbc03",{"_index":4701,"title":{},"content":{"1129":{"position":[[29,9]]}},"keywords":{}}],["e1d1d41)room",{"_index":5915,"title":{},"content":{"1474":{"position":[[18212,14]]}},"keywords":{}}],["e1d1d41)sendtoal",{"_index":7091,"title":{},"content":{"1733":{"position":[[678,18]]}},"keywords":{}}],["e1daf92)renam",{"_index":4509,"title":{},"content":{"1045":{"position":[[152,15]]}},"keywords":{}}],["e1fdf86)refactor",{"_index":3499,"title":{},"content":{"600":{"position":[[224,19]]}},"keywords":{}}],["e22f765",{"_index":4484,"title":{},"content":{"1037":{"position":[[46,9]]}},"keywords":{}}],["e2a4afd",{"_index":7071,"title":{},"content":{"1725":{"position":[[45,9]]}},"keywords":{}}],["e2a4afd)benchmark",{"_index":5544,"title":{},"content":{"1474":{"position":[[6582,18]]}},"keywords":{}}],["e2a6ce9)ad",{"_index":6088,"title":{},"content":{"1476":{"position":[[776,14]]}},"keywords":{}}],["e2fc829",{"_index":6911,"title":{},"content":{"1604":{"position":[[44,9]]}},"keywords":{}}],["e2fc829)support",{"_index":6339,"title":{},"content":{"1476":{"position":[[7362,16]]}},"keywords":{}}],["e2fd195)weav",{"_index":5313,"title":{},"content":{"1466":{"position":[[1129,15]]}},"keywords":{}}],["e31a5db",{"_index":3541,"title":{},"content":{"617":{"position":[[38,9]]}},"keywords":{}}],["e326064",{"_index":6357,"title":{},"content":{"1476":{"position":[[7861,10]]},"1663":{"position":[[50,10]]}},"keywords":{}}],["e32a9b6)an",{"_index":6133,"title":{},"content":{"1476":{"position":[[2062,11]]}},"keywords":{}}],["e32a9b6)clientscen",{"_index":6836,"title":{},"content":{"1567":{"position":[[764,20]]}},"keywords":{}}],["e36449c)chat",{"_index":5573,"title":{},"content":{"1474":{"position":[[7441,13]]}},"keywords":{}}],["e36449c)clean",{"_index":6798,"title":{},"content":{"1562":{"position":[[220,14]]}},"keywords":{}}],["e3790c5)add",{"_index":6072,"title":{},"content":{"1476":{"position":[[412,12]]},"1567":{"position":[[162,12]]}},"keywords":{}}],["e3df3b5",{"_index":3940,"title":{},"content":{"806":{"position":[[64,9]]}},"keywords":{}}],["e3f1d26",{"_index":4371,"title":{},"content":{"990":{"position":[[78,9]]}},"keywords":{}}],["e4200e0)networkmanagerhud",{"_index":4183,"title":{},"content":{"908":{"position":[[67,27]]}},"keywords":{}}],["e437a10)registerprefab",{"_index":3312,"title":{},"content":{"537":{"position":[[174,24]]}},"keywords":{}}],["e45920",{"_index":4627,"title":{},"content":{"1096":{"position":[[43,9]]}},"keywords":{}}],["e478d8d)us",{"_index":4731,"title":{},"content":{"1141":{"position":[[243,12]]}},"keywords":{}}],["e47d4a3",{"_index":3283,"title":{},"content":{"522":{"position":[[189,9]]}},"keywords":{}}],["e49fda1)error",{"_index":4923,"title":{},"content":{"1229":{"position":[[41,14]]}},"keywords":{}}],["e4a5ce7)un",{"_index":5304,"title":{},"content":{"1466":{"position":[[895,14]]}},"keywords":{}}],["e4a701e)gener",{"_index":6203,"title":{},"content":{"1476":{"position":[[3706,17]]}},"keywords":{}}],["e4cc85c)misc",{"_index":5757,"title":{},"content":{"1474":{"position":[[12525,13]]}},"keywords":{}}],["e4cc85c)regist",{"_index":6700,"title":{},"content":{"1496":{"position":[[196,17]]}},"keywords":{}}],["e4e2fa5",{"_index":4866,"title":{},"content":{"1202":{"position":[[22,9]]}},"keywords":{}}],["e4f89cf)individu",{"_index":6226,"title":{},"content":{"1476":{"position":[[4276,19]]}},"keywords":{}}],["e50ea63)ad",{"_index":5330,"title":{},"content":{"1468":{"position":[[69,15]]}},"keywords":{}}],["e521a20)#573",{"_index":5462,"title":{},"content":{"1474":{"position":[[4026,13]]}},"keywords":{}}],["e5409ff)dark",{"_index":4369,"title":{},"content":{"990":{"position":[[52,13]]}},"keywords":{}}],["e54a3a2",{"_index":3613,"title":{},"content":{"653":{"position":[[44,9]]}},"keywords":{}}],["e566545",{"_index":4777,"title":{},"content":{"1159":{"position":[[49,9]]}},"keywords":{}}],["e574a80",{"_index":3715,"title":{},"content":{"700":{"position":[[66,9]]}},"keywords":{}}],["e597570)ad",{"_index":4261,"title":{},"content":{"947":{"position":[[53,15]]}},"keywords":{}}],["e59c93c)ad",{"_index":4031,"title":{},"content":{"844":{"position":[[88,15]]}},"keywords":{}}],["e5b728f",{"_index":6874,"title":{},"content":{"1581":{"position":[[115,9]]}},"keywords":{}}],["e5b728f)empti",{"_index":5675,"title":{},"content":{"1474":{"position":[[10081,14]]}},"keywords":{}}],["e5eecbf)support",{"_index":6342,"title":{},"content":{"1476":{"position":[[7433,16]]}},"keywords":{}}],["e64727b",{"_index":7036,"title":{},"content":{"1696":{"position":[[50,9]]}},"keywords":{}}],["e64727b)cap",{"_index":5569,"title":{},"content":{"1474":{"position":[[7340,12]]}},"keywords":{}}],["e683a92)additivesceneexampl",{"_index":5528,"title":{},"content":{"1474":{"position":[[6103,29]]}},"keywords":{}}],["e683a92)th",{"_index":7017,"title":{},"content":{"1682":{"position":[[55,12]]}},"keywords":{}}],["e6881ef)cal",{"_index":5563,"title":{},"content":{"1474":{"position":[[7123,16]]}},"keywords":{}}],["e6881ef)compil",{"_index":6859,"title":{},"content":{"1577":{"position":[[143,20]]}},"keywords":{}}],["e6a4413",{"_index":3557,"title":{},"content":{"625":{"position":[[46,9]]}},"keywords":{}}],["e6b9354)no",{"_index":4617,"title":{},"content":{"1092":{"position":[[38,11]]}},"keywords":{}}],["e6e10a7)chat",{"_index":5574,"title":{},"content":{"1474":{"position":[[7463,13]]}},"keywords":{}}],["e6e10a7)miss",{"_index":6925,"title":{},"content":{"1614":{"position":[[13,16]]}},"keywords":{}}],["e725a41",{"_index":3923,"title":{},"content":{"795":{"position":[[71,9]]}},"keywords":{}}],["e73c9d5)ad",{"_index":3187,"title":{},"content":{"486":{"position":[[105,15]]}},"keywords":{}}],["e741809",{"_index":4992,"title":{},"content":{"1262":{"position":[[49,9]]}},"keywords":{}}],["e75b45f",{"_index":6232,"title":{},"content":{"1476":{"position":[[4414,10]]},"1747":{"position":[[77,10]]}},"keywords":{}}],["e79b00",{"_index":4532,"title":{},"content":{"1049":{"position":[[112,9]]}},"keywords":{}}],["e7ac06f)ad",{"_index":4130,"title":{},"content":{"879":{"position":[[57,15]]}},"keywords":{}}],["e7cfd5a)clean",{"_index":5581,"title":{},"content":{"1474":{"position":[[7589,14]]}},"keywords":{}}],["e7cfd5a)r",{"_index":6895,"title":{},"content":{"1592":{"position":[[61,11]]}},"keywords":{}}],["e89c32d",{"_index":7068,"title":{},"content":{"1722":{"position":[[48,9]]}},"keywords":{}}],["e89c32d)remov",{"_index":6045,"title":{},"content":{"1475":{"position":[[162,15]]}},"keywords":{}}],["e8a93a4)stop",{"_index":4283,"title":{},"content":{"954":{"position":[[188,17]]}},"keywords":{}}],["e8ab7a4)compress",{"_index":4498,"title":{},"content":{"1044":{"position":[[38,20]]}},"keywords":{}}],["e8b933d",{"_index":6966,"title":{},"content":{"1642":{"position":[[31,9]]}},"keywords":{}}],["e8b933d)prettifi",{"_index":6307,"title":{},"content":{"1476":{"position":[[6514,17]]}},"keywords":{}}],["e8e1829",{"_index":3698,"title":{},"content":{"692":{"position":[[34,9]]}},"keywords":{}}],["e8fac8a)sync",{"_index":5988,"title":{},"content":{"1474":{"position":[[20892,13]]}},"keywords":{}}],["e900d33",{"_index":4837,"title":{},"content":{"1188":{"position":[[28,9]]}},"keywords":{}}],["e913004",{"_index":4342,"title":{},"content":{"978":{"position":[[95,9]]}},"keywords":{}}],["e915aeb",{"_index":4664,"title":{},"content":{"1111":{"position":[[48,9]]}},"keywords":{}}],["e91f6d3",{"_index":4127,"title":{},"content":{"878":{"position":[[52,9]]}},"keywords":{}}],["e946c79)fix",{"_index":5697,"title":{},"content":{"1474":{"position":[[10872,14]]}},"keywords":{}}],["e946c79)prev",{"_index":7029,"title":{},"content":{"1693":{"position":[[21,16]]}},"keywords":{}}],["e9621dd)add",{"_index":5503,"title":{},"content":{"1474":{"position":[[5277,12]]}},"keywords":{}}],["e9621dd)ninjaw",{"_index":6756,"title":{},"content":{"1539":{"position":[[59,16]]}},"keywords":{}}],["e969e6d)allow",{"_index":3842,"title":{},"content":{"757":{"position":[[94,17]]}},"keywords":{}}],["e97ab93)add",{"_index":6085,"title":{},"content":{"1476":{"position":[[711,12]]}},"keywords":{}}],["e9fedf1",{"_index":3930,"title":{},"content":{"799":{"position":[[59,9]]}},"keywords":{}}],["ea09c61",{"_index":4204,"title":{},"content":{"919":{"position":[[38,9]]}},"keywords":{}}],["eaadd62)rpc",{"_index":3724,"title":{},"content":{"704":{"position":[[52,13]]}},"keywords":{}}],["eacfef",{"_index":5151,"title":{},"content":{"1337":{"position":[[55,9]]}},"keywords":{}}],["each",{"_index":236,"title":{},"content":{"10":{"position":[[456,4]]},"31":{"position":[[422,4]]},"49":{"position":[[548,4]]},"54":{"position":[[55,4]]},"82":{"position":[[102,4]]},"88":{"position":[[45,4]]},"89":{"position":[[198,4]]},"139":{"position":[[1047,4]]},"196":{"position":[[664,4]]},"212":{"position":[[171,4]]},"213":{"position":[[1566,4],[1646,4]]},"225":{"position":[[369,4]]},"235":{"position":[[1859,4]]},"237":{"position":[[117,4]]},"238":{"position":[[393,4],[728,4]]},"243":{"position":[[424,4],[737,4],[924,4],[992,4]]},"247":{"position":[[954,4]]},"264":{"position":[[445,4],[867,4],[1121,4]]},"335":{"position":[[178,4],[770,4],[1341,4]]},"356":{"position":[[556,4],[1424,4]]},"361":{"position":[[134,4],[287,4],[893,4]]},"693":{"position":[[71,4]]},"1474":{"position":[[1891,4]]},"1477":{"position":[[1252,4]]},"1780":{"position":[[57,4],[854,4]]},"1781":{"position":[[57,4],[918,4]]},"1935":{"position":[[1136,4]]},"1970":{"position":[[61,4]]},"1983":{"position":[[882,4],[1626,4],[3163,4]]},"2054":{"position":[[42,4]]},"2183":{"position":[[873,4]]},"2263":{"position":[[84,4],[347,4]]},"2265":{"position":[[263,4]]},"2371":{"position":[[158,4]]},"2482":{"position":[[5742,4]]}},"keywords":{}}],["ead317f)networkbehavior",{"_index":3792,"title":{},"content":{"734":{"position":[[100,25]]}},"keywords":{}}],["eaee748)weav",{"_index":3547,"title":{},"content":{"622":{"position":[[41,16]]}},"keywords":{}}],["earli",{"_index":983,"title":{},"content":{"92":{"position":[[527,5]]},"989":{"position":[[36,5]]},"1474":{"position":[[14328,5]]},"1733":{"position":[[396,5]]}},"keywords":{}}],["earlier",{"_index":2102,"title":{},"content":{"245":{"position":[[4446,7]]},"302":{"position":[[523,7]]},"939":{"position":[[60,7]]},"2023":{"position":[[3112,7]]},"2031":{"position":[[3232,7]]}},"keywords":{}}],["eas",{"_index":2954,"title":{},"content":{"382":{"position":[[42,4]]},"1474":{"position":[[570,4]]},"1766":{"position":[[360,4]]}},"keywords":{}}],["easi",{"_index":1514,"title":{},"content":{"183":{"position":[[632,4],[969,4]]},"203":{"position":[[163,4],[1046,5]]}},"keywords":{}}],["easier",{"_index":1398,"title":{},"content":{"175":{"position":[[837,6]]},"184":{"position":[[203,6]]},"202":{"position":[[54,6]]},"280":{"position":[[56,6]]},"361":{"position":[[914,6]]},"757":{"position":[[52,6]]}},"keywords":{}}],["easiest",{"_index":2296,"title":{},"content":{"269":{"position":[[397,7]]},"303":{"position":[[432,7]]}},"keywords":{}}],["easili",{"_index":1508,"title":{},"content":{"183":{"position":[[231,6]]},"270":{"position":[[129,7]]},"361":{"position":[[665,6]]}},"keywords":{}}],["eb0fd1c",{"_index":3891,"title":{},"content":{"777":{"position":[[41,9]]}},"keywords":{}}],["eb5242d",{"_index":6977,"title":{},"content":{"1650":{"position":[[139,9]]}},"keywords":{}}],["eb5242d)mov",{"_index":6542,"title":{},"content":{"1477":{"position":[[3865,13]]}},"keywords":{}}],["eb7c87d)ad",{"_index":6834,"title":{},"content":{"1567":{"position":[[202,14]]}},"keywords":{}}],["eb7c87d)add",{"_index":6082,"title":{},"content":{"1476":{"position":[[629,12]]}},"keywords":{}}],["eb81190",{"_index":6881,"title":{},"content":{"1584":{"position":[[45,9]]}},"keywords":{}}],["eb81190)pass",{"_index":6301,"title":{},"content":{"1476":{"position":[[6386,13]]}},"keywords":{}}],["eb880d5",{"_index":3553,"title":{},"content":{"622":{"position":[[249,9]]}},"keywords":{}}],["eb93c34)clientscen",{"_index":6161,"title":{},"content":{"1476":{"position":[[2744,20]]}},"keywords":{}}],["eb93c34)command",{"_index":6770,"title":{},"content":{"1547":{"position":[[44,17]]}},"keywords":{}}],["eb97cef",{"_index":4861,"title":{},"content":{"1199":{"position":[[23,9]]}},"keywords":{}}],["ec0b839",{"_index":4903,"title":{},"content":{"1217":{"position":[[35,9]]}},"keywords":{}}],["ec2",{"_index":1428,"title":{"182":{"position":[[35,3]]}},"content":{"182":{"position":[[268,4],[300,3],[3293,3],[3375,4]]},"184":{"position":[[712,3]]}},"keywords":{}}],["ec319a1)networkident",{"_index":6274,"title":{},"content":{"1476":{"position":[[5672,24]]},"1567":{"position":[[1263,24]]}},"keywords":{}}],["ec3a939",{"_index":6972,"title":{},"content":{"1648":{"position":[[43,9]]}},"keywords":{}}],["ec3a939)error",{"_index":5676,"title":{},"content":{"1474":{"position":[[10133,14]]}},"keywords":{}}],["ec45074",{"_index":3056,"title":{},"content":{"427":{"position":[[50,9]]}},"keywords":{}}],["ec54ee6)fix",{"_index":5293,"title":{},"content":{"1466":{"position":[[621,15]]}},"keywords":{}}],["ec80990",{"_index":3313,"title":{},"content":{"537":{"position":[[245,9]]}},"keywords":{}}],["ecc0659)client",{"_index":6157,"title":{},"content":{"1476":{"position":[[2641,15]]}},"keywords":{}}],["ecc0659)cosmet",{"_index":7094,"title":{},"content":{"1734":{"position":[[198,17]]}},"keywords":{}}],["ece4500",{"_index":2957,"title":{},"content":{"384":{"position":[[49,9]]}},"keywords":{}}],["echo",{"_index":1636,"title":{},"content":{"196":{"position":[[699,4]]}},"keywords":{}}],["ed00f34",{"_index":3459,"title":{},"content":{"585":{"position":[[79,10]]}},"keywords":{}}],["ed180ff",{"_index":4656,"title":{},"content":{"1109":{"position":[[47,9]]}},"keywords":{}}],["ed40c2d)syncdictionari",{"_index":6348,"title":{},"content":{"1476":{"position":[[7631,23]]}},"keywords":{}}],["ed40c2d)targetrpc",{"_index":6772,"title":{},"content":{"1547":{"position":[[153,18]]}},"keywords":{}}],["ed572da)networkclient.shutdown",{"_index":5779,"title":{},"content":{"1474":{"position":[[13436,31]]}},"keywords":{}}],["ed7e509)weav",{"_index":6017,"title":{},"content":{"1474":{"position":[[22038,15]]}},"keywords":{}}],["ed99d05",{"_index":4253,"title":{},"content":{"944":{"position":[[30,9]]}},"keywords":{}}],["edb0705",{"_index":4469,"title":{},"content":{"1028":{"position":[[47,9]]}},"keywords":{}}],["edit",{"_index":816,"title":{},"content":{"67":{"position":[[128,4]]},"201":{"position":[[128,4]]},"235":{"position":[[1715,7]]},"786":{"position":[[35,7]]},"1474":{"position":[[22672,7],[22712,6]]}},"keywords":{}}],["editor",{"_index":212,"title":{"258":{"position":[[11,6]]}},"content":{"9":{"position":[[478,6],[514,6]]},"18":{"position":[[322,6]]},"46":{"position":[[281,6],[700,6],[1415,7]]},"50":{"position":[[111,6]]},"67":{"position":[[186,6],[778,6]]},"187":{"position":[[1061,6],[1156,6]]},"201":{"position":[[186,6],[778,6]]},"203":{"position":[[2179,6]]},"258":{"position":[[58,7]]},"458":{"position":[[18,6]]},"558":{"position":[[29,6]]},"763":{"position":[[43,6]]},"781":{"position":[[17,6]]},"847":{"position":[[391,8]]},"897":{"position":[[27,6]]},"1153":{"position":[[19,6]]},"1175":{"position":[[14,6]]},"1466":{"position":[[910,6],[962,6],[1100,6]]},"1474":{"position":[[2638,7],[13761,6]]},"1476":{"position":[[6253,6]]},"1645":{"position":[[41,6]]},"1676":{"position":[[47,6]]}},"keywords":{}}],["editor=host",{"_index":5440,"title":{},"content":{"1474":{"position":[[3103,12]]}},"keywords":{}}],["editorpref",{"_index":3958,"title":{},"content":{"814":{"position":[[51,11]]}},"keywords":{}}],["ee27841",{"_index":4921,"title":{},"content":{"1227":{"position":[[46,9]]}},"keywords":{}}],["ee2ace8)#679",{"_index":5474,"title":{},"content":{"1474":{"position":[[4612,13]]}},"keywords":{}}],["ee6e55",{"_index":4437,"title":{},"content":{"1014":{"position":[[48,9]]}},"keywords":{}}],["ee9c737)allow",{"_index":6128,"title":{},"content":{"1476":{"position":[[1910,17]]}},"keywords":{}}],["eebe63a",{"_index":4224,"title":{},"content":{"930":{"position":[[79,10]]}},"keywords":{}}],["eec49fa",{"_index":5328,"title":{},"content":{"1467":{"position":[[397,9]]}},"keywords":{}}],["eee9692",{"_index":6564,"title":{},"content":{"1477":{"position":[[4314,10]]},"1745":{"position":[[389,10]]}},"keywords":{}}],["ef47ee7",{"_index":6703,"title":{},"content":{"1497":{"position":[[26,9]]}},"keywords":{}}],["ef47ee7)saf",{"_index":6315,"title":{},"content":{"1476":{"position":[[6689,14]]}},"keywords":{}}],["ef5c426",{"_index":3827,"title":{},"content":{"749":{"position":[[52,10]]}},"keywords":{}}],["effect",{"_index":1971,"title":{},"content":{"240":{"position":[[1260,8]]},"247":{"position":[[316,6]]},"304":{"position":[[858,8]]},"331":{"position":[[408,8]]},"2370":{"position":[[5174,7]]}},"keywords":{}}],["effici",{"_index":1841,"title":{},"content":{"217":{"position":[[883,9]]},"1477":{"position":[[1794,11],[1843,11]]}},"keywords":{}}],["effort",{"_index":1974,"title":{},"content":{"240":{"position":[[1403,6]]}},"keywords":{}}],["eg",{"_index":1223,"title":{},"content":{"133":{"position":[[63,2]]},"139":{"position":[[1326,2]]},"164":{"position":[[131,3],[343,3]]},"165":{"position":[[35,3]]},"255":{"position":[[31,3]]},"321":{"position":[[657,3]]},"322":{"position":[[119,3]]},"325":{"position":[[282,2],[335,2]]},"327":{"position":[[77,2],[100,2],[133,2]]},"363":{"position":[[585,3],[640,3]]},"2054":{"position":[[82,2]]}},"keywords":{}}],["element",{"_index":620,"title":{},"content":{"42":{"position":[[628,8]]},"133":{"position":[[80,9]]},"139":{"position":[[308,8],[477,7],[610,7],[665,8],[709,8],[747,7],[949,8],[1070,8],[1132,8],[1341,7]]},"263":{"position":[[833,8]]},"322":{"position":[[70,7]]},"344":{"position":[[279,9]]},"352":{"position":[[267,9]]},"1477":{"position":[[3385,8]]},"2043":{"position":[[42,8],[172,8]]}},"keywords":{}}],["element'",{"_index":2680,"title":{},"content":{"327":{"position":[[762,9]]}},"keywords":{}}],["eligible"",{"_index":1450,"title":{},"content":{"182":{"position":[[778,14],[935,15]]}},"keywords":{}}],["emit",{"_index":3073,"title":{},"content":{"436":{"position":[[7,4]]}},"keywords":{}}],["empti",{"_index":381,"title":{},"content":{"18":{"position":[[64,5]]},"53":{"position":[[474,6]]},"209":{"position":[[61,5]]},"210":{"position":[[96,5]]},"211":{"position":[[1708,5]]},"240":{"position":[[502,5]]},"245":{"position":[[1231,5]]},"251":{"position":[[2093,5],[2771,5]]},"555":{"position":[[215,5]]},"764":{"position":[[56,5]]},"1120":{"position":[[24,5]]},"1474":{"position":[[1638,5],[2873,5],[10127,5],[14942,5]]},"1477":{"position":[[3434,5]]},"1546":{"position":[[118,5]]},"1648":{"position":[[0,5],[37,5]]},"2130":{"position":[[1585,5],[1749,5],[1852,5]]},"2204":{"position":[[1724,5],[1865,5]]},"2421":{"position":[[3486,6],[3977,6]]},"2478":{"position":[[4061,5]]},"2482":{"position":[[3917,5]]}},"keywords":{}}],["emptyacklimit",{"_index":8432,"title":{},"content":{"2130":{"position":[[1725,14],[1926,13]]}},"keywords":{}}],["emptystr",{"_index":9205,"title":{},"content":{"2500":{"position":[[0,12],[43,11]]}},"keywords":{}}],["enabl",{"_index":23,"title":{},"content":{"0":{"position":[[398,8]]},"3":{"position":[[446,6]]},"43":{"position":[[665,8]]},"94":{"position":[[519,6]]},"189":{"position":[[389,6],[535,7]]},"211":{"position":[[445,6]]},"223":{"position":[[144,8]]},"235":{"position":[[2000,7]]},"248":{"position":[[1405,8],[1435,8]]},"263":{"position":[[522,7]]},"504":{"position":[[84,6]]},"505":{"position":[[115,6],[211,7]]},"628":{"position":[[0,6]]},"669":{"position":[[57,7]]},"1474":{"position":[[16494,6]]},"1476":{"position":[[9344,6]]},"1592":{"position":[[73,6]]},"2130":{"position":[[2721,6]]},"2503":{"position":[[237,6]]}},"keywords":{}}],["enable/dis",{"_index":1969,"title":{},"content":{"240":{"position":[[1085,14]]}},"keywords":{}}],["enablepeermetr",{"_index":8911,"title":{},"content":{"2349":{"position":[[0,18],[44,17]]},"2419":{"position":[[0,18],[44,17]]}},"keywords":{}}],["encod",{"_index":1135,"title":{"152":{"position":[[7,6]]}},"content":{"119":{"position":[[211,7],[240,9]]},"568":{"position":[[14,8]]},"586":{"position":[[45,8]]},"863":{"position":[[26,8]]},"1983":{"position":[[3229,8],[3280,7]]},"2039":{"position":[[157,8]]},"2040":{"position":[[497,10],[593,8],[602,9],[744,8],[766,8],[828,8],[878,10],[961,8],[970,9],[1077,8],[1099,8],[1161,8]]},"2130":{"position":[[968,7]]}},"keywords":{}}],["encode(int",{"_index":8296,"title":{},"content":{"2089":{"position":[[47,10]]}},"keywords":{}}],["encode(int32",{"_index":8295,"title":{},"content":{"2089":{"position":[[0,14]]}},"keywords":{}}],["encode(int64",{"_index":8298,"title":{},"content":{"2089":{"position":[[151,14]]}},"keywords":{}}],["encode(long",{"_index":8299,"title":{},"content":{"2089":{"position":[[199,11]]}},"keywords":{}}],["encrypt",{"_index":918,"title":{"95":{"position":[[0,10]]}},"content":{"81":{"position":[[236,10]]},"95":{"position":[[36,11],[169,11],[296,11]]}},"keywords":{}}],["end",{"_index":1464,"title":{},"content":{"182":{"position":[[1556,5]]},"198":{"position":[[268,3],[413,3]]},"240":{"position":[[136,3],[2381,3]]},"241":{"position":[[2564,3]]},"670":{"position":[[7,3]]},"719":{"position":[[6,3]]},"1474":{"position":[[3599,3]]},"1476":{"position":[[3033,3]]},"1656":{"position":[[25,3]]},"1992":{"position":[[421,3],[476,3],[546,4],[617,3]]},"2023":{"position":[[3164,3]]},"2031":{"position":[[3284,3]]},"2156":{"position":[[511,3]]},"2173":{"position":[[539,3]]}},"keywords":{}}],["endian",{"_index":6011,"title":{},"content":{"1474":{"position":[[21862,6]]},"1709":{"position":[[8,6]]}},"keywords":{}}],["endif",{"_index":1116,"title":{},"content":{"117":{"position":[[2194,6]]}},"keywords":{}}],["endofstreamexcept",{"_index":5022,"title":{},"content":{"1275":{"position":[[80,20]]}},"keywords":{}}],["endpoint",{"_index":285,"title":{},"content":{"10":{"position":[[1804,9],[1851,10],[1953,9],[2232,9]]},"651":{"position":[[46,8]]},"875":{"position":[[72,8]]},"903":{"position":[[34,9]]},"904":{"position":[[53,8],[115,8]]},"2093":{"position":[[200,8],[390,8],[477,8]]},"2140":{"position":[[0,9],[33,8]]},"2156":{"position":[[50,9],[123,8],[196,9],[269,8]]},"2158":{"position":[[47,8],[132,9],[205,8],[218,8],[297,8],[354,9],[427,8],[951,9],[1083,8],[1258,8],[1404,9],[1504,8]]},"2173":{"position":[[57,9],[130,8],[210,9],[283,8]]},"2208":{"position":[[72,9],[136,8]]},"2209":{"position":[[27,8]]},"2223":{"position":[[57,9],[130,8],[203,9],[276,8],[504,9],[598,8],[719,9],[819,8]]},"2227":{"position":[[57,9],[130,8],[203,9],[276,8],[545,9],[639,8],[760,9],[860,8]]}},"keywords":{}}],["endpointwrapp",{"_index":8576,"title":{"2207":{"position":[[6,15]]}},"content":{"2195":{"position":[[0,16]]}},"keywords":{}}],["endpointwrapper(endpoint",{"_index":8617,"title":{},"content":{"2208":{"position":[[0,26],[47,24]]}},"keywords":{}}],["endregion",{"_index":291,"title":{},"content":{"10":{"position":[[2043,10],[2334,10]]}},"keywords":{}}],["ends.serverobjectmanager.destroy",{"_index":2121,"title":{},"content":{"247":{"position":[[1118,32]]}},"keywords":{}}],["enemi",{"_index":882,"title":{},"content":{"74":{"position":[[31,8]]}},"keywords":{}}],["energi",{"_index":1829,"title":{},"content":{"213":{"position":[[1979,6]]}},"keywords":{}}],["enforc",{"_index":2761,"title":{},"content":{"339":{"position":[[366,7]]},"342":{"position":[[269,7]]},"348":{"position":[[363,7]]},"350":{"position":[[242,7]]}},"keywords":{}}],["engin",{"_index":747,"title":{"177":{"position":[[15,7]]},"258":{"position":[[0,6]]}},"content":{"57":{"position":[[208,6]]},"190":{"position":[[48,6]]},"258":{"position":[[43,6]]}},"keywords":{}}],["enhanc",{"_index":6176,"title":{},"content":{"1476":{"position":[[3068,11]]},"1734":{"position":[[216,11]]}},"keywords":{}}],["enough",{"_index":1208,"title":{},"content":{"129":{"position":[[487,6]]},"155":{"position":[[432,6]]},"158":{"position":[[487,6]]},"213":{"position":[[1171,6]]},"260":{"position":[[202,6]]},"2042":{"position":[[197,6]]},"2130":{"position":[[563,6],[1777,6]]},"2417":{"position":[[1927,6]]}},"keywords":{}}],["enqueue(t",{"_index":8599,"title":{},"content":{"2204":{"position":[[168,11],[205,9]]}},"keywords":{}}],["ensur",{"_index":143,"title":{"320":{"position":[[0,6]]}},"content":{"3":{"position":[[511,7]]},"6":{"position":[[21,7]]},"99":{"position":[[267,7],[1398,8]]},"175":{"position":[[695,6]]},"243":{"position":[[2038,6]]},"245":{"position":[[1526,7],[1665,7]]},"332":{"position":[[545,6]]},"359":{"position":[[22,7]]},"2518":{"position":[[222,6]]}},"keywords":{}}],["enter",{"_index":355,"title":{},"content":{"14":{"position":[[1531,5]]},"22":{"position":[[330,8]]},"33":{"position":[[182,5]]},"183":{"position":[[1220,5],[1655,5]]},"184":{"position":[[825,5],[867,5]]},"190":{"position":[[1718,5]]},"191":{"position":[[407,5]]},"211":{"position":[[1668,5]]},"262":{"position":[[188,6]]},"264":{"position":[[1166,6]]},"2417":{"position":[[2771,5],[2827,6],[9914,5]]}},"keywords":{}}],["entir",{"_index":1462,"title":{},"content":{"182":{"position":[[1487,6]]},"242":{"position":[[882,6]]},"356":{"position":[[319,6]]}},"keywords":{}}],["enum",{"_index":261,"title":{"1929":{"position":[[0,6]]},"1948":{"position":[[0,4]]},"1957":{"position":[[0,6]]},"1967":{"position":[[0,4]]},"2094":{"position":[[0,6]]},"2123":{"position":[[0,4]]},"2127":{"position":[[0,4]]},"2133":{"position":[[0,4]]},"2161":{"position":[[0,4]]},"2180":{"position":[[0,4]]},"2196":{"position":[[0,6]]},"2218":{"position":[[0,4]]},"2243":{"position":[[0,6]]},"2249":{"position":[[0,4]]},"2256":{"position":[[0,4]]},"2258":{"position":[[0,4]]},"2260":{"position":[[0,4]]},"2360":{"position":[[0,4]]},"2374":{"position":[[0,4]]},"2459":{"position":[[0,4]]},"2467":{"position":[[0,4]]},"2502":{"position":[[0,4]]},"2504":{"position":[[0,4]]},"2506":{"position":[[0,4]]},"2517":{"position":[[0,4]]},"2519":{"position":[[0,4]]}},"content":{"10":{"position":[[1044,4]]},"130":{"position":[[12,4],[59,4]]},"159":{"position":[[12,4],[59,4]]},"240":{"position":[[325,4],[1118,5],[1868,4]]},"241":{"position":[[2089,4]]},"274":{"position":[[141,6]]},"295":{"position":[[663,4]]},"327":{"position":[[437,6],[486,4],[622,4]]},"357":{"position":[[159,4]]},"537":{"position":[[288,4]]},"539":{"position":[[79,4]]},"851":{"position":[[49,4]]},"934":{"position":[[7,5]]},"1051":{"position":[[18,4]]},"1052":{"position":[[32,4]]},"1477":{"position":[[1932,4]]},"1479":{"position":[[2507,4]]},"1664":{"position":[[61,4]]},"1983":{"position":[[126,5],[1995,5],[2184,5]]},"2367":{"position":[[228,4]]}},"keywords":{}}],["enumer",{"_index":6407,"title":{},"content":{"1477":{"position":[[173,10]]},"2243":{"position":[[45,11]]}},"keywords":{}}],["enumerator(synclist<t>",{"_index":7293,"title":{},"content":{"1846":{"position":[[0,30],[51,28]]}},"keywords":{}}],["environ",{"_index":1481,"title":{},"content":{"182":{"position":[[2536,12]]}},"keywords":{}}],["environment",{"_index":131,"title":{},"content":{"3":{"position":[[85,13]]}},"keywords":{}}],["eq",{"_index":7282,"title":{},"content":{"1840":{"position":[[168,3],[263,2]]}},"keywords":{}}],["equal",{"_index":1258,"title":{},"content":{"139":{"position":[[774,5]]},"346":{"position":[[1866,6],[2283,6]]},"1476":{"position":[[7964,8]]},"2093":{"position":[[286,5]]}},"keywords":{}}],["equals(acksystem.reliablereceiv",{"_index":8347,"title":{},"content":{"2100":{"position":[[0,35],[61,33]]}},"keywords":{}}],["equals(networkbehaviour.id",{"_index":8908,"title":{},"content":{"2343":{"position":[[102,28],[156,26]]}},"keywords":{}}],["equals(object",{"_index":8358,"title":{},"content":{"2103":{"position":[[490,15],[540,13]]},"2210":{"position":[[0,15],[50,13]]},"2343":{"position":[[299,15],[349,13]]}},"keywords":{}}],["equip",{"_index":1809,"title":{},"content":{"212":{"position":[[231,9]]},"240":{"position":[[575,8],[620,5],[712,5],[917,5],[960,8]]},"241":{"position":[[16,5],[1652,8],[2024,5]]},"242":{"position":[[132,5],[342,8],[821,8]]},"316":{"position":[[723,5],[799,5]]},"317":{"position":[[170,8]]},"343":{"position":[[261,9]]},"345":{"position":[[132,9]]}},"keywords":{}}],["equipment.add("body"",{"_index":2791,"title":{},"content":{"343":{"position":[[528,31]]}},"keywords":{}}],["equipment.add("feet"",{"_index":2793,"title":{},"content":{"343":{"position":[[638,31]]}},"keywords":{}}],["equipment.add("hands"",{"_index":2796,"title":{},"content":{"343":{"position":[[745,32]]}},"keywords":{}}],["equipment.add("head"",{"_index":2789,"title":{},"content":{"343":{"position":[[422,31]]}},"keywords":{}}],["equipment.onchang",{"_index":2804,"title":{},"content":{"345":{"position":[[368,18]]}},"keywords":{}}],["equippeditem",{"_index":1982,"title":{},"content":{"240":{"position":[[1873,12],[2182,12],[2195,13],[2262,12],[3035,12],[3166,12],[3291,12],[3414,12],[3569,12]]},"241":{"position":[[377,12],[508,12],[633,12],[756,12],[884,12],[1571,13],[1672,12],[2272,12],[2285,13],[2445,12]]},"242":{"position":[[356,12]]}},"keywords":{}}],["equippeditem.bal",{"_index":1998,"title":{},"content":{"240":{"position":[[2707,18],[3182,18]]},"241":{"position":[[524,18],[3159,18]]}},"keywords":{}}],["equippeditem.box",{"_index":2002,"title":{},"content":{"240":{"position":[[2784,17],[3307,17]]},"241":{"position":[[649,17],[3226,17]]}},"keywords":{}}],["equippeditem.cylind",{"_index":2004,"title":{},"content":{"240":{"position":[[2859,22],[3430,22]]},"241":{"position":[[772,22],[3291,22]]}},"keywords":{}}],["equippeditem.noth",{"_index":2007,"title":{},"content":{"240":{"position":[[3051,21]]},"241":{"position":[[393,21],[900,21],[1687,21]]}},"keywords":{}}],["error",{"_index":942,"title":{},"content":{"85":{"position":[[158,5],[532,5]]},"92":{"position":[[442,5]]},"182":{"position":[[1338,5]]},"251":{"position":[[3097,5]]},"385":{"position":[[7,5]]},"400":{"position":[[77,5]]},"409":{"position":[[21,6]]},"530":{"position":[[15,5]]},"537":{"position":[[93,6]]},"541":{"position":[[25,5]]},"546":{"position":[[23,5]]},"560":{"position":[[0,6]]},"607":{"position":[[15,5]]},"611":{"position":[[10,5]]},"614":{"position":[[7,5]]},"634":{"position":[[34,5]]},"744":{"position":[[7,5]]},"770":{"position":[[7,5]]},"818":{"position":[[18,5]]},"824":{"position":[[65,5]]},"825":{"position":[[19,5]]},"847":{"position":[[376,5]]},"881":{"position":[[7,5]]},"915":{"position":[[15,5]]},"917":{"position":[[15,5]]},"929":{"position":[[10,5],[58,5]]},"944":{"position":[[7,6]]},"1062":{"position":[[23,6]]},"1064":{"position":[[34,6]]},"1177":{"position":[[0,5]]},"1184":{"position":[[18,6]]},"1185":{"position":[[18,6]]},"1223":{"position":[[17,5]]},"1334":{"position":[[13,5]]},"1353":{"position":[[347,5]]},"1358":{"position":[[347,5]]},"1363":{"position":[[347,5]]},"1368":{"position":[[347,5]]},"1373":{"position":[[153,5]]},"1377":{"position":[[153,5]]},"1381":{"position":[[153,5]]},"1385":{"position":[[153,5]]},"1389":{"position":[[153,5]]},"1393":{"position":[[153,5]]},"1397":{"position":[[153,5]]},"1401":{"position":[[153,5]]},"1405":{"position":[[153,5]]},"1409":{"position":[[153,5]]},"1413":{"position":[[153,5]]},"1417":{"position":[[153,5]]},"1421":{"position":[[153,5]]},"1425":{"position":[[153,5]]},"1429":{"position":[[153,5]]},"1433":{"position":[[153,5]]},"1437":{"position":[[107,5]]},"1440":{"position":[[107,5]]},"1442":{"position":[[31,6]]},"1448":{"position":[[26,6]]},"1466":{"position":[[7,5],[82,5]]},"1474":{"position":[[982,7],[1815,5],[1827,5],[6626,5],[6712,6],[7751,5],[8401,5],[8428,5],[8455,5],[9501,5],[11455,5],[11527,5],[16577,5],[17009,5],[20044,5],[21046,5]]},"1476":{"position":[[2394,6],[2678,5],[3867,5],[4072,5],[4527,5],[7066,5],[7192,5],[8803,5]]},"1477":{"position":[[309,5]]},"1479":{"position":[[1786,5],[1842,5],[3151,6],[3168,6],[4105,7],[4198,5],[4240,5]]},"1496":{"position":[[221,5]]},"1526":{"position":[[33,5]]},"1528":{"position":[[28,5]]},"1530":{"position":[[34,5]]},"1534":{"position":[[28,5]]},"1555":{"position":[[30,5]]},"1566":{"position":[[428,5],[514,6],[916,5],[988,5]]},"1577":{"position":[[164,5]]},"1578":{"position":[[313,5]]},"1646":{"position":[[384,5],[440,5]]},"1655":{"position":[[212,7]]},"1735":{"position":[[38,6]]},"1737":{"position":[[68,6],[85,6]]},"1740":{"position":[[13,5]]},"1745":{"position":[[119,5]]},"1751":{"position":[[12,5],[39,5]]},"1762":{"position":[[181,5]]},"2255":{"position":[[0,6],[70,5],[89,5],[229,5]]},"2279":{"position":[[0,6],[70,5],[89,5],[229,5]]},"2313":{"position":[[0,6],[70,5],[89,5],[229,5]]},"2386":{"position":[[0,6],[70,5],[211,5]]},"2471":{"position":[[0,6],[70,5],[89,5],[229,5]]},"2507":{"position":[[65,5]]}},"keywords":{}}],["errorenabled(ilogg",{"_index":7601,"title":{},"content":{"1939":{"position":[[1200,22]]}},"keywords":{}}],["errorenabled(thi",{"_index":7602,"title":{},"content":{"1939":{"position":[[1255,17]]}},"keywords":{}}],["errror",{"_index":3960,"title":{},"content":{"816":{"position":[[7,6]]}},"keywords":{}}],["especi",{"_index":2566,"title":{},"content":{"314":{"position":[[638,10]]},"340":{"position":[[430,10]]},"344":{"position":[[82,10]]},"352":{"position":[[76,10]]},"361":{"position":[[386,10]]}},"keywords":{}}],["essenc",{"_index":1423,"title":{},"content":{"179":{"position":[[579,8]]}},"keywords":{}}],["establish",{"_index":269,"title":{},"content":{"10":{"position":[[1356,12]]}},"keywords":{}}],["establishing/test",{"_index":743,"title":{},"content":{"56":{"position":[[32,20]]}},"keywords":{}}],["estim",{"_index":1599,"title":{},"content":{"190":{"position":[[1187,8]]}},"keywords":{}}],["etc",{"_index":456,"title":{},"content":{"24":{"position":[[458,4]]},"172":{"position":[[286,4]]},"223":{"position":[[153,6]]},"240":{"position":[[1269,4]]},"340":{"position":[[494,4]]},"344":{"position":[[146,4],[289,4]]},"352":{"position":[[140,4],[277,4]]},"356":{"position":[[1282,4]]},"1983":{"position":[[132,4],[2001,4],[2190,4]]},"2054":{"position":[[178,3]]},"2240":{"position":[[6759,4]]},"2255":{"position":[[199,4]]},"2279":{"position":[[199,4]]},"2313":{"position":[[199,4]]},"2386":{"position":[[181,4]]},"2400":{"position":[[1135,4]]},"2471":{"position":[[199,4]]}},"keywords":{}}],["etc.)"",{"_index":9237,"title":{},"content":{"2515":{"position":[[318,11]]}},"keywords":{}}],["ethernet/wifi/etc",{"_index":1554,"title":{},"content":{"187":{"position":[[411,19]]}},"keywords":{}}],["ev",{"_index":8814,"title":{},"content":{"2287":{"position":[[236,4]]}},"keywords":{}}],["even",{"_index":978,"title":{},"content":{"92":{"position":[[286,4]]},"103":{"position":[[227,4]]},"129":{"position":[[449,4]]},"155":{"position":[[393,4]]},"158":{"position":[[449,4]]},"175":{"position":[[603,4]]},"213":{"position":[[320,4]]},"262":{"position":[[169,4]]},"288":{"position":[[1322,4]]},"316":{"position":[[609,4],[994,4]]},"516":{"position":[[42,4]]},"595":{"position":[[89,4]]},"660":{"position":[[27,4]]},"877":{"position":[[22,4]]},"1474":{"position":[[7740,4],[8852,4],[10616,4],[14254,4]]},"1476":{"position":[[6238,4]]},"1555":{"position":[[19,4]]},"1603":{"position":[[11,4]]},"1645":{"position":[[26,4]]},"1733":{"position":[[322,4]]},"1766":{"position":[[703,4]]},"1780":{"position":[[161,4]]},"1781":{"position":[[161,4]]},"2130":{"position":[[1631,4]]},"2225":{"position":[[49,4]]},"2370":{"position":[[4689,4],[4884,4]]},"2482":{"position":[[6612,4],[7488,4],[8099,4]]},"2503":{"position":[[261,4]]}},"keywords":{}}],["event",{"_index":151,"title":{"271":{"position":[[8,6]]},"272":{"position":[[18,7]]},"273":{"position":[[17,7]]}},"content":{"3":{"position":[[719,5]]},"42":{"position":[[452,5],[536,5]]},"62":{"position":[[231,6]]},"71":{"position":[[1202,5]]},"171":{"position":[[60,6]]},"172":{"position":[[465,6]]},"213":{"position":[[299,6]]},"222":{"position":[[168,6],[256,6]]},"223":{"position":[[115,6]]},"224":{"position":[[547,5]]},"225":{"position":[[202,5],[606,5]]},"226":{"position":[[372,7],[483,7],[510,6],[541,6]]},"227":{"position":[[128,5],[192,5],[314,5]]},"228":{"position":[[4,5],[75,5],[131,5]]},"229":{"position":[[51,5],[121,5],[177,5]]},"230":{"position":[[136,5],[200,5],[322,5]]},"231":{"position":[[238,5],[308,5],[375,5]]},"232":{"position":[[197,6]]},"233":{"position":[[111,5],[181,5],[248,5]]},"234":{"position":[[280,6]]},"243":{"position":[[2320,5]]},"257":{"position":[[672,6]]},"271":{"position":[[249,7],[277,6]]},"272":{"position":[[99,6]]},"273":{"position":[[101,6],[1065,5]]},"340":{"position":[[525,5]]},"344":{"position":[[528,5],[572,5]]},"348":{"position":[[860,5]]},"352":{"position":[[510,5],[554,5]]},"390":{"position":[[230,6],[256,6]]},"391":{"position":[[157,6]]},"396":{"position":[[34,6]]},"397":{"position":[[19,6]]},"462":{"position":[[43,5]]},"538":{"position":[[86,5]]},"545":{"position":[[154,5]]},"577":{"position":[[13,6]]},"583":{"position":[[42,6]]},"674":{"position":[[7,5]]},"715":{"position":[[207,6]]},"716":{"position":[[23,6]]},"757":{"position":[[112,6]]},"844":{"position":[[82,5]]},"854":{"position":[[46,6]]},"930":{"position":[[43,6]]},"945":{"position":[[15,5]]},"957":{"position":[[12,6]]},"989":{"position":[[19,5]]},"998":{"position":[[15,5],[64,6],[140,6],[226,6],[302,6]]},"1000":{"position":[[24,5],[87,5],[148,5],[482,5],[531,5],[584,5],[636,5],[699,6],[757,5],[814,5],[871,5],[927,5],[989,5],[1052,6]]},"1048":{"position":[[17,5]]},"1064":{"position":[[28,5]]},"1092":{"position":[[17,5]]},"1097":{"position":[[4,6]]},"1136":{"position":[[6,5]]},"1157":{"position":[[16,5]]},"1233":{"position":[[126,7]]},"1234":{"position":[[14,5],[48,5]]},"1282":{"position":[[21,5],[79,5],[136,5]]},"1283":{"position":[[21,5],[79,5],[136,5]]},"1353":{"position":[[80,6]]},"1358":{"position":[[80,6]]},"1363":{"position":[[80,6]]},"1368":{"position":[[80,6]]},"1474":{"position":[[7506,5],[7907,5],[17206,6],[20906,6]]},"1476":{"position":[[4296,6],[4349,6],[5401,5],[5707,6],[6354,5],[7105,5],[7588,6],[7610,5],[7847,6]]},"1477":{"position":[[3787,5]]},"1479":{"position":[[2281,5],[2350,5],[2483,5],[2565,6]]},"1483":{"position":[[14,6]]},"1547":{"position":[[110,6],[132,5]]},"1562":{"position":[[499,6]]},"1584":{"position":[[13,5]]},"1626":{"position":[[78,5]]},"1630":{"position":[[17,5]]},"1648":{"position":[[158,5]]},"1651":{"position":[[35,5]]},"1653":{"position":[[36,5]]},"1659":{"position":[[11,6]]},"1661":{"position":[[11,6]]},"1663":{"position":[[36,6]]},"1664":{"position":[[37,5]]},"1671":{"position":[[26,6]]},"1672":{"position":[[53,6]]},"1674":{"position":[[21,5]]},"1781":{"position":[[216,6]]},"1835":{"position":[[1466,6]]},"1890":{"position":[[17,5],[414,5],[855,5],[957,5]]},"1891":{"position":[[15,5],[220,5]]},"1904":{"position":[[429,6]]},"1907":{"position":[[585,6]]},"1909":{"position":[[540,6]]},"1911":{"position":[[29,5]]},"1926":{"position":[[32,5]]},"2091":{"position":[[276,6]]},"2093":{"position":[[871,6]]},"2106":{"position":[[34,5]]},"2150":{"position":[[49,6]]},"2235":{"position":[[26,5]]},"2240":{"position":[[2070,6],[2138,7],[2157,6],[2294,6],[5931,5],[6149,5]]},"2244":{"position":[[18,5]]},"2344":{"position":[[102,6]]},"2350":{"position":[[259,5],[402,5],[552,5],[744,5]]},"2416":{"position":[[390,5],[551,5],[723,5],[874,5],[1030,5]]},"2417":{"position":[[1400,5],[1892,5]]},"2437":{"position":[[74,5],[431,5]]},"2462":{"position":[[31,5]]},"2466":{"position":[[30,5]]},"2507":{"position":[[453,5],[543,5],[636,5]]}},"keywords":{}}],["event)onstartserv",{"_index":2302,"title":{},"content":{"272":{"position":[[144,20]]},"273":{"position":[[147,20]]}},"keywords":{}}],["eventwith0arg",{"_index":9216,"title":{},"content":{"2507":{"position":[[418,14],[489,13]]}},"keywords":{}}],["eventwith1arg",{"_index":9217,"title":{},"content":{"2507":{"position":[[508,14],[582,13]]}},"keywords":{}}],["eventwith2arg",{"_index":9219,"title":{},"content":{"2507":{"position":[[601,14],[677,13]]}},"keywords":{}}],["everyon",{"_index":342,"title":{},"content":{"14":{"position":[[1134,8]]},"308":{"position":[[112,9],[1524,9]]}},"keywords":{}}],["everyth",{"_index":814,"title":{},"content":{"67":{"position":[[7,11],[512,10]]},"69":{"position":[[349,10]]},"175":{"position":[[820,10]]},"182":{"position":[[2754,10]]},"183":{"position":[[1829,10]]},"201":{"position":[[7,11],[512,10]]}},"keywords":{}}],["everything"",{"_index":3082,"title":{},"content":{"438":{"position":[[102,16]]}},"keywords":{}}],["everywher",{"_index":2877,"title":{},"content":{"356":{"position":[[796,11]]}},"keywords":{}}],["exact",{"_index":5922,"title":{},"content":{"1474":{"position":[[18384,5],[18629,5],[18821,5]]},"1733":{"position":[[711,5],[907,5],[1099,5]]}},"keywords":{}}],["exactli",{"_index":1825,"title":{},"content":{"213":{"position":[[1532,7]]},"306":{"position":[[163,7]]},"359":{"position":[[146,7]]}},"keywords":{}}],["exampl",{"_index":130,"title":{"46":{"position":[[16,7]]},"48":{"position":[[25,7]]},"123":{"position":[[0,7]]},"124":{"position":[[0,7]]},"129":{"position":[[0,7]]},"130":{"position":[[0,7]]},"135":{"position":[[0,7]]},"136":{"position":[[0,7]]},"141":{"position":[[0,7]]},"148":{"position":[[0,7]]},"149":{"position":[[0,7]]},"150":{"position":[[0,7]]},"155":{"position":[[0,7]]},"158":{"position":[[0,7]]},"159":{"position":[[0,7]]},"280":{"position":[[0,8]]},"289":{"position":[[4,8]]},"290":{"position":[[0,7]]},"310":{"position":[[0,7]]},"311":{"position":[[0,7]]},"312":{"position":[[0,7]]},"332":{"position":[[0,7]]},"340":{"position":[[6,8]]},"343":{"position":[[6,8]]},"345":{"position":[[0,8]]},"351":{"position":[[6,8]]},"353":{"position":[[0,8]]},"1777":{"position":[[0,8]]},"1780":{"position":[[0,7]]},"1781":{"position":[[0,7]]},"1783":{"position":[[0,8]]}},"content":{"3":{"position":[[76,8],[704,8]]},"4":{"position":[[108,8]]},"6":{"position":[[689,8]]},"15":{"position":[[750,8]]},"20":{"position":[[380,8]]},"42":{"position":[[299,8],[601,8],[1157,8],[2110,8]]},"44":{"position":[[35,8]]},"46":{"position":[[16,7],[105,7]]},"49":{"position":[[383,8]]},"51":{"position":[[35,8]]},"58":{"position":[[33,8]]},"71":{"position":[[1098,9],[1325,8],[1643,8]]},"85":{"position":[[504,8]]},"92":{"position":[[1299,8],[1434,10]]},"164":{"position":[[509,7],[537,7]]},"173":{"position":[[970,8]]},"186":{"position":[[155,8]]},"187":{"position":[[955,8]]},"190":{"position":[[682,8],[1282,7]]},"213":{"position":[[806,8],[956,8],[1682,8],[1904,8]]},"224":{"position":[[214,8]]},"238":{"position":[[208,7]]},"240":{"position":[[1313,7],[1386,7]]},"242":{"position":[[889,8]]},"245":{"position":[[1208,8],[3399,7],[3557,8]]},"249":{"position":[[482,8],[506,7]]},"251":{"position":[[11,7]]},"253":{"position":[[659,7]]},"264":{"position":[[2331,8]]},"272":{"position":[[406,8]]},"273":{"position":[[469,8]]},"280":{"position":[[1113,8]]},"288":{"position":[[392,8],[952,8],[1774,8]]},"294":{"position":[[355,8]]},"306":{"position":[[143,8]]},"308":{"position":[[90,7],[1129,7],[1502,7]]},"315":{"position":[[82,8],[464,8]]},"316":{"position":[[1120,8]]},"317":{"position":[[76,8],[1011,8]]},"319":{"position":[[297,8]]},"321":{"position":[[86,8],[129,7]]},"327":{"position":[[543,8],[866,8]]},"328":{"position":[[581,8],[1328,8]]},"339":{"position":[[215,8]]},"345":{"position":[[946,8]]},"348":{"position":[[219,8]]},"353":{"position":[[868,8]]},"355":{"position":[[257,8]]},"356":{"position":[[173,8]]},"359":{"position":[[281,7],[315,8]]},"361":{"position":[[687,8]]},"430":{"position":[[0,8],[32,7]]},"548":{"position":[[0,9]]},"618":{"position":[[7,7]]},"685":{"position":[[12,7]]},"873":{"position":[[12,7]]},"879":{"position":[[120,7]]},"1064":{"position":[[12,7]]},"1140":{"position":[[21,8]]},"1149":{"position":[[61,7]]},"1168":{"position":[[15,7]]},"1171":{"position":[[15,7]]},"1214":{"position":[[20,7]]},"1442":{"position":[[43,8]]},"1466":{"position":[[730,7]]},"1474":{"position":[[5955,7],[5987,7],[6363,7],[6601,8],[7455,7],[7477,7],[18184,7],[21646,7],[21927,7]]},"1476":{"position":[[2487,7],[4875,8],[4970,7],[6673,7]]},"1478":{"position":[[617,7]]},"1479":{"position":[[2171,7]]},"1497":{"position":[[10,7]]},"1499":{"position":[[10,8]]},"1561":{"position":[[0,7]]},"1563":{"position":[[167,8]]},"1565":{"position":[[44,7]]},"1567":{"position":[[1128,7]]},"1570":{"position":[[15,7]]},"1580":{"position":[[231,7]]},"1614":{"position":[[5,7]]},"1650":{"position":[[17,7]]},"1684":{"position":[[15,7]]},"1691":{"position":[[0,8]]},"1721":{"position":[[5,7],[46,7]]},"1733":{"position":[[650,7]]},"1777":{"position":[[395,8]]},"1778":{"position":[[52,8]]},"1780":{"position":[[18,7]]},"1781":{"position":[[18,7]]},"1783":{"position":[[982,8]]},"1819":{"position":[[365,7]]},"1883":{"position":[[37,7]]},"1992":{"position":[[84,7],[150,7]]},"2091":{"position":[[538,7]]},"2093":{"position":[[794,7]]},"2130":{"position":[[2180,8],[2788,7]]},"2417":{"position":[[2805,7],[3005,8]]},"2434":{"position":[[834,7]]}},"keywords":{}}],["example)for",{"_index":1471,"title":{},"content":{"182":{"position":[[1866,11]]}},"keywords":{}}],["except",{"_index":982,"title":{},"content":{"92":{"position":[[489,10]]},"179":{"position":[[564,11]]},"479":{"position":[[25,9]]},"551":{"position":[[9,9]]},"603":{"position":[[84,10]]},"614":{"position":[[219,9]]},"677":{"position":[[175,9]]},"715":{"position":[[103,9]]},"808":{"position":[[15,9],[87,9]]},"889":{"position":[[19,9]]},"954":{"position":[[126,9]]},"983":{"position":[[9,9]]},"1059":{"position":[[20,9]]},"1060":{"position":[[20,9]]},"1131":{"position":[[16,9]]},"1197":{"position":[[14,9]]},"1257":{"position":[[6,9]]},"1267":{"position":[[60,9]]},"1300":{"position":[[14,9]]},"1307":{"position":[[20,9]]},"1474":{"position":[[3837,6],[8872,9],[9641,9],[13820,10],[13871,9],[15151,9],[16113,9],[18323,10],[19894,9]]},"1476":{"position":[[7352,9],[8180,9]]},"1477":{"position":[[4077,9]]},"1479":{"position":[[750,9],[2911,9]]},"1520":{"position":[[13,10]]},"1535":{"position":[[163,9]]},"1550":{"position":[[64,9]]},"1603":{"position":[[31,9]]},"1604":{"position":[[34,9]]},"1725":{"position":[[117,9]]},"1726":{"position":[[38,9]]},"1729":{"position":[[43,10],[94,9]]},"1870":{"position":[[706,6]]},"1947":{"position":[[81,10],[159,9]]},"2240":{"position":[[1381,9],[6989,9]]},"2320":{"position":[[990,11],[1072,9]]},"2327":{"position":[[332,10]]}},"keywords":{}}],["exception($"invalid",{"_index":2615,"title":{},"content":{"316":{"position":[[1943,24]]}},"keywords":{}}],["exceptionscomputer/machin",{"_index":1400,"title":{},"content":{"175":{"position":[[887,26]]}},"keywords":{}}],["exceptwith(ienumerable<t>",{"_index":7355,"title":{},"content":{"1860":{"position":[[2164,33],[2223,31]]}},"keywords":{}}],["exchang",{"_index":1521,"title":{},"content":{"183":{"position":[[979,9]]}},"keywords":{}}],["exclud",{"_index":2400,"title":{"286":{"position":[[0,7]]}},"content":{"286":{"position":[[16,7]]},"314":{"position":[[764,8]]},"355":{"position":[[795,8]]},"414":{"position":[[23,8]]},"575":{"position":[[17,7]]},"584":{"position":[[29,7]]},"1870":{"position":[[314,7],[624,7],[648,7]]},"2168":{"position":[[61,8],[1423,9],[1776,9],[2101,9],[2442,9],[2755,9],[3084,9]]},"2169":{"position":[[179,9],[508,9]]},"2419":{"position":[[194,9]]}},"keywords":{}}],["excludehost",{"_index":3012,"title":{},"content":{"403":{"position":[[7,11]]},"2267":{"position":[[145,12],[224,11]]}},"keywords":{}}],["excludelocalplay",{"_index":2392,"title":{},"content":{"280":{"position":[[991,19]]},"2421":{"position":[[998,19],[1088,19],[1201,18],[1376,19],[1522,18],[1748,19],[1939,18],[2205,19],[2394,18],[2646,19],[2850,18],[3056,19],[3220,18]]}},"keywords":{}}],["excludeown",{"_index":2401,"title":{},"content":{"286":{"position":[[89,12]]},"1476":{"position":[[111,12]]},"1567":{"position":[[4,12]]},"1966":{"position":[[194,13],[385,12],[1586,13],[1769,12],[2061,13],[2158,12]]},"2267":{"position":[[92,13],[131,12]]},"2421":{"position":[[3081,13],[3254,12]]}},"keywords":{}}],["exclus",{"_index":46,"title":{},"content":{"0":{"position":[[780,10]]}},"keywords":{}}],["execut",{"_index":1389,"title":{},"content":{"175":{"position":[[294,11]]},"196":{"position":[[61,10],[819,10]]},"217":{"position":[[3,7]]},"219":{"position":[[43,8]]},"1030":{"position":[[10,7]]},"1777":{"position":[[345,8]]},"1780":{"position":[[826,8]]},"1781":{"position":[[890,8]]},"2255":{"position":[[127,7]]},"2279":{"position":[[127,7]]},"2313":{"position":[[127,7]]},"2386":{"position":[[108,8]]},"2471":{"position":[[127,7]]}},"keywords":{}}],["exisitng",{"_index":7580,"title":{},"content":{"1935":{"position":[[782,8]]}},"keywords":{}}],["exist",{"_index":380,"title":{},"content":{"17":{"position":[[261,6]]},"68":{"position":[[69,8]]},"189":{"position":[[210,8]]},"197":{"position":[[90,8]]},"199":{"position":[[15,8]]},"235":{"position":[[517,5],[1890,5]]},"262":{"position":[[327,6]]},"270":{"position":[[341,5],[375,5]]},"274":{"position":[[238,5],[282,5]]},"314":{"position":[[152,6],[305,5]]},"537":{"position":[[227,8]]},"802":{"position":[[46,6]]},"847":{"position":[[441,8]]},"892":{"position":[[30,5]]},"933":{"position":[[50,8]]},"985":{"position":[[16,7]]},"1474":{"position":[[5683,6],[5780,6],[6742,8]]},"1566":{"position":[[223,6],[320,6],[544,8]]},"1802":{"position":[[90,7]]},"2019":{"position":[[46,5]]},"2106":{"position":[[79,5]]},"2130":{"position":[[2007,5]]},"2204":{"position":[[574,7],[634,5],[833,7],[1087,7],[1379,7]]},"2265":{"position":[[5002,6]]},"2358":{"position":[[1248,6],[1351,6]]},"2370":{"position":[[1901,6]]},"2492":{"position":[[23,8]]},"2522":{"position":[[221,8]]}},"keywords":{}}],["exists(uint",{"_index":8603,"title":{},"content":{"2204":{"position":[[706,11]]}},"keywords":{}}],["exists(uint32",{"_index":8602,"title":{},"content":{"2204":{"position":[[608,15]]}},"keywords":{}}],["exit",{"_index":873,"title":{},"content":{"71":{"position":[[1539,4],[1810,4]]},"198":{"position":[[539,4]]},"792":{"position":[[26,4]]},"1262":{"position":[[36,5]]},"1350":{"position":[[215,4]]},"1355":{"position":[[215,4]]},"1360":{"position":[[215,4]]},"1365":{"position":[[215,4]]},"1370":{"position":[[215,4]]},"1375":{"position":[[169,4]]},"1379":{"position":[[169,4]]},"1474":{"position":[[6400,5]]},"1620":{"position":[[13,5]]}},"keywords":{}}],["exitgui",{"_index":3354,"title":{},"content":{"546":{"position":[[7,7]]}},"keywords":{}}],["expect",{"_index":336,"title":{},"content":{"14":{"position":[[840,7]]},"264":{"position":[[1565,7]]},"1024":{"position":[[294,6]]},"1291":{"position":[[0,6]]},"1474":{"position":[[15864,9]]},"2031":{"position":[[2126,6]]}},"keywords":{}}],["expens",{"_index":6260,"title":{},"content":{"1476":{"position":[[5217,9],[5277,9]]}},"keywords":{}}],["experi",{"_index":1779,"title":{},"content":{"210":{"position":[[1951,10]]},"213":{"position":[[199,10]]},"356":{"position":[[1515,11]]}},"keywords":{}}],["experiment",{"_index":3317,"title":{},"content":{"537":{"position":[[435,12]]},"539":{"position":[[203,12]]}},"keywords":{}}],["explan",{"_index":2522,"title":{},"content":{"304":{"position":[[487,11]]}},"keywords":{}}],["explicit",{"_index":4707,"title":{},"content":{"1133":{"position":[[0,8]]}},"keywords":{}}],["exploit",{"_index":5771,"title":{},"content":{"1474":{"position":[[12938,8],[15900,8]]}},"keywords":{}}],["exponenti",{"_index":1379,"title":{},"content":{"173":{"position":[[1117,11]]}},"keywords":{}}],["exponentialmovingaverag",{"_index":8643,"title":{"2271":{"position":[[6,24]]}},"content":{"2240":{"position":[[645,25]]}},"keywords":{}}],["exponentialmovingaverage(int",{"_index":8791,"title":{},"content":{"2272":{"position":[[53,28]]}},"keywords":{}}],["exponentialmovingaverage(int32",{"_index":8790,"title":{},"content":{"2272":{"position":[[0,32]]}},"keywords":{}}],["extend",{"_index":783,"title":{},"content":{"61":{"position":[[273,7]]},"83":{"position":[[176,7]]}},"keywords":{}}],["extens",{"_index":95,"title":{},"content":{"0":{"position":[[1824,9]]},"315":{"position":[[406,9]]},"328":{"position":[[288,9]]},"436":{"position":[[31,10]]},"442":{"position":[[35,10]]},"443":{"position":[[16,10]]},"620":{"position":[[16,9]]},"622":{"position":[[65,9],[138,9]]},"800":{"position":[[17,9]]},"821":{"position":[[18,9]]},"927":{"position":[[27,9]]},"933":{"position":[[18,9]]},"1065":{"position":[[14,9]]},"1476":{"position":[[3202,9]]},"1983":{"position":[[2440,9],[2829,9]]},"2080":{"position":[[54,9]]},"2083":{"position":[[216,9]]}},"keywords":{}}],["extern",{"_index":1391,"title":{},"content":{"175":{"position":[[437,8],[491,8]]},"190":{"position":[[1659,10]]},"1276":{"position":[[0,8]]}},"keywords":{}}],["extra",{"_index":1031,"title":{},"content":{"99":{"position":[[1303,5]]},"179":{"position":[[240,5],[632,5]]},"186":{"position":[[262,5]]},"356":{"position":[[1399,5]]},"476":{"position":[[81,5]]},"539":{"position":[[27,5]]},"586":{"position":[[7,5]]},"1476":{"position":[[1928,5]]},"1578":{"position":[[58,5]]},"2240":{"position":[[6596,5],[6639,5]]},"2421":{"position":[[3441,5],[3932,5]]}},"keywords":{}}],["extract",{"_index":1615,"title":{"195":{"position":[[11,7]]}},"content":{"193":{"position":[[315,7]]},"195":{"position":[[495,7]]}},"keywords":{}}],["extradata",{"_index":5859,"title":{},"content":{"1474":{"position":[[16794,9]]},"1580":{"position":[[107,9]]}},"keywords":{}}],["f",{"_index":1653,"title":{},"content":{"198":{"position":[[388,1]]}},"keywords":{}}],["f02d317)lobbi",{"_index":5740,"title":{},"content":{"1474":{"position":[[12021,14]]}},"keywords":{}}],["f04e17c",{"_index":5257,"title":{},"content":{"1460":{"position":[[37,9]]}},"keywords":{}}],["f057983",{"_index":6899,"title":{},"content":{"1594":{"position":[[46,9]]}},"keywords":{}}],["f057983)messag",{"_index":6438,"title":{},"content":{"1477":{"position":[[1079,17]]}},"keywords":{}}],["f058f7f",{"_index":3852,"title":{},"content":{"763":{"position":[[50,9]]}},"keywords":{}}],["f0a8b5d)websocket",{"_index":6400,"title":{},"content":{"1476":{"position":[[9321,19]]}},"keywords":{}}],["f0a993c)rac",{"_index":5842,"title":{},"content":{"1474":{"position":[[16434,13]]}},"keywords":{}}],["f0a993c)return",{"_index":7089,"title":{},"content":{"1733":{"position":[[580,15]]}},"keywords":{}}],["f0c335f",{"_index":3863,"title":{},"content":{"764":{"position":[[301,9]]}},"keywords":{}}],["f1",{"_index":1587,"title":{},"content":{"190":{"position":[[752,3]]}},"keywords":{}}],["f11ef9a",{"_index":4259,"title":{},"content":{"946":{"position":[[35,9]]}},"keywords":{}}],["f1758d3)use",{"_index":4730,"title":{},"content":{"1141":{"position":[[201,12]]}},"keywords":{}}],["f1ace90",{"_index":3451,"title":{},"content":{"582":{"position":[[208,9]]}},"keywords":{}}],["f1b4512",{"_index":3839,"title":{},"content":{"756":{"position":[[51,9]]}},"keywords":{}}],["f1b52f3",{"_index":6746,"title":{},"content":{"1528":{"position":[[41,9]]}},"keywords":{}}],["f1b52f3)clientrpc",{"_index":6159,"title":{},"content":{"1476":{"position":[[2691,18]]}},"keywords":{}}],["f1ceb0c)optim",{"_index":6460,"title":{},"content":{"1477":{"position":[[1712,17]]}},"keywords":{}}],["f1f8f57",{"_index":4381,"title":{},"content":{"995":{"position":[[45,9]]}},"keywords":{}}],["f1fdc95)ad",{"_index":6103,"title":{},"content":{"1476":{"position":[[1182,15]]},"1563":{"position":[[46,15]]}},"keywords":{}}],["f215cef",{"_index":3924,"title":{},"content":{"796":{"position":[[76,9]]}},"keywords":{}}],["f26159b",{"_index":6725,"title":{},"content":{"1514":{"position":[[28,9]]}},"keywords":{}}],["f26159b)renam",{"_index":5352,"title":{},"content":{"1473":{"position":[[261,15]]}},"keywords":{}}],["f27fd0b)invalid",{"_index":5411,"title":{},"content":{"1474":{"position":[[1910,16]]}},"keywords":{}}],["f2a5522",{"_index":4503,"title":{},"content":{"1044":{"position":[[118,9]]}},"keywords":{}}],["f2b3938)refactor",{"_index":3281,"title":{},"content":{"522":{"position":[[143,19]]}},"keywords":{}}],["f2ccb59",{"_index":6916,"title":{},"content":{"1608":{"position":[[20,9]]}},"keywords":{}}],["f2ccb59)logset",{"_index":6240,"title":{},"content":{"1476":{"position":[[4638,20]]}},"keywords":{}}],["f2d2cf3",{"_index":3216,"title":{},"content":{"497":{"position":[[144,9]]}},"keywords":{}}],["f331875)stop",{"_index":3650,"title":{},"content":{"670":{"position":[[200,17]]}},"keywords":{}}],["f33c6eb)networkserv",{"_index":3680,"title":{},"content":{"683":{"position":[[58,22]]}},"keywords":{}}],["f3755d9",{"_index":3134,"title":{},"content":{"457":{"position":[[40,9]]}},"keywords":{}}],["f39414b",{"_index":3352,"title":{},"content":{"545":{"position":[[279,9]]}},"keywords":{}}],["f3b5dc4",{"_index":6752,"title":{},"content":{"1534":{"position":[[41,9]]}},"keywords":{}}],["f3b5dc4)server",{"_index":6330,"title":{},"content":{"1476":{"position":[[7079,15]]}},"keywords":{}}],["f3bcc89)throw",{"_index":3654,"title":{},"content":{"673":{"position":[[46,17]]}},"keywords":{}}],["f455a2d",{"_index":3844,"title":{},"content":{"757":{"position":[[155,9]]}},"keywords":{}}],["f4b9597",{"_index":3464,"title":{},"content":{"587":{"position":[[45,9]]}},"keywords":{}}],["f4f5167",{"_index":6531,"title":{},"content":{"1477":{"position":[[3618,10]]},"1598":{"position":[[93,10]]}},"keywords":{}}],["f523143",{"_index":3362,"title":{},"content":{"548":{"position":[[131,9]]}},"keywords":{}}],["f53b12b)creat",{"_index":6178,"title":{},"content":{"1476":{"position":[[3107,17]]}},"keywords":{}}],["f53b12b)networkscenecheck",{"_index":7095,"title":{},"content":{"1734":{"position":[[255,28]]}},"keywords":{}}],["f55e929",{"_index":3371,"title":{},"content":{"551":{"position":[[40,9]]}},"keywords":{}}],["f56507f)revert",{"_index":5436,"title":{},"content":{"1474":{"position":[[2998,15]]}},"keywords":{}}],["f584388)don't",{"_index":5648,"title":{},"content":{"1474":{"position":[[9332,14]]}},"keywords":{}}],["f584388)race",{"_index":7054,"title":{},"content":{"1713":{"position":[[37,13]]}},"keywords":{}}],["f5e1b9a)renam",{"_index":3859,"title":{},"content":{"764":{"position":[[167,18]]}},"keywords":{}}],["f5e9318)networkanim",{"_index":6263,"title":{},"content":{"1476":{"position":[[5306,24]]}},"keywords":{}}],["f5f7f6c)reduc",{"_index":5132,"title":{},"content":{"1327":{"position":[[65,15]]},"1330":{"position":[[65,15]]},"1333":{"position":[[65,15]]}},"keywords":{}}],["f605c46",{"_index":3711,"title":{},"content":{"697":{"position":[[106,9]]}},"keywords":{}}],["f626c77",{"_index":3401,"title":{},"content":{"558":{"position":[[71,9]]}},"keywords":{}}],["f6545d4",{"_index":6867,"title":{},"content":{"1578":{"position":[[379,9]]}},"keywords":{}}],["f6545d4)new",{"_index":6287,"title":{},"content":{"1476":{"position":[[6002,12]]}},"keywords":{}}],["f663543)new",{"_index":2990,"title":{},"content":{"396":{"position":[[21,12]]}},"keywords":{}}],["f66c3b6",{"_index":3898,"title":{},"content":{"781":{"position":[[67,9]]}},"keywords":{}}],["f673f9b)refactor",{"_index":3316,"title":{},"content":{"537":{"position":[[406,19]]}},"keywords":{}}],["f69f174",{"_index":7134,"title":{},"content":{"1753":{"position":[[44,9]]}},"keywords":{}}],["f69f174)add",{"_index":6077,"title":{},"content":{"1476":{"position":[[539,12]]}},"keywords":{}}],["f6cae98",{"_index":4605,"title":{},"content":{"1084":{"position":[[55,9]]}},"keywords":{}}],["f6f78a8",{"_index":3181,"title":{},"content":{"483":{"position":[[44,9]]}},"keywords":{}}],["f717945",{"_index":6769,"title":{},"content":{"1546":{"position":[[132,9]]}},"keywords":{}}],["f717945)nre",{"_index":5801,"title":{},"content":{"1474":{"position":[[14956,12]]}},"keywords":{}}],["f8901c2",{"_index":3054,"title":{},"content":{"425":{"position":[[35,9]]}},"keywords":{}}],["f89d596",{"_index":3047,"title":{},"content":{"421":{"position":[[29,9]]}},"keywords":{}}],["f8bda6e",{"_index":3911,"title":{},"content":{"786":{"position":[[222,9]]}},"keywords":{}}],["f8f643a)asyncmultiplextransport",{"_index":5345,"title":{},"content":{"1473":{"position":[[47,32]]},"1517":{"position":[[47,32]]}},"keywords":{}}],["f930bd0",{"_index":3455,"title":{},"content":{"584":{"position":[[53,9]]}},"keywords":{}}],["f9328c7",{"_index":6898,"title":{},"content":{"1593":{"position":[[60,9]]}},"keywords":{}}],["f9328c7)log",{"_index":6238,"title":{},"content":{"1476":{"position":[[4609,16]]}},"keywords":{}}],["f935786",{"_index":4181,"title":{},"content":{"906":{"position":[[41,9]]}},"keywords":{}}],["f99e71e)us",{"_index":6499,"title":{},"content":{"1477":{"position":[[2916,12]]}},"keywords":{}}],["f9afb64",{"_index":6946,"title":{},"content":{"1629":{"position":[[24,9]]}},"keywords":{}}],["f9afb64)allow",{"_index":6127,"title":{},"content":{"1476":{"position":[[1862,14]]}},"keywords":{}}],["f9b1f65",{"_index":3425,"title":{},"content":{"570":{"position":[[20,9]]}},"keywords":{}}],["f9c8033",{"_index":3965,"title":{},"content":{"818":{"position":[[55,9]]}},"keywords":{}}],["f9d34d5)more",{"_index":6248,"title":{},"content":{"1476":{"position":[[4861,13]]}},"keywords":{}}],["f9ff443)support",{"_index":6343,"title":{},"content":{"1476":{"position":[[7492,17]]}},"keywords":{}}],["fa052d6",{"_index":3531,"title":{},"content":{"614":{"position":[[172,10]]}},"keywords":{}}],["fac0542",{"_index":6571,"title":{},"content":{"1477":{"position":[[4470,10]]}},"keywords":{}}],["face",{"_index":1212,"title":{},"content":{"130":{"position":[[45,6]]},"159":{"position":[[45,6]]}},"keywords":{}}],["facepunch",{"_index":906,"title":{},"content":{"81":{"position":[[109,10]]}},"keywords":{}}],["facori",{"_index":3661,"title":{},"content":{"674":{"position":[[122,8]]}},"keywords":{}}],["factori",{"_index":781,"title":{},"content":{"61":{"position":[[127,7],[171,7],[244,8],[549,7]]},"82":{"position":[[285,7]]},"681":{"position":[[7,9]]},"730":{"position":[[53,7]]},"1476":{"position":[[4556,7]]},"1593":{"position":[[7,7]]},"2221":{"position":[[78,8],[157,7]]}},"keywords":{}}],["faf2e54",{"_index":5024,"title":{},"content":{"1275":{"position":[[108,10]]}},"keywords":{}}],["fail",{"_index":1088,"title":{},"content":{"117":{"position":[[1224,4],[1430,4]]},"249":{"position":[[1846,5]]},"327":{"position":[[350,4]]},"380":{"position":[[58,6]]},"572":{"position":[[22,7]]},"677":{"position":[[152,7]]},"889":{"position":[[50,5]]},"929":{"position":[[20,6]]},"1474":{"position":[[12333,6]]},"1774":{"position":[[305,4]]},"1890":{"position":[[882,5]]},"1911":{"position":[[56,5]]},"2240":{"position":[[7020,5]]}},"keywords":{}}],["failed"",{"_index":1104,"title":{},"content":{"117":{"position":[[1747,14]]}},"keywords":{}}],["failur",{"_index":1072,"title":{},"content":{"117":{"position":[[287,7]]}},"keywords":{}}],["faks",{"_index":7396,"title":{},"content":{"1870":{"position":[[214,5]]}},"keywords":{}}],["fall",{"_index":5923,"title":{},"content":{"1474":{"position":[[18451,7],[18696,7],[18888,7]]},"1733":{"position":[[778,7],[974,7],[1166,7]]}},"keywords":{}}],["fallback",{"_index":6063,"title":{},"content":{"1476":{"position":[[221,8]]},"1612":{"position":[[4,8]]}},"keywords":{}}],["fallbacktransport",{"_index":5030,"title":{},"content":{"1278":{"position":[[89,17],[143,17]]},"1279":{"position":[[0,17],[35,17]]},"1473":{"position":[[29,17]]},"1474":{"position":[[16052,18]]},"1479":{"position":[[219,17]]},"1517":{"position":[[29,17]]}},"keywords":{}}],["fallbacktransportrenam",{"_index":6733,"title":{},"content":{"1519":{"position":[[91,23]]}},"keywords":{}}],["fals",{"_index":559,"title":{},"content":{"33":{"position":[[672,6],[695,5]]},"42":{"position":[[1614,6],[1939,7],[2220,5]]},"92":{"position":[[254,5],[450,5]]},"241":{"position":[[1329,6]]},"249":{"position":[[471,6]]},"251":{"position":[[4635,7]]},"274":{"position":[[181,7],[222,7],[266,7],[309,7]]},"280":{"position":[[1011,7]]},"295":{"position":[[273,6],[809,7]]},"308":{"position":[[1154,5],[1286,6]]},"337":{"position":[[787,6]]},"363":{"position":[[168,5]]},"409":{"position":[[46,5]]},"708":{"position":[[32,5]]},"1048":{"position":[[41,5]]},"1059":{"position":[[51,5]]},"1060":{"position":[[51,5]]},"1466":{"position":[[764,5]]},"1474":{"position":[[11412,6],[14532,5]]},"1479":{"position":[[329,7],[453,7],[513,7],[627,7]]},"1527":{"position":[[50,7]]},"1529":{"position":[[40,7]]},"1531":{"position":[[52,7]]},"1535":{"position":[[40,7]]},"1562":{"position":[[419,6]]},"1733":{"position":[[505,5]]},"2204":{"position":[[585,5],[844,5],[1390,5]]},"2255":{"position":[[79,6]]},"2279":{"position":[[79,6]]},"2299":{"position":[[143,6]]},"2306":{"position":[[721,5]]},"2313":{"position":[[79,6]]},"2319":{"position":[[167,6]]},"2322":{"position":[[1038,6],[1770,6],[2482,6]]},"2324":{"position":[[123,6]]},"2367":{"position":[[124,5]]},"2386":{"position":[[60,6]]},"2417":{"position":[[485,5],[6119,6],[7049,6]]},"2471":{"position":[[79,6]]},"2478":{"position":[[2325,6],[3200,6]]},"2482":{"position":[[538,6],[1346,6],[3361,6]]}},"keywords":{}}],["fantasi",{"_index":756,"title":{},"content":{"59":{"position":[[99,7]]}},"keywords":{}}],["faq",{"_index":1539,"title":{"185":{"position":[[0,3]]}},"content":{},"keywords":{}}],["fast",{"_index":1531,"title":{},"content":{"184":{"position":[[221,5]]},"217":{"position":[[956,5]]},"240":{"position":[[1299,5]]},"1990":{"position":[[134,5],[630,5],[1046,5]]},"2287":{"position":[[73,4]]}},"keywords":{}}],["fast3",{"_index":4744,"title":{},"content":{"1143":{"position":[[10,5]]}},"keywords":{}}],["faster",{"_index":4171,"title":{},"content":{"899":{"position":[[32,6]]},"902":{"position":[[32,6]]},"1278":{"position":[[0,6]]},"1477":{"position":[[1416,7],[2226,6]]},"1478":{"position":[[94,6]]},"1568":{"position":[[145,7]]},"1609":{"position":[[0,6]]},"1628":{"position":[[0,6]]},"1636":{"position":[[0,6],[85,6]]}},"keywords":{}}],["fastest",{"_index":238,"title":{},"content":{"10":{"position":[[497,7]]}},"keywords":{}}],["fb26755",{"_index":6560,"title":{},"content":{"1477":{"position":[[4249,10]]},"1736":{"position":[[119,10]]}},"keywords":{}}],["fb26d00",{"_index":5734,"title":{},"content":{"1474":{"position":[[11818,10]]}},"keywords":{}}],["fb4321e",{"_index":3903,"title":{},"content":{"785":{"position":[[58,10]]}},"keywords":{}}],["fb49d19",{"_index":5175,"title":{},"content":{"1349":{"position":[[89,10]]},"1354":{"position":[[89,10]]},"1359":{"position":[[89,10]]},"1364":{"position":[[89,10]]},"1369":{"position":[[89,10]]},"1374":{"position":[[89,10]]},"1378":{"position":[[89,10]]},"1382":{"position":[[89,10]]},"1386":{"position":[[89,10]]},"1390":{"position":[[89,10]]},"1394":{"position":[[89,10]]},"1398":{"position":[[89,10]]},"1402":{"position":[[89,10]]},"1406":{"position":[[89,10]]},"1410":{"position":[[89,10]]},"1414":{"position":[[89,10]]},"1418":{"position":[[89,10]]},"1422":{"position":[[89,10]]},"1426":{"position":[[89,10]]},"1430":{"position":[[89,10]]},"1434":{"position":[[50,10]]},"1438":{"position":[[50,10]]}},"keywords":{}}],["fb5c2a6",{"_index":3318,"title":{},"content":{"537":{"position":[[459,9]]}},"keywords":{}}],["fb716df)networkconnectionev",{"_index":5782,"title":{},"content":{"1474":{"position":[[13705,31]]}},"keywords":{}}],["fb84452",{"_index":4345,"title":{},"content":{"979":{"position":[[24,9]]}},"keywords":{}}],["fb927f8)ad",{"_index":5506,"title":{},"content":{"1474":{"position":[[5396,14]]},"1566":{"position":[[134,15]]}},"keywords":{}}],["fbcdf1e",{"_index":3110,"title":{},"content":{"444":{"position":[[436,9]]}},"keywords":{}}],["fbd136c)fix",{"_index":3338,"title":{},"content":{"541":{"position":[[49,15]]}},"keywords":{}}],["fc53078)isserv",{"_index":5298,"title":{},"content":{"1466":{"position":[[746,17]]}},"keywords":{}}],["fc99c67",{"_index":7057,"title":{},"content":{"1715":{"position":[[31,9]]}},"keywords":{}}],["fc99c67)auto",{"_index":5541,"title":{},"content":{"1474":{"position":[[6486,13]]}},"keywords":{}}],["fcbd007",{"_index":3275,"title":{},"content":{"520":{"position":[[20,9]]}},"keywords":{}}],["fcbe10d",{"_index":3799,"title":{},"content":{"734":{"position":[[350,9]]}},"keywords":{}}],["fd12390)ad",{"_index":3232,"title":{},"content":{"504":{"position":[[51,15]]}},"keywords":{}}],["fd4357c)make",{"_index":6242,"title":{},"content":{"1476":{"position":[[4709,13]]}},"keywords":{}}],["fd4357c)multipl",{"_index":6841,"title":{},"content":{"1567":{"position":[[1075,17]]}},"keywords":{}}],["fd43c67)prevent",{"_index":5834,"title":{},"content":{"1474":{"position":[[16184,16]]}},"keywords":{}}],["fd7dc5e)#791",{"_index":5480,"title":{},"content":{"1474":{"position":[[4809,13]]}},"keywords":{}}],["fd7dc5e)fix",{"_index":7146,"title":{},"content":{"1762":{"position":[[52,12]]}},"keywords":{}}],["fddf9ea",{"_index":3550,"title":{},"content":{"622":{"position":[[156,10]]}},"keywords":{}}],["fe71bcd",{"_index":4711,"title":{},"content":{"1135":{"position":[[28,9]]}},"keywords":{}}],["fe9a07a",{"_index":4311,"title":{},"content":{"962":{"position":[[54,9]]}},"keywords":{}}],["feat",{"_index":3164,"title":{},"content":{"476":{"position":[[67,6]]},"485":{"position":[[49,6]]}},"keywords":{}}],["feat!(socketlay",{"_index":3700,"title":{},"content":{"692":{"position":[[65,19]]}},"keywords":{}}],["feat(characterspawn",{"_index":3363,"title":{},"content":{"548":{"position":[[141,24]]}},"keywords":{}}],["feat(networkscenemanag",{"_index":3752,"title":{},"content":{"715":{"position":[[142,27]]}},"keywords":{}}],["featur",{"_index":400,"title":{"186":{"position":[[18,9]]},"369":{"position":[[0,9]]},"372":{"position":[[0,9]]},"380":{"position":[[0,9]]},"381":{"position":[[0,9]]},"382":{"position":[[0,9]]},"386":{"position":[[0,9]]},"397":{"position":[[0,9]]},"398":{"position":[[0,9]]},"402":{"position":[[0,9]]},"403":{"position":[[0,9]]},"412":{"position":[[0,9]]},"421":{"position":[[0,9]]},"424":{"position":[[0,9]]},"425":{"position":[[0,9]]},"430":{"position":[[0,9]]},"436":{"position":[[0,9]]},"439":{"position":[[0,9]]},"440":{"position":[[0,9]]},"442":{"position":[[0,9]]},"443":{"position":[[0,9]]},"445":{"position":[[0,9]]},"454":{"position":[[0,9]]},"465":{"position":[[0,9]]},"466":{"position":[[0,9]]},"467":{"position":[[0,9]]},"469":{"position":[[0,9]]},"471":{"position":[[0,9]]},"472":{"position":[[0,9]]},"477":{"position":[[0,9]]},"479":{"position":[[0,9]]},"481":{"position":[[0,9]]},"482":{"position":[[0,9]]},"483":{"position":[[0,9]]},"486":{"position":[[0,9]]},"489":{"position":[[0,9]]},"500":{"position":[[0,9]]},"501":{"position":[[0,9]]},"504":{"position":[[0,9]]},"507":{"position":[[0,9]]},"511":{"position":[[0,9]]},"513":{"position":[[0,9]]},"523":{"position":[[0,9]]},"532":{"position":[[0,9]]},"538":{"position":[[0,9]]},"542":{"position":[[0,9]]},"543":{"position":[[0,9]]},"545":{"position":[[0,9]]},"547":{"position":[[0,9]]},"555":{"position":[[0,9]]},"557":{"position":[[0,9]]},"558":{"position":[[0,9]]},"563":{"position":[[0,9]]},"566":{"position":[[0,9]]},"575":{"position":[[0,9]]},"584":{"position":[[0,9]]},"586":{"position":[[0,9]]},"588":{"position":[[0,9]]},"591":{"position":[[0,9]]},"595":{"position":[[0,9]]},"596":{"position":[[0,9]]},"600":{"position":[[0,9]]},"602":{"position":[[0,9]]},"605":{"position":[[0,9]]},"608":{"position":[[0,9]]},"612":{"position":[[0,9]]},"618":{"position":[[0,9]]},"626":{"position":[[0,9]]},"636":{"position":[[0,9]]},"647":{"position":[[0,9]]},"664":{"position":[[0,9]]},"674":{"position":[[0,9]]},"680":{"position":[[0,9]]},"690":{"position":[[0,9]]},"694":{"position":[[0,9]]},"698":{"position":[[0,9]]},"702":{"position":[[0,9]]},"705":{"position":[[0,9]]},"708":{"position":[[0,9]]},"712":{"position":[[0,9]]},"719":{"position":[[0,9]]},"738":{"position":[[0,9]]},"740":{"position":[[0,9]]},"747":{"position":[[0,9]]},"757":{"position":[[0,9]]},"766":{"position":[[0,9]]},"771":{"position":[[0,9]]},"796":{"position":[[0,9]]},"810":{"position":[[0,9]]},"811":{"position":[[0,9]]},"813":{"position":[[0,9]]},"822":{"position":[[0,9]]},"829":{"position":[[0,9]]},"831":{"position":[[0,9]]},"833":{"position":[[0,9]]},"844":{"position":[[0,9]]},"848":{"position":[[0,9]]},"853":{"position":[[0,9]]},"855":{"position":[[0,9]]},"861":{"position":[[0,9]]},"862":{"position":[[0,9]]},"863":{"position":[[0,9]]},"864":{"position":[[0,9]]},"867":{"position":[[0,9]]},"874":{"position":[[0,9]]},"876":{"position":[[0,9]]},"878":{"position":[[0,9]]},"879":{"position":[[0,9]]},"893":{"position":[[0,9]]},"909":{"position":[[0,9]]},"919":{"position":[[0,9]]},"927":{"position":[[0,9]]},"931":{"position":[[0,9]]},"934":{"position":[[0,9]]},"940":{"position":[[0,9]]},"941":{"position":[[0,9]]},"945":{"position":[[0,9]]},"947":{"position":[[0,9]]},"957":{"position":[[0,9]]},"960":{"position":[[0,9]]},"962":{"position":[[0,9]]},"964":{"position":[[0,9]]},"979":{"position":[[0,9]]},"990":{"position":[[0,9]]},"995":{"position":[[0,9]]},"999":{"position":[[0,9]]},"1008":{"position":[[0,9]]},"1012":{"position":[[0,9]]},"1015":{"position":[[0,9]]},"1018":{"position":[[0,9]]},"1043":{"position":[[0,9]]},"1046":{"position":[[0,9]]},"1065":{"position":[[0,9]]},"1075":{"position":[[0,9]]},"1077":{"position":[[0,9]]},"1082":{"position":[[0,9]]},"1097":{"position":[[0,9]]},"1098":{"position":[[0,9]]},"1109":{"position":[[0,9]]},"1110":{"position":[[0,9]]},"1114":{"position":[[0,9]]},"1119":{"position":[[0,9]]},"1121":{"position":[[0,9]]},"1133":{"position":[[0,9]]},"1136":{"position":[[0,9]]},"1137":{"position":[[0,9]]},"1143":{"position":[[0,9]]},"1160":{"position":[[0,9]]},"1161":{"position":[[0,9]]},"1166":{"position":[[0,9]]},"1169":{"position":[[0,9]]},"1180":{"position":[[0,9]]},"1183":{"position":[[0,9]]},"1184":{"position":[[0,9]]},"1185":{"position":[[0,9]]},"1186":{"position":[[0,9]]},"1189":{"position":[[0,9]]},"1195":{"position":[[0,9]]},"1203":{"position":[[0,9]]},"1204":{"position":[[0,9]]},"1205":{"position":[[0,9]]},"1208":{"position":[[0,9]]},"1216":{"position":[[0,9]]},"1217":{"position":[[0,9]]},"1239":{"position":[[0,9]]},"1248":{"position":[[0,9]]},"1257":{"position":[[0,9]]},"1258":{"position":[[0,9]]},"1263":{"position":[[0,9]]},"1275":{"position":[[0,9]]},"1282":{"position":[[0,9]]},"1283":{"position":[[0,9]]},"1298":{"position":[[0,9]]},"1301":{"position":[[0,9]]},"1312":{"position":[[0,9]]},"1318":{"position":[[0,9]]},"1326":{"position":[[0,9]]},"1335":{"position":[[0,9]]},"1338":{"position":[[0,9]]},"1351":{"position":[[0,9]]},"1356":{"position":[[0,9]]},"1361":{"position":[[0,9]]},"1366":{"position":[[0,9]]},"1371":{"position":[[0,9]]},"1376":{"position":[[0,9]]},"1380":{"position":[[0,9]]},"1384":{"position":[[0,9]]},"1388":{"position":[[0,9]]},"1392":{"position":[[0,9]]},"1396":{"position":[[0,9]]},"1400":{"position":[[0,9]]},"1404":{"position":[[0,9]]},"1408":{"position":[[0,9]]},"1412":{"position":[[0,9]]},"1416":{"position":[[0,9]]},"1420":{"position":[[0,9]]},"1424":{"position":[[0,9]]},"1428":{"position":[[0,9]]},"1432":{"position":[[0,9]]},"1436":{"position":[[0,9]]},"1439":{"position":[[0,9]]},"1441":{"position":[[0,9]]},"1443":{"position":[[0,9]]},"1449":{"position":[[0,9]]},"1456":{"position":[[0,9]]},"1457":{"position":[[0,9]]},"1459":{"position":[[0,9]]},"1460":{"position":[[0,9]]},"1464":{"position":[[0,9]]},"1465":{"position":[[0,9]]},"1467":{"position":[[0,9]]},"1469":{"position":[[0,9]]},"1470":{"position":[[0,9]]},"1476":{"position":[[0,9]]},"1484":{"position":[[0,9]]},"1487":{"position":[[0,9]]},"1497":{"position":[[0,9]]},"1502":{"position":[[0,9]]},"1513":{"position":[[0,9]]},"1516":{"position":[[0,9]]},"1518":{"position":[[0,9]]},"1521":{"position":[[0,9]]},"1522":{"position":[[0,9]]},"1525":{"position":[[0,9]]},"1526":{"position":[[0,9]]},"1528":{"position":[[0,9]]},"1530":{"position":[[0,9]]},"1534":{"position":[[0,9]]},"1547":{"position":[[0,9]]},"1550":{"position":[[0,9]]},"1551":{"position":[[0,9]]},"1558":{"position":[[0,9]]},"1560":{"position":[[0,9]]},"1561":{"position":[[0,9]]},"1563":{"position":[[0,9]]},"1567":{"position":[[0,9]]},"1578":{"position":[[0,9]]},"1582":{"position":[[0,9]]},"1583":{"position":[[0,9]]},"1584":{"position":[[0,9]]},"1585":{"position":[[0,9]]},"1589":{"position":[[0,9]]},"1590":{"position":[[0,9]]},"1591":{"position":[[0,9]]},"1593":{"position":[[0,9]]},"1598":{"position":[[0,9]]},"1604":{"position":[[0,9]]},"1608":{"position":[[0,9]]},"1612":{"position":[[0,9]]},"1613":{"position":[[0,9]]},"1615":{"position":[[0,9]]},"1623":{"position":[[0,9]]},"1624":{"position":[[0,9]]},"1629":{"position":[[0,9]]},"1630":{"position":[[0,9]]},"1634":{"position":[[0,9]]},"1642":{"position":[[0,9]]},"1645":{"position":[[0,9]]},"1652":{"position":[[0,9]]},"1656":{"position":[[0,9]]},"1659":{"position":[[0,9]]},"1661":{"position":[[0,9]]},"1663":{"position":[[0,9]]},"1667":{"position":[[0,9]]},"1668":{"position":[[0,9]]},"1671":{"position":[[0,9]]},"1674":{"position":[[0,9]]},"1688":{"position":[[0,9]]},"1694":{"position":[[0,9]]},"1698":{"position":[[0,9]]},"1734":{"position":[[0,9]]},"1735":{"position":[[0,9]]},"1739":{"position":[[0,9]]},"1741":{"position":[[0,9]]},"1747":{"position":[[0,9]]},"1749":{"position":[[0,9]]},"1753":{"position":[[0,9]]},"1763":{"position":[[0,9]]},"1769":{"position":[[0,9]]}},"content":{"19":{"position":[[76,7]]},"81":{"position":[[60,9]]},"103":{"position":[[340,9]]},"173":{"position":[[31,9]]},"175":{"position":[[1106,7]]},"187":{"position":[[703,8]]},"324":{"position":[[61,8],[146,8]]},"361":{"position":[[939,8]]},"513":{"position":[[34,8]]},"1477":{"position":[[3714,7]]},"1479":{"position":[[2159,7]]},"1648":{"position":[[85,7]]},"1650":{"position":[[5,7]]}},"keywords":{}}],["fenc",{"_index":1818,"title":{},"content":{"213":{"position":[[846,7]]}},"keywords":{}}],["fetch",{"_index":7694,"title":{},"content":{"1983":{"position":[[1030,5]]}},"keywords":{}}],["few",{"_index":720,"title":{},"content":{"53":{"position":[[141,3]]},"67":{"position":[[917,3]]},"175":{"position":[[113,3],[729,3]]},"183":{"position":[[66,3]]},"193":{"position":[[49,3]]},"197":{"position":[[11,3]]},"201":{"position":[[917,3]]},"202":{"position":[[824,3]]},"245":{"position":[[2154,3]]},"1474":{"position":[[5438,3]]},"1678":{"position":[[33,3]]},"2407":{"position":[[169,3]]}},"keywords":{}}],["ff1a234)pack",{"_index":6462,"title":{},"content":{"1477":{"position":[[1757,13]]}},"keywords":{}}],["ff5a308",{"_index":3701,"title":{},"content":{"692":{"position":[[131,9]]}},"keywords":{}}],["ff7148b",{"_index":3435,"title":{},"content":{"574":{"position":[[78,9]]}},"keywords":{}}],["ff95634",{"_index":4459,"title":{},"content":{"1023":{"position":[[81,9]]}},"keywords":{}}],["ffc276c)version",{"_index":6015,"title":{},"content":{"1474":{"position":[[22008,16]]}},"keywords":{}}],["ffc276c)websocket",{"_index":6832,"title":{},"content":{"1566":{"position":[[1780,19]]}},"keywords":{}}],["fff7459",{"_index":6754,"title":{},"content":{"1536":{"position":[[39,9]]}},"keywords":{}}],["fff7459)renam",{"_index":5354,"title":{},"content":{"1473":{"position":[[309,15]]}},"keywords":{}}],["fff765c)use",{"_index":6505,"title":{},"content":{"1477":{"position":[[3061,12]]}},"keywords":{}}],["fffd462)suspend",{"_index":5986,"title":{},"content":{"1474":{"position":[[20828,16]]}},"keywords":{}}],["fffd462)use",{"_index":6831,"title":{},"content":{"1566":{"position":[[1707,12]]}},"keywords":{}}],["field",{"_index":312,"title":{"1771":{"position":[[0,7]]},"1785":{"position":[[0,7]]},"1791":{"position":[[0,7]]},"1802":{"position":[[0,7]]},"1805":{"position":[[0,7]]},"1809":{"position":[[0,7]]},"1814":{"position":[[0,7]]},"1816":{"position":[[0,7]]},"1819":{"position":[[0,7]]},"1825":{"position":[[0,7]]},"1832":{"position":[[0,7]]},"1858":{"position":[[0,7]]},"1863":{"position":[[0,7]]},"1869":{"position":[[0,7]]},"1880":{"position":[[0,7]]},"1885":{"position":[[0,7]]},"1888":{"position":[[0,7]]},"1893":{"position":[[0,7]]},"1896":{"position":[[0,7]]},"1901":{"position":[[0,7]]},"1937":{"position":[[0,7]]},"1942":{"position":[[0,7]]},"1949":{"position":[[0,7]]},"1952":{"position":[[0,7]]},"1961":{"position":[[0,7]]},"1968":{"position":[[0,7]]},"1970":{"position":[[0,7]]},"1973":{"position":[[0,7]]},"1975":{"position":[[0,7]]},"1977":{"position":[[0,7]]},"2005":{"position":[[0,7]]},"2014":{"position":[[0,7]]},"2043":{"position":[[0,7]]},"2098":{"position":[[0,7]]},"2102":{"position":[[0,7]]},"2106":{"position":[[0,7]]},"2113":{"position":[[0,7]]},"2117":{"position":[[0,7]]},"2121":{"position":[[0,7]]},"2124":{"position":[[0,7]]},"2128":{"position":[[0,7]]},"2130":{"position":[[0,7]]},"2134":{"position":[[0,7]]},"2162":{"position":[[0,7]]},"2165":{"position":[[0,7]]},"2168":{"position":[[0,7]]},"2178":{"position":[[0,7]]},"2181":{"position":[[0,7]]},"2202":{"position":[[0,7]]},"2209":{"position":[[0,7]]},"2219":{"position":[[0,7]]},"2231":{"position":[[0,7]]},"2237":{"position":[[0,7]]},"2247":{"position":[[0,7]]},"2250":{"position":[[0,7]]},"2252":{"position":[[0,7]]},"2255":{"position":[[0,7]]},"2257":{"position":[[0,7]]},"2259":{"position":[[0,7]]},"2261":{"position":[[0,7]]},"2263":{"position":[[0,7]]},"2267":{"position":[[0,7]]},"2279":{"position":[[0,7]]},"2285":{"position":[[0,7]]},"2287":{"position":[[0,7]]},"2313":{"position":[[0,7]]},"2331":{"position":[[0,7]]},"2342":{"position":[[0,7]]},"2347":{"position":[[0,7]]},"2349":{"position":[[0,7]]},"2357":{"position":[[0,7]]},"2361":{"position":[[0,7]]},"2366":{"position":[[0,7]]},"2369":{"position":[[0,7]]},"2373":{"position":[[0,7]]},"2375":{"position":[[0,7]]},"2377":{"position":[[0,7]]},"2381":{"position":[[0,7]]},"2386":{"position":[[0,7]]},"2388":{"position":[[0,7]]},"2390":{"position":[[0,7]]},"2392":{"position":[[0,7]]},"2394":{"position":[[0,7]]},"2396":{"position":[[0,7]]},"2403":{"position":[[0,7]]},"2407":{"position":[[0,7]]},"2412":{"position":[[0,7]]},"2415":{"position":[[0,7]]},"2419":{"position":[[0,7]]},"2425":{"position":[[0,7]]},"2427":{"position":[[0,7]]},"2431":{"position":[[0,7]]},"2443":{"position":[[0,7]]},"2445":{"position":[[0,7]]},"2447":{"position":[[0,7]]},"2453":{"position":[[0,7]]},"2455":{"position":[[0,7]]},"2460":{"position":[[0,7]]},"2465":{"position":[[0,7]]},"2468":{"position":[[0,7]]},"2471":{"position":[[0,7]]},"2476":{"position":[[0,7]]},"2480":{"position":[[0,7]]},"2487":{"position":[[0,7]]},"2492":{"position":[[0,7]]},"2497":{"position":[[0,7]]},"2500":{"position":[[0,7]]},"2503":{"position":[[0,7]]},"2505":{"position":[[0,7]]},"2507":{"position":[[0,7]]},"2510":{"position":[[0,7]]},"2515":{"position":[[0,7]]},"2518":{"position":[[0,7]]},"2520":{"position":[[0,7]]},"2522":{"position":[[0,7]]},"2525":{"position":[[0,7]]},"2531":{"position":[[0,7]]}},"content":{"14":{"position":[[71,5],[521,5],[1061,6]]},"17":{"position":[[323,5]]},"37":{"position":[[452,5]]},"42":{"position":[[82,5],[380,5],[2031,5],[2211,5]]},"49":{"position":[[256,5],[317,5]]},"59":{"position":[[221,5]]},"67":{"position":[[359,6]]},"70":{"position":[[109,5]]},"82":{"position":[[293,5]]},"100":{"position":[[682,5]]},"187":{"position":[[65,5],[200,5],[583,5]]},"191":{"position":[[432,5]]},"201":{"position":[[359,6]]},"203":{"position":[[1196,6]]},"207":{"position":[[538,5]]},"238":{"position":[[674,5]]},"240":{"position":[[1620,6]]},"241":{"position":[[1859,5]]},"251":{"position":[[2910,6],[2947,7]]},"279":{"position":[[142,6]]},"304":{"position":[[662,6]]},"319":{"position":[[70,6]]},"324":{"position":[[518,5],[577,5]]},"327":{"position":[[209,5],[238,5]]},"332":{"position":[[434,5]]},"337":{"position":[[1552,6]]},"339":{"position":[[173,5]]},"342":{"position":[[6,5]]},"348":{"position":[[177,5]]},"350":{"position":[[6,5]]},"357":{"position":[[255,5]]},"371":{"position":[[139,6]]},"373":{"position":[[5,6]]},"411":{"position":[[54,5]]},"436":{"position":[[84,6]]},"488":{"position":[[19,6]]},"490":{"position":[[9,6]]},"503":{"position":[[36,6]]},"516":{"position":[[27,5]]},"537":{"position":[[70,6]]},"555":{"position":[[107,5]]},"556":{"position":[[16,6]]},"570":{"position":[[8,5]]},"655":{"position":[[21,6]]},"942":{"position":[[42,5]]},"1020":{"position":[[0,6]]},"1022":{"position":[[0,6]]},"1090":{"position":[[25,5]]},"1141":{"position":[[26,6],[68,6],[110,6],[152,6],[194,6],[236,6],[278,6]]},"1142":{"position":[[143,6]]},"1177":{"position":[[13,5]]},"1467":{"position":[[93,6]]},"1474":{"position":[[12249,6],[18488,5],[18733,5],[18925,5],[19159,6]]},"1476":{"position":[[3471,6]]},"1566":{"position":[[1093,6]]},"1578":{"position":[[202,6]]},"1693":{"position":[[118,6]]},"1733":{"position":[[815,5],[1011,5],[1203,5]]},"1855":{"position":[[3409,5],[3643,5]]},"1983":{"position":[[70,5],[100,6],[527,6],[984,5],[1969,6],[2158,6]]},"1996":{"position":[[233,6],[557,5]]},"2240":{"position":[[5704,5],[5752,6]]},"2419":{"position":[[226,5]]},"2451":{"position":[[39,5],[87,6]]}},"keywords":{}}],["fields/properti",{"_index":2343,"title":{},"content":{"275":{"position":[[6,17]]}},"keywords":{}}],["fieldvalu",{"_index":8948,"title":{},"content":{"2359":{"position":[[961,11],[1017,10]]}},"keywords":{}}],["figur",{"_index":2593,"title":{},"content":{"316":{"position":[[188,6]]}},"keywords":{}}],["file",{"_index":666,"title":{"198":{"position":[[9,6]]}},"content":{"46":{"position":[[592,4]]},"50":{"position":[[0,4]]},"182":{"position":[[3063,4],[3074,5]]},"183":{"position":[[20,4],[93,4],[141,4],[179,5],[315,4],[393,5],[403,4],[583,4],[623,4],[637,4],[684,4],[974,4],[1023,5],[1037,4],[1247,4]]},"193":{"position":[[323,5],[340,4]]},"195":{"position":[[165,4],[458,4],[507,5]]},"196":{"position":[[485,4],[534,4],[572,4],[617,4]]},"198":{"position":[[138,4],[283,4],[424,4],[485,4]]},"207":{"position":[[463,5]]},"294":{"position":[[558,4]]},"385":{"position":[[102,4]]},"393":{"position":[[7,4]]},"503":{"position":[[127,4]]},"746":{"position":[[12,5]]},"765":{"position":[[49,4]]},"814":{"position":[[35,4]]},"820":{"position":[[207,6]]},"841":{"position":[[24,4]]},"847":{"position":[[450,4]]},"978":{"position":[[25,4]]},"1102":{"position":[[31,5]]},"1346":{"position":[[26,4]]},"1348":{"position":[[25,4]]},"1350":{"position":[[294,5]]},"1355":{"position":[[294,5]]},"1360":{"position":[[294,5]]},"1365":{"position":[[294,5]]},"1370":{"position":[[294,5]]},"1375":{"position":[[248,5]]},"1379":{"position":[[248,5]]},"1383":{"position":[[197,5]]},"1387":{"position":[[197,5]]},"1391":{"position":[[197,5]]},"1395":{"position":[[197,5]]},"1399":{"position":[[157,5]]},"1474":{"position":[[9962,4],[11152,5],[20253,4],[22025,4]]},"1476":{"position":[[698,4]]},"1565":{"position":[[85,5]]},"2417":{"position":[[5032,4],[5570,4],[6286,4],[7216,4]]}},"keywords":{}}],["file"",{"_index":1513,"title":{},"content":{"183":{"position":[[563,11]]}},"keywords":{}}],["file."",{"_index":2534,"title":{},"content":{"307":{"position":[[319,12],[506,12]]},"308":{"position":[[338,12],[578,12],[947,12],[1265,12],[1754,12],[1994,12]]}},"keywords":{}}],["fill",{"_index":761,"title":{},"content":{"59":{"position":[[161,6]]},"191":{"position":[[221,4]]},"238":{"position":[[1573,4]]},"295":{"position":[[403,4]]},"1466":{"position":[[213,4]]}},"keywords":{}}],["filter",{"_index":1607,"title":{},"content":{"191":{"position":[[316,7]]},"563":{"position":[[7,6]]},"2358":{"position":[[1120,6]]}},"keywords":{}}],["final",{"_index":498,"title":{},"content":{"24":{"position":[[1958,7]]},"182":{"position":[[3228,9]]},"184":{"position":[[15,9]]},"212":{"position":[[14,7]]},"251":{"position":[[3150,8]]},"860":{"position":[[31,8]]},"2023":{"position":[[0,11],[40,10]]},"2031":{"position":[[0,11],[40,10]]}},"keywords":{}}],["find",{"_index":25,"title":{},"content":{"0":{"position":[[418,4]]},"9":{"position":[[498,4],[528,4]]},"24":{"position":[[1811,4]]},"70":{"position":[[179,4]]},"74":{"position":[[205,4]]},"78":{"position":[[8,4]]},"85":{"position":[[391,4]]},"139":{"position":[[838,4]]},"184":{"position":[[213,4]]},"191":{"position":[[566,4]]},"195":{"position":[[175,4]]},"235":{"position":[[711,4],[1279,4]]},"238":{"position":[[486,4],[1375,4],[1668,4],[2442,5]]},"245":{"position":[[33,4]]},"264":{"position":[[1391,4]]},"266":{"position":[[323,4],[434,4]]},"280":{"position":[[77,4]]},"302":{"position":[[941,4]]},"314":{"position":[[852,4]]},"320":{"position":[[79,5],[203,4]]},"328":{"position":[[533,4]]},"332":{"position":[[266,5],[1025,4]]},"489":{"position":[[39,4]]},"620":{"position":[[8,7]]},"623":{"position":[[17,4]]},"730":{"position":[[29,4]]},"794":{"position":[[25,4]]},"808":{"position":[[28,4],[100,4]]},"841":{"position":[[19,4]]},"1474":{"position":[[634,4],[13214,5],[13319,5],[20376,4]]},"1711":{"position":[[104,5],[209,5]]},"1766":{"position":[[424,4]]},"2007":{"position":[[23,4]]},"2009":{"position":[[92,4]]},"2242":{"position":[[425,4]]},"2253":{"position":[[1349,5]]},"2265":{"position":[[716,4],[1274,5],[2252,5],[3842,5]]},"2303":{"position":[[45,5],[229,4]]},"2417":{"position":[[9437,4]]},"2511":{"position":[[65,4],[369,4]]}},"keywords":{}}],["find(predicate<t>",{"_index":7326,"title":{},"content":{"1855":{"position":[[2091,25],[2139,23]]}},"keywords":{}}],["findall(predicate<t>",{"_index":7327,"title":{},"content":{"1855":{"position":[[2265,28],[2328,26]]}},"keywords":{}}],["findindex(predicate<t>",{"_index":7324,"title":{},"content":{"1855":{"position":[[1894,30],[1949,28]]}},"keywords":{}}],["findobjectoftyp",{"_index":5543,"title":{},"content":{"1474":{"position":[[6543,16]]},"1725":{"position":[[6,16]]}},"keywords":{}}],["findobjectoftype<clientobjectmanager>",{"_index":2063,"title":{},"content":{"245":{"position":[[591,46]]}},"keywords":{}}],["findobjectoftype<networkclient>",{"_index":2064,"title":{},"content":{"245":{"position":[[654,40]]}},"keywords":{}}],["findobjectoftype<networkserver>",{"_index":2065,"title":{},"content":{"245":{"position":[[711,40],[774,40]]}},"keywords":{}}],["findobjectoftype<prefabpoolmanager>",{"_index":2191,"title":{},"content":{"251":{"position":[[3324,44]]}},"keywords":{}}],["findobjectsoftypeal",{"_index":4619,"title":{},"content":{"1092":{"position":[[93,20]]}},"keywords":{}}],["findprefab",{"_index":2719,"title":{},"content":{"332":{"position":[[318,11]]}},"keywords":{}}],["findprefab(clientobjectmanag",{"_index":9224,"title":{},"content":{"2511":{"position":[[0,32],[130,30]]}},"keywords":{}}],["findprefab(ienumerable<networkidentity>",{"_index":9226,"title":{},"content":{"2511":{"position":[[289,47],[434,45]]}},"keywords":{}}],["findprespawnedobject",{"_index":1946,"title":{},"content":{"238":{"position":[[2100,20]]}},"keywords":{}}],["findprespawnedobject(spawnmessag",{"_index":1951,"title":{},"content":{"238":{"position":[[2507,33]]}},"keywords":{}}],["findproperti",{"_index":5955,"title":{},"content":{"1474":{"position":[[19942,12]]}},"keywords":{}}],["fine",{"_index":2559,"title":{},"content":{"314":{"position":[[218,5]]},"317":{"position":[[214,5]]}},"keywords":{}}],["finish",{"_index":1573,"title":{},"content":{"189":{"position":[[238,6]]},"190":{"position":[[1894,6]]},"192":{"position":[[23,8]]},"195":{"position":[[467,8]]},"255":{"position":[[22,8]]},"300":{"position":[[269,8]]},"301":{"position":[[482,8]]},"716":{"position":[[6,8]]},"1474":{"position":[[10621,9]]},"1766":{"position":[[708,9]]},"2240":{"position":[[5989,8]]},"2241":{"position":[[895,8]]},"2417":{"position":[[1793,8],[2858,8],[9217,8]]},"2462":{"position":[[89,8]]},"2469":{"position":[[55,8]]},"2482":{"position":[[6002,8]]}},"keywords":{}}],["finishloadscen",{"_index":5489,"title":{},"content":{"1474":{"position":[[4996,15]]},"1549":{"position":[[25,15]]}},"keywords":{}}],["finishstart",{"_index":5684,"title":{},"content":{"1474":{"position":[[10408,11]]},"1766":{"position":[[495,11]]}},"keywords":{}}],["fire",{"_index":178,"title":{},"content":{"6":{"position":[[409,4]]},"71":{"position":[[2143,6]]},"251":{"position":[[3441,5],[3792,6],[4753,4]]},"577":{"position":[[24,6]]},"1149":{"position":[[16,6]]},"1474":{"position":[[10058,6],[15200,4]]},"1566":{"position":[[1364,4]]},"1581":{"position":[[92,6]]},"1781":{"position":[[207,4]]},"1890":{"position":[[861,5],[963,5]]},"1911":{"position":[[35,5]]},"1926":{"position":[[38,5]]},"2162":{"position":[[133,4]]},"2240":{"position":[[5937,5],[6155,5]]},"2350":{"position":[[265,5],[408,5],[558,5],[750,5]]},"2416":{"position":[[396,5],[557,5],[729,5],[880,5],[1036,5]]},"2462":{"position":[[37,5]]},"2466":{"position":[[36,5]]},"2522":{"position":[[332,4],[457,4]]}},"keywords":{}}],["fire2",{"_index":1799,"title":{},"content":{"211":{"position":[[1370,7]]}},"keywords":{}}],["firewal",{"_index":347,"title":{"191":{"position":[[10,9]]}},"content":{"14":{"position":[[1350,8]]},"179":{"position":[[555,8]]},"183":{"position":[[1460,8],[1517,8],[1555,8]]},"187":{"position":[[967,10],[1097,9]]},"190":{"position":[[1444,8]]},"191":{"position":[[112,8],[137,8],[167,8],[201,8]]}},"keywords":{}}],["first",{"_index":69,"title":{},"content":{"0":{"position":[[1173,5]]},"17":{"position":[[117,5]]},"18":{"position":[[9,5]]},"24":{"position":[[364,5],[1207,5],[1917,6]]},"53":{"position":[[0,5]]},"70":{"position":[[236,5]]},"164":{"position":[[617,5],[781,5]]},"189":{"position":[[496,6]]},"190":{"position":[[163,5],[1276,5]]},"193":{"position":[[9,5],[63,6]]},"211":{"position":[[1606,6]]},"238":{"position":[[1978,5]]},"241":{"position":[[200,6]]},"262":{"position":[[995,5]]},"268":{"position":[[0,5]]},"297":{"position":[[120,5]]},"337":{"position":[[364,5],[449,5]]},"346":{"position":[[677,5],[1680,5]]},"391":{"position":[[214,5]]},"548":{"position":[[112,5]]},"911":{"position":[[7,5]]},"1474":{"position":[[5304,5],[7161,5],[8041,5],[14812,5]]},"1491":{"position":[[22,5]]},"1562":{"position":[[106,5]]},"1566":{"position":[[1291,5]]},"1577":{"position":[[18,5]]},"1744":{"position":[[0,5]]},"1835":{"position":[[1528,5]]},"1855":{"position":[[3415,5],[3649,5]]},"2023":{"position":[[1395,5]]},"2031":{"position":[[558,5]]},"2181":{"position":[[361,5]]},"2261":{"position":[[759,5]]},"2292":{"position":[[197,5]]},"2322":{"position":[[206,5],[767,5],[1484,5],[2206,5]]},"2371":{"position":[[320,5]]},"2383":{"position":[[1188,5]]},"2397":{"position":[[1129,5]]},"2404":{"position":[[1145,5]]},"2416":{"position":[[97,5]]},"2434":{"position":[[1274,5]]}},"keywords":{}}],["fit",{"_index":1011,"title":{},"content":{"96":{"position":[[270,4]]},"190":{"position":[[1058,3]]}},"keywords":{}}],["fix",{"_index":881,"title":{"359":{"position":[[0,6]]},"371":{"position":[[4,6]]},"375":{"position":[[4,6]]},"379":{"position":[[4,6]]},"384":{"position":[[4,6]]},"385":{"position":[[4,6]]},"388":{"position":[[4,6]]},"390":{"position":[[4,6]]},"393":{"position":[[4,6]]},"395":{"position":[[4,6]]},"396":{"position":[[4,6]]},"400":{"position":[[4,6]]},"401":{"position":[[4,6]]},"405":{"position":[[4,6]]},"407":{"position":[[4,6]]},"409":{"position":[[4,6]]},"410":{"position":[[4,6]]},"414":{"position":[[4,6]]},"416":{"position":[[4,6]]},"418":{"position":[[4,6]]},"420":{"position":[[4,6]]},"423":{"position":[[4,6]]},"427":{"position":[[4,6]]},"429":{"position":[[4,6]]},"432":{"position":[[4,6]]},"435":{"position":[[4,6]]},"444":{"position":[[4,6]]},"447":{"position":[[4,6]]},"449":{"position":[[4,6]]},"451":{"position":[[4,6]]},"453":{"position":[[4,6]]},"456":{"position":[[4,6]]},"460":{"position":[[4,6]]},"462":{"position":[[4,6]]},"464":{"position":[[4,6]]},"474":{"position":[[4,6]]},"476":{"position":[[4,6]]},"485":{"position":[[4,6]]},"488":{"position":[[4,6]]},"492":{"position":[[4,6]]},"494":{"position":[[4,6]]},"496":{"position":[[4,6]]},"497":{"position":[[4,6]]},"502":{"position":[[4,6]]},"506":{"position":[[4,6]]},"516":{"position":[[4,6]]},"518":{"position":[[4,6]]},"520":{"position":[[4,6]]},"521":{"position":[[4,6]]},"526":{"position":[[4,6]]},"528":{"position":[[4,6]]},"530":{"position":[[4,6]]},"531":{"position":[[4,6]]},"534":{"position":[[4,6]]},"536":{"position":[[4,6]]},"537":{"position":[[4,6]]},"541":{"position":[[4,6]]},"544":{"position":[[4,6]]},"546":{"position":[[4,6]]},"548":{"position":[[4,6]]},"551":{"position":[[4,6]]},"553":{"position":[[4,6]]},"554":{"position":[[4,6]]},"556":{"position":[[4,6]]},"560":{"position":[[4,6]]},"562":{"position":[[4,6]]},"565":{"position":[[4,6]]},"568":{"position":[[4,6]]},"570":{"position":[[4,6]]},"572":{"position":[[4,6]]},"574":{"position":[[4,6]]},"577":{"position":[[4,6]]},"579":{"position":[[4,6]]},"581":{"position":[[4,6]]},"582":{"position":[[4,6]]},"585":{"position":[[4,6]]},"587":{"position":[[4,6]]},"590":{"position":[[4,6]]},"593":{"position":[[4,6]]},"594":{"position":[[4,6]]},"599":{"position":[[4,6]]},"604":{"position":[[4,6]]},"607":{"position":[[4,6]]},"611":{"position":[[4,6]]},"614":{"position":[[4,6]]},"617":{"position":[[4,6]]},"620":{"position":[[4,6]]},"622":{"position":[[4,6]]},"625":{"position":[[4,6]]},"628":{"position":[[4,6]]},"630":{"position":[[4,6]]},"632":{"position":[[4,6]]},"634":{"position":[[4,6]]},"635":{"position":[[4,6]]},"638":{"position":[[4,6]]},"640":{"position":[[4,6]]},"642":{"position":[[4,6]]},"644":{"position":[[4,6]]},"646":{"position":[[4,6]]},"649":{"position":[[4,6]]},"651":{"position":[[4,6]]},"653":{"position":[[4,6]]},"655":{"position":[[4,6]]},"659":{"position":[[4,6]]},"660":{"position":[[4,6]]},"663":{"position":[[4,6]]},"666":{"position":[[4,6]]},"670":{"position":[[4,6]]},"673":{"position":[[4,6]]},"677":{"position":[[4,6]]},"679":{"position":[[4,6]]},"683":{"position":[[4,6]]},"685":{"position":[[4,6]]},"687":{"position":[[4,6]]},"689":{"position":[[4,6]]},"697":{"position":[[4,6]]},"700":{"position":[[4,6]]},"701":{"position":[[4,6]]},"703":{"position":[[4,6]]},"710":{"position":[[4,6]]},"711":{"position":[[4,6]]},"713":{"position":[[4,6]]},"715":{"position":[[4,6]]},"718":{"position":[[4,6]]},"721":{"position":[[4,6]]},"723":{"position":[[4,6]]},"725":{"position":[[4,6]]},"726":{"position":[[4,6]]},"730":{"position":[[4,6]]},"732":{"position":[[4,6]]},"734":{"position":[[4,6]]},"736":{"position":[[4,6]]},"737":{"position":[[4,6]]},"739":{"position":[[4,6]]},"742":{"position":[[4,6]]},"744":{"position":[[4,6]]},"746":{"position":[[4,6]]},"751":{"position":[[4,6]]},"753":{"position":[[4,6]]},"755":{"position":[[4,6]]},"756":{"position":[[4,6]]},"761":{"position":[[4,6]]},"763":{"position":[[4,6]]},"764":{"position":[[4,6]]},"770":{"position":[[4,6]]},"774":{"position":[[4,6]]},"777":{"position":[[4,6]]},"779":{"position":[[4,6]]},"781":{"position":[[4,6]]},"785":{"position":[[4,6]]},"786":{"position":[[4,6]]},"790":{"position":[[4,6]]},"792":{"position":[[4,6]]},"794":{"position":[[4,6]]},"795":{"position":[[4,6]]},"798":{"position":[[4,6]]},"802":{"position":[[4,6]]},"804":{"position":[[4,6]]},"808":{"position":[[4,6]]},"809":{"position":[[4,6]]},"812":{"position":[[4,6]]},"816":{"position":[[4,6]]},"818":{"position":[[4,6]]},"820":{"position":[[4,6]]},"821":{"position":[[4,6]]},"824":{"position":[[4,6]]},"826":{"position":[[4,6]]},"830":{"position":[[4,6]]},"842":{"position":[[4,6]]},"847":{"position":[[4,6]]},"850":{"position":[[4,6]]},"857":{"position":[[4,6]]},"859":{"position":[[4,6]]},"860":{"position":[[4,6]]},"870":{"position":[[4,6]]},"872":{"position":[[4,6]]},"873":{"position":[[4,6]]},"875":{"position":[[4,6]]},"877":{"position":[[4,6]]},"881":{"position":[[4,6]]},"883":{"position":[[4,6]]},"889":{"position":[[4,6]]},"895":{"position":[[4,6]]},"897":{"position":[[4,6]]},"908":{"position":[[4,6]]},"911":{"position":[[4,6]]},"915":{"position":[[4,6]]},"917":{"position":[[4,6]]},"918":{"position":[[4,6]]},"922":{"position":[[4,6]]},"924":{"position":[[4,6]]},"926":{"position":[[4,6]]},"929":{"position":[[4,6]]},"930":{"position":[[4,6]]},"933":{"position":[[4,6]]},"936":{"position":[[4,6]]},"938":{"position":[[4,6]]},"939":{"position":[[4,6]]},"944":{"position":[[4,6]]},"950":{"position":[[4,6]]},"954":{"position":[[4,6]]},"956":{"position":[[4,6]]},"963":{"position":[[4,6]]},"966":{"position":[[4,6]]},"974":{"position":[[4,6]]},"976":{"position":[[4,6]]},"978":{"position":[[4,6]]},"983":{"position":[[4,6]]},"985":{"position":[[4,6]]},"987":{"position":[[4,6]]},"989":{"position":[[4,6]]},"992":{"position":[[4,6]]},"994":{"position":[[4,6]]},"997":{"position":[[4,6]]},"998":{"position":[[4,6]]},"1002":{"position":[[4,6]]},"1004":{"position":[[4,6]]},"1005":{"position":[[4,6]]},"1011":{"position":[[4,6]]},"1014":{"position":[[4,6]]},"1017":{"position":[[4,6]]},"1026":{"position":[[4,6]]},"1032":{"position":[[4,6]]},"1044":{"position":[[4,6]]},"1048":{"position":[[4,6]]},"1054":{"position":[[4,6]]},"1062":{"position":[[4,6]]},"1064":{"position":[[4,6]]},"1069":{"position":[[4,6]]},"1071":{"position":[[4,6]]},"1073":{"position":[[4,6]]},"1079":{"position":[[4,6]]},"1081":{"position":[[4,6]]},"1084":{"position":[[4,6]]},"1086":{"position":[[4,6]]},"1088":{"position":[[4,6]]},"1090":{"position":[[4,6]]},"1092":{"position":[[4,6]]},"1094":{"position":[[4,6]]},"1096":{"position":[[4,6]]},"1100":{"position":[[4,6]]},"1102":{"position":[[4,6]]},"1106":{"position":[[4,6]]},"1108":{"position":[[4,6]]},"1111":{"position":[[4,6]]},"1123":{"position":[[4,6]]},"1125":{"position":[[4,6]]},"1129":{"position":[[4,6]]},"1131":{"position":[[4,6]]},"1132":{"position":[[4,6]]},"1135":{"position":[[4,6]]},"1139":{"position":[[4,6]]},"1140":{"position":[[4,6]]},"1145":{"position":[[4,6]]},"1147":{"position":[[4,6]]},"1149":{"position":[[4,6]]},"1151":{"position":[[4,6]]},"1153":{"position":[[4,6]]},"1155":{"position":[[4,6]]},"1157":{"position":[[4,6]]},"1163":{"position":[[4,6]]},"1165":{"position":[[4,6]]},"1168":{"position":[[4,6]]},"1171":{"position":[[4,6]]},"1173":{"position":[[4,6]]},"1177":{"position":[[4,6]]},"1179":{"position":[[4,6]]},"1182":{"position":[[4,6]]},"1188":{"position":[[4,6]]},"1192":{"position":[[4,6]]},"1194":{"position":[[4,6]]},"1197":{"position":[[4,6]]},"1199":{"position":[[4,6]]},"1202":{"position":[[4,6]]},"1207":{"position":[[4,6]]},"1210":{"position":[[4,6]]},"1211":{"position":[[4,6]]},"1214":{"position":[[4,6]]},"1219":{"position":[[4,6]]},"1221":{"position":[[4,6]]},"1223":{"position":[[4,6]]},"1225":{"position":[[4,6]]},"1227":{"position":[[4,6]]},"1229":{"position":[[4,6]]},"1231":{"position":[[4,6]]},"1233":{"position":[[4,6]]},"1236":{"position":[[4,6]]},"1241":{"position":[[4,6]]},"1243":{"position":[[4,6]]},"1245":{"position":[[4,6]]},"1247":{"position":[[4,6]]},"1250":{"position":[[4,6]]},"1252":{"position":[[4,6]]},"1254":{"position":[[4,6]]},"1256":{"position":[[4,6]]},"1260":{"position":[[4,6]]},"1262":{"position":[[4,6]]},"1265":{"position":[[4,6]]},"1267":{"position":[[4,6]]},"1271":{"position":[[4,6]]},"1274":{"position":[[4,6]]},"1285":{"position":[[4,6]]},"1286":{"position":[[4,6]]},"1289":{"position":[[4,6]]},"1291":{"position":[[4,6]]},"1295":{"position":[[4,6]]},"1297":{"position":[[4,6]]},"1300":{"position":[[4,6]]},"1303":{"position":[[4,6]]},"1305":{"position":[[4,6]]},"1307":{"position":[[4,6]]},"1309":{"position":[[4,6]]},"1314":{"position":[[4,6]]},"1316":{"position":[[4,6]]},"1320":{"position":[[4,6]]},"1324":{"position":[[4,6]]},"1325":{"position":[[4,6]]},"1329":{"position":[[4,6]]},"1332":{"position":[[4,6]]},"1334":{"position":[[4,6]]},"1337":{"position":[[4,6]]},"1341":{"position":[[4,6]]},"1344":{"position":[[4,6]]},"1346":{"position":[[4,6]]},"1348":{"position":[[4,6]]},"1350":{"position":[[4,6]]},"1355":{"position":[[4,6]]},"1360":{"position":[[4,6]]},"1365":{"position":[[4,6]]},"1370":{"position":[[4,6]]},"1375":{"position":[[4,6]]},"1379":{"position":[[4,6]]},"1383":{"position":[[4,6]]},"1387":{"position":[[4,6]]},"1391":{"position":[[4,6]]},"1395":{"position":[[4,6]]},"1399":{"position":[[4,6]]},"1403":{"position":[[4,6]]},"1407":{"position":[[4,6]]},"1411":{"position":[[4,6]]},"1415":{"position":[[4,6]]},"1419":{"position":[[4,6]]},"1423":{"position":[[4,6]]},"1427":{"position":[[4,6]]},"1431":{"position":[[4,6]]},"1435":{"position":[[4,6]]},"1442":{"position":[[4,6]]},"1445":{"position":[[4,6]]},"1447":{"position":[[4,6]]},"1448":{"position":[[4,6]]},"1452":{"position":[[4,6]]},"1455":{"position":[[4,6]]},"1458":{"position":[[4,6]]},"1463":{"position":[[4,6]]},"1466":{"position":[[4,6]]},"1472":{"position":[[4,6]]},"1474":{"position":[[4,6]]},"1481":{"position":[[4,6]]},"1483":{"position":[[4,6]]},"1486":{"position":[[4,6]]},"1489":{"position":[[4,6]]},"1491":{"position":[[4,6]]},"1493":{"position":[[4,6]]},"1495":{"position":[[4,6]]},"1496":{"position":[[4,6]]},"1499":{"position":[[4,6]]},"1504":{"position":[[4,6]]},"1506":{"position":[[4,6]]},"1508":{"position":[[4,6]]},"1510":{"position":[[4,6]]},"1512":{"position":[[4,6]]},"1520":{"position":[[4,6]]},"1524":{"position":[[4,6]]},"1533":{"position":[[4,6]]},"1539":{"position":[[4,6]]},"1541":{"position":[[4,6]]},"1543":{"position":[[4,6]]},"1545":{"position":[[4,6]]},"1546":{"position":[[4,6]]},"1549":{"position":[[4,6]]},"1553":{"position":[[4,6]]},"1555":{"position":[[4,6]]},"1557":{"position":[[4,6]]},"1562":{"position":[[4,6]]},"1565":{"position":[[4,6]]},"1566":{"position":[[4,6]]},"1570":{"position":[[4,6]]},"1572":{"position":[[4,6]]},"1574":{"position":[[4,6]]},"1576":{"position":[[4,6]]},"1577":{"position":[[4,6]]},"1580":{"position":[[4,6]]},"1581":{"position":[[4,6]]},"1588":{"position":[[4,6]]},"1592":{"position":[[4,6]]},"1597":{"position":[[4,6]]},"1603":{"position":[[4,6]]},"1607":{"position":[[4,6]]},"1611":{"position":[[4,6]]},"1614":{"position":[[4,6]]},"1618":{"position":[[4,6]]},"1620":{"position":[[4,6]]},"1622":{"position":[[4,6]]},"1626":{"position":[[4,6]]},"1640":{"position":[[4,6]]},"1644":{"position":[[4,6]]},"1648":{"position":[[4,6]]},"1655":{"position":[[4,6]]},"1658":{"position":[[4,6]]},"1666":{"position":[[4,6]]},"1670":{"position":[[4,6]]},"1673":{"position":[[4,6]]},"1676":{"position":[[4,6]]},"1678":{"position":[[4,6]]},"1680":{"position":[[4,6]]},"1682":{"position":[[4,6]]},"1684":{"position":[[4,6]]},"1686":{"position":[[4,6]]},"1687":{"position":[[4,6]]},"1691":{"position":[[4,6]]},"1693":{"position":[[4,6]]},"1696":{"position":[[4,6]]},"1701":{"position":[[4,6]]},"1703":{"position":[[4,6]]},"1709":{"position":[[4,6]]},"1711":{"position":[[4,6]]},"1713":{"position":[[4,6]]},"1715":{"position":[[4,6]]},"1717":{"position":[[4,6]]},"1719":{"position":[[4,6]]},"1721":{"position":[[4,6]]},"1725":{"position":[[4,6]]},"1729":{"position":[[4,6]]},"1731":{"position":[[4,6]]},"1733":{"position":[[4,6]]},"1738":{"position":[[4,6]]},"1740":{"position":[[4,6]]},"1744":{"position":[[4,6]]},"1745":{"position":[[4,6]]},"1751":{"position":[[4,6]]},"1752":{"position":[[4,6]]},"1755":{"position":[[4,6]]},"1757":{"position":[[4,6]]},"1759":{"position":[[4,6]]},"1761":{"position":[[4,6]]},"1762":{"position":[[4,6]]},"1766":{"position":[[4,6]]},"1768":{"position":[[4,6]]}},"content":{"74":{"position":[[0,3]]},"264":{"position":[[738,5]]},"357":{"position":[[227,5]]},"358":{"position":[[222,5]]},"359":{"position":[[4,5],[193,5],[292,5],[348,5]]},"371":{"position":[[13,6],[115,5]]},"375":{"position":[[0,6]]},"379":{"position":[[0,6]]},"385":{"position":[[78,3]]},"388":{"position":[[0,6]]},"390":{"position":[[0,6]]},"393":{"position":[[0,6]]},"396":{"position":[[0,6]]},"401":{"position":[[0,6]]},"407":{"position":[[0,6]]},"409":{"position":[[0,6]]},"410":{"position":[[0,6],[114,5],[120,6]]},"414":{"position":[[0,6]]},"416":{"position":[[0,6]]},"420":{"position":[[8,6]]},"427":{"position":[[0,6]]},"429":{"position":[[0,6]]},"432":{"position":[[8,6]]},"462":{"position":[[0,6]]},"464":{"position":[[0,6]]},"474":{"position":[[0,6]]},"476":{"position":[[0,6]]},"492":{"position":[[0,6]]},"494":{"position":[[0,6]]},"496":{"position":[[0,6]]},"502":{"position":[[0,6]]},"506":{"position":[[0,6]]},"514":{"position":[[45,4],[117,3],[132,4],[137,6]]},"518":{"position":[[0,6]]},"521":{"position":[[0,6]]},"528":{"position":[[0,6]]},"530":{"position":[[0,6]]},"531":{"position":[[0,6]]},"541":{"position":[[0,6]]},"553":{"position":[[0,6]]},"554":{"position":[[0,6]]},"568":{"position":[[0,6]]},"577":{"position":[[0,6]]},"579":{"position":[[0,6]]},"581":{"position":[[0,6]]},"593":{"position":[[11,6]]},"599":{"position":[[0,6]]},"607":{"position":[[0,6]]},"622":{"position":[[0,6],[58,6],[114,6],[187,6]]},"630":{"position":[[0,6]]},"634":{"position":[[0,3],[8,3],[17,5]]},"644":{"position":[[0,6]]},"653":{"position":[[8,6]]},"659":{"position":[[0,6]]},"663":{"position":[[0,6]]},"673":{"position":[[124,5],[130,6]]},"677":{"position":[[17,3],[67,3]]},"683":{"position":[[47,3]]},"685":{"position":[[0,6]]},"687":{"position":[[0,6]]},"689":{"position":[[0,6]]},"697":{"position":[[0,6]]},"700":{"position":[[0,6],[52,6]]},"701":{"position":[[5,6]]},"703":{"position":[[5,6],[66,6]]},"710":{"position":[[0,6]]},"713":{"position":[[15,6]]},"715":{"position":[[0,3],[96,6]]},"718":{"position":[[0,6]]},"721":{"position":[[0,6]]},"725":{"position":[[15,5]]},"730":{"position":[[12,6]]},"732":{"position":[[9,6]]},"734":{"position":[[204,6]]},"739":{"position":[[15,6]]},"742":{"position":[[0,3],[68,3]]},"744":{"position":[[0,6]]},"751":{"position":[[0,6]]},"753":{"position":[[0,6]]},"755":{"position":[[0,6]]},"761":{"position":[[15,6]]},"777":{"position":[[0,6]]},"781":{"position":[[0,6]]},"785":{"position":[[21,6]]},"794":{"position":[[18,6]]},"795":{"position":[[5,5]]},"798":{"position":[[11,6]]},"808":{"position":[[8,6],[80,6]]},"812":{"position":[[0,6]]},"816":{"position":[[0,6]]},"818":{"position":[[11,6]]},"821":{"position":[[0,6]]},"824":{"position":[[0,6]]},"842":{"position":[[0,6]]},"847":{"position":[[192,5],[276,3],[358,5]]},"850":{"position":[[0,6]]},"857":{"position":[[0,6]]},"870":{"position":[[0,6]]},"872":{"position":[[8,6]]},"873":{"position":[[0,6]]},"881":{"position":[[0,6]]},"895":{"position":[[0,6]]},"911":{"position":[[0,6]]},"915":{"position":[[0,6]]},"917":{"position":[[0,6]]},"918":{"position":[[0,6]]},"926":{"position":[[15,5]]},"936":{"position":[[0,6]]},"944":{"position":[[0,6]]},"963":{"position":[[0,6]]},"1012":{"position":[[45,5]]},"1024":{"position":[[104,6],[306,6],[409,6]]},"1047":{"position":[[178,6],[349,6],[369,6]]},"1058":{"position":[[116,5]]},"1108":{"position":[[0,3]]},"1168":{"position":[[23,5]]},"1254":{"position":[[17,6]]},"1267":{"position":[[33,3]]},"1279":{"position":[[26,3]]},"1295":{"position":[[0,3]]},"1353":{"position":[[87,3],[332,3]]},"1358":{"position":[[87,3],[332,3]]},"1363":{"position":[[87,3],[332,3]]},"1368":{"position":[[87,3],[332,3]]},"1373":{"position":[[138,3]]},"1377":{"position":[[138,3]]},"1381":{"position":[[138,3]]},"1385":{"position":[[138,3]]},"1389":{"position":[[138,3]]},"1393":{"position":[[138,3]]},"1397":{"position":[[138,3]]},"1401":{"position":[[138,3]]},"1405":{"position":[[138,3]]},"1409":{"position":[[138,3]]},"1413":{"position":[[138,3]]},"1417":{"position":[[138,3]]},"1421":{"position":[[138,3]]},"1425":{"position":[[138,3]]},"1429":{"position":[[138,3]]},"1433":{"position":[[138,3]]},"1437":{"position":[[92,3]]},"1440":{"position":[[92,3]]},"1458":{"position":[[0,6]]},"1466":{"position":[[1042,5]]},"1474":{"position":[[589,3],[1582,5],[2560,5],[2703,5],[2929,3],[3084,3],[3386,3],[3537,3],[3666,5],[3693,3],[4954,3],[5552,5],[6346,3],[9086,5],[12922,5],[13115,5],[13618,6],[13840,5],[14693,5],[15483,6],[19549,3],[20024,3],[20166,5],[20367,3],[20425,3],[21211,3],[22327,3]]},"1476":{"position":[[2981,5],[6900,5],[9094,3]]},"1477":{"position":[[198,5],[261,3]]},"1479":{"position":[[521,3],[635,5],[672,3],[784,3],[1003,3],[1012,3],[1468,3],[1834,3],[3136,3],[3158,3],[3242,4],[3338,5],[4260,3]]},"1531":{"position":[[60,3]]},"1535":{"position":[[48,5],[85,3],[197,3]]},"1557":{"position":[[0,3]]},"1562":{"position":[[471,5]]},"1565":{"position":[[27,3]]},"1588":{"position":[[0,6]]},"1595":{"position":[[23,3],[32,3]]},"1646":{"position":[[66,3],[432,3]]},"1666":{"position":[[28,6]]},"1693":{"position":[[0,5]]},"1729":{"position":[[63,5]]},"1737":{"position":[[53,3],[75,3]]},"1742":{"position":[[67,4],[163,5]]},"1745":{"position":[[179,3]]},"1766":{"position":[[379,3]]},"1768":{"position":[[23,3]]},"2240":{"position":[[5480,3],[5494,3]]},"2352":{"position":[[139,3],[153,3]]},"2518":{"position":[[210,6],[348,5]]}},"keywords":{}}],["fix."",{"_index":6619,"title":{},"content":{"1478":{"position":[[1327,10]]}},"keywords":{}}],["flag",{"_index":977,"title":{},"content":{"92":{"position":[[226,5],[1267,5]]},"243":{"position":[[1250,4],[1289,4]]},"337":{"position":[[330,4]]},"355":{"position":[[853,4]]},"356":{"position":[[101,4]]},"363":{"position":[[162,5],[240,4],[286,4],[340,5]]},"486":{"position":[[7,4]]},"487":{"position":[[144,4]]},"981":{"position":[[66,4]]},"1474":{"position":[[1394,4]]},"1782":{"position":[[216,4]]},"1894":{"position":[[82,5]]},"2031":{"position":[[2683,5]]},"2385":{"position":[[94,6],[155,5]]},"2396":{"position":[[293,4]]},"2400":{"position":[[313,4]]},"2403":{"position":[[13,4]]}},"keywords":{}}],["flexibl",{"_index":1032,"title":{},"content":{"99":{"position":[[1338,11]]}},"keywords":{}}],["flip",{"_index":1256,"title":{},"content":{"139":{"position":[[642,4]]}},"keywords":{}}],["float",{"_index":1143,"title":{"120":{"position":[[0,5]]}},"content":{"119":{"position":[[531,5]]},"122":{"position":[[0,5]]},"173":{"position":[[379,6],[409,5]]},"203":{"position":[[1935,5],[2014,5]]},"209":{"position":[[1910,5],[1989,5]]},"211":{"position":[[1109,5],[1188,5]]},"251":{"position":[[4369,5]]},"327":{"position":[[875,7],[1108,5]]},"328":{"position":[[828,5],[898,5]]},"333":{"position":[[102,8]]},"373":{"position":[[38,5]]},"626":{"position":[[27,6]]},"747":{"position":[[35,6]]},"861":{"position":[[22,5]]},"876":{"position":[[34,6]]},"1952":{"position":[[507,5],[562,5]]},"1983":{"position":[[521,5],[634,5],[1802,5]]},"1988":{"position":[[233,5],[379,5],[542,5]]},"1990":{"position":[[211,5],[707,5]]},"1996":{"position":[[86,5],[172,5],[502,5]]},"2000":{"position":[[72,5],[496,5]]},"2001":{"position":[[22,5],[270,5],[372,5],[511,5],[913,5],[1061,5],[1087,5],[1248,5],[1280,5]]},"2023":{"position":[[2276,5]]},"2050":{"position":[[81,5],[234,5]]},"2056":{"position":[[1495,5],[4025,5]]},"2068":{"position":[[107,5],[119,5],[137,5],[377,5],[389,5],[608,5],[867,5]]},"2073":{"position":[[91,5],[345,5],[357,5],[375,5]]},"2076":{"position":[[123,5],[135,5],[147,5],[165,5],[183,5],[475,5],[487,5],[499,5],[752,5],[764,5],[1088,5],[1100,5]]},"2078":{"position":[[106,5],[118,5],[445,5],[457,5],[469,5],[487,5],[505,5]]},"2130":{"position":[[221,5],[653,5],[774,5],[1119,5],[1499,5]]},"2373":{"position":[[236,5]]},"2396":{"position":[[248,5]]},"2407":{"position":[[112,5]]},"2425":{"position":[[31,5],[254,5]]},"2427":{"position":[[105,5],[183,5],[258,5]]},"2515":{"position":[[484,5]]}},"keywords":{}}],["float.mydata",{"_index":2681,"title":{},"content":{"327":{"position":[[957,14]]}},"keywords":{}}],["floatinginfo",{"_index":1713,"title":{},"content":{"209":{"position":[[100,12],[157,13],[473,13],[2161,12]]}},"keywords":{}}],["floatinginfo.transform.localposit",{"_index":1732,"title":{},"content":{"209":{"position":[[1100,36]]}},"keywords":{}}],["floatinginfo.transform.localscal",{"_index":1735,"title":{},"content":{"209":{"position":[[1168,33]]}},"keywords":{}}],["floatinginfo.transform.lookat(camera.main.transform",{"_index":1752,"title":{},"content":{"209":{"position":[[1846,53]]},"211":{"position":[[1045,53]]}},"keywords":{}}],["floatpack",{"_index":1173,"title":{"1999":{"position":[[6,11]]}},"content":{"125":{"position":[[83,11]]},"626":{"position":[[37,11]]},"1983":{"position":[[602,12]]}},"keywords":{}}],["floatpack(100f",{"_index":1150,"title":{},"content":{"123":{"position":[[97,15]]},"125":{"position":[[18,15]]}},"keywords":{}}],["floatpack(1f",{"_index":1168,"title":{},"content":{"124":{"position":[[113,13]]}},"keywords":{}}],["floatpackattribut",{"_index":7689,"title":{"1995":{"position":[[6,18]]}},"content":{"1983":{"position":[[493,19]]}},"keywords":{}}],["floatpackattribute(float",{"_index":7754,"title":{},"content":{"1996":{"position":[[56,24],[389,24]]}},"keywords":{}}],["floatpackattribute(singl",{"_index":7753,"title":{},"content":{"1996":{"position":[[0,26],[334,26]]}},"keywords":{}}],["floatpacker(100f",{"_index":1175,"title":{},"content":{"125":{"position":[[117,17]]}},"keywords":{}}],["floatpacker(float",{"_index":7760,"title":{},"content":{"2000":{"position":[[49,17],[303,17],[473,17],[813,17]]}},"keywords":{}}],["floatpacker(singl",{"_index":7759,"title":{},"content":{"2000":{"position":[[0,19],[255,19],[415,19],[756,19]]}},"keywords":{}}],["floor",{"_index":1665,"title":{},"content":{"202":{"position":[[901,5]]}},"keywords":{}}],["flow",{"_index":1033,"title":{"247":{"position":[[21,5]]},"334":{"position":[[14,4]]},"335":{"position":[[14,5]]}},"content":{"99":{"position":[[1386,5]]},"164":{"position":[[517,5]]},"247":{"position":[[11,4]]},"248":{"position":[[93,4]]},"335":{"position":[[119,4]]},"2091":{"position":[[335,4]]},"2094":{"position":[[107,4]]}},"keywords":{}}],["flush",{"_index":7260,"title":{},"content":{"1834":{"position":[[50,5]]},"1835":{"position":[[282,8],[392,7]]},"1855":{"position":[[378,8],[412,7]]},"1860":{"position":[[421,8],[455,7]]},"1865":{"position":[[421,8],[455,7]]},"1874":{"position":[[378,8],[412,7]]},"2119":{"position":[[563,8],[597,7]]}},"keywords":{}}],["flushbatch",{"_index":3581,"title":{},"content":{"636":{"position":[[20,10]]},"2141":{"position":[[1044,13],[1275,12]]}},"keywords":{}}],["focu",{"_index":745,"title":{},"content":{"57":{"position":[[21,5]]},"99":{"position":[[1427,5]]},"175":{"position":[[520,5]]}},"keywords":{}}],["folder",{"_index":275,"title":{},"content":{"10":{"position":[[1560,6]]},"46":{"position":[[206,6]]},"100":{"position":[[87,7]]},"184":{"position":[[542,6]]},"195":{"position":[[38,6],[209,7],[246,6]]},"196":{"position":[[22,6]]},"202":{"position":[[102,7]]},"203":{"position":[[647,6],[692,6],[1311,6]]},"317":{"position":[[596,6],[1584,7]]},"959":{"position":[[48,6]]},"1039":{"position":[[20,6]]},"1194":{"position":[[31,6]]},"1474":{"position":[[1302,6],[7421,6]]},"1562":{"position":[[200,6]]}},"keywords":{}}],["foldout",{"_index":4288,"title":{},"content":{"957":{"position":[[0,7]]},"2240":{"position":[[716,7]]},"2275":{"position":[[50,7]]}},"keywords":{}}],["foldouteventattribut",{"_index":8644,"title":{"2275":{"position":[[6,21]]}},"content":{"2240":{"position":[[671,22]]},"2275":{"position":[[6,21],[154,21]]}},"keywords":{}}],["follow",{"_index":195,"title":{},"content":{"9":{"position":[[25,6]]},"46":{"position":[[220,9]]},"82":{"position":[[20,6]]},"96":{"position":[[381,9]]},"100":{"position":[[197,6]]},"117":{"position":[[55,6]]},"139":{"position":[[68,6]]},"182":{"position":[[2042,9]]},"187":{"position":[[762,10]]},"190":{"position":[[341,8]]},"191":{"position":[[242,8]]},"196":{"position":[[155,9]]},"198":{"position":[[402,6],[544,6]]},"199":{"position":[[60,10]]},"202":{"position":[[16,9],[64,6]]},"203":{"position":[[144,6]]},"211":{"position":[[41,9]]},"245":{"position":[[3547,9]]},"254":{"position":[[786,9]]},"292":{"position":[[270,9]]},"295":{"position":[[75,9]]},"346":{"position":[[327,9],[1334,9]]},"357":{"position":[[172,9]]},"363":{"position":[[4,9],[52,7]]},"1142":{"position":[[31,6],[111,6]]},"1311":{"position":[[17,6]]},"1777":{"position":[[42,9]]},"2091":{"position":[[583,9]]}},"keywords":{}}],["font",{"_index":4895,"title":{},"content":{"1214":{"position":[[0,4]]}},"keywords":{}}],["forc",{"_index":2109,"title":{},"content":{"247":{"position":[[284,6]]},"328":{"position":[[1547,6],[1965,5],[2188,5],[2196,6]]},"661":{"position":[[0,7]]},"1131":{"position":[[31,5]]},"1474":{"position":[[22449,5]]},"1566":{"position":[[1884,5]]},"2141":{"position":[[1058,6]]},"2240":{"position":[[5372,6]]},"2352":{"position":[[31,6]]},"2396":{"position":[[301,5]]},"2403":{"position":[[21,5]]},"2503":{"position":[[231,5]]}},"keywords":{}}],["forceal",{"_index":2824,"title":{},"content":{"346":{"position":[[639,10]]}},"keywords":{}}],["forceen",{"_index":9210,"title":{},"content":{"2503":{"position":[[218,12],[316,11]]}},"keywords":{}}],["forcehidden",{"_index":5392,"title":{},"content":{"1474":{"position":[[1382,11]]},"2396":{"position":[[280,12],[444,11]]},"2403":{"position":[[0,12],[171,11]]}},"keywords":{}}],["foreach",{"_index":1796,"title":{},"content":{"211":{"position":[[756,7]]},"1477":{"position":[[252,8],[664,7]]}},"keywords":{}}],["forest",{"_index":2904,"title":{},"content":{"361":{"position":[[710,6]]}},"keywords":{}}],["forev",{"_index":5456,"title":{},"content":{"1474":{"position":[[3647,8]]}},"keywords":{}}],["forget",{"_index":8472,"title":{},"content":{"2162":{"position":[[142,6]]}},"keywords":{}}],["forgot",{"_index":1522,"title":{},"content":{"183":{"position":[[1074,6]]},"1474":{"position":[[19434,6]]}},"keywords":{}}],["form",{"_index":1606,"title":{},"content":{"191":{"position":[[234,4]]},"1474":{"position":[[936,4]]},"1655":{"position":[[166,4]]}},"keywords":{}}],["format",{"_index":3815,"title":{},"content":{"742":{"position":[[72,10]]},"835":{"position":[[19,6]]},"1947":{"position":[[318,7],[439,6]]}},"keywords":{}}],["formerlyserializeda",{"_index":3242,"title":{},"content":{"505":{"position":[[337,20]]},"1011":{"position":[[7,20]]}},"keywords":{}}],["forum.unity.com/threads/how",{"_index":4842,"title":{},"content":{"1189":{"position":[[56,28]]}},"keywords":{}}],["forward",{"_index":350,"title":{},"content":{"14":{"position":[[1374,10]]},"130":{"position":[[104,8]]},"159":{"position":[[104,8]]},"175":{"position":[[775,10]]},"179":{"position":[[540,10]]},"187":{"position":[[825,8],[872,7]]}},"keywords":{}}],["found",{"_index":16,"title":{"85":{"position":[[10,5]]}},"content":{"0":{"position":[[297,5]]},"39":{"position":[[68,5]]},"88":{"position":[[191,5]]},"91":{"position":[[27,5]]},"219":{"position":[[97,5]]},"225":{"position":[[131,5]]},"237":{"position":[[172,5]]},"314":{"position":[[598,6]]},"326":{"position":[[64,5],[548,5]]},"331":{"position":[[324,5]]},"622":{"position":[[243,5]]},"707":{"position":[[106,5]]},"737":{"position":[[26,5]]},"755":{"position":[[43,5]]},"821":{"position":[[40,5]]},"1073":{"position":[[30,5]]},"1223":{"position":[[11,5]]},"1297":{"position":[[25,5]]},"1474":{"position":[[2022,5],[3158,5],[20156,5]]},"2292":{"position":[[299,5]]},"2303":{"position":[[324,5],[390,5]]},"2322":{"position":[[308,5],[869,5],[1586,5],[2308,5]]},"2507":{"position":[[97,5]]}},"keywords":{}}],["found"",{"_index":7238,"title":{},"content":{"1819":{"position":[[182,11]]}},"keywords":{}}],["fp",{"_index":5146,"title":{},"content":{"1335":{"position":[[8,3]]}},"keywords":{}}],["fqdn",{"_index":324,"title":{},"content":{"14":{"position":[[328,7]]},"2400":{"position":[[1052,4]]}},"keywords":{}}],["fragil",{"_index":2558,"title":{},"content":{"314":{"position":[[62,7]]}},"keywords":{}}],["fragment",{"_index":3042,"title":{},"content":{"418":{"position":[[30,8]]},"593":{"position":[[18,10]]},"909":{"position":[[20,13]]},"2113":{"position":[[733,8]]},"2114":{"position":[[1873,8],[1905,8]]},"2130":{"position":[[2523,9]]}},"keywords":{}}],["fragment_index_s",{"_index":8388,"title":{},"content":{"2113":{"position":[[412,20],[463,19]]}},"keywords":{}}],["fragmentindex",{"_index":8346,"title":{},"content":{"2099":{"position":[[0,14],[39,13]]}},"keywords":{}}],["frame",{"_index":1331,"title":{},"content":{"164":{"position":[[623,6],[735,5]]},"173":{"position":[[773,5],[794,5]]},"240":{"position":[[2400,6]]},"241":{"position":[[2583,6]]},"337":{"position":[[947,6]]},"361":{"position":[[292,5]]},"2156":{"position":[[419,5],[518,5]]},"2168":{"position":[[14,5],[47,6]]},"2173":{"position":[[440,5],[546,5]]},"2288":{"position":[[17,5]]}},"keywords":{}}],["framecount",{"_index":7615,"title":{},"content":{"1949":{"position":[[29,11],[54,10]]}},"keywords":{}}],["framer",{"_index":5657,"title":{},"content":{"1474":{"position":[[9597,9]]}},"keywords":{}}],["framework",{"_index":6140,"title":{},"content":{"1476":{"position":[[2237,9],[5612,9],[5662,9],[5756,9],[5949,9],[8683,9]]},"1567":{"position":[[1203,9],[1253,9],[1299,9],[1349,9]]},"1591":{"position":[[11,9]]}},"keywords":{}}],["free",{"_index":1402,"title":{},"content":{"175":{"position":[[1045,4]]},"178":{"position":[[92,4]]},"182":{"position":[[2798,4]]},"189":{"position":[[447,4]]},"1327":{"position":[[237,4]]},"1330":{"position":[[237,4]]},"1333":{"position":[[237,4]]},"1477":{"position":[[168,4],[238,4]]}},"keywords":{}}],["freez",{"_index":5455,"title":{},"content":{"1474":{"position":[[3609,6],[21215,7]]},"1477":{"position":[[1454,7]]},"1568":{"position":[[183,7]]},"1745":{"position":[[183,7]]}},"keywords":{}}],["frequenc",{"_index":8806,"title":{},"content":{"2287":{"position":[[30,10]]}},"keywords":{}}],["frequent",{"_index":2896,"title":{},"content":{"360":{"position":[[158,10]]}},"keywords":{}}],["freshli",{"_index":1515,"title":{},"content":{"183":{"position":[[661,7]]}},"keywords":{}}],["friendli",{"_index":5075,"title":{},"content":{"1301":{"position":[[13,8]]},"1476":{"position":[[8787,8]]},"1961":{"position":[[392,8]]},"1962":{"position":[[17,8]]},"2240":{"position":[[2327,8]]},"2344":{"position":[[135,8]]}},"keywords":{}}],["frombitcount",{"_index":7690,"title":{"2013":{"position":[[6,12]]}},"content":{"1983":{"position":[[670,13]]}},"keywords":{}}],["frombitcount(int",{"_index":8255,"title":{},"content":{"2066":{"position":[[68,16],[338,16]]}},"keywords":{}}],["frombitcount(int32",{"_index":8254,"title":{},"content":{"2066":{"position":[[0,19],[254,19]]}},"keywords":{}}],["frowen",{"_index":3368,"title":{},"content":{"549":{"position":[[80,6]]},"1479":{"position":[[1987,6],[2114,6]]},"1646":{"position":[[585,6],[712,6]]}},"keywords":{}}],["fulfil",{"_index":2290,"title":{},"content":{"269":{"position":[[31,9]]}},"keywords":{}}],["full",{"_index":234,"title":{},"content":{"10":{"position":[[403,4]]},"30":{"position":[[435,4],[531,4]]},"91":{"position":[[0,4]]},"237":{"position":[[143,4]]},"292":{"position":[[254,4]]},"326":{"position":[[227,4]]},"337":{"position":[[513,4]]},"732":{"position":[[16,4]]},"1125":{"position":[[22,4]]},"1474":{"position":[[3352,4]]},"1835":{"position":[[440,4],[857,4]]},"1983":{"position":[[872,4]]},"2261":{"position":[[506,4]]},"2417":{"position":[[5009,4],[5547,4],[6263,4],[6550,4],[7193,4],[7480,4],[10722,4]]}},"keywords":{}}],["fulli",{"_index":320,"title":{},"content":{"14":{"position":[[300,5]]},"24":{"position":[[1747,5]]},"71":{"position":[[671,5]]},"308":{"position":[[814,5]]},"1835":{"position":[[342,5]]},"2130":{"position":[[1075,5]]},"2308":{"position":[[23,5]]},"2400":{"position":[[349,5],[462,5]]},"2417":{"position":[[4746,5],[5276,5],[5915,5],[6837,5],[7775,5],[8249,5]]}},"keywords":{}}],["fullnam",{"_index":7604,"title":{},"content":{"1941":{"position":[[289,9],[362,8]]},"1943":{"position":[[0,9],[37,8]]},"1944":{"position":[[140,9],[198,8]]},"1953":{"position":[[87,9],[159,8],[299,9],[357,8]]}},"keywords":{}}],["fulltypenam",{"_index":7609,"title":{},"content":{"1946":{"position":[[146,12],[291,12]]}},"keywords":{}}],["fun",{"_index":1780,"title":{},"content":{"210":{"position":[[1979,4]]}},"keywords":{}}],["func",{"_index":7667,"title":{},"content":{"1971":{"position":[[404,5],[627,4],[922,5],[1158,4]]}},"keywords":{}}],["func<networkread",{"_index":8093,"title":{},"content":{"2037":{"position":[[33,22]]}},"keywords":{}}],["func<packettyp",{"_index":8557,"title":{},"content":{"2187":{"position":[[21,19],[165,19]]}},"keywords":{}}],["function",{"_index":98,"title":{"216":{"position":[[18,10]]},"236":{"position":[[13,9]]},"320":{"position":[[31,10]]},"326":{"position":[[20,10]]},"327":{"position":[[21,10]]},"328":{"position":[[25,10]]},"337":{"position":[[21,10]]}},"content":{"0":{"position":[[1885,10]]},"6":{"position":[[397,8]]},"14":{"position":[[821,11]]},"30":{"position":[[179,8]]},"42":{"position":[[1137,9],[1636,8]]},"56":{"position":[[109,13]]},"62":{"position":[[92,14]]},"73":{"position":[[99,9]]},"91":{"position":[[350,8],[546,8],[751,9],[851,9]]},"99":{"position":[[1447,14]]},"108":{"position":[[152,9]]},"171":{"position":[[526,8]]},"175":{"position":[[1179,13]]},"186":{"position":[[82,9],[199,8]]},"210":{"position":[[256,9],[1689,8]]},"213":{"position":[[1205,10]]},"216":{"position":[[19,9],[128,10],[174,8],[252,8]]},"217":{"position":[[526,8],[617,8],[675,8]]},"218":{"position":[[275,8]]},"235":{"position":[[680,9]]},"245":{"position":[[3291,9],[3382,9],[3983,8]]},"251":{"position":[[3709,8]]},"254":{"position":[[218,8]]},"264":{"position":[[1016,9],[1340,8],[2023,8]]},"266":{"position":[[393,9]]},"291":{"position":[[38,8]]},"302":{"position":[[887,8]]},"303":{"position":[[549,9]]},"320":{"position":[[226,10],[338,9],[477,9]]},"321":{"position":[[702,9]]},"324":{"position":[[288,9],[423,8]]},"326":{"position":[[41,10],[181,10]]},"327":{"position":[[32,9],[374,9],[588,9],[783,9],[852,9],[944,8],[1035,8]]},"328":{"position":[[18,9],[483,8],[2244,9],[2298,9]]},"335":{"position":[[1318,8],[1523,8],[1626,8],[1741,10]]},"337":{"position":[[68,9],[142,9],[634,8],[970,8]]},"346":{"position":[[413,8],[1422,8],[2671,10],[2697,9]]},"379":{"position":[[43,9]]},"445":{"position":[[7,8]]},"454":{"position":[[7,8]]},"455":{"position":[[59,8]]},"476":{"position":[[94,9]]},"478":{"position":[[18,9]]},"490":{"position":[[73,9]]},"494":{"position":[[13,9]]},"500":{"position":[[14,8]]},"510":{"position":[[52,9]]},"512":{"position":[[18,10]]},"537":{"position":[[322,9]]},"545":{"position":[[9,8]]},"548":{"position":[[39,8]]},"557":{"position":[[45,9]]},"566":{"position":[[7,9]]},"596":{"position":[[19,9]]},"601":{"position":[[256,8]]},"704":{"position":[[21,9]]},"713":{"position":[[33,8]]},"740":{"position":[[34,8]]},"758":{"position":[[29,9]]},"764":{"position":[[238,8]]},"878":{"position":[[15,8]]},"883":{"position":[[33,9]]},"892":{"position":[[16,9]]},"904":{"position":[[7,9]]},"1474":{"position":[[5562,8],[14294,9]]},"1476":{"position":[[1572,9]]},"1567":{"position":[[599,9]]},"1733":{"position":[[362,9]]},"1779":{"position":[[62,8]]},"1803":{"position":[[96,8]]},"1958":{"position":[[62,10]]},"1960":{"position":[[172,9],[361,8]]},"1961":{"position":[[186,9],[196,8],[283,8]]},"1964":{"position":[[44,10]]},"1983":{"position":[[1017,9],[2722,10],[2797,9],[2937,9],[2996,9]]},"2083":{"position":[[109,10],[184,9],[324,9],[383,9]]},"2152":{"position":[[92,8]]},"2240":{"position":[[471,8],[1644,14],[2044,8],[6707,8]]},"2253":{"position":[[260,8],[326,8],[852,8]]},"2265":{"position":[[1428,8],[2406,8],[3996,8],[4745,8],[6286,8],[6599,9]]},"2351":{"position":[[693,8]]},"2358":{"position":[[995,8]]},"2359":{"position":[[2522,8],[2596,8],[3040,8],[3117,8]]},"2370":{"position":[[3683,8],[3864,8],[4180,13]]},"2371":{"position":[[130,8]]},"2383":{"position":[[240,8]]},"2397":{"position":[[181,8]]},"2404":{"position":[[197,8]]},"2417":{"position":[[1478,9],[8998,8]]},"2421":{"position":[[3400,9],[3891,9]]},"2434":{"position":[[138,8],[767,8]]},"2460":{"position":[[202,8]]},"2473":{"position":[[547,8]]},"2478":{"position":[[337,8],[1279,8]]},"2482":{"position":[[1936,8],[2811,8]]},"2522":{"position":[[8,8]]}},"keywords":{}}],["functionindex",{"_index":7676,"title":{},"content":{"1973":{"position":[[39,14],[78,13]]},"1977":{"position":[[39,14],[78,13]]}},"keywords":{}}],["furthermor",{"_index":729,"title":{},"content":{"54":{"position":[[0,12]]}},"keywords":{}}],["futur",{"_index":846,"title":{},"content":{"69":{"position":[[400,7]]},"71":{"position":[[532,7]]},"182":{"position":[[2556,7]]},"1479":{"position":[[2782,7]]},"1707":{"position":[[79,7]]},"2093":{"position":[[448,6]]}},"keywords":{}}],["futurist",{"_index":769,"title":{},"content":{"59":{"position":[[296,10]]}},"keywords":{}}],["gain",{"_index":1892,"title":{},"content":{"227":{"position":[[292,5]]}},"keywords":{}}],["game",{"_index":34,"title":{"2":{"position":[[21,4]]},"3":{"position":[[20,4]]},"72":{"position":[[13,4]]},"74":{"position":[[11,4]]},"194":{"position":[[11,5]]},"195":{"position":[[24,5]]},"213":{"position":[[10,4]]},"235":{"position":[[6,4]]},"237":{"position":[[13,4]]},"243":{"position":[[7,4]]},"244":{"position":[[9,4]]},"247":{"position":[[0,4]]},"248":{"position":[[7,4]]},"249":{"position":[[9,4]]},"251":{"position":[[13,4]]},"314":{"position":[[0,4]]}},"content":{"0":{"position":[[580,4],[695,4],[1029,5],[1145,4],[1216,4],[1707,4],[2486,4],[2597,4],[2725,4],[2742,4]]},"2":{"position":[[86,4]]},"3":{"position":[[21,4],[118,4],[245,5],[282,4],[430,4],[532,4],[554,4],[668,4],[737,4],[800,4]]},"6":{"position":[[52,4],[347,4],[460,4],[561,4],[770,4],[937,4]]},"9":{"position":[[54,4],[248,4]]},"13":{"position":[[51,4],[147,5],[236,5],[266,4],[303,4],[349,5]]},"14":{"position":[[211,4],[573,4],[684,5],[799,4],[883,4],[950,4],[1935,4]]},"15":{"position":[[29,4],[133,4],[159,4],[225,4],[266,5],[508,4],[607,4],[849,5],[893,4]]},"17":{"position":[[351,4]]},"18":{"position":[[97,4]]},"20":{"position":[[298,4]]},"22":{"position":[[93,4],[194,4],[291,4],[548,4],[604,4],[740,4],[844,4],[904,4],[1063,4],[1133,4]]},"24":{"position":[[1631,4],[1797,5]]},"31":{"position":[[172,4],[215,4],[588,4],[643,4]]},"33":{"position":[[320,4]]},"37":{"position":[[114,4],[131,4],[307,4],[395,4],[480,4],[599,4],[844,4],[977,4]]},"43":{"position":[[110,4],[145,4],[285,4],[352,4]]},"49":{"position":[[245,4],[272,4],[565,4]]},"50":{"position":[[619,4]]},"53":{"position":[[126,4]]},"54":{"position":[[81,4],[157,5],[168,4],[416,4]]},"55":{"position":[[26,4],[82,5]]},"56":{"position":[[138,4]]},"59":{"position":[[189,4]]},"69":{"position":[[196,4]]},"74":{"position":[[255,4],[325,4]]},"75":{"position":[[198,4]]},"76":{"position":[[10,4]]},"81":{"position":[[343,4]]},"89":{"position":[[40,4],[254,4]]},"92":{"position":[[679,4]]},"94":{"position":[[304,4]]},"96":{"position":[[156,5]]},"167":{"position":[[36,4]]},"171":{"position":[[104,5],[151,4],[489,4],[570,4],[618,5]]},"172":{"position":[[443,4]]},"187":{"position":[[18,5],[885,4]]},"190":{"position":[[663,5]]},"193":{"position":[[271,4]]},"194":{"position":[[11,4]]},"195":{"position":[[25,4],[241,4]]},"196":{"position":[[17,4],[53,4],[138,4],[473,4]]},"197":{"position":[[331,4],[426,4]]},"198":{"position":[[81,4]]},"202":{"position":[[877,4]]},"204":{"position":[[65,5],[388,5]]},"213":{"position":[[10,4],[33,4],[50,4],[161,4],[266,5],[389,5],[407,5],[488,4],[529,4],[557,4],[693,4],[722,4],[857,4],[1034,6],[1053,4],[1187,4],[1247,5],[1412,4],[1491,4],[1581,4],[1616,4],[1651,4],[1770,4],[1864,4],[1961,5]]},"217":{"position":[[205,4],[260,4],[339,4],[763,4]]},"218":{"position":[[38,4],[83,4],[143,4],[181,4]]},"235":{"position":[[6,4],[52,4],[183,4],[430,4],[1011,4],[1182,4],[1288,4],[1474,4],[1554,4],[1619,5],[1968,4],[2041,4],[2097,4],[2313,5]]},"240":{"position":[[508,4],[1226,5]]},"243":{"position":[[7,4],[69,4],[110,4],[152,4],[215,4],[262,4],[367,4],[408,4],[448,5],[512,4],[586,4],[758,4],[952,4],[1016,4],[1150,4],[1384,4],[1502,4],[1569,5],[1782,4],[1853,4],[1940,5],[2017,4]]},"245":{"position":[[82,4],[149,4],[1237,4],[1347,4],[1571,4],[1617,4],[2682,4],[2803,4],[3423,4]]},"246":{"position":[[38,4]]},"247":{"position":[[69,4],[154,4],[216,4],[997,4],[1113,4]]},"248":{"position":[[7,4],[75,4],[118,4],[419,4],[1139,4],[1281,4],[1475,4]]},"249":{"position":[[9,4],[52,4],[224,4],[406,4],[640,4]]},"251":{"position":[[52,4],[141,4],[2777,4],[3003,4],[3836,4],[4691,4]]},"253":{"position":[[205,4],[568,4]]},"254":{"position":[[25,4],[129,4],[188,4],[347,4],[489,4],[506,4],[523,4],[728,4],[754,4],[847,4],[870,4]]},"255":{"position":[[35,4]]},"257":{"position":[[202,5],[351,4],[425,6]]},"258":{"position":[[145,5]]},"260":{"position":[[179,4],[284,6]]},"262":{"position":[[51,5],[62,4],[229,4],[247,4],[310,4],[384,4],[530,4],[609,4],[744,4],[823,4],[873,4],[975,4],[1023,4],[1074,4]]},"263":{"position":[[121,5],[162,4],[400,4],[561,4],[761,4]]},"264":{"position":[[178,5],[558,4],[850,4],[1136,4],[1177,5],[2249,4]]},"288":{"position":[[1234,4]]},"302":{"position":[[366,4],[456,4]]},"314":{"position":[[0,4],[132,4],[281,4],[749,4]]},"335":{"position":[[0,4],[146,4],[531,4],[698,4],[799,4],[1223,4],[1289,4],[1377,4],[1424,4]]},"337":{"position":[[377,4],[462,4]]},"346":{"position":[[690,4],[1693,4]]},"356":{"position":[[1501,5]]},"1474":{"position":[[13028,4],[15990,4]]},"1478":{"position":[[1013,5]]},"1479":{"position":[[3858,5],[4059,4],[4074,4]]},"1782":{"position":[[35,4],[83,4]]},"2240":{"position":[[1979,4],[2633,4],[3064,4]]},"2243":{"position":[[116,6]]},"2265":{"position":[[1937,4]]},"2287":{"position":[[84,5],[151,5],[225,5]]},"2358":{"position":[[774,6]]},"2400":{"position":[[1109,4]]},"2417":{"position":[[2781,5],[2845,4]]},"2482":{"position":[[4942,4],[5290,4]]},"2503":{"position":[[34,4],[148,4],[248,4]]}},"keywords":{}}],["game.example.com",{"_index":326,"title":{},"content":{"14":{"position":[[341,17]]}},"keywords":{}}],["game.room",{"_index":543,"title":{},"content":{"33":{"position":[[115,9]]}},"keywords":{}}],["game/project",{"_index":1538,"title":{},"content":{"184":{"position":[[917,12]]}},"keywords":{}}],["gamemanag",{"_index":5802,"title":{},"content":{"1474":{"position":[[14972,11]]},"1545":{"position":[[73,11]]}},"keywords":{}}],["gamemod",{"_index":262,"title":{},"content":{"10":{"position":[[1049,8],[1163,8],[1172,9]]}},"keywords":{}}],["gameobject",{"_index":567,"title":{"220":{"position":[[15,10]]}},"content":{"35":{"position":[[342,10],[438,10],[595,10]]},"69":{"position":[[82,10]]},"70":{"position":[[206,10]]},"76":{"position":[[74,10]]},"105":{"position":[[125,10]]},"202":{"position":[[381,10],[964,11]]},"209":{"position":[[205,11],[462,10]]},"210":{"position":[[102,10]]},"211":{"position":[[119,12],[1714,11],[1774,11],[1821,12]]},"212":{"position":[[34,11]]},"213":{"position":[[2234,11]]},"223":{"position":[[94,10]]},"224":{"position":[[132,10]]},"226":{"position":[[95,10]]},"240":{"position":[[233,10],[1979,10],[2016,10],[2045,10],[2075,10],[2104,10]]},"241":{"position":[[1110,10],[2306,10],[2336,10],[2365,10]]},"245":{"position":[[431,10],[2365,10],[4102,10]]},"249":{"position":[[774,10]]},"254":{"position":[[1056,10],[1133,10]]},"266":{"position":[[145,11]]},"269":{"position":[[512,10]]},"304":{"position":[[422,10]]},"314":{"position":[[1035,10]]},"326":{"position":[[329,11],[368,11]]},"332":{"position":[[615,10]]},"501":{"position":[[22,10]]},"555":{"position":[[27,10]]},"736":{"position":[[35,10]]},"737":{"position":[[63,10]]},"794":{"position":[[49,10]]},"1108":{"position":[[36,11]]},"1204":{"position":[[8,11]]},"1334":{"position":[[38,10]]},"1349":{"position":[[7,10]]},"1353":{"position":[[216,11]]},"1354":{"position":[[7,10]]},"1358":{"position":[[216,11]]},"1359":{"position":[[7,10]]},"1363":{"position":[[216,11]]},"1364":{"position":[[7,10]]},"1368":{"position":[[216,11]]},"1369":{"position":[[7,10]]},"1373":{"position":[[22,11]]},"1374":{"position":[[7,10]]},"1377":{"position":[[22,11]]},"1378":{"position":[[7,10]]},"1381":{"position":[[22,11]]},"1382":{"position":[[7,10]]},"1385":{"position":[[22,11]]},"1386":{"position":[[7,10]]},"1389":{"position":[[22,11]]},"1390":{"position":[[7,10]]},"1393":{"position":[[22,11]]},"1394":{"position":[[7,10]]},"1397":{"position":[[22,11]]},"1398":{"position":[[7,10]]},"1401":{"position":[[22,11]]},"1402":{"position":[[7,10]]},"1405":{"position":[[22,11]]},"1406":{"position":[[7,10]]},"1409":{"position":[[22,11]]},"1410":{"position":[[7,10]]},"1413":{"position":[[22,11]]},"1414":{"position":[[7,10]]},"1417":{"position":[[22,11]]},"1418":{"position":[[7,10]]},"1421":{"position":[[22,11]]},"1422":{"position":[[7,10]]},"1425":{"position":[[22,11]]},"1426":{"position":[[7,10]]},"1429":{"position":[[22,11]]},"1430":{"position":[[7,10]]},"1433":{"position":[[22,11]]},"1443":{"position":[[39,11]]},"1476":{"position":[[6314,11]]},"1479":{"position":[[1542,10],[2715,11]]},"1646":{"position":[[140,10]]},"1694":{"position":[[37,11]]},"1707":{"position":[[12,11]]},"2012":{"position":[[562,12],[650,10],[744,10],[1899,10]]},"2240":{"position":[[985,10],[5164,10]]},"2242":{"position":[[505,11]]},"2277":{"position":[[60,10],[157,10],[168,11],[225,10]]},"2283":{"position":[[27,10]]},"2370":{"position":[[1281,10],[1318,11],[2663,12],[2803,11],[2910,10]]},"2377":{"position":[[281,10],[333,10]]},"2415":{"position":[[401,10]]},"2478":{"position":[[50,11],[151,10],[541,10],[708,10],[999,12],[1093,10],[1483,10],[1634,10],[1816,11],[2282,10],[2465,10],[2668,11],[3141,10],[3340,10],[3540,11],[3552,12],[3712,10],[3728,10],[3817,10],[3832,10],[3910,11],[4262,10],[4388,10],[4624,11],[4773,10],[4883,10],[4965,11],[5108,10],[5166,10],[5313,10]]},"2482":{"position":[[1750,10],[2625,10],[5055,11],[5145,10]]}},"keywords":{}}],["gameobject("object",{"_index":1941,"title":{},"content":{"238":{"position":[[1700,23],[1800,23]]}},"keywords":{}}],["gameobject.destroy",{"_index":1898,"title":{},"content":{"232":{"position":[[33,18]]},"234":{"position":[[69,18]]}},"keywords":{}}],["gameobject.findobjectoftype<scenescript>",{"_index":1760,"title":{},"content":{"210":{"position":[[465,49]]}},"keywords":{}}],["gameobject.instantiatethi",{"_index":1856,"title":{},"content":{"223":{"position":[[42,26]]}},"keywords":{}}],["gameobject.setactive(fals",{"_index":1899,"title":{},"content":{"232":{"position":[[132,27]]},"234":{"position":[[136,27]]}},"keywords":{}}],["gameobjectact",{"_index":3231,"title":{},"content":{"504":{"position":[[16,16]]}},"keywords":{}}],["gameobjectextens",{"_index":8645,"title":{"2276":{"position":[[6,20]]}},"content":{"2240":{"position":[[724,21]]}},"keywords":{}}],["gameobjectnam",{"_index":1712,"title":{},"content":{"209":{"position":[[67,14]]}},"keywords":{}}],["gameobjectseri",{"_index":8646,"title":{"2280":{"position":[[6,21]]}},"content":{"2240":{"position":[[746,22]]}},"keywords":{}}],["gameobjectsyncvar",{"_index":8688,"title":{"2282":{"position":[[7,17]]}},"content":{"2241":{"position":[[21,18]]},"2281":{"position":[[38,19],[140,17],[332,17]]}},"keywords":{}}],["gameplay",{"_index":75,"title":{},"content":{"0":{"position":[[1291,8]]},"35":{"position":[[606,11]]},"213":{"position":[[608,8],[792,8]]}},"keywords":{}}],["gamesmirror",{"_index":2494,"title":{},"content":{"297":{"position":[[131,11]]}},"keywords":{}}],["gave",{"_index":7172,"title":{},"content":{"1774":{"position":[[87,4]]}},"keywords":{}}],["gc",{"_index":2374,"title":{},"content":{"279":{"position":[[52,2]]},"280":{"position":[[127,2]]},"1145":{"position":[[7,2]]},"1477":{"position":[[1664,2]]},"2130":{"position":[[1358,2]]}},"keywords":{}}],["gc/alloc",{"_index":1064,"title":{},"content":{"116":{"position":[[93,15]]}},"keywords":{}}],["gear",{"_index":2493,"title":{},"content":{"297":{"position":[[126,4]]}},"keywords":{}}],["gen",{"_index":3094,"title":{},"content":{"443":{"position":[[12,3]]},"1476":{"position":[[6176,3]]},"1667":{"position":[[5,3]]}},"keywords":{}}],["gener",{"_index":351,"title":{"125":{"position":[[0,9]]},"131":{"position":[[0,9]]},"137":{"position":[[0,9]]},"142":{"position":[[0,9]]},"151":{"position":[[0,9]]},"156":{"position":[[0,9]]},"160":{"position":[[0,9]]},"291":{"position":[[0,9]]},"318":{"position":[[0,8]]},"327":{"position":[[0,9]]},"346":{"position":[[5,10]]}},"content":{"14":{"position":[[1389,9]]},"20":{"position":[[345,8]]},"43":{"position":[[855,10]]},"44":{"position":[[6,7]]},"49":{"position":[[584,7]]},"51":{"position":[[6,7]]},"58":{"position":[[5,7]]},"85":{"position":[[16,9],[468,8]]},"125":{"position":[[63,10]]},"131":{"position":[[69,10]]},"137":{"position":[[52,10]]},"142":{"position":[[58,10]]},"151":{"position":[[153,10]]},"156":{"position":[[66,10]]},"160":{"position":[[69,10]]},"257":{"position":[[493,7]]},"280":{"position":[[1134,8]]},"304":{"position":[[203,9],[625,7]]},"315":{"position":[[35,8]]},"317":{"position":[[232,8],[363,9],[666,9]]},"319":{"position":[[29,7],[54,7],[88,7],[270,7],[397,7]]},"320":{"position":[[24,8],[217,8],[329,8]]},"321":{"position":[[0,7],[39,7],[169,7],[229,7],[511,7],[618,7],[639,7]]},"322":{"position":[[47,7],[102,7]]},"327":{"position":[[12,8],[692,8],[1013,8]]},"328":{"position":[[2343,8]]},"337":{"position":[[1480,8]]},"346":{"position":[[5,10],[367,9],[1374,9]]},"379":{"position":[[22,10]]},"382":{"position":[[7,7]]},"424":{"position":[[54,7]]},"447":{"position":[[26,7]]},"466":{"position":[[58,7]]},"490":{"position":[[63,9]]},"494":{"position":[[27,7]]},"622":{"position":[[31,9],[121,7]]},"663":{"position":[[99,9]]},"673":{"position":[[36,9]]},"690":{"position":[[12,7]]},"694":{"position":[[12,7]]},"697":{"position":[[7,7]]},"698":{"position":[[24,7]]},"700":{"position":[[20,7]]},"701":{"position":[[30,7]]},"706":{"position":[[5,10]]},"710":{"position":[[32,7]]},"718":{"position":[[17,7]]},"719":{"position":[[44,9]]},"764":{"position":[[135,10]]},"765":{"position":[[27,10]]},"768":{"position":[[121,10]]},"808":{"position":[[49,7],[121,7]]},"883":{"position":[[14,8]]},"1077":{"position":[[8,7]]},"1161":{"position":[[9,9]]},"1184":{"position":[[7,10]]},"1185":{"position":[[7,10]]},"1195":{"position":[[10,7]]},"1225":{"position":[[0,8]]},"1305":{"position":[[14,10]]},"1351":{"position":[[57,7]]},"1356":{"position":[[57,7]]},"1361":{"position":[[4,7]]},"1366":{"position":[[4,7]]},"1371":{"position":[[4,7]]},"1376":{"position":[[4,7]]},"1380":{"position":[[4,7]]},"1384":{"position":[[4,7]]},"1388":{"position":[[4,7]]},"1392":{"position":[[4,7]]},"1396":{"position":[[4,7]]},"1400":{"position":[[4,7]]},"1404":{"position":[[4,7]]},"1408":{"position":[[4,7]]},"1412":{"position":[[4,7]]},"1416":{"position":[[4,7]]},"1420":{"position":[[4,7]]},"1424":{"position":[[4,7]]},"1428":{"position":[[4,7]]},"1432":{"position":[[4,7]]},"1436":{"position":[[4,7]]},"1439":{"position":[[4,7]]},"1441":{"position":[[0,8]]},"1455":{"position":[[0,7]]},"1466":{"position":[[17,9]]},"1474":{"position":[[1478,10],[12280,9]]},"1476":{"position":[[4206,9]]},"1478":{"position":[[1646,8]]},"1566":{"position":[[1124,9]]},"1769":{"position":[[8,9]]},"1890":{"position":[[170,7],[304,7],[580,7],[727,7]]},"1983":{"position":[[2536,7],[2590,7],[2685,7],[2929,7]]},"2083":{"position":[[72,7],[316,7]]},"2091":{"position":[[509,9],[570,8]]},"2192":{"position":[[43,9]]},"2193":{"position":[[8,9]]},"2240":{"position":[[3130,8]]},"2294":{"position":[[17,8]]},"2379":{"position":[[49,8]]}},"keywords":{}}],["generatenetid",{"_index":8825,"title":{},"content":{"2294":{"position":[[0,16],[70,15]]}},"keywords":{}}],["genericshow",{"_index":2524,"title":{},"content":{"304":{"position":[[597,11]]}},"keywords":{}}],["generictypesserializationextens",{"_index":7691,"title":{"1997":{"position":[[6,35]]}},"content":{"1983":{"position":[[719,36]]}},"keywords":{}}],["gentli",{"_index":1820,"title":{},"content":{"213":{"position":[[967,6]]}},"keywords":{}}],["get",{"_index":812,"title":{"66":{"position":[[0,7]]}},"content":{"85":{"position":[[145,7]]},"183":{"position":[[171,7]]},"288":{"position":[[1488,4],[1666,4]]},"939":{"position":[[45,4]]},"1309":{"position":[[47,7]]},"1474":{"position":[[2891,4],[9651,7],[19400,7]]},"1477":{"position":[[466,7],[2578,7]]},"1479":{"position":[[1583,4],[3914,4]]},"1592":{"position":[[155,7]]},"1641":{"position":[[22,7]]},"1646":{"position":[[181,4]]},"1990":{"position":[[26,4],[463,4],[978,4]]},"2010":{"position":[[207,4]]},"2016":{"position":[[253,4],[728,4],[1172,4]]},"2114":{"position":[[99,4]]},"2158":{"position":[[714,4]]},"2162":{"position":[[245,4]]},"2193":{"position":[[191,4]]},"2240":{"position":[[7312,4]]},"2277":{"position":[[32,4]]},"2501":{"position":[[27,4]]}},"keywords":{}}],["get/set",{"_index":3840,"title":{},"content":{"757":{"position":[[62,7]]}},"keywords":{}}],["getabsolute(int",{"_index":7675,"title":{},"content":{"1971":{"position":[[1688,15]]}},"keywords":{}}],["getabsolute(int32",{"_index":7674,"title":{},"content":{"1971":{"position":[[1637,19]]}},"keywords":{}}],["getas<t>",{"_index":8901,"title":{},"content":{"2336":{"position":[[0,17],[64,16]]}},"keywords":{}}],["getbatch",{"_index":8372,"title":{},"content":{"2110":{"position":[[0,11],[51,10]]},"2119":{"position":[[0,11],[51,10]]},"2189":{"position":[[0,11],[51,10]]}},"keywords":{}}],["getbatchlength",{"_index":8373,"title":{},"content":{"2110":{"position":[[103,17],[157,16]]},"2119":{"position":[[103,17],[157,16]]},"2189":{"position":[[103,17],[157,16]]}},"keywords":{}}],["getbindendpoint",{"_index":8584,"title":{},"content":{"2199":{"position":[[172,18],[278,17]]},"2233":{"position":[[268,18],[326,17]]}},"keywords":{}}],["getcal",{"_index":3729,"title":{},"content":{"707":{"position":[[47,7]]}},"keywords":{}}],["getcharact",{"_index":2411,"title":{},"content":{"288":{"position":[[571,14],[871,15]]}},"keywords":{}}],["getcompon",{"_index":9121,"title":{},"content":{"2434":{"position":[[862,12]]}},"keywords":{}}],["getcomponent<networkidentity>.onstartserver.addlistener(onstartserv",{"_index":1859,"title":{},"content":{"224":{"position":[[288,77]]}},"keywords":{}}],["getcomponent<networkmatchchecker>().matchid",{"_index":405,"title":{},"content":{"20":{"position":[[494,50]]}},"keywords":{}}],["getcomponent<networkscenemanager>",{"_index":2532,"title":{},"content":{"307":{"position":[[215,42]]},"308":{"position":[[230,42],[1644,42]]}},"keywords":{}}],["getcomponent<renderer>",{"_index":7191,"title":{},"content":{"1780":{"position":[[581,31]]},"1781":{"position":[[645,31]]}},"keywords":{}}],["getcomponent<renderer>().materi",{"_index":1751,"title":{},"content":{"209":{"position":[[1700,39]]}},"keywords":{}}],["getcomponentsinchildren",{"_index":8816,"title":{},"content":{"2290":{"position":[[58,23]]}},"keywords":{}}],["getconnectendpoint(str",{"_index":8586,"title":{},"content":{"2199":{"position":[[524,26],[692,25]]},"2233":{"position":[[400,26],[491,25]]}},"keywords":{}}],["getdata<t>",{"_index":1075,"title":{},"content":{"117":{"position":[[422,18]]},"1803":{"position":[[0,19],[182,18]]}},"keywords":{}}],["getenumer",{"_index":7277,"title":{},"content":{"1838":{"position":[[0,16],[65,15]]},"1842":{"position":[[0,16],[79,15]]},"1851":{"position":[[0,16],[67,15]]},"1855":{"position":[[3760,16],[3826,15]]},"1860":{"position":[[1875,16],[1933,15]]},"1865":{"position":[[2802,16],[2891,15]]}},"keywords":{}}],["getfrompool(msg.posit",{"_index":1921,"title":{},"content":{"237":{"position":[[420,25]]},"251":{"position":[[791,25]]}},"keywords":{}}],["getfrompool(vector3",{"_index":2180,"title":{},"content":{"251":{"position":[[1919,19]]}},"keywords":{}}],["gethashcod",{"_index":8357,"title":{},"content":{"2103":{"position":[[388,14],[436,13]]},"2210":{"position":[[163,14],[211,13]]},"2343":{"position":[[0,14],[48,13]]}},"keywords":{}}],["getid<t>",{"_index":7805,"title":{},"content":{"2010":{"position":[[189,17],[261,16]]}},"keywords":{}}],["getid(typ",{"_index":7806,"title":{},"content":{"2010":{"position":[[318,12],[398,10]]}},"keywords":{}}],["getindexoffset(networkbehaviour",{"_index":7671,"title":{},"content":{"1971":{"position":[[1164,33],[1222,31]]}},"keywords":{}}],["getip",{"_index":3421,"title":{},"content":{"568":{"position":[[28,5]]}},"keywords":{}}],["getlogger<t>(logtyp",{"_index":7569,"title":{},"content":{"1935":{"position":[[0,28],[64,26]]}},"keywords":{}}],["getlogger(str",{"_index":7577,"title":{},"content":{"1935":{"position":[[432,17],[495,16]]}},"keywords":{}}],["getlogger(typ",{"_index":7574,"title":{},"content":{"1935":{"position":[[208,15],[269,14]]}},"keywords":{}}],["getmaxmessages",{"_index":5770,"title":{},"content":{"1474":{"position":[[12854,17]]}},"keywords":{}}],["getnameandnamespacefromfullname(str",{"_index":7605,"title":{},"content":{"1944":{"position":[[0,40],[101,38]]}},"keywords":{}}],["getnetworkidentity(gameobject",{"_index":8795,"title":{},"content":{"2277":{"position":[[0,31]]}},"keywords":{}}],["getnetworkidentity(thi",{"_index":8796,"title":{},"content":{"2277":{"position":[[133,23]]}},"keywords":{}}],["getnewplay",{"_index":4349,"title":{},"content":{"980":{"position":[[70,12]]}},"keywords":{}}],["getnextfrag",{"_index":8394,"title":{},"content":{"2114":{"position":[[456,18],[522,17]]}},"keywords":{}}],["getplayername(inetworkplay",{"_index":1124,"title":{},"content":{"117":{"position":[[2722,28]]}},"keywords":{}}],["getprefab",{"_index":5110,"title":{},"content":{"1317":{"position":[[0,9]]}},"keywords":{}}],["getprice("turnip"",{"_index":2475,"title":{},"content":{"294":{"position":[[905,29]]}},"keywords":{}}],["getprice(str",{"_index":2466,"title":{},"content":{"294":{"position":[[441,15]]}},"keywords":{}}],["getread",{"_index":3623,"title":{},"content":{"661":{"position":[[8,9]]}},"keywords":{}}],["getreader(arraysegment<byte>",{"_index":7962,"title":{},"content":{"2016":{"position":[[200,35],[368,34]]}},"keywords":{}}],["getreader(byt",{"_index":7964,"title":{},"content":{"2016":{"position":[[693,17],[843,16],[1123,17],[1287,16]]}},"keywords":{}}],["getrelative(networkbehaviour",{"_index":7672,"title":{},"content":{"1971":{"position":[[1373,29],[1442,28]]}},"keywords":{}}],["getrequest",{"_index":292,"title":{},"content":{"10":{"position":[[2105,12]]}},"keywords":{}}],["getrpccount",{"_index":2462,"title":{},"content":{"291":{"position":[[1092,13]]},"2359":{"position":[[4859,14],[4909,13]]}},"keywords":{}}],["getsceneat",{"_index":5471,"title":{},"content":{"1474":{"position":[[4494,10]]}},"keywords":{}}],["getscenebynam",{"_index":5578,"title":{},"content":{"1474":{"position":[[7547,14]]},"1479":{"position":[[2027,14]]},"1592":{"position":[[19,14]]},"1646":{"position":[[625,14]]}},"keywords":{}}],["getscenebypath",{"_index":5579,"title":{},"content":{"1474":{"position":[[7566,14]]},"1592":{"position":[[38,14]]}},"keywords":{}}],["getscenebypathorname(str",{"_index":9088,"title":{},"content":{"2417":{"position":[[10670,29],[10774,27]]}},"keywords":{}}],["getspawnhandler(int",{"_index":8762,"title":{},"content":{"2265":{"position":[[824,19]]}},"keywords":{}}],["getspawnhandler(int32",{"_index":8760,"title":{},"content":{"2265":{"position":[[692,23]]}},"keywords":{}}],["getstablehashcode(str",{"_index":9206,"title":{},"content":{"2501":{"position":[[0,26]]}},"keywords":{}}],["getstablehashcode(thi",{"_index":9207,"title":{},"content":{"2501":{"position":[[128,22]]}},"keywords":{}}],["getstartposit",{"_index":8741,"title":{},"content":{"2253":{"position":[[1324,19],[1521,18]]}},"keywords":{}}],["getsyncvarhookguard(uint64",{"_index":8939,"title":{},"content":{"2359":{"position":[[0,28]]}},"keywords":{}}],["getsyncvarhookguard(ulong",{"_index":8940,"title":{},"content":{"2359":{"position":[[57,25]]}},"keywords":{}}],["gettingstart",{"_index":1681,"title":{},"content":{"203":{"position":[[1587,14]]},"207":{"position":[[208,14]]}},"keywords":{}}],["getwrit",{"_index":7965,"title":{},"content":{"2019":{"position":[[383,12],[443,11]]}},"keywords":{}}],["github",{"_index":898,"title":{"79":{"position":[[0,7]]}},"content":{},"keywords":{}}],["github.com/mirrornetworking/mirror/issues/3485#issuecom",{"_index":3200,"title":{},"content":{"488":{"position":[[73,60]]}},"keywords":{}}],["github.com/vis2k/mirror/issues/1614#issuecom",{"_index":6482,"title":{},"content":{"1477":{"position":[[2271,49]]},"1636":{"position":[[130,49]]}},"keywords":{}}],["githuby",{"_index":899,"title":{},"content":{"79":{"position":[[27,9]]}},"keywords":{}}],["give",{"_index":521,"title":{"104":{"position":[[7,4]]}},"content":{"30":{"position":[[192,4]]},"104":{"position":[[70,4]]},"105":{"position":[[8,4]]},"106":{"position":[[8,4],[152,4]]},"182":{"position":[[1995,4],[2994,4]]},"938":{"position":[[22,4]]},"1474":{"position":[[9433,4]]},"1476":{"position":[[7346,5],[8424,4],[9073,4]]},"1477":{"position":[[2795,4]]},"1478":{"position":[[219,6]]},"1604":{"position":[[28,5]]},"1656":{"position":[[66,4]]},"2093":{"position":[[124,4]]},"2130":{"position":[[312,6]]},"2350":{"position":[[1189,5]]},"2478":{"position":[[879,4]]},"2482":{"position":[[2427,4]]},"2507":{"position":[[51,5]]}},"keywords":{}}],["given",{"_index":1046,"title":{},"content":{"104":{"position":[[256,5]]},"108":{"position":[[18,5]]},"119":{"position":[[173,5]]},"164":{"position":[[173,5]]},"197":{"position":[[165,5]]},"251":{"position":[[3111,5]]},"264":{"position":[[2233,5]]},"582":{"position":[[92,5]]},"651":{"position":[[33,5]]},"661":{"position":[[24,5]]},"663":{"position":[[63,5]]},"862":{"position":[[39,5]]},"1983":{"position":[[351,5]]},"2031":{"position":[[2142,5]]},"2093":{"position":[[419,5]]},"2134":{"position":[[16,5]]},"2152":{"position":[[78,5]]},"2181":{"position":[[16,5],[350,5]]},"2193":{"position":[[228,5],[513,5]]},"2199":{"position":[[647,5]]},"2261":{"position":[[16,5],[748,5]]},"2370":{"position":[[4403,5]]},"2382":{"position":[[78,5]]},"2421":{"position":[[214,5]]},"2460":{"position":[[170,5]]},"2482":{"position":[[5911,5],[6319,5],[6790,5],[7173,5],[7769,5]]}},"keywords":{}}],["gnu/linux",{"_index":1596,"title":{},"content":{"190":{"position":[[983,9]]}},"keywords":{}}],["go",{"_index":453,"title":{},"content":{"24":{"position":[[311,5]]},"67":{"position":[[120,2]]},"71":{"position":[[1675,5]]},"105":{"position":[[136,2]]},"175":{"position":[[664,2],[1003,2]]},"181":{"position":[[0,2]]},"182":{"position":[[3277,2]]},"183":{"position":[[650,2],[741,2],[1499,2],[1536,2],[1578,2]]},"184":{"position":[[227,2],[803,2]]},"189":{"position":[[338,2]]},"190":{"position":[[90,2],[119,2]]},"191":{"position":[[102,2],[127,2]]},"195":{"position":[[291,2]]},"199":{"position":[[177,2]]},"201":{"position":[[120,2]]},"202":{"position":[[300,2],[1036,2],[1066,3]]},"203":{"position":[[375,2],[613,2],[837,2],[1057,2],[1083,2],[1248,2],[1292,2]]},"207":{"position":[[43,2],[68,2],[472,2],[504,3]]},"213":{"position":[[2197,2]]},"226":{"position":[[333,2]]},"251":{"position":[[4365,3]]},"1186":{"position":[[16,2]]},"2031":{"position":[[2627,2]]},"2408":{"position":[[544,2]]}},"keywords":{}}],["go/ni/nb",{"_index":2968,"title":{},"content":{"390":{"position":[[14,8]]}},"keywords":{}}],["goe",{"_index":1359,"title":{},"content":{"173":{"position":[[494,4]]},"211":{"position":[[935,4]]},"223":{"position":[[69,4]]},"288":{"position":[[2472,4]]},"1215":{"position":[[9,4]]}},"keywords":{}}],["gone",{"_index":5860,"title":{},"content":{"1474":{"position":[[16807,4]]},"1479":{"position":[[1156,4],[1179,4],[2183,4],[2214,4],[2241,4],[2587,4]]},"1580":{"position":[[120,4]]},"1602":{"position":[[60,4]]},"1650":{"position":[[85,4]]},"1689":{"position":[[15,4]]}},"keywords":{}}],["goneoffline/onlin",{"_index":6974,"title":{},"content":{"1650":{"position":[[29,18]]}},"keywords":{}}],["goneonserverdisconnect",{"_index":6975,"title":{},"content":{"1650":{"position":[[59,22]]}},"keywords":{}}],["gonewebsocket",{"_index":6929,"title":{},"content":{"1616":{"position":[[18,13]]}},"keywords":{}}],["good",{"_index":1431,"title":{},"content":{"182":{"position":[[112,4]]},"203":{"position":[[710,4]]},"248":{"position":[[1302,4]]},"328":{"position":[[368,4]]},"1952":{"position":[[343,4]]},"2042":{"position":[[192,4]]},"2417":{"position":[[1922,4]]}},"keywords":{}}],["googl",{"_index":1413,"title":{"177":{"position":[[0,6]]},"188":{"position":[[0,6]]}},"content":{"177":{"position":[[16,6]]},"187":{"position":[[622,7],[1421,6]]},"189":{"position":[[413,6]]}},"keywords":{}}],["grant",{"_index":1891,"title":{},"content":{"227":{"position":[[255,7]]},"230":{"position":[[263,7]]}},"keywords":{}}],["graphic",{"_index":5308,"title":{},"content":{"1466":{"position":[[996,8]]}},"keywords":{}}],["great",{"_index":6676,"title":{},"content":{"1479":{"position":[[4339,5]]}},"keywords":{}}],["greater",{"_index":4138,"title":{},"content":{"881":{"position":[[143,7]]}},"keywords":{}}],["grid",{"_index":2268,"title":{},"content":{"264":{"position":[[74,4]]}},"keywords":{}}],["grip",{"_index":1977,"title":{},"content":{"240":{"position":[[1494,4]]}},"keywords":{}}],["group",{"_index":1469,"title":{},"content":{"182":{"position":[[1753,7],[1977,5]]},"1466":{"position":[[715,5]]}},"keywords":{}}],["groupreview",{"_index":1444,"title":{},"content":{"182":{"position":[[557,11]]}},"keywords":{}}],["groups"",{"_index":1468,"title":{},"content":{"182":{"position":[[1713,12]]}},"keywords":{}}],["grunt",{"_index":2530,"title":{},"content":{"306":{"position":[[52,5]]}},"keywords":{}}],["gt",{"_index":391,"title":{},"content":{"18":{"position":[[342,4],[356,4]]},"46":{"position":[[598,4]]},"50":{"position":[[6,4]]},"196":{"position":[[788,4]]},"202":{"position":[[313,5],[327,5]]},"211":{"position":[[1462,4]]},"240":{"position":[[2591,4]]},"241":{"position":[[2764,4]]},"251":{"position":[[1243,4],[2006,4]]},"269":{"position":[[459,4],[472,4]]},"340":{"position":[[282,4]]},"348":{"position":[[616,4]]},"351":{"position":[[351,4]]},"1452":{"position":[[104,4]]},"1473":{"position":[[24,4],[81,4],[343,4]]},"1479":{"position":[[159,4],[214,4],[262,4]]},"1517":{"position":[[24,4],[81,4],[139,4]]},"1519":{"position":[[32,4],[86,4],[133,4]]},"1992":{"position":[[101,5],[168,5]]},"2009":{"position":[[32,5]]},"2130":{"position":[[2229,5]]}},"keywords":{}}],["gt;>",{"_index":1953,"title":{},"content":{"238":{"position":[[2671,8]]}},"keywords":{}}],["guarante",{"_index":5204,"title":{},"content":{"1353":{"position":[[16,10]]},"1358":{"position":[[16,10]]},"1363":{"position":[[16,10]]},"1368":{"position":[[16,10]]},"2162":{"position":[[76,9],[324,9]]},"2370":{"position":[[3777,10]]}},"keywords":{}}],["guard",{"_index":3207,"title":{},"content":{"494":{"position":[[7,5]]},"770":{"position":[[16,5]]},"1479":{"position":[[350,5]]},"1527":{"position":[[71,5]]},"2240":{"position":[[1403,7]]}},"keywords":{}}],["gui",{"_index":539,"title":{},"content":{"33":{"position":[[10,3]]},"959":{"position":[[22,3]]},"963":{"position":[[22,3]]}},"keywords":{}}],["guianchor",{"_index":8989,"title":{},"content":{"2373":{"position":[[249,10],[291,9]]}},"keywords":{}}],["guid",{"_index":841,"title":{"168":{"position":[[10,6]]},"200":{"position":[[19,5]]},"206":{"position":[[20,6]]},"267":{"position":[[17,5]]}},"content":{"68":{"position":[[127,6]]},"116":{"position":[[169,4]]},"168":{"position":[[10,6],[39,6],[131,5],[192,5]]},"175":{"position":[[509,5]]},"176":{"position":[[9,6]]},"177":{"position":[[9,6]]},"187":{"position":[[1434,5]]},"201":{"position":[[1258,5]]},"204":{"position":[[426,6]]},"205":{"position":[[16,5],[153,6]]},"208":{"position":[[21,5]]},"237":{"position":[[148,5]]},"271":{"position":[[209,5]]},"292":{"position":[[285,6]]},"783":{"position":[[37,4]]},"1474":{"position":[[16593,4]]},"1496":{"position":[[237,4]]},"2056":{"position":[[2107,6],[2183,4],[4719,4]]},"2382":{"position":[[110,4]]}},"keywords":{}}],["guid.empti",{"_index":4836,"title":{},"content":{"1188":{"position":[[4,10]]}},"keywords":{}}],["guidelin",{"_index":1013,"title":{},"content":{"96":{"position":[[395,10]]}},"keywords":{}}],["habit",{"_index":1432,"title":{},"content":{"182":{"position":[[117,5]]}},"keywords":{}}],["hack",{"_index":441,"title":{},"content":{"22":{"position":[[765,8]]},"71":{"position":[[773,7]]},"356":{"position":[[1087,4]]},"1041":{"position":[[24,5]]}},"keywords":{}}],["hacker",{"_index":763,"title":{},"content":{"59":{"position":[[214,6]]}},"keywords":{}}],["hackerfield",{"_index":765,"title":{},"content":{"59":{"position":[[239,11]]}},"keywords":{}}],["hand",{"_index":1956,"title":{},"content":{"240":{"position":[[124,4],[1536,5]]},"316":{"position":[[739,4]]},"356":{"position":[[1486,4]]}},"keywords":{}}],["handl",{"_index":271,"title":{},"content":{"10":{"position":[[1447,8]]},"61":{"position":[[527,7]]},"71":{"position":[[371,6],[1601,6],[1872,6],[1942,8]]},"94":{"position":[[124,6]]},"99":{"position":[[746,6]]},"209":{"position":[[806,7]]},"210":{"position":[[869,7]]},"235":{"position":[[480,7]]},"238":{"position":[[2027,6]]},"240":{"position":[[636,6],[933,6],[1502,6]]},"243":{"position":[[54,7],[2121,7]]},"245":{"position":[[205,6]]},"264":{"position":[[1675,7]]},"292":{"position":[[129,8]]},"311":{"position":[[67,9]]},"312":{"position":[[74,9]]},"366":{"position":[[159,7]]},"371":{"position":[[45,6]]},"380":{"position":[[36,6]]},"603":{"position":[[122,7]]},"611":{"position":[[16,8]]},"891":{"position":[[15,8]]},"903":{"position":[[26,7]]},"1474":{"position":[[3797,7],[22379,7]]},"1479":{"position":[[958,7]]},"1559":{"position":[[25,7]]},"1566":{"position":[[1814,7]]},"1894":{"position":[[100,7]]},"2093":{"position":[[42,7]]},"2114":{"position":[[1831,6]]},"2240":{"position":[[1817,6],[2062,7],[7372,7]]},"2322":{"position":[[1421,7],[2143,7]]},"2401":{"position":[[1010,6]]},"2417":{"position":[[7973,6],[8455,6]]}},"keywords":{}}],["handleintmessage(inetworkplay",{"_index":2649,"title":{},"content":{"321":{"position":[[421,31]]}},"keywords":{}}],["handlemessage(inetworkplay",{"_index":8824,"title":{},"content":{"2292":{"position":[[682,29],[757,28]]},"2320":{"position":[[690,29],[772,28]]}},"keywords":{}}],["handler",{"_index":1887,"title":{"237":{"position":[[48,9]]},"251":{"position":[[48,9]]}},"content":{"226":{"position":[[439,9]]},"234":{"position":[[244,8]]},"237":{"position":[[25,8]]},"238":{"position":[[142,8],[169,7],[343,7],[381,7],[453,7],[663,7],[1240,7],[1353,7],[2078,7]]},"251":{"position":[[97,9]]},"279":{"position":[[215,7]]},"366":{"position":[[217,7]]},"400":{"position":[[95,8]]},"407":{"position":[[15,8]]},"451":{"position":[[41,8]]},"479":{"position":[[49,7]]},"486":{"position":[[125,7]]},"507":{"position":[[94,8]]},"537":{"position":[[236,8]]},"601":{"position":[[280,8],[349,8]]},"602":{"position":[[19,7]]},"603":{"position":[[30,8]]},"659":{"position":[[23,7]]},"666":{"position":[[60,7]]},"744":{"position":[[32,7]]},"777":{"position":[[25,7]]},"824":{"position":[[77,7]]},"825":{"position":[[31,7]]},"929":{"position":[[76,7]]},"946":{"position":[[20,7]]},"958":{"position":[[147,8],[399,8]]},"974":{"position":[[18,7]]},"1008":{"position":[[35,8]]},"1237":{"position":[[123,7]]},"1238":{"position":[[24,7]]},"1474":{"position":[[3059,8],[5630,7],[7260,7],[7791,8],[9859,8],[11578,7],[19289,7]]},"1476":{"position":[[1260,7],[3151,8],[5477,8],[5538,8],[6425,7]]},"1512":{"position":[[27,8]]},"1563":{"position":[[66,7]]},"1566":{"position":[[170,7],[659,8],[1039,7]]},"1567":{"position":[[845,8]]},"1574":{"position":[[6,7]]},"1668":{"position":[[35,8]]},"1670":{"position":[[33,7]]},"1890":{"position":[[40,8],[437,8]]},"1891":{"position":[[52,7],[257,7]]},"1897":{"position":[[85,8],[152,7],[252,8],[319,7]]},"1899":{"position":[[65,8],[122,7],[202,8],[259,7]]},"1902":{"position":[[93,8],[164,7],[272,8],[343,7]]},"1904":{"position":[[75,8],[130,7],[220,8],[275,7]]},"1907":{"position":[[103,8],[172,7],[290,8],[359,7]]},"1909":{"position":[[95,8],[160,7],[270,8],[335,7]]},"1914":{"position":[[58,8],[115,7],[188,8],[245,7]]},"1916":{"position":[[78,8],[145,7],[238,8],[305,7]]},"1918":{"position":[[68,8],[123,7],[206,8],[261,7]]},"1920":{"position":[[86,8],[157,7],[258,8],[329,7]]},"1922":{"position":[[88,8],[153,7],[256,8],[321,7]]},"1924":{"position":[[96,8],[165,7],[276,8],[345,7]]},"1928":{"position":[[168,7]]},"1935":{"position":[[729,8],[1079,8],[1123,8]]},"2010":{"position":[[95,7]]},"2240":{"position":[[1262,7],[1851,9]]},"2265":{"position":[[604,9],[640,7],[747,7],[2876,7],[3121,7],[3617,8],[6278,7],[6496,7],[6591,7]]},"2292":{"position":[[83,7],[267,7],[395,8],[507,7]]},"2320":{"position":[[156,8],[268,7],[356,7],[638,9]]},"2322":{"position":[[92,7],[276,7],[450,8],[568,7],[668,7],[837,7],[1001,8],[1144,7],[1295,7],[1554,7],[1733,8],[1891,7],[2032,7],[2276,7],[2445,8],[2593,7]]},"2351":{"position":[[685,7]]},"2417":{"position":[[1406,8],[1898,8],[2955,7]]},"2437":{"position":[[80,8],[437,8]]},"2478":{"position":[[4509,9]]},"2482":{"position":[[4303,9]]},"2487":{"position":[[61,8],[120,7]]}},"keywords":{}}],["handlerasync",{"_index":9196,"title":{},"content":{"2487":{"position":[[129,13],[198,12]]}},"keywords":{}}],["happen",{"_index":166,"title":{},"content":{"6":{"position":[[137,6]]},"164":{"position":[[650,7]]},"203":{"position":[[2198,9]]},"217":{"position":[[379,7]]},"218":{"position":[[66,6]]},"238":{"position":[[2307,9]]},"243":{"position":[[2326,7]]},"245":{"position":[[3105,7]]},"248":{"position":[[1063,7]]},"253":{"position":[[431,6]]},"262":{"position":[[687,7]]},"1285":{"position":[[33,6]]},"1477":{"position":[[1189,6]]},"2253":{"position":[[216,8],[351,7],[601,9]]},"2265":{"position":[[623,6]]},"2370":{"position":[[4034,7]]}},"keywords":{}}],["hard",{"_index":2654,"title":{},"content":{"324":{"position":[[93,4]]}},"keywords":{}}],["harder",{"_index":1567,"title":{},"content":{"187":{"position":[[1358,6]]}},"keywords":{}}],["hardwar",{"_index":1419,"title":{},"content":{"179":{"position":[[86,9],[638,9]]}},"keywords":{}}],["hasauthor",{"_index":2139,"title":{},"content":{"249":{"position":[[251,12],[455,12]]},"492":{"position":[[86,12]]},"1530":{"position":[[0,12]]},"2235":{"position":[[145,13]]},"2358":{"position":[[1454,13],[1803,12]]},"2361":{"position":[[346,13],[373,12]]},"2370":{"position":[[713,13],[1080,12]]},"2371":{"position":[[440,12]]},"2492":{"position":[[210,12]]}},"keywords":{}}],["hasauthority(error",{"_index":2340,"title":{},"content":{"274":{"position":[[244,19]]},"1479":{"position":[[491,19]]},"1531":{"position":[[30,19]]}},"keywords":{}}],["hasauthorityattribut",{"_index":8647,"title":{"2278":{"position":[[6,21]]}},"content":{"2240":{"position":[[769,22]]}},"keywords":{}}],["hasauthoritycallback",{"_index":6647,"title":{},"content":{"1479":{"position":[[461,22]]},"1531":{"position":[[0,22]]}},"keywords":{}}],["hascharact",{"_index":4028,"title":{},"content":{"844":{"position":[[7,12]]},"2305":{"position":[[133,13],[165,12]]},"2400":{"position":[[930,13],[997,12]]}},"keywords":{}}],["hash",{"_index":957,"title":{"88":{"position":[[7,5]]},"338":{"position":[[5,4]]}},"content":{"88":{"position":[[11,4],[131,4],[155,4]]},"133":{"position":[[135,4]]},"238":{"position":[[87,4],[190,5],[405,5],[2375,4],[2464,4],[2643,4]]},"331":{"position":[[207,4]]},"425":{"position":[[15,4]]},"456":{"position":[[115,4]]},"516":{"position":[[50,4]]},"532":{"position":[[54,4]]},"695":{"position":[[32,4]]},"706":{"position":[[16,4]]},"766":{"position":[[127,4],[217,4]]},"782":{"position":[[30,4]]},"1952":{"position":[[250,4]]},"1983":{"position":[[860,4]]},"2010":{"position":[[353,4]]},"2265":{"position":[[573,4],[1867,4]]},"2332":{"position":[[1108,5],[1161,4],[1166,4],[1768,5],[1821,4],[1826,4]]},"2478":{"position":[[871,4]]},"2482":{"position":[[2419,4]]},"2501":{"position":[[34,4],[58,4]]},"2509":{"position":[[203,5],[256,4]]},"2511":{"position":[[89,4],[393,4]]}},"keywords":{}}],["hashset",{"_index":3939,"title":{},"content":{"806":{"position":[[27,7]]},"1474":{"position":[[531,7],[558,7]]},"1766":{"position":[[321,7],[348,7]]},"2310":{"position":[[9,7]]}},"keywords":{}}],["hashset<inetworkplayer>",{"_index":8974,"title":{},"content":{"2369":{"position":[[178,29]]}},"keywords":{}}],["hashset<inetworkplayer>>",{"_index":9039,"title":{},"content":{"2416":{"position":[[302,33]]}},"keywords":{}}],["hashset<networkidentity>",{"_index":9185,"title":{},"content":{"2482":{"position":[[7665,32],[7897,30]]}},"keywords":{}}],["hashset<t>.enumer",{"_index":7278,"title":{},"content":{"1838":{"position":[[37,27]]}},"keywords":{}}],["hasinvok",{"_index":7469,"title":{},"content":{"1893":{"position":[[0,11],[40,10]]}},"keywords":{}}],["hasn't",{"_index":2564,"title":{},"content":{"314":{"position":[[542,6]]},"2240":{"position":[[5515,6]]},"2352":{"position":[[174,6]]}},"keywords":{}}],["have",{"_index":70,"title":{},"content":{"0":{"position":[[1179,6]]},"57":{"position":[[334,6]]},"235":{"position":[[1257,6]]},"240":{"position":[[1483,6]]},"254":{"position":[[112,6]]},"356":{"position":[[1179,6]]},"593":{"position":[[37,6]]},"1855":{"position":[[3393,6],[3627,6]]}},"keywords":{}}],["head",{"_index":1711,"title":{},"content":{"209":{"position":[[18,5]]}},"keywords":{}}],["header",{"_index":3227,"title":{},"content":{"503":{"position":[[7,7]]},"541":{"position":[[86,6]]},"832":{"position":[[15,6]]},"1291":{"position":[[16,6]]},"2113":{"position":[[530,6],[692,6]]},"2152":{"position":[[64,6],[130,6],[245,6]]},"2162":{"position":[[212,6],[377,6],[656,6],[702,6]]},"2168":{"position":[[1441,8],[1794,8],[2119,8],[2460,8],[2773,8],[3102,8]]},"2169":{"position":[[197,8],[526,8]]},"2217":{"position":[[192,6]]},"2347":{"position":[[136,8]]}},"keywords":{}}],["header("debug"",{"_index":2154,"title":{},"content":{"251":{"position":[[482,27]]}},"keywords":{}}],["header("settings"",{"_index":2151,"title":{},"content":{"251":{"position":[[321,30]]}},"keywords":{}}],["headless",{"_index":4756,"title":{},"content":{"1149":{"position":[[52,8]]},"1344":{"position":[[7,8]]},"1618":{"position":[[0,8]]},"2288":{"position":[[34,8]]}},"keywords":{}}],["headlessautostart",{"_index":4733,"title":{"2284":{"position":[[6,17]]}},"content":{"1142":{"position":[[0,19]]},"1487":{"position":[[0,17]]},"2240":{"position":[[896,18]]}},"keywords":{}}],["headlessframelimit",{"_index":6209,"title":{"2286":{"position":[[6,20]]}},"content":{"1476":{"position":[[3911,20]]},"1487":{"position":[[22,20]]},"2240":{"position":[[915,21]]}},"keywords":{}}],["healed(10",{"_index":2437,"title":{},"content":{"288":{"position":[[2350,11]]}},"keywords":{}}],["healed(int",{"_index":2438,"title":{},"content":{"288":{"position":[[2414,10]]}},"keywords":{}}],["healm",{"_index":2436,"title":{},"content":{"288":{"position":[[2325,8]]}},"keywords":{}}],["health",{"_index":1148,"title":{},"content":{"123":{"position":[[0,6],[132,7],[192,6],[270,6],[350,6]]},"135":{"position":[[0,6],[121,7],[161,6],[175,6],[214,6],[268,6]]},"136":{"position":[[168,6]]},"288":{"position":[[1014,7],[1086,6],[1836,7],[2336,6]]},"355":{"position":[[329,6]]}},"keywords":{}}],["hear",{"_index":1811,"title":{},"content":{"213":{"position":[[285,4]]}},"keywords":{}}],["heart",{"_index":30,"title":{},"content":{"0":{"position":[[519,5]]}},"keywords":{}}],["heavi",{"_index":227,"title":{},"content":{"10":{"position":[[205,5]]}},"keywords":{}}],["height",{"_index":3381,"title":{},"content":{"554":{"position":[[28,6]]}},"keywords":{}}],["held",{"_index":1962,"title":{},"content":{"240":{"position":[[436,4]]},"594":{"position":[[73,4]]},"2162":{"position":[[441,4]]},"2358":{"position":[[1688,4],[1743,4]]},"2370":{"position":[[878,4]]}},"keywords":{}}],["hello",{"_index":1763,"title":{},"content":{"210":{"position":[[696,5]]}},"keywords":{}}],["help",{"_index":64,"title":{},"content":{"0":{"position":[[1104,4]]},"24":{"position":[[1819,7]]},"43":{"position":[[871,5]]},"187":{"position":[[1402,4]]},"264":{"position":[[194,7]]},"292":{"position":[[52,4]]},"329":{"position":[[102,4]]},"1467":{"position":[[149,4]]},"1983":{"position":[[615,5]]},"2240":{"position":[[4228,5]]}},"keywords":{}}],["helper",{"_index":189,"title":{},"content":{"7":{"position":[[36,6]]},"161":{"position":[[92,6]]},"398":{"position":[[57,6]]},"500":{"position":[[7,6]]},"511":{"position":[[24,6]]},"538":{"position":[[156,6]]},"766":{"position":[[24,6]]},"866":{"position":[[13,6]]},"874":{"position":[[7,6]]},"876":{"position":[[7,6]]},"1803":{"position":[[20,6]]},"2240":{"position":[[6602,6]]},"2367":{"position":[[221,6]]},"2400":{"position":[[199,6]]}},"keywords":{}}],["helpurl",{"_index":3102,"title":{},"content":{"444":{"position":[[63,7],[113,7],[166,7],[213,7],[266,7],[313,7],[366,7]]},"617":{"position":[[9,7]]}},"keywords":{}}],["here",{"_index":161,"title":{},"content":{"4":{"position":[[330,4]]},"19":{"position":[[126,5]]},"67":{"position":[[817,4]]},"186":{"position":[[348,4]]},"197":{"position":[[0,4]]},"201":{"position":[[817,4]]},"202":{"position":[[0,4]]},"203":{"position":[[453,5]]},"208":{"position":[[10,5]]},"210":{"position":[[1093,4]]},"237":{"position":[[178,5]]},"238":{"position":[[1597,4]]},"247":{"position":[[299,4]]},"251":{"position":[[0,4]]},"254":{"position":[[1301,4]]},"266":{"position":[[460,5]]},"317":{"position":[[1000,4]]},"320":{"position":[[629,4],[705,4]]},"328":{"position":[[153,4],[241,4]]},"345":{"position":[[612,4],[689,4]]},"346":{"position":[[314,4]]},"353":{"position":[[558,4],[635,4]]},"1271":{"position":[[89,4]]},"1474":{"position":[[14387,5]]},"1733":{"position":[[455,5]]},"1780":{"position":[[455,4]]},"1781":{"position":[[519,4]]},"1783":{"position":[[970,4]]},"1870":{"position":[[656,5]]},"2009":{"position":[[84,4]]}},"keywords":{}}],["here'",{"_index":634,"title":{},"content":{"42":{"position":[[1147,6],[2100,6]]}},"keywords":{}}],["here).y",{"_index":1701,"title":{},"content":{"204":{"position":[[211,9]]}},"keywords":{}}],["hex",{"_index":3128,"title":{},"content":{"456":{"position":[[123,3]]},"764":{"position":[[262,3]]}},"keywords":{}}],["hidden",{"_index":431,"title":{},"content":{"22":{"position":[[446,6]]},"46":{"position":[[982,6]]},"2357":{"position":[[131,6]]},"2396":{"position":[[325,6],[395,6]]},"2403":{"position":[[45,6],[122,6]]}},"keywords":{}}],["hide",{"_index":434,"title":{},"content":{"22":{"position":[[475,4]]},"264":{"position":[[2066,4]]},"536":{"position":[[0,6]]},"544":{"position":[[30,4]]}},"keywords":{}}],["hierarchi",{"_index":691,"title":{},"content":{"46":{"position":[[1479,9]]},"89":{"position":[[88,11]]},"202":{"position":[[285,9]]},"203":{"position":[[205,9],[858,9]]},"240":{"position":[[89,9]]},"251":{"position":[[1399,9]]},"269":{"position":[[449,9]]},"1474":{"position":[[18265,9]]},"2240":{"position":[[4857,10]]}},"keywords":{}}],["high",{"_index":31,"title":{"257":{"position":[[0,4]]}},"content":{"0":{"position":[[550,4]]},"217":{"position":[[66,4]]},"324":{"position":[[220,4]]},"2093":{"position":[[74,4]]},"2130":{"position":[[1805,4]]},"2168":{"position":[[1483,4],[1836,4],[2161,4],[2502,4],[2815,4],[3144,4]]},"2169":{"position":[[239,4],[568,4]]},"2240":{"position":[[3416,4]]},"2347":{"position":[[293,4]]}},"keywords":{}}],["higher",{"_index":1370,"title":{},"content":{"173":{"position":[[787,6],[1339,6]]},"1990":{"position":[[382,6],[891,6]]},"2134":{"position":[[162,6],[258,6]]},"2408":{"position":[[144,6],[280,6],[652,6],[789,6]]}},"keywords":{}}],["highest",{"_index":795,"title":{},"content":{"63":{"position":[[18,7]]}},"keywords":{}}],["hit",{"_index":887,"title":{},"content":{"74":{"position":[[284,3]]},"264":{"position":[[2491,3]]}},"keywords":{}}],["hit.getcomponent<networkidentity>",{"_index":2284,"title":{},"content":{"264":{"position":[[2541,42]]}},"keywords":{}}],["hitcount",{"_index":2278,"title":{},"content":{"264":{"position":[[2344,8],[2465,9]]}},"keywords":{}}],["hitpoint",{"_index":2594,"title":{},"content":{"316":{"position":[[373,10],[418,10],[1751,9],[1850,9]]},"317":{"position":[[1151,10]]},"343":{"position":[[133,10],[492,9],[602,9],[710,9],[815,9]]}},"keywords":{}}],["hitsbuffer3d",{"_index":2281,"title":{},"content":{"264":{"position":[[2415,13]]}},"keywords":{}}],["hitsbuffer3d[i",{"_index":2283,"title":{},"content":{"264":{"position":[[2497,16]]}},"keywords":{}}],["hlapi",{"_index":2051,"title":{},"content":{"243":{"position":[[41,5]]},"248":{"position":[[27,5]]},"257":{"position":[[92,7],[295,5]]},"264":{"position":[[352,6]]}},"keywords":{}}],["hold",{"_index":548,"title":{},"content":{"33":{"position":[[377,5]]},"225":{"position":[[31,5]]},"240":{"position":[[373,8]]},"1983":{"position":[[1194,5],[1535,5],[3072,5]]},"2091":{"position":[[386,5]]},"2240":{"position":[[5235,5]]},"2263":{"position":[[271,5]]}},"keywords":{}}],["holder",{"_index":2295,"title":{},"content":{"269":{"position":[[359,6]]},"528":{"position":[[86,6]]}},"keywords":{}}],["home",{"_index":1618,"title":{},"content":{"195":{"position":[[260,4],[301,4]]},"196":{"position":[[584,4]]}},"keywords":{}}],["home/usernam",{"_index":1622,"title":{},"content":{"195":{"position":[[364,14]]}},"keywords":{}}],["hook",{"_index":1341,"title":{"362":{"position":[[9,5]]},"363":{"position":[[8,4]]},"1779":{"position":[[8,5]]}},"content":{"171":{"position":[[34,4]]},"210":{"position":[[1467,5]]},"212":{"position":[[293,4]]},"240":{"position":[[388,4]]},"271":{"position":[[102,6],[164,4]]},"333":{"position":[[378,5]]},"335":{"position":[[1736,4]]},"345":{"position":[[301,4]]},"346":{"position":[[1878,4],[2295,4]]},"353":{"position":[[247,4]]},"363":{"position":[[46,5],[97,4],[496,5]]},"481":{"position":[[17,4]]},"482":{"position":[[15,4]]},"664":{"position":[[8,4]]},"697":{"position":[[23,5]]},"738":{"position":[[26,5]]},"757":{"position":[[143,4]]},"850":{"position":[[15,4]]},"1179":{"position":[[33,5]]},"1466":{"position":[[441,4]]},"1474":{"position":[[275,5],[6897,5],[7306,4],[9059,4],[14797,4],[15465,5],[19076,4]]},"1476":{"position":[[1091,4]]},"1566":{"position":[[1276,4]]},"1567":{"position":[[233,4]]},"1666":{"position":[[10,5]]},"1696":{"position":[[16,4]]},"1766":{"position":[[168,5]]},"1779":{"position":[[4,4],[173,5],[192,5]]},"1782":{"position":[[433,5]]},"2240":{"position":[[7225,4]]},"2370":{"position":[[2132,5],[5159,4]]},"2507":{"position":[[21,5],[147,4],[232,4],[327,4],[433,4],[523,4],[616,4]]},"2522":{"position":[[0,5],[104,4],[317,4],[442,4]]}},"keywords":{}}],["hookexcept",{"_index":3585,"title":{},"content":{"638":{"position":[[25,13]]}},"keywords":{}}],["hooknam",{"_index":9212,"title":{},"content":{"2507":{"position":[[172,10],[466,9],[559,9],[654,9]]}},"keywords":{}}],["hookname(t",{"_index":9214,"title":{},"content":{"2507":{"position":[[257,10],[352,10]]}},"keywords":{}}],["hooktyp",{"_index":9251,"title":{},"content":{"2522":{"position":[[540,9],[624,8]]}},"keywords":{}}],["host",{"_index":298,"title":{"13":{"position":[[0,4]]},"64":{"position":[[0,4]]},"167":{"position":[[0,4]]},"179":{"position":[[5,6]]},"263":{"position":[[26,5]]},"303":{"position":[[0,4]]}},"content":{"12":{"position":[[47,5]]},"13":{"position":[[10,4],[61,4],[112,4],[227,4],[276,5],[332,4],[400,5]]},"14":{"position":[[16,4],[107,5],[125,4],[216,5],[452,4],[1034,4],[1095,4],[1344,5],[1437,4],[1669,5],[1826,5],[1978,5]]},"15":{"position":[[600,4]]},"29":{"position":[[273,4]]},"46":{"position":[[717,4],[768,4],[1372,4]]},"50":{"position":[[128,4],[181,4]]},"56":{"position":[[167,4]]},"64":{"position":[[3,4],[299,4]]},"65":{"position":[[353,4]]},"175":{"position":[[232,4],[613,6]]},"179":{"position":[[7,6]]},"187":{"position":[[227,4],[617,4]]},"190":{"position":[[511,7]]},"204":{"position":[[234,4]]},"209":{"position":[[2263,4]]},"210":{"position":[[1870,5]]},"249":{"position":[[448,6]]},"257":{"position":[[442,4]]},"263":{"position":[[4,4],[109,7],[453,5],[701,4]]},"264":{"position":[[1890,5],[1909,4],[2201,5]]},"280":{"position":[[912,4]]},"288":{"position":[[1244,4]]},"303":{"position":[[23,4],[213,4],[476,4]]},"363":{"position":[[185,4],[324,4],[417,4],[593,4]]},"410":{"position":[[32,4]]},"414":{"position":[[37,4]]},"427":{"position":[[40,4]]},"462":{"position":[[7,4]]},"530":{"position":[[63,4]]},"534":{"position":[[33,4]]},"545":{"position":[[126,4]]},"577":{"position":[[36,4]]},"582":{"position":[[44,4],[101,4],[147,4],[196,4]]},"583":{"position":[[0,4],[57,4],[123,4]]},"599":{"position":[[29,4]]},"614":{"position":[[105,4],[158,4]]},"616":{"position":[[45,4],[170,4]]},"670":{"position":[[179,4],[258,4]]},"679":{"position":[[70,4]]},"774":{"position":[[114,4]]},"798":{"position":[[43,4]]},"824":{"position":[[173,4]]},"850":{"position":[[40,4]]},"931":{"position":[[7,4]]},"936":{"position":[[16,4]]},"958":{"position":[[382,4]]},"967":{"position":[[51,4]]},"969":{"position":[[14,4]]},"1012":{"position":[[51,4]]},"1014":{"position":[[31,4]]},"1028":{"position":[[13,4]]},"1029":{"position":[[30,4]]},"1030":{"position":[[33,4]]},"1042":{"position":[[50,4]]},"1106":{"position":[[31,4]]},"1236":{"position":[[11,4]]},"1254":{"position":[[47,4]]},"1267":{"position":[[0,4]]},"1474":{"position":[[737,4],[1844,4],[1872,4],[6870,4],[6946,4],[9067,4],[9406,4],[9438,4],[9610,4],[9874,4],[10068,4],[10420,4],[11729,4],[11864,4],[16263,4],[19366,4],[20720,4]]},"1476":{"position":[[6636,4]]},"1512":{"position":[[42,4]]},"1566":{"position":[[1397,4]]},"1581":{"position":[[102,4]]},"1640":{"position":[[58,4]]},"1745":{"position":[[41,4]]},"1766":{"position":[[507,4]]},"1966":{"position":[[1450,4],[1884,4],[2278,4]]},"1979":{"position":[[992,4]]},"2212":{"position":[[70,5],[137,4]]},"2240":{"position":[[1044,4]]},"2261":{"position":[[926,4]]},"2350":{"position":[[1560,4],[1723,4]]},"2358":{"position":[[462,4],[598,4]]},"2361":{"position":[[276,4],[291,4]]},"2370":{"position":[[289,4],[425,4],[3668,4],[3734,5],[4724,4]]},"2375":{"position":[[95,5],[114,4]]},"2417":{"position":[[3215,4]]},"2419":{"position":[[208,4]]},"2420":{"position":[[319,4],[864,4],[965,4],[1125,5],[1298,5]]},"2421":{"position":[[70,4],[239,4]]}},"keywords":{}}],["host/client",{"_index":1386,"title":{},"content":{"175":{"position":[[168,11]]}},"keywords":{}}],["host/serv",{"_index":8783,"title":{},"content":{"2267":{"position":[[187,11]]}},"keywords":{}}],["hosted"",{"_index":2244,"title":{},"content":{"257":{"position":[[412,12]]}},"keywords":{}}],["hostmod",{"_index":3270,"title":{},"content":{"518":{"position":[[7,8]]},"1260":{"position":[[46,8]]},"1474":{"position":[[12748,8]]},"1489":{"position":[[28,8]]},"2421":{"position":[[435,8]]}},"keywords":{}}],["hostmodestop",{"_index":8748,"title":{},"content":{"2261":{"position":[[864,16],[949,15]]}},"keywords":{}}],["hostnam",{"_index":5122,"title":{},"content":{"1324":{"position":[[4,8]]}},"keywords":{}}],["hostplayernam",{"_index":267,"title":{},"content":{"10":{"position":[[1218,15]]}},"keywords":{}}],["hostrenderervis",{"_index":3347,"title":{"2289":{"position":[[6,22]]}},"content":{"544":{"position":[[7,22]]},"2240":{"position":[[937,23]]}},"keywords":{}}],["hostsetup",{"_index":5882,"title":{},"content":{"1474":{"position":[[17349,9]]},"1577":{"position":[[319,9]]}},"keywords":{}}],["hoststart",{"_index":210,"title":{},"content":{"9":{"position":[[451,9]]}},"keywords":{}}],["hotbar",{"_index":2803,"title":{},"content":{"345":{"position":[[237,6],[463,6]]},"353":{"position":[[197,6],[409,6]]}},"keywords":{}}],["hotbar.onchang",{"_index":2806,"title":{},"content":{"345":{"position":[[541,15]]},"353":{"position":[[487,15]]}},"keywords":{}}],["hotpath",{"_index":7735,"title":{},"content":{"1990":{"position":[[152,7],[648,7],[1064,7]]},"2039":{"position":[[247,8]]}},"keywords":{}}],["http",{"_index":1111,"title":{},"content":{"117":{"position":[[1959,5]]}},"keywords":{}}],["https://forum.unity.com/threads/un",{"_index":5311,"title":{},"content":{"1466":{"position":[[1062,37]]}},"keywords":{}}],["https://package.openupm.com",{"_index":820,"title":{},"content":{"67":{"position":[[417,27]]},"201":{"position":[[417,27]]}},"keywords":{}}],["hud",{"_index":60,"title":{"11":{"position":[[16,3]]},"12":{"position":[[10,4]]},"208":{"position":[[22,4]]}},"content":{"0":{"position":[[1051,3],[1075,3]]},"12":{"position":[[20,3]]},"13":{"position":[[445,3]]},"14":{"position":[[1721,3],[1870,3]]},"46":{"position":[[747,3]]},"50":{"position":[[158,3]]},"187":{"position":[[96,3]]},"206":{"position":[[134,4]]},"263":{"position":[[829,3]]},"956":{"position":[[28,3]]},"959":{"position":[[30,3]]},"964":{"position":[[46,3]]},"1474":{"position":[[1063,3]]},"1644":{"position":[[23,3]]}},"keywords":{}}],["hud.add",{"_index":206,"title":{},"content":{"9":{"position":[[339,7]]}},"keywords":{}}],["iaddlateev",{"_index":4399,"title":{"1913":{"position":[[10,13]]}},"content":{"1000":{"position":[[45,13],[169,13],[503,13],[778,13]]},"1891":{"position":[[0,14]]},"2370":{"position":[[3533,13],[3918,13],[4290,13],[5233,13],[5362,13]]}},"keywords":{}}],["iaddlateevent<bool>",{"_index":4405,"title":{},"content":{"1000":{"position":[[441,25]]},"1905":{"position":[[1301,25]]},"2370":{"position":[[4749,25]]}},"keywords":{}}],["iaddlateevent<clientstoppedreason>",{"_index":7534,"title":{},"content":{"1911":{"position":[[1599,40]]}},"keywords":{}}],["iaddlateevent<inetworkplayer>",{"_index":7553,"title":{},"content":{"1926":{"position":[[1564,35]]},"2370":{"position":[[4979,35]]}},"keywords":{}}],["iaddlateevent<t0",{"_index":7464,"title":{},"content":{"1891":{"position":[[91,20]]}},"keywords":{}}],["iaddlateevent<t0>",{"_index":7465,"title":{},"content":{"1891":{"position":[[148,24]]}},"keywords":{}}],["iaddlateevent.createnewitem",{"_index":8539,"title":{"2174":{"position":[[9,21]]}},"content":{},"keywords":{}}],["pool.createnewitemnocount",{"_index":8541,"title":{"2175":{"position":[[9,28]]}},"content":{},"keywords":{}}],["poolednetworkread",{"_index":6188,"title":{"2026":{"position":[[6,19]]}},"content":{"1476":{"position":[[3345,19]]},"1735":{"position":[[73,19]]},"1983":{"position":[[1360,20]]},"2016":{"position":[[348,19],[823,19],[1267,19]]},"2027":{"position":[[71,19]]}},"keywords":{}}],["poolednetworkwrit",{"_index":2447,"title":{"2032":{"position":[[6,19]]}},"content":{"291":{"position":[[467,20]]},"1476":{"position":[[3367,19]]},"1735":{"position":[[95,19]]},"1983":{"position":[[1411,20]]},"2019":{"position":[[423,19]]},"2033":{"position":[[78,19]]}},"keywords":{}}],["poolmetr",{"_index":8321,"title":{"2176":{"position":[[7,11]]}},"content":{"2092":{"position":[[43,12]]},"2172":{"position":[[0,12],[33,11],[45,11]]},"2184":{"position":[[29,11]]},"2350":{"position":[[211,12]]},"2420":{"position":[[211,12]]}},"keywords":{}}],["poolmetrics(int",{"_index":8544,"title":{},"content":{"2177":{"position":[[54,15]]}},"keywords":{}}],["poolmetrics(int32",{"_index":8543,"title":{},"content":{"2177":{"position":[[0,18]]}},"keywords":{}}],["poolsiz",{"_index":8546,"title":{},"content":{"2177":{"position":[[95,9],[193,8]]},"2178":{"position":[[100,9],[143,8]]}},"keywords":{}}],["poolspawnhandl",{"_index":1917,"title":{},"content":{"237":{"position":[[273,17]]}},"keywords":{}}],["poolspawnhandler(spawnmessag",{"_index":1920,"title":{},"content":{"237":{"position":[[376,29]]}},"keywords":{}}],["poolunspawnhandl",{"_index":1918,"title":{},"content":{"237":{"position":[[291,20]]}},"keywords":{}}],["poolunspawnhandler(networkident",{"_index":1923,"title":{},"content":{"237":{"position":[[514,34]]}},"keywords":{}}],["pop",{"_index":1487,"title":{},"content":{"182":{"position":[[2874,3]]},"190":{"position":[[848,3]]},"1874":{"position":[[1625,6],[1654,5]]}},"keywords":{}}],["popul",{"_index":2276,"title":{},"content":{"264":{"position":[[1600,9]]},"335":{"position":[[734,9]]},"1092":{"position":[[80,9]]},"1983":{"position":[[1649,9],[3186,9]]},"2009":{"position":[[127,9]]}},"keywords":{}}],["port",{"_index":349,"title":{},"content":{"14":{"position":[[1369,4]]},"175":{"position":[[770,4]]},"179":{"position":[[535,4]]},"182":{"position":[[1905,4],[2183,4]]},"183":{"position":[[1629,4],[1670,4],[1708,4],[1878,4]]},"184":{"position":[[628,4],[873,4],[939,4]]},"187":{"position":[[820,4],[890,4],[1327,5]]},"191":{"position":[[72,4],[379,6],[413,4],[462,4]]},"202":{"position":[[780,4]]},"757":{"position":[[82,4]]},"1180":{"position":[[31,5]]},"1293":{"position":[[0,4]]},"1474":{"position":[[8674,4]]},"1476":{"position":[[4463,4],[8143,4],[9029,4]]},"1658":{"position":[[8,4]]},"2093":{"position":[[669,4]]},"2143":{"position":[[0,5],[23,4]]},"2199":{"position":[[742,4],[861,4]]},"2212":{"position":[[83,5],[156,4]]},"2231":{"position":[[45,5],[78,4]]},"2233":{"position":[[541,4],[660,4]]},"2351":{"position":[[149,4],[268,4]]}},"keywords":{}}],["portcheck",{"_index":1537,"title":{},"content":{"184":{"position":[[809,11]]}},"keywords":{}}],["posit",{"_index":105,"title":{"31":{"position":[[14,8]]},"55":{"position":[[13,9]]},"76":{"position":[[6,9]]}},"content":{"0":{"position":[[2188,8],[2211,8],[2288,8],[2331,8],[2690,8]]},"24":{"position":[[1162,8],[1941,8]]},"31":{"position":[[14,8],[91,8],[148,8],[202,8],[303,9],[378,9],[456,8],[715,9],[846,8],[928,9]]},"37":{"position":[[79,8],[904,8],[1032,8]]},"43":{"position":[[67,9],[674,8]]},"55":{"position":[[229,10]]},"57":{"position":[[282,8]]},"76":{"position":[[111,9]]},"116":{"position":[[152,9]]},"139":{"position":[[369,8]]},"148":{"position":[[2,8],[187,9]]},"149":{"position":[[2,8],[228,9]]},"150":{"position":[[2,8],[133,9]]},"153":{"position":[[32,8]]},"202":{"position":[[913,9],[1014,8],[1213,9],[1300,9]]},"209":{"position":[[113,8]]},"211":{"position":[[1731,8],[1905,8],[2012,9]]},"213":{"position":[[1738,8],[2030,9]]},"240":{"position":[[822,8],[1423,8],[1641,8]]},"251":{"position":[[1939,9],[2254,9]]},"332":{"position":[[683,9],[772,9],[902,9],[989,9],[1169,9]]},"877":{"position":[[119,8]]},"893":{"position":[[37,8]]},"1474":{"position":[[2753,8]]},"1983":{"position":[[3323,8]]},"1990":{"position":[[90,8],[559,8]]},"2022":{"position":[[119,8]]},"2023":{"position":[[641,9],[730,8],[3039,8],[3120,8],[3147,8],[3344,8],[3398,8],[3564,8],[3617,8]]},"2030":{"position":[[150,8],[247,8],[289,8]]},"2031":{"position":[[2133,8],[2267,8],[2649,8],[2787,8],[2859,8],[3161,8],[3240,8],[3267,8],[3320,8],[3500,8],[3552,8],[3718,8],[3769,8]]},"2063":{"position":[[90,9],[184,8]]},"2071":{"position":[[90,9],[184,8]]},"2204":{"position":[[1730,8]]},"2240":{"position":[[4747,8]]},"2253":{"position":[[1363,8],[1387,8]]},"2429":{"position":[[148,9],[278,8]]},"2497":{"position":[[0,9],[39,8]]}},"keywords":{}}],["position/rot",{"_index":2183,"title":{},"content":{"251":{"position":[[2195,17]]}},"keywords":{}}],["possibl",{"_index":535,"title":{},"content":{"31":{"position":[[816,9]]},"175":{"position":[[117,8],[644,13]]},"182":{"position":[[1790,8]]},"266":{"position":[[363,8]]},"295":{"position":[[6,8]]},"360":{"position":[[200,8]]},"375":{"position":[[7,8]]},"981":{"position":[[88,8]]},"1474":{"position":[[14245,8]]},"1733":{"position":[[313,8]]},"1985":{"position":[[166,8],[210,8]]},"1996":{"position":[[211,8]]},"2240":{"position":[[6773,8]]}},"keywords":{}}],["post",{"_index":757,"title":{},"content":{"59":{"position":[[107,4]]}},"keywords":{}}],["postprocessorreflectionimport",{"_index":4003,"title":{},"content":{"837":{"position":[[34,31]]}},"keywords":{}}],["potenti",{"_index":890,"title":{},"content":{"75":{"position":[[0,11]]},"553":{"position":[[77,9]]},"1305":{"position":[[0,9]]},"1448":{"position":[[0,9]]},"1474":{"position":[[12928,9],[13848,9]]},"1729":{"position":[[71,9]]},"2358":{"position":[[942,11]]}},"keywords":{}}],["powershel",{"_index":1551,"title":{},"content":{"187":{"position":[[338,10]]}},"keywords":{}}],["practic",{"_index":1062,"title":{"115":{"position":[[5,9]]}},"content":{"203":{"position":[[715,9]]},"328":{"position":[[260,8]]}},"keywords":{}}],["pre",{"_index":1662,"title":{},"content":{"202":{"position":[[366,3]]},"238":{"position":[[229,3]]},"253":{"position":[[564,3]]}},"keywords":{}}],["precis",{"_index":1267,"title":{},"content":{"139":{"position":[[1224,9]]},"148":{"position":[[48,9]]},"149":{"position":[[47,10],[76,9]]},"173":{"position":[[441,9],[898,9]]},"1987":{"position":[[147,10],[165,9]]},"1990":{"position":[[59,9],[217,10],[294,9],[311,9],[363,9],[496,9],[713,10],[803,9],[820,9],[872,9]]},"1996":{"position":[[92,10],[192,9],[245,9]]},"2000":{"position":[[184,10],[202,9],[621,10],[639,9]]},"2046":{"position":[[75,10],[149,9]]},"2049":{"position":[[72,10],[146,9]]},"2062":{"position":[[79,10],[147,9]]},"2068":{"position":[[395,10],[492,9]]},"2070":{"position":[[79,10],[147,9]]},"2073":{"position":[[604,10],[669,9]]},"2076":{"position":[[505,10],[621,9]]},"2078":{"position":[[778,10],[843,9]]}},"keywords":{}}],["predefin",{"_index":2582,"title":{},"content":{"315":{"position":[[221,10]]}},"keywords":{}}],["prefab",{"_index":101,"title":{"70":{"position":[[7,7]]},"88":{"position":[[0,6]]}},"content":{"0":{"position":[[1987,7]]},"2":{"position":[[301,7]]},"33":{"position":[[132,6],[143,6]]},"54":{"position":[[235,6],[506,7],[552,7],[630,6]]},"70":{"position":[[13,6],[163,7]]},"71":{"position":[[1154,6],[1313,7]]},"74":{"position":[[15,7]]},"88":{"position":[[4,6],[50,6],[124,6]]},"203":{"position":[[63,6],[684,7],[773,6],[1150,6],[1189,6]]},"209":{"position":[[43,7],[2212,7]]},"211":{"position":[[1658,6]]},"226":{"position":[[177,7],[234,7],[271,8],[313,7]]},"234":{"position":[[99,6]]},"235":{"position":[[125,7],[218,7],[253,7],[411,8],[1151,7]]},"238":{"position":[[80,6],[183,6],[398,6],[1631,7]]},"240":{"position":[[213,7],[561,7]]},"241":{"position":[[146,7],[1260,7],[1887,6],[1936,8],[1961,6],[3549,7]]},"242":{"position":[[907,6],[1001,7]]},"245":{"position":[[64,7],[216,6],[311,7],[829,6],[1369,6],[1657,7],[3602,7]]},"246":{"position":[[65,7],[126,7]]},"247":{"position":[[86,6],[191,6]]},"248":{"position":[[160,6],[463,6]]},"251":{"position":[[474,7],[2856,6],[2903,6]]},"254":{"position":[[1381,6]]},"262":{"position":[[512,7]]},"276":{"position":[[21,7]]},"304":{"position":[[257,7],[770,7]]},"317":{"position":[[494,8]]},"331":{"position":[[35,6],[104,7],[147,6],[219,6]]},"332":{"position":[[87,7],[205,6],[276,6],[372,7],[552,6],[626,7],[725,6],[1030,6],[1060,6],[1122,6]]},"400":{"position":[[108,6]]},"405":{"position":[[25,6]]},"456":{"position":[[108,6]]},"505":{"position":[[79,6]]},"516":{"position":[[20,6]]},"532":{"position":[[24,6]]},"541":{"position":[[78,7]]},"547":{"position":[[14,6]]},"555":{"position":[[130,6],[192,6],[330,7]]},"579":{"position":[[42,6]]},"601":{"position":[[338,6]]},"603":{"position":[[110,7]]},"618":{"position":[[34,6]]},"768":{"position":[[25,6]]},"777":{"position":[[13,6]]},"781":{"position":[[57,6]]},"782":{"position":[[23,6]]},"783":{"position":[[0,6]]},"820":{"position":[[45,6]]},"1233":{"position":[[41,7]]},"1237":{"position":[[24,7]]},"1317":{"position":[[31,6]]},"1350":{"position":[[276,7]]},"1355":{"position":[[276,7]]},"1360":{"position":[[276,7]]},"1365":{"position":[[276,7]]},"1370":{"position":[[276,7]]},"1375":{"position":[[230,7]]},"1379":{"position":[[230,7]]},"1383":{"position":[[179,7]]},"1387":{"position":[[179,7]]},"1391":{"position":[[179,7]]},"1395":{"position":[[179,7]]},"1399":{"position":[[139,7]]},"1442":{"position":[[7,6]]},"1474":{"position":[[1958,7],[2746,6],[3042,6],[3256,6],[5734,6],[10224,7],[16570,6],[17421,6],[22507,7],[22574,7],[22652,6],[22692,6]]},"1476":{"position":[[2441,7]]},"1478":{"position":[[893,6]]},"1496":{"position":[[214,6]]},"1566":{"position":[[274,6],[1499,6]]},"1589":{"position":[[23,7]]},"1691":{"position":[[23,7]]},"1778":{"position":[[240,7]]},"2240":{"position":[[3600,7],[5401,6],[5502,6]]},"2263":{"position":[[22,7],[98,8],[285,7],[361,8]]},"2265":{"position":[[282,7],[377,8],[508,7],[663,6],[930,6],[990,6],[1064,6],[1284,6],[1406,8],[1455,7],[1637,6],[1809,6],[1895,7],[2042,6],[2262,6],[2384,8],[2433,7],[2615,6],[2768,6],[2890,6],[3107,6],[3289,6],[3482,6],[3632,6],[3852,6],[3974,8],[4023,7],[4205,6],[4431,6],[4959,7],[4995,6],[6573,7]]},"2352":{"position":[[60,6],[161,6]]},"2370":{"position":[[1556,6]]},"2394":{"position":[[0,8],[57,7]]},"2478":{"position":[[864,6],[5031,6],[5177,7],[5324,6],[5553,6],[5709,7],[5868,6]]},"2482":{"position":[[2412,6]]},"2486":{"position":[[80,7],[145,6],[539,7],[671,6],[1174,7],[1316,6]]},"2487":{"position":[[0,7],[53,6]]},"2492":{"position":[[386,6]]},"2509":{"position":[[76,7],[141,6]]},"2510":{"position":[[0,7],[44,6]]},"2511":{"position":[[72,6],[376,6]]}},"keywords":{}}],["prefab'",{"_index":8757,"title":{},"content":{"2265":{"position":[[558,8]]}},"keywords":{}}],["prefab.th",{"_index":2116,"title":{},"content":{"247":{"position":[[785,10]]}},"keywords":{}}],["prefabhash",{"_index":1935,"title":{},"content":{"238":{"position":[[1110,10],[1170,11],[1913,11],[1998,10],[2190,11],[2207,10],[2405,11],[2561,10],[2660,10]]},"331":{"position":[[244,10]]},"595":{"position":[[39,10],[68,10]]},"612":{"position":[[46,10]]},"764":{"position":[[278,10]]},"767":{"position":[[92,10]]},"768":{"position":[[58,10]]},"2265":{"position":[[759,10],[844,11],[903,10],[1246,11],[1622,10],[2224,11],[2600,10],[3814,11],[4190,10],[4778,10],[4880,10],[5167,11],[5293,10],[5993,11],[6124,10],[6403,11],[6462,10],[6477,10]]},"2270":{"position":[[106,12]]},"2370":{"position":[[3024,11],[3060,10]]},"2478":{"position":[[567,11],[849,10],[3167,11],[3412,10],[3954,10],[4282,11],[4437,10],[4452,10],[5190,10],[5367,10],[5722,10],[5911,10]]},"2482":{"position":[[505,11],[731,10],[2134,11],[2397,10],[3805,10],[4111,11],[4231,10],[4246,10]]},"2492":{"position":[[360,11],[445,10],[481,10]]},"2510":{"position":[[52,11],[88,10]]}},"keywords":{}}],["prefabid",{"_index":1067,"title":{},"content":{"116":{"position":[[174,9]]}},"keywords":{}}],["prefabpoolmanag",{"_index":2150,"title":{},"content":{"251":{"position":[[285,17],[2801,17],[3185,17],[3252,17],[3270,18],[3304,17]]}},"keywords":{}}],["prefabpoolmanager.getfrompool(transform.posit",{"_index":2198,"title":{},"content":{"251":{"position":[[3935,48]]}},"keywords":{}}],["prefabpoolmanager.putbackinpool(go",{"_index":2206,"title":{},"content":{"251":{"position":[[4459,36]]}},"keywords":{}}],["prefabs.upd",{"_index":888,"title":{},"content":{"74":{"position":[[297,14]]}},"keywords":{}}],["prefabset",{"_index":848,"title":{},"content":{"70":{"position":[[82,9]]}},"keywords":{}}],["prefer",{"_index":671,"title":{},"content":{"46":{"position":[[840,7]]},"50":{"position":[[242,7]]},"179":{"position":[[255,10]]},"1476":{"position":[[8315,9]]},"1583":{"position":[[28,9]]}},"keywords":{}}],["prefix",{"_index":5576,"title":{},"content":{"1474":{"position":[[7512,6],[17513,6],[22069,6]]},"1476":{"position":[[2729,6],[2818,6],[7616,6],[8093,6]]},"1478":{"position":[[1789,8]]},"1496":{"position":[[280,6]]},"1547":{"position":[[29,6],[81,6],[138,6],[194,6]]},"1928":{"position":[[186,8]]}},"keywords":{}}],["pregam",{"_index":2213,"title":{},"content":{"254":{"position":[[199,7]]}},"keywords":{}}],["prepar",{"_index":4118,"title":{},"content":{"875":{"position":[[0,9]]}},"keywords":{}}],["preparetospawnsceneobject",{"_index":1904,"title":{},"content":{"235":{"position":[[581,26]]},"2265":{"position":[[0,29],[162,28]]}},"keywords":{}}],["preprocessor",{"_index":4610,"title":{},"content":{"1088":{"position":[[7,12]]}},"keywords":{}}],["present",{"_index":4972,"title":{},"content":{"1252":{"position":[[29,7]]},"2240":{"position":[[2305,7]]},"2344":{"position":[[113,7]]},"2358":{"position":[[2196,7],[2479,7]]},"2369":{"position":[[349,7]]}},"keywords":{}}],["press",{"_index":668,"title":{},"content":{"46":{"position":[[682,5]]},"50":{"position":[[93,5]]},"190":{"position":[[1747,5],[1841,5]]},"191":{"position":[[604,5]]},"192":{"position":[[54,5]]},"197":{"position":[[304,5],[370,5]]},"198":{"position":[[521,5]]},"203":{"position":[[2159,5]]},"243":{"position":[[2351,8]]}},"keywords":{}}],["pretti",{"_index":1705,"title":{},"content":{"207":{"position":[[12,6]]},"240":{"position":[[1292,6]]}},"keywords":{}}],["prevent",{"_index":373,"title":{},"content":{"15":{"position":[[762,7]]},"279":{"position":[[44,7]]},"280":{"position":[[119,7]]},"553":{"position":[[69,7]]},"1211":{"position":[[0,7]]},"1252":{"position":[[0,7]]},"1265":{"position":[[13,7]]},"1309":{"position":[[28,7]]},"1318":{"position":[[4,10]]},"1442":{"position":[[23,7]]},"1524":{"position":[[0,7]]},"1780":{"position":[[491,7]]},"1781":{"position":[[555,7]]},"2240":{"position":[[270,8],[792,8],[1091,8],[3193,8],[6420,8]]}},"keywords":{}}],["preview",{"_index":154,"title":{"4":{"position":[[0,7]]}},"content":{"4":{"position":[[90,7]]}},"keywords":{}}],["previou",{"_index":487,"title":{},"content":{"24":{"position":[[1557,8]]},"184":{"position":[[276,8]]},"202":{"position":[[1254,8]]},"254":{"position":[[1502,8]]},"2031":{"position":[[2640,8]]},"2130":{"position":[[400,8]]},"2158":{"position":[[1354,8]]},"2193":{"position":[[991,8]]},"2478":{"position":[[2562,8],[3461,8]]},"2482":{"position":[[780,8],[1563,8]]}},"keywords":{}}],["previous",{"_index":5686,"title":{},"content":{"1474":{"position":[[10495,10],[14123,10]]},"1717":{"position":[[131,10]]},"1766":{"position":[[582,10]]}},"keywords":{}}],["price",{"_index":2467,"title":{},"content":{"294":{"position":[[495,5],[891,5],[960,5]]}},"keywords":{}}],["price}"",{"_index":2477,"title":{},"content":{"294":{"position":[[966,15]]}},"keywords":{}}],["primari",{"_index":785,"title":{},"content":{"61":{"position":[[319,7]]},"2240":{"position":[[2479,7]]}},"keywords":{}}],["primit",{"_index":2671,"title":{},"content":{"326":{"position":[[246,9]]}},"keywords":{}}],["prior",{"_index":461,"title":{},"content":{"24":{"position":[[673,5]]}},"keywords":{}}],["privat",{"_index":628,"title":{},"content":{"42":{"position":[[920,7]]},"43":{"position":[[1071,7]]},"85":{"position":[[692,7]]},"117":{"position":[[1766,7],[2384,7],[2442,7]]},"125":{"position":[[75,7]]},"142":{"position":[[70,7]]},"151":{"position":[[165,7],[263,7]]},"203":{"position":[[1651,7],[1737,7],[1879,7]]},"207":{"position":[[285,7],[324,7]]},"209":{"position":[[487,7],[874,7],[960,7],[1415,7],[1506,7],[1765,7]]},"210":{"position":[[371,7]]},"211":{"position":[[75,7]]},"225":{"position":[[720,7],[835,7],[965,7],[1099,7],[1214,7],[1344,7]]},"238":{"position":[[751,7],[782,7],[1542,7],[1875,7],[2158,7]]},"242":{"position":[[578,7]]},"251":{"position":[[1020,7]]},"280":{"position":[[363,7],[431,7],[582,7]]},"288":{"position":[[1002,7],[1134,7],[1824,7],[1853,7],[2312,7]]},"328":{"position":[[723,7],[806,7],[854,7]]},"340":{"position":[[1112,7]]},"343":{"position":[[315,7],[391,7]]},"345":{"position":[[345,7],[510,7],[576,7],[656,7]]},"348":{"position":[[1110,7],[1171,7],[1407,7]]},"351":{"position":[[187,7]]},"353":{"position":[[81,7],[159,7],[291,7],[456,7],[522,7],[602,7]]},"508":{"position":[[30,7]]},"1474":{"position":[[13428,7],[19138,7]]},"1693":{"position":[[97,7]]},"1777":{"position":[[165,7]]},"1778":{"position":[[61,7],[110,7],[133,7],[169,7]]},"1780":{"position":[[298,7],[339,7],[514,7],[547,7],[666,7],[756,7],[969,7]]},"1781":{"position":[[362,7],[403,7],[578,7],[611,7],[730,7],[820,7],[1033,7]]},"1783":{"position":[[104,7],[126,7],[202,7],[332,7],[472,7],[743,7]]},"2240":{"position":[[6849,7]]},"2474":{"position":[[44,7]]}},"keywords":{}}],["probabl",{"_index":219,"title":{},"content":{"9":{"position":[[705,8]]},"10":{"position":[[1077,8]]},"67":{"position":[[744,10]]},"201":{"position":[[744,10]]},"203":{"position":[[666,8]]}},"keywords":{}}],["problem",{"_index":2879,"title":{},"content":{"356":{"position":[[1064,8]]},"1297":{"position":[[31,7]]}},"keywords":{}}],["procedur",{"_index":968,"title":{},"content":{"91":{"position":[[320,9]]},"189":{"position":[[158,10]]},"243":{"position":[[1699,9]]},"257":{"position":[[611,9]]},"2240":{"position":[[438,9]]}},"keywords":{}}],["process",{"_index":368,"title":{},"content":{"15":{"position":[[483,7]]},"24":{"position":[[771,7]]},"30":{"position":[[283,7]]},"95":{"position":[[99,8]]},"99":{"position":[[882,7],[1188,9]]},"117":{"position":[[242,7]]},"175":{"position":[[684,7]]},"182":{"position":[[1494,7]]},"197":{"position":[[107,7],[397,8]]},"243":{"position":[[1332,7]]},"248":{"position":[[1420,10]]},"288":{"position":[[1352,7]]},"1474":{"position":[[1200,9],[12420,9],[22128,9]]},"1546":{"position":[[43,9]]},"1562":{"position":[[594,9]]},"1566":{"position":[[27,9]]},"1935":{"position":[[1186,10]]},"2240":{"position":[[1924,7]]},"2358":{"position":[[922,9]]}},"keywords":{}}],["processclientrequest(discoveryrequest",{"_index":282,"title":{},"content":{"10":{"position":[[1746,37]]}},"keywords":{}}],["processrequest(discoveryrequest",{"_index":287,"title":{},"content":{"10":{"position":[[1901,31]]}},"keywords":{}}],["processresponse(discoveryrespons",{"_index":293,"title":{},"content":{"10":{"position":[[2177,33]]}},"keywords":{}}],["product",{"_index":6309,"title":{},"content":{"1476":{"position":[[6581,10]]}},"keywords":{}}],["profil",{"_index":5906,"title":{},"content":{"1474":{"position":[[17872,8]]},"1477":{"position":[[530,8]]},"1703":{"position":[[26,8]]},"2240":{"position":[[2226,9],[2262,8]]},"2344":{"position":[[34,9],[70,8]]}},"keywords":{}}],["program",{"_index":76,"title":{},"content":{"0":{"position":[[1300,11]]}},"keywords":{}}],["program.custom",{"_index":1476,"title":{},"content":{"182":{"position":[[2154,14]]}},"keywords":{}}],["progress",{"_index":398,"title":{},"content":{"19":{"position":[[43,9]]},"143":{"position":[[31,8],[63,8]]},"247":{"position":[[1007,11]]},"1782":{"position":[[91,9]]}},"keywords":{}}],["project",{"_index":661,"title":{},"content":{"46":{"position":[[65,7]]},"67":{"position":[[92,8],[147,7],[563,7],[808,8]]},"96":{"position":[[580,8]]},"170":{"position":[[362,9]]},"175":{"position":[[64,7],[144,8],[1224,8]]},"184":{"position":[[59,7],[525,7]]},"189":{"position":[[32,7],[80,8],[178,7],[219,8],[277,8],[329,8],[348,7],[426,8],[552,8]]},"199":{"position":[[24,7],[122,7],[168,8]]},"201":{"position":[[92,8],[147,7],[563,7],[808,8]]},"315":{"position":[[529,8]]}},"keywords":{}}],["project)ent",{"_index":1510,"title":{},"content":{"183":{"position":[[251,13]]}},"keywords":{}}],["project.add",{"_index":847,"title":{},"content":{"70":{"position":[[28,11]]}},"keywords":{}}],["project.ssh",{"_index":1473,"title":{},"content":{"182":{"position":[[1931,11]]}},"keywords":{}}],["projectil",{"_index":2528,"title":{},"content":{"304":{"position":[[877,12]]},"331":{"position":[[427,12]]}},"keywords":{}}],["prompt",{"_index":1580,"title":{},"content":{"190":{"position":[[200,9]]}},"keywords":{}}],["prop",{"_index":132,"title":{},"content":{"3":{"position":[[99,7]]}},"keywords":{}}],["propag",{"_index":1832,"title":{},"content":{"215":{"position":[[224,10]]},"976":{"position":[[11,11]]}},"keywords":{}}],["proper",{"_index":2762,"title":{},"content":{"339":{"position":[[374,6]]},"342":{"position":[[277,6]]},"348":{"position":[[371,6]]},"350":{"position":[[250,6]]}},"keywords":{}}],["properli",{"_index":845,"title":{},"content":{"69":{"position":[[323,8]]},"99":{"position":[[310,8]]},"1231":{"position":[[14,8]]},"1350":{"position":[[121,8]]},"1355":{"position":[[121,8]]},"1360":{"position":[[121,8]]},"1365":{"position":[[121,8]]},"1370":{"position":[[121,8]]},"1375":{"position":[[75,8]]},"1379":{"position":[[75,8]]},"1383":{"position":[[75,8]]},"1387":{"position":[[75,8]]},"1391":{"position":[[75,8]]},"1395":{"position":[[75,8]]},"1399":{"position":[[35,8]]},"1403":{"position":[[35,8]]},"1407":{"position":[[35,8]]},"1411":{"position":[[35,8]]},"1415":{"position":[[35,8]]},"1419":{"position":[[35,8]]},"1423":{"position":[[35,8]]},"1427":{"position":[[35,8]]},"1431":{"position":[[35,8]]},"1474":{"position":[[2258,8],[4796,8],[8909,8],[11994,8],[13504,8],[19815,8],[21513,8]]},"1731":{"position":[[11,8]]},"1745":{"position":[[321,8]]},"1762":{"position":[[39,8]]}},"keywords":{}}],["properti",{"_index":257,"title":{"33":{"position":[[0,11]]},"1774":{"position":[[0,11]]},"1787":{"position":[[0,11]]},"1789":{"position":[[0,11]]},"1793":{"position":[[0,11]]},"1810":{"position":[[0,11]]},"1834":{"position":[[0,11]]},"1841":{"position":[[0,11]]},"1847":{"position":[[0,11]]},"1854":{"position":[[0,11]]},"1859":{"position":[[0,11]]},"1864":{"position":[[0,11]]},"1873":{"position":[[0,11]]},"1877":{"position":[[0,11]]},"1881":{"position":[[0,11]]},"1934":{"position":[[0,11]]},"1943":{"position":[[0,11]]},"2007":{"position":[[0,11]]},"2009":{"position":[[0,11]]},"2018":{"position":[[0,11]]},"2022":{"position":[[0,11]]},"2030":{"position":[[0,11]]},"2037":{"position":[[0,11]]},"2039":{"position":[[0,11]]},"2085":{"position":[[0,11]]},"2099":{"position":[[0,11]]},"2109":{"position":[[0,11]]},"2118":{"position":[[0,11]]},"2138":{"position":[[0,11]]},"2140":{"position":[[0,11]]},"2143":{"position":[[0,11]]},"2154":{"position":[[0,11]]},"2169":{"position":[[0,11]]},"2172":{"position":[[0,11]]},"2184":{"position":[[0,11]]},"2188":{"position":[[0,11]]},"2192":{"position":[[0,11]]},"2198":{"position":[[0,11]]},"2203":{"position":[[0,11]]},"2217":{"position":[[0,11]]},"2222":{"position":[[0,11]]},"2232":{"position":[[0,11]]},"2264":{"position":[[0,11]]},"2273":{"position":[[0,11]]},"2283":{"position":[[0,11]]},"2298":{"position":[[0,11]]},"2305":{"position":[[0,11]]},"2308":{"position":[[0,11]]},"2310":{"position":[[0,11]]},"2335":{"position":[[0,11]]},"2339":{"position":[[0,11]]},"2350":{"position":[[0,11]]},"2358":{"position":[[0,11]]},"2363":{"position":[[0,11]]},"2367":{"position":[[0,11]]},"2370":{"position":[[0,11]]},"2382":{"position":[[0,11]]},"2400":{"position":[[0,11]]},"2408":{"position":[[0,11]]},"2413":{"position":[[0,11]]},"2416":{"position":[[0,11]]},"2420":{"position":[[0,11]]},"2423":{"position":[[0,11]]},"2428":{"position":[[0,11]]},"2432":{"position":[[0,11]]},"2440":{"position":[[0,11]]},"2457":{"position":[[0,11]]},"2481":{"position":[[0,11]]},"2488":{"position":[[0,11]]}},"content":{"10":{"position":[[890,10],[1241,10]]},"53":{"position":[[419,10]]},"54":{"position":[[429,10]]},"75":{"position":[[114,8]]},"98":{"position":[[284,9]]},"111":{"position":[[26,8]]},"112":{"position":[[19,8]]},"213":{"position":[[1472,10]]},"241":{"position":[[2876,8]]},"243":{"position":[[703,8],[788,8]]},"249":{"position":[[242,8]]},"253":{"position":[[374,8]]},"270":{"position":[[237,9]]},"327":{"position":[[426,10]]},"328":{"position":[[570,10],[609,11],[744,10]]},"331":{"position":[[92,11]]},"440":{"position":[[32,8]]},"681":{"position":[[52,8]]},"727":{"position":[[44,8]]},"786":{"position":[[213,8]]},"839":{"position":[[33,10]]},"844":{"position":[[20,8]]},"947":{"position":[[81,10]]},"1024":{"position":[[163,8]]},"1045":{"position":[[69,8]]},"1046":{"position":[[18,8]]},"1096":{"position":[[12,10]]},"1350":{"position":[[220,8]]},"1355":{"position":[[220,8]]},"1360":{"position":[[220,8]]},"1365":{"position":[[220,8]]},"1370":{"position":[[220,8]]},"1375":{"position":[[174,8]]},"1379":{"position":[[174,8]]},"1476":{"position":[[3795,8]]},"1479":{"position":[[1472,10]]},"1634":{"position":[[17,8]]},"1646":{"position":[[70,10]]},"2039":{"position":[[190,8]]},"2240":{"position":[[5857,8],[5879,8]]},"2370":{"position":[[2390,8]]},"2400":{"position":[[382,8]]},"2419":{"position":[[252,8]]},"2461":{"position":[[39,8],[61,8]]}},"keywords":{}}],["propertyattribut",{"_index":8794,"title":{},"content":{"2275":{"position":[[178,17]]},"2352":{"position":[[320,17]]},"2451":{"position":[[283,17]]},"2461":{"position":[[159,17]]}},"keywords":{}}],["propertynetworktim",{"_index":3782,"title":{},"content":{"728":{"position":[[43,20]]}},"keywords":{}}],["protect",{"_index":242,"title":{},"content":{"10":{"position":[[589,9],[1722,9],[1864,9],[2069,9],[2153,9]]},"117":{"position":[[1044,9]]},"291":{"position":[[708,9],[1069,9]]},"310":{"position":[[199,9]]},"311":{"position":[[189,9]]},"312":{"position":[[196,9]]},"488":{"position":[[9,9]]},"548":{"position":[[54,9],[193,9]]},"549":{"position":[[30,9]]},"843":{"position":[[34,9]]},"845":{"position":[[50,9]]},"1474":{"position":[[13183,9],[13288,9],[14439,9],[21334,7]]},"1566":{"position":[[1199,9]]},"1711":{"position":[[73,9],[178,9]]},"1795":{"position":[[174,9],[656,9]]},"1820":{"position":[[62,9]]},"1826":{"position":[[75,9]]},"1858":{"position":[[22,9]]},"1863":{"position":[[22,9]]},"1893":{"position":[[25,9]]},"1894":{"position":[[28,9]]},"1896":{"position":[[20,9]]},"1901":{"position":[[20,9],[60,9]]},"2023":{"position":[[25,9],[83,9]]},"2027":{"position":[[485,9]]},"2031":{"position":[[25,9]]},"2105":{"position":[[34,9]]},"2109":{"position":[[22,9]]},"2110":{"position":[[25,9],[134,9],[245,9],[316,9]]},"2118":{"position":[[22,9]]},"2119":{"position":[[25,9],[134,9],[245,9],[316,9]]},"2188":{"position":[[22,9]]},"2189":{"position":[[25,9],[134,9],[245,9],[316,9]]},"2253":{"position":[[22,9],[80,9],[1137,9]]},"2269":{"position":[[234,9]]},"2290":{"position":[[306,9]]},"2327":{"position":[[420,9]]},"2357":{"position":[[28,9],[327,9]]},"2358":{"position":[[3127,9],[3203,9]]},"2359":{"position":[[42,9],[243,9],[427,9],[913,9],[4002,9],[4887,9],[5011,9]]},"2417":{"position":[[1992,9],[2441,9],[9062,9],[9508,9]]},"2423":{"position":[[30,9]]},"2428":{"position":[[30,9]]},"2432":{"position":[[30,9]]}},"keywords":{}}],["protocol",{"_index":909,"title":{},"content":{"81":{"position":[[143,8]]},"191":{"position":[[366,9]]}},"keywords":{}}],["provid",{"_index":96,"title":{},"content":{"0":{"position":[[1868,8]]},"7":{"position":[[125,8]]},"9":{"position":[[641,8]]},"10":{"position":[[242,7]]},"30":{"position":[[423,7]]},"56":{"position":[[94,8]]},"62":{"position":[[223,7]]},"69":{"position":[[214,8],[419,9]]},"94":{"position":[[7,8],[417,8]]},"95":{"position":[[28,7]]},"96":{"position":[[83,8],[406,8]]},"99":{"position":[[66,8],[1028,8]]},"100":{"position":[[101,8],[401,8]]},"117":{"position":[[573,8]]},"175":{"position":[[589,9],[1027,8]]},"179":{"position":[[56,9],[74,7],[356,11]]},"191":{"position":[[438,9]]},"226":{"position":[[110,7]]},"258":{"position":[[154,9]]},"263":{"position":[[668,7]]},"316":{"position":[[1069,7]]},"317":{"position":[[962,9]]},"326":{"position":[[7,8]]},"337":{"position":[[1507,7]]},"1208":{"position":[[0,7]]},"1298":{"position":[[18,8]]},"1473":{"position":[[388,7]]},"1476":{"position":[[2287,7],[8301,7],[8835,7]]},"1583":{"position":[[14,7]]},"1590":{"position":[[23,7]]},"1746":{"position":[[19,7]]},"2240":{"position":[[2217,8],[5391,7],[5469,8]]},"2344":{"position":[[25,8]]},"2352":{"position":[[50,7],[128,8]]}},"keywords":{}}],["proxim",{"_index":92,"title":{"22":{"position":[[8,9]]},"260":{"position":[[8,9]]}},"content":{"0":{"position":[[1622,9],[1652,9],[1750,9]]},"22":{"position":[[8,9],[38,9],[136,9],[421,9],[527,9],[931,9],[1030,9],[1207,9]]},"46":{"position":[[992,9],[1171,9]]},"260":{"position":[[17,9]]},"264":{"position":[[232,9],[269,9],[647,9],[1263,9]]}},"keywords":{}}],["ptr",{"_index":8083,"title":{},"content":{"2031":{"position":[[4541,3],[4620,5],[4710,3]]}},"keywords":{}}],["public",{"_index":252,"title":{},"content":{"10":{"position":[[812,6],[844,6],[1011,6],[1140,6],[1156,6],[1182,6],[1207,6],[1607,6]]},"15":{"position":[[939,6]]},"27":{"position":[[0,6],[43,6],[85,6]]},"35":{"position":[[0,6],[41,6],[81,6],[124,6],[191,6],[261,6],[327,6],[423,6],[519,6],[635,6]]},"36":{"position":[[0,6],[43,6],[85,6],[152,6],[222,6],[265,6],[307,6],[379,6]]},"42":{"position":[[680,6],[719,6],[749,6],[769,6],[1226,6],[1252,6],[1277,6],[1324,6],[1354,6],[1757,6],[2119,6]]},"71":{"position":[[1455,6],[1726,6]]},"85":{"position":[[587,6],[616,6],[631,6],[1009,6],[1038,6],[1053,6]]},"92":{"position":[[1598,6]]},"100":{"position":[[511,6],[664,6]]},"116":{"position":[[137,6],[162,6]]},"117":{"position":[[704,6],[837,6],[902,6],[961,6],[2419,6],[2478,6],[2499,6],[2521,6],[2591,6],[2631,6],[2653,6],[2708,6]]},"123":{"position":[[34,6],[121,6]]},"124":{"position":[[50,6],[131,6]]},"125":{"position":[[42,6],[143,6],[566,6]]},"129":{"position":[[72,6],[165,6]]},"130":{"position":[[52,6],[120,6],[200,6]]},"131":{"position":[[48,6],[80,6],[513,6]]},"135":{"position":[[34,6],[110,6]]},"136":{"position":[[36,6],[112,6]]},"137":{"position":[[31,6],[63,6],[474,6]]},"141":{"position":[[0,6],[82,6]]},"142":{"position":[[37,6],[138,6],[561,6]]},"148":{"position":[[71,6],[172,6]]},"149":{"position":[[100,6],[213,6]]},"150":{"position":[[23,6],[118,6]]},"151":{"position":[[68,6],[131,6],[349,6],[928,6]]},"155":{"position":[[77,6],[167,6]]},"156":{"position":[[45,6],[77,6],[518,6]]},"158":{"position":[[77,6],[165,6]]},"159":{"position":[[52,6],[120,6],[200,6]]},"160":{"position":[[48,6],[80,6],[513,6]]},"184":{"position":[[693,6]]},"186":{"position":[[286,6]]},"203":{"position":[[1604,6]]},"207":{"position":[[225,6]]},"209":{"position":[[376,6],[423,6],[455,6],[565,6],[632,6],[684,6]]},"210":{"position":[[590,6],[748,6],[997,6],[1209,6],[1255,6],[1285,6],[1365,6],[1552,6]]},"211":{"position":[[112,6],[187,6],[635,6]]},"224":{"position":[[223,6],[266,6],[368,6]]},"225":{"position":[[392,6],[435,6],[464,6],[493,6]]},"238":{"position":[[511,6],[558,6],[606,6],[947,6],[1273,6],[2484,6]]},"240":{"position":[[1613,6],[1861,6],[1926,6],[1972,6],[2009,6],[2038,6],[2068,6],[2097,6],[2175,6]]},"241":{"position":[[2175,6],[2265,6],[2299,6],[2329,6],[2358,6],[3067,6]]},"242":{"position":[[166,6],[238,6]]},"245":{"position":[[376,6],[424,6],[454,6],[482,6],[504,6],[526,6],[862,6],[1846,6],[3643,6],[3692,6],[3782,6]]},"249":{"position":[[1148,6],[1441,6]]},"251":{"position":[[272,6],[352,6],[400,6],[426,6],[451,6],[1896,6],[2579,6]]},"254":{"position":[[883,6],[937,6],[966,6],[1014,6]]},"255":{"position":[[135,6]]},"264":{"position":[[312,6]]},"272":{"position":[[452,6],[501,6],[560,6],[673,6],[731,6],[790,6],[893,6],[1023,6]]},"273":{"position":[[517,6],[558,6],[627,6],[756,6]]},"279":{"position":[[135,6]]},"280":{"position":[[142,6],[171,6],[189,6],[214,6],[234,6],[305,6],[334,6],[748,6]]},"285":{"position":[[121,6]]},"288":{"position":[[401,6],[542,6],[710,6],[961,6],[1022,6],[1783,6],[2122,6],[2402,6]]},"290":{"position":[[71,6],[122,6],[160,6]]},"291":{"position":[[255,6],[306,6],[344,6],[621,6],[888,6]]},"294":{"position":[[364,6],[415,6],[764,6]]},"295":{"position":[[656,6],[702,6],[751,6],[817,6]]},"307":{"position":[[117,6],[158,6]]},"308":{"position":[[122,6],[173,6],[1534,6],[1587,6]]},"310":{"position":[[147,6]]},"311":{"position":[[137,6]]},"312":{"position":[[144,6]]},"314":{"position":[[1028,6],[1096,6]]},"315":{"position":[[538,6],[581,6],[699,6]]},"316":{"position":[[318,6],[362,6],[407,6],[429,6],[1130,6],[1212,6],[1587,6]]},"317":{"position":[[1140,6],[1162,6],[1181,6],[1208,6],[1240,6],[1278,6],[1446,6]]},"319":{"position":[[107,6],[179,6],[195,6]]},"320":{"position":[[373,6],[402,6],[501,6],[546,6],[636,6]]},"321":{"position":[[248,6],[283,6]]},"322":{"position":[[163,6],[195,6],[215,6],[233,6],[279,6]]},"327":{"position":[[202,6],[615,6],[1056,6],[1079,6],[1101,6]]},"328":{"position":[[58,6],[160,6],[755,6],[778,6],[821,6],[869,6],[986,6],[1033,6],[1185,6],[1504,6],[1532,6],[1554,6],[1584,6],[1631,6],[1886,6],[2378,6],[2425,6],[2640,6]]},"332":{"position":[[475,6],[608,6],[657,6],[937,6]]},"337":{"position":[[157,6],[232,6]]},"340":{"position":[[22,6],[79,6],[220,6],[761,6],[819,6],[877,6],[1037,6]]},"343":{"position":[[81,6],[102,6],[122,6],[144,6],[169,6],[210,6]]},"345":{"position":[[40,6],[81,6],[186,6],[955,6]]},"346":{"position":[[50,6],[129,6],[161,6],[196,6],[475,6],[1486,6]]},"348":{"position":[[554,6],[1069,6],[1332,6]]},"351":{"position":[[62,6],[83,6],[103,6],[122,6],[146,6],[265,6],[301,6]]},"353":{"position":[[40,6],[877,6]]},"381":{"position":[[34,6]]},"398":{"position":[[7,6]]},"436":{"position":[[68,6]]},"509":{"position":[[71,6]]},"522":{"position":[[28,6]]},"549":{"position":[[51,6]]},"555":{"position":[[278,6]]},"605":{"position":[[12,6]]},"608":{"position":[[28,6]]},"614":{"position":[[282,6]]},"625":{"position":[[19,6]]},"702":{"position":[[46,6]]},"768":{"position":[[145,6]]},"934":{"position":[[30,6]]},"1141":{"position":[[19,6],[61,6],[103,6],[145,6],[187,6],[229,6],[271,6]]},"1467":{"position":[[309,6]]},"1474":{"position":[[12242,6]]},"1476":{"position":[[4734,6]]},"1513":{"position":[[16,6]]},"1566":{"position":[[1086,6]]},"1771":{"position":[[29,6],[96,6],[164,6]]},"1772":{"position":[[35,6],[187,6]]},"1774":{"position":[[22,6],[113,6],[239,6],[323,6]]},"1775":{"position":[[36,6],[284,6],[631,6],[980,6],[1222,6]]},"1777":{"position":[[91,6],[142,6],[293,6]]},"1780":{"position":[[219,6]]},"1781":{"position":[[256,6]]},"1783":{"position":[[33,6],[900,6]]},"1785":{"position":[[32,6]]},"1791":{"position":[[22,6]]},"1793":{"position":[[32,6]]},"1795":{"position":[[969,6]]},"1801":{"position":[[66,6]]},"1802":{"position":[[121,6],[258,6]]},"1803":{"position":[[173,6]]},"1805":{"position":[[22,6],[65,6]]},"1806":{"position":[[40,6]]},"1807":{"position":[[37,6]]},"1809":{"position":[[22,6],[82,6]]},"1814":{"position":[[25,6]]},"1816":{"position":[[21,6],[71,6],[128,6],[206,6]]},"1817":{"position":[[22,6]]},"1819":{"position":[[27,6],[127,6],[225,6],[282,6],[446,6]]},"1820":{"position":[[409,6]]},"1825":{"position":[[25,6]]},"1826":{"position":[[431,6]]},"1832":{"position":[[25,6]]},"1837":{"position":[[28,6],[104,6]]},"1838":{"position":[[30,6]]},"1840":{"position":[[31,6],[116,6]]},"1841":{"position":[[21,6],[111,6]]},"1842":{"position":[[30,6]]},"1844":{"position":[[39,6]]},"1846":{"position":[[44,6]]},"1847":{"position":[[22,6]]},"1848":{"position":[[25,6],[112,6],[157,6]]},"1850":{"position":[[30,6],[102,6]]},"1851":{"position":[[30,6]]},"1853":{"position":[[25,6],[95,6],[313,6]]},"1854":{"position":[[20,6],[72,6],[127,6],[183,6]]},"1855":{"position":[[400,6],[443,6],[508,6],[680,6],[854,6],[1030,6],[1181,6],[1292,6],[1452,6],[1499,6],[1644,6],[1786,6],[1938,6],[2130,6],[2307,6],[2527,6],[2681,6],[2876,6],[3016,6],[3146,6],[3452,6],[3668,6],[3790,6]]},"1857":{"position":[[37,6]]},"1859":{"position":[[20,6],[72,6],[127,6]]},"1860":{"position":[[400,6],[443,6],[508,6],[680,6],[854,6],[1030,6],[1181,6],[1432,6],[1479,6],[1624,6],[1765,6],[1905,6],[2211,6],[2401,6],[2597,6],[2839,6],[3075,6],[3305,6],[3533,6],[3758,6],[3994,6],[4189,6]]},"1862":{"position":[[63,6]]},"1864":{"position":[[20,6],[72,6],[127,6],[176,6],[243,6],[600,6]]},"1865":{"position":[[400,6],[443,6],[508,6],[680,6],[854,6],[1030,6],[1182,6],[1235,6],[1381,6],[1539,6],[1721,6],[1870,6],[2082,6],[2347,6],[2603,6],[2832,6]]},"1869":{"position":[[21,6],[72,6]]},"1870":{"position":[[38,6],[233,6]]},"1872":{"position":[[26,6],[86,6]]},"1873":{"position":[[20,6],[72,6],[127,6]]},"1874":{"position":[[400,6],[443,6],[508,6],[680,6],[854,6],[1030,6],[1182,6],[1294,6],[1454,6],[1508,6],[1645,6]]},"1875":{"position":[[1552,6]]},"1877":{"position":[[22,6]]},"1878":{"position":[[32,6]]},"1880":{"position":[[21,6],[66,6]]},"1881":{"position":[[22,6]]},"1885":{"position":[[21,6],[71,6],[129,6],[206,6]]},"1886":{"position":[[23,6]]},"1888":{"position":[[21,6],[71,6],[129,6]]},"1894":{"position":[[199,6]]},"1897":{"position":[[44,6],[208,6],[353,6]]},"1899":{"position":[[34,6],[168,6],[291,6]]},"1902":{"position":[[48,6],[224,6],[381,6]]},"1904":{"position":[[39,6],[181,6],[307,6],[449,6]]},"1905":{"position":[[1190,6]]},"1907":{"position":[[53,6],[237,6],[397,6],[605,6]]},"1909":{"position":[[49,6],[221,6],[369,6],[560,6]]},"1910":{"position":[[71,6]]},"1911":{"position":[[1451,6]]},"1912":{"position":[[72,6]]},"1925":{"position":[[75,6]]},"1926":{"position":[[1420,6]]},"1930":{"position":[[87,6]]},"1932":{"position":[[48,6],[236,6]]},"1934":{"position":[[22,6]]},"1935":{"position":[[42,6],[247,6],[473,6],[824,6],[1236,6]]},"1937":{"position":[[24,6]]},"1939":{"position":[[40,6],[268,6],[527,6],[707,6],[880,6],[1057,6],[1236,6]]},"1941":{"position":[[54,6],[260,6]]},"1942":{"position":[[19,6],[63,6],[111,6]]},"1943":{"position":[[23,6]]},"1944":{"position":[[54,6]]},"1946":{"position":[[79,6]]},"1947":{"position":[[46,6],[256,6]]},"1951":{"position":[[70,6]]},"1952":{"position":[[25,6],[99,6],[154,6],[448,6],[500,6],[555,6]]},"1953":{"position":[[48,6],[265,6]]},"1960":{"position":[[88,6]]},"1961":{"position":[[58,6],[144,6],[255,6],[342,6],[419,6],[472,6]]},"1962":{"position":[[74,6]]},"1963":{"position":[[42,6]]},"1964":{"position":[[63,6]]},"1966":{"position":[[77,6],[489,6],[922,6],[1473,6],[1987,6],[2383,6]]},"1970":{"position":[[137,6],[189,6]]},"1971":{"position":[[46,6],[266,6],[755,6],[1211,6],[1424,6],[1670,6]]},"1973":{"position":[[20,6],[67,6],[115,6]]},"1975":{"position":[[22,6],[64,6]]},"1977":{"position":[[20,6],[67,6],[183,6],[225,6]]},"1979":{"position":[[77,6],[494,6],[1015,6]]},"1981":{"position":[[39,6]]},"1985":{"position":[[55,6]]},"1987":{"position":[[34,6]]},"1988":{"position":[[27,6],[194,6],[372,6],[535,6]]},"1990":{"position":[[173,6],[669,6],[1085,6]]},"1992":{"position":[[230,6],[501,6]]},"1994":{"position":[[80,6],[329,6]]},"1996":{"position":[[49,6],[382,6]]},"1998":{"position":[[84,6],[323,6]]},"2000":{"position":[[42,6],[296,6],[466,6],[806,6]]},"2001":{"position":[[97,6],[333,6],[686,6],[867,6],[1080,6],[1273,6]]},"2003":{"position":[[153,6],[492,6],[762,6],[1080,6],[1342,6],[1615,6],[1958,6],[2275,6],[2523,6],[2801,6],[3081,6],[3346,6],[3602,6],[3915,6]]},"2005":{"position":[[17,6]]},"2007":{"position":[[59,6]]},"2009":{"position":[[165,6]]},"2010":{"position":[[142,6],[243,6],[380,6],[552,6],[736,6],[950,6],[1249,6]]},"2012":{"position":[[67,6],[332,6],[588,6],[849,6],[1118,6],[1371,6],[1636,6],[1885,6]]},"2014":{"position":[[17,6],[63,6],[109,6],[155,6],[202,6],[249,6],[296,6],[344,6],[392,6],[441,6],[492,6],[543,6],[594,6],[645,6],[697,6],[749,6],[801,6],[854,6],[907,6],[960,6],[1014,6],[1068,6],[1122,6],[1176,6],[1231,6],[1286,6],[1341,6],[1397,6],[1453,6],[1509,6],[1566,6],[1623,6],[1680,6],[1737,6],[1795,6],[1853,6],[1911,6],[1970,6],[2029,6],[2088,6],[2148,6],[2208,6],[2268,6],[2328,6],[2389,6],[2450,6],[2511,6],[2573,6],[2635,6],[2697,6],[2760,6],[2823,6],[2886,6],[2949,6],[3013,6],[3077,6],[3141,6],[3206,6],[3271,6],[3336,6],[3402,6],[3468,6],[3534,6],[3600,6]]},"2016":{"position":[[38,6],[334,6],[809,6],[1253,6]]},"2018":{"position":[[91,6]]},"2019":{"position":[[153,6],[409,6]]},"2021":{"position":[[30,6]]},"2022":{"position":[[63,6],[165,6],[269,6]]},"2023":{"position":[[245,6],[314,6],[476,6],[605,6],[807,6],[931,6],[1131,6],[1298,6],[1437,6],[1538,6],[1628,6],[1716,6],[1808,6],[1902,6],[1992,6],[2084,6],[2175,6],[2269,6],[2363,6],[2457,6],[2661,6],[2912,6],[3205,6],[3420,6],[3639,6],[3832,6]]},"2025":{"position":[[53,6],[270,6],[496,6],[714,6],[933,6],[1156,6],[1381,6],[1605,6]]},"2027":{"position":[[57,6],[367,6]]},"2029":{"position":[[35,6],[185,6]]},"2030":{"position":[[48,6],[190,6],[315,6]]},"2031":{"position":[[74,6],[189,6],[285,6],[436,6],[600,6],[725,6],[845,6],[964,6],[1088,6],[1213,6],[1335,6],[1458,6],[1581,6],[1707,6],[1833,6],[1961,6],[2348,6],[2881,6],[3365,6],[3574,6],[3791,6],[4018,6],[4262,6],[4587,6]]},"2033":{"position":[[64,6],[414,6]]},"2035":{"position":[[45,6]]},"2037":{"position":[[19,6]]},"2039":{"position":[[324,6]]},"2040":{"position":[[49,6],[272,6],[521,6],[902,6]]},"2042":{"position":[[38,6]]},"2043":{"position":[[78,6],[208,6]]},"2044":{"position":[[36,6],[211,6],[400,6],[582,6],[746,6],[936,6]]},"2046":{"position":[[45,6]]},"2047":{"position":[[42,6],[228,6]]},"2049":{"position":[[44,6]]},"2050":{"position":[[42,6],[227,6]]},"2052":{"position":[[46,6],[247,6]]},"2054":{"position":[[195,6]]},"2056":{"position":[[54,6],[282,6],[502,6],[725,6],[961,6],[1195,6],[1428,6],[1663,6],[1901,6],[2127,6],[2389,6],[2646,6],[2873,6],[3093,6],[3313,6],[3546,6],[3777,6],[4011,6],[4244,6],[4479,6],[4705,6],[4954,6]]},"2058":{"position":[[51,6],[267,6],[483,6],[705,6],[936,6],[1157,6],[1367,6],[1577,6],[1780,6],[1982,6],[2190,6],[2402,6],[2615,6],[2828,6],[3044,6],[3269,6],[3489,6],[3696,6],[3906,6],[4108,6],[4311,6],[4514,6]]},"2060":{"position":[[49,6],[286,6]]},"2062":{"position":[[47,6]]},"2063":{"position":[[43,6],[230,6]]},"2065":{"position":[[43,6],[246,6]]},"2066":{"position":[[41,6],[311,6],[671,6],[871,6],[1071,6],[1268,6],[1472,6],[1676,6]]},"2068":{"position":[[67,6],[337,6],[568,6],[827,6]]},"2070":{"position":[[47,6]]},"2071":{"position":[[43,6],[230,6]]},"2073":{"position":[[58,6],[312,6],[562,6]]},"2074":{"position":[[43,6],[224,6]]},"2076":{"position":[[83,6],[435,6],[712,6],[1048,6]]},"2078":{"position":[[73,6],[412,6],[736,6]]},"2079":{"position":[[43,6],[224,6]]},"2080":{"position":[[189,6]]},"2082":{"position":[[51,6]]},"2083":{"position":[[625,6]]},"2085":{"position":[[20,6]]},"2087":{"position":[[38,6]]},"2089":{"position":[[28,6],[179,6],[333,6],[485,6]]},"2097":{"position":[[59,6]]},"2098":{"position":[[21,6],[77,6],[130,6]]},"2099":{"position":[[28,6]]},"2100":{"position":[[49,6]]},"2102":{"position":[[27,6],[76,6],[116,6],[162,6],[207,6]]},"2103":{"position":[[29,6],[145,6],[213,6],[416,6],[519,6],[715,6]]},"2106":{"position":[[98,6]]},"2108":{"position":[[73,6]]},"2112":{"position":[[104,6]]},"2113":{"position":[[30,6],[143,6],[268,6],[373,6],[446,6],[593,6],[761,6],[848,6]]},"2114":{"position":[[24,6],[225,6],[488,6],[636,6],[731,6],[1031,6],[1322,6],[1593,6],[1932,6],[2124,6],[2331,6]]},"2116":{"position":[[27,6]]},"2117":{"position":[[34,6]]},"2119":{"position":[[403,6],[585,6]]},"2121":{"position":[[20,6]]},"2122":{"position":[[55,6],[340,6]]},"2126":{"position":[[49,6],[257,6],[483,6],[699,6],[929,6],[1139,6],[1366,6],[1579,6]]},"2130":{"position":[[75,6],[214,6],[335,6],[646,6],[767,6],[989,6],[1112,6],[1215,6],[1374,6],[1492,6],[1690,6],[1915,6],[2254,6],[2467,6],[2666,6],[2840,6]]},"2132":{"position":[[50,6],[282,6],[535,6],[825,6],[1157,6],[1470,6],[1793,6],[2021,6]]},"2149":{"position":[[47,6]]},"2150":{"position":[[101,6]]},"2160":{"position":[[28,6],[78,6]]},"2164":{"position":[[29,6]]},"2165":{"position":[[24,6],[82,6],[141,6]]},"2166":{"position":[[28,6],[160,6],[276,6],[395,6],[526,6],[671,6],[822,6],[971,6],[1118,6],[1263,6],[1406,6],[1558,6]]},"2168":{"position":[[98,6],[168,6],[256,6],[338,6],[428,6],[520,6],[615,6],[709,6],[815,6],[929,6],[1054,6],[1180,6],[1307,6],[1508,6],[1648,6],[1861,6],[1991,6],[2186,6],[2320,6],[2527,6],[2651,6],[2840,6],[2968,6],[3169,6]]},"2169":{"position":[[75,6],[264,6],[392,6],[593,6]]},"2171":{"position":[[75,6]]},"2172":{"position":[[26,6]]},"2173":{"position":[[30,6],[173,6],[372,6],[483,6],[585,6]]},"2174":{"position":[[45,6]]},"2175":{"position":[[52,6]]},"2177":{"position":[[47,6]]},"2178":{"position":[[21,6],[71,6],[123,6]]},"2179":{"position":[[25,6]]},"2183":{"position":[[126,6],[625,6]]},"2184":{"position":[[22,6]]},"2185":{"position":[[103,6],[269,6],[335,6]]},"2187":{"position":[[125,6]]},"2191":{"position":[[31,6]]},"2192":{"position":[[75,6]]},"2193":{"position":[[76,6],[275,6],[557,6],[855,6]]},"2198":{"position":[[118,6]]},"2199":{"position":[[73,6],[252,6],[425,6],[666,6]]},"2201":{"position":[[41,6],[242,6]]},"2202":{"position":[[24,6]]},"2203":{"position":[[19,6],[66,6],[195,6],[245,6],[302,6],[364,6],[420,6]]},"2204":{"position":[[37,6],[193,6],[447,6],[694,6],[987,6],[1130,6],[1249,6],[1447,6],[1581,6],[1884,6],[1969,6],[2043,6]]},"2206":{"position":[[21,6],[71,6]]},"2208":{"position":[[40,6]]},"2209":{"position":[[20,6]]},"2210":{"position":[[29,6],[191,6],[290,6]]},"2212":{"position":[[43,6]]},"2213":{"position":[[27,6]]},"2215":{"position":[[42,6]]},"2217":{"position":[[221,6]]},"2221":{"position":[[43,6]]},"2222":{"position":[[24,6]]},"2223":{"position":[[30,6],[173,6],[308,6],[350,6],[456,6],[692,6]]},"2227":{"position":[[30,6],[173,6],[308,6],[371,6],[497,6],[733,6]]},"2229":{"position":[[46,6],[284,6]]},"2231":{"position":[[22,6],[64,6],[108,6],[161,6]]},"2232":{"position":[[28,6]]},"2233":{"position":[[35,6],[169,6],[300,6],[465,6]]},"2234":{"position":[[35,6]]},"2235":{"position":[[76,6]]},"2237":{"position":[[69,6]]},"2238":{"position":[[21,6]]},"2246":{"position":[[61,6]]},"2247":{"position":[[19,6]]},"2248":{"position":[[24,6]]},"2252":{"position":[[21,6],[71,6],[127,6],[202,6],[284,6],[359,6],[420,6],[465,6],[519,6],[627,6],[773,6]]},"2253":{"position":[[398,6],[652,6],[925,6],[1496,6]]},"2255":{"position":[[217,6]]},"2263":{"position":[[181,6],[445,6],[695,6]]},"2264":{"position":[[21,6]]},"2265":{"position":[[150,6],[314,6],[804,6],[1669,6],[2647,6],[2948,6],[3357,6],[4237,6],[5130,6],[5588,6],[5956,6],[6364,6],[6639,6],[6739,6],[7060,6]]},"2267":{"position":[[22,6],[67,6],[119,6],[212,6]]},"2269":{"position":[[49,6]]},"2270":{"position":[[45,6]]},"2272":{"position":[[46,6]]},"2273":{"position":[[20,6],[68,6]]},"2274":{"position":[[22,6],[69,6]]},"2275":{"position":[[134,6]]},"2277":{"position":[[103,6]]},"2279":{"position":[[217,6]]},"2281":{"position":[[71,6],[318,6]]},"2283":{"position":[[20,6]]},"2285":{"position":[[21,6],[242,6]]},"2287":{"position":[[254,6]]},"2288":{"position":[[64,6]]},"2290":{"position":[[162,6]]},"2313":{"position":[[217,6]]},"2314":{"position":[[42,6]]},"2315":{"position":[[47,6]]},"2316":{"position":[[52,6]]},"2317":{"position":[[57,6]]},"2319":{"position":[[63,6]]},"2320":{"position":[[84,6],[549,6],[661,6],[760,6],[1015,6]]},"2322":{"position":[[339,6],[900,6],[1617,6],[2339,6]]},"2324":{"position":[[52,6]]},"2325":{"position":[[26,6],[411,6]]},"2327":{"position":[[82,6],[206,6]]},"2329":{"position":[[81,6],[349,6],[708,6],[1081,6]]},"2331":{"position":[[30,6],[121,6]]},"2332":{"position":[[71,6],[366,6],[863,6],[1081,6],[1519,6],[1739,6]]},"2334":{"position":[[55,6]]},"2335":{"position":[[20,6]]},"2336":{"position":[[55,6]]},"2338":{"position":[[40,6]]},"2339":{"position":[[20,6]]},"2341":{"position":[[32,6],[192,6]]},"2342":{"position":[[20,6],[77,6]]},"2343":{"position":[[28,6],[144,6],[328,6]]},"2344":{"position":[[219,6]]},"2346":{"position":[[48,6]]},"2347":{"position":[[45,6],[158,6],[311,6]]},"2349":{"position":[[32,6],[89,6],[141,6],[205,6],[283,6],[349,6],[409,6],[466,6],[630,6]]},"2350":{"position":[[22,6],[134,6],[204,6],[347,6],[469,6],[658,6],[848,6],[996,6],[1142,6],[1253,6],[1307,6],[1371,6],[1445,6],[1626,6],[1746,6]]},"2351":{"position":[[98,6],[365,6],[769,6],[968,6],[1212,6],[1406,6],[1462,6]]},"2352":{"position":[[273,6]]},"2353":{"position":[[83,6]]},"2355":{"position":[[81,6],[348,6]]},"2357":{"position":[[208,6],[423,6]]},"2358":{"position":[[260,6],[391,6],[529,6],[622,6],[1173,6],[1282,6],[1419,6],[1791,6],[1995,6],[2075,6],[2249,6],[2358,6],[2530,6],[2685,6],[2743,6],[2918,6],[3047,6],[3313,6],[3434,6]]},"2359":{"position":[[829,6],[1244,6],[1562,6],[1707,6],[1821,6],[2002,6],[2211,6],[2408,6],[2665,6],[3184,6],[3485,6],[3768,6],[4197,6],[4462,6],[4685,6]]},"2363":{"position":[[20,6]]},"2364":{"position":[[1575,6]]},"2366":{"position":[[21,6],[71,6],[134,6],[216,6],[298,6],[379,6]]},"2367":{"position":[[170,6],[310,6]]},"2369":{"position":[[28,6],[162,6],[253,6],[397,6]]},"2370":{"position":[[100,6],[218,6],[356,6],[449,6],[677,6],[1068,6],[1385,6],[1493,6],[1630,6],[1725,6],[1834,6],[1924,6],[1988,6],[2186,6],[2298,6],[2525,6],[2689,6],[2977,6],[3049,6],[3526,6],[3911,6],[4283,6],[4742,6],[4972,6],[5226,6],[5355,6],[5436,6]]},"2371":{"position":[[194,6],[870,6],[1283,6],[1345,6]]},"2373":{"position":[[29,6],[101,6],[171,6],[229,6],[273,6]]},"2377":{"position":[[29,6],[96,6],[152,6],[211,6],[274,6],[326,6],[380,6]]},"2378":{"position":[[39,6],[122,6],[207,6],[281,6],[358,6]]},"2379":{"position":[[231,6]]},"2381":{"position":[[32,6]]},"2382":{"position":[[103,6]]},"2383":{"position":[[22,6],[73,6],[329,6],[862,6]]},"2385":{"position":[[51,6]]},"2386":{"position":[[199,6]]},"2388":{"position":[[21,6],[85,6]]},"2390":{"position":[[25,6]]},"2392":{"position":[[25,6],[76,6]]},"2394":{"position":[[22,6]]},"2396":{"position":[[81,6],[241,6],[432,6]]},"2397":{"position":[[22,6],[270,6],[803,6]]},"2399":{"position":[[126,6]]},"2400":{"position":[[21,6],[129,6],[261,6],[890,6],[985,6],[1153,6],[1213,6],[1349,6],[1444,6],[1581,6]]},"2401":{"position":[[63,6],[365,6],[543,6],[665,6],[1067,6],[1359,6],[1538,6],[1657,6],[1824,6],[2037,6],[2326,6],[2411,6],[2580,6],[2747,6],[3019,6]]},"2403":{"position":[[159,6]]},"2404":{"position":[[30,6],[286,6],[819,6]]},"2406":{"position":[[28,6]]},"2407":{"position":[[105,6],[204,6]]},"2408":{"position":[[65,6],[208,6],[344,6],[458,6],[588,6],[709,6],[846,6]]},"2409":{"position":[[22,6],[120,6]]},"2411":{"position":[[89,6],[452,6]]},"2412":{"position":[[27,6],[80,6],[130,6],[176,6],[223,6]]},"2413":{"position":[[22,6]]},"2415":{"position":[[21,6],[71,6],[134,6],[216,6],[311,6],[463,6],[590,6]]},"2416":{"position":[[134,6],[265,6],[454,6],[625,6],[777,6],[940,6],[1103,6]]},"2417":{"position":[[22,6],[77,6],[226,6],[628,6],[950,6],[1501,6],[3027,6],[3292,6],[3825,6],[4275,6],[4820,6],[5350,6],[5988,6],[6910,6],[7821,6],[8295,6],[9989,6],[10524,6],[10761,6]]},"2419":{"position":[[32,6],[89,6],[282,6],[345,6],[411,6],[471,6],[524,6],[575,6],[639,6],[709,6],[873,6]]},"2420":{"position":[[22,6],[134,6],[204,6],[349,6],[417,6],[491,6],[568,6],[639,6],[709,6],[782,6],[904,6],[1006,6],[1193,6],[1323,6],[1435,6],[1598,6],[1752,6],[1950,6],[1999,6],[2063,6],[2137,6]]},"2421":{"position":[[131,6],[262,6],[474,6],[530,6],[654,6],[1045,6],[1309,6],[1659,6],[2118,6],[2559,6],[2981,6],[3520,6],[4011,6]]},"2425":{"position":[[24,6],[76,6],[134,6],[192,6],[247,6]]},"2427":{"position":[[30,6],[98,6],[176,6],[251,6]]},"2429":{"position":[[79,6],[372,6],[644,6]]},"2431":{"position":[[21,6]]},"2434":{"position":[[227,6],[949,6]]},"2435":{"position":[[53,6]]},"2437":{"position":[[145,6],[502,6]]},"2439":{"position":[[29,6]]},"2440":{"position":[[43,6],[109,6]]},"2441":{"position":[[58,6]]},"2443":{"position":[[20,6]]},"2445":{"position":[[20,6]]},"2447":{"position":[[21,6],[84,6],[158,6],[212,6]]},"2450":{"position":[[79,6]]},"2451":{"position":[[234,6]]},"2453":{"position":[[20,6]]},"2455":{"position":[[28,6]]},"2457":{"position":[[96,6]]},"2458":{"position":[[65,6],[570,6],[832,6],[1107,6],[1343,6],[1567,6],[1865,6],[2124,6],[2339,6],[2554,6],[2730,6],[2879,6],[3096,6],[3274,6]]},"2461":{"position":[[122,6]]},"2462":{"position":[[274,6]]},"2463":{"position":[[130,6]]},"2465":{"position":[[32,6],[94,6],[161,6]]},"2466":{"position":[[310,6]]},"2469":{"position":[[80,6]]},"2471":{"position":[[217,6]]},"2473":{"position":[[46,6],[284,6],[634,6]]},"2474":{"position":[[253,6]]},"2476":{"position":[[22,6],[77,6]]},"2478":{"position":[[456,6],[1398,6],[2193,6],[3052,6],[3657,6],[4207,6],[4718,6],[5094,6],[5616,6]]},"2480":{"position":[[29,6]]},"2481":{"position":[[21,6],[91,6]]},"2482":{"position":[[422,6],[1247,6],[2055,6],[2930,6],[3289,6],[3566,6],[4063,6],[4485,6],[4738,6],[5024,6],[5372,6],[5770,6],[6052,6],[6367,6],[6838,6],[7221,6],[7817,6]]},"2483":{"position":[[67,6]]},"2484":{"position":[[43,6]]},"2486":{"position":[[44,6],[219,6],[503,6],[829,6],[1138,6]]},"2487":{"position":[[21,6],[83,6],[156,6]]},"2488":{"position":[[29,6]]},"2489":{"position":[[49,6],[213,6]]},"2490":{"position":[[38,6]]},"2492":{"position":[[52,6],[169,6],[258,6],[337,6],[469,6],[578,6],[708,6]]},"2493":{"position":[[25,6]]},"2495":{"position":[[43,6]]},"2497":{"position":[[23,6],[72,6],[121,6],[163,6],[208,6]]},"2498":{"position":[[25,6]]},"2500":{"position":[[26,6]]},"2501":{"position":[[110,6]]},"2509":{"position":[[42,6],[181,6]]},"2510":{"position":[[21,6],[77,6]]},"2511":{"position":[[107,6],[411,6]]},"2513":{"position":[[57,6],[282,6]]},"2515":{"position":[[31,6],[350,6],[389,6],[428,6],[477,6],[522,6]]},"2516":{"position":[[45,6],[250,6],[535,6],[799,6],[1013,6],[1224,6],[1446,6]]},"2522":{"position":[[90,6],[251,6],[370,6],[509,6],[604,6]]},"2523":{"position":[[33,6]]},"2525":{"position":[[20,6],[61,6]]},"2527":{"position":[[61,6],[296,6]]},"2529":{"position":[[46,6]]},"2531":{"position":[[22,6]]}},"keywords":{}}],["publicnetworkplayer.sceneisreadi",{"_index":4034,"title":{},"content":{"845":{"position":[[71,32]]}},"keywords":{}}],["pull",{"_index":901,"title":{},"content":{"79":{"position":[[62,4]]},"168":{"position":[[214,4]]},"1477":{"position":[[4418,4]]}},"keywords":{}}],["punch",{"_index":917,"title":{},"content":{"81":{"position":[[224,5]]},"175":{"position":[[864,5]]}},"keywords":{}}],["punctuat",{"_index":5610,"title":{},"content":{"1474":{"position":[[8368,11]]},"1678":{"position":[[69,11]]}},"keywords":{}}],["purchase(str",{"_index":2850,"title":{},"content":{"351":{"position":[[313,15]]}},"keywords":{}}],["pure",{"_index":1405,"title":{},"content":{"175":{"position":[[1125,6]]}},"keywords":{}}],["purpos",{"_index":1352,"title":{},"content":{"172":{"position":[[506,7]]},"213":{"position":[[1665,7]]},"257":{"position":[[501,7]]},"300":{"position":[[146,8]]}},"keywords":{}}],["push",{"_index":4048,"title":{},"content":{"847":{"position":[[147,6]]}},"keywords":{}}],["push(t",{"_index":7405,"title":{},"content":{"1874":{"position":[[1160,8],[1194,6]]}},"keywords":{}}],["put",{"_index":123,"title":{},"content":{"2":{"position":[[261,3]]},"14":{"position":[[988,3]]},"46":{"position":[[496,7]]},"179":{"position":[[276,3],[421,3]]},"182":{"position":[[2129,3],[2258,3],[2345,3]]},"251":{"position":[[136,4],[2380,3]]},"317":{"position":[[162,3]]},"761":{"position":[[28,7]]},"770":{"position":[[33,3]]},"2027":{"position":[[329,4]]},"2033":{"position":[[376,4]]}},"keywords":{}}],["put(t",{"_index":8555,"title":{},"content":{"2185":{"position":[[314,7],[347,5]]}},"keywords":{}}],["putbackinpool(networkident",{"_index":2188,"title":{},"content":{"251":{"position":[[2591,29]]}},"keywords":{}}],["putbackinpool(spawn",{"_index":1924,"title":{},"content":{"237":{"position":[[560,23]]},"251":{"position":[[927,23]]}},"keywords":{}}],["pve",{"_index":232,"title":{},"content":{"10":{"position":[[371,3],[1064,5]]}},"keywords":{}}],["pvp",{"_index":231,"title":{},"content":{"10":{"position":[[364,3],[1058,5]]}},"keywords":{}}],["q",{"_index":1251,"title":{},"content":{"139":{"position":[[447,2],[589,2],[592,2]]}},"keywords":{}}],["q(x,y,z,w",{"_index":1250,"title":{},"content":{"139":{"position":[[432,10]]}},"keywords":{}}],["qualifi",{"_index":321,"title":{},"content":{"14":{"position":[[306,9]]}},"keywords":{}}],["quaternion",{"_index":1147,"title":{"138":{"position":[[0,10]]},"139":{"position":[[0,10]]}},"content":{"119":{"position":[[606,10]]},"139":{"position":[[0,11],[75,11],[391,11],[1169,10]]},"140":{"position":[[0,10]]},"141":{"position":[[89,10]]},"241":{"position":[[1063,10]]},"251":{"position":[[1949,10]]},"332":{"position":[[693,10],[999,10]]},"799":{"position":[[18,10]]},"876":{"position":[[52,10]]},"1043":{"position":[[32,11]]},"1216":{"position":[[0,10]]},"1994":{"position":[[31,12],[50,10],[142,10],[239,10],[299,10],[343,10]]},"2044":{"position":[[225,10],[374,12],[439,10],[533,10],[753,10],[943,10]]},"2425":{"position":[[141,10]]},"2429":{"position":[[44,11],[158,10],[287,10]]},"2497":{"position":[[79,11]]}},"keywords":{}}],["quaternion.ident",{"_index":2085,"title":{},"content":{"245":{"position":[[2433,21],[4170,21]]},"249":{"position":[[842,21]]},"251":{"position":[[4005,21]]},"597":{"position":[[38,19]]}},"keywords":{}}],["quaternionbitlength",{"_index":8105,"title":{},"content":{"2042":{"position":[[66,19],[139,19]]}},"keywords":{}}],["quaternionpack",{"_index":1270,"title":{"2041":{"position":[[6,16]]}},"content":{"142":{"position":[[78,16]]},"596":{"position":[[32,16]]},"597":{"position":[[7,16]]},"809":{"position":[[28,14]]},"1983":{"position":[[1487,17]]},"2043":{"position":[[101,16],[231,16]]}},"keywords":{}}],["quaternionpack(9",{"_index":1269,"title":{},"content":{"141":{"position":[[63,18]]},"142":{"position":[[18,18]]}},"keywords":{}}],["quaternionpackattribut",{"_index":7697,"title":{"2034":{"position":[[6,23]]}},"content":{"1983":{"position":[[1462,24]]}},"keywords":{}}],["quaternionpackattribute(int",{"_index":8090,"title":{},"content":{"2035":{"position":[[52,27]]}},"keywords":{}}],["quaternionpackattribute(int32",{"_index":8089,"title":{},"content":{"2035":{"position":[[0,31]]}},"keywords":{}}],["quaternionpacker(9",{"_index":1271,"title":{},"content":{"142":{"position":[[117,20]]}},"keywords":{}}],["quaternionpacker(int",{"_index":8104,"title":{},"content":{"2042":{"position":[[45,20]]}},"keywords":{}}],["quaternionpacker(int32",{"_index":8103,"title":{},"content":{"2042":{"position":[[0,24]]}},"keywords":{}}],["quest",{"_index":2581,"title":{},"content":{"315":{"position":[[114,5],[161,5],[204,5]]},"356":{"position":[[1469,7]]}},"keywords":{}}],["question",{"_index":1697,"title":{},"content":{"203":{"position":[[2252,8]]}},"keywords":{}}],["queu",{"_index":7265,"title":{},"content":{"1835":{"position":[[307,6]]}},"keywords":{}}],["queue",{"_index":5134,"title":{},"content":{"1327":{"position":[[139,5]]},"1330":{"position":[[139,5]]},"1333":{"position":[[139,5]]},"1474":{"position":[[20506,6]]},"1477":{"position":[[3151,5]]},"1601":{"position":[[20,5]]}},"keywords":{}}],["queue<networkidentity>",{"_index":2156,"title":{},"content":{"251":{"position":[[545,28],[1063,31]]}},"keywords":{}}],["quick",{"_index":61,"title":{"9":{"position":[[0,5]]},"200":{"position":[[7,5]]}},"content":{"0":{"position":[[1084,5]]},"7":{"position":[[134,5]]},"9":{"position":[[666,5]]},"168":{"position":[[119,5]]},"187":{"position":[[1004,5],[1242,5]]},"1263":{"position":[[4,5]]},"2358":{"position":[[2134,5],[2417,5]]}},"keywords":{}}],["quickli",{"_index":335,"title":{},"content":{"14":{"position":[[766,7]]},"173":{"position":[[1269,7]]},"262":{"position":[[262,7]]}},"keywords":{}}],["quickstart",{"_index":1718,"title":{},"content":{"209":{"position":[[363,10]]},"210":{"position":[[1196,10]]}},"keywords":{}}],["quit",{"_index":4275,"title":{},"content":{"954":{"position":[[30,4]]},"974":{"position":[[9,8]]},"1474":{"position":[[2513,6]]}},"keywords":{}}],["quot",{"_index":2072,"title":{},"content":{"245":{"position":[[1179,6],[2269,6],[2599,6],[3866,6],[4324,6]]},"249":{"position":[[996,6],[1530,6],[1551,6],[1675,6]]},"280":{"position":[[705,6]]},"677":{"position":[[75,5]]}},"keywords":{}}],["quot;(clone)"",{"_index":6608,"title":{},"content":{"1478":{"position":[[927,19]]}},"keywords":{}}],["quot;anywhere"",{"_index":1474,"title":{},"content":{"182":{"position":[[2075,21],[2204,21],[2291,21]]}},"keywords":{}}],["quot;apple"",{"_index":2471,"title":{},"content":{"294":{"position":[[652,18]]}},"keywords":{}}],["quot;armor",{"_index":2628,"title":{},"content":{"317":{"position":[[1082,11]]}},"keywords":{}}],["quot;client",{"_index":2243,"title":{},"content":{"257":{"position":[[399,12]]}},"keywords":{}}],["quot;clientscene.onspawnprefab",{"_index":6606,"title":{},"content":{"1478":{"position":[[796,31]]}},"keywords":{}}],["quot;cod",{"_index":6618,"title":{},"content":{"1478":{"position":[[1293,10]]}},"keywords":{}}],["quot;creat",{"_index":1489,"title":{},"content":{"182":{"position":[[2956,12]]}},"keywords":{}}],["quot;ded",{"_index":1393,"title":{},"content":{"175":{"position":[[533,15]]}},"keywords":{}}],["quot;destroy",{"_index":5368,"title":{},"content":{"1474":{"position":[[379,13]]}},"keywords":{}}],["quot;devic",{"_index":1534,"title":{},"content":{"184":{"position":[[345,13]]}},"keywords":{}}],["quot;doc",{"_index":6603,"title":{},"content":{"1478":{"position":[[736,10]]}},"keywords":{}}],["quot;docu",{"_index":6627,"title":{},"content":{"1478":{"position":[[1447,16],[1502,16],[1579,16]]}},"keywords":{}}],["quot;don't",{"_index":6634,"title":{},"content":{"1478":{"position":[[1634,11],[1749,11]]}},"keywords":{}}],["quot;download",{"_index":1491,"title":{},"content":{"182":{"position":[[3019,14]]},"183":{"position":[[533,14]]}},"keywords":{}}],["quot;edit"",{"_index":1516,"title":{},"content":{"183":{"position":[[723,17]]}},"keywords":{}}],["quot;empti",{"_index":7235,"title":{},"content":{"1819":{"position":[[62,11]]}},"keywords":{}}],["quot;ep",{"_index":2792,"title":{},"content":{"343":{"position":[[578,10]]}},"keywords":{}}],["quot;exampl",{"_index":2818,"title":{},"content":{"346":{"position":[[221,13]]}},"keywords":{}}],["quot;explain",{"_index":6573,"title":{},"content":{"1478":{"position":[[20,13]]},"1633":{"position":[[20,13]]}},"keywords":{}}],["quot;feat",{"_index":6583,"title":{},"content":{"1478":{"position":[[283,11],[540,11]]}},"keywords":{}}],["quot;fix",{"_index":3981,"title":{},"content":{"825":{"position":[[0,10]]},"1127":{"position":[[7,10]]},"1478":{"position":[[173,10],[667,10]]}},"keywords":{}}],["quot;fre",{"_index":1449,"title":{},"content":{"182":{"position":[[762,10],[919,10]]}},"keywords":{}}],["quot;get",{"_index":1523,"title":{},"content":{"183":{"position":[[1162,9]]}},"keywords":{}}],["quot;hello",{"_index":643,"title":{},"content":{"42":{"position":[[1424,12],[1830,12]]}},"keywords":{}}],["quot;helmet"",{"_index":2790,"title":{},"content":{"343":{"position":[[472,19]]}},"keywords":{}}],["quot;high",{"_index":1348,"title":{},"content":{"172":{"position":[[125,10]]},"257":{"position":[[26,10]]}},"keywords":{}}],["quot;host"",{"_index":8980,"title":{},"content":{"2370":{"position":[[3365,16]]}},"keywords":{}}],["quot;insert",{"_index":6592,"title":{},"content":{"1478":{"position":[[473,14]]}},"keywords":{}}],["quot;launch",{"_index":1437,"title":{},"content":{"182":{"position":[[367,12],[3247,12]]}},"keywords":{}}],["quot;launch"",{"_index":1485,"title":{},"content":{"182":{"position":[[2823,19]]}},"keywords":{}}],["quot;loc",{"_index":1518,"title":{},"content":{"183":{"position":[[761,11]]},"243":{"position":[[237,11]]}},"keywords":{}}],["quot;localhost"",{"_index":5958,"title":{},"content":{"1474":{"position":[[20054,21]]}},"keywords":{}}],["quot;low",{"_index":2240,"title":{},"content":{"257":{"position":[[243,11]]}},"keywords":{}}],["quot;mi",{"_index":1532,"title":{},"content":{"184":{"position":[[233,8]]}},"keywords":{}}],["quot;mirag",{"_index":387,"title":{},"content":{"18":{"position":[[256,12]]}},"keywords":{}}],["quot;more"",{"_index":1520,"title":{},"content":{"183":{"position":[[808,16]]}},"keywords":{}}],["quot;network",{"_index":2241,"title":{},"content":{"257":{"position":[[364,13]]}},"keywords":{}}],["quot;networkclient.shutdown",{"_index":5912,"title":{},"content":{"1474":{"position":[[18005,29]]}},"keywords":{}}],["quot;networkidentity.observ",{"_index":5432,"title":{},"content":{"1474":{"position":[[2800,31]]}},"keywords":{}}],["quot;new",{"_index":2625,"title":{},"content":{"317":{"position":[[1048,9]]},"1478":{"position":[[601,9]]}},"keywords":{}}],["quot;next",{"_index":1454,"title":{},"content":{"182":{"position":[[1014,11],[1190,11],[1571,11],[1682,11],[2677,11]]}},"keywords":{}}],["quot;no",{"_index":7237,"title":{},"content":{"1819":{"position":[[165,8]]}},"keywords":{}}],["quot;noise"",{"_index":654,"title":{},"content":{"43":{"position":[[894,17]]}},"keywords":{}}],["quot;onseri",{"_index":6623,"title":{},"content":{"1478":{"position":[[1374,17]]}},"keywords":{}}],["quot;perf",{"_index":6576,"title":{},"content":{"1478":{"position":[[82,11]]}},"keywords":{}}],["quot;player"",{"_index":1737,"title":{},"content":{"209":{"position":[[1249,18]]}},"keywords":{}}],["quot;player.rpcchangename"",{"_index":2459,"title":{},"content":{"291":{"position":[[960,33]]}},"keywords":{}}],["quot;pref",{"_index":3079,"title":{},"content":{"438":{"position":[[0,11]]}},"keywords":{}}],["quot;previous"",{"_index":1460,"title":{},"content":{"182":{"position":[[1413,20]]}},"keywords":{}}],["quot;ready"",{"_index":613,"title":{},"content":{"42":{"position":[[206,17]]}},"keywords":{}}],["quot;refactor",{"_index":5437,"title":{},"content":{"1474":{"position":[[3014,15]]}},"keywords":{}}],["quot;remov",{"_index":6587,"title":{},"content":{"1478":{"position":[[375,12]]}},"keywords":{}}],["quot;revert",{"_index":6572,"title":{},"content":{"1478":{"position":[[7,12],[69,12]]},"1633":{"position":[[7,12]]}},"keywords":{}}],["quot;run",{"_index":1498,"title":{},"content":{"182":{"position":[[3401,13],[3444,13]]}},"keywords":{}}],["quot;scen",{"_index":2209,"title":{},"content":{"253":{"position":[[105,11]]}},"keywords":{}}],["quot;screen",{"_index":1637,"title":{},"content":{"196":{"position":[[704,12]]}},"keywords":{}}],["quot;select"",{"_index":1452,"title":{},"content":{"182":{"position":[[821,19]]}},"keywords":{}}],["quot;services"",{"_index":1497,"title":{},"content":{"182":{"position":[[3322,20]]}},"keywords":{}}],["quot;smallest",{"_index":8106,"title":{},"content":{"2042":{"position":[[166,14]]}},"keywords":{}}],["quot;sneakers"",{"_index":2794,"title":{},"content":{"343":{"position":[[688,21]]}},"keywords":{}}],["quot;sourc",{"_index":6614,"title":{},"content":{"1478":{"position":[[1225,12]]}},"keywords":{}}],["quot;sword"",{"_index":2797,"title":{},"content":{"343":{"position":[[796,18]]},"351":{"position":[[405,18]]}},"keywords":{}}],["quot;themselves"",{"_index":8932,"title":{},"content":{"2358":{"position":[[874,22]]}},"keywords":{}}],["quot;tim",{"_index":9234,"title":{},"content":{"2515":{"position":[[70,10]]}},"keywords":{}}],["quot;turnip"",{"_index":2469,"title":{},"content":{"294":{"position":[[596,19]]}},"keywords":{}}],["quot;visible"",{"_index":2258,"title":{},"content":{"260":{"position":[[219,19]]}},"keywords":{}}],["quot;weaponsholder"",{"_index":1804,"title":{},"content":{"211":{"position":[[1682,25]]}},"keywords":{}}],["quot;yours"",{"_index":2055,"title":{},"content":{"243":{"position":[[1170,17]]}},"keywords":{}}],["quot;{playernam",{"_index":1762,"title":{},"content":{"210":{"position":[[671,19],[960,19]]}},"keywords":{}}],["quot;{prefab.name}_pooled_{currentcount}"",{"_index":2170,"title":{},"content":{"251":{"position":[[1476,49]]}},"keywords":{}}],["r",{"_index":1642,"title":{},"content":{"197":{"position":[[249,1]]},"198":{"position":[[224,2]]}},"keywords":{}}],["race",{"_index":2869,"title":{},"content":{"355":{"position":[[943,4]]},"497":{"position":[[104,4]]},"998":{"position":[[114,4],[190,4],[276,4]]},"1472":{"position":[[13,4]]},"1474":{"position":[[10518,4],[11342,4]]},"1733":{"position":[[217,4]]},"1766":{"position":[[605,4]]}},"keywords":{}}],["racket",{"_index":730,"title":{},"content":{"54":{"position":[[34,6]]}},"keywords":{}}],["racketspawnleft",{"_index":738,"title":{},"content":{"55":{"position":[[96,16]]}},"keywords":{}}],["racketspawnright",{"_index":739,"title":{},"content":{"55":{"position":[[113,16]]}},"keywords":{}}],["rais",{"_index":4713,"title":{},"content":{"1136":{"position":[[0,5]]},"1282":{"position":[[15,5],[73,5],[130,5]]},"1283":{"position":[[15,5],[73,5],[130,5]]},"1474":{"position":[[7919,6]]},"1476":{"position":[[5394,6],[7095,6]]},"1626":{"position":[[90,6]]},"1630":{"position":[[7,6]]},"1674":{"position":[[14,6]]}},"keywords":{}}],["random",{"_index":534,"title":{},"content":{"31":{"position":[[809,6]]},"133":{"position":[[124,6]]},"202":{"position":[[1147,6]]},"1780":{"position":[[41,6]]},"1781":{"position":[[41,6]]},"2204":{"position":[[1789,6]]},"2257":{"position":[[0,7],[21,6]]}},"keywords":{}}],["random.colorhsv(0f",{"_index":7192,"title":{},"content":{"1780":{"position":[[711,19]]},"1781":{"position":[[775,19]]}},"keywords":{}}],["random.range(0f",{"_index":1741,"title":{},"content":{"209":{"position":[[1340,16],[1362,16]]}},"keywords":{}}],["random.range(10",{"_index":1764,"title":{},"content":{"210":{"position":[[702,17]]}},"keywords":{}}],["random.range(10,200",{"_index":2100,"title":{},"content":{"245":{"position":[[4256,21]]},"249":{"position":[[928,21]]}},"keywords":{}}],["random.range(100",{"_index":1738,"title":{},"content":{"209":{"position":[[1270,17]]}},"keywords":{}}],["randomli",{"_index":1949,"title":{},"content":{"238":{"position":[[2317,8]]}},"keywords":{}}],["rang",{"_index":421,"title":{"126":{"position":[[15,5]]}},"content":{"22":{"position":[[162,5],[179,5],[1268,6],[1329,6]]},"119":{"position":[[179,6],[493,5]]},"129":{"position":[[189,5],[237,5],[370,6],[472,5],[494,5],[552,6]]},"130":{"position":[[233,5],[279,5]]},"135":{"position":[[234,6],[289,6]]},"139":{"position":[[965,5]]},"155":{"position":[[191,5],[239,5],[417,5],[439,5],[497,6]]},"158":{"position":[[189,5],[237,5],[370,6],[472,5],[494,5],[552,6]]},"159":{"position":[[233,5],[279,5]]},"191":{"position":[[327,6],[346,7]]},"211":{"position":[[289,5],[469,5]]},"862":{"position":[[45,5]]},"1474":{"position":[[3212,5]]},"1855":{"position":[[1334,6],[1423,5],[2737,6],[2845,5]]},"1874":{"position":[[1336,6],[1425,5]]},"1983":{"position":[[1856,5]]},"1990":{"position":[[72,5],[509,5],[534,5]]},"2001":{"position":[[78,5],[314,5],[558,5],[616,6],[630,5]]},"2396":{"position":[[29,5]]}},"keywords":{}}],["range.check",{"_index":425,"title":{},"content":{"22":{"position":[[351,11]]}},"keywords":{}}],["rangesvarintblock",{"_index":1140,"title":{},"content":{"119":{"position":[[380,18]]}},"keywords":{}}],["rare",{"_index":1564,"title":{},"content":{"187":{"position":[[1284,4]]}},"keywords":{}}],["rate",{"_index":1369,"title":{},"content":{"173":{"position":[[779,5],[800,4]]},"359":{"position":[[395,4]]},"2288":{"position":[[23,4]]}},"keywords":{}}],["raw",{"_index":8332,"title":{},"content":{"2093":{"position":[[1040,3]]}},"keywords":{}}],["ray",{"_index":8211,"title":{},"content":{"2058":{"position":[[1963,5],[2037,3],[2124,3],[4325,3]]}},"keywords":{}}],["rdp",{"_index":1470,"title":{"183":{"position":[[30,3]]}},"content":{"182":{"position":[[1845,3],[2059,3],[2461,4]]},"183":{"position":[[16,3],[89,3],[137,3],[311,3],[389,3],[399,3],[579,3],[619,3],[680,3],[1019,3],[1033,3]]},"184":{"position":[[300,3]]}},"keywords":{}}],["re",{"_index":497,"title":{},"content":{"24":{"position":[[1938,2]]},"183":{"position":[[1217,2]]},"251":{"position":[[4736,2]]},"300":{"position":[[115,2]]},"585":{"position":[[23,2]]},"854":{"position":[[29,2]]},"900":{"position":[[53,2]]},"987":{"position":[[15,2]]},"1000":{"position":[[722,2],[1075,2]]},"1474":{"position":[[6203,2]]},"1476":{"position":[[9341,2]]},"1580":{"position":[[25,2]]},"1835":{"position":[[1288,2]]},"2091":{"position":[[423,2]]},"2130":{"position":[[168,2]]},"2320":{"position":[[491,2]]},"2417":{"position":[[9911,2]]}},"keywords":{}}],["re)construct",{"_index":9004,"title":{},"content":{"2383":{"position":[[666,13]]},"2397":{"position":[[607,13]]},"2404":{"position":[[623,13]]},"2434":{"position":[[564,13]]}},"keywords":{}}],["reach",{"_index":2166,"title":{},"content":{"251":{"position":[[1290,7],[2145,7],[3081,7]]},"2130":{"position":[[1833,7]]}},"keywords":{}}],["reachabl",{"_index":808,"title":{},"content":{"65":{"position":[[101,9]]}},"keywords":{}}],["react",{"_index":615,"title":{},"content":{"42":{"position":[[336,8]]}},"keywords":{}}],["read",{"_index":941,"title":{"320":{"position":[[26,4]]},"326":{"position":[[9,4]]},"327":{"position":[[10,4]]},"328":{"position":[[14,4]]}},"content":{"85":{"position":[[122,4],[206,4],[306,5]]},"173":{"position":[[844,5]]},"291":{"position":[[193,4]]},"320":{"position":[[58,4],[472,4],[700,4]]},"327":{"position":[[494,4]]},"328":{"position":[[224,4]]},"335":{"position":[[1436,5],[1548,7],[1635,5],[1785,4]]},"346":{"position":[[1573,4],[1726,4]]},"438":{"position":[[36,8],[97,4]]},"662":{"position":[[139,4]]},"739":{"position":[[37,7]]},"895":{"position":[[15,7]]},"927":{"position":[[48,4]]},"1320":{"position":[[0,7]]},"1351":{"position":[[65,4]]},"1356":{"position":[[65,4]]},"1361":{"position":[[12,4]]},"1366":{"position":[[12,4]]},"1371":{"position":[[12,4]]},"1376":{"position":[[12,4]]},"1380":{"position":[[12,4]]},"1384":{"position":[[12,4]]},"1388":{"position":[[12,4]]},"1392":{"position":[[12,4]]},"1396":{"position":[[12,4]]},"1400":{"position":[[12,4]]},"1404":{"position":[[12,4]]},"1408":{"position":[[12,4]]},"1412":{"position":[[12,4]]},"1416":{"position":[[12,4]]},"1420":{"position":[[12,4]]},"1424":{"position":[[12,4]]},"1428":{"position":[[12,4]]},"1432":{"position":[[12,4]]},"1436":{"position":[[12,4]]},"1439":{"position":[[12,4]]},"1457":{"position":[[8,7]]},"1466":{"position":[[27,4]]},"1476":{"position":[[7462,7]]},"1477":{"position":[[355,7]]},"1835":{"position":[[849,5],[1050,5]]},"1998":{"position":[[269,5]]},"2001":{"position":[[1230,5]]},"2010":{"position":[[1155,4]]},"2016":{"position":[[598,4],[1028,4],[1536,4]]},"2022":{"position":[[40,4],[132,7]]},"2023":{"position":[[775,4],[2608,5],[3099,7],[3184,7]]},"2031":{"position":[[2249,4]]},"2037":{"position":[[0,5],[62,4]]},"2158":{"position":[[677,4]]},"2203":{"position":[[0,5],[31,4],[168,4]]},"2204":{"position":[[352,4],[369,4],[423,7],[901,4],[927,4],[1057,4],[1225,4],[1701,4],[1827,5],[1943,4]]},"2227":{"position":[[447,4]]},"2359":{"position":[[3345,4]]},"2400":{"position":[[394,4]]}},"keywords":{}}],["read<t>",{"_index":6091,"title":{},"content":{"1476":{"position":[[860,13]]},"1739":{"position":[[6,13]]}},"keywords":{}}],["read<t>(networkread",{"_index":7757,"title":{},"content":{"1998":{"position":[[239,29]]}},"keywords":{}}],["read<t>(thi",{"_index":7758,"title":{},"content":{"1998":{"position":[[339,18]]}},"keywords":{}}],["read(int",{"_index":8000,"title":{},"content":{"2023":{"position":[[2470,8]]}},"keywords":{}}],["read(int32",{"_index":7999,"title":{},"content":{"2023":{"position":[[2431,12]]}},"keywords":{}}],["read(thi",{"_index":2644,"title":{},"content":{"320":{"position":[[663,9]]}},"keywords":{}}],["read/writ",{"_index":2656,"title":{},"content":{"324":{"position":[[277,10],[412,10]]},"325":{"position":[[308,10]]},"326":{"position":[[30,10]]},"327":{"position":[[21,10],[185,10],[363,10],[577,10],[772,10],[841,10],[933,10],[1024,10]]},"328":{"position":[[7,10],[277,10]]},"1474":{"position":[[5476,10],[12290,10]]},"1476":{"position":[[3502,10]]},"1566":{"position":[[1134,10]]},"1578":{"position":[[233,10]]},"1983":{"position":[[2786,10]]},"2083":{"position":[[173,10]]}},"keywords":{}}],["readarmor(thi",{"_index":2635,"title":{},"content":{"317":{"position":[[1466,14]]}},"keywords":{}}],["readarray",{"_index":3808,"title":{},"content":{"739":{"position":[[22,9]]}},"keywords":{}}],["readarray<t>(networkread",{"_index":7792,"title":{},"content":{"2003":{"position":[[3298,34]]}},"keywords":{}}],["readarray<t>(thi",{"_index":7793,"title":{},"content":{"2003":{"position":[[3364,23]]}},"keywords":{}}],["readarraysegment<t>(networkread",{"_index":7794,"title":{},"content":{"2003":{"position":[[3519,41]]}},"keywords":{}}],["readarraysegment<t>(thi",{"_index":7795,"title":{},"content":{"2003":{"position":[[3638,30]]}},"keywords":{}}],["readatposition(int",{"_index":8002,"title":{},"content":{"2023":{"position":[[2674,18]]}},"keywords":{}}],["readatposition(int32",{"_index":8001,"title":{},"content":{"2023":{"position":[[2578,21]]}},"keywords":{}}],["readboolean",{"_index":7982,"title":{},"content":{"2023":{"position":[[1270,14],[1310,13]]}},"keywords":{}}],["readbooleanasulong",{"_index":7983,"title":{},"content":{"2023":{"position":[[1366,21],[1450,20]]}},"keywords":{}}],["readbooleanextension(networkread",{"_index":8172,"title":{},"content":{"2056":{"position":[[3263,36]]}},"keywords":{}}],["readbooleanextension(thi",{"_index":8173,"title":{},"content":{"2056":{"position":[[3332,25]]}},"keywords":{}}],["readbyt",{"_index":3646,"title":{},"content":{"670":{"position":[[43,9]]},"2023":{"position":[[1603,11],[1640,10]]}},"keywords":{}}],["readbyte(byt",{"_index":8413,"title":{},"content":{"2126":{"position":[[215,16],[276,15]]}},"keywords":{}}],["readbyteextension(networkread",{"_index":8165,"title":{},"content":{"2056":{"position":[[2599,33]]}},"keywords":{}}],["readbyteextension(thi",{"_index":8166,"title":{},"content":{"2056":{"position":[[2665,22]]}},"keywords":{}}],["readbytes(byt",{"_index":8011,"title":{},"content":{"2023":{"position":[[3525,17],[3651,16]]}},"keywords":{}}],["readbytes(networkread",{"_index":7788,"title":{},"content":{"2003":{"position":[[2755,24]]}},"keywords":{}}],["readbytes(thi",{"_index":7789,"title":{},"content":{"2003":{"position":[[2822,14]]}},"keywords":{}}],["readbytesandsize(networkread",{"_index":7783,"title":{},"content":{"2003":{"position":[[2229,32]]}},"keywords":{}}],["readbytesandsize(thi",{"_index":7784,"title":{},"content":{"2003":{"position":[[2296,21]]}},"keywords":{}}],["readbytesandsizesegment(networkread",{"_index":7786,"title":{},"content":{"2003":{"position":[[2470,39]]}},"keywords":{}}],["readbytesandsizesegment(thi",{"_index":7787,"title":{},"content":{"2003":{"position":[[2562,28]]}},"keywords":{}}],["readbytessegment(int",{"_index":8013,"title":{},"content":{"2023":{"position":[[3864,20]]}},"keywords":{}}],["readbytessegment(int32",{"_index":8012,"title":{},"content":{"2023":{"position":[[3794,24]]}},"keywords":{}}],["readchar(networkread",{"_index":8169,"title":{},"content":{"2056":{"position":[[3055,24]]}},"keywords":{}}],["readchar(thi",{"_index":8170,"title":{},"content":{"2056":{"position":[[3112,13]]}},"keywords":{}}],["readcolor(networkread",{"_index":8231,"title":{},"content":{"2058":{"position":[[3450,25]]}},"keywords":{}}],["readcolor(thi",{"_index":8232,"title":{},"content":{"2058":{"position":[[3509,14]]}},"keywords":{}}],["readcolor32(networkread",{"_index":8233,"title":{},"content":{"2058":{"position":[[3655,27]]}},"keywords":{}}],["readcolor32(thi",{"_index":8234,"title":{},"content":{"2058":{"position":[[3718,16]]}},"keywords":{}}],["readcount",{"_index":7978,"title":{},"content":{"2023":{"position":[[903,9],[959,10],[1017,9],[1102,9],[1160,10],[1218,9]]}},"keywords":{}}],["readdatetime(thi",{"_index":2590,"title":{},"content":{"315":{"position":[[722,17]]}},"keywords":{}}],["readdecimalconverter(networkread",{"_index":8182,"title":{},"content":{"2056":{"position":[[4429,36]]}},"keywords":{}}],["readdecimalconverter(thi",{"_index":8183,"title":{},"content":{"2056":{"position":[[4501,25]]}},"keywords":{}}],["readdictionary<tkey",{"_index":7797,"title":{},"content":{"2003":{"position":[[3823,23],[3960,23]]}},"keywords":{}}],["readdoubl",{"_index":7997,"title":{},"content":{"2023":{"position":[[2336,13],[2377,12]]}},"keywords":{}}],["readdoubleconverter(networkread",{"_index":8180,"title":{},"content":{"2056":{"position":[[4195,35]]}},"keywords":{}}],["readdoubleconverter(thi",{"_index":8181,"title":{},"content":{"2056":{"position":[[4265,24]]}},"keywords":{}}],["reader",{"_index":939,"title":{},"content":{"85":{"position":[[26,7],[481,6]]},"125":{"position":[[621,7]]},"131":{"position":[[568,7]]},"137":{"position":[[529,7]]},"142":{"position":[[616,7]]},"151":{"position":[[983,7]]},"156":{"position":[[573,7]]},"160":{"position":[[568,7]]},"280":{"position":[[1145,6]]},"291":{"position":[[770,7]]},"315":{"position":[[754,7]]},"316":{"position":[[1634,7]]},"317":{"position":[[243,6],[373,6],[676,6],[981,6],[1495,7]]},"320":{"position":[[687,7]]},"328":{"position":[[211,7],[1236,7],[1947,7],[2697,7]]},"337":{"position":[[280,7]]},"346":{"position":[[1541,7]]},"740":{"position":[[54,6]]},"761":{"position":[[36,6]]},"1185":{"position":[[0,6]]},"1225":{"position":[[9,6]]},"1305":{"position":[[25,7]]},"1452":{"position":[[11,7],[109,6]]},"1476":{"position":[[5156,6]]},"1478":{"position":[[559,7]]},"1749":{"position":[[68,6]]},"1835":{"position":[[930,7],[1007,6],[1154,7],[1231,6]]},"1855":{"position":[[897,7],[974,6],[1075,7],[1152,6]]},"1860":{"position":[[897,7],[974,6],[1075,7],[1152,6]]},"1865":{"position":[[897,7],[974,6],[1075,7],[1152,6]]},"1874":{"position":[[897,7],[974,6],[1075,7],[1152,6]]},"1963":{"position":[[136,7]]},"1964":{"position":[[132,7]]},"1983":{"position":[[1010,6],[1541,7]]},"1988":{"position":[[569,7],[646,6]]},"1994":{"position":[[388,7],[465,6]]},"1998":{"position":[[372,7],[449,6]]},"2001":{"position":[[1307,7],[1384,6]]},"2003":{"position":[[101,6],[2332,7],[2409,6],[2605,7],[2682,6],[2851,7],[2939,6],[3146,7],[3223,6],[3402,7],[3479,6],[3683,7],[3760,6],[4014,7],[4091,6]]},"2012":{"position":[[799,6],[917,7],[994,6],[1187,7],[1264,6],[1442,7],[1519,6],[1701,7],[1805,6],[1944,7],[2021,6]]},"2016":{"position":[[258,6],[733,6],[1177,6]]},"2025":{"position":[[986,7],[1063,6],[1211,7],[1288,6],[1435,7],[1512,6],[1661,7],[1738,6]]},"2040":{"position":[[323,7],[400,6],[953,7],[1049,6]]},"2044":{"position":[[785,7],[862,6]]},"2047":{"position":[[263,7],[340,6]]},"2050":{"position":[[261,7],[338,6]]},"2056":{"position":[[2702,7],[2779,6],[2931,7],[3008,6],[3140,7],[3217,6],[3372,7],[3449,6],[3604,7],[3681,6],[3837,7],[3914,6],[4070,7],[4147,6],[4304,7],[4381,6],[4541,7],[4618,6],[4752,7],[4829,6],[5012,7],[5106,6]]},"2058":{"position":[[2455,7],[2532,6],[2668,7],[2745,6],[2881,7],[2958,6],[3103,7],[3180,6],[3328,7],[3405,6],[3538,7],[3615,6],[3749,7],[3826,6],[3953,7],[4030,6],[4157,7],[4234,6],[4356,7],[4433,6],[4571,7],[4648,6]]},"2060":{"position":[[327,7],[419,6]]},"2063":{"position":[[266,7],[343,6]]},"2066":{"position":[[1307,7],[1384,6],[1509,7],[1586,6],[1717,7],[1794,6]]},"2071":{"position":[[266,7],[343,6]]},"2074":{"position":[[260,7],[337,6]]},"2079":{"position":[[260,7],[337,6]]},"2240":{"position":[[3139,6]]},"2242":{"position":[[470,7]]},"2281":{"position":[[391,7],[468,6]]},"2329":{"position":[[433,7],[510,6],[1190,7],[1294,6]]},"2332":{"position":[[415,7],[511,6]]},"2355":{"position":[[431,7],[508,6]]},"2359":{"position":[[3232,7],[3328,6],[3335,6],[3822,7],[3918,6]]},"2379":{"position":[[58,6]]},"2429":{"position":[[693,7],[789,6]]},"2513":{"position":[[341,7],[418,6]]}},"keywords":{}}],["reader<t>",{"_index":7698,"title":{},"content":{"1983":{"position":[[1505,16]]}},"keywords":{}}],["reader.read(1",{"_index":1190,"title":{},"content":{"125":{"position":[[793,15]]},"131":{"position":[[733,15]]},"137":{"position":[[685,15]]},"142":{"position":[[788,15]]},"156":{"position":[[744,15]]},"160":{"position":[[733,15]]}},"keywords":{}}],["reader.read(2",{"_index":1305,"title":{},"content":{"151":{"position":[[1206,15]]}},"keywords":{}}],["reader.read(7",{"_index":1236,"title":{},"content":{"137":{"position":[[641,15],[752,15]]}},"keywords":{}}],["reader.read(8",{"_index":1218,"title":{},"content":{"131":{"position":[[680,14],[800,14]]},"160":{"position":[[680,14],[800,14]]}},"keywords":{}}],["reader.readbyt",{"_index":2611,"title":{},"content":{"316":{"position":[[1656,18]]}},"keywords":{}}],["reader.readnetworkident",{"_index":2707,"title":{},"content":{"328":{"position":[[2029,29],[2741,29]]}},"keywords":{}}],["reader.readpackedint32",{"_index":2614,"title":{},"content":{"316":{"position":[[1763,24],[1862,25],[1896,24]]}},"keywords":{}}],["reader.readsingl",{"_index":2699,"title":{},"content":{"328":{"position":[[1284,21]]}},"keywords":{}}],["reader.readstr",{"_index":2613,"title":{},"content":{"316":{"position":[[1730,20],[1829,20]]},"346":{"position":[[2038,20],[2579,20]]}},"keywords":{}}],["reader.readvector3",{"_index":2706,"title":{},"content":{"328":{"position":[[1973,21]]}},"keywords":{}}],["reader/writ",{"_index":5419,"title":{},"content":{"1474":{"position":[[2110,13]]},"1476":{"position":[[3184,13],[8928,13]]},"1585":{"position":[[108,13]]}},"keywords":{}}],["reader.enumer",{"_index":7292,"title":{"1845":{"position":[[7,22]]}},"content":{},"keywords":{}}],["synclistbytevalid",{"_index":5964,"title":{},"content":{"1474":{"position":[[20230,17]]}},"keywords":{}}],["syncliststructprocessor.c",{"_index":5671,"title":{},"content":{"1474":{"position":[[9971,26]]}},"keywords":{}}],["syncmod",{"_index":5778,"title":{},"content":{"1474":{"position":[[13383,8]]}},"keywords":{}}],["syncobject",{"_index":2758,"title":{},"content":{"337":{"position":[[1104,10]]},"427":{"position":[[25,11]]},"429":{"position":[[27,10]]},"435":{"position":[[70,10]]},"454":{"position":[[19,11]]},"456":{"position":[[16,11]]},"484":{"position":[[0,11]]},"1341":{"position":[[97,11]]},"1450":{"position":[[19,11]]},"1474":{"position":[[13406,11]]},"1476":{"position":[[1980,11]]},"1578":{"position":[[110,11]]},"1835":{"position":[[1259,10],[1403,10],[1441,11]]},"2357":{"position":[[183,11],[242,12],[370,11]]},"2359":{"position":[[469,11],[546,10],[640,11],[2377,11]]}},"keywords":{}}],["syncobjectact",{"_index":7392,"title":{"1875":{"position":[[6,16]]}},"content":{"1867":{"position":[[149,17]]},"1875":{"position":[[6,16],[1565,16]]}},"keywords":{}}],["syncobjectutil",{"_index":7254,"title":{"1843":{"position":[[6,15]]}},"content":{"1828":{"position":[[114,16]]}},"keywords":{}}],["syncprefab",{"_index":2516,"title":{"330":{"position":[[0,10]]},"2508":{"position":[[7,10]]}},"content":{"304":{"position":[[221,10],[712,10]]},"331":{"position":[[4,10],[349,10]]},"332":{"position":[[170,10],[969,11]]},"516":{"position":[[0,10]]},"2241":{"position":[[939,11]]},"2513":{"position":[[31,12],[119,10],[296,10]]}},"keywords":{}}],["syncprefab(int",{"_index":9223,"title":{},"content":{"2509":{"position":[[188,14]]}},"keywords":{}}],["syncprefab(int32",{"_index":9222,"title":{},"content":{"2509":{"position":[[149,18]]}},"keywords":{}}],["syncprefab(networkident",{"_index":9221,"title":{},"content":{"2509":{"position":[[0,28],[49,26]]}},"keywords":{}}],["syncprefab(prefab.getnetworkident",{"_index":2724,"title":{},"content":{"332":{"position":[[861,40]]}},"keywords":{}}],["syncprefab.findprefab(clientobjectmanag",{"_index":2727,"title":{},"content":{"332":{"position":[[1069,43]]}},"keywords":{}}],["syncprefabexplain",{"_index":2525,"title":{},"content":{"304":{"position":[[689,18]]}},"keywords":{}}],["syncprefabseri",{"_index":8685,"title":{"2512":{"position":[[6,19]]}},"content":{"2240":{"position":[[7038,20]]}},"keywords":{}}],["syncsanyth",{"_index":3132,"title":{},"content":{"457":{"position":[[7,13]]},"458":{"position":[[0,13]]}},"keywords":{}}],["syncset",{"_index":2650,"title":{"322":{"position":[[26,8]]},"2514":{"position":[[7,12]]}},"content":{"322":{"position":[[30,7]]},"536":{"position":[[7,12]]},"537":{"position":[[393,12]]},"1476":{"position":[[4360,7]]},"1477":{"position":[[188,9]]},"1479":{"position":[[2438,7]]},"1661":{"position":[[22,7]]},"1662":{"position":[[30,7]]},"1688":{"position":[[0,7]]},"2241":{"position":[[951,13]]},"2357":{"position":[[60,13],[215,12],[228,12]]},"2359":{"position":[[613,12],[702,12]]},"2515":{"position":[[545,12]]}},"keywords":{}}],["syncset<t>",{"_index":7255,"title":{},"content":{"1828":{"position":[[131,17]]}},"keywords":{}}],["syncset(iset<t>",{"_index":7351,"title":{},"content":{"1857":{"position":[[0,23],[44,21]]}},"keywords":{}}],["syncset